NetApp Tech OnTap
     

Deduplizierung von Backup-Datenströmen mit NetApp VTL

Wenn Sie regelmäßig bei Tech OnTap hereinschauen, haben Sie in den letzten Monaten vermutlich viele Artikel über unsere Deduplizierungs-Technologie für die NetApp FAS-Systeme gelesen. In diesem Artikel gehe ich auf eine neuartige Deduplizierungs-Technologie ein: Deduplizierung auf unseren VTL Systemen. Das Ergebnis – Platzeinsparung durch das Entfernen redundanter Daten – ist dasselbe, doch das Verfahren auf der NetApp® VTL ist ganz anders.

Die auf der NetApp VTL eingesetzte Deduplizierungs-Technologie wurde völlig neu entwickelt, um die speziellen Deduplizierungs-Anforderungen von Backup-Datenformaten gängiger Backup-Applikationen wie Symantec™, NetBackup™, Tivoli Storage Manager usw. zu erfüllen. Die NetApp VTL Deduplizierung vereint neue, einmalige Deduplizierungs-Algorithmen mit bewährten NetApp VTL Funktionen wie die hochperformante NetApp Hardware-Komprimierung und erzielt damit eine herausragende Storage-Effizienz mit Speicherplatzeinsparungen von 20:1 und mehr für Ihre Backup-Datensets.



Das NetApp VTL Deduplizierungs- und Komprimierungs-Verfahren

Abbildung 1: Das NetApp VTL Deduplizierungs- und Komprimierungs-Verfahren

Wichtige Überlegungen zur VTL Deduplizierung

Die traditionellen Tape Libraries wurden im Datacenter durch Virtual Tape Libraries ersetzt. Mit ihnen können mehrere Backup-Datenströme mit extrem hoher Geschwindigkeit direkt auf Festplatten-Storage geschrieben werden. Für die Deduplizierung in einer solchen Umgebung müssen völlig neue Überlegungen angestellt werden.

Unabhängigkeit von der Ausrichtung. Die VTL Deduplizierung muss unabhängig von der Datenausrichtung sein, was die wichtigste Anforderung darstellt. In den von den meisten Backup-Applikationen generierten Formaten können doppelte Daten in jedem beliebigen Offset in einem Backup-Datenstrom vorkommen. Die Deduplizierungs-Analyse muss also so ausgeführt werden, dass doppelte Daten unabhängig von ihrer Position oder Länge ermittelt werden können. Dabei geht es nicht einfach um die Identifizierung doppelter Blöcke fester Größe.

Ich werde später noch genau beschreiben, wie NetApp VTL doppelte Daten ermittelt. Zunächst reicht es zu wissen, dass die NetApp VTL in der Lage ist, doppelte Daten zu erkennen, ungeachtet des Offsets, bei dem sie beginnen oder enden.

Unabhängigkeit vom Format. Manche Deduplizierungs-Algorithmen verfolgen den Ansatz des Reverse Engineerings von Backup-Datenformaten. Die Deduplizierung der Daten basiert dabei auf der vorherigen Kenntnis des jeweiligen Datenformats. Das potenzielle Problem bei einem solchen Ansatz besteht in der Menge der möglichen Formate.

Derzeit sind mindestens ein halbes Dutzend gängiger Backup-Applikationen auf dem Markt, die alle über eigene Datenformate verfügen. Außerdem verwenden die einzelnen Applikationen manchmal separate Datenformate für unterschiedliche Datentypen (Datenbankdaten, Dateidaten usw.). Diese Formate sind oft proprietär und können ohne Ankündigung geändert werden.

Da wir den formatabhängigen Ansatz als potenziell problematisch ansehen, verarbeitet die NetApp VTL einen Backup-Datenstrom (oder beliebigen anderen Datenstrom) wie nicht transparente Daten. Bei Durchführung der Deduplizierung ist also die Fähigkeit, den Datenstrom decodieren zu können, keine Notwendigkeit.

Inline oder Nachbearbeitung? Wichtig ist auch die Überlegung, ob die Deduplizierung im Inline-Modus durchgeführt werden soll, also direkt bei Eingang der einzelnen Datenströme, oder im Nachbearbeitungsmodus, bei dem diese Datenströme zuerst auf Festplatte geschrieben werden. Aus Sicht der Storage-Effizienz ist die Inline-Methode überlegen (doppelte Daten gelangen gar nicht erst auf Festplatte). Allerdings besteht bei der Inline-Deduplizierungs-Verarbeitung die Gefahr, dass die Performance der Applikationen, die die Datenströme schreiben, herabgesetzt wird und damit die Backup-Erstellung länger dauert.

