托管虛擬化套件的橫向評測
譯文虛擬化領(lǐng)域的許多活動(dòng)主要針對數(shù)據(jù)中心。這方面表現(xiàn)得如火如荼,但是有一大批虛擬化技術(shù)面向工作站:在這個(gè)領(lǐng)域,大家為誰是最佳套件爭得不可開交,而且各自在不斷改進(jìn)。
我們之前測試了偏向數(shù)據(jù)中心環(huán)境的裸機(jī)虛擬機(jī)管理程序(http://www.zdnet.com/bare-metal-hypervisors-a-group-test-3039662582/)。本文我們關(guān)注類型2虛擬化(Type 2 virtualisation),在這種環(huán)境下,一個(gè)操作系統(tǒng)需要運(yùn)行來托管運(yùn)行另一個(gè)操作系統(tǒng)。
本次測評的一系列產(chǎn)品有:VMware Workstation、Virtualbox、Parallels Workstation和KVM。我們還測試了Wine,以便為這次測試提供一番對照,而且它還能獲得虛擬機(jī)管理程序運(yùn)行Windows應(yīng)用程序的一些好處。
硬件
我們用來測試的工作站是一臺惠普Z800工作站;這臺系統(tǒng)配備了雙核3.2GHz至強(qiáng)W5580處理器、2GB內(nèi)存和1TB硬盤。另外還搭配一塊高端的英偉達(dá)Quadro FX 5800圖形適配器,自帶4GB內(nèi)存。
我們選擇Ubuntu 9.04作為基本的操作系統(tǒng),因?yàn)樗峁┝朔N類最廣泛的虛擬機(jī)管理程序以便評析,還便于測試KVM和Wine,后兩者在任何Windows操作系統(tǒng)上無法使用。
將Windows XP SP2安裝在每個(gè)虛擬機(jī)管理程序下,并執(zhí)行了下列測試:
•單個(gè)處理器的Cinebench
•多個(gè)處理器的Cinebench
•Cinebench openGL
•啟動(dòng)時(shí)間
之所以選擇Windows XP而不是選擇Windows Vista或Windows 7,是由于這款操作系統(tǒng)運(yùn)行起來表現(xiàn)穩(wěn)定,占用資源較少,又眾所周知。我們覺得,這將讓每一個(gè)虛擬機(jī)管理程序都可以借助額外程序包和XP包含的工具,充當(dāng)展示各自的潛力。只有KVM這一個(gè)虛擬機(jī)管理程序不提供需要安裝的額外程序包來加快Windows XP的性能。
安裝
VMware Workstation
VMware Workstation的安裝過程簡單直觀。從產(chǎn)品網(wǎng)頁(http://www.vmware.com/products/workstation/index.html)下載該產(chǎn)品后,安裝Ubuntu所需的程序、運(yùn)行已下載的軟件包以及按提示操作,這是一樁很簡單的事。較之于為Ubuntu等基于非rpm的發(fā)行版轉(zhuǎn)換rpm文件,軟件包是個(gè)種比較容易的選擇。
這個(gè)安裝過程中最難的部分是,向VMware網(wǎng)站注冊,獲取試用密鑰,這表明了這款成熟產(chǎn)品安裝起來很容易。
借助無人管理的安裝,讓W(xué)indows XP在VMware Workstation下運(yùn)行起來很簡單。
VirtualBox
把VirtualBox安裝到Linux系統(tǒng)上有兩個(gè)辦法:一是通過該發(fā)行版的程序包管理器,二是通過VirtualBox網(wǎng)站(https://www.virtualbox.org/wiki/Downloads)本身。
從之前使用Gentoo設(shè)備的體驗(yàn)來看,VirtualBox OSE程序包顯得比較麻煩。來自VirtualBox網(wǎng)站的預(yù)包裝版本運(yùn)行起來順暢得很。只要下載合適的文件,點(diǎn)擊安裝它,你馬上就能讓VirtualBox安裝并運(yùn)行起來。
預(yù)包裝的VirtualBox安裝起來速度無可匹敵。
Parallels Workstation
Parallels的傳統(tǒng)強(qiáng)項(xiàng)一直在OS X操作系統(tǒng)方面;由于需要一系列步驟才能讓Parallels在Ubuntu上順當(dāng)運(yùn)行,沒人可能真心希望這樣。很容易從產(chǎn)品網(wǎng)頁(http://www.parallels.com/uk/products/workstation/)獲得一份Parallels和必要的試用密鑰,但是應(yīng)該認(rèn)真閱讀產(chǎn)品網(wǎng)頁的內(nèi)容,需要引起一番注意。
比如說,網(wǎng)站說“新特性!Parallels Workstation現(xiàn)在可安裝在新的Linux內(nèi)核(2.6.23)上——這個(gè)內(nèi)核可以追根溯源到2007年,此后已被六個(gè)穩(wěn)定版所取代。”
據(jù)產(chǎn)品網(wǎng)頁顯示,Parallels Workstation的“新特性”還包括對Ubuntu 7.10和Fedora 8的支持——兩者在2007年年底左右屬于最先進(jìn)的Linux。
安裝Parallels方面真正的麻煩在于從網(wǎng)站上安裝了deb壓縮文件之后,發(fā)現(xiàn)無法完成“parallels-config”命令的執(zhí)行。那是由于,我們使用了最新的Ubuntu發(fā)行版。多虧了這里提供的操作說明(http://ubuntuforums.org/showthread.php?t=1018159),我們得以完成了安裝,但是這個(gè)過程很可能使得Parallels Workstation成為安裝和運(yùn)行起來難度最大的產(chǎn)品。
結(jié)果證明,Parallels是在Ubuntu下安裝和運(yùn)行起來最困難的虛擬機(jī)管理程序。
KVM
KVM的安裝由Ubuntu的apt程序包管理系統(tǒng)來處理,不過與下面介紹的Wine不一樣,還需要執(zhí)行另外許多步驟才能完成安裝。其中一些步驟需要編輯XML文件,但是操作說明簡單直觀,應(yīng)該不會帶來任何困難。
另外還建議:你應(yīng)該為KVM安裝一款圖形化工具;這樣一來,虛擬機(jī)管理起來要容易得多。
按典型的*nix方式,如圖所示的虛擬機(jī)管理器并不與KVM捆綁在一起。
Wine
Wine的安裝同樣由Ubuntu的apt程序包管理系統(tǒng)來處理。想安裝Wine,只需要執(zhí)行apt-get install wine命令,然后執(zhí)行winecfg命令。一旦這兩個(gè)命令執(zhí)行完畢,你就可以準(zhǔn)備運(yùn)行了。
Wine與Ubuntu環(huán)境完全集成。
#p#
可管理性和靈活性
VMware Workstation
一旦為我們的Windows XP測試系統(tǒng)安裝好了一個(gè)新的虛擬機(jī),一項(xiàng)獨(dú)特的VMware特性迎面而來:無人管理的安裝。這大幅節(jié)省了時(shí)間,因?yàn)閄P有許多提示需要用戶在整個(gè)安裝過程中輸入相關(guān)信息。而在這里,你只要輸入Windows產(chǎn)品密鑰、用戶名和密碼,VMWare就會為你處理接下來的一切。
虛擬機(jī)的控制面板布局合理、易于使用——這款產(chǎn)品的成熟性再次顯露無遺。它也是除KVM外唯一明確允許編輯調(diào)整虛擬機(jī)可以使用的處理器核心數(shù)量的虛擬機(jī)管理程序。
VMware Workstation有一項(xiàng)記錄/回放功能,允許重新生成虛擬機(jī)的狀態(tài),不過這的確需要使機(jī)器返回到只在一個(gè)核心上執(zhí)行的環(huán)境。該功能可能對調(diào)試人員和測試人員來說有用。VMware Workstation還能夠在后臺運(yùn)行虛擬機(jī)的執(zhí)行、拋出查看窗口。
VMware Workstation的管理窗口。
VirtualBox
VirtualBox致力于一個(gè)方面:運(yùn)行面向桌面的虛擬機(jī),而且在這方面做得很好。這種樸實(shí)無華的方法使得虛擬機(jī)管理起來異常簡單,但是也喪失了其他系統(tǒng)所具有的靈活性。
我們遇到的一個(gè)問題是,VirtualBox無法從NetBSD 5.0光盤來啟動(dòng)。這是唯一啟動(dòng)失敗的虛擬機(jī)管理程序,也是VirtualBox唯一明顯的缺點(diǎn)。
每個(gè)虛擬機(jī)的所有選項(xiàng)都保留在一個(gè)單獨(dú)的窗口中,這使得VirtualBox的界面顯得很整潔。
Parallels Workstation
雖然其他虛擬機(jī)管理程序往往會顯示在內(nèi)部創(chuàng)建的一系列虛擬機(jī),但是Parallels通過文件來處理其虛擬機(jī)。這意味著,你不得不瀏覽文件系統(tǒng),打開你想使用的那個(gè)虛擬機(jī)的文件,這種操作方式就好比文字處理應(yīng)用軟件那樣。這使得界面相比之下顯得很笨拙,給人以過時(shí)的感覺。
我們在Parallels方面遇到的另一個(gè)問題是,我們的Windows XP虛擬機(jī)在打開電源后需要重置,那樣才能順利啟動(dòng)。這有點(diǎn)小小的麻煩,但時(shí)間一長就會很煩人。
每個(gè)虛擬機(jī)方面的信息一目了然,但是缺少VMware Workstation或KVM的那種靈活性。
Parallels Workstation在顯示重要的配置設(shè)置方面做得很到位。
KVM
KVM采用了傳統(tǒng)的Unix方法,把虛擬機(jī)的執(zhí)行與查看器完全分隔開來。比如說,可以在顯示桌面的窗口沒有打開的情況下讓W(xué)indows XP運(yùn)行;它完全會在后臺悄然運(yùn)行。
很顯然,KVM旨在用起來比工作站更高一級,而設(shè)計(jì)體現(xiàn)了這一點(diǎn)。雖然建議你使用可用的圖形化工具,但是如果你希望,也可以回過頭來使用XML或控制臺界面。
由于KVM查看器與服務(wù)器分開來,它們可以連接到可能在其他機(jī)器上運(yùn)行的KVM主機(jī)。
借助圖形化工具,虛擬機(jī)很容易創(chuàng)建和管理;能夠退回到文本文件為KVM提供了強(qiáng)大的靈活性和底層功能。就我們采用的環(huán)境而言,我們很容易創(chuàng)建和部署許多Ubuntu虛擬機(jī),這種功能在服務(wù)器機(jī)房里更有用武之地。
與VMware Workstation一樣, KVM是唯一允許你指定虛擬機(jī)可用核心數(shù)量的其他產(chǎn)品,彰顯了其“超越工作站”的傳統(tǒng)。
KVM有一個(gè)選項(xiàng)卡式界面,可以在“Console”(控制臺)選項(xiàng)卡里面查看虛擬機(jī)。
Wine
作為一款僅僅執(zhí)行Windows程序的程序,管理工作交給用戶來處理——應(yīng)用程序可駐留在任何地方,Wine可以很輕松地執(zhí)行它們。
系統(tǒng)的靈活性取決于應(yīng)用程序及其在Wine應(yīng)用程序數(shù)據(jù)庫(http://appdb.winehq.org/)中的狀態(tài)。除非該程序擁有Platinum(http://appdb.winehq.org/help/?sTopic=maintainer_ratings)狀態(tài),否則預(yù)計(jì)最起碼會遇到一些問題和小麻煩。
毫無疑問,Wine旨在仿效Windows。
#p#
性能
只有VMware Workstation能夠運(yùn)行本文介紹的每一項(xiàng)虛擬機(jī)管理程序基準(zhǔn)測試。這本身就足以表明這款產(chǎn)品的穩(wěn)定性和靈活性。
我們進(jìn)行的測試其結(jié)果如下:
關(guān)鍵的兩行是啟動(dòng)時(shí)間和Cinebench中的OpenGL分?jǐn)?shù)。
VirtualBox和Parallel在單個(gè)處理器測試方面似乎勝過競爭對手,但一切似乎都不是那么回事。這兩款產(chǎn)品進(jìn)行配置來限制所用核心的數(shù)量,所以我們猜想,它們都使用盡可能多的核心來提升性能。這得到了下面這個(gè)事實(shí)的證實(shí):Parallels和VirtualBox在單個(gè)處理器上的運(yùn)行速度似乎超過Wine——這沒有額外的虛擬機(jī)管理程序和操作系統(tǒng)開銷,不過Wine在多個(gè)處理器上運(yùn)行時(shí)的測試得分超過它們:在訪客操作系統(tǒng)看來似乎是一個(gè)處理器,實(shí)際上可能是主機(jī)操作系統(tǒng)上的多個(gè)進(jìn)程及/或線程。因而,我們更加相信啟動(dòng)時(shí)間是更如實(shí)地體現(xiàn)性能的一個(gè)指標(biāo)。
就一般的使用而言,這每一款虛擬機(jī)管理程序在Windows XP里面運(yùn)行起來讓人覺得很快。不過,VirtualBox的表現(xiàn)更勝一籌;與其他虛擬機(jī)管理程序相比,它在OpenGL方面的速度快若閃電。
成本
下面這張表格概述了每款產(chǎn)品的成本(不含支持):
#p#
蓋棺定論
從我們的測試和實(shí)際試用產(chǎn)品的情況來看,我們會排除在外的唯一產(chǎn)品是Parallels Workstation。盡管它在非免費(fèi)產(chǎn)品中是最便宜的,但是它帶來的麻煩以及老是需要在啟動(dòng)電源之后立即重置虛擬機(jī)使得它無緣入圍最終榜單。如果你在Mac OS X平臺上使用Parallels,其中一些問題立馬迎刃而解,它在該平臺上要成熟得多。
如果你使用Linux平臺,需要運(yùn)行一兩個(gè)Windows工作站,又不需要一款功能全面的虛擬化解決方案,那么Wine是最佳選擇。應(yīng)用程序運(yùn)行起來比在虛擬機(jī)管理程序下快得多,不過確實(shí)有個(gè)注意事項(xiàng):應(yīng)用程序在Wine中運(yùn)行起來并不像在Windows中那樣。
KVM在本文中是作為一款托管虛擬化套件,但是它一般面對的是面向工作站的軟件,而不是服務(wù)器軟件,后者才是其天然的地盤。由于缺乏性能,加上圖形渲染方面的問題,我們不推薦KVM用于純粹的工作站。不過,如果你不介意搗鼓Linux,又需要部署多份主機(jī)操作系統(tǒng)(比如在多個(gè)Ubuntu實(shí)例下),那么KVM有望適合你。
在服務(wù)器機(jī)房,KVM確實(shí)發(fā)現(xiàn)自己接近與我們之前介紹的產(chǎn)品(裸機(jī)虛擬機(jī)管理程序)更一致的產(chǎn)品。即使如此,考慮到它具有諸多優(yōu)點(diǎn):免費(fèi),在Linux上隨處可得,很容易復(fù)制主機(jī)操作系統(tǒng),它在工作站方面絕對有一席之地。不過,它并非贏家。
這樣一來,就剩下兩款產(chǎn)品有資格爭奪桂冠:VMware Workstation和VirtualBox。
性能方面明顯脫穎而出的是VirtualBox。VirtualBox工作時(shí),它的表現(xiàn)非常好,只是在極少數(shù)情況下才有問題。該產(chǎn)品內(nèi)置的新的三維加速功能讓它比競爭對手領(lǐng)先一籌,而它是免費(fèi)的更是錦上添花。VirtualBox讓人覺得有點(diǎn)顧慮的是,目前的VirtualBox開發(fā)商:Sun公司前陣子被甲骨文收購了。甲骨文不太可能會終止這款產(chǎn)品,但是它可能忍不住會把該產(chǎn)品與自己的虛擬化解決方案結(jié)合起來,或者讓它更加面向企業(yè)用戶。
VMware Workstation具有高度可配置性,由諳熟虛擬化的一家公司開發(fā)而成。在測試期間,它完美無缺,管理系統(tǒng)也是第一流的。雖然它在性能方面的測試結(jié)果并非最佳,但是讓人覺得這款系統(tǒng)的速度并不慢。能夠記錄虛擬機(jī)會話絕對會找到用武之地。
我們最后的建議是什么呢?
如果你必須要有百分之百的兼容性和保障,又想獲得支持,那么VMware應(yīng)該是你的選擇。
但是假如你不打算啟動(dòng)NetBSD 5.0,我們會建議選擇VirtualBox。因?yàn)樗俣瓤?、易于使用,而且還有這個(gè)誘人的價(jià)位:免費(fèi)。