Outils pour utilisateurs

Outils du site


sysadmin:linux:virtualisation:kvm:creer_une_vm_avec_virt-install

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
Prochaine révision
Révision précédente
sysadmin:linux:virtualisation:kvm:creer_une_vm_avec_virt-install [2023/03/04 15:38] – supprimée - modification externe (Unknown date) 127.0.0.1sysadmin:linux:virtualisation:kvm:creer_une_vm_avec_virt-install [2025/11/29 12:12] (Version actuelle) yoann
Ligne 1: Ligne 1:
 +{{tag>software virtualisation kvm qemu linux vm}}
  
 +:TODO_DOCUPDATE:
 +
 +====== Créer une VM avec virt-install ======
 +
 +La CLI **virt-install** est un assistant de création de machine Virtuelle. Elle peut être lancée en mode interactif ou invoquée via un ensemble d'options décrivant la VM à créer.
 +
 +:TODO: bureau distant avec spice
 +
 +===== Installation de virt-install =====
 +
 +<code bash>
 +sudo apt-get install virtinst libosinfo-bin
 +</code>
 +
 +<note>
 +Pour que les processus de création et de gestion des VMs se déroulent sans erreur, l'utilisateur doit faire parti des groupes **libvirt** et **libvirt-qemu**.
 +
 +L'utilisateur système **libvirt-qemu** gérant le service hyperviseur doit pouvoir accéder aux fichiers disques et aux ISO utilisés lors de la création de la VM.
 +</note>
 +
 +Ci-dessous un exemple de retour d'erreur lors d'une tentative de création de VM dans un dossier utilisateur sur lequel l'hyperviseur n'a pas les droits appropriés :
 +
 +<file>
 +WARNING  il se peut que /home/yoann/KVM/install_files/debian-12.5.0-amd64-netinst.iso ne soit pas accessible à l’hyperviseur. Vous devrez fournir à l’utilisateur « libvirt-qemu » des permissions de recherche pour les répertoires suivants : ['/home/yoann', '/home/yoann/KVM', '/home/yoann/KVM/install_files']
 +
 +Début d’installation…
 +ERROR    Cannot access storage file '/home/yoann/KVM/debian12/vda' (as uid:64055, gid:104): Permission non accordée
 +</file>
 +
 +Pour ajouter l'utilisateur courant au groupe **libvirt-qemu**
 +<code bash>
 +sudo adduser $( id -un ) libvirt-qemu
 +</code>
 +
 +Ensuite on peut changer le groupe principal de l'utilisateur courant et créer les dossier :
 +<code bash>
 +newgrp libvirt-qemu
 +
 +mkdir -p ~/KVM/maVM
 +</code>
 +
 +
 +===== Exemple de création d'une VM =====
 +
 +Plusieurs modes d'installation sont possibles, ici on a choisit de télécharger un ISO et d'installer la VM à partir de celui-ci. virt-install peut créer le fichier disque et le réseau, ici nous choisissons de les créer en amont.
 +
 +lister les réseaux disponibles:
 +<code bash>
 +virsh net-list
 + Name      State    Autostart   Persistent
 +--------------------------------------------
 + default   active   yes         yes
 +
 +# Afficher les caractéristiques du réseau "default"
 +virsh net-info default
 +Name:           default
 +UUID:           af20a5ca-db45-4b5e-a2ee-e50ad4c79264
 +Active:         yes
 +Persistent:     yes
 +Autostart:      yes
 +Bridge:         virbr0
 +</code>
 +
 +Ici il existe un réseau par défaut, le nom du pont est **virbr0**, on l'utilisera pour notre VM.
 +
 +Plusieurs formats sont disponibles pour le fichier disque de la VM. On utilise **qcow2**, il sera provisionné à l'usage.
 +
 +<code bash>
 +# Positionne le groupe libvirt-qemu comme groupe principal de l'utilisateur courant
 +newgrp libvirt-qemu
 +
 +mkdir -p ~/KVM/debian11
 +cd ~/KVM/debian11
 +qemu-img create -f qcow2 vda 5G
 +</code>
 +
 +<note>
 +L'utilisateur **libvirt-qemu** doit avoir accès en lecture/écriture sur le dossier contenant l'image disque.
 +</note>
 +
 +Créons à présent la VM avec virt-install:
 +
 +<code bash>
 +virt-install \
 + -n debian11-amd64 \
 + --description "Debian 11 codename bullseye" \
 + --os-type=Linux \
 + --os-variant=debian9 \
 + --ram=1024 \
 + --vcpus=2 \
 + --disk format=qcow2,path=/home/yoann/KVM/debian11/vda \
 + --vnc \
 + --cdrom /home/yoann/KVM/inst_medias/debian-11.6.0-amd64-netinst.iso \
 + --network bridge:virbr0
 +</code>
 +
 +L'utilisation de l'option **%%--os-variant%%** est fortement recommandée. Elle prépositionne un ensemble d'options permettant d'optimiser la VM. Les valeurs possibles de **%%--os-variant%%** peuvent être obtenues par la commande **%%osinfo-query os%%**
 +
 +<note>
 +Si la commande **%%osinfo-query%%** n'est pas disponible, on peut également invoquer :
 +<code bash>
 +virt-install --osinfo list
 +</code>
 +
 +</note>
 +
 +Cet exemple succinct donne les éléments de base de la syntaxe de virt-install. Des notes plus détaillées sont disponibles :
 +
 +  * [[sysadmin:linux:virtualisation:kvm:installation_invite:creation_vm_debian_12|Création d'une VM Debian 12]]
 +
 +
 +===== Références =====
 +
 +  * https://unix.stackexchange.com/questions/309788/how-to-create-a-vm-from-scratch-with-virsh
 +  * https://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm/