天天看點

DRBD 管理、故障處理部分

   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,如需轉載請自行聯系原作者