Hostereignisse für mehrere Compute-Instanzen verwalten

In diesem Dokument wird beschrieben, wie Sie die Hostwartungsfunktionen verwenden, die in der Cluster Director-Suite verfügbar sind. Darin wird erläutert, wie Sie die geplante Wartung von Compute Engine-Instanzen überwachen, planen und durchführen. Informationen zum Verwalten der Wartung Ihrer reservierten Kapazitätsblöcke, unabhängig davon, ob Compute-Instanzen darauf ausgeführt werden, finden Sie unter Hostereignisse für mehrere Reservierungen verwalten.

Wenn Sie anstehende Host-Wartungsereignisse für Ihre Instanzen proaktiv verwalten, können Sie Unterbrechungen minimieren und eine optimale Leistung aufrechterhalten.

Hinweise

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

In the Google Cloud console, activate Cloud Shell.

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.

REST

Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

    Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

    gcloud init

    Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Hostwartungsereignissen für Compute-Instanzen benötigen:

  • Compute-Administrator (roles/compute.admin) für das Projekt
  • Für schreibgeschützten Zugriff auf Audit-Logs zu Systemereignissen: Logbetrachter (roles/logging.viewer) für das Projekt

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten von Hostwartungsereignissen für Compute-Instanzen erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Hostwartungsereignisse für Compute-Instanzen zu verwalten:

  • So rufen Sie die Details einer Instanz auf: compute.instances.get im Projekt

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Übersicht

Führen Sie die folgenden Schritte aus, um die Wartung Ihrer Compute-Instanzen zu optimieren:

  1. Hostwartung verstehen und durchführen Hier erfahren Sie mehr über die Häufigkeit und das Wartungsverhalten Ihrer Instanzen basierend auf ihrer Maschinenserie und wie Sie Ihre Arbeitslast auf die Hostwartung vorbereiten. Mithilfe dieser Informationen können Sie Unterbrechungen minimieren und Datenverlust verhindern.

  2. Benachrichtigungen einrichten Erstellen Sie logbasierte Benachrichtigungen, um Benachrichtigungen zu erhalten, wenn die Wartung Ihrer Instanzen geplant, gestartet oder abgeschlossen wird. So können Sie Ihre Aktivitäten proaktiv planen und unerwartete Ausfallzeiten vermeiden.

  3. Wartung für mehrere Instanzen verwalten Sehen Sie nach, ob für Ihre Instanzen Wartungsarbeiten geplant sind. Bei Bedarf können Sie die Wartung für Ihre Instanzen manuell starten. Dieser Prozess hilft Ihnen, die Ausfallsicherheit Ihrer Arbeitslasten für das Hosten von Events zu erhöhen, Ausfallzeiten zu vermeiden und die Verfügbarkeit Ihrer Anwendungen zu maximieren.

Hostwartung verstehen und durchführen

Während des Lebenszyklus einer Compute Engine-Instanz treten auf dem Host, auf dem Ihre Instanz ausgeführt wird, mehrere Hostereignisse auf. Ein Hostereignis kann Folgendes umfassen:

  • Geplante Wartung der Compute Engine-Infrastruktur.
  • Ungeplante Notfallwartung zur Reparatur der Compute Engine-Infrastruktur nach einem Hostfehler oder einem fehlerhaften Hostbericht.

In der folgenden Tabelle werden die Hostwartungsfunktionen für beschleunigungsoptimierte Maschinentypen beschrieben:

