本發(fā)明涉及云數(shù)據(jù)技術(shù)領(lǐng)域,特別是涉及一種帶外升級BMC的方法及裝置。
背景技術(shù):
當(dāng)前,云計算逐漸被行業(yè)認可,云逐漸實現(xiàn)并付諸于實踐,基礎(chǔ)設(shè)施即服務(wù)、平臺即服務(wù)、軟件即服務(wù)都已成功落地,進入商用階段。對于數(shù)據(jù)中心已經(jīng)購買的服務(wù)器,其主板無法保證對新部件的兼容性,且不具備新的功能。但是,主板BMC的升級是比較危險和困難的事情,如果操作不當(dāng)會造成主板損壞。而主板提供商也沒有提供一種批量升級BMC的方法,一臺一臺升級BMC造成損害的幾率提升。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種帶外升級BMC的方法及裝置,以解決現(xiàn)有主板BMC升級過程不安全且不能批量進行的問題。
為解決上述技術(shù)問題,本發(fā)明提供一種帶外升級BMC的方法,包括:
通過pxe服務(wù)器加載initramfs鏡像;
根據(jù)配置文件的參數(shù)下載BMC升級所需要的升級文件以及升級工具;
通過所述升級文件以及所述升級工具確定升級的命令參數(shù),根據(jù)所述命令參數(shù)創(chuàng)建對應(yīng)的升級流程;
過濾選擇待升級的服務(wù)器節(jié)點,根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級。
可選地,所述通過pxe服務(wù)器加載initramfs鏡像包括:
通過網(wǎng)絡(luò)下載initramfs精簡鏡像,將agent功能模塊添加入所述鏡像中,以使系統(tǒng)加載時agent自動運行。
可選地,所述根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級包括:
通過RabbitMQ獲取升級過程中的任務(wù)信息,實現(xiàn)相應(yīng)的任務(wù)管理。
可選地,在所述通過pxe服務(wù)器加載initramfs鏡像之前還包括:
搭建DHCP服務(wù)器,配置pxe引導(dǎo)文件以及TFTP服務(wù)器地址,創(chuàng)建pxe網(wǎng)絡(luò)環(huán)境。
可選地,在所述根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級之后還包括:
調(diào)用相應(yīng)的接口返回升級結(jié)果信息。
本發(fā)明還提供了一種帶外升級BMC的裝置,包括:
加載模塊,用于通過pxe服務(wù)器加載initramfs鏡像;
下載模塊,用于根據(jù)配置文件的參數(shù)下載BMC升級所需要的升級文件以及升級工具;
創(chuàng)建模塊,用于通過所述升級文件以及所述升級工具確定升級的命令參數(shù),根據(jù)所述命令參數(shù)創(chuàng)建對應(yīng)的升級流程;
升級模塊,用于過濾選擇待升級的服務(wù)器節(jié)點,根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級。
可選地,所述加載模塊具體為:通過網(wǎng)絡(luò)下載initramfs精簡鏡像,將agent功能模塊添加入所述鏡像中,以使系統(tǒng)加載時agent自動運行的模塊。
可選地,所述升級模塊具體為:通過RabbitMQ獲取升級過程中的任務(wù)信息,實現(xiàn)相應(yīng)的任務(wù)管理的模塊。
可選地,還包括:
環(huán)境搭建模塊,用于在通過pxe服務(wù)器加載initramfs鏡像之前,搭建DHCP服務(wù)器,配置pxe引導(dǎo)文件以及TFTP服務(wù)器地址,創(chuàng)建pxe網(wǎng)絡(luò)環(huán)境。
可選地,還包括:
結(jié)果信息返回模塊,用于在根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級之后,調(diào)用相應(yīng)的接口返回升級結(jié)果信息。
本發(fā)明所提供的帶外升級BMC的方法及裝置,通過pxe服務(wù)器加載initramfs鏡像;根據(jù)配置文件的參數(shù)下載BMC升級所需要的升級文件以及升級工具;通過升級文件以及升級工具確定升級的命令參數(shù),根據(jù)命令參數(shù)創(chuàng)建對應(yīng)的升級流程;過濾選擇待升級的服務(wù)器節(jié)點,根據(jù)服務(wù)器節(jié)點和升級流程實現(xiàn)BMC的升級。本發(fā)明所提供的帶外升級BMC的方法及裝置,能夠?qū)崿F(xiàn)快速、安全、批量的BMC升級。通過本申請批量升級BMC,避免了人工操作的失誤,提高了BMC升級的可靠性。
附圖說明
為了更清楚的說明本發(fā)明實施例或現(xiàn)有技術(shù)的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明所提供的帶外升級BMC的方法的一種具體實施方式的流程圖;
圖2為本發(fā)明實施例提供的帶外升級BMC的裝置的結(jié)構(gòu)框圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步的詳細說明。顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明所提供的帶外升級BMC的方法的一種具體實施方式的流程圖如圖1所示,該方法包括:
步驟S101:通過pxe服務(wù)器加載initramfs鏡像;
步驟S102:根據(jù)配置文件的參數(shù)下載BMC升級所需要的升級文件以及升級工具;
步驟S103:通過所述升級文件以及所述升級工具確定升級的命令參數(shù),根據(jù)所述命令參數(shù)創(chuàng)建對應(yīng)的升級流程;
通過獲取到的BMC的升級文件和升級工具能夠得到BMC升級的命令參數(shù),上傳升級工具和升級文件到FTP服務(wù)器,根據(jù)相應(yīng)的命令參數(shù)能夠創(chuàng)建一個流程。
步驟S104:過濾選擇待升級的服務(wù)器節(jié)點,根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級。
過濾選擇要升級的服務(wù)器節(jié)點,根據(jù)MAC地址和選擇的流程實現(xiàn)BMC升級。根據(jù)流程創(chuàng)建相應(yīng)的pxe配置文件。
本發(fā)明所提供的帶外升級BMC的方法,通過pxe服務(wù)器加載initramfs鏡像;根據(jù)配置文件的參數(shù)下載BMC升級所需要的升級文件以及升級工具;通過升級文件以及升級工具確定升級的命令參數(shù),根據(jù)命令參數(shù)創(chuàng)建對應(yīng)的升級流程;過濾選擇待升級的服務(wù)器節(jié)點,根據(jù)服務(wù)器節(jié)點和升級流程實現(xiàn)BMC的升級。本發(fā)明所提供的帶外升級BMC的方法,能夠?qū)崿F(xiàn)快速、安全、批量的BMC升級。通過本申請批量升級BMC,避免了人工操作的失誤,提高了BMC升級的可靠性。
在上述實施例的基礎(chǔ)上,本發(fā)明所提供的帶外升級BMC的方法中,通過pxe服務(wù)器加載initramfs鏡像包括:通過網(wǎng)絡(luò)下載initramfs精簡鏡像,將agent功能模塊添加入所述鏡像中,以使系統(tǒng)加載時agent自動運行。
具體地,可以通過網(wǎng)絡(luò)下載一個initramfs.img精簡鏡像,通過gzip-dc initramfs.img|cpio–div命令把此鏡像解壓縮到某個目錄,然后把相應(yīng)的agent功能模塊添加進鏡像中。通過gzip-dc initramfs.img|cpio–div可以得到所需鏡像。
使用客戶端網(wǎng)卡pxe引導(dǎo)功能,通過pxe服務(wù)器加載定制的initramfs.img鏡像,此鏡像包含一個特定的agent。加載此linux系統(tǒng)時會自動運行此agent,此agent會根據(jù)配置文件的參數(shù)下載BMC升級所需要的升級文件和升級工具等軟件實現(xiàn)BMC升級。
進一步地,根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級包括:
通過RabbitMQ獲取升級過程中的任務(wù)信息,實現(xiàn)相應(yīng)的任務(wù)管理。
具體地,可以根據(jù)用戶選擇的升級節(jié)點和使用的升級流程創(chuàng)建相應(yīng)的升級配置信息。
針對BMC芯片使用升級工具(例如socflash)和文件以及升級方式的一致性,為了節(jié)省人力資源和基于一次創(chuàng)建、處處使用的原則,用戶可以單獨設(shè)定需要的升級工具和升級文件以及一些升級命令。
在上述任一實施例的基礎(chǔ)上,本發(fā)明所提供的帶外升級BMC的方法中,在所述通過pxe服務(wù)器加載initramfs鏡像之前還可以包括:
搭建DHCP服務(wù)器,配置pxe引導(dǎo)文件以及TFTP服務(wù)器地址,創(chuàng)建pxe網(wǎng)絡(luò)環(huán)境。
可選地,可使用第三方環(huán)境(cobbler),搭建DHCP服務(wù)器配置pxe引導(dǎo)文件及TFTP服務(wù)器地址,搭建TFTP服務(wù)器地址,設(shè)定TFTP服務(wù)器根目錄,拷貝創(chuàng)建的initramfs鏡像到TFTP目錄,創(chuàng)建pxelinux.cfg目錄。
作為一種具體實施方式,本申請在根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級之后還可以包括:
調(diào)用相應(yīng)的接口返回升級結(jié)果信息。
被升級節(jié)點升級完成后,調(diào)用相應(yīng)的接口返回相應(yīng)的升級情況為成功還是失敗的結(jié)果信息。
下面對本發(fā)明實施例提供的帶外升級BMC的裝置進行介紹,下文描述的帶外升級BMC的裝置與上文描述的帶外升級BMC的方法可相互對應(yīng)參照。
圖2為本發(fā)明實施例提供的帶外升級BMC的裝置的結(jié)構(gòu)框圖,參照圖2帶外升級BMC的裝置可以包括:
加載模塊100,用于通過pxe服務(wù)器加載initramfs鏡像;
下載模塊200,用于根據(jù)配置文件的參數(shù)下載BMC升級所需要的升級文件以及升級工具;
創(chuàng)建模塊300,用于通過所述升級文件以及所述升級工具確定升級的命令參數(shù),根據(jù)所述命令參數(shù)創(chuàng)建對應(yīng)的升級流程;
升級模塊400,用于過濾選擇待升級的服務(wù)器節(jié)點,根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級。
在上述實施例的基礎(chǔ)上,本發(fā)明所提供的帶外升級BMC的裝置中,上述加載模塊100可以具體為:通過網(wǎng)絡(luò)下載initramfs精簡鏡像,將agent功能模塊添加入所述鏡像中,以使系統(tǒng)加載時agent自動運行的模塊。
進一步地,上述升級模塊400可以具體為:通過RabbitMQ獲取升級過程中的任務(wù)信息,實現(xiàn)相應(yīng)的任務(wù)管理的模塊。
在上述任一實施例的基礎(chǔ)上,本發(fā)明所提供的帶外升級BMC的裝置還可以進一步包括:
環(huán)境搭建模塊,用于在通過pxe服務(wù)器加載initramfs鏡像之前,搭建DHCP服務(wù)器,配置pxe引導(dǎo)文件以及TFTP服務(wù)器地址,創(chuàng)建pxe網(wǎng)絡(luò)環(huán)境。
作為一種具體實施方式,本申請還可以包括:
結(jié)果信息返回模塊,用于在根據(jù)所述服務(wù)器節(jié)點和所述升級流程實現(xiàn)BMC的升級之后,調(diào)用相應(yīng)的接口返回升級結(jié)果信息。
本發(fā)明所提供的帶外升級BMC的裝置,通過pxe服務(wù)器加載initramfs鏡像;根據(jù)配置文件的參數(shù)下載BMC升級所需要的升級文件以及升級工具;通過升級文件以及升級工具確定升級的命令參數(shù),根據(jù)命令參數(shù)創(chuàng)建對應(yīng)的升級流程;過濾選擇待升級的服務(wù)器節(jié)點,根據(jù)服務(wù)器節(jié)點和升級流程實現(xiàn)BMC的升級。本發(fā)明所提供的帶外升級BMC的裝置,能夠?qū)崿F(xiàn)快速、安全、批量的BMC升級。通過本申請批量升級BMC,避免了人工操作的失誤,提高了BMC升級的可靠性。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上對本發(fā)明所提供的帶外升級BMC的方法以及裝置進行了詳細介紹。本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。