Поиск по сайту:

Включить вложенную виртуализацию в Proxmox VE

Proxmox — мой любимый гипервизор для развертывания различных контейнеров и виртуальных машин. Иногда мне хочется создать виртуальную машину внутри другой виртуальной машины. Это означает: я просто хочу разместить гостевой гипервизор (т. е. виртуальную машину) в моем физическом гипервизоре Proxmox. Вы когда-нибудь задумывались, как настроить гостевой гипервизор в хост-гипервизоре? В этом руководстве я покажу вам, как включить вложенную виртуализацию в Proxmox VE, а затем включить VT-X в гостевом гипервизоре.

Что такое вложенная виртуализация?

Вложенная виртуализация – это функция, которая позволяет запускать виртуальную машину внутри другой виртуальной машины, сохраняя при этом аппаратное ускорение хост-системы.

Другими словами, вложенная виртуализация — это механизм запуска гипервизора внутри виртуальной машины (ВМ), которая сама работает на гипервизоре.

Включить вложенную виртуализацию в Proxmox

Следующие шаги необходимо выполнить на физическом хосте Proxmox.

Во-первых, давайте убедимся, что функция вложенной виртуализации включена в физическом гипервизоре Proxmox.

Если ваш гипервизор Proxmox — Intel CPU, выполните следующую команду, чтобы проверить, включена ли в нем вложенная виртуализация.

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

Если это процессор AMD, запустите:

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

В качестве вывода вы можете получить "N" или "0" и "Y" или "1". Если выходные данные — "N" или "0", это означает, что функция вложенной виртуализации не включена. Если выходные данные — "Y" или "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 

Обратите внимание. Мы добавляем Y для ЦП INTEL и 1 для ЦП AMD к включить вложенную функцию.

Теперь перезагрузите систему или перезагрузите модули ядра, чтобы изменения вступили в силу:

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, запустите:

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

Как вы видите в приведенном выше выводе, функция вложенной виртуализации включена на хосте Proxmox.

Проверьте, включен ли VT-X на виртуальных машинах

Как вы, возможно, уже знаете, для размещения гостевых машин в любой системе процессор должен поддерживать технологию виртуализации (VT-X), а VT-X должен быть включен.

Есть несколько способов проверить, поддерживает ли процессор VT-X. В следующем руководстве перечислено несколько способов узнать, включена ли функция VT-X в системе.

Как узнать, поддерживает ли процессор технологию виртуализации (VT)

Для целей этого руководства я буду использовать рабочий стол Debian 11. Давайте проверим, включен ли VT-X на одной из наших виртуальных машин.

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

Если вы не видите никаких выходных данных, это означает, что VT-X еще не включен. Давайте включим его сейчас.

Включить VT-X в виртуальных машинах

После включения функции вложенной виртуализации на хосте Proxmox вы должны включить технологию виртуализации (VT-X) на виртуальных (гостевых) машинах, чтобы сделать ее гипервизором.

Вы можете включить VT-x из CLI или веб-интерфейса Proxmox.

Включить VT-X для гостевых машин Proxmox из командной строки

Выключите виртуальную машину, на которой вы хотите включить функцию вложенной виртуализации.

Чтобы включить технологию виртуализации в виртуальной машине, просто установите тип ЦП виртуальной машины на хост с помощью команды:

qm set <VMID> --cpu host

Пример:

qm set 105 --cpu host

Замените «105» на идентификатор вашей виртуальной машины. Теперь виртуальная машина стала гипервизором, поэтому теперь вы можете создавать контейнеры и виртуальные машины внутри этой виртуальной машины.

Включите VT-X для гостевых машин через веб-интерфейс Proxmox

Убедитесь, что виртуальная машина выключена.

Откройте веб-интерфейс Proxmox, посетив https://proxmox-ip:8006. Введите имя пользователя и пароль для входа в веб-панель Proxmox.

Войдите в веб-интерфейс Proxmox

Перейдите в раздел Виртуальная машина (например, Debian 11) -> Оборудование. Выберите "Процессоры" и нажмите Изменить или дважды щелкните параметр «Процессоры».

Изменить настройки процессора

Выберите тип процессора «хост».

Установить тип ЦП как хост

Теперь запустите виртуальную машину. После запуска виртуальной машины еще раз проверьте, включен ли VT-X на виртуальной машине.

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

Проверьте, включена ли функция VT-X

Если вы видите в выводе "vmx" (технология Intel-VT) или "svm" (поддержка AMD-V), поздравляем! Функция VT-X включена.

Виртуальная машина теперь стала гипервизором. Вы можете установить любое приложение гипервизора, такое как KVM, Proxmox, Quickemu, Virtualbox, VMware и т. д., на виртуальную машину и начать размещать на ней контейнеры и виртуальные машины.

Заключение

В этом руководстве мы обсудили, что такое вложенная виртуализация и как включить вложенную виртуализацию в Proxmox. Мы также узнали, как включить функцию VT-X на виртуальной машине Proxmox, чтобы запускать на ней контейнеры и виртуальные машины.

Связанное чтение:

  • Как включить вложенную виртуализацию в KVM в Linux
  • Как включить вложенную виртуализацию в VirtualBox

Статьи по данной тематике