CSR配置字典之Component类
更新时间:2025/7/22
在Gitcode上查看源码📋 文档信息
项目 | 内容 |
---|---|
文档标题 | Component类配置字典 |
版本 | v1.0 |
创建日期 | 2025-01-27 |
最后更新 | 2025-01-27 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|---|---|---|---|---|
v1.0 | 2025-01-27 | 初始版本 | 创建Component类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
Component 类
属性 | 值 |
---|---|
类名称 | Component |
功能描述 | 硬件模块组件管理,提供硬件组件的基本信息、状态管理和告警关联功能 |
所属SIG组 | hardware |
所属组件 | component |
责任人 | 硬件组件管理组 |
最后更新 | 2025-01-27 |
状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
FruId | U8 | 255 | U8 | - | 关联Fru的Fruid 如果仅用于告警则配置255 | 查询电子标签 | 255 | CSR | 软件 |
Instance | U8 | - | U8 | - | 组件设备Number 即器件在整个单板中的编号 | 查询电子标签/查询告警 | 2 | CSR | 软件 |
Type | U8 | - | U8 | - | 部件类型 请参考IDP文档中的IPMI接口说明的设备类型附录 | 查询电子标签/查询告警 | 0 | CSR | 硬件 |
Name | String | - | String | - | 部件名称 同一个position中需要保证唯一 补充告警和电子标签各自关注 | 查询电子标签/查询告警 | "Cpu2" | CSR | 软件 |
Presence | U8 | - | 0或1 | - | 部件在位状态 0:不在位 1:在位 | 查询电子标签/查询告警 | 1 | CSR | 硬件 |
PowerState | U8 | - | 0或1 | - | 部件电源状态 0:下电 1:上电 | 查询电子标签/查询告警 | 1 | CSR | 硬件 |
可选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
Health | U8 | - | U8 | - | 关联告警时,如果告警则会根据告警严重程度进行更新 | 查询告警 | 0 | BMC内部设置 | 软件 |
BoardId | U16 | 65535 | U16 | - | 组件单板BoardId | 查询电子标签 | 65535 | CSR | 硬件 |
UniqueId | String | "N/A" | String | - | 组件唯一标识 Vendor + ComponentID | 查询电子标签 | "N/A" | CSR | 软件 |
Manufacturer | String | "HUAWEI" | String | - | 组件厂商信息 | 查询电子标签 | "HUAWEI" | CSR | 软件 |
GroupId | U8 | 1 | U8 | - | 组件逻辑组Id | 查询电子标签/查询告警 | 1 | CSR | 软件 |
Location | String | - | String | PCIeDevice_1 | 组件的容器 | 查询电子标签/查询告警 | "<=/PCIeDevice_1.Position" | CSR | 软件 |
SerialNumber | String | - | String | FruData_DPUCard | 组件序列号 | 查询告警 补充具体的使用场景 | "<=/FruData_DPUCard.BoardSerialNumber" | CSR | 硬件 |
PartNumber | String | - | String | FruData_DPUCard | 组件号 | 查询告警 | "<=/FruData_DPUCard.BoardPartNumber" | CSR | 硬件 |
SegmentId | U8 | - | U8 | - | 组件容器ID | 查询电子标签 | 1 | CSR | 软件 |
Function | String | - | String | - | 部件功能信息 简要描述功能,仅用于告警则不用配置 | 查询电子标签 | "memory" | CSR | 软件 |
PreviousSN | String | "" | String | - | SN号变更时自动更新为上一次的SN号 | 查询告警 热插拔部件 | "" | BMC内部设置 | 软件 |
ReplaceFlag | U8 | 0 | 0或1 | - | SN号变更时自动更新 0:未更换 1:已更换 | 查询告警 | 0 | BMC内部设置 | 软件 |
NodeId | String | - | String | - | 节点的ID | 查询电子标签 | "2" | CSR | 软件 |
🔗 动态关联机制
语法规范
使用 #/xxx
或 <=/xxx
格式实现属性间的动态关联:
yaml
# 语法格式
属性名: "<=/目标类.属性名"
# 实际示例
Location: "<=/PCIeDevice_1.Position" # 关联PCIe设备位置
SerialNumber: "<=/FruData_DPUCard.BoardSerialNumber" # 关联FRU序列号
PartNumber: "<=/FruData_DPUCard.BoardPartNumber" # 关联FRU部件号
关联说明
- Location: 关联PCIe设备或其他容器的位置信息
- SerialNumber: 从FRU数据中动态获取序列号
- PartNumber: 从FRU数据中动态获取部件号
📂 分类标准
硬件属性
- 定义:与物理器件直接相关的参数
- 特点:通常固定不变,与硬件BOM表对应
- 示例:
Type
,Presence
,PowerState
,BoardId
,SerialNumber
,PartNumber
软件属性
- 定义:用于逻辑控制和软件管理的参数
- 特点:由BMC内部逻辑动态提供和管理
- 示例:
FruId
,Instance
,Name
,Health
,UniqueId
,Manufacturer
,GroupId
,Location
,SegmentId
,Function
,PreviousSN
,ReplaceFlag
,NodeId
📝 配置示例
标准CPU组件配置
json
{
"Component": {
"FruId": 255,
"Instance": 2,
"Type": 0,
"Name": "Cpu2",
"Presence": 1,
"PowerState": 1,
"Health": 0,
"BoardId": 65535,
"UniqueId": "N/A",
"Manufacturer": "HUAWEI",
"GroupId": 1,
"Function": "processor"
}
}
内存组件配置
json
{
"Component": {
"FruId": 10,
"Instance": 1,
"Type": 1,
"Name": "Memory1",
"Presence": 1,
"PowerState": 1,
"Health": 0,
"BoardId": 65535,
"UniqueId": "N/A",
"Manufacturer": "HUAWEI",
"GroupId": 1,
"Function": "memory",
"SegmentId": 1,
"NodeId": "1"
}
}
带FRU关联的DPU卡配置
json
{
"Component": {
"FruId": 20,
"Instance": 1,
"Type": 5,
"Name": "DPUCard1",
"Presence": 1,
"PowerState": 1,
"Health": 0,
"BoardId": 65535,
"UniqueId": "N/A",
"Manufacturer": "HUAWEI",
"GroupId": 2,
"Location": "<=/PCIeDevice_1.Position",
"SerialNumber": "<=/FruData_DPUCard.BoardSerialNumber",
"PartNumber": "<=/FruData_DPUCard.BoardPartNumber",
"Function": "accelerator",
"SegmentId": 1,
"NodeId": "1"
}
}
热插拔组件配置
json
{
"Component": {
"FruId": 30,
"Instance": 1,
"Type": 3,
"Name": "HotSwapCard1",
"Presence": 1,
"PowerState": 1,
"Health": 0,
"BoardId": 65535,
"UniqueId": "N/A",
"Manufacturer": "HUAWEI",
"GroupId": 3,
"SerialNumber": "<=/FruData_HotSwap.BoardSerialNumber",
"PartNumber": "<=/FruData_HotSwap.BoardPartNumber",
"Function": "expansion",
"PreviousSN": "",
"ReplaceFlag": 0,
"SegmentId": 1,
"NodeId": "1"
}
}
🔧 使用指南
配置步骤
- 确定组件类型:根据硬件BOM表确定Type类型
- 设置基本信息:配置FruId、Instance、Name等基本属性
- 配置状态属性:设置Presence、PowerState等状态信息
- 关联FRU数据:通过动态关联获取序列号、部件号等信息
- 设置逻辑分组:配置GroupId、SegmentId、NodeId等逻辑属性
- 功能描述:根据需要配置Function功能描述
- 告警关联:配置Health属性用于告警状态管理
注意事项
- 名称唯一性:同一个position中Name需要保证唯一
- FruId配置:仅用于告警的组件可配置FruId为255
- 动态关联:SerialNumber和PartNumber需要确保关联的FRU数据存在
- 热插拔支持:热插拔组件需要配置PreviousSN和ReplaceFlag
- Health状态:Health属性由BMC内部根据告警严重程度自动更新
- Type参考:Type类型需要参考IDP文档中的IPMI接口说明
性能建议
- 合理分组:使用GroupId对相关组件进行逻辑分组
- 状态监控:定期检查Presence和PowerState状态
- 告警集成:合理配置Health属性实现告警状态同步
- FRU优化:避免过度频繁的FRU数据关联更新
故障排查
- 组件不在位:检查Presence状态和硬件连接
- 电源状态异常:检查PowerState和电源管理配置
- 告警状态错误:检查Health属性和告警关联配置
- FRU数据缺失:检查动态关联的FRU数据源是否存在