À l’ère du Cloud computing, les hy­per­vi­seurs comme KVM et Xen sont plus im­por­tants que jamais. Quelles sont les dif­fé­rences entre ces deux tech­no­lo­gies de vir­tua­li­sa­tion ? Xen vs KVM : découvrez leurs points communs et dif­fé­rences dans notre article com­pa­ra­tif !

Migration vers le Cloud IONOS
L'al­ter­na­tive de vir­tua­li­sa­tion
  • Excellent rapport prix-per­for­mance et vir­tua­li­sa­tion sans frais
  • Ac­com­pag­ne­ment par des experts IONOS inclus
  • Open source et sans vendor lock-in

L’hy­per­vi­seur Xen en bref

L’hy­per­vi­seur Xen est un logiciel de vir­tua­li­sa­tion open source qui permet d’exécuter plusieurs systèmes d’ex­ploi­ta­tion invités si­mul­ta­né­ment sur un seul or­di­na­teur hôte. L’al­lo­ca­tion des res­sources ma­té­rielles de l’or­di­na­teur hôte est prise en charge par l’hy­per­vi­seur Xen.

Quel type d’hy­per­vi­seur est Xen ?

En tant qu’hy­per­vi­seur de type 1 ou bare metal, Xen est installé di­rec­te­ment sur le système physique. Il com­mu­nique avec le matériel via ses propres pilotes. Les systèmes d’ex­ploi­ta­tion hôte et invité sont ensuite installés au-dessus de l’hy­per­vi­seur Xen. Xen attribue les systèmes d’ex­ploi­ta­tion installés aux domaines dom0 et domU afin de faire la dis­tinc­tion entre les dif­fé­rents niveaux de pri­vi­lèges. Le système d’ex­ploi­ta­tion hôte ap­par­tient à dom0 et bénéficie donc du niveau de privilège le plus élevé. Tous les systèmes d’ex­ploi­ta­tion invités ap­par­tien­nent à domU en tant que systèmes « sous-pri­vi­lé­giés » (en anglais un­pri­vi­le­ged).

Toute com­mu­ni­ca­tion entre le système d’ex­ploi­ta­tion hôte et le matériel ne se fait toutefois pas di­rec­te­ment via les pilotes du système d’ex­ploi­ta­tion, mais via l’hy­per­vi­seur au moyen d’une API Xen spéciale. L’in­té­gra­tion profonde de l’hy­per­vi­seur Xen permet une uti­li­sa­tion plus efficace du matériel, une réduction des frais généraux et une di­mi­nu­tion de la surface d’attaque.

Xen : amé­lio­ra­tion de l’ef­fi­ca­cité grâce à la pa­ra­vir­tua­li­sa­tion

Une technique de vir­tua­li­sa­tion que Xen utilise pour augmenter l’ef­fi­ca­cité est la pa­ra­vir­tua­li­sa­tion. Dans ce cas, les com­po­sants matériels sont non émulés par l’hy­per­vi­seur : le système invité est donc conscient qu’il est exécuté dans un en­vi­ron­ne­ment vir­tua­lisé. En revanche, la com­mu­ni­ca­tion entre les systèmes d’ex­ploi­ta­tion invités et l’hy­per­vi­seur Xen est beaucoup plus rapide, ce qui permet d’augmenter les per­for­mances.

Cette technique pose cependant des exigences par­ti­cu­lières aux systèmes d’ex­ploi­ta­tion installés sur Xen : entre autres, la prise en charge de la pa­ra­vir­tua­li­sa­tion dans le noyau du système d’ex­ploi­ta­tion ainsi que des pilotes spé­cia­li­sés sont né­ces­saires. Ces deux exigences sont déjà remplies depuis des années par des noyaux de systèmes d’ex­ploi­ta­tion courants comme Linux et BSD.

Si la pa­ra­vir­tua­li­sa­tion est im­pos­sible ou non souhaitée pour un système d’ex­ploi­ta­tion, Xen supporte également la vir­tua­li­sa­tion complète, dans laquelle les com­po­sants matériels sont émulés vir­tuel­le­ment. Cela ralentit la vir­tua­li­sa­tion, mais offre en con­tre­par­tie une com­pa­ti­bi­lité plus élevée. Ainsi, même les systèmes d’ex­ploi­ta­tion qui ne sup­por­tent pas la pa­ra­vir­tua­li­sa­tion peuvent être exécutés sous Xen.

Conseil

En dehors de KVM, il existe de nom­breuses autres al­ter­na­tives à Xen. Nous vous en pré­sen­tons quelques-unes dans notre article com­plé­men­taire.

L’hy­per­vi­seur KVM en bref

KVM (de l’anglais Kernel-based Virtual Machine) est également un hy­per­vi­seur open source avec lequel on peut exécuter plusieurs systèmes d’ex­ploi­ta­tion invités sur un seul or­di­na­teur physique. Bien que KVM et Xen rem­plis­sent fon­da­men­ta­le­ment le même objectif, ils sont cons­truits selon des principes de fonc­tion­ne­ment dif­fé­rents et con­vien­nent donc aussi à des cas d’uti­li­sa­tion dif­fé­rents.

Quel type d’hy­per­vi­seur est KVM ?

Dans le passé, KVM était souvent décrit comme un hy­per­vi­seur de type 2, car il ne pouvait com­mu­ni­quer avec le matériel que via les pilotes du système d’ex­ploi­ta­tion hôte. La pa­ra­vir­tua­li­sa­tion était donc im­pos­sible et tous les com­po­sants matériels devaient être émulés par KVM pour les systèmes invités.

