Wie wählt man ein Speicher-Subsystem, ohne sich ins eigene Fleisch zu schneiden?

Einführung

Es ist Zeit, ein Speicher-Subsystem zu kaufen. Welches soll man nehmen und wem soll man zuhören? Anbieter A erzählt von Anbieter B, und es gibt Integrator C, der das Gegenteil behauptet und Anbieter D empfiehlt. In so einer Situation kann selbst ein erfahrener Architekt für Speichersysteme den Überblick verlieren, besonders mit all den neuen Anbietern und den angesagten SDS und hyperkonvergenten Lösungen.

Und wie kann man das alles verstehen und nicht auf die Nase fallen? Wir (AntonVirtual Anton Zhbankov und korp Evgeny Elizarov) werden versuchen, dies in verständlichem Russisch zu erklären.
Der Artikel steht in vielerlei Hinsicht im Zusammenhang und ist praktisch eine Erweiterung des “Designs eines virtualisierten Rechenzentrums” im Hinblick auf die Auswahl von Datenspeichersystemen und einen Überblick über Speichersystemtechnologien. Wir werden einen kurzen Überblick über die allgemeine Theorie geben, empfehlen jedoch auch, sich den genannten Artikel anzusehen.

Warum

Beobachtet man häufig die Situation, dass eine neue Person in ein Forum oder einen spezialisierten Chat, wie beispielsweise Storage Discussions, kommt und die Frage stellt: “Mir werden zwei Optionen für ein Speicher-Subsystem angeboten — ABC SuperStorage S600 und XYZ HyperOcean 666v4, was können Sie empfehlen?”

Und schon beginnt das Messen der Besonderheiten unterschiedlichster, furchterregender und unklarer Funktionen, die für einen unvorbereiteten Menschen wie Chinesisch erscheinen.

Der entscheidende und erste Fragen, die man sich lange vor dem Vergleichen der Spezifikationen in Angeboten stellen sollte, lautet: Warum? Warum braucht man dieses Speichersystem?

Wie wählt man ein Speicher-Subsystem, ohne sich ins eigene Fleisch zu schneiden?

Die Antwort wird unerwartet sein und erinnert stark an einen Stil von Tony Robbins – um Daten zu speichern. Danke, Captain! Dennoch verlieren wir manchmal so sehr in den Details, dass wir vergessen, warum wir das Ganze eigentlich tun.

Das Ziel eines Speichersystems ist das Speichern und Bereitstellen von Daten mit einer festgelegten Leistung. Mit den Daten beginnen wir.

Daten

Datentyp

Welche Daten planen wir zu speichern? Eine sehr wichtige Frage, die viele Speicherlösungen aus der Auswahl ausschließen kann. Zum Beispiel, wenn die Speicherung von Videoaufnahmen und Fotos geplant ist. Systeme, die für den zufälligen Zugriff auf kleine Blöcke ausgelegt sind, oder Systeme mit proprietären Funktionen in der Komprimierung/Deduplizierung können sofort ausgeschlossen werden. Diese Systeme können hervorragend sein, wir möchten nichts Negatives über sie sagen. Aber in diesem Fall könnten ihre Stärken sich als Schwächen herausstellen (Video und Fotos lassen sich nicht komprimieren) oder einfach die Kosten des Systems erheblich erhöhen.

Umgekehrt werden hervorragende Streaming-Systeme für Multimedia, die Gigabyte pro Sekunde liefern können, eine schlechte Wahl sein, wenn die Zielanwendung eine stark belastete transaktionale Datenbank ist.

Datenvolumen

Wie viele Daten planen wir zu speichern? Die Menge entwickelt sich immer zu Qualität, das sollten wir niemals vergessen, besonders in unserer Zeit des exponentiellen Datenwachstums. Systeme mit Petabyte-Kapazität sind mittlerweile keine Seltenheit mehr, doch je größer das Petabyte-Volumen, desto spezialisierter wird das System und desto weniger gewohnte Funktionalitäten stehen in Systemen mit kleinerem und mittlerem Volumen zur Verfügung. Das liegt einfach daran, dass selbst die Statistiktabellen für den Blockzugriff größer werden als der verfügbare Arbeitsspeicher auf den Controllern. Ganz zu schweigen von der Kompression / Tiering. Angenommen, wir möchten den Kompressionsalgorithmus auf einen leistungsstärkeren umschalten und 20 Petabyte Daten komprimieren. Wie lange wird das dauern: ein halbes Jahr, ein Jahr?

Auf der anderen Seite, warum den Aufwand treiben, wenn wir nur 500 GB Daten speichern und verarbeiten müssen? Nur 500. Herkömmliche SSDs (mit niedrigem DWPD) in diesem Volumen kosten so gut wie nichts. Warum dafür eine Fiber Channel-Fabrik bauen und ein externes High-End-Speichersystem kaufen, das so viel kostet wie eine Eisenbrücke?

Welcher Anteil der gesamten Datenmenge bilden die Hot-Daten? Wie ungleich verteilt ist die Last bezüglich der Datenmenge? Hier kann die Technologie des mehrstufigen Speichers oder Flash Cache sehr hilfreich sein, wenn das Volumen der Hot-Daten im Vergleich zur Gesamtheit gering ist. Andernfalls, bei einer gleichmäßigen Lastverteilung, die häufig in Streaming-Systemen (z.B. Videoüberwachung, bestimmte Analysesysteme) vorkommt, werden solche Technologien nichts bewirken und lediglich die Kosten / Komplexität des Systems erhöhen.

IS

Die Kehrseite der Daten ist das Informationssystem, das diese Daten nutzt. Die IS hat eine Reihe von Anforderungen, die von den Daten abgeleitet werden. Mehr über IS erfahren Sie im "Design eines virtualisierten Rechenzentrums".

Anforderungen an Ausfallsicherheit / Verfügbarkeit

Die Anforderungen an die Ausfallsicherheit / Verfügbarkeit der Daten leiten sich von dem sie verwendenden IS ab und werden in drei Zahlen ausgedrückt — RPO, RTO, Verfügbarkeit.

Verfügbarkeit — der Zeitraum, in dem die Daten für die Nutzung verfügbar sind. Dies wird gewöhnlich in der Anzahl der Neunen ausgedrückt. Zum Beispiel bedeutet zwei Neunen pro Jahr, dass die Verfügbarkeit 99 % beträgt, was 95 Stunden Ausfallzeit im Jahr entspricht. Drei Neunen bedeuten 9,5 Stunden Ausfallzeit im Jahr.

RPO / RTO — diese Kennzahlen beziehen sich nicht auf die Summe, sondern pro Vorfall (Störung), im Gegensatz zur Verfügbarkeit.

RPO — das Volumen der Daten, die bei einer Störung verloren gehen (in Stunden). Wenn ein Backup einmal täglich durchgeführt wird, beträgt RPO = 24 Stunden. Das heißt, im Falle einer Störung und dem vollständigen Verlust des Speicher-Backends können Daten bis zu 24 Stunden (seit dem letzten Backup) verloren gehen. Aus dem für das Informationssystem festgelegten RPO wird beispielsweise eine Backup-Richtlinie formuliert. Darüber hinaus kann man mithilfe des RPO einschätzen, wie wichtig die synchrone / asynchrone Datenreplikation ist.

RTO — die Zeit, die benötigt wird, um den Dienst (Zugriff auf die Daten) nach einer Störung wiederherzustellen. Anhand des festgelegten RTO-Werts können wir bestimmen, ob ein Metrocluster erforderlich ist oder ob eine einseitige Replikation ausreicht. Auch die Notwendigkeit eines hochmodernen, multi-controller Speicher-Backends kann abgeleitet werden.

Wie wählt man ein Speicher-Subsystem, ohne sich ins eigene Fleisch zu schneiden?

Leistungsanforderungen

Obwohl es eine offensichtlich simple Frage ist, treten gerade hier oft die größten Schwierigkeiten auf. Abhängig davon, ob Sie bereits über eine Infrastruktur verfügen oder nicht, werden sich die Wege zur Erhebung der benötigten Statistiken entwickeln.

Sie haben bereits ein SAN und suchen nach einem Ersatz oder möchten eine weitere für die Erweiterung erwerben. Hier ist alles klar. Sie wissen, welche Dienste Sie bereits haben und welche Sie in der nahen Zukunft implementieren möchten. Basierend auf den aktuellen Diensten haben Sie die Möglichkeit, Leistungsstatistiken zu sammeln. Bestimmen Sie die derzeitige Anzahl der IOPS und die aktuellen Latenzzeiten – wie sehen diese Werte aus, und reichen sie für Ihre Anforderungen aus? Dies kann sowohl auf dem Speichersystem selbst als auch von den Hosts, die damit verbunden sind, erfolgen.

Es ist wichtig, nicht nur die aktuelle Auslastung zu betrachten, sondern über einen bestimmten Zeitraum (idealerweise einen Monat) zu analysieren. Achten Sie darauf, welche maximalen Spitzen während des Tages auftreten, welche Last durch das Backup erzeugt wird usw. Wenn Ihr SAN oder Ihre Software Ihnen nicht alle erforderlichen Daten liefert, können Sie das kostenlose RRDtool verwenden, das mit den meisten gängigen SANs und Switches arbeitet und detaillierte Leistungsstatistiken bereitstellen kann. Zudem sollten Sie die Auslastung auf den Hosts überprüfen, die mit diesem SAN verbunden sind, insbesondere auf konkreten virtuellen Maschinen oder Diensten, die auf diesem Host laufen.

Wie wählt man ein Speicher-Subsystem, ohne sich ins eigene Fleisch zu schneiden?

Es ist außerdem anzumerken, dass, wenn die Latenzen auf dem Volume und dem Datastore, der sich auf diesem Volume befindet, stark variieren, Sie einen Blick auf Ihr SAN-Netzwerk werfen sollten. Die Wahrscheinlichkeit ist hoch, dass es Probleme gibt, und bevor Sie ein neues System erwerben, sollten Sie dieses Problem klären, da es eine hohe Wahrscheinlichkeit gibt, dass die Leistung Ihres aktuellen Systems dadurch verbessert werden kann.

Sie bauen eine Infrastruktur von Grund auf auf oder erwerben ein System für einen neuen Service, dessen Lasten Ihnen nicht bekannt sind. Hier gibt es mehrere Möglichkeiten: Sie können sich mit Kollegen auf spezialisierten Plattformen austauschen, um die Lasten zu ermitteln und vorherzusagen, oder Sie wenden sich an einen Integrator, der Erfahrung mit der Implementierung solcher Services hat und die Lasten für Sie berechnen kann. Die dritte Option (in der Regel die schwierigste, besonders wenn es um maßgeschneiderte oder seltene Anwendungen geht) besteht darin, die Leistungsanforderungen bei den Entwicklern des Systems zu klären.

