ネットワークファイルシステムであるNFSは、ネットワーク上のシステム間でファイルやディレクトリを共有することができます。 NFSは、クライアント・サーバー・アーキテクチャに基づいており、NFSサーバーは、クライアントが接続してアクセスできる特定のディレクトリを共有し、ローカルにマウントします。 NFSでは、マウントされたディレクトリは、あたかもローカルシステムに存在するかのように見えます。
Linux OSでは、mountコマンドを使って、NFSで共有されたディレクトリをローカルシステムに簡単にマウントすることができます。 mountコマンドは、ファイルシステムを一時的にマウントします。 システムを再起動すると、アクセスするためには再びマウントする必要があります。
この記事では、ローカルシステムにNFSファイルシステムを手動および自動でマウントする方法について説明します。
事前準備
先に進む前に、リモートサーバー上で以下の事前準備が完了していることを確認してください。
- NFSサーバーがリモートマシンにインストールされている
- NFSサービスが実行されている
- NFS共有ディレクトリがエクスポートされている
- ファイアウォールがクライアントIPへのアクセスをブロックしていない
私たちは、Ubuntu 20.04システム上で、この記事に記載されている手順を実行しました。 さらに、Ubuntuでコマンドを実行するために、コマンドラインのTerminalアプリケーションを使用しました。
NFSクライアントパッケージのインストール
ローカルクライアントシステムにNFS共有ディレクトリをマウントするには、NFSクライアントパッケージが必要です。
続いて、ターミナルで次のコマンドを使用して、クライアントマシンにNFSクライアントパッケージをインストールします。
NFSファイルシステムを手動でマウントする
以下の方法では、mountコマンドを使用して、NFSディレクトリを手動でマウントします。
ステップ 1: NFS サーバーの共有ディレクトリのマウント ポイントを作成する
最初のステップは、クライアントのシステムにマウント ポイントのディレクトリを作成することです。
ここでは、/mnt ディレクトリの下に「client_sharedfolder」という名前のマウント ポイント ディレクトリを作成しました。
Step 2: NFSサーバーの共有ディレクトリをクライアントにマウントする
次のステップでは、NFSサーバーの共有ディレクトリをクライアントのマウントポイントのディレクトリにマウントします。 次の構文を使用して、NFSサーバーの共有ディレクトリをクライアントのマウントポイントのディレクトリにマウントします:
ここで
- NFS_IP は NFS サーバーの IP アドレス
- NFS_export は NFS サーバーの共有ディレクトリ
- Local_mountpoint はクライアントのシステム上のマウントポイントのディレクトリ
この例では、コマンドは次のようになります。
ここで、192.168.72.136はNFSサーバーのIP、/mnt/sharedfolderはNFSサーバーの共有ディレクトリ、/mnt/sharedfolderはクライアントシステムのマウントポイントです。
NFS共有をマウントしたら、次のコマンドを使って確認します。
Step 3: NFS 共有のテスト
クライアントマシンで NFS 共有ディレクトリをマウントした後、NFS サーバーからいくつかのファイルにアクセスしてテストします。
cd コマンドを使用して、NFS サーバーの共有ディレクトリに移動します。
次に、touch または mkdir コマンドを使用して、テスト ファイルまたはディレクトリを作成します。
今度はクライアントのマシンで、同じファイルが存在するかどうかを確認します。
mountコマンドは、NFSファイルシステムをクライアントシステムに一時的にマウントします。 システムを再起動するたびに、手動でマウントする必要があります。
NFSファイルシステムを自動的にマウントする
次の方法では、ブート時にNFSファイルシステムが自動的にマウントされるように設定します。
次のコマンドで /etc/fstab ファイルを編集します。
次に、/etc/fstab ファイルに次の形式でエントリを追加します。
NFS server:directory mountpoint nfs defaults 0 0
NFS server:directoryにはNFSサーバーのIPとその共有ディレクトリ、mount pointにはNFSディレクトリがマウントされているクライアントのマシンのマウントポイント、nfsにはファイルシステムの種類を定義します。
この例では、次のようなエントリになります。
192.168.72.136はNFSサーバーのIP、/mnt/sharedfolderはNFSサーバーの共有ディレクトリ、/mnt/client_sharedfolderはクライアントシステムのマウントポイントです。
上記のエントリを/etc/fstabファイルに追加したら、保存してファイルを閉じます。
次回マシンを起動したとき、NFS 共有は指定されたマウント ポイントに自動的にマウントされます。 umountコマンドに続いて、マウントされているマウントポイント名を入力します。
注意: コマンドはunmountではなく「umount」です。
この例では、以下のようになります。
ただし、/etc/fstab を使用して NFS ファイルシステムがマウントされている場合は、次回システムを起動したときに再びマウントされることを覚えておいてください。 また、ファイルシステム上でファイルが開かれていたり、あるディレクトリで作業をしていたりと、ファイルシステムがビジー状態の場合は、アンマウントされないことにも注意してください。 この記事では、Ubuntu 20.04システムでNFS共有ディレクトリを手動および自動でマウントする方法を説明しました。 最後に、NFS共有ディレクトリが不要になったときにアンマウントする方法についても説明しました。