Hyper-V 是針對特定 x64 版本的 Windows 的 Hypervisor 型虛擬化技術。 Hypervisor 是虛擬化的核心。 它是處理器特定的虛擬化平臺,可讓多個隔離的作系統共用單一硬體平臺。
Hyper-V 支援分割區的隔離。 分割區是隔離的邏輯單元,由管理程式支援,作業系統在其中執行。 Microsoft Hypervisor 必須至少有一個父代或根、分割區執行 Windows。 虛擬化管理堆疊會在父分割區中執行,並可直接存取硬體裝置。 接著,根分割區會建立裝載客體作系統的子分割區。 根分割區會使用超集應用程式開發介面 (API) 建立子分割區。
分割區無法存取實體處理器,也無法處理處理器岔斷。 相反地,它們具有處理器的虛擬視圖,並在每個客體分割區專用的虛擬記憶體位址區域中執行。 Hypervisor 會處理處理器的岔斷,並將它們重新導向至個別分割區。 Hyper-V 還可以使用輸入輸出記憶體管理單元(IOMMU)來硬體加速各種訪客虛擬位址空間之間的位址轉換,該單元獨立於CPU使用的記憶體管理硬體運行。 IOMMU 可用來將實體記憶體位址重新對映至子分割區所使用的位址。
子分割區也無法直接存取其他硬體資源,而且會以虛擬設備 (VDevs) 的形式呈現資源的虛擬檢視。 對虛擬設備的要求會透過 VMBus 或 Hypervisor 重新導向至父分割區中的裝置,以處理要求。 VMBus 是邏輯分割間通道。 父分割區會裝載虛擬化服務提供者 (VSP),其會透過 VMBus 進行通訊,以處理來自子分割區的裝置存取要求。 子分割區會裝載虛擬化服務取用者 (VSC),其會透過 VMBus 將裝置要求重新導向至父分割區中的 VSP。 此整個程式對客體作系統而言是透明的。
虛擬設備也可以利用名為覺察型 I/O 的 Windows Server 虛擬化功能,來儲存、網路、圖形和輸入子系統。 啟發式 I/O 是高階通訊協定(例如 SCSI)的特製化虛擬化感知實作,可直接利用 VMBus,略過任何裝置模擬層。 這可讓通訊更有效率,但需要 Hypervisor 和 VMBus 感知的覺察客體。 Hyper-V 啟發的 I/O 和 Hypervisor 感知核心是透過安裝 Hyper-V 整合服務來提供。 整合元件,包括虛擬伺服器用戶端 (VSC) 驅動程式,也適用於其他用戶端作系統。 Hyper-V 需要包含硬體輔助虛擬化的處理器,例如配備 Intel VT 或 AMD 虛擬化 (AMD-V) 技術。
下圖提供 Hyper-V 環境架構的高階概觀。
Glossary
- APIC – 進階可程式化插斷控制器 – 允許將優先順序層級指派給其中斷輸出的裝置。
- 子數據分割 – 裝載客體作系統的分割區 - 子磁碟分區的所有實體記憶體和裝置存取都是透過虛擬機總線 (VMBus) 或 Hypervisor 提供。
- Hypercall – 與 Hypervisor 通訊的介面 - Hypercall 介面可接受 Hypervisor 所提供的優化存取。
- Hypervisor – 位於硬體與一或多個作系統之間的軟體層。 它的主要工作是提供稱為分割區的隔離執行環境。 Hypervisor 會控制並仲裁對基礎硬體的存取。
- IC – 整合元件 – 可讓子分割區與其他分割區和 Hypervisor 通訊的元件。
- I/O 堆疊 – 輸入/輸出堆疊
- MSR – 記憶體服務例程
- 根數據分割 – 有時稱為父數據分割。 管理計算機層級的功能,例如設備驅動器、電源管理和裝置熱新增/移除。 根數據分割(或父數據分割)是唯一可直接存取實體記憶體和裝置的數據分割。
- VID – 虛擬化基礎結構驅動程式 – 提供分割區管理服務、虛擬處理器管理服務,以及分割區的記憶體管理服務。
- VMBus – 信道型通訊機制,用於在具有多個作用中虛擬化分割區的系統上,進行分割間通訊和裝置列舉。 VMBus 會隨 Hyper-V Integration Services 一起安裝。
- VMMS – 虛擬機管理服務 – 負責管理子分割區中所有虛擬機的狀態。
- VMWP – 虛擬機背景工作進程 – 虛擬化堆疊的使用者模式元件。 背景工作進程提供從父分割區中的 Windows Server 2008 實例到子分割區中客體作系統的虛擬機管理服務。 虛擬機器管理服務會為每個執行中的虛擬機產生個別的背景工作進程。
- VSC – 虛擬化服務用戶端 – 位於子分割區中的綜合裝置實例。 VSC 會利用父分割區中虛擬化服務提供者 (VSP) 所提供的硬體資源。 它們會透過 VMBus 與父分割區中的對應 VSP 通訊,以滿足子分割裝置 I/O 要求。
- VSP – 虛擬化服務提供者 – 位於根分割區中,並提供透過虛擬機總線 (VMBus) 子分割的綜合裝置支援。
- WinHv – Windows Hypervisor 介面連結庫 - WinHv 基本上是分割作系統驅動程式與 Hypervisor 之間的橋樑,可讓驅動程式使用標準 Windows 呼叫慣例來呼叫 Hypervisor
- WMI – 虛擬機管理服務會公開一組以 Windows Management Instrumentation (WMI) 為基礎的 API 來管理和控制虛擬機。