まとめ
このモジュールでは、Azure での HPC ストレージの選択に関連する重要な要素について説明しました。 ここで、情報を組み合わせ、さまざまな Azure のストレージ オプションを評価するために使用できるツールを作成します。
ストレージに関する主な考慮事項を含めたチェックリストを作成しましょう。 特に、現在のストレージ環境を長く監督してきた場合は、なぜチェックリストが必要なのかを疑問に思われるかもしれません。 その目的は、協力している可能性がある Azure チーム メンバーやパートナーなど、他の利害関係者向けに情報を整理することです。 このチェックリストは、意思決定プロセスを効率化し、特定のストレージ ソリューションの機能 (または機能不足) に関する何らかの誤解を最小限に抑えるのに役立ちます。
チェックリストを次の考慮事項の一覧に基づいて作成します。
ワークロード トラフィックの分散
HPC 環境で生成および処理されるトラフィックの種類を考慮します。 このステップは、複数の種類のワークロードを実行する場合や、このストレージを他の目的で使用しようとする場合に特に重要です。
たとえば、HPC ワークロードでは、多数の HPC コンピューターの大きなファイル (レンダリング ジョブからのメディア アセットやゲノム シーケンス ファイルなど) からシーケンシャル データを読み取る場合があります。 それと同時にデータベースの操作が必要になる場合があります (たとえば、HPC スケジューラを操作するため)。 トラフィックの種類が異なるため、異なるストレージ ソリューションにデプロイする必要がある可能性があります。
ストレージ ソリューションは、さまざまなことに最適化するように設計されている場合があります。 ローカル NVMe ディスクを実行している Ubuntu から構築された NAS ファイラは、単一ストリーム アクティビティ (NAS からローカル ディスクにデータをコピーしている 1 台のクライアントなど) では優れています。 しかし、多数のクライアントによる同時アクセス用にスケーリングできない場合があります。
また、多数の小さなファイル用に最適化されているソリューションを必要としている場合もあります。 Azure NetApp Files などの従来の NAS ソリューションでは、そのようなトラフィックに最適なパフォーマンスが発揮されます。 しかし、大きなファイルを処理して格納し、その実行のコストを最小限に抑える必要もあります。 階層化を備えた Azure Blob Storage では、こうしたケースで柔軟性が得られますが、単一ストリームのコピー操作では優れたパフォーマンスが発揮されない可能性があります。
チェックリストには、次の種類のトラフィックを記録します。
- 単一ストリーム トラフィックと複数ストリーム トラフィック
- 読み取りトラフィックと書き込みトラフィックの比率
- 平均のファイル サイズと数
- ランダム アクセス パターンとシーケンシャル アクセス パターン
たとえば、チェックリストには次のように反映させます。
- マルチストリーム トラフィック。
- 読み取りが多い (75% 対 25%)。
- 10 GB から 200 GB の平均ファイル サイズ。 約 5 万個のファイル。
- シーケンシャルが多い (80% 対 20%)。
また、アーキテクチャで実行する予定の主要なワークロードも考慮する必要があります。 ワークロードが複数ある場合は、要件に大きな相違がないことを確認します。
データの局所性
次のカテゴリでは、データの場所を考慮します。 オンプレミスでデータを維持する必要がありますか。 HPC ワークロードの実行中のデータの変更に関する懸念はありますか。 変更がオンプレミスでのみ、Azure でのみ、または両方の場所で発生するようにしますか?
チェックリストの局所性項目をいくつか次に示します。
- ソースデータはオンプレミス、Azure、またはその両方にありますか。
- 結果データはオンプレミス、Azure、またはその両方にありますか。
- Azure の HPC ワークロードは、ソースデータの変更タイムラインと連携する必要がありますか?
- タイムラインは、古いデータのリスクを知るのに役立ちます。
- 機密/HIPAA データですか。
- データの機密性は、必要な認証と暗号化のレベルを知るのに役立ちます。
ローカリティの認識は、データ移動戦略としてコピー、キャッシュ、または同期を使用できるかどうかを判断するのに役立ちます。
パフォーマンス要件
パフォーマンス要件は次のようになるはずです。
- 単一ストリームのスループット (GBps)
- マルチストリームのスループット (GBps)
- 予想される最大 IOPS
- 平均待機時間 (ミリ秒)
すべての考慮事項がパフォーマンスに影響を与えるため、これらの数値は特定のソリューションで達成すべきガイドを表します。 たとえば、ワークフローの一部として集中的にファイルの作成と削除を行う HPC ワークロードがあります。 これらの操作は、全体のスループットに影響を与える可能性がある場合があります。
アクセス方法
必要なクライアント アクセス プロトコルを考慮します。 説明したように、NFS (および SMB、Windows クライアント プロトコル) にはさまざまなバージョンがあります。 NFSv4 を使用しようとしている場合は、必要なプロトコルの機能 (ACL など) を明確にします。
チェックリストの項目をいくつか次に示します。
- 必要な NFS バージョン
- v4 の場合、期待されるプロトコル動作 (ACL、暗号化)
- 並列ファイル システムのソリューション
合計容量要件
Azure のストレージ容量が次の考慮事項です。 これはソリューションの全体のコストを知るのに役立ちます。 長期間にわたって大量のデータを格納する場合は、ストレージ ソリューションの一部として階層化を検討する必要がある可能性があります。 階層化では、ホット階層で、コストは高いがパフォーマンスに優れたストレージと組み合わせて、低コストのストレージ オプションを提供できます。
リストの項目をいくつか示します。
- 必要な合計容量
- 必要なホット階層の合計容量
- 必要なウォーム階層の合計容量
- 必要なコールド階層の合計容量
コールド階層の容量に関する注意: アーカイブ階層は、データを保存するための低コストと、データを取得するための高いトランザクション コストとを組み合わせています。 また、アーカイブ階層では、データの取得に時間がかかります。 これらは、ホットまたはウォーム階層の一部として考えるべきではありません。
認証または認可方法
認証または認可の要件をチェックリストに追加します。 少なくとも、それらを追加することで、LDAP サーバーや Active Directory 環境など、適切なサポート システムをアーキテクチャに確実に含めることができます。 ただし、Active Directory ユーザーへの UID/GID マッピングなどの機能をサポートする必要がある場合は、ストレージ ソリューションでその機能がサポートされていることを確認する必要があります。
リストでは:
- ローカル (ファイル サーバー上の UID/GID のみ)
- ディレクトリ (LDAP、Active Directory)
- Active Directory ユーザーへの UID/GID マッピングありか。
参考資料
IETF NFS RFC: