朱曉波,芶冬榮,杜欣軍
(1.中國(guó)電子科技集團(tuán)公司第三十二研究所 通用產(chǎn)品部,上海 201808;2.中國(guó)電子科技集團(tuán)公司第三十二研究所 計(jì)算平臺(tái)部,上海 201808)
為實(shí)現(xiàn)信息處理平臺(tái)不間斷工作,并為不同平臺(tái)提供統(tǒng)一的監(jiān)控管理環(huán)境,其資源監(jiān)控管理系統(tǒng)需掌握各資源的使用狀態(tài),并須具有對(duì)不同規(guī)模信息處理平臺(tái)的適應(yīng)性。信息處理平臺(tái)為了實(shí)現(xiàn)不間斷的工作,需實(shí)時(shí)掌握其內(nèi)部各種軟硬件資源的使用和故障狀態(tài),及時(shí)告知操作員,以便進(jìn)行任務(wù)調(diào)度、系統(tǒng)修復(fù),盡可能減少資源故障對(duì)任務(wù)的影響。不同平臺(tái)因任務(wù)不同,其計(jì)算、存儲(chǔ)、顯控等需求各異,有時(shí)需多個(gè)機(jī)箱共同完成信息處理,因此該資源監(jiān)控管理系統(tǒng)須具有較好的可擴(kuò)展性。
現(xiàn)有文獻(xiàn)基于已有硬件,針對(duì)不同環(huán)境下的資源監(jiān)控管理軟件進(jìn)行了分析與設(shè)計(jì)。有的通過動(dòng)態(tài)采樣、分布式集群監(jiān)控,降低數(shù)據(jù)監(jiān)控中心負(fù)荷、滿足系統(tǒng)擴(kuò)展性要求[1,2];有的針對(duì)異構(gòu)資源監(jiān)控、訪問入口進(jìn)行設(shè)計(jì),進(jìn)一步完成性能瓶頸探測(cè)、異?;蚬收咸綔y(cè)與報(bào)警[3,4];也有基于內(nèi)存、CPU和硬盤等資源使用情況,為資源的調(diào)度和分配提供決策的[5];還有通過SNMP協(xié)議提高橫向擴(kuò)展能力的[6,7];也有基于標(biāo)準(zhǔn)測(cè)試集對(duì)不受控系統(tǒng)進(jìn)行資源狀態(tài)分析與故障管理的[8,9]。上述文獻(xiàn)都是基于現(xiàn)有硬件,設(shè)計(jì)軟件實(shí)現(xiàn)資源監(jiān)控的,而無法按需對(duì)硬件信息進(jìn)行采集、對(duì)模塊廠家進(jìn)行追蹤。
本文通過系統(tǒng)架構(gòu)和底層軟硬件設(shè)計(jì),通過溫度、電壓、電流、資源狀態(tài)及故障等信息檢測(cè),完成涉及特定供貨商產(chǎn)品的信息采集,并實(shí)現(xiàn)了各模塊的熱插拔、遠(yuǎn)程加載、上下電等功能,滿足現(xiàn)階段信息處理平臺(tái)的資源監(jiān)控要求,并為基于歷史信息進(jìn)行故障預(yù)測(cè)、提高裝備可用性提供支撐。
信息處理平臺(tái)采用開放式系統(tǒng)結(jié)構(gòu),硬件采用基于OpenVPX的開放式國(guó)際標(biāo)準(zhǔn),軟件采用層次化設(shè)計(jì)。系統(tǒng)根據(jù)不同功能封裝了高內(nèi)聚、低耦合的模塊,且不同層次/模塊間使用標(biāo)準(zhǔn)化接口,硬件易擴(kuò)展,軟件可裁剪、可移植。其體系結(jié)構(gòu)如圖1所示。
圖1 信息處理平臺(tái)體系結(jié)構(gòu)
其中,硬件基礎(chǔ)設(shè)施包含各類計(jì)算、顯控、存儲(chǔ)、交換等模塊,為上層軟件運(yùn)行、功能執(zhí)行提供支撐;基礎(chǔ)軟件層包含國(guó)產(chǎn)操作系統(tǒng)、BSP與驅(qū)動(dòng),并集成國(guó)產(chǎn)數(shù)據(jù)庫和數(shù)字地圖,為上層軟件的運(yùn)行、存儲(chǔ)、網(wǎng)絡(luò)及設(shè)備管理、數(shù)據(jù)存取和場(chǎng)景顯示等提供支撐;應(yīng)用運(yùn)行支撐環(huán)境包括通信中間件、運(yùn)算函數(shù)庫、構(gòu)件化管理框架,為應(yīng)用提供構(gòu)件/任務(wù)間通信與訪問、硬件資源高效調(diào)用、應(yīng)用部署與啟停等功能;應(yīng)用集成開發(fā)環(huán)境為平臺(tái)上的多種應(yīng)用開發(fā)提供便利。
資源監(jiān)控與管理,對(duì)軟硬件資源的使用及故障狀態(tài)進(jìn)行監(jiān)控,以便結(jié)合任務(wù)特點(diǎn),統(tǒng)一調(diào)度與分配資源,提高系統(tǒng)運(yùn)行效率,并為故障預(yù)測(cè)提供支撐。
資源監(jiān)控管理是為了讓用戶掌握整個(gè)設(shè)備的資源使用狀態(tài),并根據(jù)該狀態(tài)實(shí)時(shí)調(diào)整系統(tǒng)運(yùn)行策略,以達(dá)到保護(hù)系統(tǒng)、提高任務(wù)執(zhí)行效率,并記錄各廠商產(chǎn)品的長(zhǎng)期工作質(zhì)量特性的目的,可從以下幾個(gè)方面予以分析。
(1)保護(hù)系統(tǒng)免于遭受安全性事件
安全性事件主要包括過壓、過流、過溫等,通過對(duì)安全性事件的實(shí)時(shí)監(jiān)控,可將上述異常事件導(dǎo)致的損失降到最低,從而提高產(chǎn)品質(zhì)量。
過壓是由于外部供電波動(dòng)或電源轉(zhuǎn)換電路老化/損傷,導(dǎo)致供電電路輸出電壓高于正常電壓。大多數(shù)集成電路可正常工作的電壓范圍是VCC*(1±5%), 某些器件可達(dá)到±10%;一般超過+10%將導(dǎo)致器件損壞,低于-10%將導(dǎo)致器件不能正常工作。過壓檢測(cè)的目的是實(shí)時(shí)斷開后續(xù)電路,以避免所供電器件的損毀,阻止造成更大范圍的損失;同時(shí)記錄過壓情況,為后續(xù)設(shè)備維護(hù)保障提供支持,并可長(zhǎng)期跟蹤產(chǎn)品,以提高產(chǎn)品質(zhì)量。
過流是由于電路長(zhǎng)期工作導(dǎo)致阻抗變低、部分器件擊穿,以及工藝性缺陷導(dǎo)致短路等因素,使得供電電流大幅上升。電流大幅上升,意味著電路工作不正常,并可導(dǎo)致熱量集聚,從而導(dǎo)致?lián)p害范圍擴(kuò)大。過流檢測(cè)的目的是實(shí)時(shí)斷開供電電源,避免用電電路損毀,并阻止造成更大損失;同時(shí)記錄過流情況,為維護(hù)保障、提高產(chǎn)品質(zhì)量提供支持。
過溫是由于熱耗大于散熱能力使得熱量聚集,使系統(tǒng)溫度升高。高溫將導(dǎo)致器件性能下降,并增大設(shè)備燒毀的風(fēng)險(xiǎn)。過溫檢測(cè)的目的是通過提高風(fēng)扇轉(zhuǎn)速,加強(qiáng)散熱能力,降低設(shè)備燒毀的風(fēng)險(xiǎn),并提高設(shè)備的可靠性;同時(shí)記錄過溫情況,為維護(hù)保障、提高產(chǎn)品質(zhì)量提供支持。
(2)基于資源使用狀態(tài)提高任務(wù)執(zhí)行效率
通過掌握任務(wù)執(zhí)行中各種資源的使用情況,提高任務(wù)執(zhí)行及資源使用的效率。資源監(jiān)控向用戶提供計(jì)算、存儲(chǔ)、通信等資源的故障及使用情況,結(jié)合新任務(wù)對(duì)上述資源的需求,實(shí)現(xiàn)任務(wù)的合理分配,提高系統(tǒng)的任務(wù)吞吐率;如多個(gè)節(jié)點(diǎn)資源占用率都較低,可合并任務(wù)到一個(gè)或幾個(gè)節(jié)點(diǎn),進(jìn)一步關(guān)閉其它節(jié)點(diǎn),從而降低能耗、提高系統(tǒng)可靠性;對(duì)于出現(xiàn)故障的資源,提醒用戶謹(jǐn)慎使用或替換新模塊。
(3)記錄各供貨商產(chǎn)品的質(zhì)量特性
通過記錄設(shè)備運(yùn)行中的過壓、過流、過溫,以及各種資源故障及使用情況,可以分析設(shè)備的性能衰變,從而可通過長(zhǎng)期記錄分析供貨商產(chǎn)品的質(zhì)量特性,以便提高產(chǎn)品質(zhì)量、選擇更優(yōu)異的產(chǎn)品。
(4)為系統(tǒng)管理提供支持
為正常實(shí)現(xiàn)系統(tǒng)功能,還需為人工介入后的系統(tǒng)管理提供支持,包括BIT故障檢測(cè)、風(fēng)扇轉(zhuǎn)速信息采集與控制、故障報(bào)警、上/下電控制與管理、熱插拔支持、復(fù)位、看門狗監(jiān)控和日志管理等。
資源監(jiān)控管理是對(duì)信息處理平臺(tái)中的軟硬資源進(jìn)行有效的監(jiān)控與管理,獲取資源的故障和使用情況,并呈現(xiàn)給用戶、記錄日志,進(jìn)一步完成資源高效調(diào)度與故障預(yù)測(cè),為實(shí)現(xiàn)系統(tǒng)高性能、高可用提供支持。資源監(jiān)控管理采用分層架構(gòu)和監(jiān)控管理代理方式,實(shí)現(xiàn)從處理器到應(yīng)用的全覆蓋監(jiān)控管理,其技術(shù)架構(gòu)如圖2所示。
圖2 資源監(jiān)控管理的技術(shù)架構(gòu)
最底層為監(jiān)控管理對(duì)象,主要包括系統(tǒng)中的機(jī)箱(含電源)、計(jì)算/顯控/存儲(chǔ)、網(wǎng)絡(luò)交換等硬件設(shè)備,以及操作系統(tǒng)、數(shù)據(jù)庫、應(yīng)用運(yùn)行支撐環(huán)境和應(yīng)用軟件等軟件資源。硬件設(shè)備須為資源監(jiān)控管理提供必要的底層硬件支持;軟件資源須為資源監(jiān)控實(shí)現(xiàn)提供必要的接口調(diào)用。
監(jiān)控管理器實(shí)現(xiàn)整機(jī)及各模塊的監(jiān)控信息采集及管理命令執(zhí)行,由Agent、模塊監(jiān)控軟件、機(jī)箱監(jiān)控軟件3部分組成。
監(jiān)控管理服務(wù)基于監(jiān)控管理器所采集的資源監(jiān)控信息,為上層提供相應(yīng)服務(wù),具體包括資源監(jiān)控、系統(tǒng)管理。
監(jiān)控管理門戶是資源監(jiān)控的輔助管理界面,以Web方式向用戶展示監(jiān)控管理器、監(jiān)控管理服務(wù)為用戶提供的各類信息與服務(wù)。
基于上述資源監(jiān)控情況,結(jié)合任務(wù)需求,可實(shí)現(xiàn)資源管理與任務(wù)調(diào)度、配置管理、故障預(yù)測(cè)及應(yīng)用管理,為實(shí)現(xiàn)高可用系統(tǒng)提供支持。
平臺(tái)中各模塊采用OpenVPX架構(gòu),符合相應(yīng)結(jié)構(gòu)、散熱等設(shè)計(jì)要求,其資源監(jiān)控管理主要是通過模塊級(jí)BMC、系統(tǒng)級(jí)ShMC予以實(shí)現(xiàn)。其中BMC負(fù)責(zé)模塊級(jí)監(jiān)控管理,接收指令并執(zhí)行相應(yīng)操作(收集狀態(tài)、實(shí)現(xiàn)上/下電、復(fù)位等控制),并向ShMC上報(bào);ShMC負(fù)責(zé)調(diào)度各BMC并收集反饋信息,實(shí)現(xiàn)全平臺(tái)的狀態(tài)監(jiān)控、故障檢測(cè)、系統(tǒng)管理與恢復(fù)等。該方案中ShMC,通過交換模塊上的BMC運(yùn)行ShMC軟件實(shí)現(xiàn)。
資源監(jiān)控硬件設(shè)計(jì)具有以下特征:①為提高系統(tǒng)可靠性,硬件模塊間通過兩條I2C總線(intelligent platform management BUS,IPMB)互聯(lián),兩條總線互為備份,數(shù)據(jù)協(xié)議符合IPMI(intelligent platform management interface)規(guī)范;②為提高系統(tǒng)可靠性,采用雙交換架構(gòu),通過主從管理策略確定哪個(gè)交換為主控模塊;③根據(jù)機(jī)箱內(nèi)溫度及其分布,由主交換模塊控制機(jī)箱內(nèi)各風(fēng)扇轉(zhuǎn)速;④為提高資源監(jiān)控的信息容量和傳輸距離,系統(tǒng)為匯總后信息提供了千兆網(wǎng)傳輸通道,交換ShMC通過板內(nèi)的千兆網(wǎng)連接千兆交換網(wǎng)絡(luò),以便向上位機(jī)、機(jī)箱間提供監(jiān)控信息。
從資源監(jiān)控角度,結(jié)合各模塊主要功能單元來看,硬件可分為電源、計(jì)算/存儲(chǔ)/顯控、交換3種模塊,不同種類模塊資源監(jiān)控設(shè)計(jì)存在一定差異,下面分別進(jìn)行說明。
3.2.1 電源模塊
該模塊資源監(jiān)控主要由各類電源轉(zhuǎn)換電路、BMC等電路組成,如圖3所示。
圖3 電源模塊資源監(jiān)控框架
該模塊資源監(jiān)控主要包括以下功能:
(1)各級(jí)電壓、電流信號(hào)的采集。采集輸入的電壓、電流、實(shí)時(shí)感知輸入電壓、系統(tǒng)功率的變化;采集12 V、48 V、3.3 V等輸出電壓,實(shí)時(shí)獲知內(nèi)部所使用電壓的變化。
(2)BMC電路。該電路是電源模塊的智能管理單元,具有以下功能:①獲取機(jī)箱號(hào)、槽位號(hào),為系統(tǒng)定位該模塊;②實(shí)時(shí)鐘和看門狗電路,用于產(chǎn)生本地時(shí)鐘,并支持故障下的模塊重啟;③存儲(chǔ)器,用于存儲(chǔ)模塊名稱/型號(hào)/生產(chǎn)日期/序列號(hào)、供貨商名稱,以及軟件代碼及版本號(hào)、出廠設(shè)置等信息,并具備日志功能;④提供對(duì)外I2C接口,用于接受外部指令,上報(bào)本板監(jiān)控、故障及報(bào)警信息,按需實(shí)現(xiàn)各檔電壓上/下電、恢復(fù)出廠設(shè)置、固件更新等功能;⑤上下電控制,BMC按需輸出上下電控制信號(hào),實(shí)現(xiàn)對(duì)某一路輸出電壓的上下電。
(3)溫度采集。為準(zhǔn)確獲取板卡熱特性,在進(jìn)風(fēng)口、出風(fēng)口、模塊中部放置溫度傳感器,監(jiān)控板卡基本溫度;為實(shí)現(xiàn)對(duì)主要芯片(220 V~12 V、220 V~48 V、48 V~3.3 V)的溫度檢測(cè),可通過器件本身的溫度接口或器件附近的傳感器獲取。
(4)復(fù)位。電源模塊BMC可接收外部復(fù)位信號(hào),復(fù)位該模塊BMC電路。
3.2.2 計(jì)算/顯控/存儲(chǔ)模塊
該類模塊資源監(jiān)控主要由CPU/DSP/CPU及外圍電路、BMC電路等組成,如圖4所示。
該類模塊資源監(jiān)控設(shè)計(jì)主要包括:
(1)各級(jí)電壓電流信號(hào)采集、BMC電路和溫度采集。該部分與電源模塊相應(yīng)部分設(shè)計(jì)思路基本相同,差異體現(xiàn)在:①輸入電壓、電流采集,主要針對(duì)12 V、3.3 V;內(nèi)部電壓監(jiān)控主要針對(duì)本板CPU/DSP/GPU/存儲(chǔ)體等供電電壓;②主要芯片的溫度監(jiān)控,主要針對(duì)CPU/DSP/GPU/存儲(chǔ)體等器件。
(2)復(fù)位。該模塊可接收外部復(fù)位信號(hào),完成整板電路的復(fù)位;也可由BMC接收外部復(fù)位指令,完成CPU/DSP/GPU等主電路復(fù)位。
圖4 計(jì)算/顯控/存儲(chǔ)模塊資源監(jiān)控框架
(3)CPU及外圍電路。從資源監(jiān)控角度,其功能如下:①實(shí)時(shí)鐘與看門狗,用于產(chǎn)生CPU的本地時(shí)鐘,并支持故障下的CPU自重啟;②上下電控制,BMC通過I2C接收外部上下電控制指令,通過輸出上下電控制信號(hào),控制主電路的供電DC/DC電路,實(shí)現(xiàn)上下電控制;③NCSI功能[10]。該模式下CPU與千兆網(wǎng)卡關(guān)系不變,而BMC利用千兆網(wǎng)卡的物理層,實(shí)現(xiàn)對(duì)外的千兆網(wǎng)互聯(lián),以便進(jìn)行調(diào)試或數(shù)據(jù)傳輸;④BIT,CPU/DSP/GPU及外圍電路本身可進(jìn)行處理器、存儲(chǔ)器、各類接口的故障檢測(cè)及使用狀態(tài)監(jiān)測(cè),其結(jié)果可通過千兆網(wǎng)對(duì)外輸出,也可通過內(nèi)部UART傳遞給BMC。
(4)CPU與BMC的信息交互。該模塊CPU/DSP/GPU部分的BIT及各類資源的狀態(tài)監(jiān)控結(jié)果,可通過內(nèi)部UART傳遞給BMC,從而傳遞給用戶界面;BMC檢測(cè)到的溫度、電壓、電流、功耗等信息,以及系統(tǒng)所需的控制信息(如遠(yuǎn)程啟動(dòng)地址、BIT信息收集等命令),也通過UART傳遞給CPU。
(5)指令接收與信息上報(bào)。板級(jí)BMC接收ShMC發(fā)出的指令,按照指令執(zhí)行相應(yīng)操作,并將結(jié)果及本地上報(bào)信息通過I2C接口上報(bào)給ShMC。
3.2.3 交換模塊
該模塊資源監(jiān)控主要由CPU及外圍、交換、ShMC/BMC等組成,如圖5所示。其中ShMC/BMC為其智能管理單元,作為BMC,完成本板溫度/電壓/電流等信息采集,以及資源監(jiān)控命令的接收、執(zhí)行和結(jié)果返回等功能;作為ShMC,負(fù)責(zé)整個(gè)機(jī)箱的資源監(jiān)控信息收集、用戶命令的解析/下發(fā)/執(zhí)行、機(jī)箱管理等功能。
圖5 交換模塊資源監(jiān)控框架
該類模塊資源監(jiān)控設(shè)計(jì)主要包括:
(1)各級(jí)電壓電流信號(hào)采集、BMC電路和溫度采集。該部分與計(jì)算/顯控/存儲(chǔ)模塊相應(yīng)部分設(shè)計(jì)思路基本相同。具體差異體現(xiàn)在:①內(nèi)部電壓監(jiān)控主要是監(jiān)控本板CPU、交換芯片所用電壓;②主要芯片的溫度監(jiān)控,主要監(jiān)控CPU、交換芯片等器件。
(2)CPU及外圍電路。該部分的實(shí)時(shí)鐘與看門狗、BIT工作模式與計(jì)算/顯控/存儲(chǔ)模塊相應(yīng)部分的設(shè)計(jì)思路基本相同,具體差異體現(xiàn)為:復(fù)位與上下電控制信號(hào)中,對(duì)本板主電路的復(fù)位、上下電控制與計(jì)算/顯控/存儲(chǔ)模塊相應(yīng)設(shè)計(jì)思路基本相同;但交換模塊的ShMC/BMC作為機(jī)箱ShMC時(shí),需解析上位機(jī)輸入的復(fù)位指令,輸出復(fù)位信號(hào)實(shí)現(xiàn)對(duì)某模塊的整板復(fù)位,而如復(fù)位是針對(duì)某計(jì)算/顯控/存儲(chǔ)模塊的主電路,則將該復(fù)位指令轉(zhuǎn)發(fā)給相應(yīng)模塊BMC,由其輸出信號(hào)復(fù)位相應(yīng)主電路;解析上位機(jī)輸入的上下電指令,并傳遞給相應(yīng)模塊BMC,由其對(duì)相應(yīng)主電路進(jìn)行上下電控制。
(3)上位機(jī)與ShMC/BMC間的信息傳輸。通過ShMC/BMC對(duì)外提供的百兆網(wǎng)、與千兆網(wǎng)交換間的千兆網(wǎng),ShMC可向上位機(jī)(外部控制設(shè)備或顯控模塊)提供整機(jī)監(jiān)控信息,也可接收上位機(jī)指令;
(4)CPU與交換單元[11]的互連。CPU通過PCIe/RIO與交換單元互聯(lián),完成上電配置,并獲取各網(wǎng)絡(luò)端口的狀態(tài)(Link、故障等),為計(jì)算/顯控/存儲(chǔ)模塊的冗余備份、故障檢測(cè)與系統(tǒng)恢復(fù)提供支持;
(5)心跳線。系統(tǒng)包含兩個(gè)交換模塊,心跳線用于告知另一交換模塊自身的狀態(tài);模塊正常時(shí)輸出周期性的心跳線,模塊異常時(shí)心跳線將會(huì)停止,另一模塊據(jù)此判斷對(duì)方的狀態(tài);通過心跳線,系統(tǒng)啟動(dòng)相應(yīng)仲裁流程,確定系統(tǒng)主交換模塊。主交換模塊控制系統(tǒng)的I2C總線,實(shí)現(xiàn)機(jī)箱管理、風(fēng)扇控制等功能。
(6)CPU與BMC間的信息交互。與3.2.2節(jié)中相應(yīng)內(nèi)容相同。
(7)指令接收與信息上報(bào)。該模塊ShMC接收用戶界面通過以太網(wǎng)發(fā)出的管理指令,按指令執(zhí)行相應(yīng)操作(包括向功能模塊發(fā)送相應(yīng)指令),并將上報(bào)信息、執(zhí)行結(jié)果,通過以太網(wǎng)發(fā)送給用戶界面。
按圖2的資源監(jiān)控管理軟件分層設(shè)計(jì)思想,下邊對(duì)每個(gè)軟件進(jìn)行設(shè)計(jì)。
3.3.1 監(jiān)控管理器設(shè)計(jì)
監(jiān)控管理器由Agent、模塊監(jiān)控軟件、機(jī)箱監(jiān)控軟件3部分組成。Agent駐留于計(jì)算/顯控/存儲(chǔ)模塊上,實(shí)現(xiàn)模塊內(nèi)部資源監(jiān)控與管理,并在模塊內(nèi)部的CPU、BMC間傳輸信息。板級(jí)監(jiān)控軟件運(yùn)行于計(jì)算/顯控/存儲(chǔ)/電源模塊的BMC上,實(shí)現(xiàn)單模塊硬件監(jiān)控,對(duì)外提供IPMB接口;機(jī)箱監(jiān)控軟件運(yùn)行于交換模塊的ShMC上,除實(shí)現(xiàn)本模塊硬件監(jiān)控外,還承擔(dān)平臺(tái)監(jiān)控管理功能。操作系統(tǒng)、數(shù)據(jù)庫等軟件通過自身監(jiān)控接口上報(bào)其運(yùn)行狀態(tài),此處不詳述。
(1)Agent設(shè)計(jì)
Agent包括運(yùn)行在CPU、BMC上的兩部分:CPU上軟件,主要監(jiān)控CPU及其外圍資源狀態(tài),通過BIT可獲取CPU、內(nèi)存、硬盤及各類接口的故障信息,通過API可獲取上述資源的占用率,以便為資源高效調(diào)度提供支撐;BMC上軟件,解析IPMI接口數(shù)據(jù),按要求對(duì)該模塊CPU電路進(jìn)行上下電、復(fù)位,以及iKVM等管控功能。此外,還實(shí)現(xiàn)CPU、BMC間的命令與狀態(tài)信息交互。
(2)模塊監(jiān)控軟件
模塊監(jiān)控軟件主要監(jiān)控模塊資源狀態(tài)、按要求完成模塊管理,主要包括:
1)健康信息監(jiān)控。通過傳感器采集模塊的溫度、電壓、電流,通過CPU進(jìn)行BIT、調(diào)用相應(yīng)接口,獲取CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)及各類接口的故障及使用情況,并進(jìn)行上報(bào)。此外,還可通過IPMI獲取帶外硬件狀態(tài)(如模塊的版本、狀態(tài)等),收集帶內(nèi)軟件狀態(tài)(如軟件的版本、資源使用率等)。
2)命令接收?qǐng)?zhí)行與信息上報(bào)。模塊監(jiān)控軟件接收并解析機(jī)箱監(jiān)控軟件發(fā)來的命令,完成相關(guān)命令(上下電、復(fù)位等等)執(zhí)行;模塊監(jiān)控軟件按照命令要求,按需將模塊信息上報(bào)至機(jī)箱監(jiān)控軟件;上報(bào)信息除健康信息、執(zhí)行結(jié)果外,還包括產(chǎn)品名稱、制造商、生產(chǎn)日期、模塊類型及序列號(hào)、軟件版本等FRU信息。
3)日志記錄。對(duì)健康監(jiān)控、網(wǎng)絡(luò)等信息進(jìn)行記錄,成為模塊日志。
4)熱插拔管理。提供統(tǒng)一的模塊熱插拔管理流程,根據(jù)接收到的命令,使模塊處在相應(yīng)狀態(tài)(具體包括未安裝、未激活、激活請(qǐng)求、激活中、已激活、去活請(qǐng)求、去活中、命令丟失等8種)。
(3)機(jī)箱監(jiān)控軟件
機(jī)箱監(jiān)控軟件運(yùn)行于交換模塊ShMC上,實(shí)時(shí)監(jiān)控整機(jī)的健康狀態(tài),并接受用戶監(jiān)控指令,負(fù)責(zé)監(jiān)控命令的接收、分析、執(zhí)行、分發(fā)與信息反饋、收集等,主要包括:
1)健康信息監(jiān)控。實(shí)時(shí)獲取機(jī)箱中所有模塊的溫度、電壓、功耗等傳感器信息,以及各模塊的CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)及接口的工作狀態(tài)(包括故障、資源使用率等),并實(shí)時(shí)獲取本交換模塊傳感器信息、資源工作狀態(tài)信息,匯總后按要求向上位機(jī)匯報(bào)。
2)機(jī)箱風(fēng)扇監(jiān)控。根據(jù)機(jī)箱內(nèi)各模塊的溫度及其分布、變化,控制風(fēng)扇轉(zhuǎn)速,并采集結(jié)果。
3)FRU信息收集。獲取機(jī)箱內(nèi)各模塊的名稱、制造商、生產(chǎn)日期、序列號(hào)、軟件名稱及版本等FRU信息,并通過IPMI向上位機(jī)上報(bào)。
4)遠(yuǎn)程操作。按要求管理機(jī)箱內(nèi)所有模塊的遠(yuǎn)程操作(包括各模塊的上/下電、復(fù)位,以及iKVM、遠(yuǎn)程啟動(dòng)與軟件加載等)。
5)日志信息。記錄并管理機(jī)箱內(nèi)所有模塊日志信息(包括溫度、電壓、電流、資源健康狀態(tài)及使用信息、風(fēng)扇狀態(tài)信息等等),并按需上報(bào)。
6)熱插拔。監(jiān)測(cè)機(jī)箱內(nèi)所有模塊熱插拔狀態(tài)信息,管理機(jī)箱內(nèi)所有模塊的熱插拔操作,并通過IPMI向上位機(jī)上報(bào)機(jī)箱內(nèi)所有模塊的熱插拔狀態(tài)信息。
3.3.2 監(jiān)控管理服務(wù)
監(jiān)控管理服務(wù)基于監(jiān)控管理器提供的資源監(jiān)控功能,向上層提供資源監(jiān)控服務(wù),包括資源監(jiān)控、系統(tǒng)管理兩部分。
(1)資源監(jiān)控
資源監(jiān)控基于所收集的信息,建立日志數(shù)據(jù)庫;對(duì)超出閾值的事件進(jìn)行告警;并通過B/S、API兩種模式,為用戶提供資源監(jiān)控界面或用戶調(diào)用接口。
1)日志管理
對(duì)所獲得的日志信息,按照時(shí)間、事件、模塊、參數(shù)等關(guān)鍵字建立索引,形成日志數(shù)據(jù)庫,便于用戶查詢和統(tǒng)計(jì)。
2)事件告警
當(dāng)異常事件(如模塊溫度/電壓/電流過高、出現(xiàn)故障、載荷過大等)發(fā)生時(shí)進(jìn)行告警,并給出事件基本信息。
3)控制與信息服務(wù)
該軟件接收上位機(jī)發(fā)來的軟硬件管理的IPMI命令,調(diào)用底層資源完成命令執(zhí)行;向上位機(jī)周期發(fā)送整機(jī)軟硬件實(shí)時(shí)狀態(tài)信息(包括傳感器信息、以及CPU、內(nèi)存、硬盤、網(wǎng)絡(luò)等的狀態(tài)信息和使用情況)。
該服務(wù)為上位機(jī)或第三方軟件提供B/S、API兩種訪問模式。在B/S模式中,實(shí)現(xiàn)了Sever端功能,允許Web瀏覽器訪問相關(guān)服務(wù),并接收相應(yīng)命令;在API模式中,向有定制需求的用戶提供底層API調(diào)用接口,用戶可按需設(shè)計(jì)自己的界面。
(2)系統(tǒng)管理
系統(tǒng)管理為用戶提供對(duì)底層軟硬件的配置和維護(hù),并實(shí)現(xiàn)ShMC主從管理。
1)系統(tǒng)配置
系統(tǒng)配置包括時(shí)間、網(wǎng)絡(luò)、用戶等配置。時(shí)間配置是配置當(dāng)前系統(tǒng)時(shí)間、時(shí)區(qū)及更改時(shí)區(qū);網(wǎng)絡(luò)配置是按機(jī)柜、機(jī)箱和槽位信息,配置模塊的IP地址、ID號(hào);用戶配置維護(hù)用戶管理列表(用戶ID、名稱和權(quán)限),提供增、刪、改等操作。
2)系統(tǒng)維護(hù)
提供BMC重啟、BMC固件更新、恢復(fù)出廠設(shè)置等功能,并為遠(yuǎn)程啟動(dòng)與軟件加載提供支持。
3)ShMC主從管理
為提高系統(tǒng)可靠性,同一機(jī)箱設(shè)計(jì)了2個(gè)ShMC,為實(shí)現(xiàn)系統(tǒng)有序工作,需通過主從仲裁、心跳監(jiān)測(cè)手段確定哪一個(gè)為主節(jié)點(diǎn):①主從仲裁。上電時(shí)默認(rèn)槽位號(hào)較小模塊上的為主ShMC,另一個(gè)為備用ShMC;主ShMC發(fā)送命令給槽位號(hào)較大的交換模塊上的ShMC,如對(duì)方節(jié)點(diǎn)為非激活狀態(tài),則設(shè)本節(jié)點(diǎn)為主ShMC,另一個(gè)為備用;如對(duì)方節(jié)點(diǎn)已激活,則將本節(jié)點(diǎn)設(shè)置為備用ShMC。主從ShMC周期性發(fā)送心跳信號(hào)給對(duì)方;②心跳監(jiān)測(cè)。備用ShMC周期地監(jiān)測(cè)主ShMC心跳是否失效,如失效則將本節(jié)點(diǎn)設(shè)置為主ShMC。
3.3.3 監(jiān)控管理門戶
監(jiān)控管理門戶通過Web方式,向用戶提供各類信息與服務(wù)。具體包括各類軟硬件資源狀態(tài)視圖、網(wǎng)絡(luò)拓?fù)?,提供異常事件告警等功能;其管理頁面提供系統(tǒng)配置、故障管理、應(yīng)用管理、日志操作等操作界面;并提供訪問控制功能,包括操作員身份認(rèn)證、用戶/角色管理、權(quán)限判斷等。監(jiān)控管理門戶運(yùn)行于上位機(jī),主要為用戶觀察系統(tǒng)、訪問控制提供便利,具體包括以下功能。
(1)實(shí)時(shí)狀態(tài)展示
監(jiān)控管理門戶提供各模塊實(shí)時(shí)狀態(tài)展示頁面,系統(tǒng)將自動(dòng)發(fā)現(xiàn)、監(jiān)測(cè)各模塊節(jié)點(diǎn),根據(jù)機(jī)柜號(hào)、機(jī)箱號(hào)、槽位號(hào)自動(dòng)排布,向用戶展示各模塊運(yùn)行的實(shí)時(shí)狀態(tài)(包括模塊類型、是否在位、正常運(yùn)行/異常),并按路由關(guān)系建立各節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)洹?/p>
(2)節(jié)點(diǎn)導(dǎo)航
提供文件系統(tǒng)、進(jìn)程、性能監(jiān)控、屬性、BMC、遠(yuǎn)程登錄、開關(guān)機(jī)等功能。在文件系統(tǒng)功能中,可對(duì)節(jié)點(diǎn)上文件進(jìn)行創(chuàng)建、讀寫、刪除等操作;在進(jìn)程功能中,可展示節(jié)點(diǎn)上所有進(jìn)程的狀態(tài)及資源占用率;性能監(jiān)控將節(jié)點(diǎn)資源(CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等)使用情況進(jìn)行展示。屬性提供節(jié)點(diǎn)的操作系統(tǒng)及其版本、IP地址和用戶等信息。BMC提供節(jié)點(diǎn)的溫度/電壓/電流等傳感器、網(wǎng)絡(luò)端口、硬件版本等信息。遠(yuǎn)程登錄為用戶遠(yuǎn)程登錄被監(jiān)控節(jié)點(diǎn)提供支持。通過開關(guān)機(jī)實(shí)現(xiàn)單節(jié)點(diǎn)的上下電操作。
(3)應(yīng)用管理
提供相關(guān)應(yīng)用的管理操作,包括任務(wù)部署、文件上下載。任務(wù)部署對(duì)監(jiān)控節(jié)點(diǎn)進(jìn)行遠(yuǎn)程任務(wù)部署;文件上下載可將瀏覽器所在計(jì)算機(jī)上的文件傳輸?shù)侥繕?biāo)節(jié)點(diǎn)上,也可將目標(biāo)節(jié)點(diǎn)上的文件下載到瀏覽器所在計(jì)算機(jī)。
(4)訪問控制功能,包含用戶管理、用戶認(rèn)證以及權(quán)限管理。用戶管理實(shí)現(xiàn)用戶信息的增加、刪除、查詢、修改;用戶認(rèn)證通過用戶名、密碼確認(rèn)用戶身份的合法性;權(quán)限管理根據(jù)用戶屬性提供不同的操作權(quán)限。
(5)遠(yuǎn)程控制
可通過以太網(wǎng)對(duì)各模塊進(jìn)行遠(yuǎn)程控制,監(jiān)控模塊工作狀態(tài),并提供人機(jī)交互界面。
(6)日志操作
提供日志查詢界面,供管理員進(jìn)行集群系統(tǒng)日志和用戶日志的查詢,并可將日志信息保存為文本文件。
通過上述架構(gòu)、硬件和軟件等多層級(jí)設(shè)計(jì)及其有機(jī)結(jié)合,最終形成了對(duì)信息處理平臺(tái)的監(jiān)控能力。以下對(duì)其主要部分進(jìn)行簡(jiǎn)要說明。
通過該視圖可顯示機(jī)箱及設(shè)備狀態(tài)、節(jié)點(diǎn)基本信息,提供基本參數(shù)供用戶使用。
機(jī)箱及設(shè)備狀態(tài)如圖6(a)所示,描述了系統(tǒng)中的機(jī)箱情況(3號(hào)機(jī)柜、7號(hào)機(jī)箱,共14個(gè)槽位)、在位模塊(軟件指示燈純白為不在位)、模塊類型(如交換、計(jì)算、顯控、存儲(chǔ)、電源等)、模塊狀態(tài)(軟件指示燈斜線為正常、網(wǎng)點(diǎn)狀為故障)。
節(jié)點(diǎn)基本信息如圖6(b)、圖6(c)所示。其中圖6(b)顯示了模塊BMC上的信息,包括槽位號(hào)、主要芯片溫度、板卡平均溫度、功耗等;圖6(c)描述了該節(jié)點(diǎn)上的操作系統(tǒng)類型及其版本、IP地址、協(xié)議類型和Agent代理ID號(hào)等。
圖6 設(shè)備及節(jié)點(diǎn)基本視圖
節(jié)點(diǎn)資源主要是指用于處理的CPU及其外部資源,圖7描述了CPU、RAM(內(nèi)存)、DISK(硬盤)、網(wǎng)絡(luò)等資源的使用率。其中CPU使用率,采用動(dòng)態(tài)曲線描述一段時(shí)間內(nèi)CPU使用率及其變動(dòng)情況;RAM使用率,采用動(dòng)態(tài)柱狀圖方式,描述其使用及變動(dòng)情況;硬盤使用率變化比較緩慢,采用餅圖方式進(jìn)行顯示;網(wǎng)絡(luò)使用率采用動(dòng)態(tài)曲線方式,描述其使用及變動(dòng)情況。
圖7 節(jié)點(diǎn)資源使用情況
通過資源監(jiān)控設(shè)計(jì),該信息處理平臺(tái)可為用戶提供設(shè)備及節(jié)點(diǎn)的基本信息、節(jié)點(diǎn)資源使用信息,方便用戶及時(shí)監(jiān)控設(shè)備狀態(tài)、發(fā)現(xiàn)故障,掌握其變化規(guī)律,以便采取相應(yīng)措施。通過各模塊的熱插拔、遠(yuǎn)程加載、上/下電、復(fù)位和看門狗等管理功能,結(jié)合模塊的替換和重啟等措施,減少了平臺(tái)故障時(shí)間,提高了可用性。
該方案實(shí)現(xiàn)了各類故障與資源使用率的監(jiān)控,并可跟蹤各供應(yīng)商產(chǎn)品的質(zhì)量特性,滿足了某信息處理平臺(tái)的資源監(jiān)控需要,并在某型雷達(dá)中得到了應(yīng)用。隨著信息處理平臺(tái)規(guī)模越來越大,通過機(jī)箱間千兆網(wǎng)互聯(lián),可實(shí)現(xiàn)多機(jī)箱、甚至多機(jī)柜的資源監(jiān)控,方便地支持了雷達(dá)后端系統(tǒng)的橫向擴(kuò)展;并可根據(jù)所記錄的狀態(tài)及故障歷史,為故障預(yù)測(cè)提供支撐。為了向用戶提供更好的技術(shù)服務(wù),后續(xù)將在故障預(yù)測(cè)方面開展相關(guān)研究。