服務(wù)器,并由臨時(shí)托管服務(wù)器的BMC模塊與本地 服務(wù)器的支撐系統(tǒng)建立托管通道,以使臨時(shí)托管服務(wù)器通過該托管通道臨時(shí)管理本地服務(wù) 器BMC模塊的多項(xiàng)服務(wù),其中,可以被托管服務(wù)器臨時(shí)托管的多項(xiàng)服務(wù)可以是數(shù)據(jù)讀取等 服務(wù),例如:溫度數(shù)據(jù)的獲取、風(fēng)扇轉(zhuǎn)速數(shù)據(jù)獲取、拓?fù)鋽?shù)據(jù)的獲取等。
[0064] 在本地服務(wù)器的服務(wù)被健康服務(wù)器進(jìn)行托管期間,本地服務(wù)器即可從健康服務(wù)器 上下載穩(wěn)定版本固件,或者,也可以從網(wǎng)絡(luò)中預(yù)存的某個(gè)存儲(chǔ)地址下載該穩(wěn)定版本固件,然 后將下載的穩(wěn)定版本固件保存至ROM(存儲(chǔ)器)的備份分區(qū)中。
[0065] 在穩(wěn)定版本固件下載完成后,將服務(wù)器系統(tǒng)的引導(dǎo)地址進(jìn)行切換,即:將ROM中保 存原有固件版本的主分區(qū)切換為新的備份分區(qū),將保存了穩(wěn)定版本固件的備份分區(qū)切換為 新的主分區(qū),并根據(jù)新的主分區(qū)中的穩(wěn)定版本固件啟動(dòng)BMC模塊,以對(duì)BMC模塊進(jìn)行更新。
[0066] 這樣一來,由于出現(xiàn)異常的BMC模塊運(yùn)行的多項(xiàng)服務(wù)被健康服務(wù)器進(jìn)行了臨時(shí)托 管,避免了在對(duì)本地服務(wù)器BMC模塊更新期間,BMC模塊服務(wù)停止運(yùn)行的情況,進(jìn)而有效提 升了服務(wù)器的可靠性。另外,在人為的對(duì)服務(wù)器的BMC模塊進(jìn)行更新,并需要保證服務(wù)不中 斷時(shí),也可以參照上述在出現(xiàn)異常的BMC模塊為BMC模塊運(yùn)行的多個(gè)服務(wù)出現(xiàn)異常的處理 流程對(duì)服務(wù)器的BMC模塊進(jìn)行更新,在此不再贅述。
[0067] 進(jìn)一步地,在所述BMC模塊運(yùn)行過程中,或者由健康服務(wù)器托管本地服務(wù)器的多 項(xiàng)服務(wù)期間,若當(dāng)前產(chǎn)生的日志信息存儲(chǔ)量達(dá)到預(yù)設(shè)上限,或者,在到達(dá)預(yù)設(shè)的日志備份時(shí) 間時(shí),可以將本地服務(wù)器保存的日志信息保存至健康服務(wù)器,此時(shí),本地服務(wù)器上保存的日 志信息還可以根據(jù)實(shí)際需要選擇保存或刪除,以保證BMC模塊日志信息的可靠性,或者節(jié) 省本地服務(wù)器的存儲(chǔ)空間。
[0068] 進(jìn)一步地,若根據(jù)穩(wěn)定版本固件對(duì)本地服務(wù)器的BMC模塊更新失敗,可以關(guān)閉所 述本地服務(wù)器的BMC模塊,并由預(yù)先設(shè)置的備份服務(wù)器作為健康服務(wù)器管理本地服務(wù)器 BMC模塊的多項(xiàng)服務(wù)。
[0069] 具體地,在根據(jù)穩(wěn)定版本固件對(duì)本地服務(wù)器的BMC模塊進(jìn)行更新并失敗后,說明 該服務(wù)器可能存在故障,那么由健康服務(wù)器的BMC模塊控制故障服務(wù)器關(guān)閉故障服務(wù)器的 BMC模塊,并通過支撐系統(tǒng)建立的托管通道長期托管故障服務(wù)器BMC模塊的多項(xiàng)服務(wù),以保 證BMC模塊的服務(wù)不中斷。
[0070] 或者,由健康服務(wù)器的BMC模塊控制關(guān)閉出現(xiàn)故障的服務(wù)器,啟動(dòng)預(yù)先為該故障 服務(wù)器設(shè)置的備份服務(wù)器,并由該備份服務(wù)器來管理故障服務(wù)器BMC模塊的多項(xiàng)服務(wù),以 保證BMC模塊的服務(wù)不中斷。
[0071] 本發(fā)明實(shí)施例提供的BMC模塊更新方法,在BMC模塊運(yùn)行的其中一個(gè)服務(wù)出現(xiàn)異 常時(shí),根據(jù)從健康服務(wù)器獲取的服務(wù)文件更新出現(xiàn)異常的服務(wù),仍可以保證在重啟BMC模 塊時(shí),BMC模塊出現(xiàn)異常的服務(wù)可以繼續(xù)運(yùn)行,即使是BMC模塊運(yùn)行的多個(gè)服務(wù)出現(xiàn)異常, 通過健康服務(wù)器對(duì)異常BMC模塊服務(wù)的臨時(shí)托管,也可以保證在重啟BMC模塊時(shí),BMC模塊 出現(xiàn)異常的服務(wù)可以繼續(xù)運(yùn)行。與現(xiàn)有技術(shù)中在對(duì)BMC模塊進(jìn)行更新時(shí)需停止服務(wù)運(yùn)行相 比,本發(fā)明可大幅縮短了 BMC模塊更新期間運(yùn)行服務(wù)的中斷時(shí)間,有效提升了服務(wù)器的可 靠性。
[0072] 本發(fā)明還提供一種BMC模塊更新裝置,圖3為該BMC模塊更新裝置的結(jié)構(gòu)示意圖, 該裝置可以應(yīng)用于具有BMC模塊的本地服務(wù)器,該BMC模塊更新裝置可以包括確定單元 301、獲取單元302以及更新單元303,其中:
[0073] 確定單元301,用于在所述BMC模塊出現(xiàn)異常時(shí),在預(yù)設(shè)的版本信息庫中確定出具 有穩(wěn)定版本固件的健康服務(wù)器;
[0074] 獲取單元302,用于在出現(xiàn)異常的BMC模塊為BMC模塊運(yùn)行的其中一個(gè)服務(wù)出現(xiàn)異 常時(shí),獲取所述健康服務(wù)器上與所述其中一個(gè)服務(wù)對(duì)應(yīng)的服務(wù)文件,并根據(jù)所述服務(wù)文件 啟動(dòng)所述服務(wù);
[0075] 更新單元303,用于從所述健康服務(wù)器上,或者從預(yù)存的存儲(chǔ)地址獲取所述穩(wěn)定版 本固件,并根據(jù)所述穩(wěn)定版本固件對(duì)所述本地服務(wù)器的BMC模塊進(jìn)行更新。
[0076] 進(jìn)一步地,所述裝置還包括管理單元304,用于在確定所述BMC模塊出現(xiàn)異常時(shí), 若判斷出現(xiàn)異常的BMC模塊為BMC模塊運(yùn)行的多個(gè)服務(wù)出現(xiàn)異常,在預(yù)設(shè)的版本信息庫中 確定出具有穩(wěn)定版本固件的健康服務(wù)器后,由所述健康服務(wù)器管理所述本地服務(wù)器BMC模 塊的多項(xiàng)服務(wù);所述更新單元303還用于從所述健康服務(wù)器上、或者從預(yù)存的存儲(chǔ)地址獲 取穩(wěn)定版本固件,并根據(jù)所述穩(wěn)定版本固件對(duì)所述本地服務(wù)器的BMC模塊進(jìn)行更新。
[0077] 進(jìn)一步地,所述獲取單元302還用于接收到局域網(wǎng)中的其他服務(wù)器啟動(dòng)時(shí)發(fā)送的 廣播報(bào)文后,獲取所述廣播報(bào)文中攜帶的所述其他服務(wù)器的BMC模塊版本信息以及標(biāo)識(shí)信 息;所述預(yù)設(shè)的版本信息庫包括所述廣播報(bào)文中攜帶的BMC模塊版本信息以及標(biāo)識(shí)信息的 對(duì)應(yīng)關(guān)系。
[0078] 進(jìn)一步地,所述確定單元301具體用于在所述預(yù)設(shè)的版本信息庫中查找BMC模塊 版本信息中低于本地服務(wù)器運(yùn)行的固件版本的服務(wù)器,將與低于本地服務(wù)器運(yùn)行的固件版 本的服務(wù)器對(duì)應(yīng)的BMC模塊版本信息作為穩(wěn)定版本固件;獲取具有穩(wěn)定版本固件的服務(wù)器 的健康狀態(tài)信息;對(duì)所述健康狀態(tài)信息進(jìn)行評(píng)估后得到評(píng)估結(jié)果,根據(jù)所述評(píng)估結(jié)果確定 所述具有穩(wěn)定版本固件的服務(wù)器為健康服務(wù)器。
[0079] 進(jìn)一步地,所述更新單元303具體用于將從所述健康服務(wù)器上獲取的穩(wěn)定版本固 件保存至存儲(chǔ)器的備份分區(qū);將所述備份分區(qū)切換為新的主分區(qū),并根據(jù)所述新的主分區(qū) 中的穩(wěn)定版本固件對(duì)所述BMC模塊進(jìn)行更新。
[0080] 進(jìn)一步地,所述裝置還包括保存單元305,用于在判斷運(yùn)行的服務(wù)所產(chǎn)生的日志信 息存儲(chǔ)量達(dá)到預(yù)設(shè)上限,或者,在到達(dá)預(yù)設(shè)的日志備份時(shí)間時(shí),將本地保存的日志信息保存 至所述健康服務(wù)器。
[0081 ] 進(jìn)一步地,所述管理單元304還用于在對(duì)所述本地服務(wù)器的BMC模塊更新失敗時(shí), 關(guān)閉所述本地服務(wù)器的BMC模塊,并由預(yù)先設(shè)置的備份服務(wù)器作為健康服務(wù)器管理所述本 地服務(wù)器BMC模塊的多項(xiàng)服務(wù)。
[0082] 本發(fā)明應(yīng)用于具有BMC模塊的本地服務(wù)器的BMC模塊更新裝置在具體的處理流程 中可以與上述BMC模塊更新方法的處理流程一致,在此不再贅述。
[0083] 上述裝置可以通過軟件實(shí)現(xiàn),也可以通過硬件實(shí)現(xiàn),本發(fā)明BMC模塊更新裝置所 在網(wǎng)絡(luò)設(shè)備的硬件架構(gòu)示意圖均可參考圖4所示,其基本硬件環(huán)境包括中央處理器CPU、轉(zhuǎn) 發(fā)芯片、存儲(chǔ)器以及其他硬件,其中存儲(chǔ)器件中包括機(jī)器可讀指令,CPU讀取并執(zhí)行機(jī)器可 讀指令執(zhí)行圖3中各單元的功能。
[0084] 從以上各種方法和裝置的實(shí)施方式中可以看出,本發(fā)明實(shí)施例提供的BMC模塊更 新方法以及裝置,在BMC模塊運(yùn)行的其中一個(gè)服務(wù)出現(xiàn)異常時(shí),根據(jù)從健康服務(wù)器獲取的 服務(wù)文件更新出現(xiàn)異常的服務(wù),仍可以保證在重啟BMC模塊時(shí),BMC模塊出現(xiàn)異常的服務(wù)可 以繼續(xù)運(yùn)行,即使是BMC模塊運(yùn)行的多個(gè)服務(wù)出現(xiàn)異常,通過健康服務(wù)器對(duì)異常BMC模塊服 務(wù)的臨時(shí)托管,也可以保證在重啟BMC模塊時(shí),BMC模塊出現(xiàn)異常的服務(wù)可以繼續(xù)運(yùn)行。由 此可見,本發(fā)明可大幅縮短了 BMC模塊更新期間運(yùn)行服務(wù)的中斷時(shí)間,有效提升了服務(wù)器 的可靠性。
[0085] 另外,本發(fā)