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.
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:
Installiamo i seguenti pacchetti:
Siete rientrati ? Bene, ricominciamo.
Andate nel menù File e cliccate su Add connection.
In Hypervisor scegliete KVM, in Connection scegliete Locale e cliccate su Connetti
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
Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!
3 commenti
Tulis commentiOttimo documento, ti faccio solamente una prima domanda: come faccio a creare le immagini in una posizione diversa da /var/lib/libvrt...
RispondiHo poco spazio in quella partizione.
Ti ringrazie e scusami per la banale domanda.
Ciao, Luca
Scusa le banali domande:
Rispondia) come posso creare una immagine in una posizione diversa da /var/lib/libvrt... ?
b) come cancello le immagini create ?
Grazie, Luca
Scusa le banali domande:
Rispondia) come posso creare una immagine in una posizione diversa da /var/lib/libvrt... ?
b) come cancello le immagini create ?
Grazie, Luca