Como migrar VMs para o Proxmox VE: importação direta do VMware ESXi, discos VHDX e VMDK, outro Proxmox ou KVM, e ajustes após o boot.

Para que serve

Este artigo mostra como migrar VMs para o Proxmox VE do seu servidor dedicado, trazendo máquinas virtuais de outro ambiente: direto de um host VMware ESXi pelo assistente de importação, a partir de discos Hyper-V (VHDX) ou VMware (VMDK) exportados, e a partir de outro servidor Proxmox/KVM em outro provedor. Para planejar a janela de troca, veja também o artigo «Migração de servidor com o mínimo de downtime: checklist para sair de outro provedor (TTL de DNS, sincronização final e rollback)».

Pré-requisitos

  • Proxmox VE 8.2 ou superior (o assistente de importação do ESXi chegou nessa versão). Recomenda-se estar na versão mais recente do 9.x.
  • Espaço livre no storage de destino maior que o tamanho dos discos das VMs, mais uma área temporária para arquivos exportados (quando o método exigir).
  • Backup atualizado das VMs de origem.
  • Lista com a configuração de cada VM: CPU, RAM, discos, IPs, gateway e DNS, e se a VM usa BIOS ou UEFI.
  • ISO do virtio-win no Proxmox, para VMs Windows.

Antes de migrar VMs para o Proxmox: preparação na origem

Os itens abaixo valem para todos os métodos.

  1. Windows: instale antes os drivers VirtIO (virtio-win-gt-x64.msi) ainda na origem. Assim o Windows já terá o driver quando subir no Proxmox. Desinstale o VMware Tools ou os serviços de integração do Hyper-V depois que a VM estiver funcionando no destino, ou antes da migração, se possível.
  2. Linux: garanta que os módulos VirtIO estão no initramfs (em Debian/Ubuntu normalmente já estão; em RHEL e derivados, rode dracut -f --add-drivers "virtio_scsi virtio_blk virtio_net virtio_pci").
  3. Criptografia de disco com vTPM (BitLocker, por exemplo): suspenda ou desative antes. O estado do vTPM do VMware não é migrado, e a VM pode pedir a chave de recuperação.
  4. Desligue a VM na origem antes de copiar os discos, para garantir consistência.

Método 1: importar direto do VMware ESXi

  1. No Proxmox, vá em Datacenter → Storage → Add → ESXi. Informe um ID (ex.: esxi-antigo), o endereço do host ESXi, usuário (ex.: root) e senha. Se o ESXi usar certificado autoassinado, marque Skip Certificate Verification. O assistente foi testado com ESXi 6.5 a 8.0.
  2. Conecte-se diretamente ao host ESXi, não ao vCenter: pelo vCenter a importação fica muito mais lenta.
  3. O novo storage aparece na árvore à esquerda e lista as VMs do ESXi. Selecione a VM desligada e clique em Import.
  4. No assistente, escolha o VMID, o storage de destino (ex.: o pool NVMe) e o formato. Na aba Advanced, ajuste o controlador de disco e a placa de rede: para Windows sem drivers VirtIO já instalados, mantenha o disco em SATA no primeiro boot; para Linux ou Windows já preparado, use VirtIO SCSI single e placa VirtIO na vmbr0.
  5. Opcionalmente marque Live Import: a VM liga no Proxmox enquanto os dados ainda são copiados, reduzindo a parada. Se a importação falhar no meio, tudo o que a VM gravou desde o início é perdido; use só com boa conexão até o ESXi.

A conexão entre o Proxmox e o ESXi trafega pela internet se o ESXi estiver em outro provedor. Libere o acesso HTTPS (443) do ESXi apenas para o IP do seu servidor Proxmox durante a migração.

Método 2: importar discos VHDX (Hyper-V) ou VMDK (VMware exportado)

  1. Crie a VM vazia no Proxmox com CPU, RAM e rede equivalentes, sem disco. Para VMs Hyper-V Geração 2 ou VMware com UEFI, use BIOS OVMF (UEFI) com EFI Disk; para Geração 1 ou BIOS legado, use SeaBIOS.
  2. Copie os arquivos para o Proxmox (ex.: para /var/lib/vz/import/ ou outro diretório com espaço), via scp, rsync ou WinSCP:
    rsync -avP --sparse usuario@origem:/caminho/servidor.vhdx /var/lib/vz/import/
    No VMware, exporte em OVF/VMDK. Use o arquivo descritor .vmdk junto com o -flat.vmdk.
  3. Importe o disco para a VM (exemplo VMID 120, storage nvme):
    qm disk import 120 /var/lib/vz/import/servidor.vhdx nvme
    O disco entra como Unused Disk. Se preferir converter antes, o qemu-img aceita VHDX, VHD e VMDK:
    qemu-img convert -p -f vhdx -O raw servidor.vhdx servidor.raw
    qemu-img info servidor.raw
  4. Para pacotes OVF do VMware, você pode criar a VM e importar os discos de uma vez:
    qm importovf 121 /var/lib/vz/import/servidor.ovf nvme
  5. Anexe o disco. Em VM → Hardware, dê duplo clique no Unused Disk e escolha o barramento (SATA para Windows ainda sem VirtIO; SCSI para os demais). Em Options → Boot Order, marque esse disco como primeiro.

