Linux

KVM : Maîtriser la mis en place de l’hyperviseur KVM

KVM pour « Kernel Virtual Machine » est une Technologie de virtualisation Open Source qui permet de transformer un système linux à un Hyperviseur.
Nous allons voir dans cet article la mise en place d’un Hyperviseur KVM et comment vous pouvez créer et gérer vos machine virtuelle.
Croyez-moi Créer un Hyperviseur KVM n’est pas si compliqué, ils vous suffit de suivre cet article jusqu’à la fin 😉 .

Dans cet article je vais utiliser la distribution Ubuntu, c’est presque la même pour toute les distribution.

Avant de commencer, Pour ceux qui ne savent pas ce que c’est un Hyperviseur, je leurs recommande de lire cet article ou bien pour ceux qui n’aime pas trop lire, je vous ai préparé cet vidéo :

KVM est d’un module de noyau linux, c-à-d qu’il s’installe au niveau du noyau d’un système linux et une fois installé il transforme ce noyau à un Hyperviseur.
KVM est intégré aux noyaux Linux supérieures ou égales au version 2.6.20 et distribuée sous licence GPLv2 ou LGPL.

La société israélienne Qumranet, une société israélienne spécialisée en technologies de virtualisation était à l’origine de la solution KVM. la société a été racheté par la suite par Red Hat Entreprise, Ainsi Red Hat deviens le principal contributeur de KVM.

Configuration requis pour l’hyperviseur KVM :

Pour que vous puissiez installer l’hyperviseur KVM, il faut que le processeur support la technologie de la virtualisation VT-x des processeur Intel ou SVM des processeur AMD. Cette technologie permet aux postes de travail équipés de processeurs Intel ou AMD d’exécuter de multiples systèmes d’exploitation et d’applications sur une seul machine unique.

Ainsi Avant de procéder à l’installation et créer notre Hyperviseur KVM,  il faut s’assurer  que le CPU supporte bien cette technologie de virtualisation.

C’est très simple, il suffit de rechercher les mots « vmx » ou « svm » dans le fichier /proc/cpuinfo qui contient toute les informations de votre CPU.

Voici la commande que je vous propose :

# grep -E 'vmx|svm' /proc/cpuinfo &>/dev/null && echo "La virtualisation est possible sur cette machine." || echo "Le microprocesseur de cette machine ne permet pas d'utiliser la virtualisation avec KVM."

Si le CPU support la virtualisation, le message « La virtualisation est possible sur cette machine  » s’affiche, sinon c’est le message « Le microprocesseur de cette machine ne permet pas d’utiliser la virtualisation avec KVM  » qui s’affiche.

Quelques Vérification avant de procéder à l’installation  :

J’ai mentionné que KVM est intégré aux noyaux Linux supérieures ou égales au version 2.6.20, donc pas besoin de l’installer ;).

-Vérifier la version de votre en tapant la commande :

# uname -a

-Vérifiez que les modules KVM sont bien disponibles sur votre distribution :

# find /lib/modules/`uname -r` -iname "*kvm*"

-Autre alternative est de faire la vérification depuis la configuration noyau ( l’emplacement du fichier noyau dépend de votre distribution ):

# grep KVM /boot/config-2.6.38-2-amd64

Libvirt :

Maintenant que nous avons vérifié que notre CPU support bien la technologie de la virtualisation, nous aurons besoin d’une bibliothèque excrément importante qui permet de gérer les machines virtuelles, c’est Libvirt.

Il s’agit d’un ensemble de logiciels qui permet de faciliter la gestion des machine virtuelle ( Création, modification, suppression, migration, etc ) de plusieurs hyperviseur, et oui plusieurs hyperviseur pas seulement KVM 🙂 .

Libvirt a été développé par Red Hat pour interagir avec plusieurs Hyperviseur comme KVM. En voici quelques un :

-KVM
-Hyperviseur Xen
-OpenVZ
-VMware ESX

Pour qu’on puisse gérer nos VMs ( Création, modification, Migration, etc ) Nous allons utiliser deux outils de gestion : Virsh et Virt-manager. (il y’en a d’autre outils intéressants comme OpenStack et oVirt mais nous n’allons pas les avoir dans cet article, je vous laisse voir ces deux vidéo de Redhat pour en avoir une idée :

https://www.youtube.com/watch?v=9-br7qDuuK4

Ces deux outils de gestion utilise Libvirt pour gérer les VM d’un hyperviseur compatible avec libvirt. Pour comprendre La relation entra les outils de gestion,Libvirt et les hyperviseur je vous ai préparer l’image ci-dessous:

Comme vous pouvez le constater sur l’image, les outils de gestion comme ( Virsh, virt-manager ) utilise la bibliothèque Libvirt pour gérer les hyperviseurs comme KVM,LXC,Xen, ESX.

Tout est claire maintenant j’imagine 🙂 .

Maintenant que nous savons ce que c’est KVM et libvirt nous allons voir la procédure pour installer tous les packages nécessaires pour installer un Hyperviseur KVM.

Les packages requis pour la mise en place d’un environnement de virtualisation KVM sont : libvirt, qemu-kvm, et  virt-manager.

# apt-get install qemu-kvm libvirt-bin virt-manager

Libvirt et virt-manager vous les connaissez déjà mais qemu-kvm, ça c’est nouveau.

Qemu :

Pour comprendre à quoi sert le package qemu-kvm il faut comprendre ce que c’est l’émulateur Qemu.

C’est quoi déja un émulateur ?

Pour que vous puissiez jouer aux anciens jeux de Nintendo sur votre ordinateur il vous faut d’abord installer un émulateur sur votre PC.

Car les jeux de Nintendo ont été conçus pour tourner sur les architectures des consoles Nintendo et puisque cette architecture est différente de celle de votre PC, ils ne peuvent pas y tourner. C’est pour cela qu’il faut un émulateur installé sur votre PC pour créer un environnement similaire aux consoles Nintendo.
Et bien Qemu fait la même chose, il permet d’émuler plusieurs architecture comme x86 de Intel, ARM et PowerPC d’IBM pour que vous puissiez tourner différente système d’exploitation.

Qemu-KVM est un Qemu modifié qui permet accélérer les jeux instructions.

Maintenant que les chose sont claire, nous allons passer à la création de nos VM ;).

