非 LVS 负载均衡的配置文件模板

master

global_defs {router_id nginxenable_script_security
}vrrp_script nginx_status {script /opt/script/nginx_status_check.shinterval 3timeout 5# 注意权重和优先级的大小(一个节点的priority减去weight必须小于另外一个节点的priority)weight -10rise 2fall 2user nginx nginx   #要确保 nginx 用户存在init_fail
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 51# 注意权重和优先级的大小(一个节点的priority减去weight必须小于另外一个节点的priority)priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.1.150/24 dev ens33 label ens33:0}track_script {nginx_status}preempt_delay 300notify_master /opt/script/to_master.shnotify_backup /opt/script/to_backup.shnotify_stop /opt/script/to_stop.sh
}

backup

global_defs {router_id nginxenable_script_security
}vrrp_script nginx_status {script /opt/script/nginx_status_check.shinterval 3timeout 5# 注意权重和优先级的大小(一个节点的priority减去weight必须小于另外一个节点的priority)weight -10rise 2fall 2user nginx nginx   #要确保 nginx 用户存在init_fail
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 51# 注意权重和优先级的大小(一个节点的priority减去weight必须小于另外一个节点的priority)priority 95advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.1.150/24 dev ens33 label ens33:0}track_script {nginx_status}notify_master /opt/script/to_master.shnotify_backup /opt/script/to_backup.shnotify_stop /opt/script/to_stop.sh
}

实验中相关脚本

实验中的脚本非常简单,只是为了验证 keepalived 的功能。生产环境中肯定不会使用这样的脚本,都是根据自身的环境在状态发生切换时执行相应的命令或者发送邮件等。

nginx 健康检查脚本

#!/bin/bash
#author : panbuhei
#nginx check script in keepalivedNGINX_PIDNUM=`ps -ef | grep nginx | grep -v grep | wc -l`NGINX_PORTNUM=`ss -antpl | grep nginx | wc -l`if [ $NGINX_PIDNUM -eq 0 ];thenexit 1
elif [ $NGINX_PORTNUM -eq 0 ];thenexit 1
elseexit 0
fi

to_master.sh

cat << EOF > /opt/script/to_master.sh
#!/bin/bash
#author : panbuhei
#
DATE=`date +"%F %H:%M:%S"`
echo "当前节点于 $DATE 切换为 MASTER" >> /tmp/keepalived_change.log
EOF

to_backup.sh

cat << EOF > /opt/script/to_backup.sh
#!/bin/bash
#author : panbuhei
#
DATE=`date +"%F %H:%M:%S"`
echo "当前节点于 $DATE 切换为 BACKUP" >> /tmp/keepalived_change.log
EOF

to_stop.sh

cat << EOF > /opt/script/to_stop.sh
#!/bin/bash
#author : panbuhei
#
DATE=`date +"%F %H:%M:%S"`
echo "当前节点于 $DATE 关闭" >> /tmp/keepalived_change.log
EOF

实验步骤

1 同步两台节点的时间

ntpdate -s ntp1.aliyun.com

1 启动两台节点的 nginx

......

2 启动 keepalived

注意: 当使用 keepalived -t 检查脚本语法时,关于 SECURITY VIOLATION - scripts are being executed but script_security not enabled 的报错可以忽略,因为服务可以正常启动,而且相关脚本也能正常执行。

keepalived111 启动日志:

