Ubuntu Server 16.04でNFSを設定する

NFS (Network File System) を設定する手順を調べたので備忘録。Ubuntu Server と題には書いているけれど、他の Linux でも同じだと思う。

要点

  • サーバー側は
    • nfs-kernel-server パッケージをインストールし、
    • /etc/exportfs で公開するディレクトリをオプションとともに宣言した後、
    • sudo exportfs -ra で設定を有効化する
  • クライアント側は
    • nfs-common パッケージをインストールし、
    • mount コマンドの -t (--type) オプションに nfs を指定しつつ、
    • マウント元として server_addr:/path/to/the/dir と指定してマウントする

設定手順例

サーバー earth/srv/nfs を、クライアントマシンの /mnt/earth にマウントする場合、次のような手順となる:

サーバー側

sudo apt install nfs-kernel-server
echo '/srv/nfs (rw,sync,no_subtree_check)' | sudo tee -a /etc/exportfs
sudo exportfs -ra

クライアント側

sudo apt install nfs-common
sudo mount -t nfs earth:/path/to/the/dir /mnt/earth

/etc/exportfs に指定するオプション(上の例でいう syncno_subtree_check など)については man exports で詳細を確認できる。