一种分布式集群的主节点故障的切换方法、系统及介质与流程

文档序号:25991557发布日期:2021-07-23 21:03阅读:89来源:国知局
一种分布式集群的主节点故障的切换方法、系统及介质与流程

本发明涉及分布式存储技术领域,特别是涉及一种分布式集群的主节点故障的切换方法、系统及介质。



背景技术:

在分布式中心化集群中,管理节点是整个分布式集群核心,管理节点的故障可能导致集群管理功能瘫痪,所以如何在管理节点出现故障后实现切换是亟待解决的问题。

现有技术中,第一种解决方法为,系统设置主管理节点以及备用管理节点,通过主管理节点的cpu与数据节点的cpu进行心跳检测,当检测到心跳异常,判断主管理节点出现异常,将备用管理节点替换主管理节点;

第二种解决方法为,配置备份硬件,通过管理节点或者管理控制器实现主管理节点与备用管理节点的数据热备份,实现系统的管理功能切换。

上述第一种方法,管理通道与业务通道耦合,造成管理数据处理延迟,或者占用相同的网络,造成网络数据的拥塞,导致管理数据和业务数据相互干扰;

上述第二种方法,在管理节点内配置独立的硬件,使得管理系统的复杂度加大,而且热备份进行切换管理节点,需要搭配相应的软件管理方法,使得分布式集群整体开发复杂度上升。



技术实现要素:

本发明主要解决的是管理节点发生故障时,管理节点功能切换的问题。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种分布式集群的主节点故障的切换方法,包括以下步骤:

在分布式集群内配置第一主节点及若干从节点;

在所述第一主节点及所述从节点内均配置管理模块及业务模块;

所述第一主节点发送组播报文至若干所述从节点;

所述第一主节点接收若干所述从节点的所述组播报文的响应信息,并根据响应情况执行判定操作。

进一步,所述在所述第一主节点及所述从节点内均配置管理模块及业务模块的步骤进一步包括:所述管理模块含有基础信息及关键信息,所述关键信息包括固定信息及动态信息,所述固定信息存储于所述第一主节点及所述从节点,所述动态信息存储于所述第一主节点。

进一步,所述在所述第一主节点及所述从节点内均配置管理模块及业务模块的步骤进一步还包括:若干所述业务模块构成业务网络,若干所述管理模块使用与所述业务模块不同的网口构成管理网络。

进一步,所述第一主节点发送组播报文至若干所述从节点的步骤进一步包括:所述第一主节点通过所述管理网络周期发送组播报文至所述从节点。

进一步,所述所述第一主节点接收若干所述从节点的所述组播报文的响应信息,并根据响应情况执行升主操作的步骤进一步包括:

若所述第一主节点在单位时间内接收到所有所述从节点的响应信息,则判定所述管理网络内若干所述从节点状态正常;

若所述第一主节点在所述单位时间内接收到部分所述从节点的响应信息,则所述第一主节点通过所述业务网络将未返回响应信息的从节点显示;

若所述第一主节点在所述单位时间内未接收到所述从节点的响应信息,则执行所述升主操作。

进一步,所述若所述第一主节点在所述单位时间内未接收到所述从节点的响应信息,则执行所述升主操作的步骤进一步包括:

选择所述从节点作为第二主节点;

所述第二主节点通过所述管理网络下发升主指令至所述第一主节点;

所述第一主节点接收所述升主指令并释放管理权限,降级为所述从节点;

所述第二主节点备份所述第一主节点的所述动态信息至所述管理模块。

进一步,所述第二主节点备份所述第一主节点的所述动态信息至所述管理模块的步骤进一步包括:所述第二主节点刷新所述动态信息,并与所述第一主节点的动态信息对比,所述第二主节点通过所述管理网络发送组播报文,若所述第一主节点并未返回响应信息,则判定所述第一主节点的所述管理模块的管理接口发生异常,所述第二主节点通过所述业务网络执行警示操作。

