CN111314098A - 一种ha系统中实现vip地址漂移的方法和装置 - Google Patents

一种ha系统中实现vip地址漂移的方法和装置 Download PDF

Info

Publication number
CN111314098A
CN111314098A CN201811507960.1A CN201811507960A CN111314098A CN 111314098 A CN111314098 A CN 111314098A CN 201811507960 A CN201811507960 A CN 201811507960A CN 111314098 A CN111314098 A CN 111314098A
Authority
CN
China
Prior art keywords
node
service node
service
vip address
main
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811507960.1A
Other languages
English (en)
Inventor
王勇
黄健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201811507960.1A priority Critical patent/CN111314098A/zh
Publication of CN111314098A publication Critical patent/CN111314098A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

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

Description

一种HA系统中实现VIP地址漂移的方法和装置
技术领域
本发明涉及集群应用技术领域,特别涉及一种HA系统中实现VIP地址漂移的方法和装置。
背景技术
高可用性集群(High Available,HA)集群应用技术领域,HA集群主要用于对系统可用性要求很高的场景,要求服务不可中断,7×24小时在线。
现有技术实现虚拟因特网协议(Virtual IP,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,该服务节点发送地址解析协议(Address Resolution Protocol,ARP)请求。
服务节点发送ARP请求时,可以通过调用win API函数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地址抢占过程结束,实现了主备节点角色的初始化,即确定了哪个服务节点作为主节点,哪个节点作为备节点。
本申请实施例中HA服务启动初始化时,并不具体地指定某一个服务节点作为主节点从而持有VIP地址,而是让服务节点以抢占的方式获取VIP地址,抢占VIP地址成功的节点自动成为主节点,另一个节点自动成为备节点。这种自动实现主备节点的方案更合理,也能防止指定主备不合理的情况下导致主备切换。
随着服务节点的持续运行,主节点可能会发生故障,这里的故障可能是网络故障,也可能是设备故障,会导致HA服务不可用,这时需要一种机制能够使VIP地址自动漂移到从节点所对应的服务节点上。具体实现过程如下:
参见图2,图2为本申请实施例中HA系统中实现VIP地址漂移流程示意图。具体步骤为:
步骤201,任一服务节点作为主节点时,若确定本服务节点故障,则卸载VIP地址,并切换为备节点。
该服务节点作为主节点,确定本服务节点故障,具体包括:
该服务节点作为主节点以第一预设周期为周期周期性向网关发送控制报文协(Internet Control Message Protocol,ICMP)请求;这里的周期设置的比较小,可以是一种持续发送的效果。
在第一预设周期内若未接收到网关的ICMP响应,则确定本服务节点故障;否则,确定本服务节点正常运行。
步骤202,该服务节点作为备节点时,若确定主节点故障,本服务节点未故障,且所述VIP地址未被占用,则挂载该VIP地址到本地,并切换本服务节点为主节点,使用所述VIP地址对外提供应用服务。
本步骤在中服务节点作为备节点,确定主节点故障,包括:
主节点会以第二预设周期为周期周期性发送心跳消息;
该服务节点作为备节点时,接收作为主节点的服务节点以第二预设周期为周期周期性发送的心跳消息;在第二预设周期内若未接收到作为主节点的服务节点发送的心跳消息,则确定主节点故障;
在第二预设周期内若接收到作为主节点的服务节点发送的心跳消息,则确定该主节点正常运行。
该服务节点作为备节点,确定本服务节点未故障,包括:
向网关发送ICMP请求;
在第一预设周期内若接收到网关的ICMP响应,则确定本服务节点未故障;否则,确定本服务节点故障。
无论作为主节点或者备节点,确定所述VIP地址未被占用,均可通过如下方式:
服务节点发送ARP请求查询所述VIP地址的MAC地址;
预设时间内未接收任一设备发送的响应,则该服务节点确定所述VIP地址未被占用;否则,确定该VIP地址被占用。
步骤202中该服务节点作为备节点时,若同时满足如下三个条件:主节点故障,本服务节点未故障,且所述VIP地址未被占用;才会切换为主节点;否则,仍然作为备节点的角色。
步骤201和步骤202的执行部分先后顺序,作为不同角色时发生相应的情况,执行对应的操作即可。
下面结合具体例子,详细说明主备节点之间VIP地址的漂移过程:
以服务节点1和服务节点2均运行HA服务,且在初始抢占VIP地址时,服务节点1抢占成功,则服务节点1作为主节点,服务节点2作为备节点。
在两个服务节点运行过程中,服务节点1会持续给服务节点2发送心跳消息;
服务节点1持续向网关发送ICMP请求,以确定自身是否在线。
当服务节点1在第一预设周期内未接收到网关的响应时,确定本服务节点故障。
当服务节点1故障时,不再向服务节点2发送心跳消息;并且卸载VIP地址,将本服务节点设置为备节点。
服务节点2在第二预设周期内未接收到服务节点1发送的心跳报文,确定主节点故障。
服务节点2向网关发送ICMP请求,以确定自身是否在线。
服务节点2在第一预设周期内接收到网关的响应时,确定本服务节点未故障,即在线。
服务节点2发送ARP请求以确定VIP地址是否被占用;
当在预设时间内未接收到其他节点的响应,则确定该VIP地址未被占用。
这时服务节点2挂载VIP地址到本地,将本服务节点设置为主节点,并持续向服务节点1发送心跳消息;持续向网关发送ICMP请求。
本申请的实施例中,系统中有节点故障时,VIP地址会被卸载,这样VIP地址肯定不会再被故障的节点占用;避免VIP地址被重复挂载和系统中出现双主节点的脑裂现象;备节点在挂载VIP地址和设置自己为主节点之前也会检查自己是否网络正常能和网关正常通信,从而避免由于自身网络异常导致的VIP地址被重复挂载,在系统中出现双主节点的脑裂现象。
本申请实施例中实现windows平台的HA系统的虚拟IP漂移切换,不依赖其他的任何第三方服务或者组件,自身作为一个基础服务组件独立部署,由于不受第三方组件或者服务的影响,HA服务部署会更加简易方便,运行地更稳定,可靠性更高。
系统VIP地址切换时,自动地在线进行,无须停止或者禁用节点的网卡,只会出现时间很短的网络抖动,不会有应用服务的中断情况发生,更具高可用性。
基于上述的实现,为了保证HA服务异常时VIP地址一定被卸载,本申请实施例中给出了在每个服务节点上针对HA服务开启两个进程的实现方式,具体如下:
第一种实现方式,每个服务节点针对HA服务启动第一进程和第二进程两个等价进程,即地位平等,第一进程和第二进程互相检测。
以服务节点2为例,启动第一进程(进程1)和第二进程(进程2),进程1和进程2为等价进程,进程1和进程2互相检测。
针对任一服务进程通过调用函数进行进程扫描,确定进程是否在线,不在线的确定为异常退出。
该服务节点作为主节点,当通过第一进程检测到第二进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并通过第一进程重启第二进程;
服务节点2作为主节点时,当通过进程1检测到进程2异常退出时,卸载VIP地址,并将本服务节点的角色切换为备节点;并通过进程1重启进程2。
该服务节点作为备节点,当通过第一进程检测到第二进程异常退出时,通过第一进程重启第二进程,即立刻拉起异常退出的进程。
服务节点2作为备节点时,当进程1检测到进程2异常退出时,通过进程1重启进程2。
该实施例中以第一进程检测到第二进程异常退出的实现,如果第二进程检测到第一进程异常退出,实现与上述描述类似,这里不再一一描述。
该实现方式中未异常退出的进程重启异常退出的进程。
第二种实现方式,每个服务节点针对HA服务启动主进程和从进程,主进程和从进程互相检测;主进程由服务节点重启,从进程通过主进程重启;
以服务节点1为例,启动主进程(进程1)和从进程(进程2),进程1和进程2为主从进程,进程1和进程2互相检测,进程1由服务节点1重启,进程2由进程1重启。
针对任一服务进程通过调用函数进行进程扫描,确定进程是否在线,不在线的确定为异常退出。
该服务节点作为主节点,当通过从进程检测到主进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出从进程,等待主进程重启时重启该从进程;当通过主进程检测到从进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出主进程;等待本服务节点重启主进程;
服务节点1作为主节点,当通过进程2检测到进程1异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出进程2,等待进程1重启时重启该进程2;当通过进程1检测到进程2异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出进程1;等待本服务节点重启进程1;
该服务节点作为备节点,当通过从进程检测到主进程异常退出时,退出从进程,等待主进程重启时重启该从进程;当通过主进程检测到从进程异常退出时,退出主进程,等待本服务节点重启主进程。
服务节点1作为备节点,当通过进程2检测到进程1异常退出时,退出进程2,等待进程1重启时重启该进程2;当通过进程1检测到进程2异常退出时,退出进程1,等待本服务节点重启进程1。
一般两个进程不会同时异常退出,总有先后,这样能够保证在HA服务异常时,VIP地址一定会被卸载。
为了使HA系统应用服务更稳定,应该保证主节点稳定,不会频繁的被切换,造成系统抖动。这样本申请实施例中为每个服务节点维护一个权值,随着节点HA服务的运行,这个权值会动态变化,当HA服务本身的其中一个进程异常退出一次,权值减小一些,应用服务健康检查出现一次异常,权值也会减小一些,系统VIP地址漂移切换时,节点权值也会作为其中一个重要因素。
如此,系统周而复始地运行下去,在一段时间内,表现更稳定的节点的权值相对会越来越高,有更多的机会成为主节点对外提供服务,不太稳定的那个节点,权值会相对比较低,更多的时候作为从节点,充当临时替补的角色。
本申请针对上述描述给出了如下具体实现方式:
服务节点接收用户配置的权值,并存储;其中,所述接收到的权值与所述HA系统中的其它服务节点上的初始配置的权值相同;
也就是说在两个服务节点上配置初始权值,两个节点上配置的初始权值是相同的。
如其中一个服务节点C配置的权值为10。
当任一服务节点确定HA服务对应的进程出现一次异常退出,通过减少第一预设值更新当前存储的权值;
当任一服务节点上的任一应用服务出现一次异常,通过减少第二预设值更新当前存储的权值;
其中,第一预设值与第二预设值可以相同也可以不同。
该服务节点作为主节点时,若更新后的权值小于预设阈值,则卸载VIP地址,并切换本服务节点为备节点,不再发送心跳信息。
假设第一预设值为1,第二预设值为2,预设阈值为6。
如服务节点C的HA服务对应的进程出现了一次异常退出,则权值更新为10-1=9;
如服务节点C的一个应用服务出现了第一次异常时,则权值更新为9-2=7;
另一个应用服务又出现了一次异常时,则权值更新为7-2=5。
此时,确定当前存储的权值5小于预设阈值6,则卸载VIP地址,并切换本服务节点为备节点,不再发送心跳信息。
本申请实施例中引入服务节点的权值管理,动态维护一段时间内节点的优先级,尽可能保证在某一时期内更稳定的服务节点,更多的充当主节点对外服务,提高应用服务的稳定性。
基于同样的发明构思,本申请还提供一种HA系统中实现VIP地址漂移的装置,应用于HA系统中的任一服务节点上。参见图3,图3为本申请实施例中应用于上述技术的装置结构示意图。该装置包括:第一确定单元301、第二确定单元302和处理单元303;
第一确定单元301,用于本单元所在服务节点作为主节点时,确定本服务节点是否故障;本单元所在服务节点作为备节点时,确定主节点是否故障,确定本单元所在服务节点是否故障;
第二确定单元302,用于本单元所在服务节点作为备节点时,确定VIP地址是否被占用;
处理单元303,用于本单元所在服务节点作为主节点,第一确定单元301确定本服务节点故障,则卸载VIP地址,并切换本服务节点为备节点;本单元所在服务节点作为备节点时,若第一确定单元301确定主节点故障,本服务节点未故障,且第二确定单元302确定所述VIP地址未被占用,则挂载该VIP地址到本地,并切换本服务节点为主节点,使用所述VIP地址对外提供应用服务。
较佳地,
第二确定单元302,具体用于确定所述VIP地址未被占用时,发送ARP请求查询所述VIP地址的MAC地址;预设时间内未接收任一设备发送的响应,则确定所述VIP地址未被占用。
较佳地,
第一确定单元301,具体用于本单元所在服务节点作为主节点,确定本服务节点故障时,以第一预设周期为周期周期性向网关发送ICMP请求;在第一预设周期内若未接收到网关的ICMP响应,则确定本服务节点故障;本单元所在服务节点作为备节点,确定主节点故障时,接收作为主节点的服务节点以第二预设周期为周期周期性发送的心跳消息;在第二预设周期内若未接收到作为主节点的服务节点发送的心跳消息,则确定主节点故障;本单元所在服务节点作为备节点,确定本服务节点未故障时,向网关发送ICMP请求;在第一预设周期内若接收到网关的ICMP响应,则确定本服务节点未故障。
较佳地,
第二确定单元302,进一步用于当本单元所在服务节点未作为主节点,且未作为备节点时,确定VIP地址是否已在本服务节点存在;当确定本地不存在所述VIP地址时,发送ARP请求;并根据ARP响应结果确定该VIP地址是否被占用;
处理单元303,进一步用于当第二确定单元302确定本地存在所述VIP地址时,将本服务节点作为主节点;当第二确定单元302根据ARP响应结果确定该VIP地址未被占用时,将本服务节点作为主节点,并将该VIP地址挂载到本地;当根据ARP响应结果确定该VIP地址被占用时,将本服务节点作为备节点。
较佳地,所述装置进一步包括:存储单元304和更新单元305;
存储单元304,用于接收用户配置的权值,并存储;其中,所述接收到的权值与所述HA系统中的其它服务节点上的初始配置的权值相同;
更新单元305,用于当确定HA服务对应的进程出现一次异常退出,通过减少第一预设值更新存储单元304当前存储的权值;当本单元所在服务节点上的任一应用服务出现一次异常,通过减少第二预设值更新当前存储的权值;
处理单元303,进一步用于本单元所在服务节点作为主节点时,若更新单元305更新后的权值小于预设阈值,则卸载VIP地址,并切换本服务节点为备节点,不再发送心跳信息。
较佳地,
处理单元303,进一步用于针对HA服务启动第一进程和第二进程两个等价进程,第一进程和第二进程互相检测;本单元所在服务节点作为主节点,当通过第一进程检测到第二进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并通过第一进程重启第二进程;本单元所在服务节点作为备节点,当通过第一进程检测到第二进程异常退出时,通过第一进程重启第二进程。
较佳地,
处理单元303,进一步用于针对HA服务启动主进程和从进程,主进程和从进程互相检测;本单元所在服务节点作为主节点,当通过从进程检测到主进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出从进程,等待主进程重启时重启该从进程;当通过主进程检测到从进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出主进程;等待本服务节点重启主进程;本单元所在服务节点作为备节点,当通过从进程检测到主进程异常退出时,退出从进程,等待主进程重启时重启该从进程;当通过主进程检测到从进程异常退出时,退出主进程,等待本服务节点重启主进程。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
此外,本申请实施例中还提供一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行所述HA系统中实现VIP地址漂移方法的步骤。
另外,还提供一种电子设备,包括如所述非瞬时计算机可读存储介质、以及可访问所述非瞬时计算机可读存储介质的所述处理器。
综上所述,本申请实现windows平台的HA系统的虚拟IP漂移切换,不会依赖其他的任何第三方服务或者组件,自身作为一个基础服务组件独立部署,由于不受第三方组件或者服务的影响,HA服务部署会更加简易方便,运行地更稳定,可靠性更高。
系统VIP地址切换时,自动地在线进行(无须停止或者禁用节点的网卡),只会出现时间很短的网络抖动,不会有应用服务的中断情况发生,更具高可用性。
HA服务运行时,作为Master节点会持续地判断自己的网络状态,一旦发现自身网络异常无法正常通信,就会从Master角色切出,让出虚拟ip,以便另一正常节点接管服务,这可以有效避免由于网络异常造成的集群脑裂现象。
引入服务节点的权值管理,动态维护一段时间内节点的优先级,尽可能保证在某一时期内更稳定的服务节点,更多的充当Master节点对外服务,提高应用服务的稳定性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (16)

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地址是否被占用;
所述处理单元,用于本单元所在服务节点作为主节点,所述第一确定单元确定本服务节点故障,则卸载VIP地址,并切换本服务节点为备节点;本单元所在服务节点作为备节点时,若所述第一确定单元确定主节点故障,本服务节点未故障,且所述第二确定单元确定所述VIP地址未被占用,则挂载该VIP地址到本地,并切换本服务节点为主节点,使用所述VIP地址对外提供应用服务。
9.根据权利要求8所述的装置,其特征在于,
所述第二确定单元,具体用于确定所述VIP地址未被占用时,发送地址解析协议ARP请求查询所述VIP地址的媒体访问控制MAC地址;预设时间内未接收任一设备发送的响应,则确定所述VIP地址未被占用。
10.根据权利要求8所述的装置,其特征在于,
所述第一确定单元,具体用于本单元所在服务节点作为主节点,确定本服务节点故障时,以第一预设周期为周期周期性向网关发送控制报文协议ICMP请求;在第一预设周期内若未接收到网关的ICMP响应,则确定本服务节点故障;本单元所在服务节点作为备节点,确定主节点故障时,接收作为主节点的服务节点以第二预设周期为周期周期性发送的心跳消息;在第二预设周期内若未接收到作为主节点的服务节点发送的心跳消息,则确定主节点故障;本单元所在服务节点作为备节点,确定本服务节点未故障时,向网关发送ICMP请求;在第一预设周期内若接收到网关的ICMP响应,则确定本服务节点未故障。
11.根据权利要求8所述的装置,其特征在于,
所述第二确定单元,进一步用于当本单元所在服务节点未作为主节点,且未作为备节点时,确定VIP地址是否已在本服务节点存在;当确定本地不存在所述VIP地址时,发送ARP请求;并根据ARP响应结果确定该VIP地址是否被占用;
所述处理单元,进一步用于当所述第二确定单元确定本地存在所述VIP地址时,将本服务节点作为主节点;当所述第二确定单元根据ARP响应结果确定该VIP地址未被占用时,将本服务节点作为主节点,并将该VIP地址挂载到本地;当根据ARP响应结果确定该VIP地址被占用时,将本服务节点作为备节点。
12.根据权利要求8所述的装置,其特征在于,所述装置进一步包括:存储单元和更新单元;
所述存储单元,用于接收用户配置的权值,并存储;其中,所述接收到的权值与所述HA系统中的其它服务节点上的初始配置的权值相同;
所述更新单元,用于当确定HA服务对应的进程出现一次异常退出,通过减少第一预设值更新所述存储单元当前存储的权值;当本单元所在服务节点上的任一应用服务出现一次异常,通过减少第二预设值更新当前存储的权值;
所述处理单元,进一步用于本单元所在服务节点作为主节点时,若所述更新单元更新后的权值小于预设阈值,则卸载VIP地址,并切换本服务节点为备节点,不再发送心跳信息。
13.根据权利要求8-12任一项所述的装置,其特征在于,
所述处理单元,进一步用于针对HA服务启动第一进程和第二进程两个等价进程,第一进程和第二进程互相检测;本单元所在服务节点作为主节点,当通过第一进程检测到第二进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并通过第一进程重启第二进程;本单元所在服务节点作为备节点,当通过第一进程检测到第二进程异常退出时,通过第一进程重启第二进程。
14.根据权利要求8-12任一项所述的装置,其特征在于,
所述处理单元,进一步用于针对HA服务启动主进程和从进程,主进程和从进程互相检测;本单元所在服务节点作为主节点,当通过从进程检测到主进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出从进程,等待主进程重启时重启该从进程;当通过主进程检测到从进程异常退出时,卸载VIP地址,把本服务节点作为备节点;并退出主进程;等待本服务节点重启主进程;本单元所在服务节点作为备节点,当通过从进程检测到主进程异常退出时,退出从进程,等待主进程重启时重启该从进程;当通过主进程检测到从进程异常退出时,退出主进程,等待本服务节点重启主进程。
15.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至7中任一项所述的大数据集群管理方法的步骤。
16.一种电子设备,其特征在于,包括如权利要求15所述的非瞬时计算机可读存储介质、以及可访问所述非瞬时计算机可读存储介质的所述处理器。
CN201811507960.1A 2018-12-11 2018-12-11 一种ha系统中实现vip地址漂移的方法和装置 Pending CN111314098A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811507960.1A CN111314098A (zh) 2018-12-11 2018-12-11 一种ha系统中实现vip地址漂移的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811507960.1A CN111314098A (zh) 2018-12-11 2018-12-11 一种ha系统中实现vip地址漂移的方法和装置

Publications (1)

Publication Number Publication Date
CN111314098A true CN111314098A (zh) 2020-06-19

Family

ID=71146529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811507960.1A Pending CN111314098A (zh) 2018-12-11 2018-12-11 一种ha系统中实现vip地址漂移的方法和装置

Country Status (1)

Country Link
CN (1) CN111314098A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360579A (zh) * 2021-06-30 2021-09-07 平安普惠企业管理有限公司 数据库高可用处理方法、装置、电子设备及存储介质
CN114020466A (zh) * 2021-11-08 2022-02-08 江苏安超云软件有限公司 双活负载均衡的方法及装置、电子设备和存储介质
CN115473766A (zh) * 2022-08-22 2022-12-13 苏州思萃工业互联网技术研究所有限公司 一种基于分布式网关的vip实现方法和系统
CN115967669A (zh) * 2023-03-16 2023-04-14 北京志凌海纳科技有限公司 基于vrrp拓展协议的脑裂抑制方法及装置
CN116781494A (zh) * 2023-08-17 2023-09-19 天津南大通用数据技术股份有限公司 一种基于现有网络设备的主备倒换判决方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821044A (zh) * 2012-07-27 2012-12-12 北京奇虎科技有限公司 一种配置服务器集群的方法和装置
US20140101110A1 (en) * 2012-10-08 2014-04-10 General Instrument Corporation High availability event log collection in a networked system
CN105592139A (zh) * 2015-10-28 2016-05-18 杭州华三通信技术有限公司 一种分布式文件系统管理平台的ha实现方法及装置
CN107566466A (zh) * 2017-08-24 2018-01-09 新华三大数据技术有限公司 负载均衡方法及装置
CN107707393A (zh) * 2017-09-26 2018-02-16 赛尔网络有限公司 基于Openstack O版特性的多活系统
CN108228581A (zh) * 2016-12-09 2018-06-29 阿里巴巴集团控股有限公司 Zookeeper兼容通信方法、服务器及系统
CN108259239A (zh) * 2018-01-11 2018-07-06 郑州云海信息技术有限公司 一种数据库高可用性保障方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821044A (zh) * 2012-07-27 2012-12-12 北京奇虎科技有限公司 一种配置服务器集群的方法和装置
US20140101110A1 (en) * 2012-10-08 2014-04-10 General Instrument Corporation High availability event log collection in a networked system
CN105592139A (zh) * 2015-10-28 2016-05-18 杭州华三通信技术有限公司 一种分布式文件系统管理平台的ha实现方法及装置
CN108228581A (zh) * 2016-12-09 2018-06-29 阿里巴巴集团控股有限公司 Zookeeper兼容通信方法、服务器及系统
CN107566466A (zh) * 2017-08-24 2018-01-09 新华三大数据技术有限公司 负载均衡方法及装置
CN107707393A (zh) * 2017-09-26 2018-02-16 赛尔网络有限公司 基于Openstack O版特性的多活系统
CN108259239A (zh) * 2018-01-11 2018-07-06 郑州云海信息技术有限公司 一种数据库高可用性保障方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李霄等: "企业计算机应用系统可靠性测试技术研究", 《中国科技信息》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360579A (zh) * 2021-06-30 2021-09-07 平安普惠企业管理有限公司 数据库高可用处理方法、装置、电子设备及存储介质
CN114020466A (zh) * 2021-11-08 2022-02-08 江苏安超云软件有限公司 双活负载均衡的方法及装置、电子设备和存储介质
CN114020466B (zh) * 2021-11-08 2022-07-19 江苏安超云软件有限公司 双活负载均衡的方法及装置、电子设备和存储介质
CN115473766A (zh) * 2022-08-22 2022-12-13 苏州思萃工业互联网技术研究所有限公司 一种基于分布式网关的vip实现方法和系统
CN115473766B (zh) * 2022-08-22 2024-01-26 苏州思萃工业互联网技术研究所有限公司 一种基于分布式网关的vip实现方法和系统
CN115967669A (zh) * 2023-03-16 2023-04-14 北京志凌海纳科技有限公司 基于vrrp拓展协议的脑裂抑制方法及装置
CN116781494A (zh) * 2023-08-17 2023-09-19 天津南大通用数据技术股份有限公司 一种基于现有网络设备的主备倒换判决方法
CN116781494B (zh) * 2023-08-17 2024-03-26 天津南大通用数据技术股份有限公司 一种基于现有网络设备的主备倒换判决方法

Similar Documents

Publication Publication Date Title
CN111314098A (zh) 一种ha系统中实现vip地址漂移的方法和装置
US10983880B2 (en) Role designation in a high availability node
US20170048123A1 (en) System for controlling switch devices, and device and method for controlling system configuration
US7590886B2 (en) Method and apparatus for facilitating device redundancy in a fault-tolerant system
CN108075971B (zh) 一种主备切换方法及装置
US7107481B2 (en) Server takeover system and method
JP2019219954A (ja) クラスタストレージシステム、データ管理制御方法、データ管理制御プログラム
CN106330475B (zh) 一种通信系统中管理主备节点的方法和装置及高可用集群
CN113169895A (zh) 用于具有低时延故障转移的虚拟化服务的n+1冗余
JP3482992B2 (ja) 冗長lanシステムおよび現用系・予備系切り替え方法
CN114764380A (zh) 一种基于etcd的分布式集群控制方法和装置
CN110535947B (zh) 一种存储设备集群配置节点切换方法、装置及设备
CN110109772A (zh) 一种cpu的重启方法、通信设备及可读存储介质
JP2000250771A (ja) サーバ二重化方式
CN109189854B (zh) 提供持续业务的方法及节点设备
JP5039975B2 (ja) ゲートウェイ装置
JPH10105424A (ja) 二重化サーバのipアドレス割り当て方法
CN112052127A (zh) 一种用于双机热备环境的数据同步方法及装置
JP5285044B2 (ja) クラスタシステム復旧方法及びサーバ及びプログラム
US20210400015A1 (en) Short-term lease allocation for network address conflict reduction in dhcp failover deployments
CN107087021B (zh) 主从服务器确定方法及装置
CN110417599B (zh) 主备节点的切换方法以及节点服务器
CN109600256B (zh) 状态切换方法和装置
WO2020103627A1 (zh) 一种基于虚机容灾的业务自愈方法、设备和存储介质
CN111510336B (zh) 一种网络设备状态管理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200619

RJ01 Rejection of invention patent application after publication