====== Libvirt (virsh) ====== La [[https://libvirt.org/|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 [[https://linux.die.net/man/1/virsh|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