DE102011011283A1 - Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten und Dateiserver dafür - Google Patents

Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten und Dateiserver dafür Download PDF

Info

Publication number
DE102011011283A1
DE102011011283A1 DE201110011283 DE102011011283A DE102011011283A1 DE 102011011283 A1 DE102011011283 A1 DE 102011011283A1 DE 201110011283 DE201110011283 DE 201110011283 DE 102011011283 A DE102011011283 A DE 102011011283A DE 102011011283 A1 DE102011011283 A1 DE 102011011283A1
Authority
DE
Germany
Prior art keywords
stored
storage medium
data block
data
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE201110011283
Other languages
English (en)
Inventor
Dirk Meister
André Brinkmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Christmann Informationstechnik & Medien & Co KG GmbH
Christmann Informationstechnik and Medien & Co KG GmbH
Universitaet Paderborn
Original Assignee
Christmann Informationstechnik & Medien & Co KG GmbH
Christmann Informationstechnik and Medien & Co KG GmbH
Universitaet Paderborn
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Christmann Informationstechnik & Medien & Co KG GmbH, Christmann Informationstechnik and Medien & Co KG GmbH, Universitaet Paderborn filed Critical Christmann Informationstechnik & Medien & Co KG GmbH
Priority to DE201110011283 priority Critical patent/DE102011011283A1/de
Priority to PCT/EP2012/052628 priority patent/WO2012110567A1/de
Publication of DE102011011283A1 publication Critical patent/DE102011011283A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten mit folgenden Schritten: a) bei einer Anforderung, einen Datenblock auf dem Speichermedium zu speichern, wird geprüft, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, b) wenn die im Schritt a) durchgeführte Prüfung ergibt, dass bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, wird der zu speichernde Datenblock nicht erneut gespeichert, sondern es wird ein Verweis auf den bereits gespeicherten Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert, c) wenn die im Schritt a) durchgeführte Prüfung ergibt, dass noch kein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, wird der zu speichernde Speicherblock auf dem Speichermedium gespeichert, Hierbei ist vorgesehen, dass d) vor der Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, geprüft wird, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht e) und, wenn der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, dieser Datenblock auf dem Speichermedium ohne die Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, gespeichert wird. Die Erfindung betrifft ferner einen Dateiserver mit einem Prozessor, einem auf dem Prozessor ausgeführten Betriebssystem und einem Speichermedium, das von dem Prozessor mittels des Betriebssystems verwaltet wird, wobei der Dateiserver zur Ausführung eines Verfahrens zur Deduplizierung von auf dem Speichermedium gespeicherten Daten eingerichtet ist

