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

在配备Debian 6的raid 10的4xSSD的新Xeon 55XX服务器中,在服务器build好两周之后,我经历了两次随机关机。 在closures之前查看带宽日志并不表示出现任何exception。 服务器负载通常非常低(大约1),并且configuration在很远的地方。服务器出现故障时似乎没有停电。

我知道我看/ var / log,但不知道我应该调查哪些日志,我应该寻找什么。 所以欣赏你的提示。

首先,我必须问:“关机”? 你的意思是机器重新启动还是真的停止? 如果暂停,它可能被错误configuration(可能在BIOS中)或者某些东西正在主动closures机器(即init 0)。

如果没有,那么你的主要应用就是/ var / log / syslog和/var/log/kern.log,因为你的问题听起来像是内核恐慌或是软件触发的硬件故障。 当然,如果服务器运行一些服务(如Apache)也可能给你一个线索。

通常,在这种情况下,会生成日志条目,但由于计算机有困难,无法将条目写入磁盘。 如果这个盒子是共置的,那么很有可能它是通过colo合作伙伴连接到串行控制台的。 如果我在上面的日志中没有发现任何可疑的东西,那我就会去看看。

如果机器没有连接到串行控制台,并且日志中没有任何内容,则可以考虑通过networking将syslog发送到另一个盒子。 也许networking接口存活时间更长,并且可以在系统日志服务器上读取日志消息。 看看rsyslog或者syslog-ng。

更新:

我同意下面的@Johann。 处理器温度监视器最有可能导致停机。 尝试通过lmsensors或smartctl(通常是最简单的)检查/绘制温度。 我发现collectd在跟踪大量variables随着时间的推移是无与伦比的。 它可以同时执行IPMI和lm-sensors和hddtemp。 此外,一些BIOS:es日志温度暂停事件。

首先,你要检查/var/log/syslog 。 如果您不确定要查找什么,您可以先查找errorpanicwarning

 grep -i error /var/log/syslog 

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

您还应该检查根邮件是否有可能与系统崩溃有关的有趣消息。

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

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

最近我们有相同的模式:服务器在手动启动后大约一个小时后暂停。 在此时间之后,CPU温度达到BIOS(iirc 60或70°C)中的configuration阈值并暂停系统。 所有这些由CPU风扇损坏引起的问题。 更换风扇后,一切恢复正常。

/ var / log目录(及其子目录)中包含许多日志文件

 /var/log/boot 

 /var/log/boot.log 

从上面的文件开始。

有两种检查触发关机的方法,首先检查带外pipe理控制台是否存在硬件问题,我build议configurationSNMP并接收电子邮件,或者在监控软件中添加陷阱来获取警报。

然后通过操作系统,您可以检查/var/log/messages (基于RedHat的发行版)或/var/log/syslog (基于Debian的发行版)。

磁盘子系统足够复杂,可以在发生问题时受到影响,因为您很难在日志文件中获取任何内容。

尝试login串行控制台。 这需要一些布线,而另一个系统需要布线,但是你有更好的机会去捕捉问题。

当然,如果您的节点具有类似于Oracle的ALOM / ILOM的内置pipe理系统,那么您还可以检查可能存在的问题并在此处logging日志文件。