Чаще всего, виртуализация в виртуализации нужна для развертывания тестовых стендов, например, когда мы хотим познакомиться с технологией виртуализации, но у нас нет под рукой свободного железа. Также некоторые приложения могут потребовать технологии виртуализации.
Мы рассмотрим процесс включения вложенной виртуализации в Proxmox для процессоров Intel и AMD.
Поддержка вложенной виртуализации для Proxmox
Для начала, нужно чтобы сам гипервизор поддерживал технологию вложенной виртуализации.
Для процессоров Intel и AMD процесс настройки немного отличается. Уточнить процессор, на котором работает Proxmox можно командой:
lscpu | egrep —color -i «Vendor ID|Model name»
Для удобства мы создадим переменные, которые нам помогут выполнить универсальные команды для разных процессоров.
а) Для процессоров Intel:
export CPU=intel
export nested_val=Y
б) Для процессоров AMD:
export CPU=amd
export nested_val=1
Теперь тип процессора не имеет значения для наших дальнейших действий.
Проверяем, включена ли поддержка вложенной виртуализации:
cat /sys/module/kvm_${CPU}/parameters/nested
Если мы видим:
N
То создаем файл с модулем ядра командой:
echo «options kvm-${CPU} nested=${nested_val}» > /etc/modprobe.d/kvm-${CPU}.conf
И применяем изменения:
modprobe -r kvm_${CPU}
modprobe kvm_${CPU}
Еще раз проверяем:
cat /sys/module/kvm_${CPU}/parameters/nested
Мы должны увидеть:
Y
Идем дальше.
Включение VT-X для виртуальной машины
Чтобы виртуальная машина поддерживала технологии виртуализации, выполняем команду:
qm set <ID> —cpu host
* где <ID> — идентификатор виртуальной машины.
Чтобы настройка применилась, необходимо выключить и включить виртуальную машину. При этом тип процессора для виртуальной машины станет host :
Подключаемся к консоли виртуальной машины и вводим команду:
egrep —color -i «svm|vmx» /proc/cpuinfo
Мы должны увидеть большой вывод информации.
Вложенная виртуализация включена.