web-dev-qa-db-ja.com

書き込み速度要件:1.1GB /秒の可能性?

ピークパフォーマンスで、1時間あたりのデータ50( "書き込みヘッド")x 75GBのデータをプッシュできるマシンが稼働します。これは、最大1100MB /秒の書き込み速度のピークパフォーマンスです。これをマシンから取得するには、2つの10GBi回線が必要です。私の質問は、どのようなサーバー+テクノロジーがそのようなデータフローを処理/格納できるかということです。

現在、データストレージではZFSを使用していますが、書き込み速度は決して問題ではありません。 (私たちはこれらの速度に近づいていません)ZFS(Linux上のzfs)はオプションでしょうか?また、大量のデータを保存する必要があります。「ITガイド」は、50〜75の間のどこかを示唆していますTB合計。したがって、最初に提供したい場合を除いて、すべてのSSDになることはできません。生まれの子供。

優れた返信に基づくいくつかの追加:

  • ピーク時の最大値は50x75GB /時間で、24時間未満です(おそらく6時間未満)。
  • 私たちはこれがすぐに起こるとは予想していません、おそらく5-10x75GB /時間で実行します
  • これはプレアルファ版のマシンですが、要件は満たされている必要があります(多数の疑問符が使用されている場合でも)
  • マシンからサーバーへの接続として[〜#〜] nfs [〜#〜]を使用します
  • レイアウト:マシンの生成->ストレージ(これ)->(セーフRAID 6)->計算クラスター
  • だから読み取り速度は必須ではありませんですが、計算クラスターから使用するのがいいでしょう(ただし、これは完全にオプションです)。
  • ほとんどの場合、大きなデータファイルになります(小さなファイルは多くありません)。
29
SvennD

もちろん... Linux上のZFSは、正しく設計されていれば可能です。 貧弱なZFS設計 のケースはたくさんありますが、うまくいけば、要件を満たすことができます。

したがって、主な決定要因は、このデータストレージシステムへの接続方法です。 NFSですか? CIFS?クライアントはどのようにストレージに接続していますか?または、処理などは行われますかonストレージシステムですか?

さらに詳しい情報を入力すると、お手伝いできるかどうかを確認できます。

たとえば、これがNFSで同期マウントの場合、LinuxでZFSをスケーリングして書き込みパフォーマンスのニーズを満たし、長期的なストレージ容量の要件を維持することは間違いなく可能です。データは圧縮可能ですか?各クライアントはどのように接続されていますか?ギガビットイーサネット?


編集:

さて、かみます:

おおよそ$ 17k- $ 23kで、2Uラックスペースに収まる仕様です。

HP ProLiant DL380 Gen9 2U Rackmount
2 x Intel E5-2620v3 or v4 CPUs (or better)
128GB RAM
2 x 900GB Enterprise SAS OS drives 
12 x 8TB Nearline SAS drives
1 or 2 x Intel P3608 1.6TB NVMe drives

このセットアップでは、ハードウェアRAID6またはZFS RAIDZ2のいずれかを使用して、80TBの使用可能なスペースが提供されます。

焦点はNFSベースのパフォーマンス(同期書き込みを想定)であるため、P3608 NVMeドライブ(ストライプSLOG)を使用すると、それらすべてを簡単に吸収できます。これらは、3GB /秒の順次書き込みに対応でき、説明したワークロードを継続的に処理するのに十分な耐久性を備えています。ドライブを簡単にオーバープロビジョニングして、SLOGユースケースでいくつかの保護を追加できます。

NFSワークロードでは、書き込みは結合され、回転しているディスクにフラッシュされます。 Linuxでは、これを調整して15〜30秒ごとにフラッシュします。回転するディスクはこれを処理することができ、このデータが圧縮可能であればさらに多くの利益を得る可能性があります。

サーバーは、さらに4つのオープンPCIeスロットと、デュアルポート10GbE FLRアダプター用の追加ポートで拡張できます。したがって、ネットワークの柔軟性があります。

18
ewwhite

このような極端な書き込み速度については、ZFS、BTRFS、または任意のCoWファイルシステムを使用しないことをお勧めします。大規模/ストリーミング転送で非常に効率的なXFSを使用します。

多くの欠けている情報があります(これらのデータにどのようにアクセスする予定ですか?読み取り速度は重要ですか?大きなチャンクで書き込むつもりですか?など)、特定のアドバイスを提供しますが、いくつかの一般的なアドバイスは次のとおりです:

  • rawパーティションまたはファットLVMボリュームの上にXFSを使用します(シンボリュームは使用しないでください)
  • ioblockのサイズを調整して、大量のデータ書き込みに効率的に対処する
  • powerlossで保護された書き込みキャッシュを備えたハードウェアRAIDカードを使用します。ハードウェアRAIDの使用が疑わしい場合は、ソフトウェアRAID10スキームを使用してください(パリティベースのRAIDモードは避けてください)。
  • lACP(リンク集約)を備えた2つの10Gb/sネットワークインターフェースを使用する
  • 必ずジャンボフレームを有効にしてください
  • nFSを使用する場合は、拡張性を高めるために pNFS (v4.1)の使用を検討してください。
  • 確かに他の多くのもの...
23
shodanshok

25Gbpsイーサネットはすでに境界主流になっていますが、PCIeベースのNVMeはそのトラフィックを簡単に処理します。

参考までに、4つの通常のデュアルキセオンサーバー(この場合は、HPE DL380 Gen9)を使用して小さな「ログキャプチャ」ソリューションを最近構築しました。それぞれに6 x NVMeドライブがあり、IP over Infinibandを使用しましたが、25/40Gbps NICは同じです。サーバーごとに最大8GBpsをキャプチャしています。

基本的に安価ではありませんが、最近は非常に可能です。

4
Chopper3

大したことのように聞こえません。私たちのローカルハードウェアサプライヤーはこれを 標準製品 として持っています-どうやらそれはCCTV記録モードで1400MB/sを持続的にプッシュできます。これはピーク要件よりも難しいはずです。

(リンクはデフォルトの12GB構成ですが、20x4TBもオプションであることに注意してください。この特定のモデルのサーバーでの個人的な経験はありません。)

2
MSalters

接線のようなものですが、デュアル10GbEリンクの代わりにInfiniBandの使用を検討してください。 56Gbps Infinibandカードは非常に安価に、または100Gbpsカードはそれほど多くなく、Linuxでは、IBを介したRDMAでNFSを簡単に使用できます。扱う)。スイッチは必要ありません。2枚のInfiniBandカードと直接接続ケーブル(または、より長い距離が必要な場合はInfiniBandファイバーケーブル)だけです。

