CN114461428A - 一种用于双机集群脑裂的仲裁方法 - Google Patents

一种用于双机集群脑裂的仲裁方法 Download PDF

Info

Publication number
CN114461428A
CN114461428A CN202111641428.0A CN202111641428A CN114461428A CN 114461428 A CN114461428 A CN 114461428A CN 202111641428 A CN202111641428 A CN 202111641428A CN 114461428 A CN114461428 A CN 114461428A
Authority
CN
China
Prior art keywords
node
fault
cluster
dual
computer 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.)
Pending
Application number
CN202111641428.0A
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.)
Guoneng Langxinming Nanjing Environmental Protection Technology Co ltd
Original Assignee
Guoneng Langxinming Nanjing Environmental Protection 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 Guoneng Langxinming Nanjing Environmental Protection Technology Co ltd filed Critical Guoneng Langxinming Nanjing Environmental Protection Technology Co ltd
Priority to CN202111641428.0A priority Critical patent/CN114461428A/zh
Publication of CN114461428A publication Critical patent/CN114461428A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开一种用于双机集群脑裂的仲裁方法,在双机集群正常运行时,参考主机定时向集群中的主节点和备节点发送命令,以探测两个节点活跃度;当主备节点间的心跳线断开时,系统发生了故障,此时心跳线的断开,同时参考主机持续主动发送命令;由于故障,参考主机通过发送命令探测到出现故障的节点,并通知所有客户端主机;并将所有客户端主机的连接及数据请求转发到无故障节点;完成上述切换后,参考主机给出相关故障节点的相关提示信息,并仍然按规范定时向两个节点发送命令;重启故障节点,整个集群系统正常工作。本发明针对双机集群的脑裂问题,提高仲裁过程的速度,尽量缩短上述缺陷导致的较长时间的服务中断,从而较快解决脑裂问题。

Description

