前些時候,我有篇Post提到我為了兼顧記憶體使用效率、應用程式相容性在Windows 2003 x64與Vista x64間左右為難,而不管何者,Virtual Machine的需求都是少不了的,網友Blair Chen提了個好建議,Why not Hyper-V?

Hyper-V是Windows 2008 x64 Standard、Enterprise、DataCenter Edition裡附加的新功能,RTM版本已於2008/06/26釋出。簡單來說,它將會取代原本Virtual Server 2005扮演的角色,但在架構及表現上,Hyper-V顯然更能實踐單一伺服器承載多台VM的理想。

雖然Hyper-V有許多新的強化,例如: 支援多CPU/x64的Guest OS、對Cluster架構的額外支援等等,不過以我單純的應用需求來說,所有的注意力都只集中在一點上: 速度。

Hyper-V在架構上做了很大的改良,VM與實體機器間的溝通簡化許多,因此VM的執行效率大大提升。擺脫模擬虛擬機器過程的層層損耗,應該可以終結在勇猛Core 2 Duo上的VM活像台486的惡夢,但這都是理論,實務上真的可以產生這麼明顯的差異嗎?

Michael O'Donovan在MSDN Blog上發表了一篇Virtual Server 2005R2 vs Hyper-V大車拼的數據。在一模一樣的硬體上分別安裝Vista x86+Virtual Server 2005及Windows 2008+Hyper-V,都用一個2G RAM+43G HD的VM執行Windows 2003+MOSS2007+SQL2005,並用Visual Studio 2005 Team Edition for Software Testers進行壓力測試。從數字上來看,Hyper-V的表現,足足比Virtual Sever 2005快了一倍以上,這是一個選擇Windows 2008的有力因素。

我自己實測的結果,Hyper-V與Windows 2008的結合相當緊密,預設VM會隨著Host OS關機時暫存狀態,一開機又立即還原啟動,而且暫存與還原的速度比Virtual Server快上許多,非常適合在一台機器上掛上多個Server VM提供服務以節省硬體的應用情境。另外,Virutal PC有但Virtual Server不支援的NAT功能(VM不需正式IP,可透過Host OS連上網路),在Hyper-V上又重現了。

不過,要執行Hyper-V有些硬體限制,CPU與BIOS要支援硬體虛擬化,這點可以用CPU檢測軟體(推薦Securable)確認。另外,Windows 2008在啟用Hyper-V後就不再提供Sleep及Hibernation的功能,不過應無大礙。

經過這番評量,我想這回的平台抉擇,應該會是家機用Vista x64,工作機用Windows 2008 x64 + Hyper-V的組合。


Comments

# by Aramis

測試系統用 x86 的 Virtual Server 對決 x64 的 Hyper-V,感覺好像不是很公平?還是說 Vitrual Server 2005 只支援 x86,那我就要update一下資訊了 XD

# by Jeffrey

to Aramis, Virtual Server 2005有x64版本,我自己有在同一台機器測過Vista x64 + Virtual Server 2005 x64 vs Windows 2008 x64 + Hyper-V跑同一個WinXP VM,"感覺上"明顯快很多,但因為沒有明確的數字評比,只提出來給大家參考參考。

# by someonepoor

我覺得自己測的結果是VMWare 6.5執行的時候比較快, 但是Hyper-V在Suspend的速度上比VMWare快很多. 不過最後我還是沒用Hyper-V,因為找不到Guest/Host拖拉檔案的方法, 還有就是Snapshot的功能... (不知道是我不會用還是找不到..orz...)

# by someonepoor

另外就是Hyper-V對於非Windows系統的支援只能說OOXX..... 一堆雜牌Linux裝不起來...

# by Aramis

Jeffery大大,您用 Hyper-V 時有無遇到 host 端 GUI 效能低落的問題呢?根據這篇討論 http://social.technet.microsoft.com/forums/en-US/winserverhyperv/thread/4e1c53f5-0400-4ca9-8819-f942c10881c1 似乎用 nVidia 的顯示卡會有問題,我自己也遇到了...

# by Jeffrey

to Aramis, 我的Hyper-V主機用的是nVidia NX7100GS,主機是工作機,完全沒用到3D等功能,感覺上還過得去,沒發生討論串裡所說Host比Guest還慘的狀況。 不過我在發生UAC確認時,畫面會全黑一兩秒,CPU也會暴衝,此時連MP3 Player播音樂都會斷斷續續,我直覺跟顯示卡有關,不過Driver都已用到最新版,加上影響不大,也就沒再花功夫跟它拼命。

# by Aramis

to Jeffrey, 這樣看來是跟顯卡有關沒錯,若我有機會試 ATi 的顯卡時,再上來報告情況!

# by Aramis

回報:改用 ATi 4650 顯示卡後,原本一堆莫名的GUI LAG問題似乎都不見了!

# by MAD

如 Windows 2008 x64 + Hyper-V跑WinXP 32 該WinXP 32是否支援DirectX及遊戲?

# by AskaSu

To MAD: 目前有號稱支援DirectX 的只有VMWare 6.5, 但是效果如何您可以試試看.... :)

# by WingTsubasa

由於工作需要32位軟体,所以放棄了64位的 Windows 2008而改用32位的。等有時閒一定試用一下 Hyper-V。 至於VMWare 6.5的D3D支援,真是比不上一塊集成顯示卡,4850運行3D程式還沒有6600快,不用也罷……

# by 旺旺

就我的瞭解,要使用Hyper-V的功能的話,作業系統最低要求是64位元,所以樓上的32位元應該不會有Hyper-V功能吧

# by can

我想請問各位大大 假如我主機裝WIN2008(64BIT) 可以用HYPER-V裝32位元的XP嗎??

# by Jeffrey

to can, Sure! 我的Win2008x64就掛了好幾台x86 XP Hyper-V VM.

Post a comment