如何在NFS上共享一个ZFS文件系统?

使用FreeBSD 9,创build一个像这样的ZFS文件系统

zfs create tank/project1 zfs set sharenfs=on tank/project1 

网上有很多关于在FreeBSD上设置NFSv3的方法,但是我找不到任何一个NFSv4,并且当NFS共享完成了ZFS。

比如说这个怎么说我必须用nfsd -u -t -n 4重新启动(NFSv3),但是我甚至没有nfsd

当我做

 # echo /usr/ports/*/*nfs* /usr/ports/net-mgmt/nfsen /usr/ports/net/nfsshell /usr/ports/net/pcnfsd /usr/ports/net/unfs3 /usr/ports/sysutils/fusefs-chironfs /usr/ports/sysutils/fusefs-funionfs /usr/ports/sysutils/fusefs-unionfs # 

我没有看到任何可以使用pkg_add安装的NFSv4服务器。

我如何安装和设置NFSv4,所以我可以挂载从Linux主机共享?

NFSv4内置于FreeBSD(8.x中的实验性支持,9.x和lter中的生产质量)。
nfsd应该位于/etc/rc.d/nfsd

您应该首先将其启用到rc.conf文件或/etc/rc.d/nfsd onestart

1)启用nfs
echo nfs_server_enable="YES" >> /etc/rc.conf

对于NFSv4,您还需要以下内容:

echo nfsv4_server_enable="YES" >> /etc/rc.conf (启用NFSv4)
echo nfsuserd_enable="YES" >> /etc/rc.conf所需的NFS用户/组信息)

2)创build目录并导出它们

 # mkdir -p /mnt/{dir1,dir2} # vi /etc/exports 

(将以下行添加到/etc/exports文件中)

 /mnt/dir1 -alldirs 192.168.1.x/24 /mnt/dir2 -alldirs 192.168.1.x/24 

3)使用/etc/rc.d/nfsd restartservice nfsd restart

有关更多信息,请参阅处理NFS的FreeBSD手册部分 。