Aller au contenu

QEMU/KVM

Prérequis:

  • Un processeur compatible avec la virtualisation
  • Installation de libvirt, bridge-utils, kvm qemu-kvm virtinst
  • Mettre l'utilisateur courant dans le groupe libvirt et libvirt-qemu

    usermod -a -G libvirt utilisateur

Rappel pour le réseau

Une fois la partie bridge configurée comme pour les conteneurs LXC, il peut être nécessaire d'ajouter une option dans le fichier /etc/qemu/bridge.conf (il faudra sans doute le créer), afin d'autoriser qemu à utiliser le bridge.

allow br0

Ne pas oublier de lui attribuer es droits comme ceci:

chown root:libvirt-qemu  
chmod 640

Il peut être nécessaire, dans certains cas d'ajouter des droits au bridge-helper

chmod u+s /usr/lib/qemu/qemu-bridge-helper
  • s: set uid permet d'éxécuter un programme avec les droits du propriétaire

Voir: https://lists.nongnu.org/archive/html/qemu-discuss/2015-07/msg00015.html

Voir: https://blog.christophersmart.com/2016/08/31/configuring-qemu-bridge-helper-after-access-denied-by-acl-file-error/

Voir: https://www.reddit.com/r/VFIO/comments/5kwioi/qemu_failed_to_parse_default_acl_file/

Transformer un disque virtuel (.vdi) en disque virtuel natif pour qemu kvm (.qcow2)

qemu-img convert -c -f vdi mondisque.vdi -O qcow2 mondisque.qcow2

Voir: https://wiki.debian-fr.xyz/Virtualisation_:_Conversion_VDI_vers_Qcow

Créer un disque virtuel en mode thin provisionning

Rappel: Le Thin provisionning permet de n'utiliser que ce que le système a besoin, en terme d'espace disque, dans la limite de la taille maximale alloué au disque dur virtuel sur le disque dur physique.

Exemple: Nous pouvons créer un disque virtuel .qcow2 qui fera au maximum 50 Go. Seulement n'ayant qu'un système minimal installé, le disque pèse, pour le moment 5 Go par exemple.

Il n'occupe donc pas les 50 Go tout de suite.

En utilisant l'utilitaire graphique pour créer un disque virtuel, il n'y a pas de thin provisionning. Il faut donc créer ce HDD virtuel avec l'outil qemu-img en commande.

qemu-img create -f qcow2 test.qcow2 20G

Le disque dur virtuel aura une capacité total de 20 Go quand le système virtuel en aura besoin. Fraîchement créée le disque dur virtuel ne pèse réellement que quelques Ko.

Voir: https://serverfault.com/questions/841031/how-to-create-a-qcow2-file-that-is-not-thin-provisioned

Impossible d'éteindre une machine virtuelle, permission refusée

Si il est impossible d'éteindre une VM en tant que session system, cela peut venir de apparmor. Un fichier d'abstraction pour libvirt-qemu a été crée par la distribution et doit être remplacer ou être fusionner avec celui d'origine. Ce fichier s'appelle libvirt-qemu.dpkg-dist. On peut donc faire une copie de ce fichier et remplacer le fichier libvirt-qemu d'origine.

Chemin du fichier:

/etc/apparmor.d/abstractions/libvirt-qemu.dpkg-dist

Copié de ce site: https://askubuntu.com/questions/1296970/qemu-libvirt-guest-vm-does-not-properly-shutdown