Da VMware a Virtualbox: virtuale open source è meglio

22 03 2007

Da tempo cercavo un modo di utilizzare le macchine virtuali VMware già esistenti trasferendole nell’ambiente virtuale open source VirtualBox. Forse esistono modi più semplici, ma al momento non ne trovo…
“Googlando” mi hanno colpito in particolare questi 2 articoli, che trattavano in modo differente il problema, con scopi diversi dal mio:

http://www.virtualizationdaily.com
http://www.happyassassin.net

Il disco della macchina virtuale vmdk viene convertito utilizzando qemu-img (contenuto nel pacchetto qemu) in un’immagine di tipo raw e successivamente con vditool nel formato vdi di VirtualBox. Per non appesantire molto il test ho usato un’installazione di MCNLive su disco virtuale scsi da 8Gb.

IMPORTANTE: Le conversioni con qemu-img e vditool portano la macchina (almeno il mio portatile) a carichi elevati di CPU e I/O.

In breve ecco la procedura che ho usato:

$ sudo apt-get install qemu
$ wget http://www.virtualbox.org/download/testcase/vditool
$ chmod +x vditool
$ sudo mv vditool /usr/local/bin/
$ qemu-img convert -f vmdk /var/lib/vmware/Virtual\ Machines/MCNLive/MCNLive.vmdk -O raw MCNLive.img

$ /usr/local/bin/vditool DD MCNLive.vdi MCNLive.img
$ mv MCNLive.vdi .VirtualBox/VDI/

Creando una nuova macchina con VirtualBox, ho associato il nuovo disco MCNLive.vdi. Partendo con il CD Live (ISO di MCNLive) ho corretto i files /etc/fstab e /boot/grub/menu.lst in modo da puntare a /dev/hda2 invece di /dev/sda2.

Il boot è avvenuto con successo :)

Qualche ritocco a /etc/X11/xorg.conf per la scheda video (”fbdev” sostituito con “vesa”) e il gioco è fatto.

Boot :-) :-)













Azioni

Informazione

37 risposte

23 03 2007
lg

Ciao, visto che utilizzi ambedue i sistemi di virtualizzazione posso chiederti qual’è il migliore in termini di prestazioni (velocità, consumo di memoria etc.)

23 03 2007
Michele

Premessa: macchina Debian Etch con vmware ultimo e virtualbox ultimo, sopra c’è un 2k e xp.
Io li ho provati entrambi e posso assicurarti che Vmware è migliore (risposta quasi ovvia, essendo una software house che ha l’esperienza su prodotta di gran lunga più complessi della versione “server”).
La supremazia è su tutti i campi: dall’uso della CPU “pura” (calcolo intensivo), alla gestione della scheda video (magari dovuto alla qualità dei driver).
Spero, essendo virtualbox open, che migliori, così potremmo usare un’altro software open al posto di close :)

Mandi,
Michele

23 03 2007
Antonio Doldo

@lg
A me sembra che VirtualBox con la versione 1.3.8 abbia raggiunto una notevole maturità, mi sembra che vmware tenga bene il passo, ma essendo VirtualBox un prodotto “giovane” possa presto migliorare. Non ho fatto test approfonditi, avendo solo un portatile per ora…
La speranza è che VirtualBox migliori e questo secondo me è possibile dal passaggio all’open source.
Ciao,
Antonio

23 03 2007
Antonio Doldo

@michele
grazie di aver testimoniato sulle prestazioni, alla fine abbiamo usato quasi le stesse parole :-)

23 03 2007
23 03 2007
ercoppa

IMAO virtualbox è un ottima alternativa per uso non professionale

23 03 2007
Antonio Doldo

@ercoppa
certo, ci auguriamo tutti che lo sviluppo proceda bene e velocemente. In questo momento è chiaro che l’ambito professionale è sotto l’influsso di vmware per la parte server e la gestione “centralizzata” delle macchine virtuali, ma, secondo me, si sente il fiato sul collo di Linux KVM ;)
Grazie.
Ciao, Antonio

24 03 2007
Jena Plisskin

