Notes techniques de zhaoJian

Installation de QEMU+KVM, libvirt, Virt-Manager sur EndeavourOS, Manjaro et autres distributions Arch Linux

Technologie ~5617 mots · 15 min de lecture - vues

QEMU, KVM, libvirt et Virt-Manager sont des composants clés pour construire des solutions de virtualisation. Chacun assume un rôle différent, mais ils collaborent pour fournir de puissantes fonctionnalités de virtualisation.

QEMU est un émulateur matériel généraliste et gestionnaire de machines virtuelles open source. Il peut fonctionner comme un pur émulateur (performances inférieures) ou être combiné avec KVM pour fournir une virtualisation accélérée par le matériel (performances élevées, proches du natif).

KVM est un module du noyau Linux qui s’exécute directement sur le noyau Linux. Grâce à la technologie de virtualisation matérielle, il peut atteindre des performances proches du matériel natif.

libvirt est un ensemble d’API et d’outils open source pour gérer les plateformes de virtualisation (comme QEMU/KVM, Xen, VMware, Hyper-V, etc.).

Virt-Manager est un outil de gestion à interface graphique qui ne gère pas directement les machines virtuelles, mais est spécialement conçu pour gérer les machines virtuelles fournies par libvirt. Il est principalement destiné aux utilisateurs peu familiers avec la ligne de commande, offrant une interface graphique pratique.

KVM est intégré au noyau Linux et s’intègre avec QEMU pour réaliser une virtualisation haute performance. libvirt simplifie la complexité de QEMU et fournit des fonctions de gestion en ligne de commande. C’est l’outil central de la gestion de la virtualisation. Virt-Manager est l’interface graphique de libvirt, adaptée aux utilisateurs ayant besoin d’une interface graphique pour gérer les machines virtuelles plus facilement.

Installation des composants nécessaires à l’exécution des machines virtuelles

yay -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables swtpm
sudo systemctl enable libvirtd.service
sudo systemctl start libvirtd.service
sudo usermod -aG libvirt $USER
  1. qemu est un émulateur et virtualiseur de machines généraliste et open source. Il vous permet d’exécuter d’autres systèmes d’exploitation au sein d’un système d’exploitation, prenant en charge la virtualisation complète du système et l’émulation de processus.

  2. virt-manager est un outil graphique de gestion de machines virtuelles qui simplifie la création, la gestion et la surveillance des machines virtuelles.

  3. virt-viewer est un outil léger de visualisation à distance permettant de se connecter à la console graphique d’une machine virtuelle (via le protocole SPICE ou VNC).

  4. dnsmasq est un serveur DNS et DHCP léger. Libvirt l’utilise pour fournir une connexion réseau NAT aux machines virtuelles (configuration par défaut).

  5. vde2 est un commutateur virtuel utilisé pour créer des environnements de réseau virtuel. C’est un outil optionnel, principalement utilisé pour les configurations réseau avancées, adapté aux utilisateurs nécessitant des topologies réseau complexes.

  6. bridge-utils fournit des outils de gestion de réseau pont, utilisés pour relier l’interface réseau de la machine virtuelle à l’interface réseau physique. Si vous avez besoin que la machine virtuelle accède directement au réseau externe (mode pont), c’est indispensable.

  7. openbsd-netcat est un outil de débogage réseau et de transfert de données prenant en charge les protocoles TCP et UDP. Libvirt l’utilise pour certaines tâches liées au réseau (par exemple, le transfert de données entre hôtes distants).

  8. ebtables est un outil en espace utilisateur pour gérer les tables de filtrage des ponts du noyau Linux. Il est nécessaire pour gérer les règles de trafic réseau des machines virtuelles dans un réseau pont.

  9. swtpm est un TPM émulé par logiciel, permettant aux machines virtuelles d’utiliser les fonctionnalités TPM sans nécessiter de support matériel physique. Il prend en charge Windows 11 ou d’autres scénarios nécessitant le TPM.

Réalisation du partage du presse-papiers et du glisser-déposer de fichiers sous QEMU, virt-manager

yay -S spice-vdagent qemu-guest-agent
sudo pacman -S spice-vdagent qemu-guest-agent
  1. spice-vdagent est principalement utilisé pour améliorer l’expérience utilisateur, fournissant le partage du presse-papiers, le glisser-déposer de fichiers, etc.
  2. qemu-guest-agent fournit des capacités de gestion et de communication entre la machine virtuelle et l’hôte, permettant à la machine virtuelle d’effectuer des opérations et des tâches de gestion plus efficaces.

Après l’installation, il faut configurer la machine virtuelle dans virt-manager (côté hôte Linux)

  1. Protocole d’affichage Spice Serveur Spice - Type : Serveur Spice

Protocole d'affichage Spice

  1. Ajouter du matériel (deux éléments) : Canal : sélectionnez le nom com.redhat.spice.0 Canal : sélectionnez le nom org.qemu.guest_agent.0

Ajouter du matériel - Canal com.redhat.spice.0

Ajouter du matériel - Canal org.qemu.guest_agent.0

Installez Spice Guest Tools dans la machine virtuelle (machine invitée, le système installé dans la VM) pour activer le partage du presse-papiers, le glisser-déposer de fichiers, etc.

Si l’erreur « Erreur au démarrage du domaine : opération requise invalide : le réseau ‘default’ n’est pas activé » apparaît lors de l’exécution, il faut démarrer le réseau default.

Démarrer le réseau default

sudo virsh net-start default

Configurer le démarrage automatique au boot

sudo virsh net-autostart default
Partager :

Commentaires