相關(guān)資訊
本類常用軟件
-
福建農(nóng)村信用社手機(jī)銀行客戶端下載下載量:584204
-
Windows優(yōu)化大師下載量:416904
-
90美女秀(視頻聊天軟件)下載量:366961
-
廣西農(nóng)村信用社手機(jī)銀行客戶端下載下載量:365699
-
快播手機(jī)版下載量:325855
drbd腦裂問題怎么解決?下面小編跟大家分享下用腳本解決drbd腦裂問題,希望能幫上朋友們吧!
1、 在目前主機(jī)上面建立crontab任務(wù)
問題:drbd腦裂問題,當(dāng)心跳線斷掉的時(shí)候,兩個(gè)節(jié)點(diǎn)同時(shí)可以對(duì)外提供服務(wù),通過corosync管理服務(wù)機(jī)制出現(xiàn)問題,雙方都對(duì)外提供服務(wù),會(huì)導(dǎo)致最終數(shù)據(jù)產(chǎn)生不一致。
按照上面實(shí)驗(yàn)filer01作為主機(jī)對(duì)外提供服務(wù),在filer01上面添加crontab任務(wù),當(dāng)檢測(cè)到自己網(wǎng)卡down掉,或者是心跳線出現(xiàn)問題,在驗(yàn)證屬于自己?jiǎn)栴}后,將集群服務(wù)停掉,自動(dòng)退出集群節(jié)點(diǎn)。
[root@filer01 ~]# cat drbd.sh
#!/bin/bash
#env > /root/bbb
/sbin/ifconfig | grep eth1
if [ $? = 0 ]
then
echo " $(date +%F/%H:%M) : eth1 OK"
else
echo "$(date +%F/%H:%M): eth1 down , stop service" >> /root/fail.txt
pkill corosync
fi
ping -c1 192.168.11.223 &> /dev/null
if [ $? = 0 ]
then
echo " $(date +%F/%H:%M) : ping OK"
else
ping -c1 192.168.11.1 &> /dev/null
if [ $? = 0 ]
then
echo "$(date +%F/%H:%M) : ping 11.1 OK 223 failed" >> /root/alter.txt
else
echo "$(date +%F/%H:%M): ping failed , stop service " >> /root/fail.txt
pkill corosync
fi
fi
添加到crontab,時(shí)時(shí)檢測(cè)問題。
[root@filer01 ~]# crontab -l
* * * * * sh /root/drbd.sh &
2、進(jìn)行filer01 down機(jī)實(shí)驗(yàn)
在filer01上面down掉網(wǎng)卡,通過檢測(cè)到網(wǎng)卡down之后。
[root@filer01 ~]# ifdown eth1
Filer01會(huì)自動(dòng)關(guān)閉corosync服務(wù),脫離集群,這個(gè)時(shí)候通過
https://192.168.10.248:446
查看openfiler時(shí)正常對(duì)外提供服務(wù)的,一直ping 虛擬IP(192.168.10.248)也查看到?jīng)]有超時(shí)的狀況,符合我們本來的需求。
當(dāng)filer01恢復(fù)的時(shí)候,需要重新添加到集群里面。
以下操作需要在filer01上面執(zhí)行:
首先設(shè)置filer01作為備機(jī)出現(xiàn)
[root@filer01 ~]# drbdadm secondary all(在drbd.conf中設(shè)置的名稱,可以用all)
[root@filer01 ~]# drbdadm disconnect all (備機(jī)斷掉可以用all)
[root@filer01 ~]# drbdadm -- --discard-my-data connect all (同步數(shù)據(jù)連接上)
現(xiàn)在查看drbd的狀態(tài)會(huì)發(fā)現(xiàn)時(shí) diskless/uptodate 解決diskless需要運(yùn)行下面命令
[root@filer01 ~]# drbdadm attach all (解決diskless問題)
[root@filer01 ~]# drbdadm invalidate all(從頭重新同步數(shù)據(jù),這個(gè)持續(xù)時(shí)間會(huì)很長(zhǎng))
通過以上恢復(fù)步驟,filer01會(huì)重新添加進(jìn)來,然后記住手動(dòng)啟動(dòng)起來corosync服務(wù)。
然后主備的身份完成切換了,如果需要更換回到filer01,需要手動(dòng)將filer02的網(wǎng)卡down掉按照上述過程重新切換回去即可。
好了,通過以上方法就可以解決drbd腦裂問題了。