kenkovlog

けんこふたんっオフィシャユブヨグッ
アンッ!アンッ!アンッ!アンッ!

NFSv4 の設定 (Arch Linux)

サーバ・クライアント共通

インストール

$ sudo pacman -S nfs-utils

/etc/idmapd.conf を

[General]

Verbosity = 1
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localnet

[Mapping]

Nobody-User = nobody
Nobody-Group = nobody

[Translation]

Method = nsswitch

のように編集する。次に /etc/conf.d/nfs-common.conf で idmapd を使うように

NEED_IDMAPD="yes"

と設定する。

サーバ

NFSv4 ではエクスポートするディレクトリ全てを単一のツリーで公開する。 そのためには、公開するディレクトリを mount –bind でツリーの下のディレクトリとして mount する。 ここでは

  • NFS でエクスポートするルートディレクトリ: /srv/nfs/
  • backup 用のディレクトリ: /media/backup を /srv/nfs/backup へマウント

とすることとする。このとき

$ sudo mkdir -p /srv/nfs/backup
$ sudo mount --bind /media/backup /srv/nfs/backup

でマウントする。次に /etc/exports で export するディレクトリを次のように設定する。

# エクスポートするルートディレクトリには fsid=0 をつける
/srv/nfs server.ip.addr.here/24(fsid=0,rw,sync,insecure,no_subtree_check)
# サブディレクトリには nohide をつける
/home server.ip.addr.here/24(nohide,rw,sync,insecure,no_subtree_check,fsid=0)

nfsd を起動する。

$ sudo systemctl start nfsd
$ sudo systemctl start nfs-server.target

nfsd をスタートしてから /etc/exports を書きかえたならば、

$ sudo exportfs -av

する必要がある。

あとは /etc/fstab に

/media/backup /srv/nfs/backup none bind 0 0

を追加して起動時にマウントされるようにする。

クライアント

idmapd をスタートする。

$ sudo systemctl start rpc-idmapd

次に mount 。まずは、サーバでエクスポートされているディレクトリが見えているかチェックする。

$ show mount -e server.address

見えているなら、mount でマウントする。

# サーバの /srv/nfs/backup はクライアントからは /backup として見える
$ sudo mount -t nfs4 server.address:/backup /media/backup
けんこふたん