Description

  • Die Erfindung betrifft ein Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten mit folgenden Schritten:
    • a) bei einer Anforderung, einen Datenblock auf dem Speichermedium zu speichern, wird geprüft, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist,
    • b) wenn die im Schritt a) durchgeführte Prüfung ergibt, dass bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, wird der zu speichernde Datenblock nicht erneut gespeichert, sondern es wird ein Verweis auf den bereits gespeicherten Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert,
    • c) wenn die im Schritt a) durchgeführte Prüfung ergibt, dass noch kein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, wird der zu speichernde Speicherblock auf dem Speichermedium gespeichert.
  • Die Erfindung betrifft ferner einen Dateiserver mit einem Prozessor, einem auf dem Prozessor ausgeführten Betriebssystem und einem Speichermedium, das von dem Prozessor mittels des Betriebssystems verwaltet wird, wobei der Dateiserver zur Ausführung eines Verfahrens zur Deduplizierung von auf dem Speichermedium gespeicherten Daten eingerichtet ist.
  • Unter einer Deduplizierung von Daten wird in der Informationstechnologie ein Prozess verstanden, der redundante Daten identifiziert und eliminiert, bevor diese auf ein Speichermedium, insbesondere einen nicht flüchtigen Datenträger, geschrieben werden. Vorrangiges Einsatzgebiet der Deduplizierung ist derzeit die Datensicherung (Backup), bei der sich wegen der häufig nur geringfügig veränderten zu sichernden Daten sehr hohe Datenverdichtungen erzielen lassen. Grundsätzlich eignet sich das Verfahren auch für jeden anderen Einsatzfall, bei dem Daten wiederholt kopiert werden.
  • Eine grundlegende Technik der Datendeduplizierung besteht darin, bereits auf dem Speichermedium vorhandene Datenblöcke in Dateien zu finden und diese nicht erneut zu speichern. Eine Deduplizierungsfunktion findet dann auch Identitäten zwischen Dateien, wenn diese nicht den gleichen Namen oder einen komplett identischen Inhalt haben. Dadurch werden deutlich mehr Duplikate erkannt als bei einem reinen Dateivergleich.
  • Der Teilprozess, auf einem Speichermedium bereits vorhandene, identische Datenblöcke zu finden, ist relativ zeitaufwendig. Daher sind Möglichkeiten erwünscht, die Datenspeicherung mit Deduplizierung zu beschleunigen. Ein kompletter Vergleich eines zu speichernden Datenblocks mit allen bereits früher auf dem Speichermedium gespeicherten Datenblöcken ist am zeitaufwendigsten. Es gibt daher bereits Vorschläge, zu speichernde Dateien in Datenblöcke gleicher oder unterschiedlicher Länge aufzuspalten und für jeden der Datenblöcke eine Signatur zu berechnen. Die Menge der berechneten Signaturen wird als Index bezeichnet. Bei der für die Deduplizierung erforderlichen Suche nach bereits gespeicherten Datenblöcken werden dann nicht sämtliche Datenblöcke auf dem Speichermedium durchsucht, sondern nur der Index. Wird im Index eine Signatur gefunden, die der Signatur eines neu zu speichernden Datenblocks entspricht, handelt es sich mit höchster Wahrscheinlichkeit um ein Duplikat, und der Datenblock muss nicht noch einmal gespeichert werden. Um die Restwahrscheinlichkeit einer inkorrekten Duplikatserkennung zu eliminieren, kann an dieser Stelle zusätzlich ein Binärvergleich zwischen dem neu zu speichernden Datenblock und dem zu der Signatur zugehörigen, bereits gespeicherten Datenblock durchgeführt werden.
  • Allerdings ist auch das zuvor beschriebene Verfahren unter Verwendung der Signaturen noch mit einem nennenswerten Rechen- und Zeitaufwand verbunden.
  • Der Erfindung liegt daher die Aufgabe zu Grunde, ein weniger rechenzeitintensives und schnelleres Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten anzugeben. Eine weitere Aufgabe besteht darin, einen vorteilhaften Dateiserver hierfür anzugeben.
  • Diese Aufgabe wird durch ein Verfahren gelöst, bei dem vorgesehen ist, dass
    • d) vor der Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, geprüft wird, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht
    • e) und, wenn der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, dieser Datenblock auf dem Speichermedium ohne die Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, gespeichert wird.
  • Die Erfindung kann mit verschiedenen Deduplizierungs-Verfahren und Einrichtungen kombiniert werden, z. B. mit dem eingangs beschriebenen, die Signaturen verwendenden Verfahren oder mit einem einfachen Deduplizierungs-Algorithmus, bei dem ein vollständiger Dateivergleich oder Datenblockvergleich stattfindet. Hierdurch ist die Erfindung besonders universell einsetzbar.
  • Ein Vorteil der Erfindung besteht darin, dass mit nur wenig aufwendigen Software- und Hardwaremitteln eine erhebliche Reduzierung des Zeitbedarfs bei der Datenspeicherung in deduplizierenden Dateiservern erreicht werden kann. Vorteilhaft werden insbesondere die Metadaten in einem Verfahrensschritt gesondert behandelt, der vor der zeitaufwendigen Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, liegt. Hierdurch kann die Durchführung des Datenblockvergleichs auf sinnvolle Fälle begrenzt werden. Die Metadaten stellen keinen sinnvollen Anwendungsfall für den Datenblockvergleich dar, da sie sich relativ oft ändern und häufig gespeichert werden. Vorteilhaft werden daher Metadatenblöcke gar nicht erst der Deduplizierung zugeführt. Somit wird durch die Erfindung die Anzahl der Datenblock-Vergleiche bzw. der Index-Suchvorgänge deutlich reduziert.
  • Ein weiterer Vorteil besteht darin, dass neben der Geschwindigkeitssteigerung auch eine Verringerung des Bedarfs an Hauptspeicher realisiert werden kann. Bei einem die eingangs beschriebenen Signaturen verwendenden Verfahren besteht ein weiterer Vorteil darin, dass der Index nicht durch eine Indexierung von Metadaten unnötig vergrößert wird.
  • Ein Großteil der Zugriffe auf ein Dateisystem betrifft nicht die eigentlichen Nutzerdaten, sondern die Metadaten. Unter Metadaten werden alle Daten verstanden, die von einem Dateisystem gespeichert oder generiert werden, die nicht die eigentlichen Nutzerdaten enthalten. Die Metadaten beschreiben in einem Dateisystem z. B. die Struktur des Dateisystems und beinhalten Informationen bezüglich der Dateien und Verzeichnisse des Dateisystems, nicht jedoch die von dem Nutzer gespeicherten Nutzerdaten. Metadatenblöcke enthalten keine oder sehr wenig Redundanz. Metadaten beinhalten daher nahezu keine Möglichkeit zur Deduplizierung, da mit jedem Zugriff z. B. auch die zugehörigen Zeitstempel in den Metadaten aktualisiert werden und somit eine Veränderung vorangegangener Speicherungen erfolgt.
  • Als Metadaten wird von dem Dateisystem typischerweise ein Eintrag erzeugt, der Informationen über die Datei enthält. In Unix-artigen Dateisystemen wird dieser Eintrag als Inode bezeichnet. Dieser Eintrag beinhaltet einen eindeutigen Identifikator für die Datei, den Namen der Datei, die Größe der Datei, Zugriffsrechte und weitere Informationen, die von Dateisystem zu Dateisystem unterschiedlich sein können. Weiterhin wird typischer Weise ein Eintrag in der Metadatenstruktur des Verzeichnisses (Directory) erzeugt, in dem die Datei gespeichert wird.
  • Die Erfindung eignet sich besonders für blockbasierte Deduplizierungssysteme, die mit einem bereits existierenden Dateisystem gekoppelt werden, um als Schnittstellen nach außen als Dateiserver zu dienen.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass
    • a) für die Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, bei einer Anforderung, einen Datenblock auf dem Speichermedium zu speichern, aus den Daten dieses Datenblocks eine Signatur bestimmt wird,
    • b) ein Index, der die Signaturen von bereits auf dem Speichermedium gespeicherten Datenblöcken enthält, daraufhin untersucht wird, ob die im Schritt a) bestimmte Signatur darin enthalten ist,
    • c) wenn die im Schritt a) bestimmte Signatur in dem Index enthalten ist, der zu speichernde Datenblock nicht erneut gespeichert wird, sondern ein Verweis auf den bereits gespeicherten Datenblock mit identischer Signatur auf dem Speichermedium gespeichert wird,
    • d) wenn die im Schritt a) bestimmte Signatur nicht in dem Index enthalten ist, der zu speichernde Speicherblock auf dem Speichermedium gespeichert wird und der Index um die Signatur des neu gespeicherten Datenblocks erweitert wird.
  • Hierdurch wird die Verarbeitungsgeschwindigkeit weiter erhöht, da durch die Verwendung des die Signaturen enthaltenden Index eine schnellere Identifikation bereits gespeicherter Datenblöcke möglich ist als durch reinen Datei- oder Datenblockvergleich. Ein weiterer Vorteil besteht darin, dass durch die Ausblendung von Metadaten die Anzahl der Index-Suchvorgänge reduziert werden kann.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung ist vorgesehen, dass
    • a) für die Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, bei einer Anforderung, einen Datenblock auf dem Speichermedium zu speichern, aus den Daten dieses Datenblocks eine eindeutige Signatur bestimmt wird,
    • b) ein Index, der die eindeutigen Signaturen von bereits auf dem Speichermedium gespeicherten Datenblöcken enthält, daraufhin untersucht wird, ob die im Schritt a) bestimmte Signatur darin enthalten ist,
    • c) wenn die im Schritt a) bestimmte Signatur in dem Index enthalten ist, ein Binärvergleich zwischen dem zu speichernden Datenblock und dem mit der im Schritt a) bestimmten Signatur korrespondierenden, bereits gespeicherten Datenblock durchgeführt wird,
    • d) wenn der im Schritt c) durchgeführte Binärvergleich ergibt, dass die verglichenen Datenblöcke identisch sind, der zu speichernde Datenblock nicht erneut gespeichert wird, sondern ein Verweis auf den bereits gespeicherten Datenblock mit identischer Signatur auf dem Speichermedium gespeichert wird,
    • e) wenn die im Schritt a) bestimmte Signatur nicht in dem Index enthalten ist oder der im Schritt c) durchgeführte Binärvergleich ergibt, dass die verglichenen Datenblöcke nicht identisch sind, der zu speichernde Speicherblock auf dem Speichermedium gespeichert wird und der Index um die Signatur des neu gespeicherten Datenblocks erweitert wird.
  • Hierdurch kann die Restwahrscheinlichkeit einer inkorrekten Duplikatserkennung eliminiert werden.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung umfasst die Prüfung, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, die Prüfung, ob der für den zu speichernden Datenblock mit der Anforderung zum Speichern mitgeteilte Datenbereich des Speichermediums ein Metadatenbereich ist. Der genannte Prüfschritt kann auch allein aus dieser Prüfung des Datenbereichs bestehen. Dies hat den Vorteil, dass eine einfache und schnelle Verarbeitung des Prüfungsschritts, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, möglich ist.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung umfasst die Prüfung, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, die Prüfung, ob der für den zu speichernden Datenblock mit der Anforderung zum Speichern mitgeteilte Datenbereich des Speichermediums eine über einem vorgegebenen Wert liegende Zugriffshäufigkeit und/oder Änderungshäufigkeit aufweist, insbesondere eine für Metadaten typische Zugriffshäufigkeit und/oder Änderungshäufigkeit. Der genannte Prüfschritt kann auch allein aus dieser Prüfung der Zugriffshäufigkeit und/oder der Änderungshäufigkeit bestehen. Dies hat den Vorteil, dass eine einfache und schnelle Verarbeitung des Prüfungsschritts, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, möglich ist.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung weisen die Metadaten einen Zeitstempel auf, der mit jedem Schreibzugriff auf das Speichermedium aktualisiert wird. Die Prüfung, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, umfasst die Prüfung, ob der zu speichernde Datenblock einen oder mehrere Zeitstempel aufweist. Der genannte Prüfschritt kann auch allein aus dieser Prüfung des Zeitstempels bestehen. Hierdurch sind Metadaten relativ schnell von zu speichernden Nutzerdaten zu unterscheiden.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung wird als Dateisystem zur Organisation des Speichermediums ein Linux EXT, insbesondere ein EXT3 verwendet. Gemäß einer vorteilhaften Weiterbildung der Erfindung werden bei Verwendung eines solchen Dateisystems Datenblöcke, die ganz oder überwiegend aus Metadaten bestehen, daran erkannt, dass der Datenblock ein Inode Block, eine als Bitmap zu speichernde Belegungsdarstellung und/oder ein Superblock ist.
  • Das Speichermedium kann z. B. eine oder mehrere Festplatten aufweisen.
  • Die Aufgabe wird ferner durch einen Dateiserver gemäß dem Anspruch 8 gelöst. Ein solcher Dateiserver zur Ausführung eines Verfahrens der zuvor beschriebenen Art weist einen Prozessor, ein auf dem Prozessor ausgeführtes Betriebssystem und ein Speichermedium auf, das von dem Prozessor mittels des Betriebssystems verwaltet wird.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung weist der Dateiserver ein in Form von Hardware, Software oder einer Kombination daraus ausgebildetes Deduplizierungsmodul auf, das zwischen einem Dateisystem des Dateiservers und einem logischen Blockgerät des Speichermediums angeordnet ist. Das Deduplizierungsmodul kann entweder in das Dateisystem selbst integriert sein oder eine zusätzliche Schicht in der Blockgeräte-Schicht des Dateiservers sein. Vorteilhaft weist das Speichermedium dabei ein oder mehrere logische Blockgeräte auf. Vorteilhaft ist hierfür eine Nutzung eines EXT-Dateisystems unter Linux. Die verschiedenen EXT-Dateisysteme haben eine klare Trennung zwischen den Nutzerdaten und den Metadaten, die in unterschiedlichen Bereichen liegen. Diese Trennung schließt alle Inode-Blöcke, die Belegungsdarstellungen, die in Form von Bitmaps gespeichert werden, sowie die Superblöcke ein.
  • Gemäß einer vorteilhaften Weiterbildung der Erfindung weist der Dateiserver ein in Form von Hardware, Software oder einer Kombination daraus ausgebildetes Metadaten-Erkennungsmodul auf, das vor dem Deduplizierungsmodul angeordnet ist. Das Metadaten-Erkennungsmodul ist dadurch zwischen dem Dateisystem des Dateiservers und dem Deduplizierungsmodul angeordnet. Das Metadaten-Erkennungsmodul kann z. B. in Form eines Metadaten-Switchs ausgebildet sein. Das Metadaten-Erkennungsmodul erkennt, ob es sich bei den zu speichernden Daten um Nutzerdaten oder um Metadaten des Dateisystems handelt.
  • Gemäß einer vorteilhaften Weiterbildung ist das Metadaten-Erkennungsmodul dazu eingerichtet, in auf dem Speichermedium zu speichernden Datenblöcken Metadaten zu erkennen, bei Erkennung von Metadaten solche Datenblöcke unter Umgehung des Deduplizierungsmoduls auf dem Speichermedium zu speichern und anderenfalls solche Datenblöcke, d. h. die zu speichernden Datenblöcke, dem Deduplizierungsmodul zuzuführen. Hierdurch kann ein im Vergleich zu bekannten Lösungen schneller arbeitender Dateiserver geschaffen werden.
  • Gemäß einer vorteilhaften Weiterbildung ist das Metadaten-Erkennungsmodul entweder in das Dateisystem des Dateiservers integriert oder als zusätzliche Schicht in einer Blockgeräte-Schicht des Dateiservers ausgebildet.
  • Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels unter Verwendung einer Zeichnung näher erläutert. Die Zeichnung 1 zeigt den logischen Aufbau eines deduplizierenden Dateiservers unter Verwendung eines Metadaten-Erkennungsmoduls. Der Dateiserver ist dabei hinsichtlich seiner logischen Funktion dargestellt, die durch Hardwarekomponenten und diese Hardwarekomponenten verwaltende Softwarekomponenten realisiert ist. Die beschriebenen Schnittstellen sind logische Schnittstellen, die softwaremäßig realisiert sind.
  • Ein Dateiserver 2 weist eine Dateischnittstelle 1 auf, die die Verbindung mit anderen Systemen, wie z. B. Client-Computern, herstellt. Die Dateischnittstelle 1 kann z. B. eine NFS- oder CIFS-Schnittstelle oder eine ähnliche Schnittstelle sein. Über die Dateischnittstelle 1 empfängt der Dateiserver 2 Anforderungen, Dateien bzw. Datenblöcke auf einem Speichermedium zu speichern. Über die Dateischnittstelle 1 werden zudem vom Speichermedium gelesene Daten von dem Dateiserver 2 an andere angeschlossene Einrichtungen zurück übertragen. Der Dateiserver 2 weist ein Dateiserver-Frontendmodul 6 auf, das über die Dateischnittstelle 1 eingehende Anforderungen bearbeitet. Dem Dateiserver-Frontendmodul 6 ist ein Dateiserver-Dateisystem 7 nachgeordnet. Als Dateisystem 7 sind z. B. EXT3 oder BTRFS vorteilhaft verwendbar. Dem Dateisystem 7 ist ein Metadaten-Erkennungsmodul 8 nachgeordnet. Das Metadaten-Erkennungsmodul 8 erkennt, ob ein zu speichernder Datenblock ganz oder überwiegend aus Metadaten besteht.
  • Dem Metadaten-Erkennungsmodul 8 ist einerseits ein Deduplizierungsmodul 3 nachgeordnet, das über eine Blockschnittstelle 9 mit dem Metadaten-Erkennungsmodul 8 in Verbindung steht. Andererseits ist dem Metadaten-Erkennungsmodul 8 ein Blockgerät 5 nachgeordnet, das über eine Blockschnittstelle 11 mit dem Metadaten-Erkennungsmodul 8 in Verbindung steht. Dem Deduplizierungsmodul 3 ist, verbunden über eine Blockschnittstelle 10, ein Blockgerät 4 nachgeordnet. Die Blockgeräte 4, 5 sind logische Blockgeräte, die physikalisch z. B. bestimmte Bereiche eines Speichermediums sein können, z. B. Bereiche einer Festplatte oder einer Partition einer Festplatte. Das Blockgerät 4 und das Blockgerät 5 können insbesondere auf derselben Festplatte oder derselben Partition der Festplatte angeordnet sein. Möglich ist auch, dass das Blockgerät 4 mit dem Blockgerät 5 als ein Blockgerät ausgebildet ist oder dass anstelle eines nachgeschalteten Blockgerätes der Zugriff auf das Speichermedium über eine Dateisystem-Schnittstelle realisiert wird. Die Blockschnittstellen 9, 10, 11 können z. B. SCSI-, ATA-, NFS- oder CIFS-Schnittstellen oder ähnliche Schnittstellen sein. Ebenso kann die Dateischnittstelle 1 als Blockgerät-Schnittstelle ausgebildet sein. Das aus Client-Sicht erkennbare, nach außen exportierte Blockgerät wird dann intern als Dateisystem verwaltet und dedupliziert.
  • Das Metadaten-Erkennungsmodul 8 gibt von dem Dateiserver-Dateisystem 7 eingehende, zu speichernde Datenblöcke über die Blockschnittstelle 9 an das Deduplizierungsmodul 3 weiter, wenn es sich bei den zu speichernden Datenblöcken nicht oder nicht überwiegend um Metadaten handelt. Anderenfalls gibt das Metadaten-Erkennungsmodul 8 die zu speichernden Datenblöcke über die Blockschnittstelle 11 direkt zur Speicherung an das Blockgerät 5 weiter. In dem Deduplizierungsmodul 3 wird eine Deduplizierung nach einem der eingangs beschriebenen Verfahren durchgeführt. Nach der Deduplizierung werden über die Blockschnittstelle 10 entweder die Daten des zu speichernden Datenblocks oder ein Zeiger, der auf einen schon gespeicherten Datenblock mit identischem Inhalt verweist, an das Blockgerät 4 abgegeben und dort gespeichert.
  • Eine mögliche Software-Implementierung des Metadaten-Erkennungsmoduls kann wie folgt aussehen:
    Nehme Blockanfrage entgegen
    Wenn Blockanfrage auf einen Metadatenbereich
    Berechne neue Position auf Blockgerät 5
    Modifiziere Blockanfrage und reiche diese an Blockgerät 5 weiter
    Ansonsten
    Berechne neue Position auf Blockgerät 4
    Modifiziere Blockanfrage und reiche diese an Blockgerät 4
  • Eine weitere Verbesserung bei der Erkennung von Datenblöcken mit einem überwiegenden Metadaten-Anteil kann zusätzlich vorgesehen werden. Einige Metadaten-Blöcke haben keine feste Größe, so dass sie nicht in den vordefinierten Bereichen gespeichert werden können. Dies schließt z. B. bei EXT-Dateisystemen die Umrechnung von Positionen auf der Datei auf die Position auf dem Speichermedium ein. Einige andere Dateisysteme, wie BTRFS oder ReiserFS, verfügen überhaupt nicht über eine feste Zuordnung. In diesen Fällen ist es vorteilhaft, durch Auswertung der Frequenz der Zugriffe auf solche Datenblöcke und der Frequenz von deren Änderungen auf deren Redundanzverhalten zu schließen. Datenblöcke mit einem überwiegenden Metadaten-Anteil können dadurch erkannt werden, dass auf diese im Vergleich zu Nutzerdatenblöcken hochfrequent schreibend zugegriffen wird. Je nach Festlegung einer Unterscheidungsschwelle zwischen Metadaten-Zugriffshäufigkeiten und Nutzerdaten-Zugriffshäufigkeiten kann der dem Deduplizierungsmodul zugeführte Anteil der zu speichernden Datenblöcke eingestellt werden. Hierbei kann es je nach Festlegung der Unterscheidungsschwelle auch dazu kommen, dass auch Datenblöcke mit Nutzerdaten nicht dem Deduplizierungsmodul zugeführt werden, sondern direkt gespeichert werden, wenn es sich um Datenblöcke mit hoher Zugriffs- bzw. Veränderungshäufigkeit handelt. Dies ist jedoch für die Datenspeicherung insgesamt nicht schädlich.

