In diesem Dokument wird beschrieben, wie Sie die verschachtelte Virtualisierung auf einer VM-Instanz aktivieren und prüfen, ob Sie eine verschachtelte VM erstellen können. Aktivieren Sie die verschachtelte Virtualisierung auf einer VM mit einer der folgenden Methoden:
Empfohlen. Aktivieren Sie die verschachtelte Virtualisierung direkt auf einer neuen oder vorhandenen VM. Legen Sie dazu für das Feld
enableNestedVirtualization
beim Erstellen der VMtrue
fest oder aktualisieren Sie die VM. Dies ist die empfohlene Methode, da Sie dafür kein benutzerdefiniertes Image erstellen oder den speziellen Lizenzschlüssel verwenden müssen.Aktivieren Sie die verschachtelte Virtualisierung mithilfe des speziellen Lizenzschlüssels. Erstellen Sie dazu ein Bootlaufwerk, erstellen Sie ein benutzerdefiniertes Image mit dem speziellen Lizenzierungsschlüssel für die verschachtelte Virtualisierung und erstellen Sie dann eine VM, die das benutzerdefinierte Image verwendet.
Hinweise
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
VM_NAME
: der Name der neuen L1-VM mit aktivierter verschachtelter VirtualisierungZONE
: die Zone für die neue L1-VM mit aktivierter verschachtelter VirtualisierungPROJECT_ID
: die Projekt-IDZONE
: die Zone für die neue L1-VM mit aktivierter verschachtelter VirtualisierungVM_NAME
: der Name der neuen L1-VM mit aktivierter verschachtelter VirtualisierungExportieren Sie die Attribute der VM mit dem folgenden
gcloud compute instances export
-Befehl:gcloud compute instances export VM_NAME \ --destination=YAML_FILE_PATH \ --zone=ZONE
Dabei gilt:
VM_NAME
: der Name der VM, von der Attribute exportiert werden sollenYAML_FILE_PATH
: Pfad und Dateiname einer YAML-Datei, in der die exportierten Konfigurationsdaten gespeichert werden sollenZONE
: die Zone mit der VM
Aktualisieren Sie in der VM-Konfigurationsdatei, die in FILE_PATH gespeichert ist, den Wert für
enableNestedVirtualization
. Wenn der Wert nicht in der Datei enthalten ist, fügen Sie Folgendes hinzu:advancedMachineFeatures: enableNestedVirtualization: true
Aktualisieren Sie die VM mit dem Wert für
enableNestedVirtualization
mit dem folgendengcloud compute instances update-from-file
-Befehl:gcloud compute instances update-from-file VM_NAME \ --source=FILE_PATH \ --most-disruptive-allowed-action=RESTART \ --zone=ZONE
Dabei gilt:
VM_NAME
: Name der zu aktualisierenden VMFILE_PATH
ist der Pfad zur aktualisierten VM-Konfigurationsdatei.ZONE
: Zone, die die zu aktualisierende VM enthält
PROJECT_ID
ist die ID des Projekts.ZONE
ist die Zone mit der VMVM_NAME
ist der Name der VM, von der Attribute exportiert werden sollenErstellen Sie ein Bootlaufwerk von einem öffentlichen Image oder von einem benutzerdefinierten Image. Im folgenden Beispiel wird
debian-cloud
für das Image-Projekt unddebian-10
für die Image-Familie verwendet. Wenn Sie bereits eine VM-Instanz mit einem vorhandenen Laufwerk haben, können Sie diesen Schritt überspringen.gcloud
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --image-project=debian-cloud \ --image-family=debian-10
Dabei gilt:
DISK_NAME
: Name des neuen LaufwerksZONE
: Zone, in der die VM erstellt werden soll
REST
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { ... "name": "DISK_NAME", "sourceImage": "projects/debian-cloud/global/images/family/debian-10", ... }
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-IDZONE
: Zone, in der die VM erstellt werden sollDISK_NAME
: Name des neuen Laufwerks
Erstellen Sie ein benutzerdefiniertes Image mit dem speziellen Lizenzschlüssel, der für die verschachtelte Virtualisierung erforderlich ist.
gcloud
gcloud compute images create IMAGE_NAME \ --source-disk DISK_NAME \ --source-disk-zone ZONE \ --licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"
Dabei gilt:
IMAGE_NAME
: Name des neuen ImagesDISK_NAME
: Name des zuvor erstellten LaufwerksZONE
: Zone, in der die VM erstellt werden soll
REST
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { ... "licenses": ["projects/vm-options/global/licenses/enable-vmx"], "name": "IMAGE_NAME", "sourceDisk": "zones/ZONE/disks/DISK_NAME", ... }
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-IDIMAGE_NAME
: Name des neuen ImagesZONE
: Zone, in der die VM erstellt werden sollDISK_NAME
: Name des zuvor erstellten Laufwerks
Optional können Sie das Quelllaufwerk löschen, nachdem Sie das Image mit der speziellen Lizenz erstellt haben.
gcloud
gcloud compute disks delete DISK_NAME --zone=ZONE
Dabei gilt:
DISK_NAME
: Name des Laufwerks, das gelöscht werden sollZONE
: Zone, die das zu löschende Laufwerk enthält
REST
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-IDZONE
: Zone, die das zu löschende Laufwerk enthältDISK_NAME
: Name des Laufwerks, das gelöscht werden soll
Erstellen Sie eine VM, die das neue Image mit der speziellen Lizenz verwendet. Die Mindest-CPU-Plattform muss
"Intel Haswell"
sein.gcloud
gcloud compute instances create VM_NAME \ --zone=ZONE \ --min-cpu-platform "Intel Haswell" \ --image IMAGE_NAME
Dabei gilt:
VM_NAME
: Der Name der VMZONE
ist die Zone, in der die VM erstellt werden soll.IMAGE_NAME
ist der Name des zuvor erstellten Images.
REST
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "name": "VM_NAME", "minCpuPlatform": "Intel Haswell", "disks": [ { "initializeParams": { "sourceImage": "IMAGE_NAME" } } ] ... }
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-IDVM_NAME
: Der Name der VMZONE
ist die Zone, in der die VM erstellt werden soll.IMAGE_NAME
ist der Name des zuvor erstellten Images.
Eine Verbindung zur VM-Instanz herstellen
gcloud compute ssh VM_NAME
Ersetzen Sie dabei
VM_NAME
durch den Namen der VM, zu der eine Verbindung hergestellt werden soll.Bestätigen Sie, dass die verschachtelte Virtualisierung aktiviert ist. Mit Ausnahme von
0
wird durch jede Antwort bestätigt, dass die verschachtelte Virtualisierung aktiviert ist.grep -cw vmx /proc/cpuinfo
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Verschachtelte Virtualisierung direkt auf einer neuen VM aktivieren
Aktivieren Sie die verschachtelte Virtualisierung direkt auf einer VM. Gehen Sie dazu so vor:
gcloud
Erstellen Sie mit dem folgenden
gcloud compute instances create
-Befehl eine L1-VM mit aktivierter verschachtelter Virtualisierung:gcloud compute instances create VM_NAME \ --enable-nested-virtualization \ --zone=ZONE \ --min-cpu-platform="Intel Haswell"
Dabei gilt:
REST
Erstellen Sie mit der folgenden
instances.insert
-Methode eine L1-VM mit aktivierter verschachtelter Virtualisierung:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "name": "VM_NAME", ... "minCpuPlatform": "Intel Haswell", "advancedMachineFeatures": { "enableNestedVirtualization": true }, ... }
Dabei gilt:
Verschachtelte Virtualisierung direkt auf einer vorhandenen VM aktivieren
Aktivieren Sie die verschachtelte Virtualisierung auf einer vorhandenen VM. Verwenden Sie dazu die folgende Methode:
gcloud
REST
Aktualisieren Sie den Wert für
enableNestedVirtualization
mit der folgendeninstances.update
-Methode:PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART { ⋮ "advanced_machine_features": { ⋮ "enableNestedVirtualization": "true" }, ⋮ }
Dabei gilt:
Verschachtelte Virtualisierung mithilfe des speziellen Lizenzschlüssels aktivieren
Sie können die verschachtelte Virtualisierung auf der VM aktivieren, indem Sie ein benutzerdefiniertes Image mit einem speziellen Lizenzschlüssel erstellen, der VMX auf der L1-VM aktiviert. Für den Lizenzschlüssel fallen keine zusätzlichen Kosten an.
Aktivierung der verschachtelten Virtualisierung auf der VM bestätigen
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-12-03 (UTC).
-