O Migrate to Virtual Machines permite que você migre (migração lift-and-shift) suas máquinas virtuais (VMs, na sigla em inglês) com pequenas modificações automáticas, do ambiente de origem para o Google 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 o 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.
O Migrate to Virtual Machines é totalmente integrado ao Console do Google Cloud, o que significa que é possível executar todas as tarefas de migração na IU do Console do Google Cloud.
Sobre o processo de migração
O Migrate to Virtual Machines fornece um caminho simples 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 o 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:
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:
Por exemplo, para um data center do vSphere, o console do Google 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 o Google Cloud. A VM de origem continua a ser executada durante a replicação:
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:
Primeira etapa de replicação: o Migrate to Virtual Machines cria o snapshot inicial do VMware dos discos de dados da VM de origem e replica os dados do snapshot para o 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.
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, na sigla em inglês).
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, talvez seja preciso alterar as configurações das VMs. 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:
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:
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 o 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:
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:
Encerramento da VM de origem.
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.
Interrompe a replicação.
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 transiçã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:
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