Entre-temps, l’option de pa­ra­vir­tua­li­sa­tion a été ajoutée à KVM, mais celle-ci fonc­tionne dif­fé­rem­ment de Xen. Con­trai­re­ment à Xen, KVM n’est pas installé sous le système d’ex­ploi­ta­tion hôte. Au lieu de cela, il est di­rec­te­ment intégré dans le noyau Linux et utilise ainsi les com­po­sants logiciels du système Linux pour gérer les systèmes vir­tua­li­sés et leurs processus. Chaque système d’ex­ploi­ta­tion invité dispose sous KVM de son propre matériel vir­tua­lisé, y compris l’interface réseau, l’espace disque, etc. Pour accélérer cette vir­tua­li­sa­tion complète, KVM utilise ce que l’on appelle la vir­tua­li­sa­tion assistée par le matériel (en anglais hardware-assisted vir­tua­li­za­tion), qui est déjà intégrée dans la plupart des pro­ces­seurs modernes.

Mais tous les com­po­sants ne sont pas en­tiè­re­ment vir­tua­li­sés sous KVM. Afin d’accélérer les systèmes et les ap­pli­ca­tions exécutés, KVM propose quelques in­ter­faces pa­ra­vir­tua­li­sées qui peuvent com­mu­ni­quer di­rec­te­ment avec l’hy­per­vi­seur au moyen de l’API Virtio. La pa­ra­vir­tua­li­sa­tion KVM est donc prin­ci­pa­le­ment proposée pour les pé­ri­phé­riques d’entrée et de sortie, comme pour l’interface réseau. Avec KVM, on parle donc plutôt d’une pa­ra­vir­tua­li­sa­tion partielle.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

KVM vs Xen : quel hy­per­vi­seur offre les meil­leures per­for­mances ?

La plus grande dif­fé­rence entre les deux hy­per­vi­seurs est le niveau de la pile lo­gi­cielle dans lequel ils fonc­tion­nent. En tant que partie in­té­grante du noyau Linux, KVM utilise la vir­tua­li­sa­tion assistée par le matériel pour vir­tua­li­ser en­tiè­re­ment de nombreux com­po­sants matériels sans in­con­vé­nient décisif en termes de per­for­mances. Les prin­ci­pales in­ter­faces d’entrée/sortie sont ainsi pa­ra­vir­tua­li­sées, ce qui devrait être le facteur le plus important pour la plupart des ap­pli­ca­tions serveur. D’autre part, Xen, en tant qu’hy­per­vi­seur de type 1, est ty­pi­que­ment installé sous le système d’ex­ploi­ta­tion concerné. L’hy­per­vi­seur gère donc lui-même la ré­par­ti­tion des res­sources ma­té­rielles. Cela fait que Xen peut théo­ri­que­ment offrir une com­mu­ni­ca­tion plus efficace et plus per­for­mante avec le matériel. Toutefois, Xen et KVM pré­sen­tent des per­for­mances si­mi­laires grâce au pilote Virtio de KVM et à la vir­tua­li­sa­tion assistée par le matériel.

CPU pinning

Bien entendu, les deux hy­per­vi­seurs n’offrent pas les mêmes per­for­mances pour toutes les ap­pli­ca­tions. C’est surtout en matière de CPU pinning que KVM offre à ses uti­li­sa­teurs plus de puissance que Xen. Grâce au CPU pinning, KVM peut attribuer à un pro­ces­seur vir­tua­lisé un pro­ces­seur physique (ou un noyau de pro­ces­seur), de sorte que seul ce système virtuel puisse utiliser le pro­ces­seur. C’est par­ti­cu­liè­re­ment avan­ta­geux pour les ap­pli­ca­tions chargées en CPU et n’est possible qu’avec KVM.

Per­for­mance du réseau

En matière de per­for­mance réseau, Xen a une longueur d’avance. Bien que les deux hy­per­vi­seurs proposent des in­ter­faces réseau pa­ra­vir­tua­li­sées, chaque système vir­tua­lisé sous KVM dispose de son propre pé­ri­phé­rique réseau. Avec Xen, tous les systèmes invités partagent une seule interface réseau virtuelle, ce qui assure une ef­fi­ca­cité accrue.

Ken vs KVM en résumé

Qui de Xen ou de KVM est le meilleur hy­per­vi­seur ? La réponse dépendra de vos besoins. Grâce à sa position de leader du marché, à son in­té­gra­tion dans le noyau Linux et à la pos­si­bi­lité de vir­tua­li­sa­tion complète, KVM est plus facile à utiliser. Xen, en revanche, présente une per­for­mance théorique plus élevée grâce à sa pa­ra­vir­tua­li­sa­tion complète. Pour dé­ter­mi­ner votre choix, prenez donc en compte d’une part les ap­pli­ca­tions que vous souhaitez vir­tua­li­ser et votre degré d’ex­pé­rience d’autre part.

Conseil

Vous cherchez une al­ter­na­tive d’hy­per­vi­seur pour migrer votre in­fras­truc­ture in­for­ma­tique vers le Cloud ? Utilisez la migration vers le Cloud de IONOS et profitez d’un rapport qualité/prix in­té­res­sant et du niveau de sécurité le plus élevé.

Aller au menu principal