安装
yum install keepalived haproxy psmisc
修改系统参数
echo 'net.ipv4.ip_nonlocal_bind = 1' >> /etc/sysctl.conf
sysctl -p
防火墙
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" destination address="224.0.0.18" protocol value="vrrp" accept' --permanent
Firewall-cmd --reload
架构
Haproxy反代配置
1 |
|
keepalived
## 主备不同之处
1,router_id 不能一致
2,state MASTER/BACKUP
3, priority 权重不能一致
4, interface ens33 网络接口注意和本机对应
keepalived master
1 |
|
keepalived backup
1 |
|
haproxy 进程检查脚本
1 |
|
维护脚本
1 |
|
通知脚本
## 只是发送通知邮件,不是必须的。keepalived 1.5 + postfix 能够发送邮件。
1 |
|
web 监控脚本
监控web服务器脚本:
#! /bin/bash
## 注意,这里需要tomcat开启了所有IP地址的web请求,
## 这里填写首页的index地址
URL=
URL_STATUS=`curl -o /dev/null -s -w %{http_code} $URL`
if [ $URL_STATUS != 200 ];then
killall tomcat
/opt/tomcat/bin/start.sh #这里是启动tomcat,当然,有其他方法也可以
sleep 3
if [ `curl -o /dev/null -s -w %{http_code} $URL` != 200 ];then
killall keepalived
fi
fi
监控mysql脚本
#! /bin/bash
STATUS=`mysqladmin ping -u设置的用户名 -p设置的密码`
if [ “$STATUS” != “mysqld is alive” ];then
service mysql restart
RE=$?
sleep 3
if [ $RE != 0 ];then
killall keepalived
fi
fi
参考
https://www.cnblogs.com/mrlapulga/p/6857294.html