La virtualización anidada permite ejecutar una máquina virtual dentro de otra máquina virtual aprovechando las posibilidades de aceleración por hardware que proporciona el sistema anfitrión.
Hyper-V no permite la virtualización anidada para equipos con procesadores AMD, como se indica en Ejecución de Hyper-V en una máquina virtual con la virtualización anidada:
(Requisitos previos) Un procesador Intel con tecnología VT-x y EPT: el anidamiento es actualmente solo para Intel.
Una vez instalado KVM en el equipo, el primer paso es comprobar si esta característica está soportada. Para ello seguimos las instrucciones de la sección Checking if nested virtualization is supported:
$ cat /sys/module/kvm_amd/parameters/nested
1
Si el fichero muestra 1
o yes
, el equipo soporta virtualización anidada.
Podemos realizar la misma comprobación para equipos con procesador Intel mostrando el contenido del fichero
/sys/module/kvm_intel/parameters/nested
.
Habilitar la virtualización anidada
Todas las máquinas virtuales deben estar paradas para realizar este cambio.
-
Descargamos el módulo
kvm_probe
modprobe -r kvm_amd
-
Activamos la virtualización anidada:
modprobe kvm_amd nested=1
Estas modificaciones habilitan la nested virtualization hasta que el sistema se reinicia. Para que la virtualización anidada esté disponible de forma permanente, editamos el fichero de configuración de KVM /etc/modprobe.d/kvm.conf
:
options kvm_amd nested=1
Configurar virtualización anidada en Virt-Manager
Para habilitar nested virtualization en una máquina virtual, en Virt-Manager:
- Abre las propiedades de la máquina virtual en Virtual Machine Manager
- Selecciona Show virtual hardware details
- Haz click en el menú lateral.
- En la sección Configuration tenemos dos opciones:
- Escribe
host-passthrough
en el campo Model - Selecciona el checkbox Copy host CPU configuration (esto rellena
host-model
en el campo Model)
- Escribe
- Finalmente, pulsa Apply para aplicar los cambios.
Usar la opción
host-passthrough
no se recomienda de forma general y sólo debe habilitarse cuando se use virtualización anidada.
Referencia: How to enable nested virtualization in KVM en fedora DOCS.