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