У меня есть три кластера серверов поддержки активности, по два экземпляра в каждом кластере, каждый кластер с уникальным VIP и идентификатором маршрутизатора. Два из них отлично работают с одноадресной рекламой VRRP, но один ... нет.
Итак, мы скажем ради этого вопроса, что два кластерных экземпляра machine1.domain
и machine2.domain
. Вот конфигурация keepalived для machine1.domain
:
vrrp_instance VI_1 {
state MASTER
notify /usr/local/bin/keepalived-notify.sh
virtual_router_id 55
interface eth0
unicast_src_ip 192.168.0.12
unicast_peer {
192.168.0.13
}
priority 255
authentication {
...
}
virtual_ipaddress {
192.168.0.14
}
track_script {
chk_haproxy
}
}
Чтобы прямо заявить об этом, machine1.domain
имеет назначенный IP 192.168.0.12
и machine2.domain
имеет 192.168.0.13
с VIP-персоной 192.168.0.14
.
Когда я бегу tcpdump -i eth0 | grep "vrid 55"
, вот что я получаю:
sudo tcpdump -i eth0 | grep "vrid 55"
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:09:03.386420 IP machine1.domain > machine2.domain: VRRPv2, Advertisement, vrid 55, prio 255, authtype simple, intvl 1s, length 20
14:09:03.738807 IP VIP.domain > vrrp.mcast.net: VRRPv2, Advertisement, vrid 55, prio 100, authtype none, intvl 1s, length 20
14:09:04.387364 IP machine1.domain > machine2.domain: VRRPv2, Advertisement, vrid 55, prio 255, authtype simple, intvl 1s, length 20
14:09:04.740211 IP VIP.domain > vrrp.mcast.net: VRRPv2, Advertisement, vrid 55, prio 100, authtype none, intvl 1s, length 20
14:09:05.388325 IP machine1.domain > machine2.domain: VRRPv2, Advertisement, vrid 55, prio 255, authtype simple, intvl 1s, length 20
14:09:05.740435 IP VIP.domain > vrrp.mcast.net: VRRPv2, Advertisement, vrid 55, prio 100, authtype none, intvl 1s, length 20
Таким образом, keepalived отправляет многоадресные сообщения на VIP и одноадресные сообщения на machine1.domain
IP-адрес экземпляра. Я перезапустил службу поддержки активности, перезагрузил ее, остановил, перезапустил экземпляр и т. Д. Он всегда возвращается в широковещательном режиме как при одноадресной, так и при многоадресной передаче.
Кроме того, все экземпляры во всех трех моих кластерах настраиваются через chef. Все они имеют идентичные конфигурации, просто замените три IP-адреса и идентификатор маршрутизатора в конфигурации keepalived.
Спасибо за любую помощь, которую вы можете оказать. Я понятия не имею, что вызвало это, есть идеи?