Daten reduzieren beim Backup und der Archivierung

Deduplizierung: Speicherplatz statt Redundanz

17.04.2008 von Thomas Steudten
Deduplizierung soll in den Backup- und Archivierungssystemen helfen, Daten-Redundanz zu erkennen und zu beseitigen. Mit der Storage-Technologie sollen sich Speicherplatz und Netzwerkbandbreite sparen lassen. TecChannel erklärt die Vorteile, Nachteile und Risiken des Verfahrens.

Von Redundanz bei Informationen spricht man, wenn Daten mit identischem Informationsgehalt mehrfach vorhanden sind. Diese doppelte bis mehrfache Auslegung ist teilweise gewünscht, um Ausfallzeiten bei Fehlern im Hardwarebereich zu minimieren, führt aber zwangsläufig bei der Datensicherung zu multiplen Kopien der gleichen Daten.

Obwohl Disk- und Bandspeicher mit der Zeit immer kostengünstiger und die Netzwerkbandbreite größer wurden, wird der verantwortungsvolle Systemmanager auch mit diesen Ressourcen sorgfältig umgehen wollen. Gerade die niedrigen Kosten führen aber dazu, dass die Datenmengen auf den stetig größer werdenden Festplatten kaum noch für ein Backup zu managen sind. Lokaler Speicherplatz in nur wenigen von Hunderten PCs in einem Unternehmen ist heute schon nahezu um den Faktor 10 größer als der Platz auf dem Backup-Server mit teuren Hochleistungsfestplatten oder SAN.

Als kritischer Faktor gilt immer noch das Zeitfenster, welches für ein Backup zur Verfügung steht. Je weniger doppelte Daten an den Backup-Server gesendet werden müssen, desto mehr Bandbreite steht anderen Systemen zur Verfügung.

Nach den Schlagwörtern „Virtualisierung“ und „Backup-to-Disk“ beziehungsweise „Virtual-Tape-Library“ im Backup-/Restore-Bereich ist nun mit Deduplizierung „DeDup“ scheinbar eine Wunderlösung für eine Datenreduzierung auf dem Markt. Der Hype über diese Lösung hat schon vor wenigen Jahren begonnen, doch nun sind praxiserprobte Produkte verfügbar.

Für ein Unternehmen mit einigen Hunderen fast identischen PC-Arbeitsplätzen kann es durchaus zu spürbaren Einsparungen bei den Backup-Medien kommen, wenn nicht die auf nahezu allen PCs gleichen Systemdateien immer wieder gesichert werden müssen.

Grundlagen

Im Grunde ist Deduplizierung keine neue Technologie und spiegelt in der Anwendung das Gegenteil von Redundanz wider, nämlich mehrfach vorhandene Informationen nur einmal zu sichern. Kommen diese Daten dann erneut vor, so wird eine Referenz auf die bereits im Vorfeld erfassten Daten gesetzt.

Bei Dateisystemen sind die Objekte in der Regel Dateien, feiner granuliert würde man gleiche Byte- oder Bitfolgen im Datenstrom auf Redundanz untersuchen.

Deduplizierung setzt daher auf:

Das bekannte „Single-Instance-Storage (SIS)“ ist ein Vertreter der ersten Art auf Dateilevel.

Einfachste Form der Deduplizierung: Identische Dateien werden anhand ihres gleichen Hash-Wertes erkannt und daher nur einmal in der virtuellen Tape-Library (VTL) gespeichert, ansonsten werden Referenzen angelegt. Das Single-Instance-Storage (SIS) ist ein Vertreter dieser Form. Eine Index-Datenbank ist dabei das zentrale Element bei der Deduplizierung.

Bekannte Komprimierungstools, wie „gzip“, „bzip2“, „zip“, „arj“ und „rar“ arbeiten im Gegensatz zu den Dateiobjekten auf Blocklevel. Sie erkennen im Eingangsdatenstrom gleiche Blöcke und ersetzen diese durch eine Referenz auf den ersten Block oder durch einen speziellen Code. Die Blöcke, die am häufigsten aufgetreten sind, erhalten das kürzeste Code-Segment. Im Ausgangsstrom tauchen dann nur diese Codes und einmalig der dafür stehende Block auf.