Und, achten Sie darauf, die praktischste Lösung — ist ein Pilotversuch mit der aktuellen Hardware oder mit der vom Anbieter/Integrator bereitgestellten Testhardware.

Spezialanforderungen

Spezialanforderungen sind alle Aspekte, die nicht unter die Vorgaben zur Leistung, Ausfallsicherheit und Funktionalität bei der unmittelbaren Verarbeitung und Bereitstellung von Daten fallen.

Eine der einfachsten speziellen Anforderungen an ein Speichersystem sind "entbehrliche Informationsspeichermedien". Sofort wird klar, dass dieses Speichersystem eine Bandbibliothek oder einfach ein Tape-Drive umfassen muss, auf das ein Backup gespeichert wird. Anschließend signiert ein speziell geschulter Mitarbeiter das Band und trägt es stolz in einen speziellen Safe.
Ein weiteres Beispiel für eine spezielle Anforderung ist eine stoßgeschützte Ausführung.

Dabei ist

Der zweite Hauptfaktor bei der Auswahl eines bestimmten Speichersystems ist die Information darüber, WO dieses System platziert wird. Angefangen bei der Geographie und den klimatischen Bedingungen bis hin zum Personal.

Auftraggeber

Für wen ist dieses Speichersystem geplant? Diese Frage hat folgende Hintergründe:

Öffentlicher Auftraggeber / kommerzieller.
Der kommerzielle Auftraggeber hat keine Einschränkungen und ist nicht einmal verpflichtet, Ausschreibungen durchzuführen, außer nach eigenen internen Richtlinien.

Der öffentliche Auftraggeber ist ein anderes Kapitel: 44 FZ und andere Feinheiten mit Ausschreibungen und Pflichtenheften, die angefochten werden können.

Auftraggeber unter Sanktionen
Hier ist die Frage sehr einfach – die Auswahl beschränkt sich nur auf die für diesen Kunden verfügbaren Angebote.

Interne Vorschriften / zugelassene Einkaufsanbieter / Modelle
Die Frage ist ebenfalls äußerst einfach, aber man sollte sie im Hinterkopf behalten.

Wo physisch

In diesem Abschnitt betrachten wir alle Aspekte der Geographie, der Kommunikationskanäle und des Mikroklimas im Unterbringungsraum.

Personal

Wer wird mit diesem Speicherverwaltungssystem arbeiten? Das ist nicht weniger wichtig als das, was das Speicherverwaltungssystem tatsächlich kann.
So beeindruckend und vielversprechend das Speicherverwaltungssystem von Anbieter A auch sein mag, es macht wenig Sinn, es zu implementieren, wenn das Personal nur mit Anbieter B umgehen kann und keine weiteren Einkäufe oder eine kontinuierliche Zusammenarbeit mit A geplant sind.

Und natürlich ist die Kehrseite der Medaille, wie gut geschultes Personal in diesem geografischen Gebiet direkt im Unternehmen und potenziell auf dem Arbeitsmarkt verfügbar ist. In manchen Regionen kann die Wahl eines Speichersystems mit einfachen Schnittstellen oder der Möglichkeit zur zentralen, remote Steuerung von großer Bedeutung sein. Ansonsten kann es irgendwann schmerzhaft werden. Das Internet ist voll von Geschichten über neue Mitarbeiter, die gerade erst vom Studium kommen und so viele Fehler machen, dass das gesamte Unternehmen betroffen ist.

Wie wählt man ein Speicher-Subsystem, ohne sich ins eigene Fleisch zu schneiden?

Umgebung

Ein weiteres wichtiges Thema ist, in welcher Umgebung dieses Speichersystem betrieben wird.

  • Wie sieht es mit der Stromversorgung / Kühlung aus?
  • Welche Verbindung?
  • Wo wird es montiert?
  • Usw.

Oft werden diese Fragen als selbstverständlich angesehen und nicht weiter betrachtet, doch manchmal können sie alles ins Gegenteil verkehren.

Was?

Anbieter

Aktuell (Mitte 2019) kann der russische Markt für Speichersysteme in fünf Kategorien unterteilt werden:

  1. Obere Liga — namhafte Unternehmen mit einem breiten Sortiment, von einfachen Festplattenschränken bis hin zu High-End-Lösungen (HPE, DellEMC, Hitachi, NetApp, IBM / Lenovo)
  2. Zweite Division – Unternehmen mit einem begrenzten Produktportfolio, Nischenanbieter, seriöse SDS-Anbieter oder aufstrebende Neulinge (Fujitsu, Datacore, Infinidat, Huawei, Pure usw.)
  3. Dritte Division – Nischenlösungen im Low-End-Bereich, günstige SDS, gebastelte Produkte auf Ceph und anderen Open-Source-Projekten (Infortrend, Starwind usw.)
  4. SOHO-Segment – kleine und sehr kleine Speicherlösungen für Zuhause / kleine Büros (Synology, QNAP usw.)
  5. Importsubstituierte Speicherlösungen – hierzu gehören sowohl Hardware aus der ersten Division mit überklebten Etiketten als auch seltene Vertreter der zweiten Division (RAIDIX, denen wir im Voraus die zweite Division zusprechen), hauptsächlich handelt es sich jedoch um die dritte Division (Aerodisk, Baum, Depo usw.)

