У меня простая настройка с keepalived, настроенным на 2 серверах Ubuntu 16.04 (VMWare VM)
У меня общий VIP между хозяевами, и все работает нормально. Когда я останавливаю или перезапускаю один сервер, другой становится МАСТЕРОМ, и VIP передается нормально.
У меня есть вопрос, сколько времени это займет. У меня непрерывный пинг против VIP, и я вижу, что, похоже, требуется около 3-4 секунд, прежде чем пинг снова ответит. Я ожидал / надеюсь, что это будет почти мгновенно, но это не так.
Версия keepalived - 1.2.19, и моя конфигурация вставлена ниже. Я попытался уменьшить значение Advert_int до значения менее 1, но при этом получаю сообщение об ошибке: «VRRP_Instance (TEST_LOADBALANCER): субсекундный интервал рекламы не поддерживается в версии 2!» Как вы можете видеть из моей конфигурации, я пытался принудительно использовать VRRP версии 3, но это, похоже, не повлияло.
Server1 - /etc/keepalived/keepalived.conf
global_defs {
notification_email {
email@email.com
}
notification_email_from noreply@email.com
smtp_server emailserver.email.com
vrrp_version 3
smtp_connect_timeout 30
garp_master_delay 0
}
vrrp_instance TEST_LOADBALANCER {
state MASTER
smtp_alert
notify /usr/local/sbin/notify-keepalived.sh
# Specify the network interface to which the virtual address is assigned
interface ens160
# The virtual router ID must be unique to each VRRP instance that you define
virtual_router_id 61
# Set the value of priority higher on the master server than on a backup server
priority 254
# advert_int 1
virtual_ipaddress {
192.168.20.20
}
}
Server2 - /etc/keepalived/keepalived.conf
global_defs {
notification_email {
email@email.com
}
notification_email_from noreply@email.com
smtp_server emailserver.email.com
vrrp_version 3
smtp_connect_timeout 30
garp_master_delay 0
}
vrrp_instance TEST_LOADBALANCER {
state BACKUP
smtp_alert
notify /usr/local/sbin/notify-keepalived.sh
# Specify the network interface to which the virtual address is assigned
interface ens160
# The virtual router ID must be unique to each VRRP instance that you define
virtual_router_id 61
# Set the value of priority higher on the master server than on a backup server
priority 250
# advert_int 1
virtual_ipaddress {
192.168.20.20
}
}
Сценарий notify-keepalived.sh просто останавливает и запускает службу HAProxy, которая использует VIP.
Есть ли способ добиться более быстрого переключения при отказе, чем сейчас? В настоящий момент это вызывает проблемы в нашей производственной среде всякий раз, когда на этих серверах выполняется обновление или обслуживание ОС.
Любая помощь очень ценится!
Спасибо, JP