Go to Top

Die Weiterentwicklung des Speichers: Dateispeicher vs. Blockspeicher vs. Objektspeicher – Teil 2

Vor ein paar Tagen haben wir die Notwendigkeit eines neuen Speicherkonzepts für die stetig wachsende Datenmenge im Big Data Zeitalter aufgezeigt. Wir haben gezeigt, dass die traditionellen Speichermethoden File Storage und Block Storage aufgrund steigender Datenmengen und der dort hinzugefügten Dateistruktur und Hierarchie-Informationen nicht mit diesen wachsenden Datenmengen umgehen können. Die Lösung für diese Herausforderung im Datenspeicher ist der Objektspeicher. Aber was ist mit Datenschutz und Datenwiederherstellung? Wie schützt dieser neue Ansatz den Datenverlust? Finden Sie es jetzt heraus:

Erasure Coding als Sicherheitsmaßnahme gegen Datenverlust in objektbasierten Speichersystemen

Lange Zeit war RAID eine gute Wahl, um vor Datenverlust aufgrund eines Hardwarefehlers von einer oder mehrerer kaputten Festplatten sicher zu sein (RAID 6). Das Konzept der Paritätsberechnung und der Datenwiederherstellung auf diese Art funktioniert gut mit kleineren Datenträgergrößen, die in den letzten Jahren üblich waren. Bei Festplattengrößen von 10 Terabyte oder mehr kann die Wiederherstellung einer vollständigen Festplatte zukünftig Monate dauern. Es ist nicht so einfach, die genaue Wiederherstellungszeit vor dem Start zu bestimmen, da dies von der vorhandenen Arbeitsauslastung des Systems abhängt. Aus diesem Grund wird RAID in Datenspeichersystemen nicht als Data Protection Methode oder Datenwiederherstellungsverfahren verwendet. Es wäre unmöglich, Daten in einem überschaubaren Zeitrahmen zurückzugewinnen. Und ein anderes Problem kann zudem bei RAID auftreten: Wenn ein anderer Datenträger während eines RAID-Rebuild-Prozesses ausfällt, gehen die Daten endgültig verloren, ohne dass sie wiederhergestellt werden können. Aus diesem Grund wurde für große Speicher und ihre Festplatten die Methode des Erasure Coding eingeführt.

Wie bereits erwähnt, können Objekte überall in einem funktionierenden Objekt-Speichersystem vorliegen: im Unternehmen vor Ort, an vielen verschiedenen Standorten oder in der Cloud. Der Zugriff auf Objekte ist wegen ihrer internetfähige Struktur faktisch über jedes Gerät mit Internetzugang möglich. Um die Objekte sicherer gegen Datenverlust zu machen, kommt Erasure Coding zum Einsatz:

Methodisch ähnelt die Erasure-Codierung einer klassischen RAID-Absicherung bzw. Wiederherstellung. Auch hier werden zusätzliche Informationen aus den zu speichernden Objekten erzeugt. In einem System mit Erasure Coding (EC) werden die Objekte in Teile aufgeteilt. Diese Datenblöcke sind typischerweise mehrere Megabyte groß und daher viel größer als die Blöcke, die normalerweise in einem RAID-geschützten System erstellt werden.

Jeder Datenblock wird dann analysiert und zusätzlich zu dem ursprünglichen Datenblock werden mehrere kleinere Fragmente erzeugt. Um Originaldaten wiederherzustellen, wird eine Mindestmenge dieser sogenannten Scherben (Sherds=Blockteile) benötigt. Wenn zum Beispiel mit EC ein Datenblock “16 Fragmente” erzeugt, werden 12 davon (unabhängig davon, welche davon verfügbar sind) benötigt, um die ursprünglichen Informationen wiederherzustellen.

Zur Erstellung dieser Fragmente wird eine spezielle mathematische Formel – der XOR-Scheduling-Algorithmus – verwendet. Für mehr Informationen darüber, sollten Sie am besten die Originalarbeit lesen: http://nisl.wayne.edu/Papers/Tech/dsn-2009.pdf .

Die Aufteilung von Daten und Objekten in Fragmente hat einige Vorteile: Da diese Fragmente auf verschiedenen Datenträgern oder an verschiedenen Speicherorten gespeichert sind, führt ein Fehler auf einem Laufwerk nicht zu Datenverlusten. Und noch besser: Da nicht alles von den ursprünglichen Daten neu aufgebaut werden muss, sondern nur eine verpflichtende Anzahl von Fragmenten, ist der gesamte Wiederherstellungsprozess viel schneller als sein RAID-Gegenstück. Darüber hinaus ist es wesentlich einfacher, Fragmente an einem anderen Speicherort zu speichern als das Speichern eines vollständigen Backups auf einem externen Speichersystem. Der Administrator muss nur sicherstellen, dass genügend Fragmente verfügbar sind, wenn sie benötigt werden.

Können Datenwiederherstellungsingenieure Daten aus Objektspeichern wiederherstellen?

Aufgrund der Tatsache, dass diese Systeme sehr sicher gegen Ausfälle sind, hat keines dieser neuen Objektspeichersysteme bislang den Weg in eines der vielen Data Recovery Labs von Ontrack Data Recovery auf der ganzen Welt gefunden.

Was Ontrack Data Recovery-Ingenieure jedoch bereits erfolgreich wiederherstellen konnten, waren Daten aus einer Beta-Version eines EMC Isilon-Speichersystems, das speziell für die Speicherung großer Mengen von Big Data entwickelt wurde. Einfach ausgedrückt, basiert ein Isilon-System auf dem Konzept, alle Daten in einem sogenannten “Datensee” zu speichern, der sich über viele Festplattenlaufwerke verteilt. Die Idee, Daten in einem Big Data Lake von EMC zu speichern, ist vergleichbar mit dem Konzept des Objektspeichers. Zusätzlich arbeitet das EMC-System mit einem speziellen Dateisystem, das speziell für Big Data und das Konzept eines Datensees entwickelt wurde.

In einem Datenverlustfall mit einer Beta-Version eines solchen Systems trat eine Kernel-Panik auf und mehrere Festplatten zeigten Fehler. Obwohl EMC die meisten Daten mit den normalen integrierten Wiederherstellungstools selbst wiederherstellen konnte, zeigte eine Konsistenzprüfung, dass mehrere Festplatten fehlerhaft waren und daher nicht alle Daten auf diese Weise gerettet werden konnten.

Um die Daten wiederherzustellen, entwickelten die Ingenieure von Ontrack aus der Forschungs- und Entwicklungsabteilung spezielle Tools, um ein vorhandenes OneFS-Laufwerk schnell zu analysieren und fehlende oder beschädigte Datenstrukturen zu finden. Nachdem die Ingenieure schließlich die ursprüngliche Struktur des Systems herausgefunden hatten, konnten sie fast alle der 4 Millionen fehlenden Dateien wiederherstellen.

Dieses Beispiel zeigt, dass moderne Datenwiederherstellung im Prinzip in der Lage ist, verlorene Daten von einem Objektspeichersystem wiederherzustellen, und zwar selbst in dem höchst unwahrscheinlichen Fall, dass die integrierten Datenwiederherstellungswerkzeuge und Sicherheitsfunktionen ausfallen.

Wie der Beispiel-Fall jedoch zeigt, wird es sehr mühsam sein, tief in die Systemstruktur einzutauchen, mehrere Datenschichten zu analysieren und zu entpacken oder Teile auf verschiedenen Platten wieder zusammenzubauen, bis schließlich die ursprünglichen Daten abgerufen werden können.

Und es gibt einige andere Herausforderungen in einem Objektspeichersystem, die bewältigt werden müssen: Da die Adressverwaltung der Daten in einem Objektspeichersystem in der Anwendung selbst erfolgt, bedeutet dies, dass in einem solchen Fall eine spezifische Lösung entwickelt werden muss, die den Ingenieuren hilft herauszufinden, wo konsistente Datenblöcke auf den Hunderten von Festplatten gespeichert sind oder wo fehlende Datenblöcke zum Beispiel durch Erasure Coding oder spezielle Datenrettungstechniken wiederhergestellt werden müssen.

 

Bildnachweis: olafpictures/ pixabay.com

https://pixabay.com/en/belgium-antwerp-shipping-container-1601918/

CC0 license (https://pixabay.com/en/service/terms/#usage)