web-dev-qa-db-ja.com

本番140ディスク(420 TB)ZFSzpoolを構築するためのアドバイス

私はデータ記録システム用の大きなzpoolを構築する任務を負っています。 Linux(0.6.4.2)、CentOS6.5でのZFSの使用。

ハードウェア仕様:

  • DL380 Gen8
  • 80GBのRAM
  • 2x HP HBA H221
  • 2x HP D6000、それぞれ70x 3TB SASディスク

いくつかの特別な状況があります:

  • ミラーリングは問題外です。ストレージが不足します。必要なTB必要な合計量はほぼ設定されています。D6000ユニットを追加することはオプションではありません。
  • アプリケーションレベルの冗長性を使用して、データセンターにこれらのzpoolが2つあります。したがって、プール全体の損失は問題がありますが、重大ではありません。すべてのデータもテープにバックアップされます。
  • HP Acceleratorカードの使用は、現時点ではオプションではありません(高すぎる)
  • 2.6.32カーネルに制限されているため、PCIeNVMeカードの使用はオプションではありません。

性能要件:

  • 書き込みパフォーマンスは重要ではありません。基本的に、おそらく4MB /秒で安定した書き込みの流れが続いています。
  • 読み取りパフォーマンスは便利ですが、実際にはホットデータセットはなく、必要に応じてどのデータを読み取ることができるか、または読み取るかは非常にランダムです。
  • インデックス作成は非常に重要です。 zpoolが完全にロードされると、約150万個のファイルが存在するため、これらのファイルのリストを取得するのは可能な限り高速である必要があります。 ARCはここで多くのRAMを助けますか?

私の計画は、次のようにzpoolを構築することです。

  • 10個のディスクからなる14個のVDEV、RaidZ2。
  • 上の圧縮
  • 自動置換オン
  • オフタイム

SLOGとL2ARCに適したオプションはありません。 HP SSDを使用することは、ハードウェアRaid0上で単一のデバイスとして実行する必要があるため、実際にはオプションではありません。私がこのサイトで読んだことから、それは問題を求めています。

私の質問:

  1. もっとRAMいいでしょう、確かに、しかし私は本当にそれが必要ですか?
  2. Zpoolに95%以上のデータが読み込まれると、大きな問題が発生することが予想されます。前述のように、パフォーマンス要件はかなり低く、パフォーマンスが低下しても問題ありません。
  3. 使用可能なストレージを減らすことなく、他のvdevレイアウトをお勧めします。
  4. 考慮すべき特別なZFSチューニングはありますか?少なくとも、ARCに保存されているメタデータのシェアを増やすことを検討しています。インデックス作成の速度を上げるために、意味がありますか?
  5. L2ARCおよびSLOGデバイスの使用に先立つ問題を予期する必要がありますか?
  6. 上記を機能させるための他のヒント、大歓迎です!
2
redbull666

詳細RAMは良いオプションかもしれません。読み取りパフォーマンスは重要ではありませんが、メタデータ操作は次のとおりです。ファイルシステムの「primarycache」を「metadata」に設定することをお勧めします。L2ARC用のSSDがある場合、「すべて」をキャッシュするためにメモリ(ARC)を使用し、「メタデータ」としてセカンダリキャッシュ(L2ARC)を使用することもできます。逆の方法は機能しません(L2ARCはARCからいっぱいになります)。

Zpoolに95%以上のデータが読み込まれると、大きな問題が発生する可能性があります

はいといいえ。これは、プラットフォーム/バージョンによって異なります。古いバージョンでは、容量が80%と大幅に速度が低下します。これを修正するには:スラブテーブルがメモリに保存されていることを100%確認してください! (Solaris:metaslab_debug = 1)。デフォルトでは、古いバージョンはディスクごとに2つのスラブのみをメモリに保存します。これにより、パフォーマンスが低下します。 FreeBSD以降のバージョンはデフォルトでこれを行っていると思います。ただし、ある程度のメモリが必要です(特にその数のディスクの場合)。

とにかくSLOG(ZIL)デバイスを使用することをお勧めします。これにより、書き込みがすぐに確認されますが、x秒ごとに低速ディスクに書き込まれます。複数の書き込みに対してPlatterを1回実行するだけでよいため、これは便利です。これにより、読み取りなどのディスク時間が長くなります。

これほど大規模な環境では、LinuxでZFSを使用することはお勧めしません。メモリ割り当てシステムはまだ100%完全ではなく、ZFSとLinuxがメモリをめぐって争っています。

1
Jeroen