Création des machines virtuelles :

Avec Virt-manager :

Virt-manager (Virtual Machine Manager) est une application qui permet la gestion des machines virtuelle via libvirt.
Avec son interface graphique simple, on peut facilement créer de nouvelles machines virtuelles, les surveiller et effectuer des modifications de configuration en cas de besoin.

Avant de commencer de créer une VM, il faut s’assurer que Virt-manager est bien connecté au Qemu-KVM, pour cela, après avoir démarré l’application,  faut que
‘Qemu-kvm’ doit être affiché comme montre l’image ci-dessous :

Si ce n’est pas le cas, il faut cliquer sur ‘Ajouter une connexion’ et ensuite ajouter ‘QEMU/KVM’ dans la zone Hyperviseur :

Nous allons créer une machine virtuelle dont l’os est Debian .
Pour démarrer virt-manager, il suffi de taper la commande virt-manager :

et notre interface Virt-manager s’affiche :

-Cliquer sur fichier/Nouvelle VM et sélectionner le 1er choix ( car nous allons procéder à une installation via image ISO )  :

-Sélectionner votre image ISO :

-Ensuite vous choisissez les ressource de la VM, voici la configuration qu j’ai choisie :

-RAM = 1Go
-CPU = 1
-La taille du disque : 10GiB

-Le nom que j’ai donnée à la machine est Debian-vm

-Le réseau sélectionné est NAT ( C’est le réseau virtuel par défaut )

-Et enfin cliquer sur Terminer, Virt-manager vous indique que votre VM est en cours d’installation :

-On ouvre ensuite la console pour procéder à l’installation de l’OS :

-Notre Vm est maintenant fonctionnelle :

Avec virsh :

Si vous vous rappelez bien, on a déjà parler de virsh, qui est un utilitaire qui permet de gérer les machine virtuelle et opère comme une alternative à l’outil graphique Virt-manager.
Contrairement à Virt-manager, Il n’ y a pas un moyen pour installer une nouvelle Vm avec virsh, Vous pouvez créer une nouvelle machine virtuelle à partir de la définition XML d’une machine déja installé en utilisant la commande ci-dessous :
#virsh create <Chemin du fichier XML>

Mais nous vous inquiétez, pour installer une nouvelle vm en ligne de commande, autre alternative est à votre service :  Virt-install  😉

Avec Virt-install :

Virt-install est un outil de ligne de commande interactif qui permet  d’installer une Vm et puis lancez le processus d’installation.

Avant de démarrer l’installation du système d’exploitation à l’aide de la commande virt-install, il est nécessaire d’avoir un disque virtuel créé. Pour créer un disque virtuel, Nous allons utiliser la commande qemu-img.

Nous allons créer un disque de 10 Go avec le format du disque raw:

# qemu-img create -f raw -o size=10G /var/lib/libvirt/qemu/debian-vm.img

Ensuite on démarre virt-install avec la commande ci-dessous :

virt-install  --name Debian-vm   --ram 1024  --disk path=./var/lib/libvirt/qemu/debian-vm.img --vcpus 1 --os-type linux --network bridge=virbr0 --graphics vnc,port=5999 --console pty,target_type=serial --cdrom ./debian.iso

Tout comme avec le Virtual Machine Manager, après avoir créé la machine virtuel on doit lancé la console pour suivre l’installation avec la commande :

Félicitation, vous venez d’installer votre hyperviseur KVM avec une machine virtuelle 😉

Maintenant nous allons revenir à notre fameux gestionnaire graphique Virt-manager car nous en avons pas encore fini encore avec 😉 .

cliquer ici pour lire la suite.

 

 

One Reply to KVM : Maîtriser la mis en place de l’hyperviseur KVM

  1. Bonjour Monsieur;

    Mon systeme contient 2 serveurs redondants, avec 03 VM chacun et redondants aussi.

    J’ai une machine virtuelle qui ne veut pas démarrer et me affiche un message : No Boutable …….

    Cette VM contient un @IP et le ping ne marche plus.

    Cette VM elle est responsable de la gestion de la plate-forme graphique de supervision des systèmes réseaux optiques.

    Pour le moment j’utilise la deuxième redondante.

    comment je pourrais récupérer ma machine virtuelle?

    Merci beaucoup

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *