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 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:
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.
Sie können keine VMs verwenden, die von AMD- und Arm-Prozessoren unterstützt werden. Für VMs mit Intel-Prozessoren können Sie keinen der speicheroptimierten Maschinentypen, E2 für allgemeine Zwecke oder E3-Beschleunigeroptimierte Maschinentypen verwenden.
Informationen zu den in den einzelnen Zonen unterstützten Prozessoren finden Sie unter Verfügbare Regionen und Zonen.
Für L2-VMs gelten die folgenden Einschränkungen:
- Für lizenzierte Betriebssysteme müssen Sie Ihre eigenen Lizenzen verwenden.
Verschachtelte Virtualisierung verwenden
Führen Sie die folgenden Schritte aus, um die verschachtelte Virtualisierung zu verwenden:
Prüfen, ob die Einschränkung der verschachtelten Virtualisierung deaktiviert ist.
L1-VM erstellen, auf der die verschachtelte Virtualisierung aktiviert ist.
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.