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


29

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

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

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

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

8
メガビットはメガビットまたはメガバイトのように?MBi MiBi MByteまたはMBを使用してバイトを非難してください。また、2つの10ギガビット行により2400
MByte

1
おかげさまで、より明確になりました。いくつかの質問。ピークパフォーマンスは1.1 GBpsですが、平均は何ですか?これらのスパイクはどれくらい続きますか?そして、許容できる最小連続スループットはいくらですか?書き込みは1つの大きなファイルですか、それとも複数の小さなファイルですか?どのようなプロトコルが使用されますか?どのような冗長性が必要ですか?何らかの医療機器または科学機器のように聞こえますが、データシートをリンクできますか?すでにZFSを使用しているので、ZFS専門のストレージ会社と連絡を取ることができますが、そのうちいくつかがあります。彼らはあなたのためにシステムを特定することができます。
mzhaase

2
これは本当に1台のマシンで行う必要がありますか?複数のマシンへの負荷分散により、これが簡単になります。共有ストレージを使用するか、後でデータを統合できます。AWSでは、ELB、自動スケーリング、多数のEC2インスタンス、およびEFSを使用できますが、ハードウェアが必要なようです。あなたの質問はユースケースをあまりよく説明していません。
ティム

1
「ピーク」パフォーマンスは必要ありません-1.1GBpSの「持続」パフォーマンスが必要です-jsbueno
1

1
@jsbueno正しいですが、アクティブにする書き込みヘッドの数を選択できるため、1GB / sは「最悪のケース」ですが、パフォーマンスが持続するのに数時間かかる場合があることを考慮してください。
SvennD

回答:


18

絶対に... Linux上のZFSは、正しく設計されていれば可能性があります。不十分なZFS設計の多くのケースがありますが、うまくやれば、要件を満たすことができます。

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

さらに詳細を記入してください。支援できるかどうか確認できます。

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


編集:

さて、私は噛みます:

1700〜2300ドルで、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 / sに対応でき、記述したワークロードを継続的に処理するのに十分な耐久性評価を備えています。ドライブを簡単にオーバープロビジョニングして、SLOGユースケースで保護を追加できます。

NFSワークロードを使用すると、書き込みが合体され、回転ディスクにフラッシュされます。Linuxでは、これを調整して15〜30秒ごとにフラッシュします。回転するディスクはこれを処理でき、このデータが圧縮可能な場合はさらにメリットがあります。

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


ありがとう NFSを使用します。クライアント(マシン)は1つだけであり、オプションでクラスターからの読み取りデバイスとして使用します。(しかし、どのような処理またはどのように未知であるか)raid 6ストレージサーバーで利用可能な「スペース」があります。
SvennD

@SvennD NFSで同期マウントの場合、LinuxでZFSを拡張して書き込みパフォーマンスのニーズを満たし、長期のストレージ容量要件を維持することは間違いなく可能です。データは圧縮可能ですか?それもまた別の要因です。ただし、この範囲は、オンラインフォーラムで無料で提供できるアドバイスを超えています。連絡先情報は、ServerFaultプロファイルで入手できます。さらに議論する必要がある場合は私に連絡してください。
ewwhite

5
ZFSは、あなたが求めているもの以上の能力を備えています。最初の問題は、実際のハードウェアが対応できるようにすることです。注意しないと、アダプターまたはバックプレーンレベルで誤って1GB /秒よりもタイトなボトルネックを作成するのは非常に簡単です。その部分が正しいことを確認してから、ZFS側で問題を回避する方法について質問してください。
ジム・ソルター

@SvennD基本設計仕様と大まかなコストで編集。
ewwhite

HPサーバーよりもOracle X6-2Lをお勧めします。Oracleサーバーには、4つの10GBネットワークポートが標準装備されています。また、私の経験では、HPはILOMの苦しみにあいさつし、ILOMソフトウェアのライセンス供与など、HPサーバーが同等のOracleボックスよりも高価になるまであなたをyou死させます。私の経験では、OracleボックスがHPボックスよりも優れていること、そして@JimSalterが言及しているハードウェアのボトルネックがHPボックスよりもはるかに少ないこともわかりました。はい、Oracleから購入するのは苦痛です。
アンドリューヘンレ

23

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

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

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

3
また、XFSを使用する場合、ジャーナルをSSD RAID1ペアに配置します。
TB

2
powerlossで保護されたライトバックキャッシュを備えたRAIDカードを使用する場合、ジャーナルはメインアレイに残すことができます。書き込みキャッシュは、ジャーナルの書き込みを吸収して結合します。さらに、OPの説明から、メタデータの負荷は、データストリーミングの負荷と比較して非常に低いはずです。
shodanshok

2
ZFSは正常に機能し、XFSよりもずっと速く動作します。確かに、正しく設定し、ZILとSLOG用のRAMとSSDを用意する必要がありますが、おそらく必要な速度とは関係ありません。
ジョンキーツ

3
Linux上のXFSは古い技術だと考えています。OPは、ハードウェアRAID上でZFSを簡単に実行できます。ZFSを推奨する理由は、すべてのSSDプールを必要とせずに、着信NFS同期書き込みを低遅延でSLOGに吸収できるようにするためです。
ewwhite

6
シェルビーコブラは「オールドテクノロジー」ですが、それでもゲートからほとんどの車を吸うことができます。ZFSは元々高性能なファイルシステムとして設計されていませんでした。特定のワークロードで非常に高速になるように調整することは可能ですが、デフォルトでは設計されていません。XFSが無料で提供するものを、いくつかのファイルマウントおよびフォーマットオプションで満たすためには、より多くのハードウェア、より多くのメモリ、および多くのチューニングが必要になります。
TB

4

25Gbpsイーサネットはすでに境界線の主流であり、PCIeベースのNVMeはそのトラフィックを簡単にラップします。

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

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


1
ええ、しかし、どのようにNVMeに〜50TBを保存しますか?スピナーは安いので、速度を
標準

良い点です。現実的には、1台のサーバーで4 x 4TBを取得するだけで済みます。複数のサーバーを使用していますが、おそらくできないでしょうか。それ以外の場合は、R10で2.5 "10krpmの負荷だけです
-Chopper3

欲しくないのはもっと似ています。ドアに入るため以外にこれらの仕様は必要ありません。また、複数のサーバーのオーバーヘッドの悪夢が欲しくありません。たった1台のマシンで。R10は十分に高速ですか?(ハードウェアの襲撃?)
SvennD

使用されていなかったスペアキットから構築したWindows 2012R2ボックスがあり、NASとして使用します。内部には6 x 400GB SAS SSD、25 x 900GB 10k SASディスクとD6000を備えた8 x D2600シェルフがあります70 TBの4 TBディスクを備えたシェルフで、10 Gbps NICを簡単にフラッディングできます。25Gb NICではまだ試していない
チョッパー

1
@MSalters転送速度が200 MB / sの範囲の8/10 TB PMR(非SMR)ドライブが多数あります。RAID10とRAID6の両方の12または16ドライブアレイは、必要な1.1 GB / sの転送速度を簡単に超えるはずです。
shodanshok

2

大したことではないように聞こえます。現地のハードウェアサプライヤはこれを標準製品として提供しています。明らかに、ピーク時の要件よりも難しいCCTV録画モードで1400MB / sを維持できます。

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


4
さて、「標準製品」とは、20 x 600ギガバイトのsas 15kと3 xエンタープライズssdの「ブラックソフトウェアボックス」を指します。公平な申し出で、同様のハードウェアベンダーを手に入れましたが、基本的に無料のもの(ZFS)のライセンスコストは非常に高くなっています。ビルドを共有してくれてありがとう!(素敵なリンク)
-SvennD

2

1100MB / sでの順次書き込みは、最新のハードウェアでは問題になりません。逸話的に、8x5900 RPMのラップトップドライブ、2x15000 RPMのドライブ、2x7200 RPMのドライブを備えた自宅のセットアップは、16 MBの一時ペイロードで300 MB / sを維持します。

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

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

任意の12Gb / sコントローラーで試して、それぞれ8つの7200 RPMドライブの2つのミラーストライプを構成できると思います(ほぼすべてのドライブで可能です)。3〜4個のTCP接続を開始してリンクを飽和状態にし、1組の10GbEカードで処理できない場合は、4枚のカードを使用します。


2

接線のようなものですが、デュアル10GbEリンクの代わりにInfiniBandの使用を検討してください。56Gbps Infinibandカードは非常に安く、100Gbpsカードはそれほど多くないため入手できます。Linuxでは、RDMA over IBでNFSを簡単に使用できます。これにより、非常に低いレイテンシとほぼ理論的な回線速度スループットが得られます(基盤となるストレージができる場合扱う)。スイッチ、2枚のInfiniBandカード、および直接接続ケーブル(または、より長い距離が必要な場合はInfiniBandファイバーケーブル)は必要ありません。

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

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


1

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

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

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

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


12
[引用が必要な]「FreeBSDはより高速なネットワークスタックを持っている」
ジム・ソルター

まさに。Linuxは非常に有能です。
ewwhite

1

fuseクライアントを介してGlusterクラスターにデータをダンプする10G NICを固定しました。3.0から達成できるパフォーマンスが信じられないほど、少し調整が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.