Processo de migração de VMs

O Migrate to Virtual Machines permite que você migre (lift-and-shift) suas máquinas virtuais (VMs) com pequenas modificações automáticas do ambiente de origem para o Compute Engine. O Migrate to Virtual Machines usa a tecnologia de replicação de dados que replica continuamente os dados do disco das VMs de origem para Google Cloud sem causar inatividade na origem. Em seguida, crie clones de VM a partir de dados replicados para teste e realize substituições de VM previsíveis nas cargas de trabalho finais em execução no Google Cloud.

A replicação de dados permite que o Migrate to Virtual Machines execute uma replicação inicial dos dados da VM de origem para que você possa clonar e testar rapidamente uma VM migrada. No entanto, como a VM de origem continua a ser executada durante o processo de migração, incluindo durante o teste, o Migrate to Virtual Machines continua a replicar os dados até que você realize a substituição final para a VM migrada.

As VMs criadas durante o processo de migração são chamadas de VMs migrando, e elas existem em vários estados durante e após uma migração. Para informações sobre o ciclo de vida de uma VM em migração, incluindo os prazos de expiração, consulte Ciclo de vida de uma VM de migração.

O Migrate to Virtual Machines é totalmente integrado ao console Google Cloud , o que significa que é possível realizar todas as tarefas de migração na interface Google Cloud console .

Sobre o processo de migração

O Migrate to Virtual Machines oferece um caminho para você migrar suas VMs para o Compute Engine. O processo de migração ocorre nas seguintes fases:

  • Integração: selecione uma VM de origem que você queira migrar.

  • Replicação: replique os dados da VM de origem para Google Cloud. A replicação de dados é um processo contínuo que ocorre em segundo plano até o fim da substituição ou você excluir a migração.

  • Definição dos detalhes de destino da VM: defina as configurações do Compute Engine da VM migrada, como projeto, tipo de instância, memória, rede, entre outros.

  • Clone de teste: como opção, crie um clone do Compute Engine da VM de origem a partir dos dados de replicação e teste no Google Cloud.

  • Transição: migrar a VM de origem para o Compute Engine. Esse processo inclui a interrupção da VM de origem, a conclusão de uma replicação final e a criação da instância de produção do Compute Engine a partir da VM de origem.

  • Finalização: execute qualquer limpeza final após uma migração bem-sucedida.

A imagem a seguir mostra essas fases:

Fases do Migrate.

Cada uma dessas fases é descrita em mais detalhes nas seções a seguir.

Fase de integração

A primeira fase da migração é a fase de integração em que você seleciona as VMs a serem migradas:

Fase de integração do Migrate.

Por exemplo, para um data center do vSphere, o consoleGoogle Cloud mostra todas as VMs no data center. Selecione apenas as VMs que você quer migrar para integrar as VMs.

Fase de replicação

Depois de integrar uma VM, inicie a replicação dos dados do disco da VM de origem para Google Cloud. A VM de origem continua a ser executada durante a replicação:

Fase de replicação do Migrate.

A replicação de dados é um processo contínuo que ocorre em segundo plano, com impacto mínimo na VM de origem.

A replicação de dados é composta de duas etapas:

  1. Primeira etapa de replicação: o Migrate to Virtual Machines cria o snapshot inicial dos discos de dados da VM de origem e replica os dados do snapshot para Google Cloud. Dependendo da quantidade de dados do disco na VM de origem, a primeira replicação pode levar minutos ou horas para ser concluída.

  2. Etapa de replicação incremental: após uma primeira etapa de replicação bem-sucedida, as etapas de replicação adicionais ocorrem em intervalos de tempo definidos (a cada duas horas, por padrão). Em cada etapa, é criado um novo snapshot para cada disco de dados. Somente as atualizações de dados que ocorreram após a etapa anterior são replicadas no Google Cloud usando o mecanismo de controle de bloqueio de alteração (CBT).

Depois que você começa a replicar a VM de origem, a replicação continua até que você exclua a migração.

É possível pausar a replicação de uma VM a qualquer momento. Por exemplo, é possível pausar a replicação em uma ou mais VMs para minimizar os recursos de rede ou definir uma prioridade mais alta para as VMs de migração que não estão pausadas. É possível retomar a replicação posteriormente.

Adaptações de SO

Para funcionar corretamente no Google Cloud, as VMs migradas podem precisar de alterações na configuração. Esse processo é chamado de adaptação do SO. O processo de adaptação do sistema operacional (SO) é realizado na conclusão de cada etapa da replicação para preparar a VM para execução no Google Cloud.

Por exemplo, o Migrate to Virtual Machines adapta as configurações de rede, implanta o agente do Compute Engine e ativa o console serial na VM migrada. Consulte Adaptações do SO para mais informações, incluindo as adaptações específicas aplicadas às VMs do Linux e do Windows.

Definir detalhes do destino

Depois de iniciar a replicação de dados, defina o ambiente de destino do Compute Engine no Google Cloud para a VM migrada:

Fase definir destino do Migrate.

Os detalhes de destino do Compute Engine definem a zona de destino de uma VM migrada no Google Cloud. Esses detalhes incluem o projeto, tipo de instância, configuração de rede e muito mais. Depois, o Migrate to Virtual Machines cria a instância do Compute Engine para hospedar a VM migrada usando os detalhes do destino.

É possível modificar os detalhes do destino a qualquer momento. Ao instanciar uma instância do Compute Engine para a fase de clone de teste ou de substituição, o Migrate to Virtual Machines usa as configurações de detalhes de destino no momento da operação.

Fase de clone de teste

A qualquer momento após a conclusão da etapa de replicação inicial dos dados do disco da VM de origem, você pode clonar a VM de origem em uma instância do Compute Engine para teste:

Fase de clone de teste do Migrate.

Muitas vezes, você cria clones de teste ao longo do processo de migração à medida que faz modificações na VM de origem ou nos detalhes de destino. Um clone de teste é um snapshot estático da VM de origem criada a partir dos dados de replicação atuais e dos detalhes do destino. Novos dados de replicação e modificações nos detalhes de destino são aplicados apenas a novos clones de teste, não a clones de teste existentes.

Não é obrigatório, mas é altamente recomendável criar um clone de teste da VM antes da implantação na produção. Os testes são uma fase crítica do processo de migração para garantir que a VM migrada funcione corretamente no Google Cloud.

Se você decidir criar um clone de teste a partir da VM de origem, o Migrate to Virtual Machines criará uma instância do Compute Engine com base nos dados de replicação mais recentes usando os detalhes de destino.

Observação: a VM de origem continua a ser executada durante a fase de teste, o que significa que a replicação de dados também continua.

Como a VM de origem continua a ser executada durante a fase de testes, você precisa executar o teste em um ambiente de sandbox que isola a VM de teste da VM de origem original.

Quando a VM de teste estiver funcionando, será possível verificar se ela está funcionando conforme esperado e documentar as alterações necessárias para permitir que a VM funcione no Google Cloud. Quando o teste é concluído, você geralmente exclui a instância do Compute Engine de teste e cria uma instância de produção do Compute Engine como parte da fase de substituição.

Fase de substituição

Na fase de substituição, a VM de origem é interrompida pelo Migrate to Virtual Machines, a replicação é finalizada e uma nova instância de VM é criada no Compute Engine no Google Cloud:

Fase de substituição do Migrate.

Realize a substituição somente após executar todas as validações durante a fase de teste recomendada.

A fase de substituição inclui um período de inatividade curto da VM e precisa ocorrer durante uma janela de manutenção programada. Primeiro, é necessário determinar a janela de manutenção em que é possível interromper a VM de origem e redirecionar o tráfego para a VM migrada em execução no Compute Engine.

A inicialização de uma substituição em uma VM de migração inicia a seguinte sequência de ações realizadas pelo Migrate to Virtual Machines:

  1. Encerramento da VM de origem.

  2. Realização da replicação de dados final. Como a replicação ocorre em todas as fases da migração, a quantidade de dados a serem replicados não pode ser muito grande. Se uma replicação estiver em andamento, então ela estará concluída. Se nenhuma replicação estiver em andamento, realize uma replicação final.

  3. Interrompe a replicação.

  4. Crie a instância do Compute Engine com base nos dados replicados finais.

Após a substituição, realize as validações finais na VM migrada. Os resultados da substituição determinam suas próximas ações:

  • Falha na substituição: por algum motivo, a substituição para a nova instância de VM no Compute Engine falhou, possivelmente devido a um problema de rede ou outro problema simples. Nesse ponto, a VM de origem é interrompida e os dados finais de replicação ainda são válidos. Tente fazer a substituição novamente para ver se a repetição limpa o erro.

  • A substituição foi concluída, mas a nova instância de VM não está funcionando corretamente: se a nova instância da VM no Compute Engine não estiver funcionando corretamente, exclua a VM do Compute Engine e inicie a VM de origem. Esse processo é chamado de "reversão".

    Devido à complexidade de reverter uma migração, a reversão não é um processo automatizado. Caso precise fazer uma reversão, será necessário redirecionar o tráfego de volta à VM de origem. Além disso, os dados gravados na instância do Compute Engine não são enviados de volta para a VM de origem original.

    Com a VM de origem funcionando novamente, é possível diagnosticar e resolver o erro de migração. Depois que o erro for resolvido, você poderá reiniciar a replicação e tentar fazer a migração novamente.

  • A substituição foi concluída e a nova instância de VM está funcionando corretamente: se os resultados de validação determinarem que a nova VM está funcionando corretamente, a migração estará concluída.

Fase de finalização

Após uma substituição bem-sucedida, finalize a migração. A execução da finalização exclui todos os dados de replicação e todos os outros recursos de armazenamento associados à VM migrada e altera o estado da VM para Finalizado.

A finalização só pode ser realizada em VMs no estado Substituição:

Fase de migração completa.

Os dados de replicação usados para criar a VM do Compute Engine são retidos após a substituição. Isso significa que é possível usar esses dados para criar instâncias adicionais da VM migrada depois da substituição. No entanto, posteriormente você irá querer liberar o armazenamento na fase final.

Após a finalização, as únicas operações permitidas na migração são:

  • Excluir a migração
  • Adicionar ou remover de um grupo

A seguir