Ciao scusa il piccolo OT. Stò usando su un NB Satellite core duo 1G ram con Ubuntu Edgy, volevo utilizzare VirtualBox come virtualizzatore definitivo. Durante l’uso, una Debian virtuale, ho scoperto che su Ubuntu smettono di funzionare le apps video, anche i filmati di youtube. L’applicazione sembra girare ma non vede nulla. Chiudendo Virtaulbox, torna tutto funzionante.
E’ normale ?
Un Grazie sulla fiducia :-)

24 03 2007
Antonio Doldo

Scusa per il ritardo…
Da quello che ho potuto notare (a parte il rallentamento) non vedo questo comportamento che dici.
Hai provato a disabilitare ACPI nella macchina virtuale?

La versione che usi è la 1.3.8? Alcuni fix di questa release:

# Linux Additions: support Xorg 7.2.x
# Linux Additions: fixed default video mode if all other modes are invalid
# Linux Additions: set default DPI to 100,100
# Linux Additions: fixed initialization of video driver on X server reset

Controlla i log in .VirtualBox/Machines/-MACCHINA-/Logs/ ….
Ciao,
Antonio

25 03 2007
Jena Plisskin

Hai ragione, disabilitando il ACPI della macchina virtuale, sembra funzioni tutto regolarmente. Mi sarebbe dispiaciuto doverlo abbandonare con vmware player :-) Thx molto gentile.

25 03 2007
Jena Plisskin

Uhu, come non detto si è ribloccato :-( dovrò fare un pò di indagini…

25 03 2007
Jena Plisskin

Ok, ultimo aggiornamento nel caso servisse a qualcuno. Durante l’installazione della debian ho disinstallato l’acpi (oltre ad averlo fatto nelle impostazioni di vbox)

install acpi=off

finora gira tutto liscio. Ciao.

25 03 2007
Antonio Doldo

mi dispiace…
I logs di /var/log/Xorg.0.log riportano errori in merito? Beryl/Compiz sono in funzione?
Ciao…. A.

25 03 2007
Jena Plisskin

Risolto :-) Devo far partire l’installazione di debian lanciando

install acpi=off

evidentemente l’acpi dà fastidio in tutte le salse ;)

Grazie e ciao.

25 03 2007
Antonio Doldo

Evvai! Non so perchè, ma è laprima cosa che mi è venuta in mente :-) Grazie della comunicazione…. Saluti, Antonio

30 03 2007
Tonino

Ciao, innanzitutto grazie per la guida :-)

Sto cercando di convertire un immagine vmware di winxp creata con vmware converter ma mi dice ‘could not open WinOnLinux.vmdk’.
Il path è giusto e il nome dell’immagine pure. Ho seguito i passi che hai descritto e tutto è andato a buon fine tranne … la fine

Hai qualche idea??

p.s. ho provato anche con sudo ma niente

CIAO

30 03 2007
Antonio Doldo

Potresti verificare se hai un’altra immagine vmware se le stringhe del file sono di un disco vmware, per esempio:

$ file "Windows XP.vmdk"
Windows XP.vmdk: VMware4 disk image

oppure con il comando:
$ strings "Windows XP.vmdk"|head -10
KDMV
# Disk DescriptorFile
version=1
CID=e55f1a3f
parentCID=ffffffff
createType="monolithicSparse"
# Extent description
RW 25165824 SPARSE "Windows XP.vmdk"
# The Disk Data Base

Questo naturalmente solo per verificare che il file vmdk sia in qualche modo integro ;)
Poi rimane il fatto che non so se è possibile fare il boot con VirtualBox, del file vdi… Credo che già è tanto se arriva a fare il boot in provvisoria.

3 04 2007
Piero

Qualcuno sa se esiste un modo per trasferire una installazione funzionante (Kubuntu) in una imagine virtuale, per poi farla girare sui vari software di emulazione??
Tipo (per capire): vmware converter, però che funzioni con linux!

3 04 2007
Antonio Doldo

