In diesem Dokument wird beschrieben, wie Sie die Hostwartungsrichtlinie einer VM-Instanz festlegen, um zu steuern, wie sich die VM bei einem Hostereignis verhält.
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 wie folgt bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Sie können die Hostwartungsrichtlinie einer VM auf Abruf nicht ändern. Bei einem Wartungsereignis wird die VM auf Abruf beendet und nicht migriert. Sie müssen die vorzeitig beendete VM manuell neu starten.
- Nachdem Sie eine VM mit einem E2-Maschinentyp erstellt haben, können Sie die Hostwartungseinstellungen der VM nicht mehr von
MIGRATE
inTERMINATE
oder umgekehrt ändern. onHostMaintenance
: legt das Verhalten bei Auftreten eines Wartungsereignisses fest, das zum Neustart der VM führen kann.MIGRATE
[Standard] : Legt fest, dass Compute Engine die Live-Migration einer Instanz durchführt, wenn ein Wartungsereignis auftritt.TERMINATE
: beendet eine VM, anstatt sie zu migrieren.
automaticRestart
: bestimmt das Verhalten, wenn eine VM abstürzt oder vom System beendet wird.true
[Standard] : Legt fest, dass Compute Engine eine Instanz neu startet, wenn sie abstürzt oder beendet wird.false
: Compute Engine startet eine VM nicht neu, wenn die VM abstürzt oder beendet wird.
localSsdRecoveryTimeout
: Legt das Zeitlimit für die lokale SSD-Wiederherstellung fest. Dies ist die maximale Zeit in Stunden, die Compute Engine darauf wartet, lokale SSD-Daten nach einem Hostfehler wiederherzustellen. Diese Einstellung gilt nur für VMs mit angehängten lokalen SSD-Laufwerken.- Nicht festgelegt (Standard): Compute Engine wartet bis zu eine Stunde, um das Laufwerk wiederherzustellen. Bei Z3-VMs (Vorschau) beträgt die Standardwartezeit 4 Stunden.
- Eine Zahl zwischen 0 und 168: Gibt an, wie lange Compute Engine auf die Wiederherstellung des Laufwerks wartet. Die Zahl muss eine Ganzzahl in Schritten von 1 Stunde mit einem Höchstwert von 7 Tagen sein. Der Wert 0 bedeutet, dass Compute Engine nicht mit der Wiederherstellung der Daten wartet.
hostErrorTimeoutSeconds
(Vorschau): Legt die maximale Zeit in Sekunden fest, die Compute Engine darauf wartet, eine VM neu zu starten oder zu beenden, nachdem erkannt wurde, dass die VM nicht mehr reagiert.- Nicht festgelegt (Standardeinstellung): Compute Engine wartet bis zu 5,5 Minuten (330 Sekunden), bevor eine nicht reagierende VM neu gestartet wird.
- Zahl zwischen 90 und 330: Gibt die Anzahl der Sekunden in Schritten von 30 an, die Compute Engine wartet, bevor eine nicht reagierende VM neu gestartet wird.
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Geben Sie einen Namen für die VM an.
Wählen Sie eine Region und eine Zone für die VM aus.
Führen Sie im Abschnitt Maschinenkonfiguration die folgenden Schritte aus:
- Geben Sie die Details des Maschinentyps für die VM an.
- Maximieren Sie das Menü Erweiterte Einstellungen für das VM-Bereitstellungsmodell.
- Wählen Sie im Menü Bei Hostwartung einen der folgenden Schritte aus:
- Wählen Sie VM-Instanz migrieren aus, um VMs während Wartungsereignissen zu migrieren.
- Wählen Sie VM-Instanz beenden aus, um VMs während Wartungsereignissen zu beenden.
Klicken Sie auf Erstellen, um die VM zu erstellen.
--maintenance-policy
: gibt an, ob die VM während der Hostwartung migriert oder beendet wird. Die VM wird standardmäßig migriert, wenn Sie dieses Attribut weglassen.--no-restart-on-failure
oder--restart-on-failure
: gibt an, ob die VM nach einem Hostfehler automatisch neu gestartet wird. Standardmäßig wird die VM immer neu gestartet, wenn ein Fehler erkannt wird.--local-ssd-recovery-timeout
: Zeit, die Compute Engine nach einem Hostfehler für die Wiederherstellung der angehängten lokalen SSD-Laufwerke aufgewendet. Die Standardeinstellung ist 1 Stunde.VM_NAME
: der VM-NameMAINTENANCE_POLICY
: Wartungsrichtlinie für diese VM, entwederTERMINATE
oderMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: Das Verhalten beim Neustart der VM, festgelegt auf--no-restart-on-failure
oder--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: Anzahl der Stunden, die für die Wiederherstellung einer lokalen SSD benötigt werden, die an eine nicht reagierende VM angehängt ist. Gültige Werte liegen zwischen 0 und 168, in Schritten von 1 Stunde.VM_NAME
: der VM-NameMAINTENANCE_POLICY
: Wartungsrichtlinie für diese VM, entwederTERMINATE
oderMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: Das Verhalten beim Neustart der VM, festgelegt auf--no-restart-on-failure
oder--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: die Anzahl der Stunden, die Compute Engine für die Wiederherstellung einer lokalen SSD benötigt, die an eine nicht reagierende VM angehängt wurde. Gültige Werte liegen zwischen 0 und 168, in Schritten von 1 Stunde.ERROR_DETECTION_TIMEOUT
ist die Anzahl der Sekunden (von 90 bis 330 in Schritten von 30), bevor Compute Engine wartet, bevor eine nicht reagierende VM neu gestartet wird.onHostMaintenance
: gibt an, ob die VM während der Hostwartung migriert oder beendet wird. Die VM wird standardmäßig migriert.automaticRestart
: VM wird nach einem Hostfehler automatisch neu gestartet. VMs werden standardmäßig automatisch neu gestartet.localSsdRecoveryTimeout
: wie viel Zeit Compute Engine benötigt, um angehängte lokale SSD-Laufwerke nach der Erkennung eines Hostfehlers wiederherzustellen. Die Standardeinstellung ist 1 Stunde.PROJECT_ID
: das Projekt für die VM.ZONE
: die Zone, in der Sie die VM erstellen möchten.VM_NAME
: der VM-NameMAINTENANCE_POLICY
: Wartungsrichtlinie für diese VM, entwederTERMINATE
oderMIGRATE
.RESTART_POLICY
: Neustartrichtlinie für diese VM, entwedertrue
oderfalse
.SSD_RECOVERY_TIMEOUT
: Die Anzahl der Stunden, die Compute Engine auf der Wiederherstellung eines lokalen SSD-Laufwerks verbringt, das an eine nicht reagierende VM angehängt ist. Gültige Werte liegen zwischen 0 und 168, in Schritten von 1 Stunde.PROJECT_ID
: das Projekt für die VM.ZONE
: die Zone, in der Sie die VM erstellen möchten.VM_NAME
: der VM-NameMAINTENANCE_POLICY
: Wartungsrichtlinie für diese VM, entwederTERMINATE
oderMIGRATE
.RESTART_POLICY
: Neustartrichtlinie für diese VM, entwedertrue
oderfalse
.SSD_RECOVERY_TIMEOUT
: Die Anzahl der Stunden, die Compute Engine auf die Wiederherstellung eines lokalen SSD-Laufwerks verbringen kann, das an eine nicht reagierende VM angehängt ist. Gültige Werte liegen zwischen 0 und 168, in Schritten von 1 Stunde.HOST_ERROR_TIMEOUT
ist die Anzahl der Sekunden, die Compute Engine wartet, bevor eine nicht reagierende VM neu gestartet oder beendet wird. Gültige Werte sind von 90 bis 330 in Schritten von 30.Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie auf die VM, deren Einstellungen Sie ändern möchten. Die Seite mit den VM-Details wird angezeigt.
Führen Sie auf der Seite mit den VM-Details die folgenden Schritte aus:
- Klicken Sie oben auf der Seite auf Bearbeiten.
- Wechseln Sie zum Bereich Verwaltung. Im Bereich Verfügbarkeitsrichtlinien können Sie die Optionen Bei Hostwartung und Automatischer Neustart festlegen.
- Klicken Sie auf Speichern.
VM_NAME
: der VM-NameMAINTENANCE_POLICY
: die Richtlinie für diese VM, entwederTERMINATE
oderMIGRATE
RESTART_ON_FAILURE_BEHAVIOR
: Neustartverhalten der VM,--no-restart-on-failure
oder--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: Die Zeit in Stunden, in der Compute Engine die Wiederherstellung eines lokalen SSD-Laufwerks ermöglicht, das an eine nicht reagierende VM angehängt ist. Gültige Werte sind 0 bis 168.VM_NAME
: der VM-NameMAINTENANCE_POLICY
: Wartungsrichtlinie für diese VM, entwederTERMINATE
oderMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: Neustartverhalten der VM, festgelegt auf--no-restart-on-failure
oder--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: In Stunden benötigt Compute Engine die Wiederherstellung eines lokalen SSD-Laufwerks, das an eine nicht reagierende VM angehängt ist. Gültige Werte sind 0 bis 168.NUMBER_OF_SECONDS
ist die Anzahl der Sekunden (zwischen 90 und 330), bevor eine nicht reagierende VM neu gestartet oder beendet wird.onHostMaintenance
: gibt an, ob die VM während der Hostwartung migriert oder beendet wird. Die VM wird standardmäßig migriert.automaticRestart
: VM wird nach einem Hostfehler automatisch neu gestartet. VMs werden standardmäßig automatisch neu gestartet.localSsdRecoveryTimeout
: wie viel Zeit Compute Engine benötigt, um angehängte lokale SSD-Laufwerke nach der Erkennung eines Hostfehlers wiederherzustellen. Wenn keine Angabe gemacht wird, beträgt der Standardwert 1 Stunde.PROJECT_ID
: das Projekt für die VM.ZONE
ist die Zone, in der sich die VM befindet.VM_NAME
: der VM-NameMAINTENANCE_POLICY
: Wartungsrichtlinie für diese VM, entwederTERMINATE
oderMIGRATE
.RESTART_POLICY
: Neustartrichtlinie für diese VM, entwedertrue
oderfalse
.SSD_RECOVERY_TIMEOUT
: Die Zeit in Stunden, die Compute Engine auf die Wiederherstellung eines lokalen SSD-Laufwerks umgestellt hat, das an eine nicht reagierende VM angehängt war. Gültige Werte sind 0 bis 168.PROJECT_ID
: das Projekt für die VM.ZONE
ist die Zone, in der sich die VM befindet.VM_NAME
: der VM-NameNUMBER_OF_SECONDS
ist die Anzahl der Sekunden (zwischen 90 und 330), bevor eine nicht reagierende VM neu gestartet oder beendet wird.Rufen Sie die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der VM, für die Sie Metadaten aufrufen möchten. Die Seite VM-Instanzdetails wird geöffnet.
Wechseln Sie zum Bereich Verwaltung. Im Abschnitt Verfügbarkeitsrichtlinien werden die aktuellen Einstellungen für Wartung des Hosts und Automatischer Neustart angezeigt.
PROJECT_ID
: das Projekt, in der sich die VM befindet.ZONE
ist die Zone, in der sich die VM befindet.VM_NAME
: der VM-NamePROJECT_ID
: das Projekt für die VM.ZONE
ist die Zone, in der sich die VM befindet.VM_NAME
: der VM-Name
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.
Beschränkungen
Verfügbare Hostwartungsattribute
Mit den folgenden Attributen können Sie das Wartungsverhalten, das Neustartverhalten und das Verhalten einer VM nach einem Hostfehler konfigurieren.
Compute Engine konfiguriert jede VM mit den Standardwerten, sofern Sie nichts anderes angeben.
Während Hostereignissen werden je nach konfigurierter Hostwartungsrichtlinie VMs, die die Live-Migration nicht unterstützen, beendet oder automatisch neu gestartet.
Hostwartungsrichtlinie einer VM festlegen
Sie können die Hostwartungsrichtlinie einer VM ändern, wenn Sie die VM erstellen oder nachdem die VM erstellt wurde.
Hostwartungsrichtlinie während der VM-Erstellung festlegen
In diesem Abschnitt wird beschrieben, wie Sie die Hostwartungsrichtlinie beim Erstellen einer VM festlegen. Weitere Beispiele zur VM-Erstellung finden Sie unter VM-Instanz erstellen und starten.
Sie können die Hostwartungsrichtlinie einer VM bei der Erstellung über die Google Cloud Console, die gcloud CLI oder die Compute Engine API festlegen.
Console
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Verwenden Sie den Befehl
gcloud compute instances create
, um die Hostwartungsrichtlinie einer neuen VM festzulegen. Verwenden Sie einen oder mehrere der folgenden Parameter:Legen Sie die Hostwartungsrichtlinie einer neuen VM mit dem folgenden Befehl fest. Wenn Sie eines der Flags weglassen, wird der Standardwert des Flags verwendet.
gcloud compute instances create VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Ersetzen Sie Folgendes:
Zeitlimit für die Erkennung von Hostfehlern festlegen
Legen Sie mit dem Befehl
gcloud compute instances create
die maximale Zeit fest, die Compute Engine wartet, bis eine nicht reagierende VM neu gestartet oder beendet wird. Geben Sie das Zeitlimit mit dem Flag--host-error-timeout-seconds
an.gcloud beta compute instances create VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT
Ersetzen Sie Folgendes:
REST
Mit der Methode
instances.insert
können Sie die Hostwartungsrichtlinie einer neuen VM mit der Compute Engine API festlegen. Fügen Sie in das Objektscheduling
des Anfragetexts eines oder mehrere der folgenden Attribute ein:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT } }
Ersetzen Sie Folgendes:
Zeitlimit für die Erkennung von Hostfehlern festlegen
Legen Sie mit der Betamethode
instances.insert
die maximale Zeit fest, die Compute Engine wartet, bis eine nicht reagierende VM neu gestartet oder beendet wird, da diese Option in der Vorschau verfügbar ist.Fügen Sie dem
scheduling
-Objekt des Anfragetexts das AttributhostErrorTimeoutSeconds
hinzu.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT "hostErrorTimeoutSeconds": HOST_ERROR_TIMEOUT, } }
Ersetzen Sie Folgendes:
Hostwartungsrichtlinie einer vorhandenen VM aktualisieren
Console
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Aktualisieren Sie die Hostwartungsrichtlinie einer vorhandenen VM mit dem Befehl
gcloud compute instances set-scheduling
. Verwenden Sie dieselben Parameter, die im vorherigen Abschnitt zur VM-Erstellung beschrieben wurden.gcloud compute instances set-scheduling VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Ersetzen Sie Folgendes:
Zeitlimit für Hostfehlererkennung aktualisieren
Verwenden Sie den Befehl
gcloud beta compute instances set-scheduling
, um die maximale Zeit zu aktualisieren, die Compute Engine auf den Neustart oder die Beendigung einer nicht reagierenden VM wartet, da dieses Feature nur in der Vorschau verfügbar.Aktualisieren Sie das Zeitlimit mit dem Parameter
--host-error-timeout-seconds
. Beispiel:gcloud beta compute instances set-scheduling VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \ --host-error-timeout-seconds=NUMBER_OF_SECONDS
Ersetzen Sie Folgendes:
REST
Aktualisieren Sie die Hostwartungsrichtlinie einer vorhandenen VM mit einer
POST
-Anfrage an die Methodeinstances.setScheduling
.Geben Sie im Anfragetext mindestens eines der folgenden Attribute an:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT }
Ersetzen Sie Folgendes:
Zeitlimit für Hostfehlererkennung aktualisieren
Wenn Sie die maximale Zeit aktualisieren möchten, die Compute Engine wartet, bis eine nicht reagierende VM neu gestartet oder beendet wird, müssen Sie die Betamethode
instances.setScheduling
verwenden, da dieses Feature in der Vorschau verfügbar ist.Fügen Sie den Parameter
hostErrorTimeoutSeconds
in den Anfragetext ein.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS, }
Ersetzen Sie Folgendes:
Einstellungen für Hostwartungsrichtlinien einer VM ansehen
Console
gcloud
Sehen Sie sich die Einstellungen für die Hostwartungsoption für eine VM mit dem Befehl
gcloud compute instances describe
an:gcloud compute instances describe VM_NAME --format="yaml(scheduling)"
Ersetzen Sie
VM_NAME
durch den VM-Namen.Die Ausgabe enthält das Zeitlimit für die Hostfehlererkennung der VM. Beispiel:
scheduling: automaticRestart: true localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
Einstellung für das Zeitlimit der Hostfehlererkennung aufrufen
Rufen Sie den aktuellen Wert von
hostErrorTimeoutSeconds
mit dem Befehlgcloud beta compute instances describe
auf, da diese Option nur in der Vorschau verfügbar ist.gcloud beta compute instances describe VM_NAME --format="yaml(scheduling)"
Ersetzen Sie
VM_NAME
durch den VM-Namen.Die Ausgabe enthält das Zeitlimit für die Hostfehlererkennung der VM. Beispiel:
scheduling: automaticRestart: true hostErrorTimeoutSeconds: 120 localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
REST
Verwenden Sie die
instances.get
-Methode, um die Einstellungen für die Hostwartung für eine VM aufzurufen:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Ersetzen Sie Folgendes:
In der Ausgabe enthält das Objekt
scheduling
die Hostwartungsrichtlinie der VM. Beispiel:"scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }
Einstellungen für Zeitüberschreitungen bei Hostfehlern aufrufen
Rufen Sie die aktuelle
hostErrorTimeoutSeconds
-Einstellung mit einerGET
-Anfrage an die Betamethodeinstances.get
auf, da diese Option nur in der Vorschau verfügbar ist.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Ersetzen Sie Folgendes:
In der Ausgabe enthält das Objekt
scheduling
das Zeitlimit für die Hostfehlererkennung der VM. Beispiel:"scheduling": { "hostErrorTimeoutSeconds": 120 }
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-10-14 (UTC).
-