在LVS负载均衡主节点上,模拟keepalived健康检查功能管理LVS节点,当节点挂掉从服务器池中剔除,好了再加到服务器池中来。

工具:yum install -y ipvsadm

web03:10.0.0.17

web04:10.0.0.18

VIP:10.0.0.13

#!/bin/bash

web3() {

  curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" 10.0.0.17
}
web4() {
  curl -I -m 10 -o /dev/null -s -w %{http_code}"\n" 10.0.0.18
}
ipvs_web3=$(ipvsadm -Ln |grep 10.0.0.17 |wc -l)
ipvs_web4=$(ipvsadm -Ln |grep 10.0.0.18 |wc -l)
checknum=1
checkloop=4
if [ `web3` -eq 200 ];then
  if [ $ipvs_web3 -eq 0 ] ;then
  ipvsadm -a -t 10.0.0.13:80 -r 10.0.0.17:80 -g -w 1
    if [ $? -eq 0 ];then
  echo "web03上线"
    fi
  else
  echo "web03正常"
fi
else
if [ $ipvs_web3 -eq 1 ] ;then
  while [ $checknum -le $checkloop ];do
  if [ `web3` -eq 200 ];then
  break
  else
  let checknum++
  fi
  if [ $checknum -eq 3 ] ;then
    ipvsadm -d -t 10.0.0.13:80 -r 10.0.0.17:80
    if [ $? -eq 0 ];then
    echo "web03下线"
    fi
  fi
  sleep 1
  done
  fi
fi

if [ `web4` -eq 200 ];then
  if [ $ipvs_web4 -eq 0 ] ;then
    ipvsadm -a -t 10.0.0.13:80 -r 10.0.0.18:80 -g -w 1
     if [ $? -eq 0 ];then
      echo "web04上线"
     fi
  else
  echo "web04正常"
fi
else
if [ $ipvs_web4 -eq 1 ] ;then
  while [ $checknum -le $checkloop ];do
  if [ `web4` -eq 200 ];then
    break
  else
    let checknum++
  fi
  if [ $checknum -eq 3 ] ;then
    ipvsadm -d -t 10.0.0.13:80 -r 10.0.0.18:80
    if [ $? -eq 0 ];then
      echo "web04下线"
    fi
  fi
  sleep 1
  done
  fi
fi

程序还有点bug,不过能用ヽ( ̄▽ ̄)ノ

日期:2018-03-30

LVS节点健康检查及管理脚本的更多相关文章

  1. Nginx实战系列之功能篇----后端节点健康检查(转)

    公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查.目前,nginx对后端节点健康检查的方式主要有3种,这里列出:   1.ngx_http_proxy_m ...

  2. Nginx实战系列之功能篇----后端节点健康检查

    目前,nginx对后端节点健康检查的方式主要有3种,这里列出:   1.ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带)    官网地址: ...

  3. CentOS7.4 Keepalived+LVS 负载均衡 后台节点健康检查

    主机信息 VIP 10.10.10.55 LVS01 10.10.10.59 Web01 10.10.10.60 Web02 10.10.10.61 一.apache简单配置 1.(10.10.10. ...

  4. 5.Lvs+Keepalived健康检查

    1. Nginx+keepalived对后端服务器心跳检查(需要自定义脚本) 原理:Keepalived并不跟nginx耦合,它俩完全不是一家人但是keepalived提供一个机制:让用户自定义一个s ...

  5. nginx后端节点健康检查

    一.nginx健康检查的三种方式 .ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带) 官网地址:http://nginx.org/en/d ...

  6. Nginx负载均衡中后端节点服务器健康检查的操作梳理

    正常情况下,nginx做反向代理,如果后端节点服务器宕掉的话,nginx默认是不能把这台realserver踢出upstream负载集群的,所以还会有请求转发到后端的这台realserver上面,这样 ...

  7. nginx之健康检查

    正常情况下,nginx做反向代理,如果后端节点服务器宕掉的话,nginx默认是不能把这台realserver踢出upstream负载集群的,所以还会有请求转发到后端的这台realserver上面,这样 ...

  8. 23、nginx动态添加nginx_upstream_check_module健康检查模块

    nginx_upstream_check_module模块地址:https://github.com/yaoweibin/nginx_upstream_check_module 23.1.说明: 1. ...

  9. lvs健康检查脚本第三版

    如下是学习完马哥视频lvs后改写的健康检查脚本第三版.利用工作之余三四个小时时间才把整个逻辑搞清楚,有时候自己都有点蒙圈,尤其是在写到while循环的时候.总的来说非常感谢马哥的慷慨解囊!脚本原稿及思 ...

随机推荐

  1. Acitiviti数据库表设计(学习笔记)

    ACT_ID_*:与权限,用户与用户组,以及用户与用户组关系相关的表 ACT_RU_*:代表了流程引擎运行时的库表,RU表示Runtime ACT_HI_*:HI表示History当流程完成了节点以后 ...

  2. HTML一

    什么是前端: 前端,也称web前端对于网站来说,通常是指网站的前台部分,通俗点就是用户可以看到的部分, 浏览器.APP.应用程序的界面展现和用户交互就是前端 前端要学习那些技术:html+css+ja ...

  3. 本部jdk切换的坑!!!

    https://www.cnblogs.com/ll409546297/p/6593173.html 如果你参考其他博主没有解决,可以来参考下这个. 1.我们打开注册表,然后找到这个路径: HKEY_ ...

  4. Nginx+rtmp+ffmpeg 搭建推流服务器

    1. 安装nginx服务器 1.1 clone $ brew tap denji/homebrew-nginx 1.2 安装 $ brew install nginx-full --with-rtmp ...

  5. windows无法完成安装,若要在此计算机上安装,请重新启动安装

    当出现如上提示的时候,不要重启,按下shift+f10 会打开命令窗口,先输入cd oobe 进入到C:\windows\system32\oobe文件夹,输入msoobe回车然后输入msoobe即可 ...

  6. beego框架开发投票网站(1) beego基础之运行逻辑

    本文档需结合beego官方文档食用 博主也仅仅是边学边记录,不保证内容的正确性,请当做通俗读物来看待 首先 beego是一个基于go语言的框架 其次 beego是一个mvc框架 框架可以理解为对底层又 ...

  7. 通过10046 event来获取真实的执行计划

    获取SQL执行计划的方式有很多,但是某些时候获取的SQL执行计划并不是准确的,只有在SQL真实执行之后获取到的SQL PLAN才是真实准确的,其他方式(如,explain plan)获取到的执行计划都 ...

  8. P1282 多米诺骨牌 (背包变形问题)

    题目描述 多米诺骨牌有上下2个方块组成,每个方块中有1~6个点.现有排成行的 上方块中点数之和记为S1,下方块中点数之和记为S2,它们的差为|S1-S2|.例如在图8-1中,S1=6+1+1+1=9, ...

  9. 安卓上用Termux终端模拟器安装MC Forge 1.12.2服务器!

    本教程重度新手向,大神勿喷(因为楼主本人就是Linux小白)! 为了让教程合乎简约至上的原则,将不在基本操作上赘述 测试环境:酷派大神Note3 Android5.0 2GBRAM 未root 截图是 ...

  10. C语言 变量的作用域和生命周期(转)

    转自 https://blog.csdn.net/u011616739/article/details/62052179 a.普通局部变量 属于某个{},在{}外部不能使用此变量,在{}内部是可以使用 ...