HPC/GPUクラスタを運用する際必須となるファイル共有ストレージは、NFSでこれを構築することが一般的ですが、この際の選択肢として、NFSのマネージドサービスである ファイル・ストレージ を使用する方法と、 ブロック・ボリューム とベアメタルインスタンスを組み合わせたNFSサーバ(以降” ブロック・ボリューム NFSサーバ”と呼称)を構築する方法があります。
本テクニカルTipsは、コストパフォーマンス等を考慮してどちらの方法を選択すればよいか、 ブロック・ボリューム NFSサーバを構築する場合どのように ブロック・ボリューム とベアメタルインスタンスを構成すればよいか、解説します。
1. ブロック・ボリュームNFSサーバ構成
本章は、 ブロック・ボリューム NFSサーバを構築する際、コストパフォーマンスを最適化するベアメタルインスタンスと ブロック・ボリューム の構成を解説します。
NFSサーバ用のベアメタルインスタンスは、Intel Ice Lakeプロセッサを搭載するベアメタルシェイプ BM.Optimized3.36 を使用します。
この理由は、このシェイプが50 GbpsのTCP/IP接続用ポートを2個搭載し、それぞれをiSCSI接続の ブロック・ボリューム アクセス用途とNFSクライアントへのNFSサービス用途に割当ててこれらをNFSサービス時に同時に使用することで、NFSサービスに50 Gbpsの帯域をフルに使用することが可能となるためです。
またデータ格納領域に使用する ブロック・ボリューム は、ボリューム・パフォーマンスにBalancedを使用します。
HPC/GPUクラスタで使用するファイル共有ストレージは、アプリケーションの入出力データのようなサイズの大きなファイルのみならず、ソースプログラムや設定ファイル等のサイズの小さなファイルを多数扱う必要があり、スループットとIOPSの両指標にバランスの取れた ブロック・ボリューム とする必要があるためです。
このBalancedの ブロック・ボリューム は、ボリューム・サイズの増加とともにその性能が向上し1 TBで上限に達するため、1 TBボリュームを基本単位として複数ボリュームをLinuxの論理ボリューム機能で1ファイルシステムに構成し、コストパフォーマンスを最大化します。この際、NFSファイルシステム性能としては15ボリューム程度で性能が頭打ちとなることを考慮して、1 TBのボリュームを15個使用した総容量15 TBの ブロック・ボリューム 構成とします。
より大きな総容量が必要な場合は、単一 ブロック・ボリューム サイズを1 TBより大きくすることで、性能を維持したままその総容量を増やすことが可能です。
例えば100 TBを超える総容量が必要な場合は、ボリューム・サイズを7 TBとすることで、7 TB x 15 = 105 TBの総容量を実現することが出来ます。
なお、本構成の ブロック・ボリューム NFSサーバは、 マーケットプレース から無料で利用可能な スタック を利用して自動構築する事が可能で、詳細は OCI HPCチュートリアル集 の ブロック・ボリュームでNFSサーバを構築する を参照ください。
2. ファイル・ストレージとブロック・ボリュームNFSサーバの比較
2.0 概要
本章は、前述の構成の ブロック・ボリューム NFSサーバと ファイル・ストレージ を、以下の観点で比較します。
- コストパフォーマンス
- システム構築・運用のしやすさ
詳細は以降の章で解説しますが、コストパフォーマンスは ブロック・ボリューム NFSサーバが有利で、システム構築やシステム運用のしやすさでは ファイル・ストレージ が有利となり、どちらの観点に重きを置くかで選択することになります。
2-1. コストパフォーマンスによる比較
以下の表は、 ファイル・ストレージ と前述の構成の ブロック・ボリューム NFSサーバを、価格と性能の観点で比較しています。
この表から、 ブロック・ボリューム NFSサーバのコストパフォーマンスが ファイル・ストレージ より圧倒的に高いことがわかります。
構成 | 月額定価 (2023年9月時点) |
スループット | IOPS | ||
---|---|---|---|---|---|
ファイル・ストレージ | マウント・ターゲット x 1, ファイルシステム x 1(15 TB) - |
630,000 円 (*5, 6) |
983 MB/s (*1) |
25.0 k (*2) |
|
ブロック・ボリューム NFSサーバ |
ブロック・ボリューム (Balanced)1 TB x 15ボリューム BM.Optimized3.36 x 1インスタンス Total - |
89,250円 273,370円 362,620 円 (*5, 6) |
2,040 MB/s (*3) |
33.3 k (*4) |
*1) 以下URLで公開されている ファイル・ストレージ の性能情報11ページ目に記載の、
https://docs.oracle.com/en-us/iaas/Content/Resources/Assets/whitepapers/file-storage-performance-guide.pdf
1マウント・ターゲット1 MiBブロックサイズreadのスループット値を使用しています。
*2) 以下URLで公開されている ファイル・ストレージ の性能情報11ページ目に記載の、
https://docs.oracle.com/en-us/iaas/Content/Resources/Assets/whitepapers/file-storage-performance-guide.pdf
1マウント・ターゲット32 KiBブロックサイズreadのIOPS値を使用しています。
*3) ファイル・ストレージ と同様、VM.Standard2.16で構築したNFSクライアントから1 MiBブロックサイズreadでfioを使用して計測したスループット値です。
*4) ファイル・ストレージ と同様、VM.Standard2.16で構築したNFSクライアントから32 KiBブロックサイズreadでfioを使用して計測したIOPS値です。
*5) 総容量15TBの ブロック・ボリューム NFSサーバの構成は、価格の大部分をBM.Optimized3.36が占めるため、総容量がこれより大きくなると、下表のように ファイル・ストレージ に対する価格優位性が拡大します。
総容量(TB) | ファイル・ストレージ 月額定価 |
ブロック・ボリューム NFSサーバ 月額定価 |
---|---|---|
15 | 630,000 円 | 362,620 円 |
100 | 4,200,000 円 | 868,370 円 |
500 | 21,000,000 円 | 3,248,370 円 |
1,000 | 42,000,000 円 | 6,223,370 円 |
*6) ファイル・ストレージ は、従量制課金のため使用量が15 TBを下回るとそれに応じて金額が安くなりますが、 ブロック・ボリューム NFSサーバは、その時点の使用量に関わらず定額課金されます。
2.2 システム構築・運用のしやすさによる比較
以下の表は、 ブロック・ボリューム NFSサーバと ファイル・ストレージ の利点・欠点を、システム構築やシステム運用のしやすさという観点で比較しています。
この表から、 ファイル・ストレージ は ブロック・ボリューム NFSサーバに対して、圧倒的にシステム構築やシステム運用が容易であることがわかります。
利点 | 欠点 | |
---|---|---|
ファイル・ストレージ | ・NFSサービス開始までの構築手順が簡単 ・ ファイル・ストレージ が用意する豊富な バックアップ機能を利用可能(*7) ・ファイルシステムの拡張作業が不要 ・メンテナンスフリーのマウント・ターゲット ・HA化されたマウント・ターゲットによる高可能性 |
・マウント・ターゲットあたりのNFSサーバ性能 は固定 |
ブロック・ボリューム NFSサーバ |
・ボリューム・パフォーマンスとシェイプの選択 によるNFSサーバ性能のVertical Scaling が可能 |
・NFSサービス開始までの構築手順が煩雑(*8) ・バックアップのための環境構築が必要(*9) ・ファイルシステムの拡張作業が煩雑 ・NFSサーバのソフトウェアメンテナンスが必要 ・NFSサーバインスタンスが単一障害点 |
*7) スナップショット、クローン、及びレプリケーションが用意されています。これらサービスの詳細は、OCI公式ドキュメントの ここ を参照ください。
*8) この構築作業を自動化する スタック が マーケットプレース から無料で提供されています。この詳細は、 OCI HPCチュートリアル集 の ブロック・ボリュームでNFSサーバを構築する を参照ください。
*9) ブロック・ボリューム に格納されるファイルのバックアップは、 ブロック・ボリューム が用意するバックアップ機能を利用することが出来ず、NFSサーバ上のファイルシステムとしてアクセスしバックアップする必要があります。