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:
Sie müssen Linux-basierte Betriebssysteme ausführen. Sie können keine Windows Server-Images verwenden.
Sie können die Maschinentypen E2 und N2D nicht verwenden.
Sie müssen mindestens Prozessoren vom Typ
Intel Haswell
verwenden. AMD-Prozessoren werden nicht unterstützt. Wenn der Standardprozessor für eine ZoneSandy Bridge
oderIvy Bridge
ist, ändern Sie die Mindest-CPU-Auswahl für die VMs in dieser Zone inIntel Haswell
oder höher. 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:
- Sie müssen ein Betriebssystem verwenden, das QEMU ausführen kann.
- Für lizenzierte Betriebssysteme müssen Sie Ihre eigenen Lizenzen verwenden.
Getestete Betriebssysteme
Die folgende Tabelle zeigt die Kombinationen der L1- und L2-Betriebssysteme, auf denen Google einfache Boot- und Integrationstests ausführt. Wenn beim Ausführen einer VM-Kombination Probleme auftreten, die nicht in der Tabelle angezeigt wird, reproduzieren Sie das Problem mit einer Kombination von getesteten Betriebssystemen, bevor Sie sich an den Cloud Customer Care wenden. Für die L2-VM-Betriebssysteme bietet Google keinen Support und Sie müssen Ihre eigenen Lizenzen verwenden.
L1-VM-Betriebssystem | L2-VM-Betriebssystem |
---|---|
Debian 9, Kernel-Version 4.9 | CentOS 6.5, Kernel-Version 2.6 Debian 9, Kernel-Version 4.9 RHEL 5.11, Kernel-Version 2.6 SLES 12 SP3, Kernel-Version 4.4 Ubuntu 16.04 LTS, Kernel-Version 4.15 Windows Server 2016 Datacenter |
SLES 12 SP3, Kernel-Version 4.4 | SLES 12 SP3, Kernel-Version 4.4 |
Ubuntu 16.04 LTS, Kernel-Version 4.15 | Ubuntu 16.04 LTS, Kernel-Version 4.15 |
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.