在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. Net包管理NuGet(1)nuget的使用方法

    关于nuget,有很多介绍想要深入了解的可以看看官网https://docs.microsoft.com/zh-cn/nuget/what-is-nuget 本文简单介绍让不知道的可以快速了解 1,使 ...

  2. mysql一个非常实用解决sql查询优化的函数explain

    前言: 项目中有个表有几万条数据,然后还要关联其他表,查询条件也有点多,再没有其他查询条件下,默认时间查询条件如果是查一年的数据的话,查询时间那是慢得可怕. 找总监去优化sql,看他用了一个sql函数 ...

  3. elasticsearch补全功能之只补全筛选后的部分数据context suggester

    官方文档https://www.elastic.co/guide/en/elasticsearch/reference/5.0/suggester-context.html 下面所有演示基于elast ...

  4. linux shell 命令集锦

    -h FILEFILE exists and is a symbolic link (same as -L)文件存在并且是一个字符链接(与-L选项相同) dirname $0  定位执行的命令脚本的相 ...

  5. Luogu4492 [HAOI2018]苹果树 【动态规划】

    题目分析: 思路不难想,考虑三个dp状态$f,g,d$. $g[i]$表示有$i$个点的堆的数量 $d[i]$表示有$i$个点的情况下所有的方案数中点到根的距离和 $f[i]$表示要求的答案. 不难发 ...

  6. CBV源码分析

    1 在views中写一个类,继承View,里面写get方法,post方法 2 在路由中配置: url(r'^test/', views.Test.as_view()),实际上第二个参数位置,放的还是一 ...

  7. [debian]use ISO as debian apt source / 使用ISO文件作为apt源

    准备文件: debian-9.8.0-amd64-DVD-1.iso debian-9.8.0-amd64-DVD-2.iso debian-9.8.0-amd64-DVD-3.iso 挂载: roo ...

  8. [pip]upgrade outdated pip package on windows / 在windows上更新所有过时的pip包

    首先更新pip自身: python -m pip install -U pip 查询过期包: pip list --outdated --format=columns Package Version ...

  9. Java动态代理实现及实际应用

    一.代理的概念 动态代理技术是整个java技术中最重要的一个技术,它是学习java框架的基础,不会动态代理技术,那么在学习Spring这些框架时是只知应用不懂实现. 动态代理技术就是用来产生一个对象的 ...

  10. Golang语言的入门开始

    一.golang介绍与安装 二.golang-hello world 三.golang的变量 四.golang的类型 五.golang的常量 六.golang的函数(func) 七.golang的包 ...