目次
この章では、 ハードウェアやシステムに障害が発生した場合に必要な手順について説明します。
ハードドライブの障害の際の対処方法は、 ディスクI/Oエラーを処理するために DRBDがどのように設定されているか(「 ディスクエラー処理ストラテジー 」を参照)、 および設定されているメタデータのタイプ(「DRBDメタデータ」を参照)に応 じて異なります。
![]() | 注意 |
|---|---|
ほとんどの場合、 ここで取り上げる手順は DRBDを直接物理ハードドライブ上で実行している場合にのみ適用されます。 次に示す層の上でDRBDを実行している場合には通常は適用されません。 |
DRBDがI/Oエラーを渡すように 設定されている場合(推奨されない)は、 まず、DRBDリソースを切り離します。 つまり、リソースと下位ストレージの関連付けを解除します。
drbdadm detach resource
drbdadm dstateコマンドを実行して、 リソースが現在 ディスクレスモードかどうか確認できます。
drbdadm dstate resource
Diskless/UpToDate
プライマリノードでディスク障害が発生した場合は、 この手順とスイッチオーバ操作を組み合わせて行うことができます。
DRBDがI/Oエラーの際に 自動的に切り離しを行うように設定されている場合 (デフォルトおよび推奨オプション)は、 手動で介入しなくても、 DRBDがすでにリソースを下位ストレージから自動的に切り離しているはずです。 その場合でもdrbdadm dstateコマンドを使用して、 リソースが実際にディスクレスモードで実行されているか確認できます。
もし、内部メタデータを使用している場合は、 DRBDデバイスを新しいハードディスクにバインドするだけで十分です。 障害の発生したディスクとは別のLinuxデバイス名によって 新しいハードディスクのアドレスを指定する必要がある場合は、 DRBD設定ファイルを適切に変更してください。
この場合は新しいメタデータセットを作成してから、 リソースを再接続する必要があります。
drbdadm create-md resource
v08 Magic number not found
Writing meta data...
initialising activity log
NOT initialized bitmap
New drbd meta data block sucessfully created.
success
drbdadm attach resource
新しいハードディスクの完全な同期が直ちに自動的に開始します。
同期の進行状況を監視するには、
通常のバックグラウンド同期と同様に/proc/drbdを使用します。
外部メタデータを使用している場合でも、 手順は基本的には同じです。 ただし、DRBDだけではハードドライブがスワップされたことを認識できないため、 追加の手順が必要です。
drbdadm create-md resource
v08 Magic number not found
Writing meta data...
initialising activity log
NOT initialized bitmap
New drbd meta data block sucessfully created.
success
drbdadm attach resource
drbdadm invalidate resource
上記のdrbdadm invalidateコマンドが同期をトリガーします。
この場合も、同期の進行状況を/proc/drbdで確認できます。