LVS健康检查脚本

一曲冷凌霜 提交于 2019-11-28 15:50:47

默认LVS是不带健康检查功能的,只有结合keepalived才能实现健康检测和高可用,不过这里我们使用脚本来简要替代一下keepalived的工作

 

后台运行脚本

该脚本会每隔1s检查情况,如果真实服务器挂了,就会将其剔除,如果检测到真实服务器是正常的,且ipvsadm配置里没有,就会将添加到配置中。

#!/bin/bash

VIP=192.168.113.15:80
RIP1=192.168.113.100:80
RIP2=192.168.113.200:80

while :
do
    for IP in $RIP1 $RIP2
    do
        curl -s http://$IP &> /dev/null
        if [ $? -eq 0 ] ; then
            ipvsadm -Ln | grep -q $IP || ipvsadm -a -t $VIP -r $IP
        else
            ipvsadm -Ln | grep -q $IP && ipvsadm -d -t $VIP -r $IP
        fi
    done
    sleep 1
done

 

还有种方式就是将脚本里的while循环和sleep去掉,将其放在定时计划任务中执行

crontab -u root -e
# 每两分钟执行一次检测
*/2 * * * * /root/install_lvs_dr/check.sh
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!