MCB191A-FCATのようなシングルポートのMellanox 56Gbpsカード(8x PCIe 3.0)は700ドル未満で、2メートルの銅製直接接続ケーブルは80ドルです。

パフォーマンスは通常、すべての使用例で10GbEを水から吹き飛ばします。 InfiniBandをすべて使用できないさまざまなクライアントからサーバーにアクセスする必要がある場合を除いて、欠点はありません(それでも、Mellanoxのスイッチは10GbEと40GbEをIBにブリッジできますが、これは少し投資が必要です)。もちろん)。

2
Joakim Ziegler

最新のハードウェアでは、1100MB /秒での順次書き込みは問題になりません。事例として、8x5900 RPMラップトップドライブ、2x15000 RPMドライブ、2x7200 RPMドライブを使用した私の自宅のセットアップは、16GBの1回限りのペイロードで300 MB /秒を維持します。

ネットワークは、ファイバーケーブルを備えた10GbE、イーサネット上の9000 MTUであり、アプリケーションレイヤーはSamba 3.0です。ストレージは、3つの4ドライブのraid5ボリューム上に3つのストライプを持つraid50で構成されています。コントローラは、LSI MegaRAID SAS 9271-8iで、ポートあたり最大6Gb/sです(追加の低速のポートマルチプライヤがあります)。

経験豊富なシステム管理者と話してください。彼らは、どのコントローラーとドライブが要件を満たすかを正確に伝えることができるはずです。

任意の12Gb/sコントローラーを試して、それぞれ8つの7200 RPMドライブの2つのミラーリングされたストライプを構成できると思います(ほとんどすべてのドライブで実行できます)。 3-4 TCP接続を開始してリンクを飽和させ、1ペアの10GbEカードがリンクを処理できない場合は、4枚のカードを使用してください。

ZFSでこれを行うことは可能ですが、FreeBSDの方がネットワークスタックが速いため、FreeBSDの使用を検討してください。これにより、1台のマシンで100 GBitが可能になります。

1100 MBpsはよく聞こえますが、通常のハードドライブのみを使用することで現実的にこれを実現できます。 75 TB=の容量が必要なので、ミラーで24 8 TBハードドライブを使用できます。これにより、単一ドライブの12倍の書き込み速度が得られます。 24倍のドライブ読み取り速度。これらのドライブは100 MBpsよりも書き込み速度が速いため、帯域幅を簡単に処理できるはずです。書き込み速度が非常に遅いため、SMRドライブを取得しないようにしてください。

ZFSはすべてのブロックのチェックサムを作成します。これはシングルスレッドで実装されています。そのため、ブロックしないようにかなり高速なクロックレートのCPUが必要です。

ただし、正確な実装の詳細は、詳細に大きく依存します。

1
mzhaase

10GをペグしましたNIC Fuseクライアントを介してGlusterクラスターにデータをダンプします。3.0から達成できるパフォーマンスを信じられないほど少しチューニングします。

1
pozcircuitboy