系统:
Linux v22017032713145956 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux
这是运行在具有 KVM 虚拟化的节点上的虚拟化服务器。
我做了什么:
- 我想运行异星工厂游戏服务器。所以我下载并运行它。 (这是三月的时候)
- 几天后,服务器崩溃了。除了询问我的支持的内核消息是否
rcu_sched detected stalls on cpu
与服务器运行的节点有关之外,我没有任何相关记录。 - 支持人员说我应该尝试将 I/O 调度程序设置为
noop
- 我相应地设置了调度程序(但只是通过将 noop 回显到系统文件来临时设置)
- 大约一个月一切正常
- 我从 Debian 存储库进行了定期更新(只有 jessie 和 jessie 更新,没有向后移植或任何类型的实验性内容)
- 我定期从 Froxlor 和 GitLab 存储库进行更新。
- 4 月 29 日凌晨 4 点左右,服务器再次崩溃,原因不明。
- 我于 5 月 1 日从节点的控制面板重新启动了服务器。
- 当天又再次坠毁。这次我没有启动异星工厂服务器,也没有更改 I/O 调度程序。
附加信息
Ping 响应
监控报告服务器未响应以下之间的 ping:
- 2017年4月29日 04:07:30 -> 2017年4月30日 09:55:46
- 05-01-2017 11:08:52 -> 05-01-2017 11:16:54
内核日志
/var/log/kern.log
在这些时间范围内:
提问时间
问题是什么?我不记得安装过任何东西。
如何调试该rcu_sched detected stalls
消息?
5月7日更新
我刚刚收到好友发来的短信,说服务器行为异常。所以我检查了日志,再次出现了停顿。我上传了最新日志。
5月8日更新
我刚刚运行 memtest86+ 并没有发现任何结果。但我检查了过去 31 天的 CPU 图表,发现了一些有趣的事情: 当服务器第一次对 ping 没有响应时,核心 2 上的 CPU 负载变得混乱,而所有其他核心都处于空闲状态。 CPU0 上的峰值是 memtest。
6月7日更新
Uptime 报告:
10:05:05 up 27 days, 20:50, 1 user, load average: 0.23, 0.25, 0.18
但我关闭了 GitLab。有没有人经历过 GitLab 在 Debian 上造成麻烦?
答案1
从您的日志中可以看出,我认为您的问题可能是由于在 KVM 虚拟机中安装了 VirtualBox Guest 添加,并且存在某种冲突。
在某种程度上,vboxdrv
内核模块似乎已被卸载并被旧软件包中的 kvm/virtio 驱动程序取代,我认为,但由于某种原因,这种情况在新的版本中似乎没有发生。
正如您所说,在您向我们提供日志后,您卸载了 Virtual Box 组件。
IMO,你采取了正确的行动。现在给它几天时间,看看这种情况是否会再次发生。
答案2
从日志来看,有一些NMI,参考:https://en.wikipedia.org/wiki/Non-maskable_interrupt
建议您也检查一下您的硬件。