Problemi in questa pagina? Segnalali in questa discussione
Introduzione
In questa pagina verrà spiegato come installare KVM, un programma di virtualizzazione del kernel Linux.
Preparativi
Come stabilire se la CPU supporta la virtualizzazione dell' hardware
Per eseguire KVM è necessario che il processore supporti la virtualizzazione; Intel e AMD hanno sviluppato estensioni per i loro processori, rispettivamente
INTEL-VT-x (nome in codice Vanderpool) e AMD-V (nome in codice Pacifica).
Per sapere se il processore supporta la virtualizzazione digitare il seguente comando in una finestra di terminale:
egrep -c '(vmx|svm)' /proc/cpuinfo
Se la risposta fornita è 0 significa che la CPU non supporta la virtualizzazione dell'hardware.
Se la risposta fornita è 1 la virtualizzazione è supportata, ma è necessario verificare che nel BIOS sia abilitata l'opzione per la virtualizzazione.
Se si utilizza un kernel XEN per visualizzare i flag vmx e svm utilizzare il comando:
cat /sys/hypervisor/properties/capabilities
Oppure in alternativa:
kvm-ok
Che restituira una risposta simile a:
INFO: Your CPU supports KVM extensions INFO: /dev/kvm exists KVM acceleration can be used
Se invece il messaggio sarà:
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
sarà comunque possibile eseguire macchine virtuali che però, senza estensioni KVM, risulteranno lente.
Se possibile usare un kernel a 64 bit
L'esecuzione di un kernel a 64 bit sul sistema ospite è raccomandata ma non indispensabile.
Per offrire più di 2047 MB di ram alla macchina virtuale, si deve usare un kernel a 64 bit. Installando un kernel a 32 bit si avrà la limitazione a 2 GB di RAM per macchina.
Un sistema a 64 bit può ospitare sia virtualizzazioni a 64 bit che a 32 bit. Mentre un sistema a 32 bit può ospitare solo virtualizzazioni a 32 bit.
Per verificare che il processore sia a 64 bit digitare il seguente comando in una finestra di terminale:
grep ' lm ' /proc/cpuinfo
dove «lm» sta per long Mode, per cui la CPU è a 64 bit, se non viene fornita alcuna risposta significa che la CPU non è a 64 bit.
Per verificare che sia in esecuzione un kernel a 64 bit digitare il seguente comando in una finestra di terminale:
uname -m
il risultato sarà simile ai seguenti:x86_64 indica che è in uso un kernel a 64-bit.
i386, i486, i586 o i686, indicano che è in uso un kernel a 32 bit.
Installazione
Per le seguenti impostazioni, si presume la predisposizione di KVM su un server, e quindi non ci sarà nessun server X sulla macchina.
Installare i seguenti pacchetti:
Lucid (10.04) o successive
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) o precedenti
$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
Se si ha la necessità di visualizzare le istanze installare anche il pacchetto: virt-viewer.
Descrizione dei pacchetti:
qemu-kvm o kvm: è il backend.
libvirt-bin: fornisce libvirtd necessario per amministrare le istanze di qemu e kvm usando libvirt.
ubuntu-vm-builder: potentissimo strumento a riga di comando per la creazione di macchine virtuali.
bridge-utils: fornisce un bridge tra una rete e la macchinea virtuale.
Ubuntu 10.04
Il pacchetto kvm è stato sostituito da qemu-kvm. Il pacchetto kvm è stato etichettato come transitional di modo che ne sia ancora possibile l'installazione.
Aggiunta di utenti ai gruppi
Karmic (9.10) e successive Il pacchetto libvirtd-bin aggiungerà automaticamente il vostro nome utente al gruppo libvirtd, non è necessario fare parte del gruppo kvm. Dopo l'installazione sarà necessario riautenticarsi di modo che il vostro nome utente sia effettivamente aggiunto al gruppo libvirtd. I membri di questo gruppo possono eseguire macchine virtuali. È anche possibile lanciare 'newgrp kvm' da terminale, ma ciò sarà effettivo solo sul terminale in questione.
Rilasci precedenti a Karmic (9.10) Verificare che il vostro nome utente sia aggiunto ai gruppi kvm e libvirtd con il comando:
$ groups adm dialout cdrom floppy audio dip video plugdev fuse lpadmin admin sambashare kvm libvirtd
Per aggiungere il vostro nomeutente ai gruppi:
$ sudo adduser `id -un` kvm Adding user '<username>' to group 'kvm' ... $ sudo adduser `id -un` libvirtd Adding user '<username>' to group 'libvirtd' ...
Dopo l'installazione sarà necessario riautenticarsi di modo che il vostro nome utente sia effettivamente aggiunto al gruppo libvirtd. I membri di questo gruppo possono eseguire macchine virtuali.
Verifica dell'installazione
Per verificare se l'installazione è avvenuta con successo:
$ virsh -c qemu:///system list Id Name State ---------------------------------- $
altrimenti la risposta sarà:
$ virsh -c qemu:///system list libvir: Remote error : Permission denied error: failed to connect to the hypervisor $
che può voler dire che non ci si è riautenticati oppure non si hanno i permessi di scrittura sul file /var/run/libvirt/libvirt-sock. I permessi devono essere simili a.
$ sudo ls -la /var/run/libvirt/libvirt-sock srwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock
Opzionale: installazione di virt-manager (interfaccia grafica)
Se si desidera utilizzare un interfaccia grafica per gestire le macchine virtuali:
$ sudo apt-get install virt-manager
Il gestore della macchina virtuale sarà in Applicazioni - Strumenti di sistema, innanzitutto occorre creare una nuova connessione all'istanza locale QEMU dal menu File - Aggiungi connessione . Nella lista delle macchine virtuali apparirà Localhost (QEMU).