一种高可用性集群管理方法及相关设备的制造方法

文档序号:9420127阅读:314来源:国知局
一种高可用性集群管理方法及相关设备的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种高可用性集群管理方法及相关设备。
【背景技术】
[0002]随着通信技术的不断发展,越来越多的业务可以通过网络通信来实现。然而,为了使业务能够顺利进行,并提供高可用性的服务,则需要保证业务的连续性。高可用性集群(High Available,简称HA)是一种保证业务连续性的有效解决方案,目前常见的实现方案一般为:设置两个或两个以上的节点,且将其分为主节点和备节点,其中,主节点用于提供服务以执行业务,备节点作为主节点的一个备份,两者之间通过心跳机制来感知对方的存在。当备节点丢失与主节点的心跳时,则认为主节点已宕机,备节点立即转变为主节点来继续执行业务,从而实现业务的连续性。然而,上述实现方案只适用于双机主备的模式,主备模式为一对一,即一个主节点只对应一个备节点,当心跳链路出现问题时,双方都认为自己是主节点,从而导致双主,使得脑裂的发生概率升高,且严重影响服务的可靠性。

【发明内容】

[0003]本发明实施例公开了一种高可用性集群管理方法及相关设备,能够提高服务的可靠性以及降低脑裂的发生概率。
[0004]本发明实施例第一方面公开了一种高可用性集群管理方法,所述高可用性集群包括至少一个主节点、至少一个备节点和集群管理装置,所述集群管理装置通过心跳链路分别与所述至少一个主节点和所述至少一个备节点进行连接通信,所述方法包括:
[0005]针对所述至少一个主节点中的每一个主节点,所述集群管理装置检测是否发生目标事件,所述目标事件为触发所述集群管理装置针对所述主节点进行切主操作的事件;
[0006]当所述集群管理装置检测到发生所述目标事件时,所述集群管理装置控制所述至少一个备节点中的一个备节点执行升主操作。
[0007]结合本发明实施例第一方面,在本发明实施例第一方面的第一种可能的实现方式中,所述针对所述至少一个主节点中的每一个主节点,所述集群管理装置检测是否发生目标事件,包括:
[0008]针对所述至少一个主节点中的每一个主节点,所述集群管理装置检测是否在预设时间间隔内未接收到所述主节点发送的心跳报文;
[0009]当所述集群管理装置在所述预设时间间隔内未接收到所述主节点发送的所述心跳报文时,则所述集群管理装置检测出发生目标事件。
[0010]结合本发明实施例第一方面,在本发明实施例第一方面的第二种可能的实现方式中,所述针对所述至少一个主节点中的每一个主节点,所述集群管理装置检测是否发生目标事件,包括:
[0011]针对所述至少一个主节点中的每一个主节点,所述集群管理装置检测是否接收到所述主节点发送的异常服务上报信息;
[0012]当所述集群管理装置接收到所述主节点发送的所述异常服务上报信息时,则所述集群管理装置检测出发生目标事件。
[0013]结合本发明实施例第一方面或第一方面的第一种至第二种中的任一种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,各个主节点上加载有浮动ip、Scs1-3锁以及共享卷,不同主节点对应的浮动ip不同,且不同主节点对应的Scs1-3锁不同,一个主节点通过对应的Scs1-3锁唯一访问与所述Scs1-3锁对应的共享卷。
[0014]结合本发明实施例第一方面的第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,所述高可用性集群还包括卷管理装置,用于管理各个共享卷,所述集群管理装置控制所述至少一个备节点中的一个备节点执行升主操作,包括:
[0015]所述集群管理装置通知所述至少一个备节点中的一个备节点加载所述主节点对应的浮动ip,以使得所述备节点对所述主节点对应的浮动ip进行加载,并由所述备节点检测所述浮动ip是否存在冲突;
[0016]当所述浮动ip不存在冲突时,所述集群管理装置接收所述备节点发送的查询请求,所述查询请求用于查询所述浮动ip对应的共享卷;
[0017]所述集群管理装置针对所述查询请求向所述备节点发送所述浮动ip对应的共享卷,以使所述备节点向所述卷管理装置查询所述共享卷的挂载信息,以获得第一查询结果,所述挂载信息包括所述共享卷的挂载点;
[0018]当所述第一查询结果为不存在所述共享卷的挂载点时,由所述备节点加载所述共享卷,以使所述备节点作为所述共享卷的挂载点;
[0019]由所述备节点向所述卷管理装置查询所述共享卷的加锁信息,以获得第二查询结果,所述加锁信息包括所述共享卷加载的Scs1-3锁;
[0020]当所述第二查询结果为不存在所述共享卷加载的Scs1-3锁时,由所述备节点为所述共享卷加载所述Scs1-3锁。
[0021]结合本发明实施例第一方面的第四种可能的实现方式,在本发明实施例第一方面的第五种可能的实现方式中,所述方法还包括:
[0022]当所述第一查询结果为存在所述共享卷的挂载点时,由所述备节点每隔第一时间向所述卷管理装置查询所述共享卷的挂载点;
[0023]当由所述备节点向所述卷管理装置执行第一预设次数查询后获得的查询结果均为存在所述共享卷的挂载点时,所述集群管理装置接收所述备节点发送的反馈信息;
[0024]所述集群管理装置根据所述反馈信息控制所述至少一个备节点中除所述备节点外的一个备节点执行升主操作。
[0025]结合本发明实施例第一方面的第四种可能的实现方式,在本发明实施例第一方面的第六种可能的实现方式中,所述方法还包括:
[0026]当所述第二查询结果为存在所述共享卷加载的Scs1-3锁时,由所述备节点每隔第二时间向所述卷管理装置查询所述共享卷的加锁信息;
[0027]当由所述备节点向所述卷管理装置执行第二预设次数查询后获得的查询结果均为存在所述共享卷加载的Scs1-3锁时,由所述备节点抢占所述共享卷加载的Scs1-3锁。
[0028]结合本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第七种可能的实现方式中,所述方法还包括:
[0029]当所述集群管理装置检测到在所述预设时间间隔内接收到所述主节点发送的所述心跳报文时,所述集群管理装置针对所述心跳报文向所述主节点发送心跳反馈报文。
[0030]本发明实施例第二方面公开了一种集群管理装置,用于执行高可用性集群管理方法,所述高可用性集群包括至少一个主节点、至少一个备节点和集群管理装置,所述集群管理装置通过心跳链路分别与所述至少一个主节点和所述至少一个备节点进行连接通信,所述集群管理装置包括:
[0031]检测单元,用于针对所述至少一个主节点中的每一个主节点,检测是否发生目标事件,所述目标事件为触发所述集群管理装置针对所述主节点进行切主操作的事件;
[0032]控制单元,用于当所述检测单元检测到发生所述目标事件时,控制所述至少一个备节点中的一个备节点执行升主操作。
[0033]结合本发明实施例第二方面,在本发明实施例第二方面的第一种可能的实现方式中,所述检测单元针对所述至少一个主节点中的每一个主节点,检测是否发生目标事件的方式具体为:
[0034]所述检测单元针对所述至少一个主节点中的每一个主节点,检测是否在预设时间间隔内未接收到所述主节点发送的心跳报文,当在所述预设时间间隔内未接收到所述主节点发送的所述心跳报文时,则检测出发生目标事件。
[0035]结合本发明实施例第二方面,在本发明实施例第二方面的第二种可能的实现方式中,所述检测单元针对所述至少一个主节点中的每一个主节点,检测是否发生目标事件的方式具体为:
[0036]所述检测单元针对所述至少一个主节点中的每一个主节点,检测是否接收到所述主节点发送的异常服务上报信息,当接收到所述主节点发送的所述异常服务上报信息时,则检测出发生目标事件。
[0037]结合本发明实施例第二方面或第二方面的第一种至第二种中的任一种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,各个主节点上加载有浮动ip、Scs1-3锁以及共享卷,不同主节点对应的浮动ip不同,且不同主节点对应的Scs1-3锁不同,一个主节点通过对应的Scs1-3锁唯一访问与所述Scs1-3锁对应的共享卷。
[0038]结合本发明实施例第二方面的第三种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中,所述高可用性集群还包括卷管理装置,用于管理各个共享卷,所述控制单元包括:
[0039]通知子单元,用于通知所述至少一个备节点中的一个备节点加载所述主节点对应的浮动ip,以使得所述备节点对所述主节点对应的浮动ip进行加载,并由所述备节点检测所述浮动ip是否存在冲突;
[0040]第一接收子单元,用于当所述浮动ip不存在冲突时,接收所述备节点发送的查询请求,所述查询请求用于查询所述浮动ip对应的共享卷;
[0041]发送子单元,用于针对所述查询请求向所述备节点发送所述浮动ip对应的共享卷,以使所述备节点向所述卷管理装置查询所述共享卷的挂载信息,以获得第一查询结果,所述挂载信息包括所述共享卷的挂载点;当所述第一查询结果为不存在所述共享卷的挂载点时,由所述备节点加载所述共享卷,以使所述备节点作为所述共享卷的挂载点;由所述备节点向所述卷管理装置查询所述共享卷的加锁信息,以获得第二查询结果,所述加锁信息包括所述共享卷加载的Scs1-3锁;当所述第二查询结果为不存在所述共享卷加载的Scs1-3锁时,由所述备节点为所述共享卷加载所述Scs1-3锁。
[0042]结合本发明实施例第二方面的第四种可能的实现方式,在本发明实施例第二方面的第五种可能的实现方式中,所述控制单元还包括:
[0043]第二接收子单元,用于当所述第一查询结果为存在所述共享卷的挂载点时,由所述备节点每隔第一时间向所述卷管理装置查询所述共享卷的挂载点,当由所述备节点向所述卷管理装置执行第一预设次数查询后获得的查询结果均为存在所述共享卷的挂载点时,接收所述备节点发送的反馈信息;
[0044]控制子单元,用于根据所述反馈信息控制所述至少一个备节点中除所述备节点外的一个备节点执行升主操作。
[0045]结合本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第六种可能的实现方式中,所述集群管理装置还包括:
[0046]发送单元,用于当所述检测单元检测到在所述预设时间间隔内接收到所述主节点发送的所述心跳报文时,针对所述心跳报文向所述主节点发送心跳反馈报文。
[0047]本发明实施例中,高可用性集群包括至少一个主节点、至少一个备节点和集群管理装置,集群管理装置通过心跳链路分别与上述至少一个主节点和上述至少一个备节点进行连接通信,针对每一个主节点,集群管理装置可以检测是否发生目标事件,该目标事件为触发集群管理装置针对该主节点进行切主的事件,当检测到发生该目标事件时,集群管理装置控制上述至少一个备节点中的一个备节点执行升主操作。可见,本发明实施例中高可用性集群可以包括多个主节点和多个备节点,且每一个主节点可以共享多个备节点,可以通过多主对多备的模式来提高备节点的资源利用率;此外,将多个主节点与多个备节点同时连接到集群管理装置,由集群管理装置对异常情况进行判断来进行切主操作,从而可以大大降低脑裂发生的概率,进而提高服务的可靠性。
【附图说明】
[0048]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1