一种HA系统中实现VIP地址漂移的方法和装置制造方法及图纸

技术编号:24589438 阅读:53 留言:0更新日期:2020-06-21 02:24
本申请提供了一种HA系统中实现VIP地址漂移的方法,应用于HA系统中的任一服务节点上,该方法包括:该服务节点作为主节点时,若确定本服务节点故障,则卸载VIP地址,并切换本服务节点为备节点;该服务节点作为备节点时,若确定主节点故障,本服务节点未故障,且所述VIP地址未被占用,则挂载该VIP地址到本地,并切换本服务节点为主节点,使用所述VIP地址对外提供应用服务。该方案能够在高可用性和高可靠性的基础上,保证单个节点异常时系统对外服务不中断。

A method and device of VIP address drift in HA system

【技术实现步骤摘要】
一种HA系统中实现VIP地址漂移的方法和装置
本专利技术涉及集群应用
,特别涉及一种HA系统中实现VIP地址漂移的方法和装置。
技术介绍
高可用性集群(HighAvailable,HA)集群应用
,HA集群主要用于对系统可用性要求很高的场景,要求服务不可中断,7×24小时在线。现有技术实现虚拟因特网协议(VirtualIP,VIP)地址时,实际IP对应的网卡描述信息、虚拟IP及其子网掩码、虚拟IP设置状态和每个服务节点的角色信息(主机或者备机),都保存在数据库中,这使得此方案对数据库有很强依赖,无法单独使用,而且一旦数据库异常无法正常访问时,此虚拟IP也无法在主备机之间切换。
技术实现思路
有鉴于此,本申请提供一种HA系统中实现VIP地址漂移的方法和装置,能够在高可用性和高可靠性的基础上,保证单个节点异常时系统对外服务不中断。为解决上述技术问题,本申请的第一方面提供一种HA系统中实现VIP地址漂移的方法,应用于HA系统中的任一服务节点上,该方法包括:该服务节点作为主节点时,若确定本服务节点故障,则卸载VIP地址,并切换本服务节点为备节点;该服务节点作为备节点时,若确定主节点故障,本服务节点未故障,且所述VIP地址未被占用,则挂载该VIP地址到本地,并切换本服务节点为主节点,使用所述VIP地址对外提供应用服务。本申请的第二方面提供一种HA系统中实现VIP地址漂移的装置,应用于HA系统中的任一服务节点上,该装置包括:第一确定单元、第二确定单元和处理单元;所述第一确定单元,用于本单元所在服务节点作为主节点时,确定本服务节点是否故障;本单元所在服务节点作为备节点时,确定主节点是否故障,确定本单元所在服务节点是否故障;所述第二确定单元,用于本单元所在服务节点作为备节点时,确定VIP地址是否被占用;所述处理单元,用于本单元所在服务节点作为主节点,所述第一确定单元确定本服务节点故障,则卸载VIP地址,并切换本服务节点为备节点;本单元所在服务节点作为备节点时,若所述第一确定单元确定主节点故障,本服务节点未故障,且所述第二确定单元确定所述VIP地址未被占用,则挂载该VIP地址到本地,并切换本服务节点为主节点,使用所述VIP地址对外提供应用服务。本申请的第三方面提供一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如前述任一项所述的大数据集群管理方法的步骤。一种电子设备,包括如所述非瞬时计算机可读存储介质、以及可访问所述非瞬时计算机可读存储介质的所述处理器。由上面的技术方案可知,本申请中若作为主节点的服务节点故障,主备节点自动实现在线VIP地址切换,进而实现VIP地址在主备节点间漂移,能够在高可用性和高可靠性的基础上,保证单个节点异常时系统对外服务不中断。附图说明图1为本申请实施例中VIP地址抢占流程示意图;图2为本申请实施例中HA系统中实现VIP地址漂移流程示意图;图3为本申请实施例中应用于上述技术的装置结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本专利技术的技术方案进行详细说明。本申请实施例提供了一种HA系统中实现VIP地址漂移的方法,应用于windows平台下,在具体实现时,若作为主节点的服务节点故障,主备节点自动实现在线VIP地址切换,进而实现VIP地址在主备节点间漂移,能够在高可用性和高可靠性的基础上,保证单个节点异常时系统对外服务不中断(客户端通过VIP地址访问HA集群,服务节点为客户端提供HA服务)。本申请实施例中应用于包括两个服务节点的HA系统中,两个服务节点上均运行HA服务。HA系统启动初始化时,并不具体地指定某一个服务节点作为主节点从而持有VIP地址,而是让服务节点以抢占的方式获取VIP地址,抢占VIP地址成功的节点自动成为主节点,另一个节点自动成为从节点。下面结合附图详细说明本申请实施例中抢占VIP地址的过程。参见图1,图1为本申请实施例中VIP地址抢占流程示意图。具体步骤为:步骤101,服务节点上启动HA服务。服务节点上启动HA服务,进行初始化时,当该服务节点未作为主节点,且未作为备节点。本申请实施例中以HA系统中包括服务节点A和服务节点B为例,在两个服务节点启动HA服务时,服务节点A和服务节点B不存在角色之分,即服务节点A不作为主节点,也不作为备节点;服务节点B不作为主节点,也不作为备节点。步骤102,该服务节点确定VIP地址是否已在本服务节点存在,如果是,执行步骤107;否则,执行步骤103。服务节点A和服务节点B均确定VIP地址是否已在本服务节点存在;以服务节点A为例,如果服务节点A确定VIP地址在本服务节点已存在,则执行步骤107;否则,执行步骤103。服务节点B也会作与服务节点A类似的判断,这里不再详细描述。步骤103,该服务节点发送地址解析协议(AddressResolutionProtocol,ARP)请求。服务节点发送ARP请求时,可以通过调用winAPI函数SendARP来实现,接收到响应时,获取VIP地址对应的MAC地址。具体实现时,服务节点以广播方式在当前局域网中发送ARP请求,所述局域网中的节点均会接收到所述ARP请求。在当前的局域网如果有使用该VIP地址的节点,则该节点会将VIP地址对应的MAC地址响应给发送请求的节点;如果没有节点使用该VIP地址,则不会向发送该ARP请求的节点发送响应。步骤104,该服务节点根据该ARP响应结果确定所述VIP地址是否被占用,如果是,执行步骤105;否则,执行步骤106。该服务节点若接收到其它节点响应的VIP地址对应的MAC地址,则确定该VIP地址被占用;当没有接收到其它节点响应的该VIP地址对应的MAC地址,则确定该VIP地址未被占用。具体实现时,可以设置一个接收响应的定时器,定时器超时时,还未接收到其它节点响应的该VIP地址的MAC地址,则确定没有接收到其它节点响应的该VIP地址对应的MAC地址。以服务节点A为例,如果广播发送ARP请求后,未接收到其它节点响应的该VIP地址对应的MAC地址,则确定该VIP地址未被占用,则执行步骤105;否则,执行步骤106。步骤105,该服务节点将本服务节点作为备节点,结束本流程。具体实现时,将本服务节点设置为为备节点角色,来实现备节点的功能。步骤106,该服务节点将本服务节点作为主节点,并将该VIP地址挂载到本地;结束本流程。这里将VIP地址挂载到本地,即将该VIP地址存到本地进行占用。步骤107,该服务节点将本服务节点作为主节点。具体实现时,将本服务节点设置为为主节点角色,来实现主节点的功能。至此,VIP地址抢占过程结束,实现了主备本文档来自技高网...

