Documentation Ubuntu
|
Nettoyage du contenu requis |
#titre KVM Installation
Installation
Liste de contrôle de pré-…checklist d’installation
Vérifier que votre processeur prend en charge la virtualisation matérielle
Pour exécuter KVM, vous avez besoin d’un processeur qui prend en charge la virtualisation matérielle. Intel et AMD ont tous deux développé des extensions pour leurs processeurs, réputées respectivement Intel VT-x (nom de code Vanderpool) et AMD-V (nom de code Pacifica). Pour savoir si votre processeur prend en charge l’une d’entre elles, vous pouvez examiner la sortie de cette commande :
egrep -c '(vmx|svm)' /proc/cpuinfo
Si 0, cela signifie que votre processeur ne prend pas en charge la virtualisation matérielle.
Si 1 ou plus, il le fait – mais vous devez encore vous assurer que la virtualisation est activée dans le BIOS.
Par défaut, si vous avez démarré dans le noyau XEN, il n’affichera pas le drapeau svm ou vmx en utilisant la commande grep. Pour voir s’il est activé ou non à partir de xen, entrez :
cat /sys/hypervisor/properties/capabilities
Vous devez voir les drapeaux hvm dans la sortie.
Au lieu de cela, vous pouvez exécuter :
kvm-ok
ce qui peut fournir une sortie comme celle-ci :
INFO: /dev/kvm existsKVM acceleration can be used
Si vous voyez :
INFO: Your CPU does not support KVM extensionsKVM acceleration can NOT be used
Vous pouvez toujours exécuter des machines virtuelles, mais ce sera beaucoup plus lent sans les extensions KVM.
NOTE : Vous pouvez voir un message du type » l’accélération KVM peut/ne peut PAS être utilisée « . Cela est trompeur et signifie seulement si KVM est *actuellement* disponible (c’est-à-dire « activé »), *pas* s’il est pris en charge.
Utiliser un noyau 64 bits (si possible)
Faire tourner un noyau 64 bits sur le système d’exploitation hôte est recommandé mais pas obligatoire.
-
Pour servir plus de 2 Go de RAM à vos VM, vous devez utiliser un noyau 64 bits (voir 32bit_et_64bit). Sur une installation de noyau 32 bits, vous serez limité à 2 Go de RAM au maximum pour une VM donnée.
- De plus, un système 64 bits peut accueillir des invités 32 bits et 64 bits. Un système 32 bits ne peut héberger que des invités 32 bits.
Pour savoir si votre processeur est 64 bits, vous pouvez exécuter cette commande :
egrep -c ' lm ' /proc/cpuinfo
Si 0 est imprimé, cela signifie que votre processeur n’est pas 64 bits.
Si 1 ou plus, il l’est. Remarque : lm signifie mode long, ce qui équivaut à un processeur 64 bits.
Voyez maintenant si votre noyau en cours d’exécution est 64 bits, il suffit de lancer la commande suivante :
uname -m
x86_64 indique un noyau 64 bits en cours d’exécution. Si vous utilisez see i386, i486, i586 ou i686, vous exécutez un noyau 32 bits.
Note : x86_64 est synonyme de amd64.
Installation de KVM
Installation des paquets nécessaires
Pour la configuration suivante, nous supposerons que vous déployez KVM sur un serveur, et donc que vous n’avez pas de serveur X sur la machine.
Vous devez d’abord installer quelques paquets :
Cosmic (18.10) ou supérieur
$ sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) ou supérieur
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) ou antérieur
$ sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
-
libvirt-bin fournit libvirtd dont vous avez besoin pour administrer les instances qemu et kvm en utilisant libvirt
-
qemu-kvm (kvm dans Karmic et antérieur) est le backend
-
ubuntu-.vm-builder puissant outil en ligne de commande pour construire des machines virtuelles
-
bridge-utils fournit un pont de votre réseau vers les machines virtuelles
Vous pourriez également vouloir installer virt-viewer, pour visualiser les instances.
Ajouter des utilisateurs aux groupes
Karmic (9.10) et versions ultérieures (mais pas 14.04 LTS et 18.10)
Vous devez vous assurer que votre nom d’utilisateur est ajouté au groupe libvirtd :
$ sudo adduser `id -un` libvirtdAdding user '<username>' to group 'libvirtd' ...
Après cela, vous devez vous reconnecter pour que votre utilisateur devienne un membre effectif du groupe libvirtd. Les membres de ce groupe peuvent exécuter des machines virtuelles. (Vous pouvez également ‘newgrp kvm’ dans un terminal, mais cela n’affectera que ce terminal).
Bionic (18.04 LTS) et supérieur
Le nom du groupe est changé en libvirt, et vous devez également être membre de ‘kvm’ :
$ sudo adduser `id -un` libvirtAdding user '<username>' to group 'libvirt' ...$ sudo adduser `id -un` kvmAdding user '<username>' to group 'kvm' ...
Les versions antérieures à Karmic (9.10)
Vous devez vous assurer que votre nom d’utilisateur est ajouté aux groupes : kvm et libvirtd.
Pour vérifier :
$ groupsadm dialout cdrom floppy audio dip video plugdev fuse lpadmin admin sambashare kvm libvirtd
Pour ajouter votre <nom d’utilisateur> aux groupes :
$ sudo adduser `id -un` kvmAdding user '<username>' to group 'kvm' ...$ sudo adduser `id -un` libvirtdAdding user '<username>' to group 'libvirtd' ...
Après l’installation, vous devez vous reconnecter pour que votre utilisateur devienne un membre effectif des groupes d’utilisateurs kvm et libvirtd. Les membres de ce groupe peuvent exécuter des machines virtuelles.
Vérifier l’installation
Vous pouvez tester si votre installation a réussi avec la commande suivante :
$ virsh list --all Id Name State----------------------------------$
Si par contre vous obtenez quelque chose comme ceci :
$ virsh list --alllibvir: Remote error : Permission deniederror: failed to connect to the hypervisor$
Quelque chose ne va pas (par exemple, vous ne vous êtes pas reconnecté) et vous voulez probablement corriger cela avant de continuer. Le point critique ici est de savoir si vous avez ou non un accès en écriture à /var/run/libvirt/libvirt-sock.
Le fichier sock devrait avoir des permissions similaires à :
$ sudo ls -la /var/run/libvirt/libvirt-socksrwxrwx--- 1 root libvirtd 0 2010-08-24 14:54 /var/run/libvirt/libvirt-sock
De plus, /dev/kvm doit être dans le bon groupe. Si vous voyez :
$ ls -l /dev/kvmcrw-rw----+ 1 root root 10, 232 Jul 8 22:04 /dev/kvm
Vous pourriez rencontrer des problèmes lors de la création d’une machine virtuelle. Changez plutôt le groupe du périphérique pour kvm/libvirtd :
sudo chown root:libvirtd /dev/kvm
Maintenant, vous devez soit vous reconnecter, soit redémarrer les modules du noyau :
rmmod kvmmodprobe -a kvm
Optionnel : installer virt-manager (interface utilisateur graphique)
Si vous travaillez sur un ordinateur de bureau, vous voudrez peut-être installer un outil GUI pour gérer les machines virtuelles.
$ sudo apt-get install virt-manager
Le gestionnaire de machines virtuelles apparaîtra dans Applications -> menu Outils système. Créez d’abord une nouvelle connexion à l’instance locale de QEMU à partir du menu File -> Add Connection. Localhost (QEMU) ou QEMU/KVM devrait apparaître dans la liste des machines virtuelles. Remarque : il existe déjà une connexion Localhost (QEMU Usermode) mais celle-ci ne fonctionne pas, du moins sur Ubuntu 10.04.
Créer une nouvelle machine virtuelle en appuyant sur le bouton supérieur gauche Créer une nouvelle machine virtuelle de la barre d’outils.
Notes spécifiques à la version
Notes de la version 8.10 (Intrepid)
-
Deux méta-paquets ont été ajoutés : ubuntu-virt-server et ubuntu-virt-mgmt. Ubuntu-virt-server installe les paquets nécessaires à la configuration d’un hôte de virtualisation de base (kvm, libvirt-bin et openssh-server) et ubuntu-virt-mgmt installe ce dont vous avez besoin pour l’administrer depuis une station de gestion (virt-manager, python-vm-builder et virt-viewer).
-
ubuntu-vm-builder a été remplacé par python-vm-builder (tutoriel).
Note : libdevmapper ne charge pas son module lorsqu’il est installé (bug 277648) , vous devrez donc soit faire un
-
$ sudo modprobe dm-loop
ou redémarrer votre système avant de pouvoir l’utiliser.
11.10 (Oneric) Notes
Le passage au noyau serveur pourrait être utile s’il y a des problèmes de démarrage avec les machines virtuelles (c’est-à-dire que Windows XP se fige environ une fois tous les 5 démarrages )
.