在上一篇文章中,我们上面可以看到,MASTER和BACKUP上执行ip addr都可以看到VIP,很明显是有问题的。
数据包抓取看看
安装tcpdump命令(没有的话)
yum install tcpdump
[root@localhost sbin]# tcpdump -i ens33 vrrp -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
04:13:38.770655 IP 192.168.192.12 > 224.0.0.18: VRRPv2, Advertisement, vrid 13, prio 80, authtype simple, intvl 2s, length 20
04:13:39.484837 IP 192.168.192.11 > 224.0.0.18: vrrpv2, Advertisement, vrid 13, prio 110, authtype simple, intvl 2s, length
检查发现 11和12都在对224.0.0.18发送消息。Keepalived使用vrrp组播,默认地址是224.0.0.18.但是在正常情况下,备节点如果收到主节点的心跳消息时,优先级高于自己,就不会主动对外发送消息。
考虑到,该主机启用了firewalld防火墙,因此要防火墙配置放过vrrp协议。
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --reload
完成后再用ip addr查看,集群已经正常了,只有主节点绑定虚拟IP,备份节点不会绑定了。
tcpdump -i ens33 vrrp -n
[root@localhost sbin]# tcpdump -i ens33 vrrp -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
04:25:26.669848 IP 192.168.192.11 > 224.0.0.18: VRRPv2, Advertisement, vrid 13, prio 110, authtype simple, intvl 2s, length 20
04:25:28.679560 IP 192.168.192.11 > 224.0.0.18: VRRPv2, Advertisement, vrid 13, prio 110, authtype simple, intvl 2s, length 20
发现12就不会对224.0.0.18发送消息了。
再看ip addr 发现只有11Master才有虚拟IP 13了。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved