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á realizadaSCHEDULED
: a manutenção será avisada com sete dias de antecedênciaUNSCHEDULED
: 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 atualONGOING
: a operação de manutenção está em andamentoPENDING
: 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
emaintenanceStatus=Pending
: é possível iniciar manualmente o evento de manutenção da instância antes do horário de início programado.canReschedule=False
emaintenanceStatus=Ongoing
: a manutenção está em andamento e não pode ser reprogramada.canReschedule=False
emaintenanceStatus=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 comotrue
emaintenanceStatus
está definido comoPENDING
. Essas configurações indicam que é possível iniciar manualmente o evento de manutenção programada antes da data mostrada emlatestWindowStartTime
.
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:
No menu de navegação do console Google Cloud , acesse a página "Explorador de registros":
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." }