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