Backup-Deduplizierung in SEP sesam

bizoon, 123RF

Datenpresse

Irgendwann landen die exponentiell wachsenden Datenberge schließlich im Backup. Dann stellt sich auch hier die Frage, wie man am effektivsten mit ihnen umgeht. Eine Möglichkeit, sie zu verkleinern, die seit kurzem auch SEP sesam beherscht, heißt Deduplizierung.
Sicher verstaut - Deduplizierung spart Platz, Cloud-Backup für Windows, Areca sichert kostenlos. ADMIN 01/14 stellt Backups für Profis mit und ohne Cloud ... (mehr)

Die Deduplizierung kennt eine ganze Reihe verschiedener Ausprägungen und Spielarten, aber einen zentralen Gedanke haben alle gemeinsam: Immer geht es darum, in einer Menge gespeicherter Dateien oder in einem Datenstrom, Teilstücke zu erkennen, die genauso zuvor bereits vorgekommen sind. Sie werden dann nur ein einziges Mal gespeichert – alle anderen Vorkommen dieses Datenstücks werden durch Verweise auf das erste Muster ersetzt. Da die Verweise viel kürzer als die Daten sind, auf die sie zeigen, ergeben sich handfeste Platzeinsparungen. Das ist gerade für Backup-Software ein essenzieller Gewinn.

Beim Restore werden die Zeiger automatisch durch die Blöcke ersetzt, auf die sie verweisen. Das ist einer der Unterschiede zu ebenfalls platzsparenden inkrementellen oder differenziellen Backups, bei denen beim Restore immer eine Serie vorausgegangener Sicherungen nötig ist, die nacheinander einzuspielen sind.

Wie hoch die Einsparungen durch das Deduplizieren wirklich sind, ist nicht zuletzt eine Frage des Rechenverfahrens – einen Standard hierfür gibt es nicht. Berücksichtigt man, wieviel Platz man mit konventionellen Vollbackups gebraucht hätte, um eine bestimmte Datenmenge zu sichern, kann sich ein Verhältnis von 15:1, 25:1 oder auch 50:1 ergeben. In die Rechnung gehen die Änderungsrate der Daten, die Aufbewahrungsfristen, die Anzahl der Quellen oder die Art und Häufigkeit der Sicherungen ein. Auch die Struktur der Daten hat einen sehr großen Einfluss. Sehr dankbar sind beispielsweise Images virtueller Maschinen mit gleichen Betriebssystemen.

Je länger die Haltefrist und je kleiner die Änderungsrate, je größer der Effekt. Oder andersrum: Wenn man seine Backups aus Platzmangel nur eine Woche aufheben kann, dann profitiert man auch weniger vom Deduplizieren, weil jede weitere Sicherung derselben Daten den Gewinn erhöhte.

Die Angaben zu Dedup-Rate sind allerdings oft Marketingzahlen. Die Unterschiede der Raten klingen größer als sie tatsächlich sind. So würde man von 100 GByte bei einer Deduplizierungsrate von 10:1 nur 10 GByte sichern, also 90 Prozent sparen. Könnte man eine Rate von 50:1 erreichen, immerhin fünfmal so viel, bräuchte man nur noch 2 GByte abzulegen und würde 98 Prozent sparen – das sind allerdings gerade einmal 8 Prozent mehr als bei 10:1.

Geschichte

An Deduplikationsverfahren wurde verstärkt um die Jahrtausendwende herum entwickelt. Noch vor Ablauf des ersten Jahrzehnts hatten kleinere, spezialisierte Firmen entsprechende Produkte auf dem Markt, die sich große Storage- und Backup-Hersteller in der Folge reihenweise einverleibten. So erwarb EMC den Deduplikationsspezialisten Avamar bereits 2006 für 165 Millionen Dollar. IBM kaufte im ersten Quartal 2008 das Startup Diligent Technologies, um dessen In-Line-Deduplikation in eigene Produkte zu integrieren. NetApp legte 2009 aus demselben Grund für Data Domain ungefähr 1,5 Milliarden Dollar auf den Tisch und Dell schnappte sich 2010, drei Jahre nach dessen Gründung, den Storage-Optimierer Ocarina Networks. Auch Backup-Software-Hersteller beteiligten sich an der Shoppingtour: So kaufte Arkeia 2009 die Deduplikationsfirma Kadena samt ihrer Patente.

Mittelständische Anbieter von Backup-Lösungen wie SEP, deren Kriegskasse sich mit der von IBM oder EMC nicht messen kann, hatten zunächst das Nachsehen. Inzwischen haben sie aber aufgeholt, Deduplikation ist zu einem Standard-Feature von Backup-Anwendungen geworden und auch unter Open-Source-Flagge wurden Deduplikationslösungen entwickelt [1] . SEP sesam nutzt Deduplikation seit diesem Sommer.

Spielarten

Deduplikation lässt sich auf verschiedene Art und Weise bewerkstelligen. Zunächst kann man nach dem Ort, an dem dedupliziert wird, unterscheiden. Findet die Deduplikation beim Backup bereits auf dem Client statt, hat das den Vorteil, dass sich schon die via Netzwerk zum Backup-Server zu übertragende Datenmenge verringert. Der Datentransfer benötigt weniger Bandbreite und geht schneller vonstatten. Gleichzeitig wird die Rechenkapazität des Servers entlastet.

Dafür wird entweder der Hashwert auf dem Client berechnet und an den Server gesendet, der nachsieht, ob er einen solchen Block bereits gespeichert hat. Oder die zu versendenden Daten werden gecachet und der Client prüft vor dem Senden eines Datenteilstücks, ob diese Daten früher bereits einmal gesendet wurden, was weitere Versandoperationen ebenfalls spart.

SEP sesam kann derzeit nicht mit Client-seitiger Deduplikation aufwarten, ein solches Feature steht allerdings auf der Roadmap und soll im zweiten Quartal 2014 nachgerüstet werden. Was SEP sesam derzeit beherrscht, ist die Server-seitige Deduplikation, die den ankommenden Datenstrom mit den bereits gesicherten Daten vergleicht und nicht noch einmal sichert, was sich bereits in einem Backup befindet (egal von welchem Client es stammt).

Hier gibt es wieder zwei Varianten, wie Duplikate erkannt werden. Zum einen ist das auf Dateiebene möglich, indem beispielsweise ein Hashwert pro Datei berechnet wird. Falls erforderlich können übereinstimmende Hashwerte dann immer noch durch einen bitweisen Vergleich verifiziert werden, um sogenannte Hash-Kollisionen zu vermeiden, bei denen in extrem seltenen Fällen unterschiedliche Dateien gleiche Hashes erzeugen können. Bitweise Vergleiche sind genauer, kosten aber Performance.

Eines im Prinzip gleichen Verfahrens wie der dateibasierten Deduplikation bedient sich auch der sogenannte Single Instance Storage (SIS), der zuweilen in Dateisystemen oder bei Mail- oder Groupware-Servern realisiert wird (zum Beispiel bei Novell Groupwise). Daneben gibt es eine ganze Reihe von Backup-Lösungen, die gleiche Files durch Hardlinks ersetzen (etwa rsnapshot).

Das dateibasierte Verfahren schöpft allerdings nicht alle Möglichkeiten aus, weil auch nach minimalen Änderungen immer ganze Files erneut gesichert werden. Diesen Nachteil hat die blockweise Deduplikation nicht, bei der unterhalb der File-Ebene gleiche Datenteilstücke nur einmal verwendet werden. Die feinere Granularität ermöglicht größere Einsparungen, kostet aber mehr Rechenkapazität.

Eine weitere Unterscheidung ergibt sich danach, wann die Deduplikation stattfindet: Entweder unmittelbar während der Datenübertragung (Inline) oder nachdem die Daten übertragen wurden – in bestimmten Intervallen auf der Grundlage einer Zeitsteuerung. Im letzteren Fall können Zeiten geringer Auslastung für die Deduplikation genutzt werden, dafür wird Platz für eine komplette temporäre Kopie auf den Speichermedien zusätzlich gebraucht.

SEP sesam beherrscht sowohl das Inline-Deduplizieren, das in diesem Fall Si3 heißt und um das es im Folgenden hauptsächlich gehen wird, als auch das zeitversetzte Deduplizieren, hier SEP FDS VA genannt, das auf einer Lösung von FalconStore basiert.

Schaut man noch genauer hin, stößt man schließlich auf Unterschiede der verwendeten Algorithmen. Ein Knackpunkt ist hier beispielsweise das Zerlegen des Datenstroms in Teilstücke (Chunking). Hier kann man entweder mit variablen oder mit festen Blockgrößen arbeiten. Zu kleine Blocks sind ungünstig, weil der Overhead für ihre Verwaltung dann den Nutzen übersteigen kann. Genauso ungünstig sind aber auch zu große Blocks, bei denen es immer unwahrscheinlicher wird, Blöcke zu finden, die vollkommen identisch sind. Variable Blockgrößen kommen dem Optimum näher, kosten dafür aber mehr Rechenzeit. SEP Si3 benutzt variable Blockgrößen zwischen 8 und 64 KByte. Die CPU-Belastung ist dennoch recht gut steuerbar, weil jeder Backupstream (also jeder Sicherungsauftrag) von einem CPU-Core bedient wird (solange es genügend Cores gibt).

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023