web-dev-qa-db-ja.com

RAID 1は、ディスクが破損しているかどうかをどのように判断しますか?

AとBの2つのディスクからなるRAID1アレイを構築しました。

つまり、AのすべてのビットがBのビットと等しいということです。一方のディスクに障害が発生した場合、もう一方のディスクからデータを安全に取得できます。しかし、それから私は疑問に思い始めました:これはどれほど真実ですか?

Aのビット1が0を読み取り、Bのビットが1であるとしましょう。RAIDコントローラーは、どれが破損していて、どれが破損していないかをどのように判断できますか?これは、いわゆる「S.M.A.R.T.」に基づいていますか?テクノロジーレポート、そしてそれは本当に何かの価値がありますか、それとも私は非RAIDソリューションでも同様にうまくいくでしょうか?

RAID 5でこれが問題にならない理由がわかるので、アップグレードする予定です。

4
Einar

RAID1またはRAID5は、あなたが説明している種類の問題から保護しません。これらは主に、単一のドライブのハードウェア障害から保護することを目的としています(したがって、システムのダウンタイムを削減することを目的としています)。 RAID 5では、ドライブの障害が検出されるまで、パリティ情報は使用されません。

非常にまれですが、さまざまな原因により、ビットの状態がランダムに変化するように見えます。これは bit rot と呼ばれます。ビット腐敗から保護するために、次のことができます。

  1. RAID 6を使用して、定期的なデータ整合性チェックと組み合わせて、冗長性をさらに追加します。
  2. ZFSなど、データの整合性を積極的にチェックするファイルシステムを使用します。 RAID-Z1(シングルドライブ冗長性)でZFSを使用することにより、ランダムに「反転」したビットを読み取るときに、計算されたチェックサムが保存されたチェックサムと一致しないため、エラーが検出されます。次に、可能な場合、ZFSはパリティ情報を使用してエラーを自動的に修正します。

ハードドライブには 組み込みのデータ冗長性 から 部分的に軽減 ビット腐敗があることを指摘する価値があります。

5
sblair

RAID1はバックアップソリューションではありません。 RAID1が行うことは、単一ドライブの障害からユーザーを保護することです。それで全部です。まあ、それはまたあなたの読み取り速度を少しスピードアップします。しかし、それはバックアップソリューションではありません。ファイルを削除すると、両方のドライブから削除されます。 RAID1をフォーマットすると、両方のドライブがフォーマットされます。ファイルがウイルスに感染している場合、回復することはできません。そのため、RAID1はバックアップソリューションではありません。

他の質問に答えるために、ドライブ上のデータが一致しない場合、どちらが正しいかを判断する方法はありません。ただし、これの確率はおそらくあなたが思うほど高くはありません。たとえば、最新のハードドライブの エラー処理 に関するウィキペディアのセクションを参照してください。

エラー検出とエラー訂正を追加することは不可能ではありませんが、それは通常、RAIDコントローラーのレベルでは行われません。 ZFSなどの一部のファイルシステムは、データの整合性のために 追加の保護 を追加します。

9
ChrisInEdmonton