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:
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 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:
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 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.
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:
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 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 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:
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