CN103905247B - 一种基于多客户裁决的双机备份方法及系统 - Google Patents
一种基于多客户裁决的双机备份方法及系统 Download PDFInfo
- Publication number
- CN103905247B CN103905247B CN201410085986.7A CN201410085986A CN103905247B CN 103905247 B CN103905247 B CN 103905247B CN 201410085986 A CN201410085986 A CN 201410085986A CN 103905247 B CN103905247 B CN 103905247B
- Authority
- CN
- China
- Prior art keywords
- node
- clustered node
- service
- main
- cluster
- 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.)
- Expired - Fee Related
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种基于多客户裁决的双机备份方法,包括以下步骤:a.双机备份机制中的节点通过心跳链路发送心跳信息,相互监视对方的运行状况;在心跳链路之外增加一个集群管理控制器,接受客户反馈信息作为判断服务集群运行状况的依据,对主集群节点A和从集群节点B进行控制;b.客户收到的服务中带有节点的身份标识信息,客户将身份标识信息反馈给集群管理控制器;集群管理控制器根据反馈信息进行判断和控制;c.集群管理控制器接受客户反馈信息,根据接收到的反馈信息,投票选出建立服务连接最多的集群节点作为服务节点对外提供服务,同时向得票数少的集群节点发送重启或关机控制命令。
Description
技术领域
本发明涉及通信技术领域,特别是涉及到高可用集群(Linux-HA)系统中双机备份机制及在心跳网络发生脑裂现象的处理机制。
背景技术
高可用集群是指一组通过硬件和软件连接起来的独立计算机,它们在客户面前表现为一个单一系统,这样的一组计算机系统内部的一个或多个节点停止工作时,服务会从故障节点切换到正常工作的节点上运行,不会引起服务中断。因此集群必须检测节点和服务何时失效,何时恢复为可用。这个任务通常是由一组称为“心跳”的代码完成。在Linux-HA里这个功能由一个叫做Heartbeat的程序完成。
双机备份机制是高可用集群中最基本的一种实现方式,它广泛应用于服务器领域,用于构建具有高可靠性和高可用性的服务系统。在现有技术中,双机备份机制中的节点之间的通信是通过Heartbeat来实现的。Heartbeat包括两个最核心的部分:心跳监测部分和资源接管部分。心跳监测可以通过网络链路和串口进行,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。该技术存在如下问题:当心跳网络出现故障的时候,节点A和节点B之间的心跳监测部分无法相互发送心跳信号来告诉对方自己当前的状况,节点之间就会认为对方节点发生故障,将启动资源接管模块来接管运行在对方节点上的资源或服务。而实际情况是节点A和节点B并没有发生故障,它们都处于活动状态(active),这时节点A要接管节点B的资源和服务,同时节点B也要接管节点A的资源和服务,这就造成了脑裂(Split-brain)现象。Split-brain会引起数据的不完整性,因为集群节点访问的是同一个存储,多个节点同时对同一个存储区域进行读写,这就存在数据的不完整性的可能,将会带来灾难性的后果。
针对现有技术存在的上述不足,提出本发明。
发明内容
鉴于现有技术中存在的问题,本发明的目的就是针对上述存在的问题,提出了一种基于多个客户裁决的双机备份方法及系统,即在心跳链路之外增加一个集群管理控制器,由集群管理控制器获取客户反馈回来的信息,根据客户反馈信息对集群运行状况做出判断,管理集群的运行。
为实现上述发明目的,本发明提供的技术方案是:一种基于多客户裁决的双机备份方法,包括如下步骤:
a.双机备份机制中的主集群节点A和从集群节点B通过心跳链路发送心跳信息,相互监视对方的运行状况;在心跳链路之外增加一个集群管理控制器,接受客户反馈信息作为判断服务集群运行状况的依据,对主集群节点A和从集群节点B进行控制;
b.客户收到的服务中带有主集群节点A或从集群节点B的身份标识信息,用以向客户表明是主集群节点A或从集群节点B在提供服务;客户将身份标识信息反馈给集群管理控制器;集群管理控制器根据反馈信息进行判断和控制,具体包括:反馈信息显示服务来自主集群节点A时,表明系统正常,集群管理控制器不做处理;反馈信息显示服务来自集群节点B,集群管理控制器根据收到的反馈信息判断从集群节点B已经代替主集群节点A提供服务,主集群节点A发生故障,集群管理控制器发送重启或关机控制信息给主集群节点A。
c.集群管理控制器接受客户反馈信息,根据接收到的反馈信息,投票选出建立服务连接最多的集群节点作为服务节点对外提供服务,同时向得票数少的集群节点发送重启或关机控制命令。
本发明还提供了一种基于多客户裁决的双机备份系统,包括集群服务节点、集群管理控制器和客户,其中,集群服务节点包括主集群节点A和从集群节点B,集群服务节点共用同一个磁盘阵列,集群服务节点通过节点之间的通信链路传递心跳信号;
主集群节点A作为主节点对外提供服务,从集群节点B作为从节点通过心跳链路监视主集群节点A的工作情况,当集群节点B出现故障无法发送心跳信号的时候,集群节点B会启动资源接管模块来接管运行在主集群节点A上的资源或者服务;
主集群节点A和从集群节点B提供的服务信息分别带有各自的身份标识,客户根据身份标识判断提供服务信息的集群节点,并将该身份标识信息反馈给集群管理控制器;
集群管理控制器通过互联网与客户连接,实时接收客户反馈回来的身份标识信息;当反馈的信息表明是主集群节点A在提供服务时,集群管理控制器不做任何处理,反馈的信息表明是从集群节点B提供服务时,集群管理控制器判断主集群节点A发生故障,发送重启或关机控制信息给主集群节点A;集群管理控制器同时收到主集群节点A和从集群节点B反馈的信息,判断主集群节点A和从集群节点B的心跳链路发生故障,集群管理控制器比较主集群节点A和从集群节点B跟客户建立的连接数量,投票选出当前与客户有服务连接最多的集群作为服务节点对外提供服务,同时向得票数少的一方集群节点发出重启或关机。
本发明的有益效果是:在心跳网络之外设置一个集群管理控制器,当心跳网络出现故障时,可以根据客户反馈的信息来判断集群运行状况,通过反馈信息找出集群故障节点,关闭或重启故障节点,避免由于节点之间无法传送心跳信号进行通信,而出现多个节点同时访问同一块磁盘所造成的问题。
附图说明
当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,其中:
图1是本发明的系统架构示意图;
图2是本发明的工作机制流程图。
具体实施方式
以下结合附图对本发明的实施例进行说明。
下面结合附图和具体实施方式对本发明作进一步的说明。
图1为本发明的一个系统架构示意图,如图1所示,本发明包括三个主要部分:集群服务节点、集群管理控制器和客户,主集群节点A和从集群节点B作为集群服务节点共用同一个磁盘阵列,同时通过节点之间的通信链路传递心跳信号;主集群节点A和从集群节点B通过集群管理控制器对外提供服务;集群管理控制器与互联网连接,实时接收客户反馈回来的信息。
如图2所示,主集群节点A作为主节点对外提供服务,从集群节点B作为从节点通过心跳链路监视主集群节点A的工作情况,当主集群节点A出现故障无法发送心跳信号的时候,从集群节点B会启动资源接管模块来接管运行在主集群节点A上的资源或者服务。这其中,主集群节点A和从集群节点B所提供的服务信息中带有自己的身份标识,客户可以通过身份标识判断是集群中哪个节点给自己提供服务。客户把身份信息反馈给集群管理控制器,集群管理控制器把客户的反馈信息作为判断依据,监视整个集群的运行状况。
当系统处于正常中作状态时,从集群节点B通过心跳链路传来的心跳信息可以知道主集群节点A的工作状态,同时主集群节点A通过服务链路对外提供相关服务,客户所接收到的服务都是来自于主集群节点A,因此客户反馈给集群管理控制器的信息都表明自己接受来自于主集群节点A所提供的服务。由于根据实时反馈信息中都显示服务是由主集群节点A提供的,因此集群管理控制器根据反馈结果可以知道系统正处于正常工作状态,集群管理器不做任何处理。而当集群中主集群节点A发生故障时,从集群节点B由于无法从心跳链路接收到主集群节点A的心跳信号,因此从集群节点B启动资源接管模块来接管运行在主集群节点A上的资源或者服务,这时客户接收到的服务都来自于从集群节点B。集群管理控制器根据收到的反馈信息判断出集群中从集群节点B已经取代主集群节点A对外提供服务,主集群节点A发生故障,因此集群管理控制器发送重启或关机控制信息给主集群节点A。
而当主集群节点A和从集群节点B之间的心跳链路发生故障时,主集群节点A和从集群节点B都将对外提供服务。这时不同的客户接受到的服务来自于不同的集群节点。集群管理控制器根据反馈信息,比较当前集群节点跟客户建立的连接数量,投票选出当前与客户有服务连接最多的节点最为服务节点对外提供服务,同时向得票数少的一方节点发出重启或关机等控制信息,避免由于心跳链路故障所带来的问题。
以上所述实施例,只是本发明的较佳实施例,并非来限制本发明实施范围,故凡依本发明申请专利范围所述的显而易见的变动,以及其它不脱离本发明实质的改动,均应包括在本发明的保护范围之内。
Claims (3)
1.一种基于多客户裁决的双机备份方法,其特征在于,包括如下步骤:
a.双机备份机制中的主集群节点A和从集群节点B通过心跳链路发送心跳信息,相互监视对方的运行状况;在心跳链路之外增加一个集群管理控制器,接受客户反馈信息作为判断服务集群运行状况的依据,对主集群节点A和从集群节点B进行控制;
b.客户收到的服务中带有主集群节点A或从集群节点B的身份标识信息,用以向客户表明是主集群节点A或从集群节点B在提供服务;客户将身份标识信息反馈给集群管理控制器;
c.集群管理控制器接受客户反馈信息,根据接收到的反馈信息,投票选出建立服务连接最多的集群节点作为服务节点对外提供服务,同时向得票数少的集群节点发送重启或关机控制命令。
2.根据权利要求1所述的一种基于多客户裁决的双机备份方法,其特征在于,其特征在于,步骤b中,集群管理控制器根据反馈信息进行判断和控制,具体包括:反馈信息显示服务来自主集群节点A时,表明系统正常,集群管理控制器不做处理;反馈信息显示服务来自集群节点B,集群管理控制器根据收到的反馈信息判断从集群节点B已经代替主集群节点A提供服务,主集群节点A发生故障,集群管理控制器发送重启或关机控制信息给主集群节点A。
3.一种基于多客户裁决的双机备份系统,其特征在于:包括集群服务节点、集群管理控制器和客户,其中,集群服务节点包括主集群节点A和从集群节点B,集群服务节点共用同一个磁盘阵列,集群服务节点通过节点之间的通信链路传递心跳信号;
主集群节点A作为主节点对外提供服务,从集群节点B作为从节点通过心跳链路监视主集群节点A的工作情况,当主集群节点A出现故障无法发送心跳信号的时候,从集群节点B会启动资源接管模块来接管运行在主集群节点A上的资源或者服务;
主集群节点A和从集群节点B提供的服务信息分别带有各自的身份标识,客户根据身份标识判断提供服务信息的集群节点,并将该身份标识信息反馈给集群管理控制器;
集群管理控制器通过互联网与客户连接,实时接收客户反馈回来的身份标识信息;当反馈的信息表明是主集群节点A在提供服务时,集群管理控制器不做任何处理,反馈的信息表明是从集群节点B提供服务时,集群管理控制器判断主集群节点A发生故障,发送重启或关机控制信息给主集群节点A;集群管理控制器同时收到主集群节点A和从集群节点B反馈的信息,判断主集群节点A和从集群节点B的心跳链路发生故障,集群管理控制器比较主集群节点A和从集群节点B跟客户建立的连接数量,投票选出当前与客户有服务连接最多的集群作为服务节点对外提供服务,同时向得票数少的一方集群节点发出重启或关机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410085986.7A CN103905247B (zh) | 2014-03-10 | 2014-03-10 | 一种基于多客户裁决的双机备份方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410085986.7A CN103905247B (zh) | 2014-03-10 | 2014-03-10 | 一种基于多客户裁决的双机备份方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103905247A CN103905247A (zh) | 2014-07-02 |
CN103905247B true CN103905247B (zh) | 2017-02-01 |
Family
ID=50996404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410085986.7A Expired - Fee Related CN103905247B (zh) | 2014-03-10 | 2014-03-10 | 一种基于多客户裁决的双机备份方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103905247B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135513A (zh) * | 2014-07-24 | 2014-11-05 | 浪潮集团有限公司 | 一种PowerPC云存储平台采用Heartbeat实现高可用集群的方法 |
CN104579765B (zh) * | 2014-12-27 | 2019-02-26 | 北京奇虎科技有限公司 | 一种集群系统的容灾方法和装置 |
CN105515901B (zh) * | 2015-11-27 | 2019-01-22 | 努比亚技术有限公司 | 报文处理装置及方法 |
CN106452696A (zh) * | 2016-10-28 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种服务器集群的控制系统 |
CN107147540A (zh) * | 2017-07-19 | 2017-09-08 | 郑州云海信息技术有限公司 | 高可用性系统中的故障处理方法和故障处理集群 |
WO2019119263A1 (zh) * | 2017-12-19 | 2019-06-27 | 海能达通信股份有限公司 | 一种分布式集群脑裂的处理方法、装置及设备 |
CN108134706B (zh) * | 2018-01-02 | 2020-08-18 | 中国工商银行股份有限公司 | 区块链多活高可用系统、计算机设备以及方法 |
CN113608836A (zh) * | 2021-08-06 | 2021-11-05 | 上海英方软件股份有限公司 | 一种基于集群的虚拟机高可用方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582787A (zh) * | 2008-05-16 | 2009-11-18 | 中兴通讯股份有限公司 | 一种双机备份系统及备份方法 |
CN102799394A (zh) * | 2012-06-29 | 2012-11-28 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
CN102916825A (zh) * | 2011-08-01 | 2013-02-06 | 中兴通讯股份有限公司 | 一种双机热备系统的管理设备、管理方法及双机热备系统 |
US8498967B1 (en) * | 2007-01-30 | 2013-07-30 | American Megatrends, Inc. | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856580B2 (en) * | 2011-04-07 | 2014-10-07 | Hewlett-Packard Development Company, L.P. | Controller election |
-
2014
- 2014-03-10 CN CN201410085986.7A patent/CN103905247B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8498967B1 (en) * | 2007-01-30 | 2013-07-30 | American Megatrends, Inc. | Two-node high availability cluster storage solution using an intelligent initiator to avoid split brain syndrome |
CN101582787A (zh) * | 2008-05-16 | 2009-11-18 | 中兴通讯股份有限公司 | 一种双机备份系统及备份方法 |
CN102916825A (zh) * | 2011-08-01 | 2013-02-06 | 中兴通讯股份有限公司 | 一种双机热备系统的管理设备、管理方法及双机热备系统 |
CN102799394A (zh) * | 2012-06-29 | 2012-11-28 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种面向客户端的双机热备机制的研究与实现;蒋涛;《中国优秀硕士学位论文全文数据库》;20110915(第9期);第21-22页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103905247A (zh) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103905247B (zh) | 一种基于多客户裁决的双机备份方法及系统 | |
CN103346903B (zh) | 一种双机备份的方法和装置 | |
CN101291243B (zh) | 高可用集群系统的裂脑预防方法 | |
CN110807064B (zh) | Rac分布式数据库集群系统中的数据恢复装置 | |
CN106227636A (zh) | 一种基于ipmi的数据中心带外管理系统 | |
CN110224871A (zh) | 一种Redis集群的高可用方法及装置 | |
US8010833B2 (en) | Software application cluster layout pattern | |
CN103414916B (zh) | 一种故障诊断系统及方法 | |
CN112506702B (zh) | 数据中心容灾方法、装置、设备及存储介质 | |
CN104503965A (zh) | PostgreSQL高弹性的高可用及负载均衡实现方法 | |
CN106850255A (zh) | 一种多机备份的实现方法 | |
CN111949444A (zh) | 一种基于分布式服务集群的数据备份与恢复系统及方法 | |
CN106060088A (zh) | 一种服务管理方法及装置 | |
CN107729190B (zh) | 一种io路径故障转移处理方法和系统 | |
CN104980524A (zh) | 一种weblogic连接池失效监测方法 | |
CN109842505A (zh) | 一种云端集群故障处理方法及装置 | |
CN105068763B (zh) | 一种针对存储故障的虚拟机容错系统和方法 | |
CN101820359A (zh) | 一种网络设备的故障处理方法和设备 | |
CN102664755B (zh) | 控制通道故障确定方法及其装置 | |
CN107395768B (zh) | 用于文件安全传输的双机自适应负载均衡方法 | |
CN105812161A (zh) | 一种控制器故障备份方法和系统 | |
CN107071189B (zh) | 一种通讯设备物理接口的连接方法 | |
CN106230622A (zh) | 一种集群实现方法及装置 | |
US10721135B1 (en) | Edge computing system for monitoring and maintaining data center operations | |
CN105490847B (zh) | 一种私有云存储系统中节点故障实时检测及处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170201 Termination date: 20200310 |
|
CF01 | Termination of patent right due to non-payment of annual fee |