Proxmox 是我用於部署各種容器和虛擬機的管理程序。有時我想在另一個 VM 中創建一個 VM。含義 – 我只想在物理 proxmox 管理程序上託管來賓管理程序(即 VM)。有沒有想過如何在主機管理程序上設置來賓管理程序?本指南將向您展示如何 在 proxmox 中啟用嵌套虛擬化 在那之後 在來賓中啟用 VT-X 管理程序。

內容

  1. 什麼是嵌套虛擬化?
  2. 在 proxmox 中啟用嵌套虛擬化
  3. 檢查您的虛擬機中是否啟用了 VT-X
  4. 在虛擬機中啟用 VT-X
    1. 從命令行在 Proxmox 客戶端中啟用 VT-X
    2. 在客戶機上為 Proxmox Web UI 啟用 VT-X
  5. 結論是

什麼是嵌套虛擬化?

嵌套虛擬化 允許虛擬機在另一個虛擬機中運行同時使用主機系統的硬件加速的功能。

簡而言之,嵌套虛擬化是一種在其上運行的虛擬機 (VM) 內運行管理程序的機制。

在 proxmox 中啟用嵌套虛擬化

物理 Proxmox 主機需要以下步驟:

首先,讓我們確保在物理 Proxmox 管理程序上啟用了嵌套虛擬化功能。

如果 Proxmox 管理程序是 英特爾處理器,運行以下命令查看是否啟用了嵌套虛擬化:

# cat /sys/module/kvm_intel/parameters/nested
N

對於 AMD CPU,運行

# cat /sys/module/kvm_amd/parameters/nested
N

你可能會得到 “n”“0” 什麼時候 “是的”“1” 作為輸出。如果你有輸出 “n”“0”,這意味著您有嵌套的虛擬化函數 未激活.如果你有輸出 “是的”“1”,嵌套函數為 效力.

我的 proxmox 主機上未啟用嵌套虛擬化。所以使用以下命令啟用它 root 用戶:

# echo "options kvm-intel nested=Y" > /etc/modprobe.d/kvm-intel.conf

在 AMD Proxmox 主機上,運行以下命令:

# echo "options kvm-amd nested=1" > /etc/modprobe.d/kvm-amd.conf 

筆記 – 添加 是的 為了 英特爾處理器 什麼時候 1 為了 超微處理器 啟用嵌套。

然後重新啟動系統或重新加載內核模塊以使更改生效。

# modprobe -r kvm_intel
# modprobe kvm_intel

在您的 AMD Proxmox 主機上,運行:

# modprobe -r kvm_amd
# modprobe kvm_amd

現在再次檢查是否在物理 Proxmox 主機上啟用了嵌套虛擬化。

# cat /sys/module/kvm_intel/parameters/nested
Y
檢查是否在 Proxmox 中啟用了嵌套虛擬化

對於 AMD CPU,運行

# cat /sys/module/kvm_amd/parameters/nested
Y

正如您在上面的輸出中看到的,Proxmox 主機啟用了嵌套虛擬化功能。

檢查您的虛擬機中是否啟用了 VT-X

您可能知道,為了在任何系統上託管客戶機,CPU 必須支持虛擬化技術 (VT-X) 和 VT-X。

有幾種方法可以檢查您的 CPU 是否支持 VT-X。以下教程顯示了檢查系統上是否啟用了 VT-X 功能的幾種方法。

如何確定您的 CPU 是否支持虛擬化技術 (VT)

出於本指南的目的,我們將使用 Debian 11 桌面。讓我們檢查是否在我們的一台虛擬機上啟用了 VT-X。

# egrep --color -i "svm|vmx" /proc/cpuinfo

如果您沒有看到任何輸出,則表示 VT-X 未啟用。現在激活它。

在虛擬機中啟用 VT-X

在 Proxmox 主機上啟用嵌套虛擬化功能後,您需要在虛擬(來賓)機器上啟用虛擬化技術 (VT-X) 以使其成為管理程序。

您可以從 CLI 或 Proxmox Web UI 啟用 VT-X。

從命令行在 Proxmox 客戶端中啟用 VT-X

關閉虛擬機 要啟用嵌套虛擬化的位置。

要在虛擬機上啟用虛擬化技術,請將 VM 的 CPU 類型設置為 “主持人” 請使用命令:

# qm set <VMID> --cpu host

例子:

# qm set 105 --cpu host

將“105”替換為您的虛擬機 ID。現在虛擬機是一個管理程序,我們可以在這個虛擬機中創建容器和虛擬機。

在客戶機上為 Proxmox Web UI 啟用 VT-X

確保虛擬機已關閉。

訪問以打開 ProxMox Web 用戶界面 https://proxmox-ip:8006輸入您的用戶名和密碼以登錄 Proxmox 網絡儀表板。

登錄 Proxmox 網頁界面

虛擬機(即 Debian 11)-> 硬件.選擇 “處理器” 並點擊 編輯 或者,雙擊處理器選項。

編輯處理器設置編輯處理器設置

選擇 CPU 類型為“主機”。

在主機上設置 CPU 類型在主機上設置 CPU 類型

然後啟動虛擬機。 啟動 VM 後,再次檢查是否在 VM 中啟用了 VT-X。

$ egrep --color -i "svm|vmx" /proc/cpuinfo
檢查是否啟用了 VT-X 功能檢查是否啟用了 VT-X 功能

如果你看到 “虛擬機” (英特爾-VT 技術)或 “支持向量機” (AMD-V 支持)恭喜輸出! VT-X 功能已啟用。

虛擬機現在是管理程序。 您可以在虛擬機中安裝任何管理程序應用程序,例如 KVM、Proxmox、Quickemu、Virtualbox、VMware 等,並開始在其中託管容器和 VM。

結論是

在本指南中,我們解釋了嵌套虛擬化是什麼以及如何在 Proxmox 中啟用它。您還學習瞭如何在 Proxmox 虛擬機中啟用 VT-X 功能來運行容器和虛擬機。

相關閱讀:

  • 如何在 Linux 上的 KVM 中啟用嵌套虛擬化
  • 如何啟用嵌套虛擬化 VirtualBox

LinuxLinux 管理嵌套虛擬化開源ProxmoxProxmoxVEProxmox虛擬化環境Sysadmin