lunedì 23 agosto 2010

KVM virtualizzazione in Ubuntu 10.04 Lucid Lynx

Maria Susana Diaz | 13:04 |
Quando si parla di macchine virtuali da utilizzare sul proprio desktop, la scelta ricade quasi sempre su VmWare o VirtualBox.

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

Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:




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!

LINKEDIN

3 commenti

Tulis commenti
avatar
LFaccenda
Admin
14 maggio 2012 alle ore 19:27

Ottimo documento, ti faccio solamente una prima domanda: come faccio a creare le immagini in una posizione diversa da /var/lib/libvrt...
Ho poco spazio in quella partizione.
Ti ringrazie e scusami per la banale domanda.
Ciao, Luca

Rispondi
avatar
LFaccenda
Admin
14 maggio 2012 alle ore 19:30

Scusa le banali domande:
a) come posso creare una immagine in una posizione diversa da /var/lib/libvrt... ?
b) come cancello le immagini create ?
Grazie, Luca

Rispondi
avatar
LFaccenda
Admin
14 maggio 2012 alle ore 19:31

Scusa le banali domande:
a) come posso creare una immagine in una posizione diversa da /var/lib/libvrt... ?
b) come cancello le immagini create ?
Grazie, Luca

Rispondi