web-dev-qa-db-ja.com

ZFSとTLER / ERC / CCTLを備えたFreeNAS

現在、仮想マシン、ファイル、およびバックアップに使用する新しいストレージサーバーを構築中です。 OSはFreeNASで、ソフトウェアRAIDとしてZFSを使用します。

私の問題は、ハードドライブを選択する必要があり、消費者向けハードドライブとエンタープライズ向けハードドライブの両方を調べたのですが、明確な答えを見つけることができなかった未回答の質問に直面しています。

TLER/ERC/CCTLをサポートしていない民生用ハードドライブをZFS(ソフトウェアRAID)で使用しても、後で問題が発生することはありませんか、それともTLER/ERC/CCTLをサポートするエンタープライズハードドライブを使用する必要がありますか?

これについてはさまざまな意見があり、使用すべきだと言う人もいれば、使用すべきではないと言う人もいます。ソフトウェアraidに依存し、独自のエラー修正タイムアウトがあるため、TLER/ERC/CCTLが存在するかどうかを気にしないOSがいくつかあります。ハードウェアRAIDを扱う場合は、TLER/ERC/CCTLを使用する必要があることを認識しています。

誰かが私の問題に光を当てることができることを本当に望んでいます。

ありがとう。

5
Indigo

TLER/ERC/CCTLをサポートしていない民生用ハードドライブをZFS(ソフトウェアRAID)で使用しても、後で問題が発生することはありませんか、それともTLER/ERC/CCTLをサポートするエンタープライズハードドライブを使用する必要がありますか?

各ドライブが特定の機能、寿命などを備えたブラックボックスであると想像してください。それらはすべて、ストレージアレイ内で独立して動作します。したがって、さまざまなケースで何が起こるかを確認するには、それぞれを個別に確認する必要があります。

この質問では、2つのミラーリングされたドライブAとBで構成されるプールがあるとします。可能な組み合わせは次のとおりです。

  1. AとBはTLERを持っています
  2. Aは持っているが、Bは持っていない
  3. Aにはありませんが、Bにはあります
  4. AとBはそれを持っていません

すべてのディスクですべてが正常に機能していれば、問題はありません。

1つのエラー:

ブロックを読み取ろうとしたときにディスクAでエラーが発生した場合は、考えられる各ケースで次のような状況になります。

  1. システムはディスクにブロックを要求します。ディスクは何度もそれを見つけようとし、約7〜9秒後(TLERタイムアウトが何であれ)、コントローラーはディスクをアレイからドロップします。システムは、1つのディスクが欠落していることを通知し、プロビジョニングしたすべてのことを実行します(電子メールアラートを生成し、ホットスペアの再同期を開始し、何もせず、劣化を続けます...)
  2. 1と同じ。
  3. システムはディスクにブロックを要求します。ディスクは、自身のタイムアウトに達するか、ブロックが見つかるまで、何度も何度もそれを見つけようとします。このタイムアウトは数分になる場合があり、モデルやメーカーによって異なる場合があります。ブロックを取得できる場合は、正常に読み取られます。失敗した場合は、ブロック自体のエラーメッセージが返されます。
  4. 3と同じ。

2つのエラー(各ディスクに1つ):

このケースは非常にまれですが、理論的には可能です。両方のディスクで、まったく同じブロックでエラーが発生します。

  1. 両方のディスクが削除され、プールが使用できなくなります。
  2. 上から3と同じ。
  3. 上から3と同じ。
  4. 上から3と同じ。

パフォーマンスと信頼性

上で見たように、あなたはあなたの目標とプールのレイアウトに応じて選択をしなければなりません。

  • 常に最小限の応答時間が必要であり、長いブロッキングラグを受け入れることができない場合は、TLERディスクを使用します。欠点は、最終的に同じ平均プールヘルスを達成するために、追加のディスク(Z1の代わりにZ2、Z2の代わりにZ3、2ミラーの代わりに3ミラー)またはホットスペアをプロビジョニングする必要がある可能性があることです。また、全体的なパフォーマンスに悪影響を与える可能性のある、潜在的に長い再構築時間に備える必要があります。
  • 予算またはスペースが制限されている場合はTLER以外のディスクを使用し、ディスクが保持されている場合は遅延を許容できます。 ZFSは、影響を受けるブロックの自己修復をすでに支援しているため、TLERが当初想定していたものは必要ありません(自己修復を開始できるように、コントローラーはディスクをドロップする必要があります)。
  • アプリケーション/アーキテクチャが快適に処理できる値にディスクタイムアウトを設定します。この方法では、ドロップせずにエンタープライズディスクを使用することも、ドロップしてコンシューマーディスクを使用することもできます。すべてのディスクが変更可能であるとは限らないため、購入する前にまずオンラインで確認してください。
2
user121391

また、Backblazeが公開した エンタープライズドライブ ライフタイム、および コンシューマードライブの信頼性 の数値も考慮する価値があります。

彼らはカスタム Reed-Solomon 実装を使用していますが、それらの数値(およびビジネスモデル)は、コンシューマドライブが確実に優れた信頼性を提供でき、適切なエラー検出/回復アルゴリズムを使用して、優れた保護を提供できることを示唆しています。あなたのデータのために。確かに、これらのエンタープライズ機能がなくても、セットアップ全体はかなりうまくいったようです。

したがって、@ ser121391 が言うように(少し言い換えればいいかもしれません)、エンタープライズ機能を必要とする特定のニーズがない限り、コンシューマディスクのZFSは問題ありません。

1