igloo

Qemu/Virt-manager sous Gentoo

mise à jour: 06/2024

QEMU est un logiciel libre de machine virtuelle, pouvant émuler un processeur et, plus généralement, une architecture différente si besoin. Il permet d'exécuter un ou plusieurs systèmes d'exploitation via les hyperviseurs KVM et Xen, ou seulement des binaires, dans l'environnement d'un système d'exploitation déjà installé sur la machine.

Virt-Manager est une interface utilisateur permettant de gérer des machines virtuelles via libvirt. Il cible principalement les machines virtuelles KVM, mais gère également Xen et LXC (conteneurs Linux). Il présente une vue récapitulative des machines en cours d'exécution, de leurs performances en temps réel et des statistiques d'utilisation des ressources. Il permet la création de nouvelles machines, ainsi que la configuration et l'ajustement de l'allocation des ressources et du matériel virtuel d'une VM.

Vous devez avant tout vérifier que votre matériel supporte la virtualisation via KVM.

Tapez la commande suivante :

$ grep --color -E "vmx|svm" /proc/cpuinfo

Si 'vmx' ou 'svm' apparaissent dans les résultats, tout est ok.
Vérifiez également que la virtualisation est activée dans le BIOS de votre machine.
Les options suivantes doivent être activées dans votre noyau :

# cd /usr/src/linux
# make menuconfig'

[*] Virtualization --->
<*> Kernel-based Virtual Machine (KVM) support
<M> KVM for Intel processors support
ou
<M> KVM for AMD processors support
<*> Host kernel accelerator for virtio net

Device Drivers --->
[*] Network device support --->
[*] Network core driver support
<*> Universal TUN/TAP device driver support

[*] Networking support --->
Networking options --->
<*> The IPv6 protocol
<*> 802.1d ethernet Bridging

Kernel hacking --->
Compile-time checks and compiler potions --->
[*] Debug Filesystem

File systems --->
<*> The Extended 4 (ext4) filesystem
[*] Ext4 Security Labels

Vous aurez besoin de variables USE supplémentaires, créez le fichier /etc/portage/package.use/qemu

# emacs /etc/portage/package.use/qemu

Installez qemu :

app-emulation/qemu virt-network usbredir spice

# emerge --ask app-emulation/qemu

Installez libvirt :

# emerge -a libvirt

Ajoutez-vous au groupe libvirt :

# usermod -a -G libvirt <utilisateur>

Ajoutez le démon libvirt au démarrage et lancer le :

# rc-update add libvirtd default
# /etc/init.d/libvirtd start

Installez virt-manager et ajoutez-vous au groupe kvm :

# emerge -a virt-manager
# gpasswd -a <utilisateur> kvm

Installez bridge-utils

# emerge --ask bridge-utils

Éditez votre fichier de configuration réseau (ici '/etc/conf.d/net')

- Configuration pour 2 cartes physiques:

config_enp5s0="192.168.1.10/24"
routes_enp5s0="default via 192.168.1.254

config_enp6s0="null"
bridge_br0="enp6s0"
bridge_forward_delay_br0=0
bridge_hello_time_br0=1000

- Configuration pour 1 carte:

config_enp7s0="null"
bridge_br0="enp7s0"
config_br0="192.168.1.10/24"
routes_br0="default via 192.168.1.254"
bridge_forward_delay_br0=0
bridge_hello_time_br0=1000

Il ne reste plus qu'à créer et lancer les services pour chaque interface:

# cd /etc/init.d
# ln -s net.lo net.enp5s0
# ln -s net.lo net.br0
# rc-service net.br0 start

Ajoutez le bridge au démarrage:

# rc-update add net.br0 default

Tout est prêt pour accueillir vos machines virtuelles.

Vous devrez sûrement vous déconnecter/re-connecter avant de lancer Virt-Manager.