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