存储系统的节点仲裁方法与流程

摘要: 本申请涉及电数字数据处理,尤其涉及存储系统的节点仲裁方法。背景技术:1、基于多数票当选机制,存储系统需避免出现平票的情况,而对于配置了偶数节点的存储系统,则难以...
存储系统的节点仲裁方法与流程

本申请涉及电数字数据处理,尤其涉及存储系统的节点仲裁方法。

背景技术:

1、基于多数票当选机制,存储系统需避免出现平票的情况,而对于配置了偶数节点的存储系统,则难以完全避免平票场景的出现,一旦平票,将导致系统永久陷入瘫痪状态。

2、相关技术中,可以通过引入仲裁的方式解决平票问题,但单仲裁的应用场景下,难以避免单点故障导致的卡死,多仲裁在发生网络分区的情况下,会出现脑裂问题,即同时推举出多个主仲裁,从而导致系统数据紊乱、逻辑不可控,甚至造成整个业务链路的瘫痪,亟待改进。

技术实现思路

1、本申请提供了存储系统的节点仲裁方法,以至少解决相关技术中,存在偶数节点的情况下,难以应对存储系统的脑裂问题,导致业务链路瘫痪的技术问题。

2、本申请提供了一种存储系统的节点仲裁方法,存储系统设置有多个节点集群和多个仲裁节点,从多个仲裁节点中推举出主仲裁节点,以基于主仲裁节点与多个节点集群的投票结果,执行当前运行业务,其中,方法包括以下步骤:在存储系统满足预设网络分区条件的情况下,基于多个节点集群之间的连接关系,确定多个节点集群的分区状态;基于分区状态,对每个分区中的节点集群发起序列化读,以确定每个节点集群对应的仲裁节点地址和版本标识;基于版本标识,得到满足预设最大值条件的目标版本标识,并根据目标版本标识和仲裁节点地址从多个仲裁节点中推举出新的主仲裁节点,并利用新的主仲裁节点和多个节点集群进行集群仲裁投票,以根据投票结果执行当前运行业务。

3、本申请还提供了一种存储系统的节点仲裁装置,存储系统设置有多个节点集群和多个仲裁节点,从多个仲裁节点中推举出主仲裁节点,以基于主仲裁节点与多个节点集群的投票结果,执行当前运行业务,其中,装置包括:确定模块,用于在存储系统满足预设网络分区条件的情况下,基于多个节点集群之间的连接关系,确定多个节点集群的分区状态;发起模块,用于基于分区状态,对每个分区中的节点集群发起序列化读,以确定每个节点集群对应的仲裁节点地址和版本标识;推举模块,用于基于版本标识,得到满足预设最大值条件的目标版本标识,并根据目标版本标识和仲裁节点地址从多个仲裁节点中推举出新的主仲裁节点,并利用新的主仲裁节点和多个节点集群进行集群仲裁投票,以根据投票结果执行当前运行业务。

4、本申请还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现上述任一种存储系统的节点仲裁方法的步骤。

5、本申请还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被处理器执行时实现上述任一种存储系统的节点仲裁方法的步骤。

6、本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一种存储系统的节点仲裁方法的步骤。

7、通过本申请,可以在满足预设网络分区条件的情况下,基于多个节点集群之间的连接关系确定多个节点集群的分区状态,并对每个分区中的节点集群发起序列化读,确定各节点集群对应的仲裁节点地址和版本标识,依托分区序列化读获取版本标识,从版本维度推举新的主仲裁节点,结合新的主仲裁节点和多个节点集群开展集群仲裁,从而根据集群仲裁的投票结果执行当前运行业务。解决了相关技术中,存在偶数节点的情况下,难以应对存储系统的脑裂问题,导致业务链路瘫痪的技术问题,使得存储系统在出现网络分区时,仍可实现有效仲裁,保持集群稳健运行。

1.一种存储系统的节点仲裁方法,其特征在于,存储系统设置有多个节点集群和多个仲裁节点,从多个所述仲裁节点中推举出主仲裁节点,以基于所述主仲裁节点与多个所述节点集群的投票结果,执行当前运行业务,其中,所述方法包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,还包括:

3.根据权利要求2所述的方法,其特征在于,所述获取每个所述节点集群与每个所述仲裁节点之间的连接状态,以根据所述连接状态统计每个所述仲裁节点对应的有效连接数量,包括:

4.根据权利要求3所述的方法,其特征在于,在根据所述连接状态统计每个所述仲裁节点对应的有效连接数量之后,还包括:

5.根据权利要求2所述的方法,其特征在于,所述获取每个所述节点集群与每个所述仲裁节点之间的连接状态,包括:

6.根据权利要求5所述的方法,其特征在于,在确定另一所述节点集群与另一所述仲裁节点断开连接之后,还包括:

7.根据权利要求2所述的方法,其特征在于,还包括:

8.根据权利要求7所述的方法,其特征在于,在统计每个所述仲裁节点对应的所述有效连接数量之后,还包括:

9.根据权利要求1所述的方法,其特征在于,在对每个所述分区中的节点集群发起序列化读之后,还包括:

10.根据权利要求1所述的方法,其特征在于,所述对每个分区中的节点集群发起序列化读,包括:

11.根据权利要求1所述的方法,其特征在于,从多个所述仲裁节点中推举出新的主仲裁节点之后,还包括:

12.根据权利要求1所述的方法,其特征在于,还包括:

13.根据权利要求12所述的方法,其特征在于,在将所述新的主仲裁节点的地址和当选时刻写入至所述存储系统的集群键值存储空间之后,还包括:

14.根据权利要求13所述的方法,其特征在于,在利用所述新的主仲裁节点广播所述新的主仲裁节点的地址和当选时刻至多个所述节点集群之后,还包括:

15.根据权利要求12所述的方法,其特征在于,还包括: