一.MISC_CHECK:

1.根据脚本返回值进行处理

 (1).返回0 #目标正常,权重不变

 (2).返回1 #目标异常并立马移除服务队列

 (3).返回2~254 #当目标异常时,修改权重为“返回值-2”,但不移除服务队列,仅当配置                          #了"misc_dynamic"有效


 2.示例

 virutal_server 192.168.10.201 80 {

     delay_loop 3

     lb_algo rr

     lb_kind DR

     persistence 15

     protocol TCP

     real_server 192.168.10.38 80 {

          MISC_CHECK {

              #指定脚本绝对路径,脚本与参数必须包含在引号内

               misc_path "/etc/keepalived/bin/Ha_check.sh 192.168.10.38:80" 

               #指定检测超时时间

               misc_timeout 3

               #权重调整

               #misc_dynamic 

          }

     }

     

     real_server 192.168.10.35 80 {

              MISC_CHECK {

                  #指定脚本绝对路径,脚本与参数必须包含在引号内

                   misc_path "/etc/keepalived/bin/Ha_check.sh 192.168.10.35:80" 

                   #指定检测超时时间

                   misc_timeout 3

                   #权重调整

                   #misc_dynamic 

              }

         }

}

3.Ha_check.sh 脚本(chmod 755 /etc/keepalived/bin/Ha_check.sh)

#!/bin/bash

if [ $# -ne 1 ]

then

    echo "Warning: check_command error."

    exit 1;

else

    Check_Host=$1;

    Check_Get=`curl -x $Check_Host --connect-timeout 1 -m 1 -I http://www.baidu.com  2>/dev/null | grep "200 OK" | wc -l`

    if [ ${Check_Get} -eq 1 ]

    then

         exit 0;

     else

         exit 1;

     fi

fi