HPCクラスターに共有ファイルを提供する中央ストレージサーバー(PowerEdge R720)があり、2つのハードウェアRAIDコントローラーが接続されています(PERC H810、それぞれが7200rpm 4TBディスクで満たされた2つのMD1200エンクロージャーを駆動します)。通常のHPCワークロードと同様に、アクセスパターンは高度に並列化されたシーケンシャル読み取り/書き込みであると予想されます。ファイルを2つのアレイにストライピングすると、合計スループットが向上すると思いますが、ハードウェアRAIDの上にソフトウェアRAID 0を配置するというアイデアは、私には気が狂います。
私は2つのオプションを思いついた:
XFSの長所:プロジェクトのクォータ。
XFSの短所:XFS上のNFSは、非常に悪いメタデータパフォーマンスを示しました(スループットが大きい場合、ほとんど使用できなくなるまで低下しますが、間違って調整しましたか?)。
光沢の長所:メタデータのパフォーマンスが大幅に向上します。
luster cons(?):専用のメタデータデバイスがないため、配列をパーティション分割する必要があります。推奨されない方法のように聞こえます。
メタデータのパフォーマンスを考慮しました。シーケンシャルR/Wが主要なワークロードである一方で、最大40kの1GBファイルなどを処理するプログラムがあるためです。これらのファイルをインタラクティブに管理するには、許容できるメタデータのパフォーマンスが必要です。
そして最後に、ハードウェアとソフトウェアで使用するストライプサイズは何ですか?
私たちはこの設定に落ち着きました:
ユーザーのすべてのアプリケーションを調査したところ、すべてのアプリケーションが多くのファイルで動作していることがわかりました。したがって、多くのクライアントが1つの大きなファイルにアクセスしている状況ではなく、glusterレベルでのストライピングが必要です。代わりに、ファイルをブリックにランダムに配布するだけで、十分な合計スループットを提供できます。
このセットアップのメタデータのパフォーマンスは光沢のパフォーマンスよりも劣りますが(約半分)、大きなスループットが発生しても低下しません。それは許容できることが判明しました。
Glusterはディレクトリにクォータを設定します。さらに、lustreよりもセットアップがはるかに簡単であるため、lustreよりも大幅に少ない管理作業で済みます。私の(大まかな)テストでは、このセットアップのシーケンシャルスループットは光沢と同等であるため、管理を容易にするために、その部分をメタデータパフォーマンスと交換することにしました。