Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Hallo, Leser von Habr. Mit diesem Artikel eröffnen wir einen Zyklus, der ĂŒber unser entwickeltes hyperkonvergentes System AERODISK vAIR berichten wird. UrsprĂŒnglich wollten wir in dem ersten Artikel alles ĂŒber alles erzĂ€hlen, aber das System ist recht komplex, also werden wir den Elefanten StĂŒck fĂŒr StĂŒck essen.

Wir beginnen die ErzĂ€hlung mit der Geschichte der Entstehung des Systems, vertiefen uns in das Dateisystem ARDFS, das die Grundlage von vAIR bildet, und philosophieren ein wenig ĂŒber die Positionierung dieser Lösung auf dem russischen Markt.

In den weiteren Artikeln werden wir detaillierter ĂŒber verschiedene architektonische Komponenten (Cluster, Hypervisor, Lastenausgleich, Überwachungssystem usw.) sprechen, den Einstellungsprozess behandeln, Lizenzfragen ansprechen, gesondert Crash-Tests zeigen und natĂŒrlich ĂŒber Lasttests und Sizing schreiben. Ein separater Artikel wird der Community-Version von vAIR gewidmet sein.

Ist AERODISK eine Art Geschichte ĂŒber Speichersysteme? Oder warum haben wir ĂŒberhaupt mit hyperkonvergenten Systemen angefangen?

UrsprĂŒnglich kam uns die Idee, unser eigenes Hyperkonvergenzsystem zu schaffen, etwa im Jahr 2010. Damals gab es weder AERODISK noch Ă€hnliche Lösungen (kommerzielle, stationĂ€re hyperkonvergente Systeme) auf dem Markt. Unsere Aufgabe war folgende: Aus einer Gruppe von Servern mit lokalen Festplatten, die durch Ethernet-Interconnect verbunden sind, ein verteiltes Speichersystem zu schaffen und dort auch virtuelle Maschinen und ein Software-Netzwerk zu betreiben. Alles musste ohne Speichersysteme (da wir einfach kein Geld dafĂŒr hatten und unser eigenes Speichersystem damals noch nicht erfunden war) realisiert werden.

Wir haben viele Open-Source-Lösungen ausprobiert und haben das Problem letztendlich gelöst, aber die Lösung war sehr kompliziert und schwer zu reproduzieren. DarĂŒber hinaus war diese Lösung aus der Kategorie „LĂ€uft? Nicht anfassen!“. Daher haben wir, nachdem wir dieses Problem gelöst haben, die Idee verworfen, das Ergebnis unserer Arbeit in ein vollwertiges Produkt zu verwandeln.

Nach diesem Vorfall haben wir von dieser Idee Abstand genommen, aber das GefĂŒhl, dass dieses Problem durchaus lösbar ist und der Nutzen einer solchen Lösung mehr als offensichtlich ist, ließ uns nicht los. In der Folge haben die auf den Markt gekommenen HCI-Produkte auslĂ€ndischer Firmen dieses GefĂŒhl nur bestĂ€tigt.

