VirtualBox è uno dei prodotti più interessanti nell’ambito della virtualizzazione: perchè è open source, perchè è potente, facile da usare e fornito di un numero enorme di funzionalità avanzate e di personalizzazioni. Purtroppo però tra queste non vi è (speriamo ancora per poco) la possibilità di estendere una partizione virtuale.

virtualbox
VirtualBox

Se quindi si esaurisce lo spazio su disco, come possiamo risolvere?

(continua…)



Qualche tempo fa scrissi un post a proposito della condivisione di cartelle tra sistemi host e guest in VirtualBox. La comodità di poter scambiare dati tra le virtual machine e le macchine host è davvero troppo interessante per farne a meno.

Visto che il precedente post riguardava la condivisione di cartelle tra un sistema Linux host (fedora) e un sistema Windows guest, ho pensato che potesse essere utile anche la situazione in cui abbiamo un sistema Windows host che deve comunicare con un sistema Linux guest.

Il primo passo da fare è scegliere la cartella del sistema host (Windows in questo caso) che verrà condivisa con il sistema Linux (Ubuntu in questo caso).

Una volta scelta la directory del sistema host che verrà condivisa, possiamo proseguire entrando nel sistema Linux, e nella console digitiamo il seguente comando:

sudo mkdir /media/windows-folder

che ci permette di creare un “punto di mount” in Ubuntu per la cartella in questione. Creato il “punto di mount” possiamo procedere al passo (quasi) finale con il comando:

sudo mount -t vboxsf nome_cartella /media/windows-folder

Questo comando non fa altro che legare al “punto di mount” precendentemente istanziato la cartella Windows con il nome “nome_cartella”.  L’ultimissima cosa da fare per rendere la modifica permanente è inserire questo comando all’interno del file

/etc/rc.local

poi spegnere la macchina virtuale, andare nelle impostazione ed aggiungere tra le cartelle condivise quella che abbiamo creato. Il gioco è fatto: ora abbiamo due sistemi in perfetta comunicazione! ;)



Con l’ultima versione di VirtualBox, il prodotto di virtualizzazione ha raggiunto davvero ottimi livelli, anche su piattaforma Linux. Nelle nostre prove, abbiamo riscontrato i soliti problemi con il supporto USB: putroppo ancora non è stata prevista una configurazione totalmente automatica, almeno nelle release di Fedora, e allora….ecco come procedere!

Il problema è ovviamente dato dalla configurazione dei permessi: per prima cosa, dobbiamo aggiungere la nostra utenza al gruppo vboxusers (possiamo controllare che non sia già stato fatto in automatico lanciando il comando groups), con il seguente comando

sudo gpasswd -a $(logname) vboxusers

Ora dobbiamo garantire i permessi di scrittura e lettura su  “usbfs” per gli utenti che appartengono al gruppo “vboxusers”.

Su Fedora 10, “usbfs” è accessibile da /proc/bus/usb che per configurazione di defualt appartiene all’utente root e al gruppo root. Potremmo anche modificare i permessi con il comando chmod, ma ogni qualvolta riavviamo il sistema, dovremmo rifare la medesima procedura. Inoltre non possiamo eseguire a piacimento le operazioni di mount, perchè il sistema comunica constantemente con “usbfs”, e finchè esiste tale comunicazione ( cioè esattamente per tutto il tempo in cui il sistema è running ) il filesystem risulta “busy”. Il “trucco” sta nel “montare” una copia di “usbfs” da qualche parte nel sistema, passando gli effetti delle configurazioni anche su /proc/bus/usb. Per fare questo, ci serve l’id del gruppo “vboxusers”, che troviamo con il seguente comando:

cat /etc/group | grep vboxusers

L’output sarà qualcosa di simile a:

vboxusers:x:501:nomeutente

che specifica appunto che sul proprio sistema l’id del gruppo (gid) “vboxusers” è 501. Ora mpossiamo procedere nella creazione di un altro punto di mount per “usbfs”. Decidiamo di crearlo in /root/usbfs:

sudo mkdir /root/usbfs

Il prossimo passo è la modifica del file /etc/fstab per “montare” una copia di “usbfs” in /root/usbfs. Editiamo quindi il file, ad esempio con vi, e alla fine di questo aggiungiamo le seguenti righe:

none /root/usbfs usbfs rw,devgid=501,devmode=664 0 0

Ovviamente, se nel vostro sistema il gid del gruppo “vboxusers” è differente da 501, dovete sostituirlo con quello appropriato. Per applicare i cambiamenti, lanciamo il comando di “mount”:

sudo mount -a

Dopo questa procedera, finalmente i vostri sistemi virtuali leggerando qualsiasi collegamento USB, esattamente come il vostro sistema operativo. Chiaramente è necessario settare, per ogni macchina virtuale, i controller USB che volete rendere attivi.



