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

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

Info

Publication number
CN109376135B
CN109376135B CN201811220637.6A CN201811220637A CN109376135B CN 109376135 B CN109376135 B CN 109376135B CN 201811220637 A CN201811220637 A CN 201811220637A CN 109376135 B CN109376135 B CN 109376135B
Authority
CN
China
Prior art keywords
dlm
file system
cluster file
node
communication interface
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.)
Active
Application number
CN201811220637.6A
Other languages
English (en)
Other versions
CN109376135A (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

Images

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]

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 (7)

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

Families Citing this family (1)

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101273333A (zh) * 2005-04-13 2008-09-24 普罗格雷斯软件公司 容错分布式锁定管理

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180139103A1 (en) * 2016-11-16 2018-05-17 Lei Guo Management of multiple clusters of distributed file systems
CN107544758B (zh) * 2017-08-29 2020-07-10 新华三云计算技术有限公司 集群的磁盘心跳检测方法和装置
CN109246182B (zh) * 2018-07-26 2022-03-25 郑州云海信息技术有限公司 一种分布式锁管理器及其实现方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101273333A (zh) * 2005-04-13 2008-09-24 普罗格雷斯软件公司 容错分布式锁定管理

Also Published As

Publication number Publication date
CN109376135A (zh) 2019-02-22

Similar Documents

Publication Publication Date Title
CN109101341B (zh) 分布式锁的分配方法及设备
CN109246182B (zh) 一种分布式锁管理器及其实现方法
EP2851807B1 (en) Method and system for supporting resource isolation under multi-core architecture
US10333789B1 (en) Client-directed placement of remotely-configured service instances
CN103257941B (zh) 多协议存储控制器和系统
EP4318251A1 (en) Data access system and method, and device and network card
CN110022333B (zh) 分布式系统的通信方法及装置
CN110119304B (zh) 一种中断处理方法、装置及服务器
CN105260377B (zh) 一种基于分级存储的升级方法和系统
CN113127133A (zh) 跨平台的虚拟机热迁移方法、装置、设备和介质
WO2021082465A1 (zh) 一种保证数据一致性的方法及相关设备
CN114461593B (zh) 日志写入方法及其装置、电子设备及存储介质
CN108512753B (zh) 一种集群文件系统中消息传输的方法及装置
CN110543315B (zh) 一种kbroker分布式操作系统、存储介质和电子设备
CN113746641B (zh) 一种基于分布式存储的odx协议处理方法
CN109376135B (zh) 一种集群文件系统管理方法和系统
CN112148206A (zh) 一种数据读写方法、装置、电子设备及介质
CN117170820A (zh) 集群节点的配置共享方法、系统、终端及存储介质
CN113608691A (zh) 一种存储阵列nfs高可用的方法和装置
US11921699B1 (en) Lease-based consistency management for handling failover in a database
CN105718589A (zh) 访问文件的方法和装置
CN106790521B (zh) 采用基于ftp的节点设备进行分布式组网的系统及方法
CN108614873B (zh) 一种数据处理方法及装置
CN109408485B (zh) 一种分布式锁实现方法和系统
CN109376014B (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