Мне удалось заставить HAproxy работать в конфигурации аварийного переключения, как это было предложено в architecture.txt документ с использованием keepalived.
Я использовал CentOS 5.5, HAproxy rpm (haproxy-1.3.25-1.el5) из репозитория epel и keepalived rpm (keepalived-1.1.15-0.el5.centos) из репозитория для тестирования CentOS.
Это моя конфигурация keepalived
vrrp_script chk_haproxy { # Requires keepalived-1.1.13
script "killall -0 haproxy" # cheaper than pidof
interval 2 # check every 2 seconds
weight 2 # add 2 points of prio if OK
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101 # 101 on master, 100 on backup
virtual_ipaddress {
10.0.0.30
10.0.0.31
}
track_script {
chk_haproxy
}
}
Теперь я бы хотел, чтобы мой резервный узел мог принимать на себя фактические соединения, открытые при выходе из строя мастера.
Я слышал, что это можно сделать несколькими способами (conntrackd), используя функции LVS и т. Д. Я хотел бы получить предложения по простейшему и более надежному способу достижения этого, лучше всего использовать доступные rpms.
Спасибо G
lvs_sync_daemon_inteface
опция позволяет МАСТЕРУ сохранять состояние соединения и синхронизировать его с РЕЗЕРВНЫМ КОПИЕМ. Попробуй это:
vrrp_instance VI_1 {
state MASTER
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 51
priority 101 # 101 on master, 100 on backup
virtual_ipaddress {
10.0.0.30
10.0.0.31
}
track_script {
chk_haproxy
}
}