Acessar 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 reparo na sua 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 abre,o Google Cloud realiza a manutenção automaticamente na sua instância. Ao monitorar as próximas janelas de manutenção da sua instância, é possível preparar proativamente suas cargas de trabalho para lidar com a manutenção futura com o mínimo de interrupção.

Com a Cloud TPU, é possível ver notificações de manutenção usando a Google Cloud CLI e consultando o servidor de metadados. Também é possível conferir os próximos eventos de manutenção no Cloud Logging. Para informações sobre como ver notificações de manutenção para 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 do intervalo 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á realizada
    • SCHEDULED: a manutenção será avisada com sete dias de antecedência
    • UNSCHEDULED: a manutenção representa atualizações críticas com menos avisos do que os eventos de manutenção programados
  • canReschedule: se você pode iniciar manualmente a manutenção durante o período de notificação dessa VM.
    • TRUE: é possível iniciar manualmente a manutenção durante o período de notificação.
    • FALSE: não é possível iniciar manualmente a manutenção nessa VM. Isso geralmente é observado durante o período em que a VM está em manutenção ativa.
  • 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, verifique os valores de canReschedule e maintenanceStatus. Quando combinados, esses campos indicam quais ações você pode ou não realizar em relação ao início manual de 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 é compatível com eventos de manutenção acionados manualmente.

Acessar notificações de manutenção

Para acessar as notificações de manutenção:

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

Verificar se há notificações de manutenção nas TPUs

gcloud

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

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

Se houver um evento de manutenção futuro, a resposta vai 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 está definido como true e maintenanceStatus está definido como PENDING. Essas configurações indicam que é possível iniciar manualmente o evento de manutenção programada antes da data mostrada em latestWindowStartTime.

Servidor de metadados

Em uma VM da TPU, consulte o servidor de metadados para ver 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 programado, a resposta vai 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 de TPU no fragmento porque a notificação de evento de manutenção futura é a mesma para todas as VMs em um fragmento.

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

Verificar se há notificações 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 methodName: compute.instance.upcomingMaintenance. Para conferir os registros dos próximos eventos de manutenção:

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

    Acessar o Explorador de registros

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

    "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 na Análise 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 a estes:

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

Quando o evento de manutenção terminar, um novo evento informativo vai aparecer nos registros de auditoria com valores semelhantes a estes:

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

A seguir