欧美日韩啪啪,最新精品在线,国产ts一区二区,色亚洲一区二区,草草影院国产,久久国产99,欧美日韩四区

服務(wù)器的BMC和BIOS適配性的交叉驗(yàn)證方法、裝置及存儲(chǔ)介質(zhì)與流程

文檔序號(hào):42327309發(fā)布日期:2025-07-01 19:47閱讀:12來(lái)源:國(guó)知局

本發(fā)明涉及計(jì)算機(jī),特別涉及一種服務(wù)器的bmc和bios適配性的交叉驗(yàn)證方法、裝置及存儲(chǔ)介質(zhì)。


背景技術(shù):

1、在現(xiàn)代服務(wù)器系統(tǒng)中,bmc(baseboard?management?controller,基板管理控制器)和bios(basic?input/output?system,基本輸入輸出系統(tǒng))是兩個(gè)關(guān)鍵的固件組件,它們對(duì)服務(wù)器的正常運(yùn)行和管理起著至關(guān)重要的作用。bmc負(fù)責(zé)硬件的管理和監(jiān)控,而bios則負(fù)責(zé)初始化硬件并引導(dǎo)操作系統(tǒng)啟動(dòng)。隨著服務(wù)器技術(shù)的不斷發(fā)展,bmc和bios的版本更新變得越來(lái)越頻繁,這增加了不同版本之間兼容性問(wèn)題的風(fēng)險(xiǎn)。

2、相關(guān)技術(shù)中,許多服務(wù)器的固件更新和驗(yàn)證過(guò)程仍然依賴于人工操作。這不僅效率低下,而且容易出錯(cuò)。手動(dòng)更新固件時(shí),需要管理員逐個(gè)下載固件文件并上傳到服務(wù)器,然后通過(guò)命令行或管理界面進(jìn)行更新操作。驗(yàn)證固件版本的兼容性時(shí),通常需要手動(dòng)檢查硬件信息、bios版本和bmc版本,這不僅耗時(shí),而且容易遺漏關(guān)鍵信息。并且,現(xiàn)有的固件更新和驗(yàn)證方法缺乏系統(tǒng)化的流程。在更新固件后,通常沒(méi)有一個(gè)全面的驗(yàn)證機(jī)制來(lái)確保bmc和bios的兼容性。即使進(jìn)行了驗(yàn)證,也往往是基于單個(gè)版本的測(cè)試,缺乏對(duì)多種版本組合的系統(tǒng)性驗(yàn)證。在驗(yàn)證固件更新后,通常缺乏對(duì)硬件信息的全面驗(yàn)證?,F(xiàn)有的方法往往只檢查bios版本信息,而忽略了硬件信息的驗(yàn)證。這可能導(dǎo)致在更新后,硬件與固件之間的兼容性問(wèn)題未被及時(shí)發(fā)現(xiàn),從而影響服務(wù)器的穩(wěn)定性和性能。

3、另外,bmc的web界面是管理員管理和監(jiān)控服務(wù)器的重要工具。然而,現(xiàn)有的驗(yàn)證方法通常缺乏對(duì)?bmc?web服務(wù)器性能的驗(yàn)證,這會(huì)導(dǎo)致在更新后,bmc的web界面無(wú)法正常工作,影響管理員的管理效率。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明提供一種服務(wù)器的bmc和bios適配性的交叉驗(yàn)證方法、裝置及存儲(chǔ)介質(zhì),旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問(wèn)題之一。

2、本發(fā)明的技術(shù)方案為一種服務(wù)器的bmc和bios適配性的交叉驗(yàn)證方法,其包括如下步驟:

3、s100:構(gòu)建固件資源庫(kù),并將待驗(yàn)證的m個(gè)版本的bmc和n個(gè)版本的bios上傳到所述固件資源庫(kù),所述固件資源庫(kù)中存儲(chǔ)有m*n種版本的bmc和bios組合;

4、s200:服務(wù)器從所述固件資源庫(kù)中獲取第一種版本的bmc和bios組合,依次對(duì)所述第一種版本的bmc、bios執(zhí)行更新操作,得到第一更新版本的bmc和bios;

5、s300:通過(guò)串口獲取并驗(yàn)證所述第一更新版本的bios的版本信息,獲取所述服務(wù)器的硬件信息并對(duì)所述硬件信息進(jìn)行驗(yàn)證處理,通過(guò)web自啟動(dòng)來(lái)驗(yàn)證所述第一更新版本的bmc的web服務(wù)器的性能,以驗(yàn)證所述第一更新版本的bmc和bios的適配性,并記錄第一適配結(jié)果;

6、s400:遍歷所述固件資源庫(kù)中存儲(chǔ)的m*n-1種版本的bmc和bios組合,分別對(duì)所述m*n-1種版本的bmc、bios執(zhí)行更新操作,并分別驗(yàn)證m*n-1種更新版本的bmc和bios的適配性,記錄m*n-1種適配結(jié)果;

7、s500:根據(jù)所述第一適配結(jié)果和所述m*n-1種適配結(jié)果形成bmc和bios版本兼容性列表。

8、根據(jù)本發(fā)明的一些實(shí)施例,所述步驟s300包括:

9、s310:當(dāng)所述第一更新版本的bios的版本信息驗(yàn)證成功、所述硬件信息驗(yàn)證成功、所述第一更新版本的bmc的web服務(wù)器的性能驗(yàn)證成功,確定所述第一更新版本的bmc和bios適配,并記錄第一適配結(jié)果為所述第一更新版本的bmc和bios適配;

10、s320:當(dāng)所述第一更新版本的bios的版本信息驗(yàn)證、所述硬件信息驗(yàn)證、所述第一更新版本的bmc的web服務(wù)器的性能驗(yàn)證中任意一項(xiàng)驗(yàn)證失敗,確定所述第一更新版本的bmc和bios不適配,并記錄第一適配結(jié)果為所述第一更新版本的bmc和bios不適配。

11、根據(jù)本發(fā)明的一些實(shí)施例,所述步驟s100包括:

12、s110:創(chuàng)建一個(gè)static文件夾用于存放固件版本文件,將待驗(yàn)證的m個(gè)版本的bmc的版本文件和n個(gè)版本的bios的版本文件復(fù)制到所述static文件夾中;

13、s120:使用flask在所述固件資源庫(kù)中創(chuàng)建靜態(tài)資源服務(wù)器,所述靜態(tài)資源服務(wù)器分別為所述待驗(yàn)證的m個(gè)版本的bmc的版本文件和n個(gè)版本的bios的版本文件生成一一對(duì)應(yīng)的超鏈接,每個(gè)超鏈接對(duì)應(yīng)一個(gè)ip地址;

14、s130:通過(guò)訪問(wèn)所述ip地址來(lái)確定固件版本文件的下載列表,通過(guò)所述固件版本文件的下載列表來(lái)下載bmc的版本文件和bios的版本文件;

15、s140:通過(guò)http協(xié)議的網(wǎng)絡(luò)請(qǐng)求直接下載和拉取待驗(yàn)證的m個(gè)版本的bmc的版本文件和n個(gè)版本的bios的版本文件。

16、根據(jù)本發(fā)明的一些實(shí)施例,所述方法還包括:

17、s101:定義預(yù)設(shè)的數(shù)據(jù)解析函數(shù),所述數(shù)據(jù)解析函數(shù)為fetch_versions_from_url,所述url表示目標(biāo)網(wǎng)頁(yè)的地址;

18、s102:發(fā)送http請(qǐng)求以獲取所述目標(biāo)網(wǎng)頁(yè)的html文檔,利用beautifulsoup庫(kù)解析所述html文檔以獲取固件版本信息;

19、s103:創(chuàng)建第一列表和第二列表,所述第一列表用于存儲(chǔ)解析出的bmc的版本文件名,所述第二列表用于存儲(chǔ)解析出的bios的版本文件名;

20、s104:遍歷所述html文檔中固件版本信息中的所有<a>標(biāo)簽,所述<a>標(biāo)簽代表超鏈接;

21、s105:通過(guò)link.get('href')函數(shù)獲取每個(gè)所述超鏈接對(duì)應(yīng)的目標(biāo)ip地址,并從所述目標(biāo)ip地址中提取版本文件名;

22、s106:根據(jù)提取出的版本文件名判斷所述版本文件名屬于bmc版本還是bios版本,若當(dāng)前版本文件名包含"bmc"或"bmc",則將所述當(dāng)前版本文件名添加至所述第一列表,若當(dāng)前版本文件名包含"bios"或"bios",則將所述當(dāng)前版本文件名添加至所述第二列表。

23、根據(jù)本發(fā)明的一些實(shí)施例,所述步驟s200包括:

