xohFS – Tableless Inline Data Deduplication

Master-Studiengang Information Security

A Proof of Concept Object Storage Implementation

Dipl.-Ing. André Meindorfer, BSc

Betreuer: Dipl.-Ing. Dipl.-Ing. Christoph Lang-Muhr, BSc

Ausgangslage

Man kennt das Problem: Eine bereits gespeicherte Datei ist nicht mehr auffindbar und wird deshalb erneut geladen und gespeichert. Dies führt zu einer Verschwendung von Speicherplatz. Um dieser Verschwendung entgegenzuwirken, kann Datendeduplizierung verwendet werden. Dabei handelt es sich um eine Technologie, die identische Dateien (oder Teile davon) erkennt und, abhängig von der konkreten Implementierung, Duplikate entfernt oder gar nicht erst anlegt – all das im Hintergrund völlig transparent für Anwendungen. Das Ausmaß der Verschwendung von Speicherplatz ist gravierender, wenn im Hintergrund mit Replikation gearbeitet wird, um die Sicherheit der gespeicherten Daten zu gewährleisten. Hier kann eine zweifach abgespeicherte Datei schnell mehr als den fünffachen Speicherplatz verbrauchen. Leider gibt es bisher keine Möglichkeiten, um Datendeduplizierung bei verteilten Dateisystemen, die auf Replikation basieren, anzuwenden.

Ziel

Das Ziel dieser Arbeit ist es, eine praktikable Möglichkeit zu ermitteln, um Datendeduplizierung in verteilte Dateisysteme zu integrieren. Dies soll nicht ausschließlich theoretisch ausgearbeitet, sondern in Form eines Prototyps implementiert werden. Dieser Prototyp soll als Basis für ein marktreifes, verteiltes, deduplizierendes Dateisystem dienen können.

Dazu sind, neben der Datendeduplizierung, auch weitere benötigte Technologien zur Realisierung eines verteilten Dateisystems zu behandeln.

Ergebnis

Im Zuge dieser Arbeit wurde der Prototyp eines verteilten Object-Storage implementiert. Dieser Prototyp zeichnet sich nicht nur durch Datendeduplizierung, sondern auch durch weitere innovative Eigenschaften, wie Beseitigung der Notwendigkeit einer Deduplikations-Tabelle, Clusterverwaltung ohne Single Point of Failure und ohne Master-Node, und Implementierung eines Algorithmus zur lastverteilenden Platzierung von Dateien aus.

Ausblick

Die Arbeit nennt Möglichkeiten zur Weiterentwicklung des Prototyps. Die genannten Möglichkeiten umfassen unter anderem die Trennung des Netzwerkverkehrs, Implementierung eines regulären Dateisystems, Erkennungsmethoden von ungewollter Datenveränderung sowie Möglichkeiten zur Reduzierung der übertragenen Netzwerkdaten.