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

Prochaine révision
Révision précédente
article:gestion_a_distance_d_un_vm_qemu [2026/10/06 16:19] – créée 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 18: Ligne 27:
  
 ==== Connaître l'adresse IP d'une VM ==== ==== Connaître l'adresse IP d'une VM ====
-Permet de trouver l'IP attribuée par le serveur DHCP interne de libvirt.+Permet de trouver l'IP attribuée par le serveur DHCP interne de libvirt ou détectée sur l'hôte.
 <code> <code>
 sudo virsh domifaddr <nom_de_la_vm> sudo virsh domifaddr <nom_de_la_vm>
 </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 96: Ligne 105:
 sudo virsh domiflist <nom_de_la_vm> sudo virsh domiflist <nom_de_la_vm>
 </code> </code>
 +
 +===== 7. Création et Duplication de VM =====
 +
 +==== 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>
 +sudo virt-install \
 +  --name "ma-nouvelle-vm" \
 +  --memory 2048 \
 +  --vcpus 2 \
 +  --os-variant debian12 \
 +  --disk size=20,format=qcow2,pool=default \
 +  --network network=default \
 +  --cdrom /var/lib/libvirt/images/debian-12-installer.iso \
 +  --graphics vnc,listen=0.0.0.0 \
 +  --noautoconsole
 +</code>
 +//Note pour le réseau : Remplacer ''network=default'' par ''network=routeur_nat'' si vous souhaitez la lier à votre routeur virtuel.//
 +
 +==== Dupliquer / Cloner une VM (virt-clone) ====
 +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>
 +
 +===== 8. Instantanés (Snapshots) =====
 +Les snapshots nécessitent que les disques des VM soient au format **QCOW2**. Idéal avant une mise à jour critique de YunoHost.
 +
 +==== 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>
 +
 +===== 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é**.
 +
 +==== Étape 1 : Identifier le port VNC utilisé ====
 +Sur le serveur distant, vérifiez le numéro d'affichage ou le port de la VM en cours d'exécution :
 +<code>
 +sudo virsh vncdisplay ma-nouvelle-vm
 +</code>
 +* Si le résultat est '':0'', le port réel est **5900**.
 +* Si le résultat est '':1'', le port réel est **5901**, etc.
 +
 +==== Étape 2 : Créer le tunnel depuis votre machine locale ====
 +Ouvrez un **nouveau terminal sur votre PC local** (pas sur le serveur distant) et exécutez la commande suivante :
 +<code>
 +ssh -L 5900:127.0.0.1:5900 utilisateur@adresse_ip_du_serveur
 +</code>
 +//Note : Si à l'étape 1 la VM affichait ":1", remplacez le port de destination par 5901 (ex: 5900:127.0.0.1:5901).//
 +
 +**Laissez ce terminal ouvert**, c'est lui qui maintient le pont sécurisé.
 +
 +==== Étape 3 : Se connecter avec un visionneur VNC ====
 +1. Ouvrez votre logiciel VNC local (Remmina, TigerVNC, Vinagre, etc.).
 +2. Dans le champ d'adresse, connectez-vous sur : **''127.0.0.1:5900''**
 +3. L'écran graphique de l'installateur ou du bureau Debian de la VM distante s'affiche.
  
article/gestion_a_distance_d_un_vm_qemu.1791303541.txt.gz · Dernière modification : de bernard.rolland