Speicherverbrauch reduzieren mit Deduplizierung: Source versus Target, Inline versus Post-Processing

    Speicherverbrauch reduzieren durch DeduplizierungDedu­plizierung redu­ziert die Daten­mengen und senkt so die Storage-Kosten. Der­artige Lösungen waren bislang kost­spielig und häufig an Speicher-Hardware gebunden. Moderne Backup-Software bringt diese Funktion aber inzwischen selbst mit, wobei mehrere Verfahren hinsichtlich Ort und Zeitpunkt üblich sind.*

    Die von Unternehmen erzeugten und gespeicherten Datenmengen wachsen mit zunehmender Geschwindigkeit. Laut einer IDC Studie (Data Age 2028, IDC 2018) liegt das jährliche Wachstum aktuell bei 61 Prozent. So wird sich bereits bis zum Jahr 2025 die Menge weltweit gespeicherter Daten von 33 Zetabyte (ZB) 2018 auf 175 ZB mehr als verfünffachen. Auf Unter­nehmen entfällt dabei 60 Prozent dieser Datenmenge.

    Mit Deduplizierung gegen die Datenflut

    Nicht nur der Primärspeicher muss daher wachsen, auch der für Backups benötigte Speicherplatz nimmt zu. Obwohl Speicher laufend günstiger wird, steigen die effektiven Storage-Kosten durch die schneller wachsenden Datenmengen.

    Neben der heute üblichen simplen Kompression von Daten wird daher immer häufiger Deduplikation eingesetzt, um Daten­mengen zu reduzieren. Diese Technik sorgt dafür, dass Redundanzen, also mehrfach vorhandene identische Daten, eliminiert werden.

    Vorteile durch Deduplizierung

    Durch Deduplikation kann im Durchschnitt eine Ersparnis von etwa 50 Prozent beim benötigten Speicherplatz erzielt werden. Die Intervalle für die Anschaffung weiterer Speicher­kapazität werden dadurch deutlich verlängert.

    Durch die Einspareffekte können zudem mehr Daten für längere Zeit gesichert werden. Gegebenenfalls können Unternehmen dadurch sämtliche Daten auf Festspeicher anlegen statt auf Bändern. Letztere galten lange Zeit als kosten­effektiver für Langzeitspeicher, sind jedoch aufwändiger in der Verwaltung und weisen deutlich längere Restore-Zeiten auf.

    Wenn weniger Daten im Backup gesichert werden müssen, wird auch weniger Bandbreite bei der Replikation der Daten per WAN bzw. über das Internet in andere Lokationen oder in die Cloud benötigt. Zugleich verringern sich proportional zur Verringerung der Datenmenge auch die benötigten Restore-Zeiten (RPO bzw. RTO).

    So funktioniert Deduplikation

    Ausgangspunkt ist die Erkenntnis, dass in Unternehmen eine Vielzahl von redundanten Daten gespeichert wird, sei es auf Dateiebene (zum Beispiel durch das Versenden einer Datei als Mail-Anhang an mehrere Empfänger), bei Anwendungen (beispielsweise redundante Datenbanken für Produktion und Test) oder im System (identische Programmdateien und DLLs über mehrere Windows-Instanzen hinweg).

    Statt zu prüfen, ob zwei oder mehr Dateien identisch sind, wird zumeist die wesentlich effektivere block­basierte Deduplizierung angewendet. Sie untersucht auf Ebene des Datenspeichers, welche Blöcke identisch sind. Redundanzen eliminiert sie, indem sie nur eine Instanz beibehält, während auf die übrigen nur Zeiger gesetzt werden, um die Daten vollständig zu repräsentieren.

    Reduktion von redundanten Daten durch Deduplizierung

    Um dabei eine hohe Geschwindigkeit zu realisieren, wird für jeden Block eine Prüfsumme (Hash) gebildet. Sie wird anschließend zusammen mit einem Verweis auf die entsprechende Datei und die Position innerhalb der Datei gespeichert. Bei der Suche nach identischen Blöcken werden anschließend nur die Prüfsummen und nicht die Blöcke selbst miteinander verglichen.

    In der folgenden Grafik ist die Deduplikation beispielhaft für die Datensicherung dreier VMs dargestellt. Identische Blöcke werden dabei innerhalb einer VM, aber auch zwischen diesen im Backup identifiziert und auf eine Kopie reduziert.

    Block-Level-Dedup für virtuelle Maschinen

    Schutz der Daten hat Priorität

    Redundanz von Daten hat den inhärenten Vorteil, dass Kopien vorhanden sind und der Verlust eines Daten­elements relativ einfach kompensiert werden kann. Dies stellt bei Deduplikation ein potenzielles Risiko dar: Werden redundante Daten auf eine einzelne Instanz reduziert und geht diese verloren oder wird beschädigt, dann ist das gesamte Datenelement verloren.

    Unternehmen müssen daher das gewählte Speicher­medium effektiv absichern, etwa durch Spiegelung oder generell den Einsatz von RAID. Zudem sollte es einen Daten-Healthcheck geben. Automatisierte Recovery-Tests stellen eine zusätzliche sinnvolle Absicherung dar.

    Source versus Target Deduplication

    Für das Zusammenspiel der Deduplikation mit der Speicherlösung und der Backup-Software existieren verschiedene Verfahren.

    Die quellseitige Deduplizierung (Source Deduplication) stellt sicher, dass nur solche Datenblöcke, die nicht bereits im vorherigen Backup enthalten sind, zum Backup-Ziel übertragen werden. Bei diesem Verfahren gleicht die Deduplikation die zu sichernden Daten im Primärspeicher mit den bereits gesicherten Daten ab. Anschließend werden nur die neuen sowie die inzwischen geänderten Blöcke in die Sicherung aufgenommen.

    Die zielseitige Deduplizierung (Target Deduplication) gleicht die Daten nachträglich, also nachdem sie im Backup-Ziel gesichert wurden, ab und bereinigt sie um Dubletten. Im Vergleich dazu hat die Source Deduplication den Vorteil, dass sie keine redundanten Daten über das Netzwerk schickt. Dies spart Bandbreite und es steht mehr Netzwerkleistung für andere Anwendungen zur Verfügung.

    Target Deduplication wird zumeist durch den Backup-Speicher selbst implementiert. Diese Variante ist in der Regel performanter, da sie von der Hardware direkt ausgeführt wird.

    Inline versus Post-Processing

    Dedup-Verfahren unterscheiden sich außerdem durch den Zeitpunkt, zu dem die Datenoptimierung einsetzt. Post-Processing erfolgt, nachdem die Daten am Zielort abgespeichert wurden, also nach Erstellung eines Backups. Inline Deduplication bezeichnet die Optimierung der Daten, während sie vom Backup-Prozess eingelesen und verarbeitet werden.

    Post-Process-Deduplizierung beim Backup

    Backup-Software nutzt zumeist Inline-Deduplication. Während diese eher CPU-intensiv ist, reduziert sie die Menge gespeicherter Daten von vorneherein. Post-Processing wird meist von Storage-Systemen bzw. Backup-Appliances im Nachhinein auf die Backup-Daten angewendet. Dabei wird mehr Speicherplatz benötigt, aber durch diesen Ansatz wird die Backup-Performance nicht verringert.

    Post-Process- versus Inline-Deduplizierung (Quelle: Andrej Radonic)

    Feste versus variable Blockgrößen

    Ein weiteres Unter­scheidungs­merkmal bei Dedup-Verfahren besteht darin, ob sie den Datenstrom in immer gleich große Segmente unterteilen oder die Blockgrößen anhand eines Algorithmus variieren.

    Feste versus variable Blockgrößen bei der Deduplizierung

    Die Verwendung variabler Blockgrößen erweist sich etwa dann als Vorteil, wenn bei Änderungen in einem Block nicht nur vorhandene Daten überschrieben, sondern auch neue eingefügt werden. Bei einer Aufteilung in stets gleich große Segmente würden sich in diesem Fall die Grenzen aller nach­folgenden Blöcke nach hinten verschieben und diese somit als geändert erscheinen.

    In der obigen Grafik kommt am Beginn von Block E ein grünes Kästchen hinzu, so dass bei Verwendung von fixen Größen die Blöcke F, G und H nicht mehr als Duplikate von B, C oder D gelten würden. Spaltet man aber das neue grüne Kästchen in E als eigenen Block mit der Länge 1 ab, dann bleibt die Zuordnung der redundanten Informationen erhalten.

    Reduktionseffekte korrekt einschätzen

    Der Reduktionseffekt durch Deduplikation wird zumeist als Quotient angegeben aus ursprünglicher Datenmenge und resultierender optimierter Datenmenge.

    Formel: Deduplikationsrate = Datenmenge vor Reduktion/Datenmenge nach Reduktion

    Ermitteln Sie beispielsweise eine Rate von 10:1, bedeutet dies, dass für 10 Datenelemente nur 1 Datenelement final gespeichert wird. Eine Rate von 10:1 entspricht demzufolge einer Reduktion von 90 Prozent.

    Die Effekte der Datenreduktion können stark schwanken. Insbesondere folgende Faktoren haben einen großen Einfluss darauf:

    • Menge an redundanten Daten: Je redundanter die zu sichernden Daten, desto besser wird die Reduktionsrate ausfallen.
    • Datenart: Werden primär Windows Server mit ähnlichen Dateien oder Datenbanken gesichert, wirkt sich dies positiv aus, während eine Umgebung mit unter­schiedlichen Betriebs­systemen und Applikationen diese eher senkt.
    • Datenänderungsrate: Je mehr Änderungen an Daten vorgenommen werden, desto geringer fällt die erzielte Reduktionsrate aus.
    • Vorab komprimierte Daten: Deduplikation wird häufig durch Kompression ergänzt, um optimal verkleinerte Datenmengen zu erzielen. Ist der Anteil vorab komprimierter Daten groß, fällt der Reduktionseffekt entsprechend geringer aus.
    • Datenhaltungsdauer: Je länger Backups vorgehalten werden, desto höher fällt typischerweise die erzielte Datenreduktion aus.

    Altaro Augmented Inline Deduplication

    Altaro VM Backup beinhaltet mit Augmented Inline Deduplication eine leistungsfähige Dedup-Implementierung. Sie schreibt alle identischen Datenblöcke über virtuelle Maschinen hinweg nur einmal in das Backup und überträgt sie dabei auch nur einmal zum Backup-Ziel.

    Bei Backups wird meistens Inline-Dedup verwendet

    Sie erfolgt also Source-based und zudem inline. Die Deduplizierung wird übergreifend für alle Backup-Aufträge ausgeführt, somit müssen keine Gruppen von VMs erstellt werden. Darüber hinaus arbeitet der Deduplizierungs­mechanismus mit variablen Blocklängen und ist daher sehr effizient.

    Der verringerte Bedarf an Speicherplatz ist nur einer der Vorteile: Die erweiterte Inline-Deduplizierung verbessert auch die Backup- und die Wieder­herstellungs­geschwindigkeit.

    Augmented Inline Deduplication führt sämtliche Prozesse auf einer dedizierten internen Datenbank zusammen, wo die Hashwerte über sämtliche gesicherten VMs hinweg gespeichert werden. Im Schnitt sparen Altaro-Anwender 63 Prozent Backup-Storage dank des Einsatzes von Deduplication. In der Spitze können bis zu 96 Prozent erreicht werden.

    Eine kostenlose Testversion von Altaro VM Backup, die für 2 VMs dauerhaft nutzbar bleibt, kann von der Website des Herstellers heruntergeladen werden.

    *Dieser Text ist ein bezahlter Beitrag von Altaro Software.