Pode gerir proativamente os eventos de manutenção do anfitrião futuros nos seus blocos de capacidade reservados, quer as VMs estejam a ser executadas neles ou não. Esta abordagem ajuda a minimizar as interrupções e a manter um desempenho ideal.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud initSe estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Funções necessárias
Para receber as autorizações de que precisa para gerir eventos de manutenção do anfitrião em todas as reservas, peça ao seu administrador que lhe conceda as seguintes funções do IAM:
-
Administrador de computação (
roles/compute.admin) no projeto -
Para acesso só de leitura aos registos de auditoria de eventos do sistema:
Visualizador de registos (
roles/logging.viewer) no projeto
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Estas funções predefinidas contêm as autorizações necessárias para gerir eventos de manutenção do anfitrião em todas as reservas. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
As seguintes autorizações são necessárias para gerir eventos de manutenção de anfitriões em várias reservas:
-
Para iniciar a manutenção do anfitrião para uma reserva:
compute.reservations.performMaintenanceno projeto -
Para iniciar a manutenção do anfitrião para um bloco de reservas:
compute.reservationBlocks.performMaintenanceno projeto- Para ver uma lista de reservas
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Vista geral
Para otimizar a manutenção dos seus blocos de capacidade reservados, conclua os seguintes passos:
Configure alertas de notificação. Crie alertas baseados em registos para receber notificações sobre eventos de manutenção agendados, iniciados ou concluídos para uma reserva ou um bloqueio de reserva. Esta abordagem ajuda a planear proativamente as suas atividades e evitar tempo de inatividade inesperado.
Faça a gestão da manutenção em vários blocos de capacidade. Veja e, se necessário, inicie manualmente a manutenção nas suas reservas ou blocos de reservas. Este processo ajuda a aumentar a resiliência das suas cargas de trabalho a erros do anfitrião, a evitar o tempo de inatividade e a garantir que as suas aplicações permanecem disponíveis.
Para mais informações sobre a frequência e o comportamento de manutenção dos tipos de máquinas H4D, consulte o artigo Experiência de manutenção para instâncias H4D.
Configure alertas de notificação para reservas
Pode receber notificações sobre eventos de manutenção agendados, iniciados ou concluídos para uma reserva ou um bloco de reservas através da criação de políticas de alertas baseadas em registos.
Para criar um alerta para os eventos de manutenção de uma reserva ou um bloqueio de reserva, conclua o seguinte procedimento. Repita este procedimento para cada alerta que quer criar.
-
Na Google Cloud consola, aceda à página Explorador de registos:
Aceda ao Explorador de registos
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.
Clique no botão Mostrar consulta para o ativar.
No painel Consulta, crie uma das seguintes consultas. Estas consultas filtram as entradas do registo para identificar eventos de manutenção específicos. Repita este procedimento para cada consulta que quer criar.
Receba alertas de manutenção para uma reserva:
Para receber alertas quando a manutenção estiver agendada:
protoPayload.methodName="compute.reservations.upcomingGroupMaintenance" severity>=DEFAULT protoPayload.status.message =~ "scheduled"Para receber alertas quando a manutenção estiver concluída:
protoPayload.methodName="compute.reservations.completedGroupMaintenance" severity>=DEFAULT protoPayload.status.message =~ "completed"
Receba alertas de manutenção para um bloco de reserva:
Para receber alertas quando a manutenção estiver agendada:
protoPayload.methodName="compute.reservations.block.upcomingGroupMaintenance" severity>=DEFAULT protoPayload.status.message =~ "scheduled"Para receber alertas quando a manutenção tiver começado:
protoPayload.methodName="compute.reservations.block.startGroupMaintenance" severity>=DEFAULT protoPayload.status.message =~ "started"Para receber alertas quando a manutenção estiver concluída:
protoPayload.methodName="compute.reservations.block.completedGroupMaintenance" severity>=DEFAULT protoPayload.status.message =~ "completed"
Para validar a consulta, clique em Executar consulta. Se a consulta for válida, o painel Resultados da consulta apresenta entradas de registo que correspondem à consulta.
Na barra de ferramentas de resultados da consulta, clique na lista Ações e, de seguida, selecione Criar alerta de registo. É apresentado o painel Criar política de alertas baseada em registos.
Na secção Detalhes do alerta, faça o seguinte:
No campo Nome da política de alertas, introduza um nome para a política.
Na lista Nível de gravidade da política, selecione Aviso (ou uma gravidade superior).
Clicar em Seguinte.
Na secção Escolha os registos a incluir no alerta, clique em Seguinte.
Na secção Defina a frequência das notificações e a duração do fecho automático, especifique o seguinte:
Na lista Tempo entre notificações, selecione a frequência com que quer receber notificações.
Na lista Duração do encerramento automático de incidentes, selecione o período após o qual o Cloud Logging deixa de enviar notificações e encerra automaticamente o incidente.
Clicar em Seguinte.
Na secção Quem deve receber notificações?, especifique um canal de notificação para o registo enviar notificações.
Clique em Guardar.
Faça a gestão da manutenção em várias reservas
Pode ver e controlar a manutenção das suas reservas e blocos de reservas da seguinte forma:
Para verificar o estado e a hora agendada da manutenção futura das suas reservas ou blocos de reservas, veja o estado de manutenção.
Para iniciar manualmente a manutenção numa reserva ou num bloco de reservas, em vez de aguardar a data e a hora de manutenção agendadas, inicie manualmente a manutenção.
Para gerir a antecedência com que quer receber notificações quando o anfitrião de uma MV requer manutenção de emergência não planeada após um erro do anfitrião ou um relatório de anfitrião com falhas, faça a gestão das notificações de manutenção de emergência de hardware.
Veja o estado de manutenção
Pode ver o estado de manutenção futuro de uma reserva ou um bloco de reserva verificando o valor do campo
upcomingGroupMaintenancenos metadados da reserva. Se uma reserva não tiver o campoupcomingGroupMaintenance, não é agendada nenhuma manutenção para a reserva ou o bloco de reservas. Para mais informações acerca dos campos emupcomingGroupMaintenance, consulte Definições do estado de manutenção.Além disso, se for agendada manutenção para um bloco de reserva, o campo
upcomingGroupMaintenancecontém o campomaintenanceReasons. Este campo descreve o motivo pelo qual a manutenção foi agendada para o seu bloco de reservas, conforme descrito na tabela seguinte:Tipo de manutenção Motivo da manutenção Estado das VMs Manutenção planeada para manutenção regular PLANNED_UPDATE: manutenção de infraestrutura planeadaPLANNED_NETWORK_UPDATE: manutenção de rede planeada
Aplica-se a VMs em execução, paradas ou suspensas. Manutenção de emergência não planeada FAILURE_DISK: manutenção não planeada agendada devido a um erro com um disco associado a uma VM.FAILURE_INFRA: manutenção não planeada agendada devido a um erro com a infraestrutura.FAILURE_INTERFACE: não planeada manutenção agendada devido a um erro com a NIC.FAILURE_MEMORY: manutenção não planeada agendada devido a um erro com a memória de uma VM.FAILURE_NETWORK: manutenção não planeada agendada devido a um erro na rede.
Aplica-se apenas a VMs em execução. Para ver o campo
maintenanceReasonsnum bloco de reserva ou num sub-bloco, tem de usar a CLI gcloud ou a API REST. Caso contrário, selecione uma das seguintes opções:Consola
Na Google Cloud consola, aceda à página Reservas.
Na coluna Estado de manutenção, o Compute Engine apresenta o estado de manutenção das suas reservas. Se não vir esta coluna na tabela Reservas a pedido, clique em Opções de apresentação de colunas, selecione a caixa de verificação Estado de manutenção e, de seguida, clique em OK.
Para ver o estado de manutenção de um bloqueio de reserva, conclua os seguintes passos:
Na coluna Nome, clique no nome da reserva. É apresentada uma página com os detalhes da reserva.
Na tabela Bloqueios, na coluna Manutenção, o Compute Engine apresenta o estado de manutenção dos blocos na reserva.
gcloud
Para ver o estado de manutenção de uma reserva, use o comando
gcloud compute reservations describecom a flag--flattendefinida comoresourceStatus.reservationMaintenance:gcloud compute reservations describe RESERVATION_NAME \ --flatten=resourceStatus.reservationMaintenance \ --zone=ZONESubstitua o seguinte:
RESERVATION_NAME: o nome da reserva.ZONE: a zona onde a reserva existe.
O resultado é semelhante a um dos seguintes:
Se a manutenção estiver agendada para a sua reserva, o resultado é semelhante ao seguinte:
--- maintenanceOngoingCount: 0 maintenancePendingCount: 6 schedulingType: GROUPED upcomingGroupMaintenance: canReschedule: true maintenanceStatus: PENDING type: UNSCHEDULED windowEndTime: '2025-11-13T14:00:00.000-08:00' windowStartTime: '2025-11-13T12:00:00.000-08:00'Se o campo
schedulingTypeestiver definido comoINDEPENDENT, o campoupcomingGroupMaintenancenão contém os camposwindowStartTimeewindowEndTime.Se não estiver agendada manutenção para a sua reserva, o resultado é semelhante ao seguinte:
--- schedulingType: GROUPED
Se a manutenção estiver agendada para a sua reserva, para ver o estado de manutenção dos blocos na reserva, use o comando
gcloud compute reservations blocks list:gcloud compute reservations blocks list RESERVATION_NAME \ --zone=ZONESe a manutenção estiver agendada ou em curso para um bloco de reserva, o resultado é semelhante ao seguinte:
--- ... name: example-fr-h4d-dense-1-block-0001 ... reservationBlockMaintenance: maintenanceOngoingCount: 0 maintenancePendingCount: 6 schedulingType: GROUPED upcomingGroupMaintenance: canReschedule: true maintenanceReasons: - PLANNED_UPDATE - PLANNED_NETWORK_UPDATE maintenanceStatus: PENDING type: UNSCHEDULED windowEndTime: '2025-11-13T14:00:00.000-08:00' windowStartTime: '2025-11-13T12:00:00.000-08:00' ... --- ... name: example-fr-h4d-dense-1-block-0002 ... schedulingType: GROUPED ...
REST
Para ver o estado de manutenção das suas reservas, faça um pedido
GETatravés de um dos seguintes métodos:Para ver as reservas em todas as zonas, use o método
reservations.aggregatedList.Para ver as reservas numa zona específica, use o método
reservations.list.
No URL do pedido, inclua os seguintes parâmetros de consulta:
Para mostrar apenas o nome, o tipo de máquina reservado e o estado de manutenção de uma reserva, inclua o parâmetro de consulta
fieldsdefinido comoitems.name,items.specificReservation.instanceProperties.machineType,items.resourceStatus.reservationMaintenance.Para filtrar apenas por reservas que especifiquem um tipo de máquina específico, inclua o parâmetro de consulta
filterdefinido comospecificReservation.instanceProperties.machineType:MACHINE_TYPEatravés de valores codificados por URL.
Por exemplo, para ver as reservas em todas as zonas, faça um pedido
GETda seguinte forma:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/reservations?fields=items.name,items.specificReservation.instanceProperties.machineType,items.resourceStatus.reservationMaintenance&filter=specificReservation.instanceProperties.machineType%3AMACHINE_TYPESubstitua o seguinte:
PROJECT_ID: o ID do projeto onde existem as reservas.MACHINE_TYPE: o tipo de máquina reservado pelo qual quer filtrar as suas reservas.
Se a manutenção estiver agendada ou em curso para uma reserva, o resultado é semelhante ao seguinte:
{ "items": [ { "specificReservation": { "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "name": "example-reservation", "resourceStatus": { "reservationMaintenance": { maintenanceOngoingCount: 0, maintenancePendingCount: 6, "schedulingType": "GROUPED", "upcomingGroupMaintenance": { "type": "SCHEDULED", "canReschedule": true, "windowStartTime": "2025-11-13T12:00:00.000-08:00", "windowEndTime": "2025-11-13T14:00:00.000-08:00", "maintenanceStatus": "PENDING" } } } }, ... ] }Opcionalmente, para restringir ainda mais uma lista de VMs, defina o parâmetro de consulta
filterpara uma expressão de filtro diferente.Se a manutenção estiver agendada para a sua reserva, para ver o estado de manutenção dos blocos na reserva, faça um
GETpedido ao métodoreservationBlocks.list. No URL do pedido, inclua o parâmetro de consultafieldsdefinido comoitems.name,items.reservationMaintenance:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME/reservationBlocks?fields=items.name,items.reservationMaintenanceSubstitua
RESERVATION_NAMEpelo nome da reserva.Se a manutenção estiver agendada ou em curso para um bloco de reserva, o resultado é semelhante ao seguinte:
{ "items": [ { "name": "example-fr-h4d-dense-1-block-0001", "reservationBlockMaintenance": { "maintenanceOngoingCount": 0, "maintenancePendingCount": 6, "schedulingType": "GROUPED", "upcomingGroupMaintenance": { "type": "SCHEDULED", "canReschedule": true, "windowStartTime": "2025-11-13T12:00:00.000-08:00", "windowEndTime": "2025-11-13T14:00:00.000-08:00", "maintenanceStatus": "PENDING", "maintenanceReasons": [ "PLANNED_UPDATE", "PLANNED_NETWORK_UPDATE" ] } } }, ... ] }Se o campo
schedulingTypeestiver definido comoINDEPENDENTpara um bloco, o campoupcomingGroupMaintenancenão contém os camposwindowStartTimeewindowEndTime.
Inicie manualmente a manutenção
Pode iniciar manualmente a manutenção das suas reservas ou blocos de reservas em vez de aguardar pela hora agendada. Esta ação ajuda a controlar de forma mais proativa as interrupções nas suas cargas de trabalho.
Consoante o estado de manutenção de uma reserva ou de um bloco de reservas, ocorre o seguinte:
Estado de manutenção Descrição O que vê Agendado O Compute Engine tem manutenção agendada para a reserva. Pode iniciar manualmente a manutenção antes da hora agendada. - Na Google Cloud consola, o estado de manutenção é apresentado como Pronto para execução – vai ser executado a DATE.
- Na CLI gcloud ou na API REST,
o Compute Engine define o campo
maintenanceStatuscomoPENDING.
Em curso A manutenção está em curso. Não pode reagendá-lo. - Na Google Cloud consola, o estado de manutenção é apresentado como Em execução.
- Na CLI gcloud ou na API REST,
o Compute Engine define o campo
maintenanceStatuscomoONGOING.
Concluído A manutenção está concluída. O Compute Engine removeu todas as notificações de manutenção da VM. - Na Google Cloud consola, o estado de manutenção é apresentado como —.
- Na CLI gcloud ou na API REST, o campo
maintenanceStatusnão existe.
Para iniciar manualmente a manutenção em anfitriões específicos num bloco de reserva, use a CLI gcloud ou a API REST. Caso contrário, selecione uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página Reservas.
Na coluna Nome, clique no nome de uma reserva. É apresentada uma página com os detalhes da reserva.
Clique em Executar manutenção e, de seguida, selecione uma das seguintes opções:
Para iniciar a manutenção em todos os bloqueios, selecione Toda a capacidade.
Para iniciar a manutenção apenas em blocos com VMs em execução, selecione Capacidade em utilização.
Para iniciar a manutenção apenas em blocos não usados e blocos com VMs paradas ou suspensas, selecione Capacidade não usada.
Para confirmar, clique em OK.
gcloud
Para iniciar a manutenção numa reserva, use o comando
gcloud compute reservations perform-maintenance:gcloud compute reservations perform-maintenance RESERVATION_NAME \ --scope=RESERVATION_MAINTENANCE_SCOPE \ --zone=ZONEPara iniciar a manutenção num bloco de reserva, use o comando
gcloud compute reservations blocks perform-maintenance:gcloud compute reservations blocks perform-maintenance RESERVATION_NAME \ --block-name=BLOCK_NAME \ --scope=BLOCK_MAINTENANCE_SCOPE \ --zone=ZONESubstitua o seguinte:
RESERVATION_NAME: o nome da reserva.RESERVATION_MAINTENANCE_SCOPE: o âmbito da manutenção para a reserva. Especifique um dos seguintes valores:Para iniciar a manutenção em todos os blocos:
allPara iniciar a manutenção apenas em blocos com VMs em execução:
runningPara iniciar a manutenção apenas em blocos não usados e blocos com VMs paradas ou suspensas:
unused
BLOCK_NAME: o nome de um bloco que existe na reserva.BLOCK_MAINTENANCE_SCOPE: o âmbito da manutenção para o bloqueio de reserva. Especifique um dos seguintes valores:Para iniciar a manutenção em todos os anfitriões:
allPara iniciar a manutenção apenas em anfitriões com VMs em execução:
runningPara iniciar a manutenção apenas em anfitriões não usados e anfitriões com VMs paradas ou suspensas:
unused
ZONE: a zona onde a reserva existe.
REST
Para iniciar a manutenção numa reserva, faça um pedido
POSTao métodoreservations.performMaintenance:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME/performMaintenance { "maintenanceScope": "RESERVATION_MAINTENANCE_SCOPE" }Para iniciar a manutenção num bloco de reservas, faça um pedido
POSTpara o métodoreservationBlocks.performMaintenance:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME/reservationBlocks/BLOCK_NAME/performMaintenance { "maintenanceScope": "BLOCK_MAINTENANCE_SCOPE" }
Substitua o seguinte:
PROJECT_ID: o ID do projeto onde o Compute Engine criou automaticamente a reserva.ZONE: a zona onde a reserva existe.RESERVATION_NAME: o nome da reserva.RESERVATION_MAINTENANCE_SCOPE: o âmbito da manutenção para a reserva. Especifique um dos seguintes valores:Para iniciar a manutenção em todos os blocos:
ALLPara iniciar a manutenção apenas em blocos com VMs em execução:
RUNNINGPara iniciar a manutenção apenas em blocos não usados e blocos com VMs paradas ou suspensas:
UNUSED
BLOCK_NAME: o nome de um bloco que existe na reserva.SUB_BLOCK_NAME: o nome de um sub-bloco existente no bloco de reserva.BLOCK_MAINTENANCE_SCOPE: o âmbito da manutenção para o bloqueio de reserva. Especifique um dos seguintes valores:Para iniciar a manutenção em todos os anfitriões:
ALLPara iniciar a manutenção apenas em anfitriões com VMs em execução:
RUNNINGPara iniciar a manutenção apenas em anfitriões não usados e anfitriões com VMs paradas ou suspensas:
UNUSED
Faça a gestão das notificações de manutenção de emergência de hardware
Depois de uma VM encontrar um erro de anfitrião ou de comunicar que o anfitrião está com problemas, o anfitrião da VM requer manutenção de emergência não planeada. Por predefinição, o Compute Engine envia um aviso com algumas horas de antecedência quando agenda este tipo de manutenção. Para anfitriões com reserva, pode ativar as notificações de manutenção de emergência para aumentar este período de aviso para, pelo menos, sete dias. Esta abordagem ajuda a controlar de forma mais proativa as interrupções nas suas cargas de trabalho.
Para ativar ou desativar as notificações de manutenção de emergência de hardware para uma reserva, selecione uma das seguintes opções:
gcloud
Para ativar as notificações de manutenção de emergência de hardware para uma reserva, use o comando
gcloud compute reservations updatecom o sinalizador--enable-emergent-maintenance:gcloud compute reservations update RESERVATION_NAME \ --enable-emergent-maintenance \ --zone=ZONEPara desativar as notificações de manutenção de emergência de hardware para uma reserva, use o comando
gcloud compute reservations updatecom a flag--no-enable-emergent-maintenance:gcloud compute reservations update RESERVATION_NAME \ --no-enable-emergent-maintenance \ --zone=ZONE
Substitua o seguinte:
RESERVATION_NAME: o nome da reserva.ZONE: a zona onde a reserva existe.
REST
Para ativar ou desativar as notificações de manutenção de emergência de hardware para uma reserva, faça um pedido
PATCHao métodoreservations.update. No URL do pedido, inclua o parâmetro de consultapathsdefinido comoenableEmergentMaintenance.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME?paths=enableEmergentMaintenance { "name": "RESERVATION_NAME", "enableEmergentMaintenance": EMERGENCY_MAINTENANCE_NOTIFICATIONS }Substitua o seguinte:
PROJECT_ID: o ID do projeto onde a reserva existe.ZONE: a zona onde a reserva existe.RESERVATION_NAME: o nome da reserva.EMERGENCY_MAINTENANCE_NOTIFICATIONS: especifique um dos seguintes valores:Para ativar as notificações:
truePara desativar as notificações:
false
O que se segue?
Saiba mais acerca da persistência de dados do SSD local durante eventos do anfitrião
Saiba como fazer uma cópia de segurança de dados do SSD local para preservar os dados
Saiba mais sobre as definições do estado de manutenção quando monitoriza eventos de manutenção do anfitrião
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-12-04 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-12-04 UTC."],[],[]] -