DE102021102442A1 - Katalog der mit schnappschüssen verbundenen dateien - Google Patents

Katalog der mit schnappschüssen verbundenen dateien Download PDF

Info

Publication number
DE102021102442A1
DE102021102442A1 DE102021102442.0A DE102021102442A DE102021102442A1 DE 102021102442 A1 DE102021102442 A1 DE 102021102442A1 DE 102021102442 A DE102021102442 A DE 102021102442A DE 102021102442 A1 DE102021102442 A1 DE 102021102442A1
Authority
DE
Germany
Prior art keywords
file system
backup
blocks
block
snapshot
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.)
Pending
Application number
DE102021102442.0A
Other languages
English (en)
Inventor
Alastair Slater
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102021102442A1 publication Critical patent/DE102021102442A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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
    • 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/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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
    • 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/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

Ein Sicherungssystem enthält einen Prozessor und einen maschinenlesbaren Speicher, der Anweisungen speichert. Die Anweisungen sind durch den Prozessor ausführbar, um: auf eine Vielzahl von Blöcken zuzugreifen, die in einer blockbasierten Sicherung eines ersten Schnappschusses eines Speichervolumens enthalten sind; auf der Grundlage der Vielzahl von Blöcken der blockbasierten Sicherung ein erstes Dateisystem zu bestimmen, das auf dem Speichervolumen gespeichert ist, wobei das erste Dateisystem ein Dateisystem eines ersten Typs ist; aus einer Vielzahl von Filtern einen ersten Filter auszuwählen, der dem ersten Typ von Dateisystem zugeordnet ist; auf der Grundlage des ausgewählten ersten Filters eine geänderte Datei in dem ersten Dateisystem zu bestimmen; und einen Katalog zu aktualisieren, um anzuzeigen, dass die geänderte Datei dem ersten Schnappschuss zugeordnet ist.

Description

  • Hintergrund
  • Computergeräte können Komponenten wie einen Prozessor, einen Speicher, ein Caching-System und ein Speichergerät enthalten. Das Speichergerät kann ein Festplattenlaufwerk sein, das ein magnetisches Medium zum Speichern und Abrufen von Datenblöcken verwendet. Einige Systeme können Kopien von wichtigen Daten für Archivierungs- und Wiederherstellungszwecke speichern oder „sichern“. Wenn beispielsweise ein Speichergerät ausfällt, kann eine Sicherungskopie verwendet werden, um die Daten wiederherzustellen, die auf dem ausgefallenen System gespeichert waren. In einigen Beispielen können Backups periodisch durchgeführt werden, um Kopien der Daten zu verschiedenen Zeitpunkten zu erfassen.
  • Figurenliste
  • Einige Implementierungen werden mit Bezug auf die folgenden Abbildungen beschrieben.
    • ist eine schematische Darstellung eines Beispielsystems gemäß einiger Implementierungen.
    • ist eine Illustration eines beispielhaften Dateisystems gemäß einiger Implementierungen.
    • ist ein schematisches Diagramm eines Beispiel-Backup-Systems, gemäß einiger Implementierungen.
    • ist eine Illustration eines Beispielprozesses gemäß einiger Implementierungen.
    • ist eine Illustration eines Beispielprozesses gemäß einiger Implementierungen.
    • ist ein Diagramm eines beispielhaften maschinenlesbaren Mediums, das Befehle in Übereinstimmung mit einigen Implementierungen speichert.
    • ist eine schematische Darstellung eines Beispiel-Rechengeräts gemäß einigen Implementierungen.
  • Detaillierte Beschreibung
  • Ein Backup-Prozess eines Computersystems kann das Kopieren von Datenblöcken, die in einem Speichergerät (z. B. einem Speicher-Array) gespeichert sind, auf ein Backup-Gerät umfassen, das die Datenblöcke in Form eines Backups speichern kann. In den hier beschriebenen Beispielen kann sich ein „Backup“ auf eine Form beziehen, in der ein Backup-Gerät eine Sammlung von Daten speichert, die sich von einer Form unterscheiden kann, in der die Datenblöcke auf einem Speichergerät (z. B. Speicher-Array) gespeichert sind, von dem sie gesichert werden. Beispielsweise kann ein Backup eine deduplizierte Darstellung der Datenblöcke umfassen, die zur Sicherung auf das Backup-Gerät kopiert werden. In einigen Beispielen kann ein Sicherungsprozess eine bestimmte Sammlung von Daten, die auf einem Speichergerät in Dateien und Verzeichnissen eines Dateisystems gespeichert sind, auf ein Sicherungsgerät kopieren.
  • In einigen Beispielen kann die spezifizierte Datensammlung, die auf das Sicherungsgerät kopiert werden soll, ein oder mehrere Volumes eines Speichergeräts, einige oder alle Inhalte eines Dateisystems, in dem Daten auf einem Speichergerät gespeichert sind (z. B. alle Daten, die unter einem bestimmten Verzeichnis gespeichert sind, wie einem Stammverzeichnis oder einem oder mehreren Unterverzeichnissen), oder Ähnliches umfassen. Beim Erzeugen einer Vollsicherung kann ein Sicherungsprozess alle Datenblöcke der angegebenen Datensammlung auf das Sicherungsgerät kopieren (die das Sicherungsgerät als Sicherung speichern kann, die hier als „Vollsicherung“ bezeichnet wird). Beim Erzeugen einer inkrementellen Sicherung kann ein Sicherungsprozess ausschließlich die Datenblöcke der angegebenen Datensammlung kopieren, die sich seit einer vorherigen Sicherung geändert haben, und das Sicherungsgerät kann diese geänderten Blöcke in einer Form speichern, die hier als „inkrementelle Sicherung“ bezeichnet wird.
  • In einigen Beispielen können Backups auf der Grundlage von Point-in-Time-Snapshots von Volumes (oder anderen Datensammlungen) eines Quellspeichergeräts erstellt werden (z. B. kann ein Backup-Prozess Daten auf ein Backup-Gerät kopieren, basierend auf dem Inhalt eines Snapshots auf dem Quellspeichergerät). In einigen Beispielen kann die Identifizierung der geänderten Blöcke in der angegebenen Datensammlung (z. B. für ein inkrementelles Backup) auf der Grundlage von Point-in-Time-Snapshots von Volumes (oder anderen Datensammlungen) durchgeführt werden, die die angegebene Datensammlung enthalten (z. B. angegebene Verzeichnisse eines Dateisystems).
  • In den hier beschriebenen Beispielen beziehen sich Sicherungsprozesse auf „blockbasierte“ Sicherungsprozesse, die Daten für die Sicherung auf einer Blockebene kopieren. In den hier beschriebenen Beispielen ist eine Blockebene eine Ebene der Datenspeicherung, die unterhalb einer Datei- und Verzeichnisebene der Datenspeicherung liegt. In solchen Beispielen kann eine Blockebene eine Ebene sein, auf der ein Blockspeichergerät (z. B. ein Festplattenlaufwerk (HDD), ein Solid-State-Laufwerk (SSD) o. Ä.) oder ein virtuelles Volume Daten speichern kann, und eine Ebene, auf der Dateien und Verzeichnisse durch ein Dateisystem implementiert werden. In den hier beschriebenen Beispielen kann zwar eine zu sichernde Datensammlung auf Dateisystemebene angegeben werden (z. B. ein oder mehrere Verzeichnisse o. Ä.), aber ein blockbasierter Sicherungsprozess kann die Datenblöcke, aus denen diese Datensammlung besteht, als einen Strom von Datenblöcken auf ein Sicherungsgerät kopieren, ohne separate Informationen auf Datei- oder Verzeichnisebene bereitzustellen, die beschreiben, wie die Daten dieser Datenblöcke in einem Dateisystem auf einem Quellgerät gespeichert sind. Blockbasierte Backups können jedoch eingebettete Dateisystemelemente, Metadatenelemente und andere Strukturelemente innerhalb des Inhalts der Blöcke selbst enthalten. Solche Elemente können Inode-Informationen, Elemente der Datenträgerverwaltung, Formatelemente und andere Elemente enthalten, die für den Benutzer nicht sichtbar, aber Teil des Speicherformats sind. Solche Backup-Prozesse auf Blockebene können im Gegensatz zu Backup-Prozessen auf Dateiebene betrachtet werden, die ein Backup auf Dateiebene durchführen können, bei dem die Daten dem Backup-Gerät als ein Strom von Dateien mit Informationen auf Datei- und Verzeichnisebene zur Verfügung gestellt werden, die z. B. die zu sichernden Dateien und das/die Verzeichnis(e), in dem/denen sie gespeichert sind, angeben. Dateibasierte Sicherungen enthalten jedoch im Vergleich zu blockbasierten Sicherungen möglicherweise nicht die Dateisystemelemente, Metadatenelemente und andere Strukturelemente, die in den zu sichernden Inhalt eingebettet sind. In den hier beschriebenen Beispielen beziehen sich Backups (z. B. vollständige und inkrementelle Backups) auf Backups auf Blockebene, die einen Strom von Datenblöcken darstellen, die einem Backup-Gerät bereitgestellt werden, und schließen separate Informationen auf Datei- oder Verzeichnisebene aus, die beschreiben, wie die Daten dieser Datenblöcke in einem Dateisystem auf einem Quellgerät gespeichert sind.
  • Darüber hinaus ist ein „Snapshot“, wie er hier verwendet wird, eine Darstellung der Daten, die in einem oder mehreren Datenträgern (oder einer anderen Datensammlung) zu einem bestimmten Zeitpunkt enthalten sind. Die Identifizierung der Dateien und/oder Verzeichnisse (hier als „Dateisystemobjekte“ bezeichnet), die zwischen den Schnappschüssen neu sind oder geändert wurden, kann jedoch das „Mounten“ der in den Schnappschüssen dargestellten Daten und das anschließende Durchlaufen oder „Walken“ eines in den gemounteten Daten enthaltenen Dateisystems beinhalten, um Änderungen an Datei(en) und Verzeichnis(en) zu finden (z. B. auf der Grundlage von Zeitstempeln von Interesse). Solche Techniken können jedoch einen erheblichen Zeitaufwand und eine hohe Verarbeitungsbandbreite erfordern.
  • Wie weiter unten unter Bezugnahme auf beschrieben, können einige Implementierungen das Analysieren des Inhalts von Blöcken eines blockbasierten Backups (z. B. eines Snapshots), das Identifizieren eines Dateisystems aus dem Inhalt der Blöcke, in dem die Blöcke in einem Quellspeichergerät (d. h. getrennt vom Backup-Gerät) gespeichert sind, und das Auswählen eines bestimmten Filters, der einem Typ des identifizierten Dateisystems entspricht, umfassen. Der ausgewählte Filter kann verwendet werden, um Blöcke zu identifizieren, die Metadaten des Dateisystems enthalten. Die Metadaten können analysiert werden, um alle Änderungen an den Objekten im Dateisystem zu ermitteln (z. B. neue Datei, geändertes Verzeichnis usw.). Solche Änderungsinformationen können verwendet werden, um einen Katalog der geänderten Objekte zu erstellen und/oder zu aktualisieren, die verschiedenen Snapshots zugeordnet sind, ohne dass jeder Snapshot eingehängt werden muss und dann alle enthaltenen Dateisysteme durchlaufen werden müssen. Auf diese Weise kann der Zeitaufwand und die Verarbeitungsbandbreite reduziert werden, die erforderlich sind, um Dateisystemobjekte zu identifizieren, die mit Schnappschüssen verbunden sind.
  • In ist ein schematisches Diagramm eines Beispielsystems 100 gemäß einigen Implementierungen dargestellt. Wie dargestellt, kann das System 100 ein Sicherungsgerät 110 und ein Speichergerät 120 umfassen. Das Backup-Gerät 110 kann eine Backup-Appliance (z. B. mit einem oder mehreren Controllern und einem oder mehreren Speichergeräten) oder jede andere Art von Computergerät sein, wie z. B. ein Speicher-Array, ein Server usw. Das Speichergerät 120 kann ein oder mehrere Speichergeräte umfassen, z. B. nichtflüchtige Speichergeräte (z. B. HDDs, SSDs usw.), In einigen Beispielen kann das Speichergerät 120 ein Speicher-Array sein.
  • Wie gezeigt, kann das Sicherungsgerät 110 in einigen Implementierungen eine Verarbeitungsressource 112 und einen maschinenlesbaren Speicher 114 enthalten. Die Verarbeitungsressource 112 kann einen oder mehrere Prozessoren, Zentraleinheiten (CPU), Verarbeitungskerne usw. enthalten. Die Verarbeitungsressource 112 kann eine beliebige Anzahl von Verarbeitungseinheiten oder „Kernen“ (nicht dargestellt) enthalten. Der maschinenlesbare Speicher 114 kann ein oder mehrere nicht-übertragbare Speichermedien wie HDDs, SSDs, Flash-Speicher, optische Platten usw. umfassen.
  • In einigen Implementierungen kann der maschinenlesbare Speicher 114 ein Sicherungsmodul 115, ein Katalogmodul 117 und einen Sicherungsspeicher 119 enthalten. Das Katalogmodul 117 und der Sicherungsspeicher 119 werden im Folgenden unter Bezugnahme auf die . In einigen Beispielen können das Sicherungsmodul 115 und/oder das Katalogmodul 117 durch Anweisungen (z. B. Software und/oder Firmware) implementiert werden, die von der Verarbeitungsressource 112 ausgeführt werden können und in dem maschinenlesbaren Speicher 114 gespeichert sind. Das Sicherungsmodul 115 und/oder das Katalogmodul 117 können jedoch auf jede geeignete Weise implementiert werden. Zum Beispiel könnten einige oder alle Teile des Sicherungsmoduls 115 und/oder des Katalogmoduls 117 als Schaltkreise in der Verarbeitungsressource 112 fest codiert sein. In anderen Beispielen könnten einige oder alle Teile des Sicherungsmoduls 115 und/oder des Katalogmoduls 117 auf einem entfernten Computer (nicht dargestellt), als Webdienste usw. implementiert sein. In einem anderen Beispiel kann das Sicherungsmodul 115 und/oder das Katalogmodul 117 in einem oder mehreren Controllern des Computergeräts 110 implementiert sein.
  • Wie gezeigt, kann das Speichergerät 120 in einigen Implementierungen einen Datenträger 125 mit einer beliebigen Anzahl von Dateisystemen 140A-140N (auch als „Dateisysteme 140“ bezeichnet) oder entsprechenden Teilen davon speichern. Die Dateisysteme 140A-140N können unterschiedliche Dateisystemtypen oder -formate verwenden (z. B. XFS, ZFS usw.). In einigen Implementierungen kann jedes Dateisystem 140 in Dateien und Verzeichnissen organisiert sein. In ist beispielsweise ein Beispiel für ein Dateisystem 200 mit Dateien und Verzeichnissen dargestellt, die als Knoten einer hierarchischen Baumstruktur organisiert sind. Wieder Bezug nehmend auf kann jedes Dateisystem 140 Daten enthalten, die Dateien darstellen (hier als „Dateidaten“ bezeichnet). Darüber hinaus kann das Dateisystem 140 auch Daten über das Dateisystem und Objekte enthalten (im Folgenden als „Metadaten“ bezeichnet), wie z. B. Eltern-Kind-Beziehungen von Dateien und Verzeichnissen, Dateiberechtigungen, Zeitstempel, Bezeichner, Größeninformationen und so weiter. In einigen Dateisystemen können die Metadaten beispielsweise in bestimmten Objekten (z. B. Inodes) gespeichert sein.
  • In einigen Implementierungen kann das Speichergerät 120 Schnappschüsse 150A-150C (auch als „Schnappschüsse 150“ bezeichnet) von Daten des Volumes 125 (einschließlich der Dateisysteme 140A-140N) erzeugen, wie sie zu verschiedenen Zeitpunkten existierten. Beispielsweise kann der Schnappschuss 150A die Daten des Datenträgers 125 zu einem ersten Zeitpunkt darstellen, der Schnappschuss 150B kann die Daten des Datenträgers 125 zu einem zweiten Zeitpunkt darstellen, und der Schnappschuss 150C kann die Daten des Datenträgers 125 zu einem dritten Zeitpunkt darstellen.
  • In einigen Implementierungen kann das Speichergerät 120 einen blockbasierten Sicherungsprozess für jeden der Snapshots 150A-150C durchführen, einschließlich der Bereitstellung von Daten der Snapshots 150A-150C in Datenströmen 160A-160C (auch als „Datenströme 160“ bezeichnet), von denen jeder ein Strom von Datenblöcken sein kann. In solchen Beispielen kann das Sicherungsmodul 115 eine jeweilige blockbasierte Sicherung basierend auf jedem der Datenströme 160A-160C erzeugen und im Sicherungsspeicher 119 speichern. Jede der erzeugten blockbasierten Sicherungen kann Daten eines jeweiligen der Snapshots 150A-150C in einer blockbasierten Darstellung repräsentieren, die sich von der Form unterscheidet, in der die Snapshots 150A-150C auf dem Speichergerät 120 gespeichert sind. Beispielsweise kann das Sicherungsmodul 115 eine Deduplizierung an den empfangenen Datenströmen 160A-160C durchführen und die blockbasierten Sicherungen in einer deduplizierten Form speichern. In einigen Implementierungen werden Datenblöcke für eine bestimmte Datei des Dateisystems 140 nicht notwendigerweise zusammen oder zusammenhängend in einer Sicherung des Sicherungsspeichers 119 gespeichert, und daher können Datenblöcke, die verschiedenen Dateien entsprechen, in einer Sicherung des Sicherungsspeichers 119 vermischt sein. Außerdem können in einigen Implementierungen ein oder mehrere Datenblöcke im Sicherungsspeicher 119 Metadaten des Dateisystems 140 enthalten.
  • In ist ein Diagramm eines beispielhaften Sicherungssystems 300 dargestellt. Wie dargestellt, enthält das Sicherungssystem 300 Beispiele des Katalogmoduls 117 und des Sicherungsspeichers 119 aus , gemäß einer oder mehreren Implementierungen. Wie gezeigt, kann das Katalogmodul 117 in einigen Beispielen die Kataloglogik 310, eine beliebige Anzahl von Filtern 320A-320N (auch als „Filter 320“ bezeichnet) und eine beliebige Anzahl von Katalogen 330 enthalten. Ferner kann der Sicherungsspeicher 119 in einigen Beispielen Snapshot-Sicherungen 350A-350C (auch als „Snapshot-Sicherungen 350“ bezeichnet) enthalten, bei denen es sich um blockbasierte Sicherungen von Datenströmen 160A-160C handeln kann, die Snapshots 150A-150C darstellen, wie oben beschrieben. Im Beispiel von ist das Snapshot-Backup 350A ein blockbasiertes Backup des Snapshots 150A (dargestellt in ). In ähnlicher Weise ist die Snapshot-Sicherung 350B eine blockbasierte Sicherung des Snapshots 150B, und die Snapshot-Sicherung 350C ist eine blockbasierte Sicherung des Snapshots 150C. In einigen Implementierungen kann der Sicherungsspeicher 119 Sicherungsdaten in deduplizierter Form speichern. In den hier beschriebenen Beispielen können Sicherungsdaten dedupliziert werden, indem „doppelte“ Blöcke (oder andere Dateneinheiten) identifiziert werden, deren Inhalt mit dem anderer Blöcke identisch ist, und mindestens einige doppelte Blöcke durch Zeiger auf die gespeicherte vollständige Kopie des Blocks ersetzt werden. In solchen Beispielen können verschiedene Dateneinheiten zwischen verschiedenen Sicherungen des Sicherungsspeichers 119 gemeinsam genutzt werden.
  • In einigen Implementierungen kann die Kataloglogik 310 den Inhalt von Blöcken eines Snapshot-Backups 350 analysieren, um anhand des Inhalts der Blöcke ein Dateisystem zu identifizieren, in dem Blöcke des zugehörigen Snapshots 150 auf dem Speichergerät 120 gespeichert sind. Beispielsweise kann die Kataloglogik 310 den Inhalt der Blöcke im Snapshot-Backup 350A analysieren oder lesen und einen Block identifizieren, der einen bestimmten Bezeichner oder kodierten Wert (z. B. eine einem Dateisystem zugeordnete „magische Zahl“) im Inhalt des Blocks enthält. Der bestimmte Bezeichner kann vordefiniert sein, da er eindeutig einem bestimmten Typ von Dateisystem zugeordnet ist (z. B. einem XFS-Dateisystem). Dementsprechend kann die Kataloglogik 310 in einigen Implementierungen den bestimmten Bezeichner in einem Block der Schnappschusssicherung 350A verwenden, um zu bestimmen, dass mindestens einige Daten des zugehörigen Schnappschusses 150A in einem Dateisystem des gegebenen Typs auf dem Speichergerät 120 gespeichert sind. In einigen Beispielen kann der Block, der den bestimmten Bezeichner enthält, als „Superblock“ bezeichnet werden, der ein Dateisystem identifiziert. In einigen Beispielen kann die Kataloglogik 310 das Dateisystem identifizieren, indem sie den Inhalt von Blöcken eines Snapshot-Backups 350 analysiert, nachdem es im Backup-Speicher 119 gespeichert wurde (z. B. nachdem es im Backup-Speicher 119 in einer deduplizierten Form gespeichert wurde, in einigen Beispielen). In anderen Beispielen kann die Kataloglogik 310 das Dateisystem identifizieren, indem sie den Inhalt von Blöcken analysiert, die in einem Datenstrom 160 enthalten sind, während dieser von der Sicherungseinrichtung 120 empfangen und verarbeitet wird (z. B. inline mit der Sicherungseinrichtung 110, die den Datenstrom 160 von der Speichereinrichtung 120 empfängt und die Schnappschusssicherung 350 erzeugt). In einigen Implementierungen kann die Kataloglogik 310 nach einem Dateisystem-Identifikator (d. h. Inhalt, der ein bestimmtes Dateisystem identifiziert) in einem oder mehreren Blöcken an bestimmten Stellen innerhalb des Snapshot-Backups 350 (z. B. im ersten Block, im zweiten Block, in den ersten zehn Blöcken und so weiter) suchen. Außerdem kann die Kataloglogik 310 in einigen Implementierungen kontinuierlich oder nach einem Muster (z. B. in jedem Block, in jedem zweiten Block, in jedem zehnten Block usw.) nach der Dateisystemkennung suchen.
  • In einer oder mehreren Implementierungen kann die Kataloglogik 310 einen bestimmten Filter 320 auswählen, der dem bestimmten Dateisystemtyp entspricht. Jeder Filter 320 kann Programmcode (d. h. ausführbare Anweisungen) und/oder Datenstruktur(en) sein, um Metadaten in Blöcken zu finden und zu interpretieren, die mit dem bestimmten Dateisystemtyp verbunden sind. Beispielsweise kann der ausgewählte Filter 320 verwendet werden, um Blöcke in einem Snapshot-Backup 350 (oder in einem Datenstrom 160) auf der Grundlage von Parametern zu analysieren, die mit dem Dateisystemtyp verbunden sind (z. B. Blockgröße, Blockformat, Feldpositionen und/oder Offsets, Feldnamen, Feldwerte, Bezeichner oder codierte Werte usw.), und um alle Blöcke zu identifizieren, die mit Kriterien übereinstimmen, die mit Metadaten verbunden sind (z. B. ein bestimmter Wert, der sich an einem bestimmten Offset des Blocks befindet). In einigen Implementierungen, in denen ein Snapshot 150 Unterschiede zu einem vorherigen Snapshot repräsentiert, kann ein Snapshot-Backup 350 für den Snapshot 150 (oder eines Datenstroms 160 des Snapshots 150) Blöcke repräsentieren, die sich seit dem vorherigen Snapshot geändert haben, und die Kataloglogik 310 kann den ausgewählten Filter 320 verwenden, um Metadaten in diesen geänderten Blöcken zu identifizieren, die im Snapshot-Backup 350 oder im Datenstrom 160 repräsentiert sind). In solchen Beispielen kann dieser Unterschied auch einen Unterschied zu einem vorherigen Backup darstellen (z. B. ein Backup, das auf dem vorherigen Snapshot basiert).
  • In einigen Implementierungen kann die Kataloglogik 310 die Metadaten in den geänderten Blöcken analysieren, um Namen und Speicherorte von Dateisystemobjekten zu bestimmen, die seit einem vorherigen Backup geändert worden sein könnten. Die Kataloglogik 310 kann die Objekte in einer Liste oder einer anderen Datenstruktur verfolgen, wenn sie während der Verarbeitung der Metadaten identifiziert werden, und kann schrittweise eine Baumstruktur basierend auf den verfolgten Objekten bestimmen. Die ermittelte Baumstruktur kann zum Beispiel anzeigen, dass eine erste Datei in einem ersten Verzeichnis enthalten ist und dass das erste Verzeichnis in einem zweiten Verzeichnis enthalten ist.
  • In einigen Implementierungen kann die Kataloglogik 310 Unterschiede zwischen der ermittelten Baumstruktur und einer vorherigen Baumstruktur (z. B. einer vorherigen Baumstruktur, die einem vorherigen Snapshot oder Backup entspricht) identifizieren und diese Unterschiede verwenden, um die Dateisystemobjekte zu bestimmen, die in einem aktuellen Snapshot oder Backup im Vergleich zum vorherigen Snapshot oder Backup geändert wurden. Es wird darauf hingewiesen, dass, wenn ein Dateisystemobjekt (z. B. eine Datei oder ein Verzeichnis) vor einem bestimmten Snapshot geändert wird, die mit dem geänderten Objekt verbundenen Metadaten ebenfalls vor dem bestimmten Snapshot geändert werden. Dementsprechend werden die entsprechenden Blöcke, die die geänderten Metadaten speichern, ebenfalls vor dem gegebenen Snapshot geändert und in einem blockbasierten Backup (oder einem Datenstrom 160 für ein solches blockbasiertes Backup) des gegebenen Snapshots dargestellt. In solchen Beispielen kann die Kataloglogik 310 die geänderten Blöcke relativ effizient analysieren, indem sie die Blöcke in der blockbasierten Sicherung (oder dem entsprechenden Datenstrom 160) des gegebenen Snapshots analysiert. Auf diese Weise kann die Beschränkung der Metadatenanalyse auf geänderte Blöcke die Identifizierung geänderter Objekte auf eine zeit- und verarbeitungsbandbreiteneffizientere Weise ermöglichen.
  • In einigen Implementierungen kann die Kataloglogik 310 einen Katalog 330 erzeugen oder aktualisieren, der Informationen über die mit einem Schnappschuss verbundenen Objekte enthält. Beispielsweise kann ein Katalog 330 eine Liste von Dateien, Verzeichnissen oder einer beliebigen Kombination davon enthalten, wie sie in einem bestimmten Schnappschuss (oder zum Zeitpunkt des Schnappschusses) gefunden wurden. Ferner kann der Katalog 330 in einigen Beispielen die Dateien und/oder Verzeichnisse angeben, die zwischen dem Zeitpunkt eines bestimmten Snapshots und dem Zeitpunkt eines vorherigen Snapshots geändert wurden. Darüber hinaus kann der Katalog 330 zusätzliche Informationen enthalten, die aus den Metadaten abgeleitet werden können, wie z. B. Versionsnummern, Zeitstempel, Größen, Berechtigungen, Benutzungsstatistiken und so weiter. In einigen Beispielen kann jeder Katalog 330 nur Informationen zu einem einzelnen Snapshot enthalten (z. B. eine Auflistung von Dateien, die sich zwischen einem bestimmten Snapshot und einem vorherigen Snapshot geändert haben). In anderen Beispielen kann jeder Katalog 330 Informationen über mehrere Schnappschüsse enthalten. In einigen Implementierungen können die Kataloginformationen darüber, welche Objekte für jeden Snapshot geändert wurden, zur Analyse der Leistung und/oder von Problemen des Speichersystems verwendet werden. Beispielsweise können solche Informationen verwendet werden, um Dateien zu identifizieren, die einer relativ hohen Anzahl von Änderungen unterworfen sind, und um die identifizierten Dateien weiter zu analysieren (z. B. um nach möglichen Malware-Angriffen zu scannen, nach Fehlkonfigurationen von Anwendungen, die diese Dateien verwenden, und so weiter).
  • In einigen Beispielen kann ein Katalog für ein inkrementelles Backup (z. B. Snapshot-Backup 350B) erstellt werden und die Dateien und Verzeichnisse auflisten, die zwischen dem Zeitpunkt des inkrementellen Backups und einem vorherigen Backup (z. B. Snapshot-Backup 350A) geändert wurden. In solchen Beispielen kann der mit dem inkrementellen Backup verknüpfte Katalog mit einem mit dem vorherigen Backup verknüpften Katalog kombiniert werden, um einen vollständigen Katalog aller Dateien und Verzeichnisse zu erstellen, der die Änderungen enthält, die von einem oder beiden, dem inkrementellen Backup und dem vorherigen Backup, erfasst wurden. In solchen Beispielen können eine oder mehrere inkrementelle Sicherungen und eine vorherige Vollsicherung verwendet werden, um eine synthetische Vollsicherung zu erzeugen, die einen Zeitpunkt einer der inkrementellen Sicherungen darstellt, und in solchen Beispielen können die jeweiligen Kataloge der vorherigen Sicherung und der einen oder mehreren inkrementellen Sicherungen kombiniert werden, um einen synthetischen Vollkatalog aller Dateien und Verzeichnisse einschließlich der von der synthetischen Vollsicherung erfassten Änderungen zu erzeugen.
  • In einigen Implementierungen kann die Kataloglogik 310 geänderte Objekte für mehrere Dateisysteme identifizieren, wobei ein Snapshot Daten aus jedem der Dateisysteme enthält. Nehmen Sie zum Beispiel an, dass ein gegebenes Snapshot-Backup 350 (oder ein Datenstrom 160) Blöcke von zwei Dateisystemen unterschiedlichen Typs enthält. In solchen Situationen kann die Kataloglogik 310 zwei Katalogisierungsoperationen mit zwei Filtern 320 durchführen, die den beiden unterschiedlichen Dateisystemen entsprechen. In einigen Beispielen kann die Kataloglogik 310 einen einzigen Katalog 330 aktualisieren, um die Dateien und Verzeichnisse der beiden Dateisysteme aufzulisten. In anderen Beispielen kann die Kataloglogik 310 zwei separate Kataloge 330 aktualisieren, um jeweils die Dateien und Verzeichnisse der beiden Dateisysteme aufzulisten. In den hier beschriebenen Beispielen kann die Kataloglogik 310 durch Anweisungen (z. B. Software und/oder Firmware) implementiert werden, die von der Verarbeitungsressource (z. B. 112) ausführbar und in einem maschinenlesbaren Speichermedium (z. B. 114) gespeichert sind. Die Kataloglogik 310 kann jedoch auf jede geeignete Weise implementiert werden.
  • In ist ein Beispielprozess 400 in Übereinstimmung mit einigen Implementierungen dargestellt. In einigen Beispielen kann der Prozess 400 unter Verwendung eines Teils oder der Gesamtheit des Katalogmoduls 117 (dargestellt in und ) durchgeführt werden. Der Prozess 400 kann in Hardware oder einer Kombination aus Hardware und Programmierung (z. B. maschinenlesbare Anweisungen, die von einem oder mehreren Prozessoren ausgeführt werden können) implementiert werden. Die maschinenlesbaren Anweisungen können in einem nicht-transitorischen, computerlesbaren Medium gespeichert sein, z. B. in einem optischen, Halbleiter- oder magnetischen Speichergerät. Die maschinenlesbaren Anweisungen können von einem einzelnen Prozessor, mehreren Prozessoren, einer einzelnen Verarbeitungsmaschine, mehreren Verarbeitungsmaschinen usw. ausgeführt werden. Zur Veranschaulichung können Details des Prozesses 400 im Folgenden unter Bezugnahme auf die beschrieben, die Beispiele in Übereinstimmung mit einigen Implementierungen zeigen. Es sind jedoch auch andere Implementierungen möglich.
  • Block 410 kann den Zugriff auf eine Vielzahl von Blöcken beinhalten, die in einer blockbasierten Sicherung eines ersten Snapshots eines Speicherdatenträgers enthalten sind. Zum Beispiel kann die Kataloglogik 310 (siehe , kann die Kataloglogik 310 Blöcke lesen oder anderweitig auf Blöcke zugreifen, die in der Snapshot-Sicherung 350A (oder im Datenstrom 160A) enthalten sind. Das Snapshot-Backup 350A kann ein blockbasiertes Backup des Snapshots 150A von Volume 125 sein. In einigen Implementierungen kann das Snapshot-Backup 350A ein blockbasiertes Backup sein, das Blöcke in deduplizierter Form speichert.
  • Block 420 kann das Bestimmen eines ersten Blocks der blockbasierten Sicherung beinhalten, der ein erstes Dateisystem identifiziert, in dem der Block im Speichervolumen in einem Quellspeichergerät gespeichert ist. Block 430 kann die Bestimmung eines Dateisystemtyps des ersten Dateisystems auf der Grundlage des ersten Blocks umfassen. Beispielsweise kann die Kataloglogik 310 unter Bezugnahme auf die , kann die Kataloglogik 310 einen Block in der Schnappschusssicherung 350A (oder im Datenstrom 160A) identifizieren, der einen bestimmten Bezeichner (z. B. einen vordefinierten Hex-Wert) an einer bestimmten Stelle des Blocks enthält, und kann dadurch bestimmen, dass die in dem zugehörigen Schnappschuss 150A enthaltenen Daten in einem bestimmten Typ von Dateisystem (z. B. einem XFS-Dateisystem) in dem Speichervolumen des Quellenspeichergeräts gespeichert sind.
  • Block 440 kann die Auswahl eines ersten Filters aus einer Vielzahl von Filtern beinhalten, der mit dem Dateisystemtyp verbunden ist. Block 450 kann die Identifizierung eines Satzes von Blöcken der blockbasierten Sicherung, die Metadaten des ersten Dateisystems enthalten, unter Verwendung des ausgewählten ersten Filters umfassen. Beispielsweise kann die Kataloglogik 310 unter Bezugnahme auf , kann die Kataloglogik 310 einen Filter 320 auswählen, der dem bestimmten Dateisystemtyp entspricht. In einigen Implementierungen kann die Kataloglogik 310 den Filter 320 verwenden, um Metadaten in Blöcken des Snapshot-Backups 350A (oder des Datenstroms 160A) zu lokalisieren und zu interpretieren, die dem bestimmten Dateisystemtyp entsprechen. In einigen Beispielen kann die Kataloglogik 310 den Filter 320 verwenden, um Metadaten in Blöcken des blockbasierten Backups zu identifizieren, wobei die Blöcke des blockbasierten Backups geänderte Blöcke zwischen jeweiligen Schnappschüssen (die durch jeweilige blockbasierte Backups repräsentiert werden) darstellen. In einigen Beispielen kann die Kataloglogik 310 den Filter 320 verwenden, um Metadaten in allen Blöcken eines blockbasierten Backups zu identifizieren.
  • Block 460 kann beinhalten, dass unter Verwendung des ausgewählten ersten Filters eine geänderte Datei im ersten Dateisystem basierend auf den Metadaten im Satz von Blöcken bestimmt wird. Zum Beispiel, siehe , kann die Kataloglogik 310 Metadaten in Blöcken einer Schnappschusssicherung 350A (oder eines Datenstroms 160A) analysieren, die geänderte Blöcke in einer Datensammlung zwischen verschiedenen Zeitpunkten darstellen, um eine Liste von Dateien und/oder Verzeichnissen zu bestimmen, die zwischen diesen verschiedenen Zeitpunkten (z. B. zwischen entsprechenden Schnappschüssen oder Sicherungen) geändert worden sein können. Des Weiteren kann die Kataloglogik 310 die ermittelte Liste mit einer vorherigen Liste von Objekten vergleichen und eine geänderte Datei basierend auf den Unterschieden zwischen den beiden Listen bestimmen.
  • Block 470 kann das Aktualisieren eines Katalogs beinhalten, um anzuzeigen, dass die geänderte Datei mit dem ersten Schnappschuss verbunden ist. Der Katalog kann Informationen über Dateisystemobjekte enthalten, die mit einem oder mehreren Schnappschüssen verknüpft sind. Beispielsweise kann die Kataloglogik 310 (siehe , kann die Kataloglogik 310 einen Katalog 330 aktualisieren, um Informationen bezüglich der Dateien und Verzeichnisse zu enthalten, die mit dem Schnappschuss 150A verbunden sind. Beispielsweise kann ein Katalog 330 die Dateien und Verzeichnisse auflisten, die in jedem Snapshot 150A-150C (relativ zu einem anderen Snapshot) geändert wurden. Nach Block 470 kann der Prozess 400 abgeschlossen sein. Beachten Sie, dass der Prozess 400 für jeden Snapshot 150 wiederholt werden kann.
  • In ist ein Beispielprozess 500 in Übereinstimmung mit einigen Implementierungen dargestellt. In einigen Beispielen kann der Prozess 500 unter Verwendung eines Teils oder der Gesamtheit des Katalogmoduls 117 (dargestellt in und ) durchgeführt werden. Der Prozess 500 kann in Hardware oder einer Kombination aus Hardware und Programmierung (z. B. maschinenlesbare Anweisungen, die von einem oder mehreren Prozessoren ausgeführt werden können) implementiert werden. Die maschinenlesbaren Anweisungen können in einem nicht-transitorischen, computerlesbaren Medium gespeichert sein, z. B. in einem optischen, Halbleiter- oder magnetischen Speichergerät. Die maschinenlesbaren Anweisungen können von einem einzelnen Prozessor, mehreren Prozessoren, einer einzelnen Verarbeitungsmaschine, mehreren Verarbeitungsmaschinen usw. ausgeführt werden. Zur Veranschaulichung werden Einzelheiten des Verfahrens 500 im Folgenden unter Bezugnahme auf die beschrieben, die Beispiele in Übereinstimmung mit einigen Implementierungen zeigen. Es sind jedoch auch andere Implementierungen möglich.
  • Block 510 kann den Zugriff auf eine Vielzahl von Blöcken in einer blockbasierten Sicherung eines ersten Snapshots eines Speicherdatenträgers beinhalten. Zum Beispiel kann die Kataloglogik 310, wie in , kann die Kataloglogik 310 Blöcke lesen oder anderweitig auf Blöcke zugreifen, die in der Snapshot-Sicherung 350A (oder im Datenstrom 160A) enthalten sind. Das Snapshot-Backup 350A kann ein blockbasiertes Backup des Snapshots 150A von Volume 125 sein. In einigen Implementierungen kann das Snapshot-Backup 350A Blöcke in deduplizierter Form speichern.
  • Block 520 kann das Bestimmen eines ersten Dateisystems, das (zumindest teilweise) auf dem Speichervolumen gespeichert ist, basierend auf der Vielzahl von Blöcken der blockbasierten Sicherung beinhalten, wobei das erste Dateisystem ein erster Typ von Dateisystem ist. Zum Beispiel, bezogen auf die , kann die Kataloglogik 310 einen Block im Snapshot-Backup 350A (oder im Datenstrom 160A) identifizieren, der einen bestimmten Bezeichner an einer bestimmten Stelle des Blocks enthält, und kann dadurch bestimmen, dass Daten eines bestimmten Typs von Dateisystem (z. B. ein XFS-Dateisystem) in dem zugehörigen Snapshot 150A enthalten sind.
  • Block 530 kann die Auswahl eines ersten Filters aus einer Vielzahl von Filtern beinhalten, der mit dem ersten Typ von Dateisystem verbunden ist. Beispielsweise kann die Kataloglogik 310 unter Bezugnahme auf die , kann die Kataloglogik 310 einen Filter 320 auswählen, der dem bestimmten Dateisystemtyp entspricht. In einigen Implementierungen kann die Kataloglogik 310 den Filter 320 verwenden, um Metadaten in Blöcken des Snapshot-Backups 350A (oder des Datenstroms 160A) zu lokalisieren und zu interpretieren, die dem bestimmten Dateisystemtyp zugeordnet sind. In einigen Beispielen kann die Kataloglogik 310 den Filter 320 verwenden, um Metadaten ausschließlich in geänderten Blöcken des blockbasierten Backups zu identifizieren. In anderen Beispielen kann die Kataloglogik 310 den Filter 320 verwenden, um Metadaten in allen Blöcken des blockbasierten Backups zu identifizieren.
  • Block 540 kann die Bestimmung einer geänderten Datei im ersten Dateisystem basierend auf dem ausgewählten ersten Filter beinhalten. Beispielsweise kann die Kataloglogik 310 unter Bezugnahme auf , kann die Kataloglogik 310 Metadaten in den geänderten Blöcken des Snapshot-Backups 350A (oder des Datenstroms 160A) analysieren, um eine Liste von Dateien und/oder Verzeichnissen zu ermitteln, die zwischen verschiedenen Zeitpunkten (z. B. zwischen Snapshots oder Backups) geändert worden sein können, kann die ermittelte Liste mit einer vorherigen Liste von Objekten vergleichen und kann eine geänderte Datei basierend auf den Unterschieden zwischen den beiden Listen identifizieren.
  • Block 550 kann das Aktualisieren eines Katalogs beinhalten, um anzuzeigen, dass die geänderte Datei mit dem ersten Schnappschuss verbunden ist. Beispielsweise kann die Kataloglogik 310 (siehe , kann die Kataloglogik 310 einen Katalog 330 aktualisieren, um Informationen bezüglich der Dateien und Verzeichnisse einzuschließen, die mit dem Schnappschuss 150A verbunden sind. Beispielsweise kann ein Katalog 330 für jeden der Schnappschüsse 150A-150C die Dateien und Verzeichnisse auflisten, deren Änderungen in diesen Schnappschüssen dargestellt sind. Nach Block 550 kann der Prozess 500 abgeschlossen sein. Beachten Sie, dass der Prozess 500 für jeden Snapshot 150 wiederholt werden kann.
  • zeigt das maschinenlesbare Medium 600, das die Anweisungen 610-650 speichert, gemäß einigen Implementierungen. Die Anweisungen 610-650 können von einem einzelnen Prozessor (z. B. der in gezeigten Verarbeitungsressource 112), mehreren Prozessoren, einer einzelnen Verarbeitungs-Engine, mehreren Verarbeitungs-Engines und so weiter ausgeführt werden. Das maschinenlesbare Medium 600 kann ein nicht-transitorisches Speichermedium sein, wie z. B. ein optisches, Halbleiter- oder magnetisches Speichermedium.
  • Anweisungen 610 können ausgeführt werden, um auf eine Vielzahl von Blöcken in einem blockbasierten Backup eines ersten Snapshots eines Speicherdatenträgers zuzugreifen. Beispielsweise können die Anweisungen 610 Blöcke lesen oder anderweitig auf Blöcke zugreifen, die im Snapshot-Backup 350A (oder im Datenstrom 160A) enthalten sind. Das Snapshot-Backup 350A kann ein blockbasiertes Backup des Snapshots 150A von Volume 125 sein. In einigen Implementierungen kann das Snapshot-Backup 350A Blöcke in deduplizierter Form speichern.
  • Die Anweisungen 620 können ausgeführt werden, um basierend auf der Vielzahl von Blöcken der blockbasierten Sicherung ein erstes Dateisystem zu bestimmen, in dem Daten auf dem Speichervolumen gespeichert sind, wobei das erste Dateisystem ein erster Typ von Dateisystem ist. Beispielsweise können unter Bezugnahme auf die und , können die Anweisungen 620 einen Block in der Schnappschusssicherung 350A (oder im Datenstrom 160A) identifizieren, der einen bestimmten Bezeichner an einer bestimmten Stelle des Blocks enthält, und dadurch bestimmen, dass Daten eines bestimmten Typs von Dateisystem (z. B. ein XFS-Dateisystem) in dem zugehörigen Schnappschuss 150A enthalten sind.
  • Die Anweisungen 630 können ausgeführt werden, um aus einer Vielzahl von Filtern einen ersten Filter auszuwählen, der dem ersten Typ von Dateisystem zugeordnet ist. Beispielsweise können die Anweisungen 630 unter Bezugnahme auf und , können die Anweisungen 630 einen Filter 320 auswählen, der dem bestimmten Dateisystemtyp entspricht. In einigen Implementierungen können die Anweisungen 630 den Filter 320 verwenden, um Metadaten in Blöcken der Snapshot-Sicherung 350A (oder des Datenstroms 160A) zu finden und zu interpretieren, die dem bestimmten Dateisystemtyp zugeordnet sind. In einigen Beispielen können die Anweisungen 630 den Filter 320 verwenden, um Metadaten ausschließlich in geänderten Blöcken des blockbasierten Backups zu identifizieren. In anderen Beispielen können die Anweisungen 630 den Filter 320 verwenden, um Metadaten in allen Blöcken des blockbasierten Backups zu identifizieren.
  • Die Anweisung 640 kann ausgeführt werden, um eine geänderte Datei im ersten Dateisystem basierend auf dem ausgewählten ersten Filter zu bestimmen. Zum Beispiel, siehe und , kann die Anweisung 640 Metadaten in den geänderten Blöcken des Snapshot-Backups 350A (oder des Datenstroms 160A) analysieren, um eine Liste von Dateien und/oder Verzeichnissen zu bestimmen, die zwischen verschiedenen Zeitpunkten (z. B. zwischen Snapshots oder Backups) geändert worden sein können, kann die bestimmte Liste mit einer vorherigen Liste von Objekten vergleichen und kann eine geänderte Datei basierend auf den Unterschieden zwischen den beiden Listen identifizieren.
  • Die Anweisung 650 kann ausgeführt werden, um einen Katalog zu aktualisieren, um anzuzeigen, dass die geänderte Datei mit dem ersten Schnappschuss verbunden ist. Zum Beispiel, siehe und , können die Anweisungen 650 einen Katalog 330 aktualisieren, um Informationen zu den Dateien und Verzeichnissen zu enthalten, die dem Schnappschuss 150A zugeordnet sind. Beispielsweise kann ein Katalog 330 die Dateien und Verzeichnisse auflisten, deren Änderungen in jedem Schnappschuss 150A-150C dargestellt sind.
  • zeigt ein schematisches Diagramm eines Beispiel-Rechengeräts 700. In einigen Beispielen kann die Rechenvorrichtung 700 im Allgemeinen der Rechenvorrichtung 110 (dargestellt in ) entsprechen. Wie gezeigt, kann die Rechenvorrichtung 700 einen Hardwareprozessor 702 und einen maschinenlesbaren Speicher 705 mit Anweisungen 710-750 enthalten. Der maschinenlesbare Speicher 705 kann ein nicht-übertragbares Medium sein. Die Anweisungen 710-750 können durch den Hardware-Prozessor 702 oder durch eine im Hardware-Prozessor 702 enthaltene Verarbeitungsmaschine ausgeführt werden.
  • Die Anweisungen 710 können ausgeführt werden, um auf eine Vielzahl von Blöcken in einer blockbasierten Sicherung eines ersten Snapshots eines Speicherdatenträgers zuzugreifen. Zum Beispiel können die Anweisungen 710 (siehe und , können die Anweisungen 710 Blöcke lesen oder anderweitig auf Blöcke zugreifen, die in der Snapshot-Sicherung 350A (oder im Datenstrom 160A) enthalten sind. Das Snapshot-Backup 350A kann ein blockbasiertes Backup des Snapshots 150A von Volume 125 sein. In einigen Implementierungen kann das Snapshot-Backup 350A Blöcke in deduplizierter Form speichern.
  • Die Anweisungen 720 können ausgeführt werden, um basierend auf der Vielzahl von Blöcken der blockbasierten Sicherung ein erstes Dateisystem zu bestimmen, das (zumindest teilweise) auf dem Speichervolumen gespeichert ist, wobei das erste Dateisystem ein erster Typ von Dateisystem ist. Beispielsweise können unter Bezugnahme auf die und , können die Anweisungen 720 einen Block im Snapshot-Backup 350A (oder im Datenstrom 160A) identifizieren, der einen bestimmten Bezeichner an einer bestimmten Stelle des Blocks enthält, und können dadurch bestimmen, dass Daten eines bestimmten Typs von Dateisystem (z. B. ein XFS-Dateisystem) im zugehörigen Snapshot 150A enthalten sind.
  • Die Anweisungen 730 können ausgeführt werden, um aus einer Vielzahl von Filtern einen ersten Filter auszuwählen, der dem ersten Typ von Dateisystem zugeordnet ist. Zum Beispiel können die Anweisungen 730 unter Bezugnahme auf und , können die Anweisungen 730 einen Filter 320 auswählen, der dem bestimmten Dateisystemtyp entspricht. In einigen Implementierungen können die Anweisungen 730 den Filter 320 verwenden, um Metadaten in Blöcken der Snapshot-Sicherung 350A (oder des Datenstroms 160A) zu finden und zu interpretieren, die dem bestimmten Dateisystemtyp zugeordnet sind. In einigen Beispielen können die Anweisungen 730 den Filter 320 verwenden, um Metadaten ausschließlich in geänderten Blöcken zu identifizieren, die durch das blockbasierte Backup dargestellt werden. In anderen Beispielen können die Anweisungen 730 den Filter 320 verwenden, um Metadaten in allen Blöcken des blockbasierten Backups zu identifizieren.
  • Die Anweisungen 740 können ausgeführt werden, um eine geänderte Datei im ersten Dateisystem basierend auf dem ausgewählten ersten Filter zu bestimmen. Zum Beispiel können die Anweisungen 740 (siehe und , können die Anweisungen 740 Metadaten in den geänderten Blöcken analysieren, die im Snapshot-Backup 350A (oder im Datenstrom 160A) dargestellt sind, um eine Liste von Dateien und/oder Verzeichnissen zu bestimmen, die zwischen verschiedenen Zeitpunkten (z. B. zwischen verschiedenen Snapshots oder Backups) geändert worden sein können, können die bestimmte Liste mit einer vorherigen Liste von Objekten vergleichen und können eine geänderte Datei basierend auf den Unterschieden zwischen den beiden Listen identifizieren.
  • Die Anweisungen 750 können ausgeführt werden, um einen Katalog zu aktualisieren, um anzuzeigen, dass die geänderte Datei mit dem ersten Schnappschuss verbunden ist. Zum Beispiel, siehe und , können Anweisungen 750 einen Katalog 330 aktualisieren, um Informationen bezüglich der Dateien und Verzeichnisse zu enthalten, die dem Schnappschuss 150A zugeordnet sind. Zum Beispiel kann ein Katalog 330 die Dateien und Verzeichnisse auflisten, die in jedem Schnappschuss 150A-150C geändert wurden.
  • Beachten Sie, dass die zwar verschiedene Beispiele zeigen, die Implementierungen in dieser Hinsicht jedoch nicht beschränkt sind. In Bezug auf ist es beispielsweise denkbar, dass das System 100 zusätzliche Geräte und/oder Komponenten, weniger Komponenten, andere Komponenten, andere Anordnungen usw. enthält. In einem anderen Beispiel ist es denkbar, dass das Sicherungsmodul 115 und das Katalogmodul 117 zu einem einzigen Modul kombiniert werden oder in einem anderen Modul oder einer anderen Software des Sicherungsgeräts 110 enthalten sein können. In einem weiteren Beispiel ist vorgesehen, dass die Dateisysteme 140 und/oder Snapshots 150 in einer beliebigen Anzahl von Speichergeräten 120 enthalten sein können und/oder die Snapshot-Backups 350 in einer beliebigen Anzahl von Backup-Geräten (nicht dargestellt) gespeichert werden können. Andere Kombinationen und/oder Variationen sind ebenfalls möglich.
  • In Übereinstimmung mit einigen Implementierungen werden Beispiele für Kataloge von Dateien bereitgestellt, die mit Schnappschüssen verbunden sind. Einige Implementierungen können die Analyse von Blöcken eines blockbasierten Backups eines Snapshots, die Identifizierung eines in den Blöcken enthaltenen Dateisystems und die Auswahl eines bestimmten Filters, der einem Typ des Dateisystems entspricht, umfassen. Der ausgewählte Filter kann verwendet werden, um Blöcke zu identifizieren, die Metadaten des Dateisystems enthalten. Die Metadaten können analysiert werden, um Änderungen an den Objekten im Dateisystem zu ermitteln. Die ermittelten Änderungen werden dann verwendet, um einen Katalog von Objekten zu erzeugen und/oder zu aktualisieren, die mit verschiedenen Snapshots verbunden sind. Dementsprechend können einige Implementierungen den Zeitaufwand und die Verarbeitungsbandbreite reduzieren, die erforderlich sind, um Dateisystemobjekte zu identifizieren, die mit Schnappschüssen verbunden sind.
  • Daten und Anweisungen werden in entsprechenden Speichergeräten gespeichert, die als ein oder mehrere computerlesbare oder maschinenlesbare Speichermedien ausgeführt sind. Zu den Speichermedien gehören verschiedene Formen von nicht transitorischen Speichern, darunter Halbleiterspeicher wie dynamische oder statische Direktzugriffsspeicher (DRAMs oder SRAMs), löschbare und programmierbare Festwertspeicher (EPROMs), elektrisch löschbare und programmierbare Festwertspeicher (EEPROMs) und Flash-Speicher; Magnetplatten wie Fest-, Disketten- und Wechselplatten; andere magnetische Medien einschließlich Bändern; optische Medien wie Compact Disks (CDs) oder digitale Videodisks (DVDs); oder andere Arten von Speichergeräten.
  • Beachten Sie, dass die oben besprochenen Anweisungen auf einem einzigen computerlesbaren oder maschinenlesbaren Speichermedium bereitgestellt werden können oder alternativ auf mehreren computerlesbaren oder maschinenlesbaren Speichermedien, die in einem großen System mit möglicherweise mehreren Knoten verteilt sind. Ein solches computerlesbares oder maschinenlesbares Speichermedium oder solche Speichermedien werden als Teil eines Artikels (oder Herstellungsartikels) betrachtet. Ein Artikel oder Herstellungsgegenstand kann sich auf jede hergestellte Einzelkomponente oder mehrere Komponenten beziehen. Das Speichermedium oder die Speichermedien können sich entweder in der Maschine befinden, in der die maschinenlesbaren Anweisungen ausgeführt werden, oder an einem entfernten Standort, von dem maschinenlesbare Anweisungen über ein Netzwerk zur Ausführung heruntergeladen werden können.
  • In der vorstehenden Beschreibung sind zahlreiche Details aufgeführt, um ein Verständnis des hier offengelegten Gegenstands zu ermöglichen. Es können jedoch auch Implementierungen ohne einige dieser Details durchgeführt werden. Andere Implementierungen können Modifikationen und Variationen von den oben beschriebenen Details enthalten. Es ist beabsichtigt, dass die beigefügten Ansprüche solche Modifikationen und Variationen abdecken.

Claims (20)

  1. Ein Sicherungssystem, das Folgendes umfasst: einen Prozessor, der eine Vielzahl von Verarbeitungsmaschinen umfasst; und einen maschinenlesbaren Speicher, der Befehle speichert, wobei die Befehle durch den Prozessor ausgeführt werden können, um: Zugriff auf eine Vielzahl von Blöcken in einer blockbasierten Sicherung eines ersten Schnappschusses eines Speichervolumens; Bestimmen, basierend auf der Vielzahl von Blöcken in der blockbasierten Sicherung, eines ersten Dateisystems, das auf dem Speichervolumen gespeichert ist, wobei das erste Dateisystem ein erster Typ von Dateisystem ist; Wählen Sie aus einer Vielzahl von Filtern einen ersten Filter aus, der dem ersten Typ von Dateisystem zugeordnet ist; Bestimmen einer geänderten Datei im ersten Dateisystem basierend auf dem ausgewählten ersten Filter; und einen Katalog aktualisieren, um anzuzeigen, dass die geänderte Datei mit dem ersten Schnappschuss verbunden ist.
  2. Das Computergerät nach Anspruch 1, wobei die Anweisungen vom Prozessor ausgeführt werden können, um: Bestimmen eines ersten Blocks, der das erste Dateisystem in dem Speichervolumen identifiziert; und anhand des ersten Blocks den ersten Typ des Dateisystems bestimmen.
  3. Das Computergerät nach Anspruch 1, wobei die Anweisungen vom Prozessor ausgeführt werden können, um: auf die Vielzahl von Blöcken der blockbasierten Sicherung aus einem ersten Datenstrom zugreifen, wie er von der Sicherungsvorrichtung von einem Speichersystem empfangen wird, das das Speichervolumen enthält.
  4. Das Computergerät nach Anspruch 1, wobei die Anweisungen vom Prozessor ausgeführt werden können, um: Zugriff auf die Vielzahl von Blöcken der blockbasierten Sicherung, nachdem die blockbasierte Sicherung in einem Sicherungsspeicher des Sicherungsgeräts gespeichert wurde.
  5. Das Computergerät nach Anspruch die Anweisungen, die vom Prozessor ausgeführt werden können, um: unter Verwendung des ausgewählten ersten Filters einen Satz von Blöcken im ersten Schnappschuss identifizieren, die Metadaten des ersten Dateisystems enthalten; und Bestimmen der geänderten Datei im ersten Dateisystem basierend auf der Menge der Blöcke, die Metadaten des ersten Dateisystems enthalten.
  6. Das Computergerät nach Anspruch 4, wobei die Anweisungen vom Prozessor ausgeführt werden können, um: die Metadaten in dem Satz von Blöcken analysieren, um Namen und Orte eines Satzes von Objekten des ersten Dateisystems zu bestimmen; die Menge der Objekte in einer Datenstruktur während der Analyse der Metadaten verfolgen; eine Baumstruktur basierend auf der verfolgten Menge von Objekten bestimmen; Unterschiede zwischen der Baumstruktur und einer vorherigen Baumstruktur identifizieren; und Ermitteln der geänderten Datei im ersten Dateisystem anhand der ermittelten Unterschiede.
  7. Das Computergerät nach Anspruch 1, wobei die Anweisungen vom Prozessor ausgeführt werden können, um: Bestimmen, basierend auf der Vielzahl von Blöcken, eines zweiten Dateisystems, das auf dem Speichervolumen gespeichert ist, wobei das zweite Dateisystem ein zweiter Typ von Dateisystem ist; aus einer Vielzahl von Filtern einen zweiten Filter auszuwählen, der dem zweiten Typ von Dateisystem zugeordnet ist; und Ermitteln eines geänderten Objekts im zweiten Dateisystem basierend auf dem ausgewählten zweiten Filter.
  8. Ein nicht-transitorisches maschinenlesbares Medium, das Befehle speichert, die bei Ausführung einen Prozessor dazu veranlassen: Zugriff durch ein Sicherungssystem auf eine Vielzahl von Blöcken, die in einer blockbasierten Sicherung eines ersten Schnappschusses eines Speicherdatenträgers enthalten sind; Bestimmen, basierend auf der Vielzahl von Blöcken des blockbasierten Backups, eines ersten Dateisystems, das auf dem Speichervolumen gespeichert ist, wobei das erste Dateisystem ein erster Typ von Dateisystem ist; Wählen Sie aus einer Vielzahl von Filtern einen ersten Filter aus, der dem ersten Typ von Dateisystem zugeordnet ist; Bestimmen einer geänderten Datei im ersten Dateisystem basierend auf dem ausgewählten ersten Filter; und einen Katalog aktualisieren, um anzuzeigen, dass die geänderte Datei mit dem ersten Schnappschuss verbunden ist.
  9. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 8, das Anweisungen enthält, um den Prozessor zu veranlassen: Bestimmen eines ersten Blocks, der das erste Dateisystem in dem Speichervolumen identifiziert; und anhand des ersten Blocks den ersten Typ des Dateisystems bestimmen.
  10. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 8, das Anweisungen enthält, um den Prozessor zu veranlassen: Zugriff auf die Vielzahl von Blöcken des blockbasierten Backups aus einem ersten Datenstrom, wie er vom Backup-Gerät von einem Speichersystem, das das Speichervolumen enthält, empfangen wird.
  11. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 8, das Anweisungen enthält, um den Prozessor zu veranlassen: Zugriff auf die Vielzahl von Blöcken der blockbasierten Sicherung, nachdem die blockbasierte Sicherung in einem Sicherungsspeicher des Sicherungsgeräts gespeichert wurde.
  12. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 8, das Anweisungen enthält, um den Prozessor zu veranlassen: unter Verwendung des ausgewählten ersten Filters einen Satz von Blöcken im ersten Schnappschuss identifizieren, die Metadaten des ersten Dateisystems enthalten; und Bestimmen der geänderten Datei im ersten Dateisystem basierend auf der Menge der Blöcke, die Metadaten des ersten Dateisystems enthalten.
  13. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 11, das Anweisungen enthält, um den Prozessor zu veranlassen: die Metadaten in dem Satz von Blöcken analysieren, um Namen und Orte eines Satzes von Objekten des ersten Dateisystems zu bestimmen; die Menge der Objekte in einer Datenstruktur während der Analyse der Metadaten verfolgen; eine Baumstruktur basierend auf der verfolgten Menge von Objekten bestimmen; Unterschiede zwischen der Baumstruktur und einer vorherigen Baumstruktur identifizieren; und Ermitteln der geänderten Datei im ersten Dateisystem anhand der ermittelten Unterschiede.
  14. Nicht-transitorisches maschinenlesbares Speichermedium nach Anspruch 8, das Anweisungen enthält, um den Prozessor zu veranlassen: Bestimmen, basierend auf der Vielzahl von Blöcken, eines zweiten Dateisystems, das auf dem Speichervolumen gespeichert ist, wobei das zweite Dateisystem ein zweiter Typ von Dateisystem ist; aus einer Vielzahl von Filtern einen zweiten Filter auszuwählen, der dem zweiten Typ von Dateisystem zugeordnet ist; und Ermitteln eines geänderten Objekts im zweiten Dateisystem basierend auf dem ausgewählten zweiten Filter.
  15. Ein computerimplementiertes Verfahren, umfassend: Zugriff durch ein Sicherungssystem auf eine Vielzahl von Blöcken, die in einer blockbasierten Sicherung eines ersten Schnappschusses eines Speicherdatenträgers enthalten sind; Bestimmen, basierend auf der Vielzahl von Blöcken des blockbasierten Backups, eines ersten Dateisystems, das auf dem Speichervolumen gespeichert ist, wobei das erste Dateisystem ein erster Typ von Dateisystem ist; Auswahl eines ersten Filters aus einer Vielzahl von Filtern, der mit dem ersten Typ von Dateisystem verbunden ist; Bestimmen einer geänderten Datei im ersten Dateisystem basierend auf dem ausgewählten ersten Filter; und Aktualisieren eines Katalogs, um anzuzeigen, dass die geänderte Datei mit dem ersten Schnappschuss verbunden ist.
  16. Das computerimplementierte Verfahren nach Anspruch 15, umfassend: Bestimmen eines ersten Blocks, der das erste Dateisystem in dem Speichervolumen identifiziert, wobei das Bestimmen des ersten Blocks das Bestimmen umfasst, dass ein vordefinierter Wert an einer bestimmten Stelle des ersten Blocks gespeichert ist; und Bestimmen, basierend auf dem ersten Block, des ersten Typs des Dateisystems.
  17. Das computerimplementierte Verfahren nach Anspruch 16, umfassend: Zugreifen auf die Vielzahl von Blöcken der blockbasierten Sicherung aus einem ersten Datenstrom, wie er von der Sicherungsvorrichtung von einem Speichersystem empfangen wird, das das Speichervolumen enthält.
  18. Das computerimplementierte Verfahren nach Anspruch 15, umfassend: Zugreifen auf die Vielzahl von Blöcken der blockbasierten Sicherung, nachdem die blockbasierte Sicherung in einem Sicherungsspeicher des Sicherungsgeräts gespeichert wurde.
  19. Das computerimplementierte Verfahren nach Anspruch 15, umfassend: Identifizieren, unter Verwendung des ausgewählten ersten Filters, eines Satzes von Blöcken in dem ersten Schnappschuss, die Metadaten des ersten Dateisystems enthalten; und Bestimmen der geänderten Datei im ersten Dateisystem basierend auf der Menge der Blöcke, die Metadaten des ersten Dateisystems enthalten.
  20. Das computerimplementierte Verfahren nach Anspruch 15, umfassend: Bestimmen, basierend auf der Vielzahl von Blöcken, eines zweiten Dateisystems, das auf dem Speichervolumen gespeichert ist, wobei das zweite Dateisystem ein zweiter Typ von Dateisystem ist; aus einer Vielzahl von Filtern einen zweiten Filter auszuwählen, der dem zweiten Typ von Dateisystem zugeordnet ist; und Bestimmen eines geänderten Objekts im zweiten Dateisystem basierend auf dem ausgewählten zweiten Filter.
DE102021102442.0A 2020-03-26 2021-02-03 Katalog der mit schnappschüssen verbundenen dateien Pending DE102021102442A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/830421 2020-03-26
US16/830,421 US11645161B2 (en) 2020-03-26 2020-03-26 Catalog of files associated with snapshots

Publications (1)

Publication Number Publication Date
DE102021102442A1 true DE102021102442A1 (de) 2021-09-30

Family

ID=77659110

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021102442.0A Pending DE102021102442A1 (de) 2020-03-26 2021-02-03 Katalog der mit schnappschüssen verbundenen dateien

Country Status (3)

Country Link
US (1) US11645161B2 (de)
CN (1) CN113448917A (de)
DE (1) DE102021102442A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537555B2 (en) * 2020-12-15 2022-12-27 EMC IP Holding Company LLC Managing network shares utilizing filesystem snapshots comprising metadata characterizing network shares
US11940883B2 (en) 2022-07-25 2024-03-26 Dell Products L.P. Generating a synthetic full backup

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873601B1 (en) 2006-06-29 2011-01-18 Emc Corporation Backup of incremental metadata in block based backup systems
US8566362B2 (en) 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
US8504529B1 (en) * 2009-06-19 2013-08-06 Netapp, Inc. System and method for restoring data to a storage device based on a backup image
US8548944B2 (en) * 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
US9705730B1 (en) 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
US8990164B1 (en) * 2012-02-01 2015-03-24 Symantec Corporation Systems and methods for performing incremental backups
US9110604B2 (en) 2012-09-28 2015-08-18 Emc Corporation System and method for full virtual machine backup using storage system functionality
US9177177B1 (en) 2012-10-04 2015-11-03 Symantec Corporation Systems and methods for securing storage space
CN105593829B (zh) * 2013-09-27 2019-03-22 慧与发展有限责任合伙企业 从原始映像备份中排除文件系统对象的方法、系统及介质
US20160042090A1 (en) * 2014-08-06 2016-02-11 Commvault Systems, Inc. Preserving the integrity of a snapshot on a storage device via ephemeral write operations in an information management system
US10481983B1 (en) * 2016-03-31 2019-11-19 Amazon Technologies, Inc. Snapshot clustering techniques for multipart volumes
US10509701B2 (en) * 2016-09-23 2019-12-17 Apple Inc. Performing data backups using snapshots
US10719484B2 (en) 2017-09-07 2020-07-21 Cohesity, Inc. Remotely mounted file system with stubs

Also Published As

Publication number Publication date
US20210303405A1 (en) 2021-09-30
CN113448917A (zh) 2021-09-28
US11645161B2 (en) 2023-05-09

Similar Documents

Publication Publication Date Title
DE69913618T2 (de) Verfahren zur Erzeugung eines Prüfpunktes, welcher eine Basisdatei beschreibt, und Verfahren zur Erzeugung einer Differenzdatei zwischen einer aktualisierten Datei und einer Basisdatei
DE112007003678B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE102013204972B4 (de) Hybride Sicherung und Wiederherstellung eines sehr grossen Dateisystems unter Verwendung von Metadaten-Abbildsicherung und herkömmlicher Sicherung
DE112007003645B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE112011100819B4 (de) Speicherplatzreservierung in einem Deduplizierungssystem
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE112008003826B4 (de) Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
DE60128200T2 (de) Methode und System für skalierbare, hochperformante hierarchische Speicherverwaltung
DE112017005868T5 (de) Verwaltung von e/a-abläufen für datenobjekte in einem speichersystem
DE202010018481U1 (de) Asynchroner verteilter Objekt-Upload für replizierte Assoziativspeichercluster
DE202012013432U1 (de) Speichern von Daten auf Speicherknoten
DE102005023128A1 (de) System und Verfahren zum gemeinschaftlichen Verwenden von Speicherressourcen zwischen mehreren Dateien
EP3084638A1 (de) Posix-kompatibles dateisystem, verfahren zum erzeugen einer dateiliste und speichervorrichtung
DE102014116393A1 (de) Verfahren und System für ein sicheres Archivieren von Daten
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE112012003695T5 (de) Aufrechterhalten mehrerer Zielkopien
DE102021102442A1 (de) Katalog der mit schnappschüssen verbundenen dateien
DE112017000167B4 (de) Verteilte Datendeduplizierung in einem Prozessorraster
DE602004013397T2 (de) Verfahren und Apparat zum Verschieben von Daten zwischen Speichersystemen
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE102022108673A1 (de) Ressourcenzuweisung für synthetische backups
DE102021109729A1 (de) Schätzung der nutzung der speichersystemkapazität
DE102021125630A1 (de) Datensynchronisation in einem datenanalysesystem
DE102021108455A1 (de) Erzeugen von Snapshots eines Key-Value-Index
DE112016000776T5 (de) Effiziente Durchführung von Einfüge- und Punktabfrage-Operationen in einem Spaltenspeicher

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: PROCK, THOMAS, DR., GB

R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TEX., US

R012 Request for examination validly filed