NFS Azure ファイル共有を Linux にマウントする

Azure ファイル共有は、サーバー メッセージ ブロック (SMB) プロトコルとネットワーク ファイル システム (NFS) プロトコルのいずれかを使用して Linux ディストリビューションにマウントできます。 この記事では、NFS でのマウントに焦点をあてます。 SMB Azure ファイル共有のマウントの詳細については、Linux での Azure Files の使用に関する記事を参照してください。 使用できる各プロトコルの詳細については、「Azure ファイル共有プロトコル」を参照してください。

適用対象

ファイル共有の種類 SMB NFS
Standard ファイル共有 (GPv2)、LRS/ZRS No No
Standard ファイル共有 (GPv2)、GRS/GZRS No No
Premium ファイル共有 (FileStorage)、LRS/ZRS No Yes

サポート

現時点では、NFS バージョン 4.1 のみがサポートされています。 NFS 4.1 共有のみが、FileStorage ストレージ アカウント タイプ内でサポートされています (Premium ファイル共有のみ)。

NFS Azure ファイル共有では、4.1 プロトコル仕様のほとんどの機能がサポートされています。 あらゆる種類の委任とコールバック、Kerberos 認証、転送中の暗号化など、一部の機能はサポートされていません。

リージョン別の提供状況

Azure NFS ファイル共有は、Premium ファイル ストレージをサポートするすべてのリージョンでサポートされます。

最新の一覧については、Azure のリージョン別の利用可能な製品ページの「Premium Files Storage」の項目を参照してください。

前提条件

セキュリティで保護された転送を無効にする

  1. Azure portal にサインインし、作成した NFS 共有を含むストレージ アカウントにアクセスします。

  2. [構成] を選択します。

  3. [安全な転送が必須] には [無効] を選択します。

  4. [保存] を選択します。

    Screenshot of storage account configuration screen with secure transfer disabled.

マウント オプション

NFS Azure ファイル共有をマウントする際は、次のマウント オプションが推奨または必須です。

マウント オプション 推奨値 説明
vers 4 必須。 使用する NFS プロトコルのバージョンを指定します。 Azure Files では NFS v4.1 のみがサポートされます。
minorversion 1 必須。 NFS プロトコルのマイナー バージョンを指定します。 一部の Linux ディストリビューションでは、vers パラメーター上のマイナー バージョンが認識されません。 そのため、 vers=4.1 の代わりに vers=4,minorversion=1 を使用します。
sec sys 必須。 NFS 接続を認証する際に使用するセキュリティの種類を指定します。 設定 sec=sys では、AUTH_SYS を使用して NFS 操作を認証するローカル UNIX UID および GID が使用されます。
rsize 1048576 推奨要件。 1 回の NFS 読み取り操作で転送される最大バイト数を設定します。 通常、1048576 バイトの最大レベルを指定すると、最適なパフォーマンスを得られます。
wsize 1048576 推奨要件。 1 回の NFS 書き込み操作で転送される最大バイト数を設定します。 通常、1048576 バイトの最大レベルを指定すると、最適なパフォーマンスを得られます。
noresvport 該当なし 推奨要件。 マウント ポイントの NFS サーバーと通信する際に、非特権ソース ポートを使用するように NFS クライアントに指示します。 noresvport マウント オプションを使用すると、再接続後にお使いの NFS 共有の可用性が中断されないことを確実にするのに役立ちます。 高可用性を実現するには、このオプションを使用することを強くお勧めします。
actimeo 30-60 推奨要件。 actimeo を指定すると、acregminacregmaxacdirminacdirmax のせべてに同じ値が設定されます。 30 秒未満の値を使用すると、ファイルおよびディレクトリ用の属性キャッシュの有効期限切れが早すぎるため、パフォーマンスが低下する場合があります。 actimeo は 30 から 60 秒の間で設定することをお勧めします。

Microsoft Azure portal を使用して NFS 共有をマウントする

Note

nconnect Linux マウント オプションを使用すると、大規模な NFS Azure ファイル共有のパフォーマンスを向上させることができます。 詳細については、「NFS Azure ファイル共有のパフォーマンスを向上させる」を参照してください。

  1. ファイル共有が作成されたら、共有を選択し、 [Linux からの接続] を選択します。

  2. 使用するマウント パスを入力し、スクリプトをコピーします。

  3. クライアントに接続し、提供されたマウント スクリプトを使用します。 スクリプト内には必要なマウント オプションのみが含まれていますが、他の推奨マウント オプションを追加することもできます。

    Screenshot of file share connect blade.

これで NFS 共有がマウントされました。

/etc/fstab を使用して NFS 共有をマウントする

Linux サーバーまたは VM が起動するたびに NFS ファイル共有を自動的にマウントする場合は、Azure ファイル共有の /etc/fstab ファイルにレコードを作成します。 YourStorageAccountNameFileShareName を実際の情報に置き換えます。

<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0

詳細については、Linux コマンド ラインからコマンド man fstab を入力します。

接続の検証

マウントが失敗した場合は、ご使用のプライベート エンドポイントが正しく設定されていないか、またはアクセスできない可能性があります。 接続の確認の詳細については、「接続の確認」を参照してください。

NFS ファイル共有のスナップショット

