实验环境:
后端服务器:vm3 172.25.3.3、vm4172.25.3.4
haproxy主机: vm1 172.25.3.1、vm2 172.25.3.2
vm
首先在vm1、vm2上安装keepalived
注意:需要提前配置好高可用的yum仓库
vm1作为mastar,vm2作为backup
yum install keepalived -y
对vm1上的keepalived进行配置,使用外部脚本/opt/haproxy.sh:
[root@vm1 ~]# cat /opt/check_haproxy.sh
#!/bin/bash
systemctl status haproxy &> /dev/null || systemctl restart haproxy &> /dev/null
killall -0 haproxy
if [ $? -ne 0 ];then
systemctl stop keepalived
fi
脚本解释:首先使用 systemctl status haproxy
查看haproxy服务的状态,如果服务状态正常(在运行中)不执行任何操作,如果服务没有正常运行,执行systemctl restar haproxy
来启动haproxy服务。使用[ $? -ne 0
]通过对执行结果的判断,如果执行成功,不做操作;如果执行失败,关闭keepalived,此时vip资源会迁移到备机(vm2)。
vm1上的keepalived配置文件:
! Configuration File for keepalive