【已评审】调整存储设备相关接口内容,修改属性名称,签名类型,并添加方法

背景

《T CESA 服务器南向接口技术要求 草案2025.12.23.doc》8.15存储设备相关接口中,属性类型、签名类型以及方法无法满足开发需求,需要补充调整。

关联ISSUE

[缺陷]: 接口设计,实现不合理,需要优化实现 - openUBMC/component_drivers - AtomGit

整体方案

当前按照web端9560Raid卡实际操作内容,补充资源协作接口方法,部分属性实现不合理,调整属性名称或者签名类型。

评审点1:新增资源协作接口 bmc.dev.Storage.Volume.Settings

接口描述:逻辑磁盘操作。

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetBootPriority y BootPriority: 启动优先级
0:非启动盘
1:主启动盘
2:次启动盘
i 成功:0;失败:错误码 设置逻辑盘是否启动盘 BasicSetting
SetProperties (usyyyyyyyuyi) Properties: 需要修改的属性,
SettingOptions:位掩码,标识哪些字段为有效值
LdName:逻辑盘名称
ReadPolicy:读策略
WritePolicy:写策略
IOPolicy:IO策略
AccessPolicy:访问策略
DiskCachePolicy:磁盘缓存策略
BGIEnable:后台初始化使能
Accelerator:加速方法
CapacityMB:容量大小,单位MB
StripSize:条带大小
SSDInLd:指示逻辑盘中是否包含SSD硬盘
i 成功:0;失败:错误码 修改逻辑磁盘参数配置 BasicSetting
StartFGI y InitType: 初始化类型
0 = 快速初始化
1 = 全量初始化
u TaskId 开始前台初始化 BasicSetting
CancelFGI i 成功:0;失败:错误码 取消前台初始化 BasicSetting
SetSSDCachingEnable b Enabled: 是否关联
true = 关联
false = 不关联
i 成功:0;失败:错误码 设置SSD Cache使能状态 BasicSetting

评审点2:变更资源协作接口 bmc.dev.Storage.Volume.Settings

变更描述:boolean改为uint8_t类型。

变更签名

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化 变更影响
变更 BootEnable b → y false false 0xFF表示查询失败 不持久化 无影响
变更 SSDCachingEnable b → y false false sml_base中如果是SSD组的逻辑盘,直接返回 0xFF 不持久化 无影响

评审点3:变更资源协作接口 bmc.dev.Storage.Drive.Status

变更描述:接口方法响应类型无改为U32。

变更响应类型

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetFirmwareStatus y FirmwareStatus: 固件状态 void → i 成功:0;失败:错误码 设置固件状态 BasicSetting
SetLocationIndicatorState y LocationIndicatorState: 定位指示灯状态 void → i 成功:0;失败:错误码 设置定位指示灯状态 BasicSetting
SetFaultIndicatorState y FaultIndicatorState: 故障指示灯状态 void → i 成功:0;失败:错误码 设置故障指示灯状态 BasicSetting

评审点4:变更资源协作接口 bmc.dev.Storage.Drive.Settings

变更描述:接口方法响应类型无改为int32。

变更响应类型

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetHotspare yq HotspareType: 驱动器的热备状态
0 = None
1 = Global
2 = Dedicated
3 = Auto
VolumeId:逻辑盘Id
void → i 成功:0;失败:错误码 设置热备类型 BasicSetting
CryptoErase void → i 成功:0;失败:错误码 擦除加密盘 BasicSetting
SetBootPrority BootPriority: 启动优先级 void → i 成功:0;失败:错误码 设置启动优先级 BasicSetting
SetPatrolState PatrolState: 巡检状态 void → i 成功:0;失败:错误码 设置物理盘的巡检状态 BasicSetting

评审点5:变更资源协作接口 bmc.dev.Storage.Volume

变更描述:属性名称和签名修改。

变更属性名称和签名类型

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 变更影响
变更 CapacityBytes → CapacityMB t → u true false 属性描述:逻辑盘容量,单位MB 不持久化 无影响
变更 StripSizeBytes → StripSize u → y true false 属性描述:逻辑盘条带大小枚举 不持久化 无影响
变更 MaxResizableSizeBytes → MaxResizableSize t → u true false 属性描述:逻辑盘最大可调整的容量 不持久化 无影响
变更 CacheLineSizeKiB→ CacheLineSize u → y true false 逻辑盘缓存行大小 不持久化 无影响

