アレイの修復
アレイを構成する物理ボリュームに障害が発生した時、「MDドライバー」はアレイの修復を試みます。ここで言うアレイの修復とは、「MDドライバー」が障害発生時に自動的に行う修復のことです。
対象となるアレイの種類
ここでの内容は、冗長性のあるRAIDアレイが対象です。具体的には、以下のRAIDレベルが該当します。
- RAID 1
- RAID 4
- RAID 5
- RAID 6
- RAID 10
物理ボリュームの障害とは
物理ボリュームの障害とは故障のことです。以下の現象が発生した時に、「MDドライバー」は物理ボリュームに障害が発生したと判断します。
データの書き込み時
物理ボリュームにデータを書き込む時にエラーが発生すると、「MDドライバー」は物理ボリュームに障害が発生したと判断します。データの読み込み時
物理ボリュームからデータを読み込む時にエラーが発生すると、まず「MDドライバー」はそのブロックを修復しようとします。他の物理ボリュームのブロックから、エラーが発生したブロックのデータを構築し、そのブロックに構築したデータを書き込みます。
もしこの時点で書き込みエラーが発生した場合は、上記の「データの書き込み時」と同じ扱いになります。
次に、エラーが発生したブロックから再度データを読み込みます。
この時点で読み込みエラーが発生した場合は、上記の「データの書き込み時」と同じ扱いになります。
物理ボリュームの障害を検出した時は
「MDドライバー」が障害が発生した物理ボリュームを検出した時、以下の動作を行います。1.フォルティーディスクのマーク
障害が発生した物理ボリュームを「フォルティーディスク」としてマークし、切り離します。「フォルティーディスク」はアレイに結び付けられたままになりますが、アレイから使用されることはありません。
2.処理の続行
残りの物理ボリュームに対し、要求された処理を続行します。要求された処理とは、データの読み書きのことです。
3.スペアディスク
次にアレイに「スペアディスク」が設定されている場合、「スペアディスク」を使用してアレイの修復を行います。他の物理ボリュームからデータを生成し、「スペアディスク」に保存するデータを構築します。
これ以降、使用された「スペアディスク」は「スペアディスク」ではなくなり、アレイから使用される物理ボリュームになります。
もしアレイに「スペアディスク」が設定されていなかった場合、「3.」以降の動作は行いません。
RAID 1の場合
他の物理ボリュームから「スペアディスク」に保存するデータをコピーします。RAID 4/5/6の場合
他の物理ボリュームのデータブロックとパリティーブロックから、「スペアディスク」に保存するデータを生成します。RAID 10の場合
レプリカから「スペアディスク」に保存するデータをコピーします。アレイ修復中の動作について
アレイの修復はバックグラウンドで行われ、アレイの修復中にアレイを使用することができます。「MDドライバー」は修復中のアレイの使用状況を監視します。
修復中のアレイに対し外部からデータの読み書きが発生すると、修復処理の優先順位を下げデータの読み書きのパフォーマンスに過度な影響が出ないようにします。
データの読み書きが終了すると、修復処理の優先順位を元に戻し修復を続行します。
修復中のアレイの使用はお勧めしない
修復中のアレイの使用はおすすめしません。特に冗長性がない状態(デグレードモード)で動作している時は注意が必要です。
もしその状態でさらに物理ボリュームが故障した場合、データは失われ復旧することができなくなります。