Keepalived+Haproxy实现高可用

keepalived利用 VRRP Script 技术,可以调用外部的辅助脚本进行资源监控,并根据监控的结果实现优先 动态调整,从而实现其它应用的高可用性功能。

一、VRRP Script 配置

1、定义脚本

vrrp_script:自定义资源监控脚本,vrrp实例根据脚本返回值,公共定义,可被多个实例调用,定 义在vrrp实例之外的独立配置块,一般放在global_defs设置块之后。

通常此脚本用于监控指定应用的状态。一旦发现应用的状态异常,则触发对MASTER节点的权重减至 低于SLAVE节点,从而实现 VIP 切换到 SLAVE 节点。

vrrp_script <SCRIPT_NAME> {

        script <STRING> | <QUOTED-STRING>

        OPTIONS

}


vrrp_script <SCRIPT_NAME> { #定义一个检测脚本,在global_defs 之外配置
     script <STRING>|<QUOTED-STRING> #shell命令或脚本路径
     interval <INTEGER> #间隔时间,单位为秒,默认1秒
     timeout <INTEGER> #超时时间
     weight <INTEGER:-254..254> #默认为0,如果设置此值为负数,
     #当上面脚本返回值为非0时
     #会将此值与本节点权重相加可以降低本节点权重, 
#即表示fall. 
     #如果是正数,当脚本返回值为0,
     #会将此值与本节点权重相加可以提高本节点权重
     #即表示 rise.通常使用负值
     
     fall <INTEGER>       #执行脚本连续几次都失败,则转换为失败,建议设为2以上
     rise <INTEGER>       #执行脚本连续几次都成功,把服务器从失败标记为成功
     user USERNAME [GROUPNAME] #执行监测脚本的用户或组
     init_fail         #设置默认标记为失败状态,监测成功之后再转换为成功状态
}

2、调用脚本

track_script:调用vrrp_script定义的脚本去监控资源,定义在VRRP实例之内,调用事先定义的 vrrp_script

track_script {

        SCRIPT_NAME_1

        SCRIPT_NAME_2

}

vrrp_instance test {
... ...
 track_script {
 check_down
 }
}

二、Keepalived+Haproxy高可用实现步骤

1、在ka1和ka2先实现haproxy的配置

(1)在ka1和ka2安装haproxy

yum install haproxy -y

(2)在ka1和ka2编辑haproxy.cfg配置文件

vim /etc/haproxy/haproxy.cfg

2、在ka1和ka2启用内核参数

3、在ka1和ka2编写检测脚本 

[root@ka1 ~]# vim /etc/keepalived/haproxy.sh

#!/bin/bash

killall -0 haproxy

[root@ka1 ~]# chmod +X /etc/keepalived/haproxy.sh

[root@ka2 ~]# vim /etc/keepalived/haproxy.sh

#!/bin/bash

killall -0 haproxy

[root@ka2 ~]# chmod +X /etc/keepalived/haproxy.sh

 killall -0 haproxy主要用于检查haproxy进程是否正在运行,但不会真正终止它。如果haproxy进程正在运行,该命令会返回成功(通常为 0 状态码);如果 haproxy 进程未运行,该命令会返回失败(非 0 状态码)。

4、在ka1和ka2配置keepalived

ka1:

ka2:

3、测试

当ka1和ka2的keepalived服务和haproxy服务都开启时:

当ka1关闭haproxy服务:

当ka2关闭haproxy服务,ka1开启haproxy服务:

  • 16
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

new不出对象来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值