Назад | Перейти на главную страницу

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

Похоже, что первоначально сердцебиение передавалось по одноадресной передаче и принималось другими экземплярами. Определив одноранговые узлы машины, вы избежите этой проблемы.