一种用于双机集群脑裂的仲裁方法
技术领域
本发明属于数据处理技术领域,特别是涉及一种用于双机集群脑裂的仲裁方法。
背景技术
高可用集群(High Availability Cluster,简称HA Cluster)是一组计算机,它们作为一个整体向用户提供网络资源,可以认为是由多个节点计算机最成的可以像单机系统一般操作的一个主机群。双机集群,即只有两个节点的高可用集群,是一种常见且简单的集群实施方式,即使用两台服务器采用主备模式:主节点提供服务而备用节点待命,主备节点间采用热备份。当主节点出现故障时,可由备用节点提供服务,从而在不需要人工干预的情况下,自动保证系统服务不中断。
所谓脑裂(split brain),是基于以下的情况。在双机集群系统中,当联系两个节点的心跳线断开时,本来为一个整体、动作协调的HA系统,就分裂成为两个独立的节点。由于相互失去了联系,两个节点都以为是对方出了故障,自己应当获得集群的管理权并持续对外提供服务。两个节点上的HA软件像“裂脑人”一样,发生对“共享资源”和“应用服务”的争抢,从而引发严重后果:或者共享资源被瓜分、两边都无法提供服务;或者两边两边同时提供服务,在同时读写“共享存储”区域时导致数据损坏(常见如数据库轮询着的联机日志出错)。
设立仲裁机制是解决高可用集群系统脑裂的方法之一,即当两个节点出现分歧时,由第三方的仲裁者决定听谁的。例如设置参考IP(如网关IP)作为仲裁者,当心跳线完全断开时,两个节点都各自ping一下参考IP,不通则表明断点就出在本端。不仅“心跳”、还兼对外“服务”的本端网络链路断了,即使启动(或继续)应用服务也没有用了,那就主动放弃竞争,让能够ping通参考IP的一端去开启服务。更保险一些,ping不通参考IP的一方干脆就自我重启,以彻底释放有可能还占用着的那些共享资源。这种仲裁机制逻辑清晰,但在应用中存在一些缺陷:从心跳线断开的事实确认,到两个节点各自ping参考IP,再到启动ping通参考IP的节点去启动服务,这一段时间中,双机集群并没有做到高可用性,也就是说可能出现服务中断。所以,有必要。
发明内容
为了解决上述问题,本发明提出了一种用于双机集群脑裂的仲裁方法,针对双机集群的脑裂问题,提高仲裁过程的速度,尽量缩短上述缺陷导致的较长时间的服务中断,从而较快解决脑裂问题。
为达到上述目的,本发明采用的技术方案是:一种用于双机集群脑裂的仲裁方法,包括步骤:
S10,在双机集群正常运行时,参考主机定时向集群中的主节点和备节点发送命令,以探测两个节点活跃度;
S20,当主备节点间的心跳线断开时,系统发生了主节点故障或者备节点故障或者通信故障,此时心跳线的断开;同时参考主机持续主动发送命令;
S30,由于节点故障或者通信故障,参考主机通过发送命令探测到出现故障的节点,并通知所有客户端主机;并将所有客户端主机的连接及数据请求转发到无故障节点;
S40,完成上述切换后,参考主机给出相关故障节点的相关提示信息,并仍然按规范定时向两个节点发送命令;重启故障节点,整个集群系统正常工作。
进一步的是,在双机集群正常运行时,参考主机定时向集群中的主节点和备节点发送ping命令,以探测两个节点是否活跃。
进一步的是,当主备节点间的心跳线断开时,系统发生了主节点故障或者备节点故障或者通信故障,此时心跳线的断开;此时,参考主机仍然定时向集群中的主节点和备节点发送ping命令。
进一步的是,节点故障或者通信故障时,参考主机通过ping命令探测到出现故障的节点,并立即在局域网中发送ARP地址解析协议数据包,通知所有客户端主机。
进一步的是,在故障节点判断时,将当前集群服务器对外服务的虚拟IP地址对应为无故障节点的MAC地址,即设置该节点为集群主节点;随后,所有的客户端主机的连接及数据请求被转发到该无故障节点。
进一步的是,完成切换后,参考主机给出相关故障节点的相关提示信息,并仍然按规范定时向两个节点发送ping命令。
进一步的是,如果故障节点被重启后恢复正常运行,其被认定为备节点,主备节点间恢复热备份,整个集群系统正常工作。
进一步的是,所述客户端通过局域网与双机集群的主节点和备节点共同进行信息交互。
进一步的是,在所述双机集群的主节点和备节点间通过心跳线连接,所述心跳线和参考主机的连接相互独立。
进一步的是,所述参考主机并行分别连接至双机集群的主节点和备节点,并向双机集群的主节点和备节点持续定时发送ping命令。
采用本技术方案的有益效果:
本发明提出的一种用于双机集群脑裂的仲裁方法,加了额外的一台主机作为参考主机,利用参考主机向各个节点发送ping命令,当主备节点间的心跳线断开时,系统发生了主节点故障或者备节点故障或者通信故障,此时心跳线的断开;同时参考主机持续主动发送命令;由于节点故障或者通信故障,参考主机通过发送命令探测到出现故障的节点,并通知所有客户端主机;并将所有客户端主机的连接及数据请求转发到无故障节点;完成上述切换后,参考主机给出相关故障节点的相关提示信息,并仍然按规范定时向两个节点发送命令;重启故障节点,调整后是整个集群系统正常工作。本发明针对双机集群系统的脑裂问题,相对于常规的实现方式,本发明可以较快地对双机集群的脑裂问题进行仲裁,以确定故障节点。本发明节约了常规方法中的仲裁时间,减少主备节点间的切换时间,最大程度上减少了服务中断的可能。
附图说明
图1为本发明的一种用于双机集群脑裂的仲裁方法流程示意图;
图2为本发明实施例中基于参考主机的双机集群系统结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步阐述。
在本实施例中,如图2所示,所述客户端通过局域网与双机集群的主节点和备节点共同进行信息交互。在所述双机集群的主节点和备节点间通过心跳线连接,所述心跳线和参考主机的连接相互独立。所述参考主机并行分别连接至双机集群的主节点和备节点,并向双机集群的主节点和备节点持续定时发送ping命令。
参见图1所示,本发明提出了一种用于双机集群脑裂的仲裁方法,包括步骤:
S10,在双机集群正常运行时,参考主机定时向集群中的主节点和备节点发送命令,以探测两个节点活跃度;
S20,当主备节点间的心跳线断开时,系统发生了主节点故障或者备节点故障或者通信故障,此时心跳线的断开;同时参考主机持续主动发送命令;
S30,由于节点故障或者通信故障,参考主机通过发送命令探测到出现故障的节点,并通知所有客户端主机;并将所有客户端主机的连接及数据请求转发到无故障节点;
S40,完成上述切换后,参考主机给出相关故障节点的相关提示信息,并仍然按规范定时向两个节点发送命令;重启故障节点,整个集群系统正常工作。
作为上述实施例的优化方案,一种用于双机集群脑裂的仲裁方法,包括步骤:
S10,在双机集群正常运行时,参考主机定时向集群中的主节点和备节点发送ping命令,以探测两个节点是否活跃。
S20,当主备节点间的心跳线断开时,系统发生了主节点故障或者备节点故障或者通信故障,此时心跳线的断开;此时,参考主机仍然定时向集群中的主节点和备节点发送ping命令。
S30,节点故障或者通信故障时,参考主机通过ping命令探测到出现故障的节点,并立即在局域网中发送ARP地址解析协议数据包,通知所有客户端主机。在故障节点判断时,将当前集群服务器对外服务的虚拟IP地址对应为无故障节点的MAC地址,即设置该节点为集群主节点;随后,所有的客户端主机的连接及数据请求被转发到该无故障节点。
S40,完成切换后,参考主机给出相关故障节点的相关提示信息,并仍然按规范定时向两个节点发送ping命令。如果故障节点被重启后恢复正常运行,其被认定为备节点,主备节点间恢复热备份,整个集群系统正常工作。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (10)

