CN109672559A - 一种集群系统中集群成员的仲裁方法及系统 - Google Patents

一种集群系统中集群成员的仲裁方法及系统 Download PDF

Info

Publication number
CN109672559A
CN109672559A CN201811474566.2A CN201811474566A CN109672559A CN 109672559 A CN109672559 A CN 109672559A CN 201811474566 A CN201811474566 A CN 201811474566A CN 109672559 A CN109672559 A CN 109672559A
Authority
CN
China
Prior art keywords
cluster
heartbeat
cluster member
equipment
illegal
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.)
Pending
Application number
CN201811474566.2A
Other languages
English (en)
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.)
WUHAN FIBERHOME INTERGRATION TECHNOLOGIES Co Ltd
Original Assignee
WUHAN FIBERHOME INTERGRATION TECHNOLOGIES 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 WUHAN FIBERHOME INTERGRATION TECHNOLOGIES Co Ltd filed Critical WUHAN FIBERHOME INTERGRATION TECHNOLOGIES Co Ltd
Priority to CN201811474566.2A priority Critical patent/CN109672559A/zh
Publication of CN109672559A publication Critical patent/CN109672559A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种集群系统中集群成员的仲裁方法,涉及计算机存储技术领域,本发明向集群系统中引入集群心跳设备;集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统,及时仲裁出集群成员的非法成员,有效保护共享资源在集群环境中的一致性和可用性。本发明还公开了一种集群系统。

Description

一种集群系统中集群成员的仲裁方法及系统
技术领域
本发明涉及计算机存储技术领域,具体涉及一种集群系统中集群成员的仲裁方法及系统。
背景技术
集群文件系统作为一种集群系统,在计算机存储领域被广泛应用,它能够为在集群成员部署上的应用提供共享的存储资源。在云计算领域常基于集群文件系统来实现虚拟化应用的动态迁移和高可用等高级功能。集群文件系统最核心的一个技术要点是为各集群成员提供数据视图的一致性服务,即在任何时刻集群成员看到的文件视图都是一样的。但在集群系统的运行过程中,可能由于某些异常情况的发生,例如网络阻塞等,导致整个集群系统被分裂成两个或多个子集群。此时同一个子集群中的成员之间可以相互通信,而两个不同子集群中的成员之间无法通信。当各子集群中的成员仍有权限访问共享资源时,如果不采用相应的保护措施则会导致整个集群系统发生脑裂,即分裂后的子集群成员各自都认为对共享的存储资源拥有访问权限,可能会对同一共享资源分别进行读写操作,致使各成员看到的数据出现不一致的情况。
为了使得集群系统能正常运作,亟需一种集群成员的仲裁机制,及时将非法成员从原集群系统中移除。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种集群系统中集群成员的仲裁方法及系统,集群成员的仲裁机制,及时仲裁出集群成员的非法成员,有效保护共享资源在集群环境中的一致性和可用性。
为达到以上目的,本发明采取的技术方案是:一种集群系统中集群成员的仲裁方法,包括以下步骤:
向集群系统中引入集群心跳设备,所述集群心跳设备由多个心跳设备组成,集群成员之间周期性的相互通信,且周期性的向各个心跳设备写入心跳信息;
集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;
当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;
如果仲裁为非法成员,则该集群成员自动退出集群系统。
在上述技术方案的基础上,集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员,具体包括以下步骤:
将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;
将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;
如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。
在上述技术方案的基础上,当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员,具体包括以下步骤:
所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;
集群成员仲裁为合法成员需要的最少票数定义为Quorum;
与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;
集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;
当发生脑裂时,判断该集群成员的Connected是否小于Quorum,若是,则该集群成员仲裁为非法成员。
在上述技术方案的基础上,如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2;如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。
在上述技术方案的基础上,如果当前集群中的Heartbeat为偶数,若该集群成员的Connected小于Quorum,则该集群成员仲裁为非法成员;如果该集群成员的Connected等于Quorum,继续判定该集群成员是否与集群成员Lowest处于连接状态,如果是,则该集群成员仲裁为合法成员,否则仲裁为非法成员。
本发明还提供一种集群系统,所述集群系统包括多个集群成员和多个心跳设备:
集群成员之间周期性的进行相互通信,且周期性的向各个心跳设备写入心跳信息;
当该集群系统发生脑裂时,集群成员用于:根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统。
在上述技术方案的基础上,所述集群成员具体用于:
将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;
将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;
如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。
在上述技术方案的基础上,所述集群成员具体用于:
所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;
集群成员仲裁为合法成员需要的最少票数定义为Quorum;
与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;
集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;
当发生脑裂时,判断该集群成员的Connected是否小于Quorum,若是,则该集群成员仲裁为非法成员。
在上述技术方案的基础上,如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2;如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。
在上述技术方案的基础上,如果当前集群中的Heartbeat为偶数,若该集群成员的Connected小于Quorum,则该集群成员仲裁为非法成员;如果该集群成员的Connected等于Quorum,继续判定该集群成员是否与集群成员Lowest处于连接状态,如果是,则该集群成员仲裁为合法成员,否则仲裁为非法成员。
与现有技术相比,本发明的优点在于:
本发明向集群系统中引入集群心跳设备;集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统,及时仲裁出集群成员的非法成员,有效保护共享资源在集群环境中的一致性和可用性。
附图说明
图1为本发明实施例中通过多个心跳设备对单个集群成员的仲裁方式;
图2为本发明实施例中当前集群中的Heartbeat为奇数时采用的仲裁方式;
图3为本发明实施例中当前集群中的Heartbeat为偶数时采用的仲裁方式。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
实施例1:
参见图1所示,本发明实施例提供一种集群系统中集群成员的仲裁方法,包括以下步骤:
向集群系统中引入集群心跳设备,所述集群心跳设备由多个心跳设备组成,集群成员之间周期性的相互通信,且周期性的向各个心跳设备写入心跳信息;
集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;
当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;
如果仲裁为非法成员,则该集群成员自动退出集群系统。
本发明实施例中如果仲裁为非法成员,则该集群成员自动退出集群系统,实现及时仲裁出集群成员的非法成员,有效保护共享资源在集群环境中的一致性和可用性。
作为优选的实施方式,集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员,具体包括以下步骤:
将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;
将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;
如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。
所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;
集群成员仲裁为合法成员需要的最少票数定义为Quorum;
与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;
集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;
参见图2所示,当发生脑裂时,如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2。如果成员的Connected小于Quorum,则该成员仲裁为非法成员。
参见图3所示,如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。如果成员的Connected小于Quorum,则该成员仲裁为非法成员。如果Connected刚好等于Quorum,则判定该成员是否与成员Lowest处于连接状态,如果是则该成员仲裁为合法成员;否则仲裁为非法成员。
实施例2:
本发明实施例提供一种集群系统,所述集群系统包括多个集群成员和多个心跳设备:
集群成员之间周期性的进行相互通信,且周期性的向各个心跳设备写入心跳信息;
当该集群系统发生脑裂时,集群成员用于:根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统。
本发明实施例中如果仲裁为非法成员,则该集群成员自动退出集群系统,实现及时仲裁出集群成员的非法成员,有效保护共享资源在集群环境中的一致性和可用性。
作为优选的实施方式,集群成员中仲裁过程具体如下:
将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;
将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;
如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。
所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;
集群成员仲裁为合法成员需要的最少票数定义为Quorum;
与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;
集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;
当发生脑裂时,如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2。如果成员的Connected小于Quorum,则该成员仲裁为非法成员。
如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。如果成员的Connected小于Quorum,则该成员仲裁为非法成员。如果Connected刚好等于Quorum,则判定该成员是否与成员Lowest处于连接状态,如果是则该成员仲裁为合法成员;否则仲裁为非法成员。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

1.一种集群系统中集群成员的仲裁方法,其特征在于,包括以下步骤:
向集群系统中引入集群心跳设备,所述集群心跳设备由多个心跳设备组成,集群成员之间周期性的相互通信,且周期性的向各个心跳设备写入心跳信息;
集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;
当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;
如果仲裁为非法成员,则该集群成员自动退出集群系统。
2.如权利要求1所述的方法,其特征在于:集群成员根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员,具体包括以下步骤:
将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;
将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;
如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。
3.如权利要求2所述的方法,其特征在于:当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员,具体包括以下步骤:
所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;
集群成员仲裁为合法成员需要的最少票数定义为Quorum;
与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;
集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;
当发生脑裂时,判断该集群成员的Connected是否小于Quorum,若是,则该集群成员仲裁为非法成员。
4.如权利要求3所述的方法,其特征在于:
如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2;如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。
5.如权利要求4所述的方法,其特征在于:如果当前集群中的Heartbeat为偶数,若该集群成员的Connected小于Quorum,则该集群成员仲裁为非法成员;如果该集群成员的Connected等于Quorum,继续判定该集群成员是否与集群成员Lowest处于连接状态,如果是,则该集群成员仲裁为合法成员,否则仲裁为非法成员。
6.一种集群系统,其特征在于:所述集群系统包括多个集群成员和多个心跳设备:
集群成员之间周期性的进行相互通信,且周期性的向各个心跳设备写入心跳信息;
当该集群系统发生脑裂时,集群成员用于:根据其与多个心跳设备的连接状态判断仲裁其自身是否为非法成员;当该集群系统发生脑裂时,根据该集群成员与其他集群成员的通信状态、以及所有集群成员在集群心跳设备上的心跳总数,仲裁其自身是否为非法成员;如果仲裁为非法成员,则该集群成员自动退出集群系统。
7.如权利要求6所述的系统,其特征在于:所述集群成员具体用于:
将集群系统中的心跳设备总数定义为HeartbeatNum,HeartbeatNum为奇数;
将与某一集群成员正常连接的心跳设备个数定义为HeartbeatConnected;
如果HeartbeatConnected大于HeartbeatNum/2,则表示该集群成员与心跳设备的连接是正常的;否则该集群成员仲裁为非法成员。
8.如权利要求7所述的系统,其特征在于:所述集群成员具体用于:
所有集群成员在集群心跳设备上的心跳总数定义为Heartbeat,如果集群成员与心跳设备连接正常,则Heartbeat数加1;
集群成员仲裁为合法成员需要的最少票数定义为Quorum;
与心跳设备连接正常且成员编号最小的集群成员定义为Lowest;
集群成员间的网络连接总数定义为Connected,如果某集群成员能与另一集群成员进行网络通信,则该集群成员的Connected加1;
当发生脑裂时,判断该集群成员的Connected是否小于Quorum,若是,则该集群成员仲裁为非法成员。
9.如权利要求8所述的系统,其特征在于:
如果当前集群中的Heartbeat为奇数,则Quorum=(Heartbeat+1)/2;如果当前集群中的Heartbeat为偶数,则Quorum=Heartbeat/2。
10.如权利要求9所述的系统,其特征在于:如果当前集群中的Heartbeat为偶数,若该集群成员的Connected小于Quorum,则该集群成员仲裁为非法成员;如果该集群成员的Connected等于Quorum,继续判定该集群成员是否与集群成员Lowest处于连接状态,如果是,则该集群成员仲裁为合法成员,否则仲裁为非法成员。
CN201811474566.2A 2018-12-04 2018-12-04 一种集群系统中集群成员的仲裁方法及系统 Pending CN109672559A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811474566.2A CN109672559A (zh) 2018-12-04 2018-12-04 一种集群系统中集群成员的仲裁方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811474566.2A CN109672559A (zh) 2018-12-04 2018-12-04 一种集群系统中集群成员的仲裁方法及系统

