什么是BMC在介紹BMC之前需要了解一個概念,,即平臺管理(platform management)。 平臺管理表示的是一系列的監(jiān)視和控制功能,,操作的對象是系統(tǒng)硬件,。比如通過監(jiān)視系統(tǒng)的溫度,電壓,,風扇,、電源等等,并做相應的調節(jié)工作,,以保證系統(tǒng)處于健康的狀態(tài),。 當然如果系統(tǒng)真的不正常了,也可以通過復位的方式來重新啟動系統(tǒng),。 同時平臺管理還負責記錄各種硬件的信息和日志記錄,,用于提示用戶和后續(xù)問題的定位。 以上的這些功能可以集成到一個控制器上來實現(xiàn),這個控制器被稱為基板管理控制器(Baseboard Manager Controller,,簡稱BMC),。 需要說明的是,BMC是一個獨立的系統(tǒng),,它不依賴與系統(tǒng)上的其它硬件(比如CPU,、內存等),也不依賴與BIOS,、OS等(但是BMC可以與BIOS和OS交互,,這樣可以起到更好的平臺管理作用,OS下有系統(tǒng)管理軟件可以與BMC協(xié)同工作以達到更好的管理效果),。 一般我們的電腦不會帶BMC,,因為用處不大,一些溫度,、電源等的管理,,CPU來控制就夠了。 但是對于系統(tǒng)要求高的設備,,比如服務器,,就會用到BMC。 當然因為BMC是一個獨立的系統(tǒng),,對于某些嵌入式設備,,可能不需要其它處理器,光一個BMC就能完成工作,。 說到底BMC本身也是一個帶處理器(一般都是ARM處理器)的小系統(tǒng),,單獨用來處理某些工作也完全是可以的。 不過這里既然叫做BMC,,那么總的來說重點還是在平臺管理,,所以本文主要說的是服務器中的BMC。 BMC在系統(tǒng)中的位置大致如下圖所示: BMC通過不同的接口與系統(tǒng)中的其它組件連接,。 LPC,、I2C、SMBUS,,Serial等,,這些都是比較基本的接口,而IPMI,,它是與BMC匹配的總線,,所有的BMC都需要實現(xiàn)這種接口,這里需要特別的介紹,。 IPMIIPMI的全稱是Intelligent Platform Management Interface,,智能平臺管理接口。 看了名字也不需要特別介紹它用來干什么的了,,關于它的詳細介紹可以參看https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-home.html,,這里只做簡單的介紹。 IPMI規(guī)定了很多的東西,,BMC是其中最重要的一個部分,,此外還有一些”衛(wèi)星“控制器通過IPMB與BMC相連,這些”衛(wèi)星“控制器一般控制特定的設備,。 IPMB全稱Intelligent Platform Management Bus,,是一種基于I2C的串行總線,它用于BMC與”衛(wèi)星“控制器的通信,,其上傳遞的是IPMI命令,。 下面的圖描述了與IPMI有關的各個模塊: 智能平臺管理接口 (IPMI) 是一種開放標準的硬件管理接口規(guī)格,定義了嵌入式管理子系統(tǒng)進行通信的特定方法,。IPMI 信息通過基板管理控制器 (BMC)(位于 IPMI 規(guī)格的硬件組件上)進行交流,。使用低級硬件智能管理而不使用操作系統(tǒng)進行管理,具有兩個主要優(yōu)點: 首先,,此配置允許進行帶外服務器管理,;其次,操作系統(tǒng)不必負擔傳輸系統(tǒng)狀態(tài)數(shù)據(jù)的任務,。用戶可以利用IPMI監(jiān)視服務器的物理健康特征,,如溫度、電壓,、風扇工作狀態(tài),、電源狀態(tài)等。 IPMI的核心是一個專用芯片/控制器(叫做服務器處理器或基板管理控制器(BMC)),,其并不依賴于服務器的處理器,、BIOS或操作系統(tǒng)來工作,可謂非常地獨立,,是一個單獨在系統(tǒng)內運行的無代理管理子系統(tǒng),,只要有BMC與IPMI固件其便可開始工作,而BMC通常是一個安裝在服務器主板上的獨立的板卡,。IPMI良好的自治特性便克服了以往基于操作系統(tǒng)的管理方式所受的限制,,例如操作系統(tǒng)不響應或未加載的情況下其仍然可以進行開關機、信息提取等操作,。 在工作時,,所有的IPMI功能都是向BMC發(fā)送命令來完成的,BMC接收并在系統(tǒng)事件日志中記錄事件消息,,維護描述系統(tǒng)中傳感器情況的傳感器數(shù)據(jù)記錄,。 一般來說,,BMC具有以下功能: 1.通過系統(tǒng)的串行端口進行訪問
3.訪問系統(tǒng)事件日志 (System Event Log ,SEL) 和傳感器狀況 4.控制包括開機和關機 5.獨立于系統(tǒng)電源或工作狀態(tài)的支持 6.用于系統(tǒng)設置、基于文本公用程序和操作系統(tǒng)控制臺的文本控制臺重定向 而通過IPMI ,,用戶可以主動監(jiān)測組件的狀況,,以確保不超出預置閾值,例如服務器溫度,。這樣,,通過避免不定期的斷電,協(xié)助維護了 IT 資源的運行時間,。 IPMI的預告故障能力也有助于 IT 周期的管理,。通過檢查系統(tǒng)事件日志 (SEL),可以更輕松的預先判定故障組件,。 只要將服務器接入網(wǎng)絡并且沒有斷開服務器的電源,,不管服務器的處于何種狀態(tài)(開機、關機,、重啟),,都可以允許用戶通過網(wǎng)絡進行遠程管理。 BMC—服務器運維管理利器BMC全稱BaseboardManagement Controller,,通俗來講,,BMC是整個服務器單板的大管家。從一款服務器上電時刻,,它的所有部件都歸BMC來負責和管理,。說到這里,大家可能已經(jīng)了解BMC是與服務器有關的,,但還是會有疑惑,,BMC到底是啥?它在服務器哪里,?它在干什么,? 簡單提下服務器,服務器從功能上來講,,跟我們日常學習辦公使用的臺式機和筆記本沒有本質區(qū)別,,主要也是由最為關鍵的三大件CPU、內存,、硬盤組成,,但是服務器的應用場景主要是提供給企業(yè)等角色用來支撐形形色色業(yè)務,不僅僅是用來安裝瀏覽器訪問網(wǎng)頁,、安裝播放器看看電影,,因此服務器會使用更強的配置,即更強勁的CPU,、更大的內存,、更大的硬盤存儲,。從外形上來說,服務器存在多種外形,,如機架式,、刀片式、塔式等等,,最主要的區(qū)別在于服務器一般不會配置顯示器、鍵盤,、鼠標等部件用于近端操作,,一般通過IP遠程連接的方式訪問即可。因為服務器一般情況下都會放置于單獨的機房,,而且風扇噪音會比家用電腦更大些,。 說到這里,大家可能覺得我懂了,,BMC就是跑在服務器上的一個軟件是吧,?錯誤。 BMC是一款服務器AC上電起始即運行的軟件,,運行在服務器上一款單獨的ARM芯片上,,這個ARM芯片就是BMC軟件的CPU,同時會芯片外圍會配置自己的RAM,、Flash等器件,,只要服務器插上電源線,BMC軟件便快速運行起來,,此時有可能我們通常意義上的x86服務器側的OS都還沒有安裝呢,。BMC是整個服務器的大管家,主要用于服務器各個部件(CPU,、內存,、硬盤、風扇,、機框等)的溫度,、電壓等健康狀態(tài)進行檢測,同時根據(jù)各個溫度采集點情況實時調整風扇轉速保證服務器不產(chǎn)生過溫,、而且控制總體功耗又不能過高,,如果單板部件出現(xiàn)任何異常則通過SNMP協(xié)議、SMTP協(xié)議,、Redfish協(xié)議等多種業(yè)界通用規(guī)范講信息及時上報給上層網(wǎng)管,,以便運維人員及時處理,保證業(yè)務無損,。 此處介紹下帶外管理和帶內的概念,,通常情況下x86側執(zhí)行的運維管理動作被稱作帶內的方式,,而BMC是脫離x86側獨立運行的服務器管理軟件,被稱作帶外管理軟件,。 簡單來說,,BMC可以采集任何服務器上的除x86側運行的私有業(yè)務本身之外的任何信息,本文不展開講到底可以采集哪種信息,,但是請注意,,現(xiàn)在業(yè)界的BMC帶外管理軟件有各種解決方案,可以采集到任何你想要的信息,,是的,,任何。因為即使從帶外無法獲取的信息,,當前業(yè)界也存在帶外和帶內監(jiān)控結合,、帶外統(tǒng)一提供接口的方案,可以實現(xiàn)通過BMC獲取任何想要獲得信息,。 從功能上來講,,BMC主要用于采集單個服務器上各種信息,同時提供給上層運維網(wǎng)管軟件,。主要有兩種手段,,第一種BMC會提供各種各樣的接口供上層網(wǎng)管查詢,如web,、命令行等人機接口,、SNMP、IPMI,、Restful等機機接口,;第二種是主動上報,當檢測到有故障產(chǎn)生時,,BMC可以通過SNMP trap消息,、SMTP 郵件消息、Redfish http json報文等手段上報給上層網(wǎng)管軟件的服務端,,以便運維人員及時識別處理故障,。一般情況下,BMC軟件上報的消息中都會明確的指明具體是哪個部件產(chǎn)生了故障,、處理建議是怎樣的等等,。 講到這里,大家對BMC帶外管理應該有了初步的認識,,也達到了本文的目的,。此時大家可能存在疑問,在x86側OS上部署一套自研的Agent,,也可以采集到我想要的各種信息,,對于少量與硬件強相關的信息,,我在帶內OS上通過BMC接口查詢補全,這種帶內結合帶外管理的方式不是也挺好嗎,? 全帶外管理,,是當前各大服務器廠商推出的單板運維管理的解決方案。各大服務器廠商當前均自研統(tǒng)一的帶內Agent信息補全工具,,最終匯集信息至BMC側統(tǒng)一對外提供接口,。理論上來說,可以滿足單板運維管理的訴求,。對于服務器用戶來說,,這是零成本的解決方案,強烈建議采用,,何必自己再研發(fā)一套增加成本呢,? 希望大家看完此文能對BMC帶外管理有一定的了解,。 |
|