1.一种用于双机集群脑裂的仲裁方法,其特征在于,包括步骤:
S10,在双机集群正常运行时,参考主机定时向集群中的主节点和备节点发送命令,以探测两个节点活跃度;
S20,当主备节点间的心跳线断开时,系统发生了主节点故障或者备节点故障或者通信故障,此时心跳线的断开;同时参考主机持续主动发送命令;
S30,由于节点故障或者通信故障,参考主机通过发送命令探测到出现故障的节点,并通知所有客户端主机;并将所有客户端主机的连接及数据请求转发到无故障节点;
S40,完成上述切换后,参考主机给出相关故障节点的相关提示信息,并仍然按规范定时向两个节点发送命令;重启故障节点,整个集群系统正常工作。
2.根据权利要求1所述的一种用于双机集群脑裂的仲裁方法,其特征在于,在双机集群正常运行时,参考主机定时向集群中的主节点和备节点发送ping命令,以探测两个节点是否活跃。
3.根据权利要求2所述的一种用于双机集群脑裂的仲裁方法,其特征在于,当主备节点间的心跳线断开时,系统发生了主节点故障或者备节点故障或者通信故障,此时心跳线的断开;此时,参考主机仍然定时向集群中的主节点和备节点发送ping命令。
4.根据权利要求3所述的一种用于双机集群脑裂的仲裁方法,其特征在于,节点故障或者通信故障时,参考主机通过ping命令探测到出现故障的节点,并立即在局域网中发送ARP地址解析协议数据包,通知所有客户端主机。
5.根据权利要求4所述的一种用于双机集群脑裂的仲裁方法,其特征在于,在故障节点判断时,将当前集群服务器对外服务的虚拟IP地址对应为无故障节点的MAC地址,即设置该节点为集群主节点;随后,所有的客户端主机的连接及数据请求被转发到该无故障节点。
6.根据权利要求5所述的一种用于双机集群脑裂的仲裁方法,其特征在于,完成切换后,参考主机给出相关故障节点的相关提示信息,并仍然按规范定时向两个节点发送ping命令。
7.根据权利要求6所述的一种用于双机集群脑裂的仲裁方法,其特征在于,如果故障节点被重启后恢复正常运行,其被认定为备节点,主备节点间恢复热备份,整个集群系统正常工作。
8.根据权利要求1-7任一所述的一种用于双机集群脑裂的仲裁方法,其特征在于,所述客户端通过局域网与双机集群的主节点和备节点共同进行信息交互。
9.根据权利要求1-7任一所述的一种用于双机集群脑裂的仲裁方法,其特征在于,在所述双机集群的主节点和备节点间通过心跳线连接,所述心跳线和参考主机的连接相互独立。
10.根据权利要求1-7任一所述的一种用于双机集群脑裂的仲裁方法,其特征在于,所述参考主机并行分别连接至双机集群的主节点和备节点,并向双机集群的主节点和备节点持续定时发送PING命令。
CN202111641428.0A 2021-12-29 2021-12-29 一种用于双机集群脑裂的仲裁方法 Pending CN114461428A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111641428.0A CN114461428A (zh) 2021-12-29 2021-12-29 一种用于双机集群脑裂的仲裁方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111641428.0A CN114461428A (zh) 2021-12-29 2021-12-29 一种用于双机集群脑裂的仲裁方法

Publications (1)

Publication Number Publication Date
CN114461428A true CN114461428A (zh) 2022-05-10

Family

ID=81408038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111641428.0A Pending CN114461428A (zh) 2021-12-29 2021-12-29 一种用于双机集群脑裂的仲裁方法

Country Status (1)

Country Link
CN (1) CN114461428A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116094940A (zh) * 2023-02-15 2023-05-09 北京志凌海纳科技有限公司 一种vrrp脑裂抑制方法、系统、设备及存储介质
CN116781494A (zh) * 2023-08-17 2023-09-19 天津南大通用数据技术股份有限公司 一种基于现有网络设备的主备倒换判决方法
WO2023240995A1 (zh) * 2022-06-15 2023-12-21 苏州元脑智能科技有限公司 一种双机热备系统的数据恢复方法、装置及介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023240995A1 (zh) * 2022-06-15 2023-12-21 苏州元脑智能科技有限公司 一种双机热备系统的数据恢复方法、装置及介质
CN116094940A (zh) * 2023-02-15 2023-05-09 北京志凌海纳科技有限公司 一种vrrp脑裂抑制方法、系统、设备及存储介质
CN116094940B (zh) * 2023-02-15 2023-07-25 北京志凌海纳科技有限公司 一种vrrp脑裂抑制方法、系统、设备及存储介质
CN116781494A (zh) * 2023-08-17 2023-09-19 天津南大通用数据技术股份有限公司 一种基于现有网络设备的主备倒换判决方法
CN116781494B (zh) * 2023-08-17 2024-03-26 天津南大通用数据技术股份有限公司 一种基于现有网络设备的主备倒换判决方法

Similar Documents

Publication Publication Date Title
CN114461428A (zh) 一种用于双机集群脑裂的仲裁方法
US20220334935A1 (en) Hot standby method, apparatus, and system
US7711820B2 (en) High availability for intelligent applications in storage networks
WO2016070375A1 (zh) 一种分布式存储复制系统和方法
CN106330475B (zh) 一种通信系统中管理主备节点的方法和装置及高可用集群
CN106850255B (zh) 一种多机备份的实现方法
JP2019219954A (ja) クラスタストレージシステム、データ管理制御方法、データ管理制御プログラム
CN107404394B (zh) 一种iptv系统容灾方法及iptv容灾系统
CN103019889A (zh) 分布式文件系统及其故障处理方法
CN102394914A (zh) 集群脑裂处理方法和装置
CN109245926B (zh) 智能网卡、智能网卡系统及控制方法
CN109496401B (zh) 一种业务接管方法、存储设备和业务接管装置
CN112118130B (zh) 自适应的分布式缓存主备状态信息切换方法及装置
CN110677282B (zh) 一种分布式系统的热备份方法及分布式系统
WO2016180005A1 (zh) 处理虚拟机集群的方法和计算机系统
CN104506372A (zh) 一种实现主备服务器切换的方法及系统
CN107357800A (zh) 一种数据库高可用零丢失解决方法
CN112887367B (zh) 实现分布式集群高可用的方法、系统及计算机可读介质
CN101686261A (zh) 一种基于rac的冗余服务器系统
JP5285044B2 (ja) クラスタシステム復旧方法及びサーバ及びプログラム
US20030145050A1 (en) Node self-start in a decentralized cluster
CN112787918B (zh) 一种基于服务路由树的数据中心寻址与主备切换方法
US11385976B1 (en) Systems and methods for split-brain detection and mitigation
CN111752758B (zh) 一种双主架构的InfluxDB高可用系统
CN110716827A (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