WO2012110567A1 - 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
WO2012110567A1
WO2012110567A1 PCT/EP2012/052628 EP2012052628W WO2012110567A1 WO 2012110567 A1 WO2012110567 A1 WO 2012110567A1 EP 2012052628 W EP2012052628 W EP 2012052628W WO 2012110567 A1 WO2012110567 A1 WO 2012110567A1
Authority
WO
WIPO (PCT)
Prior art keywords
stored
storage medium
data block
metadata
data
Prior art date
Application number
PCT/EP2012/052628
Other languages
English (en)
French (fr)
Inventor
André BRINKMANN
Dirk Meister
Original Assignee
Christmann Informationstechnik + Medien Gmbh & Co. Kg
Universität 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 Gmbh & Co. Kg, Universität Paderborn filed Critical Christmann Informationstechnik + Medien Gmbh & Co. Kg
Publication of WO2012110567A1 publication Critical patent/WO2012110567A1/de

Links

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

Definitions

  • the file server has a deduplication module designed in the form of hardware, software or a combination thereof, which is arranged between a file system of the file server and a logical block device of the storage medium.
  • the deduplication module may either be integrated into the file system itself or be an additional layer in the block device layer of the file server.
  • the storage medium advantageously has one or more logical block devices.
  • An advantage of this is the use of an EXT file system under Linux.
  • the various EXT file systems have a clear separation between the user data and the metadata, which lie in different areas. This separation includes all inode blocks, occupancy maps stored in the form of bitmaps, and super blocks.

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 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 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

Verfahren zur Deduplizierung von auf einem Speichermedium gespeicherten Daten und Dateiserver dafür
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 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 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 eindeutige 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 um ein Duplikat, und der Datenblock muss nicht noch einmal gespeichert 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 rechenzeit- intensives 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.
In einer vorteilhaften Ausgestaltung der Erfindung kann hierbei vorgesehen sein, 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 ein Metadatenblock oder ein Nutzerda- tenblock ist e) und, wenn der zu speichernde Datenblock ein Metadatenblock ist, dieser Datenblock auf dem Speichermedium ohne die Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, gespeichert wird.
In vielen Dateisystemen kann die Entscheidung, ob Datenblock ein Metadatenblock ist, sicher auf Basis von zum Zeitpunkt der Formatierung des Systems bestimmbaren Methoden getroffen werden.
Metadaten können bei einer Deduplizierung an verschiedenen Stellen auftreten. Zum einen können diese den Datenstrom beschreiben, der an die Deduplizierungseinheit des Dateiservers gesendet wird, zum anderen können die Metadaten bestimmte Nutzerdaten charakterisieren, die dedupliziert gespeichert werden sollen. Der erstgenannte Fall tritt z. B. bei einer Virtual Tape Library auf, bei der die Metadaten Eigenschaften des virtuellen Laufwerks beschreiben. Der zweitgenannte Fall tritt auf, wenn z. B. als Nutzerdaten ein Dateisystem gesichert wird und die Metadaten in dem Dateisystem als eigene Datenblöcke, neben den im Dateisystem enthaltenen Nutzerdatenblöcken, auftreten. Die zweitgenannte Art der Metadaten hat grundlegend andere Eigenschaften als die erstgenannte Art. Im Rahmen dieser Anmeldung bezeichnet der Begriff der Metadaten ausschließlich die zweitgenannte Art von Metadaten, die in einem Dateisystem in Form von Metadatenblöcken auftreten.
Anders gesagt, sind die Metadaten und Metadatenblöcke der vorliegenden Anmeldung ausschließlich solche, die auf Dateisystem-Blockebene auftreten. Auf dieser Dateisystem-Blockebene tritt nur eine begrenzte Art von Dateisystem-Kommandos auf, z. B. Schreiben oder Lesen von Daten oder Flushing (Löschen) von Caches. Befehle auf höherer Ebene, wie sie z. B. bei Virtual Tape Libraries auftreten, etwa Seek-Kommandos oder File- Mark-Kommandos, treten auf der Dateisystem-Blockebene nicht auf und sind daher auch nicht von dem Metadaten-Erkennungsmodul zu berücksichtigen. Bei Virtual Tape Libraries wird mit einem Seek-Kommando z. B. das Ansteuern einer bestimmten Stelle einer Aufzeichnung angefordert, mit einem File-Mark-Kommando das Abspeichern einer Markierung, die später mittels eines Seek-Kommandos gesucht werden kann.
Die Metadatenblöcke im Sinne der vorliegenden Erfindung können in vorteilhafter Weise relativ einfach und schnell anhand z. B. ihres Dateninhalts erkannt werden, z. B. anhand eines Blockkenners, der den Typ des Datenblocks angibt. In vielen Dateisystemen ist es auch möglich, Metadatenblöcke anhand ihrer Speicherposition auf dem Speichermedium zu erkennen. Die hierfür notwendige Information kann aus der Definition des Dateisystems und dessen Konfiguration bestimmt werden. Bei Unix-artigen Dateisystemen wird die Konfiguration z. B. anhand eines Superblocks bestimmt.
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 Dedupli- zierungs-Algorithmus, bei dem ein vollständiger Dateivergleich oder Da- tenblockvergleich 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 dem zeitaufwendigen Prüfung, ob bereits ein Datenblock mit identischem Inhalt auf dem Speichermedium gespeichert ist, liegt. Hierdurch kann die Durchführung des Da- tenblockvergleichs 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 (Di- rectory) erzeugt, in dem die Datei gespeichert wird.
Die Erfindung eignet sich besonders für blockbasierte Deduplizierungs- systeme, 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 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 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 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 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 Deduplizie- rungsmodul angeordnet ist. Das Metadaten-Erkennungsmodul ist dadurch zwischen dem Dateisystem des Dateiservers und dem Deduplizierungs- modul 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 Figur 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 Deduplizierungs- modul 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 1 1 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öglichst auch, dass das Blockgerät 4 mit dem Blockgerät 5 als ein Blockgerät ausgebildet ist. Die Blockschnittstellen 9, 10, 1 1 können z.B. SCSI- oder ATA-Schnittstellen oder ähnliche Schnitt- stellen sein.
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 1 1 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 Da- tei 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

