一种基于异构存储的集群仲裁的方法、系统、设备及介质技术方案

技术编号:26511536 阅读:31 留言:0更新日期:2020-11-27 15:40
本发明专利技术公开了一种基于异构存储的集群仲裁的方法、系统、设备和存储介质,方法包括:在集群中的每两个相邻的节点之间设置心跳;响应于存在节点之间的心跳断开,基于断开的心跳将集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;响应于节点数量最多的子集群不唯一,在每个节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;响应于存在节点预留成功,判断第三方存储逻辑卷中的仲裁数据是否有效;以及响应于第三方存储逻辑卷中的仲裁数据无效,将预留成功的节点的仲裁信息写入第三方存储逻辑卷以使该节点的子集群获得集群的控制权。本发明专利技术利用已有配置,在不占用额外网络带宽的情况下,实现存储集群的仲裁。

【技术实现步骤摘要】
一种基于异构存储的集群仲裁的方法、系统、设备及介质
本专利技术涉及存储集群领域,更具体地,特别是指一种基于异构存储的集群仲裁的方法、系统、计算机设备及可读介质。
技术介绍
当存储集群由多控制器组成时,各控制器节点之间需要保持互联,并周期性的查询各节点之间的状态,称之为心跳。当某些节点的心跳未能及时捕获到时,可能该部分控制器节点已经故障,或者由于网络故障等,导致控制器之间的互联状态断开,此时需要两部分集群节点之间协商确认,节点多的集群自动获得集群控制权,将另一部分集群节点踢出。但是,当两部分集群节点数量相同时,就没有办法确定获得控制权的集群。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提出一种基于异构存储的集群仲裁的方法、系统、计算机设备及计算机可读存储介质,通过设置第三方存储逻辑卷来仲裁确定获得控制权的集群,操作简便,充分利用已有配置,在不占用额外网络带宽的情况下,实现存储集群的仲裁。基于上述目的,本专利技术实施例的一方面提供了一种基于异构存储的集群仲裁的方法,包括如下步骤:在集群中的每两个相邻的节点之间设置心跳;响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使该节点所在的子集群获得所述集群的控制权。在一些实施方式中,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:响应于存在多个断开的心跳,将两个断开的心跳之间的节点分配为一个子集群。在一些实施方式中,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:响应于只存在一个断开的心跳,基于所述断开的心跳将所述集群中的节点分配为两个子集群。在一些实施方式中,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求包括:在每个所述节点数量最多的子集群中选择ID最小的节点同时向所述第三方存储逻辑卷发送预留请求。在一些实施方式中,还包括:响应于仲裁信息写入所述第三方存储逻辑卷成功,释放对所述第三方存储逻辑卷的预留。在一些实施方式中,还包括:响应于具有控制权的子集群失去控制权,将所述仲裁数据置为无效。在一些实施方式中,还包括:将所述第三方存储逻辑卷映射到所述集群,并在所述第三方存储逻辑卷中设置仲裁区域以存储仲裁数据。本专利技术实施例的另一方面,还提供了一种基于异构存储的集群仲裁系统,包括:心跳模块,配置用于在集群中的每两个相邻的节点之间设置心跳;第一判断模块,配置用于响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;预留模块,配置用于响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;第二判断模块,配置用于响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及执行模块,配置用于响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使该节点所在的子集群获得所述集群的控制权。本专利技术实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。本专利技术具有以下有益技术效果:通过设置第三方存储逻辑卷来仲裁确定获得控制权的集群,操作简便,充分利用已有配置,在不占用额外网络带宽的情况下,实现存储集群的仲裁。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为本专利技术提供的基于异构存储的集群仲裁的方法的实施例的示意图;图2为本专利技术提供的基于异构存储的集群仲裁的计算机设备的实施例的硬件结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。基于上述目的,本专利技术实施例的第一个方面,提出了一种基于异构存储的集群仲裁的方法的实施例。图1示出的是本专利技术提供的基于异构存储的集群仲裁的方法的实施例的示意图。如图1所示,本专利技术实施例包括如下步骤:S1、在集群中的每两个相邻的节点之间设置心跳;S2、响应于存在节点之间的心跳断开,基于断开的心跳将集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;S3、响应于节点数量最多的子集群不唯一,在每个节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;S4、响应于存在节点预留成功,判断第三方存储逻辑卷中的仲裁数据是否有效;以及S5、响应于第三方存储逻辑卷中的仲裁数据无效,将预留成功的节点的仲裁信息写入第三方存储逻辑卷以使该节点所在的子集群获得集群的控制权。集群的节点之间通过FC或者IP网络连通,相互之间通过心跳维持在线状态。交换机为FC交换机或IP交换机,连接到第三方存储和存储集群各节点。第三方存储虽然无法加入到存储集群,但可以被存储集群接管。可以将逻辑卷映射给存储集群统一管理。第三方存储需要支持SCSI(SmallComputerSystemInterface,小型计算机系统接口)协议,逻辑卷的属性、数据读写均可通过SCSI协议操作。并支持SCSI2的release(释放)/reserve(预留)指令,用于集群之间的仲裁使用。在一些实施方式中,还包括:将所述第三方存储逻辑卷映射到所述集群,并在所述第三方存储逻辑卷中设置仲裁区域以存储仲裁数据。存储集群的全部节点需要对第三方存储可见,第三方存储需要将逻辑卷映射到存储集群的每个控制器节点。该逻辑卷可加入到存储集群的存储池,存储集群的逻辑卷需要从存储池中分配。另外第三方存储的逻辑卷需要预留一额外的1MB容量,用作集群仲裁的使用,该1MB的区域不能做其他额外使用。在集群中的每两个相邻的节点之间设置心跳。响应于存在节点之间的心跳断开,基于断开的心跳将集群中的节点分成多个子集群,并判断节点数量最本文档来自技高网...

【技术保护点】
1.一种基于异构存储的集群仲裁的方法,其特征在于,包括以下步骤:/n在集群中的每两个相邻的节点之间设置心跳;/n响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;/n响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;/n响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及/n响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使所述节点所在的子集群获得所述集群的控制权。/n

【技术特征摘要】
1.一种基于异构存储的集群仲裁的方法,其特征在于,包括以下步骤:
在集群中的每两个相邻的节点之间设置心跳;
响应于存在节点之间的心跳断开,基于断开的心跳将所述集群中的节点分成多个子集群,并判断节点数量最多的子集群是否唯一;
响应于节点数量最多的子集群不唯一,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求;
响应于存在节点预留成功,判断所述第三方存储逻辑卷中的仲裁数据是否有效;以及
响应于所述第三方存储逻辑卷中的仲裁数据无效,将所述预留成功的节点的仲裁信息写入所述第三方存储逻辑卷以使所述节点所在的子集群获得所述集群的控制权。


2.根据权利要求1所述的方法,其特征在于,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:
响应于存在多个断开的心跳,将两个断开的心跳之间的节点分配为一个子集群。


3.根据权利要求1所述的方法,其特征在于,所述基于断开的心跳将所述集群中的节点分成多个子集群包括:
响应于只存在一个断开的心跳,基于所述断开的心跳将所述集群中的节点分配为两个子集群。


4.根据权利要求1所述的方法,其特征在于,在每个所述节点数量最多的子集群中选择一个节点同时向第三方存储逻辑卷发送预留请求包括:
在每个所述节点数量最多的子集群中选择ID最小的节点同时向所述第三方存储逻辑卷发送预留请求。


5.根据权利要求1所述的方法,其特征在于,还包括:
响应于仲裁信息写入所述第三方存储逻辑卷成功,释放对所述第三方存储逻辑卷的预留。

【专利技术属性】
技术研发人员:刘树亮
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1