Hyper-V 架構 (Project Server 2007)
上次修改主題的時間: 2009-03-25
Hyper-V 是一種適用於 Windows Server 2008 作業系統 64 位元版本、以 Hypervisor 為基礎的虛擬化技術;Hypervisor 則是一個採用特定處理器的虛擬化平台,它可允許多個相互隔離的作業系統共用一個硬體平台。
從分割 (Partition) 的角度來說,Hyper-V 可支援隔離。所謂分割,係指隔離的邏輯單位,Hypervisor 對此有提供支援,它也是執行作業系統的空間。Microsoft Hypervisor 必須至少擁有一個執行 Windows Server 2008 作業系統 64 位元版本的父分割 (或稱為根分割)。虛擬化堆疊會在父分割中執行,並可直接存取硬體裝置。根分割會建立主控客體作業系統的子分割。根分割是使用 Hypercall 應用程式發展介面 (API) 建立子分割。
「分割」無法存取實體處理器,也無法處理相關的處理器插斷作業;不過,「分割」有個處理器虛擬檢視,且可在每個客體分割私用的虛擬記憶體位址區中執行。Hypervisor 會處理對處理器的插斷,並將插斷作業重新導向個別分割。Hyper-V 還可以運用硬體加速功能,藉由「輸入輸出記憶體管理單位」(IOMMU) 操作非 CPU 所用之記憶體管理硬體,加快不同客體虛擬位址空間之間的位址轉譯。IOMMU 的用途是將實體記憶體位址重新對應至子分割所用的位址。
子分割也同樣無法直接存取其他硬體資源,但有個資源虛擬檢視,如虛擬裝置 (VDev)。對虛擬裝置的要求會透過 VMBus 或 Hypervisor 重新導向至父分割中的裝置,由父分割來處理要求。VMBus 係為一個分割之間的邏輯通訊通道。父分割會裝載虛擬化服務提供者 (VSP),以便在 VMBus 上進行通訊,並處理來自子分割的裝置存取要求。子分割裝載的是虛擬化服務取用者 (VSC),這些取用者會透過 VMBus 將裝置要求重新導向至父分割中的 VSP。這整個程序對客體作業系統都是透明的。
虛擬裝置還可以對儲存裝置、網路裝置、圖形裝置及輸入子系統,運用 Windows Server 的一項虛擬化功能,稱為「互通虛擬化 I/O」(Enlightened I/O)。「互通虛擬化 I/O」是一種虛擬化感知的高階通訊協定 (如 SCSI) 實作方式,這種方式會直接利用 VMBus,並略過任何裝置模擬層。這將提高通訊效率,但是需有個具備 Hypervisor 感知和 VMBus 感知的互通虛擬化客體。安裝 Hyper-V 整合服務之後就會具備 Hyper-V 互通虛擬化 I/O 和 Hypervisor 感知核心。整合元件 (包括虛擬伺服器用戶端 (VSC) 驅動程式) 也適用於其他用戶端作業系統。Hyper-V 所需的處理器必須具備硬體協助虛擬化功能,Intel VT 或 AMD Virtualization (AMD-V) 技術即具有此功能。
Hyper-V 架構概觀
下圖為 Windows Server 2008 上 Hyper-V 環境架構的重點概觀。
上圖所用縮寫和詞彙說明如下:
**APIC:**進階可程式中斷控制器 (Advanced Programmable Interrupt Controller) — 一種裝置,可允許對其中斷輸出指派優先層級。
**子分割:**裝載客體作業系統的分割 — 子分割對實體記憶體和裝置的所有存取,都是透過虛擬機器匯流排 (VMBus) 或 Hypervisor 提供。
**Hypercall:**與 Hypervisor 之間的通訊介面 — Hypercall 介面可接受 Hypervisor 提供的最佳化存取。
**Hypervisor:**一個軟體層,位於硬體與一或多個作業系統之間。它的主要功用是提供隔離的執行環境,稱為「分割」。Hypervisor 負責控制及仲裁對基礎硬體的存取。
**IC:**整合元件 (Integration Component) — 此元件可允許子分割對其他分割和 Hypervisor 進行通訊。
**I/O 堆疊:**即輸入/輸出堆疊。
**MSR:**記憶體服務常式 (Memory Service Routine)。
**根分割:**負責管理機器層級的功能,例如:裝置驅動程式、電源管理,及熱裝置新增/移除。根分割 (或父分割) 是唯一可直接存取實體記憶體和裝置的分割。
**VID:**虛擬化基礎結構驅動程式 (Virtualization Infrastructure Driver) — 可針對分割提供分割管理服務、虛擬處理器管理服務,及記憶體管理服務。
**VMBus:**虛擬機器匯流排 (Virtual Machine Bus) — 係為一種通道式通訊機制,在具有多個作用中虛擬化分割的系統上,用以進行分割之間的通訊與裝置模擬。VMBus 會隨 Hyper-V 整合服務而安裝。
**VMMS:**虛擬機器管理服務 (Virtual Machine Management Service) — 負責管理子分割中所有虛擬機器的狀態。
**VMWP:**虛擬機器工作者處理序 (Virtual Machine Worker Process) — 係為一個虛擬化堆疊的使用者模式元件。此工作者處理序會將父分割中 Windows Server 2008 執行個體的虛擬機器管理服務,提供給子分割中的客體作業系統。「虛擬機器管理服務」會為每部執行中的虛擬機器產生個別工作者處理序。
**VSC:**虛擬化服務用戶端 (Virtualization Service Client) — 位於子分割中的合成裝置執行個體。VSC 會運用父分割中虛擬化服務提供者 (VSP) 提供的硬體資源。它會透過 VMBus 與父分割中的對應 VSP 相互通訊,以滿足子分割的裝置 I/O 要求。
**VSP:**虛擬化服務提供者 (Virtualization Service Provider) — 位於父分割中,透過虛擬機器匯流排 (VMBus) 對子分割提供合成裝置支援。
**WinHv:**Windows Hypervisor 介面程式庫 — 主要用途是為了讓已分割的作業系統驅動程式與 Hypervisor 之間彼此銜接 (因為 Hypervisor 允許驅動程式使用標準 Windows 呼叫慣例呼叫它) 。
**WMI:**虛擬機器管理服務會公開一組以 Windows Management Instrumentation (WMI) 為基礎的 API,以供控管虛擬機器之用。
另請參閱
概念
Project Server 2007 虛擬化
在 Hyper-V 上部署 Project Server 2007
在 Hyper-V 上使用 Project Server 2007 的最佳作法
安裝及設定 Project Server 2007 和 Hyper-V
Hyper-V 的系統資源負擔 (Project Server 2007)