1.云計算與虛擬化技術
云計算是IT產業的又一次變革,它將各種傳統的計算資源、存儲資源以及網絡資源,通過互聯網全部轉移到“云中”,用戶不必了解設備的位置,也不必了解計算的過程,而只要“按需使用”就行了。其基本原理是使計算從本地計算機或遠程服務器中分布到大量的分布式計算機上。云計算是隨著處理器技術、分布式技術、虛擬化技術、自動化技術和互聯網技術的發展而產生的,它也可以說是能夠提供動態資源池、虛擬化和高可用性的下一代計算平臺。
虛擬化技術并不是一項新技術,它的發展過程可以概括為圖1所示。但正因為虛擬化技術的發展與完善,才使得數據中心的資源被激活,同時也使得云計算或網格內的各項資源調度和分配真正意義上實現了靈活性和按需分配。虛擬化使得用戶不用關心特定應用軟件的服務方式、不用關心計算平臺的操作系統以及軟件環境等底層資源的物理配置與管理、不用關心計算中心的地理位置,實現真正意義上的軟件作為服務(SaaS)、平臺作為服務(PaaS) 、基礎設施作為服務(IaaS)。
圖1:虛擬化的發展過程
虛擬化是支撐云計算的重要技術基石,云計算中所有應用的物理平臺和部署環境都依賴虛擬平臺的管理、擴展、遷移和備份,各操作都通過虛擬化層次完成。從云計算的最重要的虛擬化特點來看,大部分軟件和硬件已經對虛擬化有一定支持,可以把各種IT資源、軟件、硬件、操作系統和存儲網絡等要素都進行虛擬化,放在云計算平臺中統一管理。虛擬化技術打破了各種物理結構之間的壁壘,代表著把物理資源轉變為邏輯可管理資源的必然趨勢,不久的將來所有的資源都透明地運行在各種物理平臺上,資源的管理都將按邏輯方式進行,完全實現資源的自動化分配,而虛擬化技術則是實現這一構想重要的工具。下面將從服務器、存儲和網絡三方面探討虛擬化技術在云計算中的應用。
2.服務器虛擬化
服務器虛擬化是將底層物理設備與上層操作系統、軟件分離的一種去耦合技術,它將硬件、操作系統和應用程序一同裝入一個可遷移的虛擬機檔案文件中。虛擬化通過其管理軟件將多個物理設備納入統一的資源池進行管理,從而增強了物理設備和物理設備之間的耦合性。在單一物理服務器上可同時運行多個虛擬機,同時虛擬機之間相互隔離,以提高資源利用率,降低能耗,實現服務器的共享和隔離。虛擬機可以根據其需求彈性增加或減少其分配的硬件資源,提高資源配置的靈活性,以實現資源彈性。虛擬機將整個系統,包括硬件配置、操作系統以及應用等 裝在文件里,用于系統快速部署、軟件發布、系統備份,可以在不同服務器上不加修改直接遷移正在運行的虛擬機,增強系統的可靠性和可擴展性。圖2為服務器虛擬化技術應用于云計算的簡單示意圖。
圖2:云計算服務器虛擬化模型
從技術原理來看,通常使用虛擬機監視器(VMM)或虛擬化平臺(Hypervisor)來實現服務器硬件設備的分離、虛擬機的管理及資源的調度。根據虛擬化層實現的不同,可將服務器虛擬化分為寄宿虛擬化和原生虛擬化,根據虛擬化核心技術的不同,又可分別對服務器的CPU、內存、設備及IO實現虛擬化。云計算利用服務器虛擬化技術可實現對虛擬機的部署和配置,通過對虛擬機的快速部署和實時遷移能大大提高系統的效能,還可通過對虛擬機資源的調整來實現軟件系統的可伸縮性,確保系統能迅速從故障中恢復并繼續提供服務,提高了系統的可靠性與穩定性。服務器虛擬化技術還可實現將高負載節點中的某些虛擬機實時遷移到低負載的節點,把多個低負載的虛擬機合并到一個物理節點,并將多余的空閑物理節點關閉,以提高資源的使用效率,使負載達到均衡,從而使上層應用的性能得到了保障,同時還達到了減少能耗的目的。
[page]
目前,全球各大服務器提供商在云服務器及虛擬化軟件的研發上都下足了力氣,同時也出現了不少虛擬化技術產品,如Citrix的XEN Hypervisor、Microsoft的Hyper-V、Redhat的KVM以及Huawei的UVP等,它們在虛擬化架構、CPU虛擬化、內存虛擬化、客戶0S及虛擬機遷移、存儲遷移等多項虛擬化技術上都有各自的優勢與特點。如Hyper-V采用微內核的架構,兼顧了安全性和性能的要求,其底層的Hypervisor代碼量很小,且不包含任何第三方驅動,因此具有高效率的VMbus架構,并完美支持Linux系統;而KVM是一個開源的系統虛擬化模塊,它使用Linux自身的調度器進行管理,相對于Xen其核心源碼很少,但KVM的虛擬化需要硬件支持,是基于硬件的完全虛擬化。
聲明:凡注明CIO時代網(www.ciotimes.com)之作品(文字、圖片、圖表),轉載請務必注明出處為CIO時代網(www.ciotimes.com),違者本網將依法追究責任。
3.存儲虛擬化
存儲虛擬化(Storage Virtualization)是指對存儲硬件資源進行抽象化的表現,通過將一個或多個目標服務或功能與其它附加的功能集成,統一提供有用的全面功能服務。虛擬化是作用在一個或者多個實體上的,而這些實體則是用來提供存儲資源或服務,存儲虛擬化是一種貫穿于其中,用于簡化本來可能會相對復雜的底層基礎架構的技術。存儲虛擬化的思想是將資源的邏輯映像與物理存儲分開,從而為系統和管理員提供一幅簡化、無縫的資源虛擬視圖(如圖3)。典型的虛擬化包括屏蔽系統的復雜性,增加或集成新的功能,仿真、整合或分解現有的服務功能等。
圖3:存儲虛擬化模型
虛擬存儲技術主要包括數據鏡像復制技術、數據遷移技術和存儲整合。數據鏡像復制技術一般來說鏡像是在硬件的基礎上通過軟件來實現,通常使用的遠程鏡像根據采用的協議不同又分為同步和異步兩種技術;數據遷移技術是將歷史數據進行轉換并裝載到新系統的過程,它是新系統成功上線的重要技術前提,也是系統后期業務穩定運行的有力保障;存儲整合集中容量分配、供應、以及數據移動能力,為多層 多用戶存儲環境提供更大靈活性,從而降低成本和系統的復雜性 另外,存儲虛擬化實現的方法可分三類:基于主機的虛擬存儲依賴于代理或管理軟件,它們安裝在一個或多個主機操作系統上,比如VMware Server或Virtual Server,從而實現存儲虛擬化的控制和管理;基于存儲設備的虛擬化,它對后臺使用的具體硬件的兼容性要求高,但可以將存儲和主機獨立起來;既不基于存儲設備也不基于服務器的網絡虛擬化存儲,它在兩者之間的網絡內部完成。
在云計算構架中,云用戶終端沒有任何儲存設備,他們只管享用“云中”的存儲服務,而不需擁有具體的存儲設備,也不必了解具體的存儲過程。云存儲是一個以數據存儲和管理為核心的云計算系統,它是一個復雜的存儲虛擬化和自動化過程。存儲虛擬化技術應用于云計算存儲系統中能夠提高硬件利用率,它將整個SAN中的存儲資源視為一個存儲池,從而掩蓋異構存儲之間的差異,通過通用管理界面就能進行數據管理和控制,減少互操作方面的工作,同時大幅簡化存儲資源的分配與管理。存儲虛擬化降低了用戶訪問數據的復雜性,云用戶可以自由選擇最能滿足應用需求的存儲系統。存儲虛擬化還使得每個虛擬機都是在被分配在劃定的云計算資源模塊中工作,內存、磁盤等和數據安全密切相關的存儲資源相互之間實現了資源隔離,虛擬機中的數據與信息形成相對獨立的資源,保證了數據的隔離性和安全性。
4.網絡虛擬化
虛擬化的計算資源和存儲資源最終都以網絡形式為用戶提供服務。如何通過虛擬化技術提高網絡資源的利用率,如何讓網絡具備靈活的可擴展性和可管理性,這些都是云計算網絡研究的重點。網絡虛擬化能使不同需求的用戶組訪問同一個物理網絡,但邏輯上卻進行一定程度的隔離,使其保持相對的獨立性,以確保網絡的安全使用。通過網絡虛擬化技術 可把多個 閉的用戶組設置在單一物理基礎設施上,更能確保整個網絡保持高度的實用性。安全性、可管理性和可擴)展性。網絡虛擬化安全、彈性、易管理和自適應的基礎網絡特征,能充分滿足服務器、存儲設備等云計算所需其他虛擬化技術對現有網絡帶來的挑戰。
[page]
云計算的基本架構主要包括云服務器、存儲和網絡,基于云計算的網絡架構又可分為數據中心網絡、跨數據中心網絡和泛在的云接人網絡三個部分(如圖4)。
圖4:云計算中網絡層次
數據中心網絡虛擬化包括核心層虛擬化、接入層虛擬化和虛擬機網絡交換。核心層網絡虛擬化是數據中心核心網絡設備的虛擬化,可提高資源的利用率以及交換系統的靈活性和擴展性,為資源的動態伸縮和靈活調度提供支撐;接入層虛擬化實現數據中心接入層的分級設計,支持新的以太網技術和各種靈活的部署方式;虛擬機網絡交換通過虛擬網絡交換機和物理網卡虛擬化,在服務器內部形成相應的交換機和網卡功能。
數據中心之間通過跨數據中心網絡進行計算或存儲資源的遷移和調度,我們可以通過構建大范圍的二層互聯網絡來進行大型的集群計算,也可以通過構建路由網絡連接來滿足多個虛擬數據中心提供云計算服務。在跨數據中心網絡各層間進行虛擬化的橫向擴展,還有利于數據中心規模的擴大,同時又不會影響網絡管理拓撲。另外,云計算中心通過泛在的云接入網絡為云用戶提供各項服務。由于云用戶分布廣、數量大,且接人方式各不相同,為此泛在的云接入網絡具有較強的適應性,能為云用戶提供更為安全可靠的數據存儲保障,能夠兼容多種方式接入和不同的終端,使更多的用戶能夠使用云計算服務,具備可擴展性,能夠方便的接入新的云計算,以提供更為快捷服務,同時在物理網絡上利用虛擬化技術劃分多個邏輯子網絡,網絡之間具有相對的獨立性,以保證云計算服務的安全使用。