// 此模板仅供参考,如果不适用可以修改
问题描述
服务器插SP681、SP670网卡,上电,进web界面查看网卡温度获取不到
环境信息
重现步骤
[步骤]
服务器插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 Netcard → MCTP Request 关系:描述“温度数据获取失败,当 MCTP 请求超过 15 秒超时”。
SP681 NetCard → Temperature 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 未配置,则温度点异常不会触发异常调速,风扇按正常调速运行,导致散热不足。 |
| 异常调速的生效条件存在冲突 |
例如同时配置了 PCIeCardName、FanType 等条件,若不满足则策略不生效。 |
| 硬件通信链路不稳定 |
NCSI over MCTP 的通信受温度影响(过温时 NCSI 可能断开),导致温度值忽有忽无,状态频繁跳变。 |
知识库依据:
CoolingRequirement_1_94 实体:明确说明在光模块温度异常时使用 NetworkAdapter_1.TemperatureCelsius 作为数据源,说明系统在异常时会寻找替代温度源,可能因此恢复状态。
- 文档片段 2 和 5:详细描述了
FailedValue 配置规则(不配则不触发异常调速)、备份温度点机制。
建议排查方向
- 检查温度点异常告警日志(app.log):确认
MonitoringStatus 是否确实在 0 与非 0 之间反复切换,以及 Add/Delete exception speed 的对应时间戳。
- 检查
CoolingRequirement 配置:确认 FailedValue 是否已正确配置(例如 80),以及备份温度点是否被错误启用。
- 验证 SP670 网卡所在槽位:若为 x16 槽位,建议更换至 x8 槽位测试,以排除 MCTP 超时问题(知识库指出 x8 槽位可正常获取温度)。
- 检查 SP681 的 buffer_offset 配置:参考知识库中
SP681网卡 → buffer_offset 关系,确认该配置是否导致 NCSI 请求体无法正确发送。
- 查阅
/redfish/v1/Chassis/1/Thermal 下 ModelPredictiveControlEnabled:确认 MPC 算法是否干扰了异常调速的优先级。
结论:异常调速被反复 Add 后 Delete 的根本原因是网卡温度读取本身不稳定(超时或 NCSI 通信故障),导致温度点监控状态频繁跳变。风扇无法持续获得异常转速,进而引起过热和通信中断。建议从硬件槽位、软件配置(FailedValue、备份温度点)以及 NCSI/MCTP 通信稳定性三个层面进行排查。