Método 3: vindo de outro Proxmox ou KVM em outro provedor

  • Origem Proxmox: faça um backup com vzdump na origem, copie o arquivo .vma.zst para /var/lib/vz/dump/ no servidor novo e restaure com qmrestore. Se a origem já usa Proxmox Backup Server, basta adicionar o mesmo PBS no novo servidor e restaurar de lá.
  • Origem KVM/libvirt ou outro provedor com imagens qcow2/raw: copie o arquivo de disco e use qm disk import como no Método 2.
  • Sem acesso ao hypervisor (só à VM): é possível clonar o disco por rede com dd via SSH ou usar ferramentas de backup de imagem do próprio sistema. É um processo mais delicado; teste antes com uma VM de menor importância. Se só os dados precisam vir, veja também o artigo «Como migrar arquivos entre servidores com rsync (e robocopy no Windows)».

Depois do primeiro boot

  1. Windows: instale/atualize o virtio-win-gt-x64.msi e o QEMU Guest Agent. Para trocar o disco de SATA para VirtIO SCSI, adicione um disco SCSI temporário de 1 GB, ligue a VM para o Windows carregar o driver, desligue, desanexe o disco principal, reanexe como SCSI, ajuste a ordem de boot e remova o disco temporário.
  2. Rede: a placa nova tem outro nome/MAC. No Linux, o nome costuma mudar (ex.: ens192 vira ens18); ajuste netplan ou /etc/network/interfaces. No Windows, configure o IP na nova placa e remova a antiga oculta, se o Windows reclamar de IP duplicado.
  3. IPs: ao mudar de provedor, os IPs públicos mudam. Use IPs do seu bloco /28 e atualize DNS, firewalls e licenças atreladas a IP.
  4. Instale o qemu-guest-agent no Linux (apt install qemu-guest-agent) e ative a opção Qemu Agent na VM.
Atenção: não ligue a VM migrada com o mesmo IP enquanto a original ainda estiver no ar na mesma rede. Se algo der errado com a rede da VM, use o Console da VM no Proxmox para corrigir.

Como saber se funcionou

  • A VM inicia sem tela azul (Windows) ou sem cair no shell de emergência (Linux).
  • qm agent <VMID> ping responde, e o resumo da VM mostra os IPs.
  • Aplicações e serviços respondem nos novos IPs; compare o tamanho dos dados com a origem.

Problemas comuns

Windows com tela azul INACCESSIBLE_BOOT_DEVICE

Falta o driver do controlador de disco. Mude o disco para SATA, inicie, instale os drivers VirtIO e depois faça a troca para SCSI.

A VM não encontra o sistema para dar boot

Firmware incompatível: VMs UEFI precisam de OVMF e as de BIOS legado precisam de SeaBIOS. Ajuste em VM → Hardware → BIOS e confira a ordem de boot.

Importação do ESXi muito lenta

Verifique se está conectado no host ESXi e não no vCenter, e a banda entre os servidores. Para muitas VMs grandes, exportar os discos e copiar com rsync pode ser mais previsível.

Windows pede reativação

A troca de hardware virtual pode exigir reativar a licença. Tenha a chave do produto em mãos. Veja também o artigo «Como ativar o Windows Server: licenciamento, conversão da avaliação para varejo e RDS CALs».

Perguntas frequentes

O Proxmox importa VMs do VMware automaticamente?

Sim. A partir do Proxmox VE 8.2, o storage do tipo ESXi lista as VMs do host e um assistente faz a importação, inclusive com Live Import.

Como converter VHDX ou VMDK para o Proxmox?

Use qm disk import, que aceita esses formatos direto, ou converta antes com qemu-img convert.

Por que o Windows dá tela azul depois da migração?

Normalmente é o erro INACCESSIBLE_BOOT_DEVICE, por falta do driver VirtIO. Inicie com o disco em SATA, instale os drivers e só depois troque para SCSI.

Os IPs das VMs mudam ao migrar de provedor?

Sim. As VMs passam a usar IPs do seu bloco /28; atualize DNS, regras de firewall e licenças atreladas a IP.

Precisa de ajuda?

Se a VM não iniciar após a migração, abra um ticket com o sistema operacional da VM, o método usado e a saída de qm config <VMID>.

Esta resposta lhe foi útil? 0 Usuários acharam útil (0 Votos)

Leia também