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.
 ta ottime prestazioni, sicuramente le migliori su Python, essendo direttamente sviluppato sulle API della potente libreria
ta ottime prestazioni, sicuramente le migliori su Python, essendo direttamente sviluppato sulle API della potente libreria 







