亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種集中固件更新方法

文檔序號:9489302閱讀:510來源:國知局
一種集中固件更新方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及服務(wù)器管理技術(shù)領(lǐng)域,尤其涉及一種集中固件更新方法。
【背景技術(shù)】
[0002]刀片服務(wù)器和整機柜服務(wù)器由于具有刀片密度高、部署靈活快速的優(yōu)點,在互聯(lián)網(wǎng)領(lǐng)域得到了廣泛的應(yīng)用。
[0003]服務(wù)器的每個刀片上往往都有一顆BMC (基板管理控制器Baseboard ManagementController )用于對服務(wù)器進行管理,這些BMC又被管理載板上的SMC集中管理并對外提供管理訪問控制接口,如SMC的Web管理界面。傳統(tǒng)的逐個單獨更新BMC固件的方式在具有多個刀片的服務(wù)器的操作中已經(jīng)顯得繁瑣低效,不再適用。為了解決這一問題,已有多個方案被提出,但這些方案多需要第三方工具軟件的支持,如TFTP服務(wù)器、DHCP服務(wù)器和SSH客戶端等。
[0004]SMC是系統(tǒng)管理控制器(System Management Controller)的簡稱,指的是對一個刀片服務(wù)器或者機柜服務(wù)器的整機進行集中的系統(tǒng)的管理的管理控制器,BMC和SMC本質(zhì)上是一樣的,都是提供管理功能的管理控制器,但BMC的管理范圍如其名稱所示局限于其所在的板卡,SMC則負責整個服務(wù)器系統(tǒng)的管理,相對來說SMC的處理能力更強,功能也更多,它既要收集各個BMC所收集的健康信息并對BMC進行控制,又要監(jiān)控機箱電源和風扇,還要對外提供訪問接口,可以認為SMC是管理的管理,SMC的稱呼在國內(nèi)做服務(wù)器管理的開發(fā)人員中是一種比較通用的約定俗成的叫法,意義也比較明確,SMC類似于天蝎項目整機柜服務(wù)器解決方案技術(shù)規(guī)范中的RMC (機柜管理控制器,Rack Management Controller),但管理的BMC的規(guī)模相對RMC可以較小。
[0005]現(xiàn)有技術(shù)下的具有多個刀片的服務(wù)器,有一個管理載板和若干個計算單元,及機箱電源、風扇等必備組件。管理載板上放置一顆SMC,每個計算單元上各放置一顆BMC。
[0006]在目前的更新方案中,無論SMC還是BMC都基于Web進行固件更新,固件文件的上傳通過Web服務(wù)器提供的文件上傳功能實現(xiàn),如附圖1所示。Web的Prepare Flash Area、Upload Flash File、Verify Firmware Image、Start Image Flash和Get Flash Progress操作通過Web接口調(diào)用底層固件刷新庫,進而通過本機進程間通信引起固件刷新進程的相應(yīng)操作,最終完成SMC或者BMC的固件更新。這種固件更新方案是逐個SMC或者BMC進行的。
[0007]如何簡單高效的對服務(wù)器中多個刀片上的BMC進行固件更新是一個需要解決的技術(shù)問題。
[0008]

【發(fā)明內(nèi)容】

