Outils pour utilisateurs

Outils du site


software:applications:virsh

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
software:applications:virsh [2023/03/04 13:32] – Ajout section yoannsoftware:applications:virsh [2025/06/14 10:30] (Version actuelle) yoann
Ligne 10: Ligne 10:
   * Contrôler l'exécution des VMs : démarrer, arrêter, suspendre;   * Contrôler l'exécution des VMs : démarrer, arrêter, suspendre;
   * Modifier les configurations à chaud (en ligne) ou de façon permanente.    * Modifier les configurations à chaud (en ligne) ou de façon permanente. 
 +
 +<note>
 +Pour un gestionnaire en mode graphique voir **virt-manager**
 +</note>
 +
 +<note>
 +Pour créer facilement une VM, voir la [[sysadmin/linux/virtualisation/kvm/creer_une_vm_avec_virt-install|CLI virt-install]]
 +</note>
  
 ===== Connexion ===== ===== Connexion =====
  
-Pour se connecter en mode interactif localement:+La CLI **virsh** dialogue avec le service de virtualisation. Pour se connecter en mode interactif localement: 
 <code bash> <code bash>
 virsh virsh
Ligne 36: Ligne 45:
 ===== Obtenir des informations ===== ===== Obtenir des informations =====
  
-Pour obtenir des informations sur les VMs (désignés également domaines) on dispose de la commande **dominfo**+Pour obtenir des informations sur les VMs (désignées domaines) on dispose de la commande **dominfo**
  
 <code bash> <code bash>
Ligne 47: Ligne 56:
   * **domblklist** : lister les périphériques de type bloc (disques) associés à une VM   * **domblklist** : lister les périphériques de type bloc (disques) associés à une VM
   * **domiflist** : lister les interfaces d'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:
 +<code bash>
 +virsh edit aDomainName
 +</code>
 +
 +Utiliser la commande **edit** est équivalent aux commandes:
 +<code>
 +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
 +</code>
 +
 +
 +===== É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:
 +
 +<code bash>
 +# 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
 +</code>
 +
 +===== Description et commentaires ====
 +
 +Le document XML comprend les balises **%%<title></title>%%** pour fournir une description courte (sans retour à la ligne) et **%%<description></description>%%**.
 +
 +
 +La balise **%%<metadata>%%** peut également contenir une balise  **%%<comment></comment>%%**
 +
 +<code xml>
 +<metadata>
 +  <comment>
 +    Mes commentaires
 +    ici
 +  </comment>
 +</metada>
 +</code>
 +
 +Après toute modification apportée au document, vérifier la syntaxe :
 +
 +<code bash>
 +virt-xml-validate aVMConfig.xml
 +</code>
  
 ===== Supprimer une VM ===== ===== Supprimer une VM =====
Ligne 61: Ligne 129:
 Domain debian11 has been undefined Domain debian11 has been undefined
 </code> </code>
 +
 +===== Connexion à la VM =====
 +
 +Pour se connecter à une VM en mode graphique on peut utiliser le client **remote-viewer**
 +<code bash>
 +# Affiche l'URI de connexion à l'interface graphique de la VM
 +domdisplay aDomainName
 +
 +# Connexion à la GUI de la VM
 +remote-viewver spice://localhost:5900
 +</code>
 +
 +Si une console a été définie on peut également se connecter à la console
 +<code bash>
 +virsh console --domain aVM
 +</code>
 +
 +Si la VM fournit les services telnet ou ssh, on peut ouvrir un shell distant mais il faut d'abord  [[/software/applications/virsh/lister_adresses_ip_systeme_invite| déterminer l'adresse IP de la VM]].
 +
 +
 +===== Gestion des réseaux =====
 +
 +Pour afficher les réseau virtuels :
 +
 +<code bash>
 +# liste l'ensemble des réseaux
 +virsh net-list --all
 +
 +# liste les réseau virtuels actif :
 +virsh net-list
 +</code>
 +
 +
 +Pour obtenir les informations détaillées d’un réseau virtuel :
 +
 +<code bash>
 +virsh net-info nom_reseau
 +</code>
 +
 +Comme pour les VMs, la configuration du réseau virtuel peut être exportée et éditée :
 +
 +<code bash>
 +virsh net-dumpxml aNetwork > aNetwork.xml
 +</code>
 +
 +Ci dessous pour exemple le dump du réseau virtuel par défaut :
 +<code xml>
 +<network>
 +  <name>default</name>
 +  <uuid>af20a5ca-db45-4b5e-a2ee-e50ad4c79264</uuid>
 +  <forward mode='nat'>
 +    <nat>
 +      <port start='1024' end='65535'/>
 +    </nat>
 +  </forward>
 +  <bridge name='virbr0' stp='on' delay='0'/>
 +  <mac address='52:54:00:85:29:24'/>
 +  <ip address='192.168.122.1' netmask='255.255.255.0'>
 +    <dhcp>
 +      <range start='192.168.122.2' end='192.168.122.254'/>
 +    </dhcp>
 +  </ip>
 +</network>
 +</code>
 +
 +On peut y voir notamment :
 +  * le périphérique virtuel de type pont associé "virbr0"
 +  * La configuration DHCP
 +  * La configuration du NAT
 +
 +
 +Pour désactiver un réseau virtuel :
 +
 +<code bash>
 +virsh net-destroy nom_reseau
 +</code>
 +
 +Pour activer un réseau virtuel :
 +
 +<code bash>
 +virsh net-start default 
 +</code>
 +
 +Voir également [[software/applications/virsh/gerer_les_reseaux|gérer les réseaux virtuels avec virsh]].
  
 ===== Références ===== ===== Références =====
  
 +  * https://www.libvirt.org/manpages/virsh.html
 +  * https://ubuntu.com/server/docs/virtualization-libvirt
   * https://www.youtube.com/watch?v=jDSJ3WYfxUI   * https://www.youtube.com/watch?v=jDSJ3WYfxUI
software/applications/virsh.1677936760.txt.gz · Dernière modification : 2023/03/04 13:32 de yoann