李 挺, 鄧 科, 蔡 昂, 張煥青, 王 匯, 馮 凝, 李 煒
(國網(wǎng)湖北省電力有限公司 檢修公司, 武漢 430050)
類Unix操作系統(tǒng)(Solaris Unix操作系統(tǒng)、HP Unix操作系統(tǒng)等Unix的各種商業(yè)版本及基于Unix系統(tǒng)的Linux和各種Linux的商業(yè)版本)具有可靠性高、安全性強(qiáng)和數(shù)據(jù)庫支持功能強(qiáng)大等優(yōu)點(diǎn)[1],已成為最為安全、可靠、流行的大型服務(wù)器操作系統(tǒng),被廣泛應(yīng)用于各行業(yè)的工業(yè)服務(wù)器設(shè)備。然而,此類系統(tǒng)存在操作復(fù)雜、普適性低以及缺乏有效監(jiān)測(cè)與維護(hù)手段等問題[2],并存在重要數(shù)據(jù)丟失和系統(tǒng)崩潰的風(fēng)險(xiǎn),大幅縮短了硬件設(shè)備使用壽命[3-6]。
目前常用的類Unix系統(tǒng)服務(wù)器硬件檢測(cè)方法包括基于Linux Live技術(shù)的檢測(cè)方法[7]、基于Windows to go技術(shù)的檢測(cè)方法[8]和基于類Unix系統(tǒng)硬件檢測(cè)軟件的方法[9]。雖使用Linux Live技術(shù)能抽取出開源軟件的源代碼,靈活定制硬件自動(dòng)檢測(cè)軟件及生成所需的精簡(jiǎn)版檢測(cè)報(bào)告[10]。但由于Linux Live系統(tǒng)自帶的軟件驅(qū)動(dòng)庫版本老舊且不完整,在不同硬件配置機(jī)器間的檢測(cè)中,需耗費(fèi)大量時(shí)間從系統(tǒng)ISO驅(qū)動(dòng)文件庫中查找及安裝驅(qū)動(dòng)程序(>30 min),且常由于缺乏與最新服務(wù)器硬件匹配的驅(qū)動(dòng)文件,造成系統(tǒng)無法啟動(dòng)[11]?;赪indows to go技術(shù)的檢測(cè)方法雖擁有完整的系統(tǒng),但相較于基于Linux Live技術(shù)的檢測(cè)方法需要占用的U盤空間大(16 GB以上),且對(duì)于U盤的讀取速度要求過高[12-14]。而基于類Unix系統(tǒng)硬件檢測(cè)軟件的方法又存在檢測(cè)功能單一、兼容性不足和操作難度大的問題[15]。
綜上所述,依靠現(xiàn)有類Unix系統(tǒng)檢測(cè)技術(shù)來檢測(cè)服務(wù)器設(shè)備難以緩解類Unix系統(tǒng)服務(wù)器存在的檢修和維護(hù)壓力。因此,開發(fā)一套高效簡(jiǎn)單且兼容所有類Unix操作系統(tǒng)的硬件檢測(cè)方案具有較大的實(shí)際意義。本文設(shè)計(jì)與實(shí)現(xiàn)了一套類Unix操作系統(tǒng)便捷型離線硬件檢測(cè)軟件,以U盤啟動(dòng)Windows PE的方式,使用Windows綠色軟件實(shí)現(xiàn)X86架構(gòu)的類Unix操作系統(tǒng)服務(wù)器的跨平臺(tái)自動(dòng)硬件健康檢測(cè)及報(bào)告自動(dòng)獲取功能。
X86架構(gòu)的服務(wù)器常由于缺乏系統(tǒng)運(yùn)行所需的硬件驅(qū)動(dòng),導(dǎo)致無法兼容類Unix操作系統(tǒng),但其均能兼容Windows操作系統(tǒng)[10]。因此,本文采用U盤啟動(dòng)的方式,使用兼容Windows PE操作系統(tǒng)的硬件檢測(cè)軟件,來實(shí)現(xiàn)類Unix服務(wù)器的硬件檢測(cè)。經(jīng)過試驗(yàn),存在以下技術(shù)要點(diǎn)。
1) 應(yīng)用軟件在Windows PE系統(tǒng)下難以永久安裝。由于Windows PE采用虛擬內(nèi)存系統(tǒng)運(yùn)行方式,在此系統(tǒng)下安裝任何應(yīng)用軟件,將會(huì)隨著系統(tǒng)重啟,造成安裝配置還原消失。
2) 缺乏完整的DLL文件導(dǎo)致應(yīng)用軟件無法運(yùn)行。由于Windows PE系統(tǒng)只包含系統(tǒng)的核心文件,缺乏完整的 DLL文件庫。因此,基于Windows PE的類Unix操作系統(tǒng)的計(jì)算機(jī)硬件檢測(cè)方法通常會(huì)出現(xiàn)多個(gè)軟件無法開啟的問題,且報(bào)錯(cuò)類型均為“缺少DLL文件”(如圖1所示),從而導(dǎo)致多個(gè)應(yīng)用軟件無法運(yùn)行。
圖1 缺少DLL報(bào)錯(cuò)Fig.1 Missing DLL report error
針對(duì)問題1),本文采用將已安裝完好的Windows綠色軟件預(yù)先存貯在裝有Windows PE系統(tǒng)的啟動(dòng)U盤內(nèi),避免了在Windows PE系統(tǒng)下安裝應(yīng)用軟件重啟后,安裝軟件消失的問題。
對(duì)于問題2),由于Windows PE系統(tǒng)采用虛擬內(nèi)存運(yùn)行方式,為防止重啟系統(tǒng)后,造成系統(tǒng)配置的文件還原消失。本文采用預(yù)定制具有完整DLL動(dòng)態(tài)鏈接庫(總文件約60 MB)的Windows PE系統(tǒng),為應(yīng)用軟件的正常使用提供了運(yùn)行環(huán)境。圖2和圖3所示分別為在預(yù)定制Windows PE系統(tǒng)下使用魯大師軟件對(duì)不同硬件配置裝有類Unix系統(tǒng)的浪潮服務(wù)器與惠普服務(wù)器進(jìn)行硬件檢測(cè)時(shí)的界面。由圖可看出,系統(tǒng)能正常完成軟件檢測(cè)功能。
圖2 浪潮服務(wù)器魯大師檢測(cè)界面Fig.2 Detection interface byLudashi
圖3 惠普服務(wù)器魯大師檢測(cè)界面Fig.3 HP server Lu master detection interface
3) Windows軟件源代碼難以抽取導(dǎo)致檢測(cè)結(jié)果自動(dòng)獲取困難。由于現(xiàn)有Windows硬件檢測(cè)軟件多為非開源軟件,難以采用抽取源代碼進(jìn)行軟件定制的方式生成檢測(cè)報(bào)告的常規(guī)方法。若采用重新開發(fā)檢測(cè)軟件的方式,將耗費(fèi)大量人力、物力。
對(duì)于此問題,采用可導(dǎo)出檢測(cè)報(bào)告支持Windows系統(tǒng)的現(xiàn)有服務(wù)器硬件檢測(cè)軟件進(jìn)行檢測(cè)。隨后,再將報(bào)告文件提取后進(jìn)行信息篩減,生成精簡(jiǎn)版的報(bào)告文件。
為實(shí)現(xiàn)在Windows PE系統(tǒng)下,對(duì)類Unix系統(tǒng)的服務(wù)器硬件自動(dòng)檢測(cè)并生成精簡(jiǎn)報(bào)告的功能。方案如下:
1) DLL動(dòng)態(tài)鏈接庫文件完整預(yù)定制。預(yù)定制具有完整DLL動(dòng)態(tài)鏈接庫文件的Windows PE系統(tǒng);
2) 檢測(cè)軟件資源綜合集成。將魯大師、aida64等Windows硬件檢測(cè)綠色軟件復(fù)制到Windows PE啟動(dòng)U盤上;
3) 應(yīng)用軟件功能模塊順序運(yùn)行控制。定制批量處理軟件對(duì)各硬件檢測(cè)軟件的檢測(cè)模塊進(jìn)行順序控制運(yùn)行;
4) 檢測(cè)報(bào)告依次提取。待完成服務(wù)器硬件檢測(cè)后,再依次提取各檢測(cè)報(bào)告;
5) 檢測(cè)報(bào)告篩減與合成。對(duì)提取的各檢測(cè)報(bào)告進(jìn)行篩減,合成為精簡(jiǎn)的統(tǒng)一報(bào)告。
該軟件具體工作流程,如圖4所示。使用該檢測(cè)方案可以實(shí)現(xiàn)如下功能應(yīng)用:
1) 定期預(yù)防檢查:使用該檢測(cè)方法,采用定期檢查的方式,對(duì)服務(wù)器設(shè)備硬件的健康情況進(jìn)行全面檢測(cè)。從而及時(shí)發(fā)現(xiàn)其病態(tài)運(yùn)行狀態(tài),使其得到及時(shí)維護(hù),對(duì)于即將損壞的設(shè)備提前予以更換。
2) 故障離線檢測(cè):當(dāng)類Unix操作系統(tǒng)服務(wù)器無法進(jìn)入操作系統(tǒng)時(shí),可能是硬件問題,也可能是軟件問題。用本檢測(cè)方法對(duì)硬件故障問題進(jìn)行檢測(cè),有利于缺陷原因判斷。
3) 設(shè)備臺(tái)賬管理:該檢測(cè)方法可顯示服務(wù)器硬件的詳細(xì)中文信息,有利于對(duì)站端設(shè)備及相關(guān)備品、備件進(jìn)行詳細(xì)的臺(tái)賬管理,提高缺陷處理速度。
4) 合理配置參考:該檢測(cè)方法可以利用魯大師軟件實(shí)現(xiàn)對(duì)服務(wù)器的CPU、內(nèi)存、顯卡、主板等重要硬件設(shè)備進(jìn)行量化評(píng)分??赏ㄟ^站端服務(wù)器設(shè)備的運(yùn)行情況,結(jié)合魯大師軟件的硬件評(píng)分體系,得出當(dāng)前實(shí)際配置需求。再結(jié)合電力發(fā)展,給出一定的裕度空間,并在服務(wù)器設(shè)備采購工作中進(jìn)行經(jīng)濟(jì)合理化硬件配置。
圖4 軟件方案流程圖Fig.4 Software flow chart
為了驗(yàn)證上述檢測(cè)軟件的有效性,本部分使用研制的軟件對(duì)裝有不同類Unix系統(tǒng)的服務(wù)器進(jìn)行硬件檢測(cè)測(cè)試。
使用預(yù)定制了完整動(dòng)態(tài)鏈接庫的U盤啟動(dòng)頁面,使用該軟件可以方便地進(jìn)入Windows PE系統(tǒng)。如圖5所示為使用本軟件最終獲取的硬件設(shè)備檢測(cè)報(bào)告。從圖中可以看出,該檢測(cè)報(bào)告列舉了詳細(xì)的設(shè)備硬件信息,有助于及時(shí)發(fā)現(xiàn)設(shè)備缺陷以及所存在的問題。
圖5 檢測(cè)報(bào)告Fig.5 Test report
本文設(shè)計(jì)和實(shí)現(xiàn)了X86架構(gòu)下跨平臺(tái)的類Unix操作系統(tǒng)服務(wù)器的硬件健康檢測(cè)及配置信息查詢軟件。此外,該軟件還可用于服務(wù)器系統(tǒng)定期預(yù)防檢查、故障離線檢測(cè)、設(shè)備臺(tái)賬管理和合理配置參考等工作。在不同類Unix系統(tǒng)進(jìn)行硬件檢測(cè)測(cè)試的結(jié)果表明,所提出的檢測(cè)流程能實(shí)現(xiàn)輕松、高效、安全地完成各種類Unix系統(tǒng)服務(wù)器整個(gè)硬件檢測(cè)工作。