LVS健康检查脚本

默认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
posted @ 2019-08-26 18:06  落魄山陈平安  阅读(410)  评论(0编辑  收藏  举报