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