Dovete sapere però che sotto Linux, e nella fattispecie sotto Ubuntu, esiste una alternativa piu' che valida chiamata KVM (Kernel Based Virtual Machine ); ovviamente open-source e già presente nei repository ufficiali di ubuntu.
KVM è un modulo per il kernel Linux, che serve per gestire la virtualizzazione su computer che possiedono processori con estensioni per la virtualizzazione (Intel VT e AMD-V). Se non si possiede un processore con tali estensioni non si può usare KVM.
Il modulo include un char driver che si occupa di dirigere il controllo dell’ I/O dal kernel ospitante al sistema ospite.
Il pacchetto KVM comprende una versione modificata di QEMU che fa uso di questo modulo.
QEMU modificato è molto più veloce e performante perché KVM fa uso delle estensioni per la virtualizzazione dei processori mentre l’originale emula lo ioctr.
KVM è già inserito nel kernel Linux vanilla a partire dalla versione 2.6.20 per abilitarlo basta selezionare, nel file di configurazione del kernel, la voce CONFIG_KVM come modulo e la voce relativa al proprio processore CONFIG_KVM_INTEL o CONFIG_KVM_AMD.
Per installare KVM dai sorgenti sono necessari: gcc 3.x, le librerie e header SDL, zlib, alsa, libuuid e naturalmente gli header del kernel ma sopratutto un kernel Linux 2.6.16 o superiore.
Per una CPU Intel:
$ tar -xvzf kvm-release.tar.gz
$ cd kvm-release
$ ./configure –prefix=/usr/local/kvm
$ make
$ sudo make install
$ sudo /sbin/modprobe kvm-intel
Per una CPU Amd:
$ tar -xvzf kvm-release.tar.gz
$ cd kvm-release
$ ./configure –prefix=/usr/local/kvm
$ make
$ sudo make install
$ sudo /sbin/modprobe kvm-amd
Per usare QEMU su un’architettura ospitante a 64 bit (x86_64) avviando un file immagine posizionata nella home di utente con 256 MB di RAM virtuale:
sudo /usr/local/kvm/bin/qemu-system-x86_64 -hda /home/utente/imm.img -m 256
Se invece si possiede un processore, con estensioni per virtualizzazione, a 32 bit, bisogna digitare:
$ sudo /usr/local/kvm/bin/qemu
Per creare una nuova immagine si usa il comando qemu-img che si trova nella directory /usr/local/kvm/bin/
$ /usr/local/kvm/bin/qemu-img create -f qcow immagine.img 3000M
Come si può notare per avviare QEMU è necessario essere root. Per poter usare KVM come utente non root è necessario aggiungere l’utente autorizzato al gruppo kvm:
# adduser utente kvm
Se si installa kvm già compilato per il proprio sistema operativo bisogna far attenzione. Per esempio in OpenSuse posiziona QEMU in: /usr/bin/qemu-kvm
Torniamo a Ubuntu, inparticolare, Ubuntu 10.04 Lucid Lynx.
Attenzione: alcuni computer hanno disabilitata la possibilità di adoperare le estensioni di virtualizzazione del processore. Occorre abilitarle nel BIOS del computer. Se il modulo kvm-intel o kvm-amd non è presente, seguire questo consiglio.
KVM in realtà è un sistema di virtualizzazione molto complesso, che comprende una serie di tools che da linea di comando consentono di amministrare una farm di macchine virtuali.
E' possibile creare modelli, copiare macchine mentre sono in esecuzione, migrarle su altri sistemi host, ecc.
Quello che vedremo oggi però è l'insieme minimo di operazioni necessarie per creare sulla nostra distribuzione preferita, tutte le macchine virtuali che volete.
Prima di cominciare, dobbiamo verificare se la CPU del vostro computer supporta le estensioni INTEL-VT o AMD-V che permettono alle vostre macchine virtuali di funzionare al meglio.
Eseguite quindi il seguente comando:
Per processori intel: grep vmx /proc/cpuinfo
Per processori AMD: grep svm /proc/cpuinfo
Se i suddetti comandi vi restituiscono un qualunque output, siamo nelle migliori condizioni e possiamo procedere.
Installiamo i seguenti pacchetti:
sudo apt-get install virt-manager kvm libvirt-bin
Poi aggiungiamo il nostro utente al gruppo libvirtd eseguendo questo comando.
sudo adduser `id -un` libvirtd
Ora, ed e' importantissimo, dovete uscire e rientrare nella sessione gnome.
Siete rientrati ? Bene, ricominciamo.
Andate in Applicazioni / Strumenti di sistema e cliccate nella voce di menù Manager della macchina virtuale.
Andate nel menù File e cliccate su Add connection.
In Hypervisor scegliete KVM, in Connection scegliete Locale e cliccate su Connetti
Ora cliccate col pulsante destro del mouse sulla voce localhost e scegliete Nuovo.
Comparira' un wizard che vi guidera' alla creazione della vostra prima macchina virtuale con KVM.
Da adesso in poi, i passi sono semplici. Dovete solo seguire le istruzioni e il gioco e' fatto!
Le vostre macchine virtuali verranno create nella cartella /var/lib/libvirt/images