zfsをnfsでexportするときにはまったことなど
なんかいろいろはまってしまったので、メモ
zfs の領域を nfs のために export するときには、/etc/exports に記述する必要は無く、
zfs set sharenfs=on tank/pub
でいい。
とはいえ、mountd は不要なわけじゃないので、/etc/rc.conf には mountd_enable="YES" が必要。
mountd が動いてないと
[udp] 192.168.0.19:/usr/pub: RPCMNT: clnt_create: RPC: Program not registered
って言われる。
zfs set sharenfs=on tank/pub
で、領域は mount_nfs 出来て、見ることはできるんだけど、書き込みできなかったりするので、sharenfs に /etc/exports と同じ書式でオプションをつける。
sun# zfs set sharenfs="-maproot=root -alldirs -network 192.168.0.0 -mask 255.255.255.0" tank/pub
とりあえずこんな感じ。 設定すれば mountd の再起動とかは必要なく、すぐにそのオプションは反映される。
確認は
sun# zfs get sharenfs NAME PROPERTY VALUE SOURCE tank sharenfs on local tank/pub sharenfs on local
という感じ