服务器插SP681、SP670网卡,上电,进web界面查看网卡温度获取不到,有告警

// 此模板仅供参考,如果不适用可以修改

问题描述

服务器插SP681、SP670网卡,上电,进web界面查看网卡温度获取不到

环境信息

  • 软件版本: OpenUBMC2603

重现步骤

[步骤]

服务器插SP681网卡,上电,进web界面查看网卡温度

[结果]

无法获取网卡温度

[期望]

能正常识别网卡温度

尝试过的解决方案

1、查看日志,网卡有反复过温日志

2、所以怀疑过温导致ncsi通信断了,然后获取不到温度,过温的原因则怀疑与调速有关

查看相关日志,发现应急调速策略1s后就被删除了,所以认为策略清除导致了风扇转速不足,散热不够,SP670逐渐过热,最终导致通信断掉。

分析结论

异常调速策略被反复 Add 后 Delete,也就是说风扇的异常转速策略没有实际生效过,请教各位这会是什么原因

答案内容由AI生成,仅供参考:
结论:异常调速被反复 Add 后 Delete 的根本原因是网卡温度读取本身不稳定(超时或 NCSI 通信故障),导致温度点监控状态频繁跳变。风扇无法持续获得异常转速,进而引起过热和通信中断。建议从硬件槽位、软件配置(FailedValue、备份温度点)以及 NCSI/MCTP 通信稳定性三个层面进行排查。

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

根据您提供的日志分析和上下文知识库,您遇到的“异常调速策略被反复 Add 后 Delete,未实际生效”的问题,核心原因与温度点监控状态的不稳定以及温度获取本身的故障有关。具体分析如下:


1. 根本原因:温度获取异常导致状态反复跳变

  • SP670 网卡在 x16 槽位:知识库明确指出,SP670 插在 x16 卡槽时,由于 MCTP 请求响应时间超过 15 秒的超时阈值,导致温度数据获取失败。这种超时可能是间歇性的,当系统重试成功时,温度点状态又恢复正常,从而触发了异常调速的反复添加与删除。
  • SP681 网卡:同样存在间歇性温度获取失败的问题(日志中出现 Error: failed to send NCSI get temperature command),以及因 buffer_offset 配置错误导致 NCSI 命令无法正确发送,进一步加剧了温度读取的不稳定性。

知识库依据

  • SP670 NetcardMCTP Request 关系:描述“温度数据获取失败,当 MCTP 请求超过 15 秒超时”。
  • SP681 NetCardTemperature Retrieval Failure 关系:描述“间歇性温度获取失败”。
  • Error: failed to send NCSI get temperature command 实体:多次出现该错误日志。

2. 调速策略本身的清除逻辑

根据上下文文档,异常调速的触发与解除MonitoringStatus 状态控制:

  • 当温度点监控状态变为 非 0(异常) 时,系统会执行 Add exception speed,将风扇转速设为 FailedValue(例如 80%)。
  • 当温度点监控状态恢复为 0(正常) 时,系统会执行 Delete exception speed,删除异常转速项,风扇回归 PID 正常调速。

如果温度点状态在异常与正常之间频繁切换(例如:温度获取一次失败引发异常 → 稍后重试成功状态恢复 → 再次失败再触发),日志中就会表现出 “反复 Add 后 Delete” 的现象。而您观察到的“过温日志”正是温度持续偏高、但风扇却未获得足额异常转速导致的恶性循环。

文档依据

  • 第 7 部分《调速问题定位介绍》:“Add exception speed 当 MonitoringStatus 为非0;Delete exception speed 当状态恢复正常。”
  • 第 3 部分《调速配置指导说明》:“温度点获取异常的场景可参考异常调速,风扇不小于 FailedValue 的值。”

3. 调速策略未实际生效的可能原因

可能因素 说明
备份温度点介入 如果配置了备份温度点(如文档中提到的“温度点备份调速”),主温度点异常时系统可能自动切换至备用温度点,使主温度点状态恢复正常,从而立即删除异常调速。
FailedValue 未配置或配置错误 如果 CoolingRequirement 对象中的 FailedValue 未配置,则温度点异常不会触发异常调速,风扇按正常调速运行,导致散热不足。
异常调速的生效条件存在冲突 例如同时配置了 PCIeCardNameFanType 等条件,若不满足则策略不生效。
硬件通信链路不稳定 NCSI over MCTP 的通信受温度影响(过温时 NCSI 可能断开),导致温度值忽有忽无,状态频繁跳变。

知识库依据

  • CoolingRequirement_1_94 实体:明确说明在光模块温度异常时使用 NetworkAdapter_1.TemperatureCelsius 作为数据源,说明系统在异常时会寻找替代温度源,可能因此恢复状态。
  • 文档片段 2 和 5:详细描述了 FailedValue 配置规则(不配则不触发异常调速)、备份温度点机制。

建议排查方向

  1. 检查温度点异常告警日志(app.log):确认 MonitoringStatus 是否确实在 0 与非 0 之间反复切换,以及 Add/Delete exception speed 的对应时间戳。
  2. 检查 CoolingRequirement 配置:确认 FailedValue 是否已正确配置(例如 80),以及备份温度点是否被错误启用。
  3. 验证 SP670 网卡所在槽位:若为 x16 槽位,建议更换至 x8 槽位测试,以排除 MCTP 超时问题(知识库指出 x8 槽位可正常获取温度)。
  4. 检查 SP681 的 buffer_offset 配置:参考知识库中 SP681网卡buffer_offset 关系,确认该配置是否导致 NCSI 请求体无法正确发送。
  5. 查阅 /redfish/v1/Chassis/1/ThermalModelPredictiveControlEnabled:确认 MPC 算法是否干扰了异常调速的优先级。

结论:异常调速被反复 Add 后 Delete 的根本原因是网卡温度读取本身不稳定(超时或 NCSI 通信故障),导致温度点监控状态频繁跳变。风扇无法持续获得异常转速,进而引起过热和通信中断。建议从硬件槽位、软件配置(FailedValue、备份温度点)以及 NCSI/MCTP 通信稳定性三个层面进行排查。