Microsoft Hyper-V 和 VMware ESXServer比較

Microsoft Hyper-V 和 VMware ESXServer都是Bare-Metal虛擬化的產品,他們最大的區別在於,Microsoft Hyper-V採用了微內核的結構,而ESXServer是一個單內核的產品。單內核的主要特點是硬件的驅動程序集中在Hypervisor一層,被Hypervisor上的所有的虛機所共同使用。當一個虛機的OS需要訪問硬件時,它通過Hypervisor中的drivermodel來訪問,這種單內核的Hypervisor能夠提供很好的性能,但是它在安全性和兼容性上存在缺陷。由於驅動程序和一些第三方代碼跑在一個很敏感的區域內,這種模式繼承式了擁有了一個很大的被***面。設想下某些不懷好意的代碼被隱藏在驅動程序當中,然後跑在Hypervisor中,這會影響到所有的客戶虛擬機,而且這是很難被發現的,因爲對於實際被使用的虛機來說,Hypervisor這層是不可見的,所以無法通過一些病毒軟件去監控它。另外一個問題就是穩定性,假設某個驅動程序當中存在bug,那麼它將影響到所有的虛機。另外你還要求Hypervisor去支持所有的驅動程序,造成了這層體積較爲龐大。所以單內核的Hypervisor一般被認爲是胖Hypervisor。而我們的Hyper-V採用了微內核的結構,它是一個瘦Hypervisor。因爲它裏面沒有驅動程序,所以在體積上Hyper-V更有優勢,另外,由於微內核體積較小,所以運行的效率很高。驅動程序是跑在每一個分區裏面的,每一個分區內的虛機OS都能夠通過Hypervisor直接訪問硬件,還使得每一個分區都相互獨立,這樣就擁有更好的安全性和穩定性。
除此之外,大多數虛擬化解決方案都是採用了硬件模擬來解決硬件訪問的兼容性問題,但是也造成了很大的開銷和性能損失。而我們的Hyper-V沒有采用這樣的做法,而是採用了Enlightenment(啓蒙)技術。它能夠對那些虛擬機操作系統進行啓蒙,讓它們明白自己是一個虛擬機,被啓蒙過的虛擬機操作系統會記住虛擬化,所以他們可以不需要硬件模擬,而是通過VSP/VSC這套組件來進行的,當子分區內的操作系統需要訪問硬件的時候,由子分區內的VSC(Virtualization ServiceClient)通過VMBUS將request發給父分區裏面的VSP(Virtualization ServiceProvider),然後由VSP去提供實際的硬件服務。通過這種方式來使用硬件,相對於使用硬件模擬的方法,其訪問性能有了大幅度的提高。
另外這種方式可以兼容大量的驅動程序,而不必像ESXServer一樣爲虛擬機開發專用的驅動程序。在大多數情況下,只要硬件設備能夠在Windows Server2008下工作,那麼就肯定能夠在虛擬機下工作。再加上Windows平臺的驅動本來就比其他平臺的驅動程序豐富,而ESXServer容易遇到兼容性方面的問題,所以在硬件兼容性支持上Hyper-V具有無可比擬的優勢。
經過這幾年的努力,微軟爲虛擬化技術提供了非常豐富和全面的產品線,從服務器虛擬化的Virtual Server,Hyper-V,到應用程序虛擬化的SoftGrid,到桌面虛擬化的VPC,再到用戶界面虛擬化的TerminalServices,一應俱全。而且爲這些所有的產品提供了統一的管理平臺:System Center,不管是物理機,還是Hyper-V,VPC,Virtual Server的虛機,甚至是VMware的虛擬機都可以通過SystemCenter的管理工具進行統一管理,並且彼此兼容。另外微軟還提供了自己的服務器操作系統和一些其他服務器產品(比如ExchangeServer),能夠做到在後臺將虛擬化產品和其他服務器產品的聯動支持和無縫連接,所以微軟能夠爲用戶提供一套完整的虛擬化解決方案。
最後Hyper-V相對於ESX Server,還有一個優勢,就是使用成本。相對於ESXServer昂貴的授權費用,Hyper-V價格非常低廉,而且如果你購買了Windows Server2008的話,Hyper-V是免費附贈的,所以Hyper-V無疑是企業虛擬服務器的最佳選擇。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章