Ich benutze VMWare seit vielen Jahren und habe Dutzende von Produktionsservern mit sehr wenigen Problemen ausgeführt. Ich habe jedoch nie versucht, mehr als 20 VMs auf einem einzigen physischen Host zu hosten. Hier ist die Idee:
- Eine abgespeckte Version von Windows XP kann mit 512 MB RAM und 4 GB Festplattenspeicher auskommen.
- 5.000 US-Dollar bringen mir einen 8-Core-Server mit 64 GB RAM und vier SAS-Spiegeln.
- Da 100 der oben genannten VMs in diesen Server passen, kostet meine Hardware nur 50 US-Dollar pro VM, was super ist (billiger als das Mieten von VMs bei GoDaddy oder einem anderen Hosting-Shop).
Ich würde gerne sehen, ob jemand in der Lage ist, diese Art von Skalierbarkeit mit VMWare zu erreichen. Ich habe ein paar Tests gemacht und bin auf ein seltsames Problem gestoßen. Die VM-Leistung verschlechtert sich dramatisch, sobald Sie 20 VMs starten. Gleichzeitig weist der Hostserver keine Ressourcenengpässe auf (die Festplatten sind zu 99% im Leerlauf, die CPU-Auslastung liegt unter 15% und es gibt genügend freien Arbeitsspeicher).
Ich würde mich freuen, wenn Sie Ihre Erfolgsgeschichten über die Skalierung von VMWare oder einer anderen Virtualisierungstechnologie teilen können!
quelle
Antworten:
Ja, du kannst. Selbst für einige Windows 2003-Workloads reichen nur 384 MB aus. 512 MB sind also eine ziemlich gute Schätzung, wenn auch ein wenig zu hoch. RAM sollte kein Problem sein, ebenso wenig wie CPU.
100 VMs sind ein bisschen steil, aber es ist machbar, besonders wenn die VMs nicht sehr ausgelastet sein werden. Wir betreiben problemlos 60 Server (Windows 2003 und RHEL) auf einem einzigen ESX-Server.
Angenommen, Sie sprechen von VMware ESX, sollten Sie auch wissen, dass es möglich ist, Speicher zu überlasten. VMs nutzen kaum ihre festgelegte Speicherration, sodass ESX mehr RAM für VMs bereitstellen und mehr VMs ausführen kann, als tatsächlich "offiziell" für RAM vorgesehen sind.
Höchstwahrscheinlich handelt es sich bei Ihrem Engpass nicht um CPU oder RAM, sondern um IO. VMware hat eine enorme Menge an IOPS im Marketing, aber wenn es darauf ankommt, werden SCSI-Reservierungskonflikte und eine begrenzte Bandbreite Sie aufhalten, bevor Sie sich den IOPS-Vorzügen von VMware nähern.
Auf jeden Fall ist der Leistungsabfall von 20 VM nicht zu verzeichnen. Welche Version von ESX verwenden Sie?
quelle
Ein Hauptproblem in einer so großen Umgebung wäre die Katastrophenverhütung und der Datenschutz. Wenn der Server ausfällt, sterben 100 VMs mit.
Sie müssen eine Art Failover der VMs einplanen und eine Art "Extra-VM" -Verwaltung einplanen, die Ihre VMs im Falle eines Ausfalls schützt. Natürlich bedeutet diese Art der Redundanz einen Kostenanstieg - was wahrscheinlich der Grund ist, warum ein solcher Aufwand oft erst genehmigt wird, nachdem sich seine Vorteile in der Praxis gezeigt haben (weil er nicht vorhanden ist).
Denken Sie auch daran, dass der VM-Host nur eine von mehreren einzelnen Fehlerquellen ist:
Dies sind nur einige Beispiele: Bei einer umfangreichen VM-Infrastruktur muss sorgfältig darauf geachtet werden, dass kein Datenverlust und kein VM-Verlust auftritt.
quelle
Keine Aussage über die Realisierbarkeit in der Produktion, aber es gibt eine sehr interessante NetApp-Demo, in der 5440 XP-Desktops auf 32 ESX-Hosts (das sind 170 pro Host) in etwa 30 Minuten bereitgestellt werden bilder
http://www.youtube.com/watch?v=ekoiJX8ye38
Ich vermute, dass Ihre Einschränkungen vom Festplattensubsystem herrühren. Sie scheinen die Speicher- und CPU-Auslastung entsprechend berücksichtigt zu haben.
quelle
Nie getan - aber ich verspreche, Sie werden viel mehr als nur für Speicher ausgeben, um genügend IOPs zu erhalten, um so viele VMs zu unterstützen, wie Sie auf der Serverhardware benötigen. Sie benötigen eine Menge IOPs, wenn alle 100 gleichzeitig aktiv sind. Nicht negativ zu klingen, aber haben Sie auch darüber nachgedacht, dass Sie eine Menge Eier in einen Korb legen?
quelle
Ich wäre am meisten besorgt über CPU-Konflikte mit 100 VMs auf einem einzelnen Host. Sie müssen sich daran erinnern, dass der Prozessor NICHT virtualisiert ist, sodass jede Maschine auf den Zugriff auf die CPU warten muss. Sie können anfangen, Konflikte zu sehen, indem Sie sich ESXTOP ansehen. Es wurde mir gesagt, dass VMWare Engineers alles, was über 5 im Feld% RDY steht, sehr schlecht ist.
Nach meiner Erfahrung habe ich ungefähr 30 - 40 Server gesehen, die auf einem Host laufen (nicht zu viel).
quelle
Ich hatte 10 Hosts auf VMWare Server 1.0.6 (unter Windows 2003) und es traten regelmäßig E / A-Probleme auf (und wenn sich die nächtlichen Builds jemals mit etwas anderem überschnitten, hatten sie Probleme). Nach dem Upgrade von Windows auf ESXi U3 haben wir festgestellt, dass unsere Leistungsprobleme behoben sind (nächtliche Builds sind nicht mehr fehlgeschlagen).
Beachten Sie auch, dass SSDs eine viel höhere E / A-Rate aufweisen als sich drehende Medien. In einigen Fällen kann dies jedoch nicht der Fall sein, z Smart Write Buffering Cache, der bei Scatter-Schreibvorgängen gute Arbeit leistet).
Ich würde empfehlen, die SWAP-Dateien auf verschiedenen Laufwerken zu untersuchen / zu testen, wenn Sie auf Probleme stoßen.
quelle
Wenn Sie dies tun, empfehlen wir Ihnen dringend, die neuen Prozessoren der Intel 'Nehalem' Xeon 55xx-Serie zu verwenden. Sie wurden für den Betrieb von VMs entwickelt und ihre zusätzliche Speicherbandbreite wird ebenfalls enorm helfen. Oh, und wenn Sie mehr, kleinere als wenige, große Festplatten verwenden können, hilft das sehr. Wenn Sie ESX v4 auch über 3.5U4 verwenden können.
quelle
Ich habe 20 XP-VMs mit je 512 MB RAM auf einer Maschine mit 16 GB RAM. Weniger als das und sie tauschen auf die Festplatte und das gibt den Flaschenhals. Dies sind jedoch immer aktive XP-VMs.
VMware und seine OverCommit-Funktion sollten es Ihnen ermöglichen, mehr RAM auf jede XP-Maschine zu übertragen. Ein ähnlicher Computer teilt dieselben Seiten, sodass das Beschreiben der Festplatte verringert werden kann. Es ist etwas, worauf ich bei unserem Setup achten möchte, um weitere Maschinen hinzuzufügen, da unsere XP-VMs 10 bis 20 Megabyte kontinuierlichen Festplattenverkehrs ausführen.
quelle
Wir konnten nicht 100 zufriedene Gäste auf VMWare Server erreichen, stellten dann aber fest, dass ESXi einen viel besseren Job macht. Es scheint also, dass 100 XP vms kein Problem sind, wenn Sie ESXi und einen anständigen Server verwenden (ein paar Festplattenspiegel, um die E / A zu verteilen, ein paar I7-Chips und 64 GB RAM). Es gibt keine sichtbare Verzögerung für Endbenutzer und die Hostressourcen werden nicht ausgelastet (die heißeste ist die CPU, aber normalerweise sind es mindestens 70% im Leerlauf).
PS. Diese Frage wurde von mir gestellt, als wir mit VMWare Server zu kämpfen hatten.
quelle
Bei der letzten Überprüfung empfiehlt VMware, nicht mehr als 4 VMs pro Prozessorkern für ESX zu verwenden, wobei eine vCPU pro VM vorausgesetzt wird.
Dies deutet darauf hin, dass Verwaltungskosten zu einem Faktor werden.
Ich bin sehr gespannt, ob man mit einer 8-Kern-Box tatsächlich einen 4-fachen Faktor erreichen kann.
quelle