DE112019005351T5 - Beliebige zeitpunktreplikation in die cloud - Google Patents

Beliebige zeitpunktreplikation in die cloud Download PDF

Info

Publication number
DE112019005351T5
DE112019005351T5 DE112019005351.5T DE112019005351T DE112019005351T5 DE 112019005351 T5 DE112019005351 T5 DE 112019005351T5 DE 112019005351 T DE112019005351 T DE 112019005351T DE 112019005351 T5 DE112019005351 T5 DE 112019005351T5
Authority
DE
Germany
Prior art keywords
data
volume
production
metadata
procedure according
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
DE112019005351.5T
Other languages
English (en)
Inventor
Itay Azaria
Kfir Wolfson
Jehuda Shemer
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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Publication of DE112019005351T5 publication Critical patent/DE112019005351T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/1469Backup restoration techniques
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Systeme, Vorrichtungen und Verfahren für eine beliebige Zeitpunktreplikation in die Cloud. Daten werden repliziert, indem Daten in einen entfernten Speicher oder einen Datensammler in der Cloud repliziert werden. Gleichzeitig wird ein Metadatenstrom generiert und gespeichert. Der Metadatenstrom legt eine Beziehung zwischen den Daten und den Versätzen der Daten im Produktionsvolumen fest. Dies ermöglicht eine kontinuierliche Replikation, ohne ein Replikatsvolumen halten zu müssen. Das Replikatsvolumen kann während einer Rehydrationsoperation erzeugt werden, die den Metadatenstrom verwendet, um das Produktionsvolumen aus den Cloud-Daten zu konstruieren.

Description

  • GEBIET DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf Systeme, Vorrichtungen und Verfahren zum Replizieren von Daten in die Cloud und zum Wiederherstellen von Daten. Insbesondere beziehen sich Ausführungsformen der Erfindung auf Systeme und Verfahren, um eine beliebige Zeitpunktreplikation an eine Speicherstelle wie die Cloud oder ein Datenzentrum durchzuführen. Ausführungsformen der Erfindung beziehen sich ferner auf die kontinuierliche Replikation, ohne ein Replikatsvolumen in der Cloud halten zu müssen.
  • HINTERGRUND
  • Datenschutz ist der Prozess, mit welchem eine Einheit ihre Daten schützt. Daten werden oftmals z.B. durch Erzeugung von Backups geschützt. Indem eine Backup-Operation zur Erzeugung eines Backups durchgeführt wird, kann die Einheit ihre Produktionsdaten von einer Backup-Kopie im Fall von Verlust wiederherstellen.
  • Datenschutzsysteme sind oftmals mit einer Recovery Point Objective (RPO) geschützt. Die RPO kann auf viele Weisen ausgedrückt werden, bezieht sich im Allgemeinen aber auf den Zeitpunkt, zu welchem die Daten wiederhergestellt werden können. So bedeutet z.B. eine RPO von einer Stunde, dass, wenn etwas mit den Produktionsdaten passiert, die Einheit wahrscheinlich Daten im Wert von einer Stunde verloren hat.
  • Anstelle davon, für Daten ein lokales Backup zu machen, kann es sein, dass sich manche Einheiten dafür entscheiden, ihre Daten in die Cloud zu replizieren. Dies wird oftmals unter Verwendung von Verfahren auf der Grundlage von Snapshots durchgeführt. Die RPO von auf Snapshot basierenden Systemen ist aber oftmals nicht zufriedenstellend. Genauer gesagt ist die RPO in Snap-basierten Anwendungen begrenzt. Wiederherstellungen können oftmals nur am jüngsten Snapshot durchgeführt werden, was einige wenige Minuten oder Stunden in der Vergangenheit sein kann.
  • Zusätzlich dazu erfordert das herkömmliche Spiegeln, wie es bei der Stufe 1-Replikation erfolgt, Computerressourcen an der entfernten Stelle, um die Daten zu verarbeiten und das Replikat oder das gespiegelte Volumen zu halten.
  • Figurenliste
  • Um die Art und Weise zu beschrieben, in welcher zumindest einige Aspekte dieser Offenbarung erhalten werden können, wird eine genauere Beschreibung durch den Verweis auf spezifische Ausführungsformen davon gegeben, die in den angehängten Zeichnungen veranschaulicht sind. Unter Berücksichtigung, dass diese Zeichnungen nur beispielhafte Ausführungsformen der Erfindung darstellen und deshalb nicht als deren Umfang einschränkend zu interpretieren sind, werden Ausführungsformen der Erfindung mit zusätzlicher Spezifität und Detail durch die Verwendung der begleitenden Zeichnungen beschrieben und erklärt, in welchen:
    • 1 ein Beispiel für Systeme, Vorrichtungen und Verfahren zum Replizieren von Daten in der Cloud veranschaulicht;
    • 2 ein Beispiel für Systeme, Vorrichtungen und Verfahren zum Replizieren von Daten in der Cloud durch Speichern von Objekten in einem Datensammler und durch Halten eines Metadatenstroms für die Objekte veranschaulicht;
    • 3 ein Beispiel für eine Beziehung zwischen einem Metadatenstrom und einem Produktionsvolumen und/oder den in der Cloud gespeicherten Objekten veranschaulicht;
    • 4 ein Beispiel für ein Verfahren zum Replizieren von Produktionsdaten veranschaulicht;
    • 5 ein Beispiel für Systeme, Vorrichtungen und Verfahren zum Rehydrieren von Daten aus einem Datensammler an ein Replikatproduktionsvolumen veranschaulicht;
    • 6 ein Beispiel für ein Verfahren zum Rehydrieren eines Produktionsvolumens unter Verwendung des Metadatenstroms und des Datensammlers veranschaulicht; und
    • 7 ein Beispiel für das Konsolidieren von Daten in einem Replikationssystem veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG EINIGER BEISPIELHAFTER AUSFÜHRUNGSFORMEN
  • Ausführungsformen der Erfindung beziehen sich auf Systeme, Vorrichtungen und Verfahren zum Schützen von Daten. Genauer gesagt beziehen sich die Ausführungsformen der Erfindung auf Datenschutzoperationen, die wie folgt umfassen können, aber nicht darauf beschränkt sind: Backup-Operationen, Replikationsoperationen, Wiederherstellungsoperationen, Rehydrationsoperationen, Deduplikationsoperationen, Metadatenoperationen oder dergleichen oder eine Kombination davon.
  • Ausführungsformen der Erfindung beziehen sich auf Datenschutzsysteme, Vorrichtungen und Verfahren, die ermöglichen, dass Daten in der Cloud (z.B. in einem Datenzentrum) geschützt werden, während eine RPO von Sekunden und mit einer beliebigen Zeitpunktgranularität erzielt wird. Ausführungsformen der Erfindung können auch im Kontext von lokalen Backups angewendet werden. Um eine beliebige Zeitpunktgranularität und eine RPO von Sekunden oder weniger zu erzielen, replizieren Ausführungsformen der Erfindung Produktionsdaten in einen Objektspeicher (die Cloud) und generieren einen Metadatenstrom. Der Metadatenstrom speichert Beziehungen zwischen den replizierten Daten und dem Produktionsvolumen.
  • Indem der Metadatenstrom auf die Cloud-Daten angewendet wird, können die Produktionsdaten zu jedem beliebigen Zeitpunkt wiederhergestellt werden. In einem Beispiel ermöglichen durch eine kontinuierliche Replikation der Daten und durch Bereitstellung des Metadatenstroms Ausführungsformen der Erfindung (für ein kontinuierliches Replikationssystem), dass die Cloud-Daten in einem anderen Speicher als dem Stufe 1-Speicher gespeichert werden. Ferner können in einer Ausführungsform Computerressourcen nur erforderlich sein, wenn eine Wiederherstellung benötigt wird. Anders gesagt, es kann nur notwendig sein, Daten in die Cloud zu schreiben, wenn die Daten in einer kontinuierlichen Weise geschützt werden. Die Speicheranforderungen können auch reduziert werden, indem Deduplizierungsoperationen durchgeführt werden.
  • In Ausführungsformen der Erfindung umfasst die kontinuierliche Replikation das Spiegeln oder Replizieren jeder EA (Eingabe/Ausgabe) auf Produktionsdaten (einem Produktionsvolumen) an eine entfernte Stelle. Die replizierten oder gespiegelten Daten können als Objekte in einem Datensammler gespeichert werden. Das Replizieren von Daten an eine entfernte Stelle kann eine RPO von nahe null erzielen.
  • Der Nachteil des herkömmlichen Spiegelns ist, dass oftmals Stufe 1-Speicherung erforderlich ist. Zusätzlich dazu ist Berechnungszeit an der entfernten Stelle erforderlich, um die Daten zu verarbeiten und das Replikatsvolumen zu halten. Ausführungsformen der Erfindung können Daten replizieren, kontinuierlich in einem Beispiel, und eine RPO nahe null erreichen, ohne ein Replikatsvolumen halten zu müssen. Vielmehr kann eine Berechnungszeit nur während der Wiederherstellungs- oder Rehydrationsoperation erforderlich sein.
  • Daten können in einem Datenzentrum auf verschiedene Weise gespeichert werden, einschließlich dabei Objektspeicherung, Datei speicherung und Blockspeicherung. Hierin wird der Begriff Daten oder Objekt verwendet, und die Offenbarung kann auch mit Dateien oder Blöcken oder einer anderen Datenspeicherkonfiguration durchgeführt werden. Im Kontext der objektbasierten Speicherung kann jedes Objekt beispielsweise Daten, eine variable Menge an Metadaten und/oder einen global eindeutigen Identifikator beinhalten.
  • Ausführungsformen der Erfindung stellen eine kontinuierliche Replikation von Produktionsdaten an einer entfernten Stelle wie einem Datenzentrum oder einem Cloud-Speicher (der hierin auch als ein Datensammler bezeichnet wird, in welchem Daten abgelegt werden) bereit.
  • Kontinuierliche Replikation unter Verwendung eines Metadatenstroms
  • 1 veranschaulicht ein Beispiel für eine Computing-Umgebung, in welcher Datenschutzoperationen durchgeführt werden. 1 veranschaulicht einen Client 102, der mit Produktionsdaten 106 assoziiert ist (z.B. ein Produktionsvolumen). Der Client 102 kann eine virtuelle Maschine, eine Rechenvorrichtung wie ein Computer, Laptop, Smartphone, Servercomputer oder dergleichen sein. Die Produktionsdaten 106 können auf einer Speichervorrichtung (einer Speicherbaugruppe oder einer anderen Speicheranordnung) vorliegen. Die Produktionsdaten 106 können für den Client 102 lokal (z.B. in demselben Netzwerk) oder vom Client 102 entfernt sein. Die Produktionsdaten 106 können auch ein cloudbasierter Speicher sein.
  • Der Client 102 interagiert mit den Produktionsdaten 106 und kann Daten schreiben oder Daten lesen oder eine andere Aktion durchführen. Eingabe/Ausgabe (EA) im Kontext von Datenschutz oder Datenreplikation, können sich EAs auf Aktionen oder Befehle beziehen, die in Änderungen an den Produktionsdaten 106 resultieren. Wann immer Daten in die Produktionsdaten 106 geschrieben (gelöscht, bewegt, modifiziert, kopiert etc.) werden, repliziert die Replikations-Engine 104 die Daten. Insbesondere kann die Replikations-Engine 104 die Aktion replizieren. Die Replikations-Engine 104 kann in die Produktionsdaten 106 aufgenommen sein, sie kann ein Server oder eine andere Vorrichtung sein, oder eine Software-Schicht, die dazu ausgelegt ist, gewisse Befehle zu detektieren, einschließlich Schreibvorgänge, und die Daten dementsprechend zu replizieren.
  • In diesem Beispiel repliziert oder schreibt somit die Replikations-Engine 104 die Daten an den entfernten Speicher 108, der ein Datenzentrum, ein Cloud-Speicher oder dergleichen sein kann. Die Replikations-Engine kann auch einen Metadatenstrom generieren und den Metadatenstrom an einen entfernten Metadatenstromspeicher 110 schreiben. Der Datenstromspeicher 110 kann sich an derselben Stelle (z.B. in demselben Speichersystem, in demselben Datenzentrum) wie der entfernte Speicher 108 befinden. Der Datenstromspeicher 110 und der entfernte Speicher 108 können auch separate Speicher sein.
  • 2 veranschaulicht ferner die in 1 gezeigte Replikation. In einem Beispiel kann die Replikations-Engine 202 (ein Beispiel für die Replikations-Engine) eine EA 210 detektieren, die an das Produktionsvolumen 208 geschrieben wird, welches die Produktionsdaten 106 speichern kann. Die Replikations-Engine 202 kann bestimmen, dass die EA 210 Daten A beinhaltet und an eine Stelle geschrieben wird, die als Versatz X identifiziert ist. Der Versatz X ist der Platzhalter der Stelle der Daten A im Produktionsvolumen 208 oder in den Produktionsdaten 106. Der Versatz X kann in anderer Hinsicht spezifiziert werden, die von der Konfiguration des Produktionsvolumens 208 abhängen kann.
  • Die Replikations-Engine repliziert dann die EA 210 an den Datensammler 204, der ein Beispiel für den entfernten Speicher 108 ist. In einem Beispiel ist der Datensammler 204 ein Speicher vom Schlüsselwerttyp. Somit kann die Replikations-Engine 202 den Datensammler 204 mit Daten A und einem Schlüssel wie dem Identifikator 10 versorgen, und die EA 210 wird in dem Datensammler 204 gespeichert. Um die Daten A abzurufen, wird der Datensammler mit dem Identifikator 10 versehen. Unter Verwendung des Identifikators 10 kann der Datensammler 204 die Daten A abrufen und wieder retoumieren.
  • Während der Replikation der EA 210 oder der Daten A an den Datensammler 204, kann die Replikations-Engine 202 auch einen Metadatenstrom 206 (oder einen Eintrag im Strom für jede EA) generieren, der, wenn er übertragen wird, im Datenstromspeicher 110 gespeichert wird. Der Metadatenstrom 206 beinhaltet typischerweise mit jeder EA wie der EA 210 assoziierte Metadaten. In diesem Beispiel beinhaltet der Eintrag 212 im Metadatenstrom 206 für die EA 210 den Versatz X und den Identifikator 10. Der im Metadatenstrom 206 beinhaltete Versatz X bezieht sich auf den Versatz im Produktionsvolumen 208. Diese Information ermöglicht, dass das Produktionsvolumen, falls erforderlich, wiederhergestellt werden kann, wie dies nachfolgend ausführlicher beschrieben ist.
  • Zusätzlich dazu ermöglicht das Replizieren der EAs des Rechensystems auf diese Weise, dass eine RPO nahe null erzielt werden kann, ohne dass ein Replikatsvolumen in der Cloud gehalten werden muss, wodurch Computerressourcen gespart werden. Auch ermöglichen Ausführungsformen der Erfindung eine Zeitpunktwiederherstellung. In einem Beispiel ist die Zeitpunktwiederherstellung typischerweise mit einer bestimmten EA verbunden, zum Teil weil der Metadatenstrom 206 mit den EAs zusammenhängt, die am Produktionsvolumen 208 auftreten. Durch die Identifizierung einer Zeit oder einer EA ermöglichen Ausführungsformen der Erfindung, dass das Produktionsvolumen bis zu diesem Zeitpunkt oder bis zu dieser spezifischen EA wiederhergestellt wird.
  • In einem Beispiel sind die mit jeder EA assoziierten Daten auf dem Produktionsvolumen 208 als ein Objekt im Datensammler 204 gespeichert. So kann die EA 210 z.B. in 8 KB-Chunks unterteilt sein. Ausführungsformen der Erfindung sehen variabel dimensionierte Blöcke vor. Objekte mit fester Größe bedingen aber weniger Verarbeitungsaufwand, einschließlich einer inhärenten Handhabung der EA-Überlappung. Die tatsächliche Größe des Chunk oder Objekts ist typischerweise eine kleine Zahl (z.B. 4 KB, 8 KB). Selbst wenn ein größeres Objekt weniger Uploads benötigt, kann ein Objekt mit einer größeren Größe auch die Vervollständigung des Objekts oder Blocks erfordern, wenn nur ein Abschnitt des Objekts oder Blocks geschrieben wurde. Auch erhöht das Tracking der Bereiche, die in Blöcke oder Objekte mit größerer Größe geschrieben werden, die Komplexität.
  • Somit veranschaulicht 2, dass während der Replikation, einschließlich der kontinuierlichen Replikation, die Daten A als ein Objekt A gespeichert werden können. Insbesondere können die Daten A tatsächlich in Chunks A1, A2 etc. unterteilt werden. Somit werden die Objekte A1, A2 etc. im Datensammler 204 gespeichert, und jeder Chuck besitzt seinen eigenen Identifikator. Der Metadatenstrom 206 speichert Beziehungen zwischen den Identifikatoren (die ermöglichen, dass die entsprechenden Objekte im Datensammler 204 identifiziert und abgerufen werden können) und dem Versatz im Produktionsvolumen. Während einer Wiederherstellung ermöglichen Versätze und Identifikatoren im Metadatenstrom, dass die Objekte abgerufen und in den passenden Versatz im Produktionsvolumen geschrieben werden können, wodurch das Produktionsvolumen wiederhergestellt wird.
  • Weil die Daten vor dem Speichern im Speichersammler in Chunks unterteilt werden, stellt die Fähigkeit, die Objekte basierend auf Versätzen wiederherzustellen, effektiv die Daten wieder her, sobald alle Chunks wiederhergestellt worden sind.
  • 3 veranschaulicht genauer ein Beispiel für eine Beziehung zwischen einem Metadatenstrom und einem Produktionsvolumen. 3 veranschaulicht einen Metadatenstrom 304, der mit einem Produktionsvolumen 302 assoziiert ist. Der Metadatenstrom 304 ist in einem Beispiel eine Sequenz von EA-Metadaten oder eine Sequenz von Einträgen, wobei jeder Eintrag einer EA entspricht. Die Einträge in dem Metadatenstrom 304 hängen mit Daten zusammen, die im Produktionsvolumen 302 gespeichert sind. Jeder Eintrag speichert einen Versatz im Produktionsvolumen und einen Identifikator. Die Einträge im Metadatenstrom beziehen sich auf die Daten, nachdem die Daten in Chunks unterteilt wurden. Somit entsprechen der Versatz 0 und der Identifikator 10 den Daten A (oder dem Objekt A) im Produktionsvolumen 302. Somit befinden sich die Daten A in einem Versatz von 0 im Produktionsvolumen 302. Ebenso befinden sich die Objekte B, C, D, E und F jeweils an Versätzen 1, 2, 3, 4 und 5 und weisen Identifikatoren 20, 30, 40, 50 und 60 auf. Die Identifikatoren können jegliche Daten sein, die die entsprechenden Daten darstellen. Typischerweise identifiziert der Identifikator die Daten eindeutig. So kann der Identifikator z.B. ein Hash der entsprechenden Daten (Objekt, Block etc.) sein. Der Identifikator kann auch dazu verwendet werden, die Daten zu deduplizieren.
  • 4 veranschaulicht ein Beispiel für ein Verfahren zum Durchführen einer Datenschutzanwendung wie einer Datenreplikation. In einem Beispiel kann das Verfahren durch eine Replikationsvorrichtung oder einen anderen Server oder eine andere Vorrichtung durchgeführt werden. In der 4 wird ein EA-Strom erfasst 402. Der EA-Strom wird kontinuierlich erfasst und ist ein Beispiel für eine kontinuierliche Replikation. Wenn z.B. Daten zum Produktionsvolumen geschrieben werden, wird die EA erfasst.
  • Als Nächstes werden die EAs repliziert 404. Eine Replikationsvorrichtung oder eine Replikations-Engine kann die mit den EAs assoziierten Daten in Chunks unterteilen. Wie zuvor angeführt wurde, können diese Chunks eine vorbestimmte Größe aufweisen. In einem Beispiel werden die EAs in 8 KB-Chunks unterteilt. Die Replikationsvorrichtung lädt daraufhin die Chunks in den Datensammler als Objekte hinauf. Die Objekte werden dann in dem Datensammler gespeichert. In einem Beispiel werden die Objekte in dem Datensammler unter Verwendung einer Schlüsselwertanordnung gespeichert.
  • Als Nächstes (oder im Wesentlichen gleichzeitig) werden die mit den Objekten oder EAs assoziierten Metadaten aggregiert 406 und in einem Metadatenstrom gespeichert. Somit ist der Metadatenstrom in einem Beispiel eine sequenzielle Liste von EAs, die in Bezug auf das Produktionsvolumen erfasst wurden. In einem Beispiel wird der Metadatenstrom zum Metadatenspeicher basierend auf der Größe des Metadatenstroms, basierend auf der erwünschten RPO und/oder basierend auf einem anderen Schwellenwert übertragen. Wenn z.B. die Größe des Metadatenstroms eine Schwellenwertgröße erreicht (z.B. 8 KB), wird der Metadatenstrom übertragen und im Metadatenspeicher gespeichert. Somit kann der Metadatenstrom auch als ein Objekt gespeichert werden. Alternativ wird der Metadatenstrom übertragen, sobald ein Viertel (oder ein anderer Schwellenwert) der RPO verstrichen ist.
  • 4 veranschaulicht die Fähigkeit, ein Produktionsvolumen durch Replikation der Daten (oder Objekte) in einen Datensammler und durch Generierung und Speicherung eines Metadatenstroms, der mit den in den Datensammler geschriebenen Objekten assoziiert ist, kontinuierlich zu replizieren. Dies ermöglicht ferner eine kontinuierliche Replikation, ohne Cloud-Computing-Ressourcen halten oder verbrauchen zu müssen, um ein Replikatsvolumen in der Cloud zu halten. Vielmehr können die Cloud-Computing-Ressourcen nur erforderlich sein, wenn das Produktionsvolumen aus den Backups (die Objekte, die im Datensammler gespeichert sind, und der Metadatenstrom) wiederhergestellt oder rehydriert werden muss.
  • Produktion von Datenrehydration
  • Ein Produktionsvolumen (oder Produktionsdaten) kann (können) unter Verwendung der im entfernten Speicher (oder Datensammler) gespeicherten Objekte und des im Datenstromspeicher gespeicherten Metadatenstroms rehydriert werden. Im Allgemeinen wird ein Produktionsvolumen rehydriert oder wiederhergestellt, indem ein Rohmetadatenvolumen erzeugt wird. Sobald das Metadatenvolumen erzeugt ist, wird der Metadatendatenstrom dazu verwendet, das Metadatenvolumen zum erforderlichen Zeitpunkt zu rollen, indem die Identifikatoren zu Versätzen im Metadatenvolumen geschrieben werden. Dies wird dadurch erreicht, indem vom Ende des Metadatenstroms nach vorne bewegt wird und indem das Metadatenvolumen entsprechend jedem Schreibvorgang, auf den getroffen wird, aktualisiert wird.
  • Jeder Eintrag im Metadatenvolumen zeigt auf eine EA in den gespeicherten Daten hin. Somit beinhaltet das Metadatenvolumen Einträge, die in einem Beispiel jeweils zu einem Objekt im Objektspeicher zeigen. In einem Beispiel wird nur die erste Instanz jeder EA, auf die man trifft, im Metadatenvolumen aktualisiert. Genauer gesagt wird das Metadatenvolumen mit jeder EA, auf die getroffen wird, wie dies zuvor ausgeführt wurde, aktualisiert. Dies erlaubt, die tatsächlichen EA-Daten in das zu vermeidende wiederhergestellte Volumen zu kopieren, wenn dieser spezifische Versatz überschrieben wird, bevor der erforderliche Zeitpunkt erreicht ist. In einem Beispiel wird als ein Resultat davon, dass man den Metadatenstrom vom erforderlichen Zeitpunkt zum Ende hin betrachtet, nur eine EA für jeden Versatz kopiert.
  • Sobald der passende Zeitpunkt im Metadatenstrom erreicht wurde und alle notwendigen Einträge im Metadatenstrom in das Metadatenvolumen geschrieben wurden, wird das Metadatenvolumen organisiert. Die tatsächlichen Daten wurden an diesem Punkt weder bewegt noch kopiert. Ausführungsformen der Erfindung sehen aber das Kopieren von Daten während der Organisation des Metadatenvolumens vor.
  • Sobald das Metadatenvolumen vorbereitet wurde, können das Metadatenvolumen und der Datensammler verwendet werden, um das Produktionsvolumen zu rehydrieren. Das rehydrierte Produktionsvolumen ist eine Kopie des ursprünglichen Produktionsvolumens (z.B. eine virtuelle Maschinen-Disk) zum angeforderten Zeitpunkt. In einem Beispiel ist nur das tatsächliche Generieren des Replikat-Produktionsvolumens erforderlich, wenn das resultierende Replikatsvolumen wie ein reguläres Volumen beurteilt wird. Ist ein Mediator vorhanden, können das Metadatenvolumen und der Datensammler nach Bedarf verwendet werden, ohne dass der Benutzer erneut die Daten kopieren muss. In einem Beispiel ermöglicht oder verhindert das Metadatenvolumen nicht notwendige Lesevorgänge in Bezug auf die Daten, die wie zuvor beschrieben überschrieben werden.
  • 5 veranschaulicht ein Beispiel für das Rehydrieren eines Produktionsvolumens. 5 veranschaulicht den Prozess des Rehydrierens eines Produktionsvolumens 506 aus dem Metadatenstrom 502 und dem Datensammler 510, die Beispiele für zuvor beschriebene Metadatenströme und Datensammler sind.
  • In 5 wird das Metadatenvolumen 504 in einem Beispiel erst aus einem Rohmetadatenvolumen generiert. In diesem Beispiel wird das hintere Ende 512 des Metadatenstroms 502 gelesen. Das hintere Ende 512 entspricht einem Eintrag im Metadatenstrom 502. In einem Beispiel ist der Eintrag am hinteren Ende der älteste Eintrag im Metadatenstrom 502. In diesem Beispiel werden neue Einträge zum Kopf des Metadatenstroms gedrückt. Der Metadatenstrom kann aber auch in einer anderen Weise angeordnet sein, so dass der älteste Eintrag sich am Kopf des Metadatenstroms befindet. Indem der Metadatenstrom 502 ausgehend von dem ältesten Eintrag und dann zeitlich zurück gelesen wird, kann das Metadatenvolumen 504 mit Objekt- oder Datenidentifikatoren an Versätzen befüllt werden, die den Versätzen im Produktionsvolumen entsprechen.
  • In einem Beispiel kann ein initialisiertes Produktionsvolumen verfügbar sein. Dieses Produktionsvolumen kann einem Zeitpunkt unmittelbar vor dem ältesten Eintrag im Metadatenstrom entsprechen. Unter Verwendung des Metadatenvolumens, das mit Informationen aus dem Metadatenstrom beladen wurde, kann das anfängliche Produktionsvolumen nach vorne zum gewählten Zeitpunkt gerollt werden. In einem Beispiel kann das Produktionsvolumen direkt aus dem Metadatenstrom erzeugt werden.
  • In diesem Beispiel wird der Identifikator 10 an eine Stelle kopiert, die dem Versatz 0 entspricht. Ist es an der Zeit, das Produktionsvolumen 504 vorzubereiten, wird der Identifikator im Metadatenvolumen 504, das am Versatz 504 gespeichert ist, dazu verwendet, ein Objekt aus dem Datensammler 510 abzurufen, und das aus dem Datensammler 510 abgerufene Objekt wird dann an die Stelle geschrieben, die dem Versatz 0 im Produktionsvolumen 506 entspricht, das ein Replikatsvolumen sein kann.
  • Genauer gesagt wird der Metadatenstrom 502 ausgelesen, bis der Zeitpunkt 514 erreicht ist, und jeder Eintrag wird, falls erforderlich, in das Metadatenvolumen geschrieben. Der Zeitpunkt 514 ist der Zeitpunkt, an welchem eine Wiederherstellung erwünscht ist. In diesem Beispiel sind sechs Einträge in das Metadatenvolumen 504 zu schreiben. Somit werden die Identifikatoren 10, 20, 30, 40, 50 und 60 an die entsprechenden Stellen oder Versätze geschrieben, die im Metadatenvolumen 504 gespeichert sind. Dies resultiert im Metadatenvolumen 504, das die Identifikatoren 10, 20, 30, 40, 50 und 60 beinhaltet und jeweils an den Versätzen 0, 1, 2, 3, 4, und 5 geschrieben ist.
  • In diesem Stadium wurden keine Daten aus dem Datensammler 510 in das Produktionsvolumen 506 kopiert. Es ist aber möglich, das Produktionsvolumen wiederherzustellen oder zu rehydrieren, wenn das Metadatenvolumen 504 generiert wird.
  • Sobald das Metadatenvolumen 504 für den Zeitpunkt 514 erzeugt ist, kann das Produktionsvolumen 506 mit den Daten aus dem Datensammler 501 befüllt werden. Weil das Metadatenvolumen 504 Identifikatoren oder Schlüssel speichert, können diese Identifikatoren dazu verwendet werden, auf den Datensammler 510 zuzugreifen, um die entsprechende Objekte abzurufen, die in denselben oder einen entsprechenden Versatz im Produktionsvolumen 506 geschrieben werden. Somit wird der Identifikator 10 im Metadatenvolumen 504 verwendet, um ein Objekt A abzurufen. Das Objekt A wird dann in den Versatz 0 im Metadatenvolumen geschrieben. Sobald dieser Prozess abgeschlossen ist, kann das Produktionsvolumen 506 verwendet und, falls erforderlich, montiert werden. Das Metadatenvolumen 504 kann für eine Zeit gehalten oder gelöscht werden.
  • Alternativ kann das rehydrierte Volumen oder Replikatsvolumen nicht erforderlich sein, wenn ein Mediator vorhanden ist. So kann z.B. eine Anfrage für die Daten am Versatz 1 angefordert sein. Der Mediator kann auf das Metadatenvolumen zugreifen, um den Identifikator am Versatz 1 zu bestimmen und dann auf den Datensammler 510 zuzugreifen, um die dem abgerufenen Identifikator entsprechenden Daten abzurufen. Die abgerufenen Daten werden dann zum Requestor zurückgeführt.
  • 6 veranschaulicht ein Beispiel für ein Verfahren zum Rehydrieren eines Produktionsvolumens. Sobald die Rehydrationsoperation begonnen wurde, wird ein Rohmetadatenvolumen 602 erzeugt 602. Das Metadatenvolumen wird dann befüllt 604, indem die Metadaten zum erforderlichen Zeitpunkt gerollt werden. Dies kann durchgeführt werden, indem das Metadatenvolumen ausgehend mit dem hinteren Ende des Metadatenstroms befüllt und das Metadatenvolumen entsprechend den Schreibvorgängen im Metadatenstrom aktualisiert wird. Dies erlaubt, dass die Metadaten im Metadatenvolumen organisiert werden.
  • Als Nächstes werden das Metadatenvolumen und der Datensammler verwendet, um das Produktionsvolumen zu rehydrieren 606. In einem Beispiel kann das Produktionsvolumen, das hydriert wird, einen anfänglichen darauf gespeicherten Datensatz aufweisen. Die Einträge im Metadatenvolumen ermöglichen, dass Objekte aus dem Datensammler abgerufen und in einen spezifischen Versatz im Produktionsvolumen geschrieben werden. Dies erlaubt, dass das Produktionsvolumen nach vor zum gewählten oder identifizierten Zeitpunkt gerollt werden kann.
  • In einem Beispiel kann eine Initialisierungsphase erforderlich sein, um einen ersten konsistenten Zeitpunkt zu erhalten. Dies kann durch Lesen und Senden des gesamten Produktionsvolumens als AE durchgeführt werden. Sobald das im Metadatenstrom und im Datensammler erreicht wurde, kann die hierin erläuterte kontinuierliche Replikation durchgeführt werden. Somit ist der erste Zeitpunkt, auf den das System zurückrollen kann, der erste konsistente Zeitpunkt, der mit dem Initialisierungsprozess assoziiert ist. Dies ist ein Beispiel für das ReplikatProduktionsvolumen, auf welches das Metadatenvolumen angewendet wird. In einem anderen Beispiel kann das initialisierte Produktionsvolumen periodisch aktualisiert werden.
  • Um Platz zu sparen, können die im Datensammler gespeicherten Daten konsolidiert werden. Dies kann die Granularität der Zeitpunkte in der Vergangenheit reduzieren, kann aber Platz sparen. Ein Konsolidierungsfenster kann definiert werden, und es können Daten innerhalb dieses Fensters konsolidiert werden.
  • 7 veranschaulicht ein Beispiel für Konsolidierung. 7 veranschaulicht ein Konsolidierungsintervall 702 oder -fenster, in welchem Daten konsolidiert werden. In der 7 befindet sich das jüngste Ende des Konsolidierungsintervalls 702 auf der linken Seite. Während der Konsolidierung kann ein Bitmap erzeugt werden. Jedes Bit im Bitmap kann einem Versatz im Produktionsvolumen entsprechen. Geht man zeitlich bezogen, durch das Konsolidierungsintervall 702, zurück, so ist ein Bit für alle EA-Metadaten festgelegt, auf die man trifft, wenn das Bit nicht festgelegt ist. Ist das Bit bereits festgelegt, dann kann die entsprechende EA gelöscht werden. Insbesondere kann der EA-Metadateneintrag aus dem Metadatenstrom gelöscht werden, und die Daten können aus dem Datensammler gelöscht werden.
  • Das in 7 gezeigte Konsolidierungsintervall beinhaltet 5 Einträge. Das Konsolidierungsintervall 702 kann Größen und Umfang aufweisen, die in der Größe variieren. Ferner kann das Konsolidierungsintervall 702 mit verschiedenen Zeitspannen assoziiert sein. So kann z.B. das Konsolidierungsintervall 702 auf Einträge angewendet werden, die einen Monat alt sind oder dergleichen.
  • In diesem Beispiel werden die Einträge ausgehend vom jüngsten evaluiert. Der jüngste Eintrag 706 im Konsolidierungsintervall 702 bezieht sich auf den Versatz 5. Somit ist das entsprechende Bit im Bitmap 704 festgelegt. Bewegt man sich von der AE A zur AE C im Konsolidierungsintervall 702, dann werden die Bits für die Versätze 5, 4 und 3 festgelegt. Trifft man auf den Eintrag 708, so werden der Eintrag 708 (und die entsprechenden Daten) gelöscht, weil das Bit für den Versatz 4 bereits festgelegt ist, wenn man auf den Eintrag 710 trifft. Die Einträge 712 und 714 liegen außerhalb des Konsolidierungsintervalls 702 und werden aus diesem Grund gehalten.
  • In einem Beispiel kann das Begrenzen der Geschichte auf ein vorbestimmtes Schutzfenster die Größe etwaiger Replikats-Disks unter einer erforderlichen Grenze halten, wenn dies notwendig ist. Bei einer kontinuierlichen Replikation ist das Schutzfenster oftmals in Hinblick auf die Zeit definiert. Somit kann das Konsolidierungsfenster auf das hintere Ende des Metadatenstroms angewendet werden. Die Daten können periodisch konsolidiert werden.
  • In einem anderen Beispiel können die Daten im Datensammler dedupliziert werden. So kann z.B. eine Karte von Hashes der Objekte gehalten werden, so dass Chunks oder Objekte wenn möglich nur einmal gespeichert werden können. Neue EA-Metadaten im Metadatenstrom zeigen auf ein existierendes Objekt oder ein solches Chunk, das bereits im Datensammler vorhanden ist. Zusätzlich dazu kann periodisch eine Müllsammlung durchgeführt werden, um Chunks zu entfernen, die nicht von EAs oder Einträgen im Metadatenstrom verwendet werden.
  • Das Deduplizieren auf diese Art und Weise reduziert nicht nur die Verwendung des Datensammlers sondern reduziert auch den Kommunikationsaufwand. Deduplizierte Daten werden nicht übertragen. Dies reduziert die Bandbreitenanforderungen und verbessert die RPO.
  • Unter Verwendung von kontinuierlicher Replikation zur Cloud, wie bereits hierin ausgeführt, kann eine RPO von einigen wenigen Sekunden (oder weniger) erzielt werden. Ferner befindet sich die Granularität auf EA-Ebene. Somit kann ein Produktionsvolumen auf jeden beliebigen Zeitpunkt wiederhergestellt werden. Ferner ermöglicht die Tatsache, dass die Daten und die Metadaten als Objekte gehalten werden, dass ein günstigerer Speicher verwendet wird. Ein teurerer Speicher wie ein Stufe 1-Speicher kann nur erforderlich sein, wenn eine Wiederherstellung benötigt wird.
  • Es versteht sich, dass die vorliegende Erfindung auf zahlreiche Weisen implementiert werden kann, einschließlich dabei als ein Prozess, ein Gerät, ein System, eine Vorrichtung, ein Verfahren oder ein computerlesbares Medium wie ein computerlesbares Speichermedium oder ein Computernetzwerk, wobei Computerprogramminstruktionen über optische oder elektronische Kommunikationsverbindungen gesendet werden. Anwendungen können die Form von Software annehmen, die auf einem Universalcomputer ausgeführt wird oder in Hardware festverdrahtet oder festprogrammiert ist. In dieser Beschreibung können diese Implementierungen oder eine etwaige andere Form, die die Erfindung annehmen kann, als Techniken bezeichnet werden. Im Allgemeinen kann die Reihenfolge der Schritte der geoffenbarten Prozesse innerhalb des Umfangs der Erfindung geändert werden.
  • Die hierin geoffenbarten Ausführungsformen können die Verwendung eines Universal- oder Spezialcomputers beinhalten, einschließlich verschiedener Computerhardware- oder -softwaremodule, wie dies nachfolgend ausführlicher erörtert ist. Ein Computer kann einen Prozessor und ein Computerspeichermedium beinhalten, das Instruktionen trägt, die, wenn sie von dem Prozessor ausgeführt werden und/oder dazu gebracht werden, von dem Prozessor ausgeführt zu werden, ein beliebiges oder mehrere der hierin geoffenbarten Verfahren ausführen können.
  • Wie oben angegeben ist, beinhalten Ausführungsformen innerhalb des Umfangs der vorliegenden Erfindung auch Computerspeichermedien, die physische Medien sind, um vom Computer ausführbare Instruktionen oder darauf gespeicherte Datenstruktur zu tragen oder aufzuweisen. Solche Computerspeichermedien können jegliche verfügbare physische Medien sein, auf die ein Universal- oder Spezialcomputer zugreifen kann.
  • Beispielhaft und nicht einschränkend kann ein solches Computerspeichermedium Hardware wie Solid-State-Disk (SSD), RAM, ROM, EEPROM, CD-ROM, Flash Memory, Phase-Change Memory („PCM“), oder andere optische Diskspeicher-, magnetische Diskspeicher- oder andere magnetische Speichervorrichtungen oder beliebige andere Hardware-Speichervorrichtungen umfassen, die dazu verwendet werden können, Programmcode in der Form von Instruktionen, die vom Computer ausgeführt werden, oder Datenstrukturen zu speichern, auf die von einem Universal- oder Spezialcomputer zugegriffen und die von diesen ausgeführt werden können, um die geoffenbarte Funktionalität der Erfindung zu implementieren. Kombinationen des Obigen sollten ebenfalls im Umfang von Computerspeichermedien beinhaltet sein. Solche Medien sind auch Beispiele für nicht-flüchtige Speichermedien, und ein nicht-flüchtiges Speichermedium umfasst auch cloudbasierte Speichersysteme und Strukturen, wenngleich der Umfang der Erfindung nicht auf diese Beispiele für nicht-flüchtige Speichermedien beschränkt ist.
  • Vom Computer ausführbare Instruktionen umfassen z.B. Instruktionen und Daten, die einen Universalcomputer, einen Spezialcomputer oder eine Spezialverarbeitungsvorrichtung dazu veranlassen, eine gewisse Funktion oder eine Gruppe von Funktionen durchzuführen. Obwohl der Gegenstand in einer Sprache beschrieben wurde, die für die strukturellen Merkmale und/oder methodologischen Vorgänge spezifisch ist, ist zu verstehen, dass der in den angehängten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die spezifischen Merkmale oder Vorgänge beschränkt ist, die oben beschrieben sind. Vielmehr sind die geoffenbarten spezifischen Merkmale und Vorgänge als beispielhafte Formen der Implementierung der Ansprüche geoffenbart.
  • Wie hierin verwendet, kann sich der Begriff „Modul“ oder „Komponente“ auf Softwareobjekte oder -routinen beziehen, die auf dem Rechensystem laufen. Die verschiedenen Komponenten, Module, Engines und Dienste, die hierin beschrieben sind, können als Objekte oder Prozesse implementiert werden, die auf dem Rechensystem laufen, z.B. als separate Threads. Während das System und die Verfahren, die hierin beschrieben sind, in Software implementiert werden können, sind auch Implementierungen in Hardware oder einer Kombination aus Software und Hardware ebenfalls möglich und vorgesehen. In der vorliegenden Offenbarung kann eine „Recheneinheit“ ein beliebiges Rechensystem sein, wie es zuvor definiert wurde, oder ein beliebiges Modul oder eine Kombination aus Modulen, die auf einem Rechensystem laufen.
  • Zumindest in einigen Instanzen ist ein Hardwareprozessor bereitgestellt, der bedient werden kann, um ausführbare Instruktionen auszuführen, um ein Verfahren oder einen Prozess wie das hierin geoffenbarte Verfahren oder den hierin geoffenbarten Prozess durchzuführen. Der Hardwareprozessor kann ein Element einer anderen Hardware, so etwa die Rechenvorrichtungen und Systeme, die hierin geoffenbart sind, umfassen oder auch nicht.
  • In Hinblick auf Rechenumgebungen können Ausführungsformen der Erfindung in Client-Server-umgebungen, ob nun Netzwerk- oder lokalen Umgebungen, oder in einer beliebigen anderen Umgebung durchgeführt werden. Geeignete Betriebsumgebungen für zumindest einige Ausführungsformen der Erfindung beinhalten Cloud-Computing-Umgebungen, wo ein oder mehrere eines Client, Server oder einer virtuellen Target-Maschine vorhanden sein können und in einer Cloud-Umgebung arbeiten können.
  • Die vorliegende Erfindung kann in anderen spezifischen Formen ausgeführt werden, ohne von ihrem Umfang oder ihren wesentlichen Charakteristiken abzuweichen. Die beschriebenen Ausführungsformen sind in jeder Hinsicht als nur veranschaulichend und nicht einschränkend anzusehen. Der Umfang der Erfindung ist deshalb durch die angehängten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Alle Änderungen, die innerhalb der Bedeutung und des Äquivalenzbereichs der Ansprüche liegen, sind innerhalb ihres Umfangs aufzunehmen.

Claims (18)

  1. Verfahren zum Replizieren von Daten, wobei das Verfahren umfasst: Erfassen in Produktionsdaten auftretenden Transaktionen, wobei die Transaktionen sich auf Änderungen in den Produktionsdaten beziehen; Übertragen von mit den Transaktionen assoziierten Daten zu einem entfernten Speicher als Objekte, so dass die Produktionsdaten von den Objekten repliziert werden können; Erzeugen eines mit den Transaktionen assoziierten Metadatenstroms, wobei jeder Eintrag in den Metadatenstrom einer Transkation entspricht; und Speichern des Metadatenstroms in einem Metadatenspeicher.
  2. Verfahren nach Anspruch 1, wobei die Transaktionen mindestens eines von Schreiben und Löschen beinhalten.
  3. Verfahren nach Anspruch 1, das ferner das Chunking der Daten in die Objekte umfasst.
  4. Verfahren nach Anspruch 3, wobei jedes der Objekte eine vorbestimmte Größe aufweist.
  5. Verfahren nach Anspruch 3, wobei jedes Objekt mit einem Versatz in den Produktionsdaten assoziiert ist und jedes Objekt mit einem Identifikator assoziiert ist, der das Objekt eindeutig identifiziert.
  6. Verfahren nach Anspruch 1, das ferner das Konsolidieren des Metadatenstroms und der Objekte unter Verwendung eines Konsolidierungsintervalls umfasst.
  7. Verfahren nach Anspruch 1, das ferner das Rehydrieren der Produktionsdaten von den Objekten und dem Metadatenstrom umfasst.
  8. Verfahren nach Anspruch 1, wobei die Produktionsdaten kontinuierlich repliziert werden, ohne das ein Replikatsvolumen in dem entfernten Speicher gehalten wird.
  9. Verfahren nach Anspruch 1, das ferner das Speichern einer anfänglichen Produktionskopie in dem entfernten Speicher umfasst.
  10. Von einem nicht-flüchtigen Computer lesbares Medium, das Instruktionen umfasst, die, wenn sie von einem Prozessor ausgeführt werden, das Verfahren nach Anspruch 1 durchführen.
  11. Verfahren zum Rehydrieren eines Produktionsvolumens, wobei das Verfahren umfasst: Erzeugen eines Rohdatenvolumens in Vorbereitung für das Rehydrieren des Produktionsvolumens; Auswählen eines Zeitpunkts in einem Metadatenstrom, der einem Wiederherstellungspunkt entspricht; Zugreifen auf den Metadatenstrom und Schreiben von Einträgen im Metadatenstrom in das Rohdatenvolumen, wobei jeder Eintrag einen Versatz eines Identifikators eines Objekts beinhaltet, wobei der Identifikator an einer Stelle im Rohdatenvolumen geschrieben wird, die dem Versatz im Eintrag entspricht, um ein organisiertes Metadatenvolumen herzustellen; Generieren des Produktionsvolumens aus dem organisierten Metadatenvolumen und Daten, die in einem entfernten Speicher gespeichert sind, wobei Objekte in dem entfernten Speicher, die den in dem organisierten Metadatenvolumen gespeicherten Identifikatoren entsprechen, zu entsprechenden Versätzen in dem Produktionsvolumen geschrieben werden.
  12. Verfahren nach Anspruch 11, wobei das generierte Produktionsvolumen ein Replikat eines Originalproduktionsvolumens ist.
  13. Verfahren nach Anspruch 11, das ferner Auswählen eines Zeitpunkts für das Produktionsvolumen umfasst, wobei der Zeitpunkt einem bestimmten Eintrag im Metadatenstrom entspricht.
  14. Verfahren nach Anspruch 11, wobei das Produktionsvolumen initialisierte Produktionsdaten beinhaltet.
  15. Verfahren nach Anspruch 14, wobei die Objekte im entfernten Speicher zu den initialisierten Produktionsdaten im Produktionsvolumen geschrieben werden.
  16. Verfahren nach Anspruch 11, wobei das organisierte Metadatenvolumen jeweils mit einem Eintrag hergestellt wird und wobei nicht notwendige Schreibvorgänge vermieden werden.
  17. Verfahren nach Anspruch 11, wobei die Objekte im entfernten Speicher dedupliziert werden.
  18. Von einem nicht-flüchtigen Computer lesbares Medium, das Instruktionen umfasst, die, wenn sie ausgeführt werden, das Verfahren nach Anspruch 11 durchführen.