Was die NetApp VTL anbelangt, so haben wir uns für das „Beste aus zwei Welten“ entschieden. Der NetApp VTL Deduplizierungs-Algorithmus ist ratenangepasst. Je nach Durchsatzanforderung der Backup-Applikation führt er die Deduplizierung entweder im Inline- oder Nachbearbeitungsmodus aus. Er ist darauf ausgelegt, automatisch zwischen den Betriebsmodi umzuschalten, wenn sich der Backup Workload ändert. Diese Funktion zur Ratenanpassung wird stufenweise eingeführt. Die erste Implementierung beschränkt sich auf die Nachbearbeitung, um weiterhin hohe Datendurchsatzraten zu garantieren. Obwohl die Deduplizierung in der ersten Version nur auf Nachbearbeitungsbasis durchgeführt wird, erfolgen manche Schritte der Deduplizierungs-Verarbeitung inline, wobei in Anpassung an die Rate zwischen Inline- und Nachbearbeitungsmodus umgeschaltet wird (siehe Beschreibung der Anchor Generation weiter unten in diesem Artikel).

Hash-Werte oder Byte-Vergleich? Seit Jahren wird in der Welt der Deduplizierung über „Hash-Kollisionen“ (zwei unterschiedliche Datensegmente, die einen identischen Hash-Wert ergeben) diskutiert, die dazu führen können, dass Unikate verloren gehen. Die NetApp VTL ist für dieses potenzielle Problem nicht anfällig. Wie die meisten Algorithmen, identifiziert die NetApp VTL potenzielle Dubletten anhand von Hash-Werten. Dann aber werden die Daten Byte für Byte verglichen, sodass Unikate nie verloren gehen oder beschädigt werden.

Komprimierung? Ein wichtiger Punkt ist auch, ob Sie die Vorteile der Deduplizierung und Datenkomprimierung kombinieren können. Mit der NetApp VTL profitieren Sie sowohl von der Deduplizierung als auch der Hardware-basierten Komprimierung. (Die NetApp VTL Implementierung der Hardware-Komprimierung war Thema eines früheren Tech OnTap Artikels.) Zwar bieten andere Hersteller Deduplizierung in Kombination mit Software-basierter Komprimierung, aber nur NetApp vereint die Vorteile von Deduplizierung mit Hardware-beschleunigter Komprimierung (Abbildung 1).

Deduplizieren oder nicht deduplizieren? Schließlich stellt sich noch die Frage, ob eingehende Daten überhaupt dedupliziert werden sollten. Der Verarbeitungsaufwand bei der Deduplizierung ist zwangsläufig hoch (ungeachtet der Implementierungsart). Wenn absehbar ist, dass die Deduplizierung bestimmter Datensets kaum Vorteile bringt, ist sie nicht sinnvoll. Bei inkrementellen Backups mit kurzen Aufbewahrungszeiten rechtfertigt die Platzersparnis möglicherweise den Deduplizierungs-Overhead nicht.

NetApp gibt Ihnen die Möglichkeit, die Deduplizierung pro Virtual Library zu aktivieren oder zu deaktivieren (eine NetApp VTL kann für mehrere Virtual Libraries konfiguriert sein). Bei manchen anderen VTL-Anbietern ist die Deduplizierung obligatorisch.

Der NetApp VTL Deduplizierungs-Algorithmus

Bei der Deduplizierung von Backup-Datenströmen verwendet die NetApp VTL neben variablen Blockgrößen und variablen Byte Offsets auch fortschrittliche Techniken wie Überspringfilter, um doppelte Daten mit beliebigen Offsets zu identifizieren und die Effektivität zu maximieren. Durch das Design profitieren Sie von unserer einzigartigen richtliniengesteuerten, ratenangepassten Methodik, die darauf ausgelegt ist, die Einhaltung von Backup-Fenstern zu gewährleisten. Hierfür wird je nach erforderlicher Datendurchsatzrate automatisch zwischen teilweiser Inline-Deduplizierungs-Verarbeitung (Anchor Generation) und vollständiger Nachbearbeitung umgeschaltet.

NetApp hat diese Technologie im eigenen Haus speziell für unsere VTL entwickelt. Und im Gegensatz zu anderen Deduplizierungs-Technologien, die auf eine vorhandene VTL-Codebasis aufgepfropft sind, ist unsere Technologie fester Bestandteil der VTL-Kern-Software. Für die von uns entwickelten Algorithmen sind verschiedene Patente angemeldet.
Der NetApp VTL Deduplizierungs-Algorithmus stützt sich auf vier Schlüsseltechnologien:

  • Anchor Generation
  • Grow by Compare
  • Überspringfilter
  • Hardware-Komprimierung

Anchor Generation: Mit dieser Technologie wird eine erste Auszeichnung von „interessanten“ Datenpunkten in einem Datenstrom vorgenommen. Manche dieser „interessanten“ Datenpunkte werden zu „Ankerpunkten“, die als Ausgangspunkt für die Identifizierung identischer Datensegmente dienen. Die Anchor Generation greift auf eine schnelle und effiziente rollende Hash-Funktion zurück und erfolgt in der Regel inline (beim Dateneingang). Wenn sich die Position doppelter Daten von einem Backup zum nächsten ändert, bewegt sich die Position aller in den Daten vorhandenen, eindeutigen Anker mit, wodurch eine schnelle Identifizierung möglich ist.

Anker werden auf Festplatte gespeichert und dynamisch gecacht, um Abfragen mit Höchstgeschwindigkeit zu ermöglichen. In der Regel generiert unser Algorithmus ungefähr drei Anker pro 64 KB Daten. Anker mit identischen Hash-IDs deuten mit hoher Wahrscheinlichkeit auf doppelte Daten in den Datenströmen hin, in denen sich diese Anker befinden. Allerdings gelten sie erst dann als Übereinstimmung, nachdem ein Byte-Vergleich vorgenommen wurde.

Grow by Compare (GBC). Wenn ein Anker mit doppeltem Wert gefunden wurde, erfolgt ein sequenzieller Byte-Vergleich. Damit wird bestimmt, dass die Daten mit hundertprozentiger Gewissheit übereinstimmen. Dieser Vergleich wird ab dem Ankerpunkt vor- und rückwärts ausgeführt, um die volle Länge des übereinstimmenden Datensegments festzustellen.

Die GBC Technologie ist einzigartig in ihrer Fähigkeit, doppelte Sequenzen beliebiger Länge zu entfernen, nicht nur Blöcke fester Länge, sondern Granulate auf Byte-Ebene mit stufenloser Länge. Wenn ein Datensegment gefunden wird, das mit bereits gespeicherten Daten übereinstimmt, wird dieses durch einen Verweis auf das bereits gespeicherte Segment ersetzt.


Abbildung 2: Video zur Veranschaulichung des Konzepts von Anchor Generation und Grow by Compare


Da die GBC Technologie jedes Byte auf Eindeutigkeit prüft, ist sie sicherer als die Hash-basierten Algorithmen anderer Deduplizierungs-Anbieter, die bei einer Hash-Kollision zu Datenverlusten führen.

Überspringfilter sind ein probates Mittel, um kleine Abweichungen, die auf Datei-Header und Metadaten der Backup-Applikation zurückgehen, in sonst identischen Datensegmenten zu berücksichtigen. Überspringfilter machen GBC extrem effizient, da die Metadaten, die im Datenstrom eingebettet und veränderbar sind, herausgefiltert werden. Übrig bleiben lange Extents mit reinen Backup-Daten, die effizient von Festplatte gelesen werden können. Überspringfilter eliminieren praktisch die Performance-Probleme, die in Konkurrenzprodukten auftreten und durch den Datenfragmentierungseffekt ihrer Deduplizierungs-Algorithmen hervorgerufen werden.


Abbildung 3: Video zur Veranschaulichung des Konzepts von Überspringfiltern


Hardware-basierte Komprimierung. Alle Unikate werden über die Hardware-basierten Komprimierungskarten der NearStore VTL auf Festplatte geschrieben. Diese Karten bedienen sich eines effizienten, herkömmlichen Komprimierungsalgorithmus, mit dem sich doppelt so viele Daten auf Festplatte speichern lassen und der mit oder ohne Deduplizierung verwendet werden kann. Die Hardware-Komprimierung geht Hand in Hand mit der Nachbearbeitungsdeduplizierung. Da alle Daten bei Eingang komprimiert werden, müssen nur halb so viele Daten auf Festplatte gespeichert werden, bevor die Deduplizierung erfolgt.

Schlussfolgerung

NetApp hat große Anstrengungen unternommen, eine effiziente Deduplizierungs-Methodik zu entwickeln, die genau auf die Anforderungen einer VTL abgestimmt ist. Diese Technologie:

  • ist unabhängig vom Backup-Format, sodass sie mit jedem Datenstrom zurechtkommt
  • bietet sowohl den Inline- als auch den Nachbearbeitungsmodus
  • verhindert mögliche Datenverluste aufgrund von Hash-Kollisionen
  • liefert maximale Performance in Kombination mit der Hardware-Komprimierung
  • kann deaktiviert werden, um den Verarbeitungs-Overhead für Daten zu vermeiden, die eine Deduplizierung nicht zwingend erfordern

Um unabhängig von der Datenausrichtung zu sein, hat NetApp einen völlig neuen Ansatz verfolgt: Eindeutige Anker werden durch Vergleiche mit rollenden Hash-Funktionen erstellt, doppelte Datensegmente werden durch bidirektionale Vergleiche ausgehend von identischen Ankern identifiziert und eingebettete Datei-Header sowie Backup-Metadaten können in ansonsten identischen Daten übersprungen werden, um ein Höchstmaß an Effizienz zu erzielen.

Ihre Meinung zur NetApp VTL?

Stellen Sie Fragen, tauschen Sie Ideen aus und teilen Sie Ihre Meinung mit der NetApp Online Community!

Keith Brown

Keith Brown
Director of Technology
NetApp

Keith ist seit über elf Jahren bei NetApp beschäftigt und derzeit in der Arbeitsgruppe für Datenschutz und -erhaltung tätig. In der Vergangenheit war er bei zahlreichen NetApp Produkten und Technologien für technische Belange und das Marketing zuständig. Keiths beruflicher Schwerpunkt liegt momentan auf Data ONTAP™ Snapshot™-basierten Backup- und Replizierungsprodukten, den NetApp Technologien zur Datendeduplizierung und der NetApp VTL.

Weitere Infos hier