Verteilte Datensicherung

auf Arbeitsplatzrechnern


1. Abstrakt

Dieser Artikel beschreibt einen Ansatz für die Möglichkeit, Datensicherungen mittels vorhandener Ressourcen kostengünstig und sicher vorzunehmen. Auf konkrete Algorithmen wird in dieser Darstellung verzichtet, da die Vorstellung des Konzeptes im Vordergrund steht.

2. Motivation

In heutiger Zeit sind Arbeitsplatzrechner, seien dies Rechner in Computer-Pools von Universitäten oder Schulen, Rechner von Privatpersonen oder eben die Rechner am eigenen Arbeitsplatz, oft mit Ressourcen (Festplattenspeicher, Rechenkapazität des Prozessors) ausgestattet, die bei der normalen Nutzung eher selten voll beansprucht werden.

Momentan können die freien Ressourcen der CPU schon durch verschiedene Systeme für verteiltes Rechnen genutzt werden (z.B. distributed.net [1]). Entsprechend kann nun auch der freie Festplattenspeicher für eine verteilte Datensicherung genutzt werden.

Besonders interessant könnte eine solche Lösung für Institutionen wie Universitäten, Schulen oder Firmen mit einer Vielzahl von homogenen Systemen in Rechner-Pools oder an Arbeitsplätzen sein. Eine Datensicherung auf Privatrechnern von Internetnutzern ist ebenfalls denkbar und möglich. Da an dieser Stelle jedoch keine Garantie für die Zuverlässigkeit der Klienten gegeben werden kann, wird in diesem Konzept jeder Klient als "potentiell unsicher" angesehen.

3. Datensicherung

Eine Sicherung von Daten findet dann statt, wenn man sich gegen den Verlust von "einmaligen" Daten schützen will. Daten können auf Grund von Hardware-Ausfällen, Software-Fehlern oder Bedienfehlern verloren gehen. Um bei einem Datenverlust den Schaden so gering wie möglich zu halten, muss eine Datensicherung verschiedenen Anforderungen genügen, die natürlich auch von einer verteilten Datensicherung zu gewährleisten sind.

Realisierung der Anforderungen

Diese genannten Anforderungen stehen jedoch teilweise im Widerspruch. Soll das Backup möglichst sicher sein, so sollten die Backup-Medien räumlich getrennt zu den Originaldaten (z.B. in einem Safe) aufbewahrt werden. An dieser Stelle ist jedoch ein einfacher und schneller Zugriff auf die Daten nicht möglich.

Um nun trotzdem eine Datensicherung zu erreichen, die viele der Anforderungen möglichst gut erfüllt, werden in der Praxis mehrstufige und zweckangepasste Datensicherungen genutzt.

4. Verteilung der Daten

Es wird davon ausgegangen, dass ein Rechner (Server) Daten sichern möchte und sich dazu freier Ressourcen von Klienten bedient. Diese Klientrechner können z.B. die Arbeitsplatzrechner der Mitarbeiter einer Firma sein.

Um die zuvor beschriebene Sicherheit zu erhalten, muss entsprechend der Zuverlässigkeit der Klienten eine mehr oder weniger große Redundanz bei der Verteilung vorhanden sein. Diese Redundanz kann auf verschiedene Weise erreicht werden. Möglich wäre zum einen das einfache Replizieren des gleichen Datensatzes auf mehrere Klienten. Da bei dieser Variante jedoch sehr viel Speicherplatz für die Redundanz benötigt wird, ist zum anderen auch der Einsatz fehlerkorrigierender Codes ähnlich RAID 5 (Redundant Array of Independent/Inexpensive Disks) denkbar. Werden die Daten über mehrere Pools oder Arbeitszimmer verteilt, oder gar eine Verteilung im Internet genutzt, erhöht die räumliche Aufteilung die Sicherheit gegenüber lokalen Schäden (z.B. Feuer) beträchtlich. Das Konzept der verteilten Datensicherung beruht auf statistischen Annahmen bezüglich der Zuverlässigkeit der Klienten in Verbindung mit einer entsprechenden Redundanz und erreicht somit wie auch alle anderen Backup-Verfahren niemals 100%ige Sicherheit.

