LVS-DR高可用集群【自动化健康检测脚本】
来源:互联网 发布:java 按键监听 编辑:程序博客网 时间:2024/05/17 22:21
LVS-DR:
- 集群节点与Director必须在同一物理网络中
- RIP可以使用公网地址,方便远程管理和监控
- Director仅负责处理入站请求
- Real server 不能将网关指向Director的DIP
- 不支持端口映射
Kernel parameter:
- arp_ignore:定义接受到ARP请求时的响应级别
- 1:仅在请求的目标地址配置在请求到达的接口上的时候,才给予响应
- arp_announce:定义将自己的地址向外通告时的通告级别
- 0:将本地任何接口的任何地址向外通告
- 1:试图仅向目标网络通告与其网络匹配的地址
- 2:仅向与本地接口上地址匹配的网络进行通告
在WMvare虚拟机上模拟DR高可用集群,宿主机IP:192.168.1.105,三个虚拟机使用桥接的方式连接网络,IP地址要与宿主机在同一网段。网络配置如下:
Director:
- ens33:192.168.1.201 (DIP)
- ens33:0:192.168.1.200 (VIP)
-
RS1:
- ens33:192.168.1.202 (RIP)
- lo:0:192.168.1.200 (VIP)
RS2:
- ens33:192.168.1.203(RIP)
- lo:0:192.168.1.200 (VIP)
RS1和RS2修改内核参数arp_announce
与arp_ignore
$ cd /proc/sys/net/ipv4/conf$ sudo sysctl -w net.ipv4.conf.ens33.arp_announce=2$ sudo sysctl -w net.ipv4.conf.all.arp_announce=2$ sudo sysctl -w net.ipv4.conf.ens33.arp_ignore=1$ sudo sysctl -w net.ipv4.conf.all.arp_ignore=1
RS1和RS2分别配置VIP为,让其对自己广播
$ sudo ifconfig lo:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 up
RS1和RS2分别添加路由
$ sudo route add -host 192.168.1.200 dev lo:0
Director配置VIP,并添加路由
$ sudo ifconfig ens33:0 192.168.1.200 broadcast 192.168.1.200 netmask 255.255.255.255 up$ sudo route add -host 192.168.1.200 dev ens33:0
自动化健康监测脚本
功能介绍:
- 脚本启动后,会监测哪些RS服务是正常的,并把服务正常的RS全部添加到集群服务
- 若其中一台RS宕机,Director会监测到其服务状态,并删除这台RS,若一段时间后监测到这台RS恢复正常,则Director将其添加回来
- 若人为删除某一台RS,脚本会监测这台RS服务是否正常,若服务正常,则把RS自动添加到集群服务。
- 若所有的RS都坏掉,则脚本会把Director的本地服务启动,提示用户系统正在维护;当其他RS服务恢复正常之后,则立即添加RS到集群服务,再将本地服务移除。
1 #!/bin/bash 2 # 3 # Script to check the health status of LVS-DR 4 # 5 6 LO=127.0.0.1 7 VIP=192.168.1.200 8 RIPS=("192.168.1.202" "192.168.1.203") 9 10 RSWIGHT=("2" "5") 11 12 LOG=/home/jlong/bin/logs/HealthCheck.log 13 14 let NUM=0 15 let LOSTATUS=0 16 17 18 while :;do 19 let COUNT=0 20 for I in ${RIPS[*]};do 21 if ipvsadm -L -n | grep $I &> /dev/null;then 22 let NUM++ 23 if curl --connect-timeout 1 http://$I &> /dev/null;then 24 continue 25 else 26 ipvsadm -d -t $VIP:80 -r $I &> /dev/null 27 echo "`date +'%F %H:%M:%S'`, $I is gone." >> $LOG 28 echo "Del $I successful." 29 let NUM-- 30 fi 31 else 32 if curl --connect-timeout 1 http://$I &> /dev/null;then 33 ipvsadm -a -t $VIP:80 -r $I:80 -g -w ${RSWIGHT[$COUNT]} 34 echo "`date +'%F %H:%M:%S'`, $I is back" >> $LOG 35 echo "Add $I successful." 36 let NUM++ 37 fi 38 fi 39 let COUNT++ 40 done 41 42 if [ $NUM -eq 0 ];then 43 if [ $LOSTATUS -eq 0 ];then 44 ipvsadm -a -t $VIP:80 -r $LO:80 -g -w 4 &> /dev/null 45 echo "`date +'%F %H:%M:%S'`, $LO is back." >> $LOG 46 echo "Add $LO successful." 47 let LOSTATUS=1 48 fi 49 else 50 if [ $LOSTATUS -eq 1 ];then 51 ipvsadm -d -t $VIP:80 -r $LO:80 &> /dev/null 52 echo "`date +'%F %H:%M:%S'`, $LO is gone." >> $LOG 53 echo "Del $LO successful." 54 let LOSTATUS=0 55 fi 56 fi 57 let NUM=0 58 sleep 3 59 done
阅读全文
0 0
- LVS-DR高可用集群【自动化健康检测脚本】
- Keepalived + LVS(DR) 高可用集群
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- Keepalived+LVS-DR模式配置高可用负载均衡集群
- Keepalived + LVS(DR) 高可用负载均衡集群
- CentOS6.5高可用集群LVS+Keepalived(DR模式)
- LVS 高可用集群 DR 模式基本配置(apache服务)
- keepalived + lvs(DR) 高可用负载均衡
- 高可用负载均衡集群Heartbeat+Ldirectord+lvs-DR的搭建
- 高可用负载均衡集群Keepalived+lvs-DR模式的搭建
- lvs负载均衡DR模式 keepalived高可用web集群实验
- CentOS 6.5 LVS+KeepAlived(DR模式)搭建高可用负载均衡集群
- lvs/dr+keepalived实现Web负载均衡Dr高可用
- keepalive+lvs高可用集群
- 虚拟机 搭建LVS + DR + keepalived 高可用负载均衡
- LVS+Keepalived DR模式实现web负载均衡高可用
- LVS(DR)+Keepalived高可用负载均衡器
- Oracle客户端的sqlplus登录Windows Oracle数据库服务器端缓慢
- python 类的继承
- Android Camera增加自定义图像处理并录制MP4
- Elon Musk(埃隆马斯克)的从零到一思维术
- Windows Practice_作业 Easy QQ的实现
- LVS-DR高可用集群【自动化健康检测脚本】
- UVA 10142 Australian Voting
- 【肠道生态】-CS0002-《Human Microbiome Project-HMP微生物计划操作手册》
- Batch Normalization笔记
- 【肠道生态】-CS0003-8本微生物与人体健康相关书籍
- hdu 4908 思维题目
- LDOPE MODIS影像掩膜操作
- dubbo框架的优化
- 面试总结