Ceci est une ancienne révision du document !
virsh est la CLI disponible en espace utilisateur dialoguant avec le module KVM et permettant de gérer les machines virtuelles notamment:
La CLI virsh dialogue avec le service de virtualisation. Pour se connecter en mode interactif localement:
virsh # équivalent à virsh --connect qemu:///system
Une fois en mode interactif, on va pouvoir contrôler les machines via les commandes:
Pour obtenir des informations sur les VMs (désignées domaines) on dispose de la commande dominfo
dominfo aVm
La configuration du domaine est décrite dans un fichier XML. Les balises du document sont décrites dans la documentation disponible en ligne à l'URL https://libvirt.org/formatdomain.html
La commande virsh edit permet d'éditer le document XML décrivant le domaine:
virsh edit aDomainName
Utiliser la commande edit est équivalent aux commandes:
virsh dumpxml --inactive --security-info domain > domain.xml # Lance l'éditeur en fonction des variables $VISUAL et $EDITOR vi domain.xml # Redéfini le domaine avec le fichier modifié virsh define domain.xml
Les commandes ci-dessous sont équivalente à virsh edit mais l'exécution pas à pas permet de conserver des révisions du fichier XML. On copie la configuration initiale, on la modifie et de la réimporte si la syntaxe est correcte:
# Exporter la configuration de la VM virsh dumpxml aDomain > aFile.xml # Editer le fichier XML vim aFile.xml # Tester la validité du fichier après altération virt-xml-validate afile.xml # Redéfinir la VM via le fichier modifié virsh define afile.xml
Utiliser la commande undefine sur une VM à l'arrêt:
list --all Id Name State --------------------------- - debian11 shut off undefine debian11 Domain debian11 has been undefined
Pour se connecter à une VM en mode graphique on utilise le client remote-viewer
# Affiche l'URI de connexion à l'interface graphique de la VM domdisplay aDomainName # Connexion à la GUI de la VM remote-viewver spice://localhost:5900
Si une console a été définie on peut également se connecter à la console