Virtual 2 Virtual
Appunti su come convertire VM da altri sistemi di virutalizzazione a PVE.
Vale anche la pena di leggere qui: https://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE
Da Virtualbox a PVE (6.x)
Questa semplicissima procedura è stata provata con PVE 6.4 non so se funzioni con versioni più vecchie, dipende tutto dal fatto che il formato VDI (il disco virtuale di Virtualbox) sia o meno supportato dal comando "qm importdisk". Inoltre questa procedura è stata provata con un guest Linux, e non è detto che i guest Windows abbiano infinitamente più problemi. (Licenza, numero di CPU, tipo di controller disco virtuale, tipo di CPU, ecc).
- Creare una VM su PVE che sia compatibile con quella che abbiamo su virtualbox. Per Windows, fate particolarmente attenzione al tipo di controller disco, al boot via BIOS o UEFI, al numero di CPU, al tipo di CPU. È possibile che si debbano fare molti tentativi e aggiustamenti se la macchina non si avvia (vedi dopo). Non importa come creiamo il disco virtuale, tanto lo andremo ad eliminare. Teniamo a mente il numero della VM appena creata, ci servirà dopo.
- Eliminare il disco virtuale in uso, mediante disconnessione e poi eliminazione dello stesso
- Importare il disco virtuale da Virtualbox:
- Prima di tutto fermiamo la VM su Virtualbox (ovviamente) e copiamo il disco (file VDI, se e` nativo virtualbox) su uno storage che sia accessibile dall' host PVE, per esempio nel disco dei backup di PVE.
- Andiamo in shell dell' host PVE ed eseguiamo il comando per importare il disco, in questo modo:
qm importdisk NUMERO-DELLA-VM /file-disco.vdi NOME DELLO STORAGE
Per esempio per importare il file /backupdisk/servervirtualevecchio.vdi nella VM numero 109 usando lo storage local-lvm faremo:
qm importdisk 109 /backupdisk/servervirtualevecchio.vdi local-lvm
- Una volta conclusa l'importazione, possiamo andare nella interfaccia web di PVE e (magari serve un reload) troveremo il nostro virtual disk che abbiamo appena importato che non è connesso a nessun controller virtuale. Non ci resta che connetterlo ad un controller virtuale compatibile (SATA o IDE se erano impostati in questo modo e il guest è windows, oppure possiamo usare serenamente VirtIO-SCSI se il guest è linux, che dovrebbe vederlo senza problemi).
- Ricordiamo di verificare sempre dentro l'interfaccia web se il nostro disco è impostato correttamente come disco di boot.
- Avviamo la VM e speriamo che parta. Se non parte, i motivi possono essere molteplici, e qui occorre ingegnarsi a capire come mai non parte e se possiamo fare qualcosa sull' host o sul guest per farla partire.
- Può essere che dobbiamo aggiustare le schede di rete che hanno cambiato nome (in Linux in particolare) a causa del cambio del MAC address.
- Una volta che la VM funziona, potremo eventualmente decidere di "affinarla" aggiungendo i driver per VirtIO (windows) e spostando il virtual disk su un controller VirtIO, aggiungendo il guest agent, ecc.
Alla fine ricordiamoci di cancellare il file VDI (nel nostro esempio /backupdisk/servervirtualevecchio.vdi) che non ci serve più.