CN109376135A - 一种集群文件系统管理方法和系统 - Google Patents

一种集群文件系统管理方法和系统 Download PDF

Info

Publication number
CN109376135A
CN109376135A CN201811220637.6A CN201811220637A CN109376135A CN 109376135 A CN109376135 A CN 109376135A CN 201811220637 A CN201811220637 A CN 201811220637A CN 109376135 A CN109376135 A CN 109376135A
Authority
CN
China
Prior art keywords
dlm
file system
cluster file
node
layers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811220637.6A
Other languages
English (en)
Other versions
CN109376135B (zh
Inventor
李宏伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811220637.6A priority Critical patent/CN109376135B/zh
Publication of CN109376135A publication Critical patent/CN109376135A/zh
Application granted granted Critical
Publication of CN109376135B publication Critical patent/CN109376135B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种集群文件系统管理方法和系统。涉及虚拟计算平台技术,解决了依赖TCP/IP网络的DLM带来的集群文件系统稳定性差的问题。该方法包括:为集群文件系统内的各个节点配置DLM层通信接口;通过所述DLM层通信接口传输DLM操作信息。本发明提供的技术方案适用于共享资源并发访问管理,实现了简化、可靠的集群文件系统。

Description

一种集群文件系统管理方法和系统
技术领域
本发明涉及虚拟计算平台技术,尤指一种集群文件系统管理方法和系统。
背景技术
由于集群文件系统可以同时被多个服务器同时共享并进行挂载,在服务器虚拟化领域,集群文件系统会被用作多个计算节点与集中式存储之间的桥梁。集群文件系统能够提供文件并发访问控制,完整性保证,以及冗余性等,被虚拟化系统用于存储虚拟机镜像,共享存储池等。集群文件系统依赖于分布式锁管理器(DLM)用于对共享资源的并发访问进行管理。它主要解决了集群节点之间磁盘缓存一致性问题,进而保证了文件系统的一致性。
常见的集群文件系统如GFS、VMFS、OpenVMS Files、ocfs2等都实现了自己的DLM,它们都是依赖于TCP/IP网络通信来进行节点之间消息传递和同步。网络的可靠性直接影响了DLM的效率与稳定性,进而直接影响集群文件系统的可用性。由于网络的稳定性较差,网络的波动、延迟都会影响到DLM消息的传输,直接影响到了集群文件系统本身。问题的根源在于集群文件系统的稳定性既依赖于TCP/IP网络,同时也依赖于共享存储设备。系统的可靠性会随着依赖的增加而降低,且所依赖系统的可靠性直接影响其本身的稳定性。而在服务器虚拟化场景中,TCP/IP网络的可靠性是较低的,因此该设计会大大影响系统的整体可靠性。
发明内容
为了解决上述技术问题,本发明提供了一种集群文件系统管理方法和系统。通过共享磁盘实现DLM,解决了依赖TCP/IP网络的DLM带来的集群文件系统稳定性差的问题。
为了达到本发明目的,本发明提供了一种集群文件系统管理方法,包括:
为集群文件系统内的各个节点配置DLM层通信接口;
通过所述DLM层通信接口传输DLM操作信息。
优选的,为集群文件系统内的各个节点配置分布式锁管理器DLM层通信接口的步骤具体为:
配置所述集群文件系统内各个节点的共享磁盘通信接口作为DLM层通信接口。
优选的,通过所述DLM层通信接口传输DLM操作信息的步骤包括:
通过所述DLM层通信接口连接至共享磁盘,从所述共享磁盘获取针对本节点的DLM操作信息。
优选的,通过所述DLM层通信接口传输DLM操作信息的步骤包括:
通过所述DLM层通信接口连接至共享磁盘,向所述共享磁盘写入对其他节点的DLM操作信息。
优选的,所述共享磁盘中包含预留地址空间,所述预留地址空间中包含多个信息槽,每个信息槽对应所述集群文件系统中的一个节点。
优选的,从所述共享磁盘获取针对本节点的DLM操作信息的步骤具体为读取本节点对应的信息槽中的信息。
优选的,向所述共享磁盘写入对其他节点的DLM操作信息的步骤具体为向目标节点对应的信息槽写入所述DLM操作信息。
本发明还提供了一种集群文件管理系统,包括:
接口配置模块,用于为集群文件系统内的各个节点配置DLM层通信接口;
信息传输模块,用于通过所述DLM层通信接口传输DLM操作信息。
优选的,所述接口配置模块,具体用于配置所述集群文件系统内各个节点的共享磁盘通信接口作为DLM层通信接口。
优选的,所述信息传输模块,具体用于通过所述DLM层通信接口连接至共享磁盘,从所述共享磁盘获取针对本节点的DLM操作信息或向所述共享磁盘写入对其他节点的DLM操作信息。
本发明提供了一种集群文件系统管理方法和系统,为集群文件系统内的各个节点配置DLM层通信接口,通过所述DLM层通信接口传输DLM操作信息。解决了基于TCP/IP网络的DLM稳定性差的问题,实现了简化、可靠的集群文件系统。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明的一实施例提供的一种集群文件系统管理方法的流程示意图;
图2为本发明的一实施例提供的一种集群文件系统管理系统的架构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
由于集群文件系统可以同时被多个服务器同时共享并进行挂载,在服务器虚拟化领域,集群文件系统会被用作多个计算节点与集中式存储之间的桥梁。集群文件系统能够提供文件并发访问控制,完整性保证,以及冗余性等,被虚拟化系统用于存储虚拟机镜像,共享存储池等。集群文件系统依赖于分布式锁管理器(DLM)用于对共享资源的并发访问进行管理。它主要解决了集群节点之间磁盘缓存一致性问题,进而保证了文件系统的一致性。
常见的集群文件系统如GFS、VMFS、OpenVMS Files、ocfs2等都实现了自己的DLM,它们都是依赖于TCP/IP网络通信来进行节点之间消息传递和同步。网络的可靠性直接影响了DLM的效率与稳定性,进而直接影响集群文件系统的可用性。由于网络的稳定性较差,网络的波动、延迟都会影响到DLM消息的传输,直接影响到了集群文件系统本身。问题的根源在于集群文件系统的稳定性既依赖于TCP/IP网络,同时也依赖于共享存储设备。系统的可靠性会随着依赖的增加而降低,且所依赖系统的可靠性直接影响其本身的稳定性。而在服务器虚拟化场景中,TCP/IP网络的可靠性是较低的,因此该设计会大大影响系统的整体可靠性。
为了解决上述问题,本发明的实施例提出了一种基于共享磁盘通信的集群文件系统管理方法和系统,使得集群文件系统的工作不依赖于TCP/IP网络,在损失部分性能前提下,大大提高了系统的可靠性与高可用性。
本发明的一实施例提供了一种集群文件系统管理方法,首先,重新设计了文件系统的DLM层通信接口,使得所有的节点间消息传递不走TCP/IP网络,而是通过共享磁盘来进行消息传递。其次,设计并实现了一个基于磁盘通信的消息通信模块。具体而言,在共享磁盘中文件系统的元数据区域预留一段预留地址空间,分成N个信息槽(slot),每个信息槽预留给集群中的一个节点。每个节点都从自己的信息槽中接收其它节点发过来的消息,向其它节点的信息槽进行写入来发送消息,采用disk paxos算法来保证数据访问的一致性。最后,由于减少了对TCP/IP的依赖,简化创建文件系统所需配置,重新设计了文件系统的用户态工具。此外,还通过debugfs增加了消息调试接口,可通过用户态实时监控消息传输情况方便调试和监控。
基于共享磁盘通信的集群文件系统设计摆脱了对TCP/IP的依赖,虽然基于轮询机制的磁盘通信会使得消息传输速度有所降低,但该设计使得集群文件系统的工作仅仅依赖于存储本身,减少了故障点,从而提高了集群文件系统的可靠性,间接提高了虚拟化系统的高可用性。通过后续对通信传输机制的进一步优化,使得其性能逼近于TCP/IP网络,该方案适用于可靠性和IOPS较高的Fibre Channel存储。
本发明的一实施例还提供了一种集群文件系统管理方法,具体实施过程如图1所示,包括:
步骤101、为集群文件系统内的各个节点配置DLM层通信接口。
本步骤中,具体的,配置所述集群文件系统内各个节点的共享磁盘通信接口作为DLM层通信接口。
本发明实施例重新设计了集群文件系统的DLM层通信接口,当文件系统对资源进行上锁、去锁操作时,底层DLM操作信息处理都通过共享磁盘通信接口传输。
步骤102、通过所述DLM层通信接口传输DLM操作信息。
本发明实施例中,各节点通过所述DLM层通信接口连接至共享磁盘,从所述共享磁盘获取针对本节点的DLM操作信息,具体的,读取本节点对应的信息槽中的信息。或,通过所述DLM层通信接口连接至共享磁盘,向所述共享磁盘写入对其他节点的DLM操作信息,具体的,向目标节点对应的信息槽写入所述DLM操作信息。
本发明实施例中,在文件系统的共享磁盘元数据区域预留了一段地址空间作为预留地址空间,所述预留地址空间中包含多个信息槽,每个信息槽对应所述集群文件系统中的一个节点。即,将预留地址空间分成N个信息槽(slot)预留给集群中的N个节点。每个节点都从自己的信息槽中接收消息,向其它节点的信息槽写入来发送消息。DLM在发消息时首先通过disk paxos的算法来获取向指定节点发消息的发送权,接收消息则时通过轮询机制来查看是否有节点向其发送消息,一旦收到消息就对消息进行解析,并调用相应的消息处理函数进行处理。
以下为节点间传输DLM操作信息流程的举例说明:
节点A向节点B发送DLM操作信息时主要包括以下步骤:
(1)通过disk paxos算法争夺向节点B发消息的权力;
(2)获得发送权后,将DLM操作信息写入节点B的信息槽;
(3)然后A将B的信息槽放入轮询队列,等待B接收消息后的回复;
(4)A收到B的回复表示消息接收完成,然后对信息槽进行清空,完成一次DLM操作信息发送过程。
对于消息接收端B,起实现主要包括以下步骤:
(1)在消息接收线程中会轮询自己的信息槽;
(2)收到有效的DLM操作信息后首先对消息完整性进行验证,可采用CRC32进行验证;
(3)如果消息完整接收,则调用消息处理函数对DLM操作信息进行消息处理;
(4)处理完成后,向对应的信息槽写入处理完成标志,完成消息接收流程。
需要说明的是,DLM操作信息的接收和发送是对称的,每个节点即进行消息接收也进行消息发送,因此每个节点都会实现上述消息发送就收流程。基于磁盘通信模块,所有涉及到锁资源访问以及集群状态同步的操作就都可以正常进行。
最后,简化创建文件系统所需配置,重新设计了文件系统的用户态工具。在基于网络通信的设计中,用户必须为每个节点提供可用的IP和端口,并且要要将该配置同步到所有节点。而基于磁盘通信的版本中,每个节点只需要接受一个对应信息槽的编号就可以完成配置。
本发明的一实施例还提供了一种集群文件系统管理系统,该系统的架构如图2所示,包括:
接口配置模块201,用于为集群文件系统内的各个节点配置DLM层通信接口;
信息传输模块202,用于通过所述DLM层通信接口传输DLM操作信息。
优选的,所述接口配置模块201,具体用于配置所述集群文件系统内各个节点的共享磁盘通信接口作为DLM层通信接口。
优选的,所述信息传输模块202,具体用于通过所述DLM层通信接口连接至共享磁盘,从所述共享磁盘获取针对本节点的DLM操作信息或向所述共享磁盘写入对其他节点的DLM操作信息。
本发明的实施例提供了一种集群文件系统管理方法和系统,为集群文件系统内的各个节点配置DLM层通信接口,通过所述DLM层通信接口传输DLM操作信息。解决了基于TCP/IP网络的DLM稳定性差的问题,实现了简化、可靠的集群文件系统。
基于共享磁盘通信的集群文件系统设计摆脱了对TCP/IP的依赖,虽然基于轮询机制的磁盘通信会使得消息传输速度有所降低,但该设计使得集群文件系统的工作仅仅依赖于存储本身,减少了故障点,从而提高了集群文件系统的可靠性,间接提高了虚拟化系统的高可用性,降低了硬件成本。通过后续对通信传输机制的进一步优化,使得其性能逼近于TCP/IP网络,该方案适用于可靠性和IOPS较高的Fibre Channel存储。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (10)

1.一种集群文件系统管理方法,其特征在于,包括:
为集群文件系统内的各个节点配置分布式锁管理器DLM层通信接口;
通过所述DLM层通信接口传输DLM操作信息。
2.根据权利要求1所述的集群文件系统管理方法,其特征在于,为集群文件系统内的各个节点配置分布式锁管理器DLM层通信接口的步骤具体为:
配置所述集群文件系统内各个节点的共享磁盘通信接口作为DLM层通信接口。
3.根据权利要求1所述的集群文件系统管理方法,其特征在于,通过所述DLM层通信接口传输DLM操作信息的步骤包括:
通过所述DLM层通信接口连接至共享磁盘,从所述共享磁盘获取针对本节点的DLM操作信息。
4.根据权利要求1所述的集群文件系统管理方法,其特征在于,通过所述DLM层通信接口传输DLM操作信息的步骤包括:
通过所述DLM层通信接口连接至共享磁盘,向所述共享磁盘写入对其他节点的DLM操作信息。
5.根据权利要求3或4所述的集群文件系统管理方法,其特征在于,所述共享磁盘中包含预留地址空间,所述预留地址空间中包含多个信息槽,每个信息槽对应所述集群文件系统中的一个节点。
6.根据权利要求5所述的集群文件系统管理方法,其特征在于,从所述共享磁盘获取针对本节点的DLM操作信息的步骤具体为读取本节点对应的信息槽中的信息。
7.根据权利要求5所述的集群文件系统管理方法,其特征在于,向所述共享磁盘写入对其他节点的DLM操作信息的步骤具体为向目标节点对应的信息槽写入所述DLM操作信息。
8.一种集群文件管理系统,其特征在于,包括:
接口配置模块,用于为集群文件系统内的各个节点配置分布式锁管理器DLM层通信接口;
信息传输模块,用于通过所述DLM层通信接口传输DLM操作信息。
9.根据权利要求8所述的集群文件系统管理系统,其特征在于,所述接口配置模块,具体用于配置所述集群文件系统内各个节点的共享磁盘通信接口作为DLM层通信接口。
10.根据权利要求8所述的集群文件系统管理系统,其特征在于,所述信息传输模块,具体用于通过所述DLM层通信接口连接至共享磁盘,从所述共享磁盘获取针对本节点的DLM操作信息或向所述共享磁盘写入对其他节点的DLM操作信息。
CN201811220637.6A 2018-10-19 2018-10-19 一种集群文件系统管理方法和系统 Active CN109376135B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811220637.6A CN109376135B (zh) 2018-10-19 2018-10-19 一种集群文件系统管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811220637.6A CN109376135B (zh) 2018-10-19 2018-10-19 一种集群文件系统管理方法和系统

Publications (2)

Publication Number Publication Date
CN109376135A true CN109376135A (zh) 2019-02-22
CN109376135B CN109376135B (zh) 2021-07-02

Family

ID=65400356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811220637.6A Active CN109376135B (zh) 2018-10-19 2018-10-19 一种集群文件系统管理方法和系统

Country Status (1)

Country Link
CN (1) CN109376135B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756826A (zh) * 2020-06-12 2020-10-09 浪潮电子信息产业股份有限公司 一种dlm的锁信息传输方法以及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101273333A (zh) * 2005-04-13 2008-09-24 普罗格雷斯软件公司 容错分布式锁定管理
CN107544758A (zh) * 2017-08-29 2018-01-05 新华三云计算技术有限公司 集群的磁盘心跳检测方法和装置
US20180139103A1 (en) * 2016-11-16 2018-05-17 Lei Guo Management of multiple clusters of distributed file systems
CN109246182A (zh) * 2018-07-26 2019-01-18 郑州云海信息技术有限公司 一种分布式锁管理器及其实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101273333A (zh) * 2005-04-13 2008-09-24 普罗格雷斯软件公司 容错分布式锁定管理
US20180139103A1 (en) * 2016-11-16 2018-05-17 Lei Guo Management of multiple clusters of distributed file systems
CN107544758A (zh) * 2017-08-29 2018-01-05 新华三云计算技术有限公司 集群的磁盘心跳检测方法和装置
CN109246182A (zh) * 2018-07-26 2019-01-18 郑州云海信息技术有限公司 一种分布式锁管理器及其实现方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
林为民: "《云计算与物联网技术在电力系统中的应用》", 31 October 2013 *
王桂强: "海量数据分析处理方法的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
黄红元: "《上海证券交易所联合研究报告2013证券信息前沿技术专集》", 31 December 2014 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756826A (zh) * 2020-06-12 2020-10-09 浪潮电子信息产业股份有限公司 一种dlm的锁信息传输方法以及相关装置

Also Published As

Publication number Publication date
CN109376135B (zh) 2021-07-02

Similar Documents

Publication Publication Date Title
US9667750B2 (en) Client-initiated leader election in distributed client-server systems
US10089128B2 (en) Application aware service policy enforcement and autonomous feedback-based remediation
US11698759B2 (en) Resolving failed or hanging mount points in a clustered storage solution for containers
US20180095840A1 (en) Reducing recovery time in disaster recovery/replication setup with multitier backend storage
US8495323B1 (en) Method and system of providing exclusive and secure access to virtual storage objects in a virtual machine cluster
CN104412228A (zh) 动态迁移协议和群集服务器故障转移协议
US10922112B2 (en) Application aware storage resource management
US20170201601A1 (en) Data transfer policies between source and target servers in a wide area network
CN109246182A (zh) 一种分布式锁管理器及其实现方法
US9917740B2 (en) Reducing internodal communications in a clustered system
US10387053B1 (en) Memory synchronization in a distributed computing system
US9514013B2 (en) Maintaining inactive copy relationships for secondary storages of active copy relationships having a common primary storage for use in case of a failure of the common primary storage
CN114185558A (zh) 基于K8s的原生应用选主方法、装置及存储介质
US11354044B2 (en) Identifying an availability of a system
CN108512753B (zh) 一种集群文件系统中消息传输的方法及装置
US10776224B2 (en) Recovery after service disruption during an active/active replication session
US11194771B2 (en) Methods for transferring reserves when moving virtual machines across systems
CN109376135A (zh) 一种集群文件系统管理方法和系统
US10692168B1 (en) Availability modes for virtualized graphics processing
CN116304390B (zh) 时序数据处理方法、装置、存储介质及电子设备
US9930140B2 (en) Tie-breaking for high availability clusters
US10884888B2 (en) Facilitating communication among storage controllers
CN109656674B (zh) 一种计算机设备、虚拟化芯片及数据传输方法
CN114390052A (zh) 一种基于vrrp协议实现etcd双节点高可用方法和装置
CN115065630B (zh) 虚拟路由器的迁移方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant