Comment installer KVM/QEMU sur Manjaro/Archlinux
Sur cette page
- Qu'est-ce que QEMU ?
KVM est un acronyme de Kernel-based Virtual Machine, c'est une solution technologique de virtualisation basée sur le module du noyau Linux. KVM est une solution logicielle open source fonctionnant sur la machine Linux x86 avec la prise en charge des extensions de virtualisation matérielle Intel VT ou AMD-V. Le module de noyau KVM a été livré au noyau Linux depuis la version 2.6.20 et a été porté sur d'autres systèmes d'exploitation tels que FreeBSD et Illumos en tant que modules de noyau chargeables.
La technologie KVM transformera la machine Linux en virtualisation d'hyperviseur, appelée machine hôte. Sur la machine hôte, vous pourrez créer plusieurs systèmes isolés appelés machines virtuelles (VM). Chaque machine virtuelle a son système (il peut s'agir de Linux, Windows ou BSD), possède également du matériel virtualisé privé tel que de la mémoire, des processeurs, une carte réseau, un disque, une carte graphique, etc.
Qu'est-ce que QEMU ?
QEMU ou Quick Emulator est un émulateur de système open source et un virtualiseur pour la virtualisation matérielle. Généralement, il est utilisé comme virtualiseur avec le module de noyau KVM pour exécuter des machines virtuelles. Pour obtenir de grandes performances pour les machines invitées/machines virtuelles, il tirera parti des extensions de virtualisation matérielle telles que Intel VT ou AMD-V. La virtualisation QEMU/KVM est principalement utilisée comme hyperviseur dans un centre de données.
Dans ce guide, vous apprendrez à configurer la virtualisation KVM/QEMU sur une machine Manjaro/Archlinux. De plus, vous apprendrez à créer la première machine virtuelle avec l'application graphique \virt-manager\ - une interface utilisateur de bureau pour la gestion des machines virtuelles.
Conditions préalables
- Un Manjaro/Archlinux avec une architecture x86 ou 64 bits.
- Un CPU/processeur avec prise en charge de la virtualisation (Intel VT ou AMD-V).
- Un utilisateur non root avec des privilèges sudo root.
Vérification de l'architecture du système et de la prise en charge de la virtualisation du processeur
Tout d'abord, vérifiez l'architecture de la machine et la prise en charge matérielle de l'accélération de la virtualisation Intel VT pour les processeurs Intel et AMD-v pour les processeurs AMD.
1. Exécutez la commande suivante pour vérifier l'architecture système de votre système.
uname -m
Vous obtiendrez la sortie suivante.
Linux machine1 5.4.134-1 #1 SMP PREEMPT Tue Jul 06 08:10:03 UTC 2021 x86_64 GNU/Linux
Comme on le voit, utilisaient actuellement le système Linux avec une architecture \x86_64\ ou \64 bits\ et la version du noyau \5.4\.
2. Ensuite, vérifiez la prise en charge de la virtualisation matérielle en exécutant la commande suivante.
sudo lscpu | grep Virtualization
Pour le processeur Intel, vous verrez une sortie similaire à celle ci-dessous.
Virtualization: VT-x
Et pour les processeurs AMD, vous trouverez ci-dessous une sortie similaire.
Virtualization: AMD-V
3. Vous pouvez éventuellement activer la virtualisation imbriquée sur votre machine à l'aide de la commande suivante.
sudo modprobe -r kvm_intel
sudo modprobe kvm_intel nested=1
Après cela, exécutez la commande suivante pour vérifier la virtualisation imbriquée.
cat /sys/module/kvm_intel/parameters/nested
Si vous obtenez la sortie comme \Y\ ou \1\, cela signifie que la fonctionnalité de virtualisation imbriquée est activée. Sinon, vous verrez le message d'erreur \Aucun fichier ou répertoire de ce type\.
Installation des packages QEMU et Virt-Manager
1. Pour installer les packages qemu et virt-manager, exécutez la commande ci-dessous.
sudo pacman -S qemu virt-manager libvirt virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables libguestfs
Pour le système manjaro, il y aura un conflit de paquets entre \iptables\ et \ebtables\. Tapez \y\ pour supprimer le package iptables par défaut et remplacez-le par \ebtables\ et \nftables\.
Vous trouverez ci-dessous les forfaits essentiels que vous devez connaître :
- qemu : émulateur et virtualiseur de machine open source.
- virt-manager ; Une application graphique pour la gestion des machines virtuelles.
- libvirt : une API pour contrôler les moteurs de virtualisation tels que KVM, QEMU, etc.
- dnsmasq : redirecteur DNS léger et serveur DHCP.
- bridge-utils : utilitaires pour configurer le pont Ethernet Linux.
- libguestfs : ensemble d'outils permettant de modifier les images disque des machines virtuelles (VM).
2. Ensuite, démarrez et activez le service libvirtd à l'aide de la commande suivante.
sudo systemctl enable --now libvirtd
Vous obtiendrez une sortie similaire à celle ci-dessous.
Created symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service → /usr/lib/systemd/system/libvirtd.service.
Created symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket → /usr/lib/systemd/system/virtlockd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket → /usr/lib/systemd/system/virtlogd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd.socket → /usr/lib/systemd/system/libvirtd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket → /usr/lib/systemd/system/libvirtd-ro.socket.
3. Ensuite, exécutez la commande suivante pour vérifier l'état du service libvirtd.
sudo systemctl status libvirtd
Et vous devriez voir une sortie similaire à celle ci-dessous. Comme on le voit, le service libvritd est actif et en cours d'exécution.
? libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2021-07-23 10:33:25 UTC; 6s ago
TriggeredBy: ? libvirtd-ro.socket
? libvirtd.socket
? libvirtd-admin.socket
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 16828 (libvirtd)
Tasks: 19 (limit: 32768)
Memory: 16.4M
CPU: 226ms
CGroup: /system.slice/libvirtd.service
??16828 /usr/bin/libvirtd --timeout 120
Autoriser l'utilisateur non root à utiliser la virtualisation KVM/QEMU
Par défaut, seul l'utilisateur \root\ peut créer et gérer des machines virtuelles. Pour permettre aux utilisateurs non root de créer et de gérer des machines virtuelles, vous devez suivre la configuration libvirtd ci-dessous.
1. Exécutez la commande suivante pour modifier la configuration libvirtd.
sudo nano /etc/libvirt/libvirtd.conf
Décommentez l'option \unix_sock_group\ et entrez le nom du groupe sous la forme \libvirt\.
# Set the UNIX domain socket group ownership. This can be used to
# allow a 'trusted' set of users access to management capabilities
# without becoming root.
#
# This setting is not required or honoured if using systemd socket
# activation.
#
# This is restricted to 'root' by default.
unix_sock_group = "libvirt"
Après cela, décommentez l'option \unix_sock_rw_perms\ et laissez la permission par défaut \0770\.
# Set the UNIX socket permissions for the R/W socket. This is used
# for full management of VMs
#
# This setting is not required or honoured if using systemd socket
# activation.
#
# Default allows only root. If PolicyKit is enabled on the socket,
# the default will change to allow everyone (eg, 0777)
#
# If not using PolicyKit and setting group ownership for access
# control, then you may want to relax this too.
unix_sock_rw_perms = "0770"
Enregistrez la configuration en appuyant sur le bouton Ctrl+x et tapez y, puis entrez.
2. Ensuite, ajoutez votre utilisateur au groupe \libvirt\ à l'aide de la commande suivante.
sudo usermod -a -G libvirt username
3. Après cela, redémarrez le service libvirtd pour appliquer une nouvelle configuration.
sudo systemctl restart libvirtd
Désormais, tous les utilisateurs du groupe \libvirt\ pourront créer et configurer des machines virtuelles.
Vérifier l'installation de QEMU/KVM avec virt-manager
Ouvrez maintenant l'application \virt-manager\ depuis le menu de votre application.
1. Cliquez sur le menu \Edit -> Connection Details\ sur l'application virt-manager.

