Home > Fedora Virtualizazzione, linux kvm, Linux Virtualizzazione, Virtualizazzione > Linux KVM – Introuduzione alla virtualizzazione con QEMU-KVM

Linux KVM – Introuduzione alla virtualizzazione con QEMU-KVM

KVM è un’acronimo di Kernel-based Virtual Machine , ed è una soluzione di virtualizzazione per sistemi x86/x86_64 (in realta è stato eseguito il porting anche su processori S/390,PowerPc ed altri) i cui processori contengano le estensioni per la virtualizzazione (Intel VT o AMD-V).

KVM è incluso nel kernel linux a partire dalla versione 2.6.20 rilasciata nel Febbraio 2007 ; è composto ad un modulo caricabile dinamicamente kvm.ko , che fornisce il nucleo dell’infrastruttura di virtualizzazione e da due moduli specifici per il tipo di processore kvm-intel.ko e kvm-amd.ko .

KVM di per se non esegue nessuna emulazione , ma mette a disposizione un interfeccia (/dev/kvm), a cui si interfacciano tools come Qemu per generare macchine virtuali ; KVM fa quindi da “tramite” tra le richieste fatte da Qemu ed il kernel ; questo però non per tutto, la gestione della memoria RAM della Vm e la schedulazione dei processi è fatta direttamente dal Kernel .

Per le macchine virtuali Qemu/KVM viene utilizzato il bios SeaBIOS.

Per un utente non vi è nessuna differenza tra una VM Qemu con KVM disabilitato ed una KVM abilitato , se non per la velocità di esecuzione .

Nel tempo KVM è stato molto migliorato e sono state aggiunte diverse funzionalità molto interessanti, questo perche deve confrontarsi con giganti presenti nel campo della virtualizzazione come VMware.
Vista questa necessità troviamo funzionalità come :

  • Live Migration delle VM
  • Paravirtualized network (migliori perfomance nel networking)
  • Paravirtualized block Device (migliori perfomance nel accesso al disco)
  • PCI-Express passthrough
  • Kernel Sharedpage Merging (KSM) (esegue il merge delle pagine di memoria uguali)

Queste sono solo alcune delle potenzialità di QEMU/KVM ; se poi si vogliono provare le novità più recenti vi consiglio di utilizzare Fedora , in cui normalmente vengono inserite le ultime tecnologie riguardanti la virtualizzazione .

Proviamolo sul Campo

Ora che seppiamo che cosa è KVM passiamo alla pratica ; per avere le ultime funzionalità messe a disposizione da KVM utilizzeremo Fedora 16 ma puo andar bene anche la versione precedente.
Inizieremo ad utilizzare i tool grafici per la gestione delle macchine virtuali , e man mano che andremo avanti impareremo ad usare anche la linea di comando per creare/gestire le VM ed anche per gestire qemu-kvm.

Prima di tutto dobbiamo capire se il nostro computer ha le estensioni per la virtualizzazione , possiamo fare queso dando il seguente comando come utente root :

#grep -E 'svm|vmx' /proc/cpuinfo

Analizzando l’output del comando dobbiamo verificare che nei flag sia predente VMX per i processori Intel o SVM per i processori AMD .

Per completezza vi rimando ad un link di wikipedia in cui potete trovare i processori con questo tipo di estensioni Intel e AMD , la pagina è in inglese perché quella italiana non è aggiornata .

http://en.wikipedia.org/wiki/X86_virtualization

Vi ricordo inoltre che alcuni produttori disabilitano queste estensioni da BIOS , quindi bisogna accedere nel BIOS e attivarle.

Nel caso in cui non abbiate le estensioni per la virtualizzazione potete comunque continuare con questo percorso , in quanto come detto in precedenza il fatto di utilizzare o meno KVM è trasparente , la differenza sarà che la VM che creeremo sarà emulata da qemu e di conseguenza andrà più lenta.

Assicuriamoci che il nostro sistema sia completamente aggiornato dando il comando :

#sudo yum check-update

Se il comando restituisce dei pacchetti da aggiornare diamo il comando :

#sudo yum -y update

Adesso siamo pronti per installare i pacchetti necessari per la virtualizzazione , quindi da linea di comando :

#sudo yum install qemu-kvm libvirt virt-manager virt-viewer python-virtinst

In questo modo installeremo tutto il necessario per iniziare a famigliarizzare la virtualizzazione .

Per oggi è tutto , nel prossimo articolo inizieremo a prendere famigliarità con “Virtual Machine Manager” un tool grafico per la gestione di qemu-kvm e delle macchine virtuali.

Annunci
  1. franco
    9 maggio 2012 alle 10:40

    quando il prossimo articolo ?
    Come si fa a condividere delle cartelle tipo virtualbox ?

    • redice2k
      9 maggio 2012 alle 10:57

      Ciao Franco ,
      Il prossimo articolo su KVM è in scrittura sono un po incasinato col lavoro .
      Mentre purtroppo non è possibile condividere cartelle tipo virtualbox , l’unica soluzione è configurare sulla VM SAMBA o NFS .
      Se hai bisogno di altre informazioni chiedi pure
      Ciao

  2. franco
    17 maggio 2012 alle 09:41

    Grazie.
    Un esempio (specifico con kvm) di installazione samba che non mai usato dove lo posso trovare ?
    Inoltre se aggiungo tramite add hardware (virt manager) chiavetta USB E hdd (500GB) la VM (xp) le trova e mi dice potrebbero essere piu’ veloci se collegate all’ usb2 (la chiavetta da 8gb riesco avedere il file system, mentre l’hdd anche dopo parecchio tempo non vedo niente), come si fa ad impostare l’usb2 ?
    e se impostassi usb redirection con spice ? come ?

  1. No trackbacks yet.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: