Centos
keepalived 多個實例
我有兩個執行 keepalived 的應用程序伺服器,它們都在同一網路上使用 keepalived。我一直在系統日誌中看到
Jan 8 11:49:01 <server> Keepalived_vrrp[13764]: bogus VRRP packet received on eth0 !!!
。昨天我將第二個應用程序上線後似乎出現了問題,除了將應用程序相互隔離之外,是否有解決此問題的正確方法?下面是來自其中一個應用伺服器上的一個節點的 keepalived.conf,它們都很相似,兩個不同的應用使用不同的密碼,但都使用相同的
virtual_router_id
.! Configuration File for keepalived vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { <public_ip>/24 dev eth0 } }
我能夠通過將以下內容添加到
vrrp_instance VI_1
塊中來解決此問題。vrrp_unicast_bind 192.168.1.11 # Internal IP of this machine vrrp_unicast_peer 192.168.1.12 # Internal IP of peer
最初,心跳似乎是通過單播發出的,並被其他實例接收。通過定義機器的對等點,您可以避免這個問題。
就我而言,同一網路上安裝了多個 keepalived 路由器,並且在兩個不同的路由器中,
virtual_router_id
變數中的 id 相同。