Deshalb haben wir Mitte 2016 diese Aufgabe im Rahmen der Entwicklung eines vollwertigen Produkts wieder aufgegriffen. Zu diesem Zeitpunkt hatten wir noch keine Beziehungen zu Investoren, weshalb wir den Entwicklungsstand fĂŒr unser nicht ganz so großes Budget kaufen mussten. Wir haben auf Avito nach gebrauchten Servern und Switches gesucht und uns ans Werk gemacht.

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Die Hauptanfangsaufgabe bestand darin, ein einfaches, eigenes Dateisystem zu schaffen, das in der Lage war, Daten automatisch und gleichmĂ€ĂŸig in Form von virtuellen Blöcken auf einer beliebigen Anzahl von Knoten des Clusters zu verteilen, die ĂŒber Ethernet verbunden sind. Dabei sollte das Dateisystem gut und einfach skalierbar sein und unabhĂ€ngig von benachbarten Systemen existieren, d.h. es sollte als "einfacher Speicher" vom vAIR abtrennbar sein.

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Das erste Konzept von vAIR

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Wir haben bewusst darauf verzichtet, fertige Open-Source-Lösungen fĂŒr die Organisation eines verteilten Speichers (Ceph, Gluster, Lustre und Ă€hnliche) zu verwenden, und uns stattdessen fĂŒr unsere eigene Entwicklung entschieden, da wir bereits viel Projekt-Erfahrung mit diesen Lösungen hatten. Diese Lösungen sind zweifellos hervorragend, und vor der Arbeit an Aerodisk haben wir zahlreiche Integrationsprojekte mit ihnen realisiert. Aber es ist etwas anderes, eine spezifische Aufgabe fĂŒr einen Kunden umzusetzen, das Personal zu schulen und möglicherweise den Support eines großen Anbieters zu kaufen, und etwas ganz anderes, ein leicht reproduzierbares Produkt zu schaffen, das fĂŒr unterschiedliche Aufgaben verwendet wird, die wir als Anbieter möglicherweise nicht einmal selbst kennen. FĂŒr diesen zweiten Zweck waren die bestehenden Open-Source-Produkte fĂŒr uns nicht geeignet, weshalb wir beschlossen haben, das verteilte Dateisystem selbst zu entwickeln.
Nach zwei Jahren Arbeit von mehreren Entwicklern (die ihre Arbeit an vAIR mit der Arbeit an der klassischen Speicher-Engine kombinierten) erzielten wir bestimmte Ergebnisse.

Bis 2018 hatten wir ein einfaches Dateisystem geschrieben und es mit der notwendigen Anbindung ergĂ€nzt. Das System vereinte ĂŒber interne Interconnects physische (lokale) Festplatten von verschiedenen Servern zu einem flachen Pool und "schnitt" sie in virtuelle Blöcke. Aus diesen virtuellen Blöcken wurden BlockgerĂ€te mit unterschiedlichem Ausmaß an Fehlertoleranz erstellt, auf denen mithilfe des KVM-Hypervisors virtuelle Maschinen erstellt und ausgefĂŒhrt wurden.

Wir haben uns nicht lange mit dem Namen des Dateisystems aufgehalten und es ARDFS genannt (raten Sie mal, wofĂŒr das steht))

Dieser Prototyp machte einen guten Eindruck (nicht visuell, natĂŒrlich, eine visuelle Gestaltung gab es damals noch nicht) und zeigte gute Ergebnisse in Bezug auf Leistung und Skalierbarkeit. Nach dem ersten realen Ergebnis haben wir diesem Projekt grĂŒnes Licht gegeben, eine vollstĂ€ndige Entwicklungsumgebung und ein eigenes Team einzurichten, das sich ausschließlich mit vAIR beschĂ€ftigt hat.

Zu diesem Zeitpunkt war die allgemeine Architektur der Lösung ausgereift, die bis heute keine wesentlichen Änderungen erfahren hat.

Wir tauchen in das Dateisystem ARDFS ein

ARDFS bildet die Grundlage von vAIR und sorgt fĂŒr eine verteilte, ausfallsichere Speicherung der Daten des gesamten Clusters. Eine der (aber nicht die einzige) besonderen Eigenschaften von ARDFS ist, dass es keine zusĂ€tzlichen dedizierten Servern unter Metaund Verwaltung verwendet. Dies wurde ursprĂŒnglich zur Vereinfachung der Konfiguration der Lösung und fĂŒr ihre ZuverlĂ€ssigkeit vorgesehen.

Speicherstruktur

Im Rahmen aller Knoten des Clusters organisiert ARDFS einen logischen Pool aus dem gesamten verfĂŒgbaren Speicherplatz. Es ist wichtig zu verstehen, dass ein Pool noch keine Daten und keinen formatierten Speicher darstellt, sondern einfach eine Struktur ist, d. h. alle Knoten mit installiertem vAIR werden beim HinzufĂŒgen zum Cluster automatisch zum gemeinsamen Pool von ARDFS hinzugefĂŒgt und die Speicherressourcen werden automatisch gemeinschaftlich fĂŒr das gesamte Cluster verfĂŒgbar (und sind fĂŒr zukĂŒnftige Datenspeicherungen zugĂ€nglich). Dieser Ansatz ermöglicht das HinzufĂŒgen und Entfernen von Knoten im laufenden Betrieb, ohne ernsthafte Auswirkungen auf das bereits funktionierende System zu haben. Das heißt, das System ist sehr einfach mit „Bausteinen“ zu skalieren, indem Knoten im Cluster nach Bedarf hinzugefĂŒgt oder entfernt werden.

Über dem Pool von ARDFS werden virtuelle Festplatten (Speicherobjekte fĂŒr virtuelle Maschinen) hinzugefĂŒgt, die aus virtuellen Blöcken mit einer GrĂ¶ĂŸe von 4 Megabyte aufgebaut sind. Auf den virtuellen Festplatten werden die Daten direkt gespeichert. Auf der Ebene der virtuellen Festplatten wird ebenfalls ein Schema zur Ausfallsicherheit festgelegt.

Wie bereits zu vermuten war, verwenden wir zur Ausfallsicherheit des Speichersystems nicht das Konzept RAID (Redundant Array of Independent Disks), sondern RAIN (Redundant Array of Independent Nodes). Das bedeutet, die Ausfallsicherheit wird anhand der Knoten und nicht der Festplatten gemessen, automatisiert und verwaltet. Festplatten sind selbstverstĂ€ndlich auch Objekte des Speichers, sie werden, wie alles andere auch, ĂŒberwacht, und mit ihnen können alle Standardoperationen durchgefĂŒhrt werden, einschließlich der Erstellung eines lokalen Hardware-RAID, aber das Cluster arbeitet ausschließlich mit Knoten.

In einer Situation, in der man sich sehr nach RAID sehnt (zum Beispiel in einem Szenario, das mehrere AusfĂ€lle in kleinen Clustern unterstĂŒtzt), steht es nichts im Wege, lokale RAID-Controller zu verwenden und darĂŒber ein verteiltes Speicher- und RAIN-Architektur zu erstellen. Ein solches Szenario ist durchaus lebendig und wird von uns unterstĂŒtzt, deshalb werden wir in dem Artikel ĂŒber typische Anwendungsszenarien von vAIR darĂŒber sprechen.

Schemas zur Ausfallsicherheit des Speichers

Es kann zwei Arten von Ausfallsicherheitsschemata fĂŒr virtuelle Festplatten in vAIR geben:

1) Replikationsfaktor oder einfach Replikation – diese Methode der Ausfallsicherheit ist so einfach „wie ein Stock und ein Seil“. Es wird eine synchrone Replikation zwischen den Knoten mit einem Faktor von 2 (2 Kopien pro Cluster) oder 3 (3 Kopien entsprechend) durchgefĂŒhrt. RF-2 ermöglicht es der virtuellen Festplatte, den Ausfall eines Knotens im Cluster zu ĂŒberstehen, verbraucht aber die HĂ€lfte des nĂŒtzlichen Volumens, wĂ€hrend RF-3 den Ausfall von 2 Knoten im Cluster ĂŒbersteht, jedoch bereits 2/3 des nĂŒtzlichen Volumens fĂŒr sich reserviert. Dieses Schema erinnert stark an RAID-1, das heißt, eine virtuelle Festplatte, die in RF-2 konfiguriert ist, ist gegen den Ausfall eines beliebigen Knotens des Clusters resistent. In diesem Fall sind die Daten in Ordnung, und sogar die Ein- und Ausgabe wird nicht unterbrochen. Wenn der ausgefallene Knoten wieder in Betrieb ist, beginnt die automatische Wiederherstellung/Synchronisierung der Daten.

