Année universitaire : 2024/2025 Classes : GLSI-3
Module : Virtualisation et Cloud
TP2 : Virtualisation avec KVM
KVM (Kernel-based Virtual Machine) est un hyperviseur libre pour Linux (de type 1).
Il est utilisé dans
- des environnements de développement, de test, d’apprentissage ;
- la virtualisation de centres de données (data center) ;
- la mise en place d’infrastructures en nuage (cloud), il est l’hyperviseur par défaut sur
OpenStack et beaucoup d’autres prestataires/solutions.
KVM est un module qui transforme le noyau Linux en Hyperviseur type 1. Il est embarqué dans
le noyau linux. Il fonctionne sur les architectures x86 disposant des technologies Intel VT-x ou
AMD-V. Ce module traduit rapidement les instructions des vCPU via les intructions VT AMD
et Intel. Vue du noyau, chaque VM est un processus et chaque vCPU est un thread de
processeur.
Librairie Libvirt : On a besoin aussi de la bibliothèque de virtualisation libvirt (commande
virsh) qui permet de s’interfacer avec l’hyperviseur pour administrer et utiliser les VMs. Elle
est aussi utiliser avec d’autres type hyperviseurs comme Xen, OpenVZ, Vmware ESX.
Prérequis
- Une machine virtuelle avec un système Ubuntu qui va servir de machine hôte
Télécharger une image ISO de Ubuntu la plus récente du site officiel
Télécharger VirtualBox (ou un autre outil) pour créer la VM.
- Une image iso Ubuntu server pour créer une VM avec kvm / libvirt
I - Préparation de KVM
Il faut d’abord vérifier que votre machine Ubuntu supporte KVM. Les instructions VT
doivent être activées dans le Bios.
1) Vérifiez que votre processeur dispose des flags vmx (pour les processeurs Intel) ou svm
(pour les processeurs AMD) avec cette commande :
$grep -E -c "vmx|svm” /proc/cpuinfo
Cette commande retournera un nombre qui représente le nombre de processeurs disposants de
ces flags. Les flags se trouvent dans le fichier /proc/cpuinfo.
Dans le cas où cette commande retourne 0, activez la virtualisation (VT-X ET AMD-V) dans
votre machine dans VirtualBox (Système -> processeur -> Activer Vt-x/AMD-V imbriqué :
Si sur Virtualbox, l'option « Activer Vt-x/AMD-V » imbriqué est grisée :
Sous Windows, accédez aux dossiers d'installation de VirtualBox, tapez cmd sur la
barre (il apparaîtra cmd dans ce dossier). Tapez :
VBoxManage modifyvm <YourVirtualMachineName> --nested-hw-virt on
Maintenant, l'option « Activer Vt-x/AMD-V » doit être cochée dans VirtualBox.
2) Vérifiez avec ces commandes si nous pouvons activer le module KVM :
$sudo apt install -y cpu-checker
$kvm-ok
II - Installation des paquetages KVM et activation du service libvirt
1) Installez les paquetages kvm
$sudo apt install -y qemu qemu-kvm libvirt-daemon bridge-utils virt-manager virtinst
1) Démarrer le service libvirtd :
$sudo systemctl start libvirtd
$sudo systemctl enable libvirtd
2) Vérification du démarrage de libvirt :
$sudo systemctl status libvirtd
III- Création de la machine virtuelle avec le gestionnaire des machines
virtuelles virt-manager
Ouvrez le gestionnaire des machines virtuelles :
Cliquez sur fichier> nouvelle machine virtuelle et suivez les étapes de création et d’installation de la
nouvelle machine virtuelle.
3. Gestion de KVM
La gestion de KVM se fait par l’un des choix suivants :
1) Graphical user interface= virtual machine manager (virt-manager), exemples:
o Pour voir, arrêter ou démarrer une machine virtuelle :
2) Ligne de commande virsh. L’outil virsh permet la gestion des VMs en ligne de commande.
Exemples :
- Démarrer une machine virtuelle:
- Lister les machines virtuelles
- Arrêter la machine virtuelle
3) Fichier descriptif xml
Pour voir le fichier descriptif xml de la machine virtuelle, essayez cette commande: