云計算虛擬化技術解讀_第1頁
云計算虛擬化技術解讀_第2頁
云計算虛擬化技術解讀_第3頁
云計算虛擬化技術解讀_第4頁
云計算虛擬化技術解讀_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

云計算虛擬化技術解讀(1)胡經國本文作者的話本文是根據有關文獻和資料編寫的《漫話云計算》系列文稿之一。現作為云計算學習筆錄,奉獻給云計算業外讀者,作為進一步學習和研究的參考。希望能夠得到大家的指教和喜歡!下面是正文本文主要內容涉及虛擬化及其層次、虛擬化方式選擇、虛擬化管理、數據中心虛擬化。一、虛擬化及其層次虛擬化,是指在同一臺物理機器上模擬多臺虛擬機的能力。每臺虛擬機,在邏輯上擁有獨立的處理器、內存、硬盤和網絡接口。使用虛擬化技術,能夠提高硬件資源的利用率,使得多個應用能夠運行在同一臺物理機上,各自擁有彼此隔離的運行環境。虛擬化也有不同的層次。例如,硬件層面虛擬化和軟件層面虛擬化。(下圖中:Application:應用(程序)OperatingSystem:操作系統VMwareVirtualizationLayer:VMware虛擬化層次IntelArchitecture:英特爾架構CPU:中央處理器Memory:內存NIC:網卡Disk:磁盤、硬盤)鏈接:VMwareVMware(中文名威睿,紐約證券交易所代碼VMW)是一家虛擬機軟件公司的英文名稱。該公司是全球桌面到數據中心虛擬化解決方案的領導廠商。全球不同規模的客戶依靠VMware來降低成本和運營費用、確保業務持續性、加強安全性并走向綠色。2008年,VMware年收入達到19億美元,擁有逾150000的用戶和接近22000多家合作伙伴,是增長最快的上市軟件公司之一。VMware總部設在加利福尼亞州的帕羅奧多市(PaloAlto)。1、硬件層面虛擬化硬件層面虛擬化,是指通過模擬硬件的方式,獲得一個類似于真實計算機的環境,可以運行一個完整的操作系統。硬件層面虛擬化,又可分為不同的實現方式,例如:⑴、FullVirtualization(全虛擬化)幾乎是完整地模擬一套真實的硬件設備。大部分操作系統無須進行任何修改即可直接運行在全虛擬化環境中。⑵、PartialVirtualization(部分虛擬化)僅僅提供了對關鍵性計算組件或者指令集的模擬。操作系統可能需要做某些修改才能夠運行在部分虛擬化環境中。⑶、Paravirtualization(半虛擬化)不對硬件設備進行模擬,虛擬機擁有獨立的運行環境,通過虛擬機管理程序共享底層的硬件資源。大部分操作系統需要進行修改才能夠運行在半虛擬化環境中。在硬件虛擬化層面,現代的虛擬化技術通常是全虛擬化和半虛擬化的混合體。常見的虛擬化技術,例如VMWare、Xen和KVM,都同時提供了對全虛擬化和半虛擬化的支持。以硬件虛擬化的方式所提供的虛擬機,通常都在運行一個完整的操作系統,在同一臺宿主機上存在大量相同或者相似的進程和內存頁。從而,導致明顯的性能損耗。目前,通過KSM等技術,可以識別與合并含有相同內容的內存頁。但是,還沒有對大量相同或者相似的進程進行優化處理的有效手段。因此,硬件虛擬化,也往往被稱為重量級虛擬化。在同一宿主機上,能夠同時運行的虛擬機數量,是相當有限的。鏈接:宿主機和目標機宿主機,是指安裝虛擬機軟件的計算機。目標機,是指除了宿主機、虛擬機以外的網絡上的第三方機器。鏈接:KSM技術KSM(KernelSharedMemory或KernelSamepageMerging,內核共享內存或內核相同頁合并)技術。對于KVM虛擬化,有一個功能就是內存合并。簡單說,就是把相同的內存合并,這樣可以讓你的物理機運行更多的虛擬機。KVM就是KeyboardVideoMouse(鍵盤、視頻、鼠標)的縮寫。KVM交換機通過直接連接鍵盤、視頻和鼠標端口,讓您能夠訪問和控制計算機。2、軟件層面虛擬化軟件層面虛擬化,往往是指在同一個操作系統實例的基礎上,提供多個隔離的虛擬運行環境,也常常被稱為容器技術。在軟件虛擬化層面,同一宿主機上的所有虛擬機,共享同一個操作系統實例,不存在由于運行多個操作系統實例所造成的性能損耗。因此,軟件虛擬化也往往被稱為輕量級虛擬化。在同一宿主機上,能夠同時運行的虛擬運行環境數量,是比較寬松的。以Solaris操作系統上的Container(容器)為例,一個Solaris操作系統的實例,理論上可以支持多達8000個Container(實際能夠運行的Container數量取決于系統資源和負載)。與此類似,Linux操作系統上的LXC,可以輕松地在同一宿主機上同時支持數量可觀的虛擬運行環境。鏈接:容器技術由于hypervisor(虛擬機監控程序)虛擬化技術仍然存在一些性能和資源使用效率方面的問題,因而出現了一種稱為容器技術(Container)的新型虛擬化技術來幫助解決這些問題。鏈接:LXCLXC(LinuxContainer,Linux容器),是一種內核虛擬化技術,可以提供輕量級的虛擬化,以便隔離進程和資源,而且不需要提供指令解釋機制以及全虛擬化的其他復雜性。二、虛擬化方式選擇在虛擬化這個領域,國內的公司對硬件虛擬化的興趣較大。在研發和生產環境中,也大都采用硬件虛擬化技術。淘寶,是國內較早地研究并應用軟件虛擬化技術的。淘寶主站的實踐經驗表明,使用cgroup替代Xen,能夠提升資源利用率。鏈接:CgroupsCgroups(Controlgroups,對照組),是Linux內核提供的一種可以限制、記錄、隔離進程組(processgroups)所使用的物理資源(如:cup,memory,IO等等)的機制。最初由Google的工程師提出,后來被整合進Linux內核。Cgroups也是LXC為實現虛擬化所使用的資源管理手段,可以說沒有Cgroups就沒有LXC。鏈接:XenXen,是一個開放源代碼虛擬機監視器,由劍橋大學開發。它打算在單個計算機上運行多達100個滿特征的操作系統。操作系統必須進行顯式地修改(移植),以便在Xen上運行(但是提供對用戶應用的兼容性)。這使得Xen無需特殊硬件支持,就能達到高性能的虛擬化。至于在一個實際的應用場景中,到底應該選擇硬件虛擬化還是軟件虛擬化,應該重點考慮最終用戶是否需要對操作系統的完全控制權(例如升級內核版本)。如果最終用戶僅僅需要對運行環境的控制權(例如PaaS層面的各種AppEngine服務),軟件虛擬化可能性價比更高。對于為同一應用提供橫向擴展能力的應用場景,軟件虛擬化也是比較好的選擇。對于需要深入了解虛擬化技術的技術人員來說,VMWare發表的白皮書《UnderstandingFullVirtualization,Paravirtualization,andHardwareAssist》是一份很好的參考資料。通常來講,能夠直接使用虛擬化技術的用戶數量是比較少的。以Linux操作系統為例,能夠進行虛擬機生命周期管理的用戶,一般就是具有訪問libvirt權限的用戶。在一個公司或者其他實體中,這些用戶通常是系統管理員。鏈接:libvirtlibvirt是一套免費、開源的支持Linux下主流虛擬化工具的C函數庫,其旨在為包括Xen在內的各種虛擬化工具提供一套方便、可靠的編程接口。三、虛擬化管理1、兩種管理情況早期的虛擬化技術,解決的是在同一臺物理機上提供多個相互獨立的運行環境的問題。當需要管理的物理機數量較小時,系統管理員可以手動登錄到不同的物理機上,進行虛擬機生命周期管理(資源配置、啟動、關閉等等)。當需要管理的物理機數量較大時,就需要寫一些腳本/程序,來提高虛擬機生命周期管理的自動化程度。2、虛擬化管理工具以管理和調度大量物理/虛擬計算資源為目的軟件,稱為虛擬化管理工具。虛擬化管理工具使得系統管理員可以從同一個位置執行如下任務:⑴、對不同物理機上的虛擬機進行生命周期管理;⑵、對所有的物理機和虛擬機進行查詢甚至監控;⑶、建立虛擬機命名與虛擬機實例直接的映射關系,使得虛擬機的識別和管理更加容易。鏈接:虛擬機生命周期使用虛擬機生命周期管理工具制定一個計劃,可以幫助你保持虛擬化環境平穩運行。雖然虛擬機可以永遠運行,但并不意味著應該這樣使用。虛擬機生命周期管理幫助你判斷虛擬機應該何時收回。虛擬機生命周期過程相對來講比較復雜,從虛擬機生命周期的四個階段開始:規劃、準備、生產和收回。虛擬機生命周期管理的關鍵在于弄明白何時應該更換虛擬機。Linux操作系統上的VirtManager,是一個簡單的虛擬化管理工具。在VMWare(VMW,虛擬機軟件,是全球桌面到數據中心虛擬化解決方案的領導廠商)產品家族中,VMWarevSphere,是一個功能強大的虛擬化管理工具。虛擬化管理工具,是虛擬化技術的自然延伸。簡單的虛擬化管理工具,解決的是由于物理機數量增多所導致的工作內容繁雜問題。在這個層面,虛擬化管理通常和集群的概念同時出現。一個虛擬化管理工具,往往需要獲得各臺物理機上的虛擬機生命周期管理權限(例如具有訪問libvirt權限的用戶名和密碼)。在同一個集群當中,為了方便起見,可能需要設定一個在整個集群層面通用的管理用戶。可以認為,虛擬化管理為系統管理員提供了便利;但是并沒有將虛擬機生命周期管理的權限下放給其他用戶。四、數據中心虛擬化1、數據中心虛擬化管理系統在數據中心層面,系統管理員需要面對大量不同類型的硬件和應用。與小型集群相比較,數據中心的系統復雜度大大提高了。這時,簡單的虛擬化管理工具,已經無法滿足系統管理員的要求。因此,在虛擬化管理工具的基礎上,又發展出各種數據中心虛擬化管理系統。在硬件層面,數據中心虛擬化管理系統,通過劃分資源池(一個資源池通常是一個集群)的方式,對硬件資源進行重新組織;并以虛擬基礎構架(VirtualInfrastructure)的方式將計算資源暴露給用戶。在軟件層面,數據中心虛擬化管理系統,引入系統管理員和普通用戶兩種不同的角色,甚至是基于應用場景的需要設定顆粒度更細的基于角色的權限控制(RoleBasedAccessControl,RBAC)。系統管理員,對整個數據中心的物理機和虛擬機擁有管理權限;但是一般不對正常的虛擬機進行干涉。普通用戶,只能在自己具有權限的資源池內進行虛擬機生命周期管理操作,不具有控制物理機的權限。在極端的情況下,普通用戶只能夠看到分配給自己的資源池,而不了解組成該資源池的物理機細節。在數據中心虛擬化之前,創建虛擬機的動作,是需要系統管理員來完成的。在數據中心虛擬化管理系統中,通過基于角色的權限控制,虛擬機生命周期管理的權限被下放給所謂的“普通用戶”,在一定程度上可以減輕系統管理員的負擔。但是,出于系統安全的考慮,并不是公司里所有的員工都能夠擁有這樣的“普通用戶”賬號。一般來說,這種“普通賬號”只能夠分配給某個團隊的負責人。可以認為,一直到數據中心虛擬化這個層面,虛擬機的生命周期還是集中式管理的。數據中心虛擬化管理系統,是虛擬化管理工具的進一步延伸。它所解決的是由于硬件和應用規模上升所帶來的系統復雜度問題。具體的物理設備被抽象成資源池之后,公司高管只需要了解各個資源池的規模、負載和健康狀況;最終用戶只需要了解分配給自己的資源池的規模、負載和健康狀況。只有系統管理員,還需要對每一臺物理設備的配置、負載和故障了如指掌。但是,資源池的概念也從邏輯上對所有的物理設備進行了重新整理和分類,使得系統管理員的工作變得更加容易了。2、數據中心虛擬化管理系統提供的運維自動化功能現代的數據中心虛擬化管理系統,往往提供了大量有助于運維自動化的功能。這些功能包括:⑴、基于模板快速部署一系列相同或者是相似的運行環境;⑵、監控、報表、預警、會計功能;⑶、高可用性、動態負載均衡、備份與恢復等等。一些相對開放的數據中心虛擬化管理系統,甚至以開放API的方式,使得系統管理員能夠根據自身的應用場景和流程,開發額外的擴展功能。3、值得推薦的數據中心虛擬化管理軟件在VMWare產品家族中,VMWarevCenter是一個數據中心虛擬化管理軟件。其他值得推薦的數據中心虛擬化管理軟件,包括: Convirt,XenServer,OracleVM,OpenQRM等等。五、云計算一一對數據中心虛擬化的進一步封裝1、 云計算管理軟件云計算是對數據中心虛擬化的進一步封裝。在云計算管理軟件中,同樣需要有云管理員和普通用戶兩種(甚至更多)不同的角色以及不同的權限。管理員,對整個數據中心的物理機和虛擬機擁有管理權限;但是一般不對正常的虛擬機進行干涉。普通用戶,可以通過瀏覽器自助地進行虛擬機生命周期管理,也可以編寫程序通過WebService(Web服務)自動地進行虛擬機生命周期管理。2、 云計算層面虛擬機生命周期管理在云計算這個層面,虛擬機生命周期管理的權限,被徹底下放給真正的普通用戶。但是,也將資源池和物理機等等概念,從普通用戶的視野中屏蔽了。普通用戶可以獲得計算資源,但是無需對其背后的物理資源有任何了解。從表面上看,云計算似乎就是以與AmazonEC2/S3相兼容的模式提供計算資源。而在實質上,云計算使計算資源管理的模式發生了改變,最終用戶不再需要系統管理員的幫助即可自助地獲得和管理計算資源。3、 云計算管理軟件的數據中心虛擬化管理功能對于云管理員來說,將虛擬機生命周期管理權限下放到最終用戶,并沒有降低其工作壓力。相反,他有了更加令人頭疼的事情需要去處理。在傳統的IT架構中,往往是一個應用配備一套計算資源,應用之間存在物理隔離,問題診斷也相對容易。在升級到云計算模式之后,多個應用可能共享同一套計算資源;應用之間存在資源競爭,問題診斷就相對困難。因此,云管理員往往希望選用的云計算管理軟件,能夠有相對全面的數據中心虛擬化管理功能。對于云管理員來說,至關重要的功能包括:⑴、監控、報表、預警、會計功能;⑵、高可用性、動態負載均衡、備份與恢復等等;⑶、動態遷移,可以用于局部負載調整以及故障診斷。顯而易見,從虛擬化到云計算,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論