Neste documento, descrevemos como definir uma política de manutenção do host da instância de máquina virtual (VM) para controlar como a VM se comporta quando um evento do host ocorre.
Antes de começar
-
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.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Não é possível alterar a política de manutenção do host de uma VM preemptiva. Quando há um evento de manutenção, a VM preemptiva é interrompida e não migra. Você precisa reiniciar manualmente a VM preemptiva.
- Depois de criar uma VM usando um tipo de máquina E2, não é possível alterar as configurações de manutenção
do host da VM de
MIGRATE
paraTERMINATE
ou vice-versa. onHostMaintenance
: determina o comportamento quando ocorre um evento de manutenção que possa causar a reinicialização da instância.MIGRATE
(padrão): faz o Compute Engine migrar uma instância em tempo real quando há um evento de manutenção.TERMINATE
: interrompe uma VM em vez de migrá-la.
automaticRestart
: determina o comportamento quando uma VM falha ou é interrompida pelo sistema.true
(padrão): o Compute Engine reinicia uma instância quando ela falha ou é interrompida.false
: o Compute Engine não reinicia a VM se ela falhar ou for interrompida.
localSsdRecoveryTimeout
: define o tempo limite de recuperação do SSD local. Esse é o período máximo, em horas, que o Compute Engine aguarda para recuperar dados do SSD local após um erro do host. Essa configuração só se aplica a VMs com discos SSD locais anexados.- Não definido (padrão): o Compute Engine aguarda até 1 hora para recuperar o disco. Para VMs Z3 (pré-lançamento), o tempo de espera padrão é de 4 horas.
- Um número de 0 a 168: especifica o tempo que o Compute Engine aguarda para recuperar o disco. O número precisa ser um número inteiro, em incrementos de uma hora, com um valor máximo de sete dias. Um valor de 0 significa que o Compute Engine não aguardará para recuperar os dados.
hostErrorTimeoutSeconds
(Visualização): define o tempo máximo, em segundos, que o Compute Engine aguarda para reiniciar ou encerrar uma VM depois de detectar que não está respondendo.- Não definido (padrão): o Compute Engine aguarda até 5,5 minutos (330 segundos) antes de reiniciar uma VM que não responde.
- Número de 90 a 330: especifica o número de segundos, em incrementos de 30, que o Compute Engine aguarda antes de reiniciar uma VM que não responde.
No console do Google Cloud, acesse a página Criar uma instância.
Especifique um Nome para a VM.
Selecione uma Região e uma Zona para a VM.
Na seção Configuração da máquina, faça o seguinte:
- Especifique os detalhes do tipo de máquina da VM.
- Expanda o menu Configurações avançadas do modelo de provisionamento de VM.
- No menu Na manutenção do host, selecione uma das seguintes etapas:
- Para migrar VMs durante eventos de manutenção, selecione Migrar instância da VM.
- Para interromper as VMs durante eventos de manutenção, selecione Encerrar instância da VM.
Para criar a VM, clique em Criar.
--maintenance-policy
: se a VM será migrada ou interrompida durante a manutenção do host. A VM será migrada por padrão se você omitir essa propriedade.--no-restart-on-failure
ou--restart-on-failure
: se a VM será reiniciada automaticamente após um erro do host. Por padrão, a VM sempre será reiniciada quando uma falha for detectada.--local-ssd-recovery-timeout
: quanto tempo o Compute Engine leva para recuperar qualquer disco SSD local anexado após um erro do host. O padrão é 1 hora.VM_NAME
: o nome da VM.MAINTENANCE_POLICY
: a política de manutenção dessa VM,TERMINATE
ouMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: comportamento de reiniciação da VM, definido como--no-restart-on-failure
ou--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: o número de horas usadas na recuperação de um SSD local anexado a uma VM que não responde. Os valores válidos são de 0 a 168, em incrementos de 1 hora.VM_NAME
: o nome da VM.MAINTENANCE_POLICY
: a política de manutenção dessa VM,TERMINATE
ouMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: comportamento de reiniciação da VM, definido como--no-restart-on-failure
ou--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: o número de horas que o Compute Engine leva para recuperar um SSD local anexado a uma VM que não responde. Os valores válidos são de 0 a 168, em incrementos de 1 hora.ERROR_DETECTION_TIMEOUT
: o número de segundos que o Compute Engine aguarda antes de reiniciar uma VM que não responde, de 90 a 330, em incrementos de 30.onHostMaintenance
: se a VM será migrada ou interrompida durante a manutenção do host. A VM é migrada por padrão.automaticRestart
: se a VM será reiniciada automaticamente após um erro do host. As VMs são reiniciadas automaticamente por padrão.localSsdRecoveryTimeout
: quanto tempo o Compute Engine leva para recuperar qualquer disco SSD local anexado após detectar um erro do host. O padrão é 1 hora.PROJECT_ID
: o projeto da VM.ZONE
: a zona em que você quer criar a VM.VM_NAME
: o nome da VM.MAINTENANCE_POLICY
: a política de manutenção dessa VM,TERMINATE
ouMIGRATE
.RESTART_POLICY
: a política de reiniciação dessa VM,true
oufalse
.SSD_RECOVERY_TIMEOUT
: o número de horas que o Compute Engine leva para recuperar um disco SSD local anexado a uma VM que não responde. Os valores válidos são de 0 a 168, em incrementos de 1 hora.PROJECT_ID
: o projeto da VM.ZONE
: a zona em que você quer criar a VM.VM_NAME
: o nome da VM.MAINTENANCE_POLICY
: a política de manutenção dessa VM,TERMINATE
ouMIGRATE
.RESTART_POLICY
: a política de reiniciação dessa VM,true
oufalse
.SSD_RECOVERY_TIMEOUT
: o número de horas que o Compute Engine leva para recuperar um disco SSD local anexado a uma VM que não responde. Os valores válidos são de 0 a 168, em incrementos de 1 hora.HOST_ERROR_TIMEOUT
: o número de segundos que o Compute Engine aguarda antes de reiniciar ou encerrar uma VM que não responde. Os valores válidos são de 90 a 330, em incrementos de 30.No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na VM com as configurações que você quer alterar. A página de detalhes da VM é exibida.
Na página de detalhes da VM, conclua estas etapas:
- Clique no botão Editar na parte superior da página.
- Acesse a seção Gerenciamento. Na seção Políticas de disponibilidade, defina as opções Na manutenção do host e Reinicialização automática.
- Clique em Save.
VM_NAME
: o nome da VM.MAINTENANCE_POLICY
: a política dessa VM,TERMINATE
ouMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: comportamento de reiniciação da VM,--no-restart-on-failure
ou--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: o tempo em horas que o Compute Engine leva para recuperar um disco SSD local anexado a uma VM que não responde. Os valores válidos são de 0 a 168.VM_NAME
: o nome da VM.MAINTENANCE_POLICY
: a política de manutenção dessa VM,TERMINATE
ouMIGRATE
.RESTART_ON_FAILURE_BEHAVIOR
: comportamento de reiniciação da VM, definido como--no-restart-on-failure
ou--restart-on-failure
.SSD_RECOVERY_TIMEOUT
: o tempo em horas que o Compute Engine leva para recuperar um disco SSD local anexado a uma VM que não responde. Os valores válidos são de 0 a 168.NUMBER_OF_SECONDS
: o número de segundos que o Compute Engine aguarda antes de reiniciar ou encerrar uma VM que não responde, de 90 a 330, em incrementos de 30.onHostMaintenance
: se a VM será migrada ou interrompida durante a manutenção do host. A VM é migrada por padrão.automaticRestart
: se a VM será reiniciada automaticamente após um erro do host. As VMs são reiniciadas automaticamente por padrão.localSsdRecoveryTimeout
: quanto tempo o Compute Engine leva para recuperar qualquer disco SSD local anexado após detectar um erro do host. Se omitido, o padrão é 1 hora.PROJECT_ID
: o projeto da VM.ZONE
: a zona em que a VM está localizada.VM_NAME
: o nome da VM.MAINTENANCE_POLICY
: a política de manutenção dessa VM,TERMINATE
ouMIGRATE
.RESTART_POLICY
: a política de reiniciação dessa VM,true
oufalse
.SSD_RECOVERY_TIMEOUT
: o tempo em horas que o Compute Engine leva para recuperar um disco SSD local anexado a uma VM que não responde. Os valores válidos são de 0 a 168.PROJECT_ID
: o projeto da VM.ZONE
: a zona em que a VM está localizada.VM_NAME
: o nome da VM.NUMBER_OF_SECONDS
: o número de segundos que o Compute Engine aguarda antes de reiniciar ou encerrar uma VM que não responde, de 90 a 330, em incrementos de 30.Acesse a página Instâncias da VM.
Clique no Nome da VM com os metadados que você quer ver. A página Detalhes da instância de VM será aberta.
Acesse a seção Gerenciamento. A subseção Políticas de disponibilidade mostra as configurações atuais para Na manutenção do host e Reinicialização automática.
PROJECT_ID
: o projeto em que a VM está localizada.ZONE
: a zona em que a VM está localizada.VM_NAME
: o nome da VM.PROJECT_ID
: o projeto da VM.ZONE
: a zona em que a VM está localizada.VM_NAME
: o nome da VM.- Saiba mais sobre manutenção do host.
- Saiba mais sobre migração em tempo real.
- Saiba como detectar um evento de migração em tempo real.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Limitações
Propriedades de manutenção do host disponíveis
Com as propriedades a seguir, é possível configurar o comportamento de manutenção, o comportamento de reiniciação e o comportamento após a ocorrência de um erro do host de uma VM.
O Compute Engine configura cada VM com os valores padrão, a menos que você especifique outros.
Durante eventos do host, dependendo da política de manutenção do host configurada, as VMs que não são compatíveis com a migração em tempo real são encerradas ou reiniciadas automaticamente.
Definir política de manutenção de host de uma VM
É possível alterar a política de manutenção do host de uma VM ao criar a VM ou depois de criá-la.
Definir política de manutenção de host durante a criação da VM
As informações nesta seção se concentram em como definir a política de manutenção do host ao criar uma VM. Para mais exemplos de criação de VMs, consulte Criar e iniciar uma instância de VM.
É possível definir a política de manutenção do host de uma VM durante a criação usando o console do Google Cloud, a gcloud CLI ou a API Compute Engine.
Console
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Para definir a política de manutenção do host de uma nova VM, use o comando
gcloud compute instances create
. Inclua um ou mais de um dos parâmetros a seguir:Defina a política de manutenção do host de uma nova VM com o comando a seguir. Se você omitir qualquer uma das flags, o padrão dela será usado.
gcloud compute instances create VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Substitua:
Definir o tempo limite de detecção de erros do host
Para definir o tempo máximo que o Compute Engine aguarda para reiniciar ou encerrar uma VM que não responde, use o comando o
gcloud compute instances create
. Especifique o tempo limite com a flag--host-error-timeout-seconds
.gcloud beta compute instances create VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \ --host-error-timeout-seconds=ERROR_DETECTION_TIMEOUT
Substitua:
REST
Para definir a política de manutenção de host de uma nova VM usando a API Compute Engine, use o método
instances.insert
. Inclua uma ou mais de uma das propriedades a seguir no objetoscheduling
do corpo da solicitação:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT } }
Substitua:
Definir o tempo limite de detecção de erros do host
Para definir o período máximo que o Compute Engine aguarda para reiniciar ou encerrar uma VM que não responde, use o método Beta
instances.insert
, porque essa opção está disponível em Pré-lançamento.Adicione a propriedade
hostErrorTimeoutSeconds
ao objetoscheduling
do corpo da solicitação.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": "RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT "hostErrorTimeoutSeconds": HOST_ERROR_TIMEOUT, } }
Substitua:
Atualizar a política de manutenção do host de uma VM que já existe
Console
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Atualize a política de manutenção do host de uma VM atual com o comando
gcloud compute instances set-scheduling
. Use os mesmos parâmetros descritos no comando de criação da VM na seção anterior.gcloud compute instances set-scheduling VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT
Substitua:
Atualizar o tempo limite de detecção de erros do host
Para atualizar o período máximo que o Compute Engine aguarda para reiniciar ou encerrar uma VM que não responde, use o comando
gcloud beta compute instances set-scheduling
, porque esse recurso só está disponível em Pré-lançamento.Atualize o tempo limite com o parâmetro
--host-error-timeout-seconds
. Exemplo:gcloud beta compute instances set-scheduling VM_NAME \ --maintenance-policy=MAINTENANCE_POLICY \ --RESTART_ON_FAILURE_BEHAVIOR \ --local-ssd-recovery-timeout=SSD_RECOVERY_TIMEOUT \ --host-error-timeout-seconds=NUMBER_OF_SECONDS
Substitua:
REST
Atualize a política de manutenção do host de uma VM que já existe com uma solicitação
POST
ao métodoinstances.setScheduling
.Inclua uma ou mais de uma das propriedades a seguir no corpo da solicitação:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "onHostMaintenance": "MAINTENANCE_POLICY", "automaticRestart": RESTART_POLICY, "localSsdRecoveryTimeout": SSD_RECOVERY_TIMEOUT }
Substitua:
Atualizar o tempo limite de detecção de erros do host
Para atualizar o período máximo que o Compute Engine aguarda para reiniciar ou encerrar uma VM que não responde, use o método Beta
instances.setScheduling
, porque esse recurso está disponível em Pré-lançamento.Adicione o parâmetro
hostErrorTimeoutSeconds
ao corpo da solicitação.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "hostErrorTimeoutSeconds": NUMBER_OF_SECONDS, }
Substitua:
Ver as configurações da política de manutenção do host de uma VM
Console
gcloud
Use o comando
gcloud compute instances describe
para ver as configurações da opção de manutenção do host de uma VM:gcloud compute instances describe VM_NAME --format="yaml(scheduling)"
Substitua
VM_NAME
pelo nome da VM.A saída contém o tempo limite de detecção de erros do host da VM, por exemplo:
scheduling: automaticRestart: true localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
Ver a configuração de tempo limite de detecção de erros do host
Veja o valor atual de
hostErrorTimeoutSeconds
com o comandogcloud beta compute instances describe
, porque essa opção só está disponível em Pré-lançamento.gcloud beta compute instances describe VM_NAME --format="yaml(scheduling)"
Substitua
VM_NAME
pelo nome da VM.A saída contém o tempo limite de detecção de erros do host da VM, por exemplo:
scheduling: automaticRestart: true hostErrorTimeoutSeconds: 120 localSsdRecoveryTimeout: nanos: 0 seconds: '10800' onHostMaintenance: MIGRATE preemptible: false provisioningModel: STANDARD
REST
Para ver as configurações de manutenção do host de uma VM, use o método
instances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Substitua:
Na saída, o objeto
scheduling
contém a política de manutenção do host da VM, por exemplo:"scheduling": { "onHostMaintenance": "MIGRATE", "automaticRestart": true, "preemptible": false, "provisioningModel": "STANDARD", "localSsdRecoveryTimeout": { "seconds": "10800", "nanos": 0 } }
Ver as configurações de tempo limite de erro do host
Veja a configuração
hostErrorTimeoutSeconds
atual com uma solicitaçãoGET
ao método Betainstances.get
, porque essa opção só está disponível em Pré-lançamento.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Substitua:
Na saída, o objeto
scheduling
contém o tempo limite de detecção de erros do host da VM, por exemplo:"scheduling": { "hostErrorTimeoutSeconds": 120 }
A seguir
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 2024-09-24 UTC.
-