lvs有一个监控服务器组是否宕机的软件keepalived,今天补充的脚本是一个在LB上检测服务器组是否宕机的脚本,其实方式很多很多吧,比如Nagios Cacti等等方法进行监控。本文采用DR模式为例,其实tun、nat方式完全一样。dr模式资料参考文档:https://note.t4x.org/system/linux-virtual-server-direct-routing/
0 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 |
#!/bin/bash # Author:Byrd # Version:0.1 # Site:note.t4x.org # Contact:root#t4x.org VIP=( VIP地址 ) RIP=( 服务器组IP地址 ) while true do for((p=0;p<${#RIP[*]};p++)) do # Check Port Chk_Pot=`nmap ${RIP[$p]} -p 80 | grep open | wc -l` if [ $Chk_Pot -ne 1 ];then for((i=0;i<${#VIP[*]};i++)) do # If RIP In ipvsadm then delete rip in list if [ `ipvsadm -Ln | grep ${RIP[$p]} | wc -l` -ne 0 ]; then ipvsadm -d -t ${VIP[$i]}:80 -r ${RIP[$p]}:80 fi done else for((i=0;i<${#VIP[*]};i++)) do if [ `ipvsadm -Ln | grep ${RIP[$p]} | wc -l` -eq 0 ]; then ipvsadm -a -t ${VIP[$i]}:80 -r ${RIP[$p]}:80 -g -w 1 fi done fi done sleep 20 done |
申明:除非注明Byrd's Blog内容均为原创,未经许可禁止转载!详情请阅读版权申明!