配置haproxy狀態檢測指令碼配置haproxy狀態檢測指令碼
touch /etc/keepalived/haproxy_check.sh
#!/bin/bash
START_HAPROXY="/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg" #haproxy啟動命令
LOG_FILE="/usr/local/keepalived/log/haproxy-check.log" # 日誌檔案
HAPS=`ps -C haproxy --no-header |wc -l` # 檢測haproxy的狀態,0代表未啟動,1已經啟動
date "+%Y-%m-%d %H:%M:%S" >> $LOG_FILE #在日誌檔案當中記錄檢測時間
echo "check haproxy status" >> $LOG_FILE # 記錄haproxy的狀態
if [ $HAPS -eq 0 ];then #執行haproxy判斷
echo $START_HAPROXY >> $LOG_FILE #記錄啟動命令
/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg #啟動haproxy
sleep 3
if [ `ps -C haproxy --no-header |wc -l` -eq 0 ];then
echo "start haproxy failed, killall keepalived" >> $LOG_FILE
killall keepalived
service keepalived stop
fi
fi
測試 停掉192.168.8.111 的keepalived
本地測試輪詢(OK)
這就是高可用
本作品採用《CC 協議》,轉載必須註明作者和本文連結