Durante um evento de manutenção planejada para o hardware subjacente de uma instância de máquina virtual (VM) ou de uma instância bare metal, o servidor host fica indisponível. Para manter uma instância em execução durante um evento de host, o Compute Engine faz uma migração em tempo real da instância para outro servidor host na mesma zona. Para mais informações sobre eventos de host, consulte Sobre eventos de host.
A migração em tempo real permite que o Google Cloud realize a manutenção sem interromper uma carga de trabalho, reiniciar uma instância ou modificar qualquer uma das propriedades dela, como endereços IP, metadados, dados de armazenamento em blocos, estado do aplicativo ou configurações de rede.
A migração em tempo real mantém as instâncias em execução nas seguintes situações:
Manutenção da infraestrutura. A manutenção da infraestrutura inclui hardware de host, redes e redes elétricas em data centers, além de sistema operacional (SO) e BIOS de host.
Atualizações relacionadas à segurança e alterações na configuração do sistema. Isso inclui eventos como a instalação de patches de segurança e a alteração do tamanho da partição raiz do host para armazenamento dos pacotes e da imagem do SO do host.
Falhas de hardware. Isso inclui falhas de memória, CPUs, placas de rede e discos. Se a falha for detectada antes de uma falha completa do servidor, o Compute Engine vai realizar uma migração em tempo real preventiva da instância para um novo servidor host. Se o hardware falhar completamente ou impedir a migração em tempo real, a instância será encerrada e reiniciada automaticamente.
O Compute Engine só faz uma migração em tempo real de VMs que têm a política de manutenção do host definida para migração. Para informações sobre como alterar a política de manutenção do host, consulte Definir política de manutenção do host da VM.
Processo de migração em tempo real e discos SSD locais
O Compute Engine pode migrar instâncias em tempo real com discos SSD locais anexados (exceto instâncias Z3 com mais de 18 TiB de SSD Titanium anexado). O Compute Engine move as instâncias de VM com os dados do SSD local para uma nova máquina antes de qualquer manutenção planejada.
Limitações
A migração em tempo real não é aceita pelos seguintes tipos de VM:
- Instâncias bare metal. As instâncias criadas com um
tipo de máquina bare metal
não são aceitas pela migração em tempo real. O comportamento de manutenção dessas instâncias está definido como
TERMINATEeRESTART, respectivamente. - A maioria das instâncias de VM confidencial. A migração em tempo real para instâncias de VM confidenciais só é possível em tipos de máquina N2D com plataformas de CPU AMD EPYC Milan que executam AMD SEV. Todas as outras instâncias de VM confidenciais não aceitam a migração em tempo real e precisam ser configuradas para serem interrompidas e, opcionalmente, reiniciadas durante um evento de manutenção do host. Consulte Migração em tempo real para mais detalhes.
VMs com GPUs conectadas. As instâncias de VM com GPUs anexadas precisam ser definidas para interrupção e reinicialização opcional. O Compute Engine oferece uma notificação antes que uma instância de VM com uma GPU anexada seja interrompida, dependendo do tipo de GPU:
- Para a maioria das GPUs, o Compute Engine envia uma notificação com 60 minutos de antecedência.
- Para instâncias A4X, A4 e A3 Ultra, o Compute Engine envia uma notificação de 10 minutos.
Para saber mais sobre esses avisos de eventos de manutenção, leia Consultar o servidor de metadados para avisos de eventos de manutenção.
Para saber mais sobre como lidar com a manutenção do host com GPUs, leia Como lidar com a manutenção do host na documentação de GPUs.
- Cloud TPUs. As Cloud TPUs não são aceitas pela migração em tempo real.
- VMs otimizadas para armazenamento. As VMs Z3 com mais de 18 TiB de SSD Titanium anexado não são aceitas pela migração em tempo real. O comportamento
de manutenção dessas VMs é definido como
TERMINATEeRESTART.O Compute Engine preserva os dados no SSD Titanium durante o evento de manutenção, conforme descrito em Persistência de disco após o encerramento da instância.
Como funciona o processo de migração em tempo real?
Quando uma VM é programada para migração em tempo real, o Compute Engine envia uma notificação para que você possa preparar suas cargas de trabalho e aplicativos para essa interrupção da migração em tempo real. Durante a migração em tempo real, o Google Cloud observa um tempo mínimo de interrupção, que costuma ser menos de um segundo. Se uma VM não estiver configurada para migração em tempo real, o Compute Engine encerrará a VM durante a manutenção do host. As VMs definidas para serem encerradas durante um evento de host são interrompidas e (opcionalmente) reiniciadas.
Quando o Google Cloud migra uma VM em execução de um host para outro, ele move o estado completo da VM da origem para o destino de uma maneira transparente ao SO convidado e a tudo que se comunique com ele. Há muitos componentes envolvidos em fazer isso funcionar perfeitamente, mas as etapas de alto nível são mostradas na ilustração a seguir:
O processo começa com uma notificação de que uma VM precisa ser movida da máquina host atual. A notificação pode começar com uma alteração de arquivo indicando que uma nova versão da BIOS está disponível, uma manutenção de programação de operação de hardware ou um sinal automático de uma falha de hardware iminente.
O software de gerenciamento de cluster doGoogle Cloudvigia constantemente esses eventos e os programa com base em políticas que controlam os data centers, como taxas de utilização de capacidade e o número de VMs que um único cliente pode migrar de uma só vez.
Depois que uma VM é selecionada para migração, o Google Cloud envia uma notificação para o convidado informando que uma migração acontecerá em breve. Após um período de espera, um host de destino é selecionado e solicitado a configurar uma nova VM de destino vazia para receber a VM de origem de migração. A autenticação é usada para estabelecer uma conexão entre a origem e o destino.
Há três estágios envolvidos na migração da VM:
Blecaute parcial na origem. A VM ainda está sendo executada na origem, enquanto a maioria dos estados é enviada da origem ao destino. Por exemplo, oGoogle Cloud copia toda a memória do convidado para o destino, enquanto rastreia as páginas que foram alteradas na origem. O tempo gasto no blecaute parcial na origem é uma função do tamanho da memória do convidado e da taxa em que as páginas estão sendo alteradas.
Indisponível. Um momento muito breve em que a VM não está sendo executada em lugar algum, a VM de origem está pausada, e todo o estado restante necessário para começar a executar a VM no destino é enviado. A VM entra no estágio indisponível quando o envio de estado muda durante o estágio de blecaute parcial da origem e atinge um ponto de redução de retornos. Um algoritmo é usado para equilibrar o número de bytes da memória que está sendo enviada em relação à taxa em que a VM convidada está fazendo alterações.
Durante eventos de indisponibilidade, o relógio do sistema parece adiantar até cinco segundos. Se um evento de indisponibilidade for superior a 5 segundos, o Google Cloud interromperá e ressincronizará o relógio usando um daemon incluído nos pacotes de convidado da VM.
Blecaute parcial de destino. A VM é executada na VM de destino. A VM de origem está presente e pode disponibilizar funcionalidades para a VM de destino. Por exemplo, até que a malha de rede alcance a nova localização da VM de destino, a VM de origem fornecerá serviços de encaminhamento para pacotes provenientes da VM de destino e destinados a ela.
Por fim, a migração está completa e o sistema exclui a VM de origem. Veja se a migração ocorreu nos registros do Cloud Logging da sua VM.
Migração em tempo real de VMs de locatário individual
À medida que a carga de trabalho é executada, é recomendado mover as VMs para um nó ou grupo de nós de locatário individual diferente. Se você mover uma VM para um grupo de nós, o Compute Engine determinará o nó em que ela será colocada. Para informações sobre locatário individual, consulte Visão geral sobre locatário individual.
Para remover VMs de locatário individual para um nó ou grupo de nós diferente, inicie manualmente uma migração em tempo real. Também é possível iniciar manualmente uma migração em tempo real para mover uma VM em um host de vários locatários para um nó de locatário individual. Para mais informações, consulte Migração em tempo real manual de VMs.
A seguir
Defina a Política de manutenção do host da VM para configurar as instâncias para migração em tempo real.
Saiba como receber avisos de migração em tempo real para acionar tarefas que você quer realizar antes de um evento de manutenção.
Leia dicas sobre como projetar um sistema robusto capaz de processar interrupções de serviço.