Azure FilesのNFSファイル共有をRocky Linuxからマウント

2021-06-20Azure,Others,RockyLinux/CentOS,Storage(Files,Blob),Virtual Machine

Azure FilesのNFSファイル共有作成からLinuxの仮想マシン(Azure VM)からマウントするまでの一連の手順の紹介です。
Azure上に作成したRocky Linuxの仮想マシンを利用して確認しています。

※本記事内ではAzure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※ストレージアカウントはPremium ファイル共有を利用しています。
※Rocky LinuxはRocky Linux release 9.5 (Blue Onyx)を利用しています。
※手順の確認はrootユーザーで実施しています。環境に合わせてsudoコマンド利用してください。

スポンサーリンク

Azure FilesでNFSファイル共有を作成

Premium ファイル共有ではNFS4.1がサポートされている

Premium ファイル共有のストレージアカウントではNFS4.1をサポートしています。

Azure Storage 機能のサポート

Azure BLOB StorageでもNFSをサポートしています。
設定手順についてはこちらで紹介しています。

ストレージアカウントを作成

Azure Filesの作成手順についてはこちらで紹介しています。

ストレージアカウントの設定値

今回利用したストレージアカウントの設定値です。
仮想マシンからストレージアカウントへのアクセスは、サービスエンドポイント経由としています。

  • 基本
区分 項目 設定値
インスタンス
の詳細
ストレージ アカウント名 stnfstestpremium01
場所 Japan East
プライマリ サービス Azure Files
パフォーマンス Premium
冗長性 LRS(ローカル冗長ストレージ)
  • ネットワーク
区分 項目 設定値
ネットワーク接続 ネットワーク アクセス 選択した仮想ネットワークとIPアドレスからのパブリックアクセスを有効にする
仮想ネットワーク 仮想ネットワーク test-vnet-01
サブネット vm-subnet-01
(仮想マシンのサブネット)

※サービスエンドポイント経由で、仮想マシンからファイル共有へアクセスします。
※ネットワーク設定については公式サイトの注意書きを併せて参照します。

セキュリティとネットワーク

  • データ保護
区分 項目 設定値
復旧 ファイル共有の論理的な削除を有効にする 無効(チェックを外す)

※論理的削除の無効化設定は、NFSファイル共有の利用とは関係ありません。検証に必要ないため無効化しています。利用用途に合わせて設定します。

NFSファイル共有の設定値

検証用に作成した、NFSファイル共有の設定値です。

区分 項目 設定値
基本 名前 nfs-share-01
サイズ(GiB) 100
プロトコル NFS
ルートスカッシュ ルートスカッシュなし

※記事記載時点では、NFSファイル共有はAzure Backupを利用したバックアップはサポートされていません。 
※Premiumのファイル共有の最低容量は100GiBです。
※パフォーマンスはファイル共有容量に応じて自動的に設定されます。

NFSファイル共有を作成

公式サイトの手順を参考に、ストレージアカウントにNFSファイル共有を作成します。

NFS Azure ファイル共有を作成する

ファイル共有を作成

ファイル共有を選択します。

ストレージアカウントでファイル共有を作成(Linuxの仮想マシンからNFSファイル共有を利用)

基本タブです。
名前、作成するファイル共有ストレージのサイズ、プロトコル、ルートスカッシュを設定します。

NFSファイル共有を作成(Linuxの仮想マシンからNFSファイル共有を利用)

バックアップタブです。
NFSファイル共有のバックアップはサポートされていません。
そのまま次に進みます。

NFSファイル共有のバックアップ設定(Linuxの仮想マシンからNFSファイル共有を利用)

確認および作成画面です。
内容を確認し、問題がなければ作成を選択します。

新しいNFSファイル共有を作成(Linuxの仮想マシンからNFSファイル共有を利用)

安全な転送が必須の項目が有効な場合はエラーとなる

NFSによるファイル共有の場合、転送中の暗号化はサポートされていません。
安全な転送の設定が有効化されている場合は、エラーとなります。

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

安全な転送が必須が有効時にはエラーとなる

安全な転送が必須が有効になっている場合はエラーが表示されます。

安全な転送が必須が有効になっていた場合のエラー画面(Linuxの仮想マシンからNFSファイル共有を利用)

ストレージアカウントの構成を確認します。
安全な転送が必須の項目が有効になっている場合は、無効を選択して保存します。

ストレージアカウントの安全な転送が必須の設定(Linuxの仮想マシンからNFSファイル共有を利用)

※ Azure File NFSv4 マウントのTLS 暗号化機能については、AZNFS Mount Helperを参照します。

AZNFS Mount Helper

パブリックネットワークアクセスは利用できない

NFSによるファイル共有の場合、パブリックネットワークアクセスは利用できません。
選択した仮想ネットワークとIPアドレスから有効、もしくは無効を選択する必要があります。

プライベート エンドポイントまたはサービス エンドポイントを設定する

パブリックネットワークアクセス有効時はエラーになる
パブリックネットワークアクセスの設定で、すべてのネットワークから有効が選択されている場合はエラーが表示されます。 パブリックネットワークアクセスが有効になっていた場合のエラー画面(Linuxの仮想マシンからNFSファイル共有を利用)

セキュリティとネットワークの設定を確認します。
パブリックネットワークアクセスの項目を、選択した仮想ネットワークとIPアドレスから有効か無効に変更します。

