
Das Speichern und Zugreifen auf Daten ist fĂŒr jedes Informationssystem ein Problem. Selbst ein gut konzipiertes Speichersystem (im Folgenden als SHD bezeichnet) wĂ€hrend des Betriebs zeigt Probleme, die mit einer verringerten Leistung verbunden sind. Besondere Aufmerksamkeit sollte einer Reihe von Skalierungsproblemen gewidmet werden, wenn sich die Menge der beteiligten Ressourcen den von Speicherentwicklern festgelegten Grenzwerten nĂ€hert.
Der Hauptgrund fĂŒr das Auftreten dieser Probleme ist die traditionelle Architektur, die auf einer engen Bindung an die Hardwareeigenschaften der verwendeten SpeichergerĂ€te basiert. Die meisten Kunden wĂ€hlen nach wie vor die Methode zum Speichern und Zugreifen auf Daten, wobei die Merkmale der physischen Schnittstellen (SAS / SATA / SCSI) und nicht die tatsĂ€chlichen Anforderungen der verwendeten Anwendungen berĂŒcksichtigt werden.
Vor einem Dutzend Jahren war dies eine logische Entscheidung. Systemadministratoren wÀhlten sorgfÀltig InformationsspeichergerÀte mit den erforderlichen Spezifikationen aus, z. B. SATA / SAS, und rechneten damit, ein Leistungsniveau zu erreichen, das auf den Hardwarefunktionen von Festplattencontrollern basiert. Der Kampf ging um das Volumen der RAID-Controller-Caches und um Optionen, die Datenverlust verhindern. Dieser Ansatz zur Lösung des Problems ist nicht optimal.
In der aktuellen Umgebung ist es bei der Auswahl von Speichersystemen sinnvoll, nicht von physischen Schnittstellen auszugehen, sondern von der in IOPS ausgedrĂŒckten Leistung (Anzahl der E / A-VorgĂ€nge pro Sekunde). Durch die Verwendung der Virtualisierung können Sie vorhandene Hardwareressourcen flexibel nutzen und das erforderliche Leistungsniveau gewĂ€hrleisten. Wir fĂŒr unseren Teil sind bereit, Ressourcen mit den Eigenschaften bereitzustellen, die fĂŒr die Anwendung wirklich notwendig sind.
Speichervirtualisierung
Mit der Entwicklung von Virtualisierungssystemen war es notwendig, eine innovative Lösung zum Speichern und Zugreifen auf Daten zu finden und gleichzeitig die Fehlertoleranz sicherzustellen. Dies war der Ausgangspunkt fĂŒr die Erstellung von SDS (Software-Defined Storage). Um den geschĂ€ftlichen Anforderungen gerecht zu werden, wurden diese Repositorys mit der Trennung von Software und Hardware entwickelt.
Die SDS-Architektur unterscheidet sich grundlegend von der traditionellen. Die Speicherlogik wurde auf Softwareebene abstrahiert. Die Organisation des Speichers ist aufgrund der Vereinheitlichung und Virtualisierung jeder der Komponenten eines solchen Systems einfacher geworden.
Was ist der Hauptfaktor, der die Implementierung von SicherheitsdatenblĂ€ttern ĂŒberall behindert? Dieser Faktor ist meistens eine falsche Bewertung der BedĂŒrfnisse der verwendeten Anwendungen und eine falsche Risikobewertung. FĂŒr ein Unternehmen hĂ€ngt die Wahl der Lösung von den Implementierungskosten ab, basierend auf den aktuell verbrauchten Ressourcen. Nur wenige Leute denken - was passiert, wenn die Informationsmenge und die erforderliche Leistung die FĂ€higkeiten der ausgewĂ€hlten Architektur ĂŒberschreiten. Das Denken auf der Grundlage des methodischen Prinzips âman sollte nicht ohne Notwendigkeit existierenâ, besser bekannt als âOccams Klingeâ, entscheidet ĂŒber die Wahl traditioneller Lösungen.
Nur wenige verstehen, dass die Notwendigkeit der Skalierbarkeit und ZuverlĂ€ssigkeit der Datenspeicherung wichtiger ist, als es auf den ersten Blick scheint. Informationen sind eine Ressource, und daher muss das Risiko ihres Verlusts versichert sein. Was passiert, wenn ein herkömmliches Speichersystem ausfĂ€llt? Sie mĂŒssen die Garantie nutzen oder neue GerĂ€te kaufen. Und wenn das Speichersystem eingestellt wird oder die "Lebensdauer" (das sogenannte EOL - End-of-Life) beendet ist? Dies kann ein schwarzer Tag fĂŒr jedes Unternehmen sein, das seine eigenen vertrauten Dienste nicht weiter nutzen kann.
Es gibt keine Systeme, die keinen einzigen Fehlerpunkt haben. Es gibt jedoch Systeme, die den Ausfall einer oder mehrerer Komponenten problemlos ĂŒberstehen können. Sowohl virtuelle als auch traditionelle Speichersysteme wurden unter BerĂŒcksichtigung der Tatsache erstellt, dass frĂŒher oder spĂ€ter ein Fehler auftreten wird. Dies ist nur die "Festigkeitsgrenze" herkömmlicher Speichersysteme, die in der Hardware festgelegt sind, aber in virtuellen Speichersystemen wird sie in der Softwareschicht festgelegt.
Integration
Dramatische Ănderungen in der IT-Infrastruktur sind immer ein unerwĂŒnschtes PhĂ€nomen, das mit Ausfallzeiten und Geldverlusten behaftet ist. Nur die reibungslose Implementierung neuer Lösungen ermöglicht es, negative Folgen zu vermeiden und die Arbeit der Dienste zu verbessern. Aus diesem Grund hat Selectel
die Cloud basierend auf VMware entwickelt und
eingefĂŒhrt , einem anerkannten MarktfĂŒhrer im Bereich Virtualisierung. Mit dem von uns erstellten Service kann jedes Unternehmen alle Infrastrukturaufgaben einschlieĂlich der Datenspeicherung lösen.
Wir werden Ihnen genau sagen, wie wir uns fĂŒr ein Speichersystem entschieden haben und welche Vorteile uns diese Wahl gebracht hat. NatĂŒrlich wurden sowohl traditionelle Speichersysteme als auch SicherheitsdatenblĂ€tter berĂŒcksichtigt. Um alle Aspekte des Betriebs und der Risiken klar zu verstehen, bieten wir einen tieferen Einblick in das Thema.
In der Entwurfsphase wurden folgende Anforderungen an Speichersysteme gestellt:
- Fehlertoleranz;
- Leistung
- Skalierung
- die FĂ€higkeit, Geschwindigkeit zu garantieren;
- korrekter Betrieb im VMware-Ăkosystem.
Die Verwendung herkömmlicher Hardwarelösungen konnte nicht das erforderliche Maà an Skalierbarkeit bieten, da es aufgrund architektonischer EinschrÀnkungen unmöglich ist, das Speichervolumen stÀndig zu erhöhen. Die Reservierung auf der Ebene eines gesamten Rechenzentrums war ebenfalls sehr schwierig. Deshalb haben wir unsere Aufmerksamkeit auf SDS gerichtet.
Es gibt verschiedene Softwarelösungen auf dem SDS-Markt, die fĂŒr den Aufbau einer Cloud auf Basis von VMware vSphere geeignet sind. Unter diesen Lösungen können festgestellt werden:
- Dell EMC ScaleIO;
- Hyperkonvergentes virtuelles SAN fĂŒr Datencore;
- HPE StoreVirtual.
Diese Lösungen sind fĂŒr die Verwendung mit VMware vSphere geeignet. Sie lassen sich jedoch nicht in den Hypervisor integrieren und werden separat ausgefĂŒhrt. Daher wurde die Wahl zugunsten von VMware vSAN getroffen. Lassen Sie uns im Detail betrachten, wie die virtuelle Architektur einer solchen Lösung aussieht.
Architektur
Bild aus der offiziellen DokumentationIm Gegensatz zu herkömmlichen Speichersystemen werden nicht alle Informationen an einem bestimmten Punkt gespeichert. Die Daten der virtuellen Maschine werden gleichmĂ€Ăig auf alle Hosts verteilt. Die Skalierung erfolgt durch HinzufĂŒgen von Hosts oder Installieren zusĂ€tzlicher Festplattenlaufwerke. Es werden zwei Konfigurationsoptionen unterstĂŒtzt:
- AllFlash-Konfiguration (nur Solid-State-Laufwerke, sowohl fĂŒr die Datenspeicherung als auch fĂŒr den Cache);
- Hybridkonfiguration (magnetischer Speicher und Solid State Cache).
Das Verfahren zum HinzufĂŒgen von Speicherplatz erfordert keine zusĂ€tzlichen Einstellungen, z. B. das Erstellen einer LUN (Logical Unit Number, Logical Disk Numbers) und das Festlegen des Zugriffs darauf. Sobald der Host zum Cluster hinzugefĂŒgt wird, steht sein Speicherplatz fĂŒr alle virtuellen Maschinen zur VerfĂŒgung. Dieser Ansatz hat mehrere wesentliche Vorteile:
- mangelnde Bindung an den GerÀtehersteller;
- erhöhte Fehlertoleranz;
- GewÀhrleistung der DatenintegritÀt im Falle eines Fehlers;
- einzelnes Kontrollzentrum ĂŒber die vSphere-Konsole;
- bequeme horizontale und vertikale Skalierung.
Diese Architektur stellt jedoch hohe Anforderungen an die Netzwerkinfrastruktur. Um einen maximalen Durchsatz zu gewÀhrleisten, basiert das Netzwerk in unserer Cloud auf dem Spine-Leaf-Modell.
Netzwerk
Das traditionelle dreistufige Netzwerkmodell (Kern / Aggregation / Zugriff) weist eine Reihe erheblicher Nachteile auf. Ein bemerkenswertes Beispiel sind die EinschrÀnkungen der Spanning-Tree-Protokolle.
Das Spine-Leaf-Modell verwendet nur zwei Ebenen, was die folgenden Vorteile bietet:
- vorhersehbarer Abstand zwischen GerÀten;
- Der Verkehr verlÀuft auf der besten Route.
- einfache Skalierung;
- Ausschluss von L2-ProtokollbeschrÀnkungen.
Ein wesentliches Merkmal einer solchen Architektur ist, dass sie fĂŒr den Durchgang von "horizontalem" Verkehr optimiert ist. Datenpakete durchlaufen nur einen Sprung, was eine klare SchĂ€tzung der Verzögerungen ermöglicht.
Eine physische Verbindung wird ĂŒber mehrere 10-GbE-Verbindungen pro Server bereitgestellt, deren Bandbreite mithilfe des Aggregationsprotokolls kombiniert wird. Somit erhĂ€lt jeder physische Host Hochgeschwindigkeitszugriff auf alle Speicherobjekte.
Der Datenaustausch wird mithilfe eines von VMware erstellten proprietÀren Protokolls implementiert, das einen schnellen und zuverlÀssigen Betrieb des Speichernetzwerks beim Ethernet-Transport (ab 10 GbE) ermöglicht.
Der Ăbergang zum Objektmodell der Datenspeicherung ermöglichte eine flexible Anpassung der Speichernutzung an die Anforderungen der Kunden. Alle Daten werden in Form von Objekten gespeichert, die auf bestimmte Weise auf die Cluster-Hosts verteilt werden. Wir klĂ€ren die Werte einiger Parameter, die gesteuert werden können.
Fehlertoleranz
- FTT (Fehler zu tolerieren). Gibt die Anzahl der Hostfehler an, die der Cluster verarbeiten kann, ohne den regulÀren Betrieb zu unterbrechen.
- FTM (Fehlertoleranzmethode). Die Methode zur GewÀhrleistung der Fehlertoleranz auf Plattenebene.
a. Spiegeln
Bild aus dem VMware-Blog.
Stellt eine vollstĂ€ndige VervielfĂ€ltigung eines Objekts dar, und Replikate befinden sich immer auf verschiedenen physischen Hosts. Das dieser Methode am nĂ€chsten liegende Analogon ist RAID-1. Durch seine Verwendung kann der Cluster routinemĂ€Ăig bis zu drei Fehler von Komponenten (Festplatten, Hosts, Netzwerkverlust usw.) verarbeiten. Dieser Parameter wird durch Einstellen der FTT-Option konfiguriert.
StandardmĂ€Ăig hat diese Option den Wert 1, und fĂŒr das Objekt wird 1 Replikat erstellt (nur 2 Instanzen auf verschiedenen Hosts). Mit zunehmendem Wert betrĂ€gt die Anzahl der Kopien N + 1. Bei einem Maximalwert von FTT = 3 befinden sich 4 Instanzen des Objekts auf verschiedenen Hosts.
Mit dieser Methode können Sie maximale Leistung auf Kosten der Speicherplatzeffizienz erzielen. Es kann sowohl in Hybrid- als auch in AllFlash-Konfigurationen verwendet werden.
b. Löschcodierung (analog zu RAID 5/6).

Bild aus dem Blog von cormachogan.com.
Die Arbeit dieser Methode wird ausschlieĂlich in AllFlash-Konfigurationen unterstĂŒtzt. Bei der Aufzeichnung jedes Objekts werden die entsprechenden ParitĂ€tsblöcke berechnet, die im Falle eines Fehlers die eindeutige Wiederherstellung von Daten ermöglichen. Dieser Ansatz spart im Vergleich zur Spiegelung erheblich Speicherplatz.
NatĂŒrlich erhöht der Betrieb dieses Verfahrens den Overhead, was sich in einer Verringerung der ProduktivitĂ€t Ă€uĂert. Angesichts der Leistung der AllFlash-Konfiguration ist dieser Nachteil jedoch ausgeglichen, sodass die Verwendung der Löschcodierung fĂŒr die meisten Aufgaben eine akzeptable Option ist.
DarĂŒber hinaus fĂŒhrt VMware vSAN das Konzept der âFehlerdomĂ€nenâ ein, bei denen es sich um eine logische Gruppierung von Server-Racks oder Festplattenkörben handelt. Sobald die erforderlichen Elemente gruppiert sind, fĂŒhrt dies zur Verteilung der Daten auf verschiedene Knoten unter BerĂŒcksichtigung der FehlerdomĂ€nen. Auf diese Weise kann der Cluster den Verlust einer gesamten DomĂ€ne ĂŒberleben, da sich alle entsprechenden Replikate der Objekte auf anderen Hosts in einer anderen FehlerdomĂ€ne befinden.
Die kleinste FehlerdomÀne ist eine DatentrÀgergruppe, bei der es sich um ein logisch verbundenes Laufwerk handelt. Jede DatentrÀgergruppe enthÀlt zwei Arten von Medien - Cache und KapazitÀt. Als Cache-Medium erlaubt das System die Verwendung nur von Solid-State-Disks, und sowohl Magnet- als auch Solid-State-Disks können als KapazitÀtstrÀger fungieren. Durch das Zwischenspeichern von Medien können Magnetplatten beschleunigt und die Latenz beim Zugriff auf Daten verringert werden.
Implementierung
Lassen Sie uns darĂŒber sprechen, welche EinschrĂ€nkungen in der VMware vSAN-Architektur bestehen und warum sie benötigt werden. UnabhĂ€ngig von den verwendeten Hardwareplattformen bietet die Architektur die folgenden EinschrĂ€nkungen:
- nicht mehr als 5 Plattengruppen pro Host;
- nicht mehr als 7 KapazitÀtstrÀger in einer Plattengruppe;
- nicht mehr als 1 Cache-TrÀger in einer Plattengruppe;
- nicht mehr als 35 KapazitÀtstrÀger pro Host;
- nicht mehr als 9000 Komponenten pro Host (einschlieĂlich Zeugenkomponenten);
- nicht mehr als 64 Hosts in einem Cluster;
- Nicht mehr als 1 vSAN-Datenspeicher pro Cluster.
Warum wird das benötigt? Bis die angegebenen Grenzwerte ĂŒberschritten werden, arbeitet das System mit der angegebenen KapazitĂ€t und hĂ€lt ein Gleichgewicht zwischen Leistung und SpeicherkapazitĂ€t aufrecht. Auf diese Weise können Sie den korrekten Betrieb des gesamten virtuellen Speichersystems als Ganzes gewĂ€hrleisten.
ZusĂ€tzlich zu diesen EinschrĂ€nkungen sollte ein wichtiges Merkmal beachtet werden. Es wird nicht empfohlen, mehr als 70% des gesamten Speichervolumens zu fĂŒllen. Tatsache ist, dass bei Erreichen von 80% der Neuausgleichsmechanismus automatisch gestartet wird und das Speichersystem beginnt, Daten auf alle Cluster-Hosts zu verteilen. Das Verfahren ist sehr ressourcenintensiv und kann die Leistung des Festplattensubsystems erheblich beeintrĂ€chtigen.
Um den Anforderungen einer Vielzahl von Kunden gerecht zu werden, haben wir drei Speicherpools implementiert, um die Verwendung in verschiedenen Szenarien zu vereinfachen. Schauen wir uns jeden von ihnen der Reihe nach an.
Schneller Plattenpool
Die PrioritĂ€t beim Erstellen dieses Pools bestand darin, Speicher zu erhalten, der maximale Leistung fĂŒr das Hosten hoch ausgelasteter Systeme bietet. Server aus diesem Pool verwenden ein Paar Intel P4600 als Cache und 10 Intel P3520 als Datenspeicher. Der Cache in diesem Pool wird verwendet, damit Daten direkt vom Medium gelesen werden und SchreibvorgĂ€nge ĂŒber den Cache ausgefĂŒhrt werden.
Um die NutzkapazitĂ€t zu erhöhen und die Fehlertoleranz sicherzustellen, wird ein Datenspeichermodell namens Erasure Coding verwendet. Dieses Modell Ă€hnelt einem normalen RAID 5/6-Array, jedoch auf der Ebene der Objektspeicherung. Um die Wahrscheinlichkeit einer DatenbeschĂ€digung auszuschlieĂen, verwendet vSAN einen PrĂŒfsummenberechnungsmechanismus fĂŒr jeden 4K-Datenblock.
Die Validierung wird im Hintergrund wĂ€hrend Lese- / SchreibvorgĂ€ngen sowie fĂŒr âkalteâ Daten durchgefĂŒhrt, auf die im Laufe des Jahres kein Zugriff angefordert wurde. Wenn eine NichtĂŒbereinstimmung der PrĂŒfsumme festgestellt wird und daher eine DatenbeschĂ€digung festgestellt wird, stellt vSAN Dateien automatisch durch Ăberschreiben wieder her.
Hybrid-Laufwerkpool
Bei diesem Pool besteht seine Hauptaufgabe darin, eine groĂe Datenmenge bereitzustellen und gleichzeitig ein gutes MaĂ an Fehlertoleranz sicherzustellen. Bei vielen Aufgaben hat die Geschwindigkeit des Datenzugriffs keine PrioritĂ€t, das Volumen und die Speicherkosten sind viel wichtiger. Die Verwendung von Solid-State-Laufwerken als solcher Speicher ist mit unangemessen hohen Kosten verbunden.
Dieser Faktor war der Grund fĂŒr die Erstellung des Pools, der eine Mischung aus Solid-State-Laufwerken (wie in anderen Pools Intel P4600) und von HGST entwickelten Festplatten auf Unternehmensebene ist. Ein hybrider Workflow beschleunigt den Zugriff auf hĂ€ufig angeforderte Daten durch Zwischenspeichern von Lese- und SchreibvorgĂ€ngen.
Auf der logischen Ebene werden Daten gespiegelt, um Verluste bei einem Hardwarefehler zu vermeiden. Jedes Objekt ist in identische Komponenten unterteilt und wird vom System an verschiedene Hosts verteilt.
Pool mit Notfallwiederherstellung

Die Hauptaufgabe des Pools besteht darin, ein Höchstmaà an Fehlertoleranz und Leistung zu erreichen. Durch die Verwendung der
Stretched vSAN- Technologie konnten wir den Speicher zwischen den Rechenzentren Tsvetochnaya-2 in St. Petersburg und Dubrovka-3 in der Region Leningrad
verteilen . Jeder Server in diesem Pool ist mit zwei leistungsstarken Intel P4600-Laufwerken fĂŒr den Cache-Betrieb und 6 Intel P3520-Laufwerken fĂŒr die Datenspeicherung ausgestattet. Auf der logischen Ebene sind dies 2 Plattengruppen pro Host.
Die AllFlash-Konfiguration hat keinen schwerwiegenden Nachteil - einen starken RĂŒckgang der IOPS und eine Zunahme der Warteschlange fĂŒr Festplattenanforderungen mit einem erhöhten Volumen an wahlfreiem Zugriff auf Daten. Genau wie in einem Pool mit schnellen Festplatten werden SchreibvorgĂ€nge durch den Cache geleitet und das Lesen erfolgt direkt.
Nun zum Hauptunterschied zum Rest der Pools. Die Daten jeder virtuellen Maschine werden in einem Rechenzentrum gespiegelt und gleichzeitig synchron in ein anderes Rechenzentrum repliziert, das uns gehört. Selbst ein schwerer Unfall, beispielsweise eine vollstÀndige Unterbrechung der KonnektivitÀt zwischen Rechenzentren, ist daher kein Problem. Selbst ein vollstÀndiger Verlust des Rechenzentrums wirkt sich nicht auf die Daten aus.
Ein Unfall mit einem vollstĂ€ndigen Ausfall der Site - die Situation ist ziemlich selten, aber vSAN kann sie mit Ehre ĂŒberleben, ohne Daten zu verlieren. Die GĂ€ste unserer
SelectelTechDay 2018- Veranstaltung konnten sich selbst davon ĂŒberzeugen, wie im Stretched vSAN-Cluster ein vollstĂ€ndiger Standortfehler aufgetreten ist. Virtuelle Maschinen wurden nur eine Minute nach dem Ausschalten aller Server an einem der Standorte verfĂŒgbar. Alle Mechanismen funktionierten genau wie geplant, aber die Daten blieben unberĂŒhrt.
Die Aufgabe der bekannten Speicherarchitektur bringt viele Ănderungen mit sich. Eine dieser Ănderungen war die Entstehung neuer virtueller âEntitĂ€tenâ, zu denen auch die Zeugen-Appliance gehört. Die Bedeutung dieser Lösung besteht darin, den Prozess der Aufzeichnung von Replikaten von Daten zu verfolgen und zu bestimmen, welche relevant sind. Gleichzeitig werden die Daten selbst nicht in Zeugenkomponenten gespeichert, sondern nur in Metadaten zum Aufzeichnungsprozess.
Dieser Mechanismus wird im Falle eines Unfalls wirksam, wenn wĂ€hrend des Replikationsprozesses ein Fehler auftritt, der dazu fĂŒhrt, dass die Replikate nicht synchron sind.
Um festzustellen, welche relevante Informationen enthalten, wird ein Quorum-Bestimmungsmechanismus verwendet. Jede Komponente hat ein âStimmrechtâ und erhĂ€lt eine bestimmte Anzahl von Stimmen (1 oder mehr). Das gleiche âStimmrechtâ hat Zeugenbestandteile, die im Falle einer kontroversen Situation die Rolle von Schiedsrichtern spielen.
Ein Quorum wird nur erreicht, wenn fĂŒr ein Objekt eine vollstĂ€ndige Replik verfĂŒgbar ist und die Anzahl der aktuellen âStimmenâ mehr als 50% betrĂ€gt.
Fazit
Die Wahl von VMware vSAN als Speichersystem ist fĂŒr uns zu einer wichtigen Entscheidung geworden. Diese Option hat Stresstests und Fehlertoleranztests bestanden, bevor sie in unser VMware-basiertes Cloud-Projekt aufgenommen wurde.
Den Testergebnissen zufolge wurde deutlich, dass die deklarierte FunktionalitĂ€t wie erwartet funktioniert und alle Anforderungen unserer Cloud-Infrastruktur erfĂŒllt.
Haben Sie aufgrund Ihrer eigenen Erfahrung mit vSAN etwas zu erzÀhlen? Willkommen zu den Kommentaren.