Press "Enter" to skip to content

開啟巢狀虛擬化在 Hyper-V 內安裝 Proxmox VE

最近由於工作關係,接觸到 Proxmox VE 這一套開源伺服器虛擬化管理平台。家中的虛擬伺服器一直都是用 Microsoft Hyper-V 建立的,最近在考慮從 Hyper-V 轉到 Proxmox VE 平台上,但是家中卻沒有多一台電腦用來測試。想起了 Hyper-V 2016 版本開始支援巢狀虛擬化 (Nested Virtualization),理論上應該可以在 Hyper-V 內建立 VM 安裝 PVE,然後在虛擬化的 PVE 內建立 VM 來測試。

可是,在剛開始安裝時,就出現錯誤訊息:No support for KVM virtualization detected. Check BIOS setting for Intel VT / AMD-V / SVM.

在 Google 查了一下,發現原來 Hyper-V 的巢狀虛擬化 (Nested Virtualization) 是需要在每一台 VM 上手動開啟的。按照官方網站教學,輸入以下 PowerShell 指令來啟用巢狀虛擬化。(注意 <VMName> 需要輸入 VM 的名稱)

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

再重新啟動 VM 執行 Proxmox VE 安裝,這次能夠成功進入安裝畫面。

安裝完成後,在 Proxmox VE 成功建立虛擬伺服器,但是卻發現網絡連接不上。再到 Google 查一下,原來在 Hyper-V 內必需要開啟 MAC Address Spoofing。這個可以在 Hyper-V Manager 的 GUI 介面設定,又或是可以直接輸入以下 PowerShell 指令。(注意 需要輸入 VM 的名稱)

Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On

開啟 MAC Address Spoofing 後,PVE 內的虛擬伺服器網絡馬上就接通了。

安裝完成並測試了一星期,對 PVE 的操作大致了解。接下來的工作,就要將所有 Hyper-V 的虛擬伺服器匯出,格式化電腦重新安裝 PVE,再將 Hyper-V 的虛擬伺服器匯入 PVE 內,完成後會再跟大家分享一下情況。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.