スクラビング(Scrubbing)とは
スクラビングとは、アレイを構成する物理ボリュームを検査することです。スクラビングを行うことにより、物理ボリュームからデータを読み込めるかどうかや、データの整合性がとれているかどうかをチェックすることができます。
スクラビングはエラーブロックの検出を行い、必要であればそのブロックの修正を行います。
対象となるアレイの種類
ここでの内容は、冗長性のあるRAIDアレイが対象です。具体的には、以下のRAIDレベルが該当します。
- RAID 1
- RAID 4
- RAID 5
- RAID 6
- RAID 10
スクラビングの種類
スクラビングには以下の2種類の動作があります。- チェックのみ(check)
- チェック後、必要に応じて修復も行う(repair)
スクラビング時の注意事項
「RAID 1/10」では、スクラビング中にデータの書き込むを行うと、意図しない結果になることがあります。データの書き込みを可能な限り行わないようにしましょう。
データが消えることはありませんが、ブロックがエラーとして検出されることがあります。
スクラビングの動作
「MDドライバー」は以下の動作を行います。1.ブロックの読み込み
アレイを構成する物理ボリュームからブロックが読み込めるかどうかチェックします。2.ブロックの整合性のチェック
ブロックが読み込めたら、ブロックの整合性がとれているかチェックします。チェックの内容は、RAIDレベルにより異なります。
RAID 1の場合
他の物理ボリュームのブロックのデータと同じかどうか調べます。RAID 10の場合
レプリカのブロックのデータと同じかどうか調べます。RAID 4/5/6
データブロックとパリティーブロックから、整合性がとれているかチェックします。3.ブロックの読み込みに失敗した場合
上記のいずれかの過程でブロックの読み込みにエラーが発生した場合、そのエラーが発生したブロックのデータを、他の物理ボリュームのブロックから構築します。その構築したデータをエラーが発生したブロックに書き込みます。
4.他のブロックのチェック
上記「1.」から「3.」を、アレイを構成する全物理ボリュームの全ブロックを対象に行います。5.整合性に問題が見つかった場合
最後に「2.」の過程でブロックの整合性に問題が見つかった場合、「ミスマッチ」が起きていると判断します。この後の動作は、スクラビングの種類により変わります。
チェックのみの場合、「ミスマッチ」が発生した回数を記録しここで処理が終了します。
修復を行う場合、次の「ミスマッチの修正」に移ります。
ミスマッチの修正
「ミスマッチ」の修正です。「ミスマッチ」の修正は、アレイの再同期です。
アレイの再同期は、「アレイの再同期」を参考にしてください。