Azure ファイル共有は、サーバー メッセージ ブロック (SMB) プロトコルとネットワーク ファイル システム (NFS) プロトコルのいずれかを使用して Linux ディストリビューションにマウントできます。 この記事では、NFS でのマウントに焦点をあてます。 SMB ファイル共有のマウントの詳細については、「 Linux で Azure Files を使用する」を参照してください。 使用可能な各プロトコルの詳細については、 Azure ファイル共有プロトコルに関するページを参照してください。
適用対象
| 管理モデル | 課金モデル | メディア階層 | 冗長性 | SMB | NFS |
|---|---|---|---|---|---|
| Microsoft.FileShares | プロビジョニング済み v2 | SSD (プレミアム) | ローカル (LRS) |
|
|
| Microsoft.FileShares | プロビジョニング済み v2 | SSD (プレミアム) | ゾーン (ZRS) |
|
|
| 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) |
|
|
前提条件: ネットワーク セキュリティを構成する
NFSv4.1 ファイル共有 (クラシックと Microsoft.FileShares で作成されたもの) には、信頼済みネットワークからのみアクセスできます。 仮想ネットワークやその他のネットワーク セキュリティの設定を使用してデータを保護することをお勧めします。 アカウント キーの認可、Microsoft Entra セキュリティ、アクセス制御リスト (ACL) など、データのセキュリティ保護に使用されるその他のツールは、NFSv4.1 要求の認可には使用できません。 NFS 4.1 ファイル共有、仮想マシン、ネットワーク設定の設定方法の詳細については、クラシック ファイル共有の作成方法とファイル共有の作成方法に関する記事を参照してください。
NFS Azure ファイル共有をマウントする
Azure portal で AZNFS マウント ヘルパーを使用して共有をマウントすることも、CLI でネイティブ NFS マウント コマンドを使用することもできます。 /etc/fstab ファイルにレコードを作成して、Linux サーバーまたは VM が起動するたびに共有を自動的にマウントすることもできます。
nconnect Linux マウント オプションを使用すると、大規模な NFS Azure ファイル共有のパフォーマンスを向上させることができます。 詳細については、「 NFS Azure ファイル共有のパフォーマンスの向上」を参照してください。
既定のマウント手順
クラシック NFS ファイル共有 (Microsoft.Storage)
- ファイル共有が作成されたら、共有を選択し、[ Linux から接続] を選択します。
- 使用するマウント パスを入力し、スクリプトをコピーしてクライアントで実行します。 Azure portal には、すぐに使用できる手順付きインストール スクリプトが用意されています。選択した Linux ディストリビューションに合わせて調整されており、AZNFS マウント ヘルパー パッケージのインストールや、転送中の暗号化を使用した共有の安全なマウントに使用できます。 スクリプトには必要なマウント オプションのみが含まれていますが、 他の推奨マウント オプションを追加することもできます。
コマンド ラインで 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
NFS ファイル共有 (Microsoft.FileShares)
ファイル共有が作成されたら、共有を選択し、[ Linux から接続] を選択します。
使用するマウント パスを入力し、スクリプトをコピーしてクライアントで実行します。 Azure portal には、すぐに使用できる手順付きインストール スクリプトが用意されています。選択した Linux ディストリビューションに合わせて調整されており、AZNFS マウント ヘルパー パッケージのインストールや、転送中の暗号化を使用した共有の安全なマウントに使用できます。 スクリプトには必要なマウント オプションのみが含まれていますが、 他の推奨マウント オプションを追加することもできます。
コマンド ラインで NFS クライアント マウントを使用して NFS 共有をマウントする
コマンド ラインで NFS クライアント マウントを使用して Azure ファイル共有をマウントすることもできます。 Linux ディストリビューションの下のタブを選択して、実行する必要があるコマンドを表示します。
<your-subscription-id>、<your-reource-group>、<your-file-share-name> は、必ず実際の情報に置き換えてください。
# Customize these placeholders:
# - `<your-subscription-id>` → Your Azure subscription ID.
# - `<your-resource-group>` → The resource group containing the file share.
# - `<your-file-share-name>` → The name of your file share.
# you will use $hostname later when mounting the file share.
hostName=$(az resource show \
--ids "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.FileShares/fileShares/<your-file-share-name>" \
--query "properties.hostName" \
--output tsv)
echo $hostName
# you will use shortName later when mounting the file share.
prefix=$(echo "$hostName" | sed 's/\.file\.storage\.azure\.net.*//')
shortName=$(echo "$prefix" | sed 's/\.[^.]*$//')
echo $shortName
sudo apt-get -y update
sudo apt-get install nfs-common
sudo mkdir -p /mount/<your-file-share-name>
sudo mount -t nfs $hostName:/$shortName/<your-file-share-name> /mount/<your-file-share-name> -o vers=4,minorversion=1,sec=sys
/etc/fstab を使用してマウントする
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> を実際の値に置き換えてください。 ファイル共有の場合は、必ず hostName と shortName を正しい値に置き換えてください。 詳細については、Linux コマンド ラインからコマンド man fstab を入力します。
Aznfs ヘルパーで転送中の暗号化を使用してマウントする
AZNFS マウント ヘルパーを使用していて、転送中の暗号化を使用して共有をマウントする場合、 /etc/fstab のレコードは次のようになります。
# For Microsoft.Storage file share, use:
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev 0 2
# For Microsoft.FileShares file share, use:
$hostName:/$shortName/<FileShareName> /media/$shortName/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev 0 2
Aznfs ヘルパーで転送中の暗号化を使用せずにマウントする
AZNFS マウント ヘルパーを使用しているが、転送中に暗号化を使用しない場合、 /etc/fstab 内のレコードは次のようになります。
# For Microsoft.Storage file share, use:
<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
# For Microsoft.FileShares file share, use:
$hostName:/$shortName/<FileShareName> /media/$shortName/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev,notls 0 2
ネイティブ マウント コマンドを使用してマウントする
AZNFS なしでネイティブ NFS マウントを使用している場合、 /etc/fstab のレコードは次のようになります。
# For Microsoft.Storage file share, use:
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0
# For Microsoft.FileShares file share, use:
$hostName:/$shortName/<FileShareName> /media/$shortName/<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 マウントにのみ適用されます。 |
接続の検証
マウントが失敗した場合は、ご使用のプライベート エンドポイントが正しく設定されていないか、またはアクセスできない可能性があります。 接続の確認の詳細については、「接続の 確認」を参照してください。
NFS ファイル共有のスナップショット
NFS Azure ファイル共有を使用しているお客様は、ファイル共有スナップショットを取得できます。 この機能を使用すると、ユーザーはファイル システム全体をロールバックしたり、誤って削除した、または破損したファイルを回復したりできます。 「Azure Files で共有スナップショットを使用する」を参照してください。
次のステップ
- 問題が発生した場合は、「 NFS Azure ファイル共有のトラブルシューティング」を参照してください。