keepalived原理
keepalived作用
在网卡上创建浮动IP。
VRRP协议
keepalived 是以 VRRP 协议为实现基础的。VRRP即虚拟路由冗余协议,将N个虚拟机构成一个组。这个组里面有一个 master 和多个 backup,master上有浮动IP。当backup收不到vrrp包时就认为 master 挂了,根据VRRP的优先级重新选举master。
抓包分析VIP如何浮动
通过VRRP协议做主备之间的心跳,通过广播,每个节点收到转发的VIP所在节点IP到组播地址的报文。(所有节点的VRRP报文都是VIP所在的IP收到的报文)
当发生主备切换时,发送ARP包告诉其他机器现在VIP对应的mac地址。
登录192.168.0.104
tcpdump -i ens33 vrrp -w /tmp/keepalived.pcap
Time列说明每秒发送一个VRRP消息,第70s Master上的keepalived被停止,浮动IP跑到了BACKUP上,源地址从192.168.0.104变成了192.168.0.106。
看源地址是MASTER的最后一个包
优先级由100变成了0,MASTER停止参与VRRP。
登录192.168.0.104
当一台机器(192.168.0.104)获得VIP时,会发送ARP包,告知其他机器VIP在这里。
tcpdump -i ens33 arp -w /tmp/arp.pcap
查看VIP所在的MAC地址
包内容部分信息和配置文件一致。