PowerEdge:HPC BeeGFSストレージ向けDell Readyソリューションの機能
Summary: HPC BeeGFSストレージ向けDell Readyソリューションの機能
Instructions
目次
概要
このブログでは、最近発表された Dell Ready Solutions for HPC BeeGFS Storageの優れた機能について説明します。これは、BeeGFSハイパフォーマンス ストレージ ソリューションに関するシリーズの3番目のブログです。最初のブログでは、ソリューションのリリースが発表されました。2番目のブログでは、 HPC BeeGFSストレージ向けのDell Ready Solutionsの拡張性について説明しました。基本構成、柔軟で拡張可能な構成、さまざまな構成のシーケンシャル読み取り/書き込みパフォーマンスの測定に関する詳細が提供され、ソリューション内のサーバー数に応じて拡張性が直線的であることが示されています。最新のブログでは、BeeGFSの統合ストレージ ターゲット ベンチマークである「StorageBench」の使用について取り上げています。
BeeGFSは、 www.beegfs.ioからダウンロードできるオープンソースのファイル システムです。これは、複数のストレージ ターゲットにデータを分散する並列ファイル システムです。これは、基盤となるストレージ ハードウェアから論理ファイル システムを切り離すソフトウェア デファインド ストレージであり、ユーザーがデータの保存方法と保存場所を定義できるようにします。ファイル システム ソフトウェアには、高可用性、クォータの強制、アクセス制御リストなどのエンタープライズ機能が含まれています。BeeGFSの主な機能は、使いやすさ、拡張性、柔軟性です。その使いやすさは、すべてのサーバー側のコンポーネントがユーザースペースのデーモンであるのに対し、クライアントはカーネル自体にパッチを必要としないカーネルモジュールであるという事実に由来します。すべてのBeeGFSコンポーネントは、サーバーを再起動せずにインストールおよびアップデートできます。そのため、ダウンタイムなしで既存のシステムにクライアントとサーバーを追加できます。こちらにリンクされているブログでは、サーバーとドライブを追加することで、ファイル システムのパフォーマンスと容量をさらにスケールアップできます。BeeGFSは複数のLinuxディストリビューションをサポートしており、POSIX準拠のローカル ファイル システムで動作するように設計されています。BeeGFSは、同じサーバー上での特定のサービスの複数のインスタンスの実行もサポートしています。
Dell Ready Solutions for HPC BeeGFS Storageは、BeeGFSファイル システムの主要な機能をすべて活用しており、ハイ パフォーマンスを実現するように設計されています。このソリューションでは、メタデータとデータの保存と提供、処理にPowerEdge R740xdサーバーを使用します。各PowerEdge R740xdサーバーには、ドライブ テクノロジーにおける2番目の大きな飛躍と見なされている1.6 TBインテルP4600 NVMe SSDが24個搭載されています。SSDは1番目です。HPC環境では、多くの場合、スクラッチ スペースが制限要因になる可能性があります。小さすぎるか、遅すぎる可能性があります。Dell EMC Ready Solutions for HPC BeeGFS Storageは、スクラッチ ソリューションとして使用するように設計されており、BeeGFSファイル システムを使用してスクラッチ ストレージを提供します。
BeeGFSには、ネットワークまたはストレージの特性評価や評価に役立つ2つの統合ベンチマーキング ツール 、NetBenchとStorageBench それぞれ)が含まれています。NetBenchモードが有効な場合、サーバーはデータを書き込む代わりに、受信した書き込み要求を破棄します。同様に、読み取り要求の場合、基盤となるファイル システムから読み取るのではなく、メモリー バッファーのみがクライアントに送信されます。NetBenchモードは、基盤となるディスクとは無関係に、ネットワーク ストリーミング スループットをテストすることを目的としています。一方、StorageBenchは、ネットワークパフォーマンスとは無関係に、基盤となるファイルシステムのストリーミングスループットを測定することを目的としています。StorageBenchは、ネットワークを使用しないストレージ ターゲットのベンチマークです。storage-benchコマンドは、データの書き込み/読み取りを開始するためのリクエストをストレージ ターゲットに送信するだけです。そうすることで、ネットワークの影響を排除します。ストレージ ベンチから得られる出力は、ネットワーク パフォーマンスが理想的である場合に、システムが達成できる最高のパフォーマンスです。このブログでは、StorageBenchを使用してさまざまなストレージターゲットのパフォーマンスを比較し、欠陥のあるターゲットや設定ミスのあるターゲットを特定する方法を説明します。
StorageBench:異なるRAID構成のパフォーマンスを比較する
StorageBenchはマウントされたファイル システムを使用しません。StorageBenchを実行すると、ファイルごとのターゲットは1つだけです。Storagebenchは、システム上のすべてのストレージターゲットに、テストスレッドの数に等しいテストファイルが作成されるディレクトリを作成します。データはこれに直接ストリーミングされ、各ストレージ ターゲットで使用可能な低レベルのスループットが表示されます。ネットワーク通信がないと、ファイル ストライピングをシミュレートできません。したがって、ストレージ ベンチマークの結果は、ストライピングを無効にしたクライアントIOにかなり匹敵します。ベンチマークが実行されると、デフォルトのストライピング パターンが採用されている場合、ファイルは4つのストレージ ターゲットにストライピングされます。
さまざまなストレージ ターゲットをテストする目的で、 Dell BeeGFSストレージ ソリューションの拡張性に関するブログで説明されている中小規模の構成を使用しました。両方の構成で、RAID 1で構成されているメタデータ ターゲットの数は同じです。これらは、ストレージ ターゲットのRAID構成が異なります。小規模セットアップでは、ストレージ ターゲットが6台のドライブのRAID 0で構成されているのに対し、中規模構成では、ストレージ ターゲットが6台のドライブのRAID 10で構成されています。小規模および中規模のセットアップで構成されたストレージ ターゲットを次の表に示します。
| 表1 テストベッドの構成 | ||
|---|---|---|
| Configuration | 中規模:ストレージ ターゲット用のRAID 10 | 小 - ストレージ ターゲット用RAID 0 |
| メタデータ ターゲットの数 | 6 | 6 |
| メタデータ サービスのインスタンス数 | 6 | 6 |
| ストレージ サーバーの数 | 5 | 2 |
| ストレージ ターゲットの数 | 22 | 10 |
| サーバーあたりのストレージ サービス数 | 4 | 4 |
| NUMAゾーンあたりのストレージ サービスの数 | 2 | 2 |
| ストレージ サービスのインスタンスあたりのターゲット数 | 2 | 2 |
注:上記のメディア セットアップの構成は、StorageBenchツールを使用して、異なるRAID構成で構成されたストレージ ターゲットのスループットをテストすることのみを目的としています。
StorageBench書き込みベンチマーク:RAID 0で構成されたストレージ ターゲットを使用した小規模構成の場合
ストレージ ベンチマークは、beegfs-ctlツールを使用して開始および監視されます。beegfs-utilsパッケージには、ストレージ ターゲットのベンチマークを実行するために使用できるbeegfs-ctlコマンドライン ツールが含まれています。次の例では、IOブロック サイズが512KBのすべてのBeeGFSストレージ サーバーのすべてのターゲットで、ターゲットあたり16スレッドを使用して書き込みベンチマークを開始し、それぞれが200GBのデータを独自のファイルに書き込みます。
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16 Write storage benchmark was started. You can query the status with the --status argument of beegfs-ctl. Server benchmark status: Running: 10
「実行中: 10」という出力は、システムに合計10個のストレージ ターゲットが構成されていることを示します。
すべてのターゲットのベンチマーク ステータス/結果をクエリーするには、次のコマンドを実行します。
[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --status Server benchmark status: Finished: 10 Write benchmark results: Min throughput: 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 50 Max throughput: 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 48 Avg throughput: 4907091 KiB/s Aggregate throughput: 49070915 KiB/s
上記のコマンドに詳細を追加すると、すべてのターゲットとそれぞれのスループットのリストが表示されます。
[root@meta-stor ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 10 Write benchmark results: Min throughput: 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6], targetID: 6 Max throughput: 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2], targetID: 2 Avg throughput: 4907091 KiB/s Aggregate throughput: 49070915 KiB/s List of all targets: 1 5368477 KiB/s nodeID: meta-stor-numa1-1 [ID: 1] 2 5368537 KiB/s nodeID: meta-stor-numa1-2 [ID: 2] 3 4706368 KiB/s nodeID: stor1-numa0-1 [ID: 3] 4 4896077 KiB/s nodeID: stor1-numa1-1 [ID: 4] 5 4872876 KiB/s nodeID: stor1-numa1-2 [ID: 5] 6 4692435 KiB/s nodeID: stor1-numa0-2 [ID: 6] 7 4879054 KiB/s nodeID: stor2-numa1-2 [ID: 7] 8 4864737 KiB/s nodeID: stor2-numa1-1 [ID: 8] 9 4696152 KiB/s nodeID: stor2-numa0-1 [ID: 9] 10 4726202 KiB/s nodeID: stor2-numa0-2 [ID: 10]
出力からの推論:
RAID 0で構成されたストレージ ターゲットあたりの平均スループットは5.02 GB/秒です。
StorageBench書き込みベンチマーク:RAID 10で構成されたストレージ ターゲットを使用した中規模の構成
次の例では、IOブロック サイズが512KBのすべてのBeeGFSストレージ サーバーのすべてのターゲットで、ターゲットごとに16スレッドを使用し、それぞれが200 GBのデータを独自のファイルに書き込みます。
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16 Write storage benchmark was started. You can query the status with the --status argument of beegfs-ctl. Server benchmark status: Running: 22
上記のコマンドに詳細を追加すると、すべてのターゲットとそれぞれのスループットのリストが表示されます。
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 22 Write benchmark results: Min throughput: 2705987 KiB/s nodeID: node006-numa0-1 [ID: 19], targetID: 1 Max throughput: 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1], targetID: 1 Avg throughput: 3212845 KiB/s Aggregate throughput: 70682603 KiB/s List of all targets: 1 3364311 KiB/s nodeID: node001-numa1-1 [ID: 1] 2 3361591 KiB/s nodeID: node001-numa1-2 [ID: 2] 3 3309530 KiB/s nodeID: node002-numa0-1 [ID: 3] 4 3312840 KiB/s nodeID: node002-numa0-2 [ID: 4] 5 3332095 KiB/s nodeID: node002-numa1-1 [ID: 5] 6 3323319 KiB/s nodeID: node002-numa1-2 [ID: 6] 7 3313000 KiB/s nodeID: node003-numa0-1 [ID: 7] 8 3321214 KiB/s nodeID: node003-numa0-2 [ID: 8] 9 3335072 KiB/s nodeID: node003-numa1-1 [ID: 9] 10 3339743 KiB/s nodeID: node003-numa1-2 [ID: 10] 11 3302175 KiB/s nodeID: node004-numa0-1 [ID: 11] 12 3309474 KiB/s nodeID: node004-numa0-2 [ID: 12] 13 3329879 KiB/s nodeID: node004-numa1-1 [ID: 13] 14 3328291 KiB/s nodeID: node004-numa1-2 [ID: 14] 15 3306132 KiB/s nodeID: node005-numa0-1 [ID: 15] 16 3307096 KiB/s nodeID: node005-numa0-2 [ID: 16] 17 3318436 KiB/s nodeID: node005-numa1-1 [ID: 17] 18 3329684 KiB/s nodeID: node005-numa1-2 [ID: 18] 19 2705987 KiB/s nodeID: node006-numa0-1 [ID: 19] 20 2716438 KiB/s nodeID: node006-numa0-2 [ID: 20] 21 2707970 KiB/s nodeID: node006-numa1-1 [ID: 21] 22 2708326 KiB/s nodeID: node006-numa1-2 [ID: 22]
出力からの推論:
ストレージ ターゲットあたりの平均スループットは3.29 GB/秒です。
2つの異なるBeeGFSセットアップ(RAID 0で構成されたストレージ ターゲットとRAID 10で構成されたストレージ ターゲット)で実行されたStorageBenchベンチマーク テストの出力から、RAID 10ではなくRAID 0で構成されたストレージ ターゲットの方がライト パフォーマンスが優れていることは明らかです。ddコマンドを使用して、1Mブロック長と「oflag=direct」で10Gのファイルを書き込んだ場合、RAID 0で構成された小規模システムの平均スループットは約5.1 GB/秒、RAID 10で構成された中規模システムの平均スループットは約3.4 GB/秒でした。これは、storagebenchツールを使用して得られた結果と同等です。
StorageBench:欠陥のあるストレージ ターゲットまたは構成ミスを特定する
StorageBenchは、発表ブログに記載されている中程度の構成で実行され、システム内に誤ったストレージ ターゲットや欠陥のあるストレージ ターゲットがあるかどうかを調べました。
[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose Server benchmark status: Finished: 33 Read benchmark results: Min throughput: 2830479 KiB/s nodeID: node003-numa1-2 [ID: 14], targetID: 14 Max throughput: 3025500 KiB/s nodeID: node005-numa0-1 [ID: 22], targetID: 22 Avg throughput: 2917836 KiB/s Aggregate throughput: 96288596 KiB/s List of all targets: 1 2950039 KiB/s nodeID: node001-numa1-1 [ID: 1] 2 2956121 KiB/s nodeID: node001-numa1-2 [ID: 2] 3 2954473 KiB/s nodeID: node001-numa1-3 [ID: 3] 4 2957658 KiB/s nodeID: node002-numa0-1 [ID: 4] 5 2947109 KiB/s nodeID: node002-numa0-2 [ID: 5] 6 2969886 KiB/s nodeID: node002-numa0-3 [ID: 6] 7 2892578 KiB/s nodeID: node002-numa1-1 [ID: 7] 8 2886899 KiB/s nodeID: node002-numa1-2 [ID: 8] 9 2888972 KiB/s nodeID: node002-numa1-3 [ID: 9] 10 2861995 KiB/s nodeID: node003-numa0-1 [ID: 10] 11 2874314 KiB/s nodeID: node003-numa0-2 [ID: 11] 12 2879096 KiB/s nodeID: node003-numa0-3 [ID: 12] 13 2832635 KiB/s nodeID: node003-numa1-1 [ID: 13] 14 2830479 KiB/s nodeID: node003-numa1-2 [ID: 14] 15 2830971 KiB/s nodeID: node003-numa1-3 [ID: 15] 16 2986890 KiB/s nodeID: node004-numa0-1 [ID: 16] 17 2979197 KiB/s nodeID: node004-numa0-2 [ID: 17] 18 2983958 KiB/s nodeID: node004-numa0-3 [ID: 18] 19 2897974 KiB/s nodeID: node004-numa1-1 [ID: 19] 20 2900880 KiB/s nodeID: node004-numa1-2 [ID: 20] 21 2904036 KiB/s nodeID: node004-numa1-3 [ID: 21] 22 3025500 KiB/s nodeID: node005-numa0-1 [ID: 22] 23 3021558 KiB/s nodeID: node005-numa0-2 [ID: 23] 24 3017387 KiB/s nodeID: node005-numa0-3 [ID: 24] 25 2921480 KiB/s nodeID: node005-numa1-1 [ID: 25] 26 2930226 KiB/s nodeID: node005-numa1-2 [ID: 26] 27 2930548 KiB/s nodeID: node005-numa1-3 [ID: 27] 28 2900018 KiB/s nodeID: node006-numa0-1 [ID: 28] 29 2898520 KiB/s nodeID: node006-numa0-2 [ID: 29] 30 2907113 KiB/s nodeID: node006-numa0-3 [ID: 30] 31 2855079 KiB/s nodeID: node006-numa1-1 [ID: 31] 32 2853527 KiB/s nodeID: node006-numa1-2 [ID: 32] 33 2861480 KiB/s nodeID: node006-numa1-3 [ID: 33]
上記の出力から、すべてのストレージ ターゲットのパフォーマンスは均一であり、システムに欠陥のあるターゲットがないことは明らかです。
結論および今後の計画
このブログでは、BeeGFSの主な機能について説明し、さまざまなRAID構成のパフォーマンスを評価または比較し、ストレージ ターゲットに欠陥や構成ミスがあるかどうかを特定するためのストレージ ベンチ ベンチマークの有用性について説明しました。次のステップの一環として、メタデータのパフォーマンスとIORのパフォーマンス、および設計上の考慮事項、チューニング、構成に関する追加の詳細を含むホワイト ペーパーを後日公開する予定です。
リファレンス
1)Dell EMC Ready Solutions for HPC BeeGFS Storage PowerEdge: Dell Ready Solutions for HPC BeeGFS High-Performance Storage
2) Dell Ready Solutions for HPC BeeGFS Storage PowerEdgeの拡張性: HPC BeeGFSストレージ向けDell Ready Solutionsの拡張性
3)BeeGFSドキュメント: https://www.beegfs.io/wiki/
4)同じサブネット上の2つのインターフェイスを接続する方法: https://access.redhat.com/solutions/30564
5) 外部メモリを使用した PCI Express ダイレクト メモリ アクセス リファレンス デザイン: https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760