解決方案
當前位置 >首頁 > 解決方案 > 基礎框架結構
虛拟化(huà)基礎架構

數據中心虛拟化(huà)基礎架構

免費試用
  • 産品介紹
  • 産品優勢
  • 解決方案

目前三個(gè)最主要的架構類别包括:

  • I型:虛拟機直接運行在系統硬件上(shàng),創建硬件全仿真實例,被稱為(wèi)“裸機”。

  • II型:虛拟機運行在傳統操作(zuò)系統上(shàng),同樣創建的是硬件全仿真實例,被稱為(wèi)“托管”hypervisor。

  • 容器(qì):虛拟機運行在傳統操作(zuò)系統上(shàng),創建一(yī)個(gè)獨立的虛拟化(huà)實例,指向底層托管操作(zuò)系統,被稱為(wèi)“操作(zuò)系統虛拟化(huà)”。

  圖 1 三種主要的虛拟化(huà)架構類型

  上(shàng)圖顯示了(le)每種架構使用的高層軟件“堆棧”,應當指出,在每種模型中,虛拟層是在不同層實現(xiàn)的,因此成本和效益都會不一(yī)樣。

  除了(le)上(shàng)面的架構類别外,知道hypervisor的基本元素也(yě)同樣重要,它包括:

  • 虛拟機監視(shì)器(qì)(Virtual Machine Monitor,VMM):它創建、管理(lǐ)和删除虛拟化(huà)硬件。

  • 半虛拟化(huà)(Paravirtualization):修改軟件,讓它知道它運行在虛拟環境中,對于一(yī)個(gè)給定的hypervisor,這(zhè)可能(néng)包括下(xià)面的一(yī)種或兩種:

  - 内核半虛拟化(huà):修改操作(zuò)系統内核,要求客戶機操作(zuò)系統/hypervisor兼容性。

  - 驅動半虛拟化(huà):修改客戶機操作(zuò)系統I/O驅動(網絡、存儲等),如(rú)Vmware Tools,MS Integration Components。

  操作(zuò)系統虛拟化(huà):容器(qì)

  在容器(qì)模型中,虛拟層是通過創建虛拟操作(zuò)系統實例實現(xiàn)的,它再指向根操作(zuò)系統的關(guān)鍵系統文件,如(rú)下(xià)圖所示,這(zhè)些(xiē)指針駐留在操作(zuò)系統容器(qì)受保護的内存中,提供低(dī)内存開銷,因此虛拟化(huà)實例的密度很大,密度是容器(qì)架構相對于I型和II型架構的關(guān)鍵優勢之一(yī),每個(gè)虛拟機都要求一(yī)個(gè)完整的客戶機操作(zuò)系統實例。

  圖 2 容器(qì)型虛拟化(huà)架構

  通過共享系統文件的優點,所有容器(qì)可能(néng)隻基于根操作(zuò)系統提供客戶機,舉一(yī)個(gè)簡單的例子(zǐ),一(yī)個(gè)基本的Windows Server 2003操作(zuò)系統也(yě)可用于創建Windows Server 2003容器(qì),同樣,任何适用于根操作(zuò)系統系統文件的補丁和更新(xīn),其子(zǐ)容器(qì)也(yě)會繼承,提供了(le)一(yī)個(gè)方便的維護方法。

  但(dàn)這(zhè)也(yě)可能(néng)會造成損害,根操作(zuò)系統收到破壞,客戶機也(yě)會跟着被破壞。

  在容器(qì)内,用戶可以使用特定應用程序,熱修複(但(dàn)不是服務(wù)包)和操作(zuò)系統服務(wù)組件自定義客戶機實例,對那些(xiē)在多數客戶機容器(qì)中會使用到的服務(wù)或應用程序,它們所需要的功能(néng)應該安裝到根操作(zuò)系統中,在客戶機實例中使用類似于模闆的方法自動獲得這(zhè)些(xiē)功能(néng)。

  在大多數情況下(xià),容器(qì)的數量僅受宿主操作(zuò)系統可用資源的限制,每個(gè)客戶機可能(néng)被配置為(wèi)根操作(zuò)系統限制的最大硬件資源,這(zhè)些(xiē)可擴展的特性與客戶機管理(lǐ)的易用性,使容器(qì)方法成為(wèi)需要高虛拟機密度的應用程序很有實力的候選者,如(rú)虛拟桌面。

  Parallels Virtuozzo容器(qì)是當今業界領先的操作(zuò)系統虛拟化(huà)産品,除了(le)上(shàng)述功能(néng)外,Virtuozzo提供了(le)高可用和跨物理(lǐ)主機遷移客戶機的功能(néng)(假設根操作(zuò)系統和補丁級别相同),架構上(shàng),Virtuozzo實現(xiàn)了(le)一(yī)個(gè)專有的内核服務(wù)抽象層(Kernal Service Abstract Layer,KSAL),保護宿主操作(zuò)系統文件,在可寫入文件系統上(shàng)保存一(yī)份安全的副本,使單獨修改客戶機成為(wèi)可能(néng)。與混合hypervisor(本文後面會有介紹)中的父分(fēn)區類似,第一(yī)個(gè)虛拟實例是一(yī)個(gè)簡單的管理(lǐ)容器(qì),它提供虛拟機監視(shì)功能(néng)。

  在Parallels Virtuozzo容器(qì)的最新(xīn)版本4.5中,包括在Hyper-V中嵌入Virtuozzo的支持,兩者都在父分(fēn)區中。

  圖 3 Hyper-V中嵌入Virtuozzo容器(qì)

  這(zhè)種實現(xiàn)方式雖然複雜,但(dàn)它展示了(le)Virtuozzo架構的靈活性,提供高虛拟機密度。

II型 hypervisor

  II型或托管型hypervisor通過一(yī)個(gè)軟件層在現(xiàn)有操作(zuò)系統上(shàng)實現(xiàn)硬件虛拟化(huà),與容器(qì)架構不一(yī)樣,II型客戶機提供了(le)一(yī)個(gè)完整的、獨立的、無依賴的客戶機操作(zuò)系統副本,通常利用半虛拟化(huà)驅動網絡和I/O提高客戶機性能(néng)。但(dàn)由于虛拟化(huà)功能(néng)必須通過宿主操作(zuò)系統,客戶機的性能(néng)大大低(dī)于裸機hypervisor。此外,還有一(yī)些(xiē)高可用和企業管理(lǐ)功能(néng)。由于這(zhè)些(xiē)原因,II型 hypervisor最常用于開發/測試或桌面類應用程序。

  流行的II型 hypervisor包括Vmware Workstation,Sun VirtualBox和Microsoft Virtual Server R2,它們的功能(néng)都差不多,因為(wèi)它們都不能(néng)勝任企業級工作(zuò)量,因為(wèi)後面我也(yě)不打算(suàn)繼續介紹它們。

 I型hypervisor

  I型或裸機hypervisor包括當今主流的企業級虛拟化(huà)産品,該類hypervisor直接運行在系統硬件上(shàng),提供了(le)更好(hǎo)(hǎo)的客戶機性能(néng)。通過處理(lǐ)器(qì)虛拟化(huà)擴展增強,包括英特爾VT和AMD-V技術,I型hypervisor甚至可以超越裸機操作(zuò)系統性能(néng)。使用這(zhè)一(yī)類hypervisor,有幾個(gè)子(zǐ)類型有必要詳細介紹:

  • 獨立型:VMware vSphere

  • 混合型:Microsoft Hyper-V,Citrix XenServer和Sun xVM

  • KVM:Linux KVM

  I型獨立型:VMware vSphere

  在一(yī)個(gè)獨立型hypervisor中,所有硬件虛拟化(huà)和虛拟機監視(shì)器(qì)(VMM)功能(néng)由一(yī)個(gè)單一(yī)的,緊密集成的代碼集提供,這(zhè)種架構與Vmware vSphere和前幾代ESX hypervisor的結構是相同的。下(xià)圖是Vmware vSphere 4.0(也(yě)稱為(wèi)ESX 4)的架構概述圖,與一(yī)般看法相反,Vmware不是基于Linux的hypervisor,相反,ESX是由一(yī)個(gè)高度複雜的操作(zuò)系統VMKernel組成的,并取得了(le)專利權,提供所有虛拟機監控和硬件虛拟化(huà)功能(néng)。ESX完整版提供了(le)一(yī)個(gè)基于Linux的服務(wù)控制台,但(dàn)ESXi不包含此服務(wù)控制台。

  圖 4 VmwarevSphere 4.0架構

  通常這(zhè)種模式被稱為(wèi)“胖”或“瘦”hypervisor,但(dàn)這(zhè)種說(shuō)法并不準确,雖然ESX架構經過長期發展變得更加複雜了(le),但(dàn)Vmware在hypervisor性能(néng)和功能(néng)方面一(yī)直保持領先的行業地位,最近實現(xiàn)了(le)處理(lǐ)器(qì)虛拟化(huà)擴展進一(yī)步鞏固了(le)領導地位。

  Vmware在客戶機内需要網絡和I/O驅動半虛拟化(huà),這(zhè)些(xiē)驅動通常包含在Vmware Tools中。

I型混合型:Citrix XenServer,Microsoft Hyper-V和OracleVM

  混合I型架構包括一(yī)個(gè)軟件模型,一(yī)個(gè)“瘦”hypervisor聯合一(yī)個(gè)父分(fēn)區提供硬件虛拟化(huà),它提供了(le)虛拟機監視(shì)功能(néng),這(zhè)類模型主要包括微軟的Hyper-V和基于Xen的hypervisor,如(rú)Citrix XenServer和OracleVM。

  圖 5 I型混合型hypervisor

  父分(fēn)區也(yě)叫做Dom0,它通常是一(yī)個(gè)運行在本地的完整操作(zuò)系統虛拟機,并具有根權限,例如(rú),開啓Xen在Novell SUSE Linux Enterprise Server(SLES)上(shàng)執行的Dom0将作(zuò)為(wèi)一(yī)個(gè)完整的SLES實例執行,提供虛拟機(VM)創建、修改、删除和其它類似配置任務(wù)的管理(lǐ)層,系統啓動時(shí),開啓Xen的内核載入父分(fēn)區,以VMM權限運行,作(zuò)為(wèi)VM管理(lǐ)的接口,管理(lǐ)I/O堆棧。

  與Vmware類似,所有混合型産品都為(wèi)客戶機提供了(le)半虛拟化(huà)驅動,從而提高網絡和I/O性能(néng),不實現(xiàn)半虛拟化(huà)驅動的客戶機必須遍曆父分(fēn)區的I/O堆棧,因此客戶機的性能(néng)會下(xià)降。操作(zuò)系統半虛拟化(huà)技術正變得越來(lái)越流行,以達到最佳的客戶機性能(néng),并改進跨hypervisor的互操作(zuò)性。例如(rú),Microsoft Hyper-V/Windows Server 2008 R2為(wèi)Windows Server 2008和SUSE Enterprise Linux客戶機提供完整的操作(zuò)系統半虛拟化(huà)支持。

  雖然操作(zuò)系統半虛拟化(huà)是操作(zuò)系統發展的一(yī)種趨勢,但(dàn)應當指出的是操作(zuò)系統半虛拟化(huà)目前還不是混合模型的一(yī)個(gè)要求,部分(fēn)供應商(shāng),如(rú)VirtualIron(Sun/Oracle),的目标是SMB級負載,使用全硬件虛拟化(huà)實現(xiàn)可接受的客戶機性能(néng)。混合型架構起源于Xen項目,在性價比方面有很多供應商(shāng)可供選擇,這(zhè)都得益于開源社區(Xen)的貢獻,它能(néng)夠很好(hǎo)(hǎo)地适應半虛拟化(huà)操作(zuò)系統的未來(lái)發展。


I型組合型:基于Linux的内核虛拟機(KVM)

  基于Linux的内核虛拟機(KVM)hypervisor模型提供了(le)一(yī)個(gè)獨一(yī)無二的I型架構,它不是在裸機上(shàng)執行hypervisor,KVM利用開源Linux(包括RHEL,SUSE,Ubuntu等)作(zuò)為(wèi)基礎操作(zuò)系統,提供一(yī)個(gè)集成到内核的模塊(叫做KVM)實現(xiàn)硬件虛拟化(huà),KVM模塊在用戶模式下(xià)執行(與獨立型和混合型hypervisor不一(yī)樣,它們都運行在内核/根模式下(xià)),但(dàn)可以讓虛拟機在内核級權限使用一(yī)個(gè)新(xīn)的指令執行上(shàng)下(xià)文,叫做客戶機模式。

  圖 6 I型組合型架構

  KVM使用一(yī)個(gè)經過修改的開源QEMU硬件仿真包提供完整的硬件虛拟化(huà),這(zhè)意味着客戶機操作(zuò)系統不需要操作(zuò)系統半虛拟化(huà),與Vmware類似,Linux KVM充分(fēn)利用VirtIO作(zuò)為(wèi)實現(xiàn)IO半虛拟化(huà)的框架,它利用内置在内核/QEMU中的用戶模式VirtIO驅動增強性能(néng)。KVM現(xiàn)在已經成為(wèi)很多Linux發行版的标準模塊,包括但(dàn)不限于Red Hat Enterprise Linux和SUSE Linux Enterprise Server,以及桌面類Linux,如(rú)Ubuntu,KVM現(xiàn)在已經成為(wèi)一(yī)個(gè)流行的hypervisor。