我使用 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)
mp1,mp2是循环设备的挂载点!
启动 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)`
灵感源自:这里