在我的智慧结束。什么可能导致我的服务器随机硬重置?(好像和ZFS有关)

Zhr*_*hro 6 zfs server-crashes power-supply-unit zfsonlinux

我有一台我多年前建造的服务器,它运行起来像个冠军。但在过去的几个月里,它开始变得严重不稳定,没有明显的模式。我一直在调试它并更换零件无济于事。我已经更换了系统中我能想到的几乎所有东西,这可能是用于存储的保存驱动器的原因。

请注意,系统运行的是 CentOS 7.5。

症状是机器会自发地执行硬复位,就好像电源正在循环或突然断电一样。它可以每隔几天发生一次,有时一天发生两次。系统可以是空闲的,也可以是有负载的。没有模式。

除了基本的必需品,我已经删除了所有内容。请注意,我已替换:

主板、CPU、RAM 和 PSU。

如果任何 ram 棒有缺陷,我希望看到已更正/无法更正的 ECC 错误的日志,而我没有。如果是 CPU,我会期待一些更随机的东西,因为可能的内核恐慌有一些日志记录。我怀疑它可能是电源的故障并更换了它。问题仍然存在,所以我尝试更换主板。没变。

系统配置了两个处理器和 16 根相同的内存条,所以我试图卸下一个 CPU 和一半的内存,看看它是否崩溃,然后换另一套。症状没有变化。

我开始移除额外的组件,并达到了最低限度,症状没有变化。

  • 日志中从来没有任何迹象表明硬件故障;它们只是在重置点结束。
  • IPMI 日志中没有任何内容。
  • UPS 日志中没有任何内容(删除 UPS 也无济于事)。
  • 处理器不会过热。我记录了lmsensors,没有任何异常。
  • 使用 ipmitool 日志监控系统温度、CPU 和内存 Vcor​​e、风扇 RPM 和 PSU 电压。
  • 所有 SMART 测试都报告 PASSED。
  • 我通过使用 mdadm 进行镜像并安装 grub,将用于操作系统的主磁盘(/root、boot、swap)交换到另一个 SSD。
  • 两个 RAID 阵列(请参阅下面的规格)都是 ZFS 并且不报告任何故障。扫描位腐烂或损坏时没有问题。

我现在完全不知所措。除了系统中剩下的几个驱动器之外,我已经没有什么可以尝试替换案例本身的保存了。

什么可能导致我的服务器自行重置?我还能测试什么?故障真的来自其中一个驱动器吗?

目前系统规格如下:

基础组件:

贮存:

Western Digital RED 驱动器连接到机箱背板并连接到板载 SAS 控制器。如果 SSD 位于安装在机箱前部 5.25" 托架中的ToughArmor MB998SP-B背板中,并连接到主板 SATA 控制器,则所有这些都可以。

冷却:

  • NH-U12DO A3 (CPU)
  • 添加到芯片组散热器的风扇(它们变得非常热)
  • 英特尔千兆芯片中添加了小型散热器
  • 所有散热器上的导热膏已被Noctua NT-H1取代,除了 CPU 周围带有导热垫的小散热器

案件:

电源:

UPS

更新:

我已经能够将稳定性问题追溯到一个不太可能的来源:软件。这似乎不太可能,并且以前在鉴别诊断期间没有考虑过,因为软件问题(即使对于内核模块)最坏的情况应该会引发内核恐慌。

源已被识别为 ZFS 阵列(Linux 上的 ZFS)。我可以通过删除除操作系统和 ZFS 阵列之外的所有磁盘来复制崩溃,然后在该阵列上执行清理,同时对系统上的任何 ZFS 阵列(相同或其他)进行读取。

基本测试设置:

  • 1个中央处理器
  • 16GB x 8 内存
  • CentOS 7.5 的 128GB SSD(引导/交换/根)
  • SuperMicro H8DG6-F 主板
  • PWS-865-PQ 865W 电源
  • 板载 Matrox G200 视频

所有磁盘都连接到主板。没有安装 PCIe 插槽。

