Hyper-V與VMware vSphere架構(gòu)對比
譯文VMware與微軟兩家巨頭都已經(jīng)在服務(wù)器虛擬化領(lǐng)域擁有多年打拼經(jīng)驗(yàn)——當(dāng)然,前者早在十多年前就開始主攻這一市場,相比之下后者的資歷就要淺薄得多。
IT員工或組織別無選擇,只能積極掌握微軟Hyper-V與VMware vSphere架構(gòu)之間的差別,并主動了解兩種技術(shù)各自的優(yōu)勢與缺點(diǎn)。只有這樣,他們才能為企業(yè)員工或客戶提供理想的虛擬化解決方案或者將其部署到生產(chǎn)環(huán)境當(dāng)中。
在面對VMware vSphere與微軟Hyper-V的兩難選擇時,我們需要慎重考量二者各自所包含的很多重要組件;不過單從架構(gòu)的角度來看,以下組件在選擇理想服務(wù)器虛擬化產(chǎn)品中發(fā)揮著最為關(guān)鍵的作用:
· 架構(gòu)中的設(shè)備驅(qū)動程序定位;
· 控制層組件;
· 管理程序?qū)咏M件;
在一般情況下,虛擬化供應(yīng)商通常會提供以下三種虛擬化架構(gòu)類型,它們分別是:
· Type 2 VMM
· Type 1 VMM
· Hybrid VMM
由于本文并不會詳細(xì)解釋三種虛擬化架構(gòu)類型的具體含義,內(nèi)容主要集中在Typer 1 VMM。微軟Hyper-V與VMware都采用了Type 1 VMM架構(gòu),并以此為基礎(chǔ)實(shí)現(xiàn)各自的服務(wù)器虛擬化技術(shù)。
Type 1 VMM可以被進(jìn)一步分成兩大類別,即Monolithic Hypervisor Design(即單片式管理程序設(shè)計)與 Microkernelized Hypervisor Design(即微內(nèi)核式管理程序設(shè)計)。兩種設(shè)計都在虛擬化產(chǎn)品的不同組件中采用三層結(jié)構(gòu)。
最底層被稱為“硬件層”,而虛擬化功能則依靠直接運(yùn)行在“硬件層”上的“管理程序?qū)?rdquo;來實(shí)現(xiàn)。最上層被稱為“控制層”,“控制層”的總體目標(biāo)是控制運(yùn)行在該層中的組件對象,并為虛擬機(jī)提供與“管理程序?qū)?rdquo;進(jìn)行通信的必要組件。
備注:“管理程序?qū)?rdquo;有時候也會被稱為“VMM層”或者“VM內(nèi)核層”。
微內(nèi)核式管理程序設(shè)計
微軟Hyper-V采用微內(nèi)核式管理程序設(shè)計,這項設(shè)計并不強(qiáng)制要求設(shè)備驅(qū)動程序作為管理程序?qū)又械慕M成部分——設(shè)備驅(qū)動程序以獨(dú)立方式運(yùn)作并以“控制層”為活動空間,如下圖所示:
微內(nèi)核式管理程序設(shè)計具備以下優(yōu)勢:
· 設(shè)備驅(qū)動程序無需介入“管理程序?qū)?rdquo;或者VMM內(nèi)核。
· 由于微軟公司并不提供用于訪問“管理程序?qū)?rdquo;的應(yīng)用程序編程接口(簡稱API),因此系統(tǒng)的攻擊面得以顯著縮小。惡意人士不可能將外部代碼注入“管理程度層”當(dāng)中。
· 設(shè)備驅(qū)動程序不需要由管理程序來識別,因此微內(nèi)核管理程序設(shè)計架構(gòu)在設(shè)備支持方面的廣泛性得到大幅擴(kuò)展。
· 無需關(guān)閉“管理程度層”來加載設(shè)備驅(qū)動程序。設(shè)備驅(qū)動程序可以被安裝在運(yùn)行于“控制層”的操作系統(tǒng)當(dāng)中(例如Windows Server 2008, R2以及Windows Server 2012),虛擬機(jī)將利用其對“硬件層”中的硬件進(jìn)行訪問。
· 由于無需考慮設(shè)備驅(qū)動程序的維護(hù)與管理,“管理程序?qū)?rdquo;變得更容易打理。
· 微內(nèi)核管理程序設(shè)計允許用戶在“控制層”中安裝除服務(wù)器虛擬化角色(Hyper-V本身)以外的任何服務(wù)器角色。
· 初始化時間更短。微軟的管理程序代碼只有約600KB,因此“管理程序?qū)?rdquo;不需要在初始化組件方面耗費(fèi)太長時間。
說了這么多優(yōu)勢,微內(nèi)核式管理程序架構(gòu)也存在著一些缺點(diǎn),其中最值得注意的部分有以下幾點(diǎn):
· 微內(nèi)核式管理程序架構(gòu)強(qiáng)制要求用戶在“控制層”中安裝操作系統(tǒng),否則“管理程序?qū)?rdquo;將無法執(zhí)行。這也是該架構(gòu)最致命的一項缺點(diǎn)。
· 如果運(yùn)行在“控制層”中的操作系統(tǒng)由于某種原因而發(fā)生崩潰,則所有其它虛擬機(jī)也將同時崩潰。
· 雖然“管理程序?qū)?rdquo;易于打理,但承載著操作系統(tǒng)的“控制層”卻變得很難維護(hù),我們需要在虛擬機(jī)與“管理程序?qū)?rdquo;之間的通信上投入大量精力。
· 為了保證Windows操作系統(tǒng)的安全性,技術(shù)部門需要認(rèn)真進(jìn)行維護(hù)工作,即及時安裝由微軟公司發(fā)布的安全更新補(bǔ)丁。因此運(yùn)行在“控制層”中的操作系統(tǒng)也必須始終經(jīng)過最終安全升級。作為安全更新工作的一部分,操作系統(tǒng)會被頻繁重啟,這將直接導(dǎo)致所有虛擬機(jī)處于離線狀態(tài)——要想避免停機(jī)狀況,我們只能借助Hyper-V實(shí)時遷移功能的力量將所有虛擬機(jī)移動到集群中的其它節(jié)點(diǎn)。#p#
單片式管理程序設(shè)計
大家從下圖可以看到,VMware公司的vSphere采用的是單片式管理程序設(shè)計,這就需要管理程序?qū)υO(shè)備驅(qū)動程序進(jìn)行識別,并由“管理程序?qū)?rdquo;負(fù)責(zé)管理。根據(jù)下圖,我們能夠直觀了解到設(shè)備驅(qū)動程序?qū)儆?ldquo;管理程序?qū)?rdquo;中的組成部分:
管理程序中的設(shè)備驅(qū)動程序必須預(yù)先開發(fā)并包含在“管理程序?qū)?rdquo;當(dāng)中,否則我們將無法使用vSphere虛擬化產(chǎn)品。大家不能將VMware vSphere直接運(yùn)行在硬件之上,該產(chǎn)品并不支持此類使用方式。
VMware vSphere如上圖所示在“管理程序?qū)?rdquo;中運(yùn)行其組件。這些產(chǎn)品組件包括資源調(diào)度、分布式文件系統(tǒng)等等。用于部署VMware網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)議堆棧組件同樣由“管理程序?qū)?rdquo;打理。存儲堆棧組件則允許“控制層”組件對存儲設(shè)備進(jìn)行訪問。
單片式管理程序架構(gòu)擁有以下幾項優(yōu)勢:
· 虛擬化產(chǎn)品組件的控制工作無需借助操作系統(tǒng),相比微軟Hyper-V所采用的內(nèi)核式管理程序架構(gòu),這也是單片方案最突出的優(yōu)勢。
· 管理人員無需為運(yùn)行在“控制層”中的組件安裝安全補(bǔ)丁。
單片式管理程序架構(gòu)的缺點(diǎn):
· 由于不具備相關(guān)支持,VMware的vSphere無法直接運(yùn)行在硬件之上。不過VMware公司已經(jīng)拿出了一份兼容硬件清單,用戶能夠以此為基礎(chǔ)成功運(yùn)行VMware vSphere。大家可以在VMware的官方網(wǎng)站上了解具體信息(http://www.vmware.com/resources/compatibility/search.php)。
· VMware vSphere不夠安全。由于VMware公司提供訪問“管理程序?qū)?rdquo;所必需的API,因此惡意代碼有可能被擁有“管理程序?qū)?rdquo;權(quán)限的黑客注入其中,從而獲得對vSphere服務(wù)器上全部虛擬機(jī)系統(tǒng)的掌控能力。
· 初始化時間更長。在這套架構(gòu)中,虛擬機(jī)內(nèi)核的初始化時長取決于其中所包含的設(shè)備驅(qū)動程序數(shù)量。
· 由于設(shè)備驅(qū)動程序初始化是“管理程序?qū)?rdquo;初始化的一部分,因此任何進(jìn)入到“管理程序?qū)?rdquo;中的外部代碼一旦發(fā)生損壞,都有可能導(dǎo)致啟動/初始化延遲甚至服務(wù)器掛起。
總結(jié)
在這篇文章中,我們討論了微軟Hyper-V與VMware vSphere兩套方案的差異,并了解了兩款虛擬化產(chǎn)品采取什么樣的虛擬化架構(gòu)——即微軟Hyper-V的微內(nèi)核式管理程序架構(gòu)與VMware vSphere的單片式管理程序架構(gòu)。
我們還談到了二者最值得關(guān)注的優(yōu)勢與缺點(diǎn),IT團(tuán)隊或者組織應(yīng)該可以從中有所收獲,幫助自己根據(jù)生產(chǎn)環(huán)境選擇最理想的虛擬化產(chǎn)品并充分實(shí)現(xiàn)其輔助價值。
原文標(biāo)題:Hyper-V and VMware vSphere Architectures: Pros and Cons
核子可樂譯