Keepalived + haproxy双机高可用方案

上一篇文章已经讲到了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


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
    }
   
}

编辑检查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/tangyanbo/p/4428467.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值