![NFS 挂载/重启失败-竞争条件?](https://linux22.com/image/656845/NFS%20%E6%8C%82%E8%BD%BD%2F%E9%87%8D%E5%90%AF%E5%A4%B1%E8%B4%A5-%E7%AB%9E%E4%BA%89%E6%9D%A1%E4%BB%B6%EF%BC%9F.png)
我最近遭遇了服务器崩溃(Ubuntu 12.04)并且随后无法重启的惨痛经历。
看起来,操作系统在加载网络之前尝试在 /etc/fstab 文件中挂载 NFS 共享,这意味着操作系统无法在启动周期中越过该点。
我的 fstab 文件是正确的,并且该服务器之前已经重新启动过,所以我只能认为这是一种竞争条件?
有什么方法可以在操作系统启动后挂载 fstab 中的目录,或者至少在启动过程的最后执行此操作?
答案1
一种解决方法是编辑/etc/fstab
以使用_netdev
mount 选项。摘自 mount 手册页:
_netdev 文件系统驻留在需要网络访问的设备上(用于防止系统在系统上启用网络之前尝试安装这些文件系统)。
其他可能性是使用soft
或intr
安装选项。
请注意全部这些选项有其缺点,最大的缺点是它们将完全跳过 NFS 挂载,而无需稍后尝试。
真正的解决方案可能是使用autofs
机制,用于按需安装。
或者,至少尝试在启动过程的后期挂载你的 NFS 共享 - 也许使用 rc.local(或类似的)。