Die Einteilung ist ziemlich willkürlich und bedeutet keinesfalls, dass die dritte oder SOHO-Division minderwertig ist und nicht verwendet werden kann. In spezifischen Projekten mit klar definierten Datensätzen und Belastungsprofilen können sie sehr gut abschneiden und hinsichtlich Preis-Leistungs-Verhältnis die erste Division weit übertreffen. Es ist wichtig, zunächst die Aufgaben, Wachstumsperspektiven und erforderliche Funktionalität festzulegen – und dann wird Synology Ihnen treu dienen, während Ihr Haar weich und seidig wird.

Eine der wichtigen Überlegungen bei der Auswahl eines Anbieters ist die aktuelle Umgebung. Welche und wie viele Speichersysteme haben Sie bereits, und mit welchen Speichersystemen können die Ingenieure arbeiten? Brauchen Sie einen weiteren Anbieter, einen zusätzlichen Ansprechpartner, oder planen Sie, die gesamte Last schrittweise von Anbieter A auf Anbieter B zu migrieren?

Es ist nicht ratsam, über das Notwendige hinaus Entitäten zu schaffen.

iSCSI / FC / Datei

Es gibt unter den Ingenieuren keine einheitliche Meinung zu den Zugriffsprotokollen, und die Diskussionen erinnern eher an theologische Debatten als an technische. Aber insgesamt können die folgenden Punkte hervorgehoben werden:

FCoE eher tot als lebendig.

FC vs iSCSI. Ein entscheidender Vorteil von FC im Jahr 2019 gegenüber IP-Speichersystemen, eine dedizierte Fabrik für den Datenzugang, wird durch ein dediziertes IP-Netzwerk aufgehoben. Globale Vorteile von FC gegenüber IP-Netzwerken gibt es nicht, und auf IP können Speichersysteme jeder Laststufe aufgebaut werden, bis hin zu Systemen für anspruchsvolle DBMS in großen Banken. Andererseits wird das Ende von FC seit Jahren prognostiziert, doch immer wieder gibt es Hindernisse. Derzeit beispielsweise entwickeln einige Akteure auf dem Speichermarkt aktiv den NVMeoF-Standard. Ob er das Schicksal von FCoE teilen wird, wird die Zeit zeigen.

Dateizugriff ist ebenfalls keineswegs unwichtig. NFS / CIFS zeigt in produktiven Umgebungen hervorragende Leistung und hat bei richtiger Planung nicht mehr Beanstandungen als blockbasierte Protokolle.

Hybride / All Flash Array

Klassische Speicherlösungen fallen in 2 Kategorien:

  1. AFA (All Flash Array) – Systeme, die für den Einsatz von SSDs optimiert sind.
  2. Hybride – die sowohl HDDs als auch SSDs oder deren Kombinationen verwenden können.

Der Hauptunterschied liegt in den unterstützten Technologien, die die Speichereffizienz und das maximale Leistungsniveau (hohe IOPS-Werte und niedrige Latenzzeiten) betreffen. Beide Systeme (in den meisten ihrer Modelle, ausgenommen im Low-End-Segment) können sowohl als Blockgeräte als auch als Dateisysteme betrieben werden. Der Funktionsumfang hängt vom Systemlevel ab. Bei den Einstiegsmodellen ist dieser häufig auf ein Minimum beschränkt. Dies sollte beachtet werden, wenn Sie die Eigenschaften eines bestimmten Modells untersuchen und nicht nur die Möglichkeiten der gesamten Produktreihe. Auch die technischen Spezifikationen, wie Prozessor, RAM, Cache, Anzahl und Typen der Ports etc., hängen stark vom Niveau des Systems ab. Aus der Sicht des Managements unterscheiden sich AFA von hybriden (disk-basierten) Systemen lediglich in der Implementierung von Mechanismen zur Nutzung von SSD-Speichern. Selbst wenn Sie SSDs in einem hybriden System verwenden, bedeutet dies nicht, dass Sie das Leistungsniveau eines AFA-Systems erreichen können. In den meisten Fällen sind die Inline-Mechanismen für die effiziente Speicherung in hybriden Systemen deaktiviert, und deren Aktivierung führt tendenziell zu einem Leistungsverlust.

Spezielle Speichersysteme

Neben allgemeinen Speichersystemen, die hauptsächlich für die Verarbeitung von Daten optimiert sind, gibt es spezielle Speichersysteme mit grundlegenden Prinzipien, die sich grundlegend von den gewohnten unterscheiden (geringe Latenz, hohe IOPS):

Medien.

Diese Systeme sind für die Speicherung und Verarbeitung von Mediendateien vorgesehen, die eine große Größe aufweisen. Daher wird die Latenz nahezu irrelevant, während die Fähigkeit, Daten mit hoher Bandbreite in vielen parallelen Streams zu senden und zu empfangen, in den Vordergrund rückt.

Deduplizierende Speichersysteme für Sicherungen.

Da Sicherungen in der Regel nur selten ähnlich sind (eine durchschnittliche Sicherung unterscheidet sich von der gestrigen nur um 1-2%), komprimiert diese Systemklasse die gespeicherten Daten äußerst effizient auf einer relativ geringen Anzahl physischer Träger. In einigen Fällen können die Datenkompressionsraten sogar bis zu 200 zu 1 erreichen.

