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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management 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.
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2472072B (en) * | 2009-07-24 | 2013-10-16 | Hewlett Packard Development Co | Deduplication of encoded data |
-
2011
- 2011-02-15 DE DE201110011283 patent/DE102011011283A1/de not_active Ceased
-
2012
- 2012-02-15 WO PCT/EP2012/052628 patent/WO2012110567A1/de active Application Filing
Patent Citations (4)
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)
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 |