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:
-
Dateibasis (Objekte) und
-
Byte- oder Bitfolgen
Das bekannte „Single-Instance-Storage (SIS)“ ist ein Vertreter der ersten Art auf Dateilevel.
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:
-
Einsparungen bei den Backup-Medien (Bänder, VTL)
-
schnellere Backup-Prozedur
-
transparente Integration in bestehende Backup-Lösungen möglich
-
Investitionsschutz, da vorhandene Backup-Infrastrukur weiterhin genutzt werden kann
Nachteile:
-
höheres Risiko bei Datenverlust durch erwünschte, fehlende Redundanz
-
mehr Rechenleistung ist für den Vergleich beziehungsweise die Bildung des Hash-Werts notwendig
-
Mitführen einer Index-DB/Referenzliste
-
Dateien sind stark fragmentiert und eventuell über zahlreiche Medien verstreut
-
nicht für revisionssichere Daten geeignet
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:
-
In-Band-Lösung
-
Out-of-Band-Lösung
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.
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.
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.
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.
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)