🟢 EndeavourOS Virt-Manager Complete Edition (VMM KVM QEMU)
Depuis son introduction, la virtualisation a parcouru un long chemin. De nos jours, les hyperviseurs sont utilisés pour presque tout, de l’exécution de serveurs au niveau de l’entreprise au test de différents systèmes d’exploitation sur un ordinateur utilisateur local.
Nous allons installer l’un des meilleurs ensembles d’outils gratuits utilisés pour la virtualisation qui se compose de Virt-Manager , KVM et QEMU .(How to install Virt-Manager Complete Edition)
Virt-Manager
-
Virt-Manager est un frontal utilisateur graphique pour la bibliothèque qui fournit des services de gestion de machines virtuelles. L’interface Virt-manager permet à l’utilisateur de créer, supprimer et manipuler facilement des machines virtuelles sans passer par le terminal.
Virt-manager prend principalement en charge KVM mais il peut également fonctionner avec d’autres hyperviseurs tels que Xen et LXC
Lorsque virt-manager est installé, il est livré avec l’ensemble d’outils répertorié ci-dessous.- virt-install : utilitaire de ligne de commande pour provisionner le système d’exploitation
- virt-viewer : L’interface utilisateur avec des fonctionnalités graphiques
- virt-clone : outil en ligne de commande pour cloner des hôtes inactifs existants
- virt-xml : outil de ligne de commande pour éditer facilement le XML du domaine libvirt à l’aide des options de ligne de commande de virt-install.
- virt-bootstrap : outil de commande fournissant un moyen simple de configurer le système de fichiers racine pour les conteneurs basés sur libvirt.
- KVM. Les lettres KVM signifient K ernel-based V irtual M achines. KVM est une solution de virtualisation complète Linux pour les processeurs d’architecture x86 qui a l’extension de virtualisation (Intel VT et AMD-V).
KVM est un logiciel gratuit et open-source. La prise en charge de KVM est incluse dans tous les nouveaux noyaux Linux par conception. - QEMU est la version abrégée de Quick EMUlator, un émulateur open source gratuit capable d’effectuer une virtualisation matérielle . Il émule le processeur de la machine hôte via une traduction binaire dynamique. Cela fournit différents ensembles de modèles de matériel et de périphérique pour la machine hôte, ce qui lui permet d’exécuter une variété de systèmes invités.
KVM peut être utilisé avec QEMU, ce qui permet aux machines virtuelles d’être exécutées presque à des vitesses natives. Non seulement l’émulation matérielle, QEMU est capable d’émuler des processeurs de niveau utilisateur qui permettent aux applications compilées pour une architecture de s’exécuter sur une autre.
Installer VMM
Script pour une installation
1
2
3
4
5
sudo pacman -S qemu-full libvirt virt-install virt-manager edk2-ovmf swtpm qemu-img libosinfo
sudo usermod -aG libvirt $USER
sudo systemctl enable --now libvirtd.service
sudo systemctl enable --now libvirtd.socket
sudo virsh net-autostart default
Modification des permissions
1
2
3
4
5
6
# Modifier le fichier /etc/libvirt/libvirtd.conf
sudo sed -i -e 's/#unix_sock_group = "libvirt"/unix_sock_group = "libvirt"/g' /etc/libvirt/libvirtd.conf
# Optionnel: virt-viewer guestfs-tools
sudo sed -i -e 's/#unix_sock_rw_perms = "0777"/unix_sock_rw_perms = "0770"/g' /etc/libvirt/libvirtd.conf
sudo sed -i -e 's/#unix_sock_ro_perms = "0777"/unix_sock_ro_perms = "0777"/g' /etc/libvirt/libvirtd.conf
sudo systemctl restart libvirtd.service
TPM - swtpm
1
2
3
4
5
6
7
8
9
10
11
# Créer utilisateur système swtpm
sudo useradd -r swtpm
sudo mkdir -p /var/lib/swtpm-localca
sudo chown swtpm:swtpm /var/lib/swtpm-localca
# Ajout lignes suivantes au fichier /etc/libvirt/qemu.conf
sudo sed -i -e 's/#swtpm_user = "tss"/swtpm_user = "swtpm"/g' /etc/libvirt/qemu.conf
sudo sed -i -e 's/#swtpm_group = "tss"/swtpm_group = "swtpm"/g' /etc/libvirt/qemu.conf
# Utilisateur ID (1000)
sudo sed -i -e 's/#user = "libvirt-qemu"/user = "1000"/g' /etc/libvirt/qemu.conf
sudo sed -i -e 's/#group = "libvirt-qemu"/group = "1000"/g' /etc/libvirt/qemu.conf
Un redémarrage complet de la machine est nécessaire
Modification pool
Modifier l’emplacement du pool de stockage par défaut de KVM Libvirt à l’aide de Virt-manager
Virt-manager, abréviation de Virtual Machine Manager, est une interface graphique utilisée pour gérer les machines virtuelles via libvirt.
Ouvrir l’application Virt-manager. Faire un clic droit sur QEMU/KVM et cliquer sur l’option Détails.
Ajouter ISO

Idem pour KVM, puis arrêter et désactiver démarrage auto pour default

Vérifications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@pc1 yann]# virsh pool-list
Nom État Démarrage automatique
--------------------------------------
ISO actif oui
KVM actif oui
[root@pc1 yann]# virsh pool-info KVM
Nom : KVM
UUID : 038c01ee-c620-48c1-a6cb-0987645b6987
État : en cours d’exécution
Persistant : oui
Démarrage automatique : oui
Capacité : 468,38 GiB
Allocation : 240,04 GiB
Disponible : 228,34 GiB
[root@pc1 yann]# virsh pool-info ISO
Nom : ISO
UUID : 45d9c87e-a7a9-4ef1-a5e7-e9c3e207d813
État : en cours d’exécution
Persistant : oui
Démarrage automatique : oui
Capacité : 1,79 TiB
Allocation : 1,07 TiB
Disponible : 739,93 GiB
Réseau
Vérification
1
sudo virsh net-list --all
1
2
3
Nom État Démarrage automatique Persistant
-------------------------------------------------------
default actif oui oui
Hôte - NetworkManager Bridge Network br1 sur autre interface
On dispose d’une seconde ou plus interface réseau
1
2
3
4
5
6
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 38:d5:47:7c:a0:6c brd ff:ff:ff:ff:ff:ff
3: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP mode DEFAULT group default qlen 1000
link/ether 6c:b3:11:32:04:c8 brd ff:ff:ff:ff:ff:ff
5: enp3s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 6c:b3:11:32:04:c9 brd ff:ff:ff:ff:ff:ff
Dans ce cas, 3 interfaces réseau, enp0s31f6 est l’interface affectée à br0 et utilisée par l’hôte
Créer un Pont br1
Créer un pont nommé br1
1
2
3
4
sudo nmcli con add ifname br1 type bridge con-name br1
sudo nmcli con modify br1 bridge.stp no
# désactiver IPV6 sur br1
sudo nmcli connection modify br1 ipv6.method "disabled"
Affichez les interfaces réseau et notez le(s) nom(s) des interfaces que vous souhaitez ajouter au pont
1
nmcli device status
Affectez les interfaces à la passerelle.
Si les interfaces que vous souhaitez affecter à la passerelle ne sont pas configurées, créez de nouveaux profils de connexion pour elles
1
sudo nmcli con add type bridge-slave ifname enp3s0f0 master br1
Définir la connexion existante, celle qui utilise enp3s0f0, comme “down” (vous pouvez l’obtenir avec nmcli connection show –active) :
1
sudo nmcli con down 15950896-b8dc-39c8-9f21-f20f13086975
Mettre en place le nouveau pont :
1
sudo nmcli con up br1
Utilisez l’utilitaire ip pour afficher l’état des liens des périphériques Ethernet qui sont des ports d’un pont spécifique :
1
ip a show br1
1
2
3
4
9: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 26:89:96:2c:1d:9d brd ff:ff:ff:ff:ff:ff
inet 192.168.10.180/24 brd 192.168.10.255 scope global dynamic noprefixroute br1
valid_lft 85978sec preferred_lft 85978sec
Pont réseau virtuel “host-tenda”
Les commandes virsh en mode su
Déclarer le pont (bridge) à KVM.
Créer un fichier de définition de réseau au format XML :
1
nano host-tenda.xml
1
2
3
4
5
<network>
<name>host-tenda</name>
<forward mode="bridge"/>
<bridge name="br1" />
</network>
Appliquer la configuration :
1
2
3
sudo virsh net-define host-tenda.xml # -> Réseau host-tenda défini depuis host-tenda.xml
sudo virsh net-start host-tenda # -> Réseau host-tenda démarré
sudo virsh net-autostart host-tenda # -> Réseau host-tenda marqué en démarrage automatique
Vérification
1
sudo virsh net-list --all
1
2
3
Nom État Démarrage automatique Persistant
-------------------------------------------------------------
host-tenda actif oui oui
Boot UEFI
Problème démarrage uefi
L’amorçage échoue et invite à presser une touche pour afficher le menu de Boot UEFI
Pour voir s’afficher la disponibilité de Secure Boot : presser une touche, le menu de Boot UEFI s’affiche, sélectionner EFI Firmware setup -> Device Manager -> Secure Boot Configuration
1
2
* Current Secure Boot State, l'état doit-être enabled
* Secure Boot Mode est standard





