Keepalived组播故障排查
现象:
在Ubuntu 14.04的系统下安装了三台虚拟机,然后配置了一个简单的keepalived+haproxy服务。
结果启动后发现三台虚拟机都配上vip,keepalived.log日志中也未看见error的报错信息。
排查过程:
这些典型的脑裂(split brain)现象,一般来说先检查配置文件是否配的有问题。注意下virtual_router_id 的值。两边是否一样。
然后就是大杀器tcpdump出马了。
首先分别在三台机器执行
tcpdump -nn -c 20 -i any host 224.0.0.18
抓取20个VRRP包,正常输出应该如下:
15:30:25.406369 IP 192.168.70.99 > 224.0.0.18: VRRPv2, Advertisement, vrid 71, prio 1, authtype simple, intvl 1s, length 20
15:30:25.406440 IP 192.168.70.99 > 224.0.0.18: VRRPv2, Advertisement, vrid 71, prio 1, authtype simple, intvl 1s, length 20
15:30:25.406369 IP 192.168.70.99 > 224.0.0.18: VRRPv2, Advertisement, vrid 71, prio 1, authtype simple, intvl 1s, length 20
如果有输出,查看IP后面字段,在本次故障中,这里只有本机的IP,这说明vrrp包是正常发送出去的,但是没有收到其他机器的vrrp包,说明