虛擬化

Windows Server 2008 中的 Hyper-V 簡介

Rajiv Arunkundram

 

綜覽:

  • 何謂虛擬化?
  • 三種虛擬化架構
  • 微核心式與整合型 Hypervisor
  • Hyper-V 的功用

目錄

伺服器虛擬化的市場
伺服器虛擬化的運作方式
虛擬化解決方案的類型
Windows Hypervisor
父磁碟分割
裝置共用架構
整合元件
Hyper-V 功能集
延展性
高可用性
安全性
易管理性
總結

最近關於虛擬化的議論紛紛,當中尤以伺服器虛擬化為甚。這是業界當中最令人雀躍的趨勢動向之一,也是在未來幾年內最有可能改變 IT 系統部署型態的發展。但伺服器虛擬化不僅會改變 IT 系統管理員和架構設計師怎麼看待伺服器和系統使用狀況,它還會對管理未來肯定會更加動態的環境所使用的程序和工具產生影響。

虛擬化存在已有一段歷史,但是技術仍處於發展階段。事實上,這個詞本身對不同的人來說仍舊代表著不同的事物。然而就廣義而言,虛擬化是指將技術堆疊的其中一層從下一層分隔開來,例如將存放裝置從伺服器分開,將 OS 從作業系統分開。分離出不同的層次能夠轉而達成彙總及提高管理性。

在概念上,虛擬化適用於存放裝置、網路、伺服器、應用程式和存取。就存放裝置和網路而言,虛擬化的目標是要彙總一組不同的裝置,以便讓總資源集區看起來和作用起來像是單一項目。比如,您可以設定一個 40TB 存放裝置解決方案,來取代一組 20 個 2TB 的存放裝置。但就其他元件來說,虛擬化的作用恰恰相反,它會幫助您讓單一系統看起來像是多部系統。其中最常見的範例是伺服器虛擬化,在這種情況下,您是在單一伺服器上主控多個 OS 執行個體和環境。

Microsoft 從幾個不同的層面著手虛擬化,透過伺服器虛擬化、應用程式虛擬化、展示虛擬化,以及桌上型電腦虛擬化的解決方案,從桌上型電腦延伸到資料中心。所有這些當中最廣為討論的是 Microsoft System Center 的管理功能。針對本文,我將把重點放在伺服器虛擬化元件,特別是 Windows Server 2008 的主要功能 Hyper-V 在動態資料中心的方程式裡所扮演的角色。

伺服器虛擬化的市場

首先,我想值得討論一下現今的大環境,以及整體市場的走向。要看您讀的是什麼樣的研究資料,有些分析師估計目前市售的所有實體伺服器中,有 5-9% 是用作為虛擬化主機。您可能會認為在每年推出超過九百萬部實體伺服器的市場裡面,這樣比例的系統為數不少。但是有件事是肯定的:潛伏的商機還有很多,因為有越來越多的客戶開始熟悉虛擬化,而且想要採用它。

採納虛擬化的場合不容忽視。企業客戶不用說是率先投入測試的早期採納者。然而,還有一些中小型企業也部署虛擬化。虛擬化的採用遍及各種類型的工作負載,從商務應用程式和管理到網路和電子郵件,無所不包。

那麼為什麼虛擬化現在這麼紅呢?因素有好幾個,其中最重要的是時機。好幾個重要的產業因素同時相輔相成,為提高虛擬化的採納度推波助瀾。這些產業因素包括移向 64 位元運算、多核心處理器,甚至是提高系統使用率的永續運算磁碟。

系統的規模越來越大,因此需要像虛擬化的技術來徹底利用系統威力。雖說核心技術 (和摩爾定律) 在產生高於系統可用的處理能力方面,一直保持遙遙領先的地位,但我們現在對環境的衝擊、電源需求和冷卻成本等議題也比較關注。

所有這些因素,加上採用虛擬化可輕易獲得的投資報酬率,共同加速大小型企業採納虛擬化的腳步。而我們 IT 專業人員可預期所有重要的相關人員會在未來的幾年繼續投資這項技術,並改進其功能。

伺服器虛擬化的運作方式

一般來說,伺服器虛擬化可讓您在單一實體裝置上安裝 (以及同時執行) 兩個或以上的 OS 環境,這些環境可能截然不同,並且具有不同的識別、應用程式堆疊等等。Hyper-V 是下一代 64 位元 Hypervisor 架構的虛擬化技術,提供可靠且可擴充的平台功能。與 System Center 結合,它還為實體和虛擬資源提供單一的整合式管理工具組。

所有這些都能夠降低成本、提高使用率、最佳化基礎結構,以及允許企業快速佈建新伺服器。為了幫助您更加了解 Hyper-V 是如何架構而成的,我想要先討論一下不同類型的虛擬化解決方案。

虛擬化解決方案的類型

伺服器虛擬化所採用的一般架構基本上有三種,如 [圖 1] 所示。主要的差異與虛擬化層和實體硬體之間的關聯息息相關。我所謂的虛擬化層是指稱為虛擬機器監視器 (VMM,請勿與 Virtual Machine Manager 相混淆) 的軟體層。正是這一層提供了建立多個隔離的執行個體共用相同基本硬體資源的能力。

fig01.gif

[圖 1] 虛擬化的三種架構 (按一下以放大影像)

類型 2 VMM 架構是透過 Java Virtual Machines 來示範。虛擬化在此處的目標是要建立執行階段環境,讓處理序不必仰賴主機系統,即能夠在其內執行一組指令。在本例中,隔離是用於不同的處理序,它允許應用程式在不同的 OS 上執行,而不用擔心 OS 依存性。而伺服器虛擬化並不在此列。

您會發現類型 1 VMM 和混合式 VMM 可能是當今採納最廣泛的兩種方法。在混合式 VMM 的階段中,VMM 與主機 OS 並排執行,並且能夠以混合式 VMM 為基礎建立虛擬機器。混合式 VMM 的範例包括 Microsoft Virtual Server、Microsoft Virtual PC、VMware Workstation,以及 VMware Player。您應該要注意的是,雖然這類解決方案非常適合只在部分時間執行虛擬機器的用戶端案例,但 VMM 還是會增加可觀的額外負荷,因此並不適合耗用大量資源的工作負載。

在類型 1 VMM 架構中,VMM 層是直接在硬體上執行。這通常稱為 Hypervisor 層。這個架構當初是 IBM 在 1960 年代針對大型主機系統設計的,而且最近在 x86/x64 平台上透過各種解決方案提供,包括 Windows Server 2008 Hyper-V。

還有一些解決方案是在韌體內嵌入 Hypervisor。不過,這只是一種封裝選項,並不會實際改變基本的技術。

分析一下類型 1 VMM,架構 Hypervisor 解決方案基本上有兩大方法:微核心式和整合型。如 [圖 2] 所示,這兩種方法都是不折不扣的類型 1 VMM,將 Hypervisor 直接安裝在實體硬體上。

fig02.gif

[圖 2] 架構 Hypervisor 解決方案的兩種方法 (按一下以放大影像)

整合型 Hypervisor 方法會在單一層中主控 Hypervisor/VMM,這一層也包括大部分必要的元件,例如核心、裝置驅動程式和 I/O 堆疊。這是 VMware ESX 和傳統大型主機系統等解決方案所採用的方法。

微核心式方法則是使用非常精簡的專門化 Hypervisor,只執行確保磁碟分割隔離和記憶體管理的核心工作。這一層並不包含 I/O 堆疊或裝置驅動程式。這是 Hyper-V 所採取的方法。在這種架構中,虛擬化堆疊和硬體特定的裝置驅動程式都是位在專門化的磁碟分割中,稱為父磁碟分割。

Windows Hypervisor

確保多個 OS 之間有明確的區隔,是透過建立虛擬處理器、記憶體、計時器和插斷控制器來達成的。OS 使用這些虛擬資源的方式跟使用實體資源沒什麼兩樣。

Windows Hypervisor 屬於 Hyper-V 的一部分,它執行下列工作:

  • 建立邏輯磁碟分割。
  • 管理為虛擬 OS 排程的記憶體和處理器。
  • 提供機制以利虛擬化輸入/輸出,以及在磁碟分割之間溝通。
  • 強制記憶體存取規則。
  • 強制 CPU 使用率的原則。
  • 公開簡單的程式設計介面,稱為 Hypercall。

因為採用微核心式方法的關係,Windows Hypervisor 相當的小 (大小不到 1MB)。佔用量這麼微小,有助於提高系統的整體安全性。

執行 Hyper-V 的需求之一是,您需要有配備 Intel VT 或 AMD-V 技術的 x64 系統。x64 技術可讓您存取較大的位址空間,並且支援含更多記憶體的系統,因此在單一主機系統上容許更多虛擬機器。Intel VT 和 AMD-V 是硬體輔助虛擬化解決方案,在環狀架構中提供超特權層,有助於將 Hypervisor 的執行環境與系統的其餘部分相區隔。它們也允許 Hyper-V 在沒有明顯的模擬效能償失下,執行未經修改的虛擬 OS。

父磁碟分割

Hyper-V 包含一個父磁碟分割,這基本上是具備特殊或特權存取的虛擬機器。它是唯一可直接存取硬體資源的虛擬機器。所有其他虛擬機器,亦稱為來賓磁碟分割,都必須經過父磁碟分割存取裝置。

父磁碟分割的存在相當透明化。開始安裝 Hyper-V 時,您必須做的第一件事是在實體系統上安裝 Windows Server 2008 x64 Edition。接著您必須前往伺服器管理員,啟用 Hyper-V 角色,然後重新啟動系統。系統一重新啟動後,會先載入 Windows Hypervisor,接下來堆疊的其餘部分會轉換成父磁碟分割。

父磁碟分割具有鍵盤、滑鼠、視訊顯示和其他連接到主機伺服器的裝置的擁有權。它並不能直接控制 Hypervisor 所使用的計時器和插斷控制器。

父磁碟分割包含 Windows Management Instrumentation (WMI) 提供者,使虛擬化環境各層面的管理工作更具效率,它也包含虛擬堆疊,以代表子磁碟區執行硬體相關的工作。此外,主機系統硬體所需的任何獨立硬體廠商 (IHV) 驅動程式都包含在父磁碟分割中,而針對 Windows Server 2008 x64 Edition 建立的任何驅動程式也能在父磁碟分割中運作。

裝置共用架構

Hyper-V 中創新的架構元件之一,是全新的裝置共用架構,它支援每個虛擬 OS 中的模擬和綜合裝置。裝置模擬對於支援內含針對舊一代硬體設計的裝置驅動程式的舊版 OS 相當有利。比方說,Hyper-V 包含模擬的 Intel 21140 網路介面卡,它在許多舊版 OS 發行時是稱為 DEC 21140 網路介面卡。

一般來說,裝置模擬的速度緩慢,既不容易擴充,也不好調整。但是模擬仍舊有其重要性,因為它可讓您在 Hyper-V 執行大多數的 x86 OS。由於虛擬化現在正從主要用於測試和開發的專門技術,轉型成適用於生產環境的基本技術,因此使用者也需要更佳的效能來執行更大型的工作負載。模擬裝置已不再滿足這些不斷成長的需要。

對此的替代解決方案是使用 Hyper-V 綜合裝置。綜合裝置是直接對應到實體裝置的虛擬裝置。與模擬裝置不同的是,綜合裝置並不會模擬舊式硬體。透過 Hyper-V 硬體共用模型,支援的虛擬 OS 可直接與可能沒有實體裝置的綜合裝置進行互動。這些 OS 是使用虛擬服務用戶端 (Virtual Service Client,VSC),這在虛擬 OS 當中是以裝置驅動程式的身分運作。

VSC 並不會直接存取實體硬體,而是使用 VMBus (高速的記憶體中匯流排) 來存取父磁碟分割中的虛擬服務提供者 (Virtual Service Provider,VSP)。父磁碟分割 VSP 接著會管理對基本實體硬體的存取作業,如 [圖 3] 所示。綜合裝置的主要優點之一,就是它在 VMBus 上的綜合裝置效能更接近非虛擬化硬體裝置的效能。

fig03.gif

[圖 3] VSC 使用 VMBus 來存取 VSP,VSP 接著會管理對基礎實體硬體的存取 (按一下以放大影像)

整合元件

Hyper-V 是為了在單一電腦上執行的不同執行個體之間提供明確界限而建置的。為了讓虛擬 OS 與主機 OS 之間進行互動,也為了針對支援的虛擬 OS 提供一些附加功能,Hyper-V 提供了整合元件。

Hyper-V 整合元件支援下列功能:

  • 時間同步處理
  • 磁碟區陰影複製服務 (VSS)
  • 活動訊號功能
  • 來賓關閉
  • 關鍵值組交換 (用來存取虛擬 OS 的登錄)
  • OS 識別

Hyper-V 功能集

不用說,虛擬化平台的運作方式越接近實體伺服器,對公司來說就越容易部署和仰賴虛擬工作負載。在我的觀點看來,您可以從四大區域查看虛擬化平台的不同功能。

