自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

虛擬化技術深度解密(下)

云計算 虛擬化
隨著技術的發(fā)展,目前主流的虛擬化軟件包括KVM、Xen、Hyper-V、Vmware ESXI、QEMU等,主流軟件其功能方面做的都還不錯,尤其是在Intel提供了VT技術之后,虛擬化軟件都做的很完美。

主流虛擬化軟件介紹

隨著技術的發(fā)展,目前主流的虛擬化軟件包括KVM、Xen、Hyper-V、Vmware ESXI、QEMU等,主流軟件其功能方面做的都還不錯,尤其是在Intel提供了VT技術之后,虛擬化軟件都做的很***。

KVM

KVM是什么? KVM全稱是Kernel-based Virtual Machine,即基于內(nèi)核的虛擬機。

KVM是集成到Linux內(nèi)核的Hypervisor,是X86架構且硬件支持虛擬化技術(Intel VT或AMD-V)的Linux的全虛擬化解決方案。它是Linux的一個很小的模塊,利用Linux做大量的工作,如任務調(diào)度、內(nèi)存管理與硬件設備交互等。

Xen

Xen 是***類運行在裸機上的虛擬化管理程序(Hypervisor)。它支持全虛擬化和半虛擬化,Xen支持hypervisor和虛擬機互相通訊,而且提供在所有Linux版本上的免費產(chǎn)品,包括Red Hat Enterprise Linux和SUSE Linux Enterprise Server。

Xen最重要的優(yōu)勢在于半虛擬化,此外未經(jīng)修改的操作系統(tǒng)也可以直接在xen上運行(如Windows),能讓虛擬機有效運行而不需要仿 真,因此虛擬機能感知到hypervisor,而不需要模擬虛擬硬件,從而能實現(xiàn)高性能。

Xen 最初是作為劍橋大學的一個項目,目前 xen.org 社區(qū)在負責它的開發(fā)及維護,它已經(jīng)在開源社區(qū)中得到了極大的發(fā)展。Xen 是一種直接運行在硬件之上軟件,它可以讓電腦硬件上同時跑多個用戶的操作系統(tǒng)。由于對 x86, x86-64, Itanium, Power PC, 和 ARM 這些處理器的支持,所以 Xen 管理工具可以支持的操作系統(tǒng)有 Linux, NetBSD,F(xiàn)reeBSD,Solaris, Windows 和其他一些運行在 XEN 上的正常的操作系統(tǒng)。 如下圖所示 Xen 在系統(tǒng)中的位置:

Xen 目前具有以下幾種產(chǎn)品:

Xen Hypervisor — 后面會詳細講解,在此不作贅述。會導致轉換有問題;

XCI — 一種嵌入式管理工具,在 Xen Hypervisor 的基礎之上修改而來,相對于標準的 Xen Hypervisor,它使用的庫更小,目前主要用在筆記本以及一些移動設備上,可以使用 Intel 或者 AMD 的架構;

Xen Cloud Platform — 目前它為 ISVs 和服務提供商提供了一套基于強大的管理棧的云架構平臺,這個棧是基于開放的標準 API;

Hyper-V

Hyper-V 是微軟提出的一種系統(tǒng)管理程序虛擬化技術,采用微內(nèi)核的架構,兼顧了安全性和性能的要求。Hyper-V 底層的 Hypervisor 運行在***的特權級別下,微軟將其稱為 ring 1(而 Intel 則將其稱為 root mode),而虛機的 OS 內(nèi)核和驅(qū)動運行在 ring 0,應用程序運行在 ring 3 下,這種架構就不需要采用復雜的 BT(二進制特權指令翻譯)技術,可以進一步提高安全性。從架構上講 Hyper-V 只有“硬件-Hyper-V-虛擬機”三層,本身非常小巧,代碼簡單,且不包含任何第三方驅(qū)動,所以安全可靠、執(zhí)行效率高,能充分利用硬件資源,使虛擬機 系統(tǒng)性能更接近真實系統(tǒng)性能。架構圖如下:

Hyper-V 支持分區(qū)層面的隔離。分區(qū)是邏輯隔離單位,受虛擬機監(jiān)控程序支持,并且操作系統(tǒng)在其中執(zhí)行。Microsoft 虛擬機監(jiān)控程序必須至少有一個父 / 根分區(qū),用于運行 64 位版本的 Windows Server 2008 操作系統(tǒng)。虛擬化堆棧在父分區(qū)中運行,并且可以直接訪問硬件設備。隨后,根分區(qū)會創(chuàng)建子分區(qū)用于承載來賓操作系統(tǒng)。根分區(qū)使用虛擬化調(diào)用應用程序編程接口 (API) 來創(chuàng)建子分區(qū)。

分區(qū)對物理處理器沒有訪問權限,也不能處理處理器中斷。相反,它們具有處理器的虛擬視圖,并運行于每個來賓分 區(qū)專用的虛擬內(nèi)存地址區(qū)域。虛擬機監(jiān)控程序負責處理處理器中斷,并將其重定向到相應的分區(qū)。Hyper-V 還可以通過輸入輸出內(nèi)存管理單元 (IOMMU) 利用硬件加速來加快各個來賓虛擬地址空間相互之間的地址轉換。IOMMU 獨立于 CPU 使用的內(nèi)存管理硬件運行,并用于將物理內(nèi)存地址重新映射到子分區(qū)使用的地址。從系統(tǒng)的結構圖,我們可以看出來 Hyper-V 與 Xen 的架構很相似。

Vmware ESXI

Vmware ESXI 體系結構圖

由上圖我們可以看出來管理工具也是直接嵌入到了 ESXi vmKernel 中,沒有再分化出單獨的管理工具,這一點與 Xen 是相區(qū)別的。

QEMU

QEMU是一款由Fabrice Bellard所編寫的開源的模擬器及虛擬機監(jiān)管器(Virtual Machine Monitor, VMM)。QEMU主要提供兩種功能給用戶使用。一是作為用戶態(tài)模擬器,利用動態(tài)代碼翻譯機制來執(zhí)行不同于主機架構的代碼。二是作為虛擬機監(jiān)管器,模擬全系統(tǒng),利用其他VMM(Xen, KVM, etc)來使用硬件提供的虛擬化支持,創(chuàng)建接近于主機性能的虛擬機。

雙劍合璧 QEMU and KVM

準確來說,KVM是Linux kernel的一個模塊??梢杂妹頼odprobe去加載KVM模塊。加載了模塊后,才能進一步通過其他工具創(chuàng)建虛擬機。但僅有KVM模塊是 遠遠不夠的,因為用戶無法直接控制內(nèi)核模塊去作做事情,你還必須有一個運行在用戶空間的工具才行。這個用戶空間的工具,kvm開發(fā)者選擇了已經(jīng)成型的開源虛 擬化軟件 QEMU。說起來QEMU也是一個虛擬化軟件。它的特點是可虛擬不同的CPU。比如說在x86的CPU上可虛擬一個MIPS的CPU,并可利用它編譯出 可運行在MIPS上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用戶空間工具了。所以你會看到,官方提供的KVM下載有兩 大部分(QEUM和KVM)三個文件(KVM模塊、QEMU工具以及二者的合集)。也就是說,你可以只升級KVM模塊,也可以只升級QEMU工具。這就是 KVM和QEMU 的關系。

可以用下面一張圖來簡單描述QEMU和KVM之間的關系。

 

其它虛擬化軟件

KVM or Xen?

Xen 現(xiàn)階段在穩(wěn)定和功能上略勝一籌。KVM獲得的社區(qū)支持更多。

前一陣在Ubuntu上想安裝Xen,發(fā)現(xiàn)原來的那些鏈接和很多安裝方法改變了,看來被商業(yè)公司收購之后,Xen會在各方面有所改變。雖然KVM現(xiàn)在還無法和Xen相比,但是其植入Linux內(nèi)核,以及被社區(qū)支持,讓我更看好它的未來。

開源社區(qū)拋棄Xen,就像拋棄OpenOffice一樣。Xen的發(fā)展可能要依靠來自Citrix Oracle的支持。在開源社區(qū)Xen的式微是不可避免。RedHat,SUSE,Ubuntu已經(jīng)處于轉換中。

IBM丟棄Xen用KVM,Ubuntu丟棄Xen用KVM。RedHat就更不用說了,當然支持自家的KVM。KVM完全開源,而Xen只有核才開源。Citrix 指望Xen及外圍工具掙錢呢。

KVM ***的優(yōu)勢是隨著kernel更新。

Xen ***的弊端是恰好是Dom0 不能用***的kernel,kernel 3.0之后估計會好很多。

還是要多看看應用場景,IO問題是不是關鍵,XEN和KVM的混合設計可根據(jù)業(yè)務場景的技術層面關注點來設計,簡單來看還是KVM更好,但畢竟市場份額現(xiàn)有的還是XEN的高,有點類似于.NET剛出來時vs JavaEE的感覺,還是需要一定的應用歷程才能發(fā)展起來。

未來趨勢,應該是KVM,但是現(xiàn)在最成熟,還是Xen。

責任編輯:武曉燕 來源: 騰凌科技
相關推薦

2017-11-29 14:42:28

虛擬化深度解密

2019-03-06 11:16:16

服務器虛擬化內(nèi)存

2024-02-23 10:11:00

虛擬化技術

2011-07-12 10:04:02

虛擬化IT容災

2013-03-19 09:37:10

開源虛擬化KVM

2009-05-26 16:37:23

2011-07-12 09:32:46

云計算虛擬化IT容災

2017-06-16 15:18:15

虛擬化WindowsIO

2013-03-18 10:12:25

存儲虛擬化虛擬化技術

2014-05-09 11:22:38

虛擬化技術云安全

2015-04-17 10:48:49

Docker虛擬化

2013-08-01 11:31:50

存儲虛擬化虛擬化

2009-04-14 19:39:55

虛擬化NovellIT

2012-04-06 11:09:36

戴爾

2009-04-14 22:23:12

LinuxNovell虛擬化

2018-07-11 15:21:25

GPU虛擬化技術

2012-06-08 09:46:26

大數(shù)據(jù)

2010-03-17 14:33:44

云計算

2019-04-16 16:23:29

GPU虛擬化CPU

2011-07-12 09:48:01

云計算虛擬化服務器
點贊
收藏

51CTO技術棧公眾號