Claims (13)

  1. Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten mit folgenden Schritten: a) bei einer Anforderung, einen Datenblock auf dem Speichermedium zu speichern, wird geprüft, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, b) wenn die im Schritt a) durchgeführte Prüfung ergibt, dass bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, wird der zu speichernde Datenblock nicht erneut gespeichert, sondern es wird ein Verweis auf den bereits gespeicherten Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert, c) wenn die im Schritt a) durchgeführte Prüfung ergibt, dass noch kein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, wird der zu speichernde Speicherblock auf dem Speichermedium gespeichert, dadurch gekennzeichnet, dass d) vor der Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, geprüft wird, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht e) und, wenn der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, dieser Datenblock auf dem Speichermedium ohne die Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, gespeichert wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass a) für die Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, bei einer Anforderung, einen Datenblock auf dem Speichermedium zu speichern, aus den Daten dieses Datenblocks eine Signatur bestimmt wird, b) ein Index, der die Signaturen von bereits auf dem Speichermedium gespeicherten Datenblöcken enthält, daraufhin untersucht wird, ob die im Schritt a) bestimmte Signatur darin enthalten ist, c) wenn die im Schritt a) bestimmte Signatur in dem Index enthalten ist, der zu speichernde Datenblock nicht erneut gespeichert wird, sondern ein Verweis auf den bereits gespeicherten Datenblock mit identischer Signatur auf dem Speichermedium gespeichert wird, d) wenn die im Schritt a) bestimmte Signatur nicht in dem Index enthalten ist, der zu speichernde Speicherblock auf dem Speichermedium gespeichert wird und der Index um die Signatur des neu gespeicherten Datenblocks erweitert wird.
  3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass a) für die Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, bei einer Anforderung, einen Datenblock auf dem Speichermedium zu speichern, aus den Daten dieses Datenblocks eine Signatur bestimmt wird, b) ein Index, der die Signaturen von bereits auf dem Speichermedium gespeicherten Datenblöcken enthält, daraufhin untersucht wird, ob die im Schritt a) bestimmte Signatur darin enthalten ist, c) wenn die im Schritt a) bestimmte Signatur in dem Index enthalten ist, ein Binärvergleich zwischen dem zu speichernden Datenblock und dem mit der im Schritt a) bestimmten Signatur korrespondierenden, bereits gespeicherten Datenblock durchgeführt wird, d) wenn der im Schritt c) durchgeführte Binärvergleich ergibt, dass die verglichenen Datenblöcke identisch sind, der zu speichernde Datenblock nicht erneut gespeichert wird, sondern ein Verweis auf den bereits gespeicherten Datenblock mit identischer Signatur auf dem Speichermedium gespeichert wird, e) wenn die im Schritt a) bestimmte Signatur nicht in dem Index enthalten ist oder der im Schritt c) durchgeführte Binärvergleich ergibt, dass die verglichenen Datenblöcke nicht identisch sind, der zu speichernde Speicherblock auf dem Speichermedium gespeichert wird und der Index um die Signatur des neu gespeicherten Datenblocks erweitert wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Prüfung, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, die Prüfung umfasst, ob der für den zu speichernden Datenblock mit der Anforderung zum Speichern mitgeteilte Datenbereich des Speichermediums ein Metadatenbereich ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Prüfung, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, die Prüfung umfasst, ob der für den zu speichernden Datenblock mit der Anforderung zum Speichern mitgeteilte Datenbereich des Speichermediums eine über einem vorgegebenen Wert liegende Zugriffshäufigkeit und/oder Änderungshäufigkeit aufweist, insbesondere eine für Metadaten typische Zugriffshäufigkeit und/oder Änderungshäufigkeit.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Metadaten einen Zeitstempel aufweisen, der mit jedem Schreibzugriff auf das Speichermedium aktualisiert wird, wobei die Prüfung, ob der zu speichernde Datenblock ganz oder überwiegend aus Metadaten besteht, die Prüfung umfasst, ob der zu speichernde Datenblock einen oder mehrere Zeitstempel aufweist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass als Dateisystem zur Organisation des Speichermediums ein Linux EXT verwendet wird.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass Datenblöcke, die ganz oder überwiegend aus Metadaten bestehen, daran erkannt werden, dass der Datenblock ein Inode-Block, eine als Bitmap zu speichernde Belegungsdarstellung und/oder ein Superblock ist.
  9. Dateiserver mit einem Prozessor, einem auf dem Prozessor ausgeführten Betriebssystem und einem Speichermedium, das von dem Prozessor mittels des Betriebssystems verwaltet wird, wobei der Dateiserver zur Ausführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.
  10. Dateiserver nach Anspruch 9, dadurch gekennzeichnet, dass der Dateiserver ein in Form von Hardware, Software oder einer Kombination daraus ausgebildetes Deduplizierungsmodul aufweist, das zwischen einem Dateisystem des Dateiservers und einem logischen Blockgerät des Speichermediums angeordnet ist.
  11. Dateiserver nach Anspruch 10, dadurch gekennzeichnet, dass der Dateiserver ein in Form von Hardware, Software oder einer Kombination daraus ausgebildetes Metadaten-Erkennungsmodul aufweist, vor dem Deduplizierungsmodul angeordnet ist.
  12. Dateiserver nach Anspruch 11, dadurch gekennzeichnet, dass das Metadaten-Erkennungsmodul dazu eingerichtet ist, in auf dem Speichermedium zu speichernden Datenblöcken Metadaten zu erkennen, bei Erkennung von Metadaten solche Datenblöcke unter Umgehung des Deduplizierungsmoduls auf dem Speichermedium zu speichern und anderenfalls solche Datenblöcke dem Deduplizierungsmodul zuzuführen.
  13. Dateiserver nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass das Metadaten-Erkennungsmodul entweder in das Dateisystem des Dateiservers integriert oder als zusätzliche Schicht in einer Blockgeräte-Schicht des Dateiservers ausgebildet ist.
