主流的四大虛擬化架構(gòu)對(duì)比分析_第1頁(yè)
主流的四大虛擬化架構(gòu)對(duì)比分析_第2頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余7頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、主流四大虛擬化架構(gòu)對(duì)比分析云計(jì)算平臺(tái)需要有資源池為其提供能力輸出,這種能力包括計(jì)算能力、存儲(chǔ) 能力和網(wǎng)絡(luò)能力,為了將這些能力調(diào)度到其所需要的地方, 云計(jì)算平臺(tái)還需要對(duì) 能力進(jìn)行調(diào)度管理,這些能力均是由虛擬化資源池提供的。云計(jì)算離不開(kāi)底層的虛擬化技術(shù)支持。維基百科列舉的虛擬化技術(shù)有超過(guò)60 種,基于 X86(CISC)體系的超過(guò) 50 種,也有基于 RISC 體系的,其中有 4 種 虛擬化技術(shù)是當(dāng)前最為成熟而且應(yīng)用最為廣泛的, 分別是:VMWARE ESX 微軟 的Hyper-V、開(kāi)源的 XEN 和 KVM 云計(jì)算平臺(tái)選用何種虛擬化 技術(shù)將是云計(jì)算建 設(shè)所要面臨的問(wèn)題,文章就 4 種主流虛擬化技

2、術(shù)的架構(gòu)層面進(jìn)行了對(duì)比分析。形成資源池計(jì)算能力的物理設(shè)備,可能有兩種,一種是基于 RISC 的大/小型 機(jī),另一種是基于 CISC 的 X86 服務(wù)器。大/小型機(jī)通常意味著高性能、高可靠 性和高價(jià)格,而 X86 服務(wù)器與之相比有些差距,但隨著 Inter 和 AM 熒處理器廠 商技術(shù)的不斷發(fā)展,原本只在小型機(jī)上才有的技術(shù)已經(jīng)出現(xiàn)在了 X86 處理器上, 如 64 位技術(shù)、虛擬化技術(shù)、多核心技術(shù)等等,使得 X86 服務(wù)器在性能上突飛猛 進(jìn)。通過(guò) TPC 組織 在2011 年 3 月份所公布的單機(jī)計(jì)算機(jī)性能排名中可以看出,4 路 32 核的 X86 服務(wù)器性能已經(jīng)位列前 10 名,更重要的是 X8

3、6 服務(wù)器的性價(jià)比 相對(duì)小型機(jī)有 約 5 倍的優(yōu)勢(shì)。因此,選擇 X86 服務(wù)器作為云計(jì)算資源池,更能 凸顯出云計(jì)算的低成本優(yōu)勢(shì)。由于單機(jī)計(jì)算機(jī)的處理能力越來(lái)越大,以單機(jī)資源為調(diào)度單位的顆粒度就太 大了, 因此需要有一種技術(shù)讓資源的調(diào)度顆粒更細(xì)小, 使資源得到更有效和充分 的利用,這就引入了虛擬化技術(shù)。當(dāng)前虛擬化技術(shù)中主流和成熟的有4 種:VMWARE ESX 微軟的 Hyper-V、開(kāi)源的 XEN 和 KVM 下面將針對(duì)這 4 種虛擬化 技術(shù)的架構(gòu)進(jìn)行分析1 虛擬化架構(gòu)分析從虛擬化的實(shí)現(xiàn)方式來(lái)看, 虛擬化架構(gòu)主要有兩種形式: 宿主架構(gòu)和裸金屬 架構(gòu)。在宿主架構(gòu)中的虛擬機(jī)作為主機(jī)操作系統(tǒng)的一個(gè)進(jìn)

4、程來(lái)調(diào)度和管理,裸金屬架構(gòu)下則不存在主機(jī)操作系統(tǒng),它是以 Hypervisor 直接運(yùn)行在物理硬件之 上,即使是有類(lèi)似主機(jī)操作系統(tǒng)的父分區(qū)或Domain 0,也是作為裸金屬架構(gòu)下的虛擬機(jī)存在的。宿主架構(gòu)通常用于個(gè)人 PC 上的虛擬化,如 WindowsVirtual PC,VMware Workstation,Virtual Box , Qemi 等,而裸金屬架構(gòu)通常用于服務(wù)器的 虛擬化,如文中提及的 4 種虛擬化技術(shù)。(一)ESX 的虛擬化架構(gòu)Unix. KernelVMJwnfL 團(tuán)1 :優(yōu)架枸示竜團(tuán)ESX 是 VMware 的企業(yè)級(jí)虛擬化產(chǎn)品,2001 年開(kāi)始發(fā)布 ESX1.0,至 U

5、2011 年2 月發(fā)布 ESX 4.1 Update 1。ESX 服務(wù)器啟動(dòng)時(shí), 首先啟動(dòng) Linux Kernel, 通過(guò)這個(gè)操作系統(tǒng)加載虛擬化 組件,最重要的是 ESX 的 Hypervisor 組件,稱(chēng)之為 VMkernel,VMkernel 會(huì)從 LinuxKernel完全接管對(duì)硬件的控制權(quán),而該 Linux Kernel 作為 VMkernel 的首 個(gè)虛擬機(jī),用于承載 ESX 的 serviceConsole,實(shí)現(xiàn)本地的一些管理功能。VMkernel 負(fù)責(zé)為所承載的虛擬機(jī)調(diào)度所有的硬件資源,但不同類(lèi)型的硬件 會(huì)有些區(qū)別。虛擬機(jī)對(duì)于 CPU 和內(nèi)存資源是通過(guò) VMkernel 直接訪

6、問(wèn),最大程度地減少了 開(kāi)銷(xiāo),CPU 勺直接訪問(wèn)得益于 CPU 硬件輔助虛擬化(Intel VT-x 和 AMD AMD-, 第一代虛擬化技術(shù)),內(nèi)存的直接訪問(wèn)得益于 MMU 內(nèi)存管理單元,屬于 CPU 中的 一項(xiàng)特征)硬件輔助虛擬化(Intel EPT 和 AMD RVI/NPT 第二代虛擬化技術(shù))。虛擬機(jī)對(duì)于 I/O 設(shè)備的訪問(wèn)則有多種方式,以網(wǎng)卡為例,有兩種方式可供選 擇:一是利用 I/O MMU 硬件輔助虛擬化(Intel VT-d 和 AMD-Vi)的 VMDirectPath I/O,使得虛擬機(jī)可以直接訪問(wèn)硬件設(shè)備,從而減少對(duì)CPU 的開(kāi)銷(xiāo);二是利用半虛擬化的設(shè)備 VMXNETx 網(wǎng)

7、卡的物理驅(qū)動(dòng)在 VMkernel 中,在虛擬 機(jī)中裝載網(wǎng)卡 的虛擬驅(qū)動(dòng),通過(guò)這二者的配對(duì)來(lái)訪問(wèn)網(wǎng)卡,與仿真式網(wǎng)卡(IntelE1OOO)相比有 著較高的效率。半虛擬化設(shè)備的安裝是由虛擬機(jī)中VMware tool 來(lái)實(shí)現(xiàn)的,可以在 Windows 虛擬機(jī)的右下角找到它。網(wǎng)卡的這兩種方式,前者有著顯著的先進(jìn) 性,但后者用得更為普遍,因?yàn)?VMDirectPath I/O 與 VMware 虛擬化的一些核 心功能不兼容,如:熱遷移、快照、容錯(cuò)、內(nèi)存過(guò)量使用等。ESX 的物理驅(qū)動(dòng)是內(nèi)置在 Hypervisor 中,所有設(shè)備驅(qū)動(dòng)均是由 VMware 預(yù)植 入的。因此,ESX 對(duì)硬件有嚴(yán)格的兼容性列表,不

8、在列表中的硬件, ESX 將拒絕 在其上面安裝。(二)Hyper-V 的虛擬化架構(gòu)Hyper- V(Microsoft亠一.團(tuán)2 : HypeV虛擬化架枸示意圖HardwareHyper-V 是微軟新一代的服務(wù)器虛擬化技術(shù), 首個(gè)版本于 2008 年 7 月發(fā)布,目前最新版本是 2011 年 4 月發(fā)布 R2 SP1 版, Hyper-V 有兩種發(fā)布版本:一是獨(dú) 立版,如 Hyper-V Server 2008,以命令行界面實(shí)現(xiàn)操作控制,是一個(gè)免費(fèi)的版 本;二是內(nèi)嵌版,如 WindowsServer 2008, Hyper-V 作為一個(gè)可選開(kāi)啟的角色。對(duì)于一臺(tái)沒(méi)有開(kāi)啟 Hyper-V 角色的

9、WindowsServer 2008 來(lái)說(shuō),這個(gè)操作系 統(tǒng)將直接操作硬件設(shè)備,一旦在其中開(kāi)啟了 Hyper-V 角色,系統(tǒng)會(huì)要求重新啟動(dòng) 服務(wù)器。雖然重啟后的系統(tǒng)在表面看來(lái)沒(méi)什么區(qū)別,但從體系架構(gòu)上看則與之前的完全不同了。在這次重啟動(dòng)過(guò)程中,Hyper-V 的 Hypervisor 接管了硬件設(shè)備的控制權(quán),先前的 WindowsServer 2008 則成為 Hyper-V 的首個(gè)虛擬機(jī),稱(chēng)之 為父分區(qū),負(fù)責(zé)其他虛擬機(jī)(稱(chēng)為子分區(qū))以及 I/O 設(shè)備的管理 o Hyper-V 要求 CPU 必須具備硬件輔助虛擬化,但對(duì) MM 硬件輔助虛擬化則是一個(gè)增強(qiáng)選項(xiàng)。其實(shí) Hypervisor 僅實(shí)現(xiàn)了

10、 CPU 的調(diào)度和內(nèi)存的分配,而父分區(qū)控制著 I/O 設(shè)備,它通過(guò)物理驅(qū)動(dòng)直接訪問(wèn)網(wǎng)卡、存儲(chǔ) 等。子分區(qū)要訪問(wèn) I/O 設(shè) 備需要通 過(guò)子分區(qū)操作系統(tǒng)內(nèi)的 VSC 虛擬化服務(wù)客戶端),對(duì) VSC 的請(qǐng)求由 VMBUS 虛擬機(jī) 總線)傳遞到父分區(qū)操作系統(tǒng)內(nèi)的 VSP 虛擬化服務(wù)提供者),再由 VSP 重定向到 父分區(qū)內(nèi)的物理驅(qū)動(dòng),每種 I/O 設(shè)備均有各自的 VSC 和 VSP 配對(duì),如存儲(chǔ)、網(wǎng)絡(luò)、視頻和輸入設(shè)備等,整個(gè) I/O 設(shè)備訪問(wèn)過(guò)程對(duì) 于子分區(qū)的操作系統(tǒng)是透明的。 其實(shí)在子分區(qū)操作系統(tǒng)內(nèi),VSC 和 VMBU 就是作為 I/O 設(shè)備的虛擬驅(qū)動(dòng),它是子 分區(qū)操作系統(tǒng)首次啟動(dòng)時(shí)由Hyper

11、-V 提供的集成 服務(wù)包安裝,這也算是一種半 虛擬化的設(shè)備,使得虛擬機(jī)與物理I/O 設(shè)備無(wú)關(guān)。如果子分區(qū)的操作系統(tǒng)沒(méi)有安 裝 Hyper-V 集成服務(wù)包或者不支持Hyper-V 集成服務(wù)包(對(duì)于這種操作系統(tǒng),微 軟稱(chēng)之為 Unenlightened OS,如未經(jīng)認(rèn)證支持的 Linux 版本和舊的 Windows 版 本),則這個(gè)子分區(qū)只能運(yùn)行在仿真狀態(tài)。其實(shí)微軟所宣稱(chēng)的啟蒙式 (E nl ighte nment)操作系統(tǒng),就是支持半虛擬化驅(qū)動(dòng)的操作系統(tǒng)。Hyper-V 的 Hypervisor 是一個(gè)非常精簡(jiǎn)的軟件層,不包含任何物理驅(qū)動(dòng), 物理服務(wù)器的設(shè)備驅(qū)動(dòng)均是駐留在父分區(qū)的WindowsS

12、erver 2008 中,驅(qū)動(dòng)程序的安裝和加載方式與傳統(tǒng) Win dows 系統(tǒng)沒(méi)有任何區(qū)別。因此,只要是 Win dows 支持的硬件,也都能被 Hyper-V 所兼容。(三)XEN 的虛擬化架構(gòu)_DwnUDomUOwO 19)gm團(tuán)3: XEN的虛擬化架構(gòu)示倉(cāng)團(tuán)XEN 最初是劍橋大學(xué) Xensource 的一個(gè)開(kāi)源研究項(xiàng)目,2003 年 9 月發(fā)布了首 個(gè)版本 XEN 1.0,2007 年 Xensource 被 Citrix 公司收購(gòu),開(kāi)源 XEN 專(zhuān)由 繼續(xù)推進(jìn),該組織成員包括個(gè)人和公司(如 Citrix 、Oracle 等)。目前該組織在 2011年 3 月發(fā)布

13、了最新版本 XEN 4.1。相對(duì)于 ESX 和 Hyper-V 來(lái)說(shuō),XEN 支持更廣泛的 CPU 架構(gòu),前兩者只支持 CISC的 X86/X86_64 CPL 架構(gòu),XEN 除此之外還支持 RISCCPL 架構(gòu),女口 IA64、ARM等。XEN 的 Hypervisor 是服務(wù)器經(jīng)過(guò) BIOS 啟動(dòng)之后載入的首個(gè)程序,然后啟動(dòng) 一個(gè)具有特定權(quán)限的虛擬機(jī),稱(chēng)之為Domain 0(簡(jiǎn)稱(chēng) Dom 0)。Dom 0 的操作系統(tǒng)可以是 Linux 或 Unix,Domain0 實(shí)現(xiàn)對(duì) Hypervisor 控制和管理功能。在所承載 的虛擬機(jī)中,Dom0 是唯一可以直接訪問(wèn)物理硬件(如存儲(chǔ)和網(wǎng)卡)的虛擬

14、機(jī),它 通過(guò)本身加載的物理驅(qū)動(dòng),為其它虛擬機(jī)(Domain U,簡(jiǎn)稱(chēng) DomU 提供訪問(wèn)存儲(chǔ) 和網(wǎng)卡的橋梁。XEN 支持兩種類(lèi)型的虛擬機(jī),一類(lèi)是半虛擬化 (PV,Paravirtualization) , 另一類(lèi)是全虛擬化(XEN 稱(chēng)其為 HVM,Hardware Virtual Machine)。半虛擬化需 要特定內(nèi)核的操作系統(tǒng),如基于 Li nux paravirt_ops(L in ux內(nèi)核的一套編譯選項(xiàng))框架的 Linux 內(nèi)核, 而 Windows 操作系統(tǒng)由于其圭寸閉性則不能被 XEN 的半虛 擬化所支持,XEN 的半虛擬化有個(gè)特別之處就是不要求 CPU 具備硬件輔助虛擬 化,這非

15、常適用于 2007 年之前的舊服務(wù)器虛擬化改造。全虛擬化支持原生的操 作系統(tǒng), 特別是針對(duì) Windows 這類(lèi)操作系統(tǒng),XEN 的全虛擬化要求 CPU 具備硬 件輔助虛擬化,它修改的 Qemi 仿真所有硬件,包括:BIOS IDE 控制器、VGA顯示卡、usB 空制器和網(wǎng)卡等。為了提升 I/O 性能,全虛擬化特別針對(duì)磁盤(pán)和網(wǎng) 卡采用半虛擬化設(shè)備來(lái)代替仿真設(shè)備,這些設(shè)備驅(qū)動(dòng)稱(chēng)之為PV on HVM 為了使PV on HVM 有最佳性能。CPU 應(yīng)具備 MM 硬件輔助虛擬化XEN 的 Hypervisor 層非常薄,少于 15 萬(wàn)行的代碼量,不包含任何物理設(shè)備驅(qū)動(dòng),這一點(diǎn)與 Hyper-V 是非

16、常類(lèi)似的,物理設(shè)備的驅(qū)動(dòng)均是駐留在Dom 0 中,可以重用現(xiàn)有的 Linux 設(shè)備驅(qū)動(dòng)程序。 因此, XEN 對(duì)硬件兼容性也是非常廣泛的,Linux支持的,它就支持。(四)KVM 的虛擬化架構(gòu)rwviKVM 的全稱(chēng)是 Kernel-based Virtual Machine,字面意思是基于內(nèi)核虛擬機(jī)。 其最初是由 Qumranet 公司開(kāi)發(fā)的一個(gè)開(kāi)源項(xiàng)目,2007 年 1 月首次被整合到 Linux 2.6.20核心中;2008 年,Qumranet 被 RedHat 所收購(gòu),但 KVM 本身仍是一個(gè)開(kāi) 源項(xiàng)目,由 RedHat、IBM 等廠商支持。KVM 乍為 Linux 內(nèi)核中的一個(gè)模塊,

17、與 Linux 內(nèi)核一起發(fā)布,至 2011 年 1 月的最新版本是 kvm-kmod 2.6.37。團(tuán)4: KE的虛摳化架構(gòu)示意團(tuán)與 XEN 類(lèi)似,KVM 支持廣泛的 CPU 架構(gòu),除了 X86/X86_64 CPU 架構(gòu)之外,還將會(huì)支持大型機(jī)(S/390)、小型機(jī)(PowerPC IA64)及 ARM 等。KVM 充分利用了 CPU 勺硬件輔助虛擬化能力,并重用了 Linux 內(nèi)核的諸多功 能,使得 KVM 本身是非常瘦小的,KVM 勺創(chuàng)始者 Avi Kivity 聲稱(chēng) KVM 莫塊僅有 約 10000行代碼,但我們不能認(rèn)為 KVM 的 Hypervisor 就是這個(gè)代碼量,因?yàn)閺?嚴(yán)格意義

18、來(lái)說(shuō),KVM本身并不是Hypervisor, 它僅是Linux內(nèi)核中的一個(gè)可裝 載模塊, 其功能是將Linux內(nèi)核轉(zhuǎn)換成一個(gè)裸金屬的 Hypervisor。這相對(duì)于其 它裸金屬架構(gòu)來(lái)說(shuō),它是非常特別的,有些類(lèi)似于宿主架構(gòu),業(yè)界甚至有人稱(chēng)其 是半裸金屬架構(gòu)。通過(guò) KVM 模塊的加載將 Linux 內(nèi)核轉(zhuǎn)變成 Hypervisor ,KVM 在 Linux 內(nèi)核的 用戶(User)模式和內(nèi)核(Kernel)模式基礎(chǔ)上 增加了客戶(Guest)模式。Linux 本 身運(yùn)行于內(nèi)核模式,主機(jī)進(jìn)程運(yùn)行于用戶模式,虛擬機(jī)則運(yùn)行于客戶模式,使得 轉(zhuǎn)變后的 Linux內(nèi)核可以將主機(jī) 進(jìn)程和虛擬機(jī)進(jìn)行統(tǒng)一的管理和

19、調(diào)度,這也是 KVM 名稱(chēng)的由來(lái)。KVM 利用修改的 QEM 提供 BIOS 顯卡、網(wǎng)絡(luò)、磁盤(pán)控制器等的仿真,但對(duì) 于 I/O設(shè)備(主要指網(wǎng)卡和磁盤(pán)控制器)來(lái)說(shuō),則必然帶來(lái)性能低下的問(wèn) 題。因 此,KVM 也引入了半虛擬化的設(shè)備驅(qū)動(dòng),通過(guò)虛擬機(jī)操作系統(tǒng)中的虛擬驅(qū)動(dòng)與主 機(jī) Linux 內(nèi)核中的物理驅(qū)動(dòng)相配合,提供近似原生設(shè)備的性能。從此可 以看出, KVM 支持的物理設(shè)備也即是 Linux 所支持的物理設(shè)備。本文所討論的 4 種虛擬化技術(shù)都用到了半虛擬化驅(qū)動(dòng),若要在不同虛擬化架 構(gòu)之間遷移虛擬機(jī),這些半虛擬化驅(qū)動(dòng)將必然帶來(lái)兼容性問(wèn)題。因此,RedHat 和IBM 聯(lián)合 Linux 社區(qū)推出 VirtIO 半虛擬化驅(qū)動(dòng)開(kāi)發(fā)標(biāo)準(zhǔn),

溫馨提示

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

評(píng)論

0/150

提交評(píng)論