mercoledì 18 giugno 2008

VirtualBox: quando le cartelle condivise non condividono

Dite la verità: nessuno di voi si è mai trovato in questa situazione? Vi installate le VirtualBox Guest Additions nel guest, riavviate la macchina virtuale, e quando già pregustate il momento di condividere con facilità file tra host e guest vi accorgete che la condivisione cartelle c'è (Fig. 1),

Fig. 1 - cartelle condivise - indicazione attivita
Fig. 1


ma il guest Windows non se ne accorge per niente, ed il lato destro della finestra che dovrebbe mostrarne il contenuto, resta tristemente vuoto (Fig. 2).

Fig. 2 - cartelle condivise - in Risorse di rete del guest
Fig. 2


Ecco, se siete arrivati fin qui a leggere, siete sicuramente venuti ai ferri corti con le vostre cartelle condivise, vediamo se riusciamo a farci pace! La soluzione empirica che sto per proporvi nel mio caso ha funzionato; devo anche dirvi che non ci sono garanzie funzioni nel vostro, ma vista la situazione in cui vi trovate e se avete un guest Windows, qualunque sia l'host, provatela, magari risolvete.

Iniziate con lo spegnere la macchina virtuale e portatevi sulle sue impostazioni di rete (Fig. 3).

Fig. 3 - cartelle condivise - impostazioni di Rete del guest
Fig. 3


Di default, se non avete già armeggiato con la configurazione di rete della macchina virtuale, questa è dotata di una scheda Pcnet-FAST III (Am79C973); al suo posto selezionate la Intel PRO/1000 MT Desktop (82540EM), infine fate ripartire la macchina virtuale (Fig. 4).

Fig. 4 - cartelle condivise - scelta scheda di rete del guest
Fig. 4


Appena ripartita la macchina virtuale, Windows nel guest si accorgerà della nuova scheda di rete e farà partire l'Installazione guidata nuovo hardware; cliccate su Annulla tutte le volte che compare la schermata di Fig. 5.

Fig. 5 - cartelle condivise - Installazione guidata nuovo hardware
Fig. 5


Windows nel guest si lamenterà un po' (Fig. 6), non dategli retta.

Fig. 6 - cartelle condivise - nuovo hardware non correttamente installato
Fig. 6


Disinstallate invece le VirtualBox Guest Additions (Fig. 7) e riavviate di nuovo la macchina virtuale.

Fig. 7 - cartelle condivise - disinstallazione VirtualBox Guest Additions
Fig. 7


Finita la ripartenza, nel guest si ripresenterà la schermata Installazione guidata nuovo hardware; cliccate ancora su Annulla tutte le volte che ricompare la schermata di Fig. 5, e su “NO” al messaggio che vi chiede di riavviare.

Reinstallate nuovamente le VirtualBox Guest Additions ed al termine riavviate il guest. Quando questo è ripartito, Windows al suo interno vi richiederà nuovamente di reinstallare la scheda di rete, cliccate ancora su Annulla. Andate invece a verificare in risorse di rete: eccolaaa! Questa benedetta cartella condivisa, finalmente vive e lotta insieme a noi (Fig. 8)! :-D

Fig. 8 - cartelle condivise - cartelle condivise visibili nel guest
Fig. 8


Ci resta da sistemare la scheda di rete che al momento non è ancora completamente funzionante (Fig. 9)

Fig. 9 - cartelle condivise - scheda di rete non ancora correttamente installata
Fig. 9


Tramite l'host, dall'indirizzo web

http://downloadcenter.intel.com/Product_Filter.aspx?ProductID=871&lang=ita

scaricate i driver della scheda di rete Intel® PRO/1000 MT Desktop, poi tramite la condivisione cartelle portateli nel guest. Installateli qui e provateli, ad esempio navigando su internet dal guest stesso; se tutto è a posto dovreste riuscirci.

Bene, con questo è tutto; alla prossima magagna di VirtualBox! ;-D
@:\>

sabato 14 giugno 2008

VirtualBox: -1908 (VERR_VM_DRIVER_NOT_INSTALLED)

Vi ricordate il post "VirtualBox: attenti alle Guest Additions!"? Vi illustravo una peculiarità delle VirtualBox Guest Additions in guest Linux. Quando gli aggiornamenti della distribuzione vanno ad influenzare il kernel, queste nel migliore dei casi smettono semplicemente di funzionare perdendo così la migliore integrazione fra host e guest che esse offrono: il mouse resta intrappolato nel guest, le performance video calano drasticamente e così via.

Nel peggiore dei casi però, illustrato appunto nel post, le Guest Additions non smettono del tutto di funzionare e l'unico sintomo che permette di accorgersi che qualcosa non va, è una diminuzione delle performance. Comunque sia, la cura al problema è unica per entrambi i casi: le VirtualBox Guest Additions vanno reinstallate, procedura di pochi minuti al massimo compresa la ripartenza della macchina virtuale.

E nel caso di host Linux? Cosa succede a Virtualbox su host Linux quando l'host scarica ed installa nuovi aggiornamenti che coinvolgono anche il kernel?

A spiegarcelo sarà Maurizio, che in un commento riportava direttamente la sua esperienza in proposito, prima però, un'avvertenza: quanto state per leggere è valido per tutte le distribuzioni Linux, pertanto anche se la vostra non è una Ubuntu 8.04, proseguite comunque la lettura, la soluzione è identica. Sentiamo Maurizio.

Dopo qualche giorno di tranquillità, la mia VirtualBox era di nuovo in panne. La macchina virtuale con XP dava il seguente messaggio di errore:

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).


Da ignorante di linea di comando e consolle ho cercato su Santa Internet che mi ha salvato ancora:

sudo /etc/init.d/vboxdrv setup

