Visualizza le notifiche di manutenzione

Un evento di manutenzione dell'host si verifica quando Google Cloud deve eseguire un'attività di manutenzione o riparazione sulla tua TPU. Google invia notifiche per la manutenzione dell'host imminente prima che venga eseguita la manutenzione. Quando il periodo di manutenzione ha inizio, Google Cloud esegue automaticamente la manutenzione dell'istanza. Monitorando i periodi di manutenzione imminenti dell'istanza, puoi preparare in modo proattivo i tuoi workload per gestire la manutenzione imminente con interruzioni minime.

Cloud TPU ti consente di visualizzare le notifiche di manutenzione utilizzando Google Cloud CLI ed eseguendo una query sul server di metadati. Puoi anche visualizzare gli eventi di manutenzione imminenti in Cloud Logging. Per informazioni sulla visualizzazione delle notifiche di manutenzione per le TPU in GKE, consulta Gestire l'interruzione dei nodi GKE per GPU e TPU.

Campi delle notifiche di manutenzione

Le notifiche di manutenzione contengono i seguenti campi:

  • windowStartTime: l'inizio del periodo di tempo in cui verrà eseguita la manutenzione
  • windowEndTime: la fine del periodo di tempo in cui verrà eseguita la manutenzione
  • latestWindowStartTime: l'ora massima a cui è possibile spostare il periodo di manutenzione
  • maintenanceType: il tipo di manutenzione che verrà eseguita
    • SCHEDULED: la manutenzione riceverà un preavviso di sette giorni
    • UNSCHEDULED: la manutenzione rappresenta aggiornamenti critici per i quali viene fornito un preavviso con meno anticipo rispetto agli eventi di manutenzione pianificati
  • 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. In genere, questo si verifica durante il periodo in cui la VM è in fase di manutenzione attiva.
  • maintenanceStatus: lo stato attuale dell'operazione di manutenzione
    • ONGOING: l'operazione di manutenzione è in corso
    • PENDING: l'operazione di manutenzione non è ancora iniziata, ma è pianificata

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 le azioni che puoi o non puoi intraprendere in merito all'avvio manuale di un evento di manutenzione:

  • canReschedule=True e maintenanceStatus=Pending: puoi avviare manualmente l'evento di manutenzione per l'istanza prima dell'ora di inizio programmata.
  • canReschedule=False e maintenanceStatus=Ongoing: la manutenzione è in corso e non può essere riprogrammata.
  • canReschedule=False e maintenanceStatus=Pending: la tua istanza non supporta gli eventi di manutenzione attivati manualmente.

Visualizza le notifiche di manutenzione

Puoi visualizzare le notifiche di manutenzione:

  • Chiamando l'API Cloud TPU utilizzando Google Cloud CLI
  • Eseguendo una query sul server di metadati sulla VM
  • Controllando Cloud Logging

Verifica la presenza di una notifica di manutenzione nelle TPU

gcloud

Utilizza il gcloud alpha compute tpus tpu-vm describe comando per visualizzare le notifiche di manutenzione:

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

Se è previsto un evento di manutenzione, la risposta conterrà una sezione simile alla 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 ora indicata in windowStartTime.
  • canReschedule è impostato su true e maintenanceStatus è impostato su PENDING. Queste impostazioni indicano che puoi avviare manualmente l'evento di manutenzione pianificato prima della data indicata in latestWindowStartTime.

Server di metadati

Da una VM TPU, esegui una query sul server di 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 è previsto un evento di manutenzione, 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 una query sul server di metadati da qualsiasi VM TPU nello slice perché la notifica dell'evento di manutenzione imminente è la stessa per tutte le VM in uno slice.

Per maggiori informazioni sui metadati delle VM, consulta Informazioni sui metadati delle VM nella documentazione di Compute Engine.

Verifica la presenza di una notifica di manutenzione in Cloud Logging

Quando una notifica è pianificata sulla tua Cloud TPU, Cloud Logging conterrà un log degli eventi di sistema per l'evento, con methodName: compute.instance.upcomingMaintenance. Per visualizzare i log degli eventi di manutenzione imminenti:

  1. Nel menu di navigazione della Google Cloud console, vai alla pagina Esplora log:

    Vai a Esplora log

  2. Utilizza la seguente query di ricerca per visualizzare le TPU per cui è pianificato un evento di manutenzione imminente:

    "compute.instances.upcomingMaintenance"

    Cloud TPU registra gli eventi di manutenzione imminenti in Cloud Logging per la 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, viene visualizzato un nuovo evento informativo negli audit log 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." }

Passaggi successivi