什麼是巢狀虛擬化?

巢狀虛擬化是一項可讓您在 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。 在此情況下,Hyper-V 會向其虛擬機器公開硬體虛擬化延伸模組。 啟用巢狀後,客體虛擬機器可以安裝自己的 Hypervisor,並執行它自己的客體 VM。

已啟用巢狀虛擬化的 Hyper V 層級圖表。

調整動態記憶體與執行階段記憶體的大小

當 HYPER-V 在虛擬機器內執行時,必須先關閉虛擬機器,才能調整其記憶體。 這表示即使已啟用動態記憶體,記憶體數量也不會變動。 只要啟用巢狀虛擬化,就不會影響動態記憶體或執行時間記憶體調整大小。

對於未啟用動態記憶體的虛擬機器,嘗試在執行失敗時調整記憶體數量。 僅當 HYPER-V 在 VM 中執行時,才會發生不相容的問題。

協力廠商虛擬化應用程式

Hyper-V 虛擬機器不支援 Hyper-V 以外的虛擬化應用程式,而且可能會失敗。 虛擬化應用程式包含任何需要硬體虛擬化擴充功能的軟體。

支援的案例

在下列案例中,Azure 和內部部署都支援在生產環境中使用巢狀 Hyper-V VM。 我們也建議您確定也支援您的服務和應用程式。

巢狀虛擬化不適用於 Windows Server 容錯移轉叢集和效能敏感性應用程式。 我們建議您完整評估服務和應用程式。

Hyper-V VM 上的 Hyper-V VM

在 Hyper-V VM 上執行巢狀 Hyper-V VM 非常適合測試實驗室和評估環境。 特別是可以輕易修改和儲存狀態的位置,可用來還原為特定組態。 測試實驗室通常不需要與生產環境相同的服務等級協定 (SLA) 。

支援執行 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 版的常見問題

後續步驟