找回密码
 立即注册
首页 业界区 安全 一文搞懂keepalived

一文搞懂keepalived

司马黛 2025-6-1 18:40:50
什么是keepalived?

‌Keepalived‌是一个轻量级的高可用解决方案,主要用于Linux系统。它的主要功能是通过虚拟路由冗余协议(VRRP)实现高可用性,确保服务的持续运行,避免单点故障。Keepalived最初是为LVS(Linux Virtual Server)设计的,用于监控集群系统中各个服务节点的状态。如果某个服务节点出现异常或故障,Keepalived会自动将其从集群系统中剔除,并在节点恢复正常后自动将其重新加入集群‌
工作原理

Keepalived通过VRRP协议实现高可用性。VRRP协议将多台功能相同的路由器组成一个小组,其中一台作为主设备(master),其余作为备份设备(backup)。Keepalived的核心模块负责启动和维护主进程,健康检查模块负责监测服务节点的状态,而VRRP模块则实现VRRP协议。当主设备出现故障时,备份设备会接管其职责,确保服务的连续性‌
keepalived核心概念


  • 虚拟路由器(Virtual Router):
    由一组物理路由器组成,对外表现为一台逻辑路由器,虚拟路由器拥有一个虚拟 IP 地址(通常作为客户端的默认网关)和一个虚拟 MAC 地址。
  • Master 路由器:
    虚拟路由器中实际转发数据包的路由器,负责响应 ARP 请求,将虚拟 MAC 地址与虚拟 IP 地址绑定。
  • Backup 路由器:
    处于备用状态的路由器,当 Master 路由器故障时,Backup 路由器会接管 Master 的职责。
  • 优先级(Priority):
    用于决定哪台路由器成为 Master。取值范围为 1 到 255,默认值为 100,数值越大优先级越高。
keepalived工作原理


  • 初始化阶段:
    路由器启动后,会根据配置的优先级加入 VRRP 组。如果组内没有 Master,优先级最高的路由器将成为 Master。
  • Master 选举:
    如果有多台路由器同时启动,优先级最高的路由器成为 Master。如果优先级相同,则比较接口 IP 地址,IP 地址大的成为 Master。
  • 心跳机制:
    Master 路由器会定期发送 VRRP 心跳报文(Hello Message),通告自己的状态。
    Backup 路由器通过接收心跳报文来检测 Master 的状态。
  • 故障检测与切换:
    如果 Backup 路由器在超时时间内未收到 Master 的心跳报文,会认为 Master 故障。Backup 路由器中优先级最高的设备将成为新的 Master,并接管虚拟 IP 和 MAC 地址。
  • 抢占机制:
    如果配置了抢占模式,当 Backup 路由器的优先级高于当前 Master 时,会主动抢占成为 Master。
    如果未配置抢占模式,即使 Backup 路由器优先级更高,也不会抢占 Master。
什么是VRRP协议?

虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)是一种计算机网络协议,用于提高网络中默认网关的可靠性,防止因单个网关设备故障而导致网络中断。VRRP 通过将多台路由器虚拟成一台“虚拟路由器”,并在这些路由器之间进行故障转移,从而实现高可用性。
keepalived的安装使用

环境信息

IP系统作用10.0.0.20Ubuntu22.04主节点:keepalived+nginx10.0.0.21Ubuntu22.04备节点:keepalived+nginx下载keepalived

主备都操作
  1. [root@master ~]# apt update -y
  2. [root@master ~]# apt install keepalived -y
复制代码
修改keepalived的配置文件

如果没有文件的话,直接创建一个即可
主节点的配置文件
  1. [root@master ~]# cat /etc/keepalived/keepalived.conf
  2. #全局定义部分
  3. global_defs {
  4.     route_id lb01 #每一个keepalived的名字,当前网络中唯一
  5. }
  6. #vrrp实例配置部分,用于配置VIP,设置主备
  7. #VI_1 是vrrp实例名字,在同一对主备之间要一直,在当前keepalived软件中唯一
  8. vrrp_instance VI_1 {
  9.     #主/备 MASTER主,BACKUP备
  10.     state MASTER
  11.     #指定当前系统网卡
  12.     interface ens33
  13.     #同一对主备之间要保持一致
  14.     virtual_router_id 51
  15.     #优先级,数字越大优先级越高,设备建议:主>备 100 50
  16.     priority 100
  17.     #心跳间隔,多久发送一次vrrp数据包,单位秒
  18.     advert_int 1
  19.     #授权与认证,保持默认即可,对数据包进行加密
  20.     authentication {
  21.         #认证类型
  22.         auth_type PASS
  23.         auth_pass 1111
  24.     }
  25.     #设置VIP
  26.     virtual_ipaddress {
  27.         #vip
  28.         10.0.0.3
  29.     }
  30. }
复制代码
备节点的配置文件
  1. [root@master ~]# cat /etc/keepalived/keepalived.conf
  2. #全局定义部分
  3. global_defs {
  4.     route_id lb01 #每一个keepalived的名字,当前网络中唯一
  5. }
  6. #vrrp实例配置部分,用于配置VIP,设置主备
  7. #VI_1 是vrrp实例名字,在同一对主备之间要一直,在当前keepalived软件中唯一
  8. vrrp_instance VI_1 {
  9.     #主/备 MASTER主,BACKUP备
  10.     state BACKUP
  11.     #指定当前系统网卡
  12.     interface ens33
  13.     #同一对主备之间要保持一致
  14.     virtual_router_id 51
  15.     #优先级,数字越大优先级越高,设备建议:主>备 100 50
  16.     priority 50
  17.     #心跳间隔,多久发送一次vrrp数据包,单位秒
  18.     advert_int 1
  19.     #授权与认证,保持默认即可,对数据包进行加密
  20.     authentication {
  21.         #认证类型
  22.         auth_type PASS
  23.         auth_pass 1111
  24.     }
  25.     #设置VIP
  26.     virtual_ipaddress {
  27.         #vip
  28.         10.0.0.3
  29.     }
  30. }
复制代码
启动keepalived

主备节点都操作
  1. [root@master ~]# systemctl start keepalived
  2. #检查是否启动成功
  3. [root@master ~]# systemctl status keepalived
  4. ● keepalived.service - Keepalive Daemon (LVS and VRRP)
  5.      Loaded: loaded (/lib/systemd/system/keepalived.service; enabled; vendor preset: enabled)
  6.      Active: active (running) since Sat 2025-04-05 21:37:18 CST; 7min ago
  7.    Main PID: 1528 (keepalived)
  8.       Tasks: 2 (limit: 4519)
  9.      Memory: 1.9M
  10.         CPU: 66ms
  11.      CGroup: /system.slice/keepalived.service
  12.              ├─1528 /usr/sbin/keepalived --dont-fork
  13.              └─1529 /usr/sbin/keepalived --dont-fork
  14. Apr 05 21:37:18 master Keepalived[1528]: Command line: '/usr/sbin/keepalived' '--dont-fork'
  15. Apr 05 21:37:18 master Keepalived[1528]: Configuration file /etc/keepalived/keepalived.conf
  16. Apr 05 21:37:18 master Keepalived[1528]: (Line 3) Unknown keyword 'route_id'
  17. Apr 05 21:37:18 master Keepalived[1528]: NOTICE: setting config option max_auto_priority should result in better keepalived performance
  18. Apr 05 21:37:18 master Keepalived[1528]: Starting VRRP child process, pid=1529
  19. Apr 05 21:37:18 master systemd[1]: keepalived.service: Got notification message from PID 1529, but reception only permitted for main PID 1528
  20. Apr 05 21:37:18 master Keepalived[1528]: Startup complete
  21. Apr 05 21:37:18 master systemd[1]: Started Keepalive Daemon (LVS and VRRP).
  22. Apr 05 21:37:18 master Keepalived_vrrp[1529]: (VI_1) Entering BACKUP STATE (init)
  23. Apr 05 21:37:22 master Keepalived_vrrp[1529]: (VI_1) Entering MASTER STATE
