La libvirt est une API permettant de gérer des machines virtuelles en ligne de commande. Il supporte les hyperviseurs Xen, QEmu, KVM , LXC , OpenVZ, VirtualBox et VMware ESX. La lib est accessible dans plusieurs langages de programmation tels que Python, Java, C et Perl. Mais c'est principalement l'utilitaire en ligne de commande virsh qui nous intéresse.
Voir aussi le manuel de la commande virsh.
Pour lister les machines virtuelles actives (allumées) sur le système :
virsh list
Pour lister les machines virtuelles inactives (à l'arrêt) :
virsh list --inactive
Pour lister toutes les machines virtuelles :
virsh list --all
Voir les informations sur une VM :
virsh dominfo nom-vm
Pour démarrer une VM :
virsh start nom_vm
Pour arrêter une VM :
virsh shutdown nom_vm
Pour forcer l'arrêt d'une VM :
virsh destroy nom_vm
La mise en suspension d'une VM «fige» son fonctionnement. La VM n'est plus exécutée, mais sont état est sauvegardée pour être repris ultérieurement.
Mise en pause de la VM :
virsh suspend nom_vm
Reprise de la VM :
virsh resume nom_vm
Voir la liste de tous les réseaux actifs :
virsh net-list --all
Voir les informations sur un réseau :
virsh net-info nom_reseau
Désactiver un réseau :
virsh net-destroy nom_reseau
Activer un réseau :
virsh net-start default