将多个 NFS 导出挂载到同一客户端目录

将多个 NFS 导出挂载到同一客户端目录

我遇到了 NFS 问题,但不知道该如何解决。我花了一些时间试图找到答案,但没有成功。我最终试图实现以下设置,而不必单独挂载每个子目录,因为这些子目录可能会随着时间的推移而动态变化,并且该路由不会扩展。

NFS 服务器1出口/srv/文件/该目录中有这些子目录,其中包含客户端所需的实际文件

/srv/files/0001/
/srv/files/0002/
/srv/files/0003/
/srv/files/0004/

NFS 服务器2出口自己的/srv/文件 该目录中的结构类似,但子文件夹的名称相对于 NFS Server1 文件夹来说是唯一的

/srv/files/0005/
/srv/files/0006/
/srv/files/0007/
/srv/files/0008/

NFS 客户端可以在同一目录中将两个 NFS 服务器共享挂载为只读:

/srv/nfs/0001
/srv/nfs/0002
/srv/nfs/0003
/srv/nfs/0004
/srv/nfs/0005
/srv/nfs/0006
/srv/nfs/0007
/srv/nfs/0008

这可能吗?NFS 是正确的途径吗?同样,我不需要将数据写入 NFS 服务器,只需读取即可。

答案1

这无法直接通过 NFS 实现,但您可以使用unionfsoverlayfs来实现这一点。作为overlayfs标准内核的一部分,我建议先尝试一下,例如:

$ mount srv1:/srv/files /srv1
$ mount srv2:/srv/files /srv2
$ mount -t overlay overlay -olowerdir=/srv1:/srv2 /srv/nfs

相关内容