NFS Azure ファイル共有を使用しているお客様は、NFS Azure ファイル共有スナップショットの作成、一覧表示、削除を行うことができます。 この機能を使用すると、ユーザーはファイル システム全体をロールバックしたり、誤って削除した、または破損したファイルを回復したりできます。

重要

スナップショットを作成する前に、ファイル共有をマウントする必要があります。 新しい NFS ファイル共有を作成し、その共有をマウントする前にスナップショットを作成した場合、共有のスナップショットを一覧表示しようとすると、空のリストが返されます。 最初のマウントの前に取得したスナップショットは削除して、共有をマウントした後に再作成することをお勧めします。

制限事項

NFS Azure ファイル共有スナップショットでサポートされているのは、ファイル管理 API (AzRmStorageShare) だけです。 ファイル データ プレーン API (AzStorageShare) はサポートされていません。

現在、NFS ファイル共有では Azure Backup はサポートされていません。

現在、NFS ファイル共有では AzCopy はサポートされていません。 NFS Azure ファイル共有または共有スナップショットからデータをコピーするには、rsync や fpsync などのファイル システム コピー ツールを使用してください。

NFS Azure ファイル共有スナップショットは、すべての Azure パブリック クラウド リージョンで使用できます。

スナップショットの作成

NFS Azure ファイル共有のスナップショットは、Azure portal、Azure PowerShell または Azure CLI を使用して作成できます。 共有では、最大 200 個の共有スナップショットの作成がサポートされています。

既存のファイル共有のスナップショットを作成するには、Azure portal にサインインし、以下の手順に従います。

  1. Azure portal 上部の検索ボックスで、"ストレージ アカウント" と入力して選択します。

  2. スナップショットを取得したい NFS Azure ファイル共有が含まれている FileStorage ストレージ アカウントを選択します。

  3. [データ ストレージ] > [ファイル共有] の順に選択します。

  4. スナップショットを取得したいファイル共有を選択した後、[操作]>[スナップショット] を選択します。

  5. [+ スナップショットの追加] を選択します。 オプションのコメントを追加し、[OK] を選択します。

Screenshot of adding a file share snapshot.

ファイル共有スナップショットを一覧表示する

ファイル共有のすべてのスナップショットは、Azure portal、Azure PowerShell または Azure CLI を使用して一覧表示することができます。

既存のファイル共有のすべてのスナップショットを一覧表示するには、Azure portal にサインインし、以下の手順に従います。

  1. Azure portal 上部の検索ボックスで、"ストレージ アカウント" と入力して選択します。

  2. スナップショットを一覧表示したい NFS Azure ファイル共有を含む FileStorage ストレージ アカウントを選択します。

  3. [データ ストレージ] > [ファイル共有] の順に選択します。

  4. スナップショットを一覧表示したいファイル共有を選択します。

  5. [操作]>[スナップショット] を選択すると、そのファイル共有のすべての既存のスナップショットが一覧表示されます。

スナップショットの削除

既存の共有スナップショットは上書きされません。 明示的に削除する必要があります。 共有スナップショットは、Azure portal、Azure PowerShell または Azure CLI を使用して削除できます。

既存のファイル共有のスナップショットを削除するには、Azure portal にサインインし、以下の手順に従います。

  1. Azure portal 上部の検索ボックスで、"ストレージ アカウント" と入力して選択します。

  2. スナップショットを削除したい NFS Azure ファイル共有を含む FileStorage ストレージ アカウントを選択します。

  3. [データ ストレージ] > [ファイル共有] の順に選択します。

  4. 1 つ以上のスナップショットを削除したいファイル共有を選択した後、[操作]>[スナップショット] を選択します。 ファイル共有のすべての既存のスナップショットが一覧表示されます。

  5. 削除したい (複数の) スナップショットを選択した後、[削除] を選択します。

Screenshot of deleting file share snapshots.

NFS Azure ファイル共有スナップショットをマウントする

NFS Azure ファイル共有スナップショットを Linux VM (NFS クライアント) にマウントし、ファイルを復元するには、次の手順に従います。

  1. コンソールで、次のコマンドを実行します。 その他の推奨されるマウント オプションについては、「マウント オプション」を参照してください。 コピーのパフォーマンスを向上させるには、nconnect でスナップショットをマウントし、複数の TCP チャネルを使用します。

    sudo mount -o vers=4,minorversion=1,proto=tcp,sec=sys $server:/nfs4account/share /media/nfs
    
  2. 使用可能なスナップショットを表示できるように、ディレクトリを /media/nfs/.snapshots に変更します。 .snapshots ディレクトリは既定では非表示になっていますが、任意のディレクトリと同様にアクセスして読み取ることができます。

    cd /media/nfs/.snapshots
    
  3. .snapshots フォルダーの内容を一覧表示します。

    ls
    
  4. 各スナップショットには、復旧ポイントとして機能する独自のディレクトリがあります。 ファイルを復元するスナップショット ディレクトリに移動します。

    cd <snapshot-name>
    
  5. ディレクトリの内容を一覧表示して、復旧可能なファイルとディレクトリの一覧を表示します。

    ls
    
  6. すべてのファイルとディレクトリをスナップショットから復元ディレクトリにコピーして、復元を完了させます。

    cp -r <snapshot-name> ../restore
    

これで、スナップショットのファイルとディレクトリが /media/nfs/restore ディレクトリで使用できるようになります。

次のステップ