朱光慧, 曾云輝
(1. 齊魯工業(yè)大學(xué)(山東省科學(xué)院) 山東 濟(jì)南 250101; 2. 山東省計(jì)算中心(國(guó)家超級(jí)計(jì)算濟(jì)南中心) 山東 濟(jì)南 250101; 3.山東省計(jì)算機(jī)網(wǎng)絡(luò)重點(diǎn)實(shí)驗(yàn)室 山東 濟(jì)南 250101)
隨著E級(jí)計(jì)算機(jī)的建設(shè),高性能計(jì)算系統(tǒng)日益復(fù)雜.由于參與大規(guī)模計(jì)算的節(jié)點(diǎn)數(shù)巨大,并行作業(yè)運(yùn)行過程中發(fā)生故障的概率也隨之增加[1].目前,利用已有的作業(yè)管理系統(tǒng)和工具,在一定程度上可以獲取作業(yè)運(yùn)行狀態(tài)、計(jì)算資源狀態(tài)及其故障信息.但是,一方面,由于導(dǎo)致故障發(fā)生的原因復(fù)雜多樣且關(guān)聯(lián)性強(qiáng),僅通過獲取的故障信息無(wú)法清晰地定位故障根源;另一方面,由于故障處理策略不合理,導(dǎo)致故障響應(yīng)時(shí)間過長(zhǎng),無(wú)法快速恢復(fù).因此,如何充分利用獲取到的故障信息進(jìn)行快速的故障定位是亟須解決的關(guān)鍵問題.
針對(duì)故障定位問題,國(guó)內(nèi)外許多學(xué)者提出了不同的解決方案.文獻(xiàn)[2-3]分別為高性能計(jì)算系統(tǒng)如“天河二號(hào)”等提供了一種輕量級(jí)的分布式數(shù)據(jù)收集框架,有助于更好地進(jìn)行故障檢測(cè)與分析.文獻(xiàn)[4]基于超圖理論實(shí)現(xiàn)了網(wǎng)絡(luò)空間中任務(wù)故障到作業(yè)故障、作業(yè)故障到資源故障的定位.文獻(xiàn)[5]介紹了在高性能計(jì)算集群環(huán)境下實(shí)現(xiàn)的故障監(jiān)控管理系統(tǒng)及其功能實(shí)現(xiàn).文獻(xiàn)[6]提出并分析了高性能計(jì)算系統(tǒng)中故障的發(fā)生概率、位置、時(shí)間分布等特征.文獻(xiàn)[7]提出通過主動(dòng)探測(cè)技術(shù)實(shí)現(xiàn)故障定位.文獻(xiàn)[8]較為詳細(xì)地論述了基于規(guī)則、模型以及案例的事件關(guān)聯(lián)實(shí)現(xiàn)方式.為了預(yù)防故障,有些學(xué)者研究故障預(yù)警技術(shù)[9-10],如Blue Gene/P和故障容錯(cuò)技術(shù). 基于檢查點(diǎn)的恢復(fù)技術(shù)[11]是從應(yīng)用程序?qū)用娌扇〉囊环N有效保護(hù)措施.但是,現(xiàn)有容錯(cuò)方法都會(huì)引起可靠性墻,必須研究故障影響系統(tǒng)的規(guī)律和探索新的方法.通過分析高性能計(jì)算系統(tǒng)組成及其功能模塊之間的關(guān)聯(lián)關(guān)系發(fā)現(xiàn),系統(tǒng)中的關(guān)鍵服務(wù)和關(guān)鍵組件對(duì)作業(yè)運(yùn)行的影響較大,往往可以通過問題規(guī)模及其分布范圍表現(xiàn)出來(lái),目前針對(duì)這方面的研究較少.因此,本文結(jié)合機(jī)器架構(gòu)的關(guān)聯(lián)關(guān)系提出了一種基于問題規(guī)模的故障快速定位方法,考慮了從提交作業(yè)到作業(yè)退出整個(gè)生命周期中可能出現(xiàn)的問題.該方法由上而下、逐層排查故障原因,縮小了故障的處理范圍,有助于運(yùn)行管理人員根據(jù)故障的嚴(yán)重等級(jí),優(yōu)先處理影響范圍大、緊急度高的故障,縮短了故障的響應(yīng)時(shí)間,有效解決了大規(guī)模作業(yè)運(yùn)行過程中故障快速定位的問題.
高性能計(jì)算系統(tǒng)包括由處理器構(gòu)成的運(yùn)算系統(tǒng)、提供存儲(chǔ)服務(wù)的文件系統(tǒng)、用于系統(tǒng)管理的控制管理節(jié)點(diǎn)及高速互聯(lián)網(wǎng)絡(luò)等.高性能計(jì)算系統(tǒng)結(jié)構(gòu)示意圖如圖1所示.
圖1 高性能計(jì)算系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Architecture of high performance computing system
用戶通過登錄節(jié)點(diǎn)使用超級(jí)計(jì)算機(jī),在上傳程序和數(shù)據(jù)后提交計(jì)算作業(yè).在作業(yè)結(jié)束后,用戶提取計(jì)算結(jié)果數(shù)據(jù)進(jìn)行使用和分析.從用戶將作業(yè)提交到系統(tǒng)中,到作業(yè)完成并退出,每個(gè)階段都有對(duì)應(yīng)的作業(yè)狀態(tài).作業(yè)狀態(tài)轉(zhuǎn)換關(guān)系如圖2所示.
圖2 作業(yè)狀態(tài)轉(zhuǎn)換關(guān)系Fig.2 Job state transition relation
各種作業(yè)狀態(tài)的含義如下.
1) PEND:作業(yè)正在調(diào)度.正在隊(duì)列中進(jìn)行調(diào)度并等待分派系統(tǒng)資源,作業(yè)還未占用系統(tǒng)資源.
2) STARTING:作業(yè)正在啟動(dòng).分配到系統(tǒng)資源后至作業(yè)啟動(dòng)完成并開始運(yùn)行之間的過渡狀態(tài).
3) RUN:作業(yè)正在運(yùn)行.作業(yè)已經(jīng)完成調(diào)度和分派,作業(yè)占用系統(tǒng)資源.
4) DONE:作業(yè)正常完成并退出.
5) EXIT:作業(yè)異常完成并退出.
6) HANG:作業(yè)掛死.仍顯示RUN,但作業(yè)數(shù)據(jù)已停止輸出,且沒有退出.
除了作業(yè)本身的運(yùn)行狀態(tài),還需要通過已有的系統(tǒng)監(jiān)測(cè)管理工具獲取作業(yè)運(yùn)行所依賴的系統(tǒng)資源狀態(tài),包括計(jì)算節(jié)點(diǎn)狀態(tài)、網(wǎng)絡(luò)系統(tǒng)狀態(tài)、文件系統(tǒng)狀態(tài)等.其中計(jì)算節(jié)點(diǎn)狀態(tài)是指高性能計(jì)算系統(tǒng)中計(jì)算節(jié)點(diǎn)的狀態(tài),包括idle節(jié)點(diǎn)空閑、busy節(jié)點(diǎn)忙、boot節(jié)點(diǎn)正在引導(dǎo)、hardft節(jié)點(diǎn)發(fā)生硬件故障、down節(jié)點(diǎn)宕機(jī)或監(jiān)測(cè)不通、softft節(jié)點(diǎn)發(fā)生軟件錯(cuò)誤.網(wǎng)絡(luò)系統(tǒng)狀態(tài)是指高性能計(jì)算系統(tǒng)中計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)接口狀態(tài),包括ok正常、down關(guān)閉、init初始化、need_reboot需要重新加載系統(tǒng)、iblink_err節(jié)點(diǎn)IB鏈路故障.文件系統(tǒng)狀態(tài)是指高性能計(jì)算系統(tǒng)中全局文件系統(tǒng)的狀態(tài),包括ok正常、unmounted未掛載.全局文件系統(tǒng)是大規(guī)模并行處理計(jì)算機(jī)系統(tǒng)的關(guān)鍵技術(shù),是一種基于網(wǎng)絡(luò)共享存儲(chǔ)空間的文件系統(tǒng).
按照高性能計(jì)算系統(tǒng)組成及其功能和相關(guān)關(guān)系,導(dǎo)致并行作業(yè)運(yùn)行故障的原因主要包括以下4類事件.
A類事件:運(yùn)算系統(tǒng)故障.運(yùn)算系統(tǒng)故障包括電源故障、運(yùn)算節(jié)點(diǎn)插件故障、CPU故障、內(nèi)存故障、CPU利用率異常、內(nèi)存利用率異常、運(yùn)算性能異常、訪存性能異常.
B類事件:網(wǎng)絡(luò)系統(tǒng)故障.網(wǎng)絡(luò)系統(tǒng)故障包括IB子網(wǎng)管理服務(wù)故障、IB子網(wǎng)管理節(jié)點(diǎn)故障、IB交換機(jī)故障、計(jì)算交換模塊故障、IB網(wǎng)絡(luò)端口故障、IB光纖故障、IB帶寬異常、IB延遲異常.
C類事件:文件系統(tǒng)故障.文件系統(tǒng)故障包括文件系統(tǒng)服務(wù)故障、元數(shù)據(jù)服務(wù)節(jié)點(diǎn)故障、文件系統(tǒng)服務(wù)節(jié)點(diǎn)故障、存儲(chǔ)管理節(jié)點(diǎn)故障、存儲(chǔ)節(jié)點(diǎn)故障、磁盤故障、磁盤超限、IO帶寬異常.
D類事件:作業(yè)與資源管理系統(tǒng)故障.作業(yè)與資源管理系統(tǒng)故障包括資源管理總控故障、作業(yè)管理總控故障、作業(yè)調(diào)度器故障、控制臺(tái)故障.
事件分類的目的是確定故障所屬的類型,并將事件分配給相應(yīng)的系統(tǒng)管理員進(jìn)行調(diào)查分析和處理.事件分級(jí)的目的是確定故障的嚴(yán)重程度,以確保支持人員對(duì)事件予以相應(yīng)的關(guān)注.事件的嚴(yán)重程度通過事件嚴(yán)重等級(jí)策略確定從1 (極高)到4 (低)逐級(jí)遞減,事件的影響度如表1所示,事件的緊急度如表2所示.其中表1中的關(guān)鍵業(yè)務(wù)服務(wù)為系統(tǒng)功能,具體包括文件系統(tǒng)服務(wù)、IB子網(wǎng)管理服務(wù)、資源管理總控服務(wù)、作業(yè)管理總控服務(wù)和作業(yè)調(diào)度服務(wù).事件嚴(yán)重等級(jí)的分類根據(jù)事件的影響度等級(jí)和緊急度等級(jí)組合決定,見表3.
表1 事件的影響度Tab.1 Impact of events
表2 事件的緊急度Tab.2 Urgency of events
表3 事件嚴(yán)重等級(jí)Tab.3 Severity of events
基于高性能計(jì)算系統(tǒng)的邏輯組件,按照表3計(jì)算方法,對(duì)部分運(yùn)行故障進(jìn)行分類、分級(jí),事件分類、分級(jí)說明(部分示例)見表4.由表4可知,事件嚴(yán)重等級(jí)為1級(jí)的事件稱為全局事件,2級(jí)的事件稱為區(qū)域事件,1級(jí)和2級(jí)都屬于主要故障;3級(jí)的事件稱為個(gè)別事件,屬于局部故障;4級(jí)的故障屬于系統(tǒng)性能故障.
表4 事件分類、分級(jí)說明Tab.4 Classification and gradation of events
在作業(yè)發(fā)生故障時(shí),如作業(yè)提交不上、作業(yè)提交上但一直處于PEND狀態(tài)、作業(yè)提交運(yùn)行后非正常結(jié)束、作業(yè)掛死等,可以獲取到一些故障信息,主要包括作業(yè)ID號(hào)、作業(yè)狀態(tài)、與作業(yè)相關(guān)的故障節(jié)點(diǎn)數(shù)量,對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)號(hào)、結(jié)構(gòu)號(hào)、計(jì)算節(jié)點(diǎn)狀態(tài)、HCA卡狀態(tài)、文件系統(tǒng)狀態(tài)等.
導(dǎo)致故障發(fā)生的原因分為直接原因和間接原因.直接原因通過故障現(xiàn)象本身或直接關(guān)聯(lián)知識(shí)庫(kù),即可給出故障原因和處理建議;間接原因則通過故障關(guān)聯(lián)分析方法找到故障的根本原因.對(duì)于故障之間存在關(guān)聯(lián)關(guān)系的情況,可以結(jié)合機(jī)器的架構(gòu)特征,首先根據(jù)問題規(guī)模及其關(guān)聯(lián)關(guān)系,判斷故障的類型和級(jí)別,篩選出主要故障;然后按照已有歷史故障處理方法排查局部故障.故障定位分析流程如圖3所示.
圖3 故障定位分析流程Fig.3 Flow chart of fault localization analysis
假設(shè)整個(gè)系統(tǒng)的計(jì)算節(jié)點(diǎn)數(shù)為n,文件系統(tǒng)服務(wù)節(jié)點(diǎn)數(shù)為m,運(yùn)算節(jié)點(diǎn)插件數(shù)為l,計(jì)算交換模塊數(shù)為k,則每n/m個(gè)計(jì)算節(jié)點(diǎn)對(duì)應(yīng)1個(gè)文件系統(tǒng)服務(wù)節(jié)點(diǎn),每個(gè)運(yùn)算節(jié)點(diǎn)插件對(duì)應(yīng)n/l個(gè)CPU;運(yùn)算節(jié)點(diǎn)是1個(gè)插件,一般由CPU、存儲(chǔ)器、連接計(jì)算節(jié)點(diǎn)的計(jì)算交換模塊等組成.分析方法如下.
1) 如果作業(yè)提交失敗,則根據(jù)返回的報(bào)錯(cuò)信息,通過關(guān)聯(lián)知識(shí)庫(kù)給出故障原因和處理建議,判定為作業(yè)與資源管理系統(tǒng)中的作業(yè)管理總控故障或資源管理總控故障,事件嚴(yán)重等級(jí)為1.關(guān)聯(lián)知識(shí)庫(kù),即通過查詢常見問題知識(shí)庫(kù),把報(bào)錯(cuò)信息和知識(shí)庫(kù)中的記錄進(jìn)行關(guān)聯(lián),給出故障原因和處理建議;該知識(shí)庫(kù)由運(yùn)維人員補(bǔ)充和維護(hù).
2) 如果作業(yè)提交后一直處于PEND狀態(tài),則作業(yè)調(diào)度失敗,判定為作業(yè)與資源管理系統(tǒng)中的作業(yè)調(diào)度器故障,事件嚴(yán)重等級(jí)為1;進(jìn)一步檢查作業(yè)調(diào)度器的狀態(tài).
3) 如果作業(yè)在啟動(dòng)運(yùn)行時(shí)出現(xiàn)異常,則作業(yè)資源分配失敗,初步判定為作業(yè)與資源管理系統(tǒng)中的資源管理總控故障,事件嚴(yán)重等級(jí)為1;進(jìn)一步檢查資源管理總控狀態(tài).如果資源管理總控狀態(tài)正常,則計(jì)算資源臨時(shí)出現(xiàn)故障,判定為運(yùn)算系統(tǒng)故障或網(wǎng)絡(luò)系統(tǒng)故障或文件系統(tǒng)故障.
4) 作業(yè)完成調(diào)度和資源分配后,作業(yè)占用的系統(tǒng)資源正在運(yùn)行中;如果作業(yè)運(yùn)行一段時(shí)間后異常退出,則計(jì)算資源出現(xiàn)故障,判定為運(yùn)算系統(tǒng)故障或網(wǎng)絡(luò)系統(tǒng)故障或文件系統(tǒng)故障.
針對(duì)上述計(jì)算資源故障,如果出現(xiàn)故障的節(jié)點(diǎn)數(shù)大于n/l時(shí),則首先根據(jù)問題規(guī)模及其關(guān)聯(lián)關(guān)系判斷故障的類型和級(jí)別,篩選出主要故障.具體判定方法如下.
1) 如果作業(yè)所有節(jié)點(diǎn)的文件系統(tǒng)狀態(tài)為unmounted未掛載,且計(jì)算節(jié)點(diǎn)狀態(tài)為softft、網(wǎng)絡(luò)系統(tǒng)狀態(tài)為ok正常,則判定為文件系統(tǒng)服務(wù)故障,事件嚴(yán)重等級(jí)為1;進(jìn)一步檢查文件系統(tǒng)服務(wù)狀態(tài)或元數(shù)據(jù)服務(wù)節(jié)點(diǎn)狀態(tài).
2) 如果作業(yè)所有節(jié)點(diǎn)的網(wǎng)絡(luò)系統(tǒng)狀態(tài)為init初始化,且計(jì)算節(jié)點(diǎn)狀態(tài)為softft、文件系統(tǒng)狀態(tài)為unmounted未掛載,則初步判定為網(wǎng)絡(luò)系統(tǒng)中的IB子網(wǎng)管理服務(wù)故障,事件嚴(yán)重等級(jí)為1;進(jìn)一步檢查IB子網(wǎng)管理服務(wù)狀態(tài)或IB子網(wǎng)管理節(jié)點(diǎn)狀態(tài).
3) 如果出現(xiàn)連續(xù)n/m的整數(shù)倍個(gè)計(jì)算節(jié)點(diǎn)的文件系統(tǒng)狀態(tài)為unmounted未掛載,且計(jì)算節(jié)點(diǎn)狀態(tài)為softft、網(wǎng)絡(luò)系統(tǒng)狀態(tài)為ok正常,且計(jì)算節(jié)點(diǎn)的物理結(jié)構(gòu)號(hào)對(duì)應(yīng)1個(gè)文件系統(tǒng)服務(wù)節(jié)點(diǎn),則判定為文件系統(tǒng)服務(wù)節(jié)點(diǎn)故障,事件嚴(yán)重等級(jí)為2;進(jìn)一步檢查對(duì)應(yīng)的文件系統(tǒng)服務(wù)節(jié)點(diǎn)狀態(tài).
4) 如果出現(xiàn)連續(xù)n/k的整數(shù)倍個(gè)計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)系統(tǒng)狀態(tài)為down關(guān)閉,且計(jì)算節(jié)點(diǎn)狀態(tài)為softft、文件系統(tǒng)狀態(tài)為unmounted未掛載,且計(jì)算節(jié)點(diǎn)的物理結(jié)構(gòu)號(hào)對(duì)應(yīng)1個(gè)計(jì)算交換模塊,則判定為網(wǎng)絡(luò)系統(tǒng)中的計(jì)算交換模塊故障,事件嚴(yán)重等級(jí)為2;進(jìn)一步檢查對(duì)應(yīng)的計(jì)算交換模塊狀態(tài).
5) 如果出現(xiàn)連續(xù)n/l的整數(shù)倍個(gè)計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)系統(tǒng)狀態(tài)為down關(guān)閉,且網(wǎng)絡(luò)系統(tǒng)狀態(tài)和文件系統(tǒng)狀態(tài)均無(wú)結(jié)果顯示,且計(jì)算節(jié)點(diǎn)的物理結(jié)構(gòu)號(hào)對(duì)應(yīng)1個(gè)運(yùn)算節(jié)點(diǎn)插件,則判定為運(yùn)算系統(tǒng)中的運(yùn)算節(jié)點(diǎn)插件故障,事件嚴(yán)重等級(jí)為2;進(jìn)一步檢查對(duì)應(yīng)運(yùn)算節(jié)點(diǎn)插件的狀態(tài)或電源狀態(tài).
6) 如果作業(yè)狀態(tài)為HANG,則判定為文件系統(tǒng)故障或網(wǎng)絡(luò)系統(tǒng)故障或計(jì)算資源性能異常.按照上述方法將主要故障處理完成后,再排查局部故障和系統(tǒng)性能問題.最后,執(zhí)行終止作業(yè)命令,并重新提交作業(yè)進(jìn)行測(cè)試.如果作業(yè)運(yùn)行正常,則問題解決,故障定位結(jié)束.
以神威藍(lán)光國(guó)產(chǎn)超級(jí)計(jì)算機(jī)為例,通過實(shí)驗(yàn)驗(yàn)證了故障分析方法的有效性.神威藍(lán)光國(guó)產(chǎn)超級(jí)計(jì)算機(jī)由8 704顆申威-1600 CPU組成,每顆CPU分成4個(gè)核組、16個(gè)核心,每128個(gè)計(jì)算節(jié)點(diǎn)對(duì)應(yīng)1個(gè)文件系統(tǒng)服務(wù)節(jié)點(diǎn),每個(gè)運(yùn)算節(jié)點(diǎn)插件對(duì)應(yīng)8個(gè)CPU,每相鄰32個(gè)CPU對(duì)應(yīng)1個(gè)運(yùn)算網(wǎng)絡(luò)插件.故障分析算法如下.
輸入:故障現(xiàn)象;輸出:故障原因,并給出處理建議;
其中,異常計(jì)算節(jié)點(diǎn)列表(n1,n2,…,nK)和結(jié)構(gòu)號(hào),其結(jié)構(gòu)編號(hào)格式為機(jī)倉(cāng)號(hào):中板號(hào):插件號(hào),(ri,si,ti)為ni節(jié)點(diǎn)的結(jié)構(gòu)號(hào),ni為CPUID.
WHILE(JOB_STATE==EXIT) DO
IF(i>=8 704*20%)THEN
∥首先,根據(jù)問題規(guī)模進(jìn)行全局故障初篩;
IF(Bjobs_STATE of i nodes==null) THEN
∥檢查作業(yè)管理系統(tǒng)服務(wù)是否異常;
ELSEIF(GFS_STATE of i nodes==unmounted) THEN
∥檢查文件系統(tǒng)服務(wù)是否異常;
ELSEIF(HCA_STATE of i nodes==init) THEN
∥檢查IB子網(wǎng)管理服務(wù)是否異常;
ELSEIF(HCA_STATE of i nodes==down) THEN
∥檢查IB交換機(jī)是否異常;
ENDIF
ELSEIF(8<=i<8 704*20%)THEN
∥然后,根據(jù)問題規(guī)模進(jìn)行區(qū)域故障初篩;
IF(GFS_STATE of 128 nodes==unmounted && ni/128==nj/128) THEN
∥檢查文件系統(tǒng)服務(wù)節(jié)點(diǎn)是否異常;
ELSEIF(HCA_STATE of 32 nodes==down && ni/32==nj/32) THEN
∥檢查運(yùn)算網(wǎng)絡(luò)插件是否異常;
ELSEIF(HCA_STATE of 8 nodes==down && ni/8==nj/8) THEN
∥檢查HCA板是否異常;
ELSEIF(CPU_STATUS of 8 nodes==down && ni/8==nj/8) THEN
∥檢查運(yùn)算插件或電源是否異常;
ENDIF
ELSEIF(i<8)
∥最后,處理局部細(xì)節(jié)故障;
IF(CPU_STATUS of some nodes==down) THEN
∥檢查相應(yīng)的CPU;
ELSE
∥關(guān)聯(lián)知識(shí)庫(kù)
ENDIF
ENDIF
END WHILE
輸出故障原因,并給出故障處理建議.
舉例說明:某客戶提交了2個(gè)并行作業(yè),作業(yè)1分配的計(jì)算資源為0~63號(hào)CPU,作業(yè)2分配的計(jì)算資源為64~127號(hào)CPU.在作業(yè)運(yùn)行過程中執(zhí)行bjobs命令檢查發(fā)現(xiàn)作業(yè)1狀態(tài)變?yōu)镋XIT,如圖4所示.
圖4 作業(yè)1狀態(tài)圖Fig.4 The state of Job 1
通過執(zhí)行cnload命令檢查發(fā)現(xiàn)計(jì)算資源的故障信息,部分示例計(jì)算節(jié)點(diǎn)狀態(tài)如圖5所示.
圖5 計(jì)算節(jié)點(diǎn)狀態(tài)圖Fig.5 The state of compute nodes
現(xiàn)有的故障分析方法為:根據(jù)故障現(xiàn)象判定作業(yè)1已非正常結(jié)束,計(jì)算節(jié)點(diǎn)狀態(tài)為softft,說明節(jié)點(diǎn)已經(jīng)引導(dǎo)成功,但HCA卡或文件系統(tǒng)不可用,由于網(wǎng)絡(luò)狀態(tài)為ok正常,則說明是文件系統(tǒng)為unmounted未掛載導(dǎo)致了計(jì)算節(jié)點(diǎn)狀態(tài)不正常.由此,初步判定為文件系統(tǒng)故障,交由文件系統(tǒng)管理員進(jìn)行排查.由于神威藍(lán)光存儲(chǔ)系統(tǒng)是1個(gè)兩層的存儲(chǔ)架構(gòu),一旦出現(xiàn)問題,在排除程序和人為因素后,會(huì)按照傳統(tǒng)的排錯(cuò)方法進(jìn)一步定位是前端還是后端的故障.如果仍無(wú)法定位故障原因,還會(huì)涉及運(yùn)算系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)等方面的深入排查.如此排查思路不清晰,而且費(fèi)時(shí)又費(fèi)力.
按照本文方法,基于機(jī)器架構(gòu)進(jìn)行關(guān)聯(lián)分析的過程為:當(dāng)檢查到作業(yè)非正常結(jié)束時(shí),首先判定批量作業(yè)的問題規(guī)模,檢查發(fā)現(xiàn)作業(yè)1和作業(yè)2分配的計(jì)算節(jié)點(diǎn)0~63號(hào)和64~127號(hào)CPU都出現(xiàn)了同樣的文件系統(tǒng)掛載失敗現(xiàn)象;根據(jù)故障定位分析算法,符合連續(xù)的128個(gè)計(jì)算節(jié)點(diǎn)且對(duì)應(yīng)1個(gè)文件系統(tǒng)服務(wù)節(jié)點(diǎn)FS00. 由此,可直接判定為FS00服務(wù)節(jié)點(diǎn)狀態(tài)出現(xiàn)異常.通過重啟該服務(wù)節(jié)點(diǎn)后,問題解決并恢復(fù)正常.
由此可見,單故障分析時(shí)只能獲取到資源和作業(yè)的一部分信息,而且信息不連續(xù),信息量也有限.而采用本文提出的故障分析方法可以充分利用多個(gè)作業(yè)運(yùn)行故障信息來(lái)進(jìn)行綜合判斷,更有益于全局或區(qū)域性的故障排查.
本文提出一種并行作業(yè)運(yùn)行故障快速定位方法,基于機(jī)器架構(gòu)間的關(guān)聯(lián)關(guān)系,通過問題規(guī)模建立了一種故障快速定位的分析方法,由上而下、逐層排查故障原因,縮小了故障的處理范圍,提高了問題分析的時(shí)效性,有效解決了高性能計(jì)算系統(tǒng)中故障定位難度高且準(zhǔn)確性差的問題.本文方法有助于運(yùn)行管理人員根據(jù)故障的嚴(yán)重等級(jí),優(yōu)先處理影響范圍大、緊急度高的故障,縮短了故障的響應(yīng)時(shí)間,有效解決了大規(guī)模作業(yè)運(yùn)行過程中故障快速定位的問題.基于近年來(lái)神威藍(lán)光超級(jí)計(jì)算機(jī)的運(yùn)行管理經(jīng)驗(yàn),針對(duì)主要故障進(jìn)行了分析,積累了部分知識(shí)庫(kù),后續(xù)還需繼續(xù)完善知識(shí)庫(kù),并采用概率統(tǒng)計(jì)分析等手段進(jìn)行故障因素優(yōu)化的排查順序和異常事件發(fā)生概率的預(yù)測(cè).