一种检测并处理集群脑裂的方法和装置制造方法及图纸

技术编号:10656142 阅读:213 留言:0更新日期:2014-11-19 17:09
本发明专利技术公开了一种检测并处理集群脑裂的方法,所述集群包括第一节点和第二节点,该方法还包括:所述第一节点发送自身生成的第一ARP检测报文给所述第二节点,并接收来自所述第二节点的第二ARP检测报文;所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂;并在判断发生脑裂时,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或正常运行。本发明专利技术还公开了一种检测并处理集群脑裂的装置。

【技术实现步骤摘要】
一种检测并处理集群脑裂的方法和装置
本专利技术涉及集群虚拟化技术,尤其涉及一种检测并处理集群脑裂的方法和装置。
技术介绍
随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度也越来越高。在这一背景下,整合数据中心、降低数据中心的管理成本、充分挖掘现有资源能力以适应更高的业务需求,成为企业数据中心的重要任务。其中,对数据中心资源进行虚拟化,成为目前数据中心整合的重要趋势。数据中心的虚拟化技术主要包括三方面内容:网络虚拟化、存储虚拟化和服务器虚拟化,其中最主要的是服务器虚拟化。如图1所示,通过专用的虚拟化软件(如VMware)管理,在一个服务器主机上能虚拟出多个虚拟机(VM),每个VM独立运行,互不影响,都有自己的操作系统、应用程序和虚拟的硬件环境,包括虚拟中央处理器(CentralProcessingUnit,CPU)、内存、存储设备、输入输出(InputOutput,IO)设备、虚拟交换机等。集群,由两个或两个以上计算机组成,它们作为一个整体向用户提供一组资源,每一个计算机系统都称为集群节点(node)。随着业务的增长,集群通过添加新的节点,满足资源的高可扩展性。由于计算机硬件和软件易错性不可避免,这样在节点上的服务会不可避免的中断,高可用(HighAvailability,HA)集群的出现是为保证即使节点失效,而服务能不中断,其原理是:在集群中采用主备模式,主节点提供服务,备节点等待,一旦主节点失效,备节点无需人工无缝取代主节点提供服务,这样就保证了服务的不中断。HA集群软件的主要作用就是实现故障检测和业务切换的自动化,以提供不中断的服务。在数据中心虚拟化环境中,为了降低管理的复杂度,实现故障检测和业务切换的自动化,以提供不中断的服务,可以把两个或两个以上服务器形成一个HA集群,通过集群,操作员可以像管理单个实体一样轻松地管理多个主机和虚拟机,同时,HA集群可实现定时对集群内的各个节点(包括主机和虚拟机)的状态进行监测,以保证数据中心业务的连续性。当某节点主机出现故障时,运行于这台主机上的所有虚拟机都可以在集群中的其它主机上重新启动,减少业务中断时间,保证业务的连续性。HA集群的资源管理器层包含集群资源管理器(ClusterResourceManager,CRM)、集群信息基库(ClusterInformationBase,CIB)、策略引擎(PolicyEngine,PE)、实施引擎(TransitionEngine,TE)和本地资源管理(LocalResourceManager,LRM);其中,CRM为HA集群的核心组件,实现资源的分配和管理。HA集群中,主节点上的CRM被选举为指定协调员(DesignatedCoordinator,DC),即主节点上的CRM成为该HA集群的管理者,它的工作是决策和管理集群中的所有资源。在HA集群中,节点之间通过心跳信息传递自身的在线信息,节点之间传递心跳信息可以通过广播、组播、单播等方式。通过此种方式,DC可以检测出节点故障。当HA集群中某节点发生故障时,DC负责将故障节点的消息分发到集群中正常状态的节点,并根据HA集群的调度处理策略,选择一个合适的节点,并在该节点上重新启动故障节点上的虚拟机,以保证虚拟机业务的连续性;同时,每个节点通过本地资源守护进程(LRMd)检测本节点上虚拟机的状态,当检测到虚拟机出现故障(由于内存不足或存储无法连通而启动失败等等)时,该节点先将事件通知给DC,由DC统一将该节点的状态告知集群内其它节点,根据HA集群的调度处理策略,DC为该故障的虚拟机选择合适的主机重新启动。然而在实施过程中,如果节点间心跳信息的传递出现故障,但节点还在正常运行,那么每个节点都认为其他节点不在线,自己是整个集群中唯一在线的节点,自己应该获得整个集群的管理权、成为DC,该情形被称为脑裂(splitbrain)。通常解决该问题的方法是使用投票算法,每个节点通过自身的CCM(ClusterConsensusMembershipService)组件发出一个通报,节点每收到一个通报即获得一票,获得票数多的节点获得集群的管理权、成为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检测报文和所述第二ARP检测报文的检测域确定所述第一节点和第二节点同属一个集群时,判断是否发生脑裂;在判断发生脑裂时,所述第一节点根据所述第一ARP检测报文和所述第二ARP检测报文的检测域,执行关闭操作或正常运行。

【技术特征摘要】
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.一种...

【专利技术属性】
技术研发人员:吴秀伊莉娜
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1