问题描述
系统运行48小时后web界面硬盘预估寿命显示–
环境信息
- 软件版本:OpenUBMC2509
重现步骤
-
环境配置硬盘
-
系统上电后运行48小时
-
查看BMC存储管理界面硬盘信息
期望结果
显示预估寿命
实际结果
显示–
尝试过的解决方案
参考社区帖子
显示–表示支持获取预估寿命,但48h后仍未呈现数值,该功能逻辑涉及闭源,需要帮忙定位指导下
系统运行48小时后web界面硬盘预估寿命显示–
环境配置硬盘
系统上电后运行48小时
查看BMC存储管理界面硬盘信息
显示预估寿命
显示–
参考社区帖子
答案内容由AI生成,仅供参考:
针对您提出的 OpenUBMC2509 环境下系统运行 48 小时后 Web 界面硬盘预估寿命仍显示“–” 的问题,结合知识库中的实体信息、关系数据以及技术文档内容,现提供如下系统性分析和解决建议。
问题现象:
在 OpenUBMC2509 版本环境中,系统上电运行超过 48 小时后,Web 界面中物理硬盘的“预估寿命”字段仍显示为 --,而非具体的数值。
预期行为:
对于支持 SMART 属性的硬盘(尤其是 NVMe SSD),BMC 应在满足一定时间条件后获取并计算出有效的预估寿命值,并在界面中正常展示。
实际表现:
显示 -- 表明系统识别到了该属性存在,但未能更新为有效值。
EstimatedRemainingLifespan 的状态定义根据 Document Chunk 1 和 Search Result #1(CSR配置字典)可明确以下关键点:
| 值(十六进制) | 值(十进制) | 含义 | Web 显示 |
|---|---|---|---|
0xFFFFFFFF |
4,294,967,295 | 无效/未初始化 | 不显示此字段 |
0xFFFFFFFE |
4,294,967,294 | 支持但暂无有效数据 | 显示 -- |
结论:
当前 Web 界面显示--说明 BMC 已识别到该硬盘支持预估寿命功能,但尚未获取或计算出有效的生命周期数据。
引用您提供的社区回复内容及日志分析:
“对于支持的盘,会在前 30 分钟内先设置为
0xFFFFFFFF,随后更新为0xFFFFFFFE,Web 显示为--。
- 新盘:约 24 小时后显示有效数值
- 老盘:需要约 48 小时才能呈现有效数值
计算周期以 BMC 启动时间为起点,每 24 小时计算一次,插拔硬盘会清空历史记录。”
| 实体 | 说明 |
|---|---|
EstimatedRemainingLifespan |
U32 类型字段,存储驱动剩余寿命(单位:月) |
bmc.kepler.Systems.Storage.Drive.DriveSubHealth |
包含 EstimatedRemainingLifespan、SLCSpareBlockPercentage 等健康子项的数据结构 |
PredictedMediaLifeLeftPercent |
百分比形式表示媒体剩余寿命(0–100),SSD 关键指标 |
c_nvme |
Lua 模块,负责初始化和管理 NVMe 设备,包含健康监控逻辑 |
RAID 控制器 或 NVMe 协议栈 识别c_nvme 模块获取原始数据pd_identify_service:set_subhealth_default_values() 初始化默认值(0xFFFFFFFF)EstimatedRemainingLifespan== 0xFFFFFFFF → 不显示该字段== 0xFFFFFFFE → 显示 --> 0 && < 0xFFFFFFFE → 显示具体数值(如剩余 X 个月)| 原因 | 判断方法 | 依据来源 |
|---|---|---|
| 硬盘本身不支持寿命上报 | 查看型号是否在支持列表中;检查 PredictedMediaLifeLeftPercent 是否为 null 或 255 |
KG 中 FORESEE RSYE385GT-480G 报告 PredictedMediaLifeLeftPercent 为 null |
| 未完成足够周期的数据采集 | 重启 BMC 或插拔硬盘会重置计时器 | 社区反馈“插拔盘清除历史寿命” |
| BMA 2.0 未完全启动 | Web 提示:“信息依赖 BMA 2.0 完全启动” | Document Chunk 1、KG 中明确指出需 BMA 2.0 启动 |
| SML 接口调用失败 | 日志中无 sml.pd_log_write_subhealthy_info 成功记录 |
Document Chunk 1 提到此 API 是关键更新路径 |
| 闭源算法未触发或出错 | 错误日志在 base.lua 或 init.lua 中未体现 |
KG 显示 OpenUBMC2509 使用这些脚本做初始化日志输出 |
检查所用 SSD 是否具备 SMART 寿命属性:
# 示例:进入 BMC Debug Shell 查询 NVMe 健康状态
c_nvme get_health_info Disk0
关注输出中是否包含:
PredictedMediaLifeLeftPercentPowerOnHoursTotalBytesWritten
若以上字段为空或为
255,说明硬盘本身未提供寿命信息,BMC 无法计算。
前往 系统管理 > 存储管理 页面顶部提示:
“此页面的信息依赖 RAID 卡带外管理功能,并且在系统引导完成后或安装并完全启动 BMA 2.0 才能显示。”
ps | grep bma
systemctl status bma-agent
修复动作:确保
BMA 2.0正常安装并处于运行状态。否则即使硬件支持也无法获取健康数据。
EstimatedRemainingLifespan 实际值使用 Redfish API 或后端接口直接查询原始数据:
GET /UI/Rest/System/Storage/Drives/Disk0
查看返回 JSON 中:
"EstimatedRemainingLifespan": 4294967294
4294967294,说明系统未更新为真实值。定位文件:
storage/src/lualib/pd/pd_identify_service.luarackmount/interface_config/web_backend/mapping_config/System/Storage.jsondump_info/AppDump/host_agent/mdb_info.log(搜索 HeartBeatState、UpdateState)重点关注:
pcall(sml.pd_log_write_subhealthy_info, ...) 是否调用成功EstimatedRemainingLifespan 更新是否成功写入"HeartBeatState": 0(表示心跳异常)若您已确认:
仍显示 --,则表明:
预估寿命算法模块未正确执行或存在缺陷(可能是闭源部分逻辑异常)
建议联系 Sichuan Huakun Zhenyu Intelligent Technology Co., Ltd(OpenUBMC2509 开发维护方)技术支持,提交一键日志包和硬盘型号信息。
[CSR配置字典 - Drive类]
EstimatedRemainingLifespan 默认值为 42949672954294967294 为“支持但无有效数据”[社区论坛讨论帖]
-- 的原因与超时机制[Firmware SDK 商店页面]
BMA 依赖提示截图(见 Document Chunk 3)
强调必须启动 BMA 2.0 才能获取完整存储信息。
| 项目 | 结论 |
|---|---|
显示 -- 的含义 |
支持寿命预测,但尚未生成有效值 |
| 超过 48 小时仍未更新 | 属异常情况,需排查数据采集链路 |
| 主要影响因素 | BMA 是否运行、硬盘是否支持、算法是否执行 |
| 是否建议升级 | 非必要,OpenUBMC2509 是主流稳定版本 |
| 下一步动作 | 提供日志 + 硬盘型号,联系开发方排查闭源模块 |
建议操作:
收集mdb_info.log、host_agent日志、Redfish 接口/Storage/Drives原始响应,并提交至 OpenUBMC 社区支持站 工单系统,附注本分析报告以加速定位。
如能提供具体硬盘型号(如是否为 FORESEE RSYE385GT-480G 或 SAMSUNG MZ7L33T8HLT-00B7C),可进一步判断设备兼容性。
相关链接:
需要给下 storage libmgmt_protocol的版本号 还有raid卡型号和 盘的产商和介质 接口类型,根据这些看下代码流程
48小时期间BMC没有复位过吗,复位后会重新记录周期
没有复位,方便的话可以传递下日志
可以将日志传递给我 邮箱 huangminghao4@huawei.com
日志已传递
你好,请问问题有进展吗
预估寿命信息没有变化为具体值,因为计算的关键指标“剩余磨损率”变化次数不满足计算要求。当上电时间小于1个月(720h)时判定为"新盘",新盘可24h内显示具体值;否则判定为"老盘",需要剩余磨损率变化2次。