[Linux-ha-jp] DRBD領域の再同期について

Back to archive index

momok****@mail***** momok****@mail*****
2014年 1月 14日 (火) 23:15:16 JST


広瀬と申します。


現在弊社で稼働しているHAシステムの1つで先日Active側でハード障害が
起きた関係で、Standby側に現在切り替えて片系運転状態にあるノードが
あります。

問題は、故障したサーバ側のDRBD領域のデータと現時点で稼働している
旧Standby(現Act機)で恐らく誤差が発生したものと推定しています

 ※すでに電源落ちており、再稼働試しましたがNGだったので確認はと
  れていません。

Standby側にひっくり返す前に、Standby側のDRBD状態が以下になってい
ました

■ログ
Jan 13 08:25:58 <ホスト名> kernel: block drbd0: pdsk( UpToDate -> Failed ) 
Jan 13 08:25:58 <ホスト名> kernel: block drbd0: new current UUID 〜番号省〜
Jan 13 08:25:59 <ホスト名> kernel: block drbd0: pdsk( Failed -> Diskless )

■DRBDステータス
m:res     cs         ro                 ds                 p  mounted  fstype
0:r0      Connected  Secondary/Primary  UpToDate/Diskless  C


上記のログは未だStandby機がまだスタンバイ状態であった時点であり、
約1時間後にActive機が完全停止に陥った状態です。

どうやらこの1時間の間はメモリ空間上で何らかの処理がなされていた模
様で、MySQLスレーブデータから見るとAM9時台に処理が存在してた事か
ら誤差が起きていると判断しております。


この為障害で落ちてしまったサーバ側のDRBD上のデータは現時点では既に
正しいモノでは無くなったので、当該サーバの保守実施後にDRBD領域を再
同期処理を掛ける事になります。


上記の様な状態になっていると前提とした場合、2つ方法があるかと思いま
すがどちらがよりベターかご意見頂きたくメールさせていただきました

※前置き長くてすみません

 1.故障したサーバの復帰後、DRBD領域としてマークしているパーティ
   ションをfdiskで初期化後、create-mdでまっさらで作り直し、再同
   期させてしまう
   
    ※同期処理時の負荷はsyncerを使い調整する事で補える
 
 
 2.discard-my-dataを使う
 
   ⇒こちらが少し不安で、少なくともDRBDプロセスを起動しなければ
    ならず、SpritBrain状態で無くとも実行は可能なのか、意図的に
    その状態に持って行く必要があるのかが若干不明

    ※私の理解の中で、SpritBrain(DRBDのステータス上はStandAlone)
      か、またはdisconnectで無いと利用が出来ないのではと思い込ん
      でいます

尚、当該システムですが、本来はPacemaker+DRBDで構成していましたが、
訳があり、Pacemakerを停止状態でDRBDと必須プロセスのみで構成してい
ました(本件との直接の関係性は現時点ではありません)。

わかりにくい点があるかとは思いますが、ご意見頂ければとおもいます。
宜しくお願いいたします。





Linux-ha-japan メーリングリストの案内
Back to archive index