CN113746951A - 一种防止keepalive虚拟IP丢失的方法 - Google Patents
一种防止keepalive虚拟IP丢失的方法 Download PDFInfo
- Publication number
- CN113746951A CN113746951A CN202111064252.7A CN202111064252A CN113746951A CN 113746951 A CN113746951 A CN 113746951A CN 202111064252 A CN202111064252 A CN 202111064252A CN 113746951 A CN113746951 A CN 113746951A
- Authority
- CN
- China
- Prior art keywords
- master
- virtual
- keepalive
- state
- backup
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5046—Resolving address allocation conflicts; Testing of addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种防止keepalive虚拟IP丢失的方法,涉及网络地址访问技术领域,所述方法包括:S1、判断keepalived配置文件中的notifymaster参数状态是否为master;S2、如果其状态是master,则检测其虚拟IP是否存在;S3、如果虚拟IP不存在,则通过周期任务自动为其填充虚拟IP;S4、继续通过多个keepalived之间的正常切换进行对外服务。本发明的优点在于:通过增加master的虚拟IP检测机制,及时将丢失的虚拟IP填补,保证高可用系统网络不间断,能够提升keepalived高可用系统的网络健壮性和稳定性。
Description
技术领域
本发明涉及网络地址访问技术领域,尤其涉及一种防止keepalive虚拟IP丢失的方法。
背景技术
Keepalived是Linux下一个轻量级别的高可用解决方案。它引入了vrrp(虚拟路由冗余协议)来解决单点故障问题,保证网络的不间断性。Vrrp是一种主备模式的协议,可以将两台或者多台设备虚拟成一台,由这一台设备来对外提供网络中的各种服务。Vrrp成员之间通过优先级和网卡IP地址来选举出一台master,除master之外的设备角色都是backup。master拥有虚拟IP并通过此IP对外提供服务,并且周期发送vrrp组播报文,backup设备监听这个组播报文来确认master是否存活。如果backup设备长时间未收到master发来的vrrp报文就认定master故障,然后重新选举出新的master。
Keepalived通过VRRP实现高可用性,VRRP成员通过算法选举出主机(master)。master拥有对外服务的虚拟IP并对外提供服务。如果master的虚拟IP因为网络瞬间抖动或者被误删除而丢失,那么整个高可用系统将无法对外提供服务。
当网络瞬间抖动导致虚拟IP丢失时,Master会采用轮询机制检查其网卡up/down状态,如果检测到网卡down了则会进入backup角色。如果在轮询周期内master的网卡出现瞬间down/up抖动,抖动后网卡恢复正常。master并不会感知到其网卡down过,且正常发送vrrp报文,而backup也认为master是存活状态。但是网卡抖动后master的虚拟IP并不会重新加载,这就导致了master不能通过虚拟IP对外提供网络服务。
当意外删除导致虚拟IP丢失时,当master的虚拟IP被意外删除或者被其他进程初始化网卡后,虚拟IP也会丢失。Keepalive自身没有检测虚拟IP存在的机制。这也会导致master失去对外提供网络服务的能力。
发明内容
本发明的目的在于克服现有技术的缺点,提供了一种防止keepalive虚拟IP丢失的方法,解决了现有master的虚拟IP因为网络瞬间抖动或者被误删除而丢失,那么整个高可用系统将无法对外提供服务的问题。
本发明的目的通过以下技术方案来实现:一种防止keepalive虚拟IP丢失的方法,所述方法包括:
S1、判断keepalived配置文件中的notify master参数状态是否为master;
S2、如果其状态是master,则检测其虚拟IP是否存在;
S3、如果虚拟IP不存在,则通过周期任务自动为其填充虚拟IP;
S4、继续通过多个keepalived之间的正常切换进行对外服务。
所述判断keepalived配置文件中的notify master参数状态是否为master具体包括:
在keepalived配置文件中添加notify master指令,在keepalived状态为master时触发keepalived的notify master函数,并调用第一目录下的控制程序生成第一状态文件;
在keepalived配置文件中添加notify backup指令,在keepalived状态为backup时触发keepalived的notify backup函数,并调用第二目录下的控制程序生成第二状态文件。
所述如果其状态是master,则检测其虚拟IP是否存在具体包括:
通过编写的周期任务控制程序周期检查相应目录下的状态文件,如果检查到第一目录下的第一状态文件,则调用ip add控制指令检索其虚拟IP是否存在。
所述如果虚拟IP不存在,则通过周期任务自动为其填充虚拟IP具体包括:
如果周期任务在不在S2中检索到状态为master的第一状态文件,但是其虚拟IP丢失,则自动调用ifconfig ethx add控制指令填充其虚拟IP。
所述通过多个keepalived之间的正常切换进行对外服务具体包括:
S41、keepalived A和keepalived B分别发送vrrp组播报文,携带了自己的优先级以及发包间隔,判断keepalived A和keepalived B的优先级大小,优先级大的成为master,并且持有虚拟IP,设A竞选为master,B成为backup;
S42、成为master后,按照发包间隔定期发送vrrp报文表明自己存活,B作为backup设置定时器,监听master发来的vrrp报文,定时器时间为3倍的发包间隔;
S43、如果此时在发包间隔内A的网卡down了,到达一个发包节点后A无法发送报文,A就自动进入backup状态,开始启动监听计时器;
S44、这时A和B都处于backup监听状态,如果A的网卡恢复了,但B的计时器已经比A的计时器早了一个发包间隔,也就会比A先超时;
S45、终B会先发起竞选,成为master,而A在定时器超时前收到了B发来的vrrp包,重置定时器,继续成为backup;
S46、重复上述步骤实现对外服务。
所述方法在进行判断keepalived配置文件中的notify master参数状态是否为master步骤之前还包括配置步骤,所述配置步骤包括把keepalived的状态写到一个文件中,并在其中添加notify master参数。
本发明具有以下优点:一种防止keepalive虚拟IP丢失的方法,通过增加master的虚拟IP检测机制,及时将丢失的虚拟IP填补,保证高可用系统网络不间断,能够提升keepalived高可用系统的网络健壮性和稳定性。
附图说明
图1为本发明的流程示意图;
图2为keepalived正常切换的原理示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下结合附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的保护范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。下面结合附图对本发明做进一步的描述。
如图1所示,本发明具体涉及一种防止keepalive虚拟IP丢失的方法,通过notify_master参数来调用一个自定义脚本将keepalived的master状态写到一个文件里。这个脚本只有状态为master的时候才会触发。然后通过周期任务检查master的状态文件是否存在,如果存在就可以知道keepalived的状态为master,通过增加master的虚拟IP检测机制,及时将丢失的虚拟IP填补,保证高可用系统网络不间断;具体方法包括:
S0、配置步骤:把keepalived的状态写到一个文件中,并在其中添加notifymaster参数,其作用是在keepalived状态切为master的时候调用一个脚本执行相应的动作;
S1、判断keepalived配置文件中的notify master参数状态是否为master;
S2、如果其状态是master,则检测其虚拟IP是否存在;
S3、如果虚拟IP不存在,则通过周期任务自动为其填充虚拟IP;
S4、继续通过多个keepalived之间的正常切换进行对外服务。
进一步地,判断keepalived配置文件中的notify master参数状态是否为master具体包括:
在keepalived配置文件中添加notify master指令,在keepalived状态为master时触发keepalived的notify master函数,并调用第一目录下的控制程序生成第一状态文件;
在keepalived配置文件中添加notify backup指令,在keepalived状态为backup时触发keepalived的notify backup函数,并调用第二目录下的控制程序生成第二状态文件。
具体为,在Keepalived配置文件增加的内容为:notify_master"/etc/keepalived/notify.sh master"#在keepalived状态为master的时候触发keepalived的notify_master函数,并调用/etc/keepalived/目录下自己编写的脚本notify.sh来生成状态文件/dev/shm/keepalived_is_master。
notify_backup"/etc/keepalived/notify.sh backup"#在keepalived状态为backup的时候触发keepalived的notify_backup函数,并调用/etc/keepalived/目录下自己编写的脚本notify.sh来生成状态文件/dev/shm/keepalived_is_backup。
进一步地,如果其状态是master,则检测其虚拟IP是否存在具体包括:
通过编写的周期任务控制程序周期检查相应目录下的状态文件,如果检查到第一目录下的第一状态文件,则调用ip add控制指令检索其虚拟IP是否存在。
具体为,编写一个周期任务脚本,周期检查/dev/shm/下的状态文件,如果检查到状态为master。就调用ip add命令去检索其虚拟IP是否存在。
进一步地,如果虚拟IP不存在,则通过周期任务自动为其填充虚拟IP具体包括:
如果周期任务在不在S2中检索到状态为master的第一状态文件,但是其虚拟IP丢失,则自动调用ifconfig ethx add控制指令填充其虚拟IP。
如图2所示,通过多个keepalived之间的正常切换进行对外服务具体包括:
S41、keepalived A和keepalived B分别发送vrrp组播报文,携带了自己的优先级以及发包间隔,判断keepalived A和keepalived B的优先级大小,优先级大的成为master,并且持有虚拟IP,设A竞选为master,B成为backup;
S42、成为master后,按照发包间隔定期发送vrrp报文表明自己存活,B作为backup设置定时器,监听master发来的vrrp报文,定时器时间为3倍的发包间隔;
S43、如果此时在发包间隔内A的网卡down了,到达一个发包节点后A无法发送报文,A就自动进入backup状态,开始启动监听计时器;
S44、这时A和B都处于backup监听状态,如果A的网卡恢复了,但B的计时器已经比A的计时器早了一个发包间隔,也就会比A先超时;
S45、终B会先发起竞选,成为master,而A在定时器超时前收到了B发来的vrrp包,重置定时器,继续成为backup;
S46、重复上述步骤实现对外服务。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (6)
1.一种防止keepalive虚拟IP丢失的方法,其特征在于:所述方法包括:
S1、判断keepalived配置文件中的notify master参数状态是否为master;
S2、如果其状态是master,则检测其虚拟IP是否存在;
S3、如果虚拟IP不存在,则通过周期任务自动为其填充虚拟IP;
S4、继续通过多个keepalived之间的正常切换进行对外服务。
2.根据权利要求1所述的一种防止keepalive虚拟IP丢失的方法,其特征在于:所述判断keepalived配置文件中的notify master参数状态是否为master具体包括:
在keepalived配置文件中添加notify master指令,在keepalived状态为master时触发keepalived的notify master函数,并调用第一目录下的控制程序生成第一状态文件;
在keepalived配置文件中添加notify backup指令,在keepalived状态为backup时触发keepalived的notify backup函数,并调用第二目录下的控制程序生成第二状态文件。
3.根据权利要求1所述的一种防止keepalive虚拟IP丢失的方法,其特征在于:所述如果其状态是master,则检测其虚拟IP是否存在具体包括:
通过编写的周期任务控制程序周期检查相应目录下的状态文件,如果检查到第一目录下的第一状态文件,则调用ip add控制指令检索其虚拟IP是否存在。
4.根据权利要求1所述的一种防止keepalive虚拟IP丢失的方法,其特征在于:所述如果虚拟IP不存在,则通过周期任务自动为其填充虚拟IP具体包括:
如果周期任务在不在S2中检索到状态为master的第一状态文件,但是其虚拟IP丢失,则自动调用ifconfig ethx add控制指令填充其虚拟IP。
5.根据权利要求1所述的一种防止keepalive虚拟IP丢失的方法,其特征在于:所述通过多个keepalived之间的正常切换进行对外服务具体包括:
S41、keepalived A和keepalived B分别发送vrrp组播报文,携带了自己的优先级以及发包间隔,判断keepalived A和keepalived B的优先级大小,优先级大的成为master,并且持有虚拟IP,设A竞选为master,B成为backup;
S42、成为master后,按照发包间隔定期发送vrrp报文表明自己存活,B作为backup设置定时器,监听master发来的vrrp报文,定时器时间为3倍的发包间隔;
S43、如果此时在发包间隔内A的网卡down了,到达一个发包节点后A无法发送报文,A就自动进入backup状态,开始启动监听计时器;
S44、这时A和B都处于backup监听状态,如果A的网卡恢复了,但B的计时器已经比A的计时器早了一个发包间隔,也就会比A先超时;
S45、终B会先发起竞选,成为master,而A在定时器超时前收到了B发来的vrrp包,重置定时器,继续成为backup;
S46、重复上述步骤实现对外服务。
6.根据权利要求1-5中任意一项所述的一种防止keepalive虚拟IP丢失的方法,其特征在于:所述方法在进行判断keepalived配置文件中的notify master参数状态是否为master步骤之前还包括配置步骤,所述配置步骤包括把keepalived的状态写到一个文件中,并在其中添加notify master参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111064252.7A CN113746951B (zh) | 2021-09-10 | 2021-09-10 | 一种防止keepalive虚拟IP丢失的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111064252.7A CN113746951B (zh) | 2021-09-10 | 2021-09-10 | 一种防止keepalive虚拟IP丢失的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746951A true CN113746951A (zh) | 2021-12-03 |
CN113746951B CN113746951B (zh) | 2023-07-11 |
Family
ID=78738103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111064252.7A Active CN113746951B (zh) | 2021-09-10 | 2021-09-10 | 一种防止keepalive虚拟IP丢失的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113746951B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765653A (zh) * | 2015-02-15 | 2015-07-08 | 杭州米加科技有限公司 | 一种使用keepalived软件实现数据库HA应用的方法 |
CN109101200A (zh) * | 2018-08-30 | 2018-12-28 | 重庆富民银行股份有限公司 | 一种跨网络实时双向同步的磁盘存储系统 |
CN110474797A (zh) * | 2019-07-25 | 2019-11-19 | 北京旷视科技有限公司 | Api业务系统、主备切换的方法及装置 |
CN111858193A (zh) * | 2020-07-27 | 2020-10-30 | 上海英方软件股份有限公司 | 一种实现服务器池服务的方法和系统 |
CN111884919A (zh) * | 2020-07-02 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种清除无效虚拟ip的方法、装置、设备及可读介质 |
WO2020232891A1 (zh) * | 2019-05-17 | 2020-11-26 | 平安科技(深圳)有限公司 | 负载均衡应用虚拟ip切换方法、装置、计算机设备及存储介质 |
-
2021
- 2021-09-10 CN CN202111064252.7A patent/CN113746951B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765653A (zh) * | 2015-02-15 | 2015-07-08 | 杭州米加科技有限公司 | 一种使用keepalived软件实现数据库HA应用的方法 |
CN109101200A (zh) * | 2018-08-30 | 2018-12-28 | 重庆富民银行股份有限公司 | 一种跨网络实时双向同步的磁盘存储系统 |
WO2020232891A1 (zh) * | 2019-05-17 | 2020-11-26 | 平安科技(深圳)有限公司 | 负载均衡应用虚拟ip切换方法、装置、计算机设备及存储介质 |
CN110474797A (zh) * | 2019-07-25 | 2019-11-19 | 北京旷视科技有限公司 | Api业务系统、主备切换的方法及装置 |
CN111884919A (zh) * | 2020-07-02 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种清除无效虚拟ip的方法、装置、设备及可读介质 |
CN111858193A (zh) * | 2020-07-27 | 2020-10-30 | 上海英方软件股份有限公司 | 一种实现服务器池服务的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113746951B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8959395B2 (en) | Method and system for providing high availability to computer applications | |
CN108430116B (zh) | 断网重连方法、介质、装置和计算设备 | |
US20020083156A1 (en) | Image restoraion and reconfiguration support for crashed devices | |
US6128285A (en) | Monitoring of a packet telephony device via a control device | |
US20210281541A1 (en) | Data Transmission Method, Apparatus, and System | |
JP4517923B2 (ja) | オブジェクト救済システム及び方法 | |
US8224954B2 (en) | Protecting subscriber database data integrity in geographical redundant deployments | |
CN112564990B (zh) | 一种用于音频管理服务器切换的管理方法 | |
CN112887367B (zh) | 实现分布式集群高可用的方法、系统及计算机可读介质 | |
JP6421516B2 (ja) | サーバ装置、冗長構成サーバシステム、情報引継プログラム及び情報引継方法 | |
CN113746951A (zh) | 一种防止keepalive虚拟IP丢失的方法 | |
CN117240694A (zh) | 一种基于keepalived的双机热备主备切换方法、装置及系统 | |
EP4175207A1 (en) | Method, apparatus and device for supporting tcp dynamic migration, and storage medium | |
CN112954264B (zh) | 一种平台备份保护方法及装置 | |
CN115314361A (zh) | 一种服务器集群管理方法及其相关组件 | |
CN109510767B (zh) | 一种路由表项管理方法以及路由表项管理装置 | |
CN113055236A (zh) | 集群业务节点故障的处理方法、装置、设备及存储介质 | |
CN115225397B (zh) | 一种控制方法、装置,防火墙及计算机可读存储介质 | |
JP2006229512A (ja) | サーバ切替方法,サーバ及びサーバ切替プログラム | |
CN111984376B (zh) | 协议处理方法、装置、设备及计算机可读存储介质 | |
WO2023273088A1 (zh) | 环网节点的控制方法、网络设备及存储介质 | |
KR100793446B1 (ko) | 이중화 통신 시스템의 페일 오버 및 원복 처리 방법 | |
CN116016187A (zh) | 应用服务控制方法和装置 | |
CN118118324A (zh) | 一种切换用户平面up的方法和网络设备 | |
CN115801554A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |