Wartungsbenachrichtigungen ansehen

Ein Hostwartungsereignis tritt auf, wenn Google Cloud Wartungs- oder Reparaturaktivitäten an Ihrer TPU durchführen muss. Google sendet Benachrichtigungen über bevorstehende Hostwartungen, bevor die Wartung durchgeführt wird. Wenn das Wartungsfenster geöffnet wird, führt Google Cloudautomatisch eine Wartung für Ihre Instanz durch. Wenn Sie die bevorstehenden Wartungsfenster Ihrer Instanz im Auge behalten, können Sie Ihre Arbeitslasten proaktiv so vorbereiten, dass die bevorstehende Wartung nur minimale Unterbrechungen verursacht.

Mit Cloud TPU können Sie sich Wartungsbenachrichtigungen über die Google Cloud CLI und durch Abfragen des Metadatenservers ansehen. Außerdem sind bevorstehende Wartungsereignisse in Cloud Logging aufgeführt. Informationen zum Aufrufen von Wartungsbenachrichtigungen für TPUs in GKE finden Sie unter GKE-Knotenunterbrechungen für GPUs und TPUs verwalten.

Felder in Wartungsbenachrichtigungen

Wartungsbenachrichtigungen enthalten die folgenden Felder:

  • windowStartTime: der Beginn des Zeitfensters, in dem die Wartung durchgeführt wird
  • windowEndTime: das Ende des Zeitfensters, in dem die Wartung durchgeführt wird
  • latestWindowStartTime: der späteste Zeitpunkt, bis zu dem das Wartungsfenster verschoben werden kann
  • maintenanceType: der Typ der Wartung, die durchgeführt wird
    • SCHEDULED: Die Wartung wird sieben Tage im Voraus angekündigt.
    • UNSCHEDULED: Die Wartung umfasst wichtige Updates, für die eine kürzere Vorankündigungszeit gilt als für geplante Wartungsarbeiten.
  • canReschedule: gibt an, ob Sie die Wartung innerhalb des Benachrichtigungszeitraums für diese VM manuell starten können
    • TRUE: Die Wartung kann innerhalb des Benachrichtigungszeitraums manuell gestartet werden.
    • FALSE: Die Wartung für diese VM kann nicht manuell gestartet werden. Dies ist in der Regel der Fall, wenn bereits eine VM-Wartung läuft.
  • maintenanceStatus: der aktuelle Status des Wartungsvorgangs
    • ONGOING: Wartungsvorgang läuft
    • PENDING: Wartungsvorgang wurde noch nicht gestartet, ist aber geplant

Wenn keine Wartungsbenachrichtigung vorhanden ist, sieht die Antwort in etwa so aus:

{ "error": "no notifications have been received yet, try again later" }

Wartungsstatus

Prüfen Sie beim Verwalten von Wartungen die Werte für canReschedule und maintenanceStatus. In Kombination geben diese Felder an, welche Aktionen Sie in Bezug auf das manuelle Starten eines Wartungsereignisses ausführen können:

  • canReschedule=True und maintenanceStatus=Pending: Sie können das Wartungsereignis für die Instanz vor dem geplanten Startzeitpunkt manuell starten.
  • canReschedule=False und maintenanceStatus=Ongoing: Die Wartung läuft und kann nicht verschoben werden.
  • canReschedule=False und maintenanceStatus=Pending: Ihre Instanz unterstützt keine manuell ausgelösten Wartungsereignisse.

Wartungsbenachrichtigungen ansehen

So können Sie Wartungsbenachrichtigungen aufrufen, indem Sie:

  • die Cloud TPU API mit der Google Cloud CLI aufrufen
  • Metadatenserver auf Ihrer VM abfragen
  • in Cloud Logging nachsehen

TPUs auf Wartungsbenachrichtigungen prüfen

gcloud

Verwenden Sie den Befehl gcloud alpha compute tpus tpu-vm describe, um Wartungsbenachrichtigungen aufzurufen:

gcloud alpha compute tpus tpu-vm describe TPU_NAME \
    --zone=ZONE

Wenn ein Wartungsereignis bevorsteht, enthält die Antwort einen Abschnitt wie den folgenden:

upcomingMaintenance:
    canReschedule: true
    latestWindowStartTime: "2025-12-01T19:00:00Z"
    maintenanceStatus: PENDING
    type: SCHEDULED
    windowEndTime: "2025-12-01T22:00:00Z"
    windowStartTime: "2025-12-01T19:00:00Z"

