如何在 FreeBSD 上使用 NFSv4 共享 ZFS 文件系统?

如何在 FreeBSD 上使用 NFSv4 共享 ZFS 文件系统?

使用 FreeBSD 9,并创建一个 ZFS 文件系统,如下所示

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

网络上有很多关于在 FreeBSD 上设置 NFSv3 的操作指南,但我找不到任何一个 NFSv4 以及何时使用 ZFS 完成 NFS 共享的指南。

例如如何说我必须通过重新启动(NFSv3)nfsd -u -t -n 4,但我甚至没有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
#

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

问题

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

答案1

NFSv4 内置于 FreeBSD 中(8.x 中为实验性支持,9.x 及更高版本中为生产质量)。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 (v4 所需的 NFS 用户/组信息)

  2. 创建目录并导出

    # 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 restart 使用或 重新启动 nfsdservice nfsd restart

FreeBSD 手册中有关 NFS 的部分了解更多信息。

相关内容