CN109672559A - 一种集群系统中集群成员的仲裁方法及系统 - Google Patents
一种集群系统中集群成员的仲裁方法及系统 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols 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处于连接状态,如果是,则该集群成员仲裁为合法成员,否则仲裁为非法成员。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115811461A (zh) * | 2023-02-08 | 2023-03-17 | 湖南国科亿存信息科技有限公司 | San共享存储集群脑裂预防处理方法、装置及电子设备 |
Citations (3)
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 |
-
2018
- 2018-12-04 CN CN201811474566.2A patent/CN109672559A/zh active Pending
Patent Citations (3)
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)
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 |
---|---|---|
US20050132154A1 (en) | Reliable leader election in storage area network | |
CN106936616A (zh) | 备份通信方法和装置 | |
CN107918570A (zh) | 一种双活系统共享仲裁盘的方法 | |
CN106598700A (zh) | 基于pacemaker的虚拟机的秒级高可用实现方法 | |
CN106909307A (zh) | 一种管理双活存储阵列的方法及装置 | |
CN105704187B (zh) | 一种集群脑裂的处理方法及装置 | |
CN106453504A (zh) | 一种基于nginx服务器集群的监控系统及方法 | |
CN109672559A (zh) | 一种集群系统中集群成员的仲裁方法及系统 | |
CN108304293A (zh) | 一种基于大数据技术的软件系统监控方法 | |
CN109800085A (zh) | 资源配置的检测方法、装置、存储介质和电子设备 | |
CN113391611B (zh) | 动力环境监控系统的预警方法、装置及系统 | |
CN110472526A (zh) | 一种基于人脸识别的边缘处理设备及方法 | |
CN106815772A (zh) | 电力数据上报方法及装置 | |
CN106850264B (zh) | 一种网络设备 | |
CN112653753B (zh) | 基于rpc的多机房独立多活方法、系统及电子设备 | |
CN109120558A (zh) | 一种单板端口故障自动排除方法及系统 | |
CN108595367B (zh) | 一种基于局域网内计算机集群的服务器系统 | |
CN113741656A (zh) | 一种基于vpx架构的机箱管理系统及方法 | |
CN108306770B (zh) | 板间通信系统及方法 | |
CN110378580A (zh) | 一种电网故障多代理系统择优诊断方法及装置 | |
CN110177032A (zh) | 报文路由质量监测方法及网关控制器 | |
CN110716726A (zh) | 客户端更新方法及装置、电子设备和计算机可读存储介质 | |
CN113505018B (zh) | 干扰进程检测方法、装置及电子设备 | |
CN111934924B (zh) | 一种cdn网络部署管理系统 | |
CN110413472A (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 |