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

Copier l'URL

KVM (Kernel-based Virtual Machine) est une technologie de virtualisation Open Source qui permet de transformer un système d'exploitation Linux® en un hyperviseur qui exécute plusieurs machines virtuelles isolées.

Annoncé en 2006 et intégré au noyau Linux un an plus tard, KVM constitue la base d'un grand nombre de technologies de virtualisation Open Source, notamment celles que nous proposons chez Red Hat.

En savoir plus sur nos solutions de virtualisation

La virtualisation, qui consiste à exécuter un système d'exploitation au sein d'un autre système d'exploitation, est rendue possible grâce aux hyperviseurs. Un hyperviseur regroupe des ressources informatiques (calcul, mémoire, stockage) et les répartit entre plusieurs machines virtuelles. Il peut exécuter simultanément plusieurs machines virtuelles, les gérer et en prendre en charge de nouvelles. Lorsqu'il est utilisé comme hyperviseur, le matériel physique est appelé « hôte », tandis que toutes les machines virtuelles qui utilisent ses ressources sont appelées « invités ».

Pour exécuter des machines virtuelles, les hyperviseurs ont besoin de composants de système d'exploitation : gestionnaire de mémoire, ordonnanceur, pile d'entrées/sorties, 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 l'ordonnanceur Linux, avec le matériel de virtualisation spécialisé (carte réseau, adaptateur graphique, processeurs, mémoire et disques de stockage).

Ressources Red Hat

La virtualisation rend possible le démarrage ou l'arrêt rapide de différents environnements de système d'exploitation sur un même équipement matériel, et apporte ainsi de nombreux avantages à l'écosystème informatique.

Flexibilité

Il est possible de scinder une machine hôte en plusieurs machines virtuelles afin de répartir les ressources selon les besoins. L'exécution de plusieurs machines virtuelles sur un seul et même matériel physique permet alors d'optimiser l'espace, la consommation et la maintenance.

Rapidité

Configurées par logiciel, les machines virtuelles sont rapides à créer, supprimer, cloner et migrer. Il est aussi possible de les contrôler à distance et de les gérer de façon automatisée.

Compatibilité

Les machines virtuelles permettent d'utiliser des logiciels non compatibles avec le système d'exploitation d'un ordinateur. Il est ainsi possible d'exécuter un ancien système d'exploitation sur un équipement moderne afin de conserver les logiciels existants.

Stabilité et sécurité

Le fait que chaque machine virtuelle fonctionne séparément offre des avantages en matière de sécurité. En effet, si l'une d'elles présente des problèmes de stabilité, le système d'exploitation hôte et les autres machines qu'il héberge ne seront pas affectés. Cette particularité permet de tester de nouvelles configurations sans compromettre l'intégrité du système tout entier.

Avec KVM, une machine virtuelle est un processus Linux, ordonnancé et géré par le noyau. Les machines virtuelles bénéficient des fonctions d'optimisation des performances de Linux, tandis que les équipes tirent parti du contrôle précis fourni par le planificateur Linux. KVM inclut également des fonctions pour la sécurité, le stockage, la compatibilité matérielle et la migration dynamique.

Barrières de sécurité avec SELinux et sVirt

KVM combine les technologies SELinux (Security-Enhanced Linux) et sVirt pour renforcer la sécurité et l'isolation des machines virtuelles. SELinux établit un périmètre de sécurité autour des machines virtuelles. La technologie sVirt étend quant à elle les capacités de SELinux, en permettant d'appliquer le mécanisme de contrôle d'accès obligatoire aux machines virtuelles invitées et en évitant les erreurs d'étiquetage manuel.

Flexibilité du stockage

La technologie KVM est capable d'utiliser tout type de stockage compatible avec Linux, notamment certains disques locaux et le stockage en réseau. Elle prend également en charge les systèmes de fichiers partagés afin de permettre à plusieurs hôtes de se partager les images des machines virtuelles. 

Prise en charge de diverses architectures matérielles

La technologie KVM est compatible avec une multitude de plateformes matérielles. Intégrée au système Red Hat Enterprise Linux 9, elle est prise en charge par les architectures ARM, Intel et AMD 64 bits ainsi que les systèmes IBM z13 et versions ultérieures.

Migration à chaud

La technologie KVM prend en charge la migration à chaud, c'est-à-dire le déplacement d'une machine virtuelle en cours d'exécution entre plusieurs hôtes physiques sans interruption perceptible du 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, conservé pour une potentielle réutilisation.

Dans une infrastructure comptant plusieurs machines virtuelles, l'utilisation d'un outil de gestion de la virtualisation est particulièrement avantageuse. Il en existe plusieurs types. Certains fonctionnent à partir de la ligne de commande, d'autres proposent une interface utilisateur graphique et d'autres encore sont spécialement conçus pour les environnements d'entreprise de grande taille. Voici quelques solutions de gestion de la virtualisation fréquemment utilisées avec KVM :

libvirt et virsh

