集群内节点管理方法和装置的制作方法

文档序号:7862023阅读:168来源:国知局
专利名称:集群内节点管理方法和装置的制作方法
技术领域
本发明涉及计算机存储领域,尤其涉及一种集群内节点管理方法和装置。
背景技术
集群文件系统为集群系统提供共享资源,并提供数据视图的一致性,即集群文件系统中的每个文件对于集群系统中的每个节点来说都是相同的。集群系统在运行过程中,可能由于各种原因,如网络阻塞等,导致集群系统分裂为两个子集群。此时处于子集群中的节点可以相互通信,而与另一个子集群中的节点无法通信。当两个子集群中的节点都仍有权限访问共享资源时,如果不采用相应的防止措施则会导致集群发生脑裂,即分裂后的子集群各自都认为自己对特定的共享资源拥有访问权限,子集群可能先后对该共享资源进行相应的读写操作,从而造成数据的不一致。为了使得集群系统能正常运行,往往需要提供相应的仲裁机制来解决集群系统发生脑裂时所引发的这类问题。

发明内容
本发明提供了一种集群内节点管理方法和装置,解决了在集群系统发生脑裂造成的数据不一致的问题。一种集群内节点管理方法,包括判断集群内各节点的合法性;对判定为非法节点的节点进行重启操作。优选的,在共享磁盘上,所述集群内所有节点的心跳数(Heartbeat)为奇数时,判断集群内各节点的合法性性包括按照以下表达式计算合法节点最少票数合法节点最少票数=(Heartbeat+1) /2 ;计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数;将节点的连接数与所述合法节点最少票数进行比较;在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点;在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。优选的,在共享磁盘上,所述集群内所有节点的Heartbeat为偶数时,判断集群内各节点的合法性包括按照以下表达式计算合法节点最少票数合法节点最少票数=Heartbeat/2 ;计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数;将节点的连接数与所述合法节点最少票数进行比较;在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点;在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。
优选的,上述集群内节点管理方法还包括选择与所述共享磁盘连接正常且编号最小的节点为基准节点。优选的,所述将节点的连接数与所述合法节点最少票数进行比较的步骤之后,还包括在所述节点的连接数等于所述合法节点最少票数时,检查所述节点与所述基准节点是否处于连接状态;在处于连接状态时,判定所述节点为合法节点;在处于非连接状态时,判定所述节点为非法节点。本发明还提供了一种集群内节点管理装置,包括·
合法性判断模块,用于判断集群内各节点的合法性;重启控制模块,用于对判定为非法节点的节点进行重启操作。优选的,所述合法性判断模块包括第一最少票数计算单元,用于在共享磁盘上,所述集群内所有节点的Heartbeat为奇数时按照以下表达式计算合法节点最少票数合法节点最少票数=(Heartbeat+1) /2 ;第一连接数计算单元,用于计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数;第一比较单元,用于将节点的连接数与所述合法节点最少票数进行比较;第一结果判定单元,用于在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点,在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点;优选的,所述合法性判断模块还包括第二合法节点最少票数计算单元,用于在共享磁盘上,所述集群内所有节点的Heartbeat为偶数时,按照以下表达式计算合法节点最少票数合法节点最少票数=Heartbeat/2 ;第二连接数计算单元,用于计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数;第二比较单元,用于将节点的连接数与所述合法节点最少票数进行比较;第二结果判定单元,用于在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点,在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。本发明提供了一种集群内节点管理方法和装置,当发生集群脑裂时,各子集群判断该子集群内节点的合法性,各子集群对该子集群内的非法节点进行重启操作,提供了在集群脑裂时对节点合法性的仲裁机制及处理办法,解决了在集群系统发生脑裂造成的数据不一致的问题。


