Lequel fonctionne mieux sous une utilisation intensive du processeur et de la mémoire sur les serveurs virtuels, Xen ou VirtualBox?
la source
Lequel fonctionne mieux sous une utilisation intensive du processeur et de la mémoire sur les serveurs virtuels, Xen ou VirtualBox?
Xen fonctionnera généralement beaucoup mieux que VirtualBox car VirtualBox exécute le système d'exploitation invité d'une manière que le système d'exploitation invité ne sait pas qu'il s'exécute dans un environnement virtuel. Ou, pour le dire autrement, le système d'exploitation invité n'est pas modifié pour fonctionner virtuellement. Pour cette raison, VirtualBox doit «piéger» les instructions de type de noyau, exécuter du code personnalisé, puis retourner le contrôle à l'invité. Il peut utiliser la prise en charge de la virtualisation matérielle fournie par Intel et AMD, mais même alors, les frais généraux s'additionnent.
Pendant ce temps, Xen s'assure que le système d'exploitation invité est recompilé pour s'adapter au modèle Xen. Le contrôle se déroule donc en douceur du système d'exploitation invité vers l'hyperviseur, sans avoir à faire semblant que le système d'exploitation invité a un accès direct au matériel.
Pour un aperçu de plusieurs technologies de virtualisation, y compris les données des tests de performances, lisez ce rapport . Il ne parle que de Linux, mais il couvre Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox et QEMU. Linux-Vserver et Xen étaient généralement les plus performants, mais lisez le rapport pour voir les différentes charges de travail.
Cela dit, il peut y avoir certains domaines où VirtualBox surpasse Xen. Si votre système d'exploitation invité possède une couche de fenêtrage graphique, VirtualBox prend bien en charge cela, en particulier si vous installez des composants VirtualBox spéciaux dans le système d'exploitation invité.
Et enfin, vous devez savoir que Xen exécutera uniquement un système d'exploitation invité modifié. Il ne peut pas exécuter un système d'exploitation invité non modifié.
La réponse de Hamish Downer se trompe sur son dernier point. Xen peut exécuter des invités non modifiés, mais ils doivent être exécutés en tant qu'invités HVM entièrement virtualisés. Pour ce faire, l'ordinateur hôte doit prendre en charge la virtualisation matérielle avec les processeurs Intel VT ou AMD-V.
Xen et Virtualbox ont chacun leur place mais ce sont deux types d'hyperviseurs différents. Xen est un hyperviseur de type 1 où Virtualbox est un hyperviseur de type 2. Les hyperviseurs de type 1 ont tendance à être ce que vous trouvez dans les environnements de serveur où les hyperviseurs de type 2 ont tendance à être plus courants pour exécuter plusieurs systèmes d'exploitation avec lesquels vous interagissez en tant que bureaux. Je pense que cela est principalement dû à leur simplicité et à une meilleure intégration de bureau. Cependant, les clients sous hyperviseur de type 2 sont plus éloignés du matériel sous-jacent et ont tendance à être plus lents que les clients sous hyperviseur de type 1. Comme pour tout, il y aura toujours une exception à la règle.
la source
Je ne peux parler que de Xen, car je n'ai jamais utilisé Virtualbox que pour virtualiser une machine Windows sur mon bureau mac.
Comme d'autres l'ont mentionné, Xen (et XenServer, qui est basé sur Xen) utilise des noyaux paravirtualisés qui améliorent considérablement les caractéristiques de performances liées à la CPU et à la mémoire. Cependant, cela n'est vrai que pour les hôtes Linux avec des noyaux spécialisés. Vous avez besoin d'un noyau "activé" par Xen- pour pouvoir en profiter.
De plus, Windows ne prend pas en charge la virtualisation de cette manière, mais les extensions Intel VT et AMD-V sur leurs CPU respectifs "capturent" Windows et le font se comporter de manière paravirtualisée. Windows 2003 et Windows 2000 ne savent jamais qu'ils fonctionnent en virtualisé, tandis que Windows 2008, d'autre part, le détecte et s'exécute en mode dit "éclairé", qui peut être comparé au mode Linux "paravirtualisé".
la source