現今大多數以 Hypervisor 為基礎的虛擬化解決方案,在功能性方面可說不相上下。進一步分析的話,像整體擁有成本 (TCO) 和方便使用等將是重要的區別因素。而管理解決方案將不斷投資與發展,帶我們實現動態 IT 環境的願景,除了讓基礎結構富於彈性,足以適應業務的需要之外,還有模型和原則,幫助推動自動化和管理。

延展性

使用微核心式 Hypervisor 架構的 Hyper-V,承擔的 CPU 負荷非常低,而留下充裕的空間將工作負載虛擬化。Hyper-V 透過讓虛擬機器利用強大的功能和硬體,例如多核心技術、改良的磁碟存取和更多記憶體,而提升了虛擬平台的延展性和效能。

Hyper-V 與 Windows Server 2008 其餘的功能相結合,可讓您將大多數的工作負載 — 包括 32 位元和 64 位元工作負載 — 彙總到單一系統上。而且它能夠幫助您在採納 64 位元技術與持續支援整個環境內已採用的 32 位元工作負載之間取得平衡點。

Hyper-V 要求 64 位元主機系統進行硬體輔助虛擬化,有助於確保主機系統將能夠存取大量的記憶體資源。Hyper-V 可在主機上支援多達 1TB 的記憶體,其中每台虛擬機器多達 64 GB 的記憶體。對於打算虛擬化會耗用大量記憶體的工作負載 (例如 Exchange Server 和 SQL Server) 的人來說,這是關鍵所在。

Hyper-V 也在主機系統上支援多達 16 顆邏輯處理器,使得 Hyper-V 可擴充成大多數含多核心之商用雙插槽和四插槽系統。您也可以建立多達四顆虛擬處理器的虛擬機器,以支援需要或利用多處理器功能的工作負載。

透過 Hyper-V 來彙總伺服器也可讓這些伺服器利用穩健的網路支援,包括 VLAN、網路位址轉譯 (NAT),以及網路存取保護 (NAP) 原則 (隔離)。同為 Windows Server 2008 的功能,Hyper-V 也與其他 Windows Server 功能搭配無間,例如 BitLocker 和 Windows PowerShell。

高可用性

高可用性是指 Hyper-V 與主機叢集化功能合作協助解決業務持續性和嚴重損壞修復需求的情況。業務持續性是盡可能減少排程和非排程停機的能力。這包括例行職務所流失的時間,例如維護和備份,以及非預期的服務中斷。

嚴重損壞修復是業務持續性的重要元件。自然災害、惡意攻擊,甚至是簡單的設定問題 (像是軟體衝突),都可能使服務和應用程式受損,而且要等到系統管理員解決問題並還原資料才可能恢復。可靠的商務和嚴重損壞修復策略必須盡可能減少資料損失,並提供強大的遠端管理功能。

在分析高可用性時,您應該考量三個不同的類別 — 計畫停機、非計畫停機,以及備份。通常為了協助將虛擬機器移出主機系統,以利您執行硬體維護或套用修補程式到主機系統或虛擬化平台 (有可能需要重開機),因此需要保障計畫停機。

大部分的公司都有規劃維護時段,而您在此要做的是盡可能縮短或消除主機系統停機進行維護時,虛擬機器無法使用的時間。利用「快速移轉 (Quick Migration)」功能,您可以在幾秒內迅速在實體節點間移轉執行中的虛擬機器。如此一來,您就可以在原始主機上執行維護作業時,提供虛擬機器作為實際執行之用。維護作業一完成,您接著便可以使用「快速移轉」將虛擬機器歸還到原始的主機系統。

非計畫停機是無法預測的停機。它實質上有可能是大災難,也有可能單純是某人不小心拔掉電源線而使伺服器關機。雖然聽起來難以置信,不過這幾年來我在 Tech•Ed、VMworld 和其他研討會碰過不少系統管理員娓娓道出有些伺服器怎麼被同事不小心關機的。

利用 Hyper-V,您可以針對不同的主機系統設定主機叢集,並將所有虛擬機器設定成叢集資源,如此一來當其中一台主機失敗時,它們便可以容錯移轉到不同的系統。同時,Windows Server 2008 的多站叢集功能可讓您設定地理位置分散的叢集,這樣一來,主要資料中心失敗時,您就能夠將不同的虛擬機器復原到遠端資料中心。

