ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

OpenBMC:IPMI 在 BMC 中的作用

OpenBMC:IPMI 在 BMC 中的作用 OpenBMCIPMI 在 BMC 中的作用1. IPMI 简介IPMI 是 Intelligent Platform Management Interface 的缩写是服务器带外管理领域广泛使用的标准协议。即使主机操作系统尚未启动或已经异常管理员仍可以通过 BMC 执行以下操作查询服务器电源状态控制主机上电、关机和重启读取温度、电压和风扇转速查询系统事件日志获取 FRU 信息配置用户和网络参数访问串口重定向功能IPMI 在 OpenBMC 中不是直接访问所有硬件而是通过 D-Bus 调用传感器、电源、日志和用户管理等后台服务。2. IPMI 的通信方式IPMI 支持主机侧通信和网络侧通信。主机侧通信主机 BIOS 或操作系统通过以下接口访问 BMCKCS BT SSIF其中 KCS 使用较为广泛。BIOS / 主机操作系统 ↓ KCS、BT 或 SSIF ↓ BMC 内核驱动 ↓ IPMI 服务网络侧通信远程客户端可以通过网络访问 BMCipmitool ↓ RMCP / RMCP ↓ UDP 623 ↓ BMC 网络 IPMI 服务IPMI 2.0 通常使用 RMCP支持用户认证、数据完整性校验和加密。3. OpenBMC 中的 IPMI 架构OpenBMC 中的 IPMI 请求处理链路如下KCS / BT / SSIF / LAN ↓ IPMI 接收服务 ↓ NetFn 和 Command 解析 ↓ IPMI 命令处理模块 ↓ D-Bus ↓ 传感器、电源、日志和用户服务 ↓ IPMI 响应IPMI 命令通常由以下字段标识Network Function Command LUN Request Data不同命令处理模块根据NetFn和Command注册对应的处理函数。4. IPMI 命令分类常见 IPMI Network Function 包括NetFn主要功能Chassis电源状态和机箱控制Sensor/Event传感器和事件管理Application设备信息、会话和看门狗StorageSEL、SDR 和 FRU 数据Transport网络和通信参数OEM厂商扩展命令例如执行以下命令ipmitool chassis power status处理流程为接收 Chassis 命令 ↓ 查询 Chassis D-Bus 状态 ↓ 转换为 IPMI 响应格式 ↓ 返回当前电源状态5. IPMI 与 D-BusOpenBMC 内部组件通常通过 D-Bus 交互。IPMI 服务主要承担协议转换工作。读取传感器IPMI Get Sensor Reading ↓ 根据 Sensor Number 查找传感器 ↓ 读取 D-Bus Sensor.Value ↓ 执行单位和线性转换 ↓ 返回 IPMI Sensor Reading执行电源控制IPMI Chassis Control ↓ 设置 D-Bus 电源转换属性 ↓ 电源控制服务执行操作 ↓ 更新主机和机箱状态查询事件日志IPMI Get SEL Entry ↓ 查询事件日志 ↓ 转换为 SEL 记录格式 ↓ 返回给 IPMI 客户端这种设计避免 IPMI 命令处理模块重复实现底层硬件访问逻辑。6. SDR、SEL 与 FRUSDRSDR 是 Sensor Data Record 的缩写用于描述 IPMI 传感器。SDR 通常包含Sensor NumberSensor TypeEntity ID单位线性转换参数阈值能力传感器名称SELSEL 是 System Event Log 的缩写用于记录温度超限风扇故障电源异常看门狗超时主机启动失败机箱入侵FRUFRU 数据用于描述硬件设备信息例如制造商产品名称型号序列号部件编号OpenBMC 可以将内部 Inventory、Sensor 和 Logging 数据转换为 IPMI 对应格式。7. IPMI 与 Redfish 的关系IPMI 和 Redfish 都能实现服务器带外管理但接口设计不同。对比项IPMIRedfish数据格式二进制命令JSON访问方式KCS、BT、LANHTTPS数据模型NetFn、Command、SDRREST 资源扩展能力OEM 命令标准资源和 OEM 属性典型用途传统管理工具和主机通信现代数据中心管理在 OpenBMC 中两者通常使用相同的后台数据D-Bus / \ IPMI bmcweb ↓ ↓ ipmitool Redfish因此IPMI 与 Redfish 是不同的外部管理接口并不需要各自维护一套独立硬件状态。8. 总结IPMI 在 OpenBMC 中主要承担传统管理协议入口和协议转换功能。IPMI 客户端 ↓ KCS / BT / SSIF / LAN ↓ IPMI 命令处理 ↓ D-Bus ↓ OpenBMC 后台服务IPMI 提供了成熟的主机管理和远程管理能力而传感器、电源、日志、用户和 Inventory 等实际功能由 OpenBMC 后台组件完成。
返回列表