@piero
Di modi ne esistono tanti, forse vmware converter è uno di questi,
Per fortuna però in linux non si è legati ai vari driver di sistema, cioè una volta copiato il file system basta “rimettere” a posto i puntatori dei dischi in fstab, moduli del kernel, installare Grub/Lilo e di solito il boot avviene.
Per esempio in questo post:
http://adoldo.wordpress.com/2006/12/28/virtualizzare-un-server-con-vmware-e-netcat/
ho parlato di come è possibile trasferire un server (in funzione, senza spegnerlo!!!) in un disco vmware e da li’ fare il boot del suo “clone”. Se poi consideri che avendo l’immagine fisica del disco questa può essere trasferita in un immagine vuota vmware con l’uso di un semplice cd Live (o della sua immagine ISO).
Saluti,
Antonio

4 04 2007
Piero

@Antonio
perfetto, è esattamente quello di cui avevo bisogno.
Ti ringrazio veramente tanto, adesso mi metto sotto e provo a virtualizzare il mio povero serverino che rantola sempre più spesso!
Mi abbono al tuo blog per gratitudine!

4 04 2007
Antonio Doldo

@piero
troppo buono :)

2 05 2007
GinoPc

Ciao.

Io ho eseguito tutti i passaggi spiegati nel tuo post.
La conversione del disco è andata perfettamente ma all’avvio della macchina con il nuovo disco…CRASH: VirtualBox (o meglio winXp installato nel VDI) si pianta e non da più segni di vita!!

Qualche consiglio
Versione VB: 1.3.8

2 05 2007
Antonio Doldo

@GinoPC
Non ho esperienze con virtualbox/xp (mi occupo solo di Linux), ma immagino che, nel caso parta in modalità provvisoria, occorra pulire il sistema dai drivers vecchi o comunque lanciare il “sysprep”.
In linux è abbastanza facile perché è sufficiente aggiustare i puntamenti di /etc/fstab e i moduli :)
Posso solo consigliarti di provare a vedere se fa il boot in provvisoria e da li’ cercare di sistemare qualcosa….

Ciao,
Antonio

1 07 2007
26 12 2007
Ferrari Renato

chiedo aiuto per un banale problema su virtualbox
qual’è l’offset dei files immagine .vdi o .vdmk?
questo mi servirebbe per poterli montare in linux quando
non lancio l’emulazione di win311 o di xp.
In qemu, ad esempio, tale offset è fissato a 32256, per cui
con mount -o,loop offset=32256 eccetera eccetera riesco
a manipolare il contenuto di tali files immagine.

grazie

26 12 2007
Antonio Doldo

@Ferrari Renato
Se hai anche vmware, per montare i dischi vmdk basta usare “vmware-mount.pl”:
vmware-mount.pl disco-vmdk 1 /mnt/mount/
dove 1 è la partizione (con -p puoi listare le partizioni del disco)
oppure si può usare vmware-loop che permette anche la scrittura (rw).
Per quanto riguarda i dischi VDI creo che non ci sia un tool per montarli/vederli in modo diretto, per cui occorre convertirli in formato raw, però potrei sbagliarmi…
Ciao e ben ritrovato,
Antonio

3 01 2008
docoscar

Salve,
ho la vers 7.10 di ubuntu, sulla quale ho installato virtualbox. ho una macchina vmware che voglio spostare su VBox e ho seguito la guida. il Sistema mi risponde quando lancio “usr/local/bin/vditool DD MCNLive.vdi MCNLive.img” così: vditool: error while loading shared libraries: VBoxDD.so: cannot open shared object file: No such file or directory
qualcuno sa aiutarmi?
grz
OScar

3 01 2008
Antonio Doldo

@docoscar
se controlli le librerie richieste con
ldd /usr/local/bin/vditool
vedrai che è necessario VBoxDD.so
ldd /usr/local/bin/vditool |grep VB
VBoxDD.so => /usr/lib/VBoxDD.so (0xb7e79000)
VBoxRT.so => /usr/lib/VBoxRT.so (0xb7e16000)
VBoxVMM.so => /usr/lib/VBoxVMM.so (0xb7af0000)
VBoxDDU.so => /usr/lib/VBoxDDU.so (0xb7ad8000)
VBoxDD2.so => /usr/lib/VBoxDD2.so (0xb7aaf000)
VBoxREM.so => /usr/lib/VBoxREM.so (0xb610c000)

