我有一个家庭服务器,有多个驱动器,为了简单起见 /media/user/Photos /media/user/Software
两者都是单独导出的 NFS
然后有一个单独的目录“/media/user/Software/software”,其中包含一堆....软件等等。
遗憾的是,安装在 /media/user/Software 上的驱动器刚刚出现故障,我备份了信息。我将其备份到 /media/user/Photos/software
现在我有很多应用程序被设置为在 /media/user/Software/software 中查找配置甚至一些二进制文件。我希望在攒钱买新驱动器来替换另一个驱动器的几周/几个月内仍能访问它们。
首先,我只是创建了一个符号链接,它在本地运行良好,但如你所知,它在远程系统上效果不佳。
然后我想我可以绑定安装它,这样就可以在服务器上工作了
sudo mount --bind /media/ketterer/Photos/software/ /media/ketterer/Software/software/
再次,这在本地运行良好,但对我的远程客户端却没有像我想象的那样工作,我认为绑定挂载复制了目录树,所以我认为我能够“通过”原始路径从远程访问文件。
我哪里做错了?或者有什么更好的方法可以做我想做的事?这可能是 NFS 导出问题,还是根本不可能?
答案1
我假设/media/ketterer/照片和/media/ketterer/软件是服务器上的单独导出。您可以在服务器上
使用或来显示/验证导出。showmount -e <nfs-server-ip>
exportfs -v
您必须crossmnt
在服务器上指定才能使绑定挂载目录可见。
假设/media/ketterer/Photos
是导出路径,采用 NFS 导出配置并添加crossmnt
。例如/etc/exports..
/media/ketterer/Photos 192.168.122.0/24(rw,sync,no_root_squash,no_subtree_check,crossmnt)
更改后,您必须告诉 NFS 服务器获取这些更改。
exportfs -ar
最后在您的客户端上重新挂载 NFS 共享。