KVM, qu'est-ce que c'est ?
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, planificateur, 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).
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 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'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 d'entreprise 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
Is OpenShift Virtualization right for your VMs? (durée de la vidéo : 1 min 57 s)
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.
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 plateforme d'applications moderne Red Hat® OpenShift® Virtualization représente un environnement intéressant pour les machines virtuelles, car elle intègre des charges de travail virtuelles et conteneurisées qui augmentent la flexibilité sans engendrer de complexité. Pour une solution de virtualisation spécialisée, nous proposons également Red Hat OpenShift Virtualization Engine, une offre rationalisée et rentable qui sert à déployer, gérer et mettre à l'échelle les machines virtuelles exclusivement. Avec la boîte à outils de migration pour la virtualisation, les équipes peuvent lancer la migration en quelques étapes simples.
Automatisation de la migration
La solution Red Hat Ansible® Automation Platform utilise des processus automatisés 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 afin d'accélérer l'exploitation informatique et d'améliorer son efficacité.
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. Il existe d'autres options de prise en charge et intégrations de partenaires. Toutes ces solutions doivent permettre à nos clients d'assurer le bon fonctionnement de leur infrastructure virtuelle dans le cloud hybride et de moderniser leur environnement à leur rythme.
Le blog officiel de Red Hat
Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.