双机高可用实现方法、装置、设备及介质与流程

未命名 09-07 阅读:131 评论:0


1.本发明涉及计算机技术领域,特别涉及双机高可用实现方法、装置、设备及介质。


背景技术:

2.因资金预算不足或项目前期规划有误导致服务器硬件资源不够,即在双机集群中包含两个服务节点,当其中一个服务节点发生故障时,就只有一个服务节点为可用状态,如此一来,资源利用率显著减少,并且为可用状态的服务节点则需要面临过大的请求量,处理任务过多,无法满足生产环境的大并发要求。
3.综上可见,如何确保双机集群的高可用性以及稳定性是本领域有待解决的问题。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种双机高可用实现方法、装置、设备及介质,能够确保双机集群的高可用性以及稳定性。其具体方案如下:
5.第一方面,本技术公开了一种双机高可用实现方法,应用于双机集群中任一服务节点的keepalived服务工具,包括:
6.获取本地服务节点的当前节点状态;
7.从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;
8.执行所述当前脚本。
9.可选的,所述获取本地服务节点的当前节点状态之前,还包括:
10.将keepalived服务工具安装至所述双机集群中的每一个服务节点,并配置相应的全局定义块、vrrp实例定义块、虚拟服务设置块。
11.可选的,所述执行所述当前脚本,包括:
12.若所述当前节点状态为所述主节点状态,则执行所述第一预设脚本;
13.相应的,所述执行所述第一预设脚本,包括:
14.检测所述本地服务节点中是否存在对应的回环地址;
15.如果存在,则停止所述回环地址,并添加预设linux虚拟服务器规则至所述本地服务节点。
16.可选的,所述执行所述当前脚本,包括:
17.若所述当前节点状态为所述备份节点状态,则执行所述第二预设脚本;
18.相应的,所述执行所述第二预设脚本,包括:
19.对预设linux虚拟服务器规则进行清理;
20.检测所述本地服务节点中是否存在对应的回环地址,若否,则添加所述回环地址至所述本地服务节点,并抑制地址解析协议广播。
21.可选的,所述抑制地址解析协议广播之后,还包括:
22.检测所述本地服务节点中是否存在所述预设linux虚拟服务器规则;
23.若存在,则对所述预设linux虚拟服务器规则再次进行清理。
24.可选的,所述执行所述当前脚本,包括:
25.若所述当前节点状态为所述keepalived服务挂掉状态,则执行所述第三预设脚本;
26.相应的,所述执行所述第三预设脚本,包括:
27.检测所述本地服务节点中是否存在对应的回环地址;
28.若否,则添加所述回环地址至所述本地服务节点。
29.可选的,所述添加所述回环地址至所述本地服务节点之后,还包括:
30.抑制地址解析协议广播。
31.第二方面,本技术一种双机高可用实现装置,应用于双机集群中任一服务节点的keepalived服务工具,包括:
32.节点状态获取模块,用于获取本地服务节点的当前节点状态;
33.脚本确定模块,用于从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;
34.脚本执行模块,用于执行所述当前脚本。
35.第三方面,本技术公开了一种电子设备,包括:
36.存储器,用于保存计算机程序;
37.处理器,用于执行所述计算机程序,以实现前述公开的双机高可用实现方法的步骤。
38.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的双机高可用实现方法的步骤。
39.本技术有益效果为:本技术应用于双机集群中任一服务节点的keepalived服务工具,包括:获取本地服务节点的当前节点状态;从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;执行所述当前脚本。由此可见,本技术在服务资源匮乏的情况下,自动化确定出与当前节点状态对应的当前脚本,即针对节点状态分别为主节点状态、备份节点状态以及keepalived服务挂掉状态时,自动化执行对应的当前脚本,以实现对本地服务节点的运维,提高运维效率,进而能够确保双机集群的高可用性以及稳定性。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
41.图1为本技术公开的一种双机高可用实现方法流程图;
42.图2为本技术公开的一种具体的脚本执行示意图;
43.图3为本技术公开的一种具体的双机高可用实现方法流程图;
44.图4为本技术公开的一种具体的双机高可用实现方法流程图;
45.图5为本技术公开的一种具体的双机高可用实现方法流程图;
46.图6为本技术公开的一种双机高可用实现装置结构示意图;
47.图7为本技术公开的一种电子设备结构图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.因资金预算不足或项目前期规划有误导致服务器硬件资源不够,即在双机集群中包含两个服务节点,当其中一个服务节点发生故障时,就只有一个服务节点为可用状态,如此一来,资源利用率显著减少,并且为可用状态的服务节点则需要面临过大的请求量,处理任务过多,无法满足生产环境的大并发要求。
50.为此本技术相应的提供了一种双机高可用实现方案,能够确保双机集群的高可用性以及稳定性。
51.参见图1所示,本技术实施例公开了一种双机高可用实现方法,应用于双机集群中任一服务节点的keepalived服务工具,包括:
52.步骤s11:获取本地服务节点的当前节点状态。
53.本实施例中,所述获取本地服务节点的当前节点状态之前,还包括:将keepalived服务工具安装至所述双机集群中的每一个服务节点,并配置相应的全局定义块、vrrp实例定义块、虚拟服务设置块。需要预先在每一个服务节点中安装并配置keepalived服务工具,可以理解的是,在安装配置时,服务节点的节点状态为主节点状态或者备份节点状态,即该服务节点为主节点或者备份节点。
54.当在主节点(master)上时,keepalived的相关配置如下所示:
55.56.[0057][0058]
当在备份节点(backup)上时,keepalived的相关配置如下所示:global_defs{
[0059]
router_id nodeb
[0060]
}
[0061]
vrrp_instance web{
[0062]
state backup interface ens33
[0063]
virtual_router_id 51
[0064]
priority 170
[0065]
virtual_ipaddress{
[0066]
192.168.203.140
[0067]
}
[0068]
notify_backup"/usr/local/src/notify_node.sh b"
[0069]
notify_master"/usr/local/src/notify_node.sh m"
[0070]
notify_stop"/usr/local/src/notify_node.sh s"
[0071]
}
[0072]
virtual_server 192.168.203.140 80{
[0073]
delay_loop 6
[0074]
lvs_sched wrr
[0075]
lvs_method dr
[0076]
protocol tcp real_server 192.168.203.130 80{
[0077]
weight 3
[0078]
tcp_check{
[0079]
connect_ip 192.168.203.130
[0080]
connect_port 80
[0081]
}
[0082]
}
[0083]
real_server 192.168.203.131 80{
[0084]
weight 3
[0085]
tcp_check{
[0086]
connect_ip 192.168.203.131
[0087]
connect_port 80
[0088]
}
[0089]
}
[0090]
}
[0091]
需要注意的是,keepalived的配置包括global define块、vrrp实例定义块、虚拟服务设置块,其中,global define块包含lvs(linux virtual server,即linux虚拟服务器)负载均衡器标识标识,vrrp实例定义块中需要设置主备类型,虚拟路由标识(主备一致)、vip地址(virtual ip address,即虚拟ip地址),虚拟服务设置块中包含ib_algo调度算法、ib_kind四种转发模式;主备配置文件三个地方不同:负载均衡器标识router_id不同,实例状态state不同,优先级priority不同。
[0092]
获取本地服务节点的当前节点状态之前,还需要创建与节点状态为主节点状态对应的第一预设脚本notify_master、与节点状态为备份节点状态对应的第二预设脚本notify_backup、与节点状态为keepalived服务挂掉状态对应的第三预设脚本notify_stop,以便后续keepalived服务工具可以自动确定并执行对应的脚本。
[0093]
步骤s12:从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本。
[0094]
可以理解的是,当前节点状态为主节点状态、备份节点状态、keepalived服务挂掉状态中任意一种状态,因此需要根据当前节点状态从多个预设脚本中筛选出对应的当前脚本。
[0095]
步骤s13:执行所述当前脚本。
[0096]
本实施例中,例如图2所示的一种具体的脚本执行示意图,若当前节点状态为主节点状态,则执行第一预设脚本;若当前节点状态为备份节点状态,则执行第二预设脚本;若当前节点状态为keepalived服务挂掉状态,则执行第三预设脚本。
[0097]
本技术有益效果为:本技术应用于双机集群中任一服务节点的keepalived服务工具,包括:获取本地服务节点的当前节点状态;从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;执行所述当前脚本。由此可见,本技术在服务资源匮乏的情况下,自动化确定出与当前节点状态对应的当前脚本,即针对节点状态分别为主节点状态、备份节点状态以及keepalived服务挂掉状态时,自动化执行对应的当前脚本,以实现对本地服务节点的运维,提高运维效率,进而能够确保双机集群的高可用性以及稳定性。
[0098]
参见图3所示,本技术实施例公开了一种具体的双机高可用实现方法,应用于双机集群中任一服务节点的keepalived服务工具,包括:
[0099]
步骤s21:获取本地服务节点的当前节点状态。
[0100]
步骤s22:从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本。
[0101]
步骤s23:若所述当前节点状态为所述主节点状态,则执行所述第一预设脚本。
[0102]
本实施例中,所述执行所述第一预设脚本,包括:检测所述本地服务节点中是否存在对应的回环地址;如果存在,则停止所述回环地址,并添加预设linux虚拟服务器规则至所述本地服务节点。若本地服务节点中存在对应的回环地址lo:0时,则停止回环地址lo:0,因为当节点状态为master时,本地服务节点中就已经存在vip地址了,回环地址lo:0和vip
相同会生产冲突,所以要停掉回环地址lo:0;添加lvs规则(预设linux虚拟服务器规则),才能把后端两台应用都给集群起来,否则只能调度本身。
[0103]
由此可见,本技术通过应用双机集群和高可用技术,保证系统在资源匮乏的情况下也能够稳定运行,即提高了双机集群的稳定性,避免了因资源不足而导致的系统崩溃或数据丢失等问题,降低运维成本,简化运维流程,缩短系统的故障恢复时间,从而提高了运维效率和效益。
[0104]
参见图4所示,本技术实施例公开了一种具体的双机高可用实现方法,应用于双机集群中任一服务节点的keepalived服务工具,包括:
[0105]
步骤s31:获取本地服务节点的当前节点状态。
[0106]
步骤s32:从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本。
[0107]
步骤s33:若所述当前节点状态为所述备份节点状态,则执行所述第二预设脚本。
[0108]
本实施例中,所述执行所述第二预设脚本,包括:对预设linux虚拟服务器规则进行清理;检测所述本地服务节点中是否存在对应的回环地址,若否,则添加所述回环地址至所述本地服务节点,并抑制地址解析协议广播。第二预设脚本执行过程具体如下所示:
[0109]
1)自动清理lvs规则:当master使用轮询算法时会转发大约50%的包从master到backup,这时backup因为lvs的配置规则会接着给这些包再做一次负载均衡又发回给master,进而产生一个死的循环,随着时间的推移,不但不能正常的处理连接,服务器也会崩溃,因此需要清理lvs规则;
[0110]
2)检测并添加lo:0回环地址:因dr(direct routing,即直接路由)模式是通过mac地址的改写机制实现数据包的转发,客户端发送请求到负载均衡器(keepalived),客户端的ip称为源ip简写cip,目标ip是负载均衡器的ip简称vip,当客户端请求到达负载均衡器时会判断数据包的目标ip是本机vip,重新封装数据包修改源mac地址为负载均衡器的mac地址,修改目标mac地址为后端应用的mac地址,源ip地址与目标ip地址没有改变,然后将数据包发送给后端应用,后端应用服务器判断请求报文的mac地址是自身的mac地址就接收此报文。响应数据包重新封装报文(源ip地址为vip,目标ip为cip),将响应报文通过lo:0回环地址直接将响应报文传送到客户端;
[0111]
3)抑制arp(address resolution protocol,即地址解析协议)广播:keepalived使用dr模式实现负载均衡时,会使用vip地址来实现负载均衡,在网络中都有一个唯一的mac地址用来标识这个网络接口,当设备需要发送数据到一个ip地址时,会先在本地的arp缓存中寻找该ip地址对应的mac地址,如果找到了,就直接发送数据,如果没有找到,就会发送arp广播请求,请求该ip地址对应的mac地址。其他设备收到这个arp广播请求后,会响应这个请求,并将自身的mac地址发送给请求设备,从而建立mac地址与ip地址之间的映射关系,以便设备能够发送数据。在使用keepalived实现负载均衡时,如果每个节点都发送arp广播请求去请求vip地址的mac地址,就会引起网络中的冲突,因为vip地址只能在一个节点上被使用。为了避免这种冲突,需要在节点成为备用节点时抑制arp广播请求,以防止其他设备响应arp广播请求。这样可以确保vip地址只在负载均衡的主节点上被使用,保证网络的正常运行和安全性。
[0112]
本实施例中,所述抑制地址解析协议广播之后,还包括:检测所述本地服务节点中是否存在所述预设linux虚拟服务器规则;若存在,则对所述预设linux虚拟服务器规则再次进行清理。进一步的,为了确保keepalived在宕机重启后lvs规则能彻底清空,需要再次清理lvs规则。
[0113]
由此可见,当服务资源匮乏的情况时,自动化执行对应的预设脚本,提高运维效率,并通过解决调度后端节点超时问题,保证系统的响应速度和数据处理效率,在一定程度上提高了双机集群的可用性,满足用户对系统稳定性和可靠性的需求。
[0114]
参见图5所示,本技术实施例公开了一种具体的双机高可用实现方法,应用于双机集群中任一服务节点的keepalived服务工具,包括:
[0115]
步骤s41:获取本地服务节点的当前节点状态。
[0116]
步骤s42:从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本。
[0117]
步骤s43:若所述当前节点状态为所述keepalived服务挂掉状态,则执行所述第三预设脚本。
[0118]
本实施例中,所述执行所述第三预设脚本,包括:检测所述本地服务节点中是否存在对应的回环地址;若否,则添加所述回环地址至所述本地服务节点。当服务节点的keepalived服务挂掉,第三预设脚本(notify_stop脚本)会检测并添加lo:0回环地址,keepalived服务挂掉或不正常时,应用响应报文需通过lo:0回环地址直接将响应报文传送到客户端,因此需要添加上lo:0回环地址。
[0119]
本实施例中,所述添加所述回环地址至所述本地服务节点之后,还包括:抑制地址解析协议广播。为了确保避免引起网络冲突,还可以抑制地址解析协议广播。
[0120]
由此可见,本技术利用预设脚本和keepalived通知机制,能够自动解决调度超时问题,减少了人工干预的需求,提高了工作效率和效益,简化运维流程,缩短系统的故障恢复时间,从而提高了运维效率。
[0121]
参见图6所示,本技术实施例公开了一种双机高可用实现装置,应用于双机集群中任一服务节点的keepalived服务工具,包括:
[0122]
节点状态获取模块11,用于获取本地服务节点的当前节点状态;
[0123]
脚本确定模块12,用于从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;
[0124]
脚本执行模块13,用于执行所述当前脚本。
[0125]
本技术有益效果为:本技术应用于双机集群中任一服务节点的keepalived服务工具,包括:获取本地服务节点的当前节点状态;从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;执行所述当前脚本。由此可见,本技术在服务资源匮乏的情况下,自动化确定出与当前节点状态对应的当前脚本,即针对节点状态分别为主节点状态、备
份节点状态以及keepalived服务挂掉状态时,自动化执行对应的当前脚本,以实现对本地服务节点的运维,提高运维效率,进而能够确保双机集群的高可用性以及稳定性。
[0126]
进一步的,本技术实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
[0127]
图7为本技术实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现以下步骤:
[0128]
获取本地服务节点的当前节点状态;
[0129]
从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;
[0130]
执行所述当前脚本。
[0131]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0132]
将keepalived服务工具安装至所述双机集群中的每一个服务节点,并配置相应的全局定义块、vrrp实例定义块、虚拟服务设置块。
[0133]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0134]
若所述当前节点状态为所述主节点状态,则执行所述第一预设脚本;
[0135]
相应的,所述执行所述第一预设脚本,包括:
[0136]
检测所述本地服务节点中是否存在对应的回环地址;
[0137]
如果存在,则停止所述回环地址,并添加预设linux虚拟服务器规则至所述本地服务节点。
[0138]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0139]
若所述当前节点状态为所述备份节点状态,则执行所述第二预设脚本;
[0140]
相应的,所述执行所述第二预设脚本,包括:
[0141]
对预设linux虚拟服务器规则进行清理;
[0142]
检测所述本地服务节点中是否存在对应的回环地址,若否,则添加所述回环地址至所述本地服务节点,并抑制地址解析协议广播。
[0143]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0144]
检测所述本地服务节点中是否存在所述预设linux虚拟服务器规则;
[0145]
若存在,则对所述预设linux虚拟服务器规则再次进行清理。
[0146]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,具体可以实现以下步骤:
[0147]
若所述当前节点状态为所述keepalived服务挂掉状态,则执行所述第三预设脚本;
[0148]
相应的,所述执行所述第三预设脚本,包括:
[0149]
检测所述本地服务节点中是否存在对应的回环地址;
[0150]
若否,则添加所述回环地址至所述本地服务节点。
[0151]
在一些具体实施方式中,所述处理器通过执行所述存储器中保存的计算机程序,还可以进一步包括以下步骤:
[0152]
抑制地址解析协议广播。
[0153]
本实施例中,电源23用于为电子设备上的各硬件设备提供工作电压;通信接口24能够为电子设备创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0154]
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0155]
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
[0156]
其中,操作系统221用于管理与控制电子设备上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备执行的双机高可用实现方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
[0157]
进一步的,本技术实施例还公开了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由双机高可用实现过程中执行的方法步骤。
[0158]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0159]
以上对本发明所提供的一种双机高可用实现方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种双机高可用实现方法,其特征在于,应用于双机集群中任一服务节点的keepalived服务工具,包括:获取本地服务节点的当前节点状态;从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;执行所述当前脚本。2.根据权利要求1所述的双机高可用实现方法,其特征在于,所述获取本地服务节点的当前节点状态之前,还包括:将keepalived服务工具安装至所述双机集群中的每一个服务节点,并配置相应的全局定义块、vrrp实例定义块、虚拟服务设置块。3.根据权利要求1所述的双机高可用实现方法,其特征在于,所述执行所述当前脚本,包括:若所述当前节点状态为所述主节点状态,则执行所述第一预设脚本;相应的,所述执行所述第一预设脚本,包括:检测所述本地服务节点中是否存在对应的回环地址;如果存在,则停止所述回环地址,并添加预设linux虚拟服务器规则至所述本地服务节点。4.根据权利要求1所述的双机高可用实现方法,其特征在于,所述执行所述当前脚本,包括:若所述当前节点状态为所述备份节点状态,则执行所述第二预设脚本;相应的,所述执行所述第二预设脚本,包括:对预设linux虚拟服务器规则进行清理;检测所述本地服务节点中是否存在对应的回环地址,若否,则添加所述回环地址至所述本地服务节点,并抑制地址解析协议广播。5.根据权利要求4所述的双机高可用实现方法,其特征在于,所述抑制地址解析协议广播之后,还包括:检测所述本地服务节点中是否存在所述预设linux虚拟服务器规则;若存在,则对所述预设linux虚拟服务器规则再次进行清理。6.根据权利要求1所述的双机高可用实现方法,其特征在于,所述执行所述当前脚本,包括:若所述当前节点状态为所述keepalived服务挂掉状态,则执行所述第三预设脚本;相应的,所述执行所述第三预设脚本,包括:检测所述本地服务节点中是否存在对应的回环地址;若否,则添加所述回环地址至所述本地服务节点。7.根据权利要求6所述的双机高可用实现方法,其特征在于,所述添加所述回环地址至所述本地服务节点之后,还包括:抑制地址解析协议广播。8.一种双机高可用实现装置,其特征在于,应用于双机集群中任一服务节点的
keepalived服务工具,包括:节点状态获取模块,用于获取本地服务节点的当前节点状态;脚本确定模块,用于从多个预设脚本中确定出与所述当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为keepalived服务挂掉状态对应的第三预设脚本;脚本执行模块,用于执行所述当前脚本。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的双机高可用实现方法的步骤。10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的双机高可用实现方法的步骤。

技术总结
本申请公开了一种双机高可用实现方法、装置、设备及介质,涉及计算机技术领域,应用于双机集群中任一服务节点的Keepalived服务工具,包括:获取本地服务节点的当前节点状态;从多个预设脚本中确定出与当前节点状态对应的当前脚本;其中,多个预设脚本包括与节点状态为主节点状态对应的第一预设脚本、与节点状态为备份节点状态对应的第二预设脚本、与节点状态为Keepalived服务挂掉状态对应的第三预设脚本;执行当前脚本。针对节点状态分别为主节点状态、备份节点状态以及Keepalived服务挂掉状态时,自动化执行对应的当前脚本,以实现对本地服务节点的运维,进而能够确保双机集群的高可用性以及稳定性。可用性以及稳定性。可用性以及稳定性。


技术研发人员:刘圣强 赵彦晖 耿心伟 曾源
受保护的技术使用者:深圳微众信用科技股份有限公司
技术研发日:2023.06.15
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