Veja notificações de manutenção

Um evento de manutenção do anfitrião ocorre quando a Google tem de realizar uma atividade de manutenção ou reparação na sua TPU. Google Cloud A Google envia notificações sobre a manutenção do anfitrião antes de a manutenção ser realizada. Quando o período de manutenção é iniciado, Google Cloud a manutenção é realizada automaticamente na sua instância. Ao monitorizar os próximos períodos de manutenção da sua instância, pode preparar proativamente as suas cargas de trabalho para processarem a manutenção futura com a mínima interrupção.

O Cloud TPU permite-lhe ver notificações de manutenção através da CLI do Google Cloud e consultando o servidor de metadados. Também pode ver os eventos de manutenção futuros no Cloud Logging. Para ver informações sobre a visualização de notificações de manutenção para as TPUs no GKE, consulte o artigo Faça a gestão da 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 período em que a manutenção vai ocorrer
  • windowEndTime: O fim do período durante o qual a manutenção vai ocorrer
  • latestWindowStartTime: a hora mais recente para a qual a janela de manutenção pode ser movida
  • maintenanceType: O tipo de manutenção que vai ser realizada
    • SCHEDULED: a manutenção recebe um aviso prévio de sete dias
    • UNSCHEDULED: a manutenção representa atualizações críticas para as quais é dado um aviso inferior ao dos eventos de manutenção agendados
  • canReschedule: se pode iniciar manualmente a manutenção durante o período de notificação desta VM.
    • TRUE: pode iniciar manualmente a manutenção durante o período de notificação.
    • FALSE: não pode iniciar manualmente a manutenção nesta VM. Normalmente, isto é observado durante o período em que a MV está a ser alvo de manutenção ativa.
  • maintenanceStatus: O estado da operação de manutenção atual
    • ONGOING: a operação de manutenção está em curso
    • PENDING: A operação de manutenção ainda não foi iniciada, mas está agendada

Se não existir uma notificação de manutenção, a resposta tem um aspeto semelhante ao seguinte:

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

Comportamentos do estado de manutenção

Ao gerir eventos de manutenção, verifique os valores de canReschedule e maintenanceStatus. Quando combinados, estes campos indicam as ações que pode ou não realizar relativamente ao início manual de um evento de manutenção:

  • canReschedule=True e maintenanceStatus=Pending: pode iniciar manualmente o evento de manutenção para a instância antes da hora de início agendada.
  • canReschedule=False e maintenanceStatus=Ongoing: a manutenção está em curso e não pode ser reagendada.
  • canReschedule=False e maintenanceStatus=Pending: a sua instância não suporta eventos de manutenção acionados manualmente.

Veja notificações de manutenção

Pode ver as notificações de manutenção:

  • Chamar a API Cloud TPU através da CLI Google Cloud
  • Consultar o servidor de metadados na sua VM
  • Verificar o Cloud Logging

Verifique se existem notificações de manutenção nas TPUs

gcloud

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

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

Se existir um evento de manutenção futuro, a resposta vai conter uma secção semelhante à seguinte:

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á agendada para a data e a hora apresentadas em windowStartTime.
  • canReschedule está definido como true e maintenanceStatus está definido como PENDING. Estas definições indicam que pode iniciar manualmente o evento de manutenção agendado antes da data apresentada em latestWindowStartTime.

Servidor de metadados

A partir de uma VM de 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 existir um evento de manutenção futuro, a resposta vai conter uma secção semelhante à seguinte:

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

Pode consultar o servidor de metadados a partir de qualquer VM de TPU na fatia, porque a notificação do evento de manutenção futuro é igual para todas as VMs numa fatia.

Para mais informações sobre os metadados de VMs, consulte o artigo Acerca dos metadados de VMs na documentação do Compute Engine.

Verifique se existe uma notificação de manutenção nos Registos na nuvem

Quando uma notificação é agendada no seu Cloud TPU, o Cloud Logging contém um registo de eventos do sistema para o evento, com o methodName: compute.instance.upcomingMaintenance. Para ver os registos de eventos de manutenção futuros:

  1. No Google Cloud menu de navegação da consola, aceda à página Explorador de registos:

    Aceda ao Explorador de registos

  2. Use a seguinte consulta de pesquisa para ver todas as UTPs que têm um evento de manutenção agendado:

    "compute.instances.upcomingMaintenance"

    A Cloud TPU regista 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 registos de notificações de manutenção

É apresentada uma notificação de evento de manutenção no Explorador de registos com valores semelhantes aos seguintes:

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

Segue-se um exemplo de uma entrada de registo 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, é apresentado um novo evento informativo nos registos 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, é apresentado um novo evento informativo nos registos de auditoria com valores semelhantes aos seguintes:

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

O que se segue?