Nachfolgend sind Beispiele fĂŒr die Verteilung von Daten in RF-2 und RF-3 im Normalbetrieb und im Falle von AusfĂ€llen aufgefĂŒhrt.

Wir haben eine virtuelle Maschine mit 8 MB einzigartiger (nĂŒtzlicher) Daten, die auf 4 vAIR-Knoten lĂ€uft. Es ist klar, dass in der RealitĂ€t wahrscheinlich nicht so wenig Speicherplatz vorhanden sein wird, aber fĂŒr das Diagramm, das die Funktionsweise von ARDFS darstellt, ist dieses Beispiel am verstĂ€ndlichsten. AB sind virtuelle Blöcke von 4 MB, die einzigartige Daten der virtuellen Maschine enthalten. Bei RF-2 werden zwei Kopien dieser Blöcke A1+A2 und B1+B2 erstellt. Diese Blöcke werden auf den Knoten verteilt, wobei Überschneidungen derselben Daten auf einem Knoten vermieden werden, das heißt, die Kopie A1 wird nicht auf demselben Knoten wie die Kopie A2 sein. Bei B1 und B2 ist es Ă€hnlich.

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Im Falle eines Ausfalls eines der Knoten (zum Beispiel Knoten Nr. 3, auf dem sich die Kopie B1 befindet) wird diese Kopie automatisch auf dem Knoten aktiviert, auf dem keine Kopie ihrer Kopie vorhanden ist (also der Kopie B2).

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Somit ĂŒbersteht die virtuelle Festplatte (und die VM entsprechend) problemlos den Ausfall eines Knotens im RF-2-Schema.

Das Schema mit Replikation leidet bei seiner Einfachheit und ZuverlĂ€ssigkeit unter demselben Problem wie RAID1 – es gibt wenig nutzbaren Speicherplatz.

2) Erasure Coding oder Löschkodierung (auch bekannt als ‚exzessive Kodierung‘, ‚löschende Kodierung‘ oder ‚Redundanzkode‘) existiert genau, um das oben genannte Problem zu lösen. EC ist ein Schema der Redundanz, das eine hohe DatenverfĂŒgbarkeit bei geringeren Kosten fĂŒr Speicherplatz im Vergleich zur Replikation gewĂ€hrleistet. Das Prinzip dieses Mechanismus Ă€hnelt RAID 5, 6, 6P.

Beim Kodieren teilt der EC-Prozess den virtuellen Block (standardmĂ€ĂŸig 4 MB) in mehrere kleinere ‚DatenstĂŒcke‘ je nach EC-Schema auf (zum Beispiel teilt das 2+1-Schema jeden 4 MB Block in 2 StĂŒcke zu je 2 MB). Danach generiert dieser Prozess fĂŒr die ‚DatenstĂŒcke‘ ‚ParitĂ€tsstĂŒcke‘ von nicht mehr als einem der zuvor geteilten Teile. Bei der Dekodierung generiert EC die fehlenden StĂŒcke, indem es die â€šĂŒbrig gebliebenen‘ Daten ĂŒber den gesamten Cluster liest.

Ein Beispiel ist eine virtuelle Festplatte mit dem EC-Schema 2 + 1, die auf 4 Knoten eines Clusters implementiert ist. Diese wird den Ausfall eines Knotens im Cluster ebenso gut ĂŒberstehen wie RF-2. Dabei sind die Kosten geringer; insbesondere betrĂ€gt der Nutzkostenfaktor bei RF-2 2, wĂ€hrend er bei EC 2+1 1,5 betrĂ€gt.

Einfacher ausgedrĂŒckt besteht der Kern darin, dass der virtuelle Block in 2-8 (warum von 2 bis 8, siehe unten) ‚StĂŒcke‘ aufgeteilt wird, und fĂŒr diese StĂŒcke werden ‚StĂŒcke‘ der ParitĂ€t gleichen Volumens berechnet.

