常用虚拟化工具概述
本文是作者自己在了解虛擬化技術(shù)時(shí),查閱百度百科和維基百科時(shí),摘取了作者認(rèn)為的精華,并高亮了重要信息。
可以簡(jiǎn)單了解虛擬化技術(shù)的一些常用工具。 (希望和大家一起學(xué)習(xí),請(qǐng)大神指點(diǎn))
VMM:
VMM(Virtual Machine Monitor,虛擬機(jī)監(jiān)控器)它包括規(guī)劃、部署、管理和優(yōu)化虛擬基礎(chǔ)結(jié)構(gòu)等端到端功能。
Hypervisor,又稱虛擬機(jī)器監(jiān)視器(英語(yǔ):virtual machine monitor,縮寫(xiě)為 VMM),在電腦上的軟件,固件或是硬件,能用來(lái)建立與執(zhí)行虛擬機(jī)器。
擁有Hypervisor,能被用來(lái)執(zhí)行一個(gè)或多個(gè)虛擬機(jī)器,這樣的電腦被定義為是一臺(tái)主體機(jī)器(host machine)。在上面執(zhí)行的虛擬機(jī)器,則稱為客體機(jī)器(guest machine)。hypervisor可以用一個(gè)客體操作系統(tǒng)(guest operating systems)的外貌出現(xiàn),提供虛擬的作業(yè)平臺(tái),負(fù)責(zé)管理其他客體操作系統(tǒng)的運(yùn)作。在它之上運(yùn)作的多個(gè)操作系統(tǒng),共同分享了虛擬化之后的硬件資源。
類型-1:本地或裸機(jī)Hypervisor
這些虛擬機(jī)管理程序直接運(yùn)行在主機(jī)的硬件來(lái)控制硬件和管理客體操作系統(tǒng)上。例如Xen。
類型-2:Hosted Hypervisor
這些虛擬機(jī)管理程序運(yùn)行在傳統(tǒng)的操作系統(tǒng)上,就像其他計(jì)算機(jī)程序那樣運(yùn)行。例如VMware Workstation。
操作系統(tǒng)支持
有幾個(gè)因素導(dǎo)致了2005年左右,在使用虛擬化技術(shù)在Unix,Linux,以及其他類Unix操作系統(tǒng)之間的復(fù)蘇:
1.擴(kuò)展中的硬件功能,允許每個(gè)單臺(tái)機(jī)器做更多同時(shí)的工作,
2.努力控制成本,和通過(guò)整合服務(wù)器來(lái)簡(jiǎn)化管理
3.在需要控制在大型多處理器處理和群集安裝,例如服務(wù)器農(nóng)場(chǎng)和著色農(nóng)場(chǎng)
4.改進(jìn)的安全性,可靠性和設(shè)備無(wú)關(guān)性可以從管理Hypervisor架構(gòu)
5.在不同的硬件或操作系統(tǒng)環(huán)境運(yùn)行復(fù)雜,依賴于操作系統(tǒng)的應(yīng)用程序的能力
6.主要的Unix廠商,包括太陽(yáng)計(jì)算機(jī)系統(tǒng),惠普,IBM和SGI,從2000年以前就一直在銷售虛擬化硬件。
KVM虛擬機(jī)
?
?· KVM是開(kāi)源軟件,全稱是kernel-based virtual machine(基于內(nèi)核的虛擬機(jī))。
· 是x86架構(gòu)且硬件支持虛擬化技術(shù)(如 intel VT 或 AMD-V)的Linux全虛擬化解決方案。
· 它包含一個(gè)為處理器提供底層虛擬化 可加載的核心模塊kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
· KVM還需要一個(gè)經(jīng)過(guò)修改的QEMU軟件(qemu-kvm),作為虛擬機(jī)上層控制和界面。
· KVM能在不改變linux或windows鏡像的情況下同時(shí)運(yùn)行多個(gè)虛擬機(jī),(它的意思是多個(gè)虛擬機(jī)使用同一鏡像)并為每一個(gè)虛擬機(jī)配置個(gè)性化硬件環(huán)境(網(wǎng)卡、磁盤(pán)、圖形適配器……)。
· 在主流的Linux內(nèi)核,如2.6.20以上的內(nèi)核均已包含了KVM核心。
Kernel-based Virtual Machine的簡(jiǎn)稱,是一個(gè)開(kāi)源的系統(tǒng)虛擬化模塊,自Linux 2.6.20之后集成在Linux的各個(gè)主要發(fā)行版本中。它使用Linux自身的調(diào)度器進(jìn)行管理,所以相對(duì)于Xen,其核心源碼很少。KVM目前已成為學(xué)術(shù)界的主流VMM之一。
KVM的虛擬化需要硬件支持(如Intel VT技術(shù)或者AMD V技術(shù))。是基于硬件的完全虛擬化。而Xen早期則是基于軟件模擬的Para-Virtualization,新版本則是基于硬件支持的完全虛擬化。但Xen本身有自己的進(jìn)程調(diào)度器,存儲(chǔ)管理模塊等,所以代碼較為龐大。廣為流傳的商業(yè)系統(tǒng)虛擬化軟件VMware ESX系列是基于軟件模擬的Full-Virtualization。
Xen:
Xen是一個(gè)開(kāi)放源代碼虛擬機(jī)監(jiān)視器,由劍橋大學(xué)開(kāi)發(fā)。它打算在單個(gè)計(jì)算機(jī)上運(yùn)行多達(dá)128個(gè)有完全功能的操作系統(tǒng)。
在舊(無(wú)虛擬硬件)的處理器上執(zhí)行Xen,操作系統(tǒng)必須進(jìn)行顯式地修改(“移植”)以在Xen上運(yùn)行(但是提供對(duì)用戶應(yīng)用的兼容性)。這使得Xen無(wú)需特殊硬件支持,就能達(dá)到高性能的虛擬化。
Xen的半虛擬化
Xen通過(guò)一種叫做半虛擬化的技術(shù)獲得高效能的表現(xiàn)(較少的效能損失,典型的情況下大約損失2%,在最糟的情況下會(huì)有8%的效能耗損;與其它使用完全的虛擬化卻造成最高到20%損耗的其他解決方案形成一個(gè)明顯的對(duì)比),甚至在某些與傳統(tǒng)虛擬技術(shù)極度不友好的架構(gòu)上(x86),Xen也有極佳的表現(xiàn)。與那些傳統(tǒng)透過(guò)軟件模擬實(shí)現(xiàn)硬件的虛擬機(jī)不同,在3.0版本及在Intel VT-X支援前的Xen需要讓客戶端操作系統(tǒng)(guest operating systems)與Xen API進(jìn)行連接。到目前為止,這樣連結(jié)已經(jīng)可以運(yùn)用在NetBSD、GNU/Linux、FreeBSD和貝爾實(shí)驗(yàn)室的Plan 9系統(tǒng)上。在Brainshare 2005會(huì)議上,Novell展示了NetWare與Xen的連通。與Windows XP連通的技術(shù)曾在Xen開(kāi)發(fā)初期進(jìn)行,但微軟的協(xié)議未能允許它發(fā)布。Sun微系統(tǒng)公司也正積極研究Solaris與Xen的連結(jié),使其能在Xen平臺(tái)上運(yùn)作。
Xen的完全虛擬化
Intel對(duì)Xen貢獻(xiàn)修改以支持其VT-X架構(gòu)擴(kuò)展,而AMD則修改以支持其AMD-V架構(gòu)擴(kuò)展。如系統(tǒng)處理器支持虛擬硬件擴(kuò)展(Intel和AMD對(duì)本地支持虛擬化的擴(kuò)展),這項(xiàng)技術(shù)將允許未修改的操作系統(tǒng)運(yùn)行在Xen虛擬機(jī)中。事實(shí)上,那意味著性能的提升,并且你可以在沒(méi)有進(jìn)行任何協(xié)議不允許的修改的情況下對(duì)Windows進(jìn)行虛擬。
Hyper-V
Hyper-V是微軟的一款虛擬化產(chǎn)品,是微軟第一個(gè)采用類似Vmware和Citrix開(kāi)源Xen一樣的基于hypervisor的技術(shù)。這也意味著微軟會(huì)更加直接地與市場(chǎng)先行者VMware展開(kāi)競(jìng)爭(zhēng),但競(jìng)爭(zhēng)的方式會(huì)有所不同。
Hyper-V是微軟提出的一種系統(tǒng)管理程序虛擬化技術(shù),能夠?qū)崿F(xiàn)桌面虛擬化。Hyper-V最初預(yù)定在2008年第一季度,與Windows Server 2008同時(shí)發(fā)布。Hyper-V Server 2012完成RTM版發(fā)布
系統(tǒng)要求
1.Intel或者AMD64位處理器[1]?。
2.Windows Server 2008 R2及以上(服務(wù)器操作系統(tǒng));Windows 7及以上(桌面操作系統(tǒng))。
3.硬件輔助虛擬化。這是在現(xiàn)有的處理器,包括一個(gè)虛擬化的
微軟虛擬化構(gòu)架
選擇工具體來(lái)說(shuō),Intel vt或AMD-v( AMD-v,以前的代號(hào)為“ Pacifica ”的 ) 。
4.CPU必須具備硬件的數(shù)據(jù)執(zhí)行保護(hù)( DEP )功能,而且該功能必須啟動(dòng)。
5.內(nèi)存最低限度為2GB。
QEMU
QEMU是一套由法布里斯·貝拉(Fabrice Bellard)所編寫(xiě)的以GPL許可證分發(fā)源碼的模擬處理器,在GNU/Linux平臺(tái)上使用廣泛。Bochs,PearPC等與其類似,但不具備其許多特性,比如高速度及跨平臺(tái)的特性,通過(guò)KQEMU這個(gè)閉源的加速器,QEMU能模擬至接近真實(shí)電腦的速度。
目前,0.9.1及之前版本的qemu可以使用kqemu加速器。在qemu1.0之后的版本,都無(wú)法使用kqemu,主要利用qemu-kvm加速模塊,并且加速效果以及穩(wěn)定性明顯好于kqemu。
軟件優(yōu)點(diǎn)
默認(rèn)支持多種架構(gòu)。可以模擬 IA-32 (x86)個(gè)人電腦,AMD 64個(gè)人電腦,MIPS R4000, 升陽(yáng)的SPARCsun3 與PowerPC(PReP 及 Power Macintosh)架構(gòu)
可擴(kuò)展,可自定義新的指令集
開(kāi)源,可移植,仿真速度快
在支持硬件虛擬化的x86構(gòu)架上可以使用KVM加速配合內(nèi)核ksm大頁(yè)面?zhèn)浞輧?nèi)存,速度穩(wěn)定遠(yuǎn)超過(guò)VMware ESX
增加了模擬速度,某些程序甚至可以實(shí)時(shí)運(yùn)行
可以在其他平臺(tái)上運(yùn)行Linux的程序
可以儲(chǔ)存及還原運(yùn)行狀態(tài)(如運(yùn)行中的程序)
可以虛擬網(wǎng)絡(luò)卡
軟件缺點(diǎn)
對(duì)微軟視窗及某些主機(jī)操作系統(tǒng)的不完善支持(某些模擬的系統(tǒng)僅能運(yùn)行)
對(duì)不常用的架構(gòu)的支持并不完善
除非使用kqemu或KVM加速器,否則其模擬速度仍不及其他虛擬軟件,如VMware
比其他模擬軟件難安裝及使用
VirtualBox
VirtualBox 是一款開(kāi)源虛擬機(jī)軟件。VirtualBox 是由德國(guó) Innotek 公司開(kāi)發(fā),由Sun Microsystems公司出品的軟件,使用Qt編寫(xiě),在 Sun 被 Oracle 收購(gòu)后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public License (GPL) 釋出 VirtualBox,并提供二進(jìn)制版本及 OSE 版本的代碼。使用者可以在VirtualBox上安裝并且執(zhí)行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系統(tǒng)作為客戶端操作系統(tǒng)。現(xiàn)在則由甲骨文公司進(jìn)行開(kāi)發(fā),是甲骨文公司xVM虛擬化平臺(tái)技術(shù)的一部份。
VirtualBox號(hào)稱是最強(qiáng)的免費(fèi)虛擬機(jī)軟件,它不僅具有豐富的特色,而且性能也很優(yōu)異!它簡(jiǎn)單易用,可虛擬的系統(tǒng)包括Windows(從Windows 3.1到Windows10、Windows Server 2012,所有的Windows系統(tǒng)都支持)、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系統(tǒng)!使用者可以在VirtualBox上安裝并且運(yùn)行上述的這些操作系統(tǒng)! 與同性質(zhì)的VMware及Virtual PC比較下,VirtualBox獨(dú)到之處包括遠(yuǎn)端桌面協(xié)定(RDP)、iSCSI及USB的支持,VirtualBox在客戶端操作系統(tǒng)上已可以支持USB 2.0的硬件裝置,不過(guò)要安裝 VirtualBox Extension Pack。
VMware:
VMware Workstation
VMware工作站(VMware Workstation)是VMware公司銷售的商業(yè)軟件產(chǎn)品之一。該工作站軟件包含一個(gè)用于英特爾x86兼容電腦的虛擬機(jī)套裝,其允許用戶同時(shí)創(chuàng)建和運(yùn)行多個(gè)x86虛擬機(jī)。每個(gè)虛擬機(jī)可以運(yùn)行其安裝的操作系統(tǒng),如(但不限于)Windows、Linux、BSD變生版本。用簡(jiǎn)單術(shù)語(yǔ)來(lái)描述就是,VMware工作站允許一臺(tái)真實(shí)的電腦在一個(gè)操作系統(tǒng)中同時(shí)打開(kāi)并運(yùn)行數(shù)個(gè)操作系統(tǒng)。其它VMware產(chǎn)品幫助在多個(gè)宿主電腦之間管理或移植VMware虛擬機(jī)。
VMware Player
用于為虛擬機(jī)提供宿主服務(wù)的免費(fèi)軟件產(chǎn)品VMware Player,可運(yùn)行由其它VMware產(chǎn)品產(chǎn)生的客戶虛擬機(jī),同時(shí)也可以自行創(chuàng)建新的虛擬機(jī)。
VMware官方網(wǎng)站提供多個(gè)經(jīng)過(guò)預(yù)先配置的操作系統(tǒng)和應(yīng)用程序的免費(fèi)虛擬盤(pán)映像,這之中有不少是社會(huì)募捐的[7]。也存在著可用來(lái)創(chuàng)建虛擬機(jī),以及對(duì)VMware虛擬硬盤(pán)和軟盤(pán)映像文件進(jìn)行掛裝、操作及轉(zhuǎn)換的免費(fèi)工具。VMware Player可免費(fèi)用于個(gè)人用途,但VMware Player Plus許可才能用于商業(yè)用途。
VMware Fusion
是VMware面向蘋(píng)果電腦推出的一款虛擬機(jī)軟件。
VMware Server
在2006年2月6日VMware發(fā)布了VMware Server產(chǎn)品的1.0版本,取代原先的VMware GSX Server。VMware服務(wù)器可以創(chuàng)建、編輯、運(yùn)行虛擬機(jī)。除了具有可以運(yùn)行由其它VMware產(chǎn)品創(chuàng)建的虛擬機(jī)的功能外,它還可運(yùn)行由微軟Virtual PC產(chǎn)品創(chuàng)建的虛擬機(jī)。VMware國(guó)際公司將VMware服務(wù)器產(chǎn)品作為可免費(fèi)獲得的產(chǎn)品,這是因?yàn)橄M脩魝冏罱K能選擇升級(jí)至VMware ESX服務(wù)器產(chǎn)品。
VMware國(guó)際公司不正式支持運(yùn)行于Windows XP或?qū)I(yè)版Windows 2000上的VMware服務(wù)器產(chǎn)品,這不同于VMware工作站產(chǎn)品。然而,已有用戶報(bào)告在專業(yè)版Windows XP下成功安裝并提供VMware服務(wù)器功能的例子(但有個(gè)別限制要求)[9]。VMware國(guó)際公司提供一個(gè)受支持的宿主操作系統(tǒng)的清單[10]。
在2010年1月,VMware宣布2011年6月30日結(jié)束對(duì)VMware Server的支持。
VMware ESX服務(wù)器
ESX服務(wù)器使用了派生自史丹佛大學(xué)開(kāi)發(fā)的SimOS核心,該核心在硬件初始化后替換原開(kāi)機(jī)的Linux內(nèi)核。ESX服務(wù)器2.x的服務(wù)控制平臺(tái)(亦稱為“COS”或“vmnix”)是基于Red Hat Linux 7.2的。ESX服務(wù)器3.0的服務(wù)控制平臺(tái)源自一個(gè)Red Hat Linux 7.2的經(jīng)過(guò)修改的版本——它是作為一個(gè)用來(lái)加載vmkernel的引導(dǎo)加載程序運(yùn)行的,并提供了各種管理界面(如CLI、瀏覽器界面MUI、遠(yuǎn)程控制臺(tái))。該虛擬化系統(tǒng)管理的方式提供了更少的管理開(kāi)銷以及更好的控制和為虛擬機(jī)分配資源時(shí)能達(dá)到的粒度(指精細(xì)的程度);這也增加了安全性,從而使VMware ESX成為一種企業(yè)級(jí)產(chǎn)品。
可以簡(jiǎn)單了解虛擬化技術(shù)的一些常用工具。 (希望和大家一起學(xué)習(xí),請(qǐng)大神指點(diǎn))
| Stromasys | x86,x86-64 | DEC PDP11,Alpha, VAX, SUN SPARC,HP3000 | Windows,Linux, Solaris | Solaris/SunOS,Tru64, OpenVMS,Ultrix | 私有 |
| Kevin Lawton | 任何 | x86,x86-64 | Windows,Windows Mobile,Linux,IRIX, AIX,FreeBSD,OpenBSD,BeOS,Mac OS X,Android | DOS,Windows,xBSD,Linux | LGPL |
| Peter Veenstra和Sjoerd與社區(qū)幫助 | 任何 | x86 | Linux,Windows,Mac OS Classic,Mac OS X, BeOS,FreeBSD,OpenBSD,Solaris,QNX, IRIX,MorphOS,AmigaOS | DOS | GPL |
| 社區(qū)項(xiàng)目 | x86,x86-64 | x86 | Linux | DOS | GPL v2 |
| Roger Bowler | 任何 | z(IBM大型計(jì)算機(jī)) | Linux,Mac OS X,Solaris,Windows | OS/360,OS/390,z/OS,z/Linux | QPL |
| 微軟 | x86-64+硬件輔助虛擬(AMD-V或Intel VT) | x86-64,x86 | Windows Server 2008,?Windows Server 2012,?Windows 8 | Windows 2000,Windows 2003, Windows 2008,Windows XP, Windows Vista,Linux | 私有(免費(fèi)) |
| Red Hat | Intel/AMD處理器與x86虛擬化 | x86/x86-64 | Linux | Linux,Windows | GPL v2 |
| 太陽(yáng)計(jì)算機(jī)系統(tǒng)公司 | UltraSPARC T1,UltraSPARC T2 | 兼容 | Solaris | Solaris,Linux,FreeBSD | ? |
| 社區(qū)項(xiàng)目,SWsoft支持 | Intel x86,x86-64,IA-64,PowerPC64,SPARC/64 | Intel x86,x86-64,IA-64,PowerPC64,SPARC/64 | Linux | 各種Linux發(fā)行版 | GPL |
| 甲骨文公司 | Intel x86,x86-64,Intel VT-x | Intel x86,x86-64,Intel VT-x | 無(wú)(裸機(jī)安裝) | Microsoft Windows, Oracle Enterprise Linux, Red Hat Enterprise Linux | 免費(fèi),商業(yè) |
| Parallels公司 | x86,Intel VT-x | x86 | Windows,Linux | Windows,Linux,FreeBSD, OS/2,eComStation, MS-DOS,Solaris | 私有 |
| Sebastian Biallas | x86,x86-64,PowerPC | PowerPC | Windows,Linux,Mac OS X,NetBSD | Mac OS X,Darwin,Linux | GPL |
| Fabrice Bellard(其他開(kāi)發(fā)者幫助) | x86,x86-64,IA-64,PowerPC,Alpha,SPARC 32 and 64,ARM,S/390,M68k | x86,x86-64,ARM,SPARC 32 and 64,PowerPC,MIPS | Windows,Linux,Mac OS X,Solaris,FreeBSD,OpenBSD,BeOS | 經(jīng)常變化[1] | GPL/LGPL |
| Fabrice Bellard | Intel x86,x86-64 | Intel x86,x86-64 | Linux,FreeBSD,OpenBSD,Solaris,Windows | 經(jīng)常變化[2] | GPL/LGPL |
| Paul Brook | x86 | x86 | Linux,NetBSD,Windows | 經(jīng)常變化 | GPL |
| AMD | x86-64 | x86-64 | Linux(64位),Windows(64位) | Linux,Windows(32位和64位) | AMD公司專有 |
| 太陽(yáng)計(jì)算機(jī)系統(tǒng)公司 | x86-64,SPARC | x86-64,SPARC | 無(wú):裸機(jī)執(zhí)行 | Windows XP & 2003 Server(僅x86-64),Linux,Solaris | GPL v3 |
| 甲骨文公司 | x86,x86-64,VT-x,AMD-V | x86,(x86-64僅在VirtualBox 2及x86-64主機(jī)上) | Windows,Linux, Mac OS X(Intel), Solaris,?FreeBSD | DOS,Windows,Linux, OS/2,FreeBSD,Solaris | GPL v2;完整版本中的額外特性是專有的(免費(fèi)供個(gè)人與教育機(jī)構(gòu)使用和評(píng)價(jià)) |
| Jeff Dike(其他開(kāi)發(fā)者幫助) | x86,x86-64,PowerPC | x86,x86-64,PowerPC | Linux | Linux | GPL v2 |
| Virtual Iron軟件公司(已被Oracle收購(gòu)May 13, 2009) | x86 VT-x,x86-64 AMD-V | x86,x86-64 | 無(wú):裸機(jī)執(zhí)行 | Windows,Red Hat,SuSE | 完整的產(chǎn)品是私有的[3];幾個(gè)組成部分是GPL v2[4] |
| Microsoft | x86,x86-64 | x86 | Windows Vista(商業(yè)版,企業(yè)版,旗艦版), XP Pro,XP Tablet PC版 | DOS,Windows,OS/2, Linux(Suse,Xubuntu), OpenSolaris(Belenix) | 私有(從2006年7月起免費(fèi)) |
| Microsoft | Intel x86,x86-64 | Intel x86 | Windows 2003,XP | Windows NT,2000,2003, Linux(Red Hat and SUSE) | 私有(免費(fèi)) |
| SWsoft | x86,IA-64,x86-64 | x86,IA-64,x86-64 | Linux & Windows | 各種Linux發(fā)行版;Windows | 私有 |
| VMware | x86, x86-64 | x86, x86-64 | 無(wú):裸機(jī)安裝 | Windows,Red Hat,SuSE,Ubuntu, Netware,Solaris,FreeBSD | 私有 |
| VMware | x86,x86-64 | x86,x86-64 | 無(wú):裸機(jī)安裝(嵌入式) | Windows,Red Hat,SuSE,Ubuntu, Netware,Solaris,FreeBSD | 私有 |
| VMware | x86,Intel VT-x | x86,x86-64 | Mac OS X(Intel) | Windows,Linux,Netware,Solaris | 私有 |
| VMware | x86,x86-64 | x86,x86-64 | Windows,Linux | DOS,Windows,Linux,FreeBSD, Netware,Solaris,虛擬設(shè)備 | 私有(免費(fèi)) |
| VMware | x86,x86-64 | x86,x86-64 | Windows,Linux | DOS,Windows,Linux,FreeBSD, Netware,Solaris,Darwin,虛擬設(shè)備 | 私有 |
| VMware | x86,x86-64 | x86,x86-64 | Windows,Linux | DOS,Windows,Linux,FreeBSD, Netware,Solaris,Darwin,虛擬設(shè)備 | 私有(免費(fèi)) |
| 英國(guó)劍橋大學(xué),Intel,AMD | x86,x86-64 | x86,x86-64 | NetBSD,Linux,Solaris | Linux,Solaris, Windows XP & 2003 Server (需要3.0版和Vanderpool或Pacifica), 九號(hào)項(xiàng)目,FreeBSD | GPL |
VMM(Virtual Machine Monitor,虛擬機(jī)監(jiān)控器)它包括規(guī)劃、部署、管理和優(yōu)化虛擬基礎(chǔ)結(jié)構(gòu)等端到端功能。
Hypervisor,又稱虛擬機(jī)器監(jiān)視器(英語(yǔ):virtual machine monitor,縮寫(xiě)為 VMM),在電腦上的軟件,固件或是硬件,能用來(lái)建立與執(zhí)行虛擬機(jī)器。
擁有Hypervisor,能被用來(lái)執(zhí)行一個(gè)或多個(gè)虛擬機(jī)器,這樣的電腦被定義為是一臺(tái)主體機(jī)器(host machine)。在上面執(zhí)行的虛擬機(jī)器,則稱為客體機(jī)器(guest machine)。hypervisor可以用一個(gè)客體操作系統(tǒng)(guest operating systems)的外貌出現(xiàn),提供虛擬的作業(yè)平臺(tái),負(fù)責(zé)管理其他客體操作系統(tǒng)的運(yùn)作。在它之上運(yùn)作的多個(gè)操作系統(tǒng),共同分享了虛擬化之后的硬件資源。
類型-1:本地或裸機(jī)Hypervisor
這些虛擬機(jī)管理程序直接運(yùn)行在主機(jī)的硬件來(lái)控制硬件和管理客體操作系統(tǒng)上。例如Xen。
類型-2:Hosted Hypervisor
這些虛擬機(jī)管理程序運(yùn)行在傳統(tǒng)的操作系統(tǒng)上,就像其他計(jì)算機(jī)程序那樣運(yùn)行。例如VMware Workstation。
操作系統(tǒng)支持
有幾個(gè)因素導(dǎo)致了2005年左右,在使用虛擬化技術(shù)在Unix,Linux,以及其他類Unix操作系統(tǒng)之間的復(fù)蘇:
1.擴(kuò)展中的硬件功能,允許每個(gè)單臺(tái)機(jī)器做更多同時(shí)的工作,
2.努力控制成本,和通過(guò)整合服務(wù)器來(lái)簡(jiǎn)化管理
3.在需要控制在大型多處理器處理和群集安裝,例如服務(wù)器農(nóng)場(chǎng)和著色農(nóng)場(chǎng)
4.改進(jìn)的安全性,可靠性和設(shè)備無(wú)關(guān)性可以從管理Hypervisor架構(gòu)
5.在不同的硬件或操作系統(tǒng)環(huán)境運(yùn)行復(fù)雜,依賴于操作系統(tǒng)的應(yīng)用程序的能力
6.主要的Unix廠商,包括太陽(yáng)計(jì)算機(jī)系統(tǒng),惠普,IBM和SGI,從2000年以前就一直在銷售虛擬化硬件。
KVM虛擬機(jī)
?
?· KVM是開(kāi)源軟件,全稱是kernel-based virtual machine(基于內(nèi)核的虛擬機(jī))。
· 是x86架構(gòu)且硬件支持虛擬化技術(shù)(如 intel VT 或 AMD-V)的Linux全虛擬化解決方案。
· 它包含一個(gè)為處理器提供底層虛擬化 可加載的核心模塊kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
· KVM還需要一個(gè)經(jīng)過(guò)修改的QEMU軟件(qemu-kvm),作為虛擬機(jī)上層控制和界面。
· KVM能在不改變linux或windows鏡像的情況下同時(shí)運(yùn)行多個(gè)虛擬機(jī),(它的意思是多個(gè)虛擬機(jī)使用同一鏡像)并為每一個(gè)虛擬機(jī)配置個(gè)性化硬件環(huán)境(網(wǎng)卡、磁盤(pán)、圖形適配器……)。
· 在主流的Linux內(nèi)核,如2.6.20以上的內(nèi)核均已包含了KVM核心。
Kernel-based Virtual Machine的簡(jiǎn)稱,是一個(gè)開(kāi)源的系統(tǒng)虛擬化模塊,自Linux 2.6.20之后集成在Linux的各個(gè)主要發(fā)行版本中。它使用Linux自身的調(diào)度器進(jìn)行管理,所以相對(duì)于Xen,其核心源碼很少。KVM目前已成為學(xué)術(shù)界的主流VMM之一。
KVM的虛擬化需要硬件支持(如Intel VT技術(shù)或者AMD V技術(shù))。是基于硬件的完全虛擬化。而Xen早期則是基于軟件模擬的Para-Virtualization,新版本則是基于硬件支持的完全虛擬化。但Xen本身有自己的進(jìn)程調(diào)度器,存儲(chǔ)管理模塊等,所以代碼較為龐大。廣為流傳的商業(yè)系統(tǒng)虛擬化軟件VMware ESX系列是基于軟件模擬的Full-Virtualization。
Xen:
Xen是一個(gè)開(kāi)放源代碼虛擬機(jī)監(jiān)視器,由劍橋大學(xué)開(kāi)發(fā)。它打算在單個(gè)計(jì)算機(jī)上運(yùn)行多達(dá)128個(gè)有完全功能的操作系統(tǒng)。
在舊(無(wú)虛擬硬件)的處理器上執(zhí)行Xen,操作系統(tǒng)必須進(jìn)行顯式地修改(“移植”)以在Xen上運(yùn)行(但是提供對(duì)用戶應(yīng)用的兼容性)。這使得Xen無(wú)需特殊硬件支持,就能達(dá)到高性能的虛擬化。
Xen的半虛擬化
Xen通過(guò)一種叫做半虛擬化的技術(shù)獲得高效能的表現(xiàn)(較少的效能損失,典型的情況下大約損失2%,在最糟的情況下會(huì)有8%的效能耗損;與其它使用完全的虛擬化卻造成最高到20%損耗的其他解決方案形成一個(gè)明顯的對(duì)比),甚至在某些與傳統(tǒng)虛擬技術(shù)極度不友好的架構(gòu)上(x86),Xen也有極佳的表現(xiàn)。與那些傳統(tǒng)透過(guò)軟件模擬實(shí)現(xiàn)硬件的虛擬機(jī)不同,在3.0版本及在Intel VT-X支援前的Xen需要讓客戶端操作系統(tǒng)(guest operating systems)與Xen API進(jìn)行連接。到目前為止,這樣連結(jié)已經(jīng)可以運(yùn)用在NetBSD、GNU/Linux、FreeBSD和貝爾實(shí)驗(yàn)室的Plan 9系統(tǒng)上。在Brainshare 2005會(huì)議上,Novell展示了NetWare與Xen的連通。與Windows XP連通的技術(shù)曾在Xen開(kāi)發(fā)初期進(jìn)行,但微軟的協(xié)議未能允許它發(fā)布。Sun微系統(tǒng)公司也正積極研究Solaris與Xen的連結(jié),使其能在Xen平臺(tái)上運(yùn)作。
Xen的完全虛擬化
Intel對(duì)Xen貢獻(xiàn)修改以支持其VT-X架構(gòu)擴(kuò)展,而AMD則修改以支持其AMD-V架構(gòu)擴(kuò)展。如系統(tǒng)處理器支持虛擬硬件擴(kuò)展(Intel和AMD對(duì)本地支持虛擬化的擴(kuò)展),這項(xiàng)技術(shù)將允許未修改的操作系統(tǒng)運(yùn)行在Xen虛擬機(jī)中。事實(shí)上,那意味著性能的提升,并且你可以在沒(méi)有進(jìn)行任何協(xié)議不允許的修改的情況下對(duì)Windows進(jìn)行虛擬。
Hyper-V
Hyper-V是微軟的一款虛擬化產(chǎn)品,是微軟第一個(gè)采用類似Vmware和Citrix開(kāi)源Xen一樣的基于hypervisor的技術(shù)。這也意味著微軟會(huì)更加直接地與市場(chǎng)先行者VMware展開(kāi)競(jìng)爭(zhēng),但競(jìng)爭(zhēng)的方式會(huì)有所不同。
Hyper-V是微軟提出的一種系統(tǒng)管理程序虛擬化技術(shù),能夠?qū)崿F(xiàn)桌面虛擬化。Hyper-V最初預(yù)定在2008年第一季度,與Windows Server 2008同時(shí)發(fā)布。Hyper-V Server 2012完成RTM版發(fā)布
系統(tǒng)要求
1.Intel或者AMD64位處理器[1]?。
2.Windows Server 2008 R2及以上(服務(wù)器操作系統(tǒng));Windows 7及以上(桌面操作系統(tǒng))。
3.硬件輔助虛擬化。這是在現(xiàn)有的處理器,包括一個(gè)虛擬化的
微軟虛擬化構(gòu)架
選擇工具體來(lái)說(shuō),Intel vt或AMD-v( AMD-v,以前的代號(hào)為“ Pacifica ”的 ) 。
4.CPU必須具備硬件的數(shù)據(jù)執(zhí)行保護(hù)( DEP )功能,而且該功能必須啟動(dòng)。
5.內(nèi)存最低限度為2GB。
QEMU
QEMU是一套由法布里斯·貝拉(Fabrice Bellard)所編寫(xiě)的以GPL許可證分發(fā)源碼的模擬處理器,在GNU/Linux平臺(tái)上使用廣泛。Bochs,PearPC等與其類似,但不具備其許多特性,比如高速度及跨平臺(tái)的特性,通過(guò)KQEMU這個(gè)閉源的加速器,QEMU能模擬至接近真實(shí)電腦的速度。
目前,0.9.1及之前版本的qemu可以使用kqemu加速器。在qemu1.0之后的版本,都無(wú)法使用kqemu,主要利用qemu-kvm加速模塊,并且加速效果以及穩(wěn)定性明顯好于kqemu。
軟件優(yōu)點(diǎn)
默認(rèn)支持多種架構(gòu)。可以模擬 IA-32 (x86)個(gè)人電腦,AMD 64個(gè)人電腦,MIPS R4000, 升陽(yáng)的SPARCsun3 與PowerPC(PReP 及 Power Macintosh)架構(gòu)
可擴(kuò)展,可自定義新的指令集
開(kāi)源,可移植,仿真速度快
在支持硬件虛擬化的x86構(gòu)架上可以使用KVM加速配合內(nèi)核ksm大頁(yè)面?zhèn)浞輧?nèi)存,速度穩(wěn)定遠(yuǎn)超過(guò)VMware ESX
增加了模擬速度,某些程序甚至可以實(shí)時(shí)運(yùn)行
可以在其他平臺(tái)上運(yùn)行Linux的程序
可以儲(chǔ)存及還原運(yùn)行狀態(tài)(如運(yùn)行中的程序)
可以虛擬網(wǎng)絡(luò)卡
軟件缺點(diǎn)
對(duì)微軟視窗及某些主機(jī)操作系統(tǒng)的不完善支持(某些模擬的系統(tǒng)僅能運(yùn)行)
對(duì)不常用的架構(gòu)的支持并不完善
除非使用kqemu或KVM加速器,否則其模擬速度仍不及其他虛擬軟件,如VMware
比其他模擬軟件難安裝及使用
VirtualBox
VirtualBox 是一款開(kāi)源虛擬機(jī)軟件。VirtualBox 是由德國(guó) Innotek 公司開(kāi)發(fā),由Sun Microsystems公司出品的軟件,使用Qt編寫(xiě),在 Sun 被 Oracle 收購(gòu)后正式更名成 Oracle VM VirtualBox。Innotek 以 GNU General Public License (GPL) 釋出 VirtualBox,并提供二進(jìn)制版本及 OSE 版本的代碼。使用者可以在VirtualBox上安裝并且執(zhí)行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系統(tǒng)作為客戶端操作系統(tǒng)。現(xiàn)在則由甲骨文公司進(jìn)行開(kāi)發(fā),是甲骨文公司xVM虛擬化平臺(tái)技術(shù)的一部份。
VirtualBox號(hào)稱是最強(qiáng)的免費(fèi)虛擬機(jī)軟件,它不僅具有豐富的特色,而且性能也很優(yōu)異!它簡(jiǎn)單易用,可虛擬的系統(tǒng)包括Windows(從Windows 3.1到Windows10、Windows Server 2012,所有的Windows系統(tǒng)都支持)、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系統(tǒng)!使用者可以在VirtualBox上安裝并且運(yùn)行上述的這些操作系統(tǒng)! 與同性質(zhì)的VMware及Virtual PC比較下,VirtualBox獨(dú)到之處包括遠(yuǎn)端桌面協(xié)定(RDP)、iSCSI及USB的支持,VirtualBox在客戶端操作系統(tǒng)上已可以支持USB 2.0的硬件裝置,不過(guò)要安裝 VirtualBox Extension Pack。
VMware:
VMware Workstation
VMware工作站(VMware Workstation)是VMware公司銷售的商業(yè)軟件產(chǎn)品之一。該工作站軟件包含一個(gè)用于英特爾x86兼容電腦的虛擬機(jī)套裝,其允許用戶同時(shí)創(chuàng)建和運(yùn)行多個(gè)x86虛擬機(jī)。每個(gè)虛擬機(jī)可以運(yùn)行其安裝的操作系統(tǒng),如(但不限于)Windows、Linux、BSD變生版本。用簡(jiǎn)單術(shù)語(yǔ)來(lái)描述就是,VMware工作站允許一臺(tái)真實(shí)的電腦在一個(gè)操作系統(tǒng)中同時(shí)打開(kāi)并運(yùn)行數(shù)個(gè)操作系統(tǒng)。其它VMware產(chǎn)品幫助在多個(gè)宿主電腦之間管理或移植VMware虛擬機(jī)。
VMware Player
用于為虛擬機(jī)提供宿主服務(wù)的免費(fèi)軟件產(chǎn)品VMware Player,可運(yùn)行由其它VMware產(chǎn)品產(chǎn)生的客戶虛擬機(jī),同時(shí)也可以自行創(chuàng)建新的虛擬機(jī)。
VMware官方網(wǎng)站提供多個(gè)經(jīng)過(guò)預(yù)先配置的操作系統(tǒng)和應(yīng)用程序的免費(fèi)虛擬盤(pán)映像,這之中有不少是社會(huì)募捐的[7]。也存在著可用來(lái)創(chuàng)建虛擬機(jī),以及對(duì)VMware虛擬硬盤(pán)和軟盤(pán)映像文件進(jìn)行掛裝、操作及轉(zhuǎn)換的免費(fèi)工具。VMware Player可免費(fèi)用于個(gè)人用途,但VMware Player Plus許可才能用于商業(yè)用途。
VMware Fusion
是VMware面向蘋(píng)果電腦推出的一款虛擬機(jī)軟件。
VMware Server
在2006年2月6日VMware發(fā)布了VMware Server產(chǎn)品的1.0版本,取代原先的VMware GSX Server。VMware服務(wù)器可以創(chuàng)建、編輯、運(yùn)行虛擬機(jī)。除了具有可以運(yùn)行由其它VMware產(chǎn)品創(chuàng)建的虛擬機(jī)的功能外,它還可運(yùn)行由微軟Virtual PC產(chǎn)品創(chuàng)建的虛擬機(jī)。VMware國(guó)際公司將VMware服務(wù)器產(chǎn)品作為可免費(fèi)獲得的產(chǎn)品,這是因?yàn)橄M脩魝冏罱K能選擇升級(jí)至VMware ESX服務(wù)器產(chǎn)品。
VMware國(guó)際公司不正式支持運(yùn)行于Windows XP或?qū)I(yè)版Windows 2000上的VMware服務(wù)器產(chǎn)品,這不同于VMware工作站產(chǎn)品。然而,已有用戶報(bào)告在專業(yè)版Windows XP下成功安裝并提供VMware服務(wù)器功能的例子(但有個(gè)別限制要求)[9]。VMware國(guó)際公司提供一個(gè)受支持的宿主操作系統(tǒng)的清單[10]。
在2010年1月,VMware宣布2011年6月30日結(jié)束對(duì)VMware Server的支持。
VMware ESX服務(wù)器
ESX服務(wù)器使用了派生自史丹佛大學(xué)開(kāi)發(fā)的SimOS核心,該核心在硬件初始化后替換原開(kāi)機(jī)的Linux內(nèi)核。ESX服務(wù)器2.x的服務(wù)控制平臺(tái)(亦稱為“COS”或“vmnix”)是基于Red Hat Linux 7.2的。ESX服務(wù)器3.0的服務(wù)控制平臺(tái)源自一個(gè)Red Hat Linux 7.2的經(jīng)過(guò)修改的版本——它是作為一個(gè)用來(lái)加載vmkernel的引導(dǎo)加載程序運(yùn)行的,并提供了各種管理界面(如CLI、瀏覽器界面MUI、遠(yuǎn)程控制臺(tái))。該虛擬化系統(tǒng)管理的方式提供了更少的管理開(kāi)銷以及更好的控制和為虛擬機(jī)分配資源時(shí)能達(dá)到的粒度(指精細(xì)的程度);這也增加了安全性,從而使VMware ESX成為一種企業(yè)級(jí)產(chǎn)品。
總結(jié)
- 上一篇: debian添加删除用户
- 下一篇: 通过日志恢复SQL Server的历史数