配置keepalived实现haproxy高可用
架构
192.168.153.18 | haproxy01,keepalived主
192.168.153.18 | haproxy02,keepalived备
安装haproxy
两台机器都需要安装
yum install -y haproxy
haproxy -v
启动:
systemctl start haproxy
systemctl enable haproxy
systemctl status haproxy
安装keepalived
两台机器都需要安装
yum install keepalived -y
配置keepalived实现高可用
- 主配置文件:
cat /etc/keepalived/keepalived.conf
global_defs {
router_id haproxy01
}
vrrp_script chk_haproxy_proxy {
script "/etc/keepalived/check_haproxy.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
interface ens33
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.153.254
}
track_script {
chk_haproxy_proxy
}
}
- 备配置文件:
cat /etc/keepalived/keepalived.conf
global_defs {
router_id haproxy02
}
vrrp_script chk_haproxy_proxy {
script "/etc/keepalived/check_haproxy.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.153.254
}
track_script {
chk_haproxy_proxy
}
}
- 检察haproxy存活的脚本如下:
cat /etc/keepalived/check_haproxy.sh
#!/bin/bash
a=$(systemctl is-active haproxy)
if [ $a != active ]
then
systemctl stop keepalived
fi
chmod 755 /etc/keepalived/check_haproxy.sh
- 启动keepalived
systemctl start keepalived
systemctl enable keepalived
systemctl status keepalived
测试
正常情况下两台机器的haproxy与keepalived都正常启动,且vip在haproxy01上:


之后我们关闭haproxy01的haproxy服务
systemctl stop haproxy
观察到vip已经漂移到了haproxy02上:

此时故障转移测试成功。

配置keepalived实现haproxy高可用
浙公网安备 33010602011771号