本技術(shù)涉及計算機(jī),尤其涉及一種鏈路故障定位方法、系統(tǒng)、基板管理控制器、計算設(shè)備集群、計算機(jī)可讀存儲介質(zhì)以及計算機(jī)程序產(chǎn)品。
背景技術(shù):
1、隨著計算機(jī)技術(shù)的不斷發(fā)展,產(chǎn)生了多樣化的計算系統(tǒng),例如產(chǎn)生各種類型的終端、服務(wù)器或者是計算設(shè)備集群。計算系統(tǒng)中通常包括多類型的硬件通路,包括但不限于內(nèi)存條到中央處理單元(central?processing?unit,cpu)的通路、高速外圍組件互聯(lián)總線(peripheral?component?interconnect?express,pcie)外設(shè)到cpu的通路、集成電路總線(inter-integrated?circuit,i2c)外設(shè)到cpu的通路、串行連接scsi接口(serialattached?scsi,sas)sas/串行ata(serial?ata,serial?advanced?technologyattachment)硬盤到cpu的通路、同一計算設(shè)備的不同cpu之間的通路、不同計算設(shè)備的cpu之間的通路。上述硬件通路可以統(tǒng)稱為鏈路,發(fā)生在上述鏈路中的故障可以稱作鏈路故障。
2、計算系統(tǒng)的硬件規(guī)模越來越龐大、線纜越來越復(fù)雜,鏈路故障率越來越高。當(dāng)鏈路故障發(fā)生后,如果不能快速找到故障源,并進(jìn)行主動運(yùn)維、及時修復(fù),相關(guān)業(yè)務(wù)就難以快速恢復(fù),如此可以造成業(yè)務(wù)中斷甚至癱瘓,甚至?xí)M(jìn)一步故障擴(kuò)散進(jìn)而導(dǎo)致整個系統(tǒng)宕機(jī)。如何在計算系統(tǒng)發(fā)生鏈路故障時,進(jìn)行高效、高精度的故障定位成為運(yùn)維人員重點(diǎn)關(guān)注的問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種鏈路故障定位方法,該方法利用標(biāo)注有故障fru的故障特征序列構(gòu)建的鏈路故障定位模型或鏈路故障定位規(guī)則庫,推理出當(dāng)前故障的故障特征序列對應(yīng)的fru,實(shí)現(xiàn)fru級別的鏈路故障定位,提高了定位準(zhǔn)確率。而且,該方法不局限于特定類型的鏈路故障的定位,能夠?qū)崿F(xiàn)通用的鏈路故障定位,提高了鏈路故障定位的覆蓋率。本技術(shù)還提供了上述方法對應(yīng)的系統(tǒng)、計算設(shè)備集群、計算機(jī)可讀存儲介質(zhì)以及計算機(jī)程序產(chǎn)品。
2、第一方面,本技術(shù)提供一種鏈路故障定位方法。該方法可以由鏈路故障定位系統(tǒng)執(zhí)行。鏈路故障定位系統(tǒng)可以是軟件系統(tǒng),該軟件系統(tǒng)可以采用線上部署(也稱作在線部署)模式,或者是線下部署(也稱作離線部署)模式。當(dāng)軟件系統(tǒng)采用線上部署模式時,該軟件系統(tǒng)可以部署在計算系統(tǒng),例如是部署在計算系統(tǒng)的基板管理控制器(也稱作帶外管理系統(tǒng))。當(dāng)軟件系統(tǒng)采用線下部署模式時,該軟件系統(tǒng)可以以離線工具部署在第三方的計算設(shè)備集群,例如是公有云、邊緣計算設(shè)備、端側(cè)計算設(shè)備。鏈路故障定位系統(tǒng)也可以是硬件系統(tǒng),例如是計算系統(tǒng)中的基板管理控制器或者是計算設(shè)備集群?;骞芾砜刂破?、計算設(shè)備集群等硬件系統(tǒng)運(yùn)行時,可以執(zhí)行本技術(shù)的鏈路故障定位方法。
3、具體地,鏈路故障定位系統(tǒng)可以獲取待檢測的計算系統(tǒng)中硬件系統(tǒng)的故障日志,故障日志記錄硬件系統(tǒng)的故障監(jiān)測參數(shù)的歷史數(shù)據(jù)、異常事件和硬件系統(tǒng)中現(xiàn)場可替換單元fru的更換記錄,以及獲取硬件系統(tǒng)的故障監(jiān)測參數(shù)的當(dāng)前數(shù)據(jù)。然后鏈路故障定位系統(tǒng)可以根據(jù)故障日志和硬件系統(tǒng)的故障監(jiān)測參數(shù)的當(dāng)前數(shù)據(jù)提取所述硬件系統(tǒng)的故障特征序列。接著鏈路故障定位系統(tǒng)可以根據(jù)硬件系統(tǒng)的故障特征序列預(yù)測fru粒度的故障位置。其中,fru粒度的故障位置是結(jié)合基于標(biāo)注數(shù)據(jù)的訓(xùn)練結(jié)果預(yù)測得到,該標(biāo)注數(shù)據(jù)標(biāo)注有故障fru。
4、在一些可能的實(shí)現(xiàn)方式中,訓(xùn)練結(jié)果包括鏈路故障定位模型。相應(yīng)地,鏈路故障定位系統(tǒng)可以將硬件系統(tǒng)的故障特征序列輸入鏈路故障定位模型,獲得硬件系統(tǒng)中fru的故障概率,然后根據(jù)硬件系統(tǒng)中fru的故障概率,確定fru粒度的故障位置。
5、其中,鏈路故障定位模型能夠?qū)收咸卣餍蛄械碾[層特征進(jìn)行挖掘,并將隱層特征映射到不同fru類別,從而獲得硬件系統(tǒng)中fru的故障概率,由該故障概率可以較為精準(zhǔn)地預(yù)測fru粒度的故障位置,具有較高可靠性。
6、在一些可能的實(shí)現(xiàn)方式中,當(dāng)存在fru的故障概率大于設(shè)定閾值,鏈路故障定位系統(tǒng)可以確定故障位置包括所述故障概率大于所述設(shè)定閾值的fru。當(dāng)硬件系統(tǒng)中fru的故障概率均不大于設(shè)定閾值,鏈路故障定位系統(tǒng)可以確定故障位置為故障概率由高至低排序前n中的fru中的一個或多個。
7、該方法支持對于能夠精準(zhǔn)定位出故障源(例如故障概率大于設(shè)定閾值)的鏈路故障,可以直接輸出fru粒度的故障位置,進(jìn)而實(shí)現(xiàn)精準(zhǔn)告警;對于難以精準(zhǔn)定位出故障源的鏈路故障,可以進(jìn)行top?n風(fēng)險部件推薦,以滿足故障定位需求。進(jìn)一步地,該方法還支持生成鏈路故障分析報告供運(yùn)維人員查閱。
8、在一些可能的實(shí)現(xiàn)方式中,鏈路故障定位模型通過如下方式構(gòu)建:獲取訓(xùn)練數(shù)據(jù),訓(xùn)練數(shù)據(jù)包括生產(chǎn)環(huán)境部署的計算系統(tǒng)中硬件系統(tǒng)的故障日志,從訓(xùn)練數(shù)據(jù)提取故障特征序列,并針對故障特征序列標(biāo)注故障fru,獲得標(biāo)注數(shù)據(jù),根據(jù)標(biāo)注數(shù)據(jù)訓(xùn)練分類器,獲得鏈路故障定位模型。
9、該方法支持從標(biāo)注數(shù)據(jù)中通過監(jiān)督學(xué)習(xí)等方式學(xué)習(xí)分類模式,將其應(yīng)用于故障源分類,可以實(shí)現(xiàn)fru粒度的故障定位,滿足精細(xì)化的故障定位需求。
10、在一些可能的實(shí)現(xiàn)方式中,訓(xùn)練結(jié)果包括鏈路故障定位規(guī)則庫。鏈路故障定位規(guī)則庫包括至少一條鏈路故障定位規(guī)則。相應(yīng)地,鏈路故障定位系統(tǒng)可以將硬件系統(tǒng)的故障特征序列與至少一條鏈路故障定位規(guī)則進(jìn)行匹配。當(dāng)硬件系統(tǒng)的故障特征序列與至少一條鏈路故障定位規(guī)則中的目標(biāo)規(guī)則匹配成功,鏈路故障定位系統(tǒng)可以從目標(biāo)規(guī)則中確定fru粒度的故障位置。
11、該方法支持將故障特征序列直接與故障定位規(guī)則庫中的故障定位規(guī)則進(jìn)行匹配,從而實(shí)現(xiàn)高效地、fru級別的故障定位,滿足精準(zhǔn)度和效率的需求。
12、在一些可能的實(shí)現(xiàn)方式中,訓(xùn)練結(jié)果包括鏈路故障定位模型和鏈路故障定位規(guī)則庫。鏈路故障定位規(guī)則庫包括至少一條鏈路故障定位規(guī)則。相應(yīng)地,鏈路故障定位系統(tǒng)可以將硬件系統(tǒng)的故障特征序列與至少一條鏈路故障定位規(guī)則進(jìn)行匹配。當(dāng)匹配失敗,鏈路故障定位系統(tǒng)將硬件系統(tǒng)的故障特征序列的故障特征序列輸入鏈路故障定位模型,獲得fru粒度的故障位置。
13、該方法支持基于鏈路故障定位規(guī)則和鏈路故障定位模型協(xié)同完成fru粒度的鏈路故障定位,進(jìn)而實(shí)現(xiàn)故障定位的準(zhǔn)確度和效率的均衡。
14、在一些可能的實(shí)現(xiàn)方式中,鏈路故障定位系統(tǒng)還可以根據(jù)硬件系統(tǒng)的組網(wǎng)信息生成硬件系統(tǒng)的鏈路拓?fù)?,該鏈路拓?fù)溆涗浻布到y(tǒng)中鏈路的鏈路類型以及至少一種鏈路類型的鏈路包括的fru。相應(yīng)地,鏈路故障定位系統(tǒng)可以根據(jù)硬件系統(tǒng)的故障特征序列以及硬件系統(tǒng)的鏈路拓?fù)漕A(yù)測fru粒度的故障位置。
15、該方法通過增加鏈路拓?fù)涞南闰?yàn)信息,可以減少故障鏈路定位的匹配范圍或搜索范圍,提高鏈路故障定位的效率以及準(zhǔn)確度。
16、在一些可能的實(shí)現(xiàn)方式中,故障監(jiān)測參數(shù)包括溫度、電流、電壓或在位狀態(tài)、插穩(wěn)狀態(tài)中的一種或多種,異常事件包括邊帶檢測異常、點(diǎn)燈異常、可靠性可用性可服務(wù)性ras異常中的一種或多種,ras異常包括芯片、控制器、總線或輸入輸出io外設(shè)運(yùn)行過程中的數(shù)據(jù)訪問異常。
17、該方法通過采集溫度、電流、電壓或在位狀態(tài)、插穩(wěn)狀態(tài)等參數(shù),以及邊帶檢測異常、點(diǎn)燈異常、ras異常等事件,作為定位輸入,易于獲取,不增加維護(hù)人員操作。
18、在一些可能的實(shí)現(xiàn)方式中,鏈路故障定位系統(tǒng)可以從所述故障日志中提取所述異常事件的發(fā)生次數(shù)、發(fā)生時間、事件主體或者事件所在鏈路中的一種或多種,根據(jù)所述異常事件的發(fā)生次數(shù)、發(fā)生時間、事件主體或者事件所在鏈路中的一種或多種以及所述故障監(jiān)測參數(shù)的歷史數(shù)據(jù)、當(dāng)前數(shù)據(jù)構(gòu)造所述硬件系統(tǒng)的故障特征序列。
19、該方法通過提取發(fā)生次數(shù)、發(fā)生時間、事件主體或者事件所在鏈路等構(gòu)造結(jié)構(gòu)化的故障特征序列,有利于后續(xù)的模型推理或規(guī)則匹配,為fru粒度的故障定位提供幫助。
20、第二方面,本技術(shù)提供一種鏈路故障定位系統(tǒng)。所述系統(tǒng)包括:
21、參數(shù)及日志采集模塊,用于獲取待檢測的計算系統(tǒng)中硬件系統(tǒng)的故障日志,所述故障日志記錄所述硬件系統(tǒng)的故障監(jiān)測參數(shù)的歷史數(shù)據(jù)、異常事件和所述硬件系統(tǒng)中現(xiàn)場可替換單元fru的更換記錄,以及獲取所述硬件系統(tǒng)的故障監(jiān)測參數(shù)的當(dāng)前數(shù)據(jù);
22、預(yù)處理模塊,用于根據(jù)所述故障日志和所述硬件系統(tǒng)的故障監(jiān)測參數(shù)的當(dāng)前數(shù)據(jù)提取所述硬件系統(tǒng)的故障特征序列;
23、鏈路故障定位模塊,用于根據(jù)所述硬件系統(tǒng)的故障特征序列預(yù)測fru粒度的故障位置,其中,所述fru粒度的故障位置是結(jié)合基于標(biāo)注數(shù)據(jù)的訓(xùn)練結(jié)果預(yù)測得到,所述標(biāo)注數(shù)據(jù)標(biāo)注有故障fru。
24、在一些可能的實(shí)現(xiàn)方式中,所述訓(xùn)練結(jié)果包括鏈路故障定位模型;
25、所述鏈路故障定位模塊具體用于:
26、將所述硬件系統(tǒng)的故障特征序列輸入所述鏈路故障定位模型,獲得所述硬件系統(tǒng)中fru的故障概率;
27、根據(jù)所述硬件系統(tǒng)中fru的故障概率,確定fru粒度的故障位置。
28、在一些可能的實(shí)現(xiàn)方式中,所述鏈路故障定位模塊具體用于:
29、當(dāng)存在fru的故障概率大于設(shè)定閾值,確定所述故障位置包括所述故障概率大于所述設(shè)定閾值的fru,當(dāng)硬件系統(tǒng)中fru的故障概率均不大于所述設(shè)定閾值,確定所述故障位置為所述故障概率由高至低排序前n中的fru中的一個或多個。
30、在一些可能的實(shí)現(xiàn)方式中,所述鏈路故障定位系統(tǒng)還包括:
31、構(gòu)建模塊,用于獲取訓(xùn)練數(shù)據(jù),所述訓(xùn)練數(shù)據(jù)包括生產(chǎn)環(huán)境部署的計算系統(tǒng)中硬件系統(tǒng)的故障日志,從所述訓(xùn)練數(shù)據(jù)提取故障特征序列,并針對所述故障特征序列標(biāo)注故障fru,獲得所述標(biāo)注數(shù)據(jù),根據(jù)所述標(biāo)注數(shù)據(jù)訓(xùn)練分類器,獲得所述鏈路故障定位模型。
32、在一些可能的實(shí)現(xiàn)方式中,所述訓(xùn)練結(jié)果包括鏈路故障定位規(guī)則庫,所述鏈路故障定位規(guī)則庫包括至少一條鏈路故障定位規(guī)則;
33、所述鏈路故障定位模塊具體用于:
34、將所述硬件系統(tǒng)的故障特征序列與所述至少一條鏈路故障定位規(guī)則進(jìn)行匹配;
35、當(dāng)所述硬件系統(tǒng)的故障特征序列與所述至少一條鏈路故障定位規(guī)則中的目標(biāo)規(guī)則匹配成功,從所述目標(biāo)規(guī)則中確定fru粒度的故障位置。
36、在一些可能的實(shí)現(xiàn)方式中,所述訓(xùn)練結(jié)果包括鏈路故障定位模型和鏈路故障定位規(guī)則庫,所述鏈路故障定位規(guī)則庫包括至少一條鏈路故障定位規(guī)則;
37、所述鏈路故障定位模塊具體用于:
38、將所述硬件系統(tǒng)的故障特征序列與所述至少一條鏈路故障定位規(guī)則進(jìn)行匹配;
39、當(dāng)匹配失敗,將所述硬件系統(tǒng)的故障特征序列的故障特征序列輸入所述鏈路故障定位模型,獲得fru粒度的故障位置。
40、在一些可能的實(shí)現(xiàn)方式中,所述預(yù)處理模塊還用于:
41、根據(jù)所述硬件系統(tǒng)的組網(wǎng)信息生成所述硬件系統(tǒng)的鏈路拓?fù)洌鲦溌吠負(fù)溆涗浰鲇布到y(tǒng)中鏈路的鏈路類型以及至少一種鏈路類型的鏈路包括的fru;
42、所述鏈路故障定位模塊具體用于:
43、根據(jù)所述硬件系統(tǒng)的故障特征序列以及所述硬件系統(tǒng)的鏈路拓?fù)漕A(yù)測fru粒度的故障位置。
44、在一些可能的實(shí)現(xiàn)方式中,所述故障監(jiān)測參數(shù)包括溫度、電流、電壓或在位狀態(tài)、插穩(wěn)狀態(tài)中的一種或多種,所述異常事件包括邊帶檢測異常、點(diǎn)燈異常、可靠性可用性可服務(wù)性ras異常中的一種或多種,所述ras異常包括芯片、控制器、總線或輸入輸出io外設(shè)運(yùn)行過程中的數(shù)據(jù)訪問異常。
45、在一些可能的實(shí)現(xiàn)方式中,所述預(yù)處理模塊具體用于:
46、從所述故障日志中提取所述異常事件的發(fā)生次數(shù)、發(fā)生時間、事件主體或者事件所在鏈路中的一種或多種;
47、根據(jù)所述異常事件的發(fā)生次數(shù)、發(fā)生時間、事件主體或者事件所在鏈路中的一種或多種以及所述故障監(jiān)測參數(shù)的歷史數(shù)據(jù)、當(dāng)前數(shù)據(jù)構(gòu)造所述硬件系統(tǒng)的故障特征序列。
48、第三方面,本技術(shù)提供一種基板管理控制器。所述基板管理控制器包括處理器和存儲器,所述存儲器中存儲有計算機(jī)可讀指令;所述處理器執(zhí)行所述計算機(jī)可讀指令,以使得所述基板管理控制器執(zhí)行如第一方面或第一方面的任一種實(shí)現(xiàn)方式所述的鏈路故障定位方法。
49、第四方面,本技術(shù)提供一種計算設(shè)備集群。所述計算設(shè)備集群包括至少一臺計算設(shè)備,所述至少一臺計算設(shè)備包括至少一個處理器和至少一個存儲器。所述至少一個處理器、所述至少一個存儲器進(jìn)行相互的通信。所述至少一個處理器用于執(zhí)行所述至少一個存儲器中存儲的指令,以使得計算設(shè)備或計算設(shè)備集群執(zhí)行如第一方面或第一方面的任一種實(shí)現(xiàn)方式所述的鏈路故障定位方法。
50、第五方面,本技術(shù)提供一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)中存儲有指令,所述指令指示計算設(shè)備或計算設(shè)備集群執(zhí)行上述第一方面或第一方面的任一種實(shí)現(xiàn)方式所述的鏈路故障定位方法。
51、第六方面,本技術(shù)提供了一種包含指令的計算機(jī)程序產(chǎn)品,當(dāng)其在計算設(shè)備或計算設(shè)備集群上運(yùn)行時,使得計算設(shè)備或計算設(shè)備集群執(zhí)行上述第一方面或第一方面的任一種實(shí)現(xiàn)方式所述的鏈路故障定位方法。
52、本技術(shù)在上述各方面提供的實(shí)現(xiàn)方式的基礎(chǔ)上,還可以進(jìn)行進(jìn)一步組合以提供更多實(shí)現(xiàn)方式。