[0009]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種集中固件更新方法,在不使用任何第三方工具軟件的情況下,通過操作SMC的Web管理界面,借助SMC的固件中繼作用,實現(xiàn)對多個BMC固件的同時集中更新,避免單獨對某一個BMC進行分散式的固件更新的繁瑣和低效,同時不存在現(xiàn)有批量更新固件的技術(shù)方案中對第三方工具軟件的依賴,以提高固件更新效率。
[0010]本發(fā)明所采用的技術(shù)方案如下:
2、一種集中固件更新方法,包括以下步驟:
P、選擇需要更新固件的BMC ;
Q、SMC發(fā)送準備命令給BMC,BMC及SMC分別執(zhí)行所述的準備命令;
R、使用SMC的Web服務(wù)器上傳固件文件到SMC,同時SMC向BMC發(fā)送接收命令;
S、BMC接收所述的固件文件,并反饋可以接收的信息給SMC ;
T、SMC判斷是否存在可以接收固件文件的BMC,如果存在,則讀取固件尺寸比數(shù)據(jù)塊并向收到接收命令回復(fù)的BMC分別發(fā)送;
U、發(fā)送完固件尺寸比數(shù)據(jù)塊后,經(jīng)過延時,等待BMC接收并寫入此固件尺寸比數(shù)據(jù)塊后,再讀取新的固件尺寸比數(shù)據(jù)塊并分別發(fā)送,直到發(fā)送完畢;
V、BMC接收固件文件的固件尺寸比數(shù)據(jù)塊,解析固件尺寸比數(shù)據(jù)塊結(jié)尾的標志位;
W、BMC完成固件接收并關(guān)閉固件文件后,向SMC回復(fù)已接收完畢;
X、如果BMC接收固件文件完畢,則SMC向BMC發(fā)送校驗命令;
Y、BMC執(zhí)行校驗命令,如果校驗成功,則向SMC回復(fù)可以進行固件刷新;
Z、SMC獲取BMC執(zhí)行校驗命令的狀態(tài);
AA、如果BMC校驗成功,則SMC向BMC發(fā)送開始命令;
BB、BMC執(zhí)行開始命令進入真正的固件刷新階段,如果刷新完畢,則向SMC回復(fù)固件已刷新完畢并自動重啟;
CC、SMC向BMC定時發(fā)送獲取命令以獲取BMC執(zhí)行開始命令后BMC的固件刷新進度; DD、如果所有的BMC已完成固件刷新,則SMC自動重啟。
[0011]方法具體包括:
(1)服務(wù)器上電,待整個管理系統(tǒng)完成啟動后登錄SMC的Web管理界面;
(2)在BMC固件更新頁面選擇要更新固件的BMC,進入集中固件更新階段;
(3)SMC發(fā)送準備命令到被選中的BMC ;
(4)BMC執(zhí)行所述準備命令為接收和刷新固件做準備,執(zhí)行完畢后BMC向SMC回復(fù)已完成準備;
(5)SMC獲取BMC執(zhí)行所述準備命令的狀態(tài);
(6)在BMC完成準備操作后,SMC也執(zhí)行所述的準備命令,以釋放一部分RAM空間;
(7)在SMC完成所述準備命令操作后,選擇BMC固件,使用SMC的Web服務(wù)器提供的文件上傳功能上傳BMC固件到SMC ;
(8)SMC端使用Web服務(wù)器的文件上傳功能上傳固件完畢后,SMC向BMC發(fā)送接收命令;
(9)BMC接收到所述的接收命令后,如果已成功執(zhí)行所述的準備命令,則向SMC回復(fù)可以接收固件文件;
(10)SMC獲取BMC是否可以接收固件文件的信息,若存在可以接收固件文件的BMC^lJSMC讀取固件尺寸比數(shù)據(jù)塊并向收到接收命令回復(fù)的BMC分別發(fā)送:
發(fā)送完固件尺寸比數(shù)據(jù)塊后,經(jīng)過延時,等待BMC接收并寫入此固件尺寸比數(shù)據(jù)塊后,再讀取新的固件尺寸比數(shù)據(jù)塊并分別發(fā)送,直到發(fā)送完畢;
(11)BMC接收固件文件的固件尺寸比數(shù)據(jù)塊,解析固件尺寸比數(shù)據(jù)塊結(jié)尾的標志位; BMC完成固件接收并關(guān)閉固件文件后,向SMC回復(fù)已接收完畢;
(12)SMC獲取BMC執(zhí)行接收命令的狀態(tài);
(13)如果BMC接收固件文件完畢,則SMC向BMC發(fā)送校驗命令;
(14)BMC執(zhí)行校驗命令,如果校驗成功,則向SMC回復(fù)可以進行固件刷新;
(15)SMC獲取BMC執(zhí)行校驗命令的狀態(tài);
(16)如果BMC校驗成功,則SMC向BMC發(fā)送開始命令;
(17)BMC執(zhí)行開始命令進入真正的固件刷新階段,如果刷新完畢,則向SMC回復(fù)固件已刷新完畢并自動重啟;
(18)SMC向BMC定時發(fā)送獲取命令以獲取BMC執(zhí)行開始命令后BMC的固件刷新進度;
(19)如果所有的BMC已完成固件刷新,則SMC自動重啟。
[0012]步驟(7)中:
在SMC完成準備命令操作后,選擇固件后使用SMC的Web服務(wù)器提供的文件上傳功能上傳BMC固件到SMC,存儲到/dev/shm掛載的/mnt目錄下,文件名為rom.1ma,SMC端不進行固件的校驗。
[0013]步驟(10)中所述的固件尺寸比數(shù)據(jù)塊的獲取方法是:SMC讀取/mnt/rom.1ma的一個尺寸為整個固件尺寸的整數(shù)分之一生成所述的固件尺寸比數(shù)據(jù)塊。
[0014]當未讀到文件末尾時,發(fā)送內(nèi)容為這個固件尺寸比數(shù)據(jù)塊及固件尺寸比數(shù)據(jù)塊結(jié)尾的未發(fā)送完畢標志位;
當已讀到文件末尾時,由于設(shè)置的讀取數(shù)據(jù)塊尺寸為整個固件尺寸的整數(shù)分之一,因此readO函數(shù)返回的實際讀取字節(jié)為0,為了 BMC接收端處理數(shù)據(jù)的一致性,使發(fā)送內(nèi)容為相同尺寸的未經(jīng)賦值的數(shù)據(jù)塊及數(shù)據(jù)塊結(jié)尾的已發(fā)送完畢標志位。
[0015]步驟(11)中:
若標志位指示未發(fā)送完畢,則將去除標志位的數(shù)據(jù)塊寫入BMC端的固件文件;
若標志位指示已發(fā)送完畢,則不再向BMC端的固件文件中寫入任何數(shù)據(jù),并關(guān)閉文件;BMC端的固件文件存儲在與SMC端類似的位置,即將接收到的數(shù)據(jù)塊存儲為BMC端/dev/shm掛載的/mnt目錄下的rom.1ma文件。
[0016]與現(xiàn)有技術(shù)相比,本發(fā)明的方案有如下特點:
(1)整個固件更新過程由單一的管理控制器執(zhí)行所有操作的方式改為“SMC集中管理,BMC具體執(zhí)行”的方式;
(2)SMC端保留Web對外管理界面,通過修改Web接口、固件刷新庫和固件刷新進程為BMC端的操作提供管理和支持:
Web的文件上傳功能和擴展固件刷新庫中的文件發(fā)送功能模塊相結(jié)合起到了 SMC對BMC固件的中繼作用,文件發(fā)送功能模塊的主要作用是高效可靠地分發(fā)BMC固件;
(3)BMC端無需對外管理界面的支持,因此不需要Web服務(wù)器,通過修改固件刷新進程進行具體的固件更新操作:
(4)溝通SMC和BMC的橋梁是不同主機進程間通彳目,米用Socket實現(xiàn)。
[0017]綜上所述,本發(fā)明提供的技術(shù)方案帶來的有益效果是: 在不借助第三方工具軟件的情況下,只通過SMC的Web操作將SMC端經(jīng)Web上傳的BMC固件高效可靠地分發(fā)到各個BMC并完成固件刷新操作。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1為現(xiàn)有技術(shù)下的固件更新方案的流程框圖;
圖2為本發(fā)明的一種集中固件更新方法的流程框圖。
【具體實施方式】
[0020]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0021]實施例一
如附圖2所示,一種集中固件更新方法,包括以下步驟:
(1)服務(wù)器上電,待整個管理系統(tǒng)完成啟動后登錄SMC的Web管理界面;
(2)在BMC固件更新頁面選擇要更新固件的BMC,點擊更新BMC固件按鈕進入集中固件更新階段;
(3)SMC發(fā)送Prepare Flash Area命令到被選中的BMC ;
(4)BMC執(zhí)行PrepareFlash Area命令為接收和刷新固件做準備,主要的操作包括:kill固件更新無關(guān)的進程,rmmod所有的模塊,unmount固件更新無關(guān)的文件系統(tǒng),掛載/dev/shm設(shè)備到/mnt目錄并格式化為tmpfs文件系統(tǒng)等;執(zhí)行完畢后BMC向SMC回復(fù)已完成準備;
(5)SMC獲取BMC執(zhí)行Pr印are Flash Area命令的狀態(tài);
(6)在BMC 完成 Prepare Flash Area 操作后,SMC 也執(zhí)彳丁 Prepare Flash Area,與 BMC執(zhí)行此操作不同的是,BMC是為了最終執(zhí)行固件更新操作,而SMC只是為了接收Web上傳的BMC固件而釋放一部分RAM空間;
(7)在SMC完成PrepareFlash Area操作后,彈出選擇BMC固件的對話框,選擇固件后使用SMC的Web服務(wù)器提供的文件上傳功能上傳BMC固
當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1