DRBDが(実際のハードウェア障害または手動による介入によって) 対向ノードが停止していることを検出すると、接続状態がConnectedからWFConnectionに変化し、対向ノードが再表示されるまで待機します。そして、DRBDリソースが切断モードで動作します。切断モードでは、リソースおよびリソースに関連付けられたブロックデバイスが完全に利用可能で、必要に応じて昇格したり降格したりします。ただし、ブロックの変更は対向ノードにレプリケートされず、切断中に変更されたブロックについての内部情報はDRBDが格納します。
たとえば、RAMを交換することによって解決できるメモリの問題など、現在、セカンダリロールのリソースを所有しているノードに一時的な障害が発生した場合は、障害が発生したノードを修復してオンラインに戻すだけで十分です。修正したノードを起動すると、ノード間の接続が再確立され、停止中にプライマリノードに加えられた変更内容すべてがセカンダリノードに同期されます。
![]() | 重要項目 |
|---|---|
この時点で、DRBDの再同期アルゴリズムの性質により、セカンダリノードのリソースの一貫性が一時的に失われます。この短時間の再同期の間は、対向ホストが使用できない場合でも、セカンダリノードをプライマリロールに切り替えることができません。したがって、セカンダリノードの実際のダウンタイムとその後の再同期の間は、クラスタが冗長性を持たない期間になります。 |
DRBDからみると、プライマリノードの障害とセカンダリノードの障害はほぼ同じです。生き残ったノードが対向ノードの障害を検出し、切断モードに切り替わります。 DRBDは生き残ったノードをプライマリロールに昇格しません。昇格はクラスタ管理システムが実行します。
障害が発生したノードが修復されてクラスタに戻る際に、セカンダリロールになります。すでに述べたように、それ以上の手動による介入は必要ありません。このときもDRBDはリソースのロールを元に戻しません。変更を行うように設定されている場合は、クラスタ管理システムがこの変更を行います。
プライマリノードに障害が発生すると、 DRBDはアクティビティログというメカニズムによってブロックデバイスの整合性を確保します。詳細は、「アクティビティログ」を参照してください。
ノードに回復不可能な問題が発生した場合やノードが永久的に破損した場合は、次の手順を行う必要があります。
障害が発生したハードウェアを同様のパフォーマンスとディスク容量を持つハードウェアと交換します。
![]() | 注記 |
|---|---|
障害が発生したノードを、それよりパフォーマンスが低いものと置き換えることも可能ですが、お勧めはできません。障害が発生したノードを、それよりディスク容量が小さいものと置き換えることはできません。この場合、DRBDを置き換えたノードに接続できません。 |
OSとアプリケーションをインストールします。
DRBD をインストールし、生き残ったノードから /etc/drbd.conf をコピーします。
5章DRBDの設定に記載された手順を行います (「デバイスの初期同期」 の前まで実行)。
この時点で、デバイスの完全同期を手動で開始する必要はありません。生き残ったプライマリノードへの接続時に、同期が自動的に開始します。