※無効にした場合は、プライベートエンドポイント接続を設定します。

ストレージアカウントのパブリックネットワークアクセス設定(Linuxの仮想マシンからNFSファイル共有を利用)

LinuxからNFSファイル共有をマウントするためのコマンドを確認

LinuxからNFSファイル共有をマウントするためのサンプルコマンドを確認します。

サンプルコマンドを表示

Linuxディストリビューションを選択します。
ディストリビューションは、Debian/Ubuntu、RHEL/CentOS、SUSEから選択します。
マウントパスを指定すると、サンプルコマンドが表示されます。

※Rocky Linuxの場合は、RHEL/CentOSを選択します。

NFSファイル共有のサンプルコマンド(Linuxの仮想マシンからNFSファイル共有を利用)
サンプルコマンドで選択できるLinuxディストリビューション(Linuxの仮想マシンからNFSファイル共有を利用)

—広告—

Rocky LinuxからAzure FilesのNFSファイル共有をマウント

公式サイトの手順を参考に確認を進めています。

チュートリアル: Azure Portal を使用して NFS Azure ファイル共有を作成し、Linux VM にマウントする
NFS Azure ファイル共有を Linux にマウントする

Rocky Linuxにnfs-utilsをインストール

NFSファイル共有をマウントするために必要となる、nfs-utilsをインストールします。
NFSファイル共有をマウントする、ディレクトリを作成します。

# NFSサーバを利用するために必要となるnfs-utilsをインストール
[roo@test-vm-01 ~]# dnf -y install nfs-utils

# ディレクトリ(マウントポイント)を作成
[roo@test-vm-01 ~]# mkdir -p /mount/nfs01

Rocky LinuxからNFSファイル共有をマウント

Rocky LinuxからNFSファイル共有をマウントします。
mountコマンドで確認しています。
マウント状況は、dfコマンドを利用して確認しています。

# マウントコマンドを実行
[roo@test-vm-01 ~]# mount -t nfs stnfstestpremium01.file.core.windows.net:/stnfstestpremium01/nfs-share-01 /mount/nfs01 -o vers=4,minorversion=1,sec=sys,nconnect=4
 
# マウント状況を確認
[roo@test-vm-01 ~]# df -h
ファイルシス サイズ 使用 残り 使用% マウント位置
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 1.6G 17M 1.5G 2% /run
/dev/mapper/rocky-root 8.9G 7.3G 1.6G 83% /
~(中略)~
stnfstestpremium01.file.core.windows.net:/stnfstestpremium01/nfs-share-01 100G 0 100G 0% /mount/nfs01

NFSファイル共有にファイル書き込み

マウントしたNFSファイル共有にディレクトリを作成し、ファイルを書き込んで確認します。

# ディレクトリ作成やファイル作成を確認
[root@test-vm-01 ~]# cd /mount/nfs01/
[root@test-vm-01 nfs01]# mkdir nfstest
[root@test-vm-01 nfs01]# cd nfstest/
[root@test-vm-01 nfstest]# echo “nfs test" >> nfstestfile
[root@test-vm-01 nfstest]# cat nfstestfile
nfs test
[root@test-vm-01 nfstest]# ls -l
合計 1
-rw-r–r–. 1 root root 9 12月 15 13:18 nfstestfile

/etc/fstabにNFSファイル共有をマウントするエントリーを追加

OSを再起動した場合も、再マウントするようにfstabに設定を追加します。

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

echoコマンドを利用して、fstabファイルにエントリーを追加しています。
マウントに失敗しても起動できるように、マウントオプションにnofailを設定しています。

# fstabに書き込み
[root@test-vm-01 ~]# echo “stnfstestpremium01.file.core.windows.net:/stnfstestpremium01/nfs-share-01 /mount/nfs01 nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0" >> /etc/fstab

# fstabを確認
[root@test-vm-01 ~]#
 cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Nov 13 15:54:40 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/’.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload’ to update systemd
# units generated from this file.
#
/dev/mapper/rocky-root / xfs defaults 0 0
UUID=xxxxxxxx-xxxx-xxxxxxxx-xxxxxxxx /boot xfs defaults 0 0
UUID=XXXX-XXXX /boot/efi vfat defaults,uid=0,gid=0,umask=077,shortname=winnt 0 2
/dev/disk/cloud/azure_resource-part1 /mnt auto defaults,nofail,x-systemd.requires=cloud-init.service,_netdev,comment=cloudconfig 0 2
stnfstestpremium01.file.core.windows.net:/stnfstestpremium01/nfs-share-01 /mount/nfs01 nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0

# OSを再起動
[root@test-vm-01 ~]# reboot

# 再起動後のマウント状況を確認
[root@test-vm-01 ~]#
df -h |grep nfs01
stnfstestpremium01.file.core.windows.net:/stnfstestpremium01/nfs-share-01 100G 0 100G 0% /mount/nfs01

—広告—

最後に

Rocky Linuxをから、Azure FilesのNFSファイル共有をマウントする手順について確認してみました。
Azure Backupを利用したバックアップができないなど制限はありますが、NFSサーバーを立てる事なく利用できるのは便利かと思います。

引き続き色々試してみたいと思います。

Windows ServerからAzure Filesのファイル共有をマウントする手順についてはこちらで紹介しています。

Azure Filesのバックアップリストア手順についてはこちらで紹介しています。

 

スポンサーリンク