图I为本发明的实施例一提供的一种集群内节点管理方法的流程图;图2为Heartbeat为奇时判定节点合法性的原理示意图3为Heartbeat为偶时判定节点合法性的原理示意图;图4为本发明的实施例二提供的一种集群内节点管理装置的结构示意图;图5为图4中合法性判断模块401的结构示意图;图6为图4中合法性判断模块401的又一结构示意图。
具体实施例方式集群文件系统为集群系统提供共享资源,并提供数据视图的一致性,即集群文件系统中的每个文件对于集群系统中的每个节点来说都是相同的。集群系统在运行过程中,可能由于各种原因,如网络阻塞等,导致集群系统分裂为两个子集群。此时处于子集群中的节点可以相互通信,而与另一个子集群中的节点无法通信。当两个子集群中的节点都仍有权限访问共享资源时,如果不采用相应的防止措施则会导致集群发生脑裂,即分裂后的子集群各自都认为自己对特定的共享资源拥有访问权限,子集群可能先后对该共享资源进行 应的仲裁机制来解决集群系统发生脑裂时所引发的这类问题。为了解决上述问题,本发明的实施例提供了一种集群内节点管理方法和装置。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。 首先结合附图,对本发明的实施例一进行说明。本发明实施例一提供了一种集群内节点管理方法,使用该方法对发生脑裂的集群内节点进行仲裁及后续管理的流程如图I所示,包括步骤101、当发生集群脑裂时,判断集群内各节点的合法性;所有节点在共享磁盘上的心跳数为Heartbeat,如果某节点与共享磁盘连接正常,则 Heartbeat 数加 I。本步骤具体包含Heartbeat数为奇及为偶两种情况,下面对这两种情况进行分别说明。I、当Heartbeat为奇时,如图2所示a.按照以下表达式计算合法节点最少票数Quorum :合法节点最少票数=(Heartbeat+D/2,合法节点最少票数为令集群内节点仲裁为合法节点所需要的最少票数;b.计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数Connected ;c.将节点的连接数与所述合法节点最少票数进行比较;d.在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点。e.在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。2、当Heartbeat为偶时,如图3所示a.按照以下表达式计算合法节点最少票数Quorum :合法节点最少票数=Heartbeat/2,合法节点最少票数为令集群内节点仲裁为合法节点所需要的最少票数;b.计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数Connected ;c.将节点的连接数与所述合法节点最少票数进行比较;d.在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点。e.在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。f.而对于节点的连接数等于合法节点最少票数时,则需要首先选出一基准节点Lowest。具体的,令与共享磁盘连接正常且编号最小的节点为Lowest,检查所述节点与所述基准节点的是否处于连接状态,在处于连接状态时判定所述节点为合法节点,在处于非连 接状态时判定所述节点为非法节点。步骤102、对判定为非法节点的节点进行重启操作;本步骤中,当节点被仲裁为非法节点后,该节点将直接进行重启操作。下面结合附图,对本发明的实施例二进行说明。(下面的内容需要根据上面的修改作相应调整!)本发明实施例提供了一种集群内节点管理装置,其结构如图4所示,包括合法性判断模块401,用于判断集群内各节点的合法性;重启控制模块402,用于对判定为非法节点的节点进行重启操作。优选的,所述合法性判断模块401如图5所示,包括第一最少票数计算单元4011,用于在共享磁盘上,所述集群内所有节点的Heartbeat为奇数时按照以下表达式计算合法节点最少票数合法节点最少票数=(Heartbeat+1) /2 ;第一连接数计算单4012,用于计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数;第一比较单元4013,用于将节点的连接数与所述合法节点最少票数进行比较;第一结果判定单元4014,用于在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点,在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。优选的,所述合法性判断模块如图6所示,还包括第二合法节点最少票数计算单元4015,用于在共享磁盘上,所述集群内所有节点的Heartbeat为偶数时,按照以下表达式计算合法节点最少票数合法节点最少票数=Heartbeat/2 ;第二连接数计算单元4016,用于计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数;第二比较单元4017,用于将节点的连接数与所述合法节点最少票数进行比较;第二结果判定单元4018,用于在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点,在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。
本发明的实施例提供了一种集群内节点管理方法和装置,当发生集群脑裂时,各子集群判断该子集群内节点的合法性,各子集群对该子集群内的非法节点进行重启操作,提供了在集群脑裂时对节点合法性的仲裁机制及处理办法,解决了在集群系统发生脑裂造成的数据不一致的问题。通过将每个集群节点与其他节点的通信状态和集群所有节点在共享磁盘上的心跳信息作为仲裁合法集群的考虑因素,有效确保了共享资源在集群系统中的一致性和可用性。本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现, 它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
1.一种集群内节点管理方法,其特征在于,包括 判断集群内各节点的合法性; 对判定为非法节点的节点进行重启操作。
2.根据权利要求I所述的集群内节点管理方法,其特征在于,在共享磁盘上,所述集群内所有节点的心跳数(Heartbeat)为奇数时,判断集群内各节点的合法性性包括 按照以下表达式计算合法节点最少票数 合法节点最少票数=(Heartbeat+l)/2 ; 计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数; 将节点的连接数与所述合法节点最少票数进行比较; 在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点; 在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。
3.根据权利要求I所述的集群内节点管理方法,其特征在于,在共享磁盘上,所述集群内所有节点的Heartbeat为偶数时,判断集群内各节点的合法性包括 按照以下表达式计算合法节点最少票数 合法节点最少票数=Heartbeat/2 ; 计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数; 将节点的连接数与所述合法节点最少票数进行比较; 在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点; 在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。
4.根据权利要求3所述的集群内节点管理方法,其特征在于,该方法还包括 选择与所述共享磁盘连接正常且编号最小的节点为基准节点。
5.根据权利要求4所述的集群内节点管理方法,其特征在于,所述将节点的连接数与所述合法节点最少票数进行比较的步骤之后,还包括 在所述节点的连接数等于所述合法节点最少票数时,检查所述节点与所述基准节点是否处于连接状态; 在处于连接状态时,判定所述节点为合法节点; 在处于非连接状态时,判定所述节点为非法节点。
6.一种集群内节点管理装置,其特征在于,包括 合法性判断模块,用于判断集群内各节点的合法性; 重启控制模块,用于对判定为非法节点的节点进行重启操作。
7.根据权利要求6所述的集群内节点管理装置,其特征在于,所述合法性判断模块包括 第一最少票数计算单元,用于在共享磁盘上,所述集群内所有节点的Heartbeat为奇数时按照以下表达式计算合法节点最少票数 合法节点最少票数=(Heartbeat+l)/2 ; 第一连接数计算单元,用于计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数;第一比较单元,用于将节点的连接数与所述合法节点最少票数进行比较; 第一结果判定单元,用于在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点,在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。
8.根据权利要求7所述的集群内节点管理装置,其特征在于,所述合法性判断模块还包括 第二合法节点最少票数计算单元,用于在共享磁盘上,所述集群内所有节点的Heartbeat为偶数时,按照以下表达式计算合法节点最少票数 合法节点最少票数=Heartbeat/2 ; 第二连接数计算单元,用于计算所述集群内一节点在该集群内能够正常通信的节点数量作为连接数; 第二比较单元,用于将节点的连接数与所述合法节点最少票数进行比较; 第二结果判定单元,用于在所述节点的连接数小于所述合法节点最少票数时,判定所述节点为非法节点,在所述节点的连接数大于或等于所述合法节点最少票数时,判定所述节点为合法节点。
全文摘要
本发明提供了一种集群内节点管理方法和装置。涉及计算机应用领域;解决了在集群系统发生脑裂造成的数据不一致的问题。该方法包括判断集群内各节点的合法性;对判定为非法节点的节点进行重启操作。本发明提供的技术方案适用于计算机集群管理,实现了集群脑裂数据的统一。
文档编号H04L29/08GK102904946SQ201210374869
公开日2013年1月30日 申请日期2012年9月29日 优先权日2012年9月29日
发明者张俊, 颜秉珩, 崔赢, 张现忠 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1