Hostereignisse für H4D-VMs verwalten

In diesem Dokument wird beschrieben, wie Sie die Host-Wartungsfunktionen verwenden, die für H4D-VMs verfügbar sind. Darin wird erläutert, wie Sie geplante Wartungsarbeiten an VM-Instanzen überwachen, planen und durchführen. Informationen zum Verwalten der Wartung für Ihre reservierten Kapazitätsblöcke, unabhängig davon, ob VMs darauf ausgeführt werden, finden Sie unter Hostereignisse für mehrere Reservierungen verwalten.

Wenn Sie anstehende Hostwartungsereignisse auf Ihren VMs 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 VMs 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 VMs erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um Hostwartungsereignisse für VMs zu verwalten:

  • So rufen Sie die Details einer VM 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 VMs zu optimieren:

  1. Informationen zur Hostwartung Hier erfahren Sie mehr über die Häufigkeit und das Wartungsverhalten Ihrer VMs basierend auf ihrer Maschinenserie. Diese Informationen helfen Ihnen, Unterbrechungen Ihrer Arbeitslasten zu minimieren.

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

  3. Wartung für VMs verwalten Sehen Sie nach, ob für Ihre VMs Wartungsarbeiten geplant sind. Bei Bedarf können Sie die Wartung für Ihre VMs 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

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 die reguläre Wartung der Compute Engine-Infrastruktur oder in seltenen Fällen einen Hostfehler umfassen. Compute Engine wendet auch einige nicht störende, einfache Upgrades für den Hypervisor und das Netzwerk im Hintergrund an.

Die H4D-Maschinenserie bietet die folgenden Funktionen für die Hostwartung:

Maschinentyp Typische Häufigkeit geplanter Wartungsereignisse Wartungsverhalten Erweiterte Benachrichtigung On-Demand-Wartung Wartung simulieren
h4d-standard-192 Mindestens 30 Tage Beenden 7 Tage Ja Nein
h4d-highmem-192 Mindestens 30 Tage Beenden 7 Tage Ja Nein
h4d-highmem-192-lssd Mindestens 30 Tage Wird mit Datenpersistenz auf lokalen SSDs beendet 7 Tage Ja Nein

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.

Benachrichtigungen für VMs einrichten

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

Führen Sie die folgenden Schritte aus, um eine Benachrichtigung für die Wartungsereignisse Ihrer VMs zu erstellen. Wiederholen Sie diesen Vorgang für jede Benachrichtigung, die Sie erstellen möchten.

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

    Zum Log-Explorer

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

  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 VM geplant ist:

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

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "ongoing"
      
    • So erhalten Sie Benachrichtigungen, wenn die Wartung für eine VM gestartet wurde:

      protoPayload.methodName="compute.instance.terminateOnHostMaintenance" severity>=DEFAULT
      
    • So erhalten Sie Benachrichtigungen, wenn die Wartung einer VM 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 VMs verwalten

Sie haben folgende Möglichkeiten, Wartungsarbeiten für Ihre VMs anzusehen und zu steuern:

Wartungsstatus von VMs ansehen

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

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

Wartungstyp Wartungsgrund VM-Status
Geplante Wartung für die regelmäßige Wartung
  • PLANNED_UPDATE: Geplante Wartung der Infrastruktur
  • PLANNED_NETWORK_UPDATE: Geplante Netzwerkwartung
Gilt für ausgeführte, beendete oder angehaltene VMs.
Außerplanmäßige Wartung
  • FAILURE_DISK: Ungeplante Wartung aufgrund eines Fehlers auf einem Laufwerk, das an eine VM angehängt ist.
  • 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: Ungeplante Wartung aufgrund eines Fehlers im Arbeitsspeicher einer VM.
  • FAILURE_NETWORK: Aufgrund eines Fehlers im Netzwerk ist eine ungeplante Wartung geplant.
Gilt nur für ausgeführte VMs.

Wenn Sie das Feld maintenanceReasons in einer VM aufrufen möchten, müssen Sie die gcloud CLI oder die REST API verwenden. Wenn Sie den Wartungsstatus für mehrere VMs 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 VMs 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 VM aufzurufen:

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

Ersetzen Sie Folgendes:

  • VM_NAME: der VM-Name

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

Die Ausgabe sieht in etwa so aus:

  • Wenn ein Hostwartungsereignis für Ihre VM 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 VM kein Hostwartungsereignis geplant ist, sieht die Ausgabe so aus:

    ---
    null
    

REST

Senden Sie eine der folgenden GET-Anfragen, um den Wartungsstatus Ihrer VMs aufzurufen. 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 VM angezeigt werden. Sie müssen auch den Suchparameter filter angeben, um VMs nur nach einem bestimmten Maschinentyp zu filtern.

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

    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 VMs 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 VMs erstellt haben.

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

  • MACHINE_TYPE: der Maschinentyp, nach dem Sie die VMs filtern möchten.

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

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west4-b/machineTypes/h4d-highmem-192-lssd",
      "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 VMs weiter eingrenzen, indem Sie den filter-Abfrageparameter auf einen anderen Filterausdruck festlegen.

Metadatenserver

So rufen Sie den Wartungsstatus einer VM auf:

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

  2. Fragen Sie den Metadatenserver so ab:

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

    Wenn ein Hostwartungsereignis für Ihre VM 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:

    { }
    

Wartung für VMs manuell starten

Sie können die Wartung für Ihre VMs manuell starten, anstatt auf die geplante Zeit zu warten.

Je nach Wartungsstatus einer VM passiert Folgendes:

Wartungsstatus Beschreibung Was wird angezeigt?
Geplant Für die VM ist eine geplante 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 den Termin 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 von der VM 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 VMs gleichzeitig oder für einzelne VMs manuell starten. Bei mehreren VMs verwenden Sie die Google Cloud Console oder, bei VMs in derselben Zone, die gcloud CLI. Wählen Sie für einzelne VMs 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 VMs 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

Verwenden Sie den Befehl gcloud compute instances perform-maintenance, um die Wartung für eine oder mehrere VMs in derselben Zone manuell zu starten:

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

Ersetzen Sie Folgendes:

  • VM_NAMES: Eine Liste von VM-Namen, die durch Leerzeichen getrennt sind, z. B. vm-01 vm-02 vm-03.

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

REST

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

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

Ersetzen Sie Folgendes:

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

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

  • VM_NAME: der VM-Name