對比Hyper-V和VMware vSphere架構(gòu)的優(yōu)缺點
VMware和微軟都已經(jīng)進入服務(wù)器虛擬化領(lǐng)域多年 - VMware已有中十余的歷史,相較而言微軟是一個后來者。然而,微軟在其最新的Windows Server 2012中集成的Hyper-V,以其特性的重大演進,和與操作系統(tǒng)相結(jié)合的成本優(yōu)勢,已經(jīng)楔入VMware的腹地,在vSphere 5.1之外,為用戶提供了另外一種選擇。
如同采用每一種新技術(shù)一樣,IT工作者或組織在向客戶或員工決定提供虛擬化解決方案,或者將虛擬化引入生產(chǎn)環(huán)境之前,有必要了解微軟Hyper-V和VMware vSphere兩種架構(gòu)優(yōu)缺點和差異性。
無論是選擇 VMware vSphere還是微軟Hyper-V,有許多重要的組件需要考慮,但是從架構(gòu)的角度來看,當談到選擇合適的服務(wù)器虛擬化產(chǎn)品時,下列組件發(fā)揮了重要作用:
·設(shè)備驅(qū)動程序在架構(gòu)中的位置
·控制層組件
·hypervisor(管理程序)層組件
通常情況下,有Type 2 VMM、Type 1 VMM和混合VMM三種類型的虛擬化技術(shù)架構(gòu)供虛擬化廠商參考。解釋所有三種類型的虛擬化架構(gòu)超出了本文的范疇,我們將主要聚焦于Type 1 VMM,這也是微軟Hyper-V和VMware都在采用以實現(xiàn)他們的服務(wù)器虛擬化技術(shù)的類型。
Type 1 VMM可以進一步分為兩個小類:單片式管理程序設(shè)計(Monolithic Hypervisor Design)和微內(nèi)核式管理程序設(shè)計(Microkernelized Hypervisor Design)。這兩種設(shè)計中有三個層虛擬化產(chǎn)品的不同組成部分的操作。
最底層被稱為“硬件層”,將其虛擬化的hypervisor層直接在“硬件層”上運行。在最上層的被稱為“控制層”。“控制層”的總體目標是控制在該層中運行的組件,以及提供必要的組件,支持虛擬機與虛擬機管理程序(hypervisor)層進行通信。
注:“hypervisor層”有時也被稱為“VMM層”或“VM內(nèi)核層”。
微內(nèi)核式管理程序架構(gòu)
微內(nèi)核式管理程序設(shè)計被微軟Hyper-V所使用。這種設(shè)計不需要設(shè)備驅(qū)動程序成為hypervisor層的一部分——設(shè)備驅(qū)動程序獨立運作,并運行在“控制層”,如下圖片所示:
微內(nèi)核式管理程序架構(gòu)
微內(nèi)核式hypervisor架構(gòu)的優(yōu)點:
•設(shè)備驅(qū)動程序不需要納入“hypervisor層”或者VMM內(nèi)核
•由于微軟不提供應(yīng)用程序編程接口(API)來訪問“hypervisor層”,攻擊面被減到最小。沒有人可以在 “hypervisor層”注入外部代碼。
•設(shè)備驅(qū)動程序不需要被hypervisor感知,因此這種架構(gòu)支持的設(shè)備范圍非常廣泛。
•無需關(guān)閉“hypervisor層”來加載設(shè)備驅(qū)動程序。設(shè)備驅(qū)動程序可以安裝在運行于“控制層”的操作系統(tǒng)(Windows Server 2008 R2和Windows Server 2012)中,供虛擬機使用以訪問 “硬件層”中的硬件。
•“hypervisor層”維護和管理的設(shè)備驅(qū)動程序的開銷更少。
•微內(nèi)核式管理程序架構(gòu)的設(shè)計,允許您在“控制層”安裝任何其他的服務(wù)器角色,除了服務(wù)器虛擬化角色(Hyper-V)之外。
•更少的初始化時間。微軟hypervisor代碼大小大約僅有600 KB。因此,“hypervisor層”并不需要更多的時間來初始化組件。
微內(nèi)核式管理程序架構(gòu)的缺點:
•微內(nèi)核式管理程序架構(gòu)需要在“控制層”安裝一個操作系統(tǒng),“hypervisor層”才可以操作。這是最大的劣勢。
•不論“控制層”運行的操作系統(tǒng)因為何種理由崩潰,所有其他的虛擬機(VM)也都將崩潰。
•在“控制層”運行的操作系統(tǒng)需要更多的開銷,以管理虛擬機和“hypervisor層”之間的通信。
•為保證Windows操作系統(tǒng)的安全,在“控制層”運行的操作系統(tǒng)還必須應(yīng)用由微軟發(fā)布的最新安全更新。作為安全更新的一部分,操作系統(tǒng)將被重新啟動,這需要您所有的虛擬機離線;如果您希望沒有任何停機時間,則需要通過Hyper-V實時遷移特性的幫助,將所有虛擬機移動到集群中的另一個節(jié)點。
單片式管理程序架構(gòu)
VMware vSphere使用的是單片Hypervisor的設(shè)計,這就需要設(shè)備驅(qū)動程序能被 hypervisor感知,并被“hypervisor層”管理。下圖就是我們看到的“hypervisor層”,設(shè)備驅(qū)動程序是它的一部分:
單片式管理程序架構(gòu)
管理程序的設(shè)備驅(qū)動程序必須開發(fā)并包含在 “hypervisor層”,然后才可以開始使用vSphere虛擬化產(chǎn)品。您不能在硬件上運行VMware vSphere,這是不支持的。
如上圖中所示,VMware vSphere在“hypervisor層”管理其組件,包括資源調(diào)度(Resource Scheduling),分布式文件系統(tǒng)(Distributed File System),等等。用于部署 VMware網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)議棧(Network Stack)組件,同樣由“hypervisor層”管理。存儲堆棧(Storage Stack)組件允許“控制層”組件訪問存儲設(shè)備。
單片式hypervisor設(shè)計的優(yōu)點:
•控制虛擬化產(chǎn)品的所有組件不需要操作系統(tǒng)支持。這是最大的優(yōu)勢。
•運行在“控制層”的組件不需要安全補丁。
單片式Hypervisor設(shè)計的缺點:
•VMware vSphere不支持運行在硬件上。不過,VMware已經(jīng)提供出了一系列的兼容硬件,VMware vSphere能夠在上面成功運行。這份名單可以通過VMware官方網(wǎng)站獲得: http://www.vmware.com/resources/compatibility/search.php。
•VMware vSphere是不安全的。由于VMware提供API來訪問“hypervisor層”,可以注入惡意代碼,這可能使得黑客獲得“hypervisor層”的控制權(quán),從而獲得vSphere服務(wù)器上運行的所有虛擬機的控制權(quán)。
•更多的初始化時間是必需的。在該架構(gòu)中,在VM內(nèi)核初始化所需的時間,取決于其包含的的設(shè)備驅(qū)動程序的大小。
•由于設(shè)備驅(qū)動程序初始化作為“hypervisor層”初始化的一部分,任何損壞的外部代碼注入到“hypervisor層”,都可能延遲啟動/初始化,或在某些情況下會導致服務(wù)器掛起。
結(jié)論
在這篇文章中,我們討論了微軟Hyper-V和VMware vSphere彼此不同的操作。我們探討了虛擬化產(chǎn)品如何使用不同的虛擬化架構(gòu),用于微軟Hyper-V的微內(nèi)核式管理程序架構(gòu)和用于 VMware vSphere的單片式管理程序設(shè)計。
我們的討論同樣涵蓋到了這兩種虛擬化產(chǎn)品的主要優(yōu)點和缺點,企業(yè)組織或IT管理者確定在其生產(chǎn)環(huán)境中實施的最佳虛擬化產(chǎn)品,應(yīng)當發(fā)現(xiàn)其價值。