Aller au contenu

Virtualisation sous Linux


QEMU / KVM

Commandes de base apprises en cours pour gérer des machines virtuelles en ligne de commande.

Création et lancement

# Créer un disque virtuel (format qcow2, 10 Go)
qemu-img create -f qcow2 debian-exemple.qcow2 10G

# Initialiser la VM depuis un ISO
kvm -m 1000 -hda debian-exemple.qcow2 -cdrom debian.iso

# Lancer la VM avec une interface réseau
kvm -m 1000 -hda debian-exemple.qcow2 -net nic,macaddr=42:30:03:01:01:02

Limites de cette méthode

  • La VM s'arrête à la fermeture du terminal
  • Tous les paramètres doivent être passés en ligne de commande
  • Pas de gestion fine du réseau ni de snapshots

Libvirt + Virsh / Virt-manager

Solution plus moderne avec gestion via daemon, interface graphique ou CLI.

Installation

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients \
                 bridge-utils virtinst virt-viewer -y

Configuration réseau (NAT par défaut)

Créer le fichier default_net.xml :

<network>
  <name>default</name>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

Puis activer le réseau :

sudo virsh net-define default_net.xml
sudo virsh net-start default
sudo virsh net-autostart default

Créer une VM

sudo virt-install \
  --name debian-firewall \
  --ram 1000 \
  --vcpus 1 \
  --cpu host \
  --disk path=debian-firewall.qcow2,size=10 \
  --os-variant debian13 \
  --network network=default \
  --graphics vnc \
  --cdrom debian.iso

Commandes Virsh essentielles

Action Commande
Lister toutes les VMs sudo virsh list --all
Démarrer sudo virsh start debian-firewall
Arrêt propre sudo virsh shutdown debian-firewall
Forcer l'arrêt sudo virsh destroy debian-firewall
Console graphique sudo virt-viewer --connect qemu:///system debian-firewall
Supprimer (+ disque) sudo virsh undefine debian-firewall --remove-all-storage