У меня есть keepalived, работающий на 2 (centos7) vms, и я могу видеть, что аварийное переключение успешно работает в простейшей форме, выдав пинг-т 192.168.1.11
и вытаскивание vm1 из сети, после чего я обычно вижу, что только один из пингов истекает, прежде чем vm2 поднимает его и начинает отвечать.
После успешного аварийного переключения система перезагружается после того, как vm1 возвращается в оперативный режим, и кажется, что я обычно не вижу тайм-аута пинга, хотя я полагаю, что это случайно, поскольку вещи не синхронизированы ...
Проблема, которую я вижу, связана с http в той же настройке. У меня есть веб-приложение, работающее на vm1 и vm2, и я могу видеть каждый GET по мере его поступления (через ssh на vm1 или vm2). Я также написал тестовое приложение на своем блоке разработчика, чтобы зациклить простые http-получения главной страницы (с тайм-аутом 1 с), пока я удаляю vm1 из сети, и я вижу время аварийного переключения / сброса где-то от <1 до 27 секунд.
глядя на документацию здесь Я не вижу никаких параметров, которые я мог бы изменить, которые могли бы повлиять на это, но хотел бы как-то лучше понять, почему это так сильно различается, и могу ли я сократить время аварийного переключения. Также это верхний ответ здесь предполагает, что advert_int имеет большое значение, но я установил его равным единице, и я все еще вижу эти разные результаты...
вот файл конфигурации kad vm1:
global_defs {
root_user_script
}
vrrp_instance VIP01 {
состояние МАСТЕР
интерфейс eth0
виртуальный_роутер_id 101
приоритет 150
advert_int 1
аутентификация {
auth_type ПАРОЛЬ
auth_pass [фрагмент]
}
виртуальный_ipaddress {
192.168.1.11
}
}
и вм2:
global_defs {
root_user_script
}
vrrp_instance VIP01 {
резервная копия состояния
интерфейс eth0
виртуальный_роутер_id 101
приоритет 100
advert_int 1
аутентификация {
auth_type ПАРОЛЬ
auth_pass [фрагмент]
}
виртуальный_ipaddress {
192.168.1.11
}
}