openUBMC架构简介
更新时间:2025/4/5
在Gitcode上查看源码OpenUBMC架构设计通过4项模型抽象,应对在BMC业务中最主要的3种高频变化:
微组件描述模型(Module Description Source, MDS):
基于微组件管理框架,通过模型描述,提供组件生命周期、接口、依赖与数据管理,提供灵活的扩展与隔离能力。
- 生命周期管理:支持组件初始化,数据分发,健康监控与故障恢复能力。
- 接口,数据管理:显式声明组件对外提供接口与内部数据格式,并提供接口自动注册,分发调用能力;数据初始化与硬件数据分发能力,以及数据持久化与可靠性保护能力。
- 依赖管理:显式声明组件对外接口依赖,确保有序依赖与可裁剪性管理。
- 扩展与隔离能力: 支持组件新增资源接口。 支持以继承方式重写旧有资源接口。 支持以继承方式为旧有资源接口增加预处理和后处理。 支持插入扩展点,在扩展点内增加定制处理。(该种形式扩展越过接口管理边界,无法保证兼容性)
协作资源树模型(Management model DataBase Interface, MDB Interface):
从系统视角进行系统资源和资源关系的抽象接口定义。
基于D-Bus规范实现的资源协作标准,可以与OpenBMC实现组件接入技术栈互通。
基于MDS
和MDB Interface
模型,实现组件/定制功能的灵活扩展。
接口映射器模型(Interface Adapter):
由于Redfish规范快速迭代,在标准接口外,各厂商存在着众多事实Redfish自定义接口。并且,在redfish外,BMC还会提供诸多其他协议类型,如SNMP,CLI。 通过接口映射模型,可以实现:
- 高效的差异化接口适配。
- 覆盖除Redfish外的其他北向协议类型。
- 实现不同设备/厂商的定制接口隔离。
- 将协议与数据分离。
基于接口映射器模型,实现北向接口的灵活扩展。
设备管理模型(Device Interface):
OpenUBMC社区主导南向设备规范,通过设备管理模型支持,实现:
- 提供BMC业务所需的硬件模型稳定标准定义,BMC业务应用不受硬件变化而频繁变化。
- 不同设备/厂商的硬件适配分离,可灵活组合/复用。
基于设备管理模型,实现南向设备的灵活扩展。