云計(jì)算是一種利用互聯(lián)網(wǎng)實(shí)現(xiàn)隨時(shí)隨地、按需、便捷地訪問共享資源池的計(jì)算模式。云計(jì)算把管理一個(gè)計(jì)算中心的費(fèi)用和維護(hù)硬件的費(fèi)用轉(zhuǎn)換到第三方,如亞馬遜EC2。公司或者個(gè)人根據(jù)其業(yè)務(wù)負(fù)載快速申請(qǐng)或釋放資源,只需支付實(shí)際資源的使用費(fèi)用就可以在世界范圍內(nèi)部署所需服務(wù)。
美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院將按需自助、快速?gòu)椥缘榷x為云計(jì)算的必備特征。虛擬化及其相關(guān)技術(shù)是目前實(shí)現(xiàn)這些特征的主要技術(shù)之一。云計(jì)算平臺(tái)需要通過靈活的部署和搭建不同規(guī)模與類型的虛擬機(jī)群來應(yīng)對(duì)各異的用戶需求,從而實(shí)現(xiàn)其彈性服務(wù)。虛擬機(jī)調(diào)度是云計(jì)算環(huán)境下的一個(gè)重要機(jī)制。隨著用戶數(shù)量及業(yè)務(wù)增長(zhǎng)的迅速增長(zhǎng),對(duì)大規(guī)模、大容量的虛擬機(jī)的快速部署提出了更高的要求。
1 背景與相關(guān)研究
1.1傳統(tǒng)的虛擬機(jī)部署策略
傳統(tǒng)的調(diào)度平臺(tái)主要由調(diào)度中心、宿主機(jī)和虛擬機(jī)鏡像模板庫(kù)三部分組成,如圖1所示。
1)調(diào)度中心:接收部署請(qǐng)求,根據(jù)該請(qǐng)求在機(jī)群中選擇滿足特定條件的目標(biāo)宿主機(jī)。
2)宿主機(jī):承載虛擬機(jī)的實(shí)例化及運(yùn)行功能。主要包含宿主機(jī)管理、模板傳輸和實(shí)例化等模塊。其中虛擬機(jī)管理模塊用于提供虛擬機(jī)的運(yùn)行及管理服務(wù);模板傳輸模塊用于從虛擬機(jī)鏡像模板庫(kù)中獲取模板文件至宿主機(jī);實(shí)例化模塊用于對(duì)虛擬機(jī)鏡像模板進(jìn)行實(shí)例化。
3)虛擬機(jī)鏡像模板庫(kù):用來存儲(chǔ)與管理云計(jì)算平臺(tái)預(yù)定制的各類型虛擬機(jī)模板。
圖1 傳統(tǒng)的部署模型
其部署流程如下:
a)調(diào)度中心接收部署請(qǐng)求;
b)調(diào)度中心根據(jù)部署請(qǐng)求及約束條件在集群中選擇能夠滿足需求的一臺(tái)宿主機(jī)作為目標(biāo)主機(jī),并將該請(qǐng)求轉(zhuǎn)給該宿主機(jī)的虛擬機(jī)管理模塊;
c)由宿主機(jī)上的模板傳輸模塊從虛擬機(jī)鏡像模板庫(kù)中獲取虛擬機(jī)鏡像模板文件;
d)通過宿主機(jī)上的實(shí)例化模塊將虛擬機(jī)鏡像模板文件加載并實(shí)例化。
1.2傳統(tǒng)的虛擬機(jī)部署策略的局限性
傳統(tǒng)部署方法存在著如下三個(gè)方面的局限性:a)通常一個(gè)安裝有操作系統(tǒng)和各種應(yīng)用業(yè)務(wù)軟件的虛擬機(jī)模板映像的容量在幾個(gè)甚至幾十個(gè)GB以上,傳輸這種大尺寸的映像文件往往需要很長(zhǎng)的時(shí)間,降低了整體的部署效率;b)在部署含有大量虛擬機(jī)的集群時(shí),會(huì)導(dǎo)致較高的網(wǎng)絡(luò)傳輸開銷;c)大多數(shù)虛擬機(jī)模板庫(kù)依賴于集中式存儲(chǔ),其往往成為數(shù)據(jù)吞吐的瓶頸,而且其單點(diǎn)故障也會(huì)對(duì)平臺(tái)的整體運(yùn)行帶來關(guān)鍵影響。
1.3 相關(guān)研究
針對(duì)上述問題,國(guó)內(nèi)外一些學(xué)者在如何快速部署虛擬機(jī)、優(yōu)化虛擬機(jī)調(diào)度效率等方面做了相關(guān)研究。文獻(xiàn)[8,9]參考fork函數(shù)的思想,利用父虛擬機(jī)迅速克隆出大量子虛擬機(jī),這樣可以通過并行創(chuàng)建子虛擬機(jī)的方式來提高虛擬機(jī)調(diào)度效率。文獻(xiàn)[6]給出了一種虛擬機(jī)快速克隆方法,利用寫時(shí)拷貝技術(shù)來創(chuàng)建虛擬磁盤和內(nèi)存狀態(tài)的快照,然后用按需分配內(nèi)存技術(shù)和多點(diǎn)傳送技術(shù)來請(qǐng)求和傳輸這些狀態(tài)信息。但上述機(jī)制依然依賴于集中存儲(chǔ)式的架構(gòu)。文獻(xiàn)[10]提出聚合各宿主機(jī)的存儲(chǔ)空間為一個(gè)通用存儲(chǔ)池,并將虛擬機(jī)鏡像模板分別存儲(chǔ)在存儲(chǔ)池中,通過并行數(shù)據(jù)傳輸來提高部署效率。其缺點(diǎn)在于鏡像模板缺少冗余存儲(chǔ),當(dāng)大量部署同一類型的虛擬機(jī)時(shí),由于頻繁的數(shù)據(jù)傳輸會(huì)大大增加該存儲(chǔ)節(jié)點(diǎn)的負(fù)載。
2 優(yōu)化的虛擬機(jī)模板部署策略
2.1 部署模型
本文在上述文獻(xiàn)的基礎(chǔ)上提出的云計(jì)算虛擬機(jī)調(diào)度由五部分組成,如圖2所示。
圖2 優(yōu)化的虛擬機(jī)調(diào)度模型
1)調(diào)度中心:接收用戶服務(wù)請(qǐng)求,根據(jù)該請(qǐng)求在服務(wù)器集群中選擇滿足用戶需求的一臺(tái)服務(wù)器作為宿主機(jī),并將服務(wù)請(qǐng)求轉(zhuǎn)給該宿主機(jī)。
2)宿主機(jī):包含虛擬機(jī)管理模塊、數(shù)據(jù)塊傳輸模塊、數(shù)據(jù)塊合并模塊、存儲(chǔ)節(jié)點(diǎn)負(fù)載表和實(shí)例化模塊。各模塊功能如下:硬件配置模塊,根據(jù)調(diào)度中心命令配置宿主機(jī)硬件環(huán)境;數(shù)據(jù)塊傳輸模塊,從數(shù)據(jù)塊管理服務(wù)器上獲取模板與數(shù)據(jù)塊的信息,以并發(fā)方式從客戶機(jī)存儲(chǔ)資源處存儲(chǔ)各數(shù)據(jù)塊;數(shù)據(jù)塊合并模塊,將獲取的各數(shù)據(jù)塊合并為鏡像模板;存儲(chǔ)節(jié)點(diǎn)負(fù)載表,主要包含Data_path(分塊存儲(chǔ)位置)、Load_size(該存儲(chǔ)節(jié)點(diǎn)負(fù)載量)、Down_speed(該節(jié)點(diǎn)的傳輸速度)。
3)數(shù)據(jù)塊服務(wù)器:包含模板傳輸模塊、數(shù)據(jù)塊分割模塊和數(shù)據(jù)塊信息數(shù)據(jù)庫(kù)。各模塊功能如下:模板傳輸模塊,從虛擬機(jī)鏡像模板庫(kù)中傳輸模板文件;數(shù)據(jù)塊分割模塊,將模板文件分割為大小相等的數(shù)據(jù)塊(除最后一個(gè)數(shù)據(jù)塊);數(shù)據(jù)塊信息數(shù)據(jù)庫(kù),用于存儲(chǔ)模板和數(shù)據(jù)塊的相關(guān)信息,主要包括模板分塊表和數(shù)據(jù)塊存儲(chǔ)表。
4)虛擬機(jī)鏡像模板庫(kù):用來存儲(chǔ)云平臺(tái)所提供的虛擬機(jī)鏡像模板和用戶自己的虛擬機(jī)鏡像模板。
5)機(jī)群存儲(chǔ)資源池:將用各宿主機(jī)的部分可用存儲(chǔ)介質(zhì)組成共享的通用存儲(chǔ)池,用于分布式存儲(chǔ)虛擬機(jī)模板數(shù)據(jù)塊,作為模板傳輸源。這種方法有兩方面的好處:a)潛在的高擴(kuò)展性,隨著用戶數(shù)目的增加自動(dòng)增加虛擬機(jī)鏡像模板的存儲(chǔ)空間;b)它釋放了大量的集中存儲(chǔ)空間,促進(jìn)I/O性能提高和提供了數(shù)據(jù)吞吐量。
2.2 部署前的準(zhǔn)備工作
部署前的準(zhǔn)備工作是數(shù)據(jù)塊管理服務(wù)器從虛擬機(jī)鏡像模板庫(kù)中讀取虛擬機(jī)鏡像模板,將其分割為若干數(shù)據(jù)塊,并分別部署到各宿主機(jī)組成的存儲(chǔ)資源池中,同時(shí)將模板分割表和數(shù)據(jù)塊存儲(chǔ)表等相關(guān)信息存儲(chǔ)在數(shù)據(jù)塊信息數(shù)據(jù)庫(kù)中。
先在數(shù)據(jù)塊管理服務(wù)器上安裝模板傳輸模塊、數(shù)據(jù)塊分割模塊和數(shù)據(jù)塊信息數(shù)據(jù)庫(kù)。圖2中流程如下:
(a)模板傳輸模塊從虛擬機(jī)鏡像模板庫(kù)中讀取虛擬機(jī)鏡像模板文件。
(b)數(shù)據(jù)塊分割模塊將虛擬機(jī)鏡像模板文件分割為若干數(shù)據(jù)塊,同時(shí)記錄各數(shù)據(jù)塊的起始位置。完成分塊任務(wù)后,將數(shù)據(jù)塊分布存儲(chǔ)在客戶機(jī)資源池中。例如將一鏡像文件VM1.vd分割為VM1_1.vd、VM1_2.vd、VM1_3.vd、VM1_4.vd和VM1_5.vd五個(gè)數(shù)據(jù)塊。為服務(wù)的穩(wěn)定性,這里采用冗余存儲(chǔ)的方式,例如一臺(tái)服務(wù)器上存儲(chǔ)有VM1_1.vd,同時(shí)在其他服務(wù)器上存儲(chǔ)VM1_1.vd的副本文件VM1_1.vd’。其存儲(chǔ)示意如圖3所示。
server1: VM1.1.vd VM1.3.vd’
server2: VM1.2.vd VM1.2.vd’
server3: VM1.3.vd VM1.4.vd’
server4: VM1.4.vd VM1.5.vd’
server5: VM1.5.vd VM1.1.vd
圖3 數(shù)據(jù)塊分布存儲(chǔ)示意圖
(c)對(duì)每一個(gè)虛擬機(jī)鏡像模板分塊信息存儲(chǔ)在模板分塊表中包含VM_name(模板名稱)、Data_num(數(shù)據(jù)塊數(shù)目);將數(shù)據(jù)塊的存儲(chǔ)信息存儲(chǔ)在數(shù)據(jù)塊存儲(chǔ)表中,包含VM_name、Data_sequence(數(shù)據(jù)塊序號(hào))、Data_path(網(wǎng)絡(luò)存儲(chǔ)位置)、Start_pos(起始位置)、End_pos(結(jié)束位置)、Storage_num(存有該數(shù)據(jù)塊的節(jié)點(diǎn)數(shù)目)。模板分塊表和數(shù)據(jù)塊存儲(chǔ)表均存儲(chǔ)在數(shù)據(jù)塊信息數(shù)據(jù)庫(kù)中。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:云計(jì)算環(huán)境下虛擬機(jī)部署策略的優(yōu)化(上)
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/1083976446.html