复制代码
检查测试

我们通过ip addr或者hostname -I命令查看主节点上是有10.0.0.3这个VIP的
  1. [root@master ~]# ip addr
  2. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  3.     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  4.     inet 127.0.0.1/8 scope host lo
  5.        valid_lft forever preferred_lft forever
  6.     inet6 ::1/128 scope host
  7.        valid_lft forever preferred_lft forever
  8. 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
  9.     link/ether 00:0c:29:b9:88:49 brd ff:ff:ff:ff:ff:ff
  10.     altname enp2s1
  11.     inet 10.0.0.20/24 brd 10.0.0.255 scope global ens33
  12.        valid_lft forever preferred_lft forever
  13.     inet 10.0.0.3/32 scope global ens33
  14.        valid_lft forever preferred_lft forever
  15.     inet6 fe80::20c:29ff:feb9:8849/64 scope link
  16.        valid_lft forever preferred_lft forever
  17. [root@master ~]# hostname -I
  18. 10.0.0.20 10.0.0.3
复制代码
那么备节点呢?
  1. [root@master ~]# hostname -I
  2. 10.0.0.21
复制代码
经过检查,我们的主节点是由VIP,而备节点上是没有的,我们来模拟一下故障发生主节点宕机,备节点接管,备节点上应该是有一个VIP10.0.0.3的。我们来测试一下。
主节点执行:
  1. [root@master ~]# systemctl stop keepalived
  2. [root@master ~]# hostname -I
  3. 10.0.0.20
复制代码
备节点执行:
  1. [root@master ~]# hostname -I
  2. 10.0.0.21 10.0.0.3[root@master ~]#
复制代码
ok,到此我们的keepalived算是搭建完成了
现在存在一个问题,当主节点恢复之后,VIP会在哪台机器上呢?来测试一下
主节点执行:
  1. [root@master ~]# systemctl start keepalived
  2. [root@master ~]# systemctl status keepalived
  3. ● keepalived.service - Keepalive Daemon (LVS and VRRP)
  4.      Loaded: loaded (/lib/systemd/system/keepalived.service; enabled; vendor preset: enabled)
  5.      Active: active (running) since Sat 2025-04-05 21:59:37 CST; 6s ago
  6.    Main PID: 1560 (keepalived)
  7.       Tasks: 2 (limit: 4519)
  8.      Memory: 1.9M
  9.         CPU: 9ms
  10.      CGroup: /system.slice/keepalived.service
  11.              ├─1560 /usr/sbin/keepalived --dont-fork
  12.              └─1561 /usr/sbin/keepalived --dont-fork
  13. Apr 05 21:59:37 master Keepalived[1560]: Starting VRRP child process, pid=1561
  14. Apr 05 21:59:37 master systemd[1]: keepalived.service: Got notification message from PID 1561, but reception only permitted for main PID 1560
  15. Apr 05 21:59:37 master Keepalived[1560]: Startup complete
  16. Apr 05 21:59:37 master systemd[1]: Started Keepalive Daemon (LVS and VRRP).
  17. Apr 05 21:59:37 master Keepalived_vrrp[1561]: (VI_1) Entering BACKUP STATE (init)
  18. Apr 05 21:59:38 master Keepalived_vrrp[1561]: (VI_1) received lower priority (50) advert from 10.0.0.21 - discarding
  19. Apr 05 21:59:39 master Keepalived_vrrp[1561]: (VI_1) received lower priority (50) advert from 10.0.0.21 - discarding
  20. Apr 05 21:59:40 master Keepalived_vrrp[1561]: (VI_1) received lower priority (50) advert from 10.0.0.21 - discarding
  21. Apr 05 21:59:41 master Keepalived_vrrp[1561]: (VI_1) received lower priority (50) advert from 10.0.0.21 - discarding
  22. Apr 05 21:59:41 master Keepalived_vrrp[1561]: (VI_1) Entering MASTER STATE
  23. [root@master ~]# hostname -I
  24. 10.0.0.20 10.0.0.3
