NVMe 固件更新的协议由 NVM Express 标准指定,NVMe 设备通常都会支持。只要设备支持带外的 NVMe-MI,带外固件更新应该可以正常工作。通常带外的 NVMe-MI 协议是通过 MCTP 协议实现, 物理链路根据不同的设备可能是 SMBus, PCIe,此文档基于 SMBus 和 PCIe 的实现进行说明, 也就是常说的 NVMe-MI over MCPT over...
硬件连接与独立运行BMC是服务器主板上的一个独立芯片或模块,拥有自己独立的处理器、内存、存储和电源供应。它与服务器的其他关键组件(如CPU、内存、硬盘等)通过特定的硬件接口和总线进行连接,例如系统管理总线(SMBus) 。这种独立设计使得BMC能够在服务器主操作系统(OS)未启动、甚至主电源关闭的情况下依然正常运...
BMC管理口是一种带有网络接口的串行管理接口,它可以通过局域网或互联网与服务器远程连接,从而实现对服务器的监视和控制。 BMC管理口支持IPMI(Intelligent Platform Management Interface,智能平台管理接口)协议,该协议定义了服务器管理功能的通用接口标准,SMBus(System Management Bus,系统管理总线)协议、红鲱鱼协议等。 BM...
SMBus系统接口(SSIF)定义了到BMC的基于SMBus的系统接口。与其他系统接口定义(例如KCS)不同,SSIF不指定一组映射到I/O或主机处理器空间的内存。SSIF假定系统中存在一个SMBus主机控制器。 SSIF封装了IPMI消息,并使用SMBus“写块”和“读取块”协议在主机控制器和BMC之间传输它们。使用SSIF,BMC总是作...
针对NVMe硬盘,可以通过BMC透过Smbus协议读NVMe的寄存器,具体命令为i2ctransfer -y {bus} w2@0xd4 0x00 0x04 r1,或者通过代码中Smbus标准接口获取寄存器信息。 针对PSU电源,可以通过BMC透过Pmbus协议读PSU的寄存器,具体命令为i2ctransfer -y {bus} w1@addr 0x79 r2, 或者通过代码中Pmbus标准接口获取寄存器信息。
简而言之,BMC就是嵌入到服务器主板上的一块独立处理器,通过IPMB、LPC(low-pin-count-interface)、SMBus等各种接口收集与主机内部的其他软硬件组件进行通信,并通过网络、串行/Moderm、PCI等接口传向本地主机/远程服务器提供查询和控制功能。 典型的BMC系统如下所示: ...
通常,BMC 和 BIOS 之间的通信可以通过 IPMI(Intelligent Platform Management Interface)或 SMBus(System Management Bus)来实现。在这里,我们以 IPMI 为例,介绍如何在 BIOS 中通过 IPMI 协议与 BMC 进行通信。 3. 代码示例 3.1 初始化 IPMI 首先,在 BIOS 中需要初始化 IPMI 协议,以便与 BMC 建立通信。以下是...
简单来说,NCSI就是主控制器的管理控制器(BMC)和网卡之间通信定义的协议最初,BMC有一个专用以太网端口来实现远程管理的以太网连接后来,以太网制造商开始使用专有的边带接口,这是一种让BMC能与操作系统共享以太网端口的机制。 这个接口通常基于I2C/SMBus接口,但具有专门的协议随后,DMTF创建了一个行业标准的边带接口即...
IPMI提供了一套独立于主机系统CPU、固件和操作系统的管理和监视功能的接口,通过嵌入到服务器主板上的BMC、相关传感器及相应固件,提供检测和管理服务器物理健康状态、软硬件信息和运行状态等服务。IPMI接口基于命令/响应机制,通过网络、串行/Moderm接口、IPMB、KCS、SMIC、SMBus等不同接口传递统一格式的IPMI...
想深入了解BMC的细节?请参阅相关文档:IPMI官方资料、IPMITool工具、DMTF官网,以及SMBus和I2C总线的详细信息。结论 BMC作为服务器管理的核心组件,其高效、统一的架构和功能为服务器维护带来了显著的便利。无论是硬件还是软件层面,BMC都展示了其在现代数据中心中的关键作用。进一步的探讨和应用将使BMC在...