XenServer和ZFS通过NFS

我正尝试将NFS共享连接到XenCenter。 NFS服务器是一个ZFSGuru发行版(使用FreeBSD)。

zfs卷是这样输出的:

/sbin/zfs set sharenfs="on" temppool/share 

根据“showmount”,它是可用的:

 showmount -e /temppool/share Everyone 

但是,当我尝试使用XenServer连接到它(因此它可以用作VHD的存储)时,出现以下错误:

 Internal error:Failure("Storage_access failed with: SR_BACKEND_FAILURE_73: [; NFS mount error[opterr=mount failed with return code 32]; ]") 

任何人有一个想法?

更新:

这是来自NFS服务器上的日志:

9月3日16:23:10 zfsguru mountd [962]:从192.168.10.217挂载不存在的path/ temppool / share / 7c8d3f2f-e0e0-5263-ccad-1cd32a4139cf

9月3日16:23:10 zfsguru mountd [962]:mount请求从192.168.10.217拒绝/ temppool / share / 7c8d3f2f-e0e0-5263-ccad-1cd32a4139cf

Sep 3 16:23:11 zfsguru mountd [962]:从192.168.10.217挂载不存在的path/ temppool / share / 7c8d3f2f-e0e0-5263-ccad-1cd32a4139cf

9月3日16:23:11 zfsguru mountd [962]:mount请求从192.168.10.217拒绝/ temppool / share / 7c8d3f2f-e0e0-5263-ccad-1cd32a4139cf

9月3日16:28:20 zfsguru mountd [962]:mount请求从192.168.10.217拒绝/ temppool / share / 17922178-0dfb-edf3-0037-2eddd79b9d02

9月3日16:28:43 zfsguru上次留言重复了5次

Sep 3 16:35:00 zfsguru mountd [962]:mount / 192 /

9月3日16:35:33 zfsguru上次留言重复4次

9月3日16:35:34 zfsguru mountd [962]:mount请求从192.168.10.217拒绝/ temppool / share / b5735ccf-1997-8d77-83a0-2f34e37dda8d

看来XenServer能够创build目录,但是可以在之后安装它们。

XenServer会尝试直接将子文件夹挂载到共享位置(例如/ temppool / share / 7c8d3f2f-e0e0-5263-ccad-1cd32a4139cf)。 这些文件夹必须通过NFS服务器导出。

尝试通过XenServer CLI手动挂载它。 同时检查权限(需要完整的读/写访问权限)。

尝试使用nfsd出口尝试以下解决scheme链接http://myitnotes.info/doku.php?id=en:jobs:freebsd_zfs_nfs_for_vmware

它似乎试图挂载到NFS导出以下的文件夹,因此您可能需要将alldirs选项添加到导出。

 zfs set sharenfs="-alldirs -maproot=root" dataset 

这并不能解释为什么它试图挂载不存在的文件夹,所以这可能不是一个完整的解决scheme。

编辑添加maproot显然只是alldirs没有任何区别。 没有将根映射到本地根(或另一个本地用户),客户端可能没有权限在NFS服务器上创build条目。