Archives de catégorie : Virtualisation

La Commande virsh : Guide Complet pour les Experts en Virtualisation

La Commande virsh : Guide Complet

La Commande virsh : Guide Complet

La Commande virsh : Guide Complet

Introduction

La virtualisation est une composante clé de l’infrastructure informatique moderne. Parmi les nombreux outils disponibles pour gérer les environnements virtualisés, virsh se distingue par sa puissance et sa flexibilité. Ce guide détaillé vous fournira une compréhension approfondie de la commande virsh, y compris son installation, son utilisation et des exemples pratiques pour les experts en virtualisation.

Qu’est-ce que Virsh ?

virsh est une interface en ligne de commande utilisée pour interagir avec les hyperviseurs basés sur la bibliothèque libvirt. Il est utilisé pour gérer les machines virtuelles (VM), contrôler les ressources réseau, les volumes de stockage, et plus encore. Il supporte plusieurs hyperviseurs, notamment KVM, QEMU, Xen, et VMware.

Installation de Virsh

Pré-requis

Avant d’installer virsh, assurez-vous que votre système remplit les conditions suivantes :

  • Système d’exploitation Linux (Ubuntu, CentOS, etc.)
  • Privilèges sudo
  • Libvirt installé

Installation sur Debian

Pour installer virsh sur Ubuntu, suivez ces étapes :

  1. Mettre à jour les paquets : apt update
  2. Installer les paquets nécessaires : apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
  3. Vérifier l’installation : virsh --version Si l’installation est réussie, cette commande retournera la version de virsh.

Installation sur CentOS

Pour installer virsh sur CentOS, procédez comme suit :

  1. Mettre à jour les paquets : yum update
  2. Installer les paquets nécessaires : yum install qemu-kvm libvirt libvirt-python libvirt-client
  3. Démarrer et activer le service libvirtd : systemctl start libvirtd sudo systemctl enable libvirtd
  4. Vérifier l’installation : virsh --version

Utilisation de Virsh

Commandes de base

Lister les machines virtuelles

Pour lister toutes les machines virtuelles (actives et inactives), utilisez :

virsh list --all

Démarrer une machine virtuelle

Pour démarrer une VM spécifique, utilisez :

virsh start nom-de-la-vm

Arrêter une machine virtuelle

Pour arrêter une VM proprement, utilisez :

virsh shutdown nom-de-la-vm

Pour arrêter une VM de manière forcée :

virsh destroy nom-de-la-vm

Créer une machine virtuelle

Pour créer une nouvelle VM à partir d’un fichier XML de définition :

virsh define chemin/vers/fichier.xml

Supprimer une machine virtuelle

Pour supprimer une VM (définition uniquement) :

virsh undefine nom-de-la-vm

Pour supprimer une VM et ses fichiers de disque associés :

virsh undefine nom-de-la-vm --remove-all-storage

Exemples Avancés

Cloner une machine virtuelle

Pour cloner une VM existante :

virt-clone --original nom-de-la-vm-originale --name nom-de-la-nouvelle-vm --file /chemin/vers/nouveau/disque.img

Migrer une machine virtuelle

Pour migrer une VM vers un autre hôte :

virsh migrate --live nom-de-la-vm qemu+ssh://nouvel-hote/system

Gestion du réseau virtuel

Pour lister les réseaux virtuels :

virsh net-list --all

Pour créer un nouveau réseau virtuel à partir d’un fichier XML de définition :

virsh net-define chemin/vers/fichier-reseau.xml
virsh net-start nom-du-reseau
virsh net-autostart nom-du-reseau

Gestion des volumes de stockage

Pour lister les pools de stockage :

virsh pool-list --all

Pour créer un volume de stockage :

virsh vol-create-as nom-du-pool nom-du-volume 10G --format qcow2

Pour lister les volumes dans un pool de stockage :

virsh vol-list nom-du-pool

Conclusion

La commande virsh est un outil indispensable pour les administrateurs système et les experts en virtualisation. Sa flexibilité et sa puissance permettent une gestion fine et efficace des environnements virtualisés. En suivant ce guide, vous avez désormais les bases nécessaires pour installer et utiliser virsh de manière optimale. Pour aller plus loin, consultez la documentation officielle de libvirt et explorez les nombreuses autres fonctionnalités offertes par virsh.