复制代码
备节点执行:
  1. [root@master ~]# hostname -I
  2. 10.0.0.21
复制代码
经过上面的验证,我们发现当主节点恢复之后,VIP会漂移的主节点上,这个时候会存在一个问题,在生产环境中,当请求量大时,VIP漂移会导致网站有部分时间不可用,所以我们不想让它飘逸,怎么做呢?
keepalived的非抢占模式

keepalived默认的是抢占式,主节点挂了,备节点接管,主节点恢复了,就让主节点接管,但现在不希望主节点恢复之后让主接管。
配置方式:

  • 设置两个节点的状态都是备,BACKUP
  • 加入nopreempt字段
主节点配置文件
  1. [root@master ~]# cat /etc/keepalived/keepalived.conf
  2. #全局定义部分
  3. global_defs {
  4.     route_id lb01 #每一个keepalived的名字,当前网络中唯一
  5. }
  6. #vrrp实例配置部分,用于配置VIP,设置主备
  7. #VI_1 是vrrp实例名字,在同一对主备之间要一直,在当前keepalived软件中唯一
  8. vrrp_instance VI_1 {
  9.     #主/备 MASTER主,BACKUP备,要大些
  10.     state BACKUP
  11.     nopreempt
  12.     #指定当前系统网卡
  13.     interface ens33
  14.     #同一对主备之间要保持一致
  15.     virtual_router_id 51
  16.     #优先级,数字越大优先级越高,设备建议:主>备 100 50
  17.     priority 100
  18.     #心跳间隔,多久发送一次vrrp数据包
  19.     advert_int 1
  20.     #授权与认证,保持默认即可,对数据包进行加密
  21.     authentication {
  22.         #认证类型
  23.         auth_type PASS
  24.         auth_pass 1111
  25.     }
  26.     #设置VIP
  27.     virtual_ipaddress {
  28.     #label设置了别名
  29.         #10.0.0.3 dev eth0 label eth0:0
  30.         10.0.0.3
  31.     }
  32. }
复制代码
备节点配置文件
  1. [root@master ~]# cat /etc/keepalived/keepalived.conf
  2. #全局定义部分
  3. global_defs {
  4.     route_id lb01 #每一个keepalived的名字,当前网络中唯一
  5. }
  6. #vrrp实例配置部分,用于配置VIP,设置主备
  7. #VI_1 是vrrp实例名字,在同一对主备之间要一直,在当前keepalived软件中唯一
  8. vrrp_instance VI_1 {
  9.     #主/备 MASTER主,BACKUP备
  10.     state BACKUP
  11.     nopreempt
  12.     #指定当前系统网卡
  13.     interface ens33
  14.     #同一对主备之间要保持一致
  15.     virtual_router_id 51
  16.     #优先级,数字越大优先级越高,设备建议:主>备 100 50
  17.     priority 50
  18.     #心跳间隔,多久发送一次vrrp数据包,单位秒
  19.     advert_int 1
  20.     #授权与认证,保持默认即可,对数据包进行加密
  21.     authentication {
  22.         #认证类型
  23.         auth_type PASS
  24.         auth_pass 1111
  25.     }
  26.     #设置VIP
  27.     virtual_ipaddress {
  28.         #vip
  29.         10.0.0.3
  30.     }
  31. }
复制代码
检查测试

