Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
informatique:linux:applications:virsh [2023/04/01 04:51] – [Description] Cédric ABONNEL | informatique:linux:applications:virsh [2023/04/01 07:51] (Version actuelle) – Cédric ABONNEL | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== virsh ====== | ||
+ | {{ : | ||
+ | |||
+ | La commande '' | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | |||
+ | La commande **virsh** est fournie par le paquet **libvirt-client**. Sur les distributions Linux basées sur Debian, vous pouvez l' | ||
+ | |||
+ | < | ||
+ | sudo apt install libvirt-clients | ||
+ | </ | ||
+ | |||
+ | Sur les distributions Linux basées sur Fedora, vous pouvez l' | ||
+ | |||
+ | < | ||
+ | sudo dnf install libvirt-client | ||
+ | </ | ||
+ | |||
+ | Une fois le paquet **libvirt-client** installé, vous pouvez utiliser la commande **virsh** pour gérer les machines virtuelles et les réseaux. | ||
+ | |||
+ | ===== Description ===== | ||
+ | |||
+ | **virsh** permet de gérer les machines virtuelles en utilisant des commandes pour créer, supprimer, démarrer, arrêter et afficher les informations sur les machines virtuelles. | ||
+ | |||
+ | Voici quelques exemples de commandes **virsh** courantes pour la gestion des machines virtuelles : | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | **virsh** peut également être utilisé pour gérer les réseaux, notamment pour créer et supprimer des bridges réseau. | ||
+ | |||
+ | ===== Exemples d' | ||
+ | |||
+ | ==== Vérification / Création de virbr0 ==== | ||
+ | |||
+ | Pour vérifier si le bridge réseau **virbr0** existe sur votre système, vous pouvez exécuter la commande suivante dans un terminal : | ||
+ | |||
+ | < | ||
+ | sudo virsh net-list --all | ||
+ | </ | ||
+ | |||
+ | Cela affichera la liste de tous les réseaux gérés par **libvirt**, | ||
+ | |||
+ | Si le bridge réseau **virbr0** n' | ||
+ | |||
+ | < | ||
+ | sudo virsh net-create / | ||
+ | </ | ||
+ | |||
+ | Cela créera le bridge réseau **virbr0** avec les paramètres par défaut sur votre système. Vous pouvez également personnaliser les paramètres du bridge en modifiant le fichier XML avant de créer le réseau. | ||
+ | |||
+ | Une fois que le bridge réseau **virbr0** a été créé, vous pouvez utiliser l' | ||
+ | |||
+ | ==== Fichier / | ||
+ | |||
+ | Voici à quoi ressemble le fichier XML par défaut pour le réseau **virbr0** sur la plupart des systèmes basés sur **libvirt**, | ||
+ | |||
+ | <code XML> | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | <forward mode=' | ||
+ | <bridge name=' | ||
+ | <mac address=' | ||
+ | <ip address=' | ||
+ | < | ||
+ | <range start=' | ||
+ | </ | ||
+ | </ip> | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Ce fichier définit un réseau nommé **default** avec le bridge **virbr0**. Le mode **forward** est défini sur **bridge**, ce qui active le mode bridge pour le réseau virtuel. Le réseau utilise également le protocole **DHCP** pour attribuer des adresses IP aux machines virtuelles, avec une plage d' | ||
+ | |||
+ | Le fichier XML peut être modifié pour personnaliser les paramètres du réseau, tels que l' | ||
+ | |||
+ | -- | ||
+ | |||
+ | Si vous utilisez un serveur DHCP externe pour vos machines virtuelles, vous n'avez pas besoin de spécifier une adresse IP statique dans le fichier XML de définition du réseau. L' | ||
+ | |||
+ | La création d'un pont réseau est généralement la première étape de la mise en place d'un environnement de virtualisation. | ||
+ | |||
+ | Si la carte réseau '' | ||
+ | |||
+ | < | ||
+ | sudo ip link add virbr0 type bridge | ||
+ | </ | ||
+ | |||
+ | |||
+ | Un pont réseau est un composant qui relie plusieurs interfaces réseau ensemble pour créer un réseau logique unique. Dans ce cas, le pont **virbr0** permettra aux machines virtuelles de se connecter au réseau de l' | ||
+ | |||
+ | Lorsque la commande est exécutée, un nouveau périphérique de type pont est créé avec le nom **virbr0**. Ce périphérique peut être configuré avec des adresses IP, des règles de filtrage de paquets, des paramètres de QoS, etc. | ||
+ | |||
+ | Vérifier : | ||
+ | |||
+ | < | ||
+ | ❯ sudo ip link show type bridge | ||
+ | 6: virbr0: < | ||
+ | link/ether 0e: | ||
+ | </ | ||
+ | |||
+ | |||
+ | Ajouter l' | ||
+ | |||
+ | < | ||
+ | sudo ip link set enp2s0f0u9 master virbr0 | ||
+ | </ | ||
+ | |||
+ | Cela signifie que tout le trafic réseau entrant ou sortant de **enp2s0f0u9** sera redirigé vers le pont **virbr0**. Les machines virtuelles connectées au pont **virbr0** peuvent alors communiquer avec **enp2s0f0u9** et d' | ||
+ | |||
+ | Activer l' | ||
+ | |||
+ | < | ||
+ | sudo ip link set virbr0 up | ||
+ | </ | ||
+ | |||
+ | Par conséquent, | ||
+ | |||
+ | <code XML> | ||
+ | |||
+ | < | ||
+ | < | ||
+ | <forward mode=' | ||
+ | <bridge name=' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Dans cet exemple, la section ''< | ||
+ | |||
+ | |||
+ | Vous pouvez lancer la création du réseau : | ||
+ | |||
+ | < | ||
+ | sudo virsh net-create / | ||
+ | </ | ||
+ | |||
+ | Le résultat attendu est : | ||
+ | < | ||
+ | Réseau perso créé depuis / | ||
+ | </ | ||
+ | |||