Skip to content

Virtualisation (KVM / QEMU)

Prérequis (Support matériel)

Avant l'installation, vérifiez que votre processeur supporte la virtualisation matérielle :

# Si le CPU est supporté, la commande retournera un chiffre > 0
egrep -c '(vmx|svm)' /proc/cpuinfo

Abstract

Si le résultat est 0, il est possible que la virtualisation soit désactivée dans votre BIOS/UEFI.

Installation (Debian / Ubuntu)

Utilisez apt pour installer l'hyperviseur et les outils de gestion :

sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager

Attribution des permissions

Pour gérer les machines virtuelles sans utiliser sudo, ajoutez votre utilisateur aux groupes libvirt et kvm :

sudo usermod -aG libvirt,kvm $USER

Note

Vous devrez vous déconnecter puis vous reconnecter (ou redémarrer la session) pour que ces modifications soient effectives.

Gestion des Machines Virtuelles

Virt-manager (Interface graphique)

C'est l'outil le plus simple pour débuter. Lancement :

virt-manager

Virsh (Ligne de commande)

virsh est l'outil principal pour gérer les domaines (VMs) en CLI.

Commande Description
virsh list --all Liste toutes les VMs (actives ou non)
virsh start <vm> Démarre une VM
virsh shutdown <vm> Arrête proprement une VM
virsh destroy <vm> Force l'arrêt immédiat (équivalent débrancher la prise)
virsh autostart <vm> Définit le démarrage automatique au boot de l'hôte
virsh edit <vm> Édite le fichier XML de configuration de la VM
virsh undefine <vm> Supprime la configuration d'une VM (attention au stockage)

Gestion des disques (qemu-img)

qemu-img est l'outil en ligne de commande pour manipuler les images de disque (création, conversion, redimensionnement).

Informations sur une image

qemu-img info /chemin/vers/image.qcow2

Création d'un disque vide

# Crée un disque de 20 Go au format qcow2
qemu-img create -f qcow2 mon_disque.qcow2 20G

Redimensionnement d'un disque

# Ajoute 10 Go à l'image existante
qemu-img resize mon_disque.qcow2 +10G

Warning

Après avoir redimensionné le fichier, il faut également agrandir la partition à l'intérieur de la VM (avec gparted ou resize2fs).

Conversion de format

# Convertit un disque VMDK (VMware) vers QCOW2 (KVM)
qemu-img convert -f vmdk -O qcow2 disque.vmdk disque.qcow2

Stockage et Réseau

Réseau

Par défaut, KVM utilise un réseau NAT (default) permettant aux VMs d'accéder à internet mais pas l'inverse. Pour un accès direct depuis le réseau local, il est préférable de configurer une carte bridge ou macvtap.

Warning

Il faut bien installer le paquet (sur Debian/Ubuntu) bridge-utils.

Format de disque (QCOW2)

Le format recommandé est .qcow2. Il supporte le "Thin Provisioning" (le fichier grossit selon l'usage réel) et les snapshots.

  • Prendre un snapshot : virsh snapshot-create-as <vm> <nom_snapshot>
  • Restaurer un snapshot : virsh snapshot-revert <vm> <nom_snapshot>

Vérification du système

Pour vérifier que tout est correctement configuré pour l'hyperviseur :

virt-host-validate