Outils pour utilisateurs

Outils du site


article:gestion_a_distance_d_un_vm_qemu

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
article:gestion_a_distance_d_un_vm_qemu [2026/10/06 16:31] – bernard.rollandarticle:gestion_a_distance_d_un_vm_qemu [2026/10/06 16:50] (Version actuelle) – bernard.rolland
Ligne 3: Ligne 3:
 Ce guide regroupe les commandes essentielles pour administrer nos machines virtuelles en ligne de commande (CLI) via SSH, en remplacement de **virt-manager**. Ce guide regroupe les commandes essentielles pour administrer nos machines virtuelles en ligne de commande (CLI) via SSH, en remplacement de **virt-manager**.
  
-===== 1. Informations et Statut =====+===== 1. Installation de l'environnement (Serveur Headless) ===== 
 +Si le serveur Debian hôte est installé sans environnement de bureau (sans KDE/Gnome), voici les paquets requis pour faire fonctionner le moteur de virtualisation et les outils CLI : 
 +<code> 
 +sudo apt update 
 +sudo apt install qemu-system-x86 libvirt-daemon-system libvirt-clients virtinst 
 +</code> 
 +* **libvirt-clients** : Fournit la commande ''virsh''. 
 +* **virtinst** : Fournit la commande ''virt-install'' (création) et ''virt-clone'' (clonage). 
 + 
 +===== 2. Informations et Statut =====
  
 ==== Lister les machines virtuelles ==== ==== Lister les machines virtuelles ====
Ligne 23: Ligne 32:
 </code> </code>
  
-===== 2. Gestion de l'alimentation =====+===== 3. Gestion de l'alimentation =====
  
 ==== Démarrer une VM ==== ==== Démarrer une VM ====
Ligne 49: Ligne 58:
 //Pour désactiver : ajouter l'option ''--disable'' à la fin de la commande.// //Pour désactiver : ajouter l'option ''--disable'' à la fin de la commande.//
  
-===== 3. Gestion de la Configuration (XML) =====+===== 4. Gestion de la Configuration (XML) =====
  
 ==== Afficher la configuration XML complète ==== ==== Afficher la configuration XML complète ====
Ligne 68: Ligne 77:
 </code> </code>
  
-===== 4. Ressources Matérielles (Évolution) =====+===== 5. Ressources Matérielles (Évolution) =====
 ^ Type ^ Commande ^ Note ^ ^ Type ^ Commande ^ Note ^
  
Ligne 85: Ligne 94:
 3. Rallumer la VM et étendre la partition à l'intérieur du système invité. 3. Rallumer la VM et étendre la partition à l'intérieur du système invité.
  
-===== 5. Réseau et Stockage =====+===== 6. Réseau et Stockage =====
  
 ==== Lister les disques attachés à une VM ==== ==== Lister les disques attachés à une VM ====
Ligne 97: Ligne 106:
 </code> </code>
  
-===== 6. Création d'une VM depuis un ISO (virt-install) ===== +===== 7. Création et Duplication de VM =====
- +
-Pour créer une VM sans interface graphique depuis votre terminal SSH, utilisez l'outil **virt-install**. +
- +
-==== Commande type d'installation ==== +
-Cette commande va instancier la VM, créer son disque dur virtuel au format QCOW2 et l'allumer sur l'ISO d'installation pour démarrer le processus.+
  
 +==== Créer une VM depuis un ISO (virt-install) ====
 +Cette commande instancie la VM, crée son disque dur au format QCOW2 et boot sur l'ISO.
 <code> <code>
 sudo virt-install \ sudo virt-install \
Ligne 116: Ligne 122:
   --noautoconsole   --noautoconsole
 </code> </code>
 +//Note pour le réseau : Remplacer ''network=default'' par ''network=routeur_nat'' si vous souhaitez la lier à votre routeur virtuel.//
  
-==== Détails importants des options ==== +==== Dupliquer / Cloner une VM (virt-clone) ==== 
-^ Option ^ Rôle ^+Permet de créer une copie conforme d'une VM existante (comme un modèle) vers une nouvelle instance, en générant de nouvelles adresses MAC et de nouveaux disques pour éviter les conflits. **La VM source doit être éteinte.** 
 +<code> 
 +sudo virt-clone --original ynh_modèle --name nouvelle-instance.fr --auto-copy 
 +</code>
  
-| ''--os-variant'' | Optimise les pilotes virtuels (virtio) pour l'OS choisi. Utilisez ''osinfo-query os'' pour voir la liste des distributions supportées. | +===== 8. Instantanés (Snapshots) ===== 
-| ''--network'' | Configure la carte réseau. \\ **''network=default''** : Utilise le réseau NAT standard de Libvirt. \\ **''network=routeur_nat''** : Si vous voulez la brancher directement derrière votre VM routeur personnalisée. | +Les snapshots nécessitent que les disques des VM soient au format **QCOW2**. Idéal avant une mise à jour critique de YunoHost. 
-| ''--graphics vnc,listen=0.0.0.0'' | Active un serveur VNC sur l'hôte Debian. Cela vous permettra de vous connecter graphiquement à l'installateur de l'OS depuis votre PC local via un tunnel SSH (ex: sur le port 5900). | + 
-| ''--noautoconsole'' | Empêche la commande de bloquer votre terminal SSH en essayant d'ouvrir une console texte immédiatement. |+==== Créer un instantané ==== 
 +<code> 
 +sudo virsh snapshot-create-as <nom_de_la_vm> nom-du-snapshot "Ma description ici" 
 +</code> 
 +//Astuce : Ajoutez l'option ''--live'' si la VM est allumée et que vous voulez aussi figer l'état exact de la RAM.// 
 + 
 +==== Lister les instantanés d'une VM ==== 
 +<code> 
 +sudo virsh snapshot-list <nom_de_la_vm> 
 +</code> 
 + 
 +==== Restaurer un instantané (Retour en arrière) ==== 
 +**Il est recommandé d'éteindre la VM avant la restauration.** 
 +<code> 
 +sudo virsh snapshot-revert <nom_de_la_vm> nom-du-snapshot 
 +</code> 
 + 
 +==== Supprimer un instantané ==== 
 +À faire une fois la mise à jour validée pour libérer de l'espace disque et conserver de bonnes performances. 
 +<code> 
 +sudo virsh snapshot-delete <nom_de_la_vm> nom-du-snapshot 
 +</code>
  
-===== 7. Accès graphique à distance (Tunnel SSH + VNC) =====+===== 9. Accès graphique à distance (Tunnel SSH + VNC) =====
  
 Le port VNC de l'hôte n'étant pas accessible directement depuis l'extérieur pour des raisons de sécurité, il faut faire passer le flux graphique à l'intérieur d'un **tunnel SSH chiffré**. Le port VNC de l'hôte n'étant pas accessible directement depuis l'extérieur pour des raisons de sécurité, il faut faire passer le flux graphique à l'intérieur d'un **tunnel SSH chiffré**.
article/gestion_a_distance_d_un_vm_qemu.txt · Dernière modification : de bernard.rolland