Azure ファイル共有は、サーバー メッセージ ブロック (SMB) プロトコルとネットワーク ファイル システム (NFS) プロトコルのいずれかを使用して Linux ディストリビューションにマウントできます。 この記事では、NFS でのマウントに焦点をあてます。 SMB ファイル共有のマウントの詳細については、「 Linux で Azure Files を使用する」を参照してください。 使用可能な各プロトコルの詳細については、 Azure ファイル共有プロトコルに関するページを参照してください。
適用対象
管理モデル | 課金モデル | メディア階層 | 冗長性 | SMB | NFS |
---|---|---|---|---|---|
Microsoft.Storage | プロビジョニング済み v2 | HDD (標準) | ローカル (LRS) | ![]() |
![]() |
Microsoft.Storage | プロビジョニング済み v2 | HDD (標準) | ゾーン (ZRS) | ![]() |
![]() |
Microsoft.Storage | プロビジョニング済み v2 | HDD (標準) | ジオ (GRS) | ![]() |
![]() |
Microsoft.Storage | プロビジョニング済み v2 | HDD (標準) | ジオゾーン (GZRS) | ![]() |
![]() |
Microsoft.Storage | プロビジョニング済み v1 | SSD (プレミアム) | ローカル (LRS) | ![]() |
![]() |
Microsoft.Storage | プロビジョニング済み v1 | SSD (プレミアム) | ゾーン (ZRS) | ![]() |
![]() |
Microsoft.Storage | 従量課金制 | HDD (標準) | ローカル (LRS) | ![]() |
![]() |
Microsoft.Storage | 従量課金制 | HDD (標準) | ゾーン (ZRS) | ![]() |
![]() |
Microsoft.Storage | 従量課金制 | HDD (標準) | ジオ (GRS) | ![]() |
![]() |
Microsoft.Storage | 従量課金制 | HDD (標準) | ジオゾーン (GZRS) | ![]() |
![]() |
サポート
現時点では、NFS バージョン 4.1 のみがサポートされています。 NFSv4.1 共有は、 FileStorage ストレージ アカウントの種類 (SSD ファイル共有のみ) 内でのみサポートされます。
NFS Azure ファイル共有では、4.1 プロトコル仕様のほとんどの機能がサポートされています。 Kerberos 認証や委任、あらゆる種類のコールバックなど、一部の機能はサポートされていません。
リージョン別の提供状況
NFS ファイル共有は、SSD ファイル共有をサポートするすべての同じリージョンでサポートされます。 SSD ファイル共有の Azure Files 冗長サポートを参照してください。
手順 1: ネットワーク セキュリティを構成する
NFS ファイル共有には、信頼されたネットワークからのみアクセスできます。 現在、ストレージ アカウントのデータをセキュリティで保護する唯一の方法は、仮想ネットワークと、その他のネットワーク セキュリティ設定を使用することです。 アカウント キーの認可、Microsoft Entra セキュリティ、アクセス制御リスト (ACL) など、データのセキュリティ保護に使用されるその他のツールは、NFSv4.1 要求の認可には使用できません。
重要
NFSv4.1 プロトコルはポート 2049 で実行されます。 オンプレミスのネットワークから接続している場合は、クライアントがポート 2049 を介した発信を許可していることを確認します。 特定の VNet へのアクセスを許可する場合は、それらの VNet に関連付けられているネットワーク セキュリティ グループに、ポート 2049 経由の着信通信をブロックするセキュリティ規則が含まれていないことを確認します。
プライベート エンドポイントまたはサービス エンドポイントを作成する
NFS Azure ファイル共有を使用するには、 プライベート エンドポイントを作成 するか (推奨)、または パブリック エンドポイントへのアクセスを制限する必要があります。
VPN または ExpressRoute 経由のハイブリッド アクセスを有効にする (省略可能)
NFS Azure ファイル共有へのハイブリッド アクセスを有効にするには、次のいずれかのネットワーク ソリューションを使用します。
- ポイント対サイト (P2S) VPN を構成します。
- サイト間 (S2S) VPN を構成します。
- ExpressRoute を構成します。
手順 2: NFS Azure ファイル共有をマウントする
Azure portal で AZNFS マウント ヘルパーを使用して共有をマウントすることも、CLI でネイティブ NFS マウント コマンドを使用することもできます。 /etc/fstab ファイルにレコードを作成して、Linux サーバーまたは VM が起動するたびに共有を自動的にマウントすることもできます。
nconnect
Linux マウント オプションを使用すると、大規模な NFS Azure ファイル共有のパフォーマンスを向上させることができます。 詳細については、「 NFS Azure ファイル共有のパフォーマンスの向上」を参照してください。
Azure portal を使用して NFS 共有をマウントする (推奨)
ファイル共有が作成されたら、共有を選択し、[ Linux から接続] を選択します。
使用するマウント パスを入力し、スクリプトをコピーしてクライアントで実行します。 Azure portal には、AZNFS マウント ヘルパー パッケージをインストールし、 転送中の Encyption を使用して共有を安全にマウントするために、選択した Linux ディストリビューションに合わせて調整された、ステップバイステップのすぐに使用できるインストール スクリプトが用意されています。 スクリプトには必要なマウント オプションのみが含まれていますが、 他の推奨マウント オプションを追加することもできます。
NFS ファイル共有をマウントする必要があります。 マウントに失敗した場合は、ストレージ アカウントで [安全な転送に必要な設定] が有効になっていることを確認します。
コマンド ラインで NFS クライアント マウントを使用して NFS 共有をマウントする
または、コマンド ラインで NFS クライアント マウントを使用して Azure ファイル共有をマウントすることもできます。 Linux ディストリビューションの下のタブを選択して、実行する必要があるコマンドを表示します。 <YourStorageAccountName>
と<FileShareName>
は必ず情報に置き換えてください。
sudo apt-get -y update
sudo apt-get install nfs-common
/mount/<YourStorageAccountName>/<FileShareName>
sudo mkdir -p /mount/<YourStorageAccountName>/<FileShareName>
sudo mount -t nfs <YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /mount/<YourStorageAccountName>/<FileShareName> -o vers=4,minorversion=1,sec=sys,nconnect=4
/etc/fstab を使用して NFS 共有をマウントする
Linux サーバーまたは VM が起動するたびに NFS ファイル共有を自動的にマウントする場合は、Azure ファイル共有の /etc/fstab ファイルにレコードを作成します。 レコードは、AZNFS マウント ヘルパーまたはネイティブ NFS マウント コマンドのどちらを使用しているかによって異なります。
AZNFS マウント ヘルパー パッケージがクライアントにインストールされているかどうかを確認するには、次のコマンドを実行します。
systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS Mount Helper is installed! \n"
パッケージがインストールされている場合は、メッセージ AZNFS Mount Helper is installed!
が表示されます。
忘れずに、<YourStorageAccountName>
と<FileShareName>
を独自の値に置き換えてください。 詳細については、Linux コマンド ラインからコマンド man fstab
を入力します。
AZNFS マウントヘルパーを使用して、転送中に暗号化を施したマウントを行う (推奨)
AZNFS マウント ヘルパーを使用していて、転送中の暗号化を使用して共有をマウントする場合、 /etc/fstab のレコードは次のようになります。
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev 0 2
マウントに失敗した場合は、ストレージ アカウントで [安全な転送に必要な設定] が有効になっていることを確認します。
転送中の暗号化なしで AZNFS マウント ヘルパーを使用してマウントする
AZNFS マウント ヘルパーを使用しているが、転送中に暗号化を使用しない場合、 /etc/fstab 内のレコードは次のようになります。
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev,notls 0 2
ネイティブ NFS マウント コマンドを使用してマウントする
AZNFS なしでネイティブ NFS マウントを使用している場合、 /etc/fstab のレコードは次のようになります。
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0
マウント オプション
NFS Azure ファイル共有をマウントする際は、次のマウント オプションが推奨または必須です。
マウント設定 | 推奨値 | 説明 |
---|---|---|
vers |
4 | 必須。 使用する NFS プロトコルのバージョンを指定します。 Azure Files では NFSv4.1 のみがサポートされます。 |
minorversion |
1 | 必須。 NFS プロトコルのマイナー バージョンを指定します。 一部の Linux ディストリビューションでは、vers パラメーター上のマイナー バージョンが認識されません。 そのため、 vers=4.1 の代わりに vers=4,minorversion=1 を使用します。 |
sec |
システム | 必須。 NFS 接続を認証する際に使用するセキュリティの種類を指定します。 設定 sec=sys では、AUTH_SYS を使用して NFS 操作を認証するローカル UNIX UID および GID が使用されます。 |
rsize |
1048576 | 推奨。 1 回の NFS 読み取り操作で転送される最大バイト数を設定します。 通常、最大レベル 1,048,576 バイトを指定すると、最適なパフォーマンスが得られます。 |
wsize |
1048576 | 推奨。 1 回の NFS 書き込み操作で転送される最大バイト数を設定します。 通常、最大レベル 1,048,576 バイトを指定すると、最適なパフォーマンスが得られます。 |
noresvport |
該当なし | 5.18 未満のカーネルに推奨。 マウント ポイントの NFS サーバーと通信するときに、特権のないソース ポートを使用するように NFS クライアントに指示します。 noresvport マウント オプションを使用すると、再接続後にお使いの NFS 共有の可用性が中断されないことを確実にするのに役立ちます。 高可用性を実現するには、このオプションを使用することをお勧めします。 |
actimeo |
30から60 | 推奨。 actimeo を指定すると、acregmin 、acregmax 、acdirmin 、acdirmax のせべてに同じ値が設定されます。 30 秒未満の値を使用すると、ファイルおよびディレクトリ用の属性キャッシュの有効期限切れが早すぎるため、パフォーマンスが低下する場合があります。 actimeo は 30 から 60 秒の間で設定することをお勧めします。 |
nconnect |
4 | 推奨。 Nconnect は、クライアントと NFS 共有の間で複数の TCP 接続を使用してパフォーマンスを向上させます。 nconnect=4 の最適な設定でマウント オプションを構成することをお勧めします。 現時点では、nconnect の Azure Files 実装では、4 つのチャネルを超える利益はありません。 |
clean |
該当なし | TLS 以外のマウントは、同じサーバーへの以前の TLS マウントが突然終了し、古いエントリが残った場合に失敗する可能性があります。 この問題を解決するには、 clean オプションを使用して共有を再マウントします。これにより、古いエントリがすぐにクリアされます。 これは AZNFS マウントにのみ適用されます。 |
手順 3: 接続を検証する
マウントが失敗した場合は、ご使用のプライベート エンドポイントが正しく設定されていないか、またはアクセスできない可能性があります。 接続の確認の詳細については、「接続の 確認」を参照してください。
NFS ファイル共有のスナップショット
NFS Azure ファイル共有を使用しているお客様は、ファイル共有スナップショットを取得できます。 この機能を使用すると、ユーザーはファイル システム全体をロールバックしたり、誤って削除した、または破損したファイルを回復したりできます。 「Azure Files で共有スナップショットを使用する」を参照してください。
次のステップ
- 問題が発生した場合は、「 NFS Azure ファイル共有のトラブルシューティング」を参照してください。