本發(fā)明涉及服務(wù)器技術(shù)領(lǐng)域,特別是涉及一種升級BIOS的方法。
背景技術(shù):
目前,云計算逐漸被行業(yè)認(rèn)可,云逐漸實現(xiàn)并付諸于實踐,基礎(chǔ)設(shè)施即服務(wù)、平臺即服務(wù)、軟件即服務(wù)都已成功落地,進(jìn)行商用階段。數(shù)據(jù)中心已經(jīng)購買的服務(wù)器,其主板無法保證對新部件的兼容性及不具備新的功能。主板BIOS升級是一種比較危險和和困難的事情,一般只能人工對一臺一臺主機(jī)服務(wù)器進(jìn)行升級,如果操作不當(dāng)會造成服務(wù)器損壞,而且不能同時批量升級,主板提供商都沒有提供一種批量升級BIOS的方法,一臺一臺升級BIOS造成損害的幾率提升。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種升級BIOS的方法,以實現(xiàn)批量升級BIOS,減少對服務(wù)器的損害。
為解決上述技術(shù)問題,本發(fā)明提供一種升級BIOS的方法,該方法包括:
pxe服務(wù)器利用客戶端網(wǎng)卡的pxe引導(dǎo)功能,加載initramfs.img鏡像,所述initramfs.img鏡像包含一個服務(wù)代理agent;
加載initramfs.img鏡像時,linux系統(tǒng)自動運(yùn)行所述服務(wù)代理agent;
所述服務(wù)代理agent根據(jù)配置文件的參數(shù)下載BIOS升級所需要的升級文件和升級工具,利用升級文件和升級工具對多個服務(wù)器同時進(jìn)行BIOS升級。
優(yōu)選的,所述配置文件為BIOS升級的配置文件,所述配置文件的參數(shù)包括服務(wù)器IP地址、NFS升級工具信息、升級流程信息、升級模式信息以及用于獲取MAC地址信息的參數(shù)。
優(yōu)選的,所述pxe服務(wù)器利用客戶端網(wǎng)卡的pxe引導(dǎo)功能,加載initramfs.img鏡像之前,還包括:
制作內(nèi)存linux鏡像;
搭建pxe網(wǎng)絡(luò)。
優(yōu)選的,所述制作內(nèi)存linux鏡像,包括:
從網(wǎng)絡(luò)下載一個initramfs.img的精簡鏡像;
通過gzip-dc initramfs.img|cpio–div命令把所述精簡鏡像解壓縮到一個預(yù)設(shè)目錄下;
將agent功能模塊添加進(jìn)解壓后的精簡鏡像中,在精簡鏡像中生成服務(wù)代理agent;
在精簡鏡像中,通過gzip-dc initramfs.img|cpio–div命令制作initramfs.img鏡像。
優(yōu)選的,所述搭建pxe網(wǎng)絡(luò),包括:
利用第三方環(huán)境cobbler,搭建DHCP服務(wù)器;
配置pxe引導(dǎo)文件及TFTP服務(wù)器地址,搭建TFTP服務(wù)器地址;
設(shè)置TFTP服務(wù)器根目錄,復(fù)制initramfs.img鏡像到TFTP服務(wù)器根目錄,創(chuàng)建pxelinux.cfg目錄。
優(yōu)選的,所述服務(wù)代理agent根據(jù)配置文件的參數(shù)下載BIOS升級所需要的升級文件和升級工具,利用升級文件和升級工具對多個服務(wù)器同時進(jìn)行BIOS升級,包括:
下載BIOS升級所需要的升級文件和升級工具;
依據(jù)所述升級文件和升級工具獲取BIOS升級的命令參數(shù),上傳升級文件和升級工具到FTP服務(wù)器,根據(jù)所述BIOS升級的命令參數(shù)創(chuàng)建一個升級流程;
依據(jù)所述升級文件和BIOS升級的命令參數(shù)獲取要升級的服務(wù)器節(jié)點(diǎn)的MAC地址;
根據(jù)所述MAC地址、升級流程及升級工具對要升級的所有服務(wù)器節(jié)點(diǎn)同時進(jìn)行BIOS升級。
優(yōu)選的,所述pxe服務(wù)器利用客戶端網(wǎng)卡的pxe引導(dǎo)功能,從TFTP服務(wù)器中加載initramfs.img鏡像。
優(yōu)選的,所述服務(wù)代理agent根據(jù)配置文件的參數(shù),從NFS系統(tǒng)中下載BIOS升級所需要的升級文件和升級工具。
本發(fā)明所提供的一種升級BIOS的方法,pxe服務(wù)器利用客戶端網(wǎng)卡的pxe引導(dǎo)功能,加載initramfs.img鏡像,所述initramfs.img鏡像包含一個服務(wù)代理agent;加載initramfs.img鏡像時,linux系統(tǒng)自動運(yùn)行所述服務(wù)代理agent;所述服務(wù)代理agent根據(jù)配置文件的參數(shù)下載BIOS升級所需要的升級文件和升級工具,利用升級文件和升級工具對多個服務(wù)器同時進(jìn)行BIOS升級??梢?,通過加載initramfs.img鏡像運(yùn)行initramfs.img鏡像中的服務(wù)代理agent,利用服務(wù)代理agent來下載升級文件和升級工具,通過升級文件和升級工具對多個服務(wù)器同時進(jìn)行BIOS升級,如此完成對多個服務(wù)器的批量升級,不需要人工對一臺一臺服務(wù)器進(jìn)行升級,減少對服務(wù)器的損害,所以該方法實現(xiàn)批量升級BIOS,減少對服務(wù)器的損害。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明所提供的一種升級BIOS的方法的流程圖;
圖2為本發(fā)明所提供的一種升級BIOS的方法的原理示意圖。
具體實施方式
本發(fā)明的核心是提供一種升級BIOS的方法,以實現(xiàn)批量升級BIOS,減少對服務(wù)器的損害。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
請參考圖1,圖1為本發(fā)明所提供的一種升級BIOS的方法的流程圖,該方法包括:
S11:pxe服務(wù)器利用客戶端網(wǎng)卡的pxe引導(dǎo)功能,加載initramfs.img鏡像,initramfs.img鏡像包含一個服務(wù)代理agent;
S12:加載initramfs.img鏡像時,linux系統(tǒng)自動運(yùn)行服務(wù)代理agent;
S13:服務(wù)代理agent根據(jù)配置文件的參數(shù)下載BIOS升級所需要的升級文件和升級工具,利用升級文件和升級工具對多個服務(wù)器同時進(jìn)行BIOS升級。
可見,通過加載initramfs.img鏡像運(yùn)行initramfs.img鏡像中的服務(wù)代理agent,利用服務(wù)代理agent來下載升級文件和升級工具,通過升級文件和升級工具對多個服務(wù)器同時進(jìn)行BIOS升級,如此完成對多個服務(wù)器的批量升級,不需要人工對一臺一臺服務(wù)器進(jìn)行升級,減少對服務(wù)器的損害,所以該方法實現(xiàn)批量升級BIOS,減少對服務(wù)器的損害。
基于上述方法,具體的,所述配置文件為BIOS升級的配置文件,所述配置文件的參數(shù)包括服務(wù)器IP地址、NFS升級工具信息、升級流程信息、升級模式信息以及用于獲取MAC地址信息的參數(shù)。
pxe服務(wù)器利用客戶端網(wǎng)卡的pxe引導(dǎo)功能,加載initramfs.img鏡像之前,還包括:制作內(nèi)存linux鏡像;搭建pxe網(wǎng)絡(luò)。
進(jìn)一步的,制作內(nèi)存linux鏡像的過程采用以下步驟實現(xiàn):
S21:從網(wǎng)絡(luò)下載一個initramfs.img的精簡鏡像;
S22:通過gzip-dc initramfs.img|cpio–div命令把精簡鏡像解壓縮到一個預(yù)設(shè)目錄下;
S23:將agent功能模塊添加進(jìn)解壓后的精簡鏡像中,在精簡鏡像中生成服務(wù)代理agent;
S24:在精簡鏡像中,通過gzip-dc initramfs.img|cpio–div命令制作initramfs.img鏡像。
進(jìn)一步的,搭建pxe網(wǎng)絡(luò)的過程采用以下步驟實現(xiàn):
S31:利用第三方環(huán)境cobbler,搭建DHCP服務(wù)器;
S32:配置pxe引導(dǎo)文件及TFTP服務(wù)器地址,搭建TFTP服務(wù)器地址;
S33:設(shè)置TFTP服務(wù)器根目錄,復(fù)制initramfs.img鏡像到TFTP服務(wù)器根目錄,創(chuàng)建pxelinux.cfg目錄。
具體的,步驟S13優(yōu)選采用以下步驟實現(xiàn):
S1:下載BIOS升級所需要的升級文件和升級工具;
S2:依據(jù)升級文件和升級工具獲取BIOS升級的命令參數(shù),上傳升級文件和升級工具到FTP服務(wù)器,根據(jù)BIOS升級的命令參數(shù)創(chuàng)建一個升級流程;
S3:依據(jù)升級文件和BIOS升級的命令參數(shù)獲取要升級的服務(wù)器節(jié)點(diǎn)的MAC地址;
S4:根據(jù)MAC地址、升級流程及升級工具對要升級的所有服務(wù)器節(jié)點(diǎn)同時進(jìn)行BIOS升級。
具體的,步驟S11中,pxe服務(wù)器利用客戶端網(wǎng)卡的pxe引導(dǎo)功能,從TFTP服務(wù)器中加載initramfs.img鏡像。
步驟S13中,服務(wù)代理agent根據(jù)配置文件的參數(shù),從NFS系統(tǒng)中下載BIOS升級所需要的升級文件和升級工具。
具體的,本方法使用客戶端網(wǎng)卡pxe引導(dǎo)功能,通過pxe服務(wù)器加載定制的initramfs.img鏡像,此鏡像包含一個特定的agent。加載此linux系統(tǒng)時會自動運(yùn)行此agent,此agent會根據(jù)配置文件的參數(shù)下載BIOS升級所需要的升級文件和升級工具等軟件實現(xiàn)BIOS升級,此方法可實現(xiàn)快速、安全、批量的BIOS升級。通過此方法批量升級BIOS,避免了人工操作的失誤,提高了BIOS升級的可靠性。
更詳細(xì)的,本方法中還包括升級流程、節(jié)點(diǎn)升級、任務(wù)操作、鏡像配置。升級流程,主要是針對BIOS主要有award和ami兩個版本,升級工具和文件以及升級方式的一致性。為了節(jié)省人力資源和基于一次創(chuàng)建處處使用的原則,用戶可以單獨(dú)設(shè)定需要的升級工具和升級文件以及一些升級命令。節(jié)點(diǎn)升級能為根據(jù)用戶選擇的升級節(jié)點(diǎn)和使用的升級流程創(chuàng)建相應(yīng)的升級配置信息。任務(wù)操作是通過消息隊列RabbitMQ獲取相應(yīng)的任務(wù)信息,實現(xiàn)相應(yīng)的任務(wù)管理。鏡像配置是根據(jù)相應(yīng)的信息創(chuàng)建相應(yīng)的pxe引導(dǎo)文件。可參考圖2,圖2為本發(fā)明所提供的一種升級BIOS的方法的原理示意圖,有3個服務(wù)器節(jié)點(diǎn),DHCP和TFTP指代服務(wù)器,為不同協(xié)議的服務(wù)器,F(xiàn)TP和NFS指代系統(tǒng),為不同協(xié)議的系統(tǒng),服務(wù)器節(jié)點(diǎn)從DHCP服務(wù)器或者TFTP服務(wù)器中獲取initramfs.img鏡像,利用initramfs.img鏡像中的agent從FTP系統(tǒng)或者NFS系統(tǒng)中下載升級文件和升級工具,由升級文件和升級工具對這三個服務(wù)器同時進(jìn)行BIOS升級。
詳細(xì)的,基于本方法,具體實施方式如下:
環(huán)境搭建方面,有以下步驟:
(1)、內(nèi)存linux鏡像制作;
網(wǎng)絡(luò)下載一個initramfs.img精簡鏡像,通過gzip-dc initramfs.img|cpio–div命令把此鏡像解壓縮到某個目錄,然后把我們相應(yīng)的agent功能模塊添加進(jìn)鏡像中。通過gzip-dc initramfs.img|cpio–div制作我們自己的鏡像。此agent可根據(jù)參數(shù)獲取相應(yīng)的文件和命令參數(shù)進(jìn)行BIOS的升級。
(2)、Pxe網(wǎng)絡(luò)環(huán)境搭建。
可使用第三方環(huán)境例如cobbler,搭建DHCP服務(wù)器配置pxe引導(dǎo)文件及TFTP服務(wù)器地址,搭建TFTP服務(wù)器地址,設(shè)定TFTP服務(wù)器根目錄,拷貝步驟(1)中創(chuàng)建的initramfs鏡像到TFTP目錄,創(chuàng)建pxelinux.cfg目錄。
操作方式方面,具體流程如下:
1、獲取到BIOS的升級文件和升級工具已經(jīng)了解BIOS升級的命令參數(shù),上傳升級工具和升級文件到FTP服務(wù)器,根據(jù)相應(yīng)的命令參數(shù)創(chuàng)建一個流程;
2、過濾選擇要升級的服務(wù)器節(jié)點(diǎn)根據(jù)MAC地址和選擇的流程實現(xiàn)BIOS升級。根據(jù)流程創(chuàng)建相應(yīng)的pxe配置文件;
3、被升級節(jié)點(diǎn)升級完成后調(diào)用相應(yīng)的接口返回相應(yīng)的升級情況,如成功或者失敗。
綜上,本發(fā)明所提供的一種升級BIOS的方法,pxe服務(wù)器利用客戶端網(wǎng)卡的pxe引導(dǎo)功能,加載initramfs.img鏡像,initramfs.img鏡像包含一個服務(wù)代理agent;加載initramfs.img鏡像時,linux系統(tǒng)自動運(yùn)行服務(wù)代理agent;服務(wù)代理agent根據(jù)配置文件的參數(shù)下載BIOS升級所需要的升級文件和升級工具,利用升級文件和升級工具對多個服務(wù)器同時進(jìn)行BIOS升級??梢?,通過加載initramfs.img鏡像運(yùn)行initramfs.img鏡像中的服務(wù)代理agent,利用服務(wù)代理agent來下載升級文件和升級工具,通過升級文件和升級工具對多個服務(wù)器同時進(jìn)行BIOS升級,如此完成對多個服務(wù)器的批量升級,不需要人工對一臺一臺服務(wù)器進(jìn)行升級,減少對服務(wù)器的損害,所以該方法實現(xiàn)批量升級BIOS,減少對服務(wù)器的損害。
以上對本發(fā)明所提供的一種升級BIOS的方法進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。