Comment créer des machines virtuelles sous Linux à l'aide de KVM (machine virtuelle basée sur le noyau) - Partie 1
Ce didacticiel traite de l'introduction de KVM, de son déploiement et de la manière de l'utiliser pour créer des machines virtuelles sous des distributions basées sur RedHat telles que RHEL/CentOS7 et Fedora 21. .
Qu’est-ce que KVM ?
KVM ou (Kernel-based Virtual Machine) est une solution de virtualisation complète pour Linux sur le matériel Intel 64 et AMD 64 qui est incluse dans le noyau Linux principal depuis 2.6.20 et qui est stable et rapide pour la plupart des charges de travail.
Fonctionnalités KVM
Vous bénéficierez de nombreuses fonctionnalités et avantages utiles lorsque vous utiliserez KVM pour déployer votre plate-forme virtuelle. L'hyperviseur KVM prend en charge les fonctionnalités suivantes :
- Sur-engagement : ce qui signifie allouer plus de processeurs ou de mémoire virtualisés que les ressources disponibles sur le système.
- Thin provisioning : qui permet l'allocation de stockage flexible et optimise l'espace disponible pour chaque machine virtuelle invitée.
- Limitation des E/S disque : permet de définir une limite sur les demandes d'E/S disque envoyées depuis les machines virtuelles vers la machine hôte.
- Équilibrage automatique NUMA : améliore les performances des applications exécutées sur les systèmes matériels NUMA.
- Capacité d'ajout à chaud de processeur virtuel : offre la possibilité d'augmenter la puissance de traitement selon les besoins sur les machines virtuelles en cours d'exécution, sans temps d'arrêt.
Il s'agit de notre première série KVM (Kernel-based Virtual Machine) en cours. Nous allons ici couvrir les articles suivants de manière partielle.
Conditions préalables
Assurez-vous que votre système dispose des extensions de virtualisation matérielle : pour les hôtes basés sur Intel, vérifiez que l'extension de virtualisation du processeur [vmx] est disponible à l'aide de la commande suivante.
[root@server ~]# grep -e 'vmx' /proc/cpuinfo
Pour les hôtes basés sur AMD, vérifiez que l'extension de virtualisation du processeur [svm] est disponible.
[root@server ~]# grep -e 'svm' /proc/cpuinfo
S'il n'y a aucune sortie, assurez-vous que les extensions de virtualisation sont activées dans le BIOS. Vérifiez que les modules KVM sont chargés dans le noyau « il devrait être chargé par défaut ».
[root@server ~]# lsmod | grep kvm
La sortie doit contenir kvm_intel pour les hôtes basés sur Intel ou kvm_amd pour les hôtes basés sur AMD.
Avant de commencer, vous aurez besoin du compte root ou de l'utilisateur non root avec les privilèges sudo configurés sur votre système et assurez-vous également que votre système est à jour.
[root@server ~]# yum update
Assurez-vous que Selinux est en mode permissif.
[root@server ~]# setenforce 0
Étape 1 : Installation et déploiement de KVM
1. Nous allons d'abord installer les packages qemu-kvm et qemu-img. Ces packages fournissent le KVM au niveau de l'utilisateur et le gestionnaire d'images disque.
[root@server ~]# yum install qemu-kvm qemu-img
2. Désormais, vous disposez du minimum requis pour déployer une plateforme virtuelle sur votre hébergeur, mais nous disposons également d'outils utiles pour administrer notre plateforme tels que :
- virt-manager fournit un outil GUI pour administrer vos machines virtuelles.
- libvirt-client fournit un outil CL pour administrer votre environnement virtuel, cet outil appelé virsh.
- virt-install fournit la commande « virt-install » pour créer vos machines virtuelles à partir de CLI.
- libvirt fournit les bibliothèques côté serveur et hôte pour interagir avec les hyperviseurs et les systèmes hôtes.
Installons ces outils ci-dessus à l'aide de la commande suivante.
[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client
3. Pour les utilisateurs de RHEL/CentOS7, il reste également des groupes de packages supplémentaires tels que : client de virtualisation, plate-forme de virtualisation et outils de virtualisation à installer.
[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools
4. Le démon de virtualisation qui gère l'ensemble de la plateforme est « libvirtd ». Redémarrons-le.
[root@server ~]#systemctl restart libvirtd
5. Après avoir redémarré le démon, vérifiez son état en exécutant la commande suivante.
[root@server ~]#systemctl status libvirtd
Exemple de sortie
libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled)
Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago
Main PID: 25701 (libvirtd)
Passons maintenant à la section suivante pour créer nos machines virtuelles.
Étape 2 : Créer des machines virtuelles à l'aide de KVM
Comme nous l'avons mentionné plus tôt, nous disposons d'outils utiles pour gérer notre plate-forme virtuelle et créer des machines virtuelles. L'un de ces outils appelé [virt-manager] que nous utilisons dans la section suivante.
6. Bien que virt-manager soit un outil basé sur une interface graphique, nous pouvons également le lancer/démarrer depuis un terminal ainsi que depuis une interface graphique.
[root@server ~]#virt-manager
Utiliser GNOME
Utiliser GNOME Classique
7. Après avoir démarré l'outil, cette fenêtre apparaîtra.
8. Par défaut, vous constaterez que le gestionnaire est connecté directement à localhost, heureusement vous pouvez utiliser le même outil pour gérer un autre hôte à distance. Dans l'onglet « Fichier », sélectionnez simplement « Ajouter une connexion » et cette fenêtre apparaîtra.
Cochez l'option « Se connecter à l'hôte distant » puis fournissez le Nom d'hôte/IP du serveur distant. Si vous avez besoin d'établir une connexion à l'hôte distant à chaque démarrage du gestionnaire, cochez simplement l'option « Connexion automatique ».
9. Revenons à notre hôte local, avant de créer une nouvelle machine virtuelle, vous devez décider où les fichiers seront stockés ?! en d'autres termes, vous devez créer le Disque de volume (Disque virtuel/Image disque) pour votre machine virtuelle.
En faisant un clic droit sur localhost et en sélectionnant « Détails », puis sélectionnez l'onglet « Stockage ».
10. Ensuite, appuyez sur le bouton « Nouveau volume », puis saisissez le nom de votre nouveau disque virtuel (Volume Disk) et saisissez la taille qui vous voulez/avez besoin dans la section « Capacité maximale ».
La taille d'allocation est la taille réelle de votre disque qui sera immédiatement allouée à partir de votre disque physique une fois les étapes terminées.
Remarque : Il s'agit d'une technologie importante dans le domaine de l'administration du stockage appelée « allocation légère ». Il était utilisé pour allouer uniquement la taille de stockage utilisée, PAS la totalité de la taille disponible.
Par exemple, vous avez créé un disque virtuel d'une taille 60 G, mais vous n'avez utilisé en réalité que 20 G. En utilisant cette technologie, la taille allouée à partir de votre disque dur physique sera de 20 G. pas 60G.
En d’autres termes, la taille physique allouée sera allouée dynamiquement en fonction de la taille réellement utilisée. Vous pouvez trouver plus d’informations en détail sur VMWare vStorage Thin Provisioning.
11. Vous remarquerez qu'une étiquette du nouveau disque de volume est apparue dans la liste.
Vous devriez également remarquer le chemin de la nouvelle image disque (Volume Disk), par défaut elle sera sous /var/lib/libvirt/images, vous pouvez la vérifier en utilisant la commande suivante.
[root@server Downloads]# ls -l /var/lib/libvirt/images
-rw-------. 1 root root 10737418240 Jan 3 16:47 vm1Storage.img
12. Nous sommes maintenant prêts à créer notre machine virtuelle. Frappons le bouton « VM » dans la fenêtre principale, cette fenêtre d'assistant apparaîtra.
Sélectionnez la méthode d'installation que vous utiliserez pour créer la machine virtuelle. Pour l’instant, nous utiliserons le support d’installation local, nous discuterons plus tard des méthodes restantes.
13. Il est maintenant temps de spécifier le support d'installation locale à utiliser. Nous avons deux options :
- À partir du [CDROM/DVD] physique.
- À partir d'une image ISO.
Pour notre tutoriel, utilisons la méthode de l'image ISO, vous devez donc fournir le chemin de votre image ISO.
Important : Malheureusement, il y a un bug vraiment idiot pour ceux qui utilisent RHEL/CentOS7. Ce bug vous empêche d'installer à l'aide d'un [CDROM/DVD] physique, vous constaterez que l'option est grisée comme ceci.
Et si vous maintenez votre curseur dessus, ce message d'erreur apparaîtra.
Jusqu'à présent, il n'existe pas de solution officielle/directe à ce bug, vous pouvez trouver plus d'informations à ce sujet sur https://bugzilla.redhat.com.
14. Le stockage est revenu, nous utiliserons le disque virtuel que nous avons créé précédemment pour y installer une machine virtuelle. Ce sera comme indiqué.
15. La dernière étape qui vous demande le nom de votre machine virtuelle et d'autres options avancées permet d'en parler plus tard.
Si vous souhaitez modifier une configuration ou effectuer une personnalisation, cochez simplement l'option « Personnaliser la configuration avant l'installation ». Cliquez ensuite sur Terminer et attendez quelques secondes, la console de contrôle apparaîtra pour que votre système d'exploitation invité puisse le gérer.
Conclusion
Vous avez maintenant appris ce qu'est KVM, comment gérer votre plate-forme virtuelle à l'aide d'outils GUI, comment déployer une machine virtuelle en l'utilisant et d'autres choses géniales.
Bien que ce ne soit pas la fin de l'article, dans nos prochains articles, nous aborderons un autre sujet important lié au KVM. Salissez-vous les mains en utilisant les connaissances précédentes et soyez prêt pour la partie suivante…..