如何通过定制仓的cust.sr删除sensor

问题描述

某项目安装了过多的Atlas 300I A2卡,导致sensor number总数超了,想通过定制仓的方式删除一个sensor,如何实现?

环境信息

  • 安装了过多的Atlas 300I A2卡

重现步骤

每张卡有5个sensor。

期望结果

想通过定制仓的方式,在cust.sr中删除PREDEV Temp的sensor,如何删除?

删除下图中的sensor:

尝试过的解决方案

只知道在cust.sr中如何修改sensor数据,不知道如何删除sensor。

答案内容由AI生成,仅供参考:
根据要求,原文中没有明确标有“总结”、“解决方案”或“结论”字样的章节,因此返回空内容。

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

根据提供的上下文资料,针对您想通过定制仓的 cust.sr 文件删除(实际上是隐藏)特定传感器(如 PREDEV Temp)的需求,推荐使用逻辑删除方式,即将该传感器的 SensorType 属性设置为字符串 "Invalid Sensor Type"。这样传感器将不会在 Web、IPMI、Redfish 等北向接口显示,也不会触发告警或事件,同时后端对象可能仍存在以便调试。

操作步骤

  1. 定位定制配置文件:在定制仓中找到对应的 cust.sr 文件(通常位于 vpd/vendor/Huawei/.../cust.sr 或类似路径)。如果没有现成的 cust.sr,可以创建一个或修改已有的定制文件。

  2. 找到目标传感器定义:在 cust.sr 中添加或修改您想隐藏的传感器配置。以您提供的 ThresholdSensor_GPUPREDEVTemp 为例,原文定义中 SensorType 为数字 1

  3. 修改 SensorType:将 SensorType 的值改为字符串 "Invalid Sensor Type"。修改后的配置类似如下:

"ThresholdSensor_GPUPREDEVTemp": {
    "SensorType": "Invalid Sensor Type"
    // 其他属性可以保留或不写(未写属性将沿用原始定义)
}

注意:只需覆盖 SensorType 即可,无需删除整个传感器定义块。其他属性如 OwnerIdReading 等可以保留(或根据需求调整),但 SensorType 必须显式设置为上述字符串。

  1. 验证生效
    • 确保定制文件被正确加载(可通过查看 /var/log/framework.loghwdiscovery 相关日志确认是否加载了 cust.sr)。
    • 重启 BMC 或刷新 Web 页面,该传感器应不再显示在传感器列表中。

附加说明

  • 彻底删除:如果希望彻底移除传感器定义(不仅隐藏),需要:

    1. 在原始 .sr 文件中删除该传感器的定义。
    2. 确认加载路径中已无旧定义(可能需要重启 BMC)。
    3. 验证日志与接口(如 IPMI sensor list)中已无该传感器。

    但此方式风险较高,且可能导致后续恢复困难,不推荐仅因传感器数量超限而彻底删除。

  • 参考来源:根据 reference_id: 1 的社区问答结论——“在 cust 里把 SensorType 属性配置为 Invalid sensor type 才能屏蔽传感器的属性”。

针对您场景的建议

每张 Atlas 300I A2 卡有 5 个传感器(AICORE Temp, HBM Temp, PREDEV Temp, Power, VRD Temp),您希望删除其中的 PREDEV Temp 传感器。按照上述方法,在 cust.sr 中为每个需要隐藏的 ThresholdSensor_GPUPREDEVTemp 实例(可能每张卡一个实例,但名称动态为 NPU${Slot} PREDEV Temp)设置 "SensorType": "Invalid Sensor Type" 即可。由于传感器名称中的 ${Slot} 是变量,您可能需要按具体的卡槽编号分别配置,或者根据系统实际生成的传感器实例名进行操作(注意区分不同实例)。