附錄 B:Hyper-V 架構和功能概觀

本主題提供 Hyper-V 架構的概觀,說明 Hyper-V 的優點和缺點。

Hyper-V 架構

Hyper-V 是以 Hypervisor 為基礎的虛擬化平臺,以及其中一個 Windows Server Marquee 功能即時移轉的啟用技術。 使用 Hyper-V 時,Windows Server 能夠快速移轉,這可以在只有幾秒鐘的停機時間,在實體主機之間移動 VM。 使用即時移轉時,實體目標之間的移動會以毫秒為單位進行,這表示連線的使用者看不到移轉作業。 請參閱 Windows Server 上的 Hyper-V 新功能

Hypervisor 是處理器特定的虛擬化平臺,可裝載多個虛擬機器 (VM) 彼此隔離,但虛擬化處理器、記憶體和 I/O 裝置來共用基礎硬體資源。

如果必要虛擬伺服器用戶端 (VSC) 驅動程式和服務安裝在客體作業系統上,Hyper-V 虛擬機器中執行的客體作業系統可提供效能,以達到實體硬體上執行的作業系統效能。 Hyper-V 虛擬伺服器用戶端 (VSC) 程式碼,也稱為 Hyper-V 覺察型 I/O,可讓您直接存取 Hyper-V「虛擬機器匯流排」,並可安裝 Hyper-V 整合服務。 提供 VSC 驅動程式的 Hyper-V 整合服務也適用于其他用戶端作業系統。

就磁碟分割而言,Hyper-V 可支援隔離。 磁碟分割是隔離的邏輯單元,為 Hypervisor 所支援,是作業系統執行的所在之處。 Microsoft Hypervisor 必須至少有一個父代或根資料分割,執行 Windows Server。 虛擬化堆疊會在父分割區中執行,並可直接存取硬體裝置。 根磁碟分割則會建立用來裝載客體作業系統的子磁碟分割。 根磁碟分割會使用 Hypercall 應用程式開發介面 (API) 來建立子磁碟分割。

磁碟分割無法存取實體處理器,也不能操控處理器插斷。 反之,磁碟分割具有處理器的虛擬檢視,並且在專屬於每個客體磁碟分割的虛擬記憶體位址區域中執行。 Hypervisor 會操控處理器插斷,並將其重新導向至各自的磁碟分割。 Hyper-V 也可以使用輸入/輸出記憶體管理單元 (IOMMU) (其操作不受 CPU 使用的記憶體管理硬體所影響),為各種客體虛擬位址空間之間的位址轉譯進行硬體加速。 IOMMU 可用來將實體記憶體位址重新對應至子磁碟分割所使用的位址。

子磁碟分割也無法直接存取其他硬體資源,只能以虛擬方式檢視資源,將其做為虛擬裝置 (VDev)。 對虛擬裝置提出的要求,會透過 VMBus 或 Hypervisor 重新導向至父磁碟分割中的裝置,以處理要求。 VMBus 是磁碟分割之間的邏輯通訊通道。 父磁碟分割裝載虛擬化服務提供者 (VSP),可透過 VMBus 進行通訊,以處理來自子磁碟分割的裝置存取要求。 子磁碟分割裝載虛擬化服務消費者 (VSC),可透過 VMBus 將裝置要求重新導向至父磁碟分割中的 VSP。 客體作業系統看不到這整個程序。

虛擬裝置也可以利用名為「啟發式 I/O」的 Windows Server 虛擬化功能來進行儲存、網路設定、繪圖和輸入子系統。 「啟發式 I/O」是高階通訊協定 (例如 SCSI) 的特殊感知虛擬化實作,可跳過任何裝置模擬層,直接使用 VMBus。 這使得通訊更有效率,但是需要可感知 Hypervisor 和 VMBus 的啟發式客體。 安裝 Hyper-V 整合服務即可提供 Hyper-V 啟發式 I/O 和 Hypervisor 感知核心。 整合元件 (包括虛擬伺服器用戶端 (VSC) 驅動程式) 也可供其他用戶端作業系統使用。 Hyper-V 需要包含硬體輔助虛擬化 (例如 Intel VT 或 AMD 虛擬化 (AMD-V) 技術) 的處理器。

