圖。
【具體實(shí)施方式】
[0045]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述。顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046]本發(fā)明一個實(shí)施例提出了一種實(shí)現(xiàn)clump熱插拔的系統(tǒng),參見圖1,多路服務(wù)器是由多個計算節(jié)點(diǎn)組成,每一個計算節(jié)點(diǎn)稱為一個clump,該系統(tǒng)包括:
[0047]至少兩個clump,所有clump通過總線互連,所有clump中包括主clumplOl和從clump 102 ;
[0048]系統(tǒng)管理控制器(SMC) 103,與所有clump相連,獲取每一個clump的設(shè)備信息,當(dāng)確定其中第一 clumpl02故障需要退出系統(tǒng)后,以中斷形式向主clump 101發(fā)送第一 clump熱移除指令;
[0049]主clump 101,接收到第一 clump熱移除指令后,進(jìn)行退出第一 clumpl02的終止處理。
[0050]具體地,在本發(fā)明系統(tǒng)的一個實(shí)施例中,可以由配置在主clump中的操作系統(tǒng)
(OS),配置在每一個clump中的基本輸入輸出系統(tǒng)(Basic Input Output System,B1S),每一個clump的硬件以及SMC配合,完成多路服務(wù)器中clump的熱插拔?;诖说膶?shí)現(xiàn)方式可以實(shí)現(xiàn)多節(jié)點(diǎn)系統(tǒng)故障的判斷、資源的在線重新分配、硬件信號的控制等,具體可以包括:
[0051]主clump中配置有操作系統(tǒng)OS,所述主clump和所有從clump中均配置有基本輸入輸出系統(tǒng)B1S ;
[0052]所述OS,提供熱插拔服務(wù)、熱備份服務(wù)、提供第一 clump熱插拔驅(qū)動的支持,將故障信息發(fā)送給B1S ;
[0053]所述B1S,進(jìn)行熱插拔中斷處理、資源分配、寄存器控制和信號控制,并與SMC進(jìn)行故障信息交互和硬件信號控制;
[0054]每一個clump中的硬件,與B1S和SMC進(jìn)行交互,負(fù)責(zé)總線控制、熱插拔信號觸發(fā)、電源控制和熱插拔狀態(tài)指示;
[0055]所述SMC,負(fù)責(zé)故障信息收集,與B1S配合進(jìn)行硬件信號控制。
[0056]可見,本發(fā)明實(shí)施例提供的實(shí)現(xiàn)clump整體熱插拔的系統(tǒng),能夠?qū)⑺衏lump通過總線互連,并分為主clump和從clump ;由SMC負(fù)責(zé)確定故障的clump,由主clump進(jìn)行退出clump的終止處理。具體地,是由配置在主clump中的OS,配置在每一個clump中的B1S,每一個clump的硬件以及SMC配合,完成多路服務(wù)器中clump的熱插拔。整個過程無需關(guān)閉整個多路服務(wù)器的計算機(jī)系統(tǒng),實(shí)現(xiàn)了熱插拔,大大減少了關(guān)機(jī)時間,不會影響整個系統(tǒng)的運(yùn)行。這樣,諸如銀行、電信等行業(yè)的關(guān)鍵應(yīng)用對服務(wù)器的可靠性要求越來越高,本發(fā)明實(shí)施例的系統(tǒng)則可以滿足該要求。
[0057]在本發(fā)明系統(tǒng)的一個實(shí)施例中,SMC可以從主clump和從clump兩個方向同時收集設(shè)備信息,以便更為全面準(zhǔn)確地判斷故障的clump,具體的實(shí)現(xiàn)可以包括:
[0058]所述SMC,進(jìn)一步與主clump中的B1S和所有從clump中的B1S相連;通過接收各個B1S發(fā)來的故障信息,獲取每一個clump的設(shè)備信息;
[0059]主clump中的B1S,用于負(fù)責(zé)收集主clump的OS報告的故障信息、主clump內(nèi)部的硬件故障信息、系統(tǒng)1狀態(tài)故障信息中的一個或多個,并發(fā)送給所述SMC ;
[0060]從clump中的B1S,用于負(fù)責(zé)收集所在clump內(nèi)部硬件故障信息,并發(fā)送給所述SMC0
[0061]可將該實(shí)施例提供了完整清楚的故障信息收集和上報方案,具體是由每個clump中的B1S負(fù)責(zé)收集和上報故障信息,并明確了主clump中的B1S負(fù)責(zé)收集的信息類型和從clump中的B1S負(fù)責(zé)收集的信息類型。
[0062]基于上述實(shí)施例,本發(fā)明系統(tǒng)的一個實(shí)施例中,B1S與SMC配合進(jìn)行故障信息收集的方式可以如圖2所示。
[0063]在本發(fā)明系統(tǒng)的一個實(shí)施例中,一種實(shí)現(xiàn)所有clump中的故障從clump進(jìn)行熱拔出的具體實(shí)現(xiàn)包括:
[0064]所述主clump中配置有操作系統(tǒng)OS,所述主clump和所有從clump中均配置有基本輸入輸出系統(tǒng)B1S ;
[0065]所述SMC,用于以中斷形式將第一 clump熱移除指令發(fā)送給所述主clump中的B1S ;及進(jìn)一步用于控制第一 clump的復(fù)位信號,使其處于復(fù)位狀態(tài),并控制狀態(tài)指示燈指示系統(tǒng)正在處于熱拔狀態(tài),及控制第一 clump關(guān)閉電源;
[0066]所述主clump中的B1S,進(jìn)一步用于處理所述中斷,并上報給OS ;并進(jìn)一步對除第一 clump之外的所有clump進(jìn)行重新分配處理器路由、內(nèi)存地址、1資源和芯片組寄存器控制;及在接收到熱移除指令后,與所述SMC配合控制硬件信號、進(jìn)行互連總線的開關(guān)、時序信號的觸發(fā)、電源控制及狀態(tài)指示;
[0067]所述主clump中的OS,進(jìn)一步用于提供clump熱插拔驅(qū)動的支持,將第一 clump所負(fù)責(zé)的任務(wù)進(jìn)行迀移或終止,并卸載驅(qū)動,釋放相應(yīng)資源;
[0068]所述第一 clump中的B1S,進(jìn)一步用于通過寄存器控制斷開與其他clump之間的總線互連。
[0069]在本發(fā)明系統(tǒng)一個實(shí)施例中,一種實(shí)現(xiàn)所有clump中的故障從clump維修之后,重新熱插入多路服務(wù)器的計算機(jī)系統(tǒng)中的具體實(shí)現(xiàn)包括:
[0070]所述SMC,進(jìn)一步用于開啟新插入的第一 clump的電源系統(tǒng);及進(jìn)一步通知主clump的B1S對新插入的第一 clump進(jìn)行鏈路檢測和訓(xùn)練,重新分配處理器路由關(guān)系和內(nèi)存地址,并將資源交由OS接管,
[0071]所述主clump中的OS,進(jìn)一步用于重新加載驅(qū)動,對任務(wù)進(jìn)行迀回或開始新的任務(wù),完成所述第一 clump熱添加工作;
[0072]新插入的第一 clump,通過內(nèi)部的上電時序完成信號上電和復(fù)位。
[0073]在本發(fā)明系統(tǒng)的一個實(shí)施例中,實(shí)現(xiàn)熱插拔的組件工作組成可以如圖3所示。
[0074]本發(fā)明的一個實(shí)施例提出了一種實(shí)現(xiàn)clump熱插拔的方法,參見圖4,包括:
[0075]步驟401:將至少兩個clump通過總線互連。
[0076]步驟402:確定主clump和從clump。
[0077]步驟403:將SMC與所有clump相連。
[0078]步驟404:SMC獲取每一個clump的設(shè)備信息。
[0079]步驟405:SMC確定其中第一 clump故障需要退出系統(tǒng),以中斷形式向主clump發(fā)送第一 clump熱移除指令。
[0080]步驟406:主clump接收到第一 clump熱移除指令后,進(jìn)行退出第一 clump的終止處理。
[0081]參見圖5,在本發(fā)明方法的另一個實(shí)施例中,可以通過0S、B10S、硬件和SMC之間的配合,實(shí)現(xiàn)從clump的熱插拔,具體可以包括:
[0082]步驟501:將至少兩個clump通過總線互連。
[0083]步驟502:確定主clump和從clump。
[0084]步驟503:在主clump中配置OS,在主clump和所有從clump中均配置B1S。
[0085]步驟504:將SMC與所有clump中的B1S相連。
[0086]步驟505:主clump中的B1S收集主clump的OS報告的故障信息、主clump內(nèi)部的硬件故障信息、系統(tǒng)1狀態(tài)故障信息中的一個或多個,并發(fā)送給所述SMC。
[0087]步驟506:從clump中的B1S收集所在clump內(nèi)部硬件故障信息,并發(fā)送給所述SMC0
[0088]步驟507:SMC接收B1S發(fā)來的信息,獲取每一個clump的設(shè)備信息。
[0089]步驟508:SMC根據(jù)獲取的每一個clump的設(shè)備信息,在判斷出其中有發(fā)生故障需要退出系統(tǒng)的從clump記為c lump I時,執(zhí)行步驟509。
[0090]步驟509:SMC以中斷形式將clumpl熱移除指令發(fā)送給主clump中的B1S。
[0091]步驟510:主clump中的B1S處理所述中斷,并上報給主clump中的OS。
[0092]步驟511:主clump中的B1S對除clumpl之外的所有clump進(jìn)行重新分配處理器路由、內(nèi)存地址、1資源和芯片組寄存器控制;與SMC配合控制硬件信號、進(jìn)行互連總線的開關(guān)、時序信號的觸發(fā)、電源控制及狀態(tài)指示。
[0093]步驟512:主clump中的OS提供clump熱插拔驅(qū)動的支持,將clumpl所負(fù)責(zé)的任務(wù)進(jìn)行迀移或終止,并卸載驅(qū)動,釋放相應(yīng)資源。