Skip to content

KVM / libvirt — Gestion des Machines Virtuelles (virsh)

Page libvirt/virsh (Debian/Ubuntu) — pas Proxmox

Cette page documente KVM avec libvirt (virsh) sur un hôte Debian/Ubuntu classique. Si vous cherchez à gérer des VMs sur Proxmox VE, consultez plutôt :

Les commandes virsh s'exécutent sur l'hôte KVM (Debian/Ubuntu avec libvirt).


a. Liste et Informations des Machines Virtuelles

  • Lister les VM actives :

    virsh list
    

  • Lister toutes les VMs (actives et inactives) :

    virsh list --all
    

  • Voir les informations générales d'une VM :

    virsh dominfo <nom-vm>
    

  • Voir la configuration XML complète d'une VM :

    virsh dumpxml <nom-vm>
    

  • Voir l'état CPU d'une VM :

    virsh vcpuinfo <nom-vm>
    

  • Voir l'espace RAM disponible non alloué :

    virsh freecell
    


b. Gestion de l'État des Machines Virtuelles

  • Démarrer une VM :

    virsh start <nom-vm>
    

  • Arrêter une VM proprement (signal ACPI) :

    virsh shutdown <nom-vm>
    

  • Arrêter une VM brutalement :

    virsh destroy <nom-vm>
    

  • Redémarrer une VM :

    virsh reboot <nom-vm>
    

  • Suspendre une VM (pause CPU, RAM conservée) :

    virsh suspend <nom-vm>
    

  • Reprendre une VM suspendue :

    virsh resume <nom-vm>
    

  • Sauvegarder l'état RAM d'une VM sur disque :

    virsh save <nom-vm> /var/lib/libvirt/saves/<nom-vm>.save
    

  • Restaurer une VM depuis un état sauvegardé :

    virsh restore /var/lib/libvirt/saves/<nom-vm>.save
    


c. Configuration et Autostart

  • Éditer la configuration XML d'une VM :

    virsh edit <nom-vm>
    

  • Activer le démarrage automatique d'une VM :

    virsh autostart <nom-vm>
    

  • Désactiver le démarrage automatique :

    virsh autostart --disable <nom-vm>
    

  • Accéder à la console série d'une VM :

    virsh console <nom-vm>
    

💡 Pour quitter la console : Ctrl+].


d. Snapshots

  • Créer un snapshot :

    virsh snapshot-create-as <nom-vm> <nom-snapshot> "Description"
    

  • Lister les snapshots d'une VM :

    virsh snapshot-list <nom-vm>
    

  • Voir les détails d'un snapshot :

    virsh snapshot-info <nom-vm> <nom-snapshot>
    

  • Restaurer un snapshot :

    virsh snapshot-revert <nom-vm> <nom-snapshot>
    

  • Supprimer un snapshot :

    virsh snapshot-delete <nom-vm> <nom-snapshot>
    


e. Réseau

  • Lister les réseaux virtuels :

    virsh net-list --all
    

  • Démarrer un réseau :

    virsh net-start <nom-réseau>
    

  • Activer le démarrage automatique d'un réseau :

    virsh net-autostart <nom-réseau>
    

  • Voir la configuration d'un réseau :

    virsh net-dumpxml <nom-réseau>
    


f. Stockage

  • Lister les pools de stockage :

    virsh pool-list --all
    

  • Lister les volumes d'un pool :

    virsh vol-list <nom-pool>
    

  • Voir les informations d'un volume :

    virsh vol-info /var/lib/libvirt/images/<nom.qcow2>
    


g. Copie d'un Disque entre Hyperviseurs

  • Prérequis : installer pv et netcat-openbsd sur les deux machines :

    apt install pv netcat-openbsd
    

  • Sur le serveur de destination :
    Créer une VM vierge avec un disque de taille équivalente, puis exécuter :

    nc -l -p 18080 -N | pv > /dev/vg_data/<disque-de-la-vm-de-destination>
    

  • Sur le serveur source :
    Copier le disque vers le serveur de destination :

    pv /dev/vg_data/<disque-de-la-vm-source> | nc -q1 <ip-serveur-destination> 18080
    


Voir aussi