lvs+keepalived自定義健康檢查腳本(MISC_CHECK用法)

lvs+keepalived自定義健康檢查腳本(MISC_CHECK用法)html

1、 LVS簡介

LVSLinux Virtual Server的簡稱,即Linux虛擬服務器。使用LVS技術要達到的目標是:經過LVS提供的負載均衡技術和Linux操做系統實現一個高性能、高可用的服務器羣集,它具備良好可靠性、可擴展性和可操做性。從而以低廉的成本實現最優的服務性能。shell

2、網絡拓撲

wKioL1fEMF_D5sxRAABBD_X_edo215.png-wh_50

三,http健康檢查腳本

[root@localhost home]# 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,未配置健康檢查時效果bash

192.168.230.12上的http服務關閉服務器

wKioL1fE2k2QkxcsAAAosg5p5sg161.png-wh_50

wKiom1fE2mmBCTjCAAAy3FP1QBU941.png-wh_50

2,啓用健康檢查效果網絡

wKioL1fE2oKzrN90AAAosXH9dn8168.png

wKiom1fE2oPgirJmAAAjltVx5oM656.png

3,抓包查看健康檢查報文負載均衡

wKiom1fE2pLAgxCtAABXVbsckGY057.png-wh_50

注意:測試需使用ipvsadm –C清空配置,重啓keepalived服務。curl

六,配置解析ide

1,檢查腳本,檢查腳本是自定義的一個shell腳本,最終返回的是一個數字。0-255oop

2MISC_CHECK主要根據檢查腳本返回值來判斷。性能

1)  當腳本返回值爲0,表示真實服務器正常。

2)  當腳本返回值爲1,表示真實服務器故障。

3)  當腳本返回值爲2-255,表示當故障時將真實服務器權重改成返回值減2

注意當腳本返回值爲2-255時需添加misc_dynamic屬性才生效。

wKiom1fE2yHT0kUzAAAemyJR9X0270.png

wKioL1fE2sPTdTHhAAAyLndunDA660.png-wh_50

wKiom1fE2sTALZzHAAArF7Z38ig472.png-wh_50

相關文章
相關標籤/搜索