Tag Archives: cloud computing

Installare KVM su Ubuntu Linux 10.04, 10.10 e Fedora/CentOS

KVM (Kernel Based Virtual Machine) è un’ottima piattaforma di virtualizzazione per GNU/Linux utile per creare una piccola Infrastruttura Cloud privata.

Kernel Based Virtual Machine Logo

Per chi non lo conoscesse, KVM è un progetto Open Source nato qualche anno fa con l’intento di sviluppare una nuova architettura di virtualizzazione alternativa a XEN; a differenza di XEN, per il quale è necessaria una versione particolare del Kernel Linux, KVM è caricabile nel Kernel Linux come un modulo sacrificando leggermente le performances ma rendendone più semplice il Setup. KVM supporta una virtualizzazione completa sfruttando le istruzioni per virtualizzazione delle CPU (AMD-V o Intel-VT) con le quali è possibile utilizzare l’accelerazione Hardware nativa.

KVM support libvirt ed implementa i nuovissimi driver VirtIO per periferiche virtuali di Input/Outut come schede di rete e storage ad alte performance.

Installare KVM è molto semplice e veloce sia su Ubuntu che su Fedora/CentOS, la procedura richiede una manciata di minuti.

Questa è la procedura su Ubuntu 10.04, 10.10, probabilmente funzionante anche sulle versioni più recenti.

apt-get install kvm qemu-kvm libvirt-bin virt-manager

Su Fedora e CentOs invece è necessatio lanciare il seguente comando:

yum install kvm kmod-kvm libvirt virt-manager

Fate attenzione ad installare anche virt-manager (non è sempre una dipendenza) che è un’ottimo front end ad interfaccia grafica – sviluppato da Red Hat – per gestire le macchine virtuali KVM.

Virt-manager è sviluppato sulla libreria libvirt, permettendo quindi una gestione contemporanea di parecchi Host remoti con differenti piattaforme di virtualizzazione – ad oggi libvirt è compatibile con KVM/QEMU, XEN, LXC, OpenVZ, User Mode Linux, Virtualbox, VMware ESX e GSX, VMware Workstation e Player, Microsoft Hyper-V.

Una volta completata la procedura di installazione potete creare una nuova macchina virtuale direttamente con Virt-Manager oppure con il seguente comando da shell:

virt-install -n myVirtualMachine -r 512 --virt-type=kvm -f /path/to/diskImage.img --vnc -c /path/to/osImage

Il flag -n è il nome della Macchina Virtuale, -r la quantità di RAM della Macchina, -f il path ad un file immagine di un dispositivo a blocchi e -c il path ad un’immagine ISO.

Per creare un file immagine di un dispositivo a blocchi è sufficiente utilizzare dd con il quale verrà creato un file binario grezzo.

L’utilizzo dello standard OVA/OVF per lo scambio di Applicazioni Virtuali

Da quando il Cloud Computing ha letteralmente fatto perdere la testa a tutto il mondo dell’Information Technology, decine di aziende e centinaia di progetti open source hanno sviluppato nuovi strumenti ed architetture per la Virtualizzazione e per la realizzazione di una Private Cloud.

Il concetto di Virtualizzazione si basa – in maniera astratta – sul pensiero “linuxiano” che tutto è un file (everything is a file). Partendo da questo presupposto è possibile immaginare un’intera Macchina (Hardware e Software) come un unico File, o gruppo di files, che è in grado di funzionare perfettamente come un computer fisico.

I vantaggi della virtualizzazione, dall'isolamento dell'Hardware alla portabilità

La virtualizzazione viene sempre più utilizzata per esigenze di consolidamento e di risparmio energetico, inoltre permette grossi risparmi per la gestione ed il deployment di infrastrutture informatiche.

Oltre alle grandiose potenzialità nell’ambito di CED e Datacenter, la virtualizzazione ed il cloud computing in genere offrono ottimi vantaggi durante lo sviluppo di software di qualsiasi genere (dallo sviluppo di Applicazioni Web allo sviluppo di Installazioni multimediali). In pratica la virtualizzazione apre nuovi orizzonti per i Team di sviluppo “distribuiti” che, tramite la rete, possono condividere facilmente applicazioni e sincronizzare i loro ambienti di lavoro, sicuri di possedere tutti lo stesso ambiente virtuale nel quale sviluppare e testare il loro nuovo software.

I formati – standard – OVF (Open Virtualization Format) ed OVA permettono lo scambio di un singolo File contenente tutto il necessario per l’installazione e l’avvio di una o più macchine virtuali; il primo dei vantaggi del formato OVF è la portabilità: non importa quale piattaforma di virtualizzazione viene utilizzata, Oracle, Red Hat, IBM e VMware supportano tutti lo standard OVF ed esiste anche una libreria open source compatibile con OVF (http://gitorious.org/open-ovf).

In poche parole la virtualizzazione è una delle più interessanti ed utili tecnologie – relativamente – recenti, che, grazie anche ad un sempre crescente supporto Hardware (estensioni ed API delle CPU di ultima generazione) permettono un’esecuzione performante delle macchine virtuali senza appesantire la Macchina fisica che le ospita.