我刚刚在工作中接受了这项任务,这是我的头脑。我们有一个nagios监控脚本,并运行流程检查。我们有一个最近遇到问题的NFS服务器,如果它发生故障,挂载它的所有机器都会因为NFS挂载挂起并挂起SNMP检查而无法进行流程检查。
check脚本是一个使用NET :: SNMP库的perl nagios脚本。我很确定它只是通用的nagios脚本。该脚本位于http://nagios.manubulon.com/check_snmp_process.pl
请帮助我了解发生了什么。
编辑:有问题的nfs挂载适用于需要挂载很难的oracle RMAN备份。
答案 0 :(得分:2)
相当简单 - NFS旨在容忍服务器重启。挂载hard
时,NFS调用挂载的文件系统将阻塞并等待服务器响应。这是为了确保没有数据丢失或流程被暂停 - 它们只是“停顿”。 - 这就是你遇到的问题。
nfs的挂载选项可以避免此问题 - 只需在挂载时指定soft
(在fstab中,或在手动执行时-o soft
)。
但要注意 - 访问NFS挂载时会出现错误。大多数事情都会容忍这种情况,但是编写糟糕的脚本或程序总是可能会失败。
答案 1 :(得分:0)
事实证明,有一个单独的检查监视磁盘使用情况。它阻止了snmpd进程,进而导致进程检查失败。