lvs mysql健康检查_LVS集群RS健康状态检查

生产中,我们需要检测RS状态,当RS服务异常时,应该将RS移出集群,而当RS恢复之后,再将RS加入到集群中。下面是脚本内容#!/bin/bash

VIP=192.168.10.3

##集群服务端口号

CPORT=80

RS=(192.168.10.7 192.168.10.8)

###RS主机的状态,1表示状态正常

RSTATUS=(1 1)

#权重

RW=(2 1)

###RS主机上实际的服务端口

RPORT=80

###lVS的模式,这里以DR模式为例

TYPE=g

###add函数表示将RS加入到集群,del函数表示将RS移出集群

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

脚本思路:写了一个循环,每隔5秒钟去检测一次RS的状态,

1、如果RS状态正常,而RS本身在集群中,那么什么也不做,如果RS不在集群中,则将RS加入到集群中

2、如果RS状态异常,而RS本身在集群中,那么将RS从集群中删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值