Dans mon hôte déjà virtualisé, en essayant de passer l'option l'option -enable-kvm -m 1024
, échouera:virtualisation imbriquée avec KVM: --enable-kvm dans qemu en matière de virtualisation imbriquée
qemu-system-x86_64 -vga std -enable-kvm -m 1024 -monitor telnet:localhost:9313,server,nowait -drive file=my_img.img,cache=none
# Could not access KVM kernel module: No such file or directory
# failed to initialize KVM: No such file or directory
Si je supprime cette option -enable-kvm -m 1024
, qemu chargera (mais il faudra toujours, car il utilise un logiciel d'émulation):
qemu-system-x86_64 -vga std -monitor telnet:localhost:9313,server,nowait -drive file=my_img.img,cache=none
# qemu running, OK, but image taking forever to load.
Assurément, cet hôte virtualisé de la mine a des capacités d'imbrication sa propre virtualisation. Partout où je trouve des informations à ce sujet [comme ici: https://docs.openstack.org/developer/devstack/guides/devstack-with-nested-kvm.html] me dit que je dois vérifier le fichier /sys/module/kvm_intel/parameters/nested
qui est tout simplement pas disponible, car kvm-intel
n'est pas et ne peut pas être chargé à l'intérieur d'une image:
sudo modprobe kvm-intel
# modprobe: ERROR: could not insert 'kvm_intel': Operation not supported
Probablement que cette méthode de débogage de la virtualisation imbriquée ne fonctionne que dans le métal nu. Alors, comment puis-je activer (transférer le support de) kvm à l'intérieur d'un kvm?
Informations complémentaires:
lscpu # from inside the virtualized host
# Architecture: x86_64
# ...
# Vendor ID: GenuineIntel
# CPU family: 6
# Model: 13
# Model name: QEMU Virtual CPU version (cpu64-rhel6)
# Stepping: 3
# ...
# Hypervisor vendor: KVM
ltrace
de qemu:
# open64("/dev/kvm", 524290, 00) = -1
# __errno_location() = 0x7f958673c730
# __fprintf_chk(0x7f957fd81060, 1, 0x7f9586474ce0, 0Could not access KVM kernel module: No such file or directory