进一步,所述管理网络内的所述第一主节点及所述从节点的ip为外显虚拟ip。

本发明还提供一种分布式集群的主节点故障的切换系统,应用于分布式服务器集群,所述系统包括:管理模块、业务模块及升主模块;

所述管理模块用于存储关键信息及基础信息,所述管理模块还用于构成管理网络;

所述业务模块用于构成业务网络,且与管理模块使用不同的网口;

所述升主模块用于执行升主操作;

所述分布式服务器集群内配置有管理节点及若干从节点,所述管理节点通过所述管理网络发送所述组播报文至所述从节点,若所述管理节点未接收到所述从节点的组播报文的响应信息,则开始升主操作。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现所述的分布式集群的主节点故障的切换方法步骤。

本发明的有益效果是:

1、本发明所述的分布式集群的主节点故障的切换方法,可以实现不增加固件的情况下,在管理节点出现故障时,执行管理节点的切换,同时管理网络与业务网络相互隔离,不需要占用业务网络的通道,而且可以轮询检查是否有从节点出现异常,并执行报警操作。

2、本发明所述的分布式集群的主节点故障的切换系统,可以实现管理网络与业务网络相互隔离,不需要占用业务网络的通道,并在管理节点出现异常时执行升主操作。

3、本发明所述的分布式集群的主节点故障的切换介质,可以实现轮询检测是否有从节点出现异常,当出现异常时,将异常的从节点进行显示,并且,可以在管理网络中,将网口的ip进行虚拟化操作。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例1所述的分布式集群的主节点故障的切换方法的示意图;

图2是本发明实施例1所述的分布式集群的主节点故障的切换方法的异常判断流程图;

图3是本发明实施例1所述的分布式集群的主节点故障的切换方法的升主流程图;

图4是本发明实施例2所述的主节点故障的切换系统的示意图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

实施例1

本发明一种分布式集群的主节点故障的切换方法,请参阅图1,包括以下步骤:

s100、在分布式集群中的每一个节点内部配置管理模块,在分布式集群内,选取物理位置最低位号的节点作为主管理节点,此实施例中选取物理位置最低的节点作为主管理节点,只是在切换节点时更加便于说明,当然,同样的原理,也可以设定物理位置最高的节点作为主管理节点;

管理模块内部包含有基础信息及关键信息,基础信息包括节点信息、配置信息及系统状态等;

关键信息包含有固定信息及动态信息,固定信息包括节点sn,节点ip及集群基础信息等,其中固定信息写入到集群中所有的节点中,在进行切换主节点时,这部分信息不需要进行维护到新的主节上;

动态信息包括集群业务相关的节点激活状态、网络激活状态、集群业务网络激活状态及管理主节点等,其中该动态信息只写入到主管理节点中,在切换主管理节点时,这部分信息需要刷新到新升主的管理节点中。

s200、在分布式集群中,进行上层业务传输的业务模块与管理模块互相独立,分别使用各自的网口及交换机,为了防止管理功能和业务功能耦合,在管理各个节点时,不会应影响到上层业务的处理,防止上层业务的延迟,主管理节点与集群中其他的从节点在同一个网络平面上,并使用同一个交换机进行物理链路的连接,所有的管理模块通过交换机构建管理网络,但是为了在切换主节点时,发生了管理节点的ip切换,突然的ip切换可能会到至ip访问不到的问题,所以本实施例构建的管理网络中的所有节点的管理模块对应的网口为虚拟ip,通过这种方式可以在集群发生管理节点切换时,客户无需更换管理ip,所有的业务模块通过另外的交换机构建业务网络。

s300、请参阅图2,管理节点通过管理网络周期发送组播报文,管理节点定期轮询从节点与自身的链接状态,当集群中的从节点接收到组播报文后,在单位时间t1内进行响应,该单位时间t1的建立可以按照集群内各个节点的性能与链路链接状态进行设定;

若管理节点在t1内接收到所有的从节点的响应信息,则管理网络内各节点状态均正常;

