In diesem Dokument wird beschrieben, wie Sie die Hostwartungsrichtlinie für eine virtuelle Maschine (VM) oder eine Bare-Metal-Instanz festlegen, um zu steuern, wie sich die Instanz 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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
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 das Wartungsverhalten 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 das Wartungsverhalten für die VM nicht mehr von
MIGRATE
inTERMINATE
oder umgekehrt ändern. - Sie können das Wartungsverhalten für Bare-Metal-Instanzen wie
c3-standard-192-metal
oderx4-megamem-1920-metal
nicht ändern, die aufTERMINATE
gesetzt sind und automatisch neu gestartet werden. onHostMaintenance
: Legt das Verhalten bei Auftreten eines Wartungsereignisses fest, das zum Neustart der Instanz führen kann.MIGRATE
: Legt fest, dass Compute Engine die Live-Migration einer Instanz durchführt, wenn ein Wartungsereignis auftritt. Dies ist die Standardeinstellung für die meisten VMs.TERMINATE
: Die Instanz wird angehalten, anstatt die Live-Migration zu verwenden. Dies ist die Standardoption für Z3, Bare-Metal-Instanzen und Instanzen mit Beschleunigern wie GPUs und TPUs. Bei diesen Instanztypen können Sie die Einstellung füronHostMaintenance
nicht ändern.
automaticRestart
: Bestimmt das Verhalten, wenn eine Instanz 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 Instanz nicht neu, wenn sie abstürzt oder beendet wird.
localSsdRecoveryTimeout
: Legen Sie das Zeitlimit für die Wiederherstellung der lokalen SSD fest. Das ist die maximale Zeit in Stunden, die Compute Engine nach einem Hostfehler für die Wiederherstellung lokaler SSD-Daten wartet. Diese Einstellung gilt nur für VMs mit angehängten lokalen SSD-Laufwerken. Wenn Sie diese Einstellung für eine Instanz konfigurieren, der keine lokalen SSD-Laufwerke angeschlossen sind, wird sie ignoriert.- Nicht festgelegt (Standard): Compute Engine wartet bis zu eine Stunde, um die lokalen SSD-Daten wiederherzustellen. Bei Z3-VMs beträgt die Standardwartezeit 6 Stunden.
- Eine ganze Zahl zwischen 0 und 168: Gibt an, wie viele Stunden Compute Engine wartet, bevor die Daten auf dem lokalen SSD wiederhergestellt werden. Der maximale Wert entspricht 7 Tagen. Ein Wert von 0 bedeutet, dass Compute Engine nicht auf die Wiederherstellung der lokalen SSD-Daten wartet und die Instanz sofort neu startet.
hostErrorTimeoutSeconds
(Vorabversion): Legt die maximale Zeit in Sekunden fest, die Compute Engine darauf wartet, eine Compute-Instanz neu zu starten oder zu beenden, nachdem erkannt wurde, dass die Instanz nicht mehr reagiert.- Nicht festgelegt (Standard): Compute Engine wartet bis zu 5,5 Minuten (330 Sekunden), bevor eine nicht reagierende Instanz neu gestartet wird.
- Eine ganze Zahl zwischen 90 und 330: Die Anzahl der Sekunden, die in Schritten von 30 angegeben wird, während derer die Compute Engine wartet, bevor eine nicht reagierende Compute-Instanz neu gestartet wird.
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Legen Sie einen Namen für die Instanz fest.
Wählen Sie für die Instanz eine Region und eine Zone aus.
Führen Sie im Abschnitt Maschinenkonfiguration die folgenden Schritte aus:
- Geben Sie die Details zum Maschinentyp für die Instanz an.
- Maximieren Sie das Menü Erweiterte Einstellungen für das VM-Bereitstellungsmodell.
- Wählen Sie im Menü Bei Hostwartung einen der folgenden Schritte aus:
- Wenn Sie VMs während Wartungsereignissen migrieren möchten, wählen Sie VM-Instanz migrieren aus.
- Wenn Sie Instanzen während Wartungsereignissen beenden möchten, wählen Sie VM-Instanz beenden aus.
Klicken Sie auf Erstellen, um die Instanz zu erstellen.
INSTANCE_NAME
: der Name der Instanz.- ZONE: die Zone, in der sich die Instanz befindet,
MAINTENANCE_BEHAVIOR
: das Verhalten bei Wartungsereignissen einer Instanz, entwederTERMINATE
oderMIGRATE
. Bei den meisten Maschinentypen wird die VM standardmäßig migriert, wenn Sie diese Eigenschaft weglassen. Z3- und Bare-Metal-Instanzen werden beendet.RESTART_ON_FAILURE_BEHAVIOR
: Neustartverhalten für beendete oder nicht reagierende Instanzen. Legen Sie entwederrestart-on-failure
(Standard) oderno-restart-on-failure
fest.SSD_RECOVERY_TIMEOUT
: Anzahl der Stunden, die für die Wiederherstellung lokaler SSD-Laufwerke benötigt werden, die an eine beendete oder nicht reagierende Instanz angehängt sind. Gültige Werte liegen zwischen 0 und 168, in Schritten von 1 Stunde.ERROR_DETECTION_TIMEOUT
ist die Anzahl der Sekunden (zwischen 90 und 330 Sekunden, also 5,5 Minuten, in Schritten von 30 Sekunden), bevor eine nicht reagierende Instanz neu gestartet wird.PROJECT_ID
: das Projekt der Instanz.ZONE
: die Zone, in der Sie die Instanz erstellen möchten.INSTANCE_NAME
: der Name der Instanz.MAINTENANCE_BEHAVIOR
: das Verhalten bei Wartungsereignissen einer Instanz, entwederTERMINATE
oderMIGRATE
. Bei den meisten Maschinentypen wird die VM standardmäßig migriert, wenn Sie dieses Feld weglassen. Z3- und Bare-Metal-Instanzen werden beendet.RESTART_POLICY
: Gibt an, ob die Instanz nach einem Wartungsereignis oder einem Hostfehler automatisch neu gestartet wird:true
(Standard) oderfalse
.SSD_RECOVERY_TIMEOUT
: Anzahl der Stunden, die die Compute Engine für die Wiederherstellung aller lokalen SSD-Laufwerke benötigt, die an eine nicht reagierende oder beendete Instanz angehängt sind. Gültige Werte liegen zwischen 0 und 168, in Schritten von 1 Stunde. Der Standardwert für Z3 ist 6 Stunden und für alle anderen VMs 1 Stunde.Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der Instanz, deren Einstellungen Sie ändern möchten. Die Seite mit den Instanzdetails wird angezeigt.
Führen Sie auf dem Tab 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 für die Hostwartung ändern.
- Klicken Sie auf Speichern.
NUMBER_OF_SECONDS
ist die Anzahl der Sekunden (zwischen 90 und 330 Sekunden, also 5,5 Minuten) in Schritten von 30 Sekunden, bevor eine nicht reagierende VM neu gestartet oder beendet wird.INSTANCE_NAME
: der Name der Instanz.MAINTENANCE_BEHAVIOR
: das Verhalten bei Wartungsereignissen einer Instanz, entwederTERMINATE
oderMIGRATE
. Bei den meisten Maschinentypen wird die VM standardmäßig migriert, wenn Sie diese Eigenschaft weglassen. Z3- und Bare-Metal-Instanzen werden beendet.RESTART_ON_FAILURE_BEHAVIOR
: Neustartverhalten für beendete oder nicht reagierende Instanzen. Legen Sie entwederrestart-on-failure
(Standard) oderno-restart-on-failure
fest.SSD_RECOVERY_TIMEOUT
: Anzahl der Stunden, die für die Wiederherstellung lokaler SSD-Laufwerke benötigt werden, die an eine beendete oder nicht reagierende Instanz angehängt sind. Gültige Werte liegen zwischen 0 und 168, in Schritten von 1 Stunde.NUMBER_OF_SECONDS
ist die Anzahl der Sekunden (zwischen 90 und 330 Sekunden, also 5,5 Minuten, in Schritten von 30 Sekunden), bevor eine nicht reagierende Instanz neu gestartet wird.
PROJECT_ID
: das Projekt der Instanz.ZONE
: die Zone, in der sich die Instanz befindet.INSTANCE_NAME
: der Name der Instanz.MAINTENANCE_BEHAVIOR
: das Verhalten bei Wartungsereignissen für diese Instanz, entwederTERMINATE
oderMIGRATE
.RESTART_POLICY
: Gibt an, ob die Instanz automatisch neu gestartet wird, entwedertrue
oderfalse
.SSD_RECOVERY_TIMEOUT
: Anzahl der Stunden, die für die Wiederherstellung der lokalen SSD-Laufwerke benötigt werden, die an die Instanz angehängt sind. Gültige Werte liegen zwischen 0 und 168, in Schritten von 1 Stunde.
Rufen Sie die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der Instanz, für die Sie die Einstellungen aufrufen möchten. Die Seite mit den Instanzdetails wird geöffnet.
Wechseln Sie zum Bereich Verwaltung. Im Abschnitt Verfügbarkeitsrichtlinien sehen Sie Ihre aktuellen Einstellungen für Folgendes:
- Bei Hostwartung
- Automatischer Neustart
- Zeitlimit bei Hostfehler
INSTANCE_NAME
: der Name der InstanzZONE
: die Zone, in der sich die Instanz befindet.PROJECT_ID
: das Projekt, in dem sich die Instanz befindet.ZONE
: die Zone, in der sich die Instanz befindet.INSTANCE_NAME
: der Name der Instanz.PROJECT_ID
: das Projekt der Instanz.ZONE
: die Zone, in der sich die Instanz befindet.INSTANCE_NAME
: der Name der Instanz.
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 Hostwartungseigenschaften
Sie können das Wartungsverhalten, das Neustartverhalten und das Warten bei Hostfehlern einer Compute-Instanz konfigurieren. Die Compute Engine konfiguriert jede Instanz mit den Standardwerten, sofern Sie nichts anderes angeben.
Während Hostereignissen werden je nach konfigurierter Hostwartungsrichtlinie Instanzen, die die Live-Migration nicht unterstützen, beendet und automatisch neu gestartet.
Hostwartungsrichtlinie einer Instanz festlegen
Sie können die Hostwartungsrichtlinie einer Instanz ändern, wenn Sie eine Instanz erstellen oder nachdem die Instanz erstellt wurde.
Hostwartungsrichtlinie während der Instanzerstellung festlegen
In diesem Abschnitt erfahren Sie, wie Sie die Hostwartungsrichtlinie beim Erstellen einer Instanz festlegen. Weitere Beispiele für die Instanzerstellung finden Sie unter Compute Engine-Instanz erstellen und starten.
Sie können die Hostwartungsrichtlinie einer Compute-Instanz beim Erstellen mit der Google Cloud Console, der gcloud CLI oder REST festlegen.
Console
gcloud
Verwenden Sie den Befehl
gcloud compute instances create
, um die Hostwartungsrichtlinie einer neuen Instanz festzulegen.Um die Eigenschaft
--host-error-timeout-seconds
(Vorabversion) festzulegen, müssen Sie den Befehlgcloud beta compute instances create
verwenden.Sie können die Hostwartungsrichtlinie einer neuen Instanz mit dem folgenden Befehl festlegen. Wenn Sie eines der Flags weglassen, wird der Standardwert für das Flag verwendet.
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --maintenance-policy=MAINTENANCE_BEHAVIOR \ --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 Instanz mit REST festlegen.Sie können die Hostwartungsrichtlinie einer neuen Instanz mit dem folgenden Befehl festlegen. Wenn Sie eines der Felder weglassen, wird der Standardwert für das Feld verwendet.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_BEHAVIOR", "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 Instanz neu gestartet oder beendet wird, da diese Option in der Vorschau verfügbar ist.Fügen Sie dem
scheduling
-Objekt des Anfragetexts die EigenschafthostErrorTimeoutSeconds
hinzu.HOST_ERROR_TIMEOUT
ist die Anzahl der Sekunden, die die Compute Engine wartet, bevor eine nicht reagierende Instanz neu gestartet oder beendet wird. Gültige Werte liegen zwischen 90 und 330 (5,5 Minuten), in Schritten von 30 Sekunden.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances { "name": "INSTANCE_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_BEHAVIOR", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT "hostErrorTimeoutSeconds": HOST_ERROR_TIMEOUT, } }
Hostwartungsrichtlinie einer vorhandenen Instanz aktualisieren
Console
gcloud
Aktualisieren Sie die Hostwartungsrichtlinie einer vorhandenen Instanz mit dem Befehl
gcloud compute instances set-scheduling
. Verwenden Sie dieselben Parameter wie für den Befehl zum Erstellen einer Instanz im vorherigen Abschnitt.Wenn Sie die maximale Zeit aktualisieren möchten, die Compute Engine wartet, bis eine nicht reagierende Instanz neu gestartet oder beendet wird (Vorabversion), verwenden Sie den Befehl
gcloud beta compute instances set-scheduling
und fügen Sie--host-error-timeout-seconds=NUMBER_OF_SECONDS
hinzu.gcloud compute instances set-scheduling INSTANCE_NAME \ --maintenance-policy=MAINTENANCE_BEHAVIOR \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Ersetzen Sie Folgendes:
REST
Aktualisieren Sie die Hostwartungsrichtlinie einer vorhandenen Instanz mit einer
POST
-Anfrage an die Methodeinstances.setScheduling
.POST https://compute.googleapis.com/compute/v1projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { "onHostMaintenance": "MAINTENANCE_BEHAVIOR", "automaticRestart": RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT }
Ersetzen Sie Folgendes:
Zeitlimit für die Erkennung von Hostfehlern 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 dem Anfragetext das Attribut
hostErrorTimeoutSeconds
hinzu.HOST_ERROR_TIMEOUT
ist die Anzahl der Sekunden, die die Compute Engine wartet, bevor eine nicht reagierende Instanz neu gestartet oder beendet wird. Gültige Werte liegen zwischen 90 und 330 (5,5 Minuten), in Schritten von 30 Sekunden.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setScheduling { ... "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS }
Einstellungen für die Hostwartungsrichtlinie für eine Instanz aufrufen
Console
gcloud
Mit dem Befehl
gcloud compute instances describe
können Sie die Einstellungen für die Hostwartungsoption für eine Instanz aufrufen.Verwenden Sie den Befehl
gcloud beta compute instances describe
, um den aktuellen Wert derhostErrorTimeoutSeconds
-Einstellung (Vorabversion) aufzurufen.gcloud compute instances describe INSTANCE_NAME \ --zone ZONE --format="yaml(scheduling)"
Ersetzen Sie Folgendes:
Die Ausgabe enthält die aktuellen Einstellungen für die Hostwartungsrichtlinie, z. B.:
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 Instanz aufzurufen:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Ersetzen Sie Folgendes:
In der Ausgabe enthält das
scheduling
-Objekt die Einstellungen für die Hostwartungsrichtlinie der Instanz, z. B.:{ ... "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }, ... }
Einstellungen für das Zeitlimit für Hostfehler ansehen
Rufen Sie die aktuelle
hostErrorTimeoutSeconds
-Einstellung mit einerGET
-Anfrage an die Betamethodeinstances.get
auf.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Ersetzen Sie Folgendes:
In der Ausgabe enthält das
scheduling
-Objekt das Zeitlimit für die Erkennung von Hostfehlern der Instanz, z. B.:{ ... "scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "hostErrorTimeoutSeconds": 120, "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }, ... }
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-22 (UTC).
-