【技术保护点】
1.一种高可用性集群HA系统中实现虚拟因特网协议VIP地址漂移的方法,应用于HA系统中的任一服务节点上,其特征在于,该方法包括:/n该服务节点作为主节点时,若确定本服务节点故障,则卸载VIP地址,并切换本服务节点为备节点;/n该服务节点作为备节点时,若确定主节点故障,本服务节点未故障,且所述VIP地址未被占用,则挂载该VIP地址到本地,并切换本服务节点为主节点,使用所述VIP地址对外提供应用服务。/n

【技术特征摘要】
1.一种高可用性集群HA系统中实现虚拟因特网协议VIP地址漂移的方法,应用于HA系统中的任一服务节点上,其特征在于,该方法包括:
该服务节点作为主节点时,若确定本服务节点故障,则卸载VIP地址,并切换本服务节点为备节点;
该服务节点作为备节点时,若确定主节点故障,本服务节点未故障,且所述VIP地址未被占用,则挂载该VIP地址到本地,并切换本服务节点为主节点,使用所述VIP地址对外提供应用服务。


2.根据权利要求1所述的方法,其特征在于,确定所述VIP地址未被占用,包括:
发送地址解析协议ARP请求查询所述VIP地址的媒体访问控制MAC地址;
预设时间内未接收任一设备发送的响应,则确定所述VIP地址未被占用。


