Добрый денЬ! Взялся за настройку балансировщика для web серверов (4шт.) Решил использовать связку Haproxy+Keepalived на Centos7 x64. Установку делал из репов. Связка работает, виртуальный ip, в случае выключения сети на одном из серверов LB, автоматически переходит на второй сервер LB. Но есть один момент, если к примеру на Master сервере выполнить команду
service haproxy stop
vrrp_script chk_haproxy {
script "/usr/bin/kill all -0 haproxy" # verify the pid existance
interval 2 # check every 2 seconds
weight 2 # add 2 points of prio if OK
}
vrrp_instance VI_1 {
interface eth0 # interface to monitor
state MASTER
virtual_router_id 51 # Assign one ID for this route
priority 101 # 100 on master, 50 on backup
virtual_ipaddress {
192.168.1.5 # the virtual IP
}
track_script {
chk_haproxy
}
}
# Script used to check if HAProxy is running
vrrp_script check_haproxy {
script "/usr/bin/kill all -0 haproxy"
interval 2
weight 2
}
# Virtual interface
# The priority specifies the order in which the assigned interface to take over in a failover
vrrp_instance VI_01 {
state BACKUP
interface eth0
virtual_router_id 51
priority 100
# The virtual ip address shared between the two loadbalancers
virtual_ipaddress {
192.168.1.5
}
track_script {
check_haproxy
}
}
Меня в данных кофигах смущает строчка
script "/usr/bin/kill all -0 haproxy"
Раньше она выглядела вот так
script "killall -0 haproxy"
В логи сыпались ошибки, что killall не существует, дописал абсолютный путь, и по скольку скрипта killall там не было, то all отделил пробелом. Ругань прошла, теперь каждые 2 секунды в логах
Dec 2 12:23:40 lb2 Keepalived_vrrp[1105]: /usr/bin/kill all -0 haproxy exited due to signal 15
Dec 2 12:23:42 lb2 Keepalived_vrrp[1105]: /usr/bin/kill all -0 haproxy exited due to signal 15
Подскажите, куда копать. Необходимо при падении службы haproxy автоматическое назначение Masterom другого сервера.