9560-16i Raid卡的BBU在执行powercycle时出现温度告警

问题描述

power cycle时出现BBU温度告警,用的是9560-16i Raid卡,刚下电时出现温度超阈值告警,直到上电后告警才解除

环境信息

  • 操作系统:openEuler

  • 软件版本:2512

  • 硬件配置:9560-16i

重现步骤

  1. [第一步] power cycle

  2. [第二步] 查看是否产生告警

期望结果

OS下电时不产生告警

答案内容由AI生成,仅供参考:

结论

9560-16i RAID卡在Power Cycle期间触发BBU温度告警的主要原因是:下电瞬间RAID卡可能返回异常温度值(如254),BMC未能识别此为无效读数且未对关机场景进行告警抑制。

推荐处理路径:

  1. 短期修复:在BMC侧配置温度读数表达式,排除 254/255 异常值;
  2. 中期优化:在系统进入 ACPI S5 时暂停相关传感器监控;
  3. 长期支持:跟踪RAID卡南向驱动完善进展(计划2026年支持)并升级固件。

:white_check_mark: 最终目标:实现 OS 下电时不产生无意义的 BBU 温度告警,提升系统日志可信度与运维效率。

点击此处查看详细分析解答

9560-16i RAID卡在Power Cycle时触发BBU温度告警问题分析

问题概述

在对配置了 9560-16i RAID卡 的系统执行 Power Cycle(电源循环)操作时,系统会在下电阶段出现 BBU(Battery Backup Unit)温度超阈值告警,具体表现为:

  • 告警类型PCIe6 BBU Temp(PCIe插槽6的BBU温度)
  • 告警级别:轻微(Minor)
  • 触发条件:Upper Non-critical going high(超过非关键上限)
  • 告警时间点:下电瞬间(如:2026-04-07 15:41:28)
  • 解除时间点:系统重新上电后告警自动解除

用户期望在操作系统下电过程中不产生此类温度告警。


相关实体与工作机制

1. RAID卡与BBU的关系

  • 9560-16i RAID Card 是一款PCIe接口的RAID控制器,支持高级存储管理功能。
  • BBU(Battery Backup Unit) 是其配套的电池备份单元,用于在意外断电时为RAID卡缓存中的数据提供临时电力,确保数据完整性。
  • BBU的状态(温度、电压、健康度、在位状态)由 RAID卡自身监控 并通过带外接口上报给 BMC(Baseboard Management Controller)

2. BBU温度监控机制

  • 传感器名称ThresholdSensor_PCIeBBUTemp
  • 监控方式:通过与RAID卡通信读取BBU温度
  • 防抖机制:使用 median_s5 中值滤波算法对温度数据进行处理,以避免瞬时抖动引发误告警(见文档《硬件监控防抖机制参考》和《CSR硬件监控防抖机制》)

3. 温度告警触发逻辑

  • UpperNoncritical:定义了BBU温度的非关键上限阈值,超过此值将触发“轻微”级别告警。
  • 当RAID卡在Power Down过程中无法正常上报温度或上报异常值时,可能导致BMC判断为“高温”。

可能原因分析

根据上下文信息及类似案例(如AC测试中9560-16i高温告警问题),可能的原因包括:

:white_check_mark: 1. 下电瞬间RAID卡异常返回无效温度值

  • 文档[2]中提到:“AC测试偶现9560-16i Raid卡偶现高温告警,出现高温告警时,BBU温度传感器读值都是254。”
  • 数值 254 是典型的传感器通信失败或无效读数标志(接近最大值255)。
  • 在Power Cycle下电瞬间,RAID卡可能因供电不稳定或固件处理异常返回 254 这类异常温度值,BMC误判为“高温”而触发告警。

:white_check_mark: 2. BBU状态通信延迟或中断

  • 日志显示:

    PCIe6 Card BBU - Presence Detected -> Deasserted(存在变为未检测)

  • 在下电过程中,BBU在位状态温度读数可能不同步变化,导致BMC认为BBU仍在位但温度异常。

:white_check_mark: 3. BMC未对下电场景做特殊处理

  • 理想情况下,当系统进入 ACPI S5 状态(Soft-off)时,BMC应识别系统已关机,并暂停部分传感器监控或抑制临时告警。
  • 但在当前版本(软件版本2512)中,BMC可能未正确识别该场景,继续按常规逻辑判断温度状态。

:warning: 4. 固件兼容性问题

  • 已知 9560-16i Raid控制器在OS重启后存在信息无法更新的问题(见KG中“9560 -16i Raid”描述)
  • 表明该型号存在与BMC或系统管理软件间的状态同步缺陷,可能扩展至Power Cycle场景。

解决方案建议

:white_check_mark: 1. 增加下电过程中的BBU温度告警抑制机制

  • 建议:在BMC侧增加策略,在检测到系统进入 ACPI S4/S5 状态(Soft-off)前后,临时屏蔽BBU温度告警
  • 依据:SEL日志中已记录 ACPI State → S4/S5: soft-off,可用于作为抑制条件。

:white_check_mark: 2. 优化异常温度值过滤逻辑

  • 当前使用 median_s5 防抖,但对于突发 254 类异常值仍可能穿透。
  • 建议:在CSR配置中加入表达式过滤:
    expr(($1 < 254) ? $1 : invalid)
    
    或者将原始表达式从:
    expr(($1 < 255) ? $1 : 0)
    
    修改为:
    expr(($1 < 254) ? $1 : 0)
    
    以过滤掉接近上限的无效值。

:white_check_mark: 3. 更新RAID卡固件或驱动支持

  • 检查9560-16i RAID卡是否为最新固件版本,是否存在已知的Power Cycle异常问题。
  • 根据知识图谱信息,RAID卡部分功能尚未完全支持当前南向驱动框架,预计2026年完善 —— 当前可尝试获取预发布补丁。

:white_check_mark: 4. 引入迟滞量(Hysteresis)适配

  • 参考文档[9]:“【问题单】raid卡bbu过温告警迟滞量适配”
  • 可配置合理的 hysteresis(迟滞值),防止上下电过程中的瞬时波动频繁触发/清除告警。

验证方法

步骤 操作 预期结果
1 修改BMC配置,抑制S5状态下的BBU温度告警 Power Cycle时不出现BBU高温告警
2 注入异常温度值 254 测试 不触发告警或标记为“无效读数”
3 连续执行10次Power Cycle 告警不再重复出现
4 上电后检查RAID卡与BBU状态 正常识别、无残留告警

结论

9560-16i RAID卡在Power Cycle期间触发BBU温度告警的主要原因是:下电瞬间RAID卡可能返回异常温度值(如254),BMC未能识别此为无效读数且未对关机场景进行告警抑制。

推荐处理路径:

  1. 短期修复:在BMC侧配置温度读数表达式,排除 254/255 异常值;
  2. 中期优化:在系统进入 ACPI S5 时暂停相关传感器监控;
  3. 长期支持:跟踪RAID卡南向驱动完善进展(计划2026年支持)并升级固件。

:white_check_mark: 最终目标:实现 OS 下电时不产生无意义的 BBU 温度告警,提升系统日志可信度与运维效率。

csr里看了下 bbu温度传感器的Reading和ReadingStatus有时序问题,Reading值判断下,如果是0x7ffe把值变为20