若管理节点在t1内回收到部分从节点的响应信息,则通过业务网络通知未返回响应信息的从节点的管理通道异常;

若若管理节点在t1内未回收到所有从节点的响应信息,则管理网络内主节点与从节点的通信异常,判断该管理节点发生异常,执行其他的从节点升主操作。

s400、请参阅图3,进行升主的从节点的选取按照算法实现,但是不限于随机算法、线性表、递归排序或mont1ecarlo求定积分法,执行何种的算法不是我们需要讨论的问题,所以在此不再赘述;

为了便于说明,将故障的管理节点命名为第一主节点,选取的升主的从节点命名为第二主节点,当选取完成升主的从节点后,第二主节点通过业务网络发送升主指令,通知第一主节点即将进行升主操作,当第二主节点向第一主节点发送完成升主指令后,开始计时,为了达到较好的实施效果,升主时间一般采用集群内约定的升主时间t2,该实施例为了达到更优的效果,t2=t1,在t2内,第二主节点备份第一主节点所有的动态信息至自身的管理模块中;

在经过t2后,第一主节点释放管理权限,第一主节点降级为从节点,当第二主节点完成升主后,为了保证在升主过程中的异常数据不丢失,第二主节点查询管理网络中各个从节点的状态信息,刷新相关动态信息。并与第一主节点的管理模块中同步的管理信息进行比对。

升主的第二主节点也通过组播报文的方式,定时检测管理网络上其他从节点状态,若此时查询到原故障第一主节点的管理接口异常,则通过业务网络执行告警操作。

实施例2

本发明实施例提供一种分布式集群的主节点故障的切换系统,应用于服务器集群,请参阅图4,该系统包括:一个管理节点、若干从节点;

管理节点和从节点分别设有管理模块21及业务模块22,管理模块21与业务模块22分别拥有各自的网络,为了避免耦合,导致业务模块的延迟;

业务模块22用于运行上层业务,是服务器集群的主要功能模块,实现服务器集群的主要功能;

管理模块21用于执行服务器各个节点的管理操作,管理模块21内部含有基础信息及关键信息,基础信息包含了服务器集群内所有节点的节点信息、配置信息及系统状态,关键信息包括固定信息及动态信息,其中固定信息包括节点sn,节点ip及集群基础信息等,其中固定信息存在于集群中所有的节点中;动态信息包括集群业务相关的节点激活状态、网络激活状态、集群业务网络激活状态及管理主节点等,其中该动态信息只存在于主管理节点中。

管理模块21与业务模块22分别占用不同的网口,所有管理模块21构成管理网络,由管理节点统一管理,业务模块22构业务网络,执行集群中的上层业务,在管理网络中,各个节点的ip是虚拟的,为了方便切换管理节点,因为在切换管理节点时,可能发生ip无法查询的状况。

管理节点通过管理网络定期发送组播报文,并根据从节点的响应判定从节点的状态;

若管理节点接收到所有从节点响应,则判定集群内各个从节点状态正常;

若管理节点接收到部分从节点相应,则将未进行响应的从节点显示,并通知管理人员执行检修;

若管理节点未接收到所有从节点的响应,则判定该管理节点的管理端口出现异常,开始执行升主操作。

在服务器集群中设有升主模块23,升主模块23采用算法,执行升主操作,将当前故障的管理节点替换,故障的管理节点降级为从节点,新升主的管理节点的节点获取故障的管理节点的管理信息,并将管理信息同步至管理模块,若新升主的管理节点检测到信息有变化,则说明故障的管理节点之前发生过管理信息的更新,则管理信息以新升主的管理节点检测到的信息为准,升主的新的管理节点也通过组播报文的方式,定时检测管理网络上其他从节点状态,若此时查询到故障的管理节点的管理接口异常,则通过业务网络执行告警操作。

基于与前述实施例中方法同样的发明构思,本说明书实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述公开的一种分布式集群的主节点故障的切换方法的步骤。

上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1