xxqyzsc 发表于 2018-12-30 10:59:53

lvs+keepalived自定义健康检查脚本(MISC_CHECK用法)

lvs+keepalived自定义健康检查脚本(MISC_CHECK用法)
一、 LVS简介
  LVS是Linux Virtual Server的简称,即Linux虚拟服务器。使用LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。
二、网络拓扑
http://s2.运维网.com/wyfs02/M01/86/93/wKioL1fEMF_D5sxRAABBD_X_edo215.png-wh_500x0-wm_3-wmp_4-s_1952701731.png
三,http健康检查脚本
# cat http_hc.sh
#!/bin/bash
if [ $# -ne 1 ];then
echo "Warning: check_command error."
exit 1
else
CHECK_URL=$1
CMD=`/usr/bin/curl -I "${CHECK_URL}" 2>/dev/null | grep "200 OK" | wc-l`
if[ ${CMD} -eq 1 ];then
   exit 0
else
   exit 1
fi
fi四,在keepalived配置文件中添加配置
virtual_server 192.168.230.100 80 {
   delay_loop 6
   lb_algo rr
   lb_kind DR
   #persistence_timeout 50
   protocol TCP
   real_server 192.168.230.12 80 {
       weight 255
       MISC_CHECK {
                        misc_path"/home/http_hc.sh http://192.168.230.12/index.html"
                        misc_timeout5
                }
    }
    real_server192.168.230.13 80 {
       weight 255
       MISC_CHECK {
                        misc_path"/home/http_hc.sh http://192.168.230.13/index.html"
                        misc_timeout5
                  }
    }
      }
}五,验证
  1,未配置健康检查时效果
  192.168.230.12上的http服务关闭
  http://s3.运维网.com/wyfs02/M01/86/96/wKioL1fE2k2QkxcsAAAosg5p5sg161.png-wh_500x0-wm_3-wmp_4-s_4234251503.png
  http://s5.运维网.com/wyfs02/M00/86/96/wKiom1fE2mmBCTjCAAAy3FP1QBU941.png-wh_500x0-wm_3-wmp_4-s_1353088145.png
  2,启用健康检查效果
http://s1.运维网.com/wyfs02/M02/86/96/wKioL1fE2oKzrN90AAAosXH9dn8168.png
http://s1.运维网.com/wyfs02/M01/86/96/wKiom1fE2oPgirJmAAAjltVx5oM656.png
  3,抓包查看健康检查报文
http://s1.运维网.com/wyfs02/M01/86/96/wKiom1fE2pLAgxCtAABXVbsckGY057.png-wh_500x0-wm_3-wmp_4-s_882128899.png
  注意:测试需使用ipvsadm –C清空配置,重启keepalived服务。
  六,配置解析
  1,检查脚本,检查脚本是自定义的一个shell脚本,最终返回的是一个数字。0-255。
  2,MISC_CHECK主要根据检查脚本返回值来判断。
  1)当脚本返回值为0,表示真实服务器正常。
  2)当脚本返回值为1,表示真实服务器故障。
  3)当脚本返回值为2-255,表示当故障时将真实服务器权重改为返回值减2。
  注意当脚本返回值为2-255时需添加misc_dynamic属性才生效。
  http://s2.运维网.com/wyfs02/M02/86/96/wKiom1fE2yHT0kUzAAAemyJR9X0270.png
http://s4.运维网.com/wyfs02/M01/86/96/wKioL1fE2sPTdTHhAAAyLndunDA660.png-wh_500x0-wm_3-wmp_4-s_1593369461.png
http://s1.运维网.com/wyfs02/M02/86/96/wKiom1fE2sTALZzHAAArF7Z38ig472.png-wh_500x0-wm_3-wmp_4-s_723463255.png
  




页: [1]
查看完整版本: lvs+keepalived自定义健康检查脚本(MISC_CHECK用法)