CN104158707B - 一种检测并处理集群脑裂的方法和装置 - Google Patents

一种检测并处理集群脑裂的方法和装置 Download PDF

Info

Publication number
CN104158707B
CN104158707B CN201410437523.2A CN201410437523A CN104158707B CN 104158707 B CN104158707 B CN 104158707B CN 201410437523 A CN201410437523 A CN 201410437523A CN 104158707 B CN104158707 B CN 104158707B
Authority
CN
China
Prior art keywords
detection messages
node
arp detection
arp
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.)
Active
Application number
CN201410437523.2A
Other languages
English (en)
Other versions
CN104158707A (zh
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.)
New H3C Technologies Co Ltd
Original Assignee
New H3C 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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201410437523.2A priority Critical patent/CN104158707B/zh
Publication of CN104158707A publication Critical patent/CN104158707A/zh
Application granted granted Critical
Publication of CN104158707B publication Critical patent/CN104158707B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种检测并处理集群脑裂的方法,所述集群包括第一节点和第二节点,该方法还包括:所述第一节点发送自身生成的第一ARP检测报文给所述第二节点,并接收来自所述第二节点的第二ARP检测报文;所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂;并在判断发生脑裂时,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或正常运行。本发明还公开了一种检测并处理集群脑裂的装置。

Description

