在过去一周左右的时间里,我的一些 FreeBSD 服务器间歇性冻结,这意味着它们的正常网络服务停止响应。同一网络上的 IPMI 继续在这些冻结的盒子上工作。我成功地通过 IPMI 重新启动了冻结的服务,并且我可以在冻结之前通过 IPMI 看到最后一个控制台屏幕。最后一个控制台屏幕不包含来自内核的任何类型的“紧急”输出。
/var/log/messages
重新启动后或重新启动后我没有看到任何可疑条目console.log
。
这些服务器都运行 FreeBSD 8.4-RELEASE-p22 (amd64)。大约有100台服务器。他们的年龄从1岁到5岁不等。
其中 7 台机器上周冻结了,但我没有看到任何机器冻结和保持运行的模式。
我该如何诊断这个问题?
更新:我们找到了奇怪的系统冻结的可能解决方案。 FreeBSD tcp 堆栈中存在一些漏洞。在这种情况下,一些转换到 LAST_ACK 状态的 TCP 连接可能会永久卡住:https://www.freebsd.org/security/advisories/FreeBSD-SA-15:13.tcp.asc