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.