Skip to main content

Virsh - Commande

Utilisation de la commande Virsh

Nous allons voir ici l’Utilisation de la commande Virsh suite à l’installation de notre Xen ou encore KVM. Celle-ci est intégrée à la librairie libvirt et permet donc la gestion des machines virtuelles.

Virsh

Bien sûr, il est possible d’utiliser l’outil graphique Virt-manager mais l’outil en ligne de commande nous permettra surtout l’écriture de script par la suite.

Pour commencer, dans son mode le plus simple, Virsh s’exécute en mode interactif :

[root@localhost ~]# virsh
Bienvenue dans virsh, le terminal de virtualisation interactif.

Taper :  « help » pour l'aide ou « help » avec la commande
         « quit » pour quitter

virsh # 

Ensuite, pour lister toutes les machines actives, il faudra effectuer la commande suivante :

# virsh list

Mais aussi, vous pouvez ajouter l’option –inactive pour les machines inactives et –all pour lister tout sans faire de différence :

# virsh list --inactive
# virsh list --all

Puis, pour démarrer, arrêter ou encore redémarrer une machine, nous pourrons utiliser les commandes suivantes :

# virsh start VmName
# virsh shutdown VmName
# virsh reboot VmName

D’autre part, pour forcer l’arrêt d’une VM :

# virsh destroy VmName

Et si vous voulez mettre en pause une VM :

# virsh suspend VmName
# virsh resume VmName (pour la reprise d'une VM précédemment mise en pause)

Aussi, comme vu dans les articles précédents sur Xen et KVM, vous pouvez vous connecter via :

# virsh console

Mais encore, pour afficher les informations d’une machine virtuelle :

# virsh dominfo VmName
ID :           2
Nom :          VmName
UUID :         df7ad48b-f752-4f5d-be4b-84407c6fe5f9
Type de SE :   hvm
État :        en cours d'exécution
CPU :          1
Temps CPU :    19,2s
Mémoire Max : 1048576 KiB
Mémoire utilisée : 1048576 KiB
Persistent:     yes
Démarrage automatique : disable
Managed save:   no
Security model: selinux
Security DOI:   0
Security label: system_u:system_r:svirt_t:s0:c758,c991 (enforcing)

Vous pouvez aussi afficher le fichier de configuration xml de la machine virtuelle :

# virsh dumpxml VmName

Puis modifier cette configuration ici :

# virsh edit VmName

De plus, vous pouvez voir la liste des pools et les noms des volumes utilisés par celui-ci :

# virsh pool-list
Nom                  État      Démarrage automatique
-------------------------------------------
 images               actif      yes
# virsh vol-list images (images est ici le nom du pool pour la commande  virsh vol-list NomDuPool) 
 Nom                  Chemin
------------------------------------------------------------------------------
 VmDebianTest.img     /var/lib/libvirt/images/VmDebianTest.img
 VmDebianTestKVM.img  /var/lib/libvirt/images/VmDebianTestKVM.img
 VmFedo29.img         /var/lib/libvirt/images/VmFedo29.img
 VmFedora31.img       /var/lib/libvirt/images/VmFedora31.img

Petit aparté, pour manipuler les images disques, il faudra vous aider de qemu-img :

Informations sur une image:
qemu-img info fichier.img

Étendre la taille de l’image:
qemu-img resize fichier.img +tailleG

Ensuite, du côté réseau, il est possible de lister la liste des réseaux virtuels :

# virsh net-list --all (ici nous listons les réseaux actifs et inactifs)

Et il est possible d’avoir un peu plus d’informations sur un réseau en particulier via la commande suivante :

# virsh net-info NomDuReseau

Par ailleurs, vous pouvez aussi activer ou désactiver un réseau virtuel avec les commandes suivantes :

# virsh net-start NomDuReseau
# virsh net-destroy NomDuReseau

Virsh permet également de créer et gérer des snapshot. Pour la création et suppression d’un snapshot, il faudra utiliser les commandes suivantes :

# virsh snapshot-create VmName
# virsh snapshot-delete VmName

Pour lister les différents snapshot d’une VM :

# virsh snapshot-list VmName

De plus, vous pouvez revenir au snapshot créé précédemment via cette commande :

# virsh snapshot-revert VmName

Pour finir, celle-ci vous permettra d’avoir des informations à propos de la node :

# virsh nodeinfo
modèle de CPU :    x86_64
CPU :               2
Fréquence de la CPU : 4008 MHz
socket(s) CPU :     1
Coeur(s) par emplacements : 2
Thread(s) par coeur : 1
cellule(s) NUMA :   1
Taille mémoire :   3848800 KiB