Guida alla migrazione di macchine VMware vs Proxmox

Ciao a tutti,

eccomi nuovamente a voi con un nuovo post, in questo periodo sono molto prolifero.

Questa volta parliamo di sistemi di virtualizzazione, questo perché ultimamente nella realtà per la quale lavoro, sotto mia indicazione abbiamo deciso di passare dalla virtualizzazione in Vmware a Proxmox.

Prima di fare questa scelta c’è voluto del tempo ma poi leggendo vari post per la rete mi sono convito a fare questo enorme passo.

In questa guida non voglio parlarvi di come settare un cluster Proxmox a due nodi, ebbene si,  siamo passati dagli attuali 3 nodi VMware a due nodi  (decisione avvenuta dall’alto) visto che vi sono varie guide sul WEB (non è detto che in futuro ne faccia qualcuna completa).

Quello che non ho trovato è stata una guida esauriente per poter migrare senza tanti giri le macchine virtuali. Che penso di aver risolto egregiamente in questa guida sempre con l’aiuto in questo caso del WEB.

Dopo questa breve parentesi passiamo al sodo e vediamo come sia possibile migrare le vostre vm verso un cluster Proxmox, qualora vogliate passare a questo sistema.

Prendiamo in considerazione di disporre sui nostri due nodi un disco locale dedicato al sistema  di circa 500 Gb o 1 TB, in questo modo non avremo necessità di disporre un  disco esterno per effettuare la migrazione.

Accediamo al nodo 1 tramite ssh  e creiamo una cartella d’appoggio in /mnt con un nome a vostro piacimento, nel mio caso si chiama migraz.

# mkdir /mnt/migraz

ora installiamo il pacchetto vmware-oftools, per farlo dovreste accedere al portale myvmware, ma vi metterò qui il link per scaricarlo dal blog.

Una volta scaricato il tool, impostiamo i parametri di esecuzione del file.

# chmod +x Vmware-ovftool-4.4.0-15722219-lin.x86_64.bundle

e poi eseguiamo l’installazione

# ./Vmware-ovftool-4.4.0-15722219.lin.x86_64.bundle

Seguiamo le indicazioni della fase di setup. facciamo la stessa cosa sul nodo 2

Ora Iniziamo nello spegnere la macchina virtuale da migrare, prendiamo nota solo dell’IP che la macchina vm possiede e identifichiamo il server vmware dove la macchina si appoggia nel mio caso i parametri sono i seguenti, “IP Server Vmware nodo 3 10.100.1.3” ho spento la macchina che voglio migrare denominata BackupDr e ho digitato quanto segue per importare la macchine in formato ovf.

# ovftool –overwrite –noSSLVerify vi://[email protected]/BackupDr /mnt/migraz

Il sistema vi chiedere la password del nodo 3, digitatela, il tempo di trasporto verso il nodo Pve1 e la trasformazione della macchina vmware in ovf, dipende dalla vostra rete e dalle dimensioni del disco della vm.

Una volta che l’importazione è terminata, dovremmo trasformare il nostro ovf in un formato leggibile da Proxmox, e per farlo useremo questo comando:

# qm importovf 100 /mnt/migraz/BackupDr/BackupDr.ovf ZFS-STORAGE –format qcow2

Spieghiamo in breve cosa fa questo comando: il comando trasforma il file ovf presente in /mnt/migraz nel formato dedito per il nodo1, qui sopra notiamo il numero 100, questo non è altro che l’id richiesto da proxmox per riconoscere la vm, numero che dobbiamo inserire noi manualmente e a nostra discrezione.

Vediamo poi il percorso dove risiede il file ovf appena importato, notiamo anche il nome dello storage condiviso dove verranno archiviate tutte le macchine virtuali per i due hosts Proxmox ed infine il formato di conversione finale nel nostro caso qcow2, ma potrebbe essere anche in raw, anche questa procedura dipende dalle dimensioni del disco originale.

Settiamo ora l’hardware della vm.

Dalla webgui clicchiamo sulla macchina appena creata, la riconosciamo per l’id assegnato “100”, selezioniamo Hardware vediamo innanzitutto che la macchina presenta la stessa cpu e ram della macchina vmware.

Iniziamo a cliccare sulle voci da modificare; come bios settiamo, se si tratta di una versione Windows dal 2016 in poi ovmf, se le macchine sono più vecchie usiamo il bios predefinito, come schermo possiamo usare predefinito con una ram di solo 4 Mb, come tipo di macchina selezioniamo pc-i440fx, mentre per versioni superiori q35, anche lo SCSI controller va modificato, per macchine datate ci basterà il predefinito, oppure in alcuni casi, come per le macchine nuove potremmo usare SATA.

Un discorso simile viene fatto anche per le macchine Linux di solito il disco deve essere settato come ide0, in questo modo. dii nodi proxmox dove abbiamo effettuato la conversione della macchina 

# sed -i ‘s/scsi0:/sata0:/’ /etc/pve/qemu-server/100.conf (per macchine Windows)
# -i ‘s/scsi0:/ide0:/’ /etc/pve/qemu-server/101.conf (per macchine Linux)

Un’altra cosa che si noterà è che la trasformazione non importa la scheda di rete, in questo caso andrà aggiunta manualmente seguendo la logica della vostra rete se lan o DMZ e reimpostato l’indirizzo IP.

Migrare il solo disco VMDK

Un altro metodo per migrare le macchine VMware e avere cosi delle macchine “pulite” è il seguente.

anche qui dobbiamo disporre di un disco di appoggio o come vedremo in questo caso, come spiegato dallo stesso produttore, ci aiuteremo con l’ausilio di un nas, creando un disco NFS.

Dopo aver creato questo disco, ci spostiamo sul nostro Proxmox, Clicchiamo su Datacenter e poi Storage come mostrato in figura.

Una volta cliccato su Storage andiamo a cliccare sul pulsante Aggiungi, qui troveremo la voce NFS, clicchiamoci sopra come indicato qui sotto.

ora ci troviamo davanti ad una piccola finestra non dobbiamo fare altro che impostare nella voce ID un nome da dare al disco NFS in modo che Proxmox sappia poi a cosa fare riferimento; alla voce server dovremmo inserire l’IP del nostro nas, cliccando in export troveremo il percorso del disco NFS.

Ora dobbiamo scegliere il contenuto che inseriremo in questa condivisione, qui ci mettiamo cliccando ad una voce per volta per esempio ‘Immagine ISO e template’, alla voce nodi andremo a scegliere su quali nodi vogliamo visualizzare questo disco e qui sceglieremo i nodi che abbiamo, come rappresentato qui sotto.

Perfetto ora abbiamo agganciato il disco, il prossimo passaggio è quello di creare una macchina una macchina virtuale con gli stessi parametri della macchina da migrare ma senza il o i dischi, questi verranno agganciati in un secondo momento.


Creare una Macchina Virtuale

Vediamo i passi per creare una macchina virtuale su Proxmox.

Spostiamoci prima di tutto sul nodo desiderato e poi clicchiamo in alto a destra sul pulsante Crea VM 

a questo punto seguiamo i passaggi, vediamo che automaticamente viene visualizzato il nodo dove verrà appoggiata la macchina e l’ID univoco di identificazione della stessa, noi dovremmo inserire il nome da date a questa macchina, fatto questo clicchiamo sul pulsante prossimo.

Nella prossima schermata, clicchiamo sulla voce non usare nessun media (perché non abbiamo bisogno di effettuare un’installazione), e indichiamo che tipo di macchina stimo preparando o ‘migrando’.e poi ancora clicchiamo sul pulsante Prossimo.

Nella prossima finestra lasciamo tutto di default oppure se stiamo migrando macchine come Windows 2012 o Linux, come SCSI controller mettete il predefinito

Nel prossimo passaggio che riguarda il disco, andiamo a cancellare quello che il sistema di Wizard ci crea.

(Lo so dovrei imparare a scrivere meglio) nel prossimo passaggio impostiamo la CPU “mettiamo gli stessi parametri della macchina in VMware più o meno”. Per macchine come Rockylinux 9 alla voce “Tipo ” impostare ‘x86-64-v2’ per le altre macchine vi basterà cliccare sulla x di questa casella per impostare il default.

Anche la memoria ram dovrà essere pressoché la stessa. come rete, selezionate il bridge che avete creato per i vostri server e impostate il modello.

Bene l’ultimo passaggio è il riepilogo della macchina create che troveremo sotto il nodo scelto

La macchina è creata ora non ci resta che importare il o i dischi e per farlo dobbiamo collegarci al nostro nodo tramite ssh come abbiamo visto sopra.

Una volta collegati, dobbiamo importare i file necessari per migrare il disco, per fare questo dovete sapere la posizione esatta della vostra macchina VMware sul nodo esxi. Una volta che avete preso nota della posizione, della vm, in Proxmox digitiamo questo comando per importare i file.

scp [email protected]:/vmfs/volumes/55812217-4bf8f6a4-3316 a0d3c1fcacc4/cartellaVM/filevm.vmdk /mnt/pve/migraz/

con questo comando importiamo all’interno del disco NFS creato precedentemente “mnt/pve/migraz/” il file e non il disco della vm che vogliamo migrare, dal server esxi 10.100.1.3, durante questo spostamento ci sarà chiesta la password di root del server esxi in questione.

facciamo la stessa cosa per il disco vero e proprio che sarà:

scp [email protected]:/vmfs/volumes/55812217-4bf8f6a4-3316-a0d3c1fcacc4/CartellaVM/DiscoVM-flat.vmdk /mnt/migraz/

notiamo che il comando di copia è identico tranne per il file vmdk, che ha la dicitura flat, questo è il vero disco di VMware.

Questa operazione di copia, ci costerà del tempo e questo dipende dalla vostra retee dalle dimensioni de disco virtuale.

Una volta terminato la copia del disco sul noto Proxmox, non ci resta che convertirlo per farlo dobbiamo scrivere cosi:

qm importdisk 129 filevm.vmdk ZFS-STORAGE -format qcow2

questo script non dice altro che convertire il disco vmdk in qcow2 formato di Proxmox e di agganciarlo alla macchina con ID 129.

Terminata la conversione, troverete il disco sotto la vm 129. ora non ci resta che attivarlo prima di avviare la macchina. Clicchiamo sulla macchina appena creata e andiamo su Hardware, li troveremo il nostro disco, fate un doppio click n modo da aprire le proprietà, e modificate il tipo di disco, se la macchina e’ Windows impostate Sata, se invece si tratta di una macchina Linux impostate IDE.

Spostiamoci poi in impostazioni e cambiamo l’ordine di avvio per farlo, selezionate l’ordine di avvio e cliccate su modifica, dopodiché trascinate in alto il disco ide o sata di sistema assicurandosi di aver fleggato il disco.

Ora si può avviare la macchina.

Installazione dei tools

Ora possiamo avviare la macchina. Una volta avviata dovremmo rimuovere il vmware tools installato quando la macchina era vmdk.

Spostiamoci poi su Opzioni e apportiamo queste modifiche:
Tipo OS, selezionare il tipo di sistema operativo, QEMU Guest Agent, deve essere abilitato, ricordo che i parametri non verranno attivati fino al riavvio della vm.

e anche qui vanno installati i dovuti agent tools,  il comando per linux dipende dalla distribuzione nel mio caso è:
# yum install qemu-guest-agent
# systemctl enable –now qemu-guest-agent

# systemctl retsart qemu-guest-agent

oppure

# dnf install qemu-guest-agent
# systemctl enable –now qemu-guest-agent

# systemctl retsart qemu-guest-agent

o ancora

# apt install qemu-guest-agent
# systemctl enable –now qemu-guest-agent

# systemctl retsart qemu-guest-agent

Per Windows ci basterà andare su questo repository e scaricare il tools agent necessario (c’è molta documentazione in merito).

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/

è sempre preferibile l’ultima versione stabile oppure se occorre troverete anche agent tools per vecchie versioni.

E’ tutto per ora.

Un saluto

Adam

 

 

 

 

Pubblicato da appuntidiadam

Sistemista informatico, e grande appasionato di astronomia e fisica, ricercatore indipendente in cosmologia

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.