24、s210:發(fā)送更新請(qǐng)求給所述服務(wù)器,所述更新請(qǐng)求攜帶需要執(zhí)行更新操作的固件類型和對(duì)應(yīng)的ip地址,所述固件類型包括bmc和bios;

25、s220:根據(jù)所述更新請(qǐng)求確定所需執(zhí)行更新操作的目標(biāo)固件,利用更新參數(shù)來(lái)定義redfish接口的更新配置,所述更新參數(shù)包括bmc更新參數(shù)和bios更新參數(shù);

26、s230:通過(guò)所述redfish接口基于所述更新請(qǐng)求和所述更新參數(shù)對(duì)所述目標(biāo)固件執(zhí)行更新操作;

27、s240:通過(guò)http?get請(qǐng)求查詢所述目標(biāo)固件的更新進(jìn)度信息,并根據(jù)所述目標(biāo)固件的更新進(jìn)度信息生成更新進(jìn)度條;

28、s250:在所述目標(biāo)固件完成更新操作之后重啟所述服務(wù)器。

29、根據(jù)本發(fā)明的一些實(shí)施例,所述步驟s300包括:

30、s331:獲取所述串口的數(shù)據(jù)信息,當(dāng)所述服務(wù)器重啟,通過(guò)所述串口給所述服務(wù)器發(fā)送delete鍵盤命令,以使所述服務(wù)器進(jìn)入bios界面;

31、s332:定義def?read_from_serial_until函數(shù),所述def?read_from_serial_until函數(shù)用于讀取所述串口的數(shù)據(jù)信息以抓取字符來(lái)確定bios的版本信息;

32、s333:通過(guò)所述def?read_from_serial_until函數(shù)抓取bios?version字段,根據(jù)所述bios?version字段確定bios的當(dāng)前版本信息;

33、s334:驗(yàn)證所述bios的當(dāng)前版本信息和所述bios更新參數(shù)的一致性,當(dāng)所述bios的當(dāng)前版本信息和所述bios更新參數(shù)一致,確定bios更新成功。

34、根據(jù)本發(fā)明的一些實(shí)施例,所述步驟s300還包括:

35、s341:使用paramiko庫(kù)創(chuàng)建ssh客戶端,并自動(dòng)添加主機(jī)密鑰;

36、s342:所述ssh客戶端連接到所述服務(wù)器以建立ssh連接,所述服務(wù)器通過(guò)lscpu命令獲取硬件信息;

37、s343:若所述lscpu命令返回cpu信息,則以所述lscpu命令為鍵、以所述lscpu命令返回的cpu信息為值形成一個(gè)字典;

38、s344:若所述lscpu命令返回錯(cuò)誤信息,則以所述lscpu命令加錯(cuò)誤標(biāo)志為鍵、以所述lscpu命令返回的錯(cuò)誤信息為值形成一個(gè)字典;

39、s345:返回所述字典以顯示所述lscpu命令的執(zhí)行結(jié)果,當(dāng)所述字典顯示有錯(cuò)誤信息,則確定所述硬件信息驗(yàn)證失??;

40、s346:關(guān)閉ssh連接。

41、根據(jù)本發(fā)明的一些實(shí)施例,所述步驟s300還包括:

42、s351:通過(guò)redfish接口獲取bmc的當(dāng)前版本信息;

43、s352:驗(yàn)證所述bmc的當(dāng)前版本信息和所述bmc更新參數(shù)的一致性,當(dāng)所述bmc的當(dāng)前版本信息和所述bmc更新參數(shù)的一致,確定bmc更新成功;

44、s353:通過(guò)selenium配置一個(gè)自動(dòng)化調(diào)用本地chrome瀏覽器啟動(dòng)的環(huán)境,啟動(dòng)chrome并自動(dòng)化輸入bmc的賬號(hào)與密碼;

45、s354:在預(yù)設(shè)的時(shí)間內(nèi)獲取返回信息,并根據(jù)所述返回信息來(lái)確定bmc的登錄狀態(tài);

46、s355:當(dāng)所述返回信息為成功登錄的標(biāo)志元素,則表征bmc登錄正常,確定bmc的web服務(wù)器性能正常;當(dāng)所述返回信息為none或返回信息超時(shí),則表征bmc登錄異?;蛭茨苷业降卿洺晒Φ臉?biāo)志,確定bmc的web服務(wù)器性能異常。

47、本發(fā)明的技術(shù)方案還涉及一種計(jì)算機(jī)裝置,包括存儲(chǔ)器和處理器,所述處理器執(zhí)行儲(chǔ)存在所述存儲(chǔ)器中的計(jì)算機(jī)程序時(shí)實(shí)施上述的方法。

