Outils pour utilisateurs

Outils du site


software:applications:virsh

Ceci est une ancienne révision du document !


Virsh

virsh est la CLI disponible en espace utilisateur dialoguant avec le module KVM et permettant de gérer les machines virtuelles notamment:

  • Lister les VMs;
  • Afficher des informations sur l'état des VMs et des ressources;
  • Contrôler l'exécution des VMs : démarrer, arrêter, suspendre;
  • Modifier les configurations à chaud (en ligne) ou de façon permanente.

Connexion

La CLI virsh dialogue avec le service de virtualisation. Pour se connecter en mode interactif localement:

virsh
 
# équivalent à
virsh --connect qemu:///system

Contrôler l'exécution des VMs

Une fois en mode interactif, on va pouvoir contrôler les machines via les commandes:

  • list : afficher les VMs
  • start : démarrer une VM
  • console : ouvre un terminal sur la VM
  • suspend : susprendre l'exécution de la VM
  • resume : reprendre l'exécution de la VM
  • shutdown : arrêter une VM
  • reset : redémarrage forcé de la VM
  • destroy : forcer l'arrêt d'une VM

Obtenir des informations

Pour obtenir des informations sur les VMs (désignées domaines) on dispose de la commande dominfo

dominfo aVm
  • domstate : état de la VM
  • dommemstat : consommation de la mémoire
  • domstats : affiche les variables statisqtiques
  • domblklist : lister les périphériques de type bloc (disques) associés à une VM
  • domiflist : lister les interfaces d'une VM:

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

Éditer une configuration

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

Supprimer une VM

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

Connexion à la VM

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

 

Références

software/applications/virsh.1681809431.txt.gz · Dernière modification : 2023/04/18 09:17 de yoann