Libvirt (virsh)
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.
Gestion des VM
Lister les machines virtuelles
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
Démarrer / Aarrêter une 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
Mise en suspension
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
Mise en réseau
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