【已评审】支持Redfish获取SATA盘的SMART信息

背景

支持Redfish查询获取SATA接口硬盘的SMART信息,提高硬盘的故障预警能力。

关联ISSUE

https://gitcode.com/openUBMC/storage/issues/416

整体方案

后台获取SATA盘的SMART信息,Redfish查询SATA硬盘资源时显示SMART信息。

评审点

评审点 标题 接口类型
评审点一 Redfish中Drive资源新增属性SATASmartInformation Redfish
评审点二 新增资源协作接口 bmc.kepler.Systems.Storage.Drive.SATA.SMART 资源协作

详细描述

评审点1:Redfish中Drive资源新增属性SATASmartInformation

资源URI:/redfish/v1/Chassis/:chassisid/Drives/:driveid
资源版本:openubmcdrive_v1.xml

属性列表
注1:列表内属性默认均支持GET 操作。
注2:若属性在Schema中未显式定义 readonly 关键字,则默认为只读

二级属性名 三级属性名 四级属性名 类型 示例/取值约束 readonly 易变属性 实现PATCH 操作权限 描述
Oem/xxx/
SATASmartInformation
object / true ReadOnly SATA接口SMART信息
AttributeRevision number 示例:25 true ReadOnly SMART属性版本号
AttributeRevisionNumber number 示例:21 true ReadOnly SMART属性数量
AttributeItemList array / true ReadOnly SMART属性列表
RawValue number 示例:47637533 true ReadOnly SMART属性物理值
UpdateMode string 取值范围:
“Always”:表示实时更新
“Offline”:表示离线更新
true ReadOnly SMART属性的更新模式
AttributeName string / true ReadOnly SMART属性名称
NormalizedValue number 示例:76 取值范围为1-253,253表示最优值,1表示最差值. true ReadOnly SMART属性标准值
Flag string 示例:“0x000f”
标志位Bit值取值示意:
Bit 0: 预失效
Bit 1: 在线性能收集
Bit2:性能属性
Bit3: 错误率属性
Bit4: 事件计数属性
Bit5: 自保持属性(内部标志)
true ReadOnly SMART属性标识
WorstValue number 示例:63 true ReadOnly SMART属性历史最差值
FaultStatus string 示例:null true ReadOnly SMART属性失效状态
Threshold number 示例:44 true ReadOnly SMART属性阈值
FaultWarningMode string 取值范围:
“Pre-fail” : 预失效属性
“Old_age”: 使用寿命属性
true ReadOnly SMART属性故障类型
SmartAttributeID number 取值范围为1-255. true ReadOnly SMART属性ID

RspBody响应体示例:

{
    "Oem": {
        "Huawei" : {
            "SATASmartInformation" : {
                 "AttributeRevision": 25,
                 "AttributeRevisionNumber": 21,
                 "AttributeItemList": [
                   {
                     "RawValue": 47637533,
                     "UpdateMode": "Always",
                     "AttributeName": "DISK_CURRENT_PENDING_SECTOR", 
                     "NormalizedValue": 76, 
                     "Flag": "0x000f",
                     "WorstValue": 63,
                     "FaultStatus": null,
                     "Threshold": 44,
                     "FaultWarningMode": "Pre-fail",
                     "SmartAttributeID": 3
                 },
                 ....
                 ],

            }
        }
    }
}
   

评审点2:新增资源协作接口 bmc.kepler.Systems.Storage.Drive.SATA.SMART

接口描述该接口用于提供SATA硬盘的SMART信息

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
AttributeRevision u true false 表示SMART属性版本号,默认值为0xFFFFFFFF Read: ReadOnly 不持久化 false
AttributeRevisionNumber y true false 表示SMART属性数量,默认值为0xFF Read: ReadOnly 不持久化 false
AttributeItemList a(tssysysysy) true false 表示SMART属性列表 Read: ReadOnly 不持久化 false

AttributeItemList中包含如下属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
RawValue t true false 表示SMART属性物理值 Read: ReadOnly 不持久化 false
UpdateMode s true false 表示SMART属性的更新模式 Read: ReadOnly 不持久化 false
AttributeName s true false SMART属性名称 Read: ReadOnly 不持久化 false
NormalizedValue y true false SMART属性标准值 Read: ReadOnly 不持久化 false
Flag s true false SMART属性标识 Read: ReadOnly 不持久化 false
WorstValue y true false SMART属性历史最差值 Read: ReadOnly 不持久化 false
FaultStatus s true false SMART属性失效状态 Read: ReadOnly 不持久化 false
Threshold y true false SMART属性阈值 Read: ReadOnly 不持久化 false
FaultWarningMode s true false SMART属性故障类型 Read: ReadOnly 不持久化 false
SmartAttributeID y true false SMART属性ID,取值范围为1-255 Read: ReadOnly 不持久化 false

是否准备好AI预审

评审结论

  • 同意新增Redfish中Drive资源新增属性SATASmartInformation
  • 同意新增新增资源协作接口 bmc.kepler.Systems.Storage.Drive.SATA.SMART

遗留问题

预审答案内容由AI生成,仅供参考:

帖子评审结论:【待评审】支持Redfish获取SATA盘的SMART信息

帖子相关性:相关(MDB 相关: 内容含强特征: 资源协作)

  • 总评审点数:2
  • MDB 资源协作接口评审点:1
  • Redfish 相关评审点:1
  • 其他评审点:0

总体结果:不通过(0/2 个评审点通过)

评审点 1:Redfish中Drive资源新增属性SATASmartInformation【Redfish】

结果:不通过

  • URI 示例生成:通过
  • Schema 验证:通过(1 项通过,2 项警告)
    • Schema 来源:DMTF ✓,OEM ✗(实际参与校验:DMTF)
    • 入口 schema 文件:dmtf/Drive.v1_13_0.json(DMTF 官方 schema(SchemaFiles/dmtf))
    • Schema 依据:静态校验直接依据:DMTF 官方 schema(SchemaFiles/dmtf)(dmtf/Drive.v1_13_0.json)
  • 规则合规性检查:不通过(1/18 项失败)
    • 规则合规性失败项(必须项)
      规则ID:RULE-001
      级别:必须项
      问题描述:发现属性名 SmartAttribueId 存在拼写错误,应为 SmartAttributeId
      处理建议:将 SmartAttribueId 修改为 SmartAttributeId,补充缺失的字母 t

评审点 2:新增资源协作接口 bmc.kepler.Systems.Storage.Drive.SATA.SMART【MDB】

结果:不通过

  • 规则合规性检查:不通过(1/28 项失败)
    • 规则合规性失败项(必须项)
      规则ID:MDB-PROPERTY-011
      级别:必须项
      问题描述:属性 AttributeRevisionNumber 描述为“数量”,属于标准量纲,但正式名称未使用规范后缀 Count。
      处理建议:建议将属性名称 AttributeRevisionNumber 修改为 AttributeRevisionCount,以符合物理量/数量类属性必须使用标准后缀的规范要求。

    • 警告项(建议性)
      规则ID:MDB-REVIEW-003
      级别:建议性
      问题描述:缺少业务背景、消费方/使用场景及影响范围说明。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

      规则ID:MDB-NAMING-007
      级别:建议性
      问题描述:属性名 SmartAttribueId 存在拼写错误,Attribue 应为 Attribute,影响命名清晰度。
      处理建议:severity=‘should’ 建议性规则,建议修改以提升规范符合性

image

不建议体现v2 v3