web-dev-qa-db-ja.com

複数のハードウェアRAIDアレイでの負荷分散-ソフトRAID0は許容されますか?

HPCクラスターに共有ファイルを提供する中央ストレージサーバー(PowerEdge R720)があり、2つのハードウェアRAIDコントローラーが接続されています(PERC H810、それぞれが7200rpm 4TBディスクで満たされた2つのMD1200エンクロージャーを駆動します)。通常のHPCワークロードと同様に、アクセスパターンは高度に並列化されたシーケンシャル読み取り/書き込みであると予想されます。ファイルを2つのアレイにストライピングすると、合計スループットが向上すると思いますが、ハードウェアRAIDの上にソフトウェアRAID 0を配置するというアイデアは、私には気が狂います。

私は2つのオプションを思いついた:

  1. ハードウェアRAID6上のソフトウェアRAID0上のXFS上のNFS
  2. 各ハードウェアの光沢RAID6

XFSの長所:プロジェクトのクォータ。

XFSの短所:XFS上のNFSは、非常に悪いメタデータパフォーマンスを示しました(スループットが大きい場合、ほとんど使用できなくなるまで低下しますが、間違って調整しましたか?)。

光沢の長所:メタデータのパフォーマンスが大幅に向上します。

luster cons(?):専用のメタデータデバイスがないため、配列をパーティション分割する必要があります。推奨されない方法のように聞こえます。

メタデータのパフォーマンスを考慮しました。シーケンシャルR/Wが主要なワークロードである一方で、最大40kの1GBファイルなどを処理するプログラムがあるためです。これらのファイルをインタラクティブに管理するには、許容できるメタデータのパフォーマンスが必要です。

そして最後に、ハードウェアとソフトウェアで使用するストライプサイズは何ですか?

3
Carl Lei

私たちはこの設定に落ち着きました:

  • 各MD1200エンクロージャーのハードウェアRAID-6
  • 4つのハードウェアアレイ上の2つのLVMLV。それぞれが2つのカード上の2つのアレイをストライピングなしで結合します。
  • 2つのLVでのXFS、ベアハードウェアアレイの場合と同じストライピングオプション
  • ストライピングなしの2つのレンガのglusterボリューム

ユーザーのすべてのアプリケーションを調査したところ、すべてのアプリケーションが多くのファイルで動作していることがわかりました。したがって、多くのクライアントが1つの大きなファイルにアクセスしている状況ではなく、glusterレベルでのストライピングが必要です。代わりに、ファイルをブリックにランダムに配布するだけで、十分な合計スループットを提供できます。

このセットアップのメタデータのパフォーマンスは光沢のパフォーマンスよりも劣りますが(約半分)、大きなスループットが発生しても低下しません。それは許容できることが判明しました。

Glusterはディレクトリにクォータを設定します。さらに、lustreよりもセットアップがはるかに簡単であるため、lustreよりも大幅に少ない管理作業で済みます。私の(大まかな)テストでは、このセットアップのシーケンシャルスループットは光沢と同等であるため、管理を容易にするために、その部分をメタデータパフォーマンスと交換することにしました。

1
Carl Lei