测试流程,我们将主节点的keepalived进程停掉,然后查看主、备节点的IP变化,然后我们将主节点的keepalived服务启动,再次查看主、备节点的IP变化
  1. #主节点操作[root@master ~]# systemctl stop keepalived
  2. [root@master ~]# hostname -I
  3. 10.0.0.20#备节点操作[root@master ~]# hostname -I
  4. 10.0.0.21 10.0.0.3#主节点操作[root@master ~]# systemctl start keepalived[root@master ~]# systemctl status keepalived● keepalived.service - Keepalive Daemon (LVS and VRRP)     Loaded: loaded (/lib/systemd/system/keepalived.service; enabled; vendor preset: enabled)     Active: active (running) since Sat 2025-04-05 22:13:14 CST; 4s ago   Main PID: 1586 (keepalived)      Tasks: 2 (limit: 4519)     Memory: 1.9M        CPU: 7ms     CGroup: /system.slice/keepalived.service             ├─1586 /usr/sbin/keepalived --dont-fork             └─1587 /usr/sbin/keepalived --dont-forkApr 05 22:13:14 master Keepalived[1586]: WARNING - keepalived was built for newer Linux 5.15.27, running on Linux 5.15.0-135-generic #146-Ubuntu SMP Sat Feb 15 17:06:22 UTC 2025Apr 05 22:13:14 master Keepalived[1586]: Command line: '/usr/sbin/keepalived' '--dont-fork'Apr 05 22:13:14 master Keepalived[1586]: Configuration file /etc/keepalived/keepalived.confApr 05 22:13:14 master Keepalived[1586]: (Line 3) Unknown keyword 'route_id'Apr 05 22:13:14 master Keepalived[1586]: NOTICE: setting config option max_auto_priority should result in better keepalived performanceApr 05 22:13:14 master Keepalived[1586]: Starting VRRP child process, pid=1587Apr 05 22:13:14 master Keepalived[1586]: Startup completeApr 05 22:13:14 master systemd[1]: keepalived.service: Got notification message from PID 1587, but reception only permitted for main PID 1586Apr 05 22:13:14 master systemd[1]: Started Keepalive Daemon (LVS and VRRP).Apr 05 22:13:14 master Keepalived_vrrp[1587]: (VI_1) Entering BACKUP STATE (init)[root@master ~]# hostname -I10.0.0.20#备节点操作[root@master ~]# hostname -I
  5. 10.0.0.21 10.0.0.3
复制代码
经过上述的验证,我们发现这次VIP并没有在主节点恢复之后飘走,我们的非抢占模式搭建完成
基于keepalived实现nginx的高可用

高可用架构图示:
1.png

keepalived默认只会在服务器宕机,网络断开之后才会进行主备切换,默认情况下keepalived不会监控某一个服务的,这个时候我们应该怎么做呢?
我们可以定义一个脚本,监控某个服务,当服务关闭之后,停止当前系统上的keepalived就可以实现了。这里我们用nginx来实现,当然也可以搭配MySQL之类的服务进行使用
实现步骤

安装nginx和keepalived

两台服务器都安装nginx和keepalived,并且启动,nginx相关内容可以参考这篇文章-->《一文搞懂nginx》
编写脚本:

两台服务器都需要操作
  1. [root@master ~]# cat check_nginx.sh
  2. #!/bin/bash
  3. nginx_count=`ss -lntup | grep 80 | wc -l`
  4. if [ ${nginx_count} -eq 0 ];then
  5.     systemctl stop keepalived
  6. fi
  7. #添加执行权限
  8. [root@master ~]# chmod +x check_nginx.sh
  9. [root@master ~]# ll check_nginx.sh
  10. -rwxr-xr-x 1 root root 122 Apr  5 22:24 check_nginx.sh*
复制代码
修改keepalived配置文件,通过keepalived调用脚本

