BMC 筆記:BMC
BMC 是什麼?
BMC 全名為「Baseboard Management Controller」,中文直譯就是「基板管理控制器」,是嵌在主機板上一個獨立於主系統的微控制器 (通常會是一顆低功耗的 MCU),有專用的記憶體、韌體,通常用於 Server。
縱使在主系統關機、當機、或失效時,仍可以獨立監控並管理整個硬體平台。

(BMC 對周邊通訊如圖,圖片 reference)
核心功能有:
獨立運作:有自己的處理器、記憶體、韌體、網路,能在主系統電源關閉時仍保持通電
監控:透過感測器收集溫度、電壓、風扇轉速、電源狀態等資訊
遠端控制:支援遠端開機、關機、重啟、記錄事件等功能
網路系統:可以獨立、可以與主系統共用、也可以兩種都支援,取決於成本與可靠性
獨立 (Dedicated NIC):BMC 擁有一個獨立的乙太網路埠,直接連接到 BMC 的內部 MAC/PHY,通常該網路只供管理用途 (Management LAN)
除了會提高晶片成本外,機房還需額外拉線共用 (Shared NIC) :BMC 與主 CPU 共用相同的乙太網路實體介面 (通常透過 MUX 或 Sideband 通道切換)、封包亦會共用同一個 port,再另外透過 NC-SI (Network Controller Sideband Interface) 或 SMBus/PCIe 在主系統 NIC 晶片內部切分資料
BMC 與主系統會分別擁有不同的 MAC Address 或 VLAN ID
雖然成本降低了,但主系統異常時會被影響(包含斷線、延遲)、資安上也有 BMC 管理介面被入侵影響主系統的事件(ex:CVE-2024-54085)
BMC 的硬體架構
如前面所述,BMC 通常是一顆低功耗 MCU (常見製造商:ASPEED、Nuvoton、Renesas),包含的硬體大致如下:- ARM Core 處理器
- SRAM / Flash
- 網路介面 (Ethernet MAC/PHY)
- 通訊匯流排 (I²C / SMBus / UART 介面):與硬體監視器交流用
- GPIO 控制器
小結
BMC 是嵌入式系統中「系統管理層」的關鍵元件,它讓硬體具備「自我監控與遠端維運能力」,是 Server、網通設備與工控平台不可或缺的一環。
原本是想寫 IPMI、redfish 的,但了解了一下發現在「不認識 BMC」的前提下,要說明 IPMI 與 redfish 感覺略過太多,內容有些少,希望之後隨著知識擴展,能再補充一些內容。
留言
張貼留言