Account Connexion
Jump to section

KVM, qu'est-ce que c'est ?

Copier l'URL

KVM (Kernel-based Virtual Machine) est une technologie de virtualisationOpen Source intégrée à Linux®. Avec KVM, vous pouvez transformer Linux en un hyperviseur qui permet à une machine hôte d'exécuter plusieurs environnements virtuels isolés, appelés invités ou machines virtuelles.

KVM fait partie de Linux. Si vous disposez de la version 2.6.20 de Linux ou d'une version plus récente, vous disposez de la technologie KVM. KVM a été annoncé pour la première fois en 2006 et intégré à la version principale du noyau Linux un an plus tard. Comme la technologie KVM fait partie du code Linux existant, elle bénéficie immédiatement de chaque nouvelle fonction, nouveau correctif ou nouvelle amélioration apportés à Linux sans qu'aucune intervention supplémentaire ne soit nécessaire.

KVM convertit Linux en un hyperviseur de type 1 (bare metal). Pour exécuter des machines virtuelles, tous les hyperviseurs ont besoin de certains composants au niveau du système d'exploitation : gestionnaire de mémoire, ordonnanceur, pile d'entrées/sorties (E/S), pilotes de périphériques, gestionnaire de la sécurité, pile réseau, etc. KVM intègre tous ces composants, car il fait partie du noyau Linux. Chaque machine virtuelle est mise en œuvre comme un processus Linux standard programmé par le planificateur Linux, avec le matériel de virtualisation spécialisé (carte réseau, adaptateur graphique, processeurs, mémoire et disques de stockage).

Mise en œuvre de KVM

En bref, vous devez disposer d'une version de Linux sortie après 2007 et l'installer sur un équipement X86 compatible avec la virtualisation. Si ces conditions sont remplies, il ne vous reste plus qu'à charger deux modules existants (un module de noyau hôte et un module spécifique au processeur), un émulateur et les pilotes qui vous permettront d'exécuter d'autres systèmes.

Cependant, la mise en œuvre de KVM sur une distribution Linux prise en charge telle que Red Hat Enterprise Linux étend les fonctionnalités de KVM en vous permettant de permuter les ressources entre les invités, de partager des bibliothèques communes, d'optimiser les performances du système et bien plus encore.

Lorsque vous créez une infrastructure virtuelle sur une plateforme à laquelle vous êtes lié par contrat, l'accès au code source risque d'être limité. En d'autres termes, vos développeurs ne pourront probablement pas réellement innover et le prochain contrat risque de limiter le budget que vous pourriez allouer au cloud, aux conteneurs et à l'automatisation. Pour réaliser la migration vers une plateforme de virtualisation basée sur KVM, vous devez pouvoir examiner, modifier et améliorer le code source de votre hyperviseur. Et comme le code source vous appartient, pas besoin de contrat de licence pour le protéger.

KVM fait partie de Linux et Linux fait partie de KVM. Tout ce qui existe dans Linux existe aussi dans KVM. Cepdendant, les entreprises préfèrent parfois l'hyperviseur KVM pour certaines de ses fonctions spécifiques.

Sécurité

KVM combine la technologie SELinux (Security-Enhanced Linux) et la virtualisation sécurisée (sVirt) pour renforcer la sécurité et l'isolement des machines virtuelles. SELinux établit des barrières de sécurité autour des machines virtuelles. La technologie sVirt étend quant à elle les capacités de SELinux, en vous permettant d'appliquer le mécanisme de contrôle d'accès obligatoire (MAC) aux machines virtuelles invitées et en évitant les erreurs d'étiquetage manuel.

Stockage

La technologie KVM est capable d'utiliser tout type de stockage compatible avec Linux, y compris certains disques locaux et le stockage en réseau (NAS). Les E/S à plusieurs chemins d'accès peuvent améliorer le stockage et assurer la redondance. KVM prend également en charge les systèmes de fichiers partagés afin que les images des machines virtuelles puissent être partagées par plusieurs hôtes. Les images disque permettent le Thin Provisioning, ou allocation fine et dynamique, c'est-à-dire l'allocation de l'espace de stockage à la demande plutôt qu'en amont.

Matériel pris en charge

La technologie KVM fonctionne sur un large éventail de plateformes matérielles certifiées compatibles avec Linux. Comme les fournisseurs de matériel contribuent régulièrement au développement du noyau, les fonctionnalités matérielles les plus récentes sont rapidement intégrées au noyau Linux.

Gestion de la mémoire

KVM hérite des fonctions de gestion de la mémoire de Linux, notamment NUMA et KSM. La mémoire d'une machine virtuelle peut être permutée, soutenue à l'aide de grands volumes pour offrir de meilleures performances, et partagée ou soutenue par un fichier disque.