DE112019005351.5T 2018-10-25 2019-07-10 Beliebige zeitpunktreplikation in die cloud Pending DE112019005351T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/170,809 US10860608B2 (en) 2018-10-25 2018-10-25 Any point in time replication to the cloud
US16/170,809 2018-10-25
PCT/US2019/041118 WO2020086126A1 (en) 2018-10-25 2019-07-10 Any point in time replication to the cloud

Publications (1)

Publication Number Publication Date
DE112019005351T5 true DE112019005351T5 (de) 2021-07-15

Family

ID=67441755

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019005351.5T Pending DE112019005351T5 (de) 2018-10-25 2019-07-10 Beliebige zeitpunktreplikation in die cloud

Country Status (6)

Country Link
US (2) US10860608B2 (de)
CN (1) CN112912853B (de)
DE (1) DE112019005351T5 (de)
GB (1) GB2591951B (de)
IE (1) IE20190226A1 (de)
WO (1) WO2020086126A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860608B2 (en) 2018-10-25 2020-12-08 EMC IP Holding Company LLC Any point in time replication to the cloud
US11620056B2 (en) * 2019-06-28 2023-04-04 EMC IP Holding Company LLC Snapshots for any point in time replication

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040128269A1 (en) 2002-12-27 2004-07-01 Milligan Charles A. System and method for managing data through families of inter-related metadata tables
WO2005017686A2 (en) * 2003-08-05 2005-02-24 Sepaton, Inc. Emulated storage system
US7395396B2 (en) 2004-08-30 2008-07-01 Hitachi, Ltd. Storage system and data relocation control device
US20060282471A1 (en) 2005-06-13 2006-12-14 Mark Timothy W Error checking file system metadata while the file system remains available
JP2007108981A (ja) 2005-10-13 2007-04-26 Hitachi Ltd ストレージ装置及びボリューム間のデータ交換方法
GB0622140D0 (en) * 2006-11-07 2006-12-20 Ibm Suspension of asynchronous remote copying system
US7716183B2 (en) 2007-04-11 2010-05-11 Dot Hill Systems Corporation Snapshot preserved data cloning
US7844856B1 (en) * 2007-12-26 2010-11-30 Emc (Benelux) B.V., S.A.R.L. Methods and apparatus for bottleneck processing in a continuous data protection system having journaling
US7913116B2 (en) 2008-02-27 2011-03-22 Red Hat, Inc. Systems and methods for incremental restore
JP5186982B2 (ja) 2008-04-02 2013-04-24 富士通株式会社 データ管理方法及びスイッチ装置
US8819362B1 (en) * 2009-03-26 2014-08-26 Emc Corporation Managing replication and reservations
US8706727B2 (en) * 2009-06-19 2014-04-22 Sybase, Inc. Data compression for reducing storage requirements in a database system
US9836466B1 (en) * 2009-10-29 2017-12-05 Amazon Technologies, Inc. Managing objects using tags
US9304867B2 (en) 2010-09-28 2016-04-05 Amazon Technologies, Inc. System and method for providing flexible storage and retrieval of snapshot archives
US9535801B1 (en) * 2011-06-30 2017-01-03 EMC IP Holding Company LLC Xcopy in journal based replication
US8762362B1 (en) 2011-10-21 2014-06-24 Applied Micro Circuits Corporation System and method for updating a data structure
US8712963B1 (en) * 2011-12-22 2014-04-29 Emc Corporation Method and apparatus for content-aware resizing of data chunks for replication
US9529808B1 (en) 2012-07-16 2016-12-27 Tintri Inc. Efficient and flexible organization and management of file metadata
US9229845B1 (en) * 2012-11-01 2016-01-05 Amazon Technologies, Inc. Testing using production data in scalable pre-production environments
US9569122B2 (en) 2013-06-12 2017-02-14 Infinidat Ltd. System, method and a non-transitory computer readable medium for transaction aware snapshot
US9087008B1 (en) 2013-06-24 2015-07-21 Emc International Company Replicating a volume using snapshots
US9329780B2 (en) * 2014-02-11 2016-05-03 International Business Machines Corporation Combining virtual mapping metadata and physical space mapping metadata
US10380026B2 (en) 2014-09-04 2019-08-13 Sandisk Technologies Llc Generalized storage virtualization interface
CN104866435B (zh) * 2015-06-06 2018-05-15 成都云祺科技有限公司 一种连续数据保护方法
US9817729B2 (en) 2015-07-30 2017-11-14 Zerto Ltd. Method for restoring files from a continuous recovery system
US9881040B2 (en) 2015-08-20 2018-01-30 Vmware, Inc. Tracking data of virtual disk snapshots using tree data structures
US10007448B2 (en) 2015-08-28 2018-06-26 Vmware, Inc. Multiple hierarchies of snapshots
US10095428B1 (en) * 2016-03-30 2018-10-09 EMC IP Holding Company LLC Live migration of a tree of replicas in a storage system
US10762054B2 (en) * 2016-07-22 2020-09-01 Microsoft Technology Licensing, Llc Cloud content states determination logic
CN106354582B (zh) * 2016-08-18 2019-01-18 无锡华云数据技术服务有限公司 一种连续数据保护方法
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10275177B2 (en) * 2016-10-31 2019-04-30 Oracle International Corporation Data layout schemas for seamless data migration
US10802927B2 (en) 2016-11-17 2020-10-13 Vmware, Inc. System and method for checking and characterizing snapshot metadata using snapshot metadata database
US10114581B1 (en) 2016-12-27 2018-10-30 EMC IP Holding Company LLC Creating a virtual access point in time on an object based journal replication
US10481988B2 (en) 2017-01-24 2019-11-19 Zerto Ltd. System and method for consistency verification of replicated data in a recovery system
US10609174B2 (en) * 2017-04-11 2020-03-31 Microsoft Technology Licensing, Llc Parallel prefetching log/meta stream sub-portions to recreate partition states in a distributed computing system
US11182256B2 (en) * 2017-10-20 2021-11-23 Hewlett Packard Enterprise Development Lp Backup item metadata including range information
US11263128B2 (en) * 2017-10-27 2022-03-01 Google Llc Packing objects by predicted lifespans in cloud storage
US11138156B2 (en) 2017-11-27 2021-10-05 DataCommand Corp. Continuous data management system and operating method thereof
US10909071B2 (en) 2018-07-13 2021-02-02 Vmware, Inc. Batch-based deletion of snapshots archived in cloud/object storage
US11099938B2 (en) 2018-07-31 2021-08-24 Vmware, Inc. System and method for creating linked clones of storage objects with surface snapshots
US11334545B2 (en) 2018-08-25 2022-05-17 Vmware, Inc. System and method for managing space in storage object structures
US10860608B2 (en) 2018-10-25 2020-12-08 EMC IP Holding Company LLC Any point in time replication to the cloud
US11334521B2 (en) 2018-12-21 2022-05-17 EMC IP Holding Company LLC System and method that determines a size of metadata-based system snapshots
US11061569B2 (en) 2019-01-07 2021-07-13 Vast Data Ltd. Method and system for providing improved efficiency snapshots using snaplines
US10866869B2 (en) 2019-01-16 2020-12-15 Vmware, Inc. Method to perform crash and failure recovery for a virtualized checkpoint protected storage system
US11573861B2 (en) 2019-05-10 2023-02-07 Cohesity, Inc. Continuous data protection using a write filter
US11327673B1 (en) 2020-10-23 2022-05-10 Oracle International Corporation Techniques for persisting data across instances of a cloud shell

Also Published As

Publication number Publication date
US20200134079A1 (en) 2020-04-30
GB2591951A (en) 2021-08-11
GB2591951B (en) 2022-03-09
US10860608B2 (en) 2020-12-08
CN112912853B (zh) 2022-11-04
US11669545B2 (en) 2023-06-06
US20210081431A1 (en) 2021-03-18
IE20190226A1 (en) 2021-09-29
WO2020086126A1 (en) 2020-04-30
CN112912853A (zh) 2021-06-04
GB202105344D0 (en) 2021-05-26

Similar Documents

Publication Publication Date Title
US11740974B2 (en) Restoring a database using a fully hydrated backup
DE102013204972B4 (de) Hybride Sicherung und Wiederherstellung eines sehr grossen Dateisystems unter Verwendung von Metadaten-Abbildsicherung und herkömmlicher Sicherung
US9588847B1 (en) Recovering corrupt virtual machine disks
US9495264B2 (en) Data replication techniques using incremental checkpoints
DE602004008808T2 (de) Verfahren und vorrichtung zur durchführung von operationen an gewählten daten in einem speicherbereich
EP3796174B1 (de) Wiederherstellung einer datenbank unter verwendung einer vollständig hydratisierten sicherung
DE112016000176T5 (de) Datendeduplizierung unter Verwendung von Chunk-Dateien
DE112021002894T5 (de) On-the- fly- pit-auswahl bei disarter-recovery in der cloud
DE112013003340T5 (de) Einfrieren von virtuellen Sofortkopien auf mehreren Datenträgern
DE112015000222T5 (de) Zusammenführen von mehreren Zeitpunktkopien zu einer zusammengeführten Zeitpunktkopie
DE112019005311T5 (de) Serverlose lösung zur optimierung von objektversionierung
US10776211B1 (en) Methods, systems, and apparatuses to update point in time journal using map reduce to create a highly parallel update
DE112019005351T5 (de) Beliebige zeitpunktreplikation in die cloud
WO2022103855A1 (en) Efficient backup after a restore operation
Kim et al. An efficient database backup and recovery scheme using write-ahead logging
US20210109896A1 (en) Smart Filesystem Indexing For Any Point-in-Time Replication
US11620056B2 (en) Snapshots for any point in time replication
EP3454231B1 (de) Entfernt montiertes dateisystem mit stichleitungen
US9208033B1 (en) Consolidating decremental backups in a decremental backup chain
DE102022113314A1 (de) Kontinuierlicher datenschutz in cloud-nutzenden strömen
DE112021000935T5 (de) Verwendung von business-continuity und disaster-recovery für any- point-in-time-backups
DE112021002848T5 (de) Datenmaskierung in einer mikrodienst-architektur
DE102023116678A1 (de) Wiederherstellungsgerechte datenmigration in verteilten systemen