この記事は、2020年4月に Nirmala Sundararajan、HPC および AI イノベーションラボによって記述されています。
HPC Beの大規模ストレージの Dell EMC 対応ソリューションは、完全にサポートされている高スループットの並列ファイルシステムストレージソリューションです。このブログでは、ソリューションアーキテクチャについて説明します。これは HPC パフォーマンスをどのようにチューニングし、IOZone シーケンシャルとランダムのベンチマークを使用しても i/o パフォーマンスを提供します。NVMe デバイス上に構築された Be、Fs ハイパフォーマンスストレージソリューションについては、 2019 年11月に公開されたこのブログを参照してください。このアーキテクチャはパフォーマンスを強調しています。ここで説明するソリューションは、大容量ストレージソリューションです。 これら2つの Beare Fs のソリューションは、設計目標とユースケースの点で異なります。 ハイパフォーマンスソリューションは、スクラッチストレージソリューションとして設計されています。一時的なデータセットのステージングは、通常、ジョブの有効期間を超えて保持されません。[High capacity] ソリューションでは、合計336ドライブをフル装備した4倍 Dell EMC PowerVault ME4084 アレイを使用し、12 TB SAS ドライブを搭載している場合は4PB の raw 容量を提供します。
HPC Beを使用する大容量ストレージの Dell EMC 対応ソリューションは、マネージメントサーバ、メタデータサーバのペア、ストレージサーバのペア、関連づけられたストレージアレイで構成されています。このソリューションは、クラスターのコンピューティングノードによって簡単にアクセスできる単一のネームスペースを使用するストレージを提供します。次の図は、このようなプライマリコンポーネントを使用したソリューションリファレンスアーキテクチャを示しています。
図1は、ソリューションのリファレンスアーキテクチャを示しています。
図1: HPC Bestorage Fs ストレージ
の Dell EMC 準備完了ソリューション図1では、BeR640 Fs monitoring デーモンを実行している管理サーバーは PowerEdge です。 2つの MDS (メタデータサーバー) は、アクティブ/アクティブの高可用性構成で R740 サーバーに PowerEdge します。 MDS ペアは、2U、PowerVault ME4024 アレイで 12 Gb/秒 SAS リンクで接続されています。ME4024 ストレージアレイは、MDTs (メタデータターゲット) をホストします。アクティブ/アクティブの高可用性構成でも、別の PowerEdge R740 サーバーのペアをストレージサーバー (SS) として使用します。 この SS ペアは、12 Gb/秒 SAS リンクを使用して、PowerVault ME4084 ストレージアレイ4台にフル接続されています。ME4084 アレイでサポートされているのは、4 TB、8 TB、10 TB、12 TB NL SAS 7.2 K RPM ハードディスクドライブ (hdd)、および Be Fs ファイルシステム用のストレージターゲット (STs) のホストです。このソリューションでは、データネットワークに Mellanox InfiniBand HDR100 を使用します。クライアントとサーバは、HDR スプリッタケーブルを使用して、最大80ポートの HDR100 をサポートする 1U Mellanox の Quantum HDR Edge スイッチ QM8790 に接続されています。
次の表では、ソリューションに対して検証されたハードウェアの speficiations とソフトウェアのバージョンについて説明します。
Management Server | 1 Dell EMC PowerEdge R640 |
---|---|
メタデータサーバ (MDS) | 2 Dell EMC PowerEdge R740 |
ストレージサーバ (SS) | 2 Dell EMC PowerEdge R740 |
CPU | Management ServerIntel Xeon ゴールド 5218 @ 2.3 GHz、16コア MDS、SS × 2: Intel Xeon ゴールド 6230 @ 2.10 GHz、20コア×2 |
メモリー | Management Server12 x 8 GB DDR4 2666MT/s Dimm-96GB MDS および SS: 12 x 32GB DDR4 2933MT/s Dimm-384GB |
InfiniBand HCA (スロット 8) | MDS および SS あたり6つのシングルポート HDR100 アダプタ (Mellanox 1x) |
外付けストレージコントローラ | 第 2 Dell 12Gbps SAS Hba (各 MDS で) 4 x 6 Dell 12gbps SAS hba (各 SS) |
データストレージエンクロージャ | 4倍の Dell EMC PowerVault ME4084 エンクロージャには、4 x 8 台の ME4084 に 8 tb の SAS ドライブを搭載している場合は、合計336ドライブ 2.69 PB の未フォーマットストレージ容量が完全に装着されます。 |
メタデータストレージエンクロージャ | 24台のドライブが完全に装着された Dell EMC PowerVault ME4024 エンクロージャ (1) |
RAIDコントローラ | ME4084 および ME4024 エンクロージャ内の二重 RAID コントローラ |
Hard Disk Drives(ハードディスクドライブ) | 84-8 TB 7200 RPM ME4084 エンクロージャあたりの NL SAS3 ドライブ 24 960GB SAS3 ssd (ME4024 エンクロージャあたり) |
オペレーティングシステム | CentOS Linux release 8.1.1911 (Core) |
カーネル バージョン | 4. 0-147. 5. 1. el8 _1. x86_64 |
Mellanox OFED バージョン | 4.7-3.2.9.0 |
Grafana | 6.6.2-1 |
InfluxDB | 1.7.10-1 |
BeeGFS FILE SYSTEM(NTFSファイルシステム) | 7.2 beta2 |
表1:テストベッドの構成
注:パフォーマンスの特性を使用するために、Beの Fs バージョン7.2 の beta2 が使用されています。
Beは、次の4つの主要サービスで構成されています。
また、オプションの Beの監視サービスも用意されています。
カーネルモジュールであるクライアントサービスを除き、管理、メタデータ、およびストレージサービスは、ユーザースペースのプロセスです。同じマシン上で、Beて Fs サービス (クライアントおよびサーバーコンポーネント) を組み合わせて実行することができます。また、同じマシン上で、任意の Be"Fs サービスの複数のインスタンスを実行することもできます。Dell EMC の大容量構成では、管理サーバ上で監視サービスが実行され、メタデータサーバ上でメタデータサービスの複数のインスタンスを実行し、ストレージサーバ上で1つのストレージサービスのインスタンスを実行します。管理サービスがメタデータサーバにインストールされている。
BeInfluxDB fs の監視サービス (be) は、 beの統計情報を収集し、ユーザーに提供します。これは、Time series データベースのを使用します。 データのビジュアル化のために、 begrafana fs-mon は、標準提供の grafana ダッシュボードを提供します。図2は、セットアップのストレージサービスとメタデータサービスの数を示す、Begeneral Fs クラスタの一般的な概要を示しています (ダッシュボードのノードとも呼ばれます)。また、使用可能な他のダッシュボードのビューも表示され、ストレージターゲットの概要が示されます。
図 2 Grafana ダッシュボード-Be Fs の概要
メタデータストレージに使用される ME4024 ストレージアレイには、24 x 960GB Ssd が完全に装着されています。これらのドライブは、図3に示すように、2つのドライブの 12 x 直線的な RAID1 ディスクグループに構成されています。各 RAID1 グループは、メタデータのターゲットです。
図3フル装備の ME4024 アレイと 12 MDTs
Beの [Fs] では、各メタデータサービスは単一の MDT のみを処理します。12の MDTs があるため、メタデータサービスのインスタンスが12個必要になります。2つのメタデータサーバはそれぞれ、メタデータサービスの6つのインスタンスを実行します。メタデータターゲットは、 ext4 ファイルシステムでフォーマット されています (ext4 ファイルシステムは、小さいファイルおよび小さなファイル操作に対して適切に実行されます)。さらに、Beext4 Fs は、拡張属性に情報を格納し、ファイルシステムの inode に直接格納することで、パフォーマンスを最適化します。どちらも、ファイルシステムで正常に動作します。
トップに戻る
2つのメタデータサーバ上に、 be・ サービスがインストールされていること。次に示すように、be・ストレージ・ストレージは、メタデータターゲット1上のディレクトリを参照してください。
/opt/beegfs/sbin/beegfs-setup-mgmtd-p/beconfig fsmtd-S bea0-(管理を行う場合)
管理サービスが、メタサーバで開始されます。
この大規模な Beのソリューションでは、データストレージは4つの PowerVault ME4084 ストレージアレイにまたがっています。各アレイには、10台のドライブ (8 + 2) のリニア RAID 6 ディスクグループが作成されます。すべての容量を使用している単一のボリュームが、すべてのディスクグループに対して作成されます。これにより、アレイあたり8個のディスクグループ/ボリュームが生成されます。各アレイには84ドライブがあり、8台の RAID 6 ディスクグループを作成すると、アレイボリューム全体のグローバルホットスペアとして構成可能な4台のドライブが残ります。
上記のレイアウトを使用すると、図1に示すように、4 x ME4084 全体にわたり合計 32 x RAID 6 のボリュームがベース構成で使用されています。これらの各 RAID 6 ボリュームは、Beのファイルシステムの ST (ストレージターゲット) として構成され、その結果、ファイルシステム全体で合計32の STs が発生します。
各 ME4084 アレイには84ドライブがあり、上段のドロワーには0-41 という番号が付けられ、下部ドロワーには42-84 の番号が付いています。 図5では、1 ~ 8 とマークされた10個のドライブのセットが、8xRAID6 グループを表しています。1つのボリュームが各 RAID6 グループから作成されます。「S」とマークされたドライブは、グローバルスペアを表します。図5は、8つのボリュームと4つのグローバルスペアを構成した後のアレイの正面図を示しています。
図 4 RAID 6 (8 + 2) ディスクグループレイアウト (1 つの ME4084)
Be・ファイルシステムへのアクセスを必要とするすべてのホストに、Be、Fs クライアントモジュールがロードされます。Bebeegfs-mounts Fs モジュールがロードされ、 be fs クライアントサービスが開始されると、このサービスは、 /etc/fstabに基づく通常のアプローチではなく/etc/beファイルで定義されたファイルシステムをマウントします。 このアプローチでは、 be・ サーバーはサービススタートアップスクリプトを介して他の Linux サービスと同様に開始され、システム更新後に beのクライアントモジュールの自動再コンパイルが可能になります。
このセクションでは、IOzone シーケンシャルかつランダムなベンチマークを使用して HPC Be Fs の大容量ストレージソリューションの Dell EMC Ready ソリューションのパフォーマンス特性について説明します。 IOR および MDtest を使用したさらなるパフォーマンス特性と高可用性の構成に関する詳細については、後ほど公開されるホワイトペーパーを参照してください。
ストレージパフォーマンスは、IOzone ベンチマーク (v 3.487) を使用して評価されました。シーケンシャルな読み取り/書き込みスループット、ランダムな読み取り/書き込み IOPS が測定されました。表2では、これらのパフォーマンスに関する調査のために、BeR840 Fs クライアントとして使用される、PowerEdge サーバーの構成について説明します。
客 | 8 Dell EMC PowerEdge R840 |
---|---|
CPU | 4 x Intel (R) Xeon (R) プラチナ 8260 CPU @ 2.40 GHz、24コア |
メモリー | 24 x 16 GB DDR4 2933MT 秒 Dimm-384GB |
オペレーティングシステム | Red Hat Enterprise Linux Server release 7.6 (Maipo) |
カーネル バージョン | 3.10.0-957.el7.x86_64 |
内部接続 | 1 x Mellanox、HDR100 Adapter-6 シングルポート |
OFEDのバージョン | 4.7-3.2.9.0 |
表2クライアント構成
サーバーとクライアントは HDR100 ネットワーク経由で接続されており、次の表3に示すネットワークの詳細について説明しています。
InfiniBandスイッチ | QM8790 Mellanox クォンタム HDR Edge スイッチ-IU (80 x HDR 100 Gb/秒ポート) (スプリッタケーブルを使用) |
---|---|
管理スイッチ | Dell Networking S3048 – on-ON ToR スイッチ: 1U と 48x 1GbE、4 x SFP + 10GbE ポート |
表3: ネットワーク
シーケンシャル読み取りと書き込みは IOzone のシーケンシャルな読み取り/書き込みモードを使用して測定されました。これらのテストは、1つのスレッドから、2の累乗(最大64スレッド)で増加する複数のスレッド数に対して実施されました。このテストでは、スレッドあたり1つのファイル、またはN-Nの場合に動作するため、各スレッド数では同じ数のファイルが生成されました。プロセスは、ラウンドロビン方式で8つの物理クライアントノードに分散されており、要求はロードバランシングと均等に分散されています。
スレッド数が16以上の場合は、サーバーからのキャッシュの効果と Beの Fs クライアントからのキャッシュの影響を最小限に抑えるために、合計ファイルサイズの 8 TB が選択されています。16未満のスレッド数の場合、ファイルサイズはスレッドあたり 768 GB となります (たとえば、2スレッドの場合は 1.5 TB、4スレッドの場合は 3 tb、8スレッドの場合は 6 TB)。任意のテスト内で、使用されている集計ファイルのサイズは、スレッドの数と等しく分けられています。すべての実行に対して 1 Mib のレコードサイズが使用されました。シーケンシャル N N のテストに使用されるコマンドは、次のとおりです。
シーケンシャルな書き込みと読み取り: iozone-i $test-c-e-w-r 1m-s $Size-t $Thread-+ n-+ m/path/to/threadlist
次のコマンドを実行することによって、OS キャッシュも、繰り返しと書き込みと読み取りの両方のテスト間で、サーバ上で削除されました。
# sync & & echo 3 >/proc/sys/vm/drop_caches
ファイルシステムのマウントが解除され、キャッシュをクリアするために、繰り返しと書き込み/読み取りのテスト間でクライアントに再マウントされました。
図5: N-Nの連続読み取りパフォーマンス
図5では、23.70 GB/秒のピークスループットは、256スレッドで、22.07 GB/秒のピーク書き込みは512スレッドで実現されています。シングルスレッドの書き込みパフォーマンスは 623 MB/秒で、読み取りは 717 MB/秒です。パフォーマンスは、ほぼ直線的に32のスレッドに拡張されます。これにより、拡張時に読み取りおよび書き込みが飽和状態になることがわかります。これにより、この構成の読み取りの全体的なパフォーマンスが≈ 23GB/秒になり、前述したように、書き込みの場合は≈ 22GB/秒になります。読み取りは、使用されているスレッドの数に関係なく、書き込みよりも非常に近いか、またはわずかに高くなります。
ランダムな IO パフォーマンスを評価するために、IOzone がランダムモードで使用されていました。 16から512のスレッドのスレッド数でテストが実施されました。 IOzone を実行するためにダイレクト IO オプション (-I) が使用されました。これにより、すべての操作がバッファキャッシュをバイパスし、ディスクに直接アクセスできるようになりました。Beて Fs のストライプ数が1、チャンクサイズが1MB である。要求サイズが4KiB に設定されました。パフォーマンスは、1秒あたりの i/o 処理数 (IOPS) で測定されました。Beのサーバーで実行される OS キャッシュが削除されました。テストの繰り返しの合間に、ファイルシステムがアンマウントされ、クライアントに再マウントされました。ランダム読み取りおよび書き込みテストに使用されるコマンドは次のとおりです。
iozone-i 2-w-c-O-I-r 4K-s $Size-t $Thread-+ n-+ m/path/to/threadlist
図 6n n ランダムパフォーマンス
図6は、書き込みパフォーマンスが 31K IOPS 周辺に達し、32スレッドから512スレッドに安定していることを示しています。これに対し、読み取りパフォーマンスは、512スレッド (ソリューションでテストされたスレッドの最大数) において、47 k IOPS 付近の最大パフォーマンスを持つ IO 要求数の増加により増加します。ME4 では、最大の読み取りパフォーマンスを達成するために、キューの深さを高くする必要があります。グラフは、1024のコンカレントスレッドを実行すると、より高いパフォーマンスが得られることを示しています。ただし、テストは8台のクライアントでのみ実行されていたため、1024のスレッド数を実行するのに十分なコアがありませんでした。
トップに戻る
以下のチューニングパラメータは、ソリューションのパフォーマンス特性を維持するために配置されています。
Be"Fs のデフォルトのストライプ数は4です。ただし、チャンクサイズとファイルあたりのターゲット数 (stipe 数) は、ディレクトリ単位またはファイル単位で構成できます。これらすべてのテストにおいて、Beのストライプサイズは1MB に設定されており、ストライプ数は次のように1に設定されています。
$beegfs-ctl--getentryinfo--mount =/mnt/beegfs//mnt/beegfs/benchmark/--verbose
エントリータイプ: ディレクトリ
EntryID: 1 ~ 5E72FAD3-1
ParentID: root
メタデータノード: numa0-1 [ID: 1]
ストライプパターンの詳細:
+ タイプ: RAID 0
+ チャンクサイズ: 1m
+ ストレージターゲットの数: 希望: 1
+ ストレージプール: 1 (デフォルト)
Inode ハッシュパス: 61/4C/1-5E72FAD3-1
透明な巨大なページは無効化されており、メタデータとストレージサーバーでは次の仮想メモリ設定が構成されています。
次のチューニングオプションは、ストレージサーバー上のストレージブロックデバイスに使用されています。
上記に加えて、次の Beの特定の調整オプションが使用されています。
beの fs-メタ
connmaxinternoa um = 64
tunenumworkers = 12
tuneUsePerUserMsgQueues = true # Optional
tuneTargetChooser = 丸め済みビン (ベンチマーク)
be"fs-storage. conf
Connmaxinternoa Um = 64
tunenumworkers = 12
tuneUsePerTargetWorkers = true
tuneUsePerUserMsgQueues = true # Optional
tuneBindToNumaZone = 0
tuneFileReadAheadSize = 2m
be"fs-client. conf
Connmaxinternoa Um = 24
connbufsize = 720896
このブログは、Dell EMC Be・レベルの大容量ストレージソリューションのリリースを発表し、そのパフォーマンス特性を強調しています。このソリューションは、読み取り用に 23.7 GB/秒、IOzone シーケンシャルベンチマークを使用した書き込みの場合は 22.1 GB/秒のピークパフォーマンスを提供します。また、ランダムな書き込みのピークが 31.3 K IOPS、47.5 K IOPS ではランダム読み取りも表示されます。
次の手順の一環として、メタデータのパフォーマンスとスレッド N のスレッドを、このソリューションの IOR パフォーマンスの1つのファイル (N ~ 1) に評価します。高可用性を備えたこの大容量ソリューションの設計上の考慮事項についての詳細情報を含む、ソリューションのメタデータと IOR パフォーマンスについて説明するホワイトペーパーを参照してください。