Letztendlich werden die Daten und ihre ParitĂ€t gleichmĂ€ĂŸig auf alle Knoten des Clusters verteilt. Dabei verteilt ARDFS, Ă€hnlich wie bei der Replikation, die Daten automatisch auf die Knoten, um sicherzustellen, dass keine identischen Daten (Kopien der Daten und ihrer ParitĂ€t) auf einem Knoten gespeichert werden, um das Risiko zu vermeiden, dass Daten verloren gehen, weil sowohl die Daten als auch ihre ParitĂ€t plötzlich auf einem Knoten gespeichert sind, der ausfĂ€llt.

Unten ein Beispiel mit derselben virtuellen Maschine von 8 MB und 4 Knoten, jedoch bei einem EC-Schema von 2+1.

Die Blöcke A und B werden jeweils in zwei StĂŒcke von 2 MB aufgeteilt (in zwei Teilen, weil 2+1), also in A1+A2 und B1+B2. Im Gegensatz zur Replikation ist A1 keine Kopie von A2; es handelt sich um einen virtuellen Block A, der in zwei Teile geteilt wurde, ebenso wie der Block B. Insgesamt erhalten wir zwei SĂ€tze von je 4 MB, in denen jeweils zwei zwei-MB-StĂŒcke enthalten sind. FĂŒr jeden dieser SĂ€tze wird die ParitĂ€t in einer GrĂ¶ĂŸe von nicht mehr als einem StĂŒck (d.h. 2 MB) berechnet, sodass zusĂ€tzlich 2 ParitĂ€tsstĂŒcke (A-P und B-P) entstehen. Insgesamt haben wir 4×2 Daten + 2×2 ParitĂ€t.

Die StĂŒcke werden dann so auf die Knoten verteilt, dass die Daten nicht mit ihrer ParitĂ€t ĂŒberschneiden. Das heißt, A1 und A2 werden nicht auf demselben Knoten mit A-P liegen.

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Im Falle eines Ausfalls eines Knotens (nehmen wir an, es ist auch der dritte) wird der ausgefallene Block B1 automatisch aus der ParitĂ€t B-P, die auf Knoten Nr. 2 gespeichert ist, wiederhergestellt und wird auf dem Knoten aktiviert, auf dem keine B-ParitĂ€t vorhanden ist, d.h. das StĂŒck B-P. In diesem Beispiel ist das Knoten Nr. 1.

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Ich bin sicher, der Leser stellt sich die Frage:

„Alles, was Sie beschrieben haben, wurde bereits von Wettbewerbern sowie in Open-Source-Lösungen umgesetzt; was unterscheidet Ihre EC-Implementierung in ARDFS?“

Und dann folgen interessante Funktionsweisen von ARDFS.

Erasure Coding mit Fokus auf FlexibilitÀt

UrsprĂŒnglich haben wir ein ziemlich flexibles EC-Schema X+Y vorgesehen, wobei X von 2 bis 8 reicht und Y von 1 bis 8, jedoch immer kleiner oder gleich X. Dieses Schema ist fĂŒr FlexibilitĂ€t ausgelegt. Die Erhöhung der Anzahl der DatenstĂŒcke (X), in die ein virtueller Block geteilt wird, verringert die Overhead-Kosten, also erhöht den nutzbaren Speicherplatz.
Die Erhöhung der Anzahl der ParitĂ€tsstĂŒcke (Y) erhöht die ZuverlĂ€ssigkeit der virtuellen Festplatte. Je höher der Wert von Y, desto mehr Knoten im Cluster können ausfallen. NatĂŒrlich verringert eine grĂ¶ĂŸere ParitĂ€t den verfĂŒgbaren Speichervolumen, aber das ist der Preis fĂŒr ZuverlĂ€ssigkeit.

