O servidor de metadados fornece informações sobre as
opções e configurações de programação
de uma instância de máquina virtual (VM) usando a listagem do diretório de metadados scheduling/
e dos
metadados maintenance-event
. Use essas chaves de metadados para saber mais sobre as opções de programação de uma
VM, bem como para receber uma notificação quando um evento de manutenção estiver prestes a acontecer.
Por padrão, todas as VMs (exceto as VMs Z3) são definidas para migração em tempo real e o servidor de metadados recebe notificações de eventos de manutenção antes da migração em tempo real de uma instância de VM. No entanto, se você escolher uma opção de programação diferente, os eventos de manutenção e o comportamento da VM também poderão ser diferentes. Para saber mais sobre eventos de manutenção e comportamento da VM durante os eventos, consulte Visão geral da manutenção do host.
Antes de começar
- Para VMs do Windows Server, use o
PowerShell 3.0 ou posterior.
Recomendamos que você use
ctrl+v
para colar os blocos de código copiados. -
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
Para usar os exemplos Python desta página em um ambiente de desenvolvimento local, instale e inicialize o gcloud CLI e e configure o Application Default Credentials com suas credenciais de usuário.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Confira mais informações em Set up authentication for a local development environment.
Receber avisos de migração em tempo real
É possível saber quando ocorrerá um evento de manutenção consultando a
chave de metadados maintenance-event
periodicamente.
A chave de metadados maintenance-event
será preenchida para
eventos de manutenção somente se você tiver definido a opção de programação da VM como
migrate
ou se a VM tiver uma GPU anexada.
O valor dessa chave de metadados muda 60 segundos antes do início do evento de manutenção. Assim, o código do aplicativo consegue acionar qualquer tarefa que você queira executar antes de um evento de manutenção, como fazer backup de dados ou atualizar registros.
Em resumo, o Compute Engine dá um aviso de 60 segundos somente nestas circunstâncias:
As opções de disponibilidade da instância foram definidas como migração em tempo real durante um evento de manutenção.
Você consultou a chave de metadados
maintenance-event
pelo menos uma vez desde o último evento de manutenção.Se você nunca consultou a chave de metadados
maintenance-event
ou não fez essa consulta desde a última migração, o Compute Engine pressupõe que a VM não exige aviso prévio para eventos de manutenção. O evento de manutenção é iniciado imediatamente e ignora o aviso de 60 segundos.Se você não quiser ignorar o aviso de 60 segundos, verifique se o código de cliente está consultando a chave de metadados
maintenance-event
pelo menos uma vez entre os eventos de migração. Consulte a chave de metadadosmaintenance-event
diretamente para o Compute Engine determinar que você está assistindo a essa chave de metadados. Consultar metadados de nível superior não aciona o aviso antecipado.
Para VMs com GPUs anexadas, o valor muda 60 minutos antes de as VMs serem interrompidas. Assim, você tem tempo de encerrar e reiniciar em outro host. As VMs com GPUs anexadas não são migradas em tempo real, mas são interrompidas e reiniciadas opcionalmente. Saiba mais em Como lidar com eventos de manutenção do host da GPU.
Para um conjunto específico de VMs, as opções de manutenção de VMs são mais flexíveis. Para saber mais, consulte Monitorar e planejar um evento de manutenção do host.
Consultar a chave de metadados do evento de manutenção
VMs do Linux
Para consultar a chave de metadados maintenance-event
nas VMs do Linux, execute o seguinte comando:
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"
O resultado será assim:
NONE
Também é possível usar a
opção
wait-for-change
. Com essa opção especificada, a solicitação só retorna uma saída quando
um evento de manutenção está prestes a começar e terminar.
user@myinst:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event?wait_for_change=true -H "Metadata-Flavor: Google"
VM do Windows
Para consultar a chave de metadados maintenance-event
nas VMs do Windows, execute o seguinte comando:
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event")
$value
O resultado será assim:
NONE
Também é possível usar a
opção
wait-for-change
. Com essa opção especificada, a solicitação só retorna uma saída quando
um evento de manutenção está prestes a começar e terminar.
PS C:\>
$value = (Invoke-RestMethod `
-Headers @{'Metadata-Flavor' = 'Google'} `
-Uri "http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event?wait_for_change=true")
$value
Python
Use a chave de metadados maintenance-event
com o recurso
aguardando atualizações
para notificar os scripts e aplicativos quando um evento de manutenção estiver
prestes a começar e terminar. Assim, é possível automatizar qualquer ação que você queira
executar antes ou depois do evento.
Veja na amostra em Python a seguir como implementar esses dois recursos conjuntamente.
Analisar os resultados
O valor inicial e o padrão da chave de metadados maintenance-event
é NONE
.
Para VMs com GPUs anexadas, durante um evento de manutenção, o valor muda de
NONE
paraTERMINATE_ON_HOST_MAINTENANCE
. Esse atributo é atualizado 60 minutos antes do início do evento de interrupção.Para VMs que não são de GPU, mas têm uma opção de programação de
migrate
, o valor demaintenance-event
muda da seguinte maneira:- No início do evento de migração, o valor muda de
NONE
paraMIGRATE_ON_HOST_MAINTENANCE
. Esse valor é atualizado 60 segundos antes do início do evento de interrupção. - Durante o evento e enquanto a instância de VM está sendo
migrada, o valor permanece como
MIGRATE_ON_HOST_MAINTENANCE
. - Após o término do evento de manutenção, o valor volta a ser
NONE
.
- No início do evento de migração, o valor muda de
Para VMs de locatário individual, durante um evento de manutenção do host, o valor da chave de metadados
maintenance-event
não muda e permaneceNONE
do início ao final do evento.
A seguir
- Saiba mais sobre como configurar políticas de disponibilidade de instâncias.
- Saiba mais sobre migração em tempo real.
- Saiba mais sobre os metadados da VM.