ストレージ ターゲットを追加する

"ストレージ ターゲット" は、Azure HPC Cache を通じてアクセスされるファイルのバックエンド ストレージです。 NFS ストレージ (オンプレミスのハードウェア システムなど) を追加できるほか、Azure BLOB にデータを格納することができます。

キャッシュに対して 10 個の異なるストレージ ターゲットを定義できます。より大きなキャッシュでは、最大で 20 個のストレージ ターゲットをサポートできます。

このキャッシュでは、すべてのストレージ ターゲットが 1 つの集約された名前空間で提供されます。 名前空間パスは、ストレージ ターゲットを追加した後に個別に構成されます。

キャッシュの仮想ネットワークからストレージのエクスポートにアクセスできなければならないことに注意してください。 オンプレミスのハードウェア ストレージの場合、NFS ストレージへのアクセスに使用されるホスト名を解決できる DNS サーバーの設定が必要になることがあります。 詳細については、「DNS アクセス」を参照してください。

キャッシュを作成した後で、ストレージ ターゲットを追加します。 次のプロセスに従います。

  1. キャッシュを作成する
  2. ストレージ ターゲットを定義する (この記事の情報)
  3. クライアント側のパスを作成する (集約された名前空間用)

ストレージ ターゲットを追加する手順は、使用するストレージの種類によって若干異なります。 それぞれの詳細を以下に示します。

ストレージ ターゲットをサポートするようキャッシュを正しいサイズに設定する

サポートされるストレージ ターゲットの数はキャッシュ サイズによって異なり、キャッシュの作成時に設定されます。 キャッシュ容量は、スループット容量 (GB/秒) とストレージ容量 (TB) の組み合わせです。

  • 最大 10 個のストレージ ターゲット - 選択したスループットに対して最小または中程度のキャッシュ ストレージ値を持つ標準的なキャッシュには、最大 10 個のストレージ ターゲットを指定できます。

    たとえば、2 GB/秒のスループットを選択し、最大のキャッシュ ストレージ サイズを選択しない場合、そのキャッシュでは最大 10 個のストレージ ターゲットがサポートされます。

  • 最大 20 個のストレージ ターゲット -

    • (キャッシュ ストレージ サイズが事前に構成されている) すべての高スループット キャッシュでは、最大 20 個のストレージ ターゲットをサポートできます。
    • 選択したスループット値に対して、使用可能な最大のキャッシュ サイズを選択した場合、標準的なキャッシュでは最大 20 個のストレージ ターゲットをサポートできます。 (Azure CLI を使用する場合は、お使いのキャッシュ SKU で有効な最大キャッシュ サイズを選択してください。)

スループットとキャッシュ サイズの設定について詳しくは、「キャッシュ容量を設定する」をご覧ください。

適切なストレージ ターゲットの種類を選択する

NFSBLOB、および ADLS-NFS の 3 種類のストレージ ターゲットから選択できます。 この HPC Cache プロジェクト中にファイルを格納するために使用するストレージ システムの種類に一致する種類を選択してください。

新しい Azure Blob Storage ターゲットを追加する

新しい Blob Storage ターゲットには、空の BLOB コンテナーか、Azure HPC Cache クラウド ファイル システム フォーマットでデータが事前設定されているコンテナーが必要です。 BLOB コンテナーの事前読み込みの詳細については、Azure Blob Storage へのデータの移動に関するページを参照してください。

Azure portal の [ストレージ ターゲットの追加] ページには、追加する直前に新しい BLOB コンテナーを作成するオプションが含まれています。

注意

Azure portal からキャッシュ インスタンスを開き、左側のサイド バーにある [ストレージ ターゲット] をクリックします。

screenshot of the settings > storage target page, with two existing storage targets in a table and a highlight around the + add storage target button above the table

[ストレージ ターゲット] ページには、既存のターゲットがすべて表示されるほか、新たに追加するためのリンクが表示されます。

[ストレージ ターゲットの追加] ボタンをクリックします。

screenshot of the add storage target page, populated with information for a new Azure Blob storage target

Azure BLOB コンテナーを定義するには、次の情報を入力します。

  • [ストレージ ターゲット名] - Azure HPC Cache 内でこのストレージ ターゲットを識別する名前を設定します。

  • [ターゲットの種類] - [BLOB] を選択します。

  • [ストレージ アカウント] - 使用するアカウントを選択します。

    アクセス ロールの追加に関するセクションの説明に従って、キャッシュ インスタンスにストレージ アカウントへのアクセスを認可する必要があります。

    使用できるストレージ アカウントの種類の詳細については、「Blob Storage の要件」を参照してください。

  • [ストレージ コンテナー] - このターゲットの BLOB コンテナーを選択するか、 [新規作成] をクリックします。

    screenshot of dialog to specify name and access level (private) for new container

完了したら、 [OK] をクリックしてストレージ ターゲットを追加します。

注意

お使いのストレージ アカウント ファイアウォールが "選択されているネットワーク" のみにアクセスできるように制限されている場合、「BLOB ストレージ アカウントのファイアウォール設定を回避する」に記されている一時的な回避策をご利用ください。

アクセス制御ロールをアカウントに追加する

Azure HPC Cache では、Azure Blob Storage ターゲットのストレージ アカウントにキャッシュ サービスがアクセスすることを承認する場合、Azure ロールベースのアクセス制御 (Azure RBAC) が使用されます。

ストレージ アカウント所有者は、"HPC Cache リソース プロバイダー" ユーザーのストレージ アカウント共同作成者ロールとストレージ BLOB データ共同作成者ロールを明示的に追加する必要があります。

この作業は、事前に、または Blob Storage ターゲットを追加する portal ページ上のリンクをクリックして実行できます。 ロールの設定を Azure 環境経由で反映させるには、最大 5 分かかる場合があることにご留意ください。 ロールの追加後、少し待ってからストレージ ターゲットを作成してください。

  1. ストレージ アカウントの [アクセス制御 (IAM)] を開きます。

  2. [追加]>[ロールの割り当ての追加] を選択して、[ロールの割り当ての追加] ページを開きます。

  3. 一度に 1 つずつ、次のロールを割り当てます。 詳細な手順については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。

    設定
    ロール Storage Account Contributor
    ストレージ BLOB データ共同作成者
    アクセスの割り当て先 HPC Cache リソース プロバイダー

    Add role assignment page

    注意

    HPC Cache リソース プロバイダーが見つからない場合は、代わりに文字列 "storagecache" を検索してみてください。 これは、サービス プリンシパルの GA 前の名前でした。

新しい NFS ストレージ ターゲットを追加する

NFS ストレージ ターゲットには、このストレージ システムからデータを格納する方法をキャッシュに指示する使用モデルの設定など、BLOB ストレージ ターゲットとは異なる設定があります。

Screenshot of add storage target page with NFS target defined

注意

NFS ストレージ ターゲットを作成する前に、ストレージ システムが Azure HPC Cache からアクセス可能であり、アクセス許可要件を満たしていることを確認します。 キャッシュからストレージ システムにアクセスできない場合、ストレージ ターゲットの作成は失敗します。 詳細については、「NFS ストレージの要件」と「NAS 構成および NFS ストレージ ターゲットに関する問題のトラブルシューティング」を参照してください。

使用モデルを選択する

NFS を使用してストレージ システムにアクセスするストレージ ターゲットを作成するときは、そのターゲットの使用モデルを選択する必要があります。 どのようにデータがキャッシュされるかは、このモデルによって決まります。

これらすべての設定の詳細については、使用モデルに関するページを参照してください。

HPC Cache の組み込み使用モデルでは、迅速な応答と、古いデータを取得するリスクとのバランスを取る方法を選択できます。 ファイルの読み取り速度を最適化する場合、キャッシュ内のファイルがバックエンド ファイルと照合されるかどうかは重要でないかもしれません。 または、リモート ストレージでファイルが常に最新の状態になっていることを確認する場合は、頻繁にチェックを行うモデルを選択します。

注意

高スループット スタイルのキャッシュでは、読み取りキャッシュのみがサポートされます。

ほとんどの状況は、次の 3 つのいずれかのオプションに当てはまります。

  • 読み取りの負荷が高く、書き込みの頻度が低い - 静的、またはほとんど変更されないファイルへの読み取りアクセスを速くします。

    このオプションでは、クライアントにより読み取られるファイルがキャッシュされますが、書き込みは直後にバックエンド ストレージを通してクライアントに渡されます。 キャッシュに格納されているファイルが NFS ストレージ ボリューム上のファイルと自動的に比較されることはありません

    最初にキャッシュに書き込まず、ストレージ システムでファイルが直接変更されるリスクがある場合、このオプションは使用しないでください。 これが発生すると、キャッシュされたバージョンのファイルは、バックエンド ファイルと非同期になります。

  • 書き込みが 15% を超えています - このオプションを使用すると、書き込みと読み取りの両方が速くなります。

    クライアントの読み取りとクライアントの書き込みの両方がキャッシュされます。 キャッシュ内のファイルは、バックエンド ストレージ システム上のファイルよりも新しいものと見なされます。 キャッシュされたファイルは、8 時間ごとにバックエンド ストレージのファイルと自動的に照合されます。 キャッシュにある変更後のファイルは、他の変更なしでキャッシュに 20 分間留まった後にバックエンド ストレージ システムに書き込まれます。

    クライアントがバックエンド ストレージ ボリュームを直接マウントする場合は、このオプションを使用しないでください。これは、古くなったファイルが存在する可能性があるためです。

  • クライアントは、キャッシュをバイパスして NFS ターゲットに書き込みます - ワークフローのクライアントで、先にキャッシュに書き込まずにストレージ システムにデータが直接書き込まれる場合、またはデータの整合性を最適化する場合、このオプションを選択します。

    クライアントによって要求されたファイルがキャッシュされますが、クライアントからのそれらのファイルの変更は、直後にバックエンド ストレージ システムに戻されます。 キャッシュ内のファイルは、更新があるかどうかを確認するため、バックエンド バージョンと頻繁に照合されます。 この検証では、キャッシュではなくストレージ システムでファイルが直接変更された場合に、データの一貫性が維持されます。

その他のオプションの詳細については、使用モデルに関するページを参照してください。

次の表は、すべての使用モデルの違いをまとめたものです。

使用モデル キャッシュ モード バックエンド検証 ライトバックの最大遅延
負荷が高く、頻度の低い書き込みを読み取ります Read なし なし
書き込みが 15% を超えています 読み取り/書き込み 8 時間 1 時間
クライアントはキャッシュをバイパス Read 30 秒 なし
書き込みが 15% を超え、頻繁なバックエンド チェックが発生しています (30 秒) 読み取り/書き込み 30 秒 1 時間
書き込みが 15% を超え、頻繁なバックエンド チェックが発生しています (60 秒) 読み取り/書き込み 60 秒 1 時間
書き込みが 15% を超え、頻繁なライトバックが発生しています 読み取り/書き込み 30 秒 30 秒
読み取りの負荷が高く、バッキング サーバーの確認が 3 時間ごとに行われます Read 3 時間 なし

Note

バックエンド検証の値は、キャッシュ内のファイルとリモート ストレージ内のソース ファイルとの自動比較がどの時点で行われるかを示します。 ただし、バックエンド ストレージ システムで readdirplus 操作を含むクライアント要求を送信することによって、比較をトリガーすることができます。 readdirplus は、ディレクトリ メタデータを返す標準的な NFS API です (拡張読み取りとも呼ばれます)。これにより、キャッシュでファイルが比較され更新されます。

NFS ストレージ ターゲットを作成する

Azure portal からキャッシュ インスタンスを開き、左側のサイド バーにある [ストレージ ターゲット] をクリックします。

screenshot of the settings > storage target page, with two existing storage targets in a table and a highlight around the + add storage target button above the table

[ストレージ ターゲット] ページには、既存のターゲットがすべて表示されるほか、新たに追加するためのリンクが表示されます。

[ストレージ ターゲットの追加] ボタンをクリックします。

Screenshot of add storage target page with NFS target defined

NFS を使用したストレージ ターゲットについて次の情報を入力します。

  • [ストレージ ターゲット名] - Azure HPC Cache 内でこのストレージ ターゲットを識別する名前を設定します。

  • [ターゲットの種類] - [NFS] を選択します。

  • [ホスト名] - NFS ストレージ システムの IP アドレスまたは完全修飾ドメイン名を入力します (ドメイン名は、名前を解決できる DNS サーバーへのアクセス権がキャッシュにある場合にのみ使用します)。ストレージ システムが複数の IP によって参照されている場合は、複数の IP アドレスを入力できます。

  • [使用モデル] - ワークフローに基づいていずれかのデータ キャッシュ プロファイルを選択します (前述の「使用モデルを選択する」を参照)。

完了したら、 [OK] をクリックしてストレージ ターゲットを追加します。

新しい ADLS-NFS ストレージ ターゲットを追加する

ADLS-NFS ストレージ ターゲットは、Network File System (NFS) 3.0 プロトコルをサポートする Azure Blob コンテナーを使用します。

この機能の詳細については、NFS 3.0 プロトコルのサポートに関する記事を参照してください。

ADLS-NFS ストレージ ターゲットには、BLOB ストレージ ターゲットおよび NFS ストレージ ターゲットと類似する点がいくつかあります。 次に例を示します。

  • BLOB ストレージ ターゲットと同様に、ストレージ アカウントにアクセスするためのアクセス許可を Azure HPC Cache に付与する必要があります。

  • NFS ストレージ ターゲットと同様に、キャッシュ使用モデルを設定する必要があります。

  • NFS 対応の BLOB コンテナーには NFS と互換性のある階層構造があるため、データの取り込みにキャッシュを使用する必要はありません。また、コンテナーは他の NFS システムから読み取ることができます。

    ADLS-NFS コンテナーにデータを事前に読み込み、それをストレージ ターゲットとして HPC Cache に追加すると、HPC Cache の外部からデータにアクセスできます。 標準の BLOB コンテナーを HPC Cache 上のストレージ ターゲットとして使用する場合、データは独自仕様の形式で書き込まれ、他の Azure HPC Cache 互換製品からのみアクセスできます。

ADLS-NFS ストレージ ターゲットを作成する前に、NFS 対応のストレージ アカウントを作成する必要があります。 Azure HPC Cache の前提条件に関するページの手順と、NFS を使用した BLOB ストレージのマウントに関するページの説明に従ってください。 キャッシュとストレージ アカウントに同じ仮想ネットワークを使用しない場合は、キャッシュの VNet でストレージアカウントの VNet にアクセスできることを確認します。

ストレージ アカウントを設定した後は、ストレージ ターゲットの作成時に新しいコンテナーを作成できます。

この構成の詳細については、Azure HPC Cache で NFS マウント済み BLOB ストレージを使用する方法に関するページを参照してください。

ADLS-NFS ストレージ ターゲットを作成するには、Azure portal の [ストレージ ターゲットの追加] ページを開きます。 (その他の方法は開発中です。)

Screenshot of add storage target page with ADLS-NFS target defined

次の情報を入力します。

  • [ストレージ ターゲット名] - Azure HPC Cache 内でこのストレージ ターゲットを識別する名前を設定します。

  • [ターゲットの種類] - ADLS-NFS を選択します。

  • [ストレージ アカウント] - 使用するアカウントを選択します。 NFS 対応のストレージ アカウントが一覧に表示されない場合は、前提条件に準拠していること、およびキャッシュからアクセスできることを確認します。

    アクセス ロールの追加に関するセクションの説明に従って、キャッシュ インスタンスにストレージ アカウントへのアクセスを認可する必要があります。

  • [ストレージ コンテナー] - このターゲットの NFS 対応 BLOB コンテナーを選択するか、 [新規作成] をクリックします。

  • [使用モデル] - ワークフローに基づいていずれかのデータ キャッシュ プロファイルを選択します (前述の「使用モデルを選択する」を参照)。

完了したら、 [OK] をクリックしてストレージ ターゲットを追加します。

ストレージ ターゲットを表示する

Azure portal または Azure CLI を使用して、キャッシュにすでに定義されているストレージ ターゲットを表示できます。

Azure portal からキャッシュ インスタンスを開き、左側のサイド バーの [設定] 見出しの下にある [ストレージ ターゲット] をクリックします。 ストレージ ターゲットのページには、既存のすべてのターゲットと、それらを追加または削除するためのコントロールが表示されます。

ストレージ ターゲットの名前をクリックして、その詳細ページを開きます。

詳細については、「ストレージ ターゲットを管理する」および「ストレージ ターゲットを編集する」を参照してください。

次のステップ

ストレージ ターゲットを作成したら、次のタスクを続行して、キャッシュを使用できるように準備します。

設定を更新する必要がある場合、ストレージ ターゲットを編集できます。