Die AbhĂ€ngigkeit der Leistung von den EC-Schemata ist nahezu linear: Je mehr „StĂŒcke“, desto niedriger die Leistung; dabei ist ein ausgewogener Blick notwendig.

Dieser Ansatz ermöglicht es den Administratoren, das verteilte Speichergebiet maximal flexibel zu konfigurieren. Innerhalb des ARDFS-Pools können beliebige Ausfallsicherheitsschemata und deren Kombinationen verwendet werden, was ebenfalls sehr nĂŒtzlich ist.

Im Folgenden finden Sie eine Vergleichstabelle mehrerer (nicht aller möglichen) RF- und EC-Schemata.

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

Aus der Tabelle geht hervor, dass selbst die komplexeste Kombination EC 8+7, die den Verlust von bis zu 7 Knoten im Cluster zulĂ€sst, weniger nutzbaren Speicherplatz „verbraucht“ (1,875 gegenĂŒber 2) als die Standardreplikation, wĂ€hrend sie gleichzeitig 7-mal besser schĂŒtzt. Dies macht diesen Schutzmechanismus zwar komplexer, aber deutlich attraktiver in Situationen, in denen maximale ZuverlĂ€ssigkeit bei begrenztem Speicherplatz erforderlich ist. Dabei ist zu beachten, dass jeder „Pluspunkt“ zu X oder Y zusĂ€tzliche LeistungsĂŒberhĂ€nge mit sich bringt, weshalb in dem Dreieck zwischen ZuverlĂ€ssigkeit, Wirtschaftlichkeit und Leistung sehr sorgfĂ€ltig gewĂ€hlt werden muss. Aus diesem Grund widmen wir einen separaten Artikel dem Sizing der entfernten Kodierung.

Hyperkonvergente Lösung AERODISK vAIR. Basis ist das Dateisystem ARDFS

ZuverlÀssigkeit und Autonomie des Dateisystems

ARDFS wird lokal auf allen Knoten des Clusters gestartet und synchronisiert sie ĂŒber dedizierte Ethernet-Schnittstellen eigenstĂ€ndig. Ein wichtiger Punkt ist, dass ARDFS nicht nur Daten, sondern auch die Metadaten zum Speicher selbst synchronisiert. WĂ€hrend der Arbeit an ARDFS haben wir gleichzeitig verschiedene bestehende Lösungen untersucht und festgestellt, dass viele die Synchronisierung der Metadaten des Dateisystems mit einer externen verteilten Datenbank, die wir ebenfalls zur Synchronisierung verwenden, durchfĂŒhren – jedoch nur fĂŒr Konfigurationen und nicht fĂŒr die Metadaten des Dateisystems (darĂŒber und ĂŒber andere verwandte Subsysteme wird im nĂ€chsten Artikel berichtet).

Die Synchronisierung der Metadaten des FS mithilfe einer externen DB ist natĂŒrlich eine funktionierende Lösung, aber dann wĂŒrde die Konsistenz der auf ARDFS gespeicherten Daten von der externen DB und ihrem Verhalten abhĂ€ngen (und sie ist, um ehrlich zu sein, eine launische Dame), was wir als schlecht erachten. Warum? Wenn die Metadaten des FS beschĂ€digt werden, können auch die eigentlichen Daten des FS "Lebewohl" sagen, daher haben wir beschlossen, einen komplizierteren, aber zuverlĂ€ssigeren Weg zu gehen.

Das Subsystem zur Synchronisierung der Metadaten fĂŒr ARDFS haben wir selbst entwickelt, und es funktioniert völlig unabhĂ€ngig von den angrenzenden Subsystemen. d.h. kein anderes Subsystem kann die Daten von ARDFS beschĂ€digen. Unserer Meinung nach ist dies der zuverlĂ€ssigste und richtige Weg, ob das tatsĂ€chlich so ist, wird die Zeit zeigen. DarĂŒber hinaus bietet dieser Ansatz einen zusĂ€tzlichen Vorteil. ARDFS kann unabhĂ€ngig von vAIR verwendet werden, einfach als erweitertes Speicher, was wir in zukĂŒnftigen Produkten sicherlich nutzen werden.

