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