目次

NFS

ZFSでのNFS共有

マウント場所作成

# zfs create /zpool0/share

nfsで共有

# 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
-roReadOnly
-alldirs配下のディレクトリを任意にマウントできる
-maprootroot権限付与

確認

# zfs get sharenfs

rc.conf

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

NFSマウント

NFS クライアント設定

/etc/rc.conf に以下の行を追加。

nfs_client_enable="YES"         # This host is an NFS client (or NO).

NFS クライアント起動

#/etc/rc.d/nfsclient start

マウント場所作成

# md /mount/here

NFS クライアント設定(手動)

# mount -t nfs xxx.yyy.zzz.abc:/zpool0/share /mount/here

NFS クライアント設定(起動時)

/etc/fstab

xxx.yyy.zzz.abc:/zpool0/share /mount/here    nfs rw  0   0

オプション類

設定意味デフォルト
nfsv4nfs v4nfs v3 → v2
v4を使う場合rc.confの設定が違うので注意
roReadOnly-
rwReadWrite-
noatimeファイル読み取り時に、ファイルアクセス時刻を更新しません
rsize=nnnnn読み取りバッファサイズ8192
サイズは 1024 以上で,2 のべき乗を指定
ex.8192→16384→32768→65536
wsize=nnnnn書き込みバッファサイズ8192
サイズは 1024 以上で,2 のべき乗を指定
asyncすべてのI/Oを非同期に行う。非常に危険