這對於保護您所有的分公司也很實用。透過 Hyper-V 支援非計畫停機的好處之一,就是它具有虛擬 OS 中立性,換句話說,您可以將它的高可用性優點延伸到 Linux 虛擬機器和舊版的 Windows Server,以同樣的方式來保護和復原該些系統。

在考慮非計畫停機時,要特別注意的一點是,修復作業就跟關閉系統後重新啟動沒什麼兩樣,也就是說您會遺失所有狀態資訊。這不一定會構成問題,要看您在虛擬機器中執行的工作負載而定。這也是為什麼在討論高可用性時一定要提到備份的原因。

Hyper-V 可讓您製作每台虛擬機器的備份,或使用 VSS 在所有可感知 VSS 的虛擬機器還在執行時製作一致的備份。透過 VSS,您可以設定備份在不影響實際執行工作負載的可用性下,於固定間隔進行,並同時確保您有連續的備份計畫,以便在發生非計畫停機時輕鬆復原狀態。如需關於透過 Hyper-V 提供高可用性解決方案的詳細資訊,請參閱本期《TechNet Magazine》中,由 Steven Ekren 所著的<實現 Hyper-V 的高可用性>一文 (technet.microsoft.com/magazine/cc837977)。

微核心式 Hypervisor 架構的設計是為了盡可能縮小受攻擊面及強化安全性,尤其是當 Hyper-V 實作成 Server Core role 的情況下。Server Core 是 Windows Server 2008 的安裝選項。Hypervisor 並不包含任何裝置驅動程式或協力廠商程式碼,為執行中的虛擬機器提倡更穩定、精簡和安全的基礎。Hyper-V 也與 Active Directory 整合提供強固的角色型安全性,而且 Hyper-V 可讓虛擬機器從硬體層級的安全性功能獲益,例如執行停用 (NX) 位元,進一步協助提高虛擬機器的安全性。

就跟 Windows Server 其餘的元件一樣,Hyper-V 也經歷過安全性開發週期 (SDL),而且為了確保 Hyper-V 是高度安全的虛擬化平台,也進行了廣泛的威脅模型和分析。當您部署 Hyper-V 時,請確實遵守部署 Windows Server 2008 的最佳作法,以及 Hyper-V 的最佳作法。並且在計畫當中一併納入 Active Directory、防毒軟體和反惡意程式碼解決方案。另外也要使用委派系統管理功能,確定您對 Hyper-V 主機妥當使用系統管理存取權。

易管理性

伺服器偶然間散佈的輕微問題,很容易大規模蔓延到虛擬機器。會有這樣的風險,看看部署虛擬機器有多容易就知道了。加上虛擬機器的行動力提高,您也有額外的責任清楚地知道不同的虛擬機器在什麼場合執行,記錄它們的安全性內容等。

所幸,有了 Hyper-V,您不用為虛擬環境另外建立管理基礎結構。它可與 Microsoft 管理工具、System Center Virtual Machine Manager,以及 Microsoft System Center Operations Manager,還有協力廠商管理工具整合。這可讓您從單一主控台同時管理實體和虛擬資源。如需 System Center Virtual Machine Manager 2008 的詳細資訊,請參閱本期《TechNet Magazine》中,由 Edwin Yuen 所著的<透過 VMM 2008 管理虛擬環境>一文 (technet.microsoft.com/magazine/cc836456)。同時,對 Windows PowerShell 的支援也使得自動化工作更加容易。

Hyper-V 也提供虛擬機器前所未有的能力來使用可用的硬體。因為所有通過 Windows 硬體裝置品質實驗室 (WHQL) 認證的驅動程式都能夠在父磁碟分割上執行,所以 Hyper-V 也提供了與驅動程式和裝置的廣泛相容性,更方便管理在您環境中執行的各種驅動程式。

總結

我在前文有提到,管理將是開發和區別的重點領域。未來幾年內,您肯定會在這個領域中看到活躍的景象。整體來說,這確實是虛擬化跨入更主流角色的興奮時刻。如果您還沒試過 Hyper-V,或單純想了解更多詳細的資訊,請前往 microsoft.com/Hyper-V

Rajiv Arunkundram 在 Microsoft 的 Windows Server 行銷部門擔任資深產品經理,專攻伺服器虛擬化。Rajiv 的主要職責是與客戶和夥伴合作,協助他們從技術和商務的觀點來了解虛擬化策略和 Microsoft 的解決方案。