Versionsverwaltung und Integritätssicherung sind unabhängig von dem Ort, an dem das Backupsystem seine Daten speichert, und sind somit von der Verteilung der Daten unabhängig.

Die Vertraulichkeit ist bei einer Verteilung von Daten zu potentiell unsicheren Klienten ein wichtiger Faktor und kann durch schnelle symmetrische Verschlüsselungsverfahren gewährleistet werden.

Die Zugriffsgeschwindigkeit hängt in starkem Maß von den jeweiligen Klienten ab. Wird ein Rechner-Pool des eigenen administrativen Bereiches genutzt, so ist der Zugriff entsprechend schnell und die Verfügbarkeit der Klienten hoch. Bei einer Verteilung im Internet ist dies jedoch nicht gegeben.

5. Bewertungssystem

Um die Zuverlässigkeit der Klienten zu bewerten, d.h. mit welcher Wahrscheinlichkeit können die auf ihm gespeicherten Daten unversehrt zurückgelesen werden, kann ein Bewertungssystem genutzt werden. Pro Klient wird getestet, wie hoch zum einen seine Erreichbarkeit und zum anderen die Verfügbarkeit korrekter Daten ist. Um ein komplettes Zurücklesen der Daten für die Tests zu vermeiden, sind Prüfsummenberechnungen seitens des Klienten denkbar. Auch hier ist der Einsatz kryptographisch sicherer MAC-Verfahren sinnvoll.

Die so ermittelten Daten über die Zuverlässigkeit von Klienten gehen in den Verteilungsalgorithmus mit ein. So müssen Daten, die auf einem zuverlässigen Klienten gespeichert werden, auf weniger anderen Klienten gelagert werden. Entsprechend muss bei unzuverlässigen Klienten eine höhere Redundanz gewählt werden.

Die Höhe der Redundanz ist jedoch nicht nur vom Klienten, sondern auch von der Wichtigkeit der Daten selbst abhängig. Einem wöchentlichen Gesamtbackup kann demnach eine höhere Priorität als einer stündlichen Sicherung der Arbeitskopie der Daten zugeordnet werden.

6. Fazit und Ausblick

Die Möglichkeit der Nutzung vorhandener Ressourcen für Sicherungszwecke bietet auf den ersten Blick eine Menge Vorteile:

An dieser Stelle muss nun eine Unterscheidung der Klienten getroffen werden. Ein Vorgesetzter kann in einer Firma seine Mitarbeiter anweisen, die Datensicherung auf Ihren Arbeitsplatzrechner zu dulden, aber im Internet ist dies nicht möglich. Es muss also ein Anreiz geschaffen werden, damit Klienten Speicherplatz zur Verfügung stellen. Dieser Anreiz kann aus verschiedenen Werten wie z.B. Geld, Bandbreite oder anderen Vergünstigungen bestehen. Die Höhe der Vergütung ist an das Bewertungssystem gekoppelt, so dass ein zuverlässigerer Klient auch entsprechend höher belohnt wird.

Eine genaue Untersuchung der vorgestellten Idee der verteilten Datensicherung und eine funktionierende Implementierung werden das Thema meiner Diplomarbeit sein.

Interessant ist in diesem Zusammenhang das Projekt pStore [2], welches am "Massachusetts Institute Of Technology" entwickelt wurde. pStore ist ein verteiltes sicheres Backupsystem, welches ebenfalls mit starker Kryptographie arbeitet. Jedoch fehlt pStore die Möglichkeit der Bewertung der Klienten und auch die Verteilung der Daten ist auf reine Replikation beschränkt.

Links:

Christian Krause, Fakultät für Informatik, April 2002