Définition de KVM
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, et notamment celles que propose Red Hat.
Fonctionnement d'un hyperviseur
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é en tant qu'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 (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 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
Avantages de la virtualisation
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.
Fonctions de KVM
Avec KVM, une machine virtuelle est un processus Linux, planifié 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 fournit par l'ordonnanceur 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'isolement 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 (MAC) 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, y compris certains disques locaux et le stockage en réseau (NAS). Elle prend également en charge les systèmes de fichiers partagés afin que plusieurs hôtes puissent se partager les images des machines virtuelles.
Prise en charge d'architectures matérielles variées
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 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 perceptible. 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.
Gestion des machines virtuelles avec KVM
Dans une infrastructure comptant plusieurs machines virtuelles, il s'avère utile de recourir à un outil de gestion de la virtualisation. Il en existe de plusieurs types. Certains fonctionnent à partir de la ligne de commande, d'autres possèdent une interface utilisateur graphique et d'autres encore se spécialisent dans les environnements de grande taille. Voici les solutions de gestion de la virtualisation les plus 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 sur 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. Cockpit, par exemple, est une interface web de gestion et Red Hat Enterprise Linux propose 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.
Avantages de la migration vers une plateforme de virtualisation KVM
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.
KVM est considérée comme une technologie 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. Red Hat fournit par ailleurs un panel de technologies pour la gestion unifiée des environnements associant machines virtuelles, conteneurs et applications serverless.
Nos solutions pour la virtualisation
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 incluent le service d'assistance adapté aux entreprises, les fonctions de sécurité et la stabilité de Red Hat.
Fiables, nos produits et notre écosystème de partenaires forment une solution de virtualisation complète. Red Hat OpenShift Virtualization, une plateforme d'applications moderne basée sur les technologies Open Source KVM et KubeVirt, accueille en parallèle vos machines virtuelles et vos conteneurs. La boîte à outils de migration pour la virtualisation incluse vous permet d'entamer facilement la migration de vos machines virtuelles. La solution Red Hat Ansible® Automation Platform s'appuie sur des processus automatisés pour accélérer la distribution, de la migration à grande échelle aux opérations de maintenance et de correction. Enfin Red Hat Advanced Cluster Management for Kubernetes fournit une console unique pour la surveillance de la sécurité et des performances des machines virtuelles. Il existe d'autres options de prise en charge et intégrations de partenaires pour le stockage, la sauvegarde et la récupération après sinistre, ainsi que la mise en réseau. Toutes ces solutions vous aident à assurer le bon fonctionnement de votre infrastructure virtuelle dans le cloud hybride, et à moderniser votre environnement à votre rythme.
Le blog officiel de Red Hat
Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.