Publications (1)

Publication Number Publication Date
CN109672559A true CN109672559A (zh) 2019-04-23

Family

ID=66143563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811474566.2A Pending CN109672559A (zh) 2018-12-04 2018-12-04 一种集群系统中集群成员的仲裁方法及系统

Country Status (1)

Country Link
CN (1) CN109672559A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115811461A (zh) * 2023-02-08 2023-03-17 湖南国科亿存信息科技有限公司 San共享存储集群脑裂预防处理方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904946A (zh) * 2012-09-29 2013-01-30 浪潮(北京)电子信息产业有限公司 集群内节点管理方法和装置
CN105430052A (zh) * 2015-10-30 2016-03-23 浪潮(北京)电子信息产业有限公司 一种用于集群系统的仲裁方法和装置
US20170093647A1 (en) * 2015-09-30 2017-03-30 Symantec Corporation Partition arbitration optimization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904946A (zh) * 2012-09-29 2013-01-30 浪潮(北京)电子信息产业有限公司 集群内节点管理方法和装置
US20170093647A1 (en) * 2015-09-30 2017-03-30 Symantec Corporation Partition arbitration optimization
CN105430052A (zh) * 2015-10-30 2016-03-23 浪潮(北京)电子信息产业有限公司 一种用于集群系统的仲裁方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115811461A (zh) * 2023-02-08 2023-03-17 湖南国科亿存信息科技有限公司 San共享存储集群脑裂预防处理方法、装置及电子设备
CN115811461B (zh) * 2023-02-08 2023-04-28 湖南国科亿存信息科技有限公司 San共享存储集群脑裂预防处理方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN105915405A (zh) 一种大型集群节点性能监控系统
CN102402395A (zh) 基于仲裁磁盘的高可用系统不间断运行方法
CN106936616A (zh) 备份通信方法和装置
CN107918570A (zh) 一种双活系统共享仲裁盘的方法
CN106598700A (zh) 基于pacemaker的虚拟机的秒级高可用实现方法
CN107231435A (zh) 数据同步监控方法及系统
CN105430052B (zh) 一种用于集群系统的仲裁方法和装置
CN109672559A (zh) 一种集群系统中集群成员的仲裁方法及系统
CN114844809A (zh) 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置
CN108304293A (zh) 一种基于大数据技术的软件系统监控方法
CN110675598A (zh) 一种用于铁路地震预警的数据交换方法及平台
CN212785387U (zh) 一种低成本的多集群仲裁系统
CN109510730A (zh) 分布式系统及其监控方法、装置、电子设备及存储介质
CN110472526A (zh) 一种基于人脸识别的边缘处理设备及方法
CN206237424U (zh) 一种用于监控中心站的双机热备系统
CN113391611B (zh) 动力环境监控系统的预警方法、装置及系统
CN112653753B (zh) 基于rpc的多机房独立多活方法、系统及电子设备
CN109120558A (zh) 一种单板端口故障自动排除方法及系统
CN103546331A (zh) 监控信息的获取方法、装置及系统
CN108595367B (zh) 一种基于局域网内计算机集群的服务器系统
CN108306770B (zh) 板间通信系统及方法
CN110177032A (zh) 报文路由质量监测方法及网关控制器
CN110716726A (zh) 客户端更新方法及装置、电子设备和计算机可读存储介质
CN111934924B (zh) 一种cdn网络部署管理系统
CN202634490U (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190423

RJ01 Rejection of invention patent application after publication