メニュー

​​Linux NFS サーバーとは|設定方法と Azure での代替案​

 : ​​Linux 環境での NFS サーバー構築と Azure NetApp Files の活用方法。​

目次

このページを共有

blank avatar
Jeff Whitaker

Linux NFS サーバーとは

ネットワーク越しにディレクトリやファイルを共有するためのプロトコル

NFS(Network File Sharing) は、Linux クライアント間でディレクトリやファイルをネットワーク経由で共有できるプロトコルです。共有ディレクトリは通常、NFS サーバーコンポーネント を実行しているファイルサーバー上に作成されます。ユーザーがファイルを追加すると、そのディレクトリにアクセス権を持つ他のユーザーと共有されます。

NFS ファイル共有はクライアントマシンにマウントされ、ユーザーがローカルで作成したフォルダと同じように利用できます。特にディスク容量が限られている場合や、クライアントコンピュータ間でパブリックデータを交換する必要がある場合に有効です。

本記事は、​​Azure 上の Linux に関する記事シリーズ の一部です。​​

クイックチュートリアル #1: NFS サーバーと NFS 共有のセットアップ

概要

ここでは、NFS サーバーをセットアップし、クライアントマシンがマウントしてアクセスできる NFS ファイル共有 を作成する方法を説明します。

関連コンテンツ: エンタープライズ向け NFS サービスを自分で構築する方法

NFS サーバーのインストール

NFS サーバーを構成するには、NFS Kernel をインストールします。これにより、ディレクトリを NFS 共有として公開できるようになります。

  • Ubuntu / Debian 系:
sudo apt-get update sudo apt install nfs-kernel-server
  • CentOS / Fedora 系:
yum -y install nfs-utils apt-get install nfs-kernel-server

ルート NFS ディレクトリの作成

次に 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 クライアントのアクセスを定義

NFS クライアントにアクセス権を付与するには、/etc/exports ファイルで設定を行います。

テキストエディタで /etc/exports を編集し、以下のいずれかのディレクティブを追加します。

ここで使用しているオプションの意味:

  • rw: 読み書きを許可
  • sync: 変更をディスクに書き込んでからアクセスを許可
  • no_subtree_check: サブディレクトリごとのアクセスチェックを無効化
単一のクライアントへのアクセスを有効にするには /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)

NFS 共有をクライアントに公開

作成した共有ディレクトリをクライアントから利用できるようにするには、以下を実行します。

sudo exportfs -a #making the file share available

sudo systemctl restart nfs-kernel-server #restarting the NFS kernel

ファイアウォールを有効にしている場合は、次のコマンドでアクセスを許可する必要があります。

クイックチュートリアル #2: クライアントマシンでの NFS 設定と共有のマウント

概要

NFS サーバーをセットアップしたので、ここでは定義された NFS 共有フォルダ を Linux クライアントにマウントし、ローカルマシンで利用できるようにする方法を説明します。

NFS クライアントパッケージのインストール

Linux マシンで NFS 共有をマウントするには、次のパッケージをインストールする必要があります。

  • Ubuntu / Debian 系:
sudo apt update sudo install nfs-common
  • CentOS / Fedora 系:
sudo yum install nfs-utils

NFS ファイル共有の一時的なマウント

NFS フォルダをローカルマシン上の特定の場所(マウントポイント)にマウントできます。

  1.    ローカルディレクトリを作成します(例: /var/locally-mounted)。
sudo mkdir /var/locally-mounted
  1.   mount コマンドで NFS 共有をマウントします。成功すると出力は表示されません。
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 共有のルートとなり、その下にサーバー側で保存されたサブディレクトリが見えるようになります。

  1.   NFS共有が正常にマウントされたことを確認するには、mountコマンドまたはdf -hを実行します。

NFS ファイル共有の永続的なマウント

リモートの NFS ディレクトリは、ローカルシステムの起動時に自動的にマウントできます。これは /etc/fstab ファイルに定義します。

自動マウントを設定する手順は以下のとおりです。

  1.   ローカルディレクトリを作成します。
sudo mkdir /var/locally-mounted
  1.   nano などのエディタで /etc/fstab を編集します。
  1.   以下のように行を追加します(パラメータ間はタブ文字で区切ります)。改行は入れず 1 行にします。

ここで最後の 0 0 は、ダンプ(バックアップ)およびファイルシステムチェックの設定を示します。通常は不要のため 0 に設定します。

{IP of NFS server}:{folder path on server} /var/locally-mounted nfs defaults 0 0
  1.   共有をマウントします。次回システム起動時には自動的にマウントされます。
mount /var/locally-mounted mount {IP of NFS server}:{folder path on server}

​​Azure NetApp Files: クラウドベースの NFS サーバー代替

エンタープライズ向けの高性能ファイルストレージを Azure 上で実現

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 を体験できます。

Drift chat loading