web-dev-qa-db-ja.com

RAIDZ1は、4TBドライブのアレイのフォールトトレランスがないよりも悪いですか?

この質問MichaelKjörling および ser121391 は、RAIDZ1(ZFSのRAID5に相当)が信頼できないため、使用する必要があると主張しているようです。 RAIDZ2(ZFSのRAID6に相当)。 user121391のコメント:

故障したドライブを再構築している間、すべてのドライブからのすべてのデータを読み取る必要があります。これにより、ディスクへのストレスが増加し(特に、ディスクが通常はほとんどアイドル状態の場合)、別のドライブに障害が発生する可能性が高くなります。さらに、すべてのデータを読み取っているときに、補正する2番目のディスクがないディスクの1つからUREを取得する場合があります。これは、ファイルが破損/失われる可能性があることを意味します。第3に、ディスクが大きいほど、これらの問題だけでなく、ディスクまたはシステムで発生する可能性のある問題(停電など)の脆弱性のウィンドウが長くなります。

私の特定のユースケース(ホームメディアサーバー)では、冗長ストレージの観点から最小限の費用でいくつかのフォールトトレランスを獲得しようとしています。回復不可能なデータはすべてバックアップされますが、ドライブに障害が発生した場合、大量のDVDや書籍をリッピングする必要があるため、非常に不便になります。ここでも、さまざまなサービスから大量の音楽をダウンロードして、メディアサーバーを再構築します。

私の質問は、RAIDZ1は、フォールトトレランスのサービスで合計プールサイズの25〜33%を超える犠牲を払うつもりがないことを考えると、フォールトトレランスなしの段階的な改善であるか、それとも、 1つのディスクに障害が発生すると、プール全体に障害が発生し、完全なデータ損失が発生します。

それがまったく役に立ったとしても、これらのデータのほとんどは変更されず(メディアファイルです)、理論的に回復できないものはすべてバックアップされます。

1
Paul

あなたが引用した答えに暗示されているのは、ストレージ容量が増えると、それに応じて、再構築操作だけでなく通常のアクティビティでも障害が発生する可能性が高くなるということです。したがって、統計的に言えば、RAIDZ1は、最新の4TBドライブについて話すとき、一応のケースになっているとしても、RAID0よりもフォールトトレラントではありません。

そのため、RAIDZ1は、実際には、大容量ハードディスクドライブのデータ損失に対する保護を強化するものではないと主張する人もいます。これは、ドライブの機械的な障害とはあまり関係がなく、少なくとも重大な障害とは関係がありません。 UREは、簡単に(そして非常に単純に)読むのに失敗することです。ドライブの不良セクタからの長時間の読み取り、スペアセクタのディスク不足、またはその他の原因によるものであっても、実際には問題ではありません。好むと好まざるとにかかわらず、それは起こります。次に、不良セクタの例を見てみましょう。通常、これはドライブによって内部的に処理されますが、十分な数がある場合、またはドライブが必要な場合は、RAIDZコントローラが遅延をドライブ障害として解釈し、ドライブを排出する可能性があることを修正します。さて、それがプール内の2番目のハードドライブであり、再構築中に発生したと想像してみましょう...唯一の実行可能な解決策は、これらのエラーについてアレイをスクラブすることです-早期に検出された場合、エラーは単なるバーストになります-プールは回復しますデータを簡単に。ただし、これはドライブに非常に大きな負荷をかけることを意味し、UREの統計的可能性が大幅に増加します(通常の操作から桁違いに読み取りを増やすことなく、経過時間、書き込み、データ量がすべてすでに大幅に増加していることを忘れないでください。ドライブごとに個別に)。

したがって、あなたの質問への答え(is a RAIDZ1 an incremental improvement on no fault tolerance)は:そうではありません。見積もりの​​ロジックを使用すると、ディスク操作の最初の2年以内にデータが回復不能になるのに十分なディスク障害が発生する可能性が50%(私は思う)に直面します。

そのため、当社でサーバーの可用性やストレージ容量のジレンマに直面したとき、私たちは弾丸を噛み、SSD上のRAID6を選びました。数年は十分で、必要に応じてアップグレードする必要があります。

1
AcePL

古いスレッドでは誤解だったと思います。 Z1パリティRAIDを使用する場合、またはRAIDを使用しない場合(他のスレッドのコメントで述べたように)、2つのディスクが連続して故障する可能性を比較していました。私の目には、基本的なvdevのストライププールとZ1の違いはありませんでした。とにかく、最初の障害の後でゲームが本質的に終了したため、Z1の方がもちろん優れています。

