在 Azure 實驗室服務中啟用巢狀虛擬化
巢狀虛擬化支援 Azure 實驗室服務中的實驗室,其中包含多個虛擬機 (VM) 環境。 您可以為多個 VM 環境準備實驗室範本。 使用者不需要在其實驗室 VM 上啟用巢狀虛擬化,或在其上安裝巢狀 VM。 當您發佈實驗室時,每個實驗室使用者都有已包含巢狀虛擬機的實驗室 VM。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 具有管理實驗室許可權的 Azure 帳戶,例如實驗室建立者、 擁有者、 參與者或 實驗室服務參與者 Azure RBAC 角色。 深入瞭解 Azure 實驗室服務內建角色和指派範圍。
- Azure 實驗室方案。 如果您還沒有實驗室計劃,請遵循快速入門:設定資源以建立實驗室中的步驟。
如需巢狀虛擬化的概念、考慮和建議,請參閱 Azure 實驗室服務中的巢狀虛擬化。
注意
巢狀虛擬化不支援 Hyper-V 以外的虛擬化應用程式。 這包括任何需要硬體虛擬化擴充功能的軟體。
重要
在建立實驗室時,針對虛擬機大小選取 [大型] (巢狀虛擬化) 或 [中] (巢狀虛擬化)。 巢狀虛擬化無法運作。否則為 。
啟用巢狀虛擬化
若要在範本 VM 上啟用巢狀虛擬化,請先使用遠端桌面 (RDP) 用戶端連線到 VM。 接著,您可以執行 PowerShell 腳本或使用 Windows 工具來套用設定變更。
重要
建議您搭配 Windows 11 使用巢狀虛擬化。 您可以在 Windows 用戶端 OS 上安裝 Hyper-V 時,利用所建立的「預設交換器」。 當您需要對網路設定進行額外控制時,您應該在 Windows Server 作業系統上使用巢狀虛擬化。
您可以使用 PowerShell 腳本在 Azure 實驗室服務的範本 VM 上設定巢狀虛擬化。 下列步驟會引導您瞭解如何使用 實驗室服務 Hyper-V 腳本。 腳本適用於 Windows 11。
請遵循下列步驟來 連線並更新範本電腦。
以 管理員 istrator 身分啟動 PowerShell。
您可能必須變更執行原則,才能成功執行腳本。 執行以下命令:
Set-ExecutionPolicy bypass -force
下載並執行腳本,以啟用 Hyper-V 功能和工具。
Invoke-WebRequest 'https://aka.ms/azlabs/scripts/hyperV-powershell' -Outfile SetupForNestedVirtualization.ps1 .\SetupForNestedVirtualization.ps1
注意
腳本可能需要重新啟動 VM。 如果是,請從 Azure 實驗室服務網站 停止並啟動範本 VM,然後重新執行腳本,直到您在輸出中看到 腳本完成 為止。
別忘了重設執行原則。
Set-ExecutionPolicy default -force
範本 VM 現在已設定為與巢狀虛擬化搭配使用。 您可以在 其中建立 VM 。 建立新的 Hyper-V VM 時,請使用腳本指定的參數。
連線 至另一個實驗室 VM 中的巢狀 VM
需要額外的設定,才能從一個實驗室 VM 上的巢狀 VM 連線到另一個實驗室 VM 中裝載的巢狀 VM。 使用 Add-NetNatStaticMapping PowerShell Cmdlet,將靜態對應新增至 NAT 實例。
注意
您無法使用 ping
命令來測試巢狀 VM 的連線能力。
注意
靜態對應僅適用於您使用私人IP位址時。 實驗室使用者所連線的 VM 必須是實驗室 VM,或使用進階網路時,VM 必須位於相同的網路上。
範例案例
請考慮下列範例實驗室設定:
實驗室 VM 1 (Windows Server 2022,IP 10.0.0.8)
- 巢狀 VM 1-1 (Ubuntu 20.04,IP 192.168.0.102,允許 SSH)
- 巢狀 VM 1-2 (Windows 11、IP 192.168.0.103、啟用及允許遠端桌面)
實驗室 VM 2 (Windows Server 2022,IP 10.0.0.9)
- 巢狀 VM 2-1 (Ubuntu 20.04,IP 192.168.0.102,允許 SSH)
- 巢狀 VM 2-2 (Windows 11、IP 192.168.0.103、啟用及允許遠端桌面)
啟用從實驗室 VM 2 到巢狀實驗室 VM 1-1 的 SSH 連線:
在實驗室 VM 1 上,新增靜態對應:
Add-NetNatStaticMapping -NatName "LabServicesNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.0.102 -InternalPort 22 -ExternalPort 23
在實驗室 VM 2 上,使用 SSH 連線:
ssh user1@10.0.0.8 -p 23
啟用從實驗室 VM 2 或其巢狀 VM 到巢狀實驗室 VM 1-2 的 RDP 連線:
在實驗室 VM 1 上,新增靜態對應。
Add-NetNatStaticMapping -NatName "LabServicesNat" -Protocol TCP -ExternalIPAddress 0.0.0.0 -InternalIPAddress 192.168.0.103 -InternalPort 3389 -ExternalPort 3390
在實驗室 VM 2 或其巢狀 VM 上,使用 RDP 連線至
10.0.0.8:3390
。重要
在使用者名稱前面包含
~\
。 例如,~\Administrator
或~\user1
。
疑難排解
這些建議可能會解決一些常見問題。
Linux VM 只會顯示黑色畫面
執行下列步驟來驗證巢狀 VM 組態:
檢查您用於巢狀 VM 的 Hyper-V 虛擬機產生。 某些 Linux 散發套件不適用於第 1 代 Hyper-V VM。
深入瞭解 Hyper-V 中支援的客體作業系統。
Hyper-V 未從錯誤開始 The virtual machine is using processor-specific xsave features not supported
當實驗室用戶離開 Hyper-V VM 處於儲存狀態時,就會發生此錯誤。 您可以以滑鼠右鍵按下 Hyper-V 管理員中的 VM,然後選取 [ 刪除已儲存的狀態]。
警告
刪除儲存的狀態表示任何未儲存的工作都會遺失,但儲存至磁碟的任何項目都會保持不變。
當 Hyper-V VM 關閉且 VHDX 檔案損毀時,就會發生此錯誤。 如果實驗室使用者建立 VDHX 檔案的備份,或儲存快照集,他們可以從該點還原 VM。
我們建議您將 Hyper-V VM 自動關機動作設定為關機。
Hyper-V 太慢
增加 Hyper-V 管理員中指派給 Hyper-V VM 的 vCPU 和記憶體數目。 vCPU 總數不能超過主機 VM 的核心數目(實驗室 VM)。 如果您使用變數記憶體,則預設選項會增加指派給 VM 的最小記憶體數量。 如果您使用可變記憶體,指派的記憶體數量上限可能會超過主機 VM 的記憶體數量。 此方法在只需要其中一個 Hyper-V VM 上完成密集作業時,就能夠有更大的彈性。
如果您使用實驗室的中型(巢狀虛擬化)VM 大小,請考慮改用大型(巢狀虛擬化)VM 大小,讓每個實驗室 VM 有更多的計算資源。
巢狀 VM 的因特網連線無法運作
確認您已遵循先前的步驟來啟用巢狀虛擬化。 請考慮使用PowerShell腳本選項。
如果您使用的是 Windows Server,請檢查主機 VM(實驗室 VM) 是否已安裝 DHCP 角色。
不支援以 DHCP 伺服器身分執行實驗室 VM。 請參閱我可以在虛擬網路中部署 DHCP 伺服器嗎? 變更實驗室 VM 的設定可能會導致其他實驗室 VM 發生問題。
檢查 Hyper-V VM 的網路適配器設定。
將 DNS 伺服器和 DHCP 伺服器的 IP 位址設定為 168.63.129.16。
如果客體 VM IPv4 位址已手動設定,請確認其位於連線到 Hyper-V 交換器之 NAT 網路的範圍內。
請嘗試啟用 Hyper-V DHCP 防護 和 路由器防護。
Get-VMNetworkAdapter * | Set-VMNetworkAdapter -RouterGuard On -DhcpGuard On
注意
您無法使用 ping
Hyper-V VM 到主機 VM 的命令。 若要測試因特網連線能力,請啟動網頁瀏覽器,並確認網頁已正確載入。
無法啟動 Hyper-V VM
當您建立實驗室時,您可以選擇建立非系統管理員使用者。 若要能夠啟動或停止 Hyper-V VM,您必須將這類使用者新增至 Hyper-V 管理員 istrators 群組。 如需 Hyper-V 和非系統管理員使用者的詳細資訊,請參閱 非系統管理員使用者。
相關內容
在範本 VM 上設定巢狀虛擬化之後,您可以使用 Hyper-V 建立巢狀虛擬機。 請參閱 Microsoft 評估中心 查看可用的作業系統和軟體。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應