Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 18. Creación de máquinas virtuales anidadas

RHEL 8.2 y posteriores proporcionan soporte completo para la función KVM nested virtualization en hosts Intel. Esto hace posible que una máquina virtual (también denominada level 1, o L1) que se ejecuta en un host físico RHEL 8 (level 0, o L0) actúe como hipervisor y cree sus propias máquinas virtuales (level 2 o L2).

En otras palabras, un host RHEL 8 puede ejecutar máquinas virtuales (VM) L1, y cada una de estas VM puede albergar VM L2 anidadas.

La virtualización anidada no se recomienda en los entornos de usuario de producción, ya que está sujeta a diversas limitaciones de funcionalidad. En su lugar, la virtualización anidada está pensada principalmente para el desarrollo y las pruebas, para lo cual puede ser útil en una variedad de escenarios, tales como:

  • Depuración de hipervisores en un entorno restringido
  • Pruebas de despliegues virtuales más grandes en una cantidad limitada de recursos físicos

Es posible crear VMs anidadas en múltiples arquitecturas, pero Red Hat actualmente soporta VMs anidadas sólo en sistemas Intel. Por el contrario, la virtualización anidada en sistemas AMD, IBM POWER9 e IBM Z sólo se proporciona como una Muestra de Tecnología y, por lo tanto, no es compatible.

18.1. Creación de una máquina virtual anidada en Intel

Siga los pasos siguientes para activar y configurar la virtualización anidada en un host Intel.

Requisitos previos

  • Un host RHEL8 L0 que ejecuta una máquina virtual (VM) L1.
  • La CPU del hipervisor debe soportar la virtualización anidada. Para comprobarlo, utilice el comando cat /proc/cpuinfo en el hipervisor L0. Si la salida del comando incluye las banderas vmx y ept, la creación de VMs L2 es posible. Este suele ser el caso de los núcleos Intel Xeon v3 y posteriores.
  • Asegúrese de que la virtualización anidada está activada en el host L0:

    # cat /sys/module/kvm_intel/parameters/nested
    • Si el comando devuelve 1, la función está activada, y puede iniciar el procedimiento siguiente..
    • Si el comando devuelve 0 o N pero su sistema admite la virtualización anidada, siga los siguientes pasos para activar la función.

      1. Descargue el módulo kvm_intel:

        # modprobe -r kvm_intel
      2. Activar la función de anidamiento:

        # modprobe kvm_intel nested=1
      3. La función de anidamiento está ahora habilitada, pero sólo hasta el próximo reinicio del host L0. Para habilitarla permanentemente, añada la siguiente línea al archivo /etc/modprobe.d/kvm.conf:

        options kvm_intel nested=1

Procedimiento

  1. Configure su VM L1 para la virtualización anidada.

    1. Abra la configuración XML de la VM. El siguiente ejemplo abre la configuración de la VM Intel-L1:

      # virsh edit Intel-L1
    2. Añade la siguiente línea a la configuración:

      <cpu mode='host-passthrough'/>

      Si el archivo de configuración XML de la máquina virtual ya contiene un elemento <cpu>, vuelva a escribirlo.

  2. Cree una VM L2 dentro de la VM L1. Para ello, siga el mismo procedimiento que al crear la VM L1.