Objektbasierte Speichersysteme.

In diesen Speicherlösungen gibt es keine herkömmlichen Blockvolumen oder Dateifreigaben; sie ähneln vielmehr einer riesigen Datenbank. Der Zugriff auf ein Objekt, das in einem solchen System gespeichert ist, erfolgt über eine eindeutige Kennung oder Metadaten (zum Beispiel alle Objekte im JPEG-Format, die zwischen dem XX-XX-XXXX und dem YY-YY-YYYY erstellt wurden).

Compliance-Systeme.

Moderne Lösungen sind in Russland nicht so häufig anzutreffen, aber sie sollten erwähnt werden. Das Ziel solcher Speicherlösungen ist die garantierte Datenspeicherung zur Einhaltung von Sicherheitsrichtlinien oder regulatorischen Anforderungen. In einigen Systemen (zum Beispiel EMC Centera) wurde eine Funktion zur Löschsperre von Daten implementiert – sobald der Schlüssel gedreht wird und das System in diesen Modus wechselt, können weder der Administrator noch jemand anderes physisch bereits aufgezeichnete Daten löschen.

Eigene Technologien

Flash-Cache

Flash Cache ist der allgemeine Begriff für alle proprietären Technologien zur Nutzung von Flash-Speicher als Cache der zweiten Ebene. Bei Verwendung eines Flash-Caches wird das Speichersystem typischerweise so konzipiert, dass es die Last von Magnetlaufwerken bewältigt, während der Cache für Spitzenlasten verantwortlich ist.

Dabei ist es wichtig, das Lastprofil und den Grad der Lokalisierung der Anfragen an die Speicher-Volumes zu verstehen. Flash-Caching ist eine Technologie für Lasten mit hoher Anfrage-Lokalisierung und ist praktisch nicht anwendbar für gleichmäßig belastete Volumes (wie zum Beispiel für Analysesysteme).

Auf dem Markt gibt es zwei Implementierungen von Flash-Caching:

  • Read Only. In diesem Fall werden nur die Lese-Daten zwischengespeichert, während die Schreibvorgänge direkt auf die Festplatten erfolgen. Einige Hersteller, wie zum Beispiel NetApp, sind der Meinung, dass Schreibvorgänge auf ihren Speicherlösungen bereits optimal ablaufen und Caching keinen Vorteil bringt.
  • Read/Write. Hier werden sowohl Lese- als auch Schreibvorgänge zwischengespeichert, was es ermöglicht, den Datenstrom zu puffern und den Einfluss des RAID Strafens zu reduzieren, was letztlich die Gesamtleistung für Speicherlösungen mit nicht optimalen Schreibmechanismen erhöht.

Tiering

Mehrschichtige Speicherung (Tiering) ist eine Technologie, die Speicher mit unterschiedlichen Leistungsniveaus, wie z.B. SSD und HDD, zu einem einzigen Pool vereint. Bei ausgeprägter Ungleichmäßigkeit der Datenzugriffe kann das System die Datenblöcke automatisch ausbalancieren, indem es stark beanspruchte auf ein leistungsstarkes Niveau verschiebt und kalte auf ein langsameres.

Hybride Systeme der unteren und mittleren Klassen verwenden mehrschichtige Speicherung mit Datenverschiebungen zwischen den Ebenen nach einem Zeitplan. Dabei beträgt die Blockgröße der mehrschichtigen Speicherung bei den besten Modellen 256 MB. Diese Merkmale lassen die Technologie der mehrschichtigen Speicherung nicht als Leistungssteigerungspipeline erscheinen, wie viele fälschlicherweise annehmen. Mehrschichtige Speicherung in Systemen der unteren und mittleren Klassen ist eine Technologie zur Kostenoptimierung der Speicherung für Systeme mit ausgeprägter Lastungsgleichmäßigkeit.

Snapshot

So oft wir auch über die Zuverlässigkeit von Speichersystemen sprechen, gibt es zahlreiche Möglichkeiten, Daten zu verlieren, die nicht von Hardwareproblemen abhängen. Dazu zählen Viren, Hackerangriffe oder unabsichtliche Löschungen bzw. Beschädigungen von Daten. Aus diesem Grund ist die Sicherung von Produktivdaten ein unverzichtbarer Bestandteil der Arbeit eines Ingenieurs.

Ein Snapshot ist ein Abbild eines Volumes zu einem bestimmten Zeitpunkt. Bei vielen Systemen, wie Virtualisierung, Datenbanken usw., müssen wir einen solchen Snapshot erstellen, von dem wir die Daten für das Backup kopieren, während unsere Systeme weiterhin reibungslos mit diesem Volume arbeiten können. Es ist jedoch wichtig zu beachten, dass nicht alle Snapshots gleich nützlich sind. Verschiedene Anbieter haben unterschiedliche Ansätze zur Erstellung von Snapshots, die von ihrer Architektur abhängen.

CoW (Copy-On-Write). Bei dem Versuch, einen Datenblock aufzuzeichnen, wird der ursprüngliche Inhalt in einen speziellen Bereich kopiert, sodass die Aufzeichnung reibungslos verläuft. Dadurch wird eine Beschädigung der Daten innerhalb des Snapshots verhindert. Natürlich verursachen all diese „parasitären“ Manipulationen mit den Daten zusätzliche Last auf dem Storage-System, weshalb Anbieter mit einer solchen Implementierung nicht empfehlen, mehr als zehn Snapshots zu verwenden und auf stark belasteten Volumes diese überhaupt nicht zu nutzen.

RoW (Redirect-on-Write). In diesem Fall wird das ursprüngliche Volume natürlich eingefroren, und beim Versuch, einen Datenblock zu schreiben, speichert das Storage-System die Daten in einen speziellen Bereich im freien Speicher, wobei die Position dieses Blocks in der Metadaten-Tabelle geändert wird. Dies reduziert die Anzahl der Schreibvorgänge, was letztlich den Leistungsabfall ausgleicht und die Einschränkungen hinsichtlich Snapshots und deren Anzahl aufhebt.

Snapshots gibt es außerdem in zwei Typen in Bezug auf Anwendungen:

Anwendungs-konsistent. Beim Erstellen eines Snapshots fordert die SAN (Storage Area Network) den Agenten im Betriebssystem des Nutzers an, der zwangsweise die Festplattencaches aus dem Speicher auf die Festplatte zurückschreibt und die Anwendung dazu zwingt. In diesem Fall sind die Daten beim Wiederherstellen aus dem Snapshot konsistent.

Crash-konsistent. In diesem Fall passiert nichts dergleichen, und der Snapshot wird so erstellt, wie er ist. Bei der Wiederherstellung aus einem solchen Snapshot ist das Bild identisch, als ob die Stromversorgung plötzlich ausgefallen wäre, und es kann zu einem gewissen Datenverlust kommen, da Daten, die im Cache hängen geblieben sind, nicht auf die Festplatte geschrieben wurden. Solche Snapshots sind einfacher zu implementieren und führen nicht zu Leistungseinbußen in den Anwendungen, sind jedoch weniger zuverlässig.

Warum sind Snapshots in Speichersystemen wichtig?

  • Agentenfreies Backup direkt von der SAN
  • Erstellung von Testumgebungen basierend auf realen Daten
  • Im Fall von Dateisystemen kann es verwendet werden, um VDI-Umgebungen zu erstellen, indem Snapshots der SAN anstelle eines Hypervisors verwendet werden.
  • Gewährleistung niedriger RPOs durch zeitgesteuertes Erstellen von Snapshots in deutlich höherer Frequenz als beim Backup.

Klonen

Die Volumenkopie funktioniert nach dem gleichen Prinzip wie Snapshots, dient jedoch nicht nur zum Lesen von Daten, sondern ermöglicht die vollständige Arbeit mit diesen. Wir können eine exakte Kopie unseres Volumes mit allen darauf befindlichen Daten erstellen, ohne eine physische Kopie anzufertigen, was Platz spart. Die Volumenkopie wird normalerweise in Test- und Entwicklungsumgebungen eingesetzt oder wenn Sie die Funktionalität von bestimmten Updates auf Ihrem Informationssystem überprüfen möchten. Das Klonen ermöglicht es, dies so schnell und ressourcensparend wie möglich zu tun, da nur die geänderten Datenblöcke gespeichert werden.

Replikation / Journaling

Replikation ist ein Mechanismus zur Erstellung von Datenkopien auf einem anderen physischen Speichersystem. In der Regel hat jeder Anbieter eine eigene Technologie, die nur innerhalb seines Produktportfolios arbeitet. Es gibt jedoch auch Drittanbieterlösungen, die auf Hypervisor-Ebene arbeiten, wie beispielsweise VMware vSphere Replication.

Die Funktionalität der proprietären Technologien und deren Benutzerfreundlichkeit übertreffen normalerweise bei weitem die allgemeinen Lösungen, sind jedoch unbrauchbar, wenn beispielsweise eine Replikation von NetApp auf HP MSA erforderlich ist.

Die Replikation wird in zwei Unterkategorien unterteilt:

Synchron. Bei der synchronen Replikation wird der Schreibvorgang sofort an das sekundäre Speichergerät übertragen und die Ausführung wird nicht bestätigt, bis das entfernte Speichergerät die Bestätigung sendet. Dies führt zu einer erhöhten Zugriffsverzögerung, jedoch haben wir dafür eine exakte Spiegelkopie der Daten. Das bedeutet, RPO = 0 im Falle eines Ausfalls des primären Speichergeräts.

Asynchron. Schreibvorgänge erfolgen ausschließlich auf dem primären Speichergerät und werden sofort bestätigt, während sie parallel im Puffer für eine gebündelte Übertragung an das entfernte Speichergerät gesammelt werden. Diese Art der Replikation ist für weniger wertvolle Daten oder für Verbindungen mit niedriger Bandbreite oder hoher Latenz geeignet (typisch für Entfernungen über 100 km). Folglich ist RPO = der Häufigkeit der Paketübertragung.

Häufig gibt es zusammen mit der Replikation einen Mechanismus für Protokollierung Diskoperationen. In diesem Fall wird ein spezieller Bereich für das Logging eingerichtet, der Schreibvorgänge mit einer bestimmten zeitlichen Tiefe oder einer begrenzten Protokollgröße speichert. Für bestimmte proprietäre Technologien wie EMC RecoverPoint gibt es Integrationen mit der Systemsoftware, die es ermöglichen, bestimmte Markierungen für einzelne Protokolleinträge zu verknüpfen. So kann der Zustand des Volumes (oder ein Klon) nicht nur auf den 23. April um 11:59:13,013 Uhr zurückgesetzt werden, sondern auch auf den Zeitpunkt vor "DROP ALL TABLES; COMMIT".