2. Sur l'onglet \Aperçu\, vous verrez que virt-manager se connectera automatiquement à \qemu:///system\.

3. Accédez aux onglets \Réseaux virtuels\ et vous verrez la configuration réseau \par défaut\.
- Interface : virbr0
- Démarrage automatique au démarrage : oui
- Adresse IP : 192.168.122.0/24
- Plage d'adresses IP DHCP : 192.168.122.2 - 192.168.122.254
- Type de réseau : NAT

4. Passez maintenant à l'onglet \Stockage\, et vous verrez la configuration de stockage de pool \par défaut\.
- Type : répertoire du système de fichiers
- Taille : dépend de votre disque
- Emplacement : /var/lib/libvirt/images
- Démarrage automatique au démarrage : oui
Toutes les images de machines virtuelles seront disponibles sur ce stockage par défaut, le répertoire \/var/lib/libvirt/images\.

5. Ensuite, cliquez sur le bouton \+\ pour créer un nouveau pool de stockage pour les fichiers image ISO. Tous les fichiers ISO des systèmes d'exploitation seront disponibles dans ce pool.
Suivez la configuration de stockage comme ci-dessous :
- Nom : ISO
- Type : dir : répertoire du système de fichiers
- Chemin cible : /chemin/répertoire/vers/votre/iso/

Cliquez sur le bouton \Terminer\ pour terminer le processus. Après cela, vous êtes prêt à créer de nouvelles machines virtuelles.
Créer une nouvelle machine virtuelle à l'aide de virt-manager
1. Sur l'application virt-manager, cliquez sur le bouton \+\ pour créer une nouvelle machine virtuelle.

2. Sélectionnez \Support d'installation local\ pour utiliser l'image ISO pour l'installation et cliquez sur le bouton \Suivant\ pour continuer.

3. Cliquez sur le bouton \Parcourir\ pour sélectionner le fichier ISO.

Choisissez maintenant le pool de stockage \ISO\ et sélectionnez le fichier iso pour l'installation (pour cet exemple, il s'agit de \Debian 10\), puis cliquez sur \Choisir un volume\.

Décochez l'option \Automatically detect from the installation media/source\, saisissez le système d'exploitation que vous souhaitez installer (dans cet exemple, il s'agit de \Debian 10\), puis cliquez à nouveau sur le bouton \Suivant\ pour continuer.

4. Choisissez la quantité de mémoire et de CPU pour la machine virtuelle, puis cliquez sur \Suivant\.

5. Choisissez la quantité de disque pour la machine virtuelle et cliquez sur \Suivant\.

6. Revérifiez votre configuration et cliquez sur le bouton \Terminer\ pour procéder à l'installation.

7. Maintenant, la machine virtuelle est opérationnelle avec la virtualisation QEMU/KVM, et vous pouvez continuer l'installation du système d'exploitation.

Conclusion
Toutes nos félicitations! vous avez appris à configurer la virtualisation QEMU/KVM sur une machine Manjaro/Archlinux. En outre, comment utiliser l'application virt-manager pour créer des machines virtuelles. Vous pouvez désormais créer des machines virtuelles avec votre système d'exploitation préféré. Vous pouvez utiliser une autre distribution Linux, Windows ou un système d'exploitation de la famille BSD.