一种检测并处理集群脑裂的方法和装置
技术领域
本发明涉及集群虚拟化技术,尤其涉及一种检测并处理集群脑裂的方法和装置。
背景技术
随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度也越来越高。在这一背景下,整合数据中心、降低数据中心的管理成本、充分挖掘现有资源能力以适应更高的业务需求,成为企业数据中心的重要任务。其中,对数据中心资源进行虚拟化,成为目前数据中心整合的重要趋势。
数据中心的虚拟化技术主要包括三方面内容:网络虚拟化、存储虚拟化和服务器虚拟化,其中最主要的是服务器虚拟化。如图1所示,通过专用的虚拟化软件(如VMware)管理,在一个服务器主机上能虚拟出多个虚拟机(VM),每个VM独立运行,互不影响,都有自己的操作系统、应用程序和虚拟的硬件环境,包括虚拟中央处理器(Central ProcessingUnit,CPU)、内存、存储设备、输入输出(Input Output,IO)设备、虚拟交换机等。
集群,由两个或两个以上计算机组成,它们作为一个整体向用户提供一组资源,每一个计算机系统都称为集群节点(node)。随着业务的增长,集群通过添加新的节点,满足资源的高可扩展性。由于计算机硬件和软件易错性不可避免,这样在节点上的服务会不可避免的中断,高可用(High Availability,HA)集群的出现是为保证即使节点失效,而服务能不中断,其原理是:在集群中采用主备模式,主节点提供服务,备节点等待,一旦主节点失效,备节点无需人工无缝取代主节点提供服务,这样就保证了服务的不中断。HA集群软件的主要作用就是实现故障检测和业务切换的自动化,以提供不中断的服务。
在数据中心虚拟化环境中,为了降低管理的复杂度,实现故障检测和业务切换的自动化,以提供不中断的服务,可以把两个或两个以上服务器形成一个HA集群,通过集群,操作员可以像管理单个实体一样轻松地管理多个主机和虚拟机,同时,HA集群可实现定时对集群内的各个节点(包括主机和虚拟机)的状态进行监测,以保证数据中心业务的连续性。当某节点主机出现故障时,运行于这台主机上的所有虚拟机都可以在集群中的其它主机上重新启动,减少业务中断时间,保证业务的连续性。
HA集群的资源管理器层包含集群资源管理器(Cluster Resource Manager,CRM)、集群信息基库(Cluster Information Base,CIB)、策略引擎(Policy Engine,PE)、实施引擎(Transition Engine,TE)和本地资源管理(Local Resource Manager,LRM);其中,CRM为HA集群的核心组件,实现资源的分配和管理。HA集群中,主节点上的CRM被选举为指定协调员(Designated Coordinator,DC),即主节点上的CRM成为该HA集群的管理者,它的工作是决策和管理集群中的所有资源。
在HA集群中,节点之间通过心跳信息传递自身的在线信息,节点之间传递心跳信息可以通过广播、组播、单播等方式。通过此种方式,DC可以检测出节点故障。当HA集群中某节点发生故障时,DC负责将故障节点的消息分发到集群中正常状态的节点,并根据HA集群的调度处理策略,选择一个合适的节点,并在该节点上重新启动故障节点上的虚拟机,以保证虚拟机业务的连续性;同时,每个节点通过本地资源守护进程(LRMd)检测本节点上虚拟机的状态,当检测到虚拟机出现故障(由于内存不足或存储无法连通而启动失败等等)时,该节点先将事件通知给DC,由DC统一将该节点的状态告知集群内其它节点,根据HA集群的调度处理策略,DC为该故障的虚拟机选择合适的主机重新启动。
然而在实施过程中,如果节点间心跳信息的传递出现故障,但节点还在正常运行,那么每个节点都认为其他节点不在线,自己是整个集群中唯一在线的节点,自己应该获得整个集群的管理权、成为DC,该情形被称为脑裂(split brain)。通常解决该问题的方法是使用投票算法,每个节点通过自身的CCM(Cluster Consensus Membership Service)组件发出一个通报,节点每收到一个通报即获得一票,获得票数多的节点获得集群的管理权、成为DC。但是当HA集群中只有两个节点时,那么每个节点均有一票,无法比较;对于这种情况,现有的解决方法是引入第三方设备,但是第三方设备存在潜在的不可靠因素。
在数据中心虚拟化环境中,对于上述HA集群中只有两个节点且发生脑裂的情形,根据HA集群的保护机制,系统会尝试在集群中的两个节点上分别启动同一个虚拟机,如此,同一个虚拟机的两个副本同时运行,会导致虚拟机业务的不正常,另外,两个虚拟机读写同一个镜像文件可能导致虚拟机镜像文件损坏。
发明内容
为解决现有存在的技术问题,本发明提供一种检测并处理集群脑裂的方法和装置。
基于本发明实施例,本发明提供了一种检测并处理集群脑裂的方法,所述集群包括第一节点和第二节点,该方法包括:
所述第一节点发送自身生成的第一地址解析协议ARP检测报文给所述第二节点,并接收来自所述第二节点的第二ARP检测报文;
所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂;
在判断发生脑裂时,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或正常运行。
进一步地,所述第一节点通过和所述第二节点间的直连链路传输ARP检测报文,或者,通过和所述第二节点间的二层交换机透传ARP检测报文。
进一步地,所述ARP检测报文的检测域包括集群标识和指定协调员DC标识。
进一步地,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群为:
所述第一节点将所述第一ARP检测报文和所述第二ARP检测报文的检测域中的集群标识进行比较,两者相同时,确定所述第一节点和第二节点同属一个集群。
进一步地,所述判断是否发生脑裂为:
所述第一节将所述第一ARP检测报文和所述第二ARP检测报文的DC标识进行比较,两者不同时,确定发生脑裂。
进一步地,在判断发生脑裂时,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或正常运行,包括:
所述第一节点比较所述第一ARP检测报文和第二ARP检测报文的DC标识,当所述第一ARP检测报文的DC标识不满足预设的DC选举条件时,所述第一节点执行关闭操作;当所述第一ARP检测报文的DC标识满足预设的DC选举条件时,所述第一节点正常运行。
基于本发明实施例,本发明还提供一种检测并处理集群脑裂的装置,所述集群包括第一节点和第二节点,该装置应用于所述第一节点,所述装置包括:
第一报文生成模块,用于生成第一ARP检测报文;
第一传输模块,用于发送所述第一ARP检测报文给所述第二节点、或接收来自所述第二节点的第二ARP检测报文;
第一检测模块,用于根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂;
第一处理模块,用于在所述第一检测模块判断发生脑裂时,根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或者正常运行。
进一步地,所述第一传输模块,还用于通过和所述第二节点间的直连链路传输ARP检测报文、或者通过和所述第二节点间的二层交换机透传ARP检测报文。
进一步地,所述ARP检测报文的检测域包括集群标识和DC标识。
进一步地,所述第一检测模块,还用于将所述第一ARP检测报文和所述第二ARP检测报文的集群标识进行比较,两者相同时,确定所述第一节点和第二节点同属一个集群。
进一步地,所述第一检测模块,还用于将所述第一ARP检测报文和所述第二ARP检测报文的DC标识进行比较,两者不同时,确定发生脑裂。
进一步地,所述第一处理模块还用于,在所述第一检测模块确定发生脑裂时,比较所述第一ARP检测报文和第二ARP检测报文的DC标识,当所述第一ARP检测报文的DC标识不满足预设的DC选举条件时,所述第一节点执行关闭操作;当所述第一ARP检测报文的DC标识满足预设的DC选举条件时,所述第一节点正常运行。
本发明实施例提供的检测并处理集群脑裂的方法和装置中,第一节点和第二节点分别生成ARP检测报文并发送给对方;所述第一节点或第二节点根据接收到的ARP检测报文的检测域确定接收到的ARP检测报文来自同一个集群时,根据所述检测域判断是否发生脑裂;如果发生脑裂,则所述第一节点或第二节点执行关闭操作或者正常运行。该方案中,无需借助任何第三方设备,当集群脑裂发生时,两个节点自动检测并关闭一个节点,避免两个虚拟机副本同时运行而导致的业务不正常和虚拟机镜像损坏问题。
附图说明
图1为服务器虚拟化示意图;
图2为本发明实施例检测并处理集群脑裂的方法流程一;
图3为本发明实施例检测并处理集群脑裂的方法流程二;
图4为本发明实施例提供的集群组网示意图;
图5为本发明实施例检测并处理集群脑裂的装置结构示意图一;
图6为本发明实施例检测并处理集群脑裂的装置结构示意图二;
图7为本发明实施例提供的ARP检测报文结构示意图;
图8为本发明实施例检测并处理集群脑裂的系统结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
在数据中心虚拟化环境中,对于HA集群中只有两个节点且发生脑裂的情形,为了防止同一虚拟机在两个节点上同时启动造成的虚拟机业务不正常和虚拟机镜像文件损坏的现象发生,如图2、图3所示,本发明实施例提供了检测并处理集群脑裂的方法。
图2所示的检测并处理集群脑裂的方法流程应用于所述第一节点,该方法包括:
步骤201,所述第一节点发送自身生成的第一ARP检测报文给所述第二节点,并接收来自所述第二节点的第二ARP检测报文。
该实施例提供的检测方法基于ARP检测报文的检测域,该检测域包括集群标识和DC标识。集群标识和DC标识均可用指定的字段来表示,例如,集群标识用ClusterID字段表示、DC标识用DC字段表示。
其中,集群标识为节点所属集群的唯一标识,由节点加入HA集群时获取;DC标识为节点的唯一标识,可以是节点的IP地址,也可以节点唯一的设备标识等。
该实施例所适用的组网如图4所示,第一节点通过和所述第二节点间的直连链路传输ARP检测报文,或者通过和所述第二节点间的二层交换机透传ARP检测报文。
步骤202,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂。
该步骤的实现如下:
第一节点接收到第二ARP检测报文后,读取第二ARP检测报文的检测域,将其中的集群标识与第一ARP检测报文中的集群标识进行比较,两者相同时,确定所述第一节点和第二节点同属一个集群,进而判断是否发生脑裂;两者不同时,说明第一节点和第二节点不属于同一个集群,此时,第一节点将接收到的第二ARP检测报文丢弃,流程结束。
判断是否发生脑裂时:第一节将所述第一ARP检测报文和所述第二ARP检测报文的DC标识进行比较,两者不同时,确定发生脑裂,执行后续步骤203;如果两者相同,则没有发生脑裂,该流程结束。
步骤203,在判断发生脑裂时,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或正常运行。
发生脑裂时,所述第一节点比较所述第一ARP检测报文和第二ARP检测报文的DC标识,当所述第一ARP检测报文的DC标识不满足预设的DC选举条件时,所述第一节点执行关闭操作;当所述第一ARP检测报文的DC标识满足预设的DC选举条件时,所述第一节点正常运行,第一节点成为该HA集群的DC,虚拟机在其上运行,对外提供集群业务。
以DC标识为节点的IP地址为例,假设DC选举条件为:选举IP地址较大的节点为HA集群的DC,那么经过比较,当第一ARP检测报文的DC标识大于第二ARP检测报文的DC标识时,第一ARP检测报文的DC标识满足预设的DC选举条件,此时确定第一节点为该HA集群的DC,第一节点正常运行,虚拟机在其上运行,对外提供集群业务;当第一ARP检测报文的DC标识小于第二ARP检测报文的DC标识时,第一ARP检测报文的DC标识不满足预设的DC选举条件,此时第一节点执行关闭操作。
仍以DC标识为节点的IP地址为例,假设DC选举条件为:选举IP地址较小的节点为HA集群的DC,那么经过比较,当第一ARP检测报文的DC标识大于第二ARP检测报文的DC标识时,第一ARP检测报文的DC标识不满足预设的DC选举条件,此时第一节点执行关闭操作;当第一ARP检测报文的DC标识小于第二ARP检测报文的DC标识时,第一ARP检测报文的DC标识满足预设的DC选举条件,此时确定第一节点为该HA集群的DC,第一节点正常运行,虚拟机在其上运行,对外提供集群业务。
再以DC标识为节点的设备标识为例,假设DC选举条件为:选举设备标识的量化值较大的节点为HA集群的DC,那么经过比较,当第一ARP检测报文的DC标识大于第二ARP检测报文的DC标识时,第一ARP检测报文的DC标识满足预设的DC选举条件,此时确定第一节点为该HA集群的DC,第一节点正常运行,虚拟机在其上运行,对外提供集群业务;当第一ARP检测报文的DC标识小于第二ARP检测报文的DC标识时,第一ARP检测报文的DC标识不满足预设的DC选举条件,此时第一节点执行关闭操作。
仍以DC标识为节点的设备标识为例,假设DC选举条件为:选举设备标识的量化标识较小的节点为HA集群的DC,那么经过比较,当第一ARP检测报文的DC标识大于第二ARP检测报文的DC标识时,第一ARP检测报文的DC标识不满足预设的DC选举条件,此时第一节点执行关闭操作;当第一ARP检测报文的DC标识小于第二ARP检测报文的DC标识时,第一ARP检测报文的DC标识满足预设的DC选举条件,此时确定第一节点为该HA集群的DC,第一节点正常运行,虚拟机在其上运行,对外提供集群业务。
图3所示的检测并处理集群脑裂的方法流程应用于所述第二节点,该方法包括:
步骤301,所述第二节点发送自身生成的第二ARP检测报文给所述第一节点,并接收来自所述第一节点的第一ARP检测报文。
该实施例提供的检测方法基于ARP检测报文的检测域,该检测域包括集群标识和DC标识。集群标识和DC标识均可用指定的字段来表示,例如,集群标识用ClusterID字段表示,DC标识用DC字段表示。
其中,集群标识为节点所属集群的唯一标识,由节点加入HA集群时获取;DC标识为节点的唯一标识,可以是节点的IP地址,也可以节点唯一的设备标识等。
该实施例所适用的组网如图4所示,第二节点通过和所述第一节点间的直连链路传输ARP检测报文,或者通过和所述第一节点间的二层交换机透传ARP检测报文。
步骤302,所述第二节点根据所述第二ARP检测报文和所述第一ARP检测报文的检测域确定所述第二节点和第一节点同属一个集群时,判断是否发生脑裂。
该步骤的实现如下:
第二节点接收到第一ARP检测报文后,读取第一ARP检测报文的检测域,将其中的集群标识与第二ARP检测报文中的集群标识进行比较,两者相同时,确定所述第二节点和第一节点同属一个集群,进而判断是否发生脑裂;两者不同时,说明第二节点和第一节点不属于同一个集群,此时,第二节点将接收到的第一ARP检测报文丢弃,流程结束。
判断是否发生脑裂时:第二节将所述第二ARP检测报文和所述第一ARP检测报文的DC标识进行比较,两者不同时,确定发生脑裂,执行后续步骤303;如果两者相同,则没有发生脑裂,该流程结束。
步骤303,在判断发生脑裂时,所述第二节点根据所述第二ARP检测报文和所述第一ARP检测报文的检测域,执行关闭操作或正常运行。
发生脑裂时,所述第二节点比较所述第二ARP检测报文和第一ARP检测报文的DC标识,当所述第二ARP检测报文的DC标识不满足预设的DC选举条件时,所述第二节点执行关闭操作;当所述第二ARP检测报文的DC标识不满足预设的DC选举条件时,所述第二节点正常运行,第二节点成为该HA集群的DC,虚拟机在其上运行,对外提供集群业务。
以DC标识为节点的IP地址为例,假设DC选举条件为:选举IP地址较大的节点为HA集群的DC,那么经过比较,当第二ARP检测报文的DC标识大于第一ARP检测报文的DC标识时,第二ARP检测报文的DC标识满足预设的DC选举条件,此时确定第二节点为该HA集群的DC,第二节点正常运行,虚拟机在其上运行,对外提供集群业务;当第二ARP检测报文的DC标识小于第一ARP检测报文的DC标识时,第二ARP检测报文的DC标识不满足预设的DC选举条件,此时第二节点执行关闭操作。
仍以DC标识为节点的IP地址为例,假设DC选举条件为:选举IP地址较小的节点为HA集群的DC,那么经过比较,当第二ARP检测报文的DC标识大于第一ARP检测报文的DC标识时,第二ARP检测报文的DC标识不满足预设的DC选举条件,此时第二节点执行关闭操作;当第二ARP检测报文的DC标识小于第一ARP检测报文的DC标识时,第二ARP检测报文的DC标识满足预设的DC选举条件,此时确定第二节点为该HA集群的DC,第二节点正常运行,虚拟机在其上运行,对外提供集群业务。
再以DC标识为节点的设备标识为例,假设DC选举条件为:选举设备标识的量化值较大的节点为HA集群的DC,那么经过比较,当第二ARP检测报文的DC标识大于第一ARP检测报文的DC标识时,第二ARP检测报文的DC标识满足预设的DC选举条件,此时确定第二节点为该HA集群的DC,第二节点正常运行,虚拟机在其上运行,对外提供集群业务;当第二ARP检测报文的DC标识小于第一ARP检测报文的DC标识时,第二ARP检测报文的DC标识不满足预设的DC选举条件,此时第二节点执行关闭操作。
仍以DC标识为节点的设备标识为例,假设DC选举条件为:选举设备标识的量化值较小的节点为HA集群的DC,那么经过比较,当第二ARP检测报文的DC标识大于第一ARP检测报文的DC标识时,第二ARP检测报文的DC标识不满足预设的DC选举条件,此时第二节点执行关闭操作;当第二ARP检测报文的DC标识小于第一ARP检测报文的DC标识时,第二ARP检测报文的DC标识满足预设的DC选举条件,此时确定第二节点为该HA集群的DC,第二节点正常运行,虚拟机在其上运行,对外提供集群业务。
由此可见,上述过程中,两个节点均自动检测脑裂情况的发生,确定发生脑裂时自动关闭一个,无需第三方设备的介入,同时,保证了虚拟机只在正常运行的节点上运行,避免了两个虚拟机副本同时运行的情况,从而也避免了两个虚拟机读写同一个镜像文件导致的虚拟机镜像文件损坏的情况。
为了实现上述的方法,如图5和图6所示,本发明实施例还提供了检测并处理集群脑裂的装置。
如图5所示的第一装置应用于上述的第一节点,第一装置包括:
第一报文生成模块50,用于生成第一ARP检测报文;
第一传输模块51,用于发送所述第一ARP检测报文给所述第二节点或接收来自所述第二节点的第二ARP检测报文;
第一检测模块52,用于根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂;
第一处理模块53,用于在所述第一检测模块52判断发生脑裂时,根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或者正常运行。
所述第一传输模块51,还用于通过和所述第二节点间的直连链路传输ARP检测报文,或者通过和所述第二节点间的二层交换机透传ARP检测报文。
所述ARP检测报文的检测域包括集群标识和DC标识。
所述第一检测模块52,还用于将所述第一ARP检测报文和所述第二ARP检测报文的集群标识进行比较,两者相同时,确定所述第一节点和第二节点同属一个集群。
所述第一检测模块52,还用于将所述第一ARP检测报文和所述第二ARP检测报文的DC标识进行比较,两者不同时,确定发生脑裂。
所述第一处理模块53还用于,在所述第一检测模块52确定发生脑裂时,比较所述第一ARP检测报文和第二ARP检测报文的DC标识,当所述第一ARP检测报文的DC标识不满足预设的DC选举条件时,所述第一节点执行关闭操作;当所述第一ARP检测报文的DC标识满足预设的DC选举条件时,所述第一节点正常运行。
如图6所示的第二装置应用于上述的第二节点,第二装置包括:
第二报文生成模块60,用于生成第二ARP检测报文;
第二传输模块61,用于发送所述第二ARP检测报文给所述第一节点或接收来自所述第一节点的第二ARP检测报文;
第二检测模块62,用于根据所述第二ARP检测报文和所述第一ARP检测报文的检测域确定所述第二节点和第一节点同属一个集群时,判断是否发生脑裂;
第二处理模块63,用于在所述第二检测模块62判断发生脑裂时,根据所述第二ARP检测报文和所述第一ARP检测报文的检测域,执行关闭操作或者正常运行。
所述第二传输模块61,还用于通过和所述第一节点间的直连链路传输ARP检测报文,或者,通过和所述第一节点间的二层交换机透传ARP检测报文。
所述ARP检测报文的检测域包括集群标识和DC标识。
所述第二检测模块62,还用于将所述第二ARP检测报文和所述第一ARP检测报文的集群标识进行比较,两者相同时,确定所述第二节点和第一节点同属一个集群。
所述第二检测模块62,还用于将所述第二ARP检测报文和所述第一ARP检测报文的DC标识进行比较,两者不同时,确定发生脑裂。
所述第二处理模块63还用于,在所述第二检测模块62确定发生脑裂时,比较所述第二ARP检测报文和第一ARP检测报文的DC标识进行比较的结果,当所述第二ARP检测报文的DC标识不满足预设的DC选举条件时,所述第二节点执行关闭操作;当所述第二ARP检测报文的DC标识不满足预设的DC选举条件时,所述第二节点正常运行。
由此可见,第一节点或第二节点均自动检测脑裂情况的发生,确定发生脑裂时自动关闭或正常运行,无需第三方设备的介入,如此,保证了虚拟机只在正常运行的节点上运行,避免了两个虚拟机副本同时运行的情况,从而也避免了两个虚拟机读写同一个镜像文件导致的虚拟机镜像文件损坏的情况。
其中,本发明上述实施例提供的检测和处理集群脑裂的方案基于ARP检测报文的检测域来实现,如图7所示为ARP检测报文的结构示意图。
如图8所示,本发明实施例还提供了一种检测和处理集群脑裂的系统,包括第一节点和第二节点。其中,第一节点的结构如图5所示,第二节点的结构如图6所示。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,所述指令用于执行本发明前述实施例的检测并处理集群脑裂的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种检测并处理集群脑裂的方法,其特征在于,所述集群包括第一节点和第二节点,该方法包括:
所述第一节点发送自身生成的第一地址解析协议ARP检测报文给所述第二节点,并接收来自所述第二节点的第二ARP检测报文;所述ARP检测报文的检测域包括集群标识;
所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂;如果所述第一ARP检测报文和所述第二ARP检测报文的检测域中的集群标识相同,则确定所述第一节点和第二节点同属一个集群;
在判断发生脑裂时,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或正常运行。
2.根据权利要求1所述检测并处理集群脑裂的方法,其特征在于,所述第一节点通过和所述第二节点间的直连链路传输ARP检测报文,或者,通过和所述第二节点间的二层交换机透传ARP检测报文。
3.根据权利要求1所述检测并处理集群脑裂的方法,其特征在于,所述ARP检测报文的检测域包括指定协调员DC标识。
4.根据权利要求3所述检测并处理集群脑裂的方法,其特征在于,所述判断是否发生脑裂为:
所述第一节点将所述第一ARP检测报文和所述第二ARP检测报文的DC标识进行比较,两者不同时,确定发生脑裂。
5.根据权利要求4所述检测并处理集群脑裂的方法,其特征在于,在判断发生脑裂时,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或正常运行,包括:
所述第一节点比较所述第一ARP检测报文和第二ARP检测报文的DC标识,当所述第一ARP检测报文的DC标识不满足预设的DC选举条件时,所述第一 节点执行关闭操作;当所述第一ARP检测报文的DC标识满足预设的DC选举条件时,所述第一节点正常运行。
6.一种检测并处理集群脑裂的装置,其特征在于,所述集群包括第一节点和第二节点,该装置应用于所述第一节点,所述装置包括:
第一报文生成模块,用于生成第一ARP检测报文;
第一传输模块,用于发送所述第一ARP检测报文给所述第二节点、或接收来自所述第二节点的第二ARP检测报文;所述ARP检测报文的检测域包括集群标识;
第一检测模块,用于根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂;如果所述第一ARP检测报文和所述第二ARP检测报文的检测域中的集群标识相同,则确定所述第一节点和第二节点同属一个集群;
第一处理模块,用于在所述第一检测模块判断发生脑裂时,根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或者正常运行。
7.根据权利要求6所述检测并处理集群脑裂的装置,其特征在于,
所述第一传输模块,还用于通过和所述第二节点间的直连链路传输ARP检测报文、或者通过和所述第二节点间的二层交换机透传ARP检测报文。
8.根据权利要求6所述检测并处理集群脑裂的装置,其特征在于,所述ARP检测报文的检测域包括指定协调员DC标识。
9.根据权利要求8所述检测并处理集群脑裂的装置,其特征在于,
所述第一检测模块,还用于将所述第一ARP检测报文和所述第二ARP检测报文的DC标识进行比较,两者不同时,确定发生脑裂。
10.根据权利要求9所述检测并处理集群脑裂的装置,其特征在于,
所述第一处理模块还用于,在所述第一检测模块确定发生脑裂时,比较所述第一ARP检测报文和第二ARP检测报文的DC标识,当所述第一ARP检测报文的DC标识不满足预设的DC选举条件时,所述第一节点执行关闭操作;当所述第一ARP检测报文的DC标识满足预设的DC选举条件时,所 述第一节点正常运行。
CN201410437523.2A 2014-08-29 2014-08-29 一种检测并处理集群脑裂的方法和装置 Active CN104158707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410437523.2A CN104158707B (zh) 2014-08-29 2014-08-29 一种检测并处理集群脑裂的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410437523.2A CN104158707B (zh) 2014-08-29 2014-08-29 一种检测并处理集群脑裂的方法和装置

