什麼是巢狀虛擬化?
巢狀虛擬化是一項功能,可讓您在 Hyper-V 虛擬機 (VM) 內執行 Hyper-V。 多年來,硬體已改善,巢狀虛擬化的使用案例已擴大。 例如,巢狀虛擬化對下列專案很有用:
- 在巢狀 VM 中執行應用程式或模擬器
- 在 VM 上測試軟體版本
- 減少定型環境的部署時間
- 針對容器使用 Hyper-V 隔離
新式處理器包括硬體功能,讓虛擬化更快速且更安全。 Hyper-V 依賴這些處理器延伸模組來執行虛擬機,例如 Intel VT-x 和 AMD-V。 巢狀虛擬化可讓客體虛擬機使用此硬體支援。
下圖顯示沒有巢狀的 Hyper-V。 Hyper-V Hypervisor 會完全控制硬體虛擬化功能(橙色箭號),而且不會將它們公開給客體操作系統。
相反地,下圖顯示已啟用巢狀虛擬化的 Hyper-V。 在此情況下,Hyper-V 會將硬體虛擬化擴充功能公開給其虛擬機。 啟用巢狀處理后,客體虛擬機可以安裝自己的 Hypervisor,並執行自己的客體 VM。
動態記憶體和運行時間記憶體大小
當 Hyper-V 在虛擬機內執行時,必須關閉虛擬機以調整其記憶體。 這表示即使啟用易失記憶體,記憶體數量也不會變動。 只要啟用巢狀虛擬化,就不會影響動態記憶體或運行時間記憶體大小。
針對未啟用易失記憶體的虛擬機,嘗試在執行時調整記憶體數量失敗。 只有在 HYPER-V 在 VM 中執行時,才會發生不相容。
第三方虛擬化應用程式
Hyper-V 虛擬機不支援 Hyper-V 以外的虛擬化應用程式,而且可能會失敗。 虛擬化應用程式包含任何需要硬體虛擬化擴充功能的軟體。
支援的案例
在生產環境中使用巢狀 Hyper-V VM 支援下列案例中的 Azure 和內部部署。 我們也建議您確定也支援您的服務和應用程式。
巢狀虛擬化不適用於 Windows Server 故障轉移叢集和效能敏感性應用程式。 建議您完整評估服務和應用程式。
Hyper-V VM 上的 Hyper-V VM
在 Hyper-V VM 上巢狀執行 Hyper-V VM 非常適合測試實驗室和評估環境。 特別是可輕易修改和儲存狀態的設定,可用來還原為特定組態。 測試實驗室通常不需要與生產環境相同的服務等級協定(SLA)。
支援在 Hyper-V VM 上執行 Hyper-V VM 上執行之 Hyper-V VM 的生產環境。 不過,建議您確定也支援您的服務和應用程式。 如果您在生產環境中使用巢狀 Hyper-V VM,建議您完整評估服務或應用程式是否提供預期的行為。
若要深入瞭解如何在 Azure 上設定巢狀虛擬化,請參閱我們的技術社群部落格 如何設定 Azure VM/VHD 的巢狀虛擬化。
Hyper-V 虛擬化上的第三方虛擬化
雖然第三方虛擬化可能會在 Hyper-V 上執行,但 Microsoft 不會測試此案例。 不支援 Hyper-V 虛擬化上的第三方虛擬化,請確定您的 Hypervisor 廠商支援此案例。
第三方虛擬化上的 Hyper-V 虛擬化
雖然 Hyper-V 虛擬化可能會在第三方虛擬化上執行,但 Microsoft 不會測試此案例。 不支援第三方虛擬化上的 Hyper-V 虛擬化,請確定您的 Hypervisor 廠商支援此案例。
Hyper-V VM 上巢狀的 Azure Stack HCI
Azure Stack HCI 經過設計和測試,以在已驗證的實體硬體上執行。 Azure Stack HCI 可以在虛擬機中執行巢狀結構以供評估,但不支援巢狀設定中的生產環境。
若要深入瞭解 Hyper-V VM 上巢狀的 Azure Stack HCI,請參閱 Azure Stack HCI 中的巢狀虛擬化。
在 Hyper-V 上巢狀執行的 Hyper-V 隔離容器
Microsoft為容器提供 Hyper-V 隔離。 此隔離模式可在主機與容器版本之間提供增強的安全性和更廣泛的相容性。 透過 Hyper-V 隔離,多個容器實例會在主機上同時執行。 每個容器都會在高度優化的虛擬機內執行,並有效地取得自己的核心。 由於 Hyper-V 隔離容器透過本身與容器主機之間的 Hypervisor 層提供隔離,因此當容器主機是 Hyper-V 型虛擬機時,會有效能額外負荷。 相關聯的效能額外負荷會在容器啟動時間、記憶體、網路和CPU作業方面發生。
當 Hyper-V 隔離容器在 Hyper-V VM 中執行時,它會執行巢狀容器。 使用 Hyper-V VM 會開啟許多有用的案例,但也會增加延遲,因為實體主機上方有兩個層級的 Hypervisor。
支援在 Hyper-V 上巢狀執行 Hyper-V 隔離容器。 生產環境中支援一個層級的巢狀虛擬化,允許隔離的容器部署。
若要深入瞭解巢狀 Hyper-V 容器,請參閱 效能微調 Windows Server 容器。
在 Hyper-V 上巢狀執行的 Hyper-V VM 中執行 WSL2
Windows 子系統 Linux 版 (WSL) 是 Windows 作業系統的一項功能,可讓您直接在 Windows 上執行 Linux 檔案系統以及 Linux 命令行工具和 GUI 應用程式。
支援在 Hyper-V 上巢狀執行的 Hyper-V VM 中執行 WSL2。
若要深入瞭解如何啟用 WSL 2 在 VM 中執行,請參閱關於 Windows 子系統 Linux 版 的常見問題。