背景
支持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
