我设法让 HAproxy 在故障转移配置中工作,正如架构.txt使用keepalived的文档。
我使用了 CentOS 5.5、来自 epel repo 的 HAproxy rpm(haproxy-1.3.25-1.el5)以及来自 CentOS 测试 repo 的 keepalived rpm(keepalived-1.1.15-0.el5.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 功能等...我希望得到关于实现它的最简单和更强大的方法的建议,使用可用的 rpm 是最好的。
谢谢G
答案1
lvs_sync_daemon_inteface
选项使 MASTER 能够保存连接状态并将其与 BACKUP 同步。尝试以下操作:
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
}
}