Un logiciel de virtualisation de serveurs est une technologie qui permet à plusieurs serveurs virtuels de s’exécuter simultanément sur une seule machine physique. En insérant une couche logicielle, appelée hyperviseur, entre le matériel et les systèmes d’exploitation, les organisations peuvent partitionner le processeur, la mémoire, le stockage et les ressources réseau d’un serveur sur plusieurs machines virtuelles (VM) indépendantes, chacune exécutant son propre OS d’exploitation et ses propres applications.
Pour les entreprises qui gèrent des charges de travail croissantes dans des environnements distribués, les logiciels de virtualisation de serveurs sont devenus une stratégie informatique fondamentale. Elle réduit les coûts matériels, améliore l’utilisation des ressources et accélère le déploiement de nouvelles applications et de nouveaux services par les équipes.
Cet article traite du fonctionnement du logiciel de virtualisation de serveurs, des différents types disponibles, des composants clés à évaluer, des avantages, des conseils d’implémentation et de l’avenir de la technologie.
Fonctionnement du logiciel de virtualisation de serveurs
Le logiciel de virtualisation de serveur crée une couche d’abstraction entre le matériel physique et les systèmes d’exploitation qui s’exécutent sur celui-ci. Cette couche, l’hyperviseur, intercepte les appels matériels des machines virtuelles et les traduit en instructions que le serveur physique peut exécuter.
Voici le processus de base :
- Abstraction matérielle : L’hyperviseur contrôle le processeur, la RAM, le stockage et les interfaces réseau du serveur physique. Il crée un pool de ressources partagées.
- Création de VM : Les administrateurs définissent les machines virtuelles, chacune avec des vCPU, de la mémoire, des disques virtuels et des adaptateurs réseau alloués. L’hyperviseur les provisionne à partir du pool de ressources partagées.
- Isolement : Chaque VM fonctionne dans son propre environnement sandbox. Un plantage ou une violation de sécurité dans une VM n’affecte pas les autres sur le même hôte.
- Planification des ressources : L’hyperviseur gère de manière dynamique l’allocation des ressources, en déplaçant les cycles de processeur et la mémoire entre les machines virtuelles en fonction de la demande de charge de travail.
- Interface de gestion : Une console centralisée permet aux administrateurs de créer, configurer, surveiller, migrer et désactiver des machines virtuelles sur plusieurs hôtes physiques.
C’est cette architecture qui rend les logiciels de virtualisation de serveurs si puissants pour l’informatique d’entreprise. Au lieu d’acheter et de maintenir un serveur physique distinct pour chaque application, dont la plupart n’utilisent que 10 à 15 % de la capacité disponible, les organisations peuvent exécuter des dizaines de charges de travail sur une seule machine à 60 à 80 % d’utilisation. Selon le NRDC, l’utilisation moyenne des serveurs entre les datacenters est restée entre seulement 12 % et 18 %, même après l’adoption généralisée de la virtualisation, ce qui met en évidence l’ampleur du problème et l’opportunité.
Types de virtualisation de serveurs
Tous les logiciels de virtualisation de serveurs ne fonctionnent pas de la même manière. L’approche choisie par une organisation dépend des exigences de performance, de l’infrastructure existante et de la complexité opérationnelle.
Hyperviseurs de type 1 (bare metal)
Les hyperviseurs de type 1 s’installent directement sur le matériel du serveur physique, sans système d’Operating System sous-jacent. Ils contrôlent les ressources matérielles et gèrent les machines virtuelles invitées avec un minimum de frais généraux, offrant des performances quasi natives.
VMware VMware ESXi, Microsoft Hyper-V (lorsqu’ils sont installés en tant que rôle autonome), KVM (machine virtuelle basée sur le noyau) et Proxmox VE en sont des exemples courants. Les hyperviseurs bare metal sont la norme pour les environnements de datacenter de production où les performances, la densité et la fiabilité sont les plus importantes.
Hyperviseurs de type 2 (hébergés)
Les hyperviseurs de type 2 s’exécutent en tant qu’applications sur un système d’Operating System existant. Elles sont plus faciles à installer et à gérer, mais entraînent des frais supplémentaires, car elles dépendent du OS d’exploitation hôte pour l’accès au matériel.
Par exemple, Oracle VirtualBox et VMware Workstation. Elles sont principalement utilisées pour le développement, les tests et les environnements de laboratoire plutôt que pour les charges de travail de production.
Virtualisation au niveau du OS d’exploitation (conteneurs)
Bien que techniquement distincte de la virtualisation de serveurs traditionnelle, la conteneurisation est devenue une approche complémentaire. Les moteurs de conteneurs comme Docker et les plateformes d’orchestration comme Kubernetes isolent les applications au niveau du système d’OS plutôt que de virtualiser des piles matérielles entières. Containers sont légers et démarrent en quelques secondes, mais ils partagent le noyau du OS d’exploitation hôte, ce qui limite la diversité du OS d’exploitation.
De nombreux environnements d’entreprise exécutent désormais des machines virtuelles et des conteneurs côte à côte, à l’aide d’un logiciel de virtualisation de serveur pour l’isolation complète du OS et de conteneurs pour les microservices et les applications cloud natives.
Paravirtualisation
Dans le cadre de la paravirtualisation, le Operating System invité est modifié pour connaître l’hyperviseur, ce qui permet une communication directe entre le OS d’exploitation invité et la couche de virtualisation. Cela réduit les frais généraux par rapport à l’émulation matérielle complète. Xen est la plateforme de paravirtualisation la plus connue, bien que les hyperviseurs modernes aient adopté des approches hybrides combinant des techniques de paravirtualisation et une virtualisation assistée par matériel.
Principaux composants d’une plateforme de virtualisation
Comprendre les composants qui composent un environnement de virtualisation de serveurs aide les organisations à évaluer et comparer différentes options logicielles.
- Hyperviseur : La base de n’importe quelle plateforme de virtualisation. Il extrait les ressources physiques et les alloue aux machines virtuelles. Les performances, les fonctionnalités de sécurité et la compatibilité de l’écosystème varient considérablement d’un hyperviseur à l’autre.
- Machine hôte : Serveur physique exécutant l’hyperviseur. Le matériel hôte, en particulier l’architecture CPU, la capacité de mémoire et les performances de stockage, détermine directement le nombre de machines virtuelles pouvant fonctionner efficacement.
- Machines invitées (VM) : Les serveurs virtuels exécutés sur l’hôte. Chaque invité utilise ses propres vCPU, mémoire, stockage virtuel et interfaces réseau alloués.
- Virtual Machine Manager (VMM) : Interface de gestion centralisée pour la création, la configuration, la surveillance et la migration de machines virtuelles. VMware vCenter, Microsoft System Center Virtual Machine Manager (SCVMM) et la console Web de Proxmox en sont des exemples.
- API de virtualisation : Interfaces programmatiques qui permettent l’automatisation, l’orchestration et l’intégration avec des outils tiers. Les API permettent aux équipes informatiques de scripter le provisioning des VM, d’appliquer des politiques et de connecter les plateformes de virtualisation aux pipelines CI/CD.
- Support de stockage : Souvent négligée, la couche de stockage est l’un des facteurs les plus critiques des performances de virtualisation. Toutes les VM d’un hôte partagent le même sous-système de stockage sous-jacent. Le stockage lent ou encombré crée des goulets d’étranglement qui se répandent sur chaque machine virtuelle, dégradant la réactivité des applications et limitant la densité des machines virtuelles.
Logiciel de virtualisation de serveurs vs. serveurs physiques
Le tableau ci-dessous compare les environnements de virtualisation de serveurs aux déploiements de serveurs physiques traditionnels selon les principaux critères de l’entreprise :