queste librerie sono nel pacchetto virtualbox e sono in /usr/lib oppure in /opt/ … dipende come lo hai installato
puoi provare per esempio a dichiarare il PATH con:
LD_LIBRARY_PATH=/opt/VirtualBox*
come si legge in questo link:
http://ubuntuforums.org/archive/index.php/t-594549.html
in pratica vditool deve sapere dove sono le sue librerie ;)
Ciao e facci sapere,
Antonio

24 01 2008
docoscar

Grazie intanto per i consigli.
ho risolto tutti i problemi di installazione e di conversione ma, la macchina virtuale, cambiando macchina fisica nn funziona!!!! e ormai ne sono certo!!!!! ed è un problema di win: secondo me vive lo stesso trauma che vive quando smonto un disco con un sistema installato da una macchina e lo monto su un’altra.
Ho quindi rifatto tutta l’installazione.
Per un periodo ha funzionato, adesso quando navigo le risorse di rete il sistema si crasha e diventa tutto nero. è mai successo a qualcuno? perchè?

24 01 2008
docoscar

riscrivo a distanza di poco tempo: ho scoperto che il mio problema ce l’ha mezzo mondo sul sito di virtualbox. Vi dico anche che … l’hanno fixato, basta installare la new version!!!

24 01 2008
Antonio Doldo

@docoscar
meno male :)
forse la vecchia versione fa casini con l’id della macchina.
Ciao,
Antonio

10 02 2008
retomi

[...]Da tempo cercavo un modo di utilizzare le macchine virtuali VMware già esistenti trasferendole nell’ambiente virtuale open source VirtualBox. Forse esistono modi più semplici, ma al momento non ne trovo!

“Googlando” mi hanno colpito in particolare questi 2 articoli, che trattavano in modo differente il problema, con scopi diversi dal mio:[...]

26 06 2008
Paolo

Ciao a tutti, ho letto l’interessante tread.
La mia intenzione è di lavorare da Ubuntu (64) co KVM.
Ho vistualizzato un mio PC con vmware converter (non ho trovato nulla di analogo per windows sugli altri sistemi di vistrualizzazione).

A questo punto l’intenzione era di fare un bel
qemu-img convert -f vmdk PC044.vmdk -O qcow pc044

Putroppo mi sono imbattuto in un errore che sembra diffusissimo ‘Could not open’ …vmdk
A questo punto nella directory ho un file, li ho controllato con il comando ‘file’, uno solo di questi risulta ‘VMware4 disk image’ ma è uno snapshot, se chiedo di convertirlo ottengo un segmentation fault.
Il vero ‘file gigante’ da 80 GB che contine la macchina si chiama
PC044-flat.vmdk ma se faccio ‘file’ di quello ottengo
ePC044-flat.vmdk: x86 boot sector, Microsoft Windows XP MBR, Serial 0x…..
e questo mi genera il Could not open …

Qualche idea?

26 06 2008
Paolo

Non solo ho scritto vistrualizzazione e non virtualizzazione ma l’ho anche ripetuto in basso.
Questa mattina ho il cervello in pappa.

26 06 2008
Paolo

Ho risolto, il problema era legato al fatto che occorre prima lanciare un programma che rende la macchina virtuale monolitica, scriverò il procedimento nella parte tecnica del mio blog, http://www.holzl.it/blog
Saluti.

28 06 2008
Antonio Doldo

@Paolo
Scusami, ma sono stato una settimana fuori e non ho nemmeno “toccato” un PC, sono contento che hai trovato il modo di convertire la macchina vmdk, il problema dei dischi è noto e va usato, come hai detto tu, un unico file vmdk prima di iniziare la conversione.
Ciao e grazie,
Antonio

5 07 2008
Da VMware a VirtualBox con Clonezilla, clonare i dischi virtuali | Yourpage live news aggregator

[...] mese fa, ho già postato un modo, che usa vditool, e un altro su VBoxManage e qemu-img in [...]

Lascia un commento