我们正在运行一个 KVM 节点,该节点不定期崩溃,表现出非常奇怪的行为。有趣的是,我们在另一个节点上已经遇到了这个问题,该节点每 1-2 周崩溃一次。由于我们找不到硬件问题,我们开始将虚拟机迁移到新节点。在我们迁移了 50% 的虚拟机大约一周后,新节点崩溃了,而“旧”节点从那时起运行良好(正常运行时间为 3 周,几个月来我们都没有见过如此长的正常运行时间)。
当节点崩溃时,我们有时会在 Supermicro IPMI 上看到这些奇怪的事情:
我们还看到:
- “无信号”,好像服务器已经关闭了(当然没有,而且在 IPMI 主页上也没有显示为已关闭)
- 登录屏幕或其他服务器正常输出,但冻结
在崩溃之前,我们从未看到过内核恐慌或至少日志中的某些消息,直到灯突然熄灭,一切都一片寂静。
由于问题从一台服务器“转移”到另一台服务器(一台全新的机器),我认为只剩下几个选项:
- 特定虚拟机导致该问题
- 内核错误
- 有关我们的设置的硬件问题
有关机器的更多信息:
- 带有最新内核的 CentOS 7(3.10.0-514.2.2.el7.x86_64)
- 配备冗余电源的 Supermicro 机箱
- 配备最新 BIOS 版本的 Supermicro X10DRi / X10DRWi
- 英特尔至强 E5-2630 v3 / v4
- 512 GB DDR4 ECC RAM(三星服务器 RAM)
- 145 台虚拟机正在运行(RAM 和 CPU 远未饱和,这也要归功于 KSM)
- 带 8/16 个 SSD 的软件 RAID-10
有谁见过这种行为,或者能谈谈控制台上奇怪的“消息”吗?我从未见过这样的事情,甚至不知道该如何在 Google 搜索中描述这种情况。目前我们还不知道下一步该怎么做,因为这可能是一切。
提前致谢!
答案1
这可能是 CPU 错误。英特尔发布了有关此问题的勘误表,他们还为 E5 v3/v4 CPU(日期代码 20170707)提供了微码更新。CentOS 7.4 已经有了较新的微码版本 0xb000021(在 CentOS 7.3 中为 0xb00001e)。更换微码或升级到 7.4 可能会有所帮助。我也遇到了很多系统冻结问题。我更换了主板(X10DRi)、RAM、CPU 和电源,但没有成功。我不能肯定地说这是否是解决方案,因为自从我更新微码后,我没有足够的正常运行时间。Supermicro 仍然没有提供具有当前英特尔微码的更新 BIOS。您可以从经销商处获得 X10DRI 的非官方预发布版。
答案2
对此的简短更新:升级到最新的 LTS 内核 (4.4.39) 后,服务器稳定了。现在正常运行时间为 19 天,所以我认为我们搞定了。虽然我们并不清楚根本原因,但我们认为 CentOS 7 内核 (3.10) 可能对于某些非常现代的硬件来说太旧了。由于我们无法提供有用的错误消息(最好的情况下是内核崩溃),我们决定不向 CentOS 开发人员报告此问题。