1、DRBD開機自自動(chkconfig --add drbd),需要注意一下wait time out選項:、
wfc-timeout 120; 如果為0的話,它會無限的等待下去;
在配置高可用如keepalived時候,要注意 先保證drbd資料的一緻性;然後在啟動keepalived
小插曲:
在linux 自起中,先運作 /etc/rc.d/rc#. d 裡面設定的腳本,最後是/etc/rc.local ,如果同樣是在某運作級别下的腳本,根據S後面的數字,數字越小優先級越高,是以drbd的數字要比keepalived的小一些;
2、磁盤IO故障
推薦配置為 detach 政策;這個時候主從角色狀态沒有改變,磁盤狀态變為diskless(這個需要監控);
模拟實驗:
drbd-primary:
drbdadm detach all;
此時磁盤還處于挂接狀态;為了正常切換角色,執行以下指令:
drbdadm secondary all;
umount /dev/drbd0;
在drbd-secondary 上執行:
drbdadm primary all;
mount /dev/drbd0 /data
3、更換磁盤
如果secondary節點出現磁盤故障需要換硬碟:
注意:新添加的硬碟的磁盤名如果被占用,需要修改配置檔案!
進行的操作:
drbdadm create-md all
service drbd start
drbdadm attach all
drbdadm secondary all
以上情況 屬于内部中繼資料, 下面可以看看使用外部中繼資料更換硬碟;
除以上操作外,還有進行 drbdadm invalidate all
即進行以下操作:
drbdadm create-md all
drbdadm invalidate all
4、處理節點故障:
當primary node 出現故障後,Drbd并不更新存活的節點到主,需要叢集管理程式重要做。
切換完畢後需要做 的事情:
1)将出現故障的硬體替換為與之類似性能和容量的磁盤。(性能最好一緻;替換為磁盤容量比較小,會導緻drbd拒絕連接配接被替換的節點。)
2)安裝基本系統和應用程式。
3)安裝drbd并從幸存的節點上拷貝/etc/drbd.conf和所有的/etc/drbd.d
4)drbdadm create-md resource (建立中繼資料裝置)
5)service drbd start
6)drbdadm attach resource (将drbd資源和後端裝置連接配接 )
7)drbdadm syncer resource (設定drbd資源的同步參數)
8)drbdadm connect resource (連接配接對等節點)
Look:千萬不要初始化裝置,
5、腦裂問題處理
DRBD檢測到primary 恢複連接配接并變成可用,和對等節點達成初步的握手。如果drbd檢測到兩個節點(也可能是兩個節點斷開時)都是主角色,它就連接配接關閉複制的連接配接。可以在系統日 志中發現:Split-Brain detected, dropping connection!
一個節點将保持始終以StandAlone狀态連接配接資源,另外一個節點也可能處于StandAlone狀态(如果兩個節點被探測到同時處于裂腦狀态),也可能是WFConnection狀态(如果對等接在 還沒有來得及探測到裂腦就down掉的話)。
必須手工幹預選擇丢失一個節點的修改被丢失(這個節點被稱為裂腦受害者),除非配置drbd的裂腦自動修複。
(在出現腦裂的情況下,service drbd stop 是不會生效的,傳回會hang住,一直處于等待狀态)
在需要放棄修改的那一端做如下操作:
drbdadm secondary <resource>
drbdadm -- --discard-my-data connect <resource>
在其他節點上(裂腦幸存者),如果它的狀态也為StandAlone狀态,可輸入以下指令:
drbdadm connect <resource>
如果節點已經處于WFConnection狀态,可是省略這一步,因為它會自動進行重新連接配接。
當連接配接時裂腦受害者将立即改變連接配接狀态為SyncTarget,并被主節點覆寫其餘節點的修改。
Look:裂腦受害者不是一個完整的裝置同步,相反,還有可能執行本地修改的復原操作,而将裂腦幸存者的所做的修改完整的傳輸到裂腦受害者。當重新完成同步後,就認為裂腦問題已經解決,兩個節點的資料再次達成一緻,形成一個備援複 制的存儲系統。
本文轉自 位鵬飛 51CTO部落格,原文連結:http://blog.51cto.com/weipengfei/1333465,如需轉載請自行聯系原作者