Outils pour utilisateurs

Outils du site


article:gestion_a_distance_d_un_vm_qemu

Ceci est une ancienne révision du document !


Gestion des VM KVM/Libvirt à distance avec Virsh

Ce guide regroupe les commandes essentielles pour administrer nos machines virtuelles en ligne de commande (CLI) via SSH, en remplacement de virt-manager.

1. Informations et Statut

Lister les machines virtuelles

Pour afficher toutes les VM (y compris celles qui sont éteintes), l'option –all est indispensable.

sudo virsh list --all

Obtenir les détails d'une VM

Affiche les informations générales (Statut, CPU, Mémoire allouée).

sudo virsh dominfo <nom_de_la_vm>

Connaître l'adresse IP d'une VM

Permet de trouver l'IP attribuée par le serveur DHCP interne de libvirt ou détectée sur l'hôte.

sudo virsh domifaddr <nom_de_la_vm>

2. Gestion de l'alimentation

Démarrer une VM

sudo virsh start <nom_de_la_vm>

Éteindre proprement une VM

Envoie un signal ACPI à l'OS invité pour un arrêt propre (comme un clic sur “Éteindre”).

sudo virsh shutdown <nom_de_la_vm>

Forcer l'arrêt (Urgence)

Équivalent à débrancher la prise électrique. À n'utiliser que si la VM est totalement plantée.

sudo virsh destroy <nom_de_la_vm>

Activer le démarrage automatique

Pour que la VM s'allume toute seule au boot du serveur Debian hôte.

sudo virsh autostart <nom_de_la_vm>

Pour désactiver : ajouter l'option –disable à la fin de la commande.

3. Gestion de la Configuration (XML)

Afficher la configuration XML complète

sudo virsh dumpxml <nom_de_la_vm>

Sauvegarder la configuration dans un fichier

Utile pour faire une sauvegarde textuelle avant modification.

sudo virsh dumpxml <nom_de_la_vm> > backup_<nom_de_la_vm>.xml

Modifier la configuration à la volée

Ouvre la configuration de la VM dans l'éditeur de texte par défaut du système (souvent Nano ou Vim). La VM doit être redémarrée pour appliquer les changements.

sudo virsh edit <nom_de_la_vm>

4. Ressources Matérielles (Évolution)

Type Commande Note
RAM sudo virsh setmaxmem <nom> 4194304 –config
sudo virsh setmem <nom> 4194304 –config
VM éteinte obligatoirement (Exprimé en Kibibytes, ici 4 Go)
CPU sudo virsh setvcpus <nom> 4 –maximum –config
sudo virsh setvcpus <nom> 4 –config
VM éteinte obligatoirement

Agrandir un Disque Dur

1. Trouver le chemin du fichier de disque :

sudo virsh domblklist <nom_de_la_vm>

2. Éteindre la VM, puis ajouter l'espace (ex: +20 Go) sur l'hôte :

sudo qemu-img resize /chemin/vers/image.qcow2 +20G

3. Rallumer la VM et étendre la partition à l'intérieur du système invité.

5. Réseau et Stockage

Lister les disques attachés à une VM

sudo virsh domblklist <nom_de_la_vm> --details

Lister les interfaces réseau d'une VM

sudo virsh domiflist <nom_de_la_vm>

6. Création d'une VM depuis un ISO (virt-install)

Pour créer une VM sans interface graphique depuis votre terminal SSH, utilisez l'outil virt-install.

Commande type d'installation

Cette commande va instancier la VM, créer son disque dur virtuel au format QCOW2 et l'allumer sur l'ISO d'installation pour démarrer le processus.

sudo virt-install \
  --name "ma-nouvelle-vm" \
  --memory 2048 \
  --vcpus 2 \
  --os-variant debian12 \
  --disk size=20,format=qcow2,pool=default \
  --network network=default \
  --cdrom /var/lib/libvirt/images/debian-12-installer.iso \
  --graphics vnc,listen=0.0.0.0 \
  --noautoconsole

Détails importants des options

Option Rôle
–os-variant Optimise les pilotes virtuels (virtio) pour l'OS choisi. Utilisez osinfo-query os pour voir la liste des distributions supportées.
–network Configure la carte réseau.
network=default : Utilise le réseau NAT standard de Libvirt.
network=routeur_nat : Si vous voulez la brancher directement derrière votre VM routeur personnalisée.
–graphics vnc,listen=0.0.0.0 Active un serveur VNC sur l'hôte Debian. Cela vous permettra de vous connecter graphiquement à l'installateur de l'OS depuis votre PC local via un tunnel SSH (ex: sur le port 5900).
–noautoconsole Empêche la commande de bloquer votre terminal SSH en essayant d'ouvrir une console texte immédiatement.
article/gestion_a_distance_d_un_vm_qemu.1791303865.txt.gz · Dernière modification : de bernard.rolland