摘要
近年來,在PICMG協會(PCI Industrial Computer Manufactures Group)所公布的CompactPCI標準規范下,系統整合商可充分享受它所提供的堅固性(Rugged) 、可靠性(Reliability) 、可用性(Availability)及可管理性(Manageability)等模塊化平臺所帶來的好處。其中在系統管理的部份,PICMG協會特別制定了PICMG 2.9的工業標準來加以規范。
PICMG 2.9系經由標準系統管理總線,采用了與IPMI(Intelligent Platform Management Interface)規格兼容的技術來達成系統管理的目的。它能夠讓管理人員直接進行系統的監控,透過遠程管理,得知系統的健康狀況,并且也可達到遠程執行控制CompactPCI板卡,使系統重新開機等管理工作。
本篇文章將分為兩大部份,第一部份將介紹IPMI的基本規格特性;第二部份將介紹如何運用IPMI規格到PICMG 2.9規范上。
第一部份 Intelligent Platform Management Interface (IPMI)
IPMI規格是在1998年由Intel、Dell、HP以及NEC所共同提出的,它提供了一個可跨平臺的標準界面來監控服務器內的一些狀態,如溫度、電壓、風扇等,并且可通過事件發送的形式讓系統管理人員得知目前系統狀況。在2001年IPMI 從1.0版改成1.5版,內容增加了LAN、Serial/Modem、PCI management Bus等系統管理的溝通界面,以及提供了Alerting的功能。2004年Intel于Intel開發者論壇(IDF,Intel Developer Forum)正式發表了IPMI 2.0版,為IT使用者提供了更高的安全性、遠程服務器主機畫面監控(Console Redirection) 、并支持模塊化刀片型服務器(Blade Server)以及向下兼容1.0及1.5版IPMI規格。
IPMI讓系統管理者能夠透過網絡或序列的傳輸形式來監控系統上各種組件的健康狀況,如CPU運作、風扇轉速、系統溫度及電壓等。管理者可以將要監控的部份,設定其感應的臨界值,在IPMI控制器感應到有不正常的情況時,它將整個系統運作的狀態及事件以日志的形式記錄下來,并且經由警示形式,如發mail、送SNMP trap等來通知相關人員處理問題。另外,通過硬件及軟件的配合,IPMI增加了遠程管理及系統回復的功能,讓系統管理者可以在非機器放置地得知系統目前是處于何種狀態,如關機、開機中、OS當機等,并且下達開機、關機和重新開機等命令。
以下將通過簡單的介紹來了解如何設計一個IPMI的系統。
Baseboard Management Controller (BMC)
圖一為整個IPMI架構的示意圖。位于整個架構中心的部份即為我們所謂的Baseboard Management Controller (BMC)。它通過各別的界面來管理整個系統,如系統狀態偵測及事件過濾、電源管理、記錄事件發生時間及系統回復控制,并且透過網絡或串行端口" title="串行端口">串行端口來告知管理人員,另外,它提供了IPMB的總線來和外部的管理控制器互相溝通。
圖一 IPMI架構示意圖
通常一個基本的BMC所提供的界面有以下幾種:
l?????????? I
l?????????? 系統界面:這組界面用來和系統上的CPU進行溝通,目前主要以LPC界面為主,系統上的CPU可利用固定的傳輸協議對BMC下達IPMI命令。另外,一些BMC的設計廠商也提供了PCI的界面來讓CPU下達命令(必須依據BMC的規格來決定)。
l?????????? Serial/Modem界面:在1.5的規格上定義了Serial/Modem的界面讓管理者直接從串行端口或是從Modem機器接收IPMI訊息。它主要有三種連接模式:Basic、PPP及Terminal,三者即可讓管理者通過文字模式解譯IPMI平臺上的狀態或簡單地下達IPMI命令。
l?????????? LAN界面:經由RMCP(Remote Management Control Protocol)的封包格式,BMC可經由LAN的界面讓管理者接收傳送IPMI訊息。越來越多的應用軟件運用這個界面使軟件和遠程的BMC溝通。另外,在圖一中我們知道BMC利用side-band的形式經由I
另外,在IPMI 2.0的支持上,不同廠商所提供的BMC會以不同的形式達到console redirection的功能,如新增一組硬件芯片或截取系統VGA的RGB訊號等。所以在設計一個IPMI平臺時,必須先確認所設計的平臺究竟是支持哪種IPMI規格,并且有那些功能是需要特別的界面來實現,以便于另選額外的周邊控制組件來輔助。
Firmware、BIOS與System Management Software(SMS)
一個IPMI除了BMC主要的硬件組件外,相關輔助的軟件設計也是必須要考慮的一個環節,因為它所呈現的是系統管理者所接觸的控制界面,方便與否及強大的管理會是左右管理者考慮使用這個平臺的一大因素。
圖二 IPMI與管理軟件的關系圖
由圖二我們可以看出,IPMI的界面以及上層的管理都需求一些軟件來支持,以下將簡略的描述IPMI所涉及到的軟硬件種類:
l?????????? BMC Firmware:有別于系統上的CPU,BMC其實也是一個獨立的運算單元,它必須有獨立的Firmware來驅動BMC的功能,就如x86系統所需的BIOS一樣。通常BMC的Firmware必須負責BMC芯片的起始值設定、外圍相關硬件的致能、IPMI標準的命令集解譯及執行以及一些獨特硬件設計所需的OEM命令的增列。
l?????????? 管理軟件:系統管理者最常接觸的就是上層的管理軟件,簡單的類型就是使用一般的終端機(Terminal)程序來接收從Serial/Modem所傳送過來的文字訊息。近年來,除了BMC廠商會有自行開發的上層管理軟件外,也有不少的軟件廠商加入了開發管理軟件的行列,而他們最主要利用的溝通界面即為網絡界面。不管是通過序列或是網絡,在界面上傳輸的都是BMC所能辨認的IPMI訊息。
l?????????? BIOS (optional):這里的敘述只適合于有類似使用BIOS的系統。在管理的功能上有時對BMC來講,它并無法獨自完成這類工作,如事件時間的記錄必須依靠BIOS來給予系統RTC的值、經由BIOS來修改網絡的IP設定值、經由BIOS告知目前系統的POST狀態、BIOS提供DMI(Desktop Management Interface)中的IPMI架構的訊息給上層管理軟件以及由BIOS的設定來避免BMC上的Watchdog Timer timeout等,BIOS的依靠程度必須依據系統設計的復雜度而定。
將IPMI平臺的設計考慮運用到CompactPCI單板,再加上PICMG 2.9的規范,一個CompactPCI的系統管理平臺即可應運而生。
第二部份 應用IPMI于PICMG 2.9規范上
早期的CompactPCI單板具有自己管理自己的功能,任何一片單板可以自行根據環境的偵測值管理整個系統。隨著應用于高可用性,CompactPCI平臺的使用者對于系統管理的需求也開始增長,單板的系統管理已不能滿足他們的需要。透過固定的管理數據" title="管理數據">管理數據的傳輸,不同架構的CPU系統也可放在同一個Chassis內來集中管理,但是因為管理數據較為重要,所以并不能和原有的PCI總線混合傳輸,因此共享另一種傳輸總線成了另一項需求。另外,對系統進行遠程的監控功能也逐漸受到用戶的歡迎,對于這些需求,PICMG 2.9規范為CompactPCI平臺的提供者帶來了解決的方案。
PICMG 2.9
PICMG 2.9 1.0版本發表于2000年。規范針對CompactPCI背板定義了系統管理的針腳(IPMB_SCI、IPMB_SDA和IPMB_PWR)。透過這些系統管理針腳,再配合IPMI標準,CompactPCI設計者可以很容易地達成系統管理的設計目的。
規范中定義了兩組IPMB總線,第二組IPMB總線是可選的,其內部的聯接是位于CompactPCI的J1及J2上,如表一所示:
表一 CompactPCI IPMB針腳分配
其中IPMB_PWR是由一個專用的系統管理電源所提供,這種有別于單板上的電源供給的形式可使得管理CompactPCI單板時,在單板上沒電的情況下仍然能夠工作。IPMB的界面則和IPMI的標準一樣,它能擴充至外部的風扇、電源、機箱溫度監控。典型的IPMB背板互連如圖三所示:
圖三 IPMB互聯
在圖三中,對于背板外部機箱內部的設備,PICMG 2.9定義了一個擴展的IPMB連接頭,用來和系統上的管理控制元相連。在背板上另外可擴充一槽Chassis Management Module (CMM),用來集中管理外圍槽(Peripheral Slots)及系統槽(System Slot),CMM的角色就如IPMI規格內的BMC。
在單板上設計了支持IPMI的控制組件,對于每一片的CompactPCI單板,其系統上都有一個BMC的組件存在。但若整合到一個機箱內,這些BMC的角色則必須要更改成一個PMC (Peripheral Management Controller),其位于IPMB總線上的地址則必須要和唯一的BMC有所區別。CompactPCI規范另行定義了背板上GA (Geographical Address)的針腳,用來提供不同槽位上不同的GA值設定(BMC上的Firmware必須能夠先辨識GA值,然后給予系統上的BMC新的IPMB地址而成為PMC)。
不同形式的系統管理CompactPCI平臺
依據CompactPCI規范及IPMI標準,巧妙地運用規范所提供的解決方案,即可設計出不同形式的CompactPCI系統管理平臺。
l?????????? 標準型IPMI系統:利用背板上的IPMB總線,在系統槽上的CompactPCI單板上設計一顆BMC的控制器,其余在PCI插槽" title="插槽">插槽上的外圍片只要存在簡單的IPMI命令兼容的控制器,系統槽的單板即可透過IPMB讀取所有外圍片的狀態,然后再經由序列或是網絡的形式通知系統管理者。
l?????????? 刀片服務器(Blade Server)系統管理平臺:在CompactPCI的刀片服務器" title="刀片服務器">刀片服務器的應用上,移除了PCI插槽的設計,加上利用PICMG 2.16網絡互連的途徑,使用系統管理的形式有別于一般標準型的IPMI系統。借助CMM的集中管理,每片CompactPCI CPU單板,經由IPMB或PICMG 2.16的網絡,再加上強大的軟件管理,只要透過一組序列或是網絡線對外,系統管理者即可在遠程進行管理,而管理的對象即為機箱內所有的CompactPCI CPU單板。
l?????????? 刀片服務器的KVM系統:隨著IPMI 2.0的發表,每片刀片服務器上的CPU單板可設計上遠程畫面監控的功能及遠程開機的功能,同樣地集中管理于CMM的平臺上,系統管理者可不再需要經KVM switch去手工切換界面,只要利用CMM的管理軟件,即可得知任一片單板上系統目前的畫面情況,進而執行不同的指令。
總結
PICMG 2.9規范借助于現在的IPMB及IPMI標準,提供了一個管理架構界面。這個標準給CompactPCI使用者提供了一條不依賴PCI總線去控制管理的解決路徑。同時,PICMG 2.16也讓CompactPCI的使用者可以借助RMCP的好處經由IP實現系統的遠程管理。當CompactPCI平臺的使用者在針對系統管理傷腦筋時,或許應該考慮一下使用PICMG 2.9規范兼容的平臺。本篇文章僅以簡單的敘述介紹如何在CompactPCI的平臺上實現系統管理的目的。