E VirtualBox rifunziona automagicamente...
C'era scritto comunque nel messaggio di errore... bastava leggere" .
La soluzione è tratta da una ricerca su Google sul forum di Ubuntu-it

http://forum.ubuntu-it.org/index.php?topic=193958.msg1287261

Ora è tutto di nuovo a posto, mi sono risparmiato la terza reinstallazione di VirtualBox e XP e spero che questo possa servire ad altri che hanno lo stesso problema. Ciao
Maurizio


Ecco, ora conoscete il problema, ed anche la sua soluzione; grazie Maurizio! :)
Bene, vediamo ora un pò più da vicino cosa è successo. Il primo indizio c'è lo fornisce la frase "Dopo qualche giorno di tranquillità, la mia VirtualBox era di nuovo in panne". E' il tempo che probabilmente è servito a rendere disponibile qualche nuovo aggiornamento del kernel di Ubuntu 8.04 (dal periodo in cui è accaduto, direi la versione 2.6.24-18).

VirtualBox usa un apposito modulo del kernel (in parole semplici: una parte di kernel caricata solo quando serve) per fare il suo lavoro: grazie a questo modulo VirtualBox può allocare le quantità di memoria e di risorse di CPU dell'host necessarie per far funzionare il guest. L'aggiornamento del kernel dell'host va inevitabilmente ad influenzare anche il funzionamento dei suoi moduli che possono così smettere di funzionare, ed è proprio quello che accade al modulo VirtualBox.

Il risultato? L'interfaccia grafica di VirtualBox continua a funzionare, si possono configurare tutte le macchine virtuali che vogliamo, ma queste NON partono e ci viene restituito l'errore segnalato da Maurizio che fa anche da titolo al post. E' alla partenza della macchina virtuale infatti che questo modulo viene invocato per allocare memoria e risorse di CPU per il guest, ed è lì che emerge il problema dovuto al suo mancato funzionamento.

La soluzione, lo dico in maniera molto "casereccia",
è di informare anche la nuova versione del kernel della presenza del modulo di VirtualBox, cosa che avviene dando da root, cioè come amministratore del sistema, il comando:

/etc/init.d/vboxdrv setup

Fate attenzione a come si diventa amministratore sul vostro sistema: in quasi tutte le distribuzioni si da il comando su, una volta data la password sarete amministratori e potrete dare il comando appena visto. In Ubuntu è prassi avere l'amministratore disabilitato e premettere sudo al comando da dare, in questo modo:

sudo /etc/init.d/vboxdrv setup

Per comprendere bene la differenza fra su e sudo, leggete il post "VirtualBox: su, sudo e cartelle condivise in guest Linux".

Bene, mi sembra sia tutto; alla prossima! :)
@:\>

venerdì 6 giugno 2008

VirtualBox 1.6.2

A tempo di record, appena un mese dalla versione 1.6.0, esce la nuova versione del software di virtualizzazione di Sun (Fig. 1): VirtualBox 1.6.2. Si tratta di una versione di mantenimento che non aggiunge nuove funzionalità, bensì va a sistemare numerose anomalie emerse durante l'uso della versione precedente.

Fig. 1 - macchine virtuali in VirtualBox 1.6.2
Fig. 1

Il Changelog comprende infatti la risoluzioni di problemi all'interfaccia grafica, alla rete, alle Guest Additions, al supporto SATA introdotto proprio con la precedente release, alle cartelle condivise, ed anche la risoluzione di problemi specifici dei vari host supportati: Linux, MacOS X, Solaris, Windows.

A proposito di Windows: vorrei ricordarvi (come ha scoperto Gabriele che ringrazio per la segnalazione) che dalla versione 1.6.0, non sono più supportati host Windows 2000 a causa dell'uso in VirtualBox di una nuova API che in Windows 2000 non è disponibile; resta invece supportato come guest.

Tra l'altro l'utente sandervl di Sun Microsystems, in questo topic (in inglese) nel forum di VirtualBox diceva che la decisione poteva essere riconsiderata se richiesto da molti utenti; se vi va, tentar non nuoce. ;-)

Chi di voi decide di passare a VirtualBox 1.6.2 dalla versione precedente, questa volta troverà un'installazione piuttosto pulita e senza bisogno di disinstallare la versione precedente: si occuperà di tutto la stessa procedura d'installazione. Fate attenzione però al seguente messaggio (Fig. 2):

Fig. 2 - VirtualBox 1.6.2 - ricreare manualmente interfaccia host di rete dopo installazione
Fig. 2

In pratica vi toccherà ricreare tutte le eventuali interfacce host di rete che avevate nelle macchine virtuali della precedente versione.

A proposito di precedente versione: ricordatevi che anche le VirtualBox Guest Additions nelle macchine virtuali lo sono, provvedete ad aggiornarle.

@:\>

venerdì 23 maggio 2008

VirtualBox: attenti alle Guest Additions!

In questi giorni anche spinto da alcune vostre osservazioni, ho fatto un po' di prove sulla nuova release 1.6 di VirtualBox. In particolare ho provato diverse versioni di guest Linux su host Windows XP, e più in particolare ancora, con Ubuntu 8.04 ho provato:

- l'installazione dalla iso;
- l'aggiornamento dalla versione beta;
- l'avanzamento di versione dalla precedente versione 7.10.

Un cosa mi ha particolarmente colpito: la versione di Ubuntu 8.04 ottenuta con l'installazione diretta dalla iso sembrava più assetata di risorse. Niente di eclatante, intendiamoci: con la macchina virtuale accesa senza però farci niente al suo interno, il processore dell'host si attestava su una percentuale di utilizzo fra il 4 ed il 6%, comunque più alta di quella ottenuta dall'avanzamento di versione dalla 7.10 che invece restava contenuta fra il 2-4%, con momenti in cui scendeva fino allo 0%.

