如何預防keepalived腦裂問題
(1)可以採用第三方仲裁的方法。由於keepalived體系中主備兩臺機器所處的狀態與對方有關。如果主備機器之間的通訊出了網題,就會發生腦裂,此時keepalived體系中會出現雙主的情況,產生資源競爭。
(2)一般可以引入仲裁來解決這個問題,即每個節點必須判斷自身的狀態。最簡單的一種操作方法是,在主備的keepalived的配置檔案中增加check配置,伺服器週期性地ping一下閘道器,如果ping不通則認為自身有問題 。
(3)最容易的是藉助keepalived提供的vrrp_script及track_script實現。如下所示:
#vim /etc/keepalived/keepalived.conf
......
vrrp_script check_local {
script "/root/check_gateway.sh"
interval 5
}
......
track_script {
check_local
}
指令碼內容:
# cat /root/check_gateway.sh
#!/bin/sh
VIP=$1
GATEWAY=192.168.1.1
/sbin/arping -I em1 -c 5 -s $VIP $GATEWAY &>/dev/null
check_gateway.sh 就是我們的仲裁邏輯,發現ping不通閘道器,則關閉keepalived。
(4)檢測思路:正常情況下keepalived的VIP地址是在主節點上的,如果在從節點發現了VIP,就設定報警資訊。指令碼(在從節點上)如下:
vim split-brainc_check.sh
#!/bin/bash
# 檢查腦裂的指令碼,在備節點上進行部署
LB01_VIP=192.168.1.229
LB01_IP=192.168.1.129
LB02_IP=192.168.1.130
while true
do
ping -c 2 -W 3 $LB01_VIP &>/dev/null
if [ $? -eq 0 -a `ip add|grep "$LB01_VIP"|wc -l` -eq 1 ];then
echo "ha is brain."
else
echo "ha is ok"
fi
sleep 5
done
(2)一般可以引入仲裁來解決這個問題,即每個節點必須判斷自身的狀態。最簡單的一種操作方法是,在主備的keepalived的配置檔案中增加check配置,伺服器週期性地ping一下閘道器,如果ping不通則認為自身有問題 。
(3)最容易的是藉助keepalived提供的vrrp_script及track_script實現。如下所示:
#vim /etc/keepalived/keepalived.conf
......
vrrp_script check_local {
script "/root/check_gateway.sh"
interval 5
}
......
track_script {
check_local
}
指令碼內容:
# cat /root/check_gateway.sh
#!/bin/sh
VIP=$1
GATEWAY=192.168.1.1
/sbin/arping -I em1 -c 5 -s $VIP $GATEWAY &>/dev/null
check_gateway.sh 就是我們的仲裁邏輯,發現ping不通閘道器,則關閉keepalived。
(4)檢測思路:正常情況下keepalived的VIP地址是在主節點上的,如果在從節點發現了VIP,就設定報警資訊。指令碼(在從節點上)如下:
vim split-brainc_check.sh
#!/bin/bash
# 檢查腦裂的指令碼,在備節點上進行部署
LB01_VIP=192.168.1.229
LB01_IP=192.168.1.129
LB02_IP=192.168.1.130
while true
do
ping -c 2 -W 3 $LB01_VIP &>/dev/null
if [ $? -eq 0 -a `ip add|grep "$LB01_VIP"|wc -l` -eq 1 ];then
echo "ha is brain."
else
echo "ha is ok"
fi
sleep 5
done
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2156641/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HA腦裂問題解決方案
- Oracle 19C RAC腦裂問題分析Oracle
- keepalived配置問題
- ZooKeeper 05 - ZooKeeper 叢集的腦裂問題(Split Brain)AI
- 腦裂是什麼?Zookeeper是如何解決的?
- 如何應對Akka叢集出現腦裂故障?- Andrzej
- RabbitMQ的腦裂踩坑 - ryanrodemoyerMQ
- 【Redis叢集原理專題】分析一下相關的Redis叢集模式下的腦裂問題!Redis模式
- keepalived 1.3.5常見配置以及常見問題解決
- 輕鬆解決Github連線緩慢、圖裂問題Github
- 如何解決Windows電腦自動黑屏問題?Windows
- 谷景告訴你如何解決大功率一體成型電感開裂的問題
- 資訊保安問題與防範
- 前端如何預防SQL隱碼攻擊?前端SQL
- 如何有效預防XSS?這幾招管用!!!
- 釣魚攻擊防不勝防,該如何預防網路釣魚攻擊?
- Redis運維實戰之叢集中的腦裂Redis運維
- 前端的安全問題與防禦策略前端
- 問題記錄,如何解決confluence的office預覽的時候的亂碼問題
- 如何解決dell win10你的電腦遇到問題需要重新啟動的問題Win10
- 什麼是雙重預防體系?系統開發是如何預防安全事故的
- 如何修復mac電腦藍芽不可用的問題Mac藍芽
- keepalived(三)LVS+Keepalived
- keepalived(四)Keepalived+NginxNginx
- APT攻擊的危害是什麼?如何預防?APT
- 什麼是IP地址盜用?又要如何預防?
- 解如何避免雲遷移故障及其預防方法
- 程式設計師如何預防大齡危機程式設計師
- web、keepalived、lvs、nginx 面試常問解析WebNginx面試
- 電腦有問題?試下重灌win10系統,輕鬆解決電腦問題!Win10
- 電腦Windows系統中faust勒索病毒了怎麼修復,Windows系統如何預防faust勒索病毒?Windows
- 前端常見的安全問題及防範措施前端
- 面試必問題:JS防抖與節流面試JS
- 死鎖是什麼?如何預防和避免死鎖?
- keepalived
- 常見web攻擊型別有哪些?如何預防及防範web攻擊?Web型別
- 經典問題之「分支預測」
- 一生一芯預學習1 | 如何科學的提問(解決問題)