Visualizzare le notifiche relative alla manutenzione
Un evento di manutenzione dell'host si verifica quando Google Cloud deve eseguire un'attività di manutenzione o riparazione sulla TPU. Google invia notifiche per la manutenzione imminente dell'hosting prima che venga eseguita. Quando si apre il periodo di manutenzione, Google Cloud esegue automaticamente la manutenzione dell'istanza. Monitorando le finestre di manutenzione imminenti delle tue istanze, puoi preparare in modo proattivo i tuoi carichi di lavoro per gestire la manutenzione imminente con interruzioni minime.
Cloud TPU ti consente di visualizzare le notifiche di manutenzione utilizzando Google Cloud CLI e eseguendo query sul server di metadati. Puoi anche visualizzare gli eventi di manutenzione imminenti in Cloud Logging. Per informazioni su come visualizzare le notifiche di manutenzione per le TPU in GKE, consulta Gestire l'interruzione dei nodi GKE per GPU e TPU.
Campi di notifica della manutenzione
Le notifiche relative alla manutenzione contengono i seguenti campi:
windowStartTime
: l'inizio del periodo di tempo in cui verrà eseguita la manutenzionewindowEndTime
: la fine del periodo di tempo in cui verrà eseguita la manutenzionelatestWindowStartTime
: l'ora massima fino alla quale è possibile spostare il periodo di manutenzionemaintenanceType
: il tipo di manutenzione che verrà eseguitaSCHEDULED
: verrà inviata una notifica di sette giorni prima della manutenzioneUNSCHEDULED
: la manutenzione indica gli aggiornamenti critici per i quali viene fornita meno preavviso rispetto agli eventi di manutenzione pianificata
canReschedule
: indica se puoi avviare manualmente la manutenzione durante il periodo di notifica per questa VM.TRUE
: puoi avviare manualmente la manutenzione durante il periodo di notifica.FALSE
: non puoi avviare manualmente la manutenzione su questa VM. Questo accade in genere durante il periodo in cui la VM è in fase di manutenzione attiva.
maintenanceStatus
: lo stato dell'operazione di manutenzione in corsoONGOING
: l'operazione di manutenzione è in corsoPENDING
: l'operazione di manutenzione non è ancora iniziata, ma è programmata
Se non è presente alcuna notifica di manutenzione, la risposta sarà simile alla seguente:
{ "error": "no notifications have been received yet, try again later" }
Comportamenti dello stato della manutenzione
Quando gestisci gli eventi di manutenzione, controlla i valori di canReschedule
e
maintenanceStatus
. Se combinati, questi campi indicano quali azioni puoi o non puoi intraprendere in merito all'avvio manuale di un evento di manutenzione:
canReschedule=True
emaintenanceStatus=Pending
: puoi avviare manualmente l'evento di manutenzione per l'istanza prima dell'ora di inizio programmata.canReschedule=False
emaintenanceStatus=Ongoing
: la manutenzione è in corso e non può essere riprogrammata.canReschedule=False
emaintenanceStatus=Pending
: la tua istanza non supporta gli eventi di manutenzione attivati manualmente.
Visualizzare le notifiche relative alla manutenzione
Per visualizzare le notifiche relative alla manutenzione:
- Chiamata dell'API Cloud TPU utilizzando Google Cloud CLI
- Eseguire query sul server metadati sulla VM
- Controllo di Cloud Logging
Controllare le TPU per verificare la presenza di una notifica di manutenzione
gcloud
Utilizza il comando gcloud alpha compute tpus tpu-vm
describe
per visualizzare le notifiche relative alla manutenzione:
gcloud alpha compute tpus tpu-vm describe TPU_NAME \ --zone=ZONE
Se è presente un evento di manutenzione imminente, la risposta conterrà una sezione come la seguente:
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 questa risposta:
- La manutenzione è pianificata per la data e l'ora indicate in
windowStartTime
. canReschedule
è impostato sutrue
emaintenanceStatus
suPENDING
. Queste impostazioni indicano che puoi avviare manualmente l'evento di manutenzione pianificato prima della data indicata inlatestWindowStartTime
.
Server dei metadati
Da una VM TPU, esegui una query sul server dei metadati per visualizzare il prossimo evento di manutenzione:
curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Se è presente un evento di manutenzione imminente, la risposta conterrà una sezione simile alla seguente:
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" }
Puoi eseguire query sul server dei metadati da qualsiasi VM TPU nel set perché la notifica relativa all'evento di manutenzione imminente è la stessa per tutte le VM in un set.
Per ulteriori informazioni sui metadati della VM, consulta Informazioni sui metadati della VM nella documentazione di Compute Engine.
Controlla Cloud Logging per una notifica di manutenzione
Quando una notifica è pianificata su Cloud TPU, Cloud Logging conterrà un log eventi di sistema per l'evento con methodName
:
compute.instance.upcomingMaintenance
. Per visualizzare i log degli eventi di manutenzione imminenti:
Nel menu di navigazione della console Google Cloud, vai alla pagina Esplora log:
Utilizza la seguente query di ricerca per visualizzare le TPU per le quali è pianificato un evento di manutenzione imminente:
"compute.instances.upcomingMaintenance"
Cloud TPU registra gli eventi di manutenzione imminenti in Cloud Logging in base alla singola istanza VM, ad esempio
t1v-n-5bdca789-w-0
.
Esempi di log delle notifiche di manutenzione
In Esplora log viene visualizzata una notifica di evento di manutenzione con valori simili ai seguenti:
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
windowStartTime
:"2024-07-23T20:00:00Z"
Di seguito è riportato un esempio di voce di log completa per un evento di manutenzione imminente:
{
"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"
}
Quando inizia l'evento di manutenzione, nei log viene visualizzato un nuovo evento informativo con valori simili ai seguenti:
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
windowStartTime
:"2024-07-23T20:00:00Z"
Al termine dell'evento di manutenzione, nei log di controllo viene visualizzato un nuovo evento informativo con valori simili ai seguenti:
methodName
:"compute.instances.upcomingMaintenance"
status: { message: "Maintenance window has completed for this instance. All maintenance notifications on the instance have been removed." }