====== 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を非同期に行う。**非常に危険**| |