Vor einem Jahr habe ich
ein Rechenzentrum aus einem Stapel Intel NUC zusammengestellt . Es gab ein Softwarespeichersystem, das die Putzfrau nicht zerstören konnte. Ein paar Mal brach der Cluster zusammen.
Und jetzt haben wir beschlossen, vSAN auf mehreren Servern in einer sehr guten Konfiguration auszuführen, um die Leistung und Fehlertoleranz der Lösung vollständig zu bewerten. Natürlich hatten wir eine Reihe erfolgreicher Implementierungen in der Produktion für unsere Kunden, bei denen vSAN die festgelegten Aufgaben erfolgreich löste, aber es war nicht möglich, umfassende Tests durchzuführen. Eigentlich möchte ich heute die Testergebnisse teilen.
Wir werden den Speicher mit einer Last quälen, fallen lassen und auf jede mögliche Weise die Fehlertoleranz testen. Für Details lade ich alle zur Katze ein.
Was ist VMware vSAN im Allgemeinen und warum sind wir darauf gekommen?
Es gibt einen regulären Servercluster für virtuelle Maschinen. Es verfügt über eine Reihe unabhängiger Komponenten, der Hypervisor wird direkt auf der Hardware ausgeführt und der Speicher wird separat auf der Basis von DAS, NAS oder SAN konfiguriert. Langsame Daten auf der Festplatte, heiße Daten auf der SSD. Alles ist bekannt. Hier ergibt sich jedoch das Problem der Bereitstellung und Verwaltung dieses Zoos. Es macht besonders Spaß, wenn einzelne Elemente des Systems von verschiedenen Anbietern stammen. Bei Problemen hat das Andocken von Tickets für den technischen Support verschiedener Hersteller eine besondere Atmosphäre.
Es gibt separate Eisenstücke, die aus Sicht des Servers wie Discs für die Aufnahme aussehen.
Und es gibt hyperkonvergente Systeme. In ihnen erhalten Sie eine universelle Einheit, die die gesamten Kopfschmerzen der Interaktion zwischen Netzwerk, Festplatten, Prozessoren, Speicher und den virtuellen Maschinen, die sich auf ihnen drehen, übernimmt. Alle Daten fließen in ein Bedienfeld. Bei Bedarf können Sie einfach ein paar weitere Einheiten hinzufügen, um die erhöhte Last auszugleichen. Die Verwaltung ist stark vereinfacht und standardisiert.

VMware vSAN bezieht sich nur auf die Lösungen, auf deren Grundlage es bereitgestellt wird
hyperkonvergente Infrastruktur. Das Hauptmerkmal des Produkts ist die enge Integration in die Virtualisierungsplattform VMware vSphere, die führend unter den Virtualisierungslösungen ist, mit denen Sie innerhalb von Minuten Softwarespeicher für virtuelle Maschinen auf Virtualisierungsservern bereitstellen können. vSAN übernimmt direkt die Kontrolle über E / A-Vorgänge auf niedriger Ebene, verteilt die Last optimal, speichert Lese- / Schreibvorgänge zwischen und leistet viel mehr bei minimaler Belastung von Speicher und Prozessor. Die Transparenz des Systems ist leicht eingeschränkt, aber als Ergebnis funktioniert alles, wie es heißt. Automatisch kann vSAN als Hybridspeicher und in Form einer All-Flash-Version konfiguriert werden. Die Skalierung erfolgt sowohl horizontal durch Hinzufügen neuer Knoten zum Cluster als auch vertikal, wodurch die Anzahl der Festplatten in einzelnen Knoten erhöht wird. Die Verwaltung mit einem eigenen vSphere-Webclient ist aufgrund der engen Integration mit anderen Produkten sehr bequem.
Wir haben uns für eine saubere All-Flash-Konfiguration entschieden, die hinsichtlich Preis und Leistung optimal sein sollte. Es ist klar, dass die Gesamtkapazität im Vergleich zur Hybridkonfiguration mit Magnetplatten etwas geringer ist, aber hier haben wir uns entschlossen zu prüfen, wie dies teilweise durch Löschcodierung sowie Deduplizierung und Komprimierung im laufenden Betrieb umgangen werden kann. Infolgedessen kommt die Speichereffizienz den Hybridlösungen näher, ist jedoch bei minimalem Overhead erheblich schneller.
Wie zu testen
Um die Leistung zu testen, haben wir die Software
HCIBench v1.6.6 verwendet, die den Prozess des Erstellens vieler virtueller Maschinen und des anschließenden Kompilierens der Ergebnisse automatisiert. Der Leistungstest selbst wird mit der Vdbench-Software durchgeführt, einer der beliebtesten Software für synthetische Lasttests. Eisen war in den folgenden Konfigurationsoptionen:
- All-Flash - 2 Festplattengruppen: 1xNVMe SSD Samsung PM1725 800 GB + 3xSATA
- SSD Toshiba HK4E 1,6 TB.
- All-Flash - 1 Festplattengruppe: 1xNVMe SSD Samsung PM1725 800 GB + 6xSATA SSD Toshiba HK4E 1,6 TB.
- All-Flash - 1 Festplattengruppe: 1xNVMe SSD Samsung PM1725 800 GB + 6xSATA SSD Toshiba HK4E 1,6 TB + Speichereffizienz (Deduplizierung und Komprimierung).
- All-Flash - 1 Festplattengruppe: 1xNVMe SSD Samsung PM1725 800 GB + 6xSATA SSD Toshiba HK4E 1,6 TB + Löschcodierung (RAID 5/6).
- All-Flash - 1 Festplattengruppe: 1xNVMe SSD Samsung PM1725 800 GB + 6xSATA SSD Toshiba HK4E 1,6 TB + Löschcodierung (RAID 5/6) + Speichereffizienz (Deduplizierung und Komprimierung).
Während der Tests haben wir drei verschiedene Volumina aktiver Daten emuliert, die von Anwendungen verwendet werden: 1 TB (250 GB pro Server), 2 TB (500 GB pro Server) und 4 TB (jeweils 1 TB).
Für jede Konfiguration wurde der gleiche Satz von Tests mit den folgenden Lastprofilen durchgeführt:
- 0 Lesen / 100 Schreiben, zufällig 50%, Blockgröße - 4k.
- 30 Lesen / 70 Schreiben, zufällig 50%, Blockgröße - 4k.
- 70 Lesen / 30 Schreiben, zufällig 50%, Blockgröße - 4k.
- 100 Lesen / 0 Schreiben, zufällig 50%, Blockgröße - 4k.
Die erste und vierte Option waren erforderlich, um zu verstehen, wie sich das System bei maximaler und minimaler Belastung verhält. Aber der zweite und dritte Punkt kommen dem tatsächlichen typischen Anwendungsfall so nahe wie möglich: zum Beispiel 30 Lesen / 70 Schreiben - VDI. Diese Lasten, denen ich in der Produktion begegnet bin, waren ihnen sehr nahe. Dabei haben wir die Wirksamkeit des vSAN-Datenverwaltungsmechanismus getestet.
Im Allgemeinen erwies sich das System als sehr gut. Basierend auf den Testergebnissen haben wir festgestellt, dass wir mit einer Leistung im Bereich von 20.000 IOPS pro Knoten rechnen können. Für normale und stark belastete Aufgaben sind dies gute Indikatoren, die Verzögerungen von 5 ms berücksichtigen. Unten habe ich Grafiken mit den Ergebnissen gegeben:





Übersichtstabelle mit Testergebnissen:

Die grüne Farbe zeigt aktive Daten an, die vollständig zwischengespeichert sind.
Fehlertoleranz
Ich habe trotz der Empörung der Maschine einen Knoten nach dem anderen abgeschnitten und die Reaktion des gesamten Systems betrachtet. Nach dem Trennen des ersten Knotens passierte bis auf einen kleinen Leistungsabfall um etwa 10-15% überhaupt nichts. Ich löschte den zweiten Knoten - einige der virtuellen Maschinen wurden heruntergefahren, aber der Rest arbeitete weiterhin mit einer leichten Verschlechterung der Leistung. Gesamtüberlebensfähigkeit erfreut. Alle Knoten neu gestartet - das System hat ein wenig nachgedacht und ohne Probleme erneut synchronisiert, alle virtuellen Maschinen wurden ohne Probleme gestartet. Wie einmal auf NUCs. Die Integrität der Daten wird ebenfalls nicht beeinträchtigt, was sehr erfreut ist.
Allgemeine Eindrücke
Software Defined Storage Systems (SDS) ist bereits eine ausgereifte Technologie.
Einer der wichtigsten Stoppfaktoren, die der Implementierung von vSAN im Wege stehen, sind heute die relativ hohen Kosten einer Lizenz in Rubel. Wenn Sie die Infrastruktur von Grund auf neu erstellen, kann sich herausstellen, dass ein herkömmliches Speichersystem in einer ähnlichen Konfiguration ungefähr gleich viel kostet. Es wird jedoch sowohl hinsichtlich der Verwaltung als auch der Skalierung weniger flexibel sein. Wenn Sie sich heute für eine Lösung zum Speichern von Daten virtueller Maschinen auf der vSphere-Virtualisierungsplattform entscheiden, ist es sehr gut, alle Vor- und Nachteile der Verwendung traditioneller Lösungen und der Implementierung softwaredefinierter Speichertechnologie abzuwägen.
Sie können eine Lösung auf demselben Ceph oder GlusterFS erstellen. Wenn Sie jedoch mit der VMware-Infrastruktur arbeiten, ist die vSAN-Integration mit einzelnen Komponenten ebenso faszinierend wie die einfache Verwaltung, Bereitstellung und die erheblich höhere Leistung, insbesondere auf einer kleinen Anzahl von Knoten. Wenn Sie bereits an der VMware-Infrastruktur arbeiten, ist die Bereitstellung für Sie daher viel einfacher. Sie machen wirklich ein Dutzend Klicks und erhalten ein funktionierendes Sicherheitsdatenblatt aus der Box.
Eine weitere Motivation für die Bereitstellung von vSAN ist die Verwendung für Zweige, mit denen Sie Knoten in Remote-Einheiten mit einem Zeugenhost im Rechenzentrum spiegeln können. Diese Konfiguration bietet fehlertoleranten Speicher für virtuelle Maschinen mit allen vSAN-Technologien und der Leistung auf nur zwei Knoten. Für die Verwendung von vSAN gibt es übrigens ein separates Lizenzierungsschema für die Anzahl der virtuellen Maschinen, mit dem die Kosten im Vergleich zum herkömmlichen vSAN-Lizenzierungsschema für Prozessoren gesenkt werden können.
Architektonisch erfordert die Lösung 10-Gbit-Ethernet mit zwei Verbindungen pro Knoten für eine angemessene Verkehrsverteilung, wenn eine All-Flash-Lösung verwendet wird. Im Vergleich zu herkömmlichen Systemen sparen Sie Rack-Platz und SAN-Netzwerke, indem Sie Fibre Channel zugunsten des universelleren Ethernet-Standards eliminieren. Um die Fehlertoleranz sicherzustellen, sind mindestens drei Knoten erforderlich, auf zwei Replikaten von Objekten mit Daten werden gespeichert, und auf dem dritten - Zeugenobjekte für diese Daten - wird das Problem des Split-Brain gelöst.
Nun ein paar Fragen an Sie:
- Welche Kriterien sind für Sie am wichtigsten, wenn Sie sich für ein Speichersystem entscheiden?
- Welche Stoppfaktoren sehen Sie auf dem Weg zur Implementierung softwaredefinierter Speichersysteme?
- Welche softwaredefinierten Speichersysteme betrachten Sie grundsätzlich als Option für die Implementierung?
UPD: Ich habe völlig vergessen, die Standkonfiguration und die Ladeparameter zu schreiben:
1. Beschreibung des Eisens. Zum Beispiel:
Server - 4xDellR630, jeweils:
• 2xE5-2680v4
• 128 GB RAM
• 2x10 GbE
• 2x1 GbE für Management / VM-Netzwerk
• Dell HBA330
Speicherkonfiguration Nr. 1:
2xPM1725 800 GB
6xToshiba HK4E 1.6 TB
Speicherkonfiguration Nr. 2:
1xPM1725 800 GB
6xToshiba HK4E 1.6 TB
2. Beschreibung der Softwareversionen:
vSphere 6.5U1 (7967591) (vSAN 6.6.1), d.h. Patches nach Meltdown / Spectre
vCenter 6.5U1g
Neueste unterstützte Treiber und FW von vSAN und ESXi für alle Komponenten
LACP für vSAN- und vMotion-Verkehr (mit aktivierten NIOC-Freigaben / Limits / Reservierungen)
Alle anderen Einstellungen sind Standardeinstellungen
3. Parameter laden:
• HCIBench 1.6.6
• Oracle Vdbench - 04/05/06
• 40 VM pro Cluster (10 pro Knoten)
• 10 VMDK pro VM
• 10 GB vmdk-Größe und 100/50/25% Workload-Set-Prozentsatz
• Aufwärmzeit - 1800 Sekunden (0,5 Stunden), Testzeit 3600 (1 Stunde)
• 1 Threads pro VMDK