Incuriosito da ciò, ho cominciato a fare installazioni su installazioni nelle più diverse condizioni per vedere se saltava fuori qualcosa: niente, anzi; il maggior uso di risorse alla fine si è presentato anche nelle altre macchine ed in più si sono aggiunte nuove problematiche: ad esempio, una lentezza spaventosa quando provavo ad usare le cartelle condivise.

Come spesso accade in questi frangenti, quando smetti di tenere il cervello in funzione “pensando” alla soluzione, questa “arriva” per altra via. D'improvviso un'intuizione: mi sono ricordato che l'ultimo aggiornamento scaricato era una nuova versione del kernel. Vuoi vedere che tutto il casino lo stavano facendo le Guest Additions?!?

Quando viene aggiornato il kernel infatti, la prima cosa che va a farsi friggere quasi sempre sono le Guest Additions. “Ma noo, funzionano regolarmente, l'integrazione con il mouse va, il copia-incolla fra host e guest anche, la condivisione cartelle c'è, e le ho viste partire regolarmente nei messaggi del kernel durante il boot della macchina virtuale” pensavo dentro di me.

Ma la sensazione era forte, così l'ho seguita: ho reinstallato le VirtualBox Guest Additions e fatto ripartire la macchina virtuale. Magia: consumi bassi, sistema veloce e reattivo, cartelle condivise a posto.

Morale della favola: fate attenzione quando scaricate gli aggiornamenti della vostra distribuzione Linux sulla macchina virtuale. Quando questi vanno a modificare pesantemente il kernel, le Guest Additions smettono semplicemente di funzionare e lì non ci sono dubbi, vanno reinstallate, procedura di pochi minuti al massimo compresa la ripartenza della macchina. Ma ora sappiamo che ciò non è sempre vero.

In alcuni casi come questo, può invece succedere che le Guest Additions sembrano continuare a funzionare regolarmente, ma lo fanno solo in parte. Il consumo di risorse a riposo della macchina virtuale sale per via della non ottimale integrazione fra host e guest, e continuano a mantenersi più alte del solito quando poi vi facciamo girare qualche applicazione. La macchina virtuale resta usabile, l'integrazione fra host e guest continua a esserci, il mouse non rimane imprigionato nel guest, funzionano la condivisione cartelle ed il copia-incolla fra host e guest; insomma tutto va, ma va piano.

Se notate perciò questi sintomi dopo un aggiornamento della vostra distribuzione Linux, non perdete tempo a farvi domande, per quelle c'è tempo dopo se non risolvete, invece subito reinstallate le VirtualBox Guest Additions e verificate se le cose sono migliorate.

E' tutto, ciao ciao. :)
@:\>

lunedì 19 maggio 2008

VirtualBox snapshot (2a parte)

Nel post precedente eravamo arrivati al punto in cui era ormai chiaro il meccanismo degli snapshot di VirtualBox. Vediamone adesso un utilizzo concreto.

Supponendo che l'aggiornamento sia andato a buon fine, saremo noi a crearci dei problemi simulando l'incubo peggiore di ogni amministratore di sistema: il danneggiamento di un'intera installazione con un solo comando dato nel punto sbagliato e nella situazione sbagliata!

Fate ripartire la macchina virtuale, aprite la shell e date il comando (Fig. 15):

