Gentoo Linux: La virtualisation facile avec QEMU-KVM, libvirtd et Virt-Manager.
La virtualisation libre et facile avec QEMU-KVM, c'est possible! c'est réalisable!
Cette article a pour but de présenter succinctement la virtualisation sous Gentoo Linux en utilisant la technologie QEMU-KVM. Nous ne rentrerons pas dans les détails concernant la configuration avancé des différents outils, le but étant d'avoir rapidement un environnement de virtualisation simple et le plus conviviale possible.
Prérequis pour l'installation
- Gentoo Linux (x86 / x86_64)
- Processeur compatible Intel-VT ou AMD-V
- Kernel => 2.6.20
Configuration noyau
Vérifier que votre kernel est compilé avec les modules suivants: (dans notre exemple nous disposons d'un processeur Intel)
[*] Virtualization ---> <M> Kernel-based Virtual Machine (KVM) support <M> KVM for Intel processors support Device Drivers ---> <M> Universal TUN/TAP device driver support
Chargement des modules
On automatise le chargement des modules au démarrage de la machine.
# echo "tun" >> /etc/modules.autoload.d/kernel-2.6 # echo "kvm-intel" >> /etc/modules.autoload.d/kernel-2.6
Puis on charge manuellement les modules
# modprobe tun # modprobe kvm-intel (ou amd)
Si le module kvm refuse de se charger vérifiez que votre processeur supporte la virtualisation compatible KVM:
Pour Intel :
# grep vmx /proc/cpuinfo
Pour AMD:
# grep svm /proc/cpuinfo
Si vous disposez bien du flag associé à votre processeur et que module refuse quand même de se charger pensez à activer la virtualisation dans votre BIOS.
Installation de Virt-Manager, libvirtd, QEMU-KVM
Les paquets pour QEMU-KVM n'ont pas encore été stabilisé il faut donc les "Dé-keyworder": (~x86 à adapter selon votre profile)
# echo "app-emulation/virt-manager ~x86" >> /etc/portage/package.keywords # echo "app-emulation/virtinst ~x86" >> /etc/portage/package.keywords # echo "app-emulation/libvirt ~x86" >> /etc/portage/package.keywords # echo "net-analyzer/netcat6 ~x86" >> /etc/portage/package.keywords # echo "app-emulation/qemu-kvm ~x86" >> /etc/portage/package.keywords
On ajoute le USE flag qemu pour le paquet libvirt
# echo "app-emulation/libvirt qemu" >> /etc/portage/package.use
Enfin on installe Virt-Manager
# emerge -av app-emulation/virt-manager
Configuration de libvirtd
Libvirtd est un service qui va nous permettre de gérer facilement nos machines virtuelles.
Par défaut portage va créer le groupe "kvm" lors de l'installation du paquet qemu-kvm, nous allons utiliser ce groupe pour gérer les services lié à la virtualisation.
On édite /etc/libvirt/libvirtd.conf en dé-commentant et en adaptant les lignes suivantes:
unix_sock_group = "kvm" unix_sock_ro_perms = "0777" unix_sock_rw_perms = "0770" auth_unix_ro = "none" auth_unix_rw = "none"
Pour plus de sécurité vous pouvez bien-sûr adapter le fichier libvirtd.conf comme bon vous semble.
On démarre le service libvirtd:
# /etc/init.d/libvirtd start
On invite le service libvirtd à démarrer automatiquement au lancement de la machine.
# eselect rc add libvirtd default
Lancement de Virt-Manager
On oublie pas d'ajouter l'utilisateur de son choix dans le groupe "kvm"
# usermod -ag kvm $VOTRE_UTILISATEUR
Puis on lance "virt-manager" dans une console graphique.
Je vous laisse le plaisir de découvrir par vous même l'outil. La création d'une nouvelle machine virtuel se faisant en quelques clics.
Pour ceux qui désire voir a quoi ressemble Virt-Manager vous pouvez consulter quelques captures d'écran sur le site officiel du projet.
Amusez-vous bien!