Metro-Cluster

Ein Metro-Cluster ist eine Technologie, die eine bidirektionale synchrone Replikation zwischen zwei Speicherlösungen ermöglicht, sodass diese beiden als eine Einheit erscheinen. Sie wird zur Erstellung von Clustern mit geografisch verteilten Standorten über Metro-Distanzen (weniger als 100 km) eingesetzt.

Ein Beispiel aus der Nutzung: In einer Virtualisierungsumgebung ermöglicht ein Metro-Cluster die Erstellung eines Datastores mit virtuellen Maschinen, die gleichzeitig aus zwei Rechenzentren beschreibbar sind. In diesem Fall wird ein Cluster auf Hypervisor-Ebene gebildet, das aus Hosts in verschiedenen physischen Rechenzentren besteht und mit diesem Datastore verbunden ist. Dies ermöglicht Folgendes:

  • Vollständige Automatisierung des Wiederherstellungsprozesses nach dem Ausfall eines Rechenzentrums. Ohne zusätzliche Mittel werden alle VMs, die im ausgefallenen Rechenzentrum betrieben wurden, automatisch im verbleibenden Rechenzentrum neu gestartet. RTO = Abbruchzeit des Hochverfügbarkeitsclusters (15 Sekunden für VMware) + Zeit zum Laden des Betriebssystems und Starten der Dienste.
  • Disaster Avoidance oder auf Deutsch: Katastrophenvermeidung. Wenn im Rechenzentrum 1 geplante Arbeiten an der Stromversorgung stattfinden, haben wir im Voraus die Möglichkeit, die gesamte wichtige Last nonstop in das Rechenzentrum 2 zu migrieren.

Virtualisierung

Die Virtualisierung von Speicherlösungen bedeutet technisch, dass Volumes einer anderen Storage-Lösung als Laufwerke verwendet werden. Der Speicher-Virtualisierer kann einfach das Volume eines fremden Systems zum Endverbraucher durchschleifen und gleichzeitig eine Spiegelung auf eine weitere Storage-Lösung durchführen oder sogar ein RAID aus externen Volumes erstellen.
Typische Vertreter der Speicher-Virtualisierung sind EMC VPLEX und IBM SVC. Selbstverständlich gehören dazu auch Speicherlösungen mit Virtualisierungsfunktionen wie NetApp, Hitachi und IBM / Lenovo Storwize.

Wozu könnte das nötig sein?

  • Failover auf der Ebene der Speicherlösungen. Es wird ein Spiegel zwischen den Volumes erstellt, wobei eine Hälfte auf einem HP 3Par und die andere auf NetApp sein kann. Der Virtualisierer stammt von EMC.
  • Migration von Daten mit minimalen Ausfallzeiten zwischen Speichersystemen verschiedener Hersteller. Angenommen, die Daten müssen von einem alten 3Par, das abgerüstet wird, auf einen neuen Dell migriert werden. In diesem Fall werden die Verbraucher vom 3Par getrennt, die Volumes unter VPLEX durchgeschleift und den Verbrauchern neu präsentiert. Da sich am Volume kein Bit geändert hat, wird die Arbeit fortgesetzt. Im Hintergrund wird der Spiegelungsprozess für das neue Dell gestartet und nach Abschluss wird der Spiegel aufgebrochen und das 3Par abgeschaltet.
  • Einrichtung von Metro-Clustern.

Kompression / Deduplication

Kompression und Deduplikation sind Technologien, die es Ihnen ermöglichen, Speicherplatz auf Ihrem Speicher-Array zu sparen. Es ist wichtig zu erwähnen, dass nicht alle Daten grundsätzlich komprimiert und/oder dedupliziert werden können. Einige Datentypen lassen sich besser komprimieren und deduplizieren als andere.

Es gibt zwei Arten von Kompression und Deduplikation:

Inline — hierbei erfolgt die Kompression und Deduplikation von Datenblöcken, bevor diese auf die Festplatte geschrieben werden. Das System berechnet zunächst den Hash des Blocks und vergleicht ihn mit der bestehenden Tabelle. Erstens geschieht dies schneller als die bloße Speicherung auf der Festplatte, zweitens sparen wir so zusätzlichen Speicherplatz.

Post — hierbei werden diese Vorgänge an bereits auf der Festplatte gespeicherten Daten durchgeführt. Die Daten werden also zuerst auf die Festplatte geschrieben, und erst dann wird der Hash berechnet, um überflüssige Blöcke zu entfernen und Festplattenspeicher freizugeben.

