Présentation
Une machine virtuelle, ou VM, est un environnement de calcul isolé doté de ses propres processeur, mémoire, interface réseau et espace de stockage, et créé à partir d'un pool de ressources matérielles.
La virtualisation, le concept sous-jacent aux machines virtuelles, permet à un seul ordinateur d'agir comme plusieurs ordinateurs différents. Les machines virtuelles peuvent émuler d'innombrables configurations de systèmes d'exploitation (SE) sur le même matériel physique, afin d'aider les entreprises à réduire les coûts, à rationaliser l'exploitation et à tirer le meilleur parti de l'infrastructure existante.
Définition de la virtualisation
La virtualisation traditionnelle concerne les ressources qui étaient normalement liées au matériel. Elle peut distribuer la capacité d'une machine entre de nombreux utilisateurs ou environnements.
La virtualisation a vu le jour dans les années 1960, sous forme de technologie de partage du temps sur les ordinateurs mainframe. La virtualisation telle qu'on la connaît aujourd'hui a gagné en popularité dans les années 2000, lorsque les entreprises cherchaient des moyens de tirer pleinement parti de leurs ressources de calcul et d'optimiser l'accès au matériel coûteux.
Il existe différents types de virtualisation :
- La virtualisation de données, qui permet de regrouper des sources de données pour créer un stock dynamique
- La virtualisation des postes de travail, qui permet à l'administrateur principal de déployer et contrôler plusieurs environnements de postes de travail simulés
- La virtualisation des serveurs, qui permet aux administrateurs de partitionner des serveurs en plusieurs configurations associées à des fonctions spécifiques
- La virtualisation des SE, qui permet l'exécution de plusieurs systèmes d'exploitation sur un même ordinateur
- La virtualisation des fonctions réseau, qui sépare les fonctions d'un réseau (telles que les services d'annuaire, le partage de fichiers et la configuration des adresses IP) afin de les répartir entre les différents environnements
Ressources Red Hat
Fonctionnement d'une machine virtuelle
La machine physique qui exécute les machines virtuelles est appelée « machine hôte », « ordinateur hôte », « SE hôte », ou simplement « hôte ». Les machines virtuelles qui utilisent les ressources sont des « machines invitées », des « ordinateurs invités », des « SE invités » ou simplement des « invités ».
L'hyperviseur est le logiciel qui isole les ressources de calcul nécessaires et qui permet la création et la gestion des machines virtuelles. L'hyperviseur traite les ressources de calcul (processeur, mémoire, stockage) sous la forme d'un pool de ressources qui peut être déplacé sans difficulté entre les invités existants ou vers de nouvelles machines virtuelles.
Chaque système d'exploitation s'exécute comme le ferait tout autre type de SE ou d'application sur le matériel hôte. Ainsi, l'expérience de l'utilisateur final émulée au sein de la machine virtuelle est quasiment identique à celle d'un système d'exploitation en temps réel exécuté sur une machine physique.
Il est possible de définir une machine virtuelle à l'aide d'un seul fichier de données, et celle-ci fonctionnera de la même manière sur différents ordinateurs. Ces ressources sont partitionnées par l'hyperviseur selon les besoins à partir de l'environnement physique et distribuées aux machines virtuelles. Le matériel physique se charge toujours de l'exécution, de sorte que le processeur exécute les instructions demandées par les machines virtuelles, par exemple, tandis que l'hyperviseur gère l'ordonnancement.
Lorsqu'une machine virtuelle est en cours d'exécution et qu'un utilisateur ou un programme donne une instruction qui nécessite davantage de ressources de l'environnement physique, l'hyperviseur ordonnance la requête sur les ressources du système physique. Ce pool partagé de ressources physiques est disponible pour le système d'exploitation et les applications de la machine virtuelle.
Dans les environnements Linux®, l'hyperviseur intégré est KVM (Kernel-based Virtual Machine). Il existe d'autres options telles que Xen, un logiciel Open Source, et Microsoft Hyper-V.
On compte deux types d'hyperviseurs de virtualisation :
Type 1 : un hyperviseur de type 1 s'installe sur un système bare metal. L'hyperviseur ordonnance directement les ressources des machines virtuelles sur le matériel. La solution KVM est un hyperviseur de type 1.
Type 2 : un hyperviseur de type 2 est hébergé. Les ressources des machines virtuelles sont ordonnancées sur un SE hôte, qui est ensuite exécuté sur le matériel. VMware Workstation et Oracle VirtualBox sont des exemples d'hyperviseurs de type 2.
Avantages des machines virtuelles
Parce qu'elles permettent à plusieurs systèmes d'exploitation de s'exécuter en parallèle et de partager les mêmes ressources matérielles, les machines virtuelles offrent une plus grande flexibilité qui apporte de nombreux avantages.
Efficacité d'utilisation des ressources
Dans un environnement bare metal, la plupart des systèmes d'exploitation et des applications n'utilisent qu'une petite partie des ressources physiques disponibles. Les machines virtuelles permettent de disposer de nombreux serveurs virtuels sur chaque serveur physique, avec à la clé une optimisation de l'utilisation du matériel.
En ayant recours aux machines virtuelles pour regrouper les serveurs, les services informatiques sont en mesure de réaliser des économies. L'entreprise peut ainsi réduire l'achat de matériel et la consommation d'électricité, et économiser de l'espace dans le datacenter.
Sécurité et récupération après sinistre
Les machines virtuelles offrent également des avantages en matière de sécurité. Un environnement de machine virtuelle est isolé du reste du système. Ainsi, il ne peut y avoir aucune interférence entre les programmes exécutés au sein d'une machine virtuelle et sur le matériel hôte.
Les machines virtuelles prennent en charge des fonctions de récupération après sinistre supplémentaires, car elles disposent de capacités de basculement et de redondance qu'il n'était auparavant possible d'obtenir qu'avec du matériel supplémentaire.
Environnements de test et processus isolés
Comme les machines virtuelles sont isolées, elles peuvent être utilisées pour tester de nouvelles applications ou mettre en place un environnement de production. Il est également possible d'exécuter une machine virtuelle réservée à un processus spécifique.
Évolutivité pour répondre à la demande
Les machines virtuelles accélèrent le processus de lancement d'instances de serveurs. Il est ainsi possible de simplifier la mise à l'échelle compte tenu de l'évolution de la demande. Par ailleurs, les entreprises peuvent donner à leurs équipes de développement les moyens de créer des environnements en fonction de leurs besoins.
Flexibilité
La possibilité d'exécuter plusieurs systèmes d'exploitation sur un seul composant matériel physique permet de prendre en charge un plus grand nombre d'environnements et de tirer le meilleur parti de l'infrastructure existante.
Différence entre machine virtuelle et conteneur
À l'instar des machines virtuelles, les conteneurs permettent de mettre en paquet les différents composants d'un environnement de calcul et de les isoler du reste du système. La principale différence réside dans les composants qu'ils isolent.
Les machines virtuelles intègrent leur propre système d'exploitation et peuvent ainsi exécuter simultanément plusieurs fonctions gourmandes en ressources. Elles peuvent émuler l'intégralité de serveurs, de systèmes d'exploitation, de postes de travail, de bases de données et de réseaux.
En général, les conteneurs sont plus petits et n'incluent pas de système d'exploitation complet. Aujourd'hui, une application est susceptible de s'appuyer sur plusieurs conteneurs qui ont tous une fonction précise.
Lien entre les machines virtuelles et le cloud
La virtualisation est une base technologique qui rend le cloud computing possible. Les environnements de cloud privé et public virtualisent des ressources dans des pools partagés avec un plus haut niveau de contrôle administratif et les distribuent au moyen de fonctions automatisées en libre-service.
Les logiciels de virtualisation, de gestion et d'automatisation nécessaires au cloud computing reposent tous sur le système d'exploitation. Cette couche logicielle assure le lien entre les ressources physiques, les pools de données virtuelles, les logiciels de gestion, les scripts d'automatisation et les clients.
Nos solutions
Vidéo YouTube pour déterminer si OpenShift Virtualization est adapté à des machines virtuelles données (durée : 1 min 57 s)
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. Grâce à la boîte à outils de migration pour la virtualisation incluse, les équipes peuvent lancer la migration en quelques étapes simples.
Automatisation de la migration
La solution Red Hat Ansible® Automation Platform se sert de l'automatisation pour accélérer la migration, du processus à 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 des machines virtuelles Red Hat OpenShift
Red Hat Advanced Cluster Management for Kubernetes permet de surveiller la sécurité et les performances des machines virtuelles à partir d'une seule console. De plus, la solution Red Hat Advanced Cluster Management for Virtualization est une version de Red Hat Advanced Cluster Management destinée aux entreprises qui souhaitent gérer des machines virtuelles uniquement.
Évaluation de la migration de la virtualisation
L'évaluation de la migration de la virtualisation de Red Hat est un framework basé sur l'expérience qui vous aide à élaborer une stratégie adaptée à la migration de votre infrastructure de machines virtuelles.