Conferir notificações de manutenção

Um evento de manutenção do host ocorre quando o Google Cloud precisa realizar uma atividade de manutenção ou conserto na TPU. O Google envia notificações sobre a próxima manutenção do host antes que ela seja realizada. Quando a janela de manutenção é aberta,o Google Cloud realiza a manutenção automaticamente na sua instância. Ao monitorar as próximas janelas de manutenção da instância, é possível preparar proativamente as cargas de trabalho para lidar com a manutenção futura com o mínimo de interrupção.

O Cloud TPU permite que você confira notificações de manutenção usando a Google Cloud CLI e consulte o servidor de metadados. Também é possível conferir os próximos eventos de manutenção no Cloud Logging. Para informações sobre como visualizar notificações de manutenção de TPUs no GKE, consulte Gerenciar a interrupção de nós do GKE para GPUs e TPUs.

Campos de notificação de manutenção

As notificações de manutenção contêm os seguintes campos:

  • windowStartTime: o início da janela de tempo em que a manutenção vai ocorrer
  • windowEndTime: o fim da janela de tempo em que a manutenção vai ocorrer
  • latestWindowStartTime: o horário mais recente para o qual a janela de manutenção pode ser movida
  • maintenanceType: o tipo de manutenção que será realizado
    • SCHEDULED: haverá um aviso sobre a manutenção com sete dias de antecedência
    • UNSCHEDULED: a manutenção representa atualizações críticas com muito menos avisos do que os eventos de manutenção programados
  • canReschedule: se é possível iniciar manualmente a manutenção durante o período de notificação dessa VM.
    • TRUE: é possível iniciar a manutenção manualmente durante o período de notificação.
    • FALSE: não é possível iniciar a manutenção manualmente nessa VM. Isso geralmente é observado durante o período em que a VM está sendo mantida ativamente.
  • maintenanceStatus: o status da operação de manutenção atual
    • ONGOING: a operação de manutenção está em andamento
    • PENDING: a operação de manutenção ainda não foi iniciada, mas está programada

Se não houver uma notificação de manutenção, a resposta será semelhante a esta:

{ "error": "no notifications have been received yet, try again later" }

Comportamentos do status de manutenção

Ao gerenciar eventos de manutenção, confira os valores de canReschedule e maintenanceStatus. Quando combinados, esses campos indicam quais ações podem ser realizadas ou não para iniciar manualmente um evento de manutenção:

  • canReschedule=True e maintenanceStatus=Pending: é possível iniciar manualmente o evento de manutenção da instância antes do horário de início programado.
  • canReschedule=False e maintenanceStatus=Ongoing: a manutenção está em andamento e não pode ser reprogramada.
  • canReschedule=False e maintenanceStatus=Pending: sua instância não oferece suporte a eventos de manutenção acionados manualmente.

Conferir notificações de manutenção

Para conferir as notificações de manutenção, faça o seguinte:

  • Como chamar a API Cloud TPU usando a Google Cloud CLI
  • Consultar o servidor de metadados na VM
  • Como verificar o Cloud Logging

Verificar se há uma notificação de manutenção nos TPUs

gcloud

Use o comando gcloud alpha compute tpus tpu-vm describe para conferir as notificações de manutenção:

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

Se houver um evento de manutenção iminente, a resposta conterá uma seção como esta:

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"

Nesta resposta:

  • A manutenção está programada para a data e a hora mostradas em windowStartTime.
  • canReschedule é definida como true e maintenanceStatus como PENDING. Essas configurações indicam que é possível iniciar manualmente o evento de manutenção programado antes da data mostrada em latestWindowStartTime.

Servidor de metadados

Em uma VM do TPU, consulte o servidor de metadados para conferir o próximo evento de manutenção:

curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"

Se houver um evento de manutenção iminente, a resposta conterá uma seção semelhante a esta:

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"
}

É possível consultar o servidor de metadados de qualquer VM TPU no slice, porque a notificação do evento de manutenção é a mesma para todas as VMs em um slice.

Para mais informações sobre metadados da VM, consulte Sobre metadados da VM na documentação do Compute Engine.

Verificar se há uma notificação de manutenção no Cloud Logging

Quando uma notificação é programada no Cloud TPU, o Cloud Logging contém um log de eventos do sistema para o evento, com o methodName: compute.instance.upcomingMaintenance. Para conferir os registros dos próximos eventos de manutenção:

  1. No menu de navegação do console do Google Cloud, acesse a página "Explorador de registros":

    Acessar o Explorador de registros

  2. Use a consulta de pesquisa a seguir para conferir as TPUs que têm um evento de manutenção agendado:

    "compute.instances.upcomingMaintenance"

    O Cloud TPU registra os próximos eventos de manutenção no Cloud Logging pela instância de VM individual, por exemplo, t1v-n-5bdca789-w-0.

Exemplos de registros de notificação de manutenção

Uma notificação de evento de manutenção aparece no Explorador de registros com valores semelhantes a estes:

  • methodName: "compute.instances.upcomingMaintenance"
  • metadata:
    • maintenanceStatus: "PENDING"
    • windowStartTime: "2024-07-23T20:00:00Z"

Confira a seguir um exemplo de entrada de registro completa para um evento de manutenção futuro:

{
  "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 o evento de manutenção começa, um novo evento informativo aparece nos registros com valores semelhantes aos seguintes:

  • methodName: "compute.instances.upcomingMaintenance"
  • metadata:
    • maintenanceStatus: "ONGOING"
    • windowStartTime: "2024-07-23T20:00:00Z"

Quando o evento de manutenção termina, um novo evento informativo aparece nos registros de auditoria com valores semelhantes a este:

  • methodName: "compute.instances.upcomingMaintenance"
  • status: { message: "Maintenance window has completed for this instance. All maintenance notifications on the instance have been removed." }

A seguir