背景
双主机场景下NVMe盘的带外管理需要systemid参数来创建与对应主机通信的Endpoint
双主机场景目前有特定的硬盘背板,并且该背板的csr也要兼容单主机场景
关联ISSUE
整体方案
在对应机型的platform.sr中新增私有对象NVMeConfig,并且在私有对象中新增MultiHostMappings属性,用于描述支持双主机的硬盘背板的UID以及槽位和主机Id的映射关系。
在NVMe盘插入时,根据盘所在的硬盘背板的UID以及槽位号匹配上对应的systemid。调用创建EP的接口时传入systemid,用于带外管理。
评审点
是否能在platform.sr中新增私有对象NVMeConfig以及相应的私有属性MultiHostMappings。
详细描述
示例:
"NVMeConfig_1": {
"MultiHostMappings": [
{
"UID": "00000001030302023938", // 硬盘背板UID
"SlotId": [0, 1, 2, 3], // 硬盘槽位Id
"SystemId": [1, 2, 1, 2] // 对应槽位的systemid
}
]
}
变化类型:platform.sr中新增私有对象
应用场景:用于双主机场景的NVMe盘带外管理
持久化类型: 不持久化
操作权限:ReadOnly
详细描述:
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 属性说明 | 属性约束 |
|---|---|---|---|---|---|---|---|
| MultiHostMappings | 新增属性 | a | 只读 R:ReadOnly | 不持久化 | false | 用于更新NVMe盘的systemid | 无 |
| UID | 新增属性 | s | 只读 R:ReadOnly | 不持久化 | false | 硬盘背板的UID | 无 |
| SlotId | 新增属性 | ay | 只读 R:ReadOnly | 不持久化 | false | NVMe盘的槽位 | 与SystemId数组长度相等 |
| SystemId | 新增属性 | ay | 只读 R:ReadOnly | 不持久化 | false | 槽位对应的主机Id | 与SlotId数组长度相等 |
评审结论
1:同意在platform.sr中新增私有对象NVMeConfig和所属的私有属性MultiHostMappings。
遗留问题
1:私有属性命名不合理,需要修改。–已经闭环,修改为MultiHostMappings