问题: nfs 服务器已关闭并且会导致您的计算机瘫痪!
具体来说,它会阻止启动。一个不太严重的例子是,你把你的笔记本电脑带给你的朋友,然后它无法启动,因为它试图在你的局域网上安装一个 nfs 服务器。
令人困惑的问题: 您不想在启动后手动挂载它,或者需要它的用户可能没有挂载权限。也许您只是懒惰?谁在乎呢,只要可以就应该挂载。
当我研究这个问题时,我发现曾经有一个名为 nowaitboot 的启动选项可以解决这个问题。不幸的是,它在 10 年前就被删除了。有什么替代方案吗?
常见的建议替代品:
nofail:导致严重延迟(编辑:进一步测试并不总是会导致严重挂起。DNS 故障会导致快速挂起,但服务器宕机会导致长时间挂起)
noauto:不会自动挂载
不要尝试使用 fstap 中的硬挂载,而是尝试使用 autofs
https://www.redhat.com/en/blog/mount-nfs-filesystems-autofs
将在第一次访问时而不是在启动时挂载 NFS 共享。
解决方案:
背景
解释: Nfs 默认使用fg进行挂载。它在前台或主线程中运行。这意味着它会阻止进一步启动,直到挂载失败或成功。当没有挂载点的启动可能导致问题时,这是一个很好的选择。但是,如果启动停滞比未挂载共享更糟糕,那么它有bg选项。奇怪的是, bg选项在后台运行。这意味着分叉一个新线程来处理挂载共享,以便计算机可以继续启动。
此外,它可以与retry=[count]和timeo=[1/10 秒的数量]结合使用,以进一步调整安装行为。例如:bg,retry=15,timeo=60将重试 15 次,每次尝试之间等待 6 秒。如果启动时网络中断,但在用户会话期间网络正常,则会产生延迟。
实际示例:
/etc/fstab
潜在问题: 如果关键进程需要网络服务器,否则就会发生不好的事情,那么如果网络服务器不可用,就会发生不好的事情。fg是默认值是有原因的。
摘要:出于充分的理由, fg是默认选项,但如果这些理由不适用于你,bg可以作为nowaitboot的有用替代品