nfs,已安装的循环设备

nfs,已安装的循环设备

我使用 Debian 服务器 (Jessie) 作为 NFS 服务器。所有导出的 NFS 共享都是使用循环设备挂载的文件系统。它们在 fstab 中挂载,没有任何特殊选项,挂载点在公共根目录中进行管理:

  • /nfsshares *(rw,fsid=0,async)
  • /nfsshares/mp1 *(rw,sync,no_root_squash,no_subtree_check,nohide)
  • /nfsshares/mp2 *(rw,async,no_root_squash,no_subtree_check,nohide)

mp1mp2是循环设备的挂载点!

启动 nfs 服务器会导致日志文件中出现以下条目: /nfs共享/mp1/nfs共享/mp2具有与*相同的文件句柄,首先使用。

所有 NFS 客户端始终挂载第一个共享 - 无论使用哪个挂载点。我认为这与挂载点使用的循环设备有关。

不能使用已挂载的映像进行 NFS 共享吗?

谢谢/franzR

答案1

根据正在安装的目录的位置以及客户端和服务器配置,确保/etc/exports在服务器上正确设置可能会很有价值。 这个答案设置带有挂载点作为子目录的 NFS 可能会有所帮助。

答案2

这个答案可能有点晚了,但希望能够帮助其他遇到同样问题的人:

问题可能是 fs UUID 相同(至少对我来说是这样)。在导出中指定 fsid 解决了这个问题。(请注意,fsid=0 用于“完整导出”,请参阅https://linux.die.net/man/5/exports)。

因此,为 2 个循环设备导出添加 fsids != 0 应该可以解决此问题。结果应如下所示:

`/nfsshares        *(rw,fsid=0,async)`
`/nfsshares/mp1    *(rw,fsid=1,sync,no_root_squash,no_subtree_check,nohide)`
`/nfsshares/mp2    *(rw,fsid=2,async,no_root_squash,no_subtree_check,nohide)`

灵感源自:这里

相关内容