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 imminente dell'host prima che venga eseguita. Quando il periodo di manutenzione ha inizio, Google Cloudesegue 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 e eseguendo query sul server di metadati. Puoi anche visualizzare i prossimi eventi di manutenzione 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 relative alla manutenzione

Le notifiche relative alla manutenzione contengono i seguenti campi:

  • windowStartTime: L'inizio dell'intervallo di tempo in cui verrà eseguita la manutenzione
  • windowEndTime: La fine dell'intervallo 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 verrà comunicata con 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 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 si verifica in genere durante il periodo in cui la VM è attivamente in manutenzione.
  • maintenanceStatus: Lo stato dell'operazione di manutenzione in corso
    • 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 è 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

Per visualizzare le notifiche di manutenzione:

  • Chiamare l'API Cloud TPU utilizzando Google Cloud CLI
  • Eseguire query sul server di metadati sulla VM
  • Controllo di Cloud Logging

Controlla le TPU per una notifica di manutenzione

gcloud

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

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

Se è presente un evento di manutenzione imminente, la risposta contiene 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 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 è presente un evento di manutenzione imminente, la risposta contiene 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 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 ulteriori informazioni sui metadati delle VM, vedi Informazioni sui metadati delle VM nella documentazione di Compute Engine.

Verifica la presenza di una notifica di manutenzione in Cloud Logging

Quando una notifica viene pianificata su Cloud TPU, Cloud Logging contiene un log eventi di sistema per l'evento, con methodName: compute.instance.upcomingMaintenance. Per visualizzare i log per gli eventi di manutenzione imminenti:

  1. Nel menu di navigazione della console Google Cloud , 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 i prossimi eventi di manutenzione in Cloud Logging per la singola istanza VM, ad esempio t1v-n-5bdca789-w-0.

Esempi di log delle notifiche relative alla 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 nei log di controllo 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