CN103593266A - 一种基于仲裁盘机制的双机热备方法 - Google Patents
一种基于仲裁盘机制的双机热备方法 Download PDFInfo
- Publication number
- CN103593266A CN103593266A CN201310560287.9A CN201310560287A CN103593266A CN 103593266 A CN103593266 A CN 103593266A CN 201310560287 A CN201310560287 A CN 201310560287A CN 103593266 A CN103593266 A CN 103593266A
- Authority
- CN
- China
- Prior art keywords
- server
- arbitration
- district
- value
- node
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供一种基于仲裁盘机制的双机热备方法,用于实现多个服务器之间的备份,所述多个服务器通过竞争获得对存储节点上的仲裁区的控制权,成功获得仲裁区控制权的服务器成为活动服务器,其它节点成为备份服务器;所述活动服务器定时更新心跳值,所述备份服务器定时读取心跳值,如果在一段时间内所述心跳值不发生变化则确定所述活动服务器宕机,所述备份服务器再次竞争对仲裁区的控制权,确定新的活动服务器。所述方法能够准确判断活动服务器的工作状态,避免误判以及脑裂情况的发生,保证服务的连续性。
Description
技术领域
本发明涉及到服务器热备份技术领域,具体涉及到一种基于仲裁盘机制的双机热备方法。
背景技术
服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂,是网络上一种为客户端计算机提供各种服务的高性能的计算机,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。
为了对外提供可靠的连续的不间断服务,要求服务器必须具有可靠的稳定性,以保证各种实时在线业务的顺利进行。基于此可以通过双机热备的方式来避免服务器软件或硬件故障而导致的在线交易中断,即在一台服务器故障时另一台服务器可以及时的监测到故障,并接替另一台服务器对外提供服务,以达到服务不中断的要求。
但是目前的双机热备的方式存在较多的弊端,例如不能准确的监测到另一台服务器是否正常工作,从而出现误判的情况;另一种是容易出现脑裂情况,从而使得服务器数据库受损,破坏数据。
发明内容
针对以上缺陷,本发明提供一种基于仲裁盘机制的双机热备方法,通过此方法可以准确的判断服务器的工作状态,很好的避免误判以及脑裂情况的发生;另外这种仲裁盘机制不会占过太大的硬盘空间,只需少部分即可满足。
所述方法应用于双机热备份***中,所述双机热备份***包括多个服务器和一个存储节点,所述存储节点上设置有仲裁区,所述方法包括:
S1:所述***上电启动后,所述服务器竞争获得所述仲裁区的控制权,成功获得所述仲裁区控制权的服务器被设置为活动服务器,其它服务器被设置为备份服务器;
S2:活动服务器定时更新保存于所述仲裁区中的心跳值,备份服务器定时读取所述心跳值;
S3:若在一段时间内,所述备份服务器确定所述心跳值没有变化,则确定所述活动服务器宕机,所述备份服务器竞争获得所述仲裁区的控制权,成为新的活动服务器,返回步骤S2。
本发明的优点在于:通过本发明可以准确的监控服务器节点是否正常工作,并且避免了争夺磁盘访问权的一些弊端,使得对节点宕机的判断更加准确,并且不会出现误判的情况,使得节点能对外提供更稳定的服务。
附图说明
图1为本发明提出的双机热备***架构图。
图2为本发明提出的获取仲裁区的控制权的流程图。
图3为本发明提出的备份节点对心跳值进行侦听的流程图。
图4为本发明提出的备份节点获取仲裁区控制权的流程图。
具体实施方式
结合附图1-4对本发明的技术方案进行详细说明。
参见附图1,整个双机热备***由两台服务器,一台存储节点组成,两台服务器分别成为Node A和Node B,两台服务器与存储节点之间通过光纤连接。在存储节点上划分一块磁盘空间作为仲裁区,并且只允许特定进程对其读写,而实时业务所产生的数据存储到其它分区,即此分区只作为仲裁使用,不作为存储应用。***中的活动节点(为Node A和Node B中的一个)和备份节点(为Node A和Node B中的另一个)定时对仲裁区域进行读写操作,备份节点通过判断特定状态位来感知活动节点当前的工作状态。当仲裁区被活动节点控制时,备份节点对此区的读写数据会失败。
其中所述仲裁区是指在存储节点上单独划分的一块分区,用于两台服务器之间的通信,以达到对服务器的工作状态进行实时监控的目地。仲裁区决定双机热备中的哪个节点对外提供服务以及对磁盘进行读写的权力;仲裁区维护以下数据:status,node,count。节点只有获得了对仲裁区的控制权,才有权力访问磁盘的数据区,对实时交易数据进行存储。
其中所述status标志仲裁区是否具有属主,如果没有节点便可以尝试去竞争成为仲裁区的主人,如果有属主则其他节点只能继续对此状态位进行论询。
其中所述node是仲裁区拥有者的标识,即哪个节点目前正在常管着仲裁区,进而拥有对整个磁盘的读写权力。
其中所述count用于判断磁盘拥有者是否宕机,备份节点可以通过读取count的值来判断活动节点当前是否宕机。如果发现活动节点宕机,则备份节点可以按照竞争获取仲裁区权限规则来获取对仲裁区的控制权限。
其中所述获取仲裁区控制权需具备两个条件:条件一个是status没有属主,条件二是在条件一的基础上备份节点判断活动节点宕机。当具备这两个条件之后,备份节点便可以执行获取仲裁区控制权的流程,进而获得对磁盘数据区的读写权并对外提供服务。
附图2示出了竞争获取仲裁区控制流程,节点读写仲裁区数据,即读取status的值,如果该值显示仲裁区没有属主,则写入自已节点的标识到node,然后再读取node的值,检查读取的值是否与自己标识匹配,如果匹配则继续写入数据到仲裁区的count,在写入成功之后再次读取count的值,如果其值与写入时的值相等则该节点接管仲裁区的管理权,成为活动节点,之后该活动节点定时更新count的值并将count的值做为心跳值。若此流程任何一步失败,所述节点都不能得到仲裁区的控制权,需要重新发起竞争获取仲裁区控制权的流程。
其中所述将count的值作为心跳值是侦听活动节点是否正常工作的主要方式,流程参见附图3所示。例如Node A获得了对仲裁区的控制权,成为活动节点,那么Node A会定时更新count的值,做为备份节点的Node B通过定时查询node的值以及count的值来探测活动节点Node A是否宕机,Node B在某时刻读取count的值后待等待一段时间,再去读取count的值,如果该值发生变化则说明Node A工作正常。
参见附图4,如果Node B等待一段时间后再去读取count的值并确定该值未变化,则说明Node A宕机,重复执行一定次数之后,Node B便可以肯定Node A确实宕机。之后,Node B可以发起竞争获取仲裁盘控制权的流程并更改node的值为自身节点名。
为了便于理解,对附图2-4的流程可以总结如下:
首先开启竞争获得仲裁区控制权流程,当两台服务器Node A和Node B初次开启之后,便会发起竞争获取仲裁区控制权的流程,之后仲裁盘的控制权便会被其中某节点掌管,该某个节点便成为活动节点。
其次,在活动节点接管仲裁盘权限之后,便可以对外提供服务,并定时的更新count的值做为心跳值。
再次,备份点节时刻侦测仲裁盘中count的值,如果在一段时间内发现count的值不发生变化,便判断活动节点宕机,便会发起竞争获取仲裁盘控制权的流程。
最后,当备份节点成功获得仲裁盘控制权之后便转变为活动节点对外提供服务,而另一个节点则进行错语恢复流程,恢复完后做为备份节点持续监控活动节点count的值。至此,两个节点角色发生互换,即完成一次切换,这样可以持续的对外提供服务而不会中断。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (6)
1.一种基于仲裁盘机制的双机热备方法,应用于双机热备份***中,其特征在于:所述双机热备份***包括多个服务器和一个存储节点,所述存储节点上设置有仲裁区,所述方法包括:
S1:所述***上电启动后,所述服务器竞争获得所述仲裁区的控制权,成功获得所述仲裁区控制权的服务器被设置为活动服务器,其它服务器被设置为备份服务器;
S2:活动服务器定时更新保存于所述仲裁区中的心跳值,备份服务器定时读取所述心跳值;
S3:若在一段时间内,所述备份服务器确定所述心跳值没有变化,则确定所述活动服务器宕机,所述备份服务器竞争获得所述仲裁区的控制权,成为新的活动服务器,返回步骤S2。
2.如权利要求1所述方法,其特征在于:
所述仲裁区中保存有三个数据字段,分别为status字段,node字段和count字段,所述status字段记录所述仲裁区是否具有拥有者,所述node字段记录仲裁区拥有者标识,所述count字段记录所述心跳值,***上电启动时所述三个数据字段为空值,
所述竞争获得仲裁区的控制权具体为:所述服务器读取status字段的值,如果确定所述仲裁区当前没有拥有者,则将该服务器的标识写入node字段,然后再次读取所述node字段的值,检查读取的值是否与自己的标识匹配,如果匹配则将心跳值写入count字段,在写入后再次读取count字段的值,如果该值与该服务器写入的值相等则该服务器竞争获得仲裁区的控制权。
3.如权利要求1所述的方法,其特征在于:
所述步骤S2具体为:所述活动服务器定时将新的心跳值写入仲裁区中的所述count字段中,所述备份服务器定时读取所述count字段记录的心跳值。
4.如权利要求1所述的方法,其特征在于:
所述步骤S3中所述若在一段时间内,所述备份服务器确定所述心跳值没有变化,则确定所述活动服务器宕机具体为:
在某时刻,所述备份服务器访问所述仲裁区读取所述心跳值并记录,间隔一定时间后,再次访问所述仲裁区读取所述心跳值,与所述记录的心跳值比较确定未发生变化,若重复执行上述过程一定次数后均确定所述心跳值未发生变化,则所述备份服务器确定所述活动服务器宕机。
5.如权利要求1至4中任一项所述的方法,其特征在于:
所述存储节点还设置有数据区,所述活动服务器拥有对所述数据区的读写权限,所述备份服务器无权限访问所述数据区。
6.如权利要求1至4任一项所述的方法,其特征在于:
所述服务器通过光纤与所述存储节点连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310560287.9A CN103593266B (zh) | 2013-11-12 | 2013-11-12 | 一种基于仲裁盘机制的双机热备方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310560287.9A CN103593266B (zh) | 2013-11-12 | 2013-11-12 | 一种基于仲裁盘机制的双机热备方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593266A true CN103593266A (zh) | 2014-02-19 |
CN103593266B CN103593266B (zh) | 2016-06-22 |
Family
ID=50083420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310560287.9A Active CN103593266B (zh) | 2013-11-12 | 2013-11-12 | 一种基于仲裁盘机制的双机热备方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593266B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503709A (zh) * | 2015-01-14 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种双控存储阵列的共享磁盘争用仲裁方法及*** |
CN105045533A (zh) * | 2015-07-09 | 2015-11-11 | 上海爱数软件有限公司 | 适用于双控高可用存储***的磁盘心跳收发方法 |
CN105472022A (zh) * | 2015-12-24 | 2016-04-06 | 北京同有飞骥科技股份有限公司 | 一种解决双机集群脑裂的方法及装置 |
CN105607969A (zh) * | 2015-12-18 | 2016-05-25 | 深圳市金蝶友商电子商务服务有限公司 | 一种故障期数据访问恢复***与方法 |
CN105681074A (zh) * | 2015-12-29 | 2016-06-15 | 北京同有飞骥科技股份有限公司 | 一种增强双机集群可靠、可用性的方法及装置 |
CN105933135A (zh) * | 2015-11-16 | 2016-09-07 | ***股份有限公司 | 一种确定执行调度任务的方法及执行调度任务的第一主机 |
CN106686099A (zh) * | 2017-01-03 | 2017-05-17 | 杭州沃趣科技股份有限公司 | 一种基于infiniband网络实现Oracle RAC数据库跨机房双活的方法 |
CN106909307A (zh) * | 2015-12-22 | 2017-06-30 | 华为技术有限公司 | 一种管理双活存储阵列的方法及装置 |
CN107147528A (zh) * | 2017-05-23 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种存储网关智能防脑裂***及方法 |
CN107181834A (zh) * | 2017-06-13 | 2017-09-19 | 聚好看科技股份有限公司 | 一种redis管理虚拟IP地址的方法、装置及redis*** |
CN107255918A (zh) * | 2017-06-19 | 2017-10-17 | 北京航天发射技术研究所 | 一种远程控制计算机热备冗余自动切换控制方法 |
CN108173684A (zh) * | 2017-12-26 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种双活***及其搭建方法 |
WO2018113543A1 (zh) * | 2016-12-20 | 2018-06-28 | 阿里巴巴集团控股有限公司 | 主备数据库的管理方法、***及其设备 |
CN108243031A (zh) * | 2016-12-23 | 2018-07-03 | 大唐移动通信设备有限公司 | 一种双机热备的实现方法及装置 |
CN110442094A (zh) * | 2019-07-26 | 2019-11-12 | 新华三大数据技术有限公司 | 一种分布式***仲裁方法及装置 |
CN110647427A (zh) * | 2019-08-30 | 2020-01-03 | 许昌许继软件技术有限公司 | 一种基于存储共享的主备***及其实现方法 |
CN114844809A (zh) * | 2022-04-18 | 2022-08-02 | 北京凝思软件股份有限公司 | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 |
CN117493082A (zh) * | 2023-12-28 | 2024-02-02 | 苏州元脑智能科技有限公司 | 一种防止数据脑裂的双机热备方法、***、设备、介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079171A1 (en) * | 2005-09-30 | 2007-04-05 | Mehrdad Aidun | No data loss it disaster recovery over extended distances |
CN202004776U (zh) * | 2011-01-07 | 2011-10-05 | 北京捷世伟业电子科技有限公司 | 冗余热切换*** |
CN103309774A (zh) * | 2013-06-24 | 2013-09-18 | 浪潮电子信息产业股份有限公司 | 一种虚拟化集群双层冗余架构搭建方法 |
-
2013
- 2013-11-12 CN CN201310560287.9A patent/CN103593266B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079171A1 (en) * | 2005-09-30 | 2007-04-05 | Mehrdad Aidun | No data loss it disaster recovery over extended distances |
CN202004776U (zh) * | 2011-01-07 | 2011-10-05 | 北京捷世伟业电子科技有限公司 | 冗余热切换*** |
CN103309774A (zh) * | 2013-06-24 | 2013-09-18 | 浪潮电子信息产业股份有限公司 | 一种虚拟化集群双层冗余架构搭建方法 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503709A (zh) * | 2015-01-14 | 2015-04-08 | 浪潮(北京)电子信息产业有限公司 | 一种双控存储阵列的共享磁盘争用仲裁方法及*** |
CN105045533A (zh) * | 2015-07-09 | 2015-11-11 | 上海爱数软件有限公司 | 适用于双控高可用存储***的磁盘心跳收发方法 |
CN105045533B (zh) * | 2015-07-09 | 2019-03-22 | 上海爱数信息技术股份有限公司 | 适用于双控高可用存储***的磁盘心跳收发方法 |
CN105933135A (zh) * | 2015-11-16 | 2016-09-07 | ***股份有限公司 | 一种确定执行调度任务的方法及执行调度任务的第一主机 |
CN105607969A (zh) * | 2015-12-18 | 2016-05-25 | 深圳市金蝶友商电子商务服务有限公司 | 一种故障期数据访问恢复***与方法 |
CN106909307A (zh) * | 2015-12-22 | 2017-06-30 | 华为技术有限公司 | 一种管理双活存储阵列的方法及装置 |
CN106909307B (zh) * | 2015-12-22 | 2020-01-03 | 华为技术有限公司 | 一种管理双活存储阵列的方法及装置 |
CN105472022A (zh) * | 2015-12-24 | 2016-04-06 | 北京同有飞骥科技股份有限公司 | 一种解决双机集群脑裂的方法及装置 |
CN105681074A (zh) * | 2015-12-29 | 2016-06-15 | 北京同有飞骥科技股份有限公司 | 一种增强双机集群可靠、可用性的方法及装置 |
CN105681074B (zh) * | 2015-12-29 | 2018-11-09 | 北京同有飞骥科技股份有限公司 | 一种增强双机集群可靠、可用性的方法及装置 |
US10592361B2 (en) | 2016-12-20 | 2020-03-17 | Alibaba Group Holding Limited | Method, system and apparatus for managing primary and secondary databases |
WO2018113543A1 (zh) * | 2016-12-20 | 2018-06-28 | 阿里巴巴集团控股有限公司 | 主备数据库的管理方法、***及其设备 |
CN108243031B (zh) * | 2016-12-23 | 2021-05-25 | 大唐移动通信设备有限公司 | 一种双机热备的实现方法及装置 |
CN108243031A (zh) * | 2016-12-23 | 2018-07-03 | 大唐移动通信设备有限公司 | 一种双机热备的实现方法及装置 |
CN106686099A (zh) * | 2017-01-03 | 2017-05-17 | 杭州沃趣科技股份有限公司 | 一种基于infiniband网络实现Oracle RAC数据库跨机房双活的方法 |
CN107147528A (zh) * | 2017-05-23 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种存储网关智能防脑裂***及方法 |
CN107181834A (zh) * | 2017-06-13 | 2017-09-19 | 聚好看科技股份有限公司 | 一种redis管理虚拟IP地址的方法、装置及redis*** |
CN107181834B (zh) * | 2017-06-13 | 2021-02-12 | 聚好看科技股份有限公司 | 一种redis管理虚拟IP地址的方法、装置及redis*** |
CN107255918A (zh) * | 2017-06-19 | 2017-10-17 | 北京航天发射技术研究所 | 一种远程控制计算机热备冗余自动切换控制方法 |
CN108173684A (zh) * | 2017-12-26 | 2018-06-15 | 郑州云海信息技术有限公司 | 一种双活***及其搭建方法 |
CN110442094A (zh) * | 2019-07-26 | 2019-11-12 | 新华三大数据技术有限公司 | 一种分布式***仲裁方法及装置 |
CN110647427A (zh) * | 2019-08-30 | 2020-01-03 | 许昌许继软件技术有限公司 | 一种基于存储共享的主备***及其实现方法 |
CN114844809A (zh) * | 2022-04-18 | 2022-08-02 | 北京凝思软件股份有限公司 | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 |
CN114844809B (zh) * | 2022-04-18 | 2024-05-07 | 北京凝思软件股份有限公司 | 基于网络心跳和内核磁盘心跳的多因子仲裁方法、装置 |
CN117493082A (zh) * | 2023-12-28 | 2024-02-02 | 苏州元脑智能科技有限公司 | 一种防止数据脑裂的双机热备方法、***、设备、介质 |
CN117493082B (zh) * | 2023-12-28 | 2024-03-15 | 苏州元脑智能科技有限公司 | 一种防止数据脑裂的双机热备方法、***、设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103593266B (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103593266A (zh) | 一种基于仲裁盘机制的双机热备方法 | |
US11086555B1 (en) | Synchronously replicating datasets | |
US11507480B2 (en) | Locality based quorums | |
US9984140B1 (en) | Lease based leader election system | |
US8301600B1 (en) | Failover recovery in a distributed data store | |
TWI307851B (en) | Method, system, and program for handling a failover to a remote storage location | |
US9514208B2 (en) | Method and system of stateless data replication in a distributed database system | |
US9524218B1 (en) | Leverage fast VP extent-level statistics within CDP environments | |
JP4791051B2 (ja) | 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム | |
CN103827843B (zh) | 一种写数据方法、装置和*** | |
CN107148617B (zh) | 日志协调存储组的自动配置 | |
US8984332B2 (en) | Active/passive database management across clusters | |
US7761431B2 (en) | Consolidating session information for a cluster of sessions in a coupled session environment | |
US20100023564A1 (en) | Synchronous replication for fault tolerance | |
CN101578586A (zh) | 在故障转移和故障回复环境中使用虚拟拷贝 | |
US10235145B1 (en) | Distributed scale-out replication | |
US10367676B1 (en) | Stable leader selection for distributed services | |
US20160110438A1 (en) | Data cube high availability | |
CN106331166A (zh) | 一种存储资源的访问方法及装置 | |
WO2017122060A1 (en) | Parallel recovery for shared-disk databases | |
CN105302489A (zh) | 一种异构多核远程嵌入式存储器***与方法 | |
US10635552B1 (en) | Method for tracking validity of journal copies to allow journal mirroring | |
US10409629B1 (en) | Automated host data protection configuration | |
Pankowski | Consistency and availability of Data in replicated NoSQL databases | |
US9852221B1 (en) | Distributed state manager jury selection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |