Quoi de plus rapide sur le même matériel, Xen ou KVM?
J'essaie de choisir une technologie de virtualisation qui fonctionne, ce qui donne les meilleures performances.
Il y a ici quelques repères que j'ai trouvés sur le sujet: http://virt.kernelnewbies.org/XenVsKVM
Ils montrent KVM en tant que gagnant, avec une différence de performance significative - ce qui va à l'encontre de l'idée que KVM est un hyperviseur de type 2, et par définition, il devrait être plus lent que les hyperviseurs de type 1 (comme Xen) - ou du moins ce que disent les articles sur le Web.
Une idée sur le sujet?
Cette référence ne compare que la vitesse du système d'exploitation natif à un système d'exploitation invité unique. Ce n'est guère un test du monde réel. Je ne pense pas que j'y mettrais beaucoup de poids. La plupart du camp KVM soutient que Xen nécessite trop d'interruptions et de sauts entre le noyau et l'espace utilisateur, mais à partir de la plupart des tests de référence les plus réels que j'ai vus, qui n'ont pas vraiment été réalisé et Xen semble être un peu plus rapide que KVM.
Désolé, je n'ai pas de lien pour sauvegarder cela à portée de main. Mais je dirai que KVM s'améliore rapidement et semble rattraper rapidement les fonctionnalités et la stabilité.
Quant à savoir quelle approche est la meilleure. Le camp Xen soutiendra qu'un véritable hyperviseur léger est requis pour être sécurisé et rapide. Xen commence également à être pris en charge dans le firmware par certains fournisseurs, ce qui est également agréable. Le camp KVM soutiendra que KVM est plus simple et que Linux est capable d'être un bon hyperviseur).
En fin de compte, on ne sait toujours pas quelle direction va finalement gagner. Xen a certainement une longueur d'avance et possède déjà une part de marché à Nice. Mais ce n'est pas encore dans le noyau principal. Espérons que cela changera bientôt et il y a certainement eu beaucoup de discussions à ce sujet sur la liste des noyaux au cours des derniers mois. Red Hat est dans le camp KVM maintenant et le poussera comme la plate-forme de virtualisation de choix. Red Hat Linux 5.4 qui sortira sous peu sera le premier à l'inclure. Donc cela va probablement attirer des boutiques qui ne sont pas encore déployées ou qui se sont engagées sur une plate-forme de virtualisation.
En ce qui concerne les outils, Xen et KVM utilisent libvirt et QEMU et les outils qui leur sont associés. Ils partagent donc plusieurs des mêmes outils tels que virt-manager.
Nous utilisons Xen au travail, et cela fonctionne bien pour nous. Mais je me suis penché sur KVM en raison de certains problèmes de transfert USB et de passage PCI que je n'ai pas pu résoudre avec Xen. Je ne suis pas sûr KVM = est mieux à ce sujet, mais je suppose que je le découvrirai une fois que j'aurai essayé. Une chose que j'ai remarquée en recherchant mes problèmes USB est que la documentation de KVM est plus évaluable et organisée par rapport à Xen. Mais il n'y a pas de plate-forme de virtualisation parfaite vous aurez donc besoin de comprendre ce qui a du sens pour vous.
Personnellement, je choisirais la virtualisation en fonction de la convivialité, du support, de la fiabilité et de l'adéquation des machines virtuelles que vous utilisez.
Les taux de transfert de données de mise en réseau Xen semblent être aussi bons que le vrai matériel, mais j'ai également eu quelques batailles avec Xen et vLans et plusieurs cartes Ethernet. Je n'ai aucune expérience de KVM, mais je suggère également que vous envisagiez également VMware ESX (i).
Vous trouverez des informations très intéressantes sur le sujet dans la présentation suivante: Comparaison quantitative de Xen et KVM
La personne qui a fait cela est un expert Xen, mais la comparaison semble assez juste.
FWIW: La réponse dépend entièrement de vos besoins, maintenant et à l'avenir.
Oui, je sais que c'est une réponse inutile. Malheureusement c'est vrai. Votre choix de virtualisation affectera à peu près tout ce que vous ferez par la suite, vous devez donc vous poser quelques questions.
(1) La différence entre 97% des performances natives et 96% des performances natives (chiffres arrachés) est-elle vraiment importante pour vous?
(1a) Si l'un fait mieux avec l'accès HD (ce qui implique vraiment que vous utilisez une excellente base de données, ou que vous ne pouvez pas vous permettre la RAM supplémentaire), et l'autre fait mieux avec la mise en réseau, ce qui est plus important pour vous ?
(2) Êtes-vous sûr d'utiliser les outils fournis avec l'une ou l'autre solution?
(3) Le fait que l'un soit (en quelque sorte) natif des noyaux Linux récents, et l'autre non, fait-il une différence?
(3a) Avez-vous maintenant ou avez-vous déjà été ... euh ... aurez-vous besoin d'exécuter un autre système d'exploitation sous virtualisation? Il n'est pas nécessaire que ce soit Windows. Ce pourrait être FreeBSD, ou même Haiku, ou autre chose. (Xen gagne probablement ici, mais je vous suggère de vérifier.)
En regardant la situation dans son ensemble, je vois KVM comme la réponse de Linux aux zones Solaris. (Je préfère avoir des zones Solaris, mais je vois le parallèle.) Je vois Xen comme une technologie d'hyperviseur mature avec prise en charge de plusieurs systèmes d'exploitation, mais si vous n'avez pas besoin de plusieurs systèmes d'exploitation, cela n'a pas tant d'importance.
Pour être absolument honnête, vous ne pouvez pas vous tromper de toute façon (compte tenu des mises en garde ci-dessus). Je préfère Xen, parce que je suis allé à Cambridge; mais ensuite, si je travaillais pour RH, je préférerais probablement KVM.
Je vais peut-être me lancer ici, mais je ne pense pas que les performances brutes soient la mesure la plus importante lorsqu'il s'agit de technologies comme celle-ci.
Je pense que la convivialité et l'interface sont importantes, ainsi que les outils pour prendre en charge une infrastructure fiable. Il me semble que Xen dispose d'un ensemble d'applications existantes beaucoup plus robuste qui le supportent que KVM. Ce n'est peut-être pas le cas, car je n'ai aucune preuve à l'appui.
Quoi que vous alliez, décidez quelle est la meilleure solution pour vous et examinez l'ensemble du package, pas seulement les performances brutes.
Une grande partie de la difficulté ou de la facilité de configuration KVM dépend de la distribution. Choisir une distribution centrée sur Xen rendra Xen plus facile. Choisir une distribution centrée sur KVM rendra KVM plus facile.
La question des outils est quelque peu hors de propos car les deux utilisent libvirt. Cela signifie que vous utilisez les mêmes outils de gestion pour les deux dans la plupart des cas.
Fin 2017, Amazon, qui était auparavant le plus grand utilisateur de Xen, a annoncé qu'il utiliserait KVM pour tous leurs nouveaux types d'instances C5 . À ma connaissance, seul le fournisseur de cloud SoftLayer reste un gros utilisateur Xen. Linode est passé en 2015, et a signalé des améliorations majeures des performances .
Il est difficile de trouver une comparaison des performances réaliste et à jour, mais il ne semble pas y avoir un écart aussi énorme entre les deux solutions que vous ne le pensez. Selon le cas d'utilisation, Xen peut être encore plus rapide. KVM a d'autres avantages, faisant partie du noyau Linux et adopté par RedHat, qui sont également pertinents. Par exemple, cette réponse explique pourquoi Google a choisi KVM pour Google Compute Engine.
Pourtant, le fait que presque tous les fournisseurs de cloud, en particulier Google et Amazon, choisissent KVM plutôt que Xen) est un argument fort pour que pour les charges de travail typiques, KVM est un très bon choix en termes de performances.