serverapps:zfs:nfs
目次
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 |
-ro | ReadOnly |
-alldirs | 配下のディレクトリを任意にマウントできる |
-maproot | root権限付与 |
確認
# 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
オプション類
設定 | 意味 | デフォルト |
---|---|---|
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を非同期に行う。非常に危険 |
serverapps/zfs/nfs.txt · 最終更新: 2024/08/29 05:40 by hayashi