Maschinentyp Typische Häufigkeit geplanter Wartungsereignisse Wartungsverhalten Erweiterte Benachrichtigung bei geplanter Wartung Erweiterte Benachrichtigungen für Notfallwartungen On‑Demand-Wartung Wartung simulieren
A4X Max und A4X Mindestens 90 Tage Wird mit Datenpersistenz auf lokalen SSDs beendet. 90 Tage Wenn Sie Notfallbenachrichtigungen aktivieren, dann 7 Tage. Andernfalls dauert es einige Stunden. Ja Nein
A4 Mindestens 90 Tage Wird mit Datenpersistenz auf lokalen SSDs beendet. 90 Tage Wenn Sie Notfallbenachrichtigungen aktivieren, dann 7 Tage. Andernfalls dauert es einige Stunden. Ja Nein
A3 Ultra Mindestens 90 Tage Wird mit Datenpersistenz auf lokalen SSDs beendet. 90 Tage Wenn Sie Notfallbenachrichtigungen aktivieren, dann 7 Tage. Andernfalls dauert es einige Stunden. Ja Nein
A3 Mega und A3 High
(8 GPUs)
Mindestens 90 Tage Wird mit Datenpersistenz auf lokalen SSDs beendet. 90 Tage Wenn Sie Notfallbenachrichtigungen aktivieren, dann 7 Tage. Andernfalls dauert es einige Stunden. Ja Ja

Die in der vorherigen Tabelle angegebenen Wartungshäufigkeiten sind Schätzungen und keine Garantien. Für Compute Engine wird zeitweise eine Wartung häufiger durchgeführt.

Konfigurieren Sie Ihre Arbeitslasten so, dass sie Hostwartungen verarbeiten können, um Datenverlust oder Fortschrittsverlust zu vermeiden. Verwenden Sie beispielsweise die folgenden Techniken, um Ihre temporären Daten und den Fortschritt zu speichern, bevor Ihre Arbeitslast beendet wird:

Benachrichtigungen für Compute-Instanzen einrichten

Sie können sich über geplante, gestartete oder abgeschlossene Wartungsereignisse für Ihre Instanzen benachrichtigen lassen, indem Sie logbasierte Benachrichtigungsrichtlinien erstellen.

So erstellen Sie eine Benachrichtigung für die Wartungsereignisse Ihrer Instanzen: Wiederholen Sie diesen Vorgang für jede Benachrichtigung, die Sie erstellen möchten.

  1. Rufen Sie in der Google Cloud Console das und die Seite Log-Explorer auf:

    Zum Log-Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.

  2. Klicken Sie auf den Umschalter Abfrage anzeigen, um ihn zu aktivieren.

  3. Erstellen Sie im Bereich Abfrage eine der folgenden Abfragen. Mit diesen Abfragen werden Logeinträge gefiltert, um bestimmte Wartungsereignisse zu identifizieren. Wenn Sie mehrere Abfragen verwenden möchten, wiederholen Sie diesen Vorgang, um für jede Abfrage eine eindeutige Benachrichtigung zu erstellen.

    • So erhalten Sie Benachrichtigungen, wenn eine Wartung für eine Instanz geplant ist:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "scheduled"
      
    • So erhalten Sie Benachrichtigungen, wenn das Wartungsfenster für eine Instanz geöffnet wurde:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "ongoing"
      
    • So erhalten Sie Benachrichtigungen, wenn die Wartung einer Instanz begonnen hat:

      protoPayload.methodName="compute.instance.terminateOnHostMaintenance" severity>=DEFAULT
      
    • So erhalten Sie Benachrichtigungen, wenn die Wartung einer Instanz abgeschlossen ist:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "completed"
      
  4. Klicken Sie zum Validieren der Abfrage auf Abfrage ausführen. Wenn die Abfrage gültig ist, werden im Bereich Abfrageergebnisse Logeinträge angezeigt, die mit der Abfrage übereinstimmen.

  5. Klicken Sie in der Symbolleiste für Abfrageergebnisse auf die Liste Aktionen und wählen Sie dann Logbenachrichtigung erstellen aus. Der Bereich Logbasierte Benachrichtigungsrichtlinie erstellen wird angezeigt.

  6. Führen Sie im Abschnitt Benachrichtigungsdetails folgende Schritte aus:

    1. Geben Sie im Feld Name der Benachrichtigungsrichtlinie einen Namen für die Richtlinie ein.

    2. Wählen Sie in der Liste Schweregrad der Richtlinie die Option Warnung (oder einen höheren Schweregrad) aus.

    3. Klicken Sie auf Weiter.

  7. Klicken Sie im Bereich Logs auswählen, die in die Benachrichtigung aufgenommen werden sollen auf Weiter.

  8. Geben Sie im Abschnitt Benachrichtigungshäufigkeit und Dauer für automatisches Schließen festlegen Folgendes an:

    1. Wählen Sie in der Liste Zeit zwischen Benachrichtigungen aus, wie oft Sie benachrichtigt werden möchten.

    2. Wählen Sie in der Liste Dauer bis zur automatischen Schließung von Vorfällen aus, nach welcher Zeit Cloud Logging keine Benachrichtigungen mehr sendet und den Vorfall automatisch schließt.

    3. Klicken Sie auf Weiter.

  9. Geben Sie im Abschnitt Wer soll benachrichtigt werden? einen Benachrichtigungskanal für Logging an, an den Benachrichtigungen gesendet werden sollen.

  10. Klicken Sie auf Speichern.