L'API libvirt facilite la gestion des plateformes de virtualisation. Elle inclut un utilitaire en ligne de commande, virsh, qui donne accès à un shell de virtualisation et permet de créer, démarrer, répertorier et arrêter des machines virtuelles.

Virtual Machine Manager

Disponible dans la plupart des distributions Linux, Virtual Machine Manager (aussi appelé VMM ou virt-manager) offre une interface graphique pour la gestion des machines virtuelles.

Consoles web

Il est également possible de gérer des machines virtuelles via un navigateur web, par exemple avec l'interface web de gestionCockpit. Red Hat Enterprise Linux propose également un plug-in de console web pour la virtualisation.

KubeVirt

La solution KubeVirt permet de gérer un grand nombre de machines virtuelles dans un environnement Kubernetes en parallèle d'applications conteneurisées. Elle constitue la base de Red Hat OpenShift® Virtualization.

Outre la portabilité, les machines virtuelles présentent un autre atout : la flexibilité. Il est possible de déplacer une machine virtuelle vers l'infrastructure de virtualisation d'un autre fournisseur par souci d'économie, pour profiter d'un contrôle accru, de plus de capacités, etc.

La technologie KVM est considérée comme étant suffisamment mature et fiable pour gérer des machines virtuelles efficacement et à grande échelle. La migration vers une plateforme de virtualisation basée sur KVM, telle que celles proposées par Red Hat, permet de préserver les machines existantes tout en se dotant d'une solution Open Source. Nos technologies donnent également la possibilité d'unifier la gestion des machines virtuelles, conteneurs et applications serverless.

Lire le rapport d'analyste sur la migration des machines virtuelles

Vidéo sur la pertinence d'OpenShift Virtualization pour les machines virtuelles (durée : 1 min 57 s)


Chez Red Hat, nos produits de virtualisation reposent sur l'hyperviseur KVM. En plus de tous les avantages et de la flexibilité d'un hyperviseur Open Source, ils offrent davantage de stabilité, une sécurité renforcée et une prise en charge adaptée aux entreprises.

Migration des machines virtuelles et accélération de la transformation

Avec nos produits fiables et notre écosystème de partenaires, nous proposons aux entreprises des solutions de virtualisation complète. Basée sur KVM et KubeVirt, la solution Red Hat® OpenShift® Virtualization est une plateforme d'applications moderne pour les machines virtuelles, qui intègre les charges de travail virtuelles et conteneurisées afin d'offrir davantage de flexibilité sans ajouter de complexité. Pour une solution de virtualisation spécialisée, nous proposons également Red Hat OpenShift Virtualization Engine, une offre rationalisée et économique qui sert à déployer, gérer et mettre à l'échelle les machines virtuelles exclusivement. Avec la boîte à outils de migration pour la virtualisation qui est incluse, les équipes peuvent lancer la migration en quelques étapes simples.

Automatisation de la migration

La solution Red Hat Ansible® Automation Platform automatise les processus pour accélérer la distribution, de la migration à grande échelle aux opérations de maintenance et de correction. Cette approche flexible permet d'automatiser les tâches pour exécuter des processus informatiques plus rapides et efficaces.

Réduction des risques en matière d'exploitation

Les entreprises qui standardisent la gouvernance et qui assurent la cohérence des mesures de vérification des politiques sur les machines virtuelles et les charges de travail conteneurisées pourront obtenir divers avantages. La solution Red Hat Advanced Cluster Security for Kubernetes permet d'appliquer des politiques de configuration, d'identifier les vulnérabilités des paquets et de suivre les contrôles de conformité dans toute l'infrastructure à partir d'une seule console. Pour les entreprises qui exploitent uniquement des environnements virtualisés, la solution Red Hat Advanced Cluster Security for Virtualization fournit ces fonctionnalités unifiées de visibilité et de gestion des risques directement dans les charges de travail des machines virtuelles. 

Gestion et modernisation au rythme de l'entreprise

La solution Red Hat Advanced Cluster Management permet de surveiller la sécurité et les performances des machines virtuelles à partir d'une seule console. Et en association avec d'autres options de prise en charge et les solutions intégrées de partenaires, nos produits assurent le bon fonctionnement des infrastructures virtuelles dans le cloud hybride et facilitent leur modernisation. 

Découvrir nos solutions de virtualisation

Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.

En savoir plus

Ansible, Terraform, Puppet, Chef et Salt : c'est quoi ?

Découvrez les différences entre Ansible et d'autres outils d'automatisation comme Terraform, Puppet, Chef et Salt.

Ansible et Puppet

Ansible et Puppet sont des outils d'automatisation informatique développés par la communauté Open Source. Cet article présente en détail les similitudes et les différences entre Ansible et Puppet.

Ansible et Salt : ce qu'il faut savoir

Ansible et Salt sont des outils d'automatisation informatique développés par la communauté Open Source. Cet article présente en détail les similitudes et les différences entre Ansible et Salt.

Open source : ressources recommandées

Articles associés