Würde man also zehn gleiche Dateien mit einem dieser Tools komprimieren, so erhielte man zehn komprimierte Dateien, die sowohl im Ursprungszustand als auch komprimiert die gleichen Daten enthalten – eben zehnmal. Dabei ist zwischen sich häufig ändernden und sich nicht ändernden Daten (Fixed Content) zu differenzieren. Bei Letzteren geht es um schnellen Zugriff und gesicherte Datenablage, das heißt Hash-Werte werden nur einmal berechnet.

Deduplizierung setzt nun hier erweitert an und würde als Beispiel die (komprimierte) Datei einmal sichern und sonst für die restlichen neun Dateien eine Referenz in einer Index-Datenbank (DB) hinterlegen. Trennt man sich vom Dateibegriff, so könnte man auch die einzelnen Bytes der Datei heranziehen. Das Optimum wäre, dies für gleiche Bitfolgen zu tun, nur wäre der (Rechen-)Aufwand recht groß. Unabhängig von der Art der Eingangsdaten setzt Deduplizierung auf dem Blocklevel an und differenziert sich damit von den bisherigen Verfahren.

Das Verfahren der Deduplizierung führt automatisch auch zu einer Datenreduktion und damit zu einer Komprimierung der Eingangsdaten.

Fingerprinting

Ein wichtiger Aspekt ist die Frage der Blockgröße, die benutzt wird, um den Block als identisch mit einem anderen zu erkennen. Je größer diese ist, desto unwahrscheinlicher ist es, die gleichen Datenfolgen zu finden. Hier bietet es sich also an, mit unterschiedlicher Block-/Segmentgröße den Datenstrom zu analysieren, man spricht hier von „Chunking“. Oft kommen daher sogenannte Hash-Methoden aus der Praxis, wie SHA-1 oder MD5 zum Tragen.

Liefern zwei oder mehr Fingerabdrücke daher den gleichen Hash-Wert, so kann man davon ausgehen, dass diese Daten im gewählten Segment ebenfalls gleich sind. Die Hash-Methoden sollten in jedem Fall einen eindeutigen Wert liefern, und der Worst-Case wäre hier, wenn unterschiedliche Datenblöcke den gleichen Hash-Wert liefern würden – ein Datenchaos wäre vorprogrammiert.

Der Datenstrom kann dabei von diversen Systemen (Backup-Client) oder auch vom Voll-, Inkremental- oder Differenzial-Backup stammen – also von parallelen oder eines Single-Datenstroms. Je mehr Daten(-blöcke) betrachtet werden, desto effektiver ist das Verfahren.

Standard-Inkremental-Backup

Das herkömmliche Inkremental-Backup ist bereits eine einfache Form von Deduplizierung auf Dateiebene. Denn nur, wenn sich eine Datei gegenüber dem Voll-Backup geändert hat, würde die Datei erneut gesichert werden. Würde sich daher bei einer 2 GByte großen Datei auch nur ein Byte ändern, würde die ganze Datei erneut gesichert werden, was zu Lasten des Backup-Systems geht.

Setzt man hier mit DeDup an und vergleicht die beiden sich veränderten Dateien, so würde man optimiert die zweite sich veränderte Datei als Datenbankeintrag in der Form „Dateiname von System1; Datenblöcke von Datei1; Ersetze Byte an Position 1045 durch 12“ hinterlegen. Zwar benötigt auch dieser DB-Eintrag einen gewissen Platz, aber eben nicht erneut 2 GByte.

Dieses Vorgehen könnte nun beliebig oft wiederholt werden. Hier dienen der Systemname und der Dateiname als Basis, um Dateien mit gleichem Namen miteinander zu vergleichen. Eine Wiederherstellung einer Datei würde den DB-Eintrag auswerten und die Daten beziehungsweise den Datenstrom neu zusammensetzen und dann an den Backup-Client liefern.