主节点配置文件
  1. [root@master ~]# cat /etc/keepalived/keepalived.conf
  2. #全局定义部分
  3. global_defs {
  4.     route_id lb01 #每一个keepalived的名字,当前网络中唯一
  5. }
  6. #定义监控脚本
  7. vrrp_script check_nginx.sh {
  8.     #脚本位置
  9.     script /root/check_nginx.sh
  10.     #多久执行一次
  11.     interval 2
  12.     #权重
  13.     weight 1
  14.     #脚本执行用户
  15.     user root
  16. }
  17. #vrrp实例配置部分,用于配置VIP,设置主备
  18. #VI_1 是vrrp实例名字,在同一对主备之间要一直,在当前keepalived软件中唯一
  19. vrrp_instance VI_1 {
  20.     #主/备 MASTER主,BACKUP备,要大些
  21.     state BACKUP
  22.     #设置非抢占模式
  23.     nopreempt
  24.     #指定当前系统网卡
  25.     interface ens33
  26.     #同一对主备之间要保持一致
  27.     virtual_router_id 51
  28.     #优先级,数字越大优先级越高,设备建议:主>备 100 50
  29.     priority 100
  30.     #心跳间隔,多久发送一次vrrp数据包
  31.     advert_int 1
  32.     #授权与认证,保持默认即可,对数据包进行加密
  33.     authentication {
  34.         #认证类型
  35.         auth_type PASS
  36.         auth_pass 1111
  37.     }
  38.     #设置VIP
  39.     virtual_ipaddress {
  40.     #label设置了别名
  41.         #10.0.0.3 dev eth0 label eth0:0
  42.         10.0.0.3
  43.     }
  44.     #这个vrrp实例 使用check_nginx.sh脚本
  45.     track_script {
  46.          check_nginx.sh
  47.     }
  48. }
  49. #重启keepalived
  50. [root@master ~]# systemctl restart keepalived
  51. [root@master ~]# systemctl status keepalived
  52. ● keepalived.service - Keepalive Daemon (LVS and VRRP)
  53.      Loaded: loaded (/lib/systemd/system/keepalived.service; enabled; vendor preset: enabled)
  54.      Active: active (running) since Sat 2025-04-05 22:30:41 CST; 6s ago
  55.    Main PID: 1630 (keepalived)
  56.       Tasks: 2 (limit: 4519)
  57.      Memory: 2.9M
  58.         CPU: 46ms
  59.      CGroup: /system.slice/keepalived.service
  60.              ├─1630 /usr/sbin/keepalived --dont-fork
  61.              └─1631 /usr/sbin/keepalived --dont-fork
  62. Apr 05 22:30:41 master Keepalived[1630]: (Line 3) Unknown keyword 'route_id'
  63. Apr 05 22:30:41 master Keepalived[1630]: NOTICE: setting config option max_auto_priority should result in better keepalived performance
  64. Apr 05 22:30:41 master Keepalived[1630]: Starting VRRP child process, pid=1631
  65. Apr 05 22:30:41 master Keepalived[1630]: Startup complete
  66. Apr 05 22:30:41 master Keepalived_vrrp[1631]: SECURITY VIOLATION - scripts are being executed but script_security not enabled.
  67. Apr 05 22:30:41 master systemd[1]: keepalived.service: Got notification message from PID 1631, but reception only permitted for main PID 1630
  68. Apr 05 22:30:41 master systemd[1]: Started Keepalive Daemon (LVS and VRRP).
  69. Apr 05 22:30:41 master Keepalived_vrrp[1631]: (VI_1) Entering BACKUP STATE (init)
  70. Apr 05 22:30:42 master Keepalived_vrrp[1631]: VRRP_Script(check_nginx.sh) succeeded
  71. Apr 05 22:30:42 master Keepalived_vrrp[1631]: (VI_1) Changing effective priority from 100 to 101
