keepalived如何公布vip mac

how does keepalived announce vip mac

我有一个包含服务器 A(192.168.1.11) 和 B(192.168.1.12) 的集群,两台服务器都配置为 "real server",比方说,侦听 80。

两台服务器也是"virtual server",通过keepalived配置,IP为192.168.1.110

发现一切正常,浮动 VIP 会将所有 192.168.1.110:80 请求重定向到 A/B。我会在这里省略配置细节。

我想知道的是,keepalived 是如何宣布 VIP mac 以便同一 vxnet 上的其他 machines 可以及时更新其 arp table。

我在 A/B 上尝试过 tcpdump -i eth0 arp -qn,但在 keepalived 切换 A/B' 节点状态(从 BACKUP 到 MASTER)期间似乎没有发送任何 arp 请求。

结论:

Keepalived 使用 VRRP,VRRP protocol states that when converting from BACKUP to MASTER, it would send a gratuitous ARP request 向邻居广播宣布 arp 更新。

  • If the Master_Down_Timer fires, then:

    • Send an ADVERTISEMENT
    • Broadcast a gratuitous ARP request containing the virtual router MAC address for each IP address associated with the virtual router
    • Set the Adver_Timer to Advertisement_Interval
    • Transition to the {Master} state

    endif