RAID卡下SSD盘预估寿命信息有时候显示为--,有时候不显示该属性

针对预估寿命信息这个属性,目前存在2个问题:
1、有时候显示为- -,有时候不显示该属性,表现上有一点不稳定
2、从来没有显示为一个有效值,是否不支持该属性?

针对问题1,目前分析情况如下,当EstimatedRemainingLifespan被配置为null的时候,这种情况下WEB不会显示该属性,在EstimatedRemainingLifespan被配置为4294967294的时候(0xfffffffe),WEB上会显示该属性,显示为–。

4294967294应该是个无效值
local U32_MAX = 4294967295
local DRIVE_ESTIMATED_LIFESPAN_UNSUPPORT = 4294967294

webui\src\pages\System\Storage\components\drivers\drivers.service.ts文件里面也有判断,当estimatedRemainingLifespan为4294967294 的时候显示为- -
const estimatedRemainingLifespan = bodyData.EstimatedRemainingLifespan === 4294967294 ?
‘–’ : isEmptyProperty(bodyData.EstimatedRemainingLifespan);

通过rackmount\interface_config\web_backend\mapping_config\System\Storage.json文件,“Uri”: "/UI/Rest/System/Storage/Drives/:id"里面获取该属性的定义来看,是通过判断该值是否为0xffffffff,如果是则显示为null,否则显示为原值。
“GetEstimatedRemainingLifespan”: {
“Input”: “${ProcessingFlow[6]/Destination/EstimatedRemainingLifespan}”,
“Steps”: [
{
“Type”: “Script”,
“Formula”: “return (ProcessingFlow[6].Destination.EstimatedRemainingLifespan ~= 0xFFFFFFFF) and ProcessingFlow[6].Destination.EstimatedRemainingLifespan or cjson.null”
}
]
}

通过storage\src\lualib\pd\pd_identify_service.lua文件,function pd_identify_service:set_subhealth_default_values(drive)函数的定义来看,EstimatedRemainingLifespan 的值被初始化为0xffffffff

function pd_identify_service:set_subhealth_default_values(drive)
drive.EstimatedRemainingLifespan = common_def.INVALID_U32
drive.EstimatedRemainingLifespan = common_def.INVALID_U32

local common_def = {

INVALID_U32 = 0xffffffff,

那么后面是在哪个阶段,EstimatedRemainingLifespan 属性被重新赋值为了4294967294?
是通过这个函数去获取的EstimatedRemainingLifespan信息吗?
local ok, ret = pcall(sml.pd_log_write_subhealthy_info, self.RefControllerId,
self.EstimatedRemainingLifespan, basic_info)

这个值为什么一直是个无效值的状态?如果不支持该属性,是不是可以一直不显示?

该能力与具体ssd盘厂商有关,详细约束可以咨询对应项目技术支持

对比场景需要描述再具体一些。是不同卡的不同时候,还是相同卡的不同时候。不同时候系统、BMC运行状态是怎么样的。出现问题后刷新是否可恢复,还是一直持续

EstimatedRemainingLifespan 为0XFFFFFFFF时,表示不支持不支持计算该盘的动态预估寿命,web上不显示该字段
EstimatedRemainingLifespan 为0XFFFFFFFE时,表示支持计算该盘的动态预估寿命,但还没达到计算条件,比如一天才会计算一次。

EstimatedRemainingLifespan默认值0XFFFFFFFF, 对于不支持的盘会一直是0XFFFFFFFF,web上不显示, 对于支持的盘显会先在30min内刷成0XFFFFFFFE,web显示–。 当能够正常获取到硬盘的smart信息时,如果是“新盘”24h后会呈现预估寿命,由新盘算法计算得到。 如果是“老盘”需要48h后会呈现预估寿命。 附:预估寿命计算周期(已BMC启动为时间起点,每24h计算一次),插拔盘会清除历史预估寿命。