Insgesamt haben wir mit der Entwicklung von ARDFS ein flexibles und zuverlĂ€ssiges Dateisystem erhalten, das die Wahl bietet, wo man bei der KapazitĂ€t sparen oder alles auf Leistung setzen kann, oder das Speicher extrem zuverlĂ€ssig zu einem gemĂ€ĂŸigten Preis machen kann, wodurch die Leistungsanforderungen gesenkt werden.

Gemeinsam mit einer einfachen Lizenzierungsrichtlinie und einem flexiblen Liefermodell (um vorzugreifen, vAIR wird pro Node lizenziert und entweder als Software oder als PAK geliefert) ermöglicht dies, die Lösung sehr prÀzise auf die unterschiedlichen Anforderungen der Kunden zuzuschneiden und diesen Ausgleich in Zukunft leicht aufrechtzuerhalten.

FĂŒr wen ist dieses Wunder nötig?

Einerseits könnte man sagen, dass es bereits Spieler auf dem Markt gibt, die ernsthafte Lösungen im Bereich Hyperkonvergenz haben, und wo wir eigentlich einsteigen. Diese Aussage scheint wahr zu sein, ABER...

Andererseits sehen wir, wenn wir "ins Feld" gehen und mit Kunden sprechen, dass dies ĂŒberhaupt nicht der Fall ist. Es gibt viele Aufgaben fĂŒr Hyperkonvergenz; an einigen Stellen wussten die Leute einfach nicht, dass es solche Lösungen gibt, woanders erschien es teuer, an anderen Orten gab es missratene Tests alternativer Lösungen, und woanders wird der Kauf ganz verboten, wegen der Sanktionen. Das Feld stellte sich als unbefestigt heraus, daher haben wir uns entschlossen, den Boden zu bestellen))).

Wann ist ein HDD besser als ein GK?

Im Verlauf der Arbeit mit dem Markt fragen uns viele oft, wann man am besten das klassische Schema mit einem SCSI-Array anwendet und wann eine hyperkonvergente Lösung? Viele Unternehmen — Hersteller von hyperkonvergenten Infrastrukturen (insbesondere solche, die kein SCSI-Array im Portfolio haben) sagen: „SCSI-Arrays haben ausgedient, nur hyperkonvergente Lösungen!“. Diese kĂŒhne Aussage spiegelt jedoch nicht ganz die RealitĂ€t wider.

Ehrlich gesagt, der Markt fĂŒr SCSI-Arrays wandert tatsĂ€chlich in Richtung hyperkonvergenter und Ă€hnlicher Lösungen, aber es gibt immer ein 'aber'.

Erstens, die bereits gebauten Rechenzentren und IT-Infrastrukturen im klassischen SCSI-Array-Schema lassen sich nicht mal eben umstellen, daher ist die Modernisierung und der Ausbau solcher Infrastrukturen noch ein Erbe fĂŒr die nĂ€chsten 5-7 Jahre.

Zweitens, die Infrastrukturen, die momentan in der Mehrheit (gemeint ist die Russische Föderation) gebaut werden, sind im klassischen Schema mit SCSI-Arrays und das nicht, weil die Leute nichts von hyperkonvergenten Lösungen wissen, sondern weil der Markt fĂŒr hyperkonvergente Lösungen neu ist, die Lösungen und Standards noch nicht etabliert sind, die IT-Spezialisten noch nicht geschult sind, es wenig Erfahrung gibt, und man Rechenzentren hier und jetzt bauen muss. Diese Tendenz wird noch weitere 3-5 Jahre anhalten (und dann kommt noch das Erbe, siehe Punkt 1).