Erläuterung:

  • Die Wartung ist für das Datum und die Uhrzeit geplant, die in windowStartTime angezeigt werden.
  • canReschedule ist auf true und maintenanceStatus auf PENDING gesetzt. Diese Einstellungen weisen darauf hin, dass Sie das geplante Wartungsereignis vor dem in latestWindowStartTime angezeigten Datum manuell starten können.

Metadatenserver

Fragen Sie von einer TPU-VM aus den Metadatenserver ab, um das nächste Wartungsereignis zu sehen:

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

Wenn ein Wartungsereignis bevorsteht, enthält die Antwort einen Abschnitt, der in etwa so aussieht:

Upcoming maintenance: {
    "can_reschedule" : "true",
    "latest_window_start_time" : "2024-06-12T16:00:01+00:00",
    "maintenance_status" : "PENDING",
    "type" : "SCHEDULED",
    "window_end_time" : "2024-06-12T20:00:00+00:00",
    "window_start_time" : "2024-06-12T16:00:00+00:00"
}

Sie können den Metadatenserver von jeder TPU-VM im Slice abfragen, da die Benachrichtigung über das bevorstehende Wartungsereignis für alle VMs in einem Slice gleich ist.

Weitere Informationen zu VM-Metadaten finden Sie in der Compute Engine-Dokumentation unter VM-Metadaten.

Cloud Logging auf Wartungsbenachrichtigungen prüfen

Wenn eine Wartung für Ihre Cloud TPU geplant ist, enthält Cloud Logging ein Systemereignislog für das Ereignis mit methodName: compute.instance.upcomingMaintenance. So rufen Sie Logs für bevorstehende Wartungsereignisse auf:

  1. Rufen Sie über das Navigationsmenü der Google Cloud Console die Seite „Log-Explorer“ auf:

    Zum Log-Explorer

  2. Verwenden Sie die folgende Suchanfrage, um alle TPUs aufzurufen, für die ein Wartungsereignis geplant ist:

    "compute.instances.upcomingMaintenance"

    Cloud TPU protokolliert bevorstehende Wartungsereignisse in Cloud Logging für einzelne VM-Instanzen, z. B. t1v-n-5bdca789-w-0.

Beispiele für Wartungsbenachrichtigungslogs

Im Log-Explorer wird eine Benachrichtigung über ein Wartungsereignis mit Werten angezeigt, die den folgenden ähneln:

  • methodName: "compute.instances.upcomingMaintenance"
  • metadata:
    • maintenanceStatus: "PENDING"
    • windowStartTime: "2024-07-23T20:00:00Z"

Das folgende Beispiel zeigt einen vollständigen Logeintrag für ein bevorstehendes Wartungsereignis:

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "message": "Maintenance is scheduled for this instance. Review the maintenance schedule by describing the VM with gcloud CLI or querying the http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance metadata key."
    },
    "serviceName": "compute.googleapis.com",
    "methodName": "compute.instances.upcomingMaintenance",
    "resourceName": "projects/cloud-tpu-multipod-dev/zones/europe-west4-b/instances/t1v-n-9472280f-w-0",
    "request": {
      "@type": "type.googleapis.com/compute.instances.upcomingMaintenance"
    },
    "metadata": {
      "type": "SCHEDULED",
      "windowStartTime": "2024-11-15T04:00:00Z",
      "canReschedule": true,
      "latestWindowStartTime": "2024-11-15T04:00:01Z",
      "windowEndTime": "2024-11-15T08:00:00Z",
      "maintenanceStatus": "PENDING"
  },
  "logName": "projects/cloud-tpu-multipod-dev/logs/cloudaudit.googleapis.com%2Fsystem_event",
  "operation": {
    "id": "systemevent-1731038451389-6265ecbfcd453-5127b81e-f40b8149",
    "producer": "compute.instances.upcomingMaintenance",
    "first": true,
    "last": true
  },
  "receiveTimestamp": "2024-11-08T04:00:54.457835088Z"
}

Wenn die Wartung beginnt, wird in den Logs ein neues Informationsereignis mit Werten ähnlich den folgenden angezeigt:

  • methodName: "compute.instances.upcomingMaintenance"
  • metadata:
    • maintenanceStatus: "ONGOING"
    • windowStartTime: "2024-07-23T20:00:00Z"

Nach der Wartung wird im Audit-Log ein neues Informationsereignis mit Werten wie den folgenden angezeigt:

  • methodName: "compute.instances.upcomingMaintenance"
  • status: { message: "Maintenance window has completed for this instance. All maintenance notifications on the instance have been removed." }

Nächste Schritte