Migration dynamique

La technologie KVM prend en charge la migration dynamique, c'est-à-dire le déplacement d'une machine virtuelle en cours d'exécution entre plusieurs hôtes physiques sans interruption de service. Pendant son déplacement, la machine virtuelle reste allumée, ses connexions réseau restent actives et ses applications continuent de s'exécuter. KVM enregistre également l'état d'une machine virtuelle afin de le conserver et de le relancer ultérieurement.

Performances et évolutivité

Puisqu'elle bénéficie des performances de Linux, la technologie KVM évolue pour s'adapter à la charge de la demande en cas d'augmentation du nombre de machines invitées ou de requêtes. De plus, elle permet de virtualiser les charges de travail d'applications les plus exigeantes. KVM constitue le socle des installations de virtualisation dans de nombreuses entreprises, notamment les datacenters et les clouds privés (via OpenStack®).

Planification et contrôle des ressources

Dans le modèle KVM, une machine virtuelle est un processus Linux, planifié et géré par le noyau. Le planificateur Linux permet un contrôle précis des ressources allouées à un processus Linux et garantit la qualité de service d'un processus donné. Dans KVM, cela inclut l'ordonnanceur de tâches Completely Fair Scheduler (CFS), les groupes de contrôle, les espaces de noms de réseau et les extensions en temps réel.

Latence plus faible et meilleure hiérarchisation

Le noyau Linux comporte des extensions en temps réel qui permettent aux applications basées sur des machines virtuelles de s'exécuter avec une plus faible latence et une meilleure hiérarchisation (par rapport aux systèmes bare metal). Le noyau divise aussi les processus qui nécessitent de longs délais de calcul en de plus petits composants, qui sont ensuite planifiés et traités.

Il est possible de gérer manuellement un petit nombre de machines virtuelles exécutées sur un même poste de travail sans outil de gestion. Les grandes entreprises utilisent un logiciel de gestion de la virtualisation, qui sert d'interface entre les environnements virtuels et le matériel physique sous-jacent pour simplifier l'administration des ressources, optimiser l'analyse des données et rationaliser l'exploitation. C'est précisément dans ce but que Red Hat a créé Red Hat Virtualization.

Nous avons une telle confiance en KVM qu'il s'agit du seul hyperviseur pour l'ensemble de notre gamme de produits de virtualisation, et nous améliorons constamment le code du noyau grâce aux contributions de la communauté KVM. Et puisque la technologie KVM fait partie de Linux, elle est déjà incluse dans Red Hat Enterprise Linux ; alors à quoi sert Red Hat Virtualization ?

En réalité, Red Hat propose deux versions de KVM. La version de KVM incluse dans Red Hat Enterprise Linux dispose de toutes les fonctionnalités de gestion de base d'un hyperviseur. Elle permet aux clients d'exécuter un nombre illimité de machines virtuelles isolées sur un même hôte. Red Hat Virtualization contient une version avancée de KVM qui permet de gérer un nombre illimité de machines invitées. C'est l'idéal pour les stations de travail techniques, les clouds privés et les environnements de développement ou de production.

Pour aller plus loin

ARTICLE

Conteneurs et machines virtuelles

Les conteneurs Linux et les machines virtuelles sont des environnements informatiques en paquets qui associent divers composants et les isolent du reste du système.

ARTICLE

Une machine virtuelle, qu'est-ce que c'est ?

Une machine virtuelle est un environnement informatique isolé créé par l'abstraction des ressources d'une machine physique.

ARTICLE

KVM, qu'est-ce que c'est ?

KVM (Kernel-based Virtual Machine) est une technologie de virtualisation Open Source qui transforme Linux en hyperviseur.

En savoir plus sur la virtualisation

Produits

Red Hat OpenShift Container Platform

Base de cloud hybride cohérente pour la création et la mise à l'échelle d'applications conteneurisées.

Red Hat Openstack Platform

Plateforme de virtualisation du matériel et d'organisation des ressources dans le cloud.

Ressources

Formations

Cours gratuit

Présentation technique de la virtualisation et de la migration d'infrastructure

  • La marque verbale OpenStack® et le logo OpenStack sont des marques commerciales/de service déposées ou des marques commerciales/de service de l'OpenStack Foundation, aux États-Unis et dans d'autres pays. Elles sont utilisées avec l'autorisation de l'OpenStack Foundation. Nous ne sommes pas affiliés à l'OpenStack Foundation ou à la communauté OpenStack, ni approuvés ou sponsorisés par celles-ci.

Illustration - mail

Ce type de contenu vous intéresse ?

Inscrivez-vous à notre newsletter Red Hat Shares.