Es stellt sich natürlich die Frage, warum man erst zahlreich redundante Daten an den Backup-Server liefern sollte, nur damit dieser dann feststellt, dass bereits redundante Daten davon vorliegen – dies belastet das Backup-Netzwerk. Idealerweise setzt man daher bereits auf der Client-Seite an, was selbsterklärend jedoch auch wieder zu Netzwerkverkehr führt.

Vor- und Nachteile von DeDup

Betrachtet man das Verfahren der Deduplizierung genauer, so ergeben sich auf den ersten Blick einige Vorteile, aber ganz klar auch Nachteile und Risiken.

Vorteile:

Nachteile:

Daten, die unveränderbar gespeichert werden müssen, das heißt, sogenannte revisionssichere Daten, eignen sich nicht unbedingt für die Deduplizierung. Hier wird ein Segment mehrfach referenziert, und somit besteht die Möglichkeit, dass Daten gleich mehrfach manipuliert werden können. Eine „Nur-Lese“-Sicherung dieser referenzierten Daten wäre indes möglich, wenn keine Referenz außerhalb dieses Mediums zeigt.

CAS: Content-Addressed-Storage

Das Content-Addressed-Storage (CAS) basiert ebenfalls auf Hash-Werten, die auf sogenannte binäre Objekte (BLOBs) – also Daten – gebildet werden. Damit kann zum einen Redundanz vermieden und zugleich die Authentizität der BLOBs gewährleistet werden. Hier wird der Inhalt der BLOBs in Form des Hash-Wertes berücksichtigt und auch auf den Inhalt über den Hash-Wert zugegriffen.

Im Gegensatz dazu werden die Daten beim Direct-Attached-Storage (DAS) und Network-Attached-Storage (NAS) wahllos in freien Bereichen der Speichersysteme abgelegt und dort auch wieder referenziert – unabhängig davon, ob sich der Inhalt geändert hat oder nicht.

Zwei DeDup-Strategien

Zwei grundlegende Ansätze sind bei DeDup-Lösungen möglich:

Zur ersten Kategorie zählt auch die verzögerte Variante „Delayed-In-Band“, bei der die Daten erst nativ auf der VTL landen und dann nach einer kurzen Zeitverzögerung dedupliziert beziehungsweise für eine Deduplizierung vorgemerkt werden. Bei Out-of-Band arbeitet der Deduplizierungsprozess autonom, das heißt beispielsweise ein leistungsstärkerer Server analysiert die Objekte der VTL und eliminiert dann unabhängig vom Backup-Prozess Redundanzen.

Transparent: Für den Backup-Client mit dem dort laufenden Agent ist es ein transparentes Backup-Verfahren, bei dem die zu sichernden Objekte wie ohne DeDup an die Serverbackup-Software gesendet werden. Erst auf dem Server erfolgt die Deduplizierung.

Beim DeDup-Spezialisten Avamar, der von EMC übernommen wurde, kommen Agents auf den Clients und eine Server-Software zum Einsatz. Die Agents senden erst gar keine redundanten Daten an den Server, die Hash-Wert-Generierung erfolgt also bereits verteilt auf den Clients (In-Band). Im Festplatten-Cache auf dem Server landen also keine gleichen Daten mehr. Ohne DeDup können diese Daten laut Aussage von Avamar nun monatelang im Cache gehalten werden. Diese Lösung bedingt den Austausch der Backup-Produkte auf den Clients und dem Server, verteilt aber die Rechenpower auf die Clients.

Clients leisten Vorarbeit: Wird eine DeDup-fähige Software auf dem Client und Server eingesetzt, so kann der Agent auf dem Client bereits die Hash-Wert-Bildung und Fingerprint-Generierung der zu sendenden Objekte lokal durchführen und entlastet so das Netzwerk und den Server.

Out-of-Band: Clients bleiben unverändert

Bei Quantum, die die Firma Adic übernommen hat, landen die Daten erst einmal unverändert auf dem Server, der diese dann auf Redundanzen analysiert und verkettet. Als VTL-Produkt gibt es von Quantum die DXi-Serie DXi3500 und DXi5500 – „i“ für integrierte DeDup-Lösung. Beide Systeme emulieren DLT-7000- und LTO-2/3-Bandlaufwerke. Hier kann die Backup-Lösung auf den Clients unverändert beibehalten werden. Jedoch braucht es eine größere Rechenleistung auf dem Server, weshalb hier auch dedizierte DeDup-Server zusätzlich integral zum Backup-Server eingesetzt werden. Diese Lösung skaliert dementsprechend auch besser und ist transparent zum eingesetzten Backup-Produkt. Bei IBM heißt das Verfahren „Advanced-Single Instance Storage“ und kommt bei der N-Serie zum Einsatz.

Deduplizierer: Die virtuelle Tape-Library (VTL) DXi500 von Quantum nutzt Deduplizierung zur Datenmengenminimierung. (Quelle: Quantum)

Kein Vorteil ohne Nachteil: Beim wahlfreien Zugriff auf Disk-Cache (VTL) ist eine Referenzierung durch die Deduplizierung recht einfach zu handeln. Werden die Daten aber auf Tape ausgelagert und müssen bei einer Reorganisation, wie sie beim Veralten von Tape-Daten (Expire) vorkommt, verschoben werden, so führt dies zu Problemen. Denn nun müssen die zuvor deduplizierten Daten wieder zusammengesetzt, also re-dupliziert werden.

DeDup-Software

Bekannte Vertreter von Backup-Software sind beispielsweise EMC Legato Networker, HP Omniback, IBM Tivoli Storage Management (TSM) und Veritas/Symantec Netbackup/Backup Exec. Networker V7.4.1 arbeitet mit DeDup beim Client und Server basierend auf der Avamar-Technologie.

Sichere Daten: In der Abbildung sehen Sie eine typische Umgebung mit der Deduplizierungstechnologie von EMC/Avamar.

Seit Version V6.5 unterstützt Veritas Netbackup ebenfalls Deduplizierung. Für Fixed-Storage, also Daten, die sich kaum ändern, ist mit „Twisted Storage“ eine Open-Source-Lösung verfügbar.

Aussicht

Das Verfahren der Deduplizierung lässt sich kostengünstig und transparent in vorhandene Backup-Architekturen in Form von Software- oder Hardwarelösungen integrieren. Die meisten Bandlaufwerke bieten diese einfache On-the-fly-Komprimierung bereits von Haus aus an. Mit multiplen Eingangsdatenströmen und mehrfach gleichen Daten wird diese Komprimierung als Deduplizierung effektiver und kann auf allen Arten von Datenträgern transparent zu Einsparungen führen. Festplatten sind hier die idealen Kandidaten.

Von den Herstellern genannte Kompressionsfaktoren von 1:500 sind jedoch zu hinterfragen, wenn die bisherige Praxis Kompressionsfaktoren mit Laufzeitpackern und gemischten Daten gerade auf 1:1,3 bis 1:1,7 kommt. Aktuelle Tests mit einer DXiZ500-VTL zeigen Werte bis zirka 1:7.5, sodass man davon ausgehen kann, Kompressionsfaktoren zwischen 10 und 20 sind nach Angaben der Hersteller durchaus zu erreichen.

Deduplizierung ist weder auf Authentizität, Langlebigkeit oder schnellen Datenzugriff von Daten ausgelegt – dafür sind andere Methoden die bessere Wahl. Wenn es darum geht, die Datenmenge vorerst in Backup-Systemen aufgrund von nahezu gleichen Eingangsdaten zu reduzieren, so zeigt es hier seine Stärken.

Continuous Data Protection (CDP) wird mit DeDup zum Veteranen, und wer weiß, was uns morgen die Marketingexperten im Backup-Bereich schmackhaft machen möchten … (cvi)