article:gestion_a_distance_d_un_vm_qemu
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| article:gestion_a_distance_d_un_vm_qemu [2026/10/06 16:19] – créée bernard.rolland | article: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' |
| + | 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 : | ||
| + | < | ||
| + | sudo apt update | ||
| + | sudo apt install qemu-system-x86 libvirt-daemon-system libvirt-clients virtinst | ||
| + | </ | ||
| + | * **libvirt-clients** : Fournit la commande '' | ||
| + | * **virtinst** : Fournit la commande '' | ||
| + | |||
| + | ===== 2. Informations et Statut ===== | ||
| ==== Lister les machines virtuelles ==== | ==== Lister les machines virtuelles ==== | ||
| Ligne 18: | Ligne 27: | ||
| ==== Connaître l' | ==== Connaître l' | ||
| - | 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 |
| < | < | ||
| sudo virsh domifaddr < | sudo virsh domifaddr < | ||
| </ | </ | ||
| - | ===== 2. Gestion de l' | + | ===== 3. Gestion de l' |
| ==== Démarrer une VM ==== | ==== Démarrer une VM ==== | ||
| Ligne 49: | Ligne 58: | ||
| //Pour désactiver : ajouter l' | //Pour désactiver : ajouter l' | ||
| - | ===== 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: | ||
| </ | </ | ||
| - | ===== 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' | 3. Rallumer la VM et étendre la partition à l' | ||
| - | ===== 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 < | sudo virsh domiflist < | ||
| </ | </ | ||
| + | |||
| + | ===== 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. | ||
| + | < | ||
| + | sudo virt-install \ | ||
| + | --name " | ||
| + | --memory 2048 \ | ||
| + | --vcpus 2 \ | ||
| + | --os-variant debian12 \ | ||
| + | --disk size=20, | ||
| + | --network network=default \ | ||
| + | --cdrom / | ||
| + | --graphics vnc, | ||
| + | --noautoconsole | ||
| + | </ | ||
| + | //Note pour le réseau : Remplacer '' | ||
| + | |||
| + | ==== 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.** | ||
| + | < | ||
| + | sudo virt-clone --original ynh_modèle --name nouvelle-instance.fr --auto-copy | ||
| + | </ | ||
| + | |||
| + | ===== 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é ==== | ||
| + | < | ||
| + | sudo virsh snapshot-create-as < | ||
| + | </ | ||
| + | //Astuce : Ajoutez l' | ||
| + | |||
| + | ==== Lister les instantanés d'une VM ==== | ||
| + | < | ||
| + | sudo virsh snapshot-list < | ||
| + | </ | ||
| + | |||
| + | ==== Restaurer un instantané (Retour en arrière) ==== | ||
| + | **Il est recommandé d' | ||
| + | < | ||
| + | sudo virsh snapshot-revert < | ||
| + | </ | ||
| + | |||
| + | ==== Supprimer un instantané ==== | ||
| + | À faire une fois la mise à jour validée pour libérer de l' | ||
| + | < | ||
| + | sudo virsh snapshot-delete < | ||
| + | </ | ||
| + | |||
| + | ===== 9. Accès graphique à distance (Tunnel SSH + VNC) ===== | ||
| + | |||
| + | Le port VNC de l' | ||
| + | |||
| + | ==== Étape 1 : Identifier le port VNC utilisé ==== | ||
| + | Sur le serveur distant, vérifiez le numéro d' | ||
| + | < | ||
| + | sudo virsh vncdisplay ma-nouvelle-vm | ||
| + | </ | ||
| + | * Si le résultat est '': | ||
| + | * Si le résultat est '': | ||
| + | |||
| + | ==== É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 : | ||
| + | < | ||
| + | ssh -L 5900: | ||
| + | </ | ||
| + | //Note : Si à l' | ||
| + | |||
| + | **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' | ||
| + | 3. L' | ||
article/gestion_a_distance_d_un_vm_qemu.1791303541.txt.gz · Dernière modification : de bernard.rolland
