#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», а у другой — нет. Следовательно, пакет / репозиторий необходимо обновить. Очень вероятно, что текущая версия установленного пакета не поддерживает используемое ключевое слово.