Acerca de la virtualización anidada


En este documento, se describe la compatibilidad de Compute Engine para la virtualización anidada. La virtualización anidada te permite ejecutar instancias de máquina virtual (VM) dentro de otras VM para que puedas crear tus propios entornos de virtualización. Para admitir la virtualización anidada, Compute Engine agrega instrucciones de Intel VT-x a las VM, por lo tanto, cuando creas una VM, el hipervisor que ya se encuentra en ella puede ejecutar más VM.

Las VM de Compute Engine se ejecutan en un host físico que tiene el hipervisor endurecido y basado en KVM de la seguridad de Google. Con la virtualización anidada, el host físico y su hipervisor son el entorno de nivel 0 (L0). El entorno L0 puede alojar varias VM de nivel 1 (L1). En cada VM L1, hay otro hipervisor, que se usa para instalar las VM de nivel 2 (L2). En la figura 1, se muestra la relación entre el host físico, las VM de L1 y las VM de L2:

Figura 1. Host físico L0 con VM L1 y VM L2.

Casos de uso

Las situaciones en las que deberías considerar usar la virtualización anidada son las siguientes:

  • Tienes VM que no puedes ejecutar en Compute Engine: por ejemplo, puedes tener una solución de recuperación ante desastres para una carga de trabajo local que se ejecuta en VM que conmutan por error a VM de Compute Engine. Ejecutar la virtualización anidada puede ahorrarte tiempo que usarías para transferir tus VM a Compute Engine.

  • Tienes un framework de validación de software que usas para probar y validar versiones nuevas de un paquete de software en varias versiones del SO diferentes. Usar la virtualización anidada te permite evitar la conversión y la administración de una biblioteca de imágenes de Compute Engine.

Consideraciones de rendimiento

Incluso con la virtualización anidada asistida por hardware, las VM anidadas pueden experimentar una disminución del 10% o más en el rendimiento para las cargas de trabajo vinculadas a la CPU y, tal vez, una disminución de más del 10% para las cargas de trabajo vinculadas a la entrada/salida.

Restricciones

Las VM L1 tienen las siguientes restricciones:

  • Debes ejecutar los SO basados en Linux. no puedes usar imágenes de Windows Server.

  • No puedes usar tipos de máquinas E2 ni N2D.

  • Debes usar Intel Haswell o procesadores posteriores. El procesador AMD no es compatible. Si el procesador predeterminado para una zona es Sandy Bridge o Ivy Bridge, cambia la selección mínima de CPU para las VM en esa zona a Intel Haswell o posterior. Para obtener información sobre los procesadores compatibles con cada zona, consulta Regiones y zonas disponibles.

Las VM L2 tienen las siguientes restricciones:

Sistemas operativos probados

En la siguiente tabla, se muestran las combinaciones de los SO L1 y L2 en los que Google ejecuta pruebas básicas de integración y de inicio. Si tienes problemas para ejecutar una combinación de VM que no se muestra en la tabla, reproduce el problema mediante una de las combinaciones de los SO probados antes de comunicarte a Atención al cliente de Cloud. Para los SO de la VM L2, Google no ofrece asistencia y debes usar licencias adquiridas por el usuario.

SO de la VM L1 SO de la VM L2
Debian 9, versión de kernel 4.9 CentOS 6.5, kernel versión 2.6
Debian 9, kernel versión 4.9
RHEL 5.11, kernel versión 2.6
SLES 12 SP3, kernel versión 4.4
Ubuntu 16.04 LTS, versión de kernel 4.15
Windows Server 2016 Datacenter
SLES 12 SP3, versión de kernel 4.4 SLES 12 SP3, versión de kernel 4.4
Ubuntu 16.04 LTS, versión de kernel 4.15 Ubuntu 16.04 LTS, versión de kernel 4.15

Usa la virtualización anidada

Para usar la virtualización anidada, completa los siguientes pasos:

  1. Verifica si la restricción de virtualización anidada está inhabilitada.

  2. Crea una VM L1 con la virtualización anidada habilitada.

  3. Crea una VM L2 anidada.

Si tienes algún problema cuando creas una VM que tiene habilitada la virtualización anidada o creas VM anidadas, consulta Soluciona problemas de virtualización anidada.