Definition, Update: 12.7.2018 Was ist Erasure Coding?

Autor / Redakteur: Walter Schadhauser / Rainer Graefen

Algorithmen zur Fehlerkorrektur bei Datenspeichern sind seit langem unverzichtbar. Einige Raid-Level kennt fast jeder, der schon mal eine Festplatte in den Händen hatte. Doch nun machen Erasure Codes dem RAID-Datenschutz seinen Platz streitig. Die Rechenleistung könnte durch Grafikkarten geliefert werden.

Anbieter zum Thema

Mittels Erasure Coding lassen sich die tolerierbaren Datenfehler in augenblicklich unwahrscheinlichste Verfügbarkeitsbereiche verweisen.
Mittels Erasure Coding lassen sich die tolerierbaren Datenfehler in augenblicklich unwahrscheinlichste Verfügbarkeitsbereiche verweisen.
(Bild: Intel)

Bei Flash-Speichern redet die Industrie ungern darüber, was in einer SSD intern alles nötig ist, um die Daten "sauber" zu halten. Bei Festplatten hält fast jeder Raid für eine tolle Erfindung, doch ein weiteres Fehlerkorrekturverfahren aus der ECC-Familie (Error Correction Codes), den Erasure Codes, kennt kaum einer. Doch dieses Forward-Error-Correction-Verfahren zeigt beim Objektspeicher, dass es alles besser kann.

Objekte schicken sich an einen großen Teil der Speicherlast zu übernehmen. Noch halten aber viele ein Objekt, das durch Daten, Metadaten und eine eindeutige, globale Identifikationsnummer bestimmt ist, nur dazu fähig, fixe Daten zu speichern. Anders als bei einer Datei werden Objekte nicht überschrieben, sondern bei Änderungen in einer weiteren Version abgespeichert.

Und obwohl auch der globale Zugriff auf ein Dateisystem per CIFS und NFS möglich ist, so ist es doch wesentlich einfacher, auf ein Objekt in einer flachen Hierarchie mit http-Befehlen von jedem Ort und mit beliebigen Gerätschaften zuzugreifen.

Ein Speicher, der mit seiner Verteilung besser wird

Der Objektspeicher unterscheidet sich dahin gehend von Dateispeicher als dass er keinen Verzeichnisbaum mit Ordnern und Unterordnern besitzt. Objekte werden in einer flachen Hierarchie gespeichert, die sich mit simplen http-Befehlen wie put und get bearbeiten und speichern lassen.

Der Zugriff auf Objekte ist durch ihre Internet-kompatible Struktur über jedes Gerät mit Internetzugang erreichbar. Mittels des Indexes lassen sich die gespeicherten Identifikationsnummer und damit die Objekte respektive Objektsammlungen schnell wiederfinden.

Da der Index den Zeiger auf den tatsächlichen Ort des Dokumentes enthält, müssen Anwendungen wie auch Anwender keine Ahnung haben, wo die Datei gespeichert ist. Sie verwenden lediglich die eindeutige ID, die sich z. B. aus einer Suche in den Metadaten ergibt und das Verwaltungssystem ruft die Daten ab.

Das Objektspeichersystem ist, auch dies anders als bei einem NAS-Speichersystem, aus vielen gleichförmigen Server-Speicherknoten, die ein Grid bilden, aufgebaut, das über viele Standorte verteilt sein kann. Trotz vieler Knoten und geografischer Verteilung ist ein Objektspeicher als ein einziges logisches Speichersystem aufgebaut.

Und ein großer Vorteil der Objektspeicherung ist, dass keine dedizierte Replikations- und Backupinfrastruktur benötigt wird, um die Daten zu schützen. Möglich ist dies durch Erasure Coding, einer Technik, die verteilte und lokale Daten mit einer extrem guten Schutzwirkung vor dem Verlust von Informationen bewahrt.

Hohe Verfügbarkeit und Datenschutz passen zusammen

Obwohl Objektspeicher gerne als weitgehend ausfallsichere Archivspeicher gehandelt werden, vollzieht sich, so scheint es, aktuell ein Evolutionssprung. Es gibt bemerkenswerte Startup-Aktivitäten, die das Objekt-basierte Speichersystem mit sogenannten Gateways und Posix-Dienstprogrammen zu NAS-ähnlichem Speicher machen können. Grundlage ist wie schon beim Aufstieg der Software-gesteuerten NAS-Technik die wachsende Leistungsfähigkeit moderner Prozessoren.

Der schnelle Leistungszuwachs von x86-Prozessoren hat vor ziemlich genau dreißig Jahren für den Siegeszug von Network Attached Storage (NAS-Systemen) gesorgt und könnte nun für die breite Einführung von Objektspeichern als Ersatz für Tape und wahrscheinlich auch für das File-orientierte Speichern von Milliarden von Dokumenten sorgen.

Die der Objektspeicherung zugrunde liegenden Fehlerkorrektur-Algorithmen sind erstaunlicherweise schon über 40 Jahre alt.

Leider benötigen sie eine Rechenleistung, die erst seit wenigen Jahren auf dem benötigten Preisniveau zur Verfügung steht. Hersteller wie Fast LTA bewerkstelligen die Berechnungen inzwischen auf preiswerten Grafikkarten.

Objektspeicher erzielen viele ihrer Vorteile durch ein Bündel rechenintensiver Algorithmen, die als sogenannte Erasure Codes für Ausfallsicherheit und schnelle Wiederherstellung von Datenspeichern dienen.

Als Best Practices beim Erasure Coding gilt folgender Merksatz: Ein einzelnes Laufwerk darf nicht mehr als einen Datenblock eines Objekts aufweisen und ein einzelner Knoten darf niemals mehr Datenblöcke besitzen als das Objekt verlieren darf.

Erasure-Coding-Schutz vielfältig konstruierbar

Zwei wichtige Grundfunktionen der Objektspeicherung sind Bitspread und Geospread:

Beim Bitspread wird das Objekt auf z. B. 18 Festplatten verteilt und jeweils mit einem Error Correction Code (ECC) erweitert. Diese Fehlerkorrektur kann so gestaltet werden, dass es zu keinem Datenverlust kommt, auch wenn 5 Festplatten ausfallen würden. Die Speicherkapazität beträgt trotzdem noch 72 Prozent der Gesamtkapazität.

Beim Geospread arbeitet man mit der Verteilung des Objektes auf mehrere Standorte respektive Speichersysteme. Dabei kann z. B. ein 6/2-Erasure Code zum Einsatz kommen. Übersetzt bedeutet das, dass das Objekt auf 6 Festplatten verteilt wird, von denen 2 ausfallen könnten, ohne Datenverluste zu bewirken.

Ein Beispiel zum besseren Verständnis: Wird das Objekt nun auf drei Standorte verteilt, erhöht sich der lokale Grundschutz von 6/2 auf den erweiterten Schutz mit 18/6. Selbst bei vollständiger Zerstörung eines Speicherstandortes ließen sich alle Daten aus den beiden anderen Standorten restaurieren.

Dynamische Schutzfunktionen

Und hier kommt ein zweiter Vorteil der Erasure Codes zum Vorschein. Während der Rebuild einer 8 TByte Festplatte in einem RAID-System mehrere Tage in Anspruch nehmen würde, tragen bei der Objektspeicherung alle installierten Festplatten zur Wiedergewinnung der zerstörten Daten bei.

Erasure Codes sind nicht statisch. Auf Grund permanenter Speicherung von Daten wird im Hintergrund beständig umgeschichtet. Das bedeutet aber auch, dass Daten und ihre zugehörigen ECC-Signaturen geprüft, neu sortiert und aktualisiert werden müssen. Diese Überprüfungsroutinen erzeugen den Hauptbestandteil der Rechenlast.

Ein dritter Vorteil der Erasure Codes liegt in der Verfügbarkeit der Daten begründet. So wird von HDD-Herstellern die Zahl nicht korrigierbarer Lesefehler von guten Festplatten mit einem Fehler angegeben, wenn 10 1515 Bit gelesen worden sind. Das führt bei einem Datenbestand von einem Petabyte, das sind ca. 10 15 Byte, rein rechnerisch zu acht unkorrigierbaren Fehlern. An diesem Umstand ändert auch der Einsatz von RAID-5 oder RAID-6 nichts.

Mittels Erasure Codes lassen sich bei guter Implementierung Datenfehler in augenblicklich unwahrscheinlichste Bereiche verweisen, laut Theorie und praktischer Umsetzbarkeit liegt die Dauerhaltbarkeit eines Datums bei 15 Neunen.

(ID:44570271)