Patentansprüche
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.
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.
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.
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 vorher- gehenden 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.
1 1 . Dateiserver nach Anspruch 10, dadurch gekennzeichnet, dass der Dateiserver ein in Form von Hardware, Software oder einer Kombi- nation daraus ausgebildetes Metadaten-Erkennungsmodul aufweist, vor dem Deduplizierungsmodul angeordnet ist.
12. Dateiserver nach Anspruch 1 1 , dadurch gekennzeichnet, dass das Metadaten-Erkennungsmodul dazu eingerichtet ist, in auf dem Spei- chermedium 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 1 1 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.
PCT/EP2012/052628 2011-02-15 2012-02-15 Verfahren zur deduplizierung von auf einem speichermedium gespeicherten daten und dateiserver dafür WO2012110567A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102011011283.9 2011-02-15
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
WO2012110567A1 true WO2012110567A1 (de) 2012-08-23

Family

ID=45755333

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/052628 WO2012110567A1 (de) 2011-02-15 2012-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)

Cited By (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
CN117215501A (zh) * 2023-11-08 2023-12-12 苏州元脑智能科技有限公司 一种位图的同步方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005141A1 (en) * 2006-06-29 2008-01-03 Ling Zheng System and method for retrieving and using block fingerprints for data deduplication
US20090171888A1 (en) * 2007-12-28 2009-07-02 International Business Machines Corporation Data deduplication by separating data from meta data
US20100077161A1 (en) * 2008-09-24 2010-03-25 Timothy John Stoakes Identifying application metadata in a backup stream
US20100161608A1 (en) * 2008-12-18 2010-06-24 Sumooh Inc. Methods and apparatus for content-aware data de-duplication

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2472072B (en) * 2009-07-24 2013-10-16 Hewlett Packard Development Co Deduplication of encoded data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080005141A1 (en) * 2006-06-29 2008-01-03 Ling Zheng System and method for retrieving and using block fingerprints for data deduplication
US20090171888A1 (en) * 2007-12-28 2009-07-02 International Business Machines Corporation Data deduplication by separating data from meta data
US20100077161A1 (en) * 2008-09-24 2010-03-25 Timothy John Stoakes Identifying application metadata in a backup stream
US20100161608A1 (en) * 2008-12-18 2010-06-24 Sumooh Inc. Methods and apparatus for content-aware data de-duplication

Cited By (4)

* 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
CN117215501A (zh) * 2023-11-08 2023-12-12 苏州元脑智能科技有限公司 一种位图的同步方法、装置、设备及介质
CN117215501B (zh) * 2023-11-08 2024-02-09 苏州元脑智能科技有限公司 一种位图的同步方法、装置、设备及介质

Also Published As

Publication number Publication date
DE102011011283A1 (de) 2012-08-16

Similar Documents

Publication Publication Date Title
DE112008003826B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE112017002941B4 (de) Arbeitslastoptimierte Datendeduplizierung mittels Phantomfingerabdrücken
DE102013215535B4 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE112007003693B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE102013208930B4 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE112007003678B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE102013205069B4 (de) Erhöhte effizienz bei inline-deduplizierungen
DE102005023128B4 (de) System und Verfahren zum gemeinschaftlichen Verwenden von Speicherressourcen zwischen mehreren Dateien
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112007003645B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE112013001905B4 (de) Erhöhte Inline-Deduplizierungseffizienz
DE112013000900B4 (de) Bewahren von Redundanz in Datendeduplizierungssystemen unter Verwendung eines Anzeigers
DE112012005275T5 (de) Datenauswahl zur Sicherung von Datenspeichern
DE112018003585B4 (de) Verfahren, Computerprogrammprodukt und Speicherbandlaufwerk-Hardwareeinheit zum Verbessern der Deduplizierung eines Bandlaufwerkspeichers
DE112011100819T5 (de) Speicherplatzreservierung in einem Deduplizierungssystem
DE112012004937T5 (de) Fingerabdruckbasierte Datendeduplizierung
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE102006055964A1 (de) Verfahren und Vorrichtung zur Datensicherung
DE112017000167B4 (de) Verteilte Datendeduplizierung in einem Prozessorraster
WO2015090668A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
DE102004033104A1 (de) Organisieren von Datenobjekten in einem Speicherungsgerät
DE112014000251T5 (de) Echtzeitklassifizierung von Daten in Datenkomprimierungsdomänen
DE112014000448T5 (de) Auszugabruf beruhend auf Ähnlichkeitssuche bei Datendeduplizierung
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE112018005768B4 (de) Copy-source-to-target-verwaltung in einem datenspeichersystem

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12705274

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 12705274

Country of ref document: EP

Kind code of ref document: A1