48、本發(fā)明的技術(shù)方案還涉及一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上儲(chǔ)存有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)施上述的方法。

49、本發(fā)明實(shí)施例提供的服務(wù)器的bmc和bios適配性的交叉驗(yàn)證方法、裝置及存儲(chǔ)介質(zhì)至少具備如下的優(yōu)點(diǎn)或有益效果之一:建立固件資源庫(kù),用于存儲(chǔ)不同版本的固件文件,將待驗(yàn)證的m個(gè)版本的bmc和n個(gè)版本的bios上傳到固件資源庫(kù)中,使得維護(hù)人員能夠方便地訪問(wèn)和管理重要資源,提高了工作效率。固件資源庫(kù)中存儲(chǔ)有m*n種版本的bmc和bios組合,控制器能夠自動(dòng)從固件資源庫(kù)中解析出所有可用的bmc和bios版本,每一種組合對(duì)應(yīng)一種bmc和bios搭配,自動(dòng)化處理減少了人為錯(cuò)誤的可能性,并確保了不同組件之間的最佳兼容性。服務(wù)器自動(dòng)從固件資源庫(kù)拉取第一種版本的bmc和bios組合,依次對(duì)第一種版本的bmc、bios執(zhí)行更新操作,得到第一更新版本的bmc和bios。通過(guò)串口獲取第一更新版本的bios的版本信息,并對(duì)其進(jìn)行驗(yàn)證;獲取服務(wù)器的硬件信息,并對(duì)硬件信息進(jìn)行驗(yàn)證處理,確保硬件與更新后的bios兼容。通過(guò)web自啟動(dòng)來(lái)驗(yàn)證第一更新版本的bmc的web服務(wù)器的性能,從而驗(yàn)證第一更新版本的bmc和bios的適配性。三層驗(yàn)證機(jī)制確保了固件更新后的穩(wěn)定性和正確性。通過(guò)多種方式驗(yàn)證有效降低因固件不匹配或更新失敗導(dǎo)致的風(fēng)險(xiǎn),提高了第一更新版本的bmc和bios的適配性驗(yàn)證結(jié)果的準(zhǔn)確性;記錄第一適配結(jié)果,包括驗(yàn)證結(jié)果、驗(yàn)證過(guò)程中發(fā)現(xiàn)的問(wèn)題、性能表現(xiàn)等關(guān)鍵信息,提高了第一適配結(jié)果的可視化程度。

50、遍歷固件資源庫(kù)中存儲(chǔ)的m*n-1種版本的bmc和bios組合,分別對(duì)m*n-1種版本的bmc、bios執(zhí)行更新操作,并分別驗(yàn)證m*n-1種更新版本的bmc和bios的適配性。對(duì)于每一種組合,先更新bmc,再由bmc觸發(fā)bios的更新,并分別驗(yàn)證每一種更新版本的bmc和bios的適配性,重復(fù)上述串口信息驗(yàn)證、硬件信息驗(yàn)證、bmc的web服務(wù)器性能驗(yàn)證的步驟。記錄每一種組合的適配結(jié)果,詳細(xì)記錄驗(yàn)證過(guò)程中的各種情況,包括成功適配的組合以及出現(xiàn)兼容性問(wèn)題的組合及其具體問(wèn)題。根據(jù)第一適配結(jié)果和m*n-1種適配結(jié)果,對(duì)所有驗(yàn)證過(guò)的bmc和bios版本組合的適配情況進(jìn)行整理和分析,形成bmc和bios版本兼容性列表,明確列出哪些版本的bmc和bios組合是兼容的,哪些組合存在兼容性問(wèn)題,以及兼容性問(wèn)題的具體表現(xiàn)和可能的解決方案等信息,為后續(xù)的固件更新和維護(hù)提供參考依據(jù)。通過(guò)系統(tǒng)的適配性驗(yàn)證流程,能夠全面評(píng)估不同版本組合的兼容性,為服務(wù)器的穩(wěn)定運(yùn)行提供保障。

51、本發(fā)明提供的服務(wù)器的bmc和bios適配性的交叉驗(yàn)證方法系統(tǒng)地驗(yàn)證不同版本的bmc和bios之間的適配性,確保服務(wù)器在更新固件后能夠正常運(yùn)行,提高服務(wù)器的穩(wěn)定性和可靠性。

52、此外,本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1