Migrare immagini qcow2 da KVM a VMWare

Di recente sono passato da Proxmox a ESXI il quale ha un miglior supporto per strumenti di automazione come Ansible e Terraform, oltre ad una migliori integrazione con Red Hat Satellite. Non mi andava di ricreare da capo tutte le macchine virtuali e quindi ho optato a migrarle.

Se stavate usando immagini qcow2 anche sotto KVM (qemu), funzionerà lo stesso la seguente procedura.

Il primo passo è convertire l’immagine qcow2 in un file vmdk utilizzato da VMWare. Ho eseguito questi passaggi sul mio laptop con Fedora, tuttavia qualsiasi box Linux dovrebbe andare bene. Puoi eseguire la conversione in questo modo:

qemu-img convert -f qcow2 -O vmdk test.qcow2 test.vmdk

Quindi dovrai abilitare SSH sul tuo server ESXI per utilizzare vmkfstools sull’hypervisor stesso.

Innanzitutto, dovrai individuare dove sono archiviate le immagini. Questo sarà diverso da tutti a seconda dei datastore che sono stati impostati. /vmfs/volumes contiene i collegamenti simbolici ai tuoi archivi dati e puoi usare scp per copiare lì il tuo VMDK per l’elaborazione.

[root@test:~] cd /vmfs/volumes/
[root@test:/vmfs/volumes] ls -la
lrwxr-xr-x    1 root     root            35 Sep 24 18:23 860evo -> 5d80ea2d-f02fde58-9186-902b343139aa
lrwxr-xr-x    1 root     root            35 Sep 24 18:23 kingston120 -> 5d81524d-2af38afe-f897-902b343139aa
lrwxr-xr-x    1 root     root            35 Sep 24 18:23 mx1tb -> 5d815104-446d1bb2-734b-902b343139aa
lrwxr-xr-x    1 root     root            35 Sep 24 18:23 spc500 -> 5d815137-92da855a-b842-902b343139aa

Quindi, utilizzando scp (o qualsiasi altro strumento per copiare i file nella rete) eseguire:

scp test.vmdk root@192.168.1.250:/vmfs/volumes/5d80ea2d-f02fde58-9186-902b343139aa/

Dopo aver copiato il file, dovrai usare vmkfstools ed eseguire quanto segue:

cd /vmfs/volumes/your-datastore 
vmkfstools -i test.vmdk -d thin test.vmdk

Vedrai alcuni messaggi sulla clonazione del disco e cose mentre questo è progresso. Successivamente andremo in vcenter o esxi stesso e creeremo una nuova macchina virtuale.

Nel vcenter ho fatto quanto segue:

New Virtual Machine -> Create a new virtual machine -> gave
it a name -> selected a compute resource -> selected storage (not
important) -> selected any compatibility (6.7 and later) ->
selected my guest OS -> customised hardware (I left everything here
as default except cpu and memory - do not change disk yet) -> finish.

La VM dovrebbe ora essere creata con un disco rigido vuoto. È ora di allegare quello corretto. Modifica le impostazioni per la VM e aggiungi un nuovo dispositivo -> disco rigido esistente -> quindi seleziona il vmdk che abbiamo convertito con vmkfstools sopra.

Apporta altre modifiche e ora dovresti essere pronto per partire. Ricorda di installare vmware-tools sulla VM e possibilmente rimuovere anche qemu-guest!