Migração de máquinas virtuais com vários discos do VMware para o IBM Cloud com cópia direta de volume
Migre máquinas virtuais (VMs) do tipo “ VMware ” com vários discos para servidores virtuais “ IBM Cloud VPC ” usando a cópia direta de volume com o qemu-img ou o virt-v2v para obter controle total no nível do disco.
Componentes de arquitetura
A tabela a seguir lista os componentes da arquitetura de uma migração direta de cópia de volume.
| Componentes de arquitetura | Descrição |
|---|---|
| Instância do servidor virtual do trabalhador |
Uma instância temporária de servidor virtual que serve como seu espaço de trabalho de migração. Esta instância de servidor virtual requer os seguintes pré-requisitos:
|
| Instância de servidor virtual efêmera | Uma instância de servidor virtual de curta duração criada exclusivamente para gerar volumes de inicialização e de dados com a configuração correta. Você exclui essa instância de servidor virtual imediatamente, mas mantém seus volumes. |
| Volumes de destino | Os volumes reais que se tornam os discos migrados do VM. |
Visão geral do processo de cópia de migração direta de volume
As etapas a seguir apresentam o processo de migração usando a cópia direta de volume.
-
Provisionar uma instância de servidor virtual para o trabalhador
- Ubuntu ou instância RHEL com espaço de trabalho adequado
- Anexe um volume secundário grande se for necessário espaço de trabalho para VMDKs
- Instale as ferramentas necessárias
qemu-imglibguestfs-tools(para virt-v2v )
-
Criar instância de servidor virtual efêmera
- Configure-o para corresponder ao seu destino VM (sistema operacional, tamanho do disco de inicialização, contagem/tamanho do disco secundário)
- Crítico: Desativar a exclusão automática em todos os volumes
- Crítico: usar o perfil de armazenamento
general-purposepara o volume de inicialização - A configuração da rede pode ser descartável
- Observe os tamanhos dos volumes e o pedido
-
Excluir instância de servidor virtual efêmera, reter volumes
- Excluir a instância do servidor virtual por meio da interface do usuário ou da CLI
- Confirmar que os volumes ainda existem e estão disponíveis para serem anexados
-
Anexar volumes à instância do servidor virtual do trabalhador
- Anexe-os na mesma ordem em que foram criados
- Anote os nomes dos dispositivos (por exemplo, /dev/vdb, /dev/vdc, e assim por diante)
- Verifique os tamanhos:
blockdev --getsize64 /dev/vdb
-
Transferir e converter VM Disks
- Se exportado: Copie o VMDK para a instância do servidor virtual do trabalhador
- Converta e escreva em uma única etapa:
qemu-img convert -f vmdk -O raw source-vm-boot.vmdk /dev/vdb qemu-img convert -f vmdk -O raw source-vm-data.vmdk /dev/vdc- Opcionalmente, use virt-v2v para injeção de driver do Windows (consulte a seção Windows a seguir)
-
Verificação e descarga
- Verificação pontual das tabelas de partição:
fdisk -l /dev/vdb - Limpar os buffers:
blockdev --flushbufs /dev/vdb
- Verificação pontual das tabelas de partição:
-
Desanexar volumes do trabalhador
- Desanexar todos os volumes de destino
- Agora eles estão prontos para serem anexados à instância final do servidor virtual
-
Criar uma instância final de servidor virtual a partir de um volume de inicialização existente
- Em vez de selecionar uma imagem, selecione "volume de inicialização existente"
- Escolha o volume de inicialização que você preencheu
- Configurar rede, grupos de segurança, chave SSH (necessário, embora não seja usado se for um VM existente)
- Para volumes secundários: Usar CLI/API ou anexar após a criação e reiniciar
-
Configuração pós-migração
- Inicialize a instância do servidor virtual, acesse pelo console VNC se a configuração da rede precisar de ajustes
- Verifique se todos os discos estão presentes e montados
- Expandir a partição do volume de inicialização se você a redimensionou para cima
Vantagens do design de cópia de volume direto
A tabela a seguir lista as vantagens de design da migração direta de cópia de volume.
| Vantagem do design | Descrição |
|---|---|
| Suporte a vários discos | O suporte a vários discos lida com máquinas virtuais com qualquer número de discos, até o limite de 12 discos da VPC. |
| Sem proliferação de imagens | Você não está criando uma imagem personalizada para cada máquina virtual. Sua lista de imagens personalizadas permanece limpa. |
| Transformação flexível | Permite fácil integração com o site virt-v2v para injeção de drivers, ajustes de sistema operacional e assim por diante. |
| Opção de eficiência de armazenamento | Se você importar um modelo básico como uma imagem personalizada e usá-lo como fonte de volume de inicialização para sua instância de servidor virtual efêmera (etapa 2), o volume de inicialização final herdará a eficiência do espaço de clone vinculado. |
Restrições e limitações do design de cópia direta de volume
A tabela a seguir lista as restrições e limitações de uma migração direta de cópia de volume.
| Limitação ou restrição | Descrição |
|---|---|
| Complexidade da orquestração | Há mais etapas e partes móveis. Você precisa de runbooks sólidos e, de preferência, de automação (Terraform, Ansible, scripts). |
| Limitações de conexão de volumes |
A interface de usuário (UI) do IBM Cloud não oferece suporte à conexão de volumes secundários durante a criação de instâncias de servidores virtuais. Você deve realizar uma das seguintes ações:
|
| Custos indiretos de exportação | Se você estiver exportando VMDKs de VMware, ainda incorrerá nessa sobrecarga (embora menos do que a exportação de OVA). |
Ignorar a exportação usando a transferência de rede
Você pode combinar o Método 2 com técnicas de transferência de rede (detalhadas no Método 3) para evitar totalmente a exportação de VMDKs. Inicialize sua fonte VM a partir de um ISO, estabeleça a conectividade de rede com a instância do servidor virtual de trabalho e transmita o conteúdo do disco diretamente:
-
Na instância do servidor virtual de trabalho (destino), emita o seguinte comando:
nc -l 192.168.100.5 8080 | gunzip | dd of=/dev/vdb bs=16M status=progress -
Na máquina virtual de origem (inicializada a partir da ISO), emita o seguinte comando:
dd if=/dev/sda bs=16M | gzip | nc -N -v 192.168.100.5 8080
Esse processo elimina o tempo de exportação e os requisitos de armazenamento de exportação.
Usar esse processo para VMs com vários discos, para cenários em que você deseja um controle preciso ou em que é importante evitar a proliferação de imagens personalizadas. Você também pode aumentar a eficiência com a transferência de rede.