陳英達(dá)+鐘蘇生+周開東+黃愷彤+麥曉輝
摘 要:云計算平臺作為一種新型計算架構(gòu),能夠依據(jù)用戶需求快速為其提供資源與服務(wù)。裸金屬物理服務(wù)器,由于其固有硬件物理屬性,相較于虛擬服務(wù)器在資源部署與配置方面缺乏靈活性,導(dǎo)致云計算平臺通常無法動態(tài)控制管理物理服務(wù)器。本研究基于Cobbler服務(wù)工具進(jìn)行二次開發(fā)與封裝,建立形成了一套裸金屬物理服務(wù)器自動化批量部署方法,該方法通過Cobbler中央調(diào)度控制技術(shù),實現(xiàn)了云計算平臺中裸金屬物理服務(wù)器基于網(wǎng)絡(luò)的自動化批量安裝與配置。
關(guān)鍵詞:云計算平臺;裸金屬物理服務(wù)器;自動化批量部署;Cobbler中央調(diào)度控制技術(shù)
中圖分類號:TP368.5 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2017)30-0096-02
1 概述
近十年來,社交網(wǎng)絡(luò)、電子商務(wù)、移動生活等一批大規(guī)模互聯(lián)網(wǎng)應(yīng)用的迅猛發(fā)展,傳統(tǒng)煙囪式系統(tǒng)架構(gòu)已不能滿足這些新興應(yīng)用快速響應(yīng)部署、動態(tài)負(fù)載增減的要求。在此背景下,2006年谷歌、亞馬遜等公司提出了云計算平臺的構(gòu)想。云計算平臺作為一種建立于高效資源池技術(shù)之上的新型計算架構(gòu),依托各類信息資源之間的高效協(xié)同服務(wù),能夠在短時間內(nèi)根據(jù)需求迅速提供資源,并且資源規(guī)模可快速伸縮,以自適應(yīng)業(yè)務(wù)負(fù)載的動態(tài)變化。
目前,云計算平臺的運(yùn)算資源為各類云主機(jī)服務(wù)器,云主機(jī)服務(wù)器主要分為虛擬服務(wù)器和裸金屬物理服務(wù)器兩類。對于虛擬服務(wù)器,因其容器軟件的運(yùn)行工作形式,可通過編輯執(zhí)行虛擬服務(wù)器控制動作腳本,在云計算平臺中實現(xiàn)自動化高效部署以及彈性伸縮,及時滿足客戶需求。然而對于裸金屬物理服務(wù)器,由于其固有的硬件物理屬性,電源啟停動作、操作系統(tǒng)安裝配置以及計算集群增減均需人為參與,較難實現(xiàn)資源快速部署與彈性伸縮,致使云計算平臺通常無法動態(tài)控制管理裸金屬物理服務(wù)器,這給云計算平臺的發(fā)展與推廣應(yīng)用帶來了不少挑戰(zhàn)。
因此,本文基于Cobbler服務(wù)工具進(jìn)行二次開發(fā)與封裝,建立形成了一套裸金屬物理服務(wù)器自動化批量部署的方法,該方法通過Cobbler網(wǎng)絡(luò)部署中央調(diào)度控制技術(shù),實現(xiàn)了云計算平臺中裸金屬物理服務(wù)器高效的自動化批量部署,為后續(xù)裸金屬物理服務(wù)器集群的自動化彈性伸縮奠定了研究基礎(chǔ)。
2 裸金屬物理服務(wù)器自動化批量部署原理研究
Cobbler作為一套基于Python語言開發(fā)用以實現(xiàn)物理服務(wù)器操作系統(tǒng)安裝的服務(wù)工具,其通過PXE網(wǎng)絡(luò)引導(dǎo)方式,可完成物理服務(wù)器操作系統(tǒng)的遠(yuǎn)程安裝。同時Cobbler服務(wù)工具提供物理服務(wù)器的電源管理API接口,可通過命令行指令的方式實現(xiàn)物理服務(wù)器啟停的電源管理動作。
因此,本研究基于Cobbler網(wǎng)絡(luò)部署中央調(diào)度控制的核心思想,通過創(chuàng)建Cobbler中央集中管理節(jié)點(diǎn),自動化調(diào)用DHCP服務(wù)、TFTP服務(wù)、DNS服務(wù)和系統(tǒng)軟件倉庫組件服務(wù)的形式,建立形成了一套裸金屬物理服務(wù)器自動化批量部署方法,其整體拓?fù)浼軜?gòu)如圖1所示,包含Cobbler服務(wù)器、作業(yè)推送器、DHCP服務(wù)器、TFTP服務(wù)器、系統(tǒng)軟件庫和目標(biāo)服務(wù)器六類基本組件。
依托這六類基本組件,利用本文研究提出的Cobbler網(wǎng)絡(luò)部署中央調(diào)度控制技術(shù),實現(xiàn)云管平臺中的裸金屬物理服務(wù)器自動化批量部署,其具體原理步驟如下順序所述。
2.1 批量作業(yè)任務(wù)發(fā)布
根據(jù)裸金屬物理服務(wù)器部署情況,自定義編輯物理服務(wù)器配置指標(biāo)參數(shù)(如目標(biāo)服務(wù)器資產(chǎn)名稱、業(yè)務(wù)網(wǎng)絡(luò)IP地址、業(yè)務(wù)網(wǎng)卡MAC地址、BMC管理網(wǎng)絡(luò)IP地址等),并提交執(zhí)行作業(yè)任務(wù)至作業(yè)推送器。本文研究設(shè)計的裸金屬服務(wù)器自動化批量部署方法可支持多臺服務(wù)器的操作系統(tǒng)自動化并行安裝。在執(zhí)行批量作業(yè)任務(wù)時,通過批量錄入多臺目標(biāo)服務(wù)器的配置信息以實現(xiàn)自動化批量安裝。
2.2 作業(yè)配置與部署腳本的下發(fā)
作業(yè)推送器根據(jù)編輯錄入的物理服務(wù)器配置指標(biāo)參數(shù)和提交的作業(yè)任務(wù),整合生成作業(yè)配置文件和自動化批量部署腳本,并通過業(yè)務(wù)網(wǎng)絡(luò)推送下發(fā)至Cobbler服務(wù)器。
2.3 自動化批量部署腳本執(zhí)行
Cobbler服務(wù)器首先根據(jù)下發(fā)的目標(biāo)服務(wù)器配置指標(biāo)參數(shù)進(jìn)行合規(guī)性檢查(如檢查資產(chǎn)名稱,業(yè)務(wù)IP地址,以及業(yè)務(wù)網(wǎng)卡MAC地址是否存在沖突等)。然后根據(jù)推送下發(fā)的作業(yè)配置文件,自動更新Cobbler服務(wù)器上的組件配置服務(wù)(如更新DHCP服務(wù),Cobbler System,以及目標(biāo)服務(wù)器自動應(yīng)答文件等)。組件服務(wù)更新完畢后,開始執(zhí)行目標(biāo)物理服務(wù)器自動化批量部署腳本。裸金屬物理服務(wù)器自動化批量部署腳本的執(zhí)行邏輯流程如圖2所示。
2.4 網(wǎng)絡(luò)喚醒
Cobbler服務(wù)器根據(jù)目標(biāo)服務(wù)器的BMC硬件管理配置指標(biāo)參數(shù),通過目標(biāo)服務(wù)器的BMC管理網(wǎng)絡(luò)對其執(zhí)行相應(yīng)的電源管理API指令,實現(xiàn)設(shè)備的網(wǎng)絡(luò)加電喚醒,同時返回其電源狀態(tài)信息至Cobbler服務(wù)器。
2.5 網(wǎng)絡(luò)引導(dǎo)和啟動
目標(biāo)服務(wù)器喚醒開機(jī)后,通過PXE引導(dǎo)方式,在業(yè)務(wù)網(wǎng)絡(luò)中廣播dhcp_discover報文,業(yè)務(wù)網(wǎng)絡(luò)中的DHCP服務(wù)器響應(yīng)并分配臨時IP地址和PXE引導(dǎo)文件位置信息給目標(biāo)服務(wù)器。目標(biāo)服務(wù)器將根據(jù)DHCP服務(wù)器提供的位置信息下載位于TFTP服務(wù)器上的PXE引導(dǎo)文件和目標(biāo)服務(wù)器操作系統(tǒng)配置文件。利用PXE引導(dǎo)文件,下載位于TFTP服務(wù)器上的操作系統(tǒng)啟動文件并加載至目標(biāo)服務(wù)器內(nèi)存中,構(gòu)成臨時操作系統(tǒng),實現(xiàn)目標(biāo)服務(wù)器的網(wǎng)絡(luò)啟動。
2.6 操作系統(tǒng)網(wǎng)絡(luò)安裝
目標(biāo)服務(wù)器借助運(yùn)行在內(nèi)存上的臨時操作系統(tǒng),根據(jù)目標(biāo)服務(wù)器自動應(yīng)答文件中的配置內(nèi)容,從系統(tǒng)軟件庫獲取操作系統(tǒng)和系統(tǒng)基礎(chǔ)軟件的數(shù)據(jù)包,并將數(shù)據(jù)包下載安裝至目標(biāo)服務(wù)器的本地磁盤,構(gòu)建本地磁盤操作系統(tǒng)。
2.7 操作系統(tǒng)自動化配置
目標(biāo)服務(wù)器根據(jù)自動應(yīng)答文件中的操作系統(tǒng)配置信息,在服務(wù)器操作系統(tǒng)安裝過程中對物理設(shè)備的配置指標(biāo)參數(shù)與操作系統(tǒng)資源參數(shù)(包括文件系統(tǒng)規(guī)劃分區(qū)、安全加固、用戶資源限制等)進(jìn)行自動化初始配置。
2.8 任務(wù)交付
在執(zhí)行物理服務(wù)器自動化批量部署過程中,Cobbler服務(wù)器會記錄每個執(zhí)行階段的執(zhí)行數(shù)據(jù)日志,便于作業(yè)任務(wù)跟蹤以及作業(yè)失敗的問題追溯。自動化批量部署作業(yè)任務(wù)完成后,所有物理服務(wù)器均為為開啟狀態(tài)。
3 結(jié)束語
相較于虛擬服務(wù)器,裸金屬物理服務(wù)器由于其固有硬件物理實體屬性,在資源部署與配置方面缺乏靈活性,導(dǎo)致云計算平臺通常無法動態(tài)控制管理物理服務(wù)器,限制了云計算平臺的發(fā)展與應(yīng)用場景。因此,本研究基于Cobbler服務(wù)工具進(jìn)行二次開發(fā)與封裝,建立形成了一套裸金屬物理服務(wù)器自動化批量部署方法,該方法通過Cobbler網(wǎng)絡(luò)部署中央調(diào)度控制技術(shù),實現(xiàn)了云計算平臺中裸金屬物理服務(wù)器高效的自動化批量安裝與配置。
然而,裸金屬物理服務(wù)器電源自啟動以及操作系統(tǒng)自動化安裝配置只是云計算平臺控制管理裸金屬物理服務(wù)器的第一步,未來將深入研究如何自動創(chuàng)建云計算平臺中裸金屬物理服務(wù)器集群,并能為集群自動添加、刪除物理服務(wù)器,實現(xiàn)物理服務(wù)器計算資源的彈性伸縮。
參考文獻(xiàn):
[1]李喬,等.云計算研究現(xiàn)狀綜述[J].計算機(jī)科學(xué),2011,38(4):32-37.
[2]陳全,等.云計算及其關(guān)鍵技術(shù)[J].計算機(jī)應(yīng)用,2009,29(9):2562-2567.
[3]陳英達(dá),等.大型電力企業(yè)IDC運(yùn)行環(huán)境下虛擬服務(wù)器自動化批量部署研究[J].自動化與儀器儀表,2017(8):99-101.
[4]Cobbler(software)[EB/OL].https://en.wikipedia.org/wiki/Cobbler_(software).
[5]張棟.Linux服務(wù)器配置與管理[M].北京:人民郵電出版社,2009.endprint