评审点6:新增资源协作接口 bmc.dev.Storage.Controller.Settings

接口描述:逻辑磁盘操作。

新增方法

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetCopybackEnabled y CopybackEnabled: 状态
0:Disable
1:Enable
i 成功:0;失败:错误码 设置控制器的回拷功能 BasicSetting
SetSMARTerCopybackEnabled y SMARTerCopybackEnabled: 状态
0:Disable
1:Enable
i 成功:0;失败:错误码 设置RAID控制器在检测到物理盘SMART错误之后是否自动进行Copyback BasicSetting
SetMode y Mode: 工作模式
0 = Raid
1 = HBA
2 = JBOD
i 成功:0;失败:错误码 设置控制器的工作模式 BasicSetting
SetJBODEnabled y Enabled: 状态
0 = Disable
1 = Enable
i 成功:0;失败:错误码 设置控制器的JBOD功能状态 BasicSetting
SetMaintPDFailHistory y Enabled: 状态
0 = 关闭
1 = 开启
i 成功:0;失败:错误码 用于设置RAID卡硬盘故障记忆功能的开启或者关闭 BasicSetting
SetNoBatteryWriteCache y Enabled: 状态
0 = Disable
1 = Enable
i 成功:0;失败:错误码 设置控制器无电池写缓存状态 BasicSetting
SetReadCachePercent y Percent: 读缓存百分比
取值范围 0~100,必须为5的倍数
i 成功:0;失败:错误码 设置控制器读缓存百分比 BasicSetting

评审点7:变更资源协作接口 bmc.dev.Storage.Controller.ForeignConfigurations

变更描述:接口方法响应类型无改为int32。

变更响应类型

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
Import void → i 成功:0;失败:错误码 导入外部配置 BasicSetting
Clear void → i 成功:0;失败:错误码 清除外部配置 BasicSetting

评审点8:变更资源协作接口 bmc.dev.Storage.Volume.Policy

变更描述:String改为uint8_t类型。

变更签名

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化 变更影响
变更 DefaultReadPolicy s → y false false 逻辑盘默认读策略 不持久化 无影响
变更 CurrentReadPolicy s → y true false 逻辑盘实际读策略 不持久化 无影响
变更 DefaultWritePolicy s → y false false 逻辑盘默认写策略 不持久化 无影响
变更 CurrentWritePolicy s → y true false 逻辑盘实际写策略 不持久化 无影响
变更 DefaultIOPolicy s → y false false 逻辑盘默认IO策略 不持久化 无影响
变更 CurrentIOPolicy s → y true false 逻辑盘实际IO策略 不持久化 无影响
变更 DiskCachePolicy s → y false false 逻辑盘的物理盘缓存策略 不持久化 无影响
变更 AccessPolicy s → y false false 逻辑盘访问策略 不持久化 无影响

评审点9:新增资源协作接口 bmc.dev.Storage.Controller

变更描述:String改为uint8_t类型。

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
TypeId y true false 属性描述:控制器类型 Read: ReadOnly 不持久化 false
Model s true false 属性描述,产品型号 Read: ReadOnly 不持久化 false
HardwareRevision s true false 属性描述,控制器的硬件版本 Read: ReadOnly 不持久化 false
HotSpareActivationMode s true false 属性描述,控制器的热备激活模式:Failure,Predictive,Unknown Read: ReadOnly 不持久化 false
FirmwareVersion s true false 属性描述,控制器固件版本 Read: ReadOnly 不持久化 false

评审点10:变更资源协作接口 bmc.dev.Storage.Controller.Status

变更描述:boolean改为uint8_t类型。

变更签名

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化 变更影响
变更 CachePinned b → y true false 是否发生cache pinned 不持久化 无影响

评审点11:新增资源协作接口 bmc.dev.Storage.Drive.Metrics

