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 [2024/03/27 19:55] yoannsysadmin:linux:virtualisation:kvm:creer_une_vm_avec_virt-install [2026/06/20 14:55] (Version actuelle) yoann
Ligne 1: Ligne 1:
 {{tag>software virtualisation kvm qemu linux vm}} {{tag>software virtualisation kvm qemu linux vm}}
  
-:TODO_DOCUPDATE: 
  
 ====== Créer une VM avec virt-install ====== ====== Créer une VM avec virt-install ======
Ligne 7: Ligne 6:
 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. 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+:TODO: bureau distant avec spice
  
 ===== Installation de virt-install ===== ===== Installation de virt-install =====
Ligne 15: Ligne 14:
 </code> </code>
  
-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 **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.+ 
 +===== A propos des modes d'exécution ===== 
 + 
 +**virt-install** communique avec le service **libvirtd** et peut être invoquée en spécifiant le mode d'exécution souhaité via l'option ''%%--connect%%''
 +  * ''%%--connect qemu://session%%'' : exécution en espace utilisateur avec les droits limités de l'utilisateur ; 
 +  * ''%%--connect qemu://system%%'' : exécution avec un utilisateur système ''libvirt-qemu'' et des droits étendus. 
 + 
 +<note> 
 +Pour que l'utilisateur puisse interagir en mode ''system'' avec les différents outils virt-install, virsh etc, il doit faire parti des groupes **libvirt** et **libvirt-qemu**. 
 + 
 +Et vice-versa, selon les options utilisées lors de la création d'une VM en mode ''system'', l'utilisateur système **libvirt-qemu** devra pouvoir accéder aux fichiers disques et aux ISO utilisés lors de la création de la VM pouvant se trouver dans les dossiers de l'utilisateur. 
 +</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 : 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 :
Ligne 26: Ligne 36:
 </file> </file>
  
-Pour ajouter l'utilisateur courant au groupe **libvirt-qemu**+Plusieurs solutions sont possibles via les droits d'accès classiques ou les ACL mais il faudra permettre à l'utilisateur système **libvirt-qemu** d'accéder aux ressources nécessaires à la création de la VM. 
 + 
 +Pour ajouter l'utilisateur courant au groupe : 
 + 
 <code bash> <code bash>
 sudo adduser $( id -un ) libvirt-qemu sudo adduser $( id -un ) libvirt-qemu
Ligne 36: Ligne 49:
  
 mkdir -p ~/KVM/maVM mkdir -p ~/KVM/maVM
 +</code>
 +
 +Pour définir un processeur de type pentium sur le système invité :
 +<code bash>
 +
 </code> </code>
  
Ligne 95: Ligne 113:
 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%%** 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%%**
  
-Cette exemple succinct donne les éléments de base de la syntaxe de virt-install. Des notes plus détaillées sont disponibles+<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]] 
 + 
 +===== A propos d' osinfo-query ===== 
 + 
 +La commande **osinfo-query** s'installe via le paquet ''libosinfo-bin''
 + 
 +<code bash> 
 +apt install -y libosinfo-bin 
 +</code> 
 + 
 + 
 +:TODO_DOCUPDATE: 
 + 
 +La commmande **osinfo-query** s'appuie sur un ensemble de fichiers XML présent dans ''/usr/share/osinfo/os/''. Ils peuvent être mis à jour. 
 + 
 + 
 +===== A propos des processeurs ===== 
 + 
 +On peut spécifier un modèle de processeur pour le système invité via l'option **%%--cpu%%**. La liste des processeurs et des fonctionnalités associées est définie dans des fichiers XML sous ''/usr/share/libvirt/cpu_map/''
 + 
 + 
 +Par exemple le fichier ''/usr/share/libvirt/cpu_map/x86_pentium.xml''
 +<file xml [highlight_lines_extra="2"] > 
 +<cpus> 
 +  <model name='pentium'> 
 +    <decode host='on' guest='on'/> 
 +    <feature name='cx8'/> 
 +    <feature name='de'/> 
 +    <feature name='fpu'/> 
 +    <feature name='mce'/> 
 +    <feature name='mmx'/> 
 +    <feature name='msr'/> 
 +    <feature name='pse'/> 
 +    <feature name='tsc'/> 
 +    <feature name='vme'/> 
 +  </model> 
 +</cpus> 
 +</file> 
 + 
 +===== Transmettre des options à QEMU ===== 
 + 
 +Pour définir des variables d'environnement ou spécifier des options directement à QEMU, utiliser la syntaxe : 
 + 
 +<code bash> 
 +virt-install --connect qemu:///session \ 
 +... 
 +--qemu-commandline=env=PIPEWIRE_RUNTIME_DIR='/run/user/1000'
 +--qemu-commandline="-display default,show-cursor=off"
 +... 
 +</code> 
 + 
 +===== Dépannages ===== 
 + 
 +Lors des premières tentatives de création de VM en espace utilisateur, la connexion de la VM en mode bridge provoquait systématiquement une erreur : confère note [[software:applications:qemu:depannage:failed-to-parse-default-acl-file]] 
 + 
  
 ===== Références ===== ===== Références =====
Ligne 101: Ligne 184:
   * https://unix.stackexchange.com/questions/309788/how-to-create-a-vm-from-scratch-with-virsh   * 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/   * https://www.thegeekstuff.com/2014/10/linux-kvm-create-guest-vm/
 +  * [[https://askubuntu.com/questions/1070500/why-doesnt-osinfo-query-os-detect-ubuntu-18-04|Usages de la commande osinfo-query (askubuntu.com) (en)]]
sysadmin/linux/virtualisation/kvm/creer_une_vm_avec_virt-install.1711569358.txt.gz · Dernière modification : 2024/03/27 19:55 de yoann