web-dev-qa-db-fra.com

Exécution de 100 machines virtuelles sur un seul serveur hôte VMWare

J'utilise VMWare depuis de nombreuses années, exécutant des dizaines de serveurs de production avec très peu de problèmes. Mais je n'ai jamais essayé d'héberger plus de 20 VM sur un seul hôte physique. Voici l'idée:

  1. Une version allégée de Windows XP peut vivre avec 512 Mo de RAM et 4 Go d'espace disque).
  2. 5000 $ me donne une machine de classe serveur à 8 cœurs avec 64 Go de RAM et quatre SAS miroirs.
  3. Étant donné que 100 machines virtuelles mentionnées ci-dessus s'insèrent dans ce serveur, mon coût matériel n'est que de 50 $ par VM ce qui est super sympa (moins cher que la location de machines virtuelles chez GoDaddy ou dans tout autre hébergeur).

Je voudrais voir si quelqu'un est capable d'atteindre ce type d'évolutivité avec VMWare? J'ai fait quelques tests et suis tombé sur un problème étrange. Les performances VM commencent à se dégrader considérablement une fois que vous avez démarré 20 machines virtuelles. En même temps, le serveur hôte n'affiche aucun goulot d'étranglement des ressources (les disques sont inactifs à 99%, l'utlisation du processeur est inférieure à 15%). et il y a beaucoup de RAM libre).

J'apprécierai si vous pouvez partager vos réussites concernant la mise à l'échelle de VMWare ou de toute autre technologie de virtualisation!

24
Dennis Kashkin

Oui, vous pouvez. Même pour certaines charges de travail Windows 2003 aussi peu que 384 Mo suffisent, 512 Mo est donc une assez bonne estimation, que ce soit un peu élevée. RAM ne devrait pas être un problème, pas plus que le CPU.

Un 100 VMs est un peu raide, mais c'est faisable, surtout si les VMs ne vont pas être très occupées. Nous exécutons facilement 60 serveurs (Windows 2003 et RHEL) sur un seul serveur ESX.

En supposant que vous parlez de VMware ESX, vous devez également savoir qu'il est capable de surcharger la mémoire. Les machines virtuelles n'utilisent presque jamais leur ration de mémoire complète, donc ESX peut engager plus que la quantité disponible de RAM pour les machines virtuelles et exécuter plus de machines virtuelles qu'elle n'en a officiellement RAM pour.

Votre goulot d'étranglement ne sera probablement pas un processeur ou une RAM, mais des E/S. VMware possède d'énormes quantités d'IOPS dans son marketing, mais lorsque Push arrive à son terme, les conflits de réservation SCSI et la bande passante limitée vous arrêteront complètement avant de vous approcher des fanfaronnages IOPS VMware.

Quoi qu'il en soit, nous ne connaissons pas la dégradation des performances de 20 VM. Quelle version d'ESX utilisez-vous?

15
wzzrd

Un problème majeur avec un tel environnement serait la prévention des catastrophes et la protection des données. Si le serveur meurt, 100 machines virtuelles meurent avec lui.

Vous devez planifier une sorte de basculement des machines virtuelles et planifier une sorte de gestion "extra-VM" qui protégera vos machines virtuelles en cas de panne. Bien sûr, ce type de redondance signifie une augmentation des coûts - c'est probablement la raison pour laquelle de nombreuses dépenses ne sont approuvées qu'après que ses avantages ont été constatés dans la pratique (par son absence).

N'oubliez pas non plus que l'hôte VM n'est qu'un des nombreux points de défaillance uniques:

  • Réseau - et si la carte réseau de l'hôte VM VM tombe en panne?
  • Mémoire - que faire si une partie de la mémoire de l'hôte VM va mal?
  • CPU - si un coeur de CPU meurt, qu'advient-il des VMs?
  • Alimentation - existe-t-il un ou deux câbles d'alimentation?
  • Port de gestion - supposez que vous ne pouvez pas accéder à la gestion de l'hôte de la machine virtuelle?

Ce n'est que quelques exemples: une infrastructure massive de VM nécessite une attention particulière à la prévention de la perte de données et à la prévention de la perte de VM.

11
Mei

Aucune déclaration sur la viabilité de ceci en production, mais il y a une démo NetApp très intéressante où ils provisionnent 5440 XP bureaux sur 32 hôtes ESX (soit 170 par hôte) en environ 30 minutes en utilisant très peu espace disque dû à la déduplication par rapport aux images VM communes

http://www.youtube.com/watch?v=ekoiJX8ye38

Je suppose que vos limitations proviennent du sous-système de disque. Vous semblez avoir pris en compte la mémoire et l'utilisation du processeur en conséquence.

4
Kevin Kuphal

Je ne l'ai jamais fait - mais je vous promets que vous dépenserez beaucoup plus que sur le stockage pour obtenir suffisamment d'E/S pour prendre en charge autant de machines virtuelles que vous ne le ferez sur le matériel du serveur. Vous aurez besoin de beaucoup d'E/S si tous les 100 d'entre eux sont actifs en même temps. Pour ne pas paraître négatif, mais avez-vous également considéré que vous mettez beaucoup d'oeufs dans le même panier (on dirait que vous recherchez une solution à serveur unique?)

3
Jeff Hengesbach

Je serais très inquiet de la contention du processeur avec 100 machines virtuelles sur un seul hôte. Vous devez vous rappeler que le processeur n'est PAS virtualisé, donc chaque machine devra attendre l'accès au processeur. Vous pouvez commencer à voir la contention en regardant ESXTOP on m'a dit que plus de 5 dans le champ% RDY est très mauvais par les ingénieurs VMWare.

D'après mon expérience, j'ai vu environ 30 à 40 serveurs fonctionnant sur un hôte (sans en faire trop).

1
Zypher

J'avais 10 hôtes sur VMWare Server 1.0.6 (sous Windows 2003) et cela se produirait régulièrement avec IO problèmes (et si les versions nocturnes se chevauchaient jamais avec autre chose, alors elles le feraient) Après la mise à niveau de Windows vers ESXi U3, nous avons constaté que nos problèmes de performances avaient disparu (les versions nocturnes n’ont plus échoué).

Notez également que bien que les SSD aient un taux IO beaucoup plus élevé que les supports en rotation, il y a des cas où cela ne tient pas, comme certains types de modèles d'écriture (beaucoup de petites écritures dispersées à travers le lecteur va tuer les performances à moins que le contrôleur ne dispose d'un cache de mise en mémoire tampon d'écriture intelligent qui fait un bon travail sur les écritures scatter).

Je recommanderais de rechercher/tester les fichiers SWAP sur différents lecteurs si vous rencontrez des problèmes.

1
Walter

Si vous voulez le faire, je vous invite fortement à utiliser les nouveaux processeurs Intel 'Nehalem' Xeon 55xx - ils sont conçus pour exécuter des machines virtuelles et leur bande passante mémoire supplémentaire vous aidera énormément aussi. Oh, et si vous pouvez utiliser plus de disques plus petits que quelques grands, cela vous aidera beaucoup. Si vous pouvez également utiliser ESX v4 sur 3.5U4.

1
Chopper3

J'ai 20 quelque chose XP VMs fonctionnant avec 512M de RAM chacune sur une machine avec 16G de RAM. Moins que cela et ils s'échangent sur le disque et cela donne le goulot d'étranglement. Ce sont toujours des machines virtuelles XP actives.

VMware et sa fonction OverCommit devraient vous permettre de pousser davantage de RAM vers chaque XP machine. Une machine similaire partagera les mêmes pages, ce qui pourrait réduire l'écriture sur le disque. C'est quelque chose que j'aimerais examiner pour notre configuration pour essayer d'ajouter plus de machines car nos XP VM font 10-20 meg de trafic de disque continu.

1
Ryaner

Nous n'avons pas pu atteindre 100 invités satisfaits sur VMWare Server, mais nous avons constaté qu'ESXi faisait un bien meilleur travail. Il semble donc que 100 XP vms ne soit pas un problème si vous utilisez ESXi et un serveur décent (quelques miroirs de disque pour répartir les E/S, quelques puces I7 et 64 Go de RAM) Il n'y a pas de délai visible pour les utilisateurs finaux et les ressources de l'hôte ne sont pas maximisées (la plus chaude est la CPU mais elle est généralement au moins 70% inactive).

PS. Cette question a été postée par moi lorsque nous nous débattions avec VMWare Server.

1
Dennis Kashkin

La dernière fois que j'ai vérifié, VMware ne recommande pas plus de 4 VM par cœur de traitement pour ESX, en supposant un vCPU par VM.

Cela suggère que les frais généraux de gestion deviennent un facteur.

Je suis très intéressé de voir si vous pouvez réellement atteindre un facteur 4x sur une boîte à 8 cœurs.

0
Hans Malherbe