Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| software:applications:virsh [2023/03/02 21:36] – yoann | software:applications:virsh [2025/06/14 10:30] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 10: | Ligne 10: | ||
| * Contrôler l' | * Contrôler l' | ||
| * Modifier les configurations à chaud (en ligne) ou de façon permanente. | * Modifier les configurations à chaud (en ligne) ou de façon permanente. | ||
| + | |||
| + | < | ||
| + | Pour un gestionnaire en mode graphique voir **virt-manager** | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Pour créer facilement une VM, voir la [[sysadmin/ | ||
| + | </ | ||
| ===== Connexion ===== | ===== Connexion ===== | ||
| - | Pour se connecter en mode interactif localement: | + | La CLI **virsh** dialogue avec le service de virtualisation. |
| <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 | + | Pour obtenir des informations sur les VMs (désignées |
| <code bash> | <code bash> | ||
| Ligne 48: | Ligne 57: | ||
| * **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:// | ||
| + | |||
| + | La commande **virsh edit** permet d' | ||
| + | <code bash> | ||
| + | virsh edit aDomainName | ||
| + | </ | ||
| + | |||
| + | Utiliser la commande **edit** est équivalent aux commandes: | ||
| + | < | ||
| + | virsh dumpxml --inactive --security-info domain > domain.xml | ||
| + | |||
| + | # Lance l' | ||
| + | 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' | ||
| + | |||
| + | <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 | ||
| + | </ | ||
| + | |||
| + | ===== Description et commentaires ==== | ||
| + | |||
| + | Le document XML comprend les balises **%%< | ||
| + | |||
| + | |||
| + | La balise **%%< | ||
| + | |||
| + | <code xml> | ||
| + | < | ||
| + | < | ||
| + | Mes commentaires | ||
| + | ici | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Après toute modification apportée au document, vérifier la syntaxe : | ||
| + | |||
| + | <code bash> | ||
| + | virt-xml-validate aVMConfig.xml | ||
| + | </ | ||
| + | |||
| + | ===== Supprimer une VM ===== | ||
| + | |||
| + | Utiliser la commande **undefine** sur une VM à l' | ||
| + | |||
| + | < | ||
| + | list --all | ||
| + | | ||
| + | --------------------------- | ||
| + | | ||
| + | |||
| + | undefine debian11 | ||
| + | Domain debian11 has been undefined | ||
| + | </ | ||
| + | |||
| + | ===== 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' | ||
| + | domdisplay aDomainName | ||
| + | |||
| + | # Connexion à la GUI de la VM | ||
| + | remote-viewver spice:// | ||
| + | </ | ||
| + | |||
| + | Si une console a été définie on peut également se connecter à la console | ||
| + | <code bash> | ||
| + | virsh console --domain aVM | ||
| + | </ | ||
| + | |||
| + | Si la VM fournit les services telnet ou ssh, on peut ouvrir un shell distant mais il faut d' | ||
| + | |||
| + | |||
| + | ===== Gestion des réseaux ===== | ||
| + | |||
| + | Pour afficher les réseau virtuels : | ||
| + | |||
| + | <code bash> | ||
| + | # liste l' | ||
| + | virsh net-list --all | ||
| + | |||
| + | # liste les réseau virtuels actif : | ||
| + | virsh net-list | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pour obtenir les informations détaillées d’un réseau virtuel : | ||
| + | |||
| + | <code bash> | ||
| + | virsh net-info nom_reseau | ||
| + | </ | ||
| + | |||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | Ci dessous pour exemple le dump du réseau virtuel par défaut : | ||
| + | <code xml> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <forward mode=' | ||
| + | <nat> | ||
| + | <port start=' | ||
| + | </ | ||
| + | </ | ||
| + | <bridge name=' | ||
| + | <mac address=' | ||
| + | <ip address=' | ||
| + | < | ||
| + | <range start=' | ||
| + | </ | ||
| + | </ip> | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | On peut y voir notamment : | ||
| + | * le périphérique virtuel de type pont associé " | ||
| + | * La configuration DHCP | ||
| + | * La configuration du NAT | ||
| + | |||
| + | |||
| + | Pour désactiver un réseau virtuel : | ||
| + | |||
| + | <code bash> | ||
| + | virsh net-destroy nom_reseau | ||
| + | </ | ||
| + | |||
| + | Pour activer un réseau virtuel : | ||
| + | |||
| + | <code bash> | ||
| + | virsh net-start default | ||
| + | </ | ||
| + | |||
| + | Voir également [[software/ | ||
| ===== Références ===== | ===== Références ===== | ||
| + | * https:// | ||
| + | * https:// | ||
| * https:// | * https:// | ||