Publications (2)

Publication Number Publication Date
CN104158707A CN104158707A (zh) 2014-11-19
CN104158707B true CN104158707B (zh) 2017-10-17

Family

ID=51884118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410437523.2A Active CN104158707B (zh) 2014-08-29 2014-08-29 一种检测并处理集群脑裂的方法和装置

Country Status (1)

Country Link
CN (1) CN104158707B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104469699B (zh) * 2014-11-27 2018-09-21 华为技术有限公司 集群仲裁方法和多集群配合系统
WO2016106682A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 一种集群脑裂后仲裁处理方法、仲裁存储装置以及系统
CN106487611B (zh) * 2016-10-27 2020-10-27 新华三技术有限公司 一种检测sdn集群分裂的方法及装置
CN107404522B (zh) * 2017-07-20 2020-03-10 苏州浪潮智能科技有限公司 一种跨节点的虚拟机集群高可用实现方法和装置
CN109428740B (zh) * 2017-08-21 2020-09-08 华为技术有限公司 设备故障恢复的方法和装置
CN110011840A (zh) * 2019-03-26 2019-07-12 新华三技术有限公司 控制器的状态处理方法、装置和控制器
CN110839068B (zh) * 2019-11-04 2022-02-18 安超云软件有限公司 业务请求处理方法、装置、电子设备及可读存储介质
CN112711632A (zh) * 2019-12-27 2021-04-27 山东鲁能软件技术有限公司 一种高可用集群的异步数据流复制方法及系统
CN115190046B (zh) * 2022-04-13 2024-01-23 统信软件技术有限公司 一种服务器集群的检测方法、检测装置及计算设备
CN115348156A (zh) * 2022-07-01 2022-11-15 超聚变数字技术有限公司 一种双主故障的处理方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101112070A (zh) * 2005-01-28 2008-01-23 诺基亚西门子通信有限责任两合公司 用于将分组地址分配给多个设备的方法和装置
CN101291243A (zh) * 2007-04-16 2008-10-22 广东省新支点技术服务有限公司 高可用集群系统的裂脑预防方法
CN102724069A (zh) * 2012-06-14 2012-10-10 福建星网锐捷网络有限公司 热堆叠系统中双主用设备冲突检测方法、装置及网络设备
CN103209095A (zh) * 2013-03-13 2013-07-17 广东新支点技术服务有限公司 一种基于磁盘服务锁的裂脑预防的方法和装置
CN103812957A (zh) * 2012-11-14 2014-05-21 华为技术有限公司 地址解析协议arp记录管理方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101112070A (zh) * 2005-01-28 2008-01-23 诺基亚西门子通信有限责任两合公司 用于将分组地址分配给多个设备的方法和装置
CN101291243A (zh) * 2007-04-16 2008-10-22 广东省新支点技术服务有限公司 高可用集群系统的裂脑预防方法
CN102724069A (zh) * 2012-06-14 2012-10-10 福建星网锐捷网络有限公司 热堆叠系统中双主用设备冲突检测方法、装置及网络设备
CN103812957A (zh) * 2012-11-14 2014-05-21 华为技术有限公司 地址解析协议arp记录管理方法和装置
CN103209095A (zh) * 2013-03-13 2013-07-17 广东新支点技术服务有限公司 一种基于磁盘服务锁的裂脑预防的方法和装置

