绝望:statd 超时,lockd 无法监控/取消监控

绝望:statd 超时,lockd 无法监控/取消监控

从今天下午开始,服务器就出现了问题。在服务器端,我看到了dmesg以下消息:

statd: server rpc.statd not responding, timed out
lockd: cannot unmonitor <client>
statd: server rpc.statd not responding, timed out
lockd: cannot monitor <client>

在客户端我看到dmesg

lockd: server <server> not responding, still trying
lockd: server <server> OK

这会让整个网络瘫痪!我试过了解决方案这是 Xian 所建议的,但是没有什么区别。

服务器,Debian Linux,Squeeze 64 位:

>> uname -a
Linux <server> 2.6.32-5-amd64 #1 SMP Fri May 10 08:43:19 UTC 2013 x86_64 GNU/Linux

客户端,Linux Mint 13-64位:

>> uname -a
Linux <client> 3.2.0-49-generic #75-Ubuntu SMP Tue Jun 18 17:39:32 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

我没有在服务器上运行更新,所以我不知道可能发生了什么变化。我确实升级了我们的一台客户端计算机,但不明白为什么这会扰乱服务器,因为所有计算机似乎都受到影响。有什么想法可以解决这个问题吗?

更新 1

服务器暂停一段时间

Starting portmap deamon
Starting NFS common utilities: statd idmapd

这需要大约 2 分钟的时间,直到启动继续...

更新2

确实是升级的客户端计算机导致了此问题。它似乎不知何故statd在服务器上停滞了,导致所有其他计算机都出现问题。我重新启动了整个网络,关闭了那台计算机,没有遇到任何问题。虽然没有真正解决问题,但此后我再次降级了那台计算机,一切似乎都很稳定。

答案1

这里有几点建议:

我曾经设法破坏了环回接口 ( lo),并因此导致多个服务(如 NFS)无法正常工作。看看ifconfig你心爱的lo接口是否仍在运行。如果没有,请去查看/etc/network/interfaces发生了什么。

正如一些人已经提到的,检查命令pgrep -v statdnetstat -tlnpu查看 statd 是否正在运行。

或者也许有人在服务器端更改了某些内容/etc?如果您没有/etc版本控制,请查看是否有任何文件最近被修改:find /etc -mtime -14例如,将显示过去 14 天内更改的文件。

答案2

请看这里:http://sophiedogg.com/lockd-and-statd-nfs-errors/

尝试 :

# /etc/init.d/nfs-common stop
# /etc/init.d/nfs-kernel-server stop
# rm -rf /var/lib/nfs/statd/sm/*
# rm -rf /var/lib/nfs/statd/sm.bak/*
# /etc/init.d/nfs-common start
# /etc/init.d/nfs-kernel-server start

我遇到了同样的问题,这个解决了...但只持续了一个月。我现在不知道为什么。今天我不得不再次删除这些文件。

答案3

我在 nfs debian squeeze 服务器上遇到了同样的问题,而且似乎也是由一些新客户端 (Fedora 20) 触发的。降级客户端对我来说不是一个选择,经过一段漫长、痛苦且不成功的调试后,我最终在 nfs 导出的 ext4 文件系统上发现了一个 (不同且可能不相关的) readdir 循环错误,其中包含大量类似于以下内容的文件: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1240143

(我可能错了,据我所知,这个问题已经在最近的内核中修复了,所以 debian squeeze 可能会受到影响)

长话短说,为了至少摆脱那个错误,我将我的 nfs 服务器升级到 debian wheezy(强制将 nfs 版本升级到 3),现在(使用相同的文件系统和相同的客户端)已经一周没有出现“无法监控”/“无响应”的问题(升级之前,这是每天都会发生的事情)

答案4

这对我的情况有用:

https://lists.debian.org/debian-user/2004/10/msg00932.html

只需编辑 /etc/init.d/halt 脚本,最后应该有这一行

停止-d-f-i $ poweroff $ hddown

“-i”选项使所有网络接口关闭,但对于无盘客户端来说这似乎太早了,只需尝试删除此选项,因此

停止-d-f $ poweroff $ hddown

请注意,我的问题出在带有磁盘的客户端上的 NFS 上。

相关内容