Indice
Guida verificata con Ubuntu: 22.04 24.04 25.04 25.10
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Per gestire una macchina virtuale VMWare con virt-manager, il file .vmx può essere convertito in .xml compatibile con libvirt. La guida mostra le tecniche utilizzate e come ovviare a eventuali limitazioni di tali procedure.
Conversione tramite vmware2libvirt
Lo strumento vmware2libvirt, incluso nel pacchetto virt-goodies, è stato creato per la conversione di file .vmx in .xml.
Installare il pacchetto virt-goodies.
Per convertire il file .vmx in un file .xml digitare nel terminale:
vmware2libvirt -f ./file.vmx > file.xml
Per ulteriori informazioni sull'utilizzo di vmware2libvirt digitare:
man vmware2libvirt
Importare il file .xml in libvirt che verrà memorizzato in /etc/libvirt/qemu:
virsh -c qemu:///system define file.xml
Considerazioni sulle limitazioni
Sebbene vmware2libvirt possa funzionare bene su macchine virtuali semplici, sussistono alcune limitazioni dovute sia al fatto che i file .vmx non contengono tutte le informazioni necessarie per una conversione perfetta. vmware2libvirt non analizza a fondo tutte le informazioni che trova.
Alcuni aspetti da verificare dopo la conversione:
Anche se vmware2libvirt rileva un ospite a 64bit, è necessario verificare che la corretta architettura sia stata riportata nel suo file .xml. Assicurarsi che la sezione <os> sia simile a:
<os> <type arch='x86_64' machine='pc'>hvm</type> ... </os>
vmware2libvirt rileva e configura solamente la prima interfaccia ethernet trovata. Ulteriori interfacce devono essere aggiunte manualmente tramite virt-manager o modificando il file XML.
Attualmente lo strumento configura il primo disco SCSI se trovato, altrimenti il primo disco IDE. Ulteriori dischi possono essere aggiunti tramite virt-manager o modificando il file XML.
La macchina virtuale convertita è impostata per l'utilizzo di una sola CPU. Per modificare l'impostazione editare il file XML e settare il numero desiderato ad esempio a 2:
<vcpu>2</vcpu>
vmware2libvirt non converte tutte le configurazioni specifiche di VMWare all'interno dell'ospite (es. VMWare Tools).
Uso/conversione file su disco virtuale VMWare
KVM è in grado di utilizzare direttamente i file .vmdk di VMWare come dischi virtuali a condizione che il disco sia interamente contenuto in un singolo file .vmdk (formato "monolithic flat" o "monolithic sparse"). Se VMWare ha suddiviso il disco in file .vmdk più piccoli (solitamente da 2 GB), KVM non potrà utilizzarli direttamente.
In quest'ultimo caso, è necessario riunire i file .vmdk in un unico file. Questo può essere fatto utilizzando vmware-vdiskmanager, uno strumento incluso in VMWare Workstation o VMWare Server (precedentemente distribuito gratuitamente)
Per riunire un file suddiviso in un unico file .vmdk digitare:
vmware-vdiskmanager -r NOME_FILE_SUDDIVISO.vmdk -t 0 NOME_FILE_RIUNIFICATO.vmdk
Ottenuto un singolo file .vmdk è possibile configurarlo nel file .xml della macchina virtuale in /etc/libvirt/qemu o tramite virt-manager. Esempio di configurazione XML:
... <disk type='file' device='disk'> <driver name='qemu' type='vmdk'/> <source file='/var/lib/libvirt/images/diskname.vmdk'/> <target dev='hda' bus='ide'/> </disk> ...
Ridefinire la macchina virtuale:
virsh -c qemu:///system define Nome_della_macchina.xml
Ricordare che finché il file .vmx è convertito in .xml, i dischi saranno usati in questo modo. Si consiglia di fare dei backup, specialmente se si prevede un utilizzo successivo della macchina virtuale in VMWare.
Sfruttare funzionalità avanzate QEMU/KVM
Per sfruttare appieno le funzionalità avanzate di QEMU/KVM, come gli snapshot basati sul formato di immagine, si consiglia di convertire il file .vmdk nel formato qcow2 di QEMU. Questo può essere fatto con qemu-img, inclusa nel pacchetto qemu-utils.
Convertire
qemu-img convert NOME_DISCO.vmdk -O qcow2 NOME_DISCO.qcow2
Modificare il file .xml della macchina virtuale per puntare al nuovo file .qcow2 e ridefinirla.
Recupero strumenti VMWare dopo conversione
Dopo la conversione di una macchina virtuale da VMWare a libvirt (KVM/QEMU), è importante rimuovere i VMWare Tools se installati nel sistema operativo guest. In caso contrario questi strumenti potrebbero causare problemi (es. sovrascrittura di xorg.conf per i guest Linux) o conflitti con i driver e agent QEMU/KVM.
Conversione macchine fisiche a virt-manager
Per convertire una macchina fisica Windows (in particolare versioni più vecchie come Windows XP) in una macchina virtuale KVM, è spesso necessario abilitare i driver IDE nei registri di Windows prima della conversione per evitare schermate blu all'avvio della VM.
Vedere anche l'articolo della Microsoft Knowledge Base 314082 per ulteriori informazioni su questo problema.
Utilizzo di VMWare Converter
VMWare Converter è uno strumento gratuito e ben noto per migrare una macchina fisica in un'immagine virtuale VMWare (P2V - Physical To Virtual). Il primo passo consiste nel convertire la macchina fisica in un'immagine VMWare. Successivamente, seguire le istruzioni nel paragrafo Conversione di macchine VMWare a virt-manager per importare l'immagine VMWare in KVM/libvirt.
Utilizzo di strumenti Linux per P2V
Per la conversione di macchine fisiche a virtuali (P2V) su Linux, si possono consultare risorse esterne specializzate. Ad esempio, il libro tedesco su QEMU menziona strategie per il "physical to virtual". Cercare la sezione "physical to virtual" in questa risorsa (selezionare il link English per la traduzione).
