前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LVS健康检查脚本

LVS健康检查脚本

作者头像
微软技术分享
发布2022-12-28 14:20:52
2620
发布2022-12-28 14:20:52
代码语言:javascript
复制
#!/bin/bash

#=============================================================================
VIP=10.10.10.100      #集群虚拟IP
CPORT=80        #定义集群端口
FAIL_BACK=127.0.0.1     #本机回环地址
RS=("10.10.10.12" "10.10.10.13")  #编写集群地址
declare -a RSSTATUS       #变量RSSTATUS定义为数组态
RW=("2" "1")
RPORT=80        #定义集群端口
TYPE=g          #制定LVS工作模式:g=DR m=NAT
CHKLOOP=3
LOG=/var/log/ipvsmonitor.log

#=============================================================================

addrs() {
  ipvsadm -a -t $VIP:$CPORT -r $1:$RPORT -$TYPE -w $2
  [ $? -eq 0 ] && return 0 || return 1
}

delrs() {
  ipvsadm -d -t $VIP:$CPORT -r $1:$RPORT
  [ $? -eq 0 ] && return 0 || return 1
}

checkrs() {
  local I=1
  
  while [ $I -le $CHKLOOP ]
  do
    if curl --connect-timeout 1 http://$1 &> /dev/null
    then
      return 0
    fi
    
    let I++
  done
  
  return 1
}

initstatus() {
  
  local I
  local COUNT=0;

  for I in ${RS[*]}
  do
    if ipvsadm -L -n | grep "$I:$RPORT" && > /dev/null
    then
    
      
      RSSTATUS[$COUNT]=1
    else
      RSSTATUS[$COUNT]=0
    fi
      let COUNT++
  done
}

#=============================================================================
initstatus

while :; do

  let COUNT=0
  for I in ${RS[*]}
  do
    if checkrs $I
    then
      if [ ${RSSTATUS[$COUNT]} -eq 0 ]
      then
                    addrs $I ${RW[$COUNT]}
                  [ $? -eq 0 ] && RSSTATUS[$COUNT]=1 && echo "`date +'%F %H:%M:%S'`, $I is back." >> $LOG
      fi
    else
                  if [ ${RSSTATUS[$COUNT]} -eq 1 ]
      then
                    delrs $I
                    [ $? -eq 0 ] && RSSTATUS[$COUNT]=0 && echo "`date +'%F %H:%M:%S'`, $I is gone." >> $LOG
      fi
    fi
    
    let COUNT++
  done
  sleep 5
done
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档