
NFS(Network File Sharing) は、Linux クライアント間でディレクトリやファイルをネットワーク経由で共有できるプロトコルです。共有ディレクトリは通常、NFS サーバーコンポーネント を実行しているファイルサーバー上に作成されます。ユーザーがファイルを追加すると、そのディレクトリにアクセス権を持つ他のユーザーと共有されます。
NFS ファイル共有はクライアントマシンにマウントされ、ユーザーがローカルで作成したフォルダと同じように利用できます。特にディスク容量が限られている場合や、クライアントコンピュータ間でパブリックデータを交換する必要がある場合に有効です。
本記事は、Azure 上の Linux に関する記事シリーズ の一部です。
ここでは、NFS サーバーをセットアップし、クライアントマシンがマウントしてアクセスできる NFS ファイル共有 を作成する方法を説明します。
関連コンテンツ: エンタープライズ向け NFS サービスを自分で構築する方法
NFS サーバーを構成するには、NFS Kernel をインストールします。これにより、ディレクトリを NFS 共有として公開できるようになります。
sudo apt-get update sudo apt install nfs-kernel-server
yum -y install nfs-utils apt-get install nfs-kernel-server
次に NFS 共有のルートディレクトリ(エクスポートフォルダとも呼ばれる)を作成します。
sudo mkdir /mnt/myshareddir
すべてのクライアントユーザーがアクセスできるように権限を設定します(実際の運用環境では、必要に応じてより制限的な設定を検討してください)。
sudo chown nobody:nogroup /mnt/myshareddir #no-one is owner
sudo chmod 777 /mnt/myshareddir #everyone can modify files
NFS クライアントにアクセス権を付与するには、/etc/exports ファイルで設定を行います。
テキストエディタで /etc/exports を編集し、以下のいずれかのディレクティブを追加します。
ここで使用しているオプションの意味:
| 単一のクライアントへのアクセスを有効にするには | /mnt/myshareddir {clientIP}(rw,sync,no_subtree_check) |
| 複数のクライアントにアクセスを許可するには | /mnt/myshareddir {clientIP-1}(rw,sync,no_subtree_check) {clientIP-2}(...) {clientIP-3}(...) |
| サブネット全体へのアクセスを有効にする場合 | /mnt/myshareddir {subnetIP}/{subnetMask}(rw,sync,no_subtree_check) |
作成した共有ディレクトリをクライアントから利用できるようにするには、以下を実行します。
sudo exportfs -a #making the file share available
sudo systemctl restart nfs-kernel-server #restarting the NFS kernel
ファイアウォールを有効にしている場合は、次のコマンドでアクセスを許可する必要があります。
NFS サーバーをセットアップしたので、ここでは定義された NFS 共有フォルダ を Linux クライアントにマウントし、ローカルマシンで利用できるようにする方法を説明します。
Linux マシンで NFS 共有をマウントするには、次のパッケージをインストールする必要があります。
sudo apt update sudo install nfs-common
sudo yum install nfs-utils
NFS フォルダをローカルマシン上の特定の場所(マウントポイント)にマウントできます。
sudo mkdir /var/locally-mounted
sudo mount -t nfs {IP of NFS server}:{folder path on server} /var/locally-mounted
例:
sudo mount -t nfs 192.168.20.100:/myshareddir /var/locally-mounted
マウントポイントはマウントされた NFS 共有のルートとなり、その下にサーバー側で保存されたサブディレクトリが見えるようになります。
リモートの NFS ディレクトリは、ローカルシステムの起動時に自動的にマウントできます。これは /etc/fstab ファイルに定義します。
自動マウントを設定する手順は以下のとおりです。
sudo mkdir /var/locally-mounted
ここで最後の 0 0 は、ダンプ(バックアップ)およびファイルシステムチェックの設定を示します。通常は不要のため 0 に設定します。
{IP of NFS server}:{folder path on server} /var/locally-mounted nfs defaults 0 0
mount /var/locally-mounted mount {IP of NFS server}:{folder path on server}
Microsoft Azure は、代表的なパブリッククラウドサービスとして、クラウド上に NFS ファイル共有 を構築し、オンプレミスのデータセンターや Azure 内のマシンからアクセスできる環境を提供します。
Azure NetApp Files は、エンタープライズ向けに設計されたクラウドサービスで、高性能なファイルストレージを提供します。NFS バージョン 3.1 以降に対応し、あらゆる本番ワークロードをサポートするとともに、組み込みの高可用性も備えています。利用者はサービスレベルやパフォーマンスを選択でき、データの即時スナップショットも可能です。
業界をリードする NetApp テクノロジー を活用することで、最も要求の厳しい Linux および Windows のファイルワークロードを Azure に移行できます。Azure NetApp Files は サブミリ秒のレイテンシ を実現し、オンプレミスのベアメタルサーバーと同等のパフォーマンスを提供します。
Azure NetApp Files には Standard、Premium、Ultra の 3 つのパフォーマンスレベルがあり、ワンクリックで任意の階層にファイル共有をプロビジョニングできます。
Azure NetApp Files は、SAP HANA、HPC(高性能コンピューティング)、基幹業務(LOB)アプリケーション、VDI(仮想デスクトップインフラ)など、複雑なエンタープライズワークロードに対応します。これらのワークロードに対して、バックアップやスナップショットを含む統合データ管理とアプリケーション認識を提供します。
ファイル共有は Azure ポータル、CLI、PowerShell コマンド、REST API を使って、他の Azure サービスと同様に管理できます。Azure NetApp Files は NFSv3、SMB3.1.x、NFSv4.1 を含む複数のストレージプロトコルに対応しており、コードの変更を必要とせず、「リフト&シフト」モデルでクラウドに移行可能です。
大規模なエンタープライズワークロードの移行には、単純な rsync データ転送では不十分です。Azure NetApp Files を利用すれば、大規模データの転送や同期を容易に管理できます。
このサービスは FIPS 140-2 準拠のデータ暗号化、ロールベースアクセス制御(RBAC)、Active Directory 認証、アクセス制御リスト(ACL) を提供します。さらに HIPAA、SOC、GDPR など主要な業界認証にも準拠しています。これらのエンタープライズグレード機能により、あらゆる企業ワークロードを安心してクラウドに移行可能です。
今すぐ始めてみませんか? 無料デモで Azure NetApp Files を体験できます。
Jeff Whitaker is the Sr. Manager, Cloud Solutions Marketing at NetApp. When he is not carving out new horizons in product marketing for Azure NetApp Files for Microsoft Azure, he can be found racing motocross up and down the west coast. You can reach Jeff directly at jeff.whitaker@netapp.com