Beispiele für Wartungsereignisbenachrichtigungen im Log-Explorer finden Sie in der Compute Engine-Dokumentation unter Beispiele für Wartungsbenachrichtigungen.

Wartung für Compute-Instanzen verwalten

Sie können die Wartung für Ihre Instanzen aufrufen und steuern, indem Sie eine oder mehrere der folgenden Aktionen ausführen:

Wartungsstatus von Compute-Instanzen ansehen

Sie können den Status und die geplante Zeit für anstehende Wartungsarbeiten für Ihre Instanzen einsehen, indem Sie den Wert des Felds upcomingMaintenance in den Metadaten der Instanz prüfen. Wenn eine Instanz das Feld upcomingMaintenance nicht enthält, ist für die Instanz kein Hostwartungsereignis geplant. Weitere Informationen zu den Feldern in upcomingMaintenance finden Sie in der Compute Engine-Dokumentation unter Definitionen des Wartungsstatus.

Wenn für eine Instanz Wartungsarbeiten geplant sind, enthält das Feld upcomingGroupMaintenance außerdem das Feld maintenanceReasons. In diesem Feld wird beschrieben, warum die Wartung für Ihre Instanz geplant wurde. Weitere Informationen finden Sie in der folgenden Tabelle:

Wartungstyp Wartungsgrund Status der Compute-Instanz
Geplante Wartung nach Meldung eines fehlerhaften Hosts FAILURE_GPU_CUSTOMER_REPORTED Gilt nur für Instanzen, die auf dem Host ausgeführt werden, den Sie als fehlerhaft gemeldet haben.
Geplante Wartung für die regelmäßige Wartung
  • PLANNED_UPDATE: Geplante Wartung der Infrastruktur
  • PLANNED_NETWORK_UPDATE: geplante Netzwerkwartung
Gilt für laufende, beendete oder angehaltene Instanzen.
Außerplanmäßige Wartung
  • FAILURE_DISK: Eine ungeplante Wartung, die aufgrund eines Fehlers auf einem Laufwerk, das an eine Instanz angehängt ist, geplant wurde.
  • FAILURE_GPU: ungeplante Wartung, die aufgrund eines GPU-bezogenen Fehlers geplant wurde.
  • FAILURE_GPU_TEMPERATURE: ungeplante Wartung aufgrund eines GPU-bezogenen Fehlers, nachdem die GPU eine hohe Temperatur erreicht hat.
  • FAILURE_GPU_XID: ungeplante Wartung, nachdem Sie aufgrund eines GPU-bezogenen Fehlers eine Xid-Meldung erhalten haben.
  • FAILURE_INFRA: Außerplanmäßige Wartung, die aufgrund eines Fehlers in der Infrastruktur geplant wurde.
  • FAILURE_INTERFACE: Ungeplante Wartung aufgrund eines Fehlers mit der NIC.
  • FAILURE_MEMORY: Eine ungeplante Wartung ist aufgrund eines Fehlers im Arbeitsspeicher einer Instanz geplant.
  • FAILURE_NETWORK: Aufgrund eines Fehlers im Netzwerk ist eine ungeplante Wartung geplant.
  • FAILURE_NVLINK: Ungeplante Wartung aufgrund eines Fehlers mit dem NVLink geplant.
