PowerFlex:DIMM 硬件问题导致 CPU 使用率高和 SDS 分离
Summary: 日志条目报告从双列直插式内存模块 (DIMM) 和 CMCI 风暴消息中纠正的错误,导致 CPU 使用率导致 SDS 停止,从而增加延迟并断开 SDS 分离。
Symptoms
问题描述
某些内存问题(即 DIMM 问题)可能会导致 CMCI 风暴,进而导致 SDS 分离。
情景
出现此特殊问题的原因是操作系统未正确响应例行可纠正内存通知。
当服务器上的 RAM DIMM 模块出现故障时,也可能会发生这种情况,但其他硬件问题可能会导致相同的情况。
症状
可以在 iDrac 或操作系统日志中观察到故障 DIMM,例如:
kernel: {1}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 4
kernel: {1}[Hardware Error]: It has been corrected by h/w and requires no further action
kernel: {1}[Hardware Error]: event severity: corrected
kernel: {1}[Hardware Error]: Error 0, type: corrected
kernel: {1}[Hardware Error]: fru_text: A1
kernel: {1}[Hardware Error]: section_type: memory error
kernel: {1}[Hardware Error]: error_status: 0x0000000000000400
kernel: {1}[Hardware Error]: physical_address: 0x0000000ad6a38ac0
kernel: {1}[Hardware Error]: node: 0 card: 0 module: 0 rank: 0 bank: 1 device: 1 row: 58311 column: 712
kernel: {1}[Hardware Error]: error_type: 13, scrub corrected error
kernel: {1}[Hardware Error]: DIMM location: not present. DMI handle: 0x0000
kernel: {2}[Hardware Error]: Hardware error from APEI Generic Hardware Error Source: 65534
kernel: {2}[Hardware Error]: It has been corrected by h/w and requires no further action
kernel: {2}[Hardware Error]: event severity: corrected
kernel: {2}[Hardware Error]: Error 0, type: corrected
kernel: {2}[Hardware Error]: section type: unknown, xxxxxxxx-xxxx-xxxx-xxxx-000xxxxxxx1b
kernel: {2}[Hardware Error]: Error 1, type: corrected
kernel: {2}[Hardware Error]: section type: unknown, xxxxxxxx-xxxx-xxxx-xxxx-000xxxxxxx1b
kernel: EDAC skx MC0: HANDLING MCE MEMORY ERROR
kernel: EDAC skx MC0: CPU 0: Machine Check Event: 0x0 Bank 1: 0x940000000000009f
kernel: EDAC skx MC0: TSC 0xcdaff277a3653a
kernel: EDAC skx MC0: ADDR 0xad6a38ac0
kernel: EDAC skx MC0: MISC 0x0
kernel: EDAC skx MC0: PROCESSOR 0:0x50654 TIME 1669993821 SOCKET 0 APIC 0x0
kernel: EDAC MC0: 0 CE memory read error on CPU_SrcID#0_MC#0_Chan#0_DIMM#0 (channel:0 slot:0 page:0xad6a38 offset:0xac0 grain:32 syndrome:0x0 - err_code:0x0000:0x009f socket:0 imc:0 rank:0 bg:1 ba:1 row:0xe3c7 col:0x2c8)
kernel: mce: [Hardware Error]: Machine check events logged
mcelog: Hardware event. This is not a software error.
mcelog: MCE 0
mcelog: CPU 0 BANK 1 TSC cdaff277a3653a
mcelog: ADDR ad6a38ac0
mcelog: TIME 1669993821 Fri Dec 2 15:10:21 2022
mcelog: MCG status:
mcelog: MCi status:
mcelog: Corrected error
mcelog: Error enabled
mcelog: MCi_ADDR register valid
检测到硬件问题后不久,报告 CMCI 风暴:
Dec 8 08:28:51 node01 kernel: CMCI storm detected: switching to poll mode Dec 8 08:33:50 node01 kernel: CMCI storm subsided: switching to interrupt mode (...) Dec 10 03:19:03 node01 kernel: CMCI storm subsided: switching to interrupt mode Dec 10 03:19:03 node01 kernel: CMCI storm detected: switching to poll mode
高 CPU 使用率可能会导致 SDS 进程停止 IO(这将影响总体 I/O 系统延迟),甚至将 SDS 与 MDM 分离。如果在持续重建期间或另一个 SDS 遇到类似问题时发生这种情况,则可能会导致 DU 情况。
Cause
在 DIMM 错误期间,英特尔 CPU 可能会受到“中断风暴”的影响。根据 Red Hat 知识库:
从CPUID将DisplayFamily_DisplayModel报告为06H_1AH的45 nm 英特尔 64处理器开始,处理器可以报告有关已纠正的机器检查错误的信息,并为软件提供可编程中断以响应MC错误,称为已纠正的机器检查错误中断(CMCI)。当错误级别超过可编程阈值时,英特尔的硬件可以提供中断。如果错误仍然存在,则 CPU 将以足够高的速率持续收到大量涌入或中断风暴,以至于影响 CPU 执行有用工作的能力。发生这种情况时,内核会禁用 CMCI 机制,并恢复为定期轮询机器检查错误的更经典方法。错误率降低后,内核会重新启用 CMCI。
有关更多信息,请访问:持续记录“内核:CMCI 风暴消退”错误(外部链接)
此问题可能会导致 CMCI 风暴,这也可能由操作系统功能和软件触发,这些功能和软件拦截可纠正错误,而不是允许由 Dell iDRAC 捕获和处理它们。当 EDAC 和 CMCI 都已启用时,通常会发生这种情况。
Resolution
将受影响的 SDS 置于维护模式和/或将其从群集中删除,以减轻对整个系统的影响。
联系硬件供应商以检查是否有任何潜在的硬件问题。如果未检测到硬件问题(特别是在出现可纠正错误的情况下),请联系操作系统供应商并请求帮助禁用 EDAC 和 CMCI。
Additional Information
受影响的版本
不适用 — 不是 PowerFlex 问题
已修复问题的版本
不适用 — 硬件问题