Also Published As

Publication number Publication date
CN104158707A (zh) 2014-11-19

Similar Documents

Publication Publication Date Title
CN104158707B (zh) 一种检测并处理集群脑裂的方法和装置
US10635558B2 (en) Container monitoring method and apparatus
Cheraghlou et al. A survey of fault tolerance architecture in cloud computing
CN107924359B (zh) 计算系统中的故障情况的管理
US9971660B2 (en) Virtual machine network loss detection and recovery for high availability
US9081750B2 (en) Recovery escalation of cloud deployments
US10462027B2 (en) Cloud network stability
US9026864B2 (en) Offloading health-checking policy
TWI603206B (zh) Server cluster based data processing method and cluster based data processing system
US8856585B2 (en) Hardware failure mitigation
CN104320274B (zh) 一种容灾方法及装置
CN106850260A (zh) 一种虚拟化资源管理平台的部署方法和装置
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN108063813B (zh) 一种集群环境下密码服务网络并行化的方法与系统
US10735250B2 (en) Dynamic distributor selection for network load balancing
Alleg et al. Joint diversity and redundancy for resilient service chain provisioning
CN111240806B (zh) 一种分布式容器镜像构建调度方法
CN104615476A (zh) 用于所选择的虚拟机复制和虚拟机重新启动的方法和系统
CN108833522A (zh) 一种确定节点可信的系统及方法
CN108199860A (zh) 一种告警处理方法及网络设备
CN115292003A (zh) 服务器故障恢复方法、装置、电子设备及存储介质
CN107453888B (zh) 高可用性的虚拟机集群的管理方法及装置
US10692168B1 (en) Availability modes for virtualized graphics processing
Chiang et al. An agreement under early stopping and fault diagnosis protocol in a cloud computing environment
US10367711B2 (en) Protecting virtual computing instances from network failures

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant