如何預防keepalived腦裂問題,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務器托管提供商,專業(yè)提供成都服務器托管,服務器租用,成都服務器托管,成都服務器托管,成都多線服務器托管等服務器托管服務。(1)可以采用第三方仲裁的方法。由于keepalived體系中主備兩臺機器所處的狀態(tài)與對方有關。如果主備機器之間的通信出了網(wǎng)題,就會發(fā)生腦裂,此時keepalived體系中會出現(xiàn)雙主的情況,產(chǎn)生資源競爭。
(2)一般可以引入仲裁來解決這個問題,即每個節(jié)點必須判斷自身的狀態(tài)。最簡單的一種操作方法是,在主備的keepalived的配置文件中增加check配置,服務器周期性地ping一下網(wǎng)關,如果ping不通則認為自身有問題 。
(3)最容易的是借助keepalived提供的vrrp_script及track_script實現(xiàn)。如下所示:
#vim /etc/keepalived/keepalived.conf
......
vrrp_script check_local {
script "/root/check_gateway.sh"
interval 5
}
......
track_script {
check_local
}
腳本內(nèi)容:
# 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 就是我們的仲裁邏輯,發(fā)現(xiàn)ping不通網(wǎng)關,則關閉keepalived。
(4)檢測思路:正常情況下keepalived的VIP地址是在主節(jié)點上的,如果在從節(jié)點發(fā)現(xiàn)了VIP,就設置報警信息。腳本(在從節(jié)點上)如下:
vim split-brainc_check.sh
#!/bin/bash
# 檢查腦裂的腳本,在備節(jié)點上進行部署
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
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。