LVS集群RS健康状态检查

简介:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/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  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从集群中删除










本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1846016,如需转载请自行联系原作者

目录
相关文章
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
Nginx系列教程(14) - LVS+KeepAlived+Nginx实现高性能负载均衡集群
1165 0
|
3月前
|
负载均衡 网络协议
使用LVS搭建集群实现负载均衡(二)安装使用
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡(二)安装使用
70 5
|
3月前
|
存储 负载均衡 算法
使用LVS搭建集群实现负载均衡(一)
【8月更文挑战第8天】使用LVS搭建集群实现负载均衡
157 5
|
3月前
|
负载均衡 监控 算法
在Linux中,如何配置和管理LVS集群?
在Linux中,如何配置和管理LVS集群?
|
6月前
|
弹性计算 负载均衡 网络协议
LVS (Linux Virtual server)集群介绍
LVS (Linux Virtual server)集群介绍
|
6月前
|
运维 负载均衡 监控
keepalived+LVS实现高可用性集群
通过结合keepalived和LVS,你可以创建一个高可用性的负载均衡集群,确保服务器的稳定性和性能。这对于托管Web服务、应用服务器等关键服务的服务器集群非常有用。
119 1
|
6月前
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
6月前
|
负载均衡 算法 Linux
LVS集群
LVS(Linux Virtual Server)集群是一种基于Linux操作系统的高可用性和负载均衡解决方案。它通过将网络流量分发到多个后端服务器上,实现了对网络服务的负载均衡,并提高了系统的可用性和性能。
131 1
|
11月前
|
负载均衡 算法 网络协议
小白带你学习linux的LVS集群(三十六)
小白带你学习linux的LVS集群(三十六)
151 0
|
负载均衡 测试技术
LVS+KeepAlived构建高可用集群
LVS+KeepAlived构建高可用集群
110 0