Drittens gibt es rein technisch gesehen, eine kleine EinschrĂ€nkung durch zusĂ€tzliche Verzögerungen von 2 Millisekunden beim Schreiben (ohne BerĂŒcksichtigung des lokalen Caches, versteht sich), die fĂŒr die verteilte Speicherung zu zahlen sind.

Und man sollte auch nicht die Verwendung großer physischer Server vergessen, die vertikale Skalierung der Speichersubsysteme bevorzugen.

Es gibt viele erforderliche und beliebte Aufgaben, bei denen SCSI-Arrays besser abschneiden als hyperkonvergente Lösungen. NatĂŒrlich werden die Hersteller, die kein SCSI-Array im Produktportfolio haben, dem nicht zustimmen, aber wir sind bereit, argumentiert zu streiten. SelbstverstĂ€ndlich werden wir als Entwickler beider Produkte in einer der kommenden Veröffentlichungen einen Vergleich zwischen SCSI-Arrays und hyperkonvergenten Lösungen durchfĂŒhren, bei dem wir anschaulich zeigen, welche Lösung unter welchen Bedingungen besser geeignet ist.

Und wo werden hyperkonvergente Lösungen besser als SCSI-Arrays funktionieren?

Aus den obigen Thesen lassen sich drei offensichtliche Schlussfolgerungen ziehen:

  1. Dort, wo zusÀtzliche 2 Millisekunden Verzögerung beim Schreiben, die konstant in jeder Produktivumgebung auftreten (es geht hier nicht um synthetische Tests, da kann man auch Nanosekunden zeigen), nicht kritisch sind, wird eine hyperkonvergente Lösung geeignet sein.
  2. Dort, wo die Belastung großer physischer Server in viele kleine virtuelle Server umgewandelt und auf Knoten verteilt werden kann, wird auch hyperkonvergente Technologie gut ankommen.
  3. Dort, wo horizontale Skalierung wichtiger ist als vertikale, wird auch hyperkonvergente Infrastruktur hervorragend funktionieren.

Was sind das fĂŒr Lösungen?

  1. Alle standardmĂ€ĂŸigen Infrastrukturleistungen (Verzeichnisdienste, E-Mail, Dokumentenmanagement, Dateiserver, kleine oder mittlere ERP- und BI-Systeme usw.). Wir bezeichnen das als „gemeinsame Berechnungen“.
  2. Die Infrastruktur von Cloud-Anbietern, wo es erforderlich ist, schnell und standardisiert horizontal zu skalieren und eine große Anzahl von virtuellen Maschinen fĂŒr Kunden leicht „zuschneiden“ zu können.
  3. Infrastruktur virtuellen ArbeitsplĂ€tzen (VDI), wo viele kleine Benutzer-VMs gestartet werden und ruhig innerhalb eines einheitlichen Clusters „schwimmen“.
  4. Filialnetze, in denen jede Filiale eine standardisierte, ausfallsichere, aber gleichzeitig kostengĂŒnstige Infrastruktur aus 15-20 virtuellen Maschinen benötigt.
  5. Irgendeine verteilte Berechnung (zum Beispiel Big Data-Dienste). Dort, wo die Belastung nicht „nach unten“, sondern „nach außen“ geht.
  6. Testumgebungen, wo zusÀtzliche kleine Verzögerungen zulÀssig sind, aber BudgetbeschrÀnkungen bestehen, weil es sich um Tests handelt.

Momentan haben wir AERODISK vAIR genau fĂŒr diese Aufgaben entwickelt und fokussieren uns darauf (bislang erfolgreich). Vielleicht wird sich das bald Ă€ndern, da die Welt sich nicht stillsteht.

Also


Damit ist der erste Teil eines großen Artikels abgeschlossen, im nĂ€chsten Artikel werden wir ĂŒber die Architektur der Lösung und die verwendeten Komponenten berichten.

Wir freuen uns ĂŒber Fragen, VorschlĂ€ge und konstruktive Diskussionen.

Quelle: habr.com

60GB SSD 8Gb DDR4