keepalived配置問題
簡介
最近在通過keepalived軟體實現高可用服務架構的時候,發現自己配置的vrrp_script監控指令碼一直無法觸發(nginx當機時候,不切換備份伺服器),後來自己手動執行指令碼發現是沒有問題的。因此斷定問題發生的原因應該是在keepalived的配置檔案中,經過仔細的檢查後,發現問題的原因是由於少了一個空格所導致的
改動前
下面這段程式碼檢查了很多遍都沒有發現問題,後來發現是由於chk_nginx 和 { 之間沒有空格導致的,這可能與keepalived讀取配置檔案的演算法有關
vrrp_script chk_nginx{
script "/data/sh/check_nginx.sh"
interval 2
weight 2
}
改動後
vrrp_script chk_nginx {
script "/data/sh/check_nginx.sh"
interval 2
weight 2
}
監控指令碼
#!/bin/bash
# Look at nginx process is Runing or not
killall -0 nginx
if [[ $? -ne 0 ]]; then
# try start nginx sever
/usr/local/nginx/sbin/nginx
sleep 2
killall -0 nginx
if [[ $? -ne 0 ]]; then
/etc/init.d/keepalived stop
fi
fi
實驗結果
經過改動後,重啟keepalived服務,故意殺掉主伺服器(192.168.3.100)nginx程式,然後嘗試訪問VIP後,成功引導到了備份伺服器(192.168.3.101)
相關文章
- keepalived 1.3.5常見配置以及常見問題解決
- 如何預防keepalived腦裂問題
- Keepalived部署與配置詳解
- keepalived配置redis主從切換Redis
- bootstrap 配置問題boot
- opengauss高可用之keepalived配置 原創
- Zabbix Agent配置問題
- conda配置源問題
- MySQL主從配置及haproxy和keepalived搭建MySql
- centos7上keepalived的安裝和配置CentOS
- 高可用服務之Keepalived郵件通知配置
- keepalived(三)LVS+Keepalived
- keepalived(四)Keepalived+NginxNginx
- web、keepalived、lvs、nginx 面試常問解析WebNginx面試
- laravel配置系統使用問題Laravel
- Tomcat配置jsp亂碼問題TomcatJS
- 配置 Homestead 遇到 PHP 版本問題PHP
- webpack中babel的配置問題WebBabel
- Hodoop配置中遇到的問題OdooOOP
- keepalived(一)原理介紹和配置檔案詳解
- 使用配置中心config client,不拉取配置問題client
- keepalived
- 關於redis配置找不到問題Redis
- Linux IP地址修改與配置問題Linux
- Chisel+Interllj 配置問題記錄
- nginx伺服器配置問題心得Nginx伺服器
- Flutter配置環境常見問題Flutter
- mac 配置mysql環境 Navicat 問題MacMySql
- Harbor搭建及配置 問題解決
- edk2+VS2008配置問題
- 教你如何用Keepalived和HAproxy配置高可用 Kubernetes 叢集
- 如何解決資料庫配置問題資料庫
- apollo配置中心啟動遇到的問題
- angular版本更新與配置檔案問題Angular
- 阿里雲的nginx的https配置問題阿里NginxHTTP
- vue-cli3的eslint配置問題VueEsLint
- 配置MapReduce時遇到的問題記錄
- vue webpack配置解決跨域問題VueWeb跨域