# zfs create /zpool0/share
# zfs set sharenfs="-network xxx.yyy.zzz.0 -mask 255.255.255.0 -maproot=root" zpool0/share
maproot=root ですが,共有先の root ユーザが NFS で共有されたファイルシステムに書き込む際に root として書き込む事を許可します
オプション | 意味 |
---|---|
-network 192.168.123.0 -mask 255.255.255.0 | アクセスを許可するネットワーク |
-network=192.168.123.0/24 | |
192.168.123.111 | アクセスを許可するIP |
host.example.com | アクセスを許可するhost |
-ro | ReadOnly |
-alldirs | 配下のディレクトリを任意にマウントできる |
-maproot | root権限付与 |
# zfs get sharenfs
rpcbind_enable="YES" nfs_server_enable="YES" mountd_enable="YES"
NFS用の各デーモンを起動しますが、依存関係があるため起動順序が重要です。
(rcorder /etc/rc.d/* というコマンドで順番はわかります)
# /etc/rc.d/rpcbind start # /etc/rc.d/mountd start # /etc/rc.d/nfsd start
実際にポートマップがどうなっているのかは、
# rpcinfo -p
を実行するとわかります。
# showmount -e
# zfs set sharenfs=off zpool0/share
/etc/rc.conf に以下の行を追加。
nfs_client_enable="YES" # This host is an NFS client (or NO).
#/etc/rc.d/nfsclient start
# md /mount/here
# mount -t nfs xxx.yyy.zzz.abc:/zpool0/share /mount/here
/etc/fstab
xxx.yyy.zzz.abc:/zpool0/share /mount/here nfs rw 0 0
オプション類
設定 | 意味 | デフォルト |
---|---|---|
nfsv4 | nfs v4 | nfs v3 → v2 |
v4を使う場合rc.confの設定が違うので注意 | ||
ro | ReadOnly | - |
rw | ReadWrite | - |
noatime | ファイル読み取り時に、ファイルアクセス時刻を更新しません | |
rsize=nnnnn | 読み取りバッファサイズ | 8192 |
サイズは 1024 以上で,2 のべき乗を指定 | ||
ex.8192→16384→32768→65536 | ||
wsize=nnnnn | 書き込みバッファサイズ | 8192 |
サイズは 1024 以上で,2 のべき乗を指定 | ||
async | すべてのI/Oを非同期に行う。非常に危険 |