下圖提供在 Windows Server 上執行之 Hyper-V 環境的架構概觀。

Hyper-V 架構概觀

上圖中使用的縮略字和詞彙如下所述:

  • APIC – 進階可程式化插斷控制器。 允許將優先順序層級指派給其中斷輸出的裝置。

  • 子分割 – 裝載客體作業系統的資料分割。 子分割區對實體記憶體和裝置的所有存取都是透過虛擬機器匯流排 (VMBus) 或 Hypervisor 來提供。

  • Hypercall – 與 Hypervisor 通訊的介面。 Hypercall 介面可容納 Hypervisor 所提供的優化存取權。

  • Hypervisor – 位於硬體與一或多個作業系統之間的軟體層。 其主要工作是提供稱為磁碟分割的隔離執行環境。 Hypervisor 可控制及仲裁對基礎硬體的存取權。

  • IC – 整合元件。 可讓子分割區與其他分割區和 Hypervisor 通訊的元件。

  • I/O 堆疊 – 輸入/輸出堆疊。

  • MSR – 記憶體服務常式。

  • 根磁碟分割 – 管理電腦層級的功能,例如設備磁碟機、電源管理和裝置熱新增/移除。 根 (或父) 磁碟分割是唯一可以直接存取實體記憶體和裝置的磁碟分割。

  • VID – 虛擬化基礎結構驅動程式。 提供資料分割管理服務、虛擬處理器管理服務,以及分割區的記憶體管理服務。

  • VMBus – 通道型通訊機制,可在具有多個使用中虛擬化磁碟分割的系統上,用來進行磁碟分割間的通訊和裝置列舉。 VMBus 會隨著 Hyper-V 整合服務一起安裝。

  • VMMS – 虛擬機器管理服務。 負責管理子分割區中所有虛擬機器的狀態。

  • VMWP – 虛擬機器背景工作進程。 虛擬化堆疊的使用者模式元件。 背景工作進程會提供虛擬機器管理服務,從父分割區中的 Windows Server 實例到子分割區中的客體作業系統。 虛擬機器管理服務會針對每個執行中的虛擬機器,繁衍個別的工作者處理序。

  • VSC – 虛擬化服務用戶端。 位於子分割區中的綜合裝置實例。 VSC 會使用父磁碟分割中虛擬化服務提供者 (VSP) 所提供的硬體資源。 它們會透過 VMBus 來與父磁碟分割中的對應 VSP 通訊,以滿足子磁碟分割的裝置 I/O 要求。

  • VSP – 虛擬化服務提供者。 位於根分割區中,並提供透過虛擬機器匯流排 (VMBus) 子分割的綜合裝置支援。

  • WinHv – Windows Hypervisor 介面程式庫。 WinHv 基本上是分割作業系統驅動程式與 Hypervisor 之間的橋樑,可讓驅動程式使用標準 Windows 呼叫慣例來呼叫 Hypervisor

  • WMI – 虛擬機器管理服務會公開一組 Windows Management Instrumentation (WMI) 型 API 來管理及控制虛擬機器。

    這些詞彙大部分都是在 詞彙中定義。

注意

Hyper-V 技術概觀 是不錯的資源。

優點