变更描述:新增华为ssd硬盘smart信息,新增华为硬盘smart标记位信息,新增厂商自定义Smart标记位信息,用于计算"预估寿命(天)"。

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
SlcPeCycle u true false 属性描述:华为自定义Smart信息:SLC擦除次数的规格值 Read: ReadOnly 不持久化 false
TlcPeCycle u true false 属性描述,华为自定义Smart信息:TLC擦除次数的规格值 Read: ReadOnly 不持久化 false
SlcAvgEc u true false 属性描述,华为自定义Smart信息:SLC的平均擦除次数 Read: ReadOnly 不持久化 false
TlcAvgEc u true false 属性描述,华为自定义Smart信息:TLC的平均擦除次数 Read: ReadOnly 不持久化 false
SlcPoh u true false 属性描述,华为自定义Smart信息:SLC当前的累计上电时长 Read: ReadOnly 不持久化 false
TlcPoh u true false 属性描述,华为自定义Smart信息:TLC当前的累计上电时长 Read: ReadOnly 不持久化 false
SlcUsedLifespan u true false 属性描述,华为自定义Smart信息:用户区已使用寿命百分比值 Read: ReadOnly 不持久化 false
TlcUsedLifespan u true false 属性描述,华为自定义Smart信息:非用户区已使用寿命百分比值 Read: ReadOnly 不持久化 false
HwValidFlag b true false 属性描述:标志从华为自定义Smart获取信息 Read: ReadOnly 不持久化 false
VendorValidFlag b true false 属性描述,标志从厂商自定义Smart获取信息 Read: ReadOnly 不持久化 false
VendorPoh u true false 属性描述,厂商自定义Smart信息:累计上电时长 Read: ReadOnly 不持久化 false
VendorRemnWearout y true false 属性描述,厂商自定义Smart信息:剩余磨损率 Read: ReadOnly 不持久化 false
StripTemperatureCelsius u true false 属性描述:SAS硬盘条带温度 Read: ReadOnly 不持久化 false
ElementsInGrownDefectList u true false 属性描述:SAS硬盘GLIST计数 Read: ReadOnly 不持久化 false
ElementsInPrimaryDefectList u true false 属性描述:SAS硬盘PLIST计数 Read: ReadOnly 不持久化 false
ManufacturedInWeekOfYear s true false 属性描述:SAS硬盘生产日期 Read: ReadOnly 不持久化 false
BlocksSentToInitiator u true false 属性描述:SAS硬盘发送到发起者的块数 Read: ReadOnly 不持久化 false
BlocksReceivedFromInitiator u true false 属性描述:SAS硬盘从发起者接收的块数 Read: ReadOnly 不持久化 false
UntilNextInterSMARTTestMinutes u true false 属性描述:SAS硬盘距离下次SMART测试的分钟数 Read: ReadOnly 不持久化 false
LastPrefailEventSeqNum u true false 属性描述:预故障事件序列号 Read: ReadOnly 不持久化 false

评审点12:新增资源协作接口 bmc.dev.Storage.Controller.Metrics

变更描述:新增控制器内存UCE计数"。

新增属性

属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
UncorrectableParityErrorCount u true false 属性描述:控制器内存生命周期内不可纠正奇偶校验错误的数量 Read: ReadOnly 不持久化 false

评审点13:新增资源协作接口 bmc.dev.Storage.Drive.Status

接口描述:新增慢盘计数器查询方法。

新增方法

方法名称 请求签名 响应签名 响应参数描述 方法描述 访问权限
GetSlowDiskCounters 无 (uuuu) CommandTimeoutTimes: 命令超时次数增量
UnexpectedSenseTimes: 意外感知次数增量
ResetTimes: 重置次数增量
PowerOnTimes: 上电次数增量
获取慢盘计数器增量(读取后RAID卡内部清零) ReadOnly

评审点14:资源协作接口 *bmc.dev.Storage.Controller.Settings*变更方法签名类型

接口描述:接口方法响应类型无改为int32。

变更方法签名类型

方法名称 请求签名 请求参数描述 响应签名 响应参数描述 方法描述 访问权限
SetDriveWriteCachePolicy yy Type: RAID下的硬盘管理类型enum: 0:"ConfiguredDriveWriteCachePolicy", 1:"UnconfiguredDriveWriteCachePolicy", 2:"HBADriveWriteCachePolicy
WriteCachePolicy: 写缓存策略enum: 0:"Default", 1:"Enabled", 2:"Disabled
void → i 成功:0;失败:错误码 设置硬盘写缓存策略 BasicSetting
SetConsisCheck qyy Period: RAID控制器一致性校验周期,单位(小时), 取值范围[1:1440]
Rate: RAID控制器一致性校验速率
AutoRepairedEnabled: 自动修复启用使能
void → i 成功:0;失败:错误码 设置一致性检查参数,包括周期、比例、延时等 BasicSetting
RestoreSettings void → i 成功:0;失败:错误码 恢复控制默认设置 BasicSetting