Невозможно настроить плавающий IP-адрес с помощью keepalived и VRRP

#ip #high-availability #virtual-ip-address #keepalived

#ip #высокая доступность #виртуальный IP-адрес #keepalived

Вопрос:

У меня есть компьютер Ubuntu, на котором размещены две виртуальные машины, на каждой из которых запущено приложение, для которого мне нужно обеспечить высокую доступность, поэтому я внедрил плавающий IP-адрес с помощью keepalived и VRRP, но я не могу выполнить пинг главной виртуальной машины, используя виртуальный IP-адрес с хоста, он говорит, что конечный хост недоступен.

keepalived.conf для VM1:

 vrrp_instance VI_1 { 
    interface enp1s0 
    state MASTER                  #BACKUP here for VM2
    virtual_router_id 51 
    priority 200                  #100 in case of VM2
    advert_int 2 
    authentication { 
        auth_type PASS
        auth_pass monkey 
    } 
    virtual_ipaddress { 
        192.168.122.150/24
    }
}
 

когда я запускаю службу keepalived, она показывает сообщения ниже:

 Dec 19 14:31:37 secondaryvm Keepalived_vrrp[1419]: Unknown keyword '}'
Dec 19 14:31:37 secondaryvm Keepalived_vrrp[1419]: Unknown keyword 'virtual_ipaddress'
Dec 19 14:31:37 secondaryvm Keepalived_vrrp[1419]: Unknown keyword '192.168.122.150'
Dec 19 14:31:37 secondaryvm Keepalived_vrrp[1419]: Unknown keyword '}'
Dec 19 14:31:37 secondaryvm Keepalived_vrrp[1419]: Unknown keyword '}'
Dec 19 14:31:37 secondaryvm Keepalived_vrrp[1419]: Using LinkWatch kernel netlink reflector...
Dec 19 14:31:37 secondaryvm systemd[1]: Started Keepalive Daemon (LVS and VRRP).
Dec 19 14:31:39 secondaryvm Keepalived_vrrp[1419]: VRRP_Instance(VI_1) Transition to MASTER STATE
Dec 19 14:31:41 secondaryvm Keepalived_vrrp[1419]: VRRP_Instance(VI_1) Entering MASTER STATE
Dec 20 01:55:40 secondaryvm Keepalived_vrrp[1419]: VRRP_Instance(VI_1) Received advert with lower priori
~
 

Ответ №1:

Немного поздно отвечать, но я сам столкнулся с подобной проблемой. Я продолжал получать сообщение об ошибке, в котором говорится, что «vrrp_track_process» является неизвестным ключевым словом, хотя if работал на 1 виртуальной машине, а не на других. Заглянув в «man keepalived.conf», я заметил, что у одной виртуальной машины в документации есть «vrrp_track_process», а у другой — нет. Следовательно, пакет / репозиторий необходимо обновить. Очень вероятно, что текущая версия установленного пакета не поддерживает используемое ключевое слово.