概述
作者:风过无痕-唐
出处:http://www.cnblogs.com/tangyanbo/
上一篇文章已经讲到了keepalived实现双机热备,且遗留了一个问题
master的网络不通的时候,可以立即切换到slave,但是如果只是master上的应用出现问题的时候,是不会
主动切换的。
上篇文章地址:Keepalived 实现双机热备(一)
那么这篇文章主要讨论解决这个问题
我的方案是:
写一个脚本,用于监控haproxy,当然,keepalive支持脚本扩展
当master haproxy出现问题时,重启haproxy,如果重启不成功,则停掉master上面的keepalived
也可以不重启haproxy,直接停掉keepalived,让backup服务器接管master
这样haproxy出现故障,网站依然可用
系统分布如下:
ha主机 192.168.1.227:80
ha备机 192.168.1.246
keepalived 主机 192.168.1.227
keepalived备机 192.168.1.246
web1 http://192.168.1.226:8081/login
web2 http://192.168.1.246:8888/login
虚拟ip 192.168.1.99
keepalive master 和 backup 配置
vi /etc/keepalived/keepalived.conf
增加红色部分
! Configuration File for keepalived
#定义检查脚本
vrrp_script check_haproxy {
script "/etc/keepalived/check_haproxy.sh"
interval 2
weight 2
}
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.99
}
#执行检查脚本
track_script {
check_haproxy
}
}
编辑检查haproxy脚本
/etc/keepalived/check_haproxy.sh
#!/bin/bash
A=`ps -C haproxy --no-header |wc -l`
if [ $A -eq 0 ];then
/etc/init.d/keepalived stop
fi
增加执行权限,注意别忘记了
chmod 777 check_haproxy.sh
重启keepalived即可
转载于:https://www.cnblogs.com/dannyxing/p/6655006.html
最后
以上就是高贵芹菜为你收集整理的Keepalived 添加脚本配置监控haproxy方案的全部内容,希望文章能够帮你解决Keepalived 添加脚本配置监控haproxy方案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复