Wartungsereignisse mit TPUs im Modus „Alle Kapazitäten“ verwalten
Alle TPU-Hosts werden regelmäßig gewartet. Im Modus „Alle Kapazitäten“ können Sie Wartungsereignisse planen und die Wartungsvorgänge für alle Ihre Kapazitäten nach Bedarf starten. Sie können Ihre genutzte und ungenutzte Kapazität gleichzeitig oder separat aktualisieren. Sie können die Wartung auch auf VM-, Unterblock-, Block- oder Reservierungsebene durchführen. Mit dieser detaillierten Wartungssteuerung können Sie eine optimale Wartungssequenz erstellen und Wartungsvorgänge so planen, dass die Auswirkungen auf Ihr Unternehmen minimiert werden.
Im Kapazitätsmodus wird nur die „gruppierte Wartung“ unterstützt. Das bedeutet, dass die Wartungsvorgänge für alle VM-Instanzen innerhalb einer Reservierung gleichzeitig geplant werden. Alle TPU-VMs in einer Reservierung haben dasselbe Wartungsfenster. Die Wartungsvorgänge können jedoch separat auf Host-, Unterblock-, Block- oder Reservierungsebene durchgeführt werden. Wartungsbenachrichtigungen werden etwa 90 Tage im Voraus gesendet. Wartungsarbeiten werden nicht öfter als einmal alle 90 Tage durchgeführt.
Wenn Sie den Modus „All Capacity“ in GKE verwenden und TPU-Slice-Knotenpools mit mehreren Hosts nutzen, empfehlen wir, den GKE-Knotenpool zu löschen, bevor Sie die ausstehende Wartung für Hosts in diesem Knotenpool manuell starten. Sobald die Wartung für alle Hosts im ursprünglichen Knotenpool ausgeführt wurde, können Sie den Knotenpool neu erstellen.
Das folgende Beispiel zeigt einen Zeitplan für ein TPU-Hostwartungsereignis:
- Wartung ist geplant. Sie erhalten eine Benachrichtigung, dass der Host innerhalb von 90 Tagen aktualisiert wird.
- Sie können den Host innerhalb von 90 Tagen manuell aktualisieren.
- Nach 90 Tagen wird die Wartung ohne Ausnahme ausgeführt.
- Wenn ein weiteres Wartungsereignis geplant ist, bevor das vorherige ausgeführt wird, wird die zweite Operation 180 Tage später ausgeführt, also 90 Tage nach dem geplanten ersten Wartungsereignis.
Benachrichtigungen für Wartungswarnungen für die physische Kapazität einrichten
Compute Engine sendet Ihnen Cloud Logging-Ereignisse für geplante, gestartete oder abgeschlossene Wartungsarbeiten. Diese Wartungsereignisse bleiben in Ihren Logs, sodass Sie Logabfragen erstellen können, um einen Verlauf der Wartung für Ihre Kapazität zu erhalten. Sie können sich auch über zukünftige Wartungsarbeiten für eine Reservierung, einen Block oder einen Unterblock benachrichtigen lassen, indem Sie logbasierte Benachrichtigungsrichtlinien erstellen.
So erstellen Sie eine Benachrichtigung für Wartungsereignisse in Ihrer physischen Kapazität:
- Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
- Die Option Abfrage anzeigen muss aktiviert sein.
- Erstellen Sie im Bereich „Abfrage“ eine Abfrage im Format, das in den folgenden Abschnitten aufgeführt ist. Ersetzen Sie den entsprechenden Parameterplatzhalter und führen Sie die Abfrage aus.
- Wenn Sie sich vergewissert haben, dass die zurückgegebenen Ergebnisse Ihren Anforderungen entsprechen, können Sie Benachrichtigungen erstellen. Wählen Sie dazu in der Symbolleiste „Abfrageergebnisse“ im Drop-down-Menü Aktionen die Option Log-Benachrichtigung erstellen aus und geben Sie die erforderlichen Informationen an.
Nach anstehender Wartung suchen
Hier ist ein Beispiel für eine Abfrage, mit der Sie nach bevorstehenden Wartungsarbeiten suchen können:
protoPayload.methodName="compute.CAPACITY_COMPONENT.upcomingGroupMaintenance" severity>=DEFAULT protoPayload.resourceName="projects/shared-reservation-project/reservations/RESOURCE_NAME" protoPayload.status.message =~ "scheduled"
Ersetzen Sie CAPACITY_COMPONENT und RESOURCE_NAME durch die folgenden Werte:
| Benachrichtigungen über anstehende Wartungen für | CAPACITY_COMPONENT |
RESOURCE_NAME |
|---|---|---|
| Alle Reservierungen | reservations |
RESOURCE_NAME auslassen |
| Eine bestimmte Reservierung | reservations |
YOUR_RESERVATION_NAME |
| Blöcke für alle Reservierungen | reservations.blocks |
RESOURCE_NAME auslassen |
| Ein bestimmter Block | reservations.blocks |
YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID |
| Unterblöcke für alle Reservierungen | reservations.blocks.subblocks |
RESOURCE_NAME auslassen |
| Ein bestimmter Unterblock | reservations.blocks.subblocks |
YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID/reservationSubBlocks/YOUR_RESERVATION_SUBBLOCK_ID |
Abfrage zum Öffnen des Wartungsfensters
protoPayload.methodName="compute.reservations.CAPACITY_COMPONENT.startGroupMaintenance" severity>=DEFAULT protoPayload.status.message =~ "started"
Ersetzen Sie CAPACITY_COMPONENT durch einen der folgenden Werte:
| Benachrichtigungen erhalten, wenn ein Wartungsfenster für | CAPACITY_COMPONENT |
|---|---|
| Blöcke in Reservierungen | reservations.blocks |
| Unterblöcke in einer Reservierung | reservations.blocks.subblocks |
Abfrage nach abgeschlossener Wartung
Hier sehen Sie ein Beispiel für eine Abfrage, mit der Sie nach abgeschlossenen Wartungsarbeiten suchen können:
protoPayload.methodName="compute.reservations.CAPACITY_COMPONENT.completedGroupMaintenance" severity>=DEFAULT protoPayload.resourceName="projects/YOUR_RESERVATION_PROJECT/reservations/RESOURCE" protoPayload.status.message =~ "completed"
Ersetzen Sie CAPACITY_COMPONENT und RESOURCE_NAME durch die folgenden Werte:
| Benachrichtigungen zu abgeschlossenen Wartungsarbeiten für | CAPACITY_COMPONENT |
RESOURCE_NAME |
|---|---|---|
| Alle Reservierungen | reservations |
RESOURCE_NAME weglassen |
| Eine bestimmte Reservierung | reservations |
YOUR_RESERVATION_NAME |
| Blöcke für alle Reservierungen | reservations.blocks |
RESOURCE_NAME weglassen |
| Ein bestimmter Block | reservations.blocks |
YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID |
| Unterblöcke für alle Reservierungen | reservations.blocks.subblocks |
RESOURCE_NAME weglassen |
| Ein bestimmter Unterblock | reservations.blocks.subblocks |
YOUR_RESERVATION_NAME/reservationBlocks/YOUR_RESERVATION_BLOCK_ID/reservationSubBlocks/YOUR_RESERVATION_SUBBLOCK_ID |
Wartungsstatus der physischen Kapazität ansehen
Sie können den Wartungsstatus Ihrer Kapazität über Cloud Logging, APIs und die CLI abrufen. Informationen zum Wartungsstatus werden auf vier Ebenen bereitgestellt: Reservierung, Block, Unterblock und Host.
Cloud Logging
Das folgende Beispiel-JSON wurde als Antwort auf diese Beispielanfrage generiert:
{ "protoPayload": { "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "status": { "message": "Maintenance is scheduled for this block in reservation YOUR_RESERVATION. Review the maintenance schedule by describing the reservation and block via gcloud CLI" }, "metadata": { "type":SCHEDULED "canReschedule":True "windowGroupStartTime": '2025-09-12T13:00:00.000-07:00', "windowGroupEndTime": '2025-09-12T17:00:00.000-07:00', "maintenanceGroupStatus":PENDING, "maintenancePendingCount":128 # Used and Unused Machines, "instanceMaintenancePendingCount": 64 # VMs Only }, "methodName": "compute.reservations.block.upcomingGroupMaintenance", … }, }
gcloud
gcloud compute reservations blocks describe YOUR_RESERVATION \ --block-name=YOUR_BLOCK \ --project=YOUR_PROJECT \ --zone=YOUR_ZONE
Die Ausgabe sieht etwa so aus:
count: 128 # Host count creationTimestamp: '2025-08-19T18:23:32.825-07:00' id: '6404259976725386932' inUseCount: 64 # In use host count kind: compute#reservationBlock name: exr1-block-0002 … reservationMaintenance: instanceMaintenanceOngoingCount: 0 instanceMaintenancePendingCount: 64 # VMs Only maintenanceOngoingCount: 0 maintenancePendingCount: 128 # Used and Unused Hosts schedulingType: GROUPED subblockInfraMaintenanceOngoingCount: 0 subblockInfraMaintenancePendingCount: 0 upcomingGroupMaintenance: canReschedule: true maintenanceReasons: - PLANNED_UPDATE maintenanceStatus: PENDING type: SCHEDULED windowEndTime: '2025-09-12T17:00:00.000-07:00' windowStartTime: '2025-09-12T13:00:00.000-07:00' …
Die folgenden Werte aus der Ausgabe beschreiben die Wartungsinformationen:
reservationMaintenance.instanceMaintenanceOngoingCount: Die Anzahl der aktualisierten verwendeten Hosts.reservationMaintenance.instanceMaintenancePendingCount: Die Anzahl der verwendeten Hosts, für die eine Wartung anstehtreservationMaintenance.maintenanceOngoingCount: Die Anzahl der aktualisierten, nicht verwendeten HostsreservationMaintenance.maintenancePendingCount: Die Anzahl der nicht verwendeten Hosts, für die eine Wartung anstehtreservationMaintenance.upcomingGroupMaintenance.maintenanceReasons: der WartungstypreservationMaintenance.upcomingGroupMaintenance.maintenanceStatus: der Status des WartungsvorgangsreservationMaintenance.upcomingGroupMaintenance.type: der Wartungstyp (SCHEDULEDfür geplante Wartung oderUNSCHEDULEDfür ungeplante oder Notfallwartung)reservationMaintenance.upcomingGroupMaintenance.windowEndTime: das geplante Ende des Zeitfensters für den WartungsvorgangreservationMaintenance.upcomingGroupMaintenance.windowStartTime: der geplante Beginn des Zeitfensters für den Wartungsvorgang
Warnbenachrichtigungen für TPU-VMs einrichten
Sie können Benachrichtigungen für Wartungsereignisse auf Ihren TPU-VMs erstellen:
- Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
- Stellen Sie den Ein/Aus-Button Abfrage anzeigen auf „Ein“.
- Erstellen Sie im Bereich „Abfrage“ eine Abfrage im Format, das in den folgenden Abschnitten aufgeführt ist.
- Wenn Sie sich vergewissert haben, dass die zurückgegebenen Ergebnisse Ihren Anforderungen entsprechen, können Sie eine Benachrichtigung erstellen. Klicken Sie dazu auf das Drop-down-Menü Aktionen, wählen Sie Logbenachrichtigung erstellen aus und geben Sie die Informationen im Bereich Logbasierte Benachrichtigungsrichtlinie erstellen ein.
Abfragen, wann die Wartung für eine VM-Instanz geplant ist
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "scheduled"
Abfragen, wann das Wartungsfenster für eine VM-Instanz geöffnet wurde
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "ongoing"
Abfrage für Wartung für VM-Instanzen gestartet
protoPayload.methodName="compute.instances.blocks.terminateOnHostMaintenance" severity>=DEFAULT
Abfragen, wann die Wartung für eine VM-Instanz abgeschlossen ist
protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT protoPayload.status.message =~ "completed"
Wartungsstatus einer Cloud TPU-VM ansehen
Sie können den Wartungsstatus einer Cloud TPU-VM mit der Compute Engine-Instanz-API oder mit einem curl-Befehl aus dem Gastbetriebssystem abrufen.
Instanz beschreiben
gcloud
gcloud compute instances describe INSTANCE --zone ZONE
Dieser Befehl gibt eine Ausgabe wie die folgende zurück:
… upcomingMaintenance:{ "type":"SCHEDULED" "canReschedule":True "windowStartTime": '2025-09-12T13:00:00.000-07:00' "windowEndTime": '2025-09-12T17:00:00.000-07:00' "latestWindowStartTime": '2025-09-12T13:00:00.000-07:00' "maintenanceStatus":"PENDING" ...
curl
curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Dieser Befehl gibt eine Ausgabe wie die folgende zurück:
{ "maintenanceType":"SCHEDULED" "canReschedule":True "windowStartTime": '2025-09-12T13:00:00.000-07:00' "windowEndTime": '2025-09-12T17:00:00.000-07:00' "latestWindowStartTime": '2025-09-12T13:00:00.000-07:00' "maintenanceStatus":"PENDING" }
Wartungsbenachrichtigungen finden Sie auch in Cloud Logging.
Das folgende Beispiel zeigt einen Logeintrag für eine anstehende geplante Wartung. Ein Beispiel für eine Abfrage finden Sie unter Wartungsstatus der physischen Kapazität ansehen.
{ "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." }, "metadata": { "canReschedule": true "latestWindowStartTime": "2024-01-01:00:00:00PST" "maintenanceStatus": "PENDING" "type": "SCHEDULED" "windowEndTime": "2024-01-01:00:02:00PST" "windowStartTime": "2024-01-01:00:00:00PST" }, }, "operation": { "id": "systemevent-1702539760425-60c736da2db40-701ddf19-b5424b20", "producer": "compute.instances.upcomingMaintenance", "first": true, "last": false }, }
Das folgende Beispiel zeigt eine Log-Meldung für eine laufende ungeplante Wartung. Eine Beispielabfrage finden Sie unter Abfragen, wann ein Wartungsfenster geöffnet ist.
{ "protoPayload": { "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "status": { "message": "Maintenance window has started 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." }, "metadata": { "canReschedule": true "latestWindowStartTime": "2024-01-01:00:00:00PST" "maintenanceStatus": "ONGOING" "type": "UNSCHEDULED" "windowEndTime": "2024-01-01:00:02:00PST" "windowStartTime": "2024-01-01:00:00:00PST" }, }, "operation": { "id": "systemevent-1702539760425-60c736da2db40-701ddf19-b5424b20", "producer": "compute.instances.upcomingMaintenance", "first": true, "last": false }, }
Das folgende Beispiel zeigt einen Logeintrag für eine abgeschlossene Wartung. Ein Beispiel für eine Abfrage finden Sie unter Abfragen, wann die Wartung für eine VM-Instanz abgeschlossen ist.
{ "protoPayload": { "@type": "type.googleapis.com/google.cloud.audit.AuditLog", "status": { "message": "Maintenance window has completed for this instance. All maintenance notifications on the instance have been removed." }, "operation": { "id": "systemevent-1702539760425-60c736da2db40-701ddf19-b5424b20", "producer": "compute.instances.upcomingMaintenance", "first": false, "last": true }, }
Ausstehende Wartung für physische Kapazität manuell starten
Sobald ein Wartungsereignis geplant ist (maintenanceStatus ist auf PENDING festgelegt), können Sie die Wartung für Ihre Reservierungen, Blöcke oder Unterblöcke, für die die Eigenschaft canReschedule auf True festgelegt ist, manuell starten. Wenn Sie ein ausstehendes Wartungsereignis manuell starten, hängt das Ergebnis vom Wartungsstatus Ihrer Reservierung, Blöcke oder Unterblöcke ab. In der folgenden Tabelle wird beschrieben, was in den einzelnen Fällen passiert:
| Wartungsstatus | Beschreibung | Was wird angezeigt? |
|---|---|---|
| Geplant | Für die Reservierung ist eine Compute Engine-Wartung geplant. Sie können die Wartung vor dem geplanten Zeitpunkt manuell starten. | In der Google Cloud CLI oder REST API ist das Feld maintenanceStatus auf PENDING festgelegt. |
| In Bearbeitung | Die Wartung läuft. Sie können ihn nicht verschieben. | In der Google Cloud CLI oder REST API ist das Feld maintenanceStatus auf ONGOING festgelegt. |
| Abgeschlossen | Die Wartung ist abgeschlossen. Compute Engine hat alle Wartungsbenachrichtigungen von der VM entfernt. | In der Google Cloud CLI oder REST API ist das Feld maintenanceStatus nicht vorhanden. |
Wartung für die gesamte Reservierung manuell starten
Mit dem folgenden Befehl wird die Wartung für eine Reservierung gestartet. Verwenden Sie den Parameter --scope, um einen der folgenden Werte anzugeben, der den Umfang des Wartungsvorgangs festlegt:
- Alle Hosts:
--scope=all - Hosts mit laufenden VMs:
--scope=running - Nicht verwendete, beendete oder angehaltene VMs:
--scope=unused
Führen Sie den folgenden Befehl aus, um die Wartung für alle Blöcke einer Reservierung zu starten:
gcloud compute reservations perform-maintenance YOUR_RESERVATION \ --zone=YOUR_ZONE \ --scope=all
Führen Sie den folgenden Befehl aus, um den Fortschritt eines Wartungsereignisses zu prüfen:
gcloud compute reservations describe YOUR_RESERVATION \ --project=YOUR_PROJECT \ --zone=YOUR_ZONE
Die Ausgabe sieht etwa so aus:
ResourceStatus upcomingGroupMaintenance: "type":"SCHEDULED" "canReschedule":True "maintenanceStatus":"PENDING" → "ONGOING" "maintenancePendingCount":512 → 0 # all hosts are moved into an ongoing state. "maintenanceOngoingCount":0 → 512 → 256 → 0 # this number first increases to all hosts # as machines complete, this number reduces.
Wartung für einen Block manuell starten
Mit dem folgenden Befehl wird die Wartung für einen Block gestartet. Verwenden Sie den Parameter --scope, um einen der folgenden Werte anzugeben, der den Umfang des Wartungsvorgangs bestimmt:
- Alle Hosts:
--scope=all - Hosts mit laufenden VMs:
--scope=running - Nicht verwendete, beendete oder angehaltene VMs:
--scope=unused
Der folgende Befehl zeigt, wie die Wartung auf laufenden Hosts gestartet wird:
gcloud compute reservations blocks perform-maintenance YOUR_RESERVATION \ --block-name=YOUR_BLOCK_NAME \ --scope=RUNNING \ --project=YOUR_PROJECT \ --zone=YOUR_ZONE
Der folgende Befehl zeigt, wie Sie den Wartungsfortschritt für einen Block prüfen:
gcloud compute reservations blocks describe YOUR_RESERVATION \ --block-name=YOUR_BLOCK_NAME \ --project=YOUR_PROJECT \ --zone=YOUR_ZONE
Die Ausgabe sieht etwa so aus:
ResourceStatus upcomingGroupMaintenance: "maintenanceType":"SCHEDULED" … "maintenanceGroupStatus":"PENDING" → "ONGOING" "maintenancePending":0 "maintenanceOngoing":70 → 0
Wartung für einen Unterblock manuell starten
Wenn Sie die Wartung für einen Unterblock starten, geben Sie den Parameter --scope nicht an, da ein Unterblock der kleinste Wartungsbereich ist.
Mit dem folgenden Befehl wird die Wartung auf allen Hosts in einem Block gestartet:
gcloud compute reservations sub-blocks perform-maintenance YOUR_RESERVATION \ --block-name=YOUR_BLOCK_NAME \ --sub-block-name=YOUR_SUBBLOCK_NAME \ --project=YOUR_PROJECT \ --zone=YOUR_ZONE
Mit dem folgenden Befehl wird der Wartungsfortschritt geprüft:
gcloud compute reservations sub-blocks describe YOUR_RESERVATION \ --block-name=YOUR_BLOCK_NAME \ --sub-block-name=YOUR_SUBBLOCK_NAME \ --project=YOUR_PROJECT \ --zone=YOUR_ZONE
Die Ausgabe sieht etwa so aus:
ResourceStatus groupMaintenance: "maintenanceType":"SCHEDULED" "canReschedule":True "maintenanceGroupStatus":"PENDING" → "ONGOING" "maintenancePendingCount": 32 → 0 # 32 hosts updated "maintenanceOngoingCount":0 → 32 → 0 "instanceMaintenancePendingCount": 64 → 0 "instanceMaintenanceOngoingCount": 0 → 64 → 0 # 64 instances updated
Ausstehende Wartung für eine TPU-VM manuell starten
Wenn auf einem Host mehrere VMs ausgeführt werden, wird durch das Starten der Wartung für eine VM die Wartung für alle VMs auf dem Host ausgelöst. Informationen zum manuellen Starten eines Wartungsereignisses für eine TPU-VM finden Sie in der Compute Engine-Dokumentation unter Host-Wartungsereignis manuell starten.