DE201110011283 2011-02-15 2011-02-15 Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten und Dateiserver dafür Ceased DE102011011283A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE201110011283 DE102011011283A1 (de) 2011-02-15 2011-02-15 Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten und Dateiserver dafür
PCT/EP2012/052628 WO2012110567A1 (de) 2011-02-15 2012-02-15 Verfahren zur deduplizierung von auf einem speichermedium gespeicherten daten und dateiserver dafür

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110011283 DE102011011283A1 (de) 2011-02-15 2011-02-15 Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten und Dateiserver dafür

Publications (1)

Publication Number Publication Date
DE102011011283A1 true DE102011011283A1 (de) 2012-08-16

Family

ID=45755333

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110011283 Ceased DE102011011283A1 (de) 2011-02-15 2011-02-15 Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten und Dateiserver dafür

Country Status (2)

Country Link
DE (1) DE102011011283A1 (de)
WO (1) WO2012110567A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3182278A1 (de) 2015-12-17 2017-06-21 Vsoft Spolka Akcyjna System zur automatischen herstellung von integrierten entwicklungsumgebungen
US11695853B1 (en) 2022-04-07 2023-07-04 T-Mobile Usa, Inc. Content management systems providing zero recovery point objective
CN117215501B (zh) * 2023-11-08 2024-02-09 苏州元脑智能科技有限公司 一种位图的同步方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110022718A1 (en) * 2009-07-24 2011-01-27 Evans Nigel Ronald Data Deduplication Apparatus and Method for Storing Data Received in a Data Stream From a Data Store

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412682B2 (en) * 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US7962452B2 (en) * 2007-12-28 2011-06-14 International Business Machines Corporation Data deduplication by separating data from meta data
US8620845B2 (en) * 2008-09-24 2013-12-31 Timothy John Stoakes Identifying application metadata in a backup stream
CA2747661A1 (en) * 2008-12-18 2010-07-15 Copiun, Inc. Methods and apparatus for content-aware data partitioning and data de-duplication

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110022718A1 (en) * 2009-07-24 2011-01-27 Evans Nigel Ronald Data Deduplication Apparatus and Method for Storing Data Received in a Data Stream From a Data Store

