如何调查意外的 Linux 服务器关闭?

alf*_*ish 18 troubleshooting unexpected-shutdown debian-squeeze

在带有 Debian 6 的raid 10 和 4xSSD 的新 Xeon 55XX 服务器中,我在服务器建成后的两周内经历了 2 次随机关闭。在关闭之前查看带宽日志并没有表明任何异常。服务器负载通常很低(大约1)并且它位于很远的地方。服务器宕机时似乎没有停电。

我知道我查看了 /var/log 但不确定我应该调查哪些日志以及我应该寻找什么。所以感谢你的提示。

Bit*_*nce 11

首先,我必须问:“关机”?您的意思是机器重新启动还是实际上停止了?如果它停止,则可能是配置错误(可能在 BIOS 中)或正在主动关闭机器(即 init 0)。

如果不是,您的主要候选者将是 /var/log/syslog 和 /var/log/kern.log,因为您的问题听起来像是内核崩溃或软件触发的硬件故障。当然,如果服务器运行某些服务(例如 apache)也可能会给你一个线索。

通常,在这种情况下,会生成日志条目,但由于机器出现问题,因此无法将条目写入磁盘。如果盒子位于同一位置,则很有可能它由 colo 合作伙伴连接到串行控制台。如果我在上面的日志中没有发现任何可疑的东西,我就会去那里看看。

如果机器没有连接到串行控制台并且日志中没有任何内容,您可能需要考虑通过网络将 syslog 发送到不同的盒子。也许网络接口的存活时间会更长一些,并且可以在 syslog 服务器上读取日志消息。查看 rsyslog 或 syslog-ng。

更新:

我同意下面的@Johann。停止的最可能原因是处理器温度看门狗。尝试通过 lmsensors 或 smartctl(通常是最简单的)检查/绘制盒子中的温度。我发现 collectd 在跟踪大量变量方面是无与伦比的。它可以同时执行 IPMI 和 lm-sensors 以及 hddtemp。此外,一些 BIOS:es 记录温度停止事件。


pkh*_*mre 10

首先,您要检查/var/log/syslog. 如果您不确定要查找什么,可以先查找单词error,panicwarning

grep -i error /var/log/syslog
Run Code Online (Sandbox Code Playgroud)

如果您有可用的系统图(例如 Munin)。检查它们并寻找异常模式。如果你没有安装 munin,安装它可能是一个想法 ( apt-get install munin munin-node)

您还应该检查 root-mail 是否有任何可能与您的系统崩溃有关的有趣消息。

您应该检查的其他日志文件是应用程序错误日志。例如/var/log/apache2/error.log或类似。它们可能包含引导您解决问题的信息。


erc*_*cpe 6

根据我的经验,“意外停止”几乎总是由过热引起的。通过 lm_sensors 检查您的温度和风扇速度,并确保它们良好。

最近我们遇到了同样的情况:服务器在支持人员手动启动后大约一小时停止。此小时后,CPU 温度达到 BIOS 中配置的阈值(iirc 60 或 70°C)并停止系统。所有这些问题都是由损坏的 CPU 风扇引起的。更换风扇后一切恢复正常。