BMC 筆記:BMC



BMC 是什麼?

BMC 全名為「Baseboard Management Controller」,中文直譯就是「基板管理控制器」,是嵌在主機板上一個獨立於主系統的微控制器 (通常會是一顆低功耗的 MCU),有專用的記憶體、韌體,通常用於 Server。

縱使在主系統關機、當機、或失效時,仍可以獨立監控並管理整個硬體平台。 

IPMI architecture diagram shows BMC sideband via SMBUS.

 (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 感覺略過太多,內容有些少,希望之後隨著知識擴展,能再補充一些內容。

留言