Also Published As

Publication number Publication date
WO2012110567A1 (de) 2012-08-23

Similar Documents

Publication Publication Date Title
DE112008003826B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE112007003678B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE102013208930B4 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE112017002941B4 (de) Arbeitslastoptimierte Datendeduplizierung mittels Phantomfingerabdrücken
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE102013215535B4 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE102013205069B4 (de) Erhöhte effizienz bei inline-deduplizierungen
DE102005023128B4 (de) System und Verfahren zum gemeinschaftlichen Verwenden von Speicherressourcen zwischen mehreren Dateien
DE112013001905B4 (de) Erhöhte Inline-Deduplizierungseffizienz
DE112010002938B4 (de) Eine integrierte Herangehensweise zur Deduplizierung von Daten in einer verteiltenUmgebung, die eine Quelle und ein Ziel umfasst
US9880743B1 (en) Tracking compressed fragments for efficient free space management
DE112012005275T5 (de) Datenauswahl zur Sicherung von Datenspeichern
DE112013000900B4 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
DE112011100819T5 (de) Speicherplatzreservierung in einem Deduplizierungssystem
DE112012004937T5 (de) Fingerabdruckbasierte Datendeduplizierung
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE112018003585B4 (de) Verfahren, Computerprogrammprodukt und Speicherbandlaufwerk-Hardwareeinheit zum Verbessern der Deduplizierung eines Bandlaufwerkspeichers
DE112017000167B4 (de) Verteilte Datendeduplizierung in einem Prozessorraster
DE112014000448T5 (de) Auszugabruf beruhend auf Ähnlichkeitssuche bei Datendeduplizierung
DE112016000176T5 (de) Datendeduplizierung unter Verwendung von Chunk-Dateien
DE102021109729A1 (de) Schätzung der nutzung der speichersystemkapazität
US10430383B1 (en) Efficiently estimating data compression ratio of ad-hoc set of files in protection storage filesystem with stream segmentation and data deduplication
DE102011011283A1 (de) Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten und Dateiserver dafür
DE102021101239B4 (de) Schwellenwert des deduplizierungssystems basierend auf der abnutzung eines speichergeräts
DE102021102442A1 (de) Katalog der mit schnappschüssen verbundenen dateien

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20130306