martedì 23 ottobre 2007

VirtualBox: struttura e backup delle macchine virtuali

In questi ultimi post, fra compattazione dei dischi rigidi ad espansione dinamica, condivisione di cartelle, sia per guest Windows che guest Linux, smanettamenti vari che continueremo a vedere nei prossimi post, è arrivato il momento di cominciare a prendere qualche precauzione, caso mai Murphy fosse nei paraggi. ;-)

Personalmente ho già perso un'intera installazione Linux mentre smanettavo per capire come compattarne il disco rigido virtuale. Vedremo perciò quel tanto che basta della struttura e dell'organizzazione dei file di VirtualBox sull'host, per capire dove mettere mano e salvare le nostre preziose macchine virtuali con tutte le loro configurazioni.

Questa organizzazione è per fortuna molto semplice. Di default VirtualBox crea una cartella .VirtualBox in C:\Documents and Settings\NomeUtente\ (fig. 1). Al suo interno ci sono: un file xml su cui sono salvate le impostazioni di VirtualBox stesso, e 2 sottocartelle, Machines e VDI su cui concentreremo un attimo la nostra attenzione.

Fig. 1 - Struttura cartella VirtualBox
fig. 1


Machines è la cartella che contiene le nostre macchine virtuali. Al suo interno troverete tante sottocartelle con lo stesso nome e nello stesso numero delle macchine virtuali (fig.2).

Prendiamo come esempio la cartella Ubuntu 7.04. Le configurazioni della macchine virtuali, ossia sistema operativo installato, memoria RAM e scheda video, disco o dischi rigidi collegati alla macchina virtuale e così via, sono salvate nel file NomeMacchinaVirtuale.xml.

La cartella Logs contiene invece i log di VirtualBox relativi alla macchina virtuale.

La cartella Snapshot è molto interessante: è qui che vengono salvati gli snapshot che sono un po' come i punti di ripristino di Windows. In realtà VirtualBox fa il furbetto e non salva realmente un'immagine dell'intera macchina virtuale, ma questo lo vedremo in un altro post.

Fig. 2 - Struttura cartella Machines
fig. 2


Se Machines contiene la macchina virtuale, la cartella VDI contiene il suo o i suoi dischi rigidi (per un massimo di 3): notate infatti come la macchina virtuale UbuntuTest ne abbia 2, UbuntuTest.vdi e UbuntuTest2.vdi.

E' qui dunque che viene salvato il file più importante: all'interno del file vdi è contenuto infatti tutto il disco rigido della macchina virtuale e quindi tutto il sistema operativo che vi è installato sopra. Ed è sempre questo il file di cui ci stiamo occupando nella serie di post dedicata alla compattazione di dischi rigidi ad espansione dinamica, citata all'inizio del post.

Fig. 3 - Struttura cartella VDI
fig. 3


Per mettere al sicuro le nostre macchine virtuali, possiamo allora fare così: copiare da qualche altra parte, l'ideale sarebbe un'unita di backup esterna, per esempio uno dei tanti dischi rigidi USB da collegare all'host, l'intera cartella .VirtualBox. Successivamente, ad ogni modifica importante del sistema operativo guest, per esempio l'aggiornamento da Ubuntu 7.04 a 7.10, salvataggio del solo file vdi della macchina virtuale interessata.

Naturalmente questa è una soluzione come dire, casalinga. Facile, immediata, senza tanti fronzoli, il suo limite più grande è che la macchina virtuale da salvare deve essere spenta. In un ambito home questo non dovrebbe essere un problema, ma in futuro non è da escludere qualche altro post sull'argomento per descrivere modalità di salvataggio un po' più sofisticate.

@:\>