抢占模式和非抢占模式
非抢占式模式
默认为抢占模式 preempt,即当高优先级的主机恢复在线后,会抢占低先级的主机的master角色,造成 网络抖动,建议设置为非抢占模式 nopreempt ,即高优先级主机恢复后,并不会抢占低优先级主机的 master 角色
注意: 非抢占模式下,如果原主机down机, VIP迁移至的新主机,后续新主机也发生down时,VIP还会迁移回 修复好的原主机
但如果新主机的服务down掉(keepalived服务正常),原主机也不会接管VIP,仍会由新主机拥有VIP即非抢占式模式,只是适合当主节点宕机,切换到从节点的一次性的高可用性,后续即使当原主节点修复好,仍无法再次起到高用功能
注意:要关闭 VIP抢占,必须将各 Keepalived 服务器 state 配置为 BACKUP
非抢占式配置
节点一:
vrrp_instance VI_1 {
state BACKUP #都为BACKUP
interface eth1
virtual_router_id 66
priority 100 #优先级高
advert_int 1
nopreempt #添加此行设为nopreempt
节点二:
vrrp_instance VI_1 {
state BACKUP #都为BACKUP
interface eth1
virtual_router_id 66
priority 80 #优先级低
advert_int 1
nopreempt #添加此行设为nopreempt
所有节点重启keepalived
挂掉节点一,观察结果
[root@ubuntu2004 ~]#tcpdump -i eth1 -nn host 224.0.0.18
23:09:59.835993 IP 192.168.10.100 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 100, authtype simple, intvl 1s, length 20
23:10:00.687778 IP 192.168.10.100 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 0, authtype simple, intvl 1s, length 20
23:10:01.376464 IP 192.168.10.101 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 80, authtype simple, intvl 1s, length 20
节点二接替节点一组播地址信息
[root@ubuntu2004 ~]#hostname -I
10.0.0.102 10.0.0.100 192.168.10.101
VIP地址飘到了节点二上
节点一重启后,观察结果
主节点二IP
[root@ubuntu2004 ~]#hostname -I
10.0.0.102 10.0.0.100 192.168.10.101
节点二依然在组播地址信息
[root@ubuntu2004 ~]#tcpdump -i eth1 -nn host 224.0.0.18
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
23:13:23.538298 IP 192.168.10.101 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 80, authtype simple, intvl 1s, length 20
23:13:24.539440 IP 192.168.10.101 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 80, authtype simple, intvl 1s, length 20
挂掉节点二,观察结果
回到节点一组播地址信息
[root@ubuntu2004 ~]#tcpdump -i eth1 -nn host 224.0.0.18
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
23:14:41.199520 IP 192.168.10.100 > 224.0.0.18: VRRPv2, Advertisement, vrid 66, prio 100, authtype simple, intvl 1s, length 20
查看节点一IP信息
[root@ubuntu2004 ~]#hostname -I
10.0.0.101 10.0.0.100 192.168.10.100
查看节点二IP信息
[root@ubuntu2004 ~]#hostname -I
10.0.0.102 192.168.10.101