您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
基于lvs-dr的后端服务器健康状况检查
发布时间:2019-05-02 18:20:42编辑:雪饮阅读()
前面实现了lvs-dr模式的负载均衡,但还有个问题需要解决,就是当某个后端集群元素出现故障,则lvs要将该元素移除,该元素恢复后又要再次将该元素添加上。
这里就需要写一个脚本来实现了,基于实际的环境会比较复杂,所以这里实现的脚本目前有两个缺点:
(1)必须是集群当前所以节点都在线才能使用该脚本
(2)该脚本并没有自动获取你的lvs集群元素,而是要根据你具体使用情况来修改该脚本中的相关变量值
脚本如:
#!/bin/bash
VIP=192.168.2.139
CPORT=80
#FAIL_BACK=127.0.0.1
RS=("192.168.2.104" "192.168.2.167")
RSTATUS=("1" "1")
RW=("2" "1")
RPORT=80
TYPE=g
add(){
ipvsadm -a -t $VIP:$CPORT -r $1:$RPORT -$TYPE -w $2
[ $? -eq 0 ] && return 0 || return 1
}
del(){
ipvsadm -d -t $VIP:$CPORT -r $1:$RPORT
[ $? -eq 0 ] && return 0 || return 1
}
while :; do
let COUNT=0
for I in ${RS[*]}; do
if curl --connect-timeout 1 http://$I &> /dev/null; then
if [ ${RSTATUS[$COUNT]} -eq 0 ]; then
add $I ${RW[$COUNT]}
[ $? -eq 0 ] && RSTATUS[$COUNT]=1
fi
else
if [ ${RSTATUS[$COUNT]} -eq 1 ]; then
del $I
[ $? -eq 0 ] && RSTATUS[$COUNT]=0
fi
fi
let COUNT++
done
sleep 5
done
脚本下载:
关键字词:健康,检查,后端,lvs
下一篇:利用防火墙标记实现多个集群的整合