Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Linux
In diesem Dokument wird die Compute Engine-Unterstützung für die verschachtelte Virtualisierung beschrieben.
Mithilfe der verschachtelten Virtualisierung können Sie VM-Instanzen in anderen VMs ausführen und so Ihre eigenen Virtualisierungsumgebungen erstellen. Zur Unterstützung der verschachtelten Virtualisierung fügt Compute Engine VMs Intel Virtualization Technology (VT-x)-Anweisungen hinzu. Wenn Sie also eine VM erstellen, kann der Hypervisor, der sich bereits auf dieser VM befindet, zusätzliche VMs ausführen.
Compute Engine-VMs werden auf einem physischen Host mit dem von Google sicherheitsoptimierten, KVM-basierten Hypervisor ausgeführt.
Bei der verschachtelten Virtualisierung sind der physische Host und sein Hypervisor die Umgebung der Ebene 0 (L0). Die L0-Umgebung kann mehrere VMs der Ebene 1 (L1) hosten. Auf jeder L1-VM ist ein weiterer Hypervisor vorhanden, der zum Installieren der VMs der Ebene 2 (L2) verwendet wird.
Abbildung 1 zeigt die Beziehung zwischen dem physischen Host, den L1-VMs und den L2-VMs:
Abbildung 1. Physischer L0-Host mit L1-VMs und L2-VMs.
Anwendungsfälle
Zu den Szenarien, in denen Sie die verschachtelte Virtualisierung in Betracht ziehen können, gehören:
Sie haben VMs, die Sie nicht in Compute Engine ausführen können: Sie haben beispielsweise eine Notfallwiederherstellungslösung für eine lokale Arbeitslast, die auf VMs ausgeführt wird, die einen Failover auf Compute Engine-VMs ausführen. Durch die Ausführung der verschachtelten Virtualisierung können Sie Zeit sparen, die Sie zum Portieren zu Compute Engine verwenden würden.
Sie haben ein Softwarevalidierungs-Framework, mit dem Sie neue Versionen eines Softwarepakets in zahlreichen Versionen verschiedener Betriebssysteme testen und validieren können: Mit der verschachtelten Virtualisierung können Sie die Konvertierung und Verwaltung einer Bibliothek von Compute Engine-Images vermeiden.
Hinweise zur Leistung
Selbst bei verschachtelter Virtualisierung mit Hardwareunterstützung kann die Leistung bei CPU-gebundenen Arbeitslasten um mindestens 10 % und bei eingabe- und ausgabegebundenen Arbeitslasten mehr als 10 % sinken.
Beschränkungen
Für L1-VMs gelten die folgenden Einschränkungen:
Der einzige Hypervisor, der in einer L1-VM unterstützt wird, ist Linux KVM. Microsoft Hyper-V wird nicht unterstützt.
Wenn beim Erstellen einer VM, auf der die verschachtelte Virtualisierung aktiviert ist, oder beim Erstellen verschachtelter VMs Probleme auftreten, finden Sie weitere Informationen unter Fehlerbehebung bei verschachtelter Virtualisierung.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-04 (UTC)."],[[["\u003cp\u003eNested virtualization in Compute Engine allows running virtual machines (VMs) inside other VMs, enabling the creation of custom virtualization environments.\u003c/p\u003e\n"],["\u003cp\u003eCompute Engine uses a security-hardened, KVM-based hypervisor at level 0 (L0), which hosts level 1 (L1) VMs, each capable of running another hypervisor for level 2 (L2) VMs.\u003c/p\u003e\n"],["\u003cp\u003eNested virtualization can be useful for running VMs incompatible with Compute Engine or for testing software on various operating systems without managing numerous Compute Engine images.\u003c/p\u003e\n"],["\u003cp\u003eNested VMs may experience a performance decrease of 10% or more, especially in CPU or input/output-bound workloads, and certain VM types are not compatible.\u003c/p\u003e\n"],["\u003cp\u003eEnabling nested virtualization involves checking constraints, creating an L1 VM with the feature enabled, and then creating the nested L2 VM.\u003c/p\u003e\n"]]],[],null,["# About nested virtualization\n\nLinux\n\n*** ** * ** ***\n\nThis document describes Compute Engine support for nested virtualization.\nNested virtualization lets you run virtual machine (VM) instances inside of\nother VMs so you can create your own virtualization environments. To support\nnested virtualization, Compute Engine adds\n[Intel Virtualization Technology (VT-x)](https://en.wikipedia.org/wiki/X86_virtualization#Intel_virtualization_(VT-x))\ninstructions to VMs, so when you create a VM, the hypervisor that is already on\nthat VM can run additional VMs.\n\nCompute Engine VMs run on a physical host that has [Google's\nsecurity-hardened, KVM-based hypervisor](https://cloud.google.com/blog/products/gcp/7-ways-we-harden-our-kvm-hypervisor-at-google-cloud-security-in-plaintext).\nWith nested virtualization, the physical host and its hypervisor are the level 0\n(L0) environment. The L0 environment can host multiple level 1 (L1) VMs. On each\nL1 VM is another hypervisor, which is used to install the level 2 (L2) VMs.\nFigure 1 shows the relationship between the physical host, the L1 VMs, and the\nL2 VMs:\n[](/static/compute/images/nested-virtualization-diagram.svg) **Figure 1.** L0 physical host with L1 VMs and L2 VMs.\n\nUse cases\n---------\n\nScenarios where you might consider using nested virtualization include the\nfollowing:\n\n- You have VMs that you can't run on Compute Engine: For example, you\n might have a disaster recovery solution for an on-premises workload that is\n running on VMs that fail over to Compute Engine VMs. Running\n nested virtualization might save you time that you would use to port\n your VMs to Compute Engine.\n\n- You have a software-validation framework that you use to test and validate new\n versions of a software package on numerous versions of different OSes: Using\n nested virtualization lets you avoid converting and managing a library of\n Compute Engine images.\n\nPerformance considerations\n--------------------------\n\nEven with hardware-assisted nested virtualization, nested VMs might experience a\n10% or greater decrease in performance for workloads that are CPU-bound and\npossibly greater than a 10% decrease for workloads that are input/output bound.\n\nRestrictions\n------------\n\nL1 VMs have the following restrictions:\n\n- The only hypervisor supported in an L1 VM is Linux KVM; Microsoft Hyper-V\n isn't supported.\n\n- You can't use the following VMs:\n\n - E2 VMs\n\n - [Memory-optimized VMs](/compute/docs/machine-resource#memory-optimized_machine_family_guide)\n\n - VMs powered by [AMD and Arm processors](/compute/docs/cpu-platforms)\n\n For information about the processors supported in each zone, see\n [Available regions and zones](/compute/docs/regions-zones#available).\n\nL2 VMs have the following restrictions:\n\n- For licensed operating systems, you must [bring your own licenses](/compute/docs/nodes/bringing-your-own-licenses).\n\nUsing nested virtualization\n---------------------------\n\nTo use nested virtualization, complete the following steps:\n\n1. [Check whether the nested virtualization constraint is\n disabled](/compute/docs/instances/nested-virtualization/managing-constraint)\n\n2. [Create an L1 VM that has nested virtualization\n enabled](/compute/docs/instances/nested-virtualization/enabling)\n\n3. [Create a nested L2\n VM](/compute/docs/instances/nested-virtualization/creating-nested-vms)\n\nIf you run into any issues while creating a VM that has nested virtualization\nenabled or creating nested VMs, see [Troubleshoot nested virtualization](/compute/docs/troubleshooting/troubleshooting-nested-vms)."]]