Frage Auswählen einer SAN-Technologie für 100 VM-Webserver


Das Problem

Wir haben ein Problem mit der Leistung auf einer bestehenden Plattform, also wende ich mich an den Hive-Mind für eine zweite Meinung zu diesem Thema. Das bisherige Leistungsproblem bezieht sich eher auf IOPS als auf Durchsatz.

Das Szenario

Ein Blade-Center aus 16 Hosts mit jeweils 64 GB RAM. (Es ist ein Dell M1000e w / M610s, aber das ist wahrscheinlich nicht relevant) 500 VMs, alle Webserver (oder zugehörige Webtechnologien wie MySQL, Load Balancer, etc.), rund 90% sind Linux und der Rest Windows. Hypervisor ist VMWare vSphere. Wir müssen Host-HA bereitstellen, damit der lokale Speicher nicht verfügbar ist. Als solche haben die Hosts nur eine SD-Karte zu booten.

Ein bisschen Hintergrunddenken

Im Moment sind wir bei 6 Hosts (das Blade-Center wird in den nächsten Jahren auf dem aktuellen Wachstumskurs sein) und wir führen iSCSI zur Erweiterung auf einen Dell MD3220i mit MD1220.

Mögliche Optionen, die wir in Betracht gezogen haben, und unmittelbare Gedanken mit ihnen:

  • Verteilen der VMs über NFS-Datenspeicher und Ausführen von NFS-Speicher, der die Leistungsanforderungen für eine bestimmte Anzahl von VMs erfüllt. NFS scheint billiger skalierbar zu sein und wurde etwas mehr abstrahiert als Blockspeicher, so dass wir es bei Bedarf verschieben können.
  • Hinzufügen weiterer MD3220i-Controller / Ziele. Wir sind jedoch besorgt, dass sich dies irgendwie negativ auf die Handhabung von VMWare mit vielen Zielen auswirken könnte.
  • Austauschen aller Festplatten von Nearline SAS auf SSD. Dies sollte das IOPS-Problem vollständig lösen, hat aber den offensichtlichen Nebeneffekt, unsere Speicherkapazität zu reduzieren. Außerdem ist es immer noch sehr teuer.
  • vSphere 5 verfügt über eine Speicher-Appliance. Wir haben nicht so viel erforscht, aber es muss gut funktionieren?

Die Frage

Welche Art von Speicher würden Sie unter all dem laufen lassen? Es müsste nicht auf ein anderes Blade Center skaliert werden, es müsste lediglich eine relativ gute Leistung für alle diese VMs bereitstellen.

Ich bin nicht auf der Suche nach "Buy SAN x, weil es die besten" Antworten ist. Ich suche nach Überlegungen zu den verschiedenen SAN-Technologien (iSCSI, FC, FCoE, InfiniBand, NFS usw.), verschiedenen Arten von Speicher (SATA, SAS, SSD) und Methoden zur Handhabung von Speicher für 100 VMs (Konsolidierung, Trennung , Sharding, usw.).

Absolut alle Gedanken, Links, Anleitungen, Hinweise usw. sind hier willkommen. Ich würde auch gerne Gedanken zu den oben genannten Optionen hören, die wir bereits in Betracht gezogen hatten.

Vielen Dank im Voraus für jede Eingabe!

Update 5. März '12

Einige fantastische Antworten bisher, vielen Dank an alle!

Nach den bisherigen Antworten auf diese Frage denke ich, dass der folgende Weg der richtige Weg ist:

  • Ordnen Sie den verfügbaren Speicher dem VMWare-Cluster zu und platzieren Sie VM-Festplatten auf einem geeigneten Speicher für ihre Workloads.
  • Verwenden Sie möglicherweise ein SAN, das in der Lage ist, die Platzierung von Daten auf einem geeigneten Speicher automatisch zu verwalten.
  • Infiniband scheint der kostengünstigste zu sein, um die benötigte Bandbreite bei voller Auslastung der Hosts zu erhalten.

Es klingt definitiv so, als würde es sich lohnen, die Pre-Sales-Services eines großen SAN-Anbieters in Anspruch zu nehmen, um das Szenario zu verstehen.

Ich werde dieses Problem noch eine Weile in Betracht ziehen. In der Zwischenzeit wurde mehr Beratung dankbar erhalten!


15
2018-03-03 18:42


Ursprung


auch Mellanox hat eine 40gbe switch \ nic Deal, der ziemlich extrodinary ist, kommt infiniband in Bezug auf $ / Leistung sehr nahe. An diesem Punkt würde ich eine Nexenta mit ein paar 40gbe Karten als praktikable Option betrachten. - tony roth


Antworten:


Der Schlüssel zu einer guten VMWare-Speicherplattform besteht darin, zu verstehen, welche Art von Last VMWare generiert.

  • Erstens, da Sie eine Vielzahl von Servern hosten, ist die Arbeitslast in der Regel zufällig. Es gibt viele IO-Streams zur gleichen Zeit, und nicht viele von ihnen können erfolgreich vorab zwischengespeichert werden.
  • Zweitens ist es variabel. Während des normalen Betriebs sehen Sie möglicherweise 70% zufällige Lesevorgänge. Wenn Sie jedoch eine VM in einen neuen Datenspeicher verschieben, wird ein sequenzieller Schreibvorgang von 60 GB angezeigt. Wenn Sie nicht auf die Architektur achten, kann dies die Fähigkeit Ihres Speichers beeinträchtigen, normale E / A zu verarbeiten.
  • Drittens erzeugt ein kleiner Teil Ihrer Umgebung in der Regel einen großen Teil der Speicherauslastung.

Der beste Weg, um Speicher für eine VMWare-Plattform aufzubauen, besteht darin, mit den Grundlagen zu beginnen.

  • Sie benötigen die Fähigkeit, eine große zufällige Lese-Workload zu bedienen, was kleinere schnellere Laufwerke sowie möglicherweise SSD bedeutet. Bei den meisten modernen Speichersystemen können Sie Daten automatisch verschieben, je nachdem, wie darauf zugegriffen wird. Wenn Sie SSD verwenden möchten, möchten Sie sicherstellen, dass Sie es so verwenden. Es sollte da sein, um Hotspots nach und nach zu reduzieren. Ob Sie SSD verwenden oder nicht, es ist vorteilhaft, die gesamte Arbeit auf alle Laufwerke zu verteilen, daher wäre etwas mit einer Art von Speicher-Pooling von Vorteil.
  • Sie benötigen die Möglichkeit, intermittierende große Schreibvorgänge zu bedienen, was sich nicht so sehr auf die Spindeldrehzahl der zugrunde liegenden Laufwerke auswirkt, sondern sich um die Effizienz des Controller-Stacks und die Größe des Cache kümmert. Wenn Sie Caching gespiegelt haben (was nicht optional ist, es sei denn, Sie sind bereit, bei einem Controllerausfall zu Sicherungen zurückzukehren), ist die Bandbreite zwischen den beiden Caches für die Spiegelung normalerweise der Engpass für große sequenzielle Schreibvorgänge. Stellen Sie sicher, dass alles, was Sie erhalten, über eine Hochgeschwindigkeits-Controller- (oder Cluster-) Verbindung für das Schreib-Caching verfügt. Tun Sie Ihr Bestes, um ein High-Speed-Front-End-Netzwerk mit so vielen Ports wie möglich zu erhalten, während der Preis realistisch bleibt. Der Schlüssel zu einer guten Front-End-Performance liegt darin, Ihre Speicherlast auf so viele Front-End-Ressourcen wie möglich zu verteilen.
  • Sie können die Kosten erheblich senken, indem Sie eine Stufe für Speicher mit niedriger Priorität sowie für Thin Provisioning einrichten. Wenn Ihr System nicht automatisch einzelne Blöcke auf billige große / langsame Laufwerke (wie Nearline SAS oder SATA mit 7200 RPM und 2 TB + Größen) migriert, versuchen Sie es manuell zu tun. Große langsame Laufwerke sind ausgezeichnete Ziele für Archive, Backups, einige Dateisysteme und sogar Server mit geringer Nutzung.
  • Bestehen Sie darauf, dass der Speicher VAAI integriert ist, so dass VMWare nicht genutzte Teile der VMs sowie der Datenspeicher freigeben kann.

13
2018-03-05 14:56



Einige ausgezeichnete Kommentare dort, danke. Definitiv etwas zu gehen und zu überlegen. - SimonJGreen


Meine großen VMWare-Bereitstellungen sind NFS und iSCSI über 10GbE. Das bedeutet Dual-Port-10GbE-HBAs in den Servern sowie den Speicherkopf. Ich bin ein Fan von ZFS-basierten Speicher dafür. In meinem Fall ist es um Werbung gewickelt NexentaStor, aber einige entscheiden sich dafür, ihre eigenen zu rollen.

Die Schlüsselfunktionen von ZFS-basiertem Speicher in diesem Kontext sind die ARC / L2ARC-Caching-Funktionalität, die es Ihnen ermöglicht, Speicher in Schichten anzuordnen. Die aktivsten Daten finden ihren Weg im RAM- und SSD-Speicher als zweite Schicht. Es wäre auch vorteilhaft, wenn Sie Ihren Hauptspeicherpool von 10k oder 15k SAS-Laufwerken ausschließen würden.

Dies ist ein weiterer Fall, in dem Sie Ihre Arbeitslast profilieren und verstehen. Arbeiten Sie mit jemandem zusammen, der Ihre Speichermuster analysieren und Ihnen bei der Planung helfen kann. Auf der ZFS / NexentaStor-Seite mag ich PogoSpeicher. Ohne diese Art der Einsicht spielt die Transportmethode (FC, FCoE, iSCSI, NFS) keine Rolle. Haben Sie eine Überwachung Ihrer bestehenden Infrastruktur? Wie sieht die E / A-Aktivität jetzt aus?


9
2018-03-03 23:39



Wie groß sind diese Einsätze aus Neugier? Und welche Art von Arbeitsbelastung? - SimonJGreen
Mehrere Hosts. Das größte Unternehmen verfügt über 90 VMs mit gemischter Nutzung, darunter Linux, Windows infra (Datei / AD / Exchange), VDI und Datenbanksysteme. Der RAM auf den Speichereinheiten ist hoch (96GB +) und ich habe 1,2 TB L2ARC Read Cache auf Enterprise SSDs. - ewwhite
Du wirst mir meine Unwissenheit vergeben müssen, und um klar zu sein, bezweifle ich nicht, dass du das Richtige tust. Warum haben Sie so viel RAM in den Speichereinheiten? Wird es für Puffer verwendet? - SimonJGreen
Ah, ich habe gerade über ZFS und ARC / L2ARC gelesen. Das ist eine tolle Soße :) - SimonJGreen


Die Schlüsselfrage lautet: "Wo ist der Flaschenhals?" Sie erwähnen IOPS, aber bedeutet das, dass Sie die Festplatten selbst als Engpass erkannt haben, oder nur, dass die SAN-Ports nicht ausgelastet sind oder dass die VMs viel mehr Iowait sind, als Sie möchten?

Wenn Sie definitiv festgestellt haben, dass die Festplatten der limitierende Faktor sind, dann wird der Wechsel zu NFS oder Infiniband oder was auch immer Sie nicht für Ihre Leistung brauchen - Sie brauchen SSDs (oder zumindest Tiered Storage mit SSDs im Mix) oder ein ganzes Bündel mehr Spindeln (eine Lösung, die in letzter Zeit viel teurer geworden ist, seit die weltweite Schrittmotorproduktion ins Meer gespült wurde).

Wenn Sie sich nicht 100% ig sicher sind, wo der Flaschenhals tatsächlich ist, müssen Sie dies zuerst herausfinden - Teile Ihrer Speicherinfrastruktur werden mehr oder weniger zufällig ausgewechselt, was auf den Annahmen anderer basiert, wird es hier nicht geben sehr effektiv (vor allem wenn man bedenkt, wie teuer die Änderungen sein werden).


8
2018-03-03 23:18



absolut richtig, ich nehme immer an, dass der Fragesteller seine Hausaufgaben gemacht hat. Aber nachdem ich einige Performance-Konsultationen gemacht habe, gebe ich meistens einfach auf und sage mehr oder schnellere Laufwerke und mehr als 98% ist das Problem gelöst. Die anderen 2% sind unglaublich überbetont. - tony roth
"Ich gehe immer davon aus, dass die Person, die die Frage stellt, ihre Hausaufgaben gemacht hat" - baaaaaad Annahme ... - womble♦
Diese Antwort ist perfekt. Bei vielen Gelegenheiten habe ich mich bemüht, ein Problem wie dieses anzugehen, und ich hatte eine vorgefasste Meinung darüber, was das Problem war. Neunmal von zehn endet es in Tränen, wenn ich lerne, dass ich einfach nicht genug über das Problem wusste. Sorgfältig profilieren, bestimmen, was der Flaschenhals ist und dann fortfahren. Sie können den "Bienenstock" um Hilfe bitten, oder Sie können sich an einen SAN-Händler wenden, um Unterstützung zu erhalten. Wenn Sie Probleme bei der Profilerstellung haben, helfen Ihnen NetApp und / oder EMC gerne dabei, Ihre Statistiken auszuarbeiten und dann eine Lösung für Sie zu finden. Beide haben eine gute Software dafür. - SvrGuy
Ich habe diese Diagnose auf die kombinierte Leistung von esxtop auf allen Hosts (zeigt die Festplattenauslastung an), wobei die gesamten CMD / s gemessen und mit Benchmarks auf dem von uns verwendeten SAN verglichen werden. Die Gesamt-CMD / s ist konstant hoch, wenn die Benchmark-Ergebnisse als Überschrift genommen werden. SSDs scheinen definitiv eine gute Option aus technischer Sicht zu sein, sie sind nur noch horrend teuer noch GB / £. Könnte eine Lösung mit Tiered Storage sein. Auf einer Seitennotiz / FYI, entsprechend einer neuen Presseerklärung, die ich erhielt, sind WD zurück zu den Produktionsniveaus auf Disketten. - SimonJGreen
Wie wurde der Benchmark im SAN durchgeführt? Der begrenzende Faktor könnte immer noch Netzwerk sein, im Gegensatz zu den Festplatten selbst. Zumindest hast du einen Benchmark, von dem du starten kannst, wenn du mit verschiedenen Dingen anfangen willst, um die Dinge schneller laufen zu lassen, was von entscheidender Bedeutung ist. - womble♦


Wenn Sie iscsi oder nfs dann minimal wollen Sie ein paar 10 / 40GB Ports oder Infiniband, die die mit Abstand günstigste Option ist, aber native Speicherlösungen für Infiniband scheinen begrenzt zu sein. Das Problem wird das Modul für das Bladecenter sein, was seine Optionen sind, normalerweise 8 GB fc oder 10 \ 1gbe und vielleicht Infiniband. Beachten Sie, dass Infiniband mit NFS verwendet werden kann und nichts in Bezug auf Leistung \ Preis geschlossen ist. Wenn das Blade Center qdr infiniband unterstützt, würde ich das mit einem Linux Host irgendeiner Art mit einem qdr infiniband tca via nfs machen. Hier ist ein guter Link, der dies beschreibt http://www.zfsbuild.com/2010/04/15/why-we-chose-infiniband-instead-of-10gige

Aber wenn das Bladecenter qdr infiniband unterstützen kann und Sie sich natives infiniband leisten können, dann ist das die Lösung, die Sie wählen sollten.

Derzeit können Sie 40gbe Switches weit billiger (das ist ein seltsamer Gedanke) dann 10gbe schaltet, aber ich bezweifle, dass Sie Blade Center wird das unterstützen.


4
2018-03-03 19:14



Dies sind die Verbindungsoptionen aus dem Blade Center: dell.com/us/enterprise/p/poweredge-m1000e/pd Infiniband sieht gut aus und bei dieser Menge an Gast-VMs sind die Kosten vertretbar. Was würdest du SAN Seite tun? - SimonJGreen
was auch immer dell hat, das Infiniband unterstützt, sollte deine San-Lösung sein. - tony roth
sieht nicht so aus, als hätte Dell einen IB-basierten Speicher, also würde ich denken, dass diese Option in diesem Fall eine Erweiterung sein könnte. Sowohl Sun als auch SGI haben IB basierte SANs nicht sicher, was die Kosten sind. - tony roth
Sie bieten keinen IB-Speicher, aber sie bieten IB-Konnektivität. Ich habe keine Bedenken, einen anderen Speicheranbieter zu verwenden, wir haben in dieser Hinsicht keine Liebe für Dell. - SimonJGreen
dann entweder Sonne oder SGI wird eine Lösung für Sie haben, nicht sicher, was die aktuellen Modell # sind. - tony roth


Lokaler Speicher ist out? Ich bin ziemlich zufrieden mit dem Schreibdurchsatz auf meinen lokalen RAID 5s - gespiegelt mit DRBD8 an den Cluster-Partner meiner XEN-Maschine ... (aber das wird natürlich "nicht unterstützt").

Abgesehen davon bin ich mir ziemlich sicher, dass mySQL dein Leistungsproblem ist (ich habe nie eine schlechtere DB gesehen). Versuchen Sie es abzuschalten und / oder versuchen Sie, die gesamte DB in den Dateisystem-Cache zu stellen (für Lesezugriff) ...


-3
2018-03-04 21:40



Das OP hat eine bestehende VMWare-Lösung und läuft mit plattenlosen Hosts. Lokaler Speicher ist nicht sinnvoll. - ewwhite
Der lokale Speicher kann auch die Verwendung lokaler Speicher-Blades umfassen. Aber VMWare wird das vermutlich nicht unterstützen. - Nils
Ich glaube nicht, dass Dell lokale Storage Blades anbietet - und ich bin mir nicht sicher, ob ich diese mit anderen gesehen habe. Ich habe Drive Blades gesehen, die an ein einzelnes Blade angeschlossen sind und keinem anderen im Blade Speicherplatz bieten. Sie würden dafür einen Interconnect benötigen, es wäre im Wesentlichen ein Chassis-lokales SAN, oder? - mfinni
Sorry @Nils, ich bin mir ziemlich sicher, dass du die Frage nicht richtig gelesen hast. - SimonJGreen
Nils - Blick auf die D2200sb: "Die Gehäusebackplane bietet eine PCI-Express-Verbindung zum benachbarten c-Class Server Blade und ermöglicht hochperformanten Speicherzugriff ohne zusätzliche Kabel. ... Verwenden Sie die HP P4000 Virtual SAN Appliance Software (VSA) Verwandeln Sie das D2200sb in ein iSCSI-SAN, das von allen Servern im Gehäuse und von jedem Server im Netzwerk verwendet werden kann. " - mfinni