前言

Server的設計顯然不同於一般PC,穩定,能夠自我管理,自我修復, 能夠不中斷的提供服務,應該會是台好server。從簡單的溫度監控,到系統及每個component的狀態的偵測與修復,軟硬體的錯誤,每家廠商就開始設計其proprietart的interface來完成這些事。而不同的設備與不同的應用卻使得系統難以管理,效率也不好。。因此Intel就跳出來倡導IPMI (Intelligent Platform Management Interface)來標準化這些interface,並解決server自我管理能力低的問題。管理的方式為透過 BMC (Baseboard Management Controller)這個processor,與CPU及主板上的元件相連,進而監控其狀態,包含溫度,電壓,風扇等元件,當系統出問題時予以重啟,或是當機時重開機,甚至在系統關機下也可遠端啟動。由此可看出BMC是獨立於原來的主系統之外,獨立運作,而與CPU,OS是無關的。

2001年發佈的IPMI 1.0,是透過serial port來完成這樣的管控。1.5版及2.0版更加強了其監控功能,以及遠端控制。

IPMI的優點整理如下:

1. 獨立於主系統,可提供out of band 的管理,適合重啟系統。並且是跨平台的。

2. 易於擴充,可增加sensor或controller

3. CPU與 BMC是相連的,可輕易接受IPMI 的event log。

 

IPMI implementation

BMC為IPMI的中心,提供所謂intelligent的管理。BMC理應是永遠啟動的,不管主系統是on/off。

mc       

圖中央的主MC (即 BMC)通常是一個小而不貴的microprocessor,透過下方的 system interface (包括SMIC/KCS/BT)與主CPU 相連。有些系統沒有這個interface,而使用external interface或是IPMB (sister standard of IPMI)。右下方的other interface則是提供透過serial port或是ethernet的interface。這些interface主要的目的都是提供管理的能力,如讀取sensor data,設定threshold,控制LED等。不同的interface會有performace與capacity的差異。

右方的sensor區,通常是走I2C,因為目前的sensor都有此介面,不用再另外的電路。每一種sensor可能會有自己的MC,而這個MC與BMC溝通。當sensor異常時,就會發出event,BMC就可存入Event Log,並透過各種interface向外傳遞,做出相應的處理。

FRU (Field Replacable Unit)EEPROM則儲存了 FRU data。這些data包含製照商,序號,出廠日等metadata。 FRU包含如memory (DIMM),power supply,插入式的板卡等。

像blade server有多張主板組成的server,則是透過IPMB來連接所有的BMC。另外也有  ICMB serial bus來連接每個chassis,即右上角的chassis control。BMC左方有一些repository,則存放SDR (Sensor Data Record),是一跟跟sensor/component有關的data,如風扇轉速,front panel溫度,電壓等資料。

 

System Interface

SMIC: 舊有的interface。low-performance,byte-at-a-time,no interrupt capacity。

KCS: 目前最普遍的interface。如同keyboard interface,優點是硬體便宜。同樣是low-performance,byte-at-a-time但有interrupt。

BT: IPMI最佳的interface。message會打包成一個再傳送,performance優。

SSIF: 這是2.0加進去的,利用 SMBUS protocol,跑在I2C上。cost-effective,因為系統都有 I2C了,缺點還是low-performace。

Linux Kernel driver: IPMI

 

 

相關連結

IPMI詳細介紹

IPMI和BMC介紹

A Gentle Introduction with OpenIPMI

arrow
arrow
    全站熱搜

    kezeodsnx 發表在 痞客邦 留言(1) 人氣()