我有一个机器有很多NFS挂载的情况。 有一段时间,其中一台NFS服务器由于需要重启才能修复的硬件问题而丢失设备。
然后,用户通过像ftp之类的东西,在目录上做一个ls,然后挂起。 然后他们通常会感到沮丧,然后再试一次。 这最终挂起客户端机器通过使用所有的ftp会话。
有没有什么办法让NFS放弃挂载,所以当他们做一个ls他们只是得到一个空目录? 或者有什么方法可以检测到NFS主机没有正确响应并删除它? …或者,当驱动器不在时,我可以以某种方式从服务器端执行此操作?
你首先需要改变你的nfs坐骑给我们的可中断选项(在大多数口味上)。 这将允许你通过Ctl-C将应用程序挂起,等待从内核返回,这是永远不会发生的。
如果你在客户端上使用autofs,一个软装载和一个短的时间值,它将会有所帮助。
从客户的angular度来看,上面的答案是非常好的,但是你也应该考虑一下服务器端。
在我们的环境中,我们使用nfs服务器在多台机器之间共享networking内容。 这些机器还使用pacemaker / openais来确定谁应该运行NFS服务器进程,安装光纤通道卷以及nfs服务器的IP地址。
当我们需要重新启动一台机器时,起搏器检测到这一点,并将活动NFS服务器移动到另一个节点,以便服务不中断。