2 votes

Comment activer la virtualisation imbriquée afin d'utiliser VirtualBox à l'intérieur d'une machine virtuelle KVM ?

Nous avons un hyperviseur KVM ( L0 AMD, Kernel : Linux level0kvmhypervisor 4.19.0-12-amd64 #1 SMP Debian 4.19.152-1 (2020-10-18) x86_64 GNU/Linux ), qui exécute une machine virtuelle que je voudrais utiliser comme hyperviseur imbriqué de VirtualBox ( L1 ). Donc, ce que j'essaie de faire, c'est de faire fonctionner VirtualBox à l'intérieur de KVM. Quelques détails sur l'hyperviseur KVM ( L0 ):

# cat /proc/cpuinfo
processor       : 0 ... 23
vendor_id       : AuthenticAMD
cpu family      : 23
model           : 113
model name      : AMD Ryzen 9 3900 12-Core Processor
stepping        : 0
microcode       : 0x8701021
cpu MHz         : 2193.155
cache size      : 512 KB
physical id     : 0
siblings        : 24
core id         : 0
cpu cores       : 12
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 16
wp              : yes
flags           : ... svm ...
bugs            : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips        : 6188.58
TLB size        : 3072 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
# dpkg --list | egrep -- "(kvm|libvirt)" | sed 's/amd64.*//g'
ii  libsys-virt-perl                     5.0.0-1                             
ii  libvirt-clients                      5.0.0-4+deb10u1                     
ii  libvirt-daemon                       5.0.0-4+deb10u1                     
ii  libvirt-daemon-system                5.0.0-4+deb10u1                     
ii  libvirt-glib-1.0-0:
ii  libvirt0:
ii  python3-libvirt                      5.0.0-1                             
ii  qemu-kvm                             1:3.1+dfsg-8+deb10u8

L'option d'imbrication est également activée :

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

A l'intérieur de la machine virtuelle KVM, où VirtualBox est installé (L1) : J'essaie de lancer une VM créée par Vagrant et j'obtiens le message d'erreur suivant :

...
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "357a07b4-7d81-4336-9ea6-0dbf0ab49d18", "--type", "headless"]                                                                 
Stderr: VBoxManage: error: AMD-V is not available (VERR_SVM_NO_SVM)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

Il s'agit des paramètres KVM XML CPU pour la boîte virtuelle. L1 hyperviseur :

<vcpu placement='static'>1</vcpu>
<cpu mode='host-model' check='partial'>
  <model fallback='allow'/>
</cpu>

Je crois que quelque chose doit être changé ici, mais je ne sais pas exactement quoi. Je ne trouve aucune ressource sur ce sujet, c'est pourquoi je pose la question ici. Comment puis-je faire en sorte que l'hyperviseur VirtualBox ( L1 ) fonctionnant à l'intérieur d'une machine virtuelle KVM afin de démarrer une VM ?

Toute aide serait très appréciée.

1voto

vRFW Points 11
<cpu mode='host-passthrough'>
    <feature policy='require' name='svm'/>
</cpu>

Utilisez ces paramètres pour un processeur AMD dans le fichier de paramètres de virtualmachine.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X