我遇到了 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 实现,但您可以使用unionfs
或overlayfs
来实现这一点。作为overlayfs
标准内核的一部分,我建议先尝试一下,例如:
$ mount srv1:/srv/files /srv1
$ mount srv2:/srv/files /srv2
$ mount -t overlay overlay -olowerdir=/srv1:/srv2 /srv/nfs