◆李孟君 王樂(lè)東 葉 忠
(海軍計(jì)算技術(shù)研究所 北京 100841)
操作系統(tǒng)、網(wǎng)絡(luò)體系與服務(wù)器技術(shù)
基于IPMI的智能平臺(tái)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
◆李孟君 王樂(lè)東 葉 忠
(海軍計(jì)算技術(shù)研究所 北京 100841)
隨著模塊化刀片式服務(wù)器的廣泛應(yīng)用,對(duì)刀片式服務(wù)器為數(shù)眾多、各式各樣的平臺(tái)系統(tǒng)進(jìn)行有效管理一直是個(gè)難點(diǎn)問(wèn)題。IPMI統(tǒng)一規(guī)范的采用,使跨平臺(tái)集中管理成為可能。本文設(shè)計(jì)研究了一個(gè)基于IPMI的智能平臺(tái)管理系統(tǒng),通過(guò)構(gòu)建嵌入式機(jī)箱智能管理系統(tǒng)軟硬件平臺(tái),實(shí)現(xiàn)了基于服務(wù)的數(shù)據(jù)流通,為系統(tǒng)管理人員對(duì)刀片服務(wù)器各平臺(tái)系統(tǒng)的遠(yuǎn)程管理帶來(lái)了極大的方便。
刀片式服務(wù)器; 智能平臺(tái)管理接口; 基板管理控制器
模塊化刀片式服務(wù)器以機(jī)箱管理和網(wǎng)絡(luò)交換為核心,對(duì)外提供可伸縮的計(jì)算服務(wù)。對(duì)刀片式服務(wù)器平臺(tái)系統(tǒng)的有效管理是系統(tǒng)管理人員需要解決的難題。目前的管理方式主要有三種:第一種是多個(gè)平臺(tái)系統(tǒng)通過(guò)KVM進(jìn)行直接管理,即共享一套鍵盤(pán)、鼠標(biāo)和顯示終端系統(tǒng),管理員通過(guò)切換KVM分配器來(lái)實(shí)現(xiàn)每個(gè)平臺(tái)系統(tǒng)的單獨(dú)管理。另外兩種都采取遠(yuǎn)程管理的方式,不同之處在于前一種通過(guò)部署一臺(tái)專(zhuān)門(mén)的管理服務(wù)器對(duì)多個(gè)平臺(tái)系統(tǒng)的集中管理,后一種通過(guò)刀片式服務(wù)器上的嵌入式機(jī)箱智能管理平臺(tái)和各個(gè)刀片上安裝的控制器,利用智能平臺(tái)管理接口(Intelligent Platform Management Interface,IPMI)實(shí)現(xiàn)統(tǒng)一管理。系統(tǒng)管理人員可以通過(guò)網(wǎng)絡(luò)或串口訪問(wèn)遠(yuǎn)程服務(wù)器,通過(guò)獲取事件日志和傳感器數(shù)據(jù)記錄,分析并確認(rèn)故障原因,并通過(guò)遠(yuǎn)程操作來(lái)實(shí)現(xiàn)系統(tǒng)恢復(fù)。這種管理方式有效降低了平臺(tái)管理系統(tǒng)的開(kāi)發(fā)成本及管理成本,同時(shí)解決了不同的平臺(tái)系統(tǒng)與周邊設(shè)備因接口不同而無(wú)法通信的問(wèn)題。
智能平臺(tái)管理系統(tǒng)通過(guò)IPMI和基板管理控制器(Baseboard Management Controller,BMC)實(shí)現(xiàn)對(duì)機(jī)箱、網(wǎng)絡(luò)、計(jì)算等進(jìn)行全面的統(tǒng)一管理,并監(jiān)控整個(gè)服務(wù)器的硬件設(shè)備健康狀況。BMC控制器一般安裝在系統(tǒng)主板或刀片上。IPMI固件與BMC一起構(gòu)成了獨(dú)立平臺(tái)管理子系統(tǒng),這個(gè)子系統(tǒng)工作時(shí)不管處理器、BIOS或操作系統(tǒng)的類(lèi)型或狀態(tài)如何,都能提供可管理性和監(jiān)測(cè)功能,甚至在系統(tǒng)其余部分不能使用時(shí)仍能執(zhí)行恢復(fù)操作。IPMI是智能平臺(tái)管理接口標(biāo)準(zhǔn),定義了系統(tǒng)管理人員如何實(shí)現(xiàn)對(duì)系統(tǒng)硬件和傳感器等信息的監(jiān)測(cè),對(duì)系統(tǒng)組件的控制,及對(duì)重要系統(tǒng)事件日志的檢索,實(shí)現(xiàn)遠(yuǎn)程管理和恢復(fù)等功能。所有的IPMI功能都是向BMC發(fā)送命令來(lái)完成的,命令使用IPMI規(guī)范中規(guī)定的指令,BMC接收并在系統(tǒng)事件日志中記錄事件消息,維護(hù)描述系統(tǒng)中傳感器情況的傳感器數(shù)據(jù)記錄。
傳統(tǒng)的故障診斷是系統(tǒng)管理人員到故障現(xiàn)場(chǎng)根據(jù)經(jīng)驗(yàn)診斷故障原因,而利用IPMI標(biāo)準(zhǔn)后,系統(tǒng)管理人員可以通過(guò)網(wǎng)絡(luò)或串口訪問(wèn)遠(yuǎn)程服務(wù)器,通過(guò)獲取事件日志和傳感器數(shù)據(jù)記錄,分析并確認(rèn)故障原因,并通過(guò)遠(yuǎn)程操作來(lái)實(shí)現(xiàn)系統(tǒng)恢復(fù)。它一般包括監(jiān)控諸如系統(tǒng)溫度、電壓、風(fēng)扇、電源、總線錯(cuò)誤、系統(tǒng)物理安全等元素;它也包括自動(dòng)和手工驅(qū)動(dòng)的恢復(fù)能力,如本地或遠(yuǎn)程系統(tǒng)復(fù)位和電源開(kāi)啟/關(guān)閉操作。
刀片式服務(wù)器的結(jié)構(gòu)復(fù)雜,機(jī)箱智能管理平臺(tái)的強(qiáng)大功能使得能夠遠(yuǎn)程控制計(jì)算模塊的運(yùn)行關(guān)停。機(jī)箱智能管理平臺(tái)自身是一個(gè)嵌入式計(jì)算環(huán)境,在統(tǒng)管整機(jī)網(wǎng)絡(luò)、電源、風(fēng)扇、模塊熱插接等關(guān)鍵功能點(diǎn)的同時(shí),也為整機(jī)帶來(lái)了一定的安全隱患,使得惡意用戶有可能通過(guò)網(wǎng)絡(luò)入侵智能平臺(tái)管理系統(tǒng),進(jìn)而控制BMC,甚至破壞電源和風(fēng)扇,使得合法計(jì)算模塊無(wú)法工作。
IPMI提供的功能包括通過(guò)ADC實(shí)現(xiàn)對(duì)溫度、電壓的控制,對(duì)各種所需信號(hào)狀態(tài)的獲取,以及對(duì)整個(gè)系統(tǒng)的重新啟動(dòng)等。IPMI還提供了系統(tǒng)遠(yuǎn)程監(jiān)控的功能,通過(guò)遠(yuǎn)程控制功能,系統(tǒng)管理人員可以將系統(tǒng)啟動(dòng)的信息進(jìn)行串口重定向,從而實(shí)現(xiàn)對(duì)系統(tǒng)重啟、復(fù)位和電源控制等操作。
嵌入式機(jī)箱智能管理平臺(tái)的核心是提供IPMI功能的控制器,稱(chēng)為基板管理控制器(BMC)。BMC安裝在服務(wù)器基板或刀片服務(wù)器上,其功能是對(duì)整個(gè)系統(tǒng)進(jìn)行監(jiān)測(cè)、管理,同時(shí)完成對(duì)系統(tǒng)事件的記錄。BMC負(fù)責(zé)整個(gè)服務(wù)器平臺(tái)底層組件與上層系統(tǒng)管理軟件的交互,通過(guò)IPMB(Intelligent Platform Management Bus)完成與電源風(fēng)扇管理控制器以及各其它管理控制器的通信,通過(guò)局域網(wǎng)對(duì)系統(tǒng)進(jìn)行遠(yuǎn)程管理。
伺服管理控制器(MC)功能與BMC相似,但分布在系統(tǒng)的各個(gè)模塊上(不包括BMC所在的模塊),實(shí)現(xiàn)對(duì)各模塊的監(jiān)測(cè)和管理。MC分為兩類(lèi):用于終端計(jì)算機(jī)模塊/服務(wù)器模塊管理的MC;用于電源風(fēng)扇管理的MC。MC通過(guò)智能平臺(tái)管理總線IPMB與BMC進(jìn)行交互,系統(tǒng)管理軟件通過(guò)BMC對(duì)與伺服管理控制器相連的組件進(jìn)行管理配置。
2.1 管理控制器
管理控制器主要由MCU、MC存儲(chǔ)器、電源DC-DC部分、PHY芯片、網(wǎng)絡(luò)變壓器、溫度監(jiān)測(cè)器件、熱插拔電路組成。MC提供背板接口、前面板接口以及和交換部分互連的接口。MC的邏輯框架如圖1所示。
圖1 管理控制器電路邏輯框圖
2.2 交換管理控制器
交換網(wǎng)絡(luò)功能由交換管理控制器提供,交換單元除具有交換電路外還具有用于交換管理控制器MC電路。交換管理控制器電路邏輯框圖如圖2所示。
圖2 交換管理控制器電路邏輯框圖
交換單元采用VSC7407作為主CPU,搭配CPLD實(shí)現(xiàn)控制功能,對(duì)外提供12路1000BASE-T和12路SerDes接口。板載用于IPMI管理的MC,MC和主芯片之間可通過(guò)UART實(shí)現(xiàn)通信。
交換單元插入背板后,MC使用背板提供的3.3V standby電源加電,然后控制MOS管開(kāi)啟為交換部分提供12V電源,VSC7407初始化交換部分電路后,將全部的對(duì)外網(wǎng)絡(luò)接口關(guān)閉,并且通過(guò)與MC連接的UART報(bào)告自身狀態(tài)(系統(tǒng)固件版本、開(kāi)機(jī)時(shí)間和端口狀態(tài)等),當(dāng)接收到控制命令后,VSC7407開(kāi)啟建立網(wǎng)絡(luò)連接。
機(jī)箱智能管理平臺(tái)軟件系統(tǒng)主要功能是收集硬件信息,將信息匯總,生成具有統(tǒng)一格式的消息,并提供常用的服務(wù)接口,實(shí)現(xiàn)基于服務(wù)的數(shù)據(jù)流通,達(dá)到消息傳遞的目的。由設(shè)備驅(qū)動(dòng)模塊、IPMI消息管理模塊、應(yīng)用接口三部分構(gòu)成,如圖3所示。設(shè)備驅(qū)動(dòng)模塊包含了BMC硬件平臺(tái)所需的驅(qū)動(dòng),獲取硬件平臺(tái)的信息,并將信息生成具有統(tǒng)一格式的消息,提供給IPMI消息管理模塊。IPMI消息管理模塊完成消息的匯總,將消息提供給應(yīng)用接口。應(yīng)用接口提供常用的服務(wù)接口,實(shí)現(xiàn)基于服務(wù)的數(shù)據(jù)流通。
圖3 軟件系統(tǒng)架構(gòu)組成
同時(shí),應(yīng)用接口接受用戶指令,傳遞給IPMI消息管理模塊。IPMI消息管理模塊會(huì)根據(jù)設(shè)備預(yù)定義模式和來(lái)自應(yīng)用接口的用戶指令,借助設(shè)備驅(qū)動(dòng)模塊管控BMC硬件平臺(tái)。最終實(shí)現(xiàn)對(duì)整個(gè)服務(wù)器的管控。
設(shè)備驅(qū)動(dòng)模塊由IPMB驅(qū)動(dòng)、SSIF驅(qū)動(dòng)和SPI驅(qū)動(dòng)等部分組成。IPMI消息管理模塊由初始化子模塊、消息處理子模塊、事件處理子模塊、監(jiān)視器管理子模塊、網(wǎng)絡(luò)服務(wù)子模塊組成。
設(shè)備驅(qū)動(dòng)模塊中,IPMB對(duì)接模塊主要負(fù)責(zé)MC與BMC之間的消息傳遞;SSIF驅(qū)動(dòng)模塊實(shí)現(xiàn)管理軟件對(duì)管理單元上的傳感器的信息獲取以及控制器的控制。
IPMI消息管理模塊各組件主要功能如下:
初始化子模塊:為在系統(tǒng)上電之后進(jìn)行設(shè)備自檢并啟動(dòng)各個(gè)功能模塊。
消息處理子模塊:主要負(fù)責(zé)IPMB消息的處理。消息處理子模塊需要解析來(lái)自IPMB的消息,根據(jù)不同消息,生成對(duì)應(yīng)事件;或接受事件處理子模塊命令,生成對(duì)應(yīng)IPMB消息,通過(guò)設(shè)備驅(qū)動(dòng)模塊發(fā)出。
監(jiān)視器管理子模塊:主要實(shí)現(xiàn)了對(duì)服務(wù)器狀態(tài)的秒級(jí)輪詢,記錄服務(wù)器硬件狀態(tài)和工作環(huán)境狀態(tài),同時(shí)根據(jù)預(yù)配置信息,檢測(cè)各類(lèi)警告和危險(xiǎn)狀態(tài),并生成對(duì)應(yīng)事件上報(bào)。
事件處理子模塊:監(jiān)控來(lái)自消息處理子模塊和監(jiān)視管理子模塊的事件消息,根據(jù)各種事件采取相應(yīng)的處理措施,如實(shí)現(xiàn)服務(wù)器的溫控,進(jìn)行電源管理,安全接入管理,事件日志記錄等。
網(wǎng)絡(luò)服務(wù)子模塊:主要功能有兩個(gè)方面,一方面,接收網(wǎng)絡(luò)上發(fā)來(lái)的管理命令并生成對(duì)應(yīng)的管理事件;另一方面,建立超文本傳輸服務(wù)進(jìn)程,實(shí)現(xiàn)基于IP地址的遠(yuǎn)程訪問(wèn),并將總線管理控制子模塊的IPMB信息、監(jiān)視器子模塊的SDR信息、事件處理子模塊的SEL日志信息轉(zhuǎn)換為對(duì)操作人員可讀的文字信息,顯示于上位機(jī)。
本文設(shè)計(jì)的基于IPMI的服務(wù)器智能平臺(tái)管理系統(tǒng)基于底層獨(dú)立硬件實(shí)現(xiàn),而與刀片服務(wù)器上的系統(tǒng)無(wú)關(guān)。具有兩個(gè)優(yōu)點(diǎn):首先,具有跨平臺(tái)的特性,可通過(guò)管理網(wǎng)絡(luò)采用B/S模式進(jìn)行遠(yuǎn)程管理;其次,系統(tǒng)狀態(tài)管理數(shù)據(jù)由專(zhuān)有的IPMB內(nèi)部總線進(jìn)行傳輸,安全性和實(shí)時(shí)性都可以得到保證。下一步將研究WEB管理系統(tǒng)的身份認(rèn)證與加密傳輸技術(shù),進(jìn)一步增強(qiáng)遠(yuǎn)程管理的安全性。
[1]李娜.基于IPMI技術(shù)的服務(wù)器管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué), 2009.
[2]于治樓,陳乃闊,牛玉峰.基于 IPMI 的服務(wù)器遠(yuǎn)程管理的研究與實(shí)現(xiàn)[J].信息技術(shù)與信息化,2010.
[3]李彥,陳德人,梁達(dá)明.基于IPMI的虛擬遠(yuǎn)程串口終端[J].現(xiàn)代機(jī)械,2010.
[4]張義良.IPMI服務(wù)器監(jiān)控系統(tǒng)的設(shè)計(jì)與研究[J].信息與電腦(理論版),2015.
[5]王栩浩.基于IPMI的服務(wù)器管理系統(tǒng)的實(shí)現(xiàn)[D].上海:東華大學(xué), 2016.
[6]童燕.基于IPMI的智能平臺(tái)管理系統(tǒng)的實(shí)現(xiàn)[D].上海:華東師范大學(xué), 2008.