En este documento se describe la compatibilidad de Compute Engine con la virtualización anidada. La virtualización anidada te permite ejecutar instancias de máquinas virtuales (VM) dentro de otras VMs para que puedas crear tus propios entornos de virtualización. Para admitir la virtualización anidada, Compute Engine añade instrucciones de tecnología de virtualización de Intel (VT-x) a las VMs. De esta forma, cuando creas una VM, el hipervisor que ya está en esa VM puede ejecutar VMs adicionales.
Las máquinas virtuales de Compute Engine se ejecutan en un host físico que tiene el hipervisor basado en KVM de Google, con seguridad reforzada. 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 máquinas virtuales de nivel 1 (L1). En cada VM de nivel 1 hay otro hipervisor, que se usa para instalar las VMs de nivel 2. En la figura 1 se muestra la relación entre el host físico, las máquinas virtuales de nivel 1 y las máquinas virtuales de nivel 2:
Casos prácticos
Estos son algunos casos en los que puede ser útil usar la virtualización anidada:
Tienes máquinas virtuales que no puedes ejecutar en Compute Engine: por ejemplo, puede que tengas una solución de recuperación ante desastres para una carga de trabajo local que se ejecute en máquinas virtuales que conmutan por error a máquinas virtuales de Compute Engine. Ejecutar la virtualización anidada puede ahorrarte el tiempo que emplearías en migrar tus VMs a Compute Engine.
Tienes un framework de validación de software que usas para probar y validar nuevas versiones de un paquete de software en numerosas versiones de diferentes sistemas operativos. La virtualización anidada te permite evitar la conversión y la gestión de una biblioteca de imágenes de Compute Engine.
Consideraciones sobre el rendimiento.
Incluso con la virtualización anidada asistida por hardware, las VMs anidadas pueden experimentar una disminución del rendimiento del 10% o más en las cargas de trabajo que dependen de la CPU y, posiblemente, una disminución superior al 10% en las cargas de trabajo que dependen de la entrada/salida.
Restricciones
Las VMs de nivel 1 tienen las siguientes restricciones:
El único hipervisor compatible con una máquina virtual de nivel 1 es Linux KVM. Microsoft Hyper-V no es compatible.
No puedes usar las siguientes máquinas virtuales:
Máquinas virtuales E2
Máquinas virtuales con procesadores AMD y Arm
Para obtener información sobre los procesadores admitidos en cada zona, consulta Regiones y zonas disponibles.
Las VMs de nivel 2 tienen las siguientes restricciones:
- En el caso de los sistemas operativos con licencia, debes traer tus propias licencias.
Usar la virtualización anidada
Para usar la virtualización anidada, sigue estos pasos:
Comprobar si la restricción de virtualización anidada está inhabilitada
Crea una VM de nivel 1 que tenga habilitada la virtualización anidada
Si tienes algún problema al crear una VM con la virtualización anidada habilitada o al crear VMs anidadas, consulta el artículo Solucionar problemas de la virtualización anidada.