sudo rm -fR /*

Questo comando chiede da utente root, quindi con i massimi privilegi, di

- rimuovere (rm, remove),
- forzando la rimozione senza stare a scocciarci con troppi messaggi di avviso (f, opzione “force”),
- eliminando ciò che trova anche nelle sottodirectory (R, Recursive),
- partendo dal punto iniziale del filesystem (/, come C: in Window),
- tutti i file (*) che incontra.

Fig 15 - VirtualBox snapshot - comando di cancellazione intera distribuzione Ubuntu
Fig. 15


Partendo dall'inizio del filesystem e cancellando tutto ciò che incontra man mano che si addentra in ogni sottocartelle che trova, capite come questo comando nel tempo di un caffè avrà spianato la vostra intera installazione Linux la quale continuerà a funzionare in qualche modo, solo perché una parte dei file erano già caricati in memoria; i segni della devastazione sono comunque evidenti (Fig. 16).

Fig 16 - VirtualBox snapshot - primi segni della devastazione dopo comando di cancellazione
Fig. 16


Spegnete e riaccendete la macchina virtuale (Fig. 17), potrete constatare da voi che è ormai defunta.

Fig 17 - VirtualBox snapshot - messaggio di errore del bootloader Grub
Fig. 17


Prima di procedere al ripristino della macchina virtuale, aiutandoci con Fig. 18 ricapitoliamo un attimo la situazione e rispondiamo finalmente alla domanda su cosa siano Snapshot attuale e Stato attuale:

- Snapshot iniziale, il primo snapshot che abbiamo creato, contiene la macchina virtuale prima di effettuare l'aggiornamento;
- Snapshot attuale è il modo di VirtualBox di chiamare sempre l'ultimo snapshot creato, nel nostro caso è “Snapshot 2” e contiene la macchina dopo l'aggiornamento;
- Stato attuale contiene lo stato della macchina al momento dell'ultimo spegnimento, ossia la devastazione appena realizzata.

Ora finalmente ha un senso il messaggio “lo stato attuale differisce da quello memorizzato nello snapshot attuale”. Per forza: Snapshot attuale contiene la macchina virtuale subito dopo l'aggiornamento, perciò ancora funzionante, Stato attuale la successiva devastazione.

Fig 18 - VirtualBox snapshot - stato attuale differisce da snapshot attuale
Fig. 18


Per riavere funzionante la nostra macchina virtuale, dobbiamo allora ripristinare Snapshot attuale che in questo momento è “Snapshot 2”. Come fare? Dopo aver selezionato Stato attuale cliccate sul pulsante Ripristina lo snapshot attuale (Fig. 19).

Fig 19 - VirtualBox snapshot - ripristino snapshot attuale
Fig. 19


Pochi attimi e VirtualBox avrà ripristinato Snapshot attuale, provate a riavviare e vedrete il miracolo: la vostra macchina virtuale vive di nuovo!

Bene, supponendo che il nuovo Ubuntu sia di vostro gradimento e vogliate tenerlo, lo snapshot creato prima dell'aggiornamento oramai ha esaurito la sua funzione di punto di ripristino, possiamo eliminarlo.

Cliccate su “Snapshot iniziale”, poi sul pulsante Scarta snapshot (Fig. 20).

Fig 20 - VirtualBox snapshot - scarta snapshot
Fig. 20


Ci vorrà un po' mentre VirtualBox elimina lo snapshot (Fig. 21), questo perché non lo elimina realmente, ma fa un'operazione di “cucitura” fra i vari file .vdi creati durante la creazione degli snapshot.

Anche la scritta che appare durante l'operazione, "preserving changes to normal disk “Ubuntu7_10.vdi”" (Fig. 21), lo dice chiaro: i cambiamenti della macchina virtuale prima contenuti in quello snapshot ed il relativo file .vdi, vengono ora preservati all'interno del normale file .vdi che fa da disco rigido alla macchina virtuale.

Fig 21 - VirtualBox snapshot - fusione dello snapshot scartato con disco rigido normale
Fig. 21


Andiamo allora a controllare a livello dei file della macchina virtuale cosa è accaduto. E infatti uno dei due file .vdi nella cartella Snapshots è sparito (Fig. 22): il suo contenuto dovrebbe essere andato ad ingrossare il file .vdi del disco rigido normale della macchina virtuale; verifichiamo.

Fig 22 - VirtualBox snapshot - sparito file snapshot scartato
Fig. 22


Ed infatti il disco rigido normale che finora non si è era mai modificato, per la prima volta adesso risulta aumentato di dimensioni (Fig. 23); il contenuto del file .vdi mancante dalla cartella Snapshots è stato effettivamente “fuso” al disco rigido normale della macchina virtuale.

Fig 23 - VirtualBox snapshot - aumentate dimensioni file disco rigido normale
Fig. 23


A questo punto non è difficile immaginare cosa accade se scartate anche “Snapshot 2” (Fig. 24).

Fig 24 - VirtualBox snapshot - scarta Snapshot 2
Fig. 24


La cartella Snapshots è vuota (Fig. 25), l'ultimo file .vdi che ancora conteneva è stato anch'esso fuso al disco rigido normale.

Fig 25 - VirtualBox snapshot - cartella Snapshots vuota
Fig. 25


A questo punto non vi resta che cambiare il nome della macchina virtuale in accordo con la nuova versione di Ubuntu e avete finito.

Nel frattempo anche il nostro viaggio nel mondo degli snapshot di VirtualBox volge al termine. Ci rimane un'ultima domanda a cui dare risposta, era la terza delle tre che ci eravamo fatte all'inizio: quando NON utilizzare gli snapshot?

La risposta è semplice: MAI come backup di una macchina virtuale. Infatti per come abbiamo visto funzionano gli snapshot, non vengono create delle copie dei file della macchina virtuale ma solo uno “spezzettamento” di questi, dove ogni pezzo è un punto di ripristino. E' sufficiente che uno solo di questi pezzi si danneggi e la macchina virtuale non parte più, ne abbiamo file da prendere da qualche altra parte per sostituire quelli danneggiati.

Perciò ricordate: usate gli snapshot unicamente per creare rapidamente un punto di ripristino della macchina virtuale prima dei vostri smanettamenti. Quando arriva il momento di metterla al sicuro, fate un bel backup di tutti i suoi file da qualche altra parte, tipo un altro disco rigido dell'host, e questa volta sarete davvero al sicuro da eventuali problemi.

E' con questo è tutto, abbiamo finito.

Alla prossima.
@:\>

venerdì 16 maggio 2008

VirtualBox snapshot (1a parte)

Nel post “VirtualBox 1.5.6: il suo presente, il suo futuro”, vi parlavo della versione 1.5.6 di VirtualBox segnalandovi la sua mancanza di compatibilità con gli snapshot realizzati dalle versioni precedenti.

Personalmente avevo lasciato perdere questa feature di VirtualBox dopo aver perso un'intera macchina virtuale proprio in occasione di un aggiornamento. Desideroso di verificare se nel frattempo ci fossero stati progressi nella loro affidabilità, ho rimesso alla prova gli snapshot; quanto state per leggere ne è il risultato.

Intanto: cosa sono gli snapshot?
Traducibile come “istantanea”, per chi viene dal mondo Windows sono l'analogo dei suoi “punti di ripristino”. Forniscono la possibilità di registrare un punto fermo, chiamiamolo così, della macchina virtuale, a cui poter tornare nel caso questa abbia problemi.

Ed ecco allora la seconda domanda: quando fare uno snapshot?
Prima appunto di una qualunque attività che temete possa compromettere il funzionamento della macchina virtuale. Per mostrarvi concretamente questa possibilità, vi farò vedere come utilizzare gli snapshot per metterci al sicuro da problemi durante l'aggiornamento di Ubuntu dalla versione 7.10 alla nuova 8.04. Creeremo insieme uno snapshot prima di procedere all'aggiornamento, così da poter tornare al punto pre-aggiornamento nel caso qualcosa andasse storto.

Prima di cominciare però una terza fondamentale domanda: quando NON utilizzare gli snapshot?
Per rispondere occorre capire prima come funzionano; tenete perciò a mente questa domanda, una possibile risposta la vedremo alla fine del post.

Ok, siamo pronti, solo un paio di raccomandazioni prima di iniziare:
- fate sempre il backup della macchina virtuale prima di seguire gli esempi del post;
- anche se sul momento vi sembra di non capire una parte del post, proseguite con la lettura fino in fondo e sopratutto, realizzate gli esempi, l'argomento infatti è “più difficile a dirsi che a farsi”.

Ricordate com'è la struttura dei file di una macchina virtuale? Noo? Allora rinfreschiamoci la memoria. Nella cartella

C:\Documents and Settings\nome utente\.VirtualBox\

trovate 2 sottocartelle, vediamole.

In Fig. 1 lato sinistro potete vedere la prima sottocartella, Machines, che contiene a sua volta tante sottocartelle quante sono le macchine virtuali. In questo caso ne sono visibili 3: CentOS 5.1, Ubuntu 7.10 che è selezionata e visualizzata a destra, e Ubuntu 8.10. In ognuna di queste è contenuto (Fig. 1, lato destro) il file NomeMacchinaVirtuale.xml di configurazione della macchina virtuale (memoria, dischi, USB, cartelle condivise e via dicendo), e la sottocartella Logs dei file di log della macchina virtuale (utili in caso di problemi con la macchina virtuale per capirne il motivo);

Fig 1 - VirtualBox snapshot - contenuto sottocartella Ubuntu 7.10 nella cartella Machines
Fig. 1


In Fig. 2 potete vedere la seconda sottocartella, VDI, contenente il file NomeMacchinaVirtuale.vdi del disco rigido della macchina virtuale.

Fig 2 - VirtualBox snapshot - cartella VDI con file disco rigido normale della macchina virtuale
Fig. 2


Abbiamo detto come lo scopo dello snapshot in questo esempio, è cautelarci da eventuali problemi di aggiornamento della distribuzione, pertanto lo snapshot lo faremo prima dell'aggiornamento, così da avere quel punto di ripristino a quando la macchina virtuale sicuramente funzionava ancora. Procediamo.

A macchina virtuale spenta, selezioniamola e clicchiamo in alto a destra sull'icona a forma di macchina fotografica (Fig. 3)

Fig 3 - VirtualBox snapshot - pulsante creazione snapshot
Fig. 3


Comparirà una finestra di dialogo (Fig. 4) nella quale inserire il Nome dello snapshot ed una Descrizione dello snapshot. Inserite quanto ritenete opportuno e per voi significativo, poi cliccate su OK per proseguire.

Fig 4 - VirtualBox snapshot - finestra di dialogo creazione snapshot
Fig. 4


In pochi istanti verrà creato lo snapshot (Fig. 5) e passandovi sopra il mouse, comparirà un tooltip con alcune utili indicazioni, compresi i dati che avete appena inserito in Fig. 4.

Fig 5 - VirtualBox snapshot - tooltip dello snapshot appena creato
Fig. 5


Potete però notare anche una seconda voce, Stato attuale (Fig. 6), con il suo relativo tooltip. Per ora prendiamo atto che non vi è nessuna differenza, così vi è scritto, con Snapshot attuale; a capire cosa sono entrambi ci torneremo tra poco.

Fig 6 - VirtualBox snapshot - tooltip stato attuale identico snapshot attuale
Fig. 6


Andiamo invece a vedere cosa è accaduto ai file della macchina virtuale dopo la creazione dello snapshot. Nella cartella VDI, quella che contiene il disco rigido della macchina virtuale, nulla è cambiato (Fig. 7), confrontate con Fig. 2 che è la situazione di partenza per rendervene conto.

Fig 7 - VirtualBox snapshot - nessun cambiamento al disco rigido virtuale normale
Fig. 7


Molto è cambiato invece nella cartella Machines\Ubuntu 7.10, quella che contiene i file di configurazione della macchina virtuale (Fig. 8). E' comparsa una nuova sottocartella, Snapshots, contenente un file con un nome strano e dimensioni davvero esigue... per ora!

Fig 8 - VirtualBox snapshot - nuova cartella Snapshots e nuovo file vdi al suo interno
Fig. 8


Ora che con lo snapshot abbiamo creato un punto sicuro a cui tornare in caso di problemi, procediamo con l'aggiornamento di Ubuntu 7.10 a Ubuntu 8.04 (in gergo si chiama “avanzamento di versione”), Fig. 9 e Fig. 10.


Fig 9 - VirtualBox snapshot - Gestore aggiornamenti di Ubuntu
Fig. 9


Fig 10 - VirtualBox snapshot - Avanzamento di versione di Ubuntu
Fig. 10


Terminato l'avanzamento di versione e riavviata la macchina virtuale per controllare che tutto sia andato bene, (controllate che l'integrazione guest-host funzioni, altrimenti reinstallate le VirtualBox Guest Additions), spegnetela pure. Ci accorgiamo così che ora Stato attuale risulta modificato (Fig. 11) e differisce da Snapshot attuale. Prendiamone atto e nulla più, non siamo ancora pronti per capire cosa sono, perciò andiamo avanti.

Fig 11 - VirtualBox snapshot - stato attuale modificato e diverso da snapshot attuale
Fig. 11


Vediamo allora i corrispondenti cambiamenti a livello di file. Controllate intanto la cartella VDI: potete notare che tutto è rimasto invariato come in Fig. 7: ma allora dov'è stato salvato tutto l'aggiornamento di Ubuntu fatto dopo lo snapshot? Date un'occhiata alla cartella Snapshots (Fig. 12). Il file che era di poche decine di kilobyte, ora è di quasi 6 GB!

Lo schema di funzionamento degli snapshot di VirtualBox a questo punto si è rivelato.

Normalmente VirtualBox usa il file nomeMacchinaVirtuale.vdi all'interno della cartella VDI come disco rigido della macchina virtuale. Quando viene creato lo snapshot, VirtualBox non aggiorna più questo file ma lo mette da parte come punto di ripristino dello snapshot appena creato: tutte le modifiche nella macchina virtuale (nel nostro caso l'aggiornamento di Ubuntu) da quel momento in poi vanno a finire nel nuovo file di Fig. 12.

Fig 12 - VirtualBox snapshot - file nella cartella Snapshots cresciuto di dimensioni
Fig. 12


Per capire ancora meglio il meccanismo creiamo un secondo snapshot (Fig. 13) e vediamo cosa accade ai file.

Fig 13 - VirtualBox snapshot - nuovo snapshot di nome Snapshot 2
Fig. 13


Come la prima volta, nuovamente i precedenti file .vdi, sia il primo nella cartella VDI che il successivo creato nella cartella Snapshots, non vengono più toccati ma fanno da punto di ripristino per il rispettivo snapshot. Viene invece creato un nuovo file .vdi (Fig. 14) nella cartella Snapshot in cui, da quel momento in poi, verranno memorizzate tutte le modifiche fatte all'interno della macchina virtuale.

Fig 14 - VirtualBox snapshot - nuovo file vdi relativo a Snapshot 2
Fig. 14


Bene, chiarito il meccanismo di funzionamento degli snapshot, direi di approfittarne per prenderci una pausa: vi voglio in forze quando nel prossimo post "VirtualBox snapshot (2a parte)" vedremo un utilizzo concreto di tutto ciò. :)

@:\>

giovedì 8 maggio 2008

Sun xVM VirtualBox 1.6: la nuova vita di VirtualBox

Come al solito quando si avvicina l'uscita di una nuova release di VirtualBox, quasi avvisato da un sesto senso divento smanioso e irrequieto, finendo per controllare quasi giornalmente il sito in attesa di novità.

Anche questa volta è andata così e finalmente lo scorso fine settimana l'attesa è stata premiata: è ora disponibile VirtualBox 1.6. Questa volta di tratta di una “major release” con davvero grosse novità. Prima di vederne insieme alcune, voglio mostrarvi un po' di cose che incontrerete durante l'installazione di questa versione.

La prima cosa, l'unica negativa e davvero scocciante (almeno per me) potete vederla in fig. 1. Seguendo il ben noto passo del gambero, in questo nuova versione si è tornati ad una vecchia situazione: occorre nuovamente disinstallare VirtualBox prima di poter passare alla versione successiva.

E visto che ci siamo, notiamo anche un'altra cosa: VirtualBox ha cambiato nome, ora è Sun xVM VirtualBox e non più innotek VirtualBox; se però avete letto il post precedente questo non dovrebbe sorprendervi.

Fig. 1 - VirtualBox nuovamente da disinstallare per passare alla versione successiva
Fig. 1


Altra piccola osservazione la possiamo fare con fig. 2. In conseguenza del cambio di nome, è cambiata anche la cartella d'installazione: se siete maniaci della pulizia, ricordatevi di andare a cancellare la vecchia cartella chiamata innotek.

Fig. 2 - VirtualBox - cambiato nome e cartella di installazione
Fig. 2


Disinstallata la precedente versione e fatta partire l'installazione della nuova, vi troverete di fronte alla schermata di fig. 3. La schermata è autoesplicativa, posso solo consigliarvi di cliccare su Backup per proseguire.

Fig. 3 - VirtualBox - backup file di impostazione macchine virtuali
Fig. 3


L'installazione proseguirà senza altre sorprese, terminata la quale vi troverete davanti alla ormai familiare schermata di fig. 4. E qui, osservate bene il lato destro dell'immagine dove sono riportate le caratteristiche della macchina virtuale, si cominciano a notare le vere novità di VirtualBox.

Fig. 4 - VirtualBox - schermata principale del programma
Fig. 4


Cominciamo dall'aggiunta del supporto a PAE/NX visibile più nel dettaglio in fig. 5. PAE sta per Physical Address Extension e permette di usare più di 4GB di memoria anche su sistemi a 32bit, sempre che vi sia il necessario supporto da parte del sistema operativo installato.

Grazie a questa feature ora diventa possibile installare anche guest come Ubuntu 7.10 server, distribuzione Linux che avendo il supporto PAE attivo di default senza fare nessun controllo preventivo sulla sua effettiva disponibilità, si bloccava con le precedenti versioni di VirtualBox.

Senza dubbio questa è una nuova possibilità molto apprezzata in ambito server che va ad alimentare le mie speranze di una evoluzione di VirtualBox anche in questo ambito.

Fig. 5 - VirtualBox - abilitazione supporto PAE (Physical Address Extension)
Fig. 5


Passiamo ora alla novità più succosa ed allo stesso tempo più deludente di VirtualBox (non per demerito suo), la vedete in fig. 6. Ebbene si, ora nei guest potete attivare il supporto SATA!!

Quando ho letto di questa nuova feature mi sono letteralmente entusiasmato dal momento che il disco rigido del mio portatile è SATA; “ancora più velocità dai dischi rigidi” ho pensato.

Il fatto è che questa velocità non è per tutti. Già, proprio così: tutti i possessori di un sistema Windows, dalla versione XP Service Pack 2 in giù, quasi sicuramente non hanno attivo il supporto SATA: per via dell'età di questo sistema operativo infatti, all'epoca della sua uscita semplicemente non era previsto supporto a qualcosa che non esisteva, ne i successivi Service Pack lo hanno aggiunto (neanche il recentissimo SP3 sembra lo abbia).

I controller SATA spesso e volentieri in Windows lavorano al massimo in compatibilità ATA Ultra/DMA 133 che è più lenta. Solo in Windows Vista è attivo di default, con un supporto peraltro abbastanza generico. Peccato.

Fig. 6 - VirtualBox - abilitazione controller SATA (Serial ATA)
Fig. 6


Ad onor del vero va detto che il supporto SATA sarebbe possibile aggiungerlo anche a tutte le versioni precedenti a Windows Vista, occorre però siano soddisfatte tutta una serie di condizioni:

- primo ovviamente, la vostra macchina host abbia il disco rigido ed il relativo controller di tipo SATA;
- chipset e bios della vostra macchina host supportino SATA;
- la vostra capacità di attivarlo dai menù di configurazione del bios;
- la disponibilità dei driver appropriati;
- l'installazione del tutto;
- incrocio di dita.

Insomma, sorvoliamo.

Continuando con le novità in VirtualBox, in fig. 7 vi segnalo una evoluzione del sottosistema audio della macchina virtuale con la possibilità di scegliere fra 2 controller audio: ICH AC97, ed anche una rediviva Sound Blaster 16! :-D

Fig. 7 -  VirtualBox - controller audio ICH AC97 oppure Sound Blaster 16
Fig. 7


In fig. 8 potete vedere invece la nuova evoluzione del supporto USB. Ora il controller EHCI fornisce un migliore supporto allo standard USB 2.0 permettendo così l'uso di un numero maggiore di dispositivi USB.

Fig. 8 - VirtualBox - abilitazione controller USB 2.0
Fig. 8


Fate attenzione però: questo non significa anche maggiore velocità, anzi, al contrario. Guardate le prove fatte su un guest Ubuntu 8.04; in fig. 9 con controller USB 2.0 abilitato, in fig. 10 con controller USB 2.0 disabilitato. I risultati parlano da soli, con una velocità di trasferimento file quasi doppia a controller USB 2.0 disattivato.

Perciò, attivate l'USB 2.0 solo nel caso il vostro dispositivo USB non funzioni bene o non funzioni del tutto quando questa modalità è disattivata.


Fig. 9 - VirtualBox - velocita trasferimento file a controller USB 2.0 disabilitato
Fig. 9


Fig. 10 - VirtualBox - velocita trasferimento file a controller USB 2.0 abilitato
Fig. 10


Infine una novità per quanto riguarda la mia distribuzione Linux preferita, Ubuntu, e la sua integrazione con le VirtualBox Guest Additions. Come potete vedere in fig. 11, in Ubuntu 8.04 la gestione video va veramente da dio e l'integrazione con le VirtualBox Guest Addition è perfetta.

Infatti, anche se nel file di configurazione vi è espressamente indicata la vecchia risoluzione video che usavo, 1326x826 sul lato sinistro del mouse, Ubuntu in automatico ha trovato quella ottimale per il mio sistema portandola a 1336x828 pixel (lato destro del mouse).

Fig. 11 - VirtualBox - autosettaggio risoluzione video ottimale Ubuntu 8.04
Fig. 11


Qualcosa è andato invece storto nell'ultimo aggiornamento di Ubuntu 7.10 e da allora la risoluzione video non va oltre i 1280x800, anche forzandola dal file di configurazione... misteri gaudiosi!

Beh, anche se le novità in VirtualBox non si fermano certo qui, noi si, ci fermiamo qui.
Se volete conoscere la lista completa di tutte le novità, potete consultare come al solito il nutrito Changelog di questa versione. Voglio giusto segnalarvene al volo qualche altra:

- aggiunti i nuovi host Solaris e Mac OS X realizzando così ancor di più quel mio vecchio sogno della virtualizzazione come ponte fra sistemi operativi, filosofie, e persone;
- modalità seamless (la modalità che permette di far scomparire il desktop del guest e rendere visibile la finestra di un'applicazione guest direttamente nell'host come fosse una sua applicazione) ora anche per guest Linux e Solaris;
- VirtualBox Guest Additions anche per Solaris;
- driver di rete ora automaticamente disponibile all'atto dell'installazione delle Guest Additions anche in Windows Vista;
- migliore compatibilità con il nuovo kernel Linux 2.6.25;
- introdotte le cartelle condivise anche in Window NT;
- migliorata ulteriormente la compatibilità con le macchine virtuali create in VMware;
- ...

Bene, con questo è davvero tutto.
Alla prossima, ciao ciao.
@:\>

lunedì 31 marzo 2008

VirtualBox 1.5.6: il suo presente, il suo futuro

Certo non aspettavate che ve lo dicessi io, sapete già che VirtualBox si è aggiornato da un pò alla versione 1.5.6; e certo vi sarete anche accorti della scritta che campeggia sul sito ufficiale di VirtualBox: la innotek GmbH, la società creatrice di VirtualBox, è stata acquistata da Sun Microsystems, creatrice a sua volta del linguaggio Java (tra le altre cose); questo per chi non sapesse chi ha creato Java, ma può esserci ancora qualcuno che non lo sa?!?

Come Here

Ih ih ih... naturalmente scherzo, ma la gif animata era davvero carina, non ho resistito! :-D
Diamo adesso un'occhiata più da vicino alle novità in VirtualBox.

Chiariamo subito che queste non sono eclatanti, come lo stesso cambio del numero di versione suggerisce, dalla 1.5.4 alla 1.5.6: si tratta sopratutto di correzioni e miglioramenti, ma qualche novità c'è ed è davvero carina ed utile (la lista completa come al solito la trovate nel Changelog); in ordine sparso:

- aggiunta dell'emulazione di una nuova scheda di rete indicata come "Intel PRO/1000 MT Desktop (82540EM)";
- correzione alla modalità di creazione dei dischi rigidi a dimensione fissa (e si vede, ora finalmente funziona anche a me!);
- migliorata la compatibilità con il nuovo kernel Linux 2.6.24;
- migliorata la compatibilità con il nuovo Kubuntu 8.04 (Hardy Heron);
- aggiunta di PIIX4 oltre al preesistente PIIX3 come interfaccia IDE per i dischi rigidi (dovrebbe migliorare la compatibilità con guest Windows creati in VMware);
- aggiunta la possibilità di mettere in sola lettura le cartelle condivise con l'host;
- miglioramenti nella condivisione appunti fra host e guest (mai abbastanza, continua a darmi sporadici problemi);
- aggiunta di nuovi messaggi informativi;
- eccetera eccetera...

Ultima novità fra quelle che voglio segnalarvi, ma prima fra tutte, ora finalmente non siete più costretti a disinstallare VirtualBox prima di poterlo aggiornare! Eh si, era ora... da questa versione, basterà semplicemente avviare l'installazione e questa provvederà direttamente all'aggiornamento di VirtualBox senza nessuna disinstallazione preventiva.

Ma c'è da dirlo, ancora non sono tutte rose e fiori. Come potete leggere nella pagina di download di VirtualBox, che, segno evidente dei cambiamenti di assetto societari ora è sul sito della Sun, questa nuova versione non è compatibile con gli snapshot delle versioni precedenti (gli snapshot potete considerarli analoghi ai "punti di ripristino" di Windows). E come potete vedere in fig 1, VirtualBox non ne fa mistero:

Fig. 1 - VirtualBox 1.5.6 - Incompatibilita con salvataggi di versioni precedenti
fig. 1


Occorre eliminare a mano quelli che pensiamo non ci servano più e lasciarne solo uno, quello che useremo per riavviare la macchina virtuale; una volta riavviata potremo iniziare nuovamente a creare snapshot come prima. Mi raccomando: fate attenzione a quale snapshot cancellate se non volete ritrovarvi a perdere dati preziosi.

Un avvertimento: la segnalazione che vedete in fig 1 secondo me è fuorviante. Come invece segnalato nella stessa pagina di download di VirtualBox, è opportuno procedere ad eliminare gli snapshot che non servono prima di procedere con l'aggiornamento, non dopo averlo fatto.

Probabilmente sarebbe conveniente (dico sarebbe perché non ho fatto prove in proposito) procedere così:

- prima di qualunque smanettamento, creare un bel backup di tutte le macchine virtuali direttamente dall'host come indicato nel post "VirtualBox: struttura e backup delle macchine virtuali";
- verificare che la macchina virtuale funzioni regolarmente, poi creare un nuovo snapshot;
- cancellare tutti gli snapshot precedenti così da lasciarne uno solo, quello appena creato;
- avviare nuovamente la macchina virtuale per verificare che tutto funzioni;
- procedere finalmente all'aggiornamento di VirtualBox;
- ricordarsi di aggiornare le VirtualBox Guest Additions nella macchina virtuale.

Procedura troppo lunga, troppo pallosa? Personalmente mi è capitato di perdere tutto almeno una volta. Si trattava della vecchia versione 1.4 e guarda caso, proprio quando feci l'aggiornamento alla versione 1.5; da allora preferisco non creare snapshot ma procedere ad un backup dei file sull'host. Il rischio di perdere tutto in questo caso è vostro, solo voi potete sapere quanto impegno valga la pena metterci per evitarlo. ;-)

Prima di chiudere, due parole ancora sull'altra notizia, l'acquisizione di innotek GmbH da parte di Sun Microsystem. Questo riguarda il futuro di VirtualBox, che spero sia ancora più roseo di quanto lo sia stato già fino ad ora. Lo trovo un ottimo prodotto, leggero e performante, che continua a migliorare ad ogni nuova versione, e con margini di migliorabilità ancora maggiori.

Per esempio l'introduzione del supporto ai processori multi-core: questo credo richieda qualcosa di un pò più moderno dell'emulazione di una scheda madre con chipset 440FX
(se ricordo bene risale al 1998 la sua uscita sul mercato).

E poi una sistemazione in via definitiva di tutte quelle piccole ma fastidiosissime anomalie che continua a portarsi dietro da un pò; l'integrazione non ottimale del copia-incolla fra host e guest tanto per dirne una, la perdita dell'input della tastiera che ogni tanto accade tanto per dirne un'altra (e risolvibile, almeno con host Windows, aprendo il blocco note e scrivendoci dentro qualcosa, una volta richiuso il blocco note e ritornati nella macchina virtuale tutto va a posto).

E lo ammetto: mi piacerebbe vedere l'introduzione di qualche feature che rendesse VirtualBox più adatto anche ad un utilizzo in ambito server; chessò, la possibilità di virtualizzare un sistema reale già in funzione. Magari come modulo separato, come l'USB e la rete, così da non appesantirlo inutilmente per chi non è interessato a queste funzionalità.

Ma Sun l'ha detto chiaro nel suo comunicato stampa di annuncio dell'acquisizione: VirtualBox va ad estendere la piattaforma "xVM" sul lato desktop per rafforzare la loro posizione nel mercato della virtualizzazione. Perciò, se c'è speranza di vedere realizzati i miei primi due auspici, nel terzo ci credo poco anch'io. Al solito, solo il tempo ci dirà come stanno davvero le cose.

@:\>
____________________________________________________________________
Aggiornamento del 5 aprile 2008
L'annuncio proprio in questi giorni dell'accordo fra Sun e VMware per usare la virtualizzazione VMware nell’offerta di Server e Storage Sun x64 credo risponda ai miei auspici. Accidenti però, quanto poco tempo c'è voluto prima si spegnesse una qualche speranza per il terzo punto... peccato.

@:\>

domenica 23 marzo 2008