У меня есть два сервера приложений, на которых запущен 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
Похоже, что первоначально сердцебиение передавалось по одноадресной передаче и принималось другими экземплярами. Определив одноранговые узлы машины, вы избежите этой проблемы.