消除其他来源:

  • CPU(与第二个 CPU 交换)
  • 内存(与第二组内存交换)
  • 主板(与另一个相同的主板交换;更新了 BIOS)
  • 操作系统硬盘(在 Crucial 和三星 128GB SSD 之间交换)
  • PSU 经认证可与此主板一起使用(针对其中两个进行了测试)

ZFS 活动:

  • 在单个阵列上擦洗
  • 访问对同一阵列或另一个阵列的读/写(独占)

测试一: !!碰撞 !!

  • 基本设置(如上所述)
  • 2x 三星 SSD 850 PRO 512GB ZFS RAID-1 (/data)
  • 8x Western Digital RED 4TB WD40EFRX-68WT0N0 ZFS RAID-Z3(/备份)

ZFS 在 /backup 上擦洗。多个 Minecraft 服务器在 /data 上运行。

此后不久服务器突然重新启动。

这类似于系统通常配置的内容,但精简为最少的一组用于测试和分析的组件。

测试2: !!稳定的 !!

  • 基本设置(如上所述)
  • 8x Western Digital RED 4TB WD40EFRX-68WT0N0 ZFS RAID-Z3(/备份)

ZFS 在 /backup 上擦洗。没有 Minecraft 服务器处于活动状态,并且无法访问任何 ZFS 磁盘。

服务器稳定超过 24 小时并完成清理。

在这一点上,我怀疑 /data 数组是一个错误。

测试3: !!碰撞 !!

  • 基本设置(如上所述)
  • 8x Western Digital RED 4TB WD40EFRX-68WT0N0 ZFS RAID-Z3(/备份)

ZFS 在 /backup 上擦洗。多个 Minecraft 服务器在 /backup 上运行。

此后不久服务器突然重新启动。

在这一点上,我怀疑 /backup 数组可能是真正的错误,因为 /data 数组不再存在,并且系统崩溃了,就像它一直有的一样。

测试4: !!碰撞 !!

  • 基本设置(如上所述)
  • 2x 三星 SSD 850 PRO 512GB ZFS RAID-1 (/data)

ZFS 在 /data 上擦洗。多个 Minecraft 服务器在 /data 上运行。

此后不久服务器突然重新启动。

稳定性好像跟ZFS有关?

测试5: !!稳定的 !!

  • 基本设置(如上所述)
  • 1x 三星 SSD 850 PRO 512GB XFS(/数据测试)

多个 Minecraft 服务器在 /data-testing 上运行。

服务器已稳定数周。

我现在确信稳定性的来源与 ZFS 阵列有关。这很奇怪,因为我在这个系统上运行 ZFS 多年没有问题,直到现在。一个故障会导致整个系统重新启动而没有内核崩溃或日志,这也很奇怪。

我欢迎任何人都可能提供的任何其他见解。

小智 1

您可以采取以下一些步骤来缩小范围:

恐慌时重新启动

如果打开紧急情况下自动重新启动,您可能需要将其关闭以进行测试。如果你运行sysctl kernel.panic你应该得到当前值。如果是0,则已关闭,任何其他值都是重新启动之前等待的秒数sysctl -w kernel.panic=0,如果尚未关闭,则将其关闭。如果设置为0并且您的服务器仍然自行重新启动,我真的认为这是一个硬件问题。如果这停止了自动重启,那么我们就知道重启是由看门狗定时器引起的。

读取内核恐慌

当这停止重新启动并且你很幸运时,屏幕会显示一些紧急信息。如果是这种情况,并且您想要崩溃的完整信息,则需要设置串行日志记录或网络控制台。

屏幕上什么也没有

如果您没有那么幸运,您可能需要配置 kdump并查看这是否为您提供任何信息。

其他值得尝试的事情

您可能想返回到 ZFS 的早期 0.7.x 版本,看看是否可以重现该问题。另一种选择是尝试 0.8.0-rc2,但如果您非常重视数据,请小心预发布。我预计数据不会丢失,但安全总比后悔好。