ただし、複数の独立したプールを単一のZ1 vdevを持つ単一のプールと比較した場合、パリティ情報の再計算中に負荷が増加するという問題が解決しません。

マイケルの答えが主だったZ1とZ2の比較では、他の2つのポイントが当てはまります。コメントでもっとはっきりさせておくべきだったのですが、残念ながらスペースに限りがあります。この答えがこれのいくつかをクリアすることを願っています。

私は同じことを考えましたが、UREがほんの少し反転するだけでなく、プール全体を台無しにすることに気づきませんでした。

全体を単純化すると、ディスクの下部にコントローラーチップがあり、上部にハードウェア(RAIDコントローラー)またはソフトウェア(ZFSなど)があります。

ハードウェアでエラーが発生し、セクターを読み取ることができない場合、チップは最初に、可能であれば(たとえば、問題のセクターを複数回読み取ることによって)それ自体でエラーを修正しようとします。それでも何もできない場合は、あきらめます(通常のディスクでは、これには数分かかる場合があり、IO操作に関する「成功」または「失敗」メッセージを待機するシステム全体が停止します。それは保留中です。

一部のディスクにはTLER(時間制限エラー回復)と呼ばれる機能があります。これは、このエラー訂正時間を6〜9秒に制限するハードタイムアウトです。これは、従来、ほとんどのハードウェアRAIDコントローラーが9秒後にディスク全体をドロップしたため、1つの不良セクターはディスク全体を使用不可にするべきではありませんが、他のディスクの「良好な」セクターによって修正されます(デスクトップシステム上の単一のディスクが依存できない機能なので、長いタイムアウトが望ましいでしょう)。

次に、ソフトウェア側を見てみましょう。たとえば、プールのベースとしてミラーリングされたディスクまたはミラーvdevを使用して、冗長性を備えたRAIDコントローラーまたはZFSファイルシステムを構成すると、UREを修正できます。冗長性を使用しない場合、このセクターのデータは失われます。運が良ければ、気になるデータか、ランダムな古い一時データか、何もない可能性があります。同じことがビットフリップにも当てはまりますが、ビットフリップが発生する可能性は、外部の影響(宇宙線など)に依存しているようです。

RAID0はUREの対象ではないため、問題は「RAIDZのUREまたはRAID0のディスク障害の可能性が高い」ということです。

関連するポイントを十分に説明していないため、この回答を受け入れませんでしたが、UREがプール全体を破壊する理由を理解したら、他の誰も最初にそれに到達しない場合は、独自の回答を作成することを計画していました。

ZFSプールレイアウトの基本的な説明を読むことをお勧めします。最も重要なビットを要約すると:

  • ディスク、パーティション、またはファイルから仮想デバイス(vdev)を作成できます。各vdevは、異なる冗長性で作成できます。基本(冗長性なし)、ミラーリング(1〜Nディスクが失敗する可能性があります)、パリティRAID Z1/Z2/Z3(1/2/3ディスクが失敗する可能性があります)。すべての冗長性はvdevレベルで機能します。
  • 1つ以上のvdevからストレージプールを作成します。それらは常にストライプ化されているため、単一のvdevが失われると、プール全体が失われます。
  • 独立したプールをいくつでも持つことができます。 1つのプールが失われた場合でも、他のプールは機能し続けます。

したがって、次の理由が考えられます。

  • 可能であれば、大きなドライブを再構築するときに負荷が増加し、(負の)機会の大きなウィンドウがあるため、Z1よりもZ2を優先します(大きなドライブは約1 TBを超えるものです)
  • Z1と複数の基本的なvdevのどちらかを選択する必要がある場合は、基本的なvdevでは不可能なビットエラー訂正のためにZ1を優先します。
  • プールの部分的な損失を受け入れることができる場合は、プールをそれぞれ1つのvdevに裏打ちされた複数の小さなプールに分割して、チェックサム情報を取得し、致命的な障害の再構築時間を短縮します。

上記のいずれの場合でも、バックアップが必要です。バックアップを購入できない、または購入したくない場合、それはあなたが失うのがより快適なものについてです-プールの一部の確率が高いか、すべてが確率の低いものです。私は個人的に最初のオプションを選択しますが、そうでない場合もあります。

1
user121391