Проверка сервиса
Чтобы VIP уезжал при падении приложения (а не только всего узла):
Высокая доступность через виртуальный IP — failover между узлами по VRRP.
ip a | grep VIP
кто сейчас MASTER
journalctl -u keepalived -f
переходы состояний
/etc/keepalived/keepalived.conf (на MASTER):
На BACKUP — то же, но state BACKUP и priority 90.
| Директива | Смысл |
|---|---|
priority |
вес в выборах MASTER (выше побеждает) |
nopreempt |
не отбирать VIP обратно при возврате (избежать лишних переездов) |
unicast_peer |
VRRP по unicast (облака/сети без мультикаста) |
vrrp_script + track_script |
проверка сервиса → снижение priority при падении |
Ничего не найдено. Попробуй запрос короче.
Чтобы VIP уезжал при падении приложения (а не только всего узла):
Узлы не видят VRRP-объявления друг друга. Причина — firewall блокирует VRRP
(протокол 112, мультикаст 224.0.0.18) или разные virtual_router_id. Разреши
VRRP между узлами; в облаке без мультикаста — unicast_peer.
Нет track_script — VIP держится, пока жив узел, даже если сервис умер. Добавь
vrrp_script/track_script с weight.
Слишком чувствительный vrrp_script или восстановившийся MASTER отбирает VIP. Ставь
nopreempt на BACKUP-узлах или увеличь interval/fall/rise.
В одном L2-сегменте virtual_router_id уникален на группу; совпадение с чужой
группой ломает выборы.
ip a на каждом узле (VIP виден только на MASTER), journalctl -u keepalived —
переходы состояний (см. ip).
Есть неточность? Сообщить об ошибке в статье