Wartungsbenachrichtigungen aufrufen
Bei einem Hostwartungsereignis muss Google Cloud Wartungs- oder Reparaturarbeiten an Ihrer TPU ausführen. Google sendet Benachrichtigungen über bevorstehende Hostwartungen, bevor die Wartung durchgeführt wird. Wenn sich das Wartungsfenster öffnet,führt Google Cloudautomatisch eine Wartung für Ihre Instanz aus. Durch Überwachung der anstehenden Wartungsfenster Ihrer Instanz können Sie Ihre Arbeitslasten proaktiv darauf vorbereiten, die bevorstehende Wartung mit minimalen Unterbrechungen abzuwickeln.
Bei Cloud TPU können Sie Wartungsbenachrichtigungen über die Google Cloud CLI und durch Abfragen des Metadatenservers aufrufen. Sie können anstehende Wartungsereignisse auch in Cloud Logging aufrufen. Informationen zum Aufrufen von Wartungsbenachrichtigungen für TPUs in GKE finden Sie unter GKE-Knotenunterbrechungen für GPUs und TPUs verwalten.
Felder für Wartungsbenachrichtigungen
Wartungsbenachrichtigungen enthalten die folgenden Felder:
windowStartTime
: Beginn des WartungszeitraumswindowEndTime
: Das Ende des WartungszeitraumslatestWindowStartTime
: Die späteste Zeit, zu der das Wartungsfenster verschoben werden kannmaintenanceType
: Der Typ der Wartung, die durchgeführt wirdSCHEDULED
: Die Wartung wird sieben Tage im Voraus angekündigt.UNSCHEDULED
: Die Wartung stellt kritische Aktualisierungen dar, für die weniger Vorabankündigungen ausgegeben werden als für geplante Wartungsereignisse.
canReschedule
: Gibt an, ob Sie die Wartung während des Benachrichtigungszeitraums für diese VM manuell starten können.TRUE
: Sie können die Wartung während des Benachrichtigungszeitraums manuell starten.FALSE
: Sie können die Wartung für diese VM nicht manuell starten. Dies tritt in der Regel in dem Zeitraum auf, in dem die VM aktiv gewartet wird.
maintenanceStatus
: Der Status des aktuellen WartungsvorgangsONGOING
: Der Wartungsvorgang wird ausgeführtPENDING
: Der 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" }
Verhalten bei Wartungsstatus
Prüfen Sie beim Verwalten von Wartungsereignissen die Werte für canReschedule
und maintenanceStatus
. Zusammen geben diese Felder an, welche Aktionen Sie ausführen können oder nicht, wenn Sie ein Wartungsereignis manuell starten möchten:
canReschedule=True
undmaintenanceStatus=Pending
: Sie können das Wartungsereignis für die Instanz vor dem geplanten Beginn manuell starten.canReschedule=False
undmaintenanceStatus=Ongoing
: Die Wartung ist bereits in vollem Gange und kann nicht verschoben werden.canReschedule=False
undmaintenanceStatus=Pending
: Ihre Instanz unterstützt keine manuell ausgelösten Wartungsereignisse.
Wartungsbenachrichtigungen aufrufen
So rufen Sie Wartungsbenachrichtigungen auf:
- Cloud TPU API mit der Google Cloud CLI aufrufen
- Metadatenserver auf Ihrer VM abfragen
- Cloud Logging prüfen
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 anstehender Wartungsvorgang vorliegt, enthält die Antwort einen Abschnitt wie diesen:
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"
In dieser Antwort:
- Die Wartung ist für das in
windowStartTime
angegebene Datum und die angegebene Uhrzeit geplant. canReschedule
ist auftrue
undmaintenanceStatus
aufPENDING
gesetzt. Diese Einstellungen weisen darauf hin, dass Sie das geplante Wartungsereignis vor dem inlatestWindowStartTime
angezeigten Datum manuell starten können.
Metadatenserver
Fragen Sie den Metadatenserver von einer TPU-VM aus ab, um das nächste Wartungsereignis anzusehen:
curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Wenn eine anstehende Wartung ansteht, 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 zum bevorstehenden Wartungsereignis für alle VMs in einem Slice identisch ist.
Weitere Informationen zu VM-Metadaten finden Sie in der Compute Engine-Dokumentation unter Informationen zu VM-Metadaten.
Cloud Logging auf Wartungsbenachrichtigungen prüfen
Wenn auf Ihrer Cloud TPU eine Benachrichtigung geplant ist, enthält Cloud Logging ein Systemereignisprotokoll für das Ereignis mit der methodName
:compute.instance.upcomingMaintenance
. So rufen Sie Protokolle für bevorstehende Wartungsereignisse auf:
Rufen Sie im Navigationsmenü der Google Cloud Console die Seite „Log-Explorer“ auf:
Mit der folgenden Suchabfrage können Sie alle TPUs abrufen, für die eine anstehende Wartung geplant ist:
"compute.instances.upcomingMaintenance"
Cloud TPU protokolliert anstehende Wartungsereignisse in Cloud Logging nach der einzelnen VM-Instanz, z. B.
t1v-n-5bdca789-w-0
.
Beispiele für Wartungsbenachrichtigungsprotokolle
Im Log-Explorer wird eine Benachrichtigung zu Wartungsereignissen mit Werten angezeigt, die etwa so aussehen:
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 das Wartungsereignis beginnt, wird in den Protokollen ein neues Informationsereignis mit Werten wie den folgenden angezeigt:
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
windowStartTime
:"2024-07-23T20:00:00Z"
Nach dem Ende des Wartungsereignisses wird in den Audit-Logs 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." }