Qualche tempo fa abbiamo recensito in questo articolo gli applicativi più conosciuti per la virtualizzazione in ambiente Windows e Linux : Vmware e in VirtualBox . In quell’articolo avevamo analizzato le principali funzionalità di uno e dell’altro, arrivando alla conclusione che in effetti Vmware aveva un qualcosa in più….aveva! Con la nuova versione di VirtualBox , la 2.0.4, sono stati fatti grandi passi in avanti: sono stati risolti i problemi della gestione delle porte USB, e, con l’installazione degli addons scaricabili al seguente indirizzo, VirtualBox ottiene una serie di funzionalità aggiuntive che lo rendono davvero un ottimo prodotto, assolutamente paragonabile alla versione liberamente scaricabile di Vmware.

Con questa premessa, ecco una “chicca” per utilizzare le comodissime cartelle condivise tra sistema HOST Linux e sistema GUEST Windows. La procedura è molto semplice e veloce:

  1. Si crea la cartella sul sistema HOST (Linux in questo caso)
  2. Si accede alla configurazione della macchina virtuale attraverso il menu “Settings”
  3. Qui, nella scheda “Shared Folder” andiamo ad aggiungere la cartella creata al punto 1, come cartella permanente se vogliamo che sia disponibile ad ogni avvio della macchina virtuale
  4. Accediamo alla macchina virtuale
  5. Dal menu Start di Windows andiamo nel campo “cerca”, digitiamo “esegui”, e premiamo invio
  6. Nella finestra che si apre, dicitiamo il seguente comando

    net use x: \\vboxsvr\nome_cartella_condivisa

    e premiamo invio

Nel caso in cui capitasse che dopo un’avvio della macchina virtuale non sia possibile accedere alla cartella condivisa, sarà sufficiente ripetere i passi 5-6 per rendere nuovamente la cartella disponibile.



La virtualizzazione è uno strumento davvero notevole. Per chi sviluppa applicativi che richiedono il testing in diversi ambienti, è sicuramente un importatissimo ed efficientissimo strumento di lavoro.

Per chi non lo sapesse, attraverso la virtualizzazione è possibile utilizzare simultaneamente più sistemi operativi. La macchina Host (quella reale, la macchina fisica) condivide le risorse con una o più macchine Guest (quelle virtuali) : questo è possibile grazie ad applicativi come VirtualBox o Vmware, applicativi che sostanzialmente creano veri e propri sistemi virtuali, con le loro memorie, i loro hard-disk, le loro periferiche, ecc.

Attraverso i programmi di virtualizzazione, dunque, è possibile  condividere le risorse di una macchina fisica per creare tante macchine virtuali diverse, ognuna con il proprio sistema operativo installato e con le proprie caratteristiche.

La comodità per gli sviluppatori multipiattaforma è davvero immensa: non è più necessario avere una partizione per ogni sistema operativo installato, con  i conseguenti riavvii e le perdite di tempo. Con questo meccanismo, possiamo ottimizzare i tempi e la qualità del nostro lavoro.

In rete sono disponibili diversi programmi per la virtualizzazione, gratuiti o meno, con ovviamente caratteristiche molto diverse. Dopo diversi test, abbiamo tuttavia soffermato la nostra attenzione principalmente su due applicativi:  VirtualBox o Vmware .

Le ragioni sono molteplici: sono entrambi gratuiti, hanno una notevole community alle spalle, sono multipiattaforma, relaltivamente semplici da installare e molto ben strutturati.

Seppur entrambi molto interessanti, il primo posto in assoluto come miglior applicativo di virtualizzazione, a nostro avviso, spetta senza alcun dubbio a  Vmware .

Abbiamo testato Vmware su una macchina Host decisamente performante con sistema operativo Fedora 9 , creando e installando una macchina Guest Windows Vista.

Il risultato: eccezionale. Semplice e veloce l’installazione di Vmware ; intuitiva e molto ben organizzata l’interfaccia di gestione; facile da utilizzare anche per i “novizi”; ma sopra ogni cosa, ciò che rende davvero meritevole di tanto riguardo questo applicativo è la possibilità di utilizzare i Vmware Tools. Questi fanno davvero la differenza.

Mentre in VirtualBox abbiamo trovato molto rudimentale la gestione delle perifiche e soprattutto la condivisione del mouse, in Vmware, attraverso i Vmware Tools, tutto è assolutamente naturale: le gestione delle perifiche è semplice e veloce, la modalità a schermo intero è molto più comoda rispetto a tutti i concorrenti e, dulcis in fundo, la condivisione del mouse è del tutto naturale. Non vi sono noiose combinazioni di tasti da premere per catturare-rilasciare tale periferica: tutto funziona a “focus”. Quando il mouse entra nella finestra della macchina virtuale, essa ne prende il controllo, quando ne esce lo rilascia senza noie di alcun tipo.

Per chi volesse testare  Vmware in ambiente fedora, può seguire la guida raggiungibile qui .