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

28

Я хотел бы провести некоторое тестирование lib на моей ОС. Поэтому мне нужно несколько сред для запуска KVM. И я обнаружил, что моя гостевая машина не смогла запустить KVM.

Я использовал virtualbox 4.2.

王子 1986
источник
Не уверен, что они являются подходящими заменами, но я хочу упомянуть пользовательский режим linux ( больше ссылок ) - LXC (контейнеры Linux) - chroot - пространства имен Linux (поддерживаются начиная с ядра 3.8 и выше)
ignis

Ответы:

34

KVM требует VT-X / AMD-V , но VirtualBox не передает VT-X / AMD-V в гостевую операционную систему.

Поэтому KVM не может работать в VirtualBox (пока). Пожалуйста, отследите ошибку билет № 4032 .

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

На данный момент вы можете либо

  • запустить KVM внутри гипервизора, который передает расширения виртуализации гостю (например, KVM внутри VMware Workstation 8 ), или
  • запустить другой гипервизор внутри VirtualBox (например, VirtualBox внутри VirtualBox). Эта опция будет очень медленной, потому что гость пропустит VT-X / AMD-V.
обманчивая надежда
источник
как насчет возможности запустить его на хосте? например, поделиться папками, которые он хочет проверить в гостевой системе, и запустить эмуляцию Android на хосте? как производительность этого?
Тоскан
3
Команда , чтобы проверить , если поддержка KVM CPU: egrep -c "(svm|vmx)" /proc/cpuinfo. 0 означает нет.
Woeitg
10

Virtualbox только что выпустил (18/12/2018) версию 6, в которой ожидается вложенная виртуализация. Тем не менее, в данный момент он все еще недоступен на процессорах Intel. https://www.virtualbox.org/wiki/Downloads

Относительно основного вопроса (Включить вложенную виртуализацию в Ubuntu) - модуль KVM поддерживает вложенную виртуализацию в Ubuntu 16 и более поздних версиях (возможно, и в более низких версиях). Не уверен насчет использования XEN на хосте, но вы наверняка можете вложить XEN в KVM.

Георгий Бунгарзеску
источник
2
Вы можете «активировать» вложенную виртуализацию, используя: vboxmanage modifyvm yournestedvmname --nested-hw-virt on или добавив <NestedHWVirt enabled = "true" /> в разделе CPU вашего файла .vbox, но единственный эффект будет, активация флажка coresponding в пользовательском интерфейсе. cat / proc / cpuinfo о госте, все еще нет vmx.
Джордж Бунгарзеску