次の方法で共有


Azure Blob Storage へのデータの移動

ワークフローに Azure Blob Storage へのデータの移動が含まれている場合は、効率的な戦略を使用していることを確認してください。 キャッシュを作成し、ストレージ ターゲットとして BLOB コンテナーを追加し、Azure HPC Cache を使用してデータをコピーする必要があります。

この記事では、Azure HPC Cache で使用するために BLOB ストレージにデータを移動する最適な方法について説明します。

ヒント

この記事は、NFS マウント BLOB ストレージ (ストレージ ターゲットADLS-NFS) には適用されません。 任意の NFS ベースのメソッドを使用して、HPC キャッシュに追加する前または後に、ADLS-NFS BLOB コンテナーを設定できます。 詳細については、 NFS プロトコルを使用して事前読み込みデータを読み取 る。

次の点に注意してください。

  • Azure HPC Cache では、特殊なストレージ形式を使用して BLOB ストレージ内のデータを整理します。 このため、BLOB ストレージ ターゲットは、新しいコンテナー、空のコンテナー、または以前に Azure HPC Cache データに使用されていた BLOB コンテナーである必要があります。

  • 複数のクライアントと並列操作を使用する場合、Azure HPC Cache を介してバックエンド ストレージ ターゲットにデータをコピーする方が効率的です。 1 つのクライアントから単純なコピー コマンドを実行すると、データの移動速度が遅くなります。

この記事で説明する戦略は、空の BLOB コンテナーを設定したり、以前に使用したストレージ ターゲットにファイルを追加したりするために機能します。

Azure HPC Cache を使用してデータをコピーする

Azure HPC Cache は複数のクライアントに同時にサービスを提供するように設計されているため、キャッシュを介してデータをコピーするには、複数のクライアントからの並列書き込みを使用する必要があります。

マルチクライアントのマルチスレッド データ移動を示す図: 左上には、オンプレミスのハードウェア ストレージのアイコンに複数の矢印が表示されています。矢印は、4 台のクライアント コンピューターを指しています。各クライアント コンピューターから、3 つの矢印が Azure HPC Cache を指しています。Azure HPC Cache から、複数の矢印が BLOB ストレージを指しています。

通常、あるストレージ システムから別のストレージ システムにデータを転送するために使用する cp または copy コマンドは、一度に 1 つのファイルのみをコピーするシングルスレッド プロセスです。 つまり、ファイル サーバーは一度に 1 つのファイルのみを取り込みます。これはキャッシュのリソースの無駄です。

このセクションでは、Azure HPC Cache を使用してデータを BLOB ストレージに移動するマルチクライアントのマルチスレッド ファイル コピー システムを作成する方法について説明します。 複数のクライアントと単純なコピー コマンドを使用した効率的なデータ コピーに使用できるファイル転送の概念と決定ポイントについて説明します。

また、役に立つユーティリティについても説明します。 msrsync ユーティリティを使用すると、データセットをバケットに分割し、rsync コマンドを使用するプロセスを部分的に自動化できます。 parallelcp スクリプトは、ソース ディレクトリを読み取り、コピー コマンドを自動的に発行する別のユーティリティです。

戦略的計画

データを並行してコピーする戦略を構築するときは、ファイル サイズ、ファイル数、ディレクトリの深さのトレードオフを理解する必要があります。

  • ファイルが小さい場合、関心のあるメトリックは 1 秒あたりのファイル数です。
  • ファイルが大きい (10MiBi 以上) 場合、対象となるメトリックは 1 秒あたりのバイト数です。

各コピー プロセスにはスループット レートとファイル転送率があります。これは、コピー コマンドの長さをタイミングし、ファイルのサイズとファイル数を考慮して測定できます。 レートを測定する方法については、このドキュメントの範囲外ですが、小さいファイルと大きなファイルのどちらを扱うかを理解することが不可欠です。

Azure HPC Cache を使用した並列データ取り込みの戦略は次のとおりです。

次のステップ

ストレージを設定したら、クライアントがキャッシュをマウントする方法について説明します。