Windows 8 Hyper-V客戶端vs. 工作站虛擬軟件
自從微軟宣布將在Windows 8中集成Hyper-V客戶端虛擬化hypervisor,圍繞實(shí)際案例和將對桌面虛擬化軟件格局影響的猜測就不絕于耳。
可以確定的一點(diǎn)是微軟將停止Windows Virtual PC,由于它的功能多數(shù)已經(jīng)被其它產(chǎn)品替代,影響并不大。而另一點(diǎn)可能更為深遠(yuǎn)的影響在于,是否Windows 8的Hyper-V將可以取代所有第三方工作站虛擬化軟件。作為Oracle VirtualBox的用戶,我對這個跟VMware Workstation類的軟件從本質(zhì)上有所沖突的產(chǎn)品特別關(guān)注。
由于Windows 8和Hyper-V 終端都還處于開發(fā)階段,很難準(zhǔn)確預(yù)測它們最終的產(chǎn)品形態(tài)和工作方式。不過關(guān)于Windows 8自帶的Hyper-V 客戶端如何同VirtualBox等工作站虛擬化方案進(jìn)行競爭方面還是有一些可比較的線索。
硬件需求
首先可比較的是Hyper-V和VirtuaBox的硬件需求。前者需要64位操作系統(tǒng)而且支持二級地址轉(zhuǎn)換(SLAT Second Level Address Translation),英特爾稱之為SLAT EPT(Extended Page Table),而AMD叫做快速虛擬化索引(RVI Rapid Virtualization Indexing)。它們的基本功能都一樣——讓處理器可以在內(nèi)存中更高效地把虛擬地址映射到物理地址。不巧的是,現(xiàn)在使用的多數(shù)硬件都不支持SLAT。我現(xiàn)在的辦公室有4臺機(jī)器,都是2007年后生產(chǎn)的,只有1臺支持SLAT,還恰好不是我現(xiàn)在正是使用的這臺。
Hyper-V內(nèi)核無法在不支持SLAT的系統(tǒng)上安裝
VirtualBox不需要SLAT,或任何其它的基于Intel或AMD芯片的硬件級虛擬化功能(Intel VT-x和AMD-V)。如果系統(tǒng)提供這些硬件虛擬化功能,軟件也可以支持;反之,也不會成為障礙,僅僅速度慢一點(diǎn)。這種靈活性使得VirtualBox的使用范圍更廣。
換句話說,VirtualBox虛擬化需要的兩個硬件條件是:支持64位OS和對稱的多核處理器。幾乎現(xiàn)在出廠的所有PC都支持硬件虛擬化,所以這兩點(diǎn)需求對多數(shù)用戶不會形成障礙(而是否能特別支持SLAT則是另外一回事了)。
關(guān)于內(nèi)存的需求,Windows 8要少于Windows 7,所以您所需要的內(nèi)存數(shù)量完全取決于對虛擬化后的性能期望。Hyper-V允許用戶在虛擬機(jī)運(yùn)行期間分配和釋放內(nèi)存,而未使用的內(nèi)存可以在Hyper-V 虛擬機(jī)之間共享來提高效率。
VirtualBox提供了兩個相似的功能:內(nèi)存膨脹和頁面共享(memory ballooning and page fusion)。前者可以讓用戶在不停機(jī)的前提下,改變虛擬機(jī)可用內(nèi)存數(shù)量。當(dāng)希望在虛擬機(jī)運(yùn)行時對其中2、3臺虛擬機(jī)重新分配內(nèi)存時是很方便的。頁面共享指的是運(yùn)行同種OS的虛擬機(jī)可以共享部分內(nèi)存交換區(qū)。注意這兩項(xiàng)都是需要手動開啟的,默認(rèn)對虛擬機(jī)關(guān)閉。
Windows 8 Hyper-V客戶端優(yōu)缺點(diǎn)
Windows 8 Hyper-V和VirtualBox這樣的第三方工作站虛擬化軟件的關(guān)鍵區(qū)別之一在于,它是屬于Windows系統(tǒng)的組件之一。這項(xiàng)優(yōu)點(diǎn)是把宿主機(jī)和客機(jī)緊密地結(jié)合在一起。
例如,可以把.VHD文件直接映射給Windows 8,并在Hyper-V客戶端中進(jìn)行加載,類似于Internet Explorer Application Compatibility VPC Images的功能,可以在Windows實(shí)例中獨(dú)立運(yùn)行早期的IE版本一樣。
VirtualBox平臺的中立屬性也代表了它不能達(dá)到Hyper-V和Windows 8的集成緊密程度。通過集成工具VirtualBox可以改善宿主機(jī)和客機(jī)的交互能力,但是把某個單獨(dú)的應(yīng)用從客機(jī)輸出到宿主機(jī)Windows系統(tǒng)還需要對客機(jī)的Windows附件進(jìn)行修改。例如,把Windows虛擬應(yīng)用輸出到Mac桌面這樣的跨平臺應(yīng)用輸出雖然理論上是可行的,但工作量不小。
Windows 8可能會包含一個向?qū)С绦騺硗瓿稍摴δ?最終情況還不清楚)。假設(shè)這樣,您可以雙擊.VHD文件實(shí)現(xiàn)在Windows中的啟動。IT達(dá)人通過使用Hyper-V就可以無縫地把應(yīng)用輸出到宿主機(jī)操作系統(tǒng)。例如在最新版本的Windows中運(yùn)行已經(jīng)淘汰的IE版本(通過虛擬化技術(shù)運(yùn)行老版本的IE在現(xiàn)在的微軟授權(quán)規(guī)則下是不允許的。)
Windows 8的Hyper-V客戶端具備一些優(yōu)勢的同時還需要不斷地完善來發(fā)揮出最大的潛力。
相比而言,VirtualBox這樣的工作站虛擬化產(chǎn)品要更直白一些——它是一個擁有友好界面的獨(dú)立開發(fā)的應(yīng)用。它跟Windows的任何特殊組件都沒有關(guān)聯(lián),也可以運(yùn)行于Windows、Linux、Mac OS X或任意OS上。
只有等到帶有Hyper-V的Windows 8發(fā)布,人們才能知道是否它可以取代VirtualBox這類的虛擬化產(chǎn)品。短期內(nèi)看是不太可能的,Hyper-V需要借助于處理器附加功能,而VirtualBox不需要,而且它更成熟,用戶界面更為友好。