May  7 09:20:09 keepalived111 systemd: Starting LVS and VRRP High Availability Monitor...
May  7 09:20:09 keepalived111 Keepalived[39824]: Starting Keepalived v2.0.11 (01/06,2019), git commit v2.0.10-75-g40afb8e+
May  7 09:20:09 keepalived111 Keepalived[39824]: Running on Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 (built for Linux 3.10.0)
May  7 09:20:09 keepalived111 Keepalived[39824]: Command line: '/usr/local/keepalived/sbin/keepalived' '-f'
May  7 09:20:09 keepalived111 Keepalived[39824]:              '/usr/local/keepalived/etc/keepalived/keepalived.conf' '-p'
May  7 09:20:09 keepalived111 Keepalived[39824]:              '/usr/local/keepalived/temp/keepalived.pid' '-D'
May  7 09:20:09 keepalived111 Keepalived[39824]: Opening file '/usr/local/keepalived/etc/keepalived/keepalived.conf'.
May  7 09:20:09 keepalived111 Keepalived[39825]: Starting VRRP child process, pid=39826
May  7 09:20:09 keepalived111 systemd: Started LVS and VRRP High Availability Monitor.
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: Registering Kernel netlink reflector
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: Registering Kernel netlink command channel
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: Opening file '/usr/local/keepalived/etc/keepalived/keepalived.conf'.
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: WARNING - default user 'keepalived_script' for script execution does not exist - please create.
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: SECURITY VIOLATION - scripts are being executed but script_security not enabled.
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: Assigned address 192.168.10.146 for interface ens33
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: Assigned address fe80::4f78:60f1:9d7d:3da0 for interface ens33
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: Registering gratuitous ARP shared channel
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: (VI_1) removing VIPs.
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: (VI_1) Entering BACKUP STATE (init)     #可以看到 keepalived111 初始化的状态为 BACKUP。
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: VRRP sockpool: [ifindex(2), family(IPv4), proto(112), unicast(0), fd(11,12)]
May  7 09:20:09 keepalived111 Keepalived_vrrp[39826]: VRRP_Script(nginx_status) succeeded
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: (VI_1) Receive advertisement timeout
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: (VI_1) Entering MASTER STATE   #由于只启动了 keepalived111 节点,并且它的优先级最高,所以几秒后状态切换为 MASTER
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: (VI_1) setting VIPs.
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150   #这里可以看到 keepalived111 节点获取到了vip。
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: (VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.1.150
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:20:13 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:20:18 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150

keepalived222 启动日志:

May  7 09:23:04 keepalived222 systemd: Starting LVS and VRRP High Availability Monitor...
May  7 09:23:04 keepalived222 Keepalived[35229]: Starting Keepalived v2.0.11 (01/06,2019), git commit v2.0.10-75-g40afb8e+
May  7 09:23:04 keepalived222 Keepalived[35229]: Running on Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 (built for Linux 3.10.0)
May  7 09:23:04 keepalived222 Keepalived[35229]: Command line: '/usr/local/keepalived/sbin/keepalived' '-f'
May  7 09:23:04 keepalived222 Keepalived[35229]:              '/usr/local/keepalived/etc/keepalived/keepalived.conf' '-p'
May  7 09:23:04 keepalived222 Keepalived[35229]:              '/usr/local/keepalived/temp/keepalived.pid' '-D'
May  7 09:23:04 keepalived222 Keepalived[35229]: Opening file '/usr/local/keepalived/etc/keepalived/keepalived.conf'.
May  7 09:23:04 keepalived222 Keepalived[35230]: Starting VRRP child process, pid=35231
May  7 09:23:04 keepalived222 systemd: Started LVS and VRRP High Availability Monitor.
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: Registering Kernel netlink reflector
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: Registering Kernel netlink command channel
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: Opening file '/usr/local/keepalived/etc/keepalived/keepalived.conf'.
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: WARNING - default user 'keepalived_script' for script execution does not exist - please create.
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: SECURITY VIOLATION - scripts are being executed but script_security not enabled.
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: Assigned address 192.168.10.147 for interface ens33
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: Assigned address fe80::4f78:60f1:9d7d:3da0 for interface ens33
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: Registering gratuitous ARP shared channel
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: (VI_1) removing VIPs.
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: (VI_1) Entering BACKUP STATE (init)   #可以看到 keepalived222 初始化的状态为 BACKUP。
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: VRRP sockpool: [ifindex(2), family(IPv4), proto(112), unicast(0), fd(11,12)]
May  7 09:23:04 keepalived222 Keepalived_vrrp[35231]: VRRP_Script(nginx_status) succeeded   #这里可以看出 nginx_status 模块定义的脚本是正确执行的。

3 关闭 keepalived111 节点的 nginx

keepalived111 日志:

May  7 09:24:09 keepalived111 Keepalived_vrrp[39826]: Script `nginx_status` now returning 1   #这里可以看到脚本的返回值为1,即表示健康检查失败,我的权重配置的是-10,这是优先级就要减少10。
May  7 09:24:12 keepalived111 Keepalived_vrrp[39826]: VRRP_Script(nginx_status) failed (exited with status 1)
May  7 09:24:12 keepalived111 Keepalived_vrrp[39826]: (VI_1) Changing effective priority from 100 to 90   #keepalived111 的优先级降低至90。
May  7 09:24:16 keepalived111 Keepalived_vrrp[39826]: (VI_1) Master received advert from 192.168.10.147 with higher priority 95, ours 90   #keepalived222 的优先级为95,大于自己的优先级。
May  7 09:24:16 keepalived111 Keepalived_vrrp[39826]: (VI_1) Entering BACKUP STATE    #+ 所以 keepalived111 的状态切换为 BACKUP。
May  7 09:24:16 keepalived111 Keepalived_vrrp[39826]: (VI_1) removing VIPs.   #+ 并删除vip。

keepalived222 日志:

May  7 09:24:13 keepalived222 Keepalived_vrrp[35231]: (VI_1) received lower priority (90) advert from 192.168.10.146 - discarding   #这里收到广播:keepalived111的优先级变为90,比自身低,
May  7 09:24:14 keepalived222 Keepalived_vrrp[35231]: (VI_1) received lower priority (90) advert from 192.168.10.146 - discarding
May  7 09:24:15 keepalived222 Keepalived_vrrp[35231]: (VI_1) received lower priority (90) advert from 192.168.10.146 - discarding
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: (VI_1) Receive advertisement timeout
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: (VI_1) Entering MASTER STATE   #由于没有配置延时抢占时间,所以 keepalived222 发现自身的优先级高时,只在几秒内状态切换为 MASTER。
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: (VI_1) setting VIPs.
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150   #+ 并获取到vip。
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: (VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.1.150
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:24:16 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:24:21 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150

4 启动 keepalived111 节点的 nginx

keepalived111 日志:

May  7 09:30:45 keepalived111 Keepalived_vrrp[39826]: Script `nginx_status` now returning 0   #脚本的返回值为0,即表示健康检查成功,优先级还原。
May  7 09:30:48 keepalived111 Keepalived_vrrp[39826]: VRRP_Script(nginx_status) succeeded
May  7 09:30:48 keepalived111 Keepalived_vrrp[39826]: (VI_1) Changing effective priority from 90 to 100   #优先级还原为100.
May  7 09:30:49 keepalived111 Keepalived_vrrp[39826]: (VI_1) start preempt delay (30.000000)   #由于设置了在 30 秒之后再抢占为 MASTER,所以,这里等待 30 秒。
#+ 这里的延时抢占主要就是为了防止在修复故障时,还未完全修复成功的情况下,多次临时启动程序会导致 vip 的来回切换,影响其他方面的问题。我这里为了试验方便,设置为30秒,可以根据环境适当增大。
May  7 09:31:19 keepalived111 Keepalived_vrrp[39826]: (VI_1) received lower priority (95) advert from 192.168.10.147 - discarding
May  7 09:31:20 keepalived111 Keepalived_vrrp[39826]: (VI_1) received lower priority (95) advert from 192.168.10.147 - discarding
May  7 09:31:21 keepalived111 Keepalived_vrrp[39826]: (VI_1) received lower priority (95) advert from 192.168.10.147 - discarding
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: (VI_1) Receive advertisement timeout
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: (VI_1) Entering MASTER STATE   #可以看到在30秒到40秒之间才切换为 MASTER。
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: (VI_1) setting VIPs.
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150   #+ 并获取到vip。
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: (VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.1.150
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:31:22 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:31:27 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150

keepalived222 日志:

May  7 09:31:22 keepalived222 Keepalived_vrrp[35231]: (VI_1) Master received advert from 192.168.10.146 with higher priority 100, ours 95
May  7 09:31:22 keepalived222 Keepalived_vrrp[35231]: (VI_1) Entering BACKUP STATE   #keepalived222 的状态切换为 BACKUP。
May  7 09:31:22 keepalived222 Keepalived_vrrp[35231]: (VI_1) removing VIPs.   #+ 并删除vip。

至此,实验完毕。下面的实验步骤其实完全没有必要。

5 关闭 keepalived222 节点的 nginx

keepalived111 节点无日志

keepalived222 节点的日志:

May  7 09:35:25 keepalived222 Keepalived_vrrp[35231]: Script `nginx_status` now returning 1
May  7 09:35:28 keepalived222 Keepalived_vrrp[35231]: VRRP_Script(nginx_status) failed (exited with status 1)
May  7 09:35:28 keepalived222 Keepalived_vrrp[35231]: (VI_1) Changing effective priority from 95 to 85

因为 keepalived111 的优先级本身就高,所以在 keepalived222 发生异常时,状态不会发生任何改变。

6 再关闭 keepalived111 节点的 nginx

keepalived111 节点的日志:

May  7 09:36:07 keepalived111 Keepalived_vrrp[39826]: Script `nginx_status` now returning 1
May  7 09:36:10 keepalived111 Keepalived_vrrp[39826]: VRRP_Script(nginx_status) failed (exited with status 1)
May  7 09:36:10 keepalived111 Keepalived_vrrp[39826]: (VI_1) Changing effective priority from 100 to 90

keepalived222 节点无日志

这种情况下,状态也不会发生任何改变。因为 keepalived111 的优先级还是高于 keepalived222。

7 先启动 keepalived222 节点的 nginx

keepalived111 节点的日志:

May  7 09:36:53 keepalived111 Keepalived_vrrp[39826]: (VI_1) Master received advert from 192.168.10.147 with higher priority 95, ours 90
May  7 09:36:53 keepalived111 Keepalived_vrrp[39826]: (VI_1) Entering BACKUP STATE
May  7 09:36:53 keepalived111 Keepalived_vrrp[39826]: (VI_1) removing VIPs.

keepalived222 节点的日志:

May  7 09:36:46 keepalived222 Keepalived_vrrp[35231]: Script `nginx_status` now returning 0
May  7 09:36:49 keepalived222 Keepalived_vrrp[35231]: VRRP_Script(nginx_status) succeeded
May  7 09:36:49 keepalived222 Keepalived_vrrp[35231]: (VI_1) Changing effective priority from 85 to 95
May  7 09:36:50 keepalived222 Keepalived_vrrp[35231]: (VI_1) received lower priority (90) advert from 192.168.10.146 - discarding
May  7 09:36:51 keepalived222 Keepalived_vrrp[35231]: (VI_1) received lower priority (90) advert from 192.168.10.146 - discarding
May  7 09:36:52 keepalived222 Keepalived_vrrp[35231]: (VI_1) received lower priority (90) advert from 192.168.10.146 - discarding
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: (VI_1) Receive advertisement timeout
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: (VI_1) Entering MASTER STATE
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: (VI_1) setting VIPs.
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: (VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.1.150
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:36:53 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:36:58 keepalived222 Keepalived_vrrp[35231]: Sending gratuitous ARP on ens33 for 192.168.1.150

先启动 keepalived222 节点的 nginx,优先级还原为 85,大于 keepalived111 故障时的优先级 90,所以 keepalived222 的状态切换为 MASTER。

8 再启动 keepalived111 节点的 nginx

keepalived111 节点的日志:

May  7 09:39:52 keepalived111 Keepalived_vrrp[39826]: Script `nginx_status` now returning 0
May  7 09:39:55 keepalived111 Keepalived_vrrp[39826]: VRRP_Script(nginx_status) succeeded
May  7 09:39:55 keepalived111 Keepalived_vrrp[39826]: (VI_1) Changing effective priority from 90 to 100
May  7 09:39:55 keepalived111 Keepalived_vrrp[39826]: (VI_1) start preempt delay (30.000000)   #这里还是等待30秒。
May  7 09:40:25 keepalived111 Keepalived_vrrp[39826]: (VI_1) received lower priority (95) advert from 192.168.10.147 - discarding
May  7 09:40:26 keepalived111 Keepalived_vrrp[39826]: (VI_1) received lower priority (95) advert from 192.168.10.147 - discarding
May  7 09:40:27 keepalived111 Keepalived_vrrp[39826]: (VI_1) received lower priority (95) advert from 192.168.10.147 - discarding
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: (VI_1) Receive advertisement timeout
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: (VI_1) Entering MASTER STATE
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: (VI_1) setting VIPs.
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: (VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.1.150
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:40:28 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:40:33 keepalived111 Keepalived_vrrp[39826]: Sending gratuitous ARP on ens33 for 192.168.1.150
May  7 09:40:33 keepalived111 Keepalived_vrrp[39826]: (VI_1) Sending/queueing gratuitous ARPs on ens33 for 192.168.1.150

keepalived222 节点的日志:

May  7 09:40:28 keepalived222 Keepalived_vrrp[35231]: (VI_1) Master received advert from 192.168.10.146 with higher priority 100, ours 95
May  7 09:40:28 keepalived222 Keepalived_vrrp[35231]: (VI_1) Entering BACKUP STATE
May  7 09:40:28 keepalived222 Keepalived_vrrp[35231]: (VI_1) removing VIPs.

keepalived111 还是等待 30 秒后再抢占为 MASTER。

这里没有展示在 keepalived111 和 keepalived222 的 nginx 都关闭的情况下,先启动keepalived111 的 nginx 时的日志。大家稍微想一下肯定就知道,当 keepalived111 和 keepalived222 的 nginx 都关闭时,还是 keepalived111 的优先级高,所以它俩的状态都不会发生变化,vip 也不会变化;先启动 keepalived111 的 nginx 后,还是 keepalived111 的优先级高,所以它俩的状态还是不会发生变化,vip 也不会变化。

最后查看一下 keepalived 状态切换时脚本执行的日志

keepalived111 节点

[root@keepalived111 ~]# cat /tmp/keepalived_change.log
当前节点于 2021-05-07 09:20:09 切换为 BACKUP   #刚开始初始化的状态为 BACKUP
当前节点于 2021-05-07 09:20:13 切换为 MASTER   #由于只启动了 keepalived111 节点,所以几秒后状态切换为 MASTER
当前节点于 2021-05-07 09:24:16 切换为 BACKUP   #关闭 nginx 后,状态切换为 BACKUP
当前节点于 2021-05-07 09:31:22 切换为 MASTER   #启动 nginx 后,状态切换为 MASTER
当前节点于 2021-05-07 09:36:53 切换为 BACKUP
当前节点于 2021-05-07 09:40:28 切换为 MASTER

keepalived222 节点

[root@keepalived222 ~]# cat /tmp/keepalived_change.log
当前节点于 2021-05-07 09:23:04 切换为 BACKUP   #刚开始初始化的状态为 BACKUP
当前节点于 2021-05-07 09:24:16 切换为 MASTER   #keepalived111 节点关闭 nginx 后,状态切换为 MASTER
当前节点于 2021-05-07 09:31:22 切换为 BACKUP   #keepalived111 节点启动 nginx 后,状态切换为 BACKUP
当前节点于 2021-05-07 09:36:53 切换为 MASTER
当前节点于 2021-05-07 09:40:28 切换为 BACKUP

keepalived 中关于 weight 和 preempt_delay 的实验相关推荐

  1. MHA+LAMP+Keepalived实现高可负载均衡综合实验

    MHA+LAMP+Keepalived实现高可负载均衡综合实验 文章目录 MHA+LAMP+Keepalived实现高可负载均衡综合实验 MHA实验过程 安装MySQL数据库 配置MySQL一主两从 ...

  2. python 复现 Unet 论文中的 Weight Map

    相信大家对 Unet 论文中的 weight map 并不陌生.但是我翻遍 github上的几个 Unet 经典实现(包括论文开源的 caffe 版本),都没有找到损失加权图的实现代码.我今天尝试着实 ...

  3. Keepalived中Master和Backup角色选举策略

    在Keepalived集群中,其实并没有严格意义上的主.备节点,虽然可以在Keepalived配置文件中设置"state"选项为"MASTER"状态,但是这并不 ...

  4. 数值计算方法在计算机的应用,数值计算方法在计算机科学中的应用和误差序列实验推荐.doc...

    数值计算方法在计算机科学中的应用和误差序列实验推荐 数值计算方法在计算机科学中的应用和误差序列实验 [摘要]计算数学也叫做数值计算方法或数值分析.主要内容包括代数方程.线性代数方程组.微分方程的数值解 ...

  5. 汽车配件中的DV试验与PV实验区别

    汽车配件中的DV试验与PV实验区别 汽车配件中的DV试验与PV实验区别为:测试时期不同.主要工作不同.实验对象不同. 一.测试时期不同 1.DV试验:DV试验是在设计开发阶段中进行测试. 2.PV实验 ...

  6. 在计算机控制实验中遇到的问题,大学化学实验报告_大学有机化学的实验报告的问题与讨论怎么写啊?...

    大学化学实验报告中的结果与讨论一般该写些什么东西啊 一般就写一些你书上的习题的解答就好的了,或者发表一下你对实验的看法,在哪个环节需要着重注意的地方,该反应由于哪些原因会失败 跪求大学化学实验盐酸溶液 ...

  7. keepalived高可用集群学习以及实验总结

    HA Cluster实现方案: vrrp协议的实现 keepalived ais: 完备HA集群 RHCS(cman) heartbeat corosync + pacemaker :corosync ...

  8. linux删除vip 绑定,linux – VIP不会从备份keepalived中删除

    我可能不理解这应该如何工作,但我无法弄清楚为什么具有这个基本vrrp_instance的BACKUP系统正在立即转换为master并且似乎永远不会尊重优先级. 当健康和在线时,为什么虚拟IP地址不会从 ...

  9. 神经网络优化中的Weight Averaging

    ©PaperWeekly 原创 · 作者|张子逊 研究方向|神经网络剪枝.NAS 在神经网络优化的研究中,有研究改进优化器本身的(例如学习率衰减策略.一系列 Adam 改进等等),也有不少是改进 no ...

  10. 计算机在轻化工程中的应用,计算机在基础化学实验当中的应用

    [摘要]随着科学技术的进步,教学手段得到不断地更新,计算机应用到基础化学实验当中,使教学效果得到大幅提高,实验劳动强度大幅降低.采用计算机采集和处理实验数据,已成为未来基础化学实验的大势所趋. [关键 ...

最新文章

  1. Activity中KeyEvent的传递
  2. debstack 安装 openstack
  3. leetcode算法题--Jump Game
  4. 《网易编程题》买苹果
  5. windows重绘机制原理
  6. supervisor进程管理工具
  7. 共享文件原理_fishhook 的实现原理浅析
  8. LoadRunner压力测试:测试报告结果分析
  9. Log4j2跨线程打印traceId
  10. 范渊免职——网安界其人曾异军突起又将“落幕”?
  11. composer镜像源切换
  12. 网络常识,whirshark分析
  13. 名悦集团分享那些省钱又简单的汽车保养妙招
  14. PowerShell的参数集,可选和必选参数,位置参数,参数值,通用参数之简介
  15. Paper reading (二十一):Human gut microbiome: hopes, threats and promises
  16. 二维数组应用——扫雷
  17. ASCII(美国信息交换标准编码)表
  18. 产品经理能力提升计划(高频面试问题)
  19. 装配图中齿轮的画法_一级圆柱齿轮减速器装配图的画法(含装配图)-一级减速器的装配草图...
  20. Windows命令行常用指令

热门文章

  1. 力扣刷题 DAY_89 贪心
  2. 一文说清楚什么是时区,夏令时,GMT和CST
  3. linux终端中文方块,Linux终端界面显示中文乱码或方块
  4. snaker mybatis 配置
  5. Vue修饰符(Modifier)
  6. 2019 8 9 STM32F407ADS1526连续转换模式相关配置(采样率达到15000SPS)
  7. 小虾米闯江湖服务器维护中,《小虾米闯江湖》6月23日关于出师、判师细节更新补充...
  8. CryEngine 动态添加模型
  9. 数据结构总结与知识网图
  10. Python基础学习笔记-4.组合数据类型