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