Gilt nur für laufende Instanzen.

Wenn Sie das Feld maintenanceReasons in einer Instanz aufrufen möchten, müssen Sie die gcloud CLI oder die REST API verwenden. Wenn Sie den Wartungsstatus für mehrere Compute-Instanzen gleichzeitig aufrufen möchten, müssen Sie die Google Cloud -Konsole oder die REST API verwenden. Wählen Sie andernfalls eine der folgenden Optionen aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. In der Spalte Wartungsstatus wird der Wartungsstatus Ihrer Instanzen angezeigt. Wenn diese Spalte in der Tabelle VM-Instanzen nicht angezeigt wird, klicken Sie auf view_column Spaltenanzeigeoptionen, wählen Sie das Kästchen Wartungsstatus aus und klicken Sie auf OK.

gcloud

Verwenden Sie den Befehl gcloud compute instances describe mit dem Flag --flatten=resourceStatus.upcomingMaintenance, um den Wartungsstatus einer Instanz aufzurufen:

gcloud compute instances describe INSTANCE_NAME \
    --flatten=resourceStatus.upcomingMaintenance \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Instanz.

  • ZONE: die Zone, in der sich die Instanz befindet.

Die Ausgabe sieht in etwa so aus:

  • Wenn für Ihre Instanz eine Hostwartung geplant ist, sieht die Ausgabe so aus:

    ---
    canReschedule: true
    latestWindowStartTime: '2025-11-01T19:00:00Z'
    maintenanceReasons:
    - 'PLANNED_UPDATE'
    - 'PLANNED_NETWORK_UPDATE'
    maintenanceStatus: 'PENDING'
    type: 'SCHEDULED'
    windowEndTime: '2025-11-01T22:00:00Z'
    windowStartTime: '2025-11-01T19:00:00Z'
    
  • Wenn für Ihre Instanz kein Hostwartungsereignis geplant ist, sieht die Ausgabe in etwa so aus:

    ---
    null
    

REST

Um den Wartungsstatus Ihrer Instanzen aufzurufen, stellen Sie eine der folgenden GET-Anfragen. Wenn Sie eine Anfrage stellen, müssen Sie den Abfrageparameter fields einfügen, damit nur der Name, der Maschinentyp und die anstehende Wartung für eine Instanz angezeigt werden. Sie müssen auch den Abfrageparameter filter angeben, um Instanzen nur nach einem bestimmten Maschinentyp zu filtern.

  • So rufen Sie Instanzen in allen Zonen auf: Methode instances.aggregatedList.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
    
  • So rufen Sie Instanzen in einer bestimmten Zone auf: Methode instances.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
    

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem Sie Instanzen erstellt haben.

  • ZONE: die Zone, in der sich die Instanzen befinden.

  • MACHINE_TYPE: Der Maschinentyp, nach dem Sie die Instanzen filtern möchten.

Wenn für eine Instanz ein Hostwartungsereignis geplant ist, enthält die Instanz das Feld upcomingMaintenance:

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
      "resourceStatus": {
        "upcomingMaintenance": {
          "canReschedule": true,
          "latestWindowStartTime": "2024-11-01T19:00:00Z",
          "maintenanceStatus": "PENDING",
          "maintenanceReasons": [
            "PLANNED_UPDATE",
            "PLANNED_NETWORK_UPDATE"
          ],
          "type": "SCHEDULED",
          "windowEndTime": "2024-11-01T22:00:00Z",
          "windowStartTime": "2024-11-01T19:00:00Z"
        }
      }
    },
    ...
  ]
}

Optional können Sie die Liste der Instanzen weiter eingrenzen, indem Sie den filter-Abfrageparameter auf einen anderen Filterausdruck festlegen.

Metadatenserver

So rufen Sie den Wartungsstatus einer Instanz auf:

  1. Stellen Sie eine Verbindung zu Ihrer Linux oder Windows-Instanz her, falls Sie dies noch nicht getan haben.

  2. Wenn Sie den Zeitplan für die bevorstehende Wartung aufrufen möchten, fragen Sie den upcoming-maintenance-Endpunkt ab:

    curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
    

    Wenn für Ihre Instanz eine Hostwartung geplant ist, sieht die Ausgabe so aus:

    "Upcoming maintenance": {
      "can_reschedule": "true",
      "latest_window_start_time": "2024-12-01T19:00:01Z",
      "maintenance_reasons": [
        "PLANNED_UPDATE",
        "PLANNED_NETWORK_UPDATE"
      ],
      "maintenance_status": "PENDING",
      "type": "SCHEDULED",
      "window_end_time": "2024-12-01T21:00:01Z",
      "window_start_time": "2024-12-01T19:00:01Z"
    }
    

    Wenn kein Wartungsereignis für einen Host geplant ist, sieht die Ausgabe in etwa so aus:

    { }
    
  3. Wenn Sie den aktuellen Wartungsstatus einer VM aufrufen möchten, fragen Sie den maintenance-event-Endpunkt ab:

    curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"
    

    Weitere Informationen zur Ausgabe dieser Abfragen finden Sie unter Ausgaben prüfen.

Wartung auf Compute-Instanzen manuell starten

Sie können die Wartung für Ihre Instanzen manuell starten, anstatt auf den geplanten Zeitpunkt zu warten.

Je nach Wartungsstatus einer Instanz passiert Folgendes:

Wartungsstatus Beschreibung Was wird angezeigt?
Geplant Für die Instanz ist eine planmäßige Wartung in Compute Engine vorgesehen. Sie können die Wartung vor dem geplanten Zeitpunkt manuell starten.
  • In der Google Cloud Console wird der Wartungsstatus als Bereit zur Ausführung – wird am DATE ausgeführt angezeigt.
  • In der gcloud CLI oder REST API setzt Compute Engine das Feld maintenanceStatus auf PENDING.
In Bearbeitung Die Wartung läuft. Sie können ihn nicht verschieben.
  • In der Google Cloud Console wird der Wartungsstatus als Wird ausgeführt angezeigt.
  • In der gcloud CLI oder REST API setzt Compute Engine das Feld maintenanceStatus auf ONGOING.
Abgeschlossen Die Wartung ist abgeschlossen. Compute Engine hat alle Wartungsbenachrichtigungen für die Instanz entfernt.
  • In der Google Cloud Console wird der Wartungsstatus als Aktuell angezeigt.
  • In der gcloud CLI oder REST API setzt Compute Engine das Feld maintenanceStatus auf COMPLETE.

Sie können die Wartung für mehrere Instanzen gleichzeitig oder für einzelne Instanzen manuell starten. Bei mehreren Instanzen verwenden Sie die Google Cloud Console oder, für Instanzen in derselben Zone, die gcloud CLI. Wählen Sie für einzelne Instanzen eine der folgenden Optionen aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Wählen Sie die Zeilen für die Instanzen aus, für die Sie die Wartung starten möchten.

  3. Klicken Sie auf  Wartung ausführen.

  4. Klicken Sie zur Bestätigung auf Wartung ausführen.

gcloud

Wenn Sie die Wartung für eine oder mehrere Instanzen in derselben Zone manuell starten möchten, verwenden Sie den Befehl gcloud compute instances perform-maintenance:

gcloud compute instances perform-maintenance INSTANCE_NAMES \
    --zone=ZONE

Ersetzen Sie Folgendes:

  • INSTANCE_NAMES: Eine durch Leerzeichen getrennte Liste von Instanznamen, z. B. vm-01 vm-02 vm-03.

  • ZONE: die Zone, in der sich die Instanzen befinden.

REST

Wenn Sie die Wartung für eine Instanz manuell starten möchten, stellen Sie eine POST-Anfrage an die Methode instances.performMaintenance:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem Sie die Instanz erstellt haben.

  • ZONE: die Zone, in der sich die Instanz befindet.

  • INSTANCE_NAME: der Name der Instanz.

Nächste Schritte