依赖于其他 NFS 挂载的 NFS 挂载在启动时无法挂载

依赖于其他 NFS 挂载的 NFS 挂载在启动时无法挂载

我已经设置了 5 个 NFS 挂载/etc/fstab

第一个“父级”挂载在本地挂载点上/foo,其他 4 个“子级”挂载在第一个的挂载点上:

假设第二个是/foo/test1。第三个是/foo/media等等...

例子:

192.168.0.101:/adventure-time    /foo           some-nfs-options
192.168.0.101:/south-park        /foo/test1     some-nfs-options
192.168.0.101:/futurama          /foo/media     some-nfs-options
/etc./

但是当我df -h登录后(重新启动后)它只显示共享/foo...其他(在子目录中)未安装...所以我输入mount -a一切都很好......

我检查了/var/log/messages一下,发现在启动过程中,当它尝试挂载依赖于“父”文件夹中的文件夹的“子”nfs 导出时,它会抱怨“未找到本地挂载点”。因此,我认为挂载需要一些时间(我们说的是 1-2 秒以上),/adventure-time因此/foo在此期间文件夹test1不可media用... 因此它无法挂载其他共享。就像它试图一次挂载所有内容一样...

然后登录后,当这些文件夹已经存在(因为/adventure-time已经安装在/foo)时,它会毫无问题地安装其他共享(本地安装点已经存在)...

问题是如何使“子”共享依赖于“父”共享,并等待父共享挂载后再尝试?

输入只是一种解决方法mount -a....../etc/rc.d/rc.local

我是否应该在 fstab 中放入一些 nfs 选项?

这个问题有解决办法吗?nfs(或者启动过程)不应该这么笨... :/

答案1

您需要bg安装选项/etc/fstab:这将导致最初失败的安装自行后台运行并重试,直到成功。

答案2

这个问题有解决办法吗?nfs(或启动过程)不应该这么愚蠢

启动过程并不愚蠢。我有一段时间没有阅读 mount/nfs 的手册页了,但我不记得有办法让一个挂载依赖于另一个挂载。

看来您已经有了一个解决方案 - 使用脚本。您可能想看看挂载点命令可以帮助完成此类脚本。

另一个解决方案可能是自动文件系统。您可以像平常一样使用 fstab 挂载主 NFS 文件系统,然后使用 autofs 根据需要挂载子文件系统。

答案3

如果您使用的是类似 redhat 的发行版,请确保启用该netfs服务。

这应该可以处理嵌套的安装。测试一下看看。

相关内容