3.根据权利要求1所述的方法,其特征在于,
该服务节点作为主节点,确定本服务节点故障,包括:
以第一预设周期为周期周期性向网关发送控制报文协议ICMP请求;
在第一预设周期内若未接收到网关的ICMP响应,则确定本服务节点故障;
该服务节点作为备节点,确定主节点故障,包括:
该服务节点作为备节点时,接收作为主节点的服务节点以第二预设周期为周期周期性发送的心跳消息;在第二预设周期内若未接收到作为主节点的服务节点发送的心跳消息,则确定主节点故障;
该服务节点作为备节点,确定本服务节点未故障,包括:
向网关发送ICMP请求;
在第一预设周期内若接收到网关的ICMP响应,则确定本服务节点未故障。


4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
当该服务节点未作为主节点,且未作为备节点时,确定VIP地址是否已在本服务节点存在,如果是,将本服务节点作为主节点;否则,发送ARP请求;
当根据ARP响应结果确定该VIP地址未被占用时,将本服务节点作为主节点,并将该VIP地址挂载到本地;
当根据ARP响应结果确定该VIP地址被占用时,将本服务节点作为备节点。


5.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
接收用户配置的权值,并存储;其中,所述接收到的权值与所述HA系统中的其它服务节点上的初始配置的权值相同;
当确定HA服务对应的进程出现一次异常退出,通过减少第一预设值更新当前存储的权值;
当本服务节点上的任一应用服务出现一次异常,通过减少第二预设值更新当前存储的权值;
该服务节点作为主节点时,若更新后的权值小于预设阈值,则卸载VIP地址,并切换本服务节点为备节点,不再发送心跳信息。


6.根据权利要求1-5任一项所述的方法,其特征在于,所述方法进一步包括:
该服务节点针对HA服务启动第一进程和第二进程两个等价进程,第一进程和第二进程互相检测;
该服务节点作为主节点,当通过第一进程检测到第二进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并通过第一进程重启第二进程;
该服务节点作为备节点,当通过第一进程检测到第二进程异常退出时,通过第一进程重启第二进程。


7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法进一步包括:
该服务节点针对HA服务启动主进程和从进程,主进程和从进程互相检测;
该服务节点作为主节点,当通过从进程检测到主进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出从进程,等待主进程重启时重启该从进程;当通过主进程检测到从进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出主进程;等待本服务节点重启主进程;
该服务节点作为备节点,当通过从进程检测到主进程异常退出时,退出从进程,等待主进程重启时重启该从进程;当通过主进程检测到从进程异常退出时,退出主进程,等待本服务节点重启主进程。


8.一种高可用性集群HA系统中实现虚拟因特网协议VIP地址漂移的装置,应用于HA系统中的任一服务节点上,其特征在于,该装置包括:第一确定单元、第二确定单元和处理单元;
所述第一确定单元,用于本单元所在服务节点作为主节点时,确定本服务节点是否故障;本单元所在服务节点作为备节点时,确定主节点是否故障,确定本单元所在服务节点是否故障;
所述第二确定单元,用于本单元所在服务节点作为备节点时,确定VIP地址是否被占用;
所述处理单元,用于本单元所在服务节点作为主节点,...

【专利技术属性】
技术研发人员:王勇黄健
申请(专利权)人:杭州海康威视系统技术有限公司
类型:发明
国别省市:浙江;33

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

1