在 Hyper-V 虛擬化環境中執行企業層級解決方案的優點包括:

  1. 合併硬體資源 - 使用 Hyper-V 實作虛擬化,可以輕鬆地將多部實體伺服器合併成比較少的伺服器。 匯總可充分利用已部署的硬體資源。 Windows Server 中的 Hyper-V 最多可以在主機電腦上存取 64 個邏輯 CPU。 這項功能不僅會利用新的多核心系統,也表示每個實體主機的虛擬機器合併比例更高。

  2. 輕鬆管理

    • 合併和集中化資源可簡化系統管理。

    • 相應增加和相應放大的實作會更輕鬆。

  3. 節省大量成本

    • 硬體成本大幅降低,因為多部虛擬機器可以在單一實體電腦上執行,因此,每部電腦不需要個別的實體機器。

    • Hyper-V 授權成本可能包含在 Windows Server 的授權成本中,也可以購買為獨立產品。

    • 由於所需的實體硬體「使用量」降低,將現有的應用程式合併到虛擬化的 Hyper-V 環境,可能會大幅降低電源需求。

  4. 透過 Hyper-V 叢集的容錯支援 – 因為 Hyper-V 是叢集感知應用程式,所以 Windows Server 提供原生主機叢集支援,以支援在 Hyper-V 虛擬化環境中建立的虛擬機器。

  5. 輕鬆部署和管理

    • 將現有伺服器合併成較少的實體伺服器可簡化部署。

    • System Center Virtual Machine Manager提供完整的 Hyper-V 管理解決方案。 System Center VMM 的新功能 提供一些指引。

  6. 主要 Hyper-V 效能特性

    • 改善的硬體共用架構 - Hyper-V 可改善核心資源的存取和使用率,例如磁片、網路和視訊,在執行具有 Hypervisor 感知核心的客體作業系統,且具備必要的虛擬伺服器用戶端 (VSC) 程式碼 (稱為 Hyper-V 覺察型 I/O) 。 啟發式是作業系統的增強功能,可協助降低某些作業系統功能的成本,例如記憶體管理。 其他用戶端作業系統也提供包含 VSC 驅動程式的整合元件。

      磁片效能對於磁片 I/O 密集的企業應用程式而言非常重要,例如 Microsoft BizTalk Server,以及 Hyper-V 啟發式 I/O;Hyper-V 提供「傳遞」磁片支援,可提供與實體磁片效能相等的磁片效能。 請注意,「傳遞」磁片支援會以小型成本提供改善的效能,以方便起見。 「傳遞」磁片基本上是連結至虛擬機器的實體磁片/LUN,不支援虛擬磁片的某些功能,例如虛擬機器快照集。

    • 處理器硬體輔助虛擬化支援 – Hyper-V 充分利用最新處理器技術所提供的處理器硬體輔助虛擬化支援。

    • 多核心 (SMP) 客體作業系統支援 – Hyper-V 可讓您在虛擬機器環境中支援最多四個處理器,讓應用程式能夠充分利用虛擬機器中的多執行緒功能。

    • 32 位和 64 位客體作業系統支援 – Hyper-V 可同時支援同時執行不同類型的作業系統,包括跨不同伺服器平臺的 32 位和 64 位系統,例如 Windows、Linux® 和其他平臺。

  7. 完整的產品支援– 因為 Microsoft 企業應用程式 (例如Exchange Server和SQL Server) 在 Hyper-V 中完整測試執行,所以 Microsoft 會在部署及在 Hyper-V 環境中執行時,提供這些應用程式的程式碼修正支援。

  8. 延展性 – 將主機電腦的其他可用資源配置至客體虛擬機器 () ,即可快速且輕鬆地完成額外的處理能力、網路頻寬和儲存體容量。 這可能需要升級主機電腦,或客體虛擬機器移至更強大的主機電腦。

    如需利用 Hyper-V 所提供的虛擬化技術優點的詳細資訊,請參閱 Hyper-V 技術概觀

缺點

在 Hyper-V 虛擬化環境中執行企業層級解決方案的一些缺點可能包括:

  • 硬體需求 – 由於伺服器匯總的需求,Hyper-V 虛擬機器通常會耗用更多的 CPU 和記憶體,而且需要比具有可比較運算負載的實體伺服器更高的磁片 I/O 頻寬。 由於 Hyper-V 伺服器角色僅適用于 64 位,且所有 Windows Server 版本都僅限 64 位,因此實體硬體必須支援硬體輔助虛擬化。 這表示處理器必須與 Intel VT 或 AMD Virtualization (AMD-V) 技術相容,系統 BIOS 必須支援資料執行防止 (DEP) ,而且必須啟用 DEP。

  • 軟體需求 – 雖然大部分的 Microsoft 軟體都支援在 Hyper-V 虛擬機器上執行,但某些 Microsoft 軟體仍在測試中,以確保與 Hyper-V 虛擬化環境的相容性。 例如,大部分的 Microsoft 企業層級應用程式都支援在 Hyper-V 上執行,或是在 Hyper-V 上測試支援的程式。 如需 Hyper-V 上BizTalk Server和SQL Server支援性的詳細資訊,請參閱附錄 C:BizTalk Server和SQL Server Hyper-V 支援性