Es ist erwähnenswert, dass die meisten Anbieter beide Arten verwenden, was es ermöglicht, diese Prozesse zu optimieren und somit ihre Effizienz zu steigern. Die meisten Anbieter von Speichersystemen verfügen über Tools, die es ermöglichen, Ihre Datensätze zu analysieren. Diese Tools funktionieren nach demselben Prinzip wie die in den Speichersystemen implementierten, sodass der geschätzte Effizienzgrad übereinstimmen wird. Darüber hinaus sollte nicht vergessen werden, dass viele Anbieter Programme zur Effizienzgarantie anbieten, die versprechen, ein Niveau zu erreichen, das nicht unter dem angegebenen für bestimmte (oder alle) Datentypen liegt. Diese Programme sollten nicht vernachlässigt werden, da Sie, wenn Sie ein System für Ihre Anforderungen und unter Berücksichtigung des Effizienzgrads eines bestimmten Systems entwerfen, möglicherweise bei der Kapazität sparen können. Zudem ist zu beachten, dass diese Programme für AFA-Systeme ausgelegt sind, jedoch die Beschaffung einer geringeren Menge an SSDs im Vergleich zu HDDs in klassischen Systemen deren Kosten senken kann, weshalb die Preise möglicherweise näher an die der Festplattensysteme heranrücken können.

Modell

Und hier kommen wir zur richtig gestellten Frage.

„Mir werden zwei Modelle für die Speichersysteme angeboten – ABC SuperStorage S600 und XYZ HyperOcean 666v4. Was können Sie empfehlen?“

Es wird zu „Mir werden zwei Modelle für die Speichersysteme angeboten – ABC SuperStorage S600 und XYZ HyperOcean 666v4. Was können Sie empfehlen?“

Die Zielbelastung sind gemischte virtuelle Maschinen auf VMware aus den Bereichen Produktion / Test / Entwicklung. Test = Produktion. 150 TB für jede mit einer Spitzenleistung von 80.000 IOPS bei 8kb Blöcken, 50% zufälliger Zugriff, 80/20 Lese-Schreiben. 300 TB für die Entwicklung, dort reichen 50.000 IOPS aus, 80 zufällig, 80 Schreiben.

Die Produktion wird voraussichtlich im Metrocluster mit RPO = 15 Minuten und RTO = 1 Stunde sein, während die Entwicklung in asynchroner Replikation mit RPO = 3 Stunden läuft, der Test erfolgt an einem Standort.

Es wird 50 TB für die Datenbank geben; es wäre gut, wenn für diese Logging vorgesehen wird.

Wir haben überall Dell-Server, und die Speichersysteme sind alte Hitachi, die kaum zurechtkommen. Wir planen ein Wachstum von 50 % hinsichtlich der Last in Bezug auf Volumen und Leistung.

Wie gesagt, in der richtig formulierten Frage steckt 80 % der Antwort.

Zusätzliche Informationen

Worüber sollte man Ihrer Meinung nach zusätzlich informiert sein?

Bücher

  • Oliwer und Oliwer „Computer-Netzwerke“. Dieses Buch hilft, die Datenübertragungsumgebung für IP / Ethernet-Speichersysteme zu systematisieren und möglicherweise besser zu verstehen.
  • „EMC Information Storage and Management“. Ein hervorragendes Buch über die Grundlagen der Speicherlösungen, warum, wie und wozu.

Foren und Chats

Allgemeine Empfehlungen

Preise

Kommen wir zu den Preisen – im Bereich der Speicherlösungen sind Preisangaben meist Listenpreise, von denen jeder Kunde einen individuellen Rabatt erhält. Die Höhe des Rabatts hängt von einer Vielzahl von Parametern ab, sodass es unmöglich ist, den genauen Endpreis für Ihr Unternehmen ohne Anfrage beim Distributor vorherzusagen. Allerdings sind in letzter Zeit Low-End-Modelle auch in üblichen Computerläden erhältlich, wie zum Beispiel nix.ru oder xcom-shop.ru. Dort können Sie direkt das gewünschte System zu einem Festpreis erwerben, wie bei anderen Computerkomponenten auch.

Es ist jedoch wichtig zu beachten, dass ein direkter Vergleich von TB/$ nicht korrekt ist. Betrachtet man dies auf diese Weise, wäre die kostengünstigste Lösung ein einfaches JBOD + Server, was jedoch weder die Flexibilität noch die Zuverlässigkeit bietet, die ein vollwertiges, doppelt controllerbasiertes SAN gewährleistet. Das bedeutet nicht, dass JBOD schlecht ist oder eine minderwertige Lösung darstellt; es ist einfach wichtig zu verstehen, wie und für welche Zwecke Sie diese Lösung nutzen möchten. Oft hört man, dass in einem JBOD nichts kaputtgehen kann, da es nur einen Backplane gibt. Allerdings können auch Backplanes ausfallen. Alles bricht irgendwann einmal.

Gesamt

Man sollte Systeme nicht nur nach Preis oder nur nach Leistung vergleichen, sondern aufgrund einer Gesamtheit aller Kennzahlen.

Kaufen Sie HDDs nur, wenn Sie sich sicher sind, dass Sie HDDs benötigen. Für geringe Lasten und nicht komprimierbare Datentypen lohnt es sich, auf die Effizienzgarantieprogramme für SSD-Speicher zu achten, die jetzt bei den meisten Anbietern verfügbar sind (und die tatsächlich funktionieren, sogar in Russland). Hier hängt es alles von den Anwendungen und Daten ab, die auf diesem SAN abgelegt werden sollen.

Verfolgen Sie nicht nur den Preis. Oft versteckt sich hinter der günstigen Angebotshülle eine Vielzahl unangenehmer Aspekte, von denen Jewgenij Elizarow in seinen Artikeln über Infortrend. Und letztendlich könnte Ihnen diese Günstigkeit zum Verhängnis werden. Vergessen Sie nicht: "Der Geizige zahlt zweimal".

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster