Я настроил балансировщик нагрузки при отказе, чтобы он действовал как резервный, когда мой основной сервер выходит из строя.
Поэтому я настроил Keepalived, который переключает плавающий виртуальный IP-адрес на другую машину всякий раз, когда не может найти службу HAProxy, работающую на другой машине. IP-адреса, указанные в файле conf, присутствуют на моем интерфейсе eth1.
На моем первичный балансировщик нагрузки я осознаю
статус systemctl
✓ keepalived.service — Демон Keepalive (LVS и VRRP)
Загружено: загружено (/lib/systemd/system/keepalived.service; включено; предустановка поставщика: включена)
Активно: активно (работает) с 15 мая 2022 г., 18:06:32 UTC; 21 мин назад
Основной PID: 659 (сохранение активности)
Заданий: 2 (лимит: 1131)
Память: 4,7 Мб
CGroup: /system.slice/keepalived.service
ââ659 /usr/sbin/keepalived --dont-fork
ââ711 /usr/sbin/keepalived --dont-fork
15 мая 18:27:57 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2250]: разрешен только один аргумент, номер сигнала
15 мая 18:28:01 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2252]: разрешен только один аргумент, номер сигнала
15 мая 18:28:03 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2253]: разрешен только один аргумент, номер сигнала
15 мая 18:28:05 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2256]: разрешен только один аргумент, номер сигнала
15 мая 18:28:07 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2259]: разрешен только один аргумент, номер сигнала
15 мая 18:28:09 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2260]: разрешен только один аргумент, номер сигнала
15 мая 18:28:11 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2261]: разрешен только один аргумент, номер сигнала
15 мая 18:28:13 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2262]: разрешен только один аргумент, номер сигнала
15 мая 18:28:15 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2263]: разрешен только один аргумент, номер сигнала
15 мая 18:28:17 ubuntu-s-1vcpu-1gb-blr1-01 killall5[2264]: разрешен только один аргумент, номер сигнала
судо нано /etc/keepalived/keepalived.conf
vrrp_script chk_haproxy {
скрипт "pidof haproxy"
интервал 2
}
vrrp_instance VI_1 {
интерфейс eth1
состояние МАСТЕР
приоритет 200
виртуальный_роутер_id 33
unicast_src_ip 10.122.0.2
unicast_peer {
10.122.0.3
}
аутентификация {
auth_type ПАРОЛЬ
auth_pass пароль
}
track_script {
chk_haproxy
}
notify_master /etc/keepalived/master.sh
}
На моем вторичный балансировщик нагрузки
статус systemctl
✓ keepalived.service — Демон Keepalive (LVS и VRRP)
Загружено: загружено (/lib/systemd/system/keepalived.service; включено; предустановка поставщика: включена)
Активно: активно (работает) с 15 мая 2022 г., 17:57:16 UTC; 36 минут назад
Основной PID: 329993 (сохранение активности)
Заданий: 2 (лимит: 4677)
Память: 1,9 М
CGroup: /system.slice/keepalived.service
ââ329993 /usr/sbin/keepalived --dont-fork
ââ330005 /usr/sbin/keepalived --dont-fork
15 мая, 17:57:16 ubuntu-s-2vcpu-4gb-blr1-01 Keepalived_vrrp[330005]: скрипт `chk_haproxy` теперь возвращает 1
15 мая, 17:57:16 ubuntu-s-2vcpu-4gb-blr1-01 Keepalived_vrrp[330005]: VRRP_Script(chk_haproxy) не удалось (выход со статусом 1)
15 мая 17:57:16 ubuntu-s-2vcpu-4gb-blr1-01 Keepalived_vrrp [330005]: (VI_1) переход в СОСТОЯНИЕ ОШИБКИ
15 мая 18:05:21 ubuntu-s-2vcpu-4gb-blr1-01 killall5[330439]: разрешен только один аргумент, номер сигнала
15 мая 18:10:13 ubuntu-s-2vcpu-4gb-blr1-01 killall5[330679]: разрешен только один аргумент, номер сигнала
15 мая 18:11:37 ubuntu-s-2vcpu-4gb-blr1-01 killall5[330750]: разрешен только один аргумент, номер сигнала
15 мая 18:17:53 ubuntu-s-2vcpu-4gb-blr1-01 killall5[331070]: разрешен только один аргумент, номер сигнала
15 мая 18:24:21 ubuntu-s-2vcpu-4gb-blr1-01 killall5[331386]: разрешен только один аргумент, номер сигнала
15 мая 18:28:11 ubuntu-s-2vcpu-4gb-blr1-01 killall5[331552]: разрешен только один аргумент, номер сигнала
15 мая 18:30:31 ubuntu-s-2vcpu-4gb-blr1-01 killall5[331649]: разрешен только один аргумент, номер сигнала
судо нано /etc/keepalived/keepalived.conf
vrrp_script chk_haproxy {
скрипт "pidof haproxy"
интервал 2
}
vrrp_instance VI_1 {
интерфейс eth1
резервная копия состояния
приоритет 100
виртуальный_роутер_id 33
unicast_src_ip 10.122.0.3
unicast_peer {
10.122.0.2
}
аутентификация {
auth_type ПАРОЛЬ
auth_pass пароль
}
track_script {
chk_haproxy
}
notify_master /etc/keepalived/master.sh
}
Вывод pidof pidof haproxy
Начальный
root@ubuntu-s-1vcpu-1gb-blr1-01:~# pidof haproxy
726 719
Среднее
root@ubuntu-s-2vcpu-4gb-blr1-01:~# pidof haproxy
328842 328841
Примечание : Я запустил сценарий /etc/keepalived/master.sh вручную, и он успешно работал.
РЕДАКТИРОВАТЬ1: Он не работает, даже когда я использую pidof -s haproxy