复制代码
备节点配置文件
  1. [root@master ~]# cat /etc/keepalived/keepalived.conf
  2. #全局定义部分
  3. global_defs {
  4.     route_id lb01 #每一个keepalived的名字,当前网络中唯一
  5. }
  6. #定义监控脚本
  7. vrrp_script check_nginx.sh {
  8.     #脚本位置
  9.     script /root/check_nginx.sh
  10.     #多久执行一次
  11.     interval 2
  12.     #权重
  13.     weight 1
  14.     #脚本执行用户
  15.     user root
  16. }
  17. #vrrp实例配置部分,用于配置VIP,设置主备
  18. #VI_1 是vrrp实例名字,在同一对主备之间要一直,在当前keepalived软件中唯一
  19. vrrp_instance VI_1 {
  20.     #主/备 MASTER主,BACKUP备,要大些
  21.     state BACKUP
  22.     #设置非抢占模式
  23.     nopreempt
  24.     #指定当前系统网卡
  25.     interface ens33
  26.     #同一对主备之间要保持一致
  27.     virtual_router_id 51
  28.     #优先级,数字越大优先级越高,设备建议:主>备 100 50
  29.     priority 50
  30.     #心跳间隔,多久发送一次vrrp数据包
  31.     advert_int 1
  32.     #授权与认证,保持默认即可,对数据包进行加密
  33.     authentication {
  34.         #认证类型
  35.         auth_type PASS
  36.         auth_pass 1111
  37.     }
  38.     #设置VIP
  39.     virtual_ipaddress {
  40.     #label设置了别名
  41.         #10.0.0.3 dev eth0 label eth0:0
  42.         10.0.0.3
  43.     }
  44.     #这个vrrp实例 使用check_nginx.sh脚本
  45.     track_script {
  46.          check_nginx.sh
  47.     }
  48. }
  49. #重启keepalived
  50. [root@master ~]# systemctl restart keepalived
  51. [root@master ~]# systemctl status keepalived
  52. ● keepalived.service - Keepalive Daemon (LVS and VRRP)
  53.      Loaded: loaded (/lib/systemd/system/keepalived.service; enabled; vendor preset: enabled)
  54.      Active: active (running) since Sat 2025-04-05 22:32:35 CST; 19s ago
  55.    Main PID: 17167 (keepalived)
  56.       Tasks: 2 (limit: 4519)
  57.      Memory: 2.1M
  58.         CPU: 110ms
  59.      CGroup: /system.slice/keepalived.service
  60.              ├─17167 /usr/sbin/keepalived --dont-fork
  61.              └─17168 /usr/sbin/keepalived --dont-fork
  62. Apr 05 22:32:35 master Keepalived[17167]: (Line 3) Unknown keyword 'route_id'
  63. Apr 05 22:32:35 master Keepalived[17167]: NOTICE: setting config option max_auto_priority should result in better keepalived performance
  64. Apr 05 22:32:35 master Keepalived[17167]: Starting VRRP child process, pid=17168
  65. Apr 05 22:32:35 master Keepalived_vrrp[17168]: SECURITY VIOLATION - scripts are being executed but script_security not enabled.
  66. Apr 05 22:32:35 master Keepalived[17167]: Startup complete
  67. Apr 05 22:32:35 master systemd[1]: keepalived.service: Got notification message from PID 17168, but reception only permitted for main PID 17167
  68. Apr 05 22:32:35 master systemd[1]: Started Keepalive Daemon (LVS and VRRP).
  69. Apr 05 22:32:35 master Keepalived_vrrp[17168]: (VI_1) Entering BACKUP STATE (init)
  70. Apr 05 22:32:35 master Keepalived_vrrp[17168]: VRRP_Script(check_nginx.sh) succeeded
  71. Apr 05 22:32:35 master Keepalived_vrrp[17168]: (VI_1) Changing effective priority from 50 to 51
复制代码
测试

可以停止nginx后查看VIP,在这里就不进行演示了,停止nginx命令systemctl stop nginx

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册