DE60112462T2 - Wiederherstellung von dateisystemdaten in dateiservern mit gespiegelten dateisystemvolumen - Google Patents

Wiederherstellung von dateisystemdaten in dateiservern mit gespiegelten dateisystemvolumen Download PDF

Info

Publication number
DE60112462T2
DE60112462T2 DE60112462T DE60112462T DE60112462T2 DE 60112462 T2 DE60112462 T2 DE 60112462T2 DE 60112462 T DE60112462 T DE 60112462T DE 60112462 T DE60112462 T DE 60112462T DE 60112462 T2 DE60112462 T2 DE 60112462T2
Authority
DE
Germany
Prior art keywords
file system
mirrored
file
records
record
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.)
Expired - Fee Related
Application number
DE60112462T
Other languages
English (en)
Other versions
DE60112462D1 (de
Inventor
Srinivasan Viswanathan
R. Steven KLEIMAN
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.)
NetApp Inc
Original Assignee
Network Appliance Inc
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 Network Appliance Inc filed Critical Network Appliance Inc
Application granted granted Critical
Publication of DE60112462D1 publication Critical patent/DE60112462D1/de
Publication of DE60112462T2 publication Critical patent/DE60112462T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/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/2082Data synchronisation
    • 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/2064Error 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 while ensuring consistency
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Description

  • Hintergrund der Erfindung
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft ein Wiederherstellen von Dateisystemdaten in einem Dateiserver mit gespiegelten Dateisystem-Datensätzen.
  • 2. Stand der Technik
  • Netzwerk-Dateiserver und andere Dateisysteme sind Fehlern und anderen Ausfällen ausgesetzt, inklusive denjenigen, die aus einem Hardware-Ausfall, einem Software-Fehler oder einer fehlerhaften Konfiguration erwachsen. Aufgrund der Wahrscheinlichkeit eines Fehlers, stellen viele Dateisysteme zusätzliche Kopien der Daten in dem Dateisystem bereit, wie z. B. durch Bereitstellen eines gespiegelten Dateisystem-Datensatzes. In einem gespiegelten Dateisystem stellt ein erster Datensatz eine erste Kopie des Dateisystems bereit, während ein zweiter Datensatz eine synchrone, zweite Kopie des Dateisystems bereitstellt. Falls Daten auf dem ersten Datensatz beschädigt oder anderweitig verloren sind, können somit Daten von dem zweiten Datensatz transparent an ihrer Stelle verwendet werden.
  • Ein Problem des Standes der Technik ist, dass es fehlschlagen kann, dass der erste Datensatz und der zweite Datensatz des Dateisystems in Synchronisation verbleiben. Jeder Datensatz des gespiegelten Dateisystems würde somit eine Menge von Dateien oder anderen Objekten eines verschiedenen Zeitstempels (oder Prüfpunkts) in der Dateisystem-Historie umfassen. Im Ergebnis würden der erste Datensatz und der zweite Datensatz nicht weiter als genaue Spiegelungen voneinander dienen, weil einer nicht aktuell ist. Ein Aspekt dieses Problems ist, dass es nach Systemabstürzen unbekannt ist, ob der erste Datensatz oder der zweite Datensatz der aktuellere ist. Dementsprechend wäre es wünschenswert, sicherzustellen, dass der erste Datensatz und der zweite Datensatz des Dateisystems nach Systemabstürzen synchronisiert bleiben. Falls es dem ersten Datensatz und dem zweiten Datensatz nicht möglich ist, synchronisiert zu bleiben, ist es wünschenswert, schnell zu ermitteln, welches die aktuellste Version ist und effizient einzusetzen, um eine Re-Synchronisation zu bewirken.
  • Ein erstes bekanntes Verfahren ist, die beiden Spiegelungskopien nach Systemabstürzen durch Kopieren jedes Blocks zu re-synchronisieren. Während dieses Verfahren grundsätzlich das Ergebnis erreichen kann, sicherzustellen, dass die erste Kopie und die zweite Kopie des Dateisystems nach Systemabstürzen synchronisiert sind, hat es den gravierenden Nachteil, dass es sehr ineffizient ist, weil jeder Dateiblock von wenigstens einem der Spiegelungs-Dateisysteme auf das andere der Spiegelungs-Dateisysteme kopiert werden muss. Wenn das Dateisystem besonders groß ist, wie z. B. eines, welches eine Terabyte-Größe erreicht oder überschreitet, macht dieser Nachteil dieses bekannte Verfahren aufgrund seiner außerordentlichen Latenz (und Anfälligkeit für andere Fehler) unanwendbar.
  • WO 00/07104 offenbart ein Verfahren und ein System zum Duplizieren eines Teils eines Dateisystems, während konsistente Kopien des Dateisystems erhalten bleiben. Der Dateiserver führt eine Menge von Speicherauszügen, die jeweils eine Menge von Speicherblöcken angeben, welche eine konsistente Kopie des Dateisystems, so wie es zu einem bekannten Zeitpunkt war, bilden. In einer bevorzugten Ausführungsform dieser Offenbarung können die Speicherauszüge manipuliert werden, um Mengen von Speicherblöcken in dem Dateisystem zum inkrementellen Datensichern oder Kopieren zu identifizieren.
  • Ein zweites bekanntes Verfahren ist, ein Protokoll von Regionen oder Dateiblöcken in jedem gespiegelten Datensatz zu führen, welche verändert wurden (manchmal bekannt als "schmutzige" Dateiblöcke). Wenn ein solches Protokoll geführt wird, ist es nur notwendig, diejenige Dateiblöcke zu kopieren, die schmutzig sind, anstelle eines vollständigen gespiegelten Datensatzes. Während dieses Verfahren grundsätzlich das Ergebnis erreichen kann, welches andererseits durch das erste bekannte Verfahren erreicht wird, weist es zumindest zwei Nachteile auf. Erstens ist dieses Verfahren komplexer, indem es ein sorgfältiges Führen erfordert, um sicherzustellen, dass das Protokoll synchron bleibt. Zweitens muss zur Zuverlässigkeit das Protokoll selbst grundsätzlich gespiegelt werden, was natürlich die voll ständige Problematik eines Wiederherstellens von gespiegelten Dateien nach Systemabstürzen wieder aufwirft. Drittens erhöht ein Führen dieses zusätzlichen Protokolls die Latenz jeder Operation. Darüber hinaus kann eine solche Technik zusätzliche Fehler in dem Fall aufwerfen, dass das Protokoll unzuverlässig ist.
  • Dementsprechend ist es wünschenswert, eine Technik zum Wiederherstellen von Dateisystem-Daten in einem Dateiserver mit gespiegelten Dateisystem-Datensätzen bereitzustellen, welche nicht den Nachteilen des Standes der Technik unterworfen ist.
  • Zusammenfassung der Erfindung
  • Die Erfindung stellt ein Verfahren und ein System zum Wiederherstellen von Dateisystem-Daten in Dateiservern mit gespiegelten Dateisystem-Datensätzen bereit. In einer bevorzugten Ausführungsform verwendet die Erfindung ein Konsistenzpunktmodell, umfassend ein Speicherauszugsmerkmal eines robusten Dateisystems (das "WAFL-Dateisystem"), um schnell zu ermitteln, welcher der beiden oder mehreren gespiegelten Datensätzen der aktuellste ist, und welche Blöcke des aktuellsten gespiegelten Datensatzes sich von jedem der gespiegelten Dateisysteme unterscheiden. Aus einer Vielzahl von zwei oder mehr gespiegelten Datensätzen ermittelt die Erfindung schnell, welcher der aktuellste ist, durch Prüfen einer aktuellsten Konsistenzpunktzahl, welche durch das WAFL-Dateisystem bei jedem gespiegelten Datensatz geführt wird. Die Erfindung ermittelt in Reak tion auf einen Speicherauszug des Dateisystems, welcher bei jedem gespiegelten Datensatz geführt wird, schnell und zuverlässig, welche Blöcke sich der aktuellste gespiegelte Datensatz und jeder andere gespiegelte Datensatz teilen und gemeinsam paarweise zwischen jedem gespiegelten Datensatz und dem aktuellsten gespiegelten Datensatz gespeichert werden. Die Erfindung kopiert nur diejenigen Blöcke, die zwischen dem gemeinsamen Speicherauszug und dem aktuellsten Speicherauszug verändert sind. Dieser schnelle und zuverlässige Vergleich von Blöcken, gefolgt durch eine effiziente Übertragung derjenigen Blöcke, die verändert wurden, weist nicht die Nachteile des Standes der Technik auf.
  • Die Erfindung bietet eine Technologie zum Ermöglichen einer großen Vielfalt von Anwendungen für eine Dateisystem-Wiederherstellung unter Verwendung von redundanten Dateisystemen, um wesentliche Vorteile und Eignungen zu erreichen, die neu und erfinderisch im Hinblick auf den Stand der Technik sind. Nachfolgend beschriebene Beispiele betreffen in erster Linie gespiegelte Dateisystem-Datensätze in einem Netzwerk-Dateiserver, die Erfindung ist jedoch auf viele Arten von redundanten Dateisystemen umfassend anwendbar, wie z. B. auf diejenigen, die in RAID-Subsystemen und parallelen Speichersystemen verwendet werden.
  • Diese Ziele werden in einer vorteilhaften Weise im wesentlichen durch Anwenden der Merkmale gelöst, die in den unabhängigen Ansprüchen offengelegt sind. Weitere Verbesserungen werden durch die Unteransprüche bereitgestellt.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein Blockdiagramm eines Systems zum Wiederherstellen von Dateisystem-Daten in Dateiservern mit gespiegelten Dateisystem-Datensätzen.
  • 2 zeigt ein Prozessflussdiagramm für ein Verfahren zum Betreiben eines Systems wie in 1.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • In der folgenden Beschreibung wird eine bevorzugte Ausführungsform der Erfindung mit Bezug auf bevorzugte Prozessschritte und Datenstrukturen beschrieben. Ausführungsformen der Erfindung können unter Verwendung von Allzweck-Prozessoren oder Spezial-Prozessoren, welche unter einer Programmsteuerung betrieben werden, oder anderen Schaltkreisen, welche auf bestimmte hierin beschriebene Prozessschritte oder Datenstrukturen angepasst sind, implementiert werden. Ein Implementieren der hierin beschriebenen Prozessschritte und Datenstrukturen würde kein übermäßiges Experimentieren oder eine weitere Erfindung erfordern.
  • Lexikographie
  • Die folgenden Begriffe betreffen oder beziehen sich auf Aspekte der nachfolgend beschriebenen Erfindung. Die Beschreibungen von generellen Bedeutungen dieser Begriffe sind nicht einschränkend gedacht, sondern nur illustrativ.
    • – Block: generell, jede Sammlung von Daten für Datenobjekte in einem Dateisystem;
    • – Konsistenzpunkt: generell, jeder Punkt, an welchem die Konsistenz eines Dateisystems sichergestellt oder aufgezeichnet ist;
    • – Dateiserver: generell, jede Einrichtung, welche auf Nachrichten antwortet, welche Dateisystem-Operationen anfragen;
    • – Dateisystem: generell, jede Organisation oder Struktur von Information zum Speichern oder Wiedergewinnen;
    • – Dateisystem-Daten: generell, jede Information, welche in einem Dateisystem oder einem Objekt in einem Dateisystem aufgezeichnet wird;
    • – Dateisystem-Datensatz: generell, jede Massenspeichereinrichtung oder Zusammenstellung davon, zum Speichern oder Wiedergewinnen von Dateisystemobjekten;
    • – Gespiegelter Datensatz: generell, jeder Dateisystem-Datensatz mit einer Kopie von wenigstens einem Teil eines anderen Dateisystem-Datensatzes;
    • – Paralleles Speichersystem: generell, jedes Dateisystem, in welchem Daten gänzlich oder teilweise an vielfachen Orten oder in vielfachen Wegen aufgezeichnet werden;
    • – RAID-Subsystem: generell, jedes System, welches eine redundante Anordnung von Massenspeicherlaufwerken umfasst;
    • – Wiederherstellung von Dateisystem-Daten: generell, jedes Rückkopieren oder Erneuern von Information von einem Speicher oder Speichermedium zu einem anderen;
    • – Redundantes Dateisystem: generell, jedes Dateisystem in welchem Daten ganz oder teilweise mit zusätzlicher Information aufgezeichnet werden, welche eine Wiederherstellung wenigstens eines Teils dieser Daten erlaubt;
    • – Re-Synchronisieren: generell, jede Operation, bei welcher Objekte in einem Dateisystem reorganisiert oder wiedergeschrieben werden, um sicherzustellen, dass Dateisystem-Objekte eine Synchronisation aufrecht erhalten oder wiederherstellen;
    • – Geteilter Dateiblock: generell, jeder Dateiblock, dessen Dateninhalt auf mehr als einem Dateisystem-Datensatz angeordnet ist;
    • – Speicherauszug: generell, jedes konsistente Dateisystem, welches ganz oder teilweise zum späteren Rückgewinnen bereitsteht, selbst wenn der Speicherauszug kein aktuelles konsistentes Dateisystem ist;
    • – Aktuell: generell, ein Maß einer Neuigkeit eines Dateisystems, Dateisystemobjekts oder Speicherauszugs;
    • – WAFL-Dateisystem: generell, ein robustes Dateisystem oder jedes Dateisystem, in welchem wenigstens ein Speicherauszug zusätzlich zu einem aktuellen konsistenten Dateisystem geführt wird.
  • Wie oben angemerkt, sind diese Beschreibungen von generellen Bedeutungen dieser Begriffe nicht als Einschränkung sondern nur illustrativ gedacht. Andere und weitere Anwendungen dieser Erfindung, umfassend Erweiterungen dieser Begriffe und Konzepte, sind denjenigen mit durchschnittlichen Fähigkeiten in dem Gebiet nach einem Durcharbeiten dieser Anmeldungen klar. Diese anderen und weiteren Anwendungen sind Teil des Schutzumfangs der Erfindung und sind denjenigen mit durchschnittlichen Fähigkeiten in dem Gebiet ohne eine weitere Erfindung oder übermäßiges Experimentieren klar.
  • Systemelemente
  • 1 zeigt ein Blockdiagramm eines Systems zum Wiederherstellen von Dateisystemdaten in Dateiservern mit gespiegelten Dateisystem-Datensätzen.
  • Ein System 100 umfasst einen Dateiserver (oder eine andere Einrichtung) 110, ein Kommunikationsnetzwerk 120 und eine Netzwerkschnittstelle 130. Der Dateiserver 110 umfasst eine Vielzahl von gespiegelten Dateisystem-Datensätzen 111, wobei jeder von ihnen einen Massenspeicher zum Aufzeichnen und Wiedergewinnen von Daten umfasst. Jeder Dateisystem-Datensatz 111 umfasst wenigstens einen Speicherauszug 112 gemäß dem WAFL-Dateisystem. Jeder Speicherauszug 112 umfasst einen Dateisystem-Informationsblock 113, umfassend einen Zeiger auf ein vollständiges konsistentes Dateisystem und einen Konsistenzpunktwert 114, welcher eine Sequenz angibt, in welcher der Speicherauszug 112 erzeugt wurde.
  • Jeder Dateisystem-Datensatz 111 umfasst auch ein aktives Dateisystem 115, welches seinerseits mit einem Konsistenzpunktwert 114 assoziiert ist. Bei einer bevorzugten Ausführungsform werden Speicherauszüge 112 periodisch in Reaktion auf ein aktives (und als Kopie von einem aktiven) Dateisystem 115 erzeugt. Während somit jeder Speicherauszug 112 einen Konsistenzpunktwert 114 von seinem assoziierten aktiven Dateisystem 115 umfasst, wird nicht jedes aktive Dateisystem 115 in einen Speicherauszug gebracht und somit ist nicht jeder Konsistenzpunktwert 114 mit einem Speicherauszug 112 assoziiert.
  • Der Dateiserver 110 empfängt Nachrichten 116, die anfordern, Daten zu schreiben oder anderweitig Daten von dem Kommunikationsnetzwerk 120 unter Verwendung der Netzwerkschnittstelle 130 zu ändern. Bei normalem Betrieb parst (eng. "to parse") der Dateiserver 110 jene Nachrichten 116 und schreibt die gleichen Daten in beide der aktiven Dateisysteme 115 der gespiegelten Dateisystem-Datensätze 111, so dass jeder der gespiegelte Dateisystem-Datensätze 111 die gleichen aktiven Dateisysteme 115, die gleichen Speicherauszüge 112 und deshalb die gleichen Daten umfasst. Im Falle eines Systemabsturzes oder eines anderen Fehlers kann es jedoch vorkommen, dass es fehlschlägt, dass einer oder mehrere der gespiegelten Dateisystem-Datensätze 111 in Synchronisation mit den anderen verbleiben, entweder weil sein aktives Dateisystem 115 nicht aktuell ist oder seine Speicherauszüge 112 nicht aktuell sind.
  • Falls einer oder mehrere der gespiegelten Dateisystem-Datensätze 111 nicht in Synchronisation mit den anderen ist, gibt es wenigstens einen gespiegelten Dateisystem-Datensatz 111 mit einem aktiven Dateisystem 115 mit einem Konsistenzpunktwert 114, welcher größer als alle anderen Punkte ist. Dies gibt an, dass das assoziierte aktive Dateisystem 115 und der assoziierte Dateisystem-Datensatz 111 (mit dem höchsten Konsistenzpunktwert 114) der aktuellste Dateisystem-Datensatz 111 von allen den gespiegelten Dateisystem-Datensätzen 111 ist.
  • Ähnlich gibt es für jedes Paar von gespiegelten Dateisystem-Datensätzen 111 wenigstens einen gemeinsamen, für beide vorliegenden Speicherauszug 112, welcher somit den gleichen Konsistenzpunktwert 114 für den gemeinsamen Speicherauszug 112 bei jedem der beiden gespiegelten Dateisystem-Datensätze 111 hat. Für jedes Paar aus gespiegelten Dateisystem-Datensätzen 111 A und B kann der Unterschied zwischen dem gemeinsamen Speicherauszug 112 und dem aktuellsten aktiven Dateisystem 115 (z. B. beim gespiegelten Dateisystem-Datensatz 111 A) leicht und schnell unter Verwendung des WAFL-Dateisystems ermittelt werden. Die Dateiblöcke, welche durch diese Differenz angegeben werden, sind die einzigen Dateiblöcke, welche zur Re-Synchronisation zwischen dem Paar aus gespiegelten Dateisystem-Datensätzen 111 A und B benötigt werden.
  • Während jedes Paar (A und B) von gespiegelten Dateisystem-Datensätzen 111 wenigstens einen gemeinsamen Speicherauszug 112 hat, welcher mit dem aktuellsten aktiven Dateisystem 115 verglichen werden kann, gibt es keine besondere Anforderung, dass jedes andere Paar (A und C oder A und D) von gespiegelten Dateisystem-Datensätzen 112 den gleichen gemeinsamen Speicherauszug 112 wie das erste Paar (A und B) hat. Jedoch kann für jedes solche andere Paar (A und C oder A und D) von gespiegelten Dateisystem-Datensätzen 111 der Unterschied zwischen dem gemeinsamen Speicherauszug 112 und dem aktuellsten aktiven Dateisystem 115 dennoch leicht und schnell unter Verwendung des WAFL-Dateisystems ermittelt werden, wobei die Dateiblöcke, welche durch diese Differenz angegeben werden, die einzigen Dateiblöcke sind, welche für eine Re-Synchronisation zwischen den anderen Paaren (A und C oder A und D) von gespiegelten Dateisystem-Datensätzen 111 benötigt werden.
  • Betriebsverfahren
  • 2 zeigt ein Prozessflussdiagramm eines Verfahrens zum Betreiben eines Systems wie in 1.
  • Ein Verfahren 200 umfasst eine Menge von Flusspunkten und eine Menge von Schritten. Das System 100 führt das Verfahren 200 durch. Obwohl das Verfahren 200 seriell beschrieben wird, können die Schritte des Verfahrens 200 durch separate Elemente zusammen oder parallel, ob asynchron, in einer Pipeline-Weise oder anderweitig durchgeführt werden. Es gibt keine spezielle Anforderung, dass das Verfahren 200 in der gleichen Reihenfolge durchgeführt wird, in welcher diese Beschreibung die Schritte auflistet, außer dort, wo es so angegeben wird.
  • Bei einem Flusspunkt 210 ist der Dateiserver 110 bereit, eine Vielzahl von gespiegelten Dateisystem-Datensätzen 111 zu re-synchronisieren.
  • Bei einem Schritt 211 prüft der Dateiserver 110 den Dateisystem-Informationsblock 113 für jeden einzelnen der Vielzahl von gespiegelten Dateisystem-Datensätzen 111, um einen einzelnen Konsistenzpunktwert 114 zu ermitteln, welcher das Maximum für alle aktiven Dateisysteme 115 bei solchen gespiegelten Dateisystem-Datensätzen 111 ist. Während es möglich ist, dass es mehr als einen solchen gespiegelten Dateisystem-Datensatz 111 mit einem aktiven Dateisystem 115 mit dem maximalen Konsistenzpunktwert 114 gibt, gibt es keine besondere Anforderung, einen von sol cherart gespiegelten Dateisystem-Datensätzen 111 vor anderen bevorzugt auszuwählen, da alle aktiven Dateisysteme 115 mit diesem identischen Konsistenzpunktwert 114 identisch sind.
  • Bei einem Schritt 212 erzeugen die gespiegelten Dateisystem-Datensätze 111 mit dem maximalen Konsistenzpunktwert 114 für ein aktives Dateisystem 115 einen neuen Speicherauszug 112 für das aktive Dateisystem 115 und mit dem maximalen Konsistenzpunktwert 114. Dieser neue Speicherauszug 112 ist somit der aktuellste Speicherauszug 112 und hat den maximalen Konsistenzpunktwert 114.
  • Bei einem Schritt 213 prüft der Dateiserver 110 für jeden einzelnen der Vielzahl von gespiegelten Dateisystem-Datensätze 111 (anders als die Dateisystem-Datensätze 111 mit dem aktuellsten aktiven Dateisystem 115) den Dateisystem-Informationsblock 113, um einen Speicherauszug 112 bei dem einen gespiegelten Dateisystem-Datensatz 111 zu ermitteln, der mit dem gespiegelten Dateisystem-Datensatz 111 mit dem aktuellsten Speicherauszug 112 gemein ist. Somit ermittelt der Dateiserver 110 einen engsten Grad einer Synchronisation zwischen jedem gespiegelten Dateisystem-Datensatz 111 (nacheinander) und dem gespiegelten Dateisystem-Datensatz 111 mit dem aktuellsten Speicherauszug 112.
  • Bei einem Schritt 212 ermittelt der Dateiserver 110 für jeden solchen engsten Grad einer Synchronisation einen Unterschied zwischen dem gemeinsamen Speicherauszug 112 und dem aktuellsten Speicherauszug 112, wodurch eine Menge von Dateiblöcken erzeugt wird, die sich zwischen dem gemeinsa men Speicherauszug und dem aktuellsten Speicherauszug 112 verändert haben. Diese veränderten Dateiblöcke sind die einzigen Dateiblöcke, die zwischen dem gemeinsamen Speicherauszug 112 und dem aktuellsten aktiven Dateisystem 115 re-synchronisiert werden müssen.
  • Bei einem Schritt 215 re-synchronisiert der Dateiserver 110 für jede solche Menge von veränderten Dateiblöcken jeden gespiegelten Dateisystem-Datensatz 111 mit dem aktuellsten Speicherauszug 112 durch Überkopieren nur der veränderten Dateiblöcke, wodurch eine Kopie des aktuellsten Speicherauszugs 112 bei jedem gespiegelten Dateisystem-Datensatz 111 erzeugt wird.
  • Bei einer bevorzugten Ausführungsform gibt es nur zwei solcherart gespiegelte Dateisystem-Datensätze 111. Der Dateiserver 110 braucht nur einen Vergleich durchzuführen, um den maximalen Konsistenzpunktwert 114 für das aktuellste aktive Dateisystem 115 zu ermitteln. Der Dateiserver 110 braucht nur ein Paar von gespiegelten Dateisystem-Datensätzen 111 für einen gemeinsamen Speicherauszug 112 zu prüfen. Der Dateiserver 110 braucht nur eine Menge von veränderten Blöcken zwischen dem gemeinsamen Speicherauszug 112 und dem aktuellsten Speicherauszug 112 zu ermitteln. Der Dateiserver 110 braucht nur eine Menge von veränderten Blöcken von einem gespiegelten Dateisystem-Datensatz 111 zu dem anderen zu kopieren.
  • Jedoch kann es in alternativen Ausführungsformen mehr als zwei gespiegelte Dateisystem-Datensätze 111 geben. Diejenigen, die in dem Gebiet be fähigt sind, werden nach Durcharbeiten dieser Anmeldung erkennen, dass die Erfindung leicht und schnell auf zusätzliche gespiegelte Dateisystem-Datensätze 111 generalisierbar ist, ohne übermäßiges Experimentieren oder eine weitere Erfindung.
  • Bei einer bevorzugten Ausführungsform können die gespiegelten Dateisystem-Datensätze 111 jeweils aktualisiert werden, um neue aktive Dateisysteme 115 in Reaktion auf Nachrichten 116 zu erzeugen, welche Dateisystem-Operationen anfragen, selbst während der Speicherauszug 112 bei jedem gespiegelten Dateisystem-Datensatz 111 mit dem aktuellsten Speicherauszug 112 synchronisiert wird. Die gespiegelten Dateisystem-Datensätze 111 können somit jeweils die gesamten Funktionen eines Dateiservers 110 mit gespiegelten Dateisystem-Datensätzen 111 durchführen, selbst während die Re-Synchronisation stattfindet.
  • Nach diesem Schritt hat das Verfahren 200 alle der gespiegelten Dateisystem-Datensätze 111 auf das aktuellste aktive Dateisystem 115 re-synchronisiert.
  • Bei einer bevorzugten Ausführungsform wird das Verfahren 200 jedesmal durchgeführt, wenn das System 100 von einem Systemabsturz wieder hergestellt wird, als Teil des Absturz-Wiederherstellungsprozesses. Bei alternativen Ausführungsformen kann das Verfahren 200 in Reaktion auf andere Ereignisse durchgeführt werden, wie z. B. in Reaktion auf einen Zeitgeber, in Reaktion auf eine Detektion eines Mangels an Synchronisation zwischen den gespiegelten Datensätzen oder in Reaktion auf eine Bedieneranweisung.
  • Allgemeingültigkeit der Erfindung
  • Die Erfindung besitzt eine generelle Anwendbarkeit auf verschiedene Einsatzgebiete, welche nicht notwendigerweise mit den oben beschriebenen Diensten verbunden sind. Z. B. können diese Einsatzgebiete eine oder mehrere oder eine Kombination der folgenden umfassen:
    • – Dateisystem-Wiederherstellung unter Verwendung von anderen redundanten Dateisystemen, als gespiegelte Dateisystem-Datensätze;
    • – RAID-Subsysteme;
    • – parallele Speichersysteme.
  • Andere und weitere Anwendungen der Erfindung in ihrer generellsten Form werden denjenigen beim Durcharbeiten dieser Anmeldung klar, welche in dem Gebiet befähigt sind, und liegen innerhalb des Schutzumfangs der Erfindung. Obwohl bevorzugte Ausführungsformen hierin offenbart werden, sind viele Variationen möglich, welche innerhalb des Konzepts, Umfangs und Geistes der Erfindung verbleiben, und diese Variationen würden demjenigen nach Durcharbeitung dieser Anmeldung klar werden, der in dem Gebiet befähigt ist.

Claims (23)

  1. Verfahren umfassend die Schritte: Prüfen einer Vielzahl von gespiegelten Dateisystem-Datensätzen (111), die jeder einen oder mehrere Speicherauszüge umfassen; wobei jeder der Speicherauszüge einen Dateisystem-Informationsblock (113) umfasst, der einen Zeiger auf ein vollständiges konsistentes Dateisystem und einen Konsistenzpunktwert (114) umfasst, der eine Sequenz anzeigt, in der der Speicherauszug erzeugt wurde; und jeder der gespiegelten Dateisystem-Datensätze (111) ein aktives Dateisystem (115) umfasst, das seinerseits mit einem Konsistenzpunktwert (114) verknüpft ist; und desweiteren umfassend die Schritte: Ermitteln eines aktuellsten gespiegelten Dateisystem-Datensatzes (111) in Bezug auf die Konsistenzpunktwerte; Ermitteln von Speicherauszügen (112), die der aktuellste Dateisystem-Datensatz (111) und wenigstens zwei der Vielzahl von gespiegelten Dateisystem-Datensätzen (111) gemeinsam haben; Auswählen derjenigen Dateiblöcke, die sich zwischen den gemeinsamen Speicherauszügen (112) und dem aktuellsten Dateisystem-Datensatz (111) geändert haben; und Re-Synchronisieren von wenigstens zwei der Vielzahl der gespiegelten Dateisystem-Datensätze (111) in Reaktion auf die Schritte des Auswählens.
  2. Verfahren nach Anspruch 1, wobei der Konsistenzpunktwert (114), für den die Vielzahl von gespiegelten Dateisystem-Datensätzen (111) geprüft werden, ein maximaler Wert ist.
  3. Verfahren nach Anspruch 2, wobei der Dateisystem-Datensatz (111), der mit dem maximalen Wert verknüpft ist, zum Erzeugen eines neuen Speicherauszugs (112) verwendet wird.
  4. Verfahren nach Anspruch 3, desweiteren umfassend Schritte des Re-Synchronisierens jedes der Vielzahl von gespiegelten Dateisystem-Datensätzen (111) mit dem neuen Speicherauszug (112).
  5. Verfahren nach Anspruch 2, wobei der maximale Wert mit dem aktuellsten Dateisystem-Datensatz (111) verknüpft wird.
  6. Verfahren nach Anspruch 1, wobei der Schritt des Auswählens desweiteren ein Auswählen von Dateiblöcken in Reaktion auf einen Unterschied zwischen einem Speicherauszug (112) für den aktuellsten Dateisystem-Datensatz (111) und einem gemeinsamen Speicherauszug (112) für die Vielzahl von gespiegelten Dateisystem-Datensätze (111) umfasst.
  7. Verfahren nach Anspruch 6, desweiteren umfassend Schritte des Kopierens der Menge der geänderten Dateiblöcke in die Vielzahl von gespiegelten Dateisystem-Datensätze (111).
  8. Verfahren nach Anspruch 7, wobei die Menge der geänderten Dateiblöcke eine Sammlung von Daten für Datenobjekte in der Vielzahl von gespiegelten Dateisystem-Datensätzen (111) umfasst.
  9. Verfahren nach Anspruch 1, wobei die Vielzahl von gespiegelten Dateisystem-Datensätzen (111) ein RAID-Subsystem umfasst.
  10. Verfahren nach Anspruch 1, wobei die Vielzahl von gespiegelten Dateisystem-Datensätzen (111) Datensätze für parallel gespeicherte Systeme umfasst.
  11. Vorrichtung umfassend: ein Mittel zum Prüfen einer Vielzahl von gespiegelten Dateisystem-Datensätzen (111), die jeder einen oder mehrere Speicherauszüge umfassen; wobei: jeder der Speicherauszüge einen Dateisystem-Informationsblock (113) umfasst, der einen Zeiger auf ein vollständiges konsistentes Dateisystem und einen Konsistenzpunktwert (114) umfasst, der eine Sequenz anzeigt, in der der Speicherauszug erzeugt wurde; und jeder der gespiegelten Dateisystem-Datensätze (111) ein aktives Dateisystem (115) umfasst, das seinerseits mit einem Konsistenzpunktwert (114) verknüpft ist; und desweiteren umfassend: ein Mittel zum Ermitteln eines aktuellsten gespiegelten Dateisystem-Datensatzes (111) in Bezug auf die Konsistenzpunktwerte; ein Mittel zum Ermitteln von Speicherauszügen (112), die der aktuellste Dateisystem-Datensatz (111) und wenigstens zwei der Vielzahl von gespiegelten Dateisystem-Datensätzen (111) gemeinsam haben; ein Mittel zum Auswählen derjenigen Dateiblöcke, die sich zwischen dem gemeinsamen Speicherauszug (112) und dem aktuellsten Dateisystem-Datensatz (111) geändert haben; und ein Mittel zum Re-Synchronisieren von wenigstens zwei der Vielzahl von gespiegelten Dateisystem-Datensätzen (111) in Reaktion auf das Mittel zum Auswählen.
  12. Vorrichtung gemäß Anspruch 11, umfassend: die Vielzahl von gespiegelten Dateisystem-Datensätzen (111), wobei jeder wenigstens einen Speicherauszug hat, der ein vollständiges konsistentes Dateisystem umfasst, wobei jeder der Speicherauszüge einen Konsistenzpunktwert (114) hat; ein erstes Vergleichselement, das geeignet ist, mit einer Vielzahl der Konsistenzpunktwerte (114) verbunden zu werden; ein zweites Vergleichselement in Reaktion auf eine Ausgabe des ersten Vergleichselements, wobei das zweite Vergleichselement geeignet ist, (a) mit einem ersten Speicherauszug, der mit der Ausgabe an einem ersten der Dateisystem-Datensätze verknüpft ist, und (b) mit einem zweiten Speicherauszug, der mit einem zweiten der Dateisystem-Datensätze verknüpft ist, verbunden zu werden, wobei das zweite Vergleichselement geeignet ist, eine Auswahl von Dateiblöcken in Reaktion darauf bereitzustellen.
  13. Verfahren nach Anspruch 12, wobei der erste und der zweite der Dateisystem-Datensätze den zweiten Speicherauszug gemeinsam haben.
  14. Vorrichtung nach Anspruch 12, wobei die Ausgabe des ersten Vergleichselements anzeigt, welcher Speicherauszug (112) für die Vielzahl von gespiegelten Dateisystem-Datensätzen (111) einen maximalen Konsistenzpunktwert (114) hat.
  15. Vorrichtung nach Anspruch 14, desweiteren umfassend ein Dateiserver-Element, das einen neuen Speicherauszug (112) aus einem Dateisystem-Datensatz (111) erzeugt, der mit dem maximalen Konsistenzpunktwert (114) verknüpft ist.
  16. Vorrichtung nach Anspruch 15, wobei das Dateiserver-Element jeden der Vielzahl von gespiegelten Dateisystem-Datensätzen (111) mit dem neuen Speicherauszug (112) re-synchronisiert.
  17. Vorrichtung nach Anspruch 14, wobei der maximale Konsistenzpunktwert (114) mit einem aktuellsten Dateisystem-Datensatz (111) verknüpft ist.
  18. Vorrichtung nach Anspruch 12, wobei der zweite Speicherauszug ein gemeinsamer Speicherauszug ist, der desweiteren mit anderen der Dateisystem-Datensätze verknüpft ist, und wobei die Auswahl von Dateiblöcken in Reaktion auf einen Unterschied zwischen dem ersten Speicherauszug und dem zweiten Speicherauszug erfolgt.
  19. Vorrichtung nach Anspruch 18, desweiteren umfassend ein Dateisystem-Element, das die Auswahl von Dateiblöcken in den zweiten und die anderen der Dateisystem-Datensätze (111) kopiert.
  20. Vorrichtung nach Anspruch 19, wobei die Auswahl der Dateiblöcke eine Sammlung von Daten für Datenobjekte in den Dateisystem-Datensätzen (111) umfasst.
  21. Vorrichtung nach Anspruch 11 oder 12, wobei die Dateisystem-Datensätze (111) ein RAID-Subsystem umfassen.
  22. Vorrichtung nach Anspruch 11 oder 12, wobei die Dateisystem-Datensätze (111) Datenträger für parallel gespeicherte Systeme umfassen.
  23. Ein Computerprogrammprodukt, das Programmcodemittel umfasst, die bewirken, dass das Computersystem die Schritte eines der Ansprüche 1 bis 10 durchführt, wenn es auf einem Computersystem ausgeführt wird.
DE60112462T 2000-10-04 2001-10-04 Wiederherstellung von dateisystemdaten in dateiservern mit gespiegelten dateisystemvolumen Expired - Fee Related DE60112462T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/684,487 US6654912B1 (en) 2000-10-04 2000-10-04 Recovery of file system data in file servers mirrored file system volumes
US684487 2000-10-04
PCT/US2001/031422 WO2002029572A2 (en) 2000-10-04 2001-10-04 Recovery of file system data in file servers mirrored file system volumes

Publications (2)

Publication Number Publication Date
DE60112462D1 DE60112462D1 (de) 2005-09-08
DE60112462T2 true DE60112462T2 (de) 2006-04-20

Family

ID=24748237

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60112462T Expired - Fee Related DE60112462T2 (de) 2000-10-04 2001-10-04 Wiederherstellung von dateisystemdaten in dateiservern mit gespiegelten dateisystemvolumen

Country Status (4)

Country Link
US (3) US6654912B1 (de)
EP (1) EP1325415B1 (de)
DE (1) DE60112462T2 (de)
WO (1) WO2002029572A2 (de)

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US8935307B1 (en) 2000-09-12 2015-01-13 Hewlett-Packard Development Company, L.P. Independent data access in a segmented file system
US7836017B1 (en) 2000-09-12 2010-11-16 Hewlett-Packard Development Company, L.P. File replication in a distributed segmented file system
US6782389B1 (en) * 2000-09-12 2004-08-24 Ibrix, Inc. Distributing files across multiple, permissibly heterogeneous, storage devices
US7406484B1 (en) 2000-09-12 2008-07-29 Tbrix, Inc. Storage allocation in a distributed segmented file system
US20060288080A1 (en) * 2000-09-12 2006-12-21 Ibrix, Inc. Balanced computer architecture
US20040236798A1 (en) * 2001-09-11 2004-11-25 Sudhir Srinivasan Migration of control in a distributed segmented file system
US7143249B2 (en) * 2000-10-04 2006-11-28 Network Appliance, Inc. Resynchronization of mirrored storage devices
US6654912B1 (en) * 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
US6728735B1 (en) * 2001-03-12 2004-04-27 Network Appliance, Inc. Restartable dump that produces a consistent filesystem on tapes
US8010558B2 (en) 2001-06-05 2011-08-30 Silicon Graphics International Relocation of metadata server with outstanding DMAPI requests
US6950833B2 (en) * 2001-06-05 2005-09-27 Silicon Graphics, Inc. Clustered filesystem
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US20040139125A1 (en) * 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US7617292B2 (en) 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US7765329B2 (en) * 2002-06-05 2010-07-27 Silicon Graphics International Messaging between heterogeneous clients of a storage area network
KR20040029089A (ko) * 2001-09-03 2004-04-03 코닌클리케 필립스 일렉트로닉스 엔.브이. 네트워크 환경에서 사용하기 위한 디바이스
US6948089B2 (en) * 2002-01-10 2005-09-20 Hitachi, Ltd. Apparatus and method for multiple generation remote backup and fast restore
US7043503B2 (en) * 2002-02-15 2006-05-09 International Business Machines Corporation Ditto address indicating true disk address for actual data blocks stored in one of an inode of the file system and subsequent snapshot
US7216135B2 (en) * 2002-02-15 2007-05-08 International Business Machines Corporation File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address
US6857001B2 (en) 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7454529B2 (en) 2002-08-02 2008-11-18 Netapp, Inc. Protectable data storage system and a method of protecting and/or managing a data storage system
US7117386B2 (en) * 2002-08-21 2006-10-03 Emc Corporation SAR restart and going home procedures
US7882081B2 (en) 2002-08-30 2011-02-01 Netapp, Inc. Optimized disk repository for the storage and retrieval of mostly sequential data
US7437387B2 (en) 2002-08-30 2008-10-14 Netapp, Inc. Method and system for providing a file system overlay
US6938184B2 (en) * 2002-10-17 2005-08-30 Spinnaker Networks, Inc. Method and system for providing persistent storage of user data
US8024172B2 (en) 2002-12-09 2011-09-20 Netapp, Inc. Method and system for emulating tape libraries
US7567993B2 (en) 2002-12-09 2009-07-28 Netapp, Inc. Method and system for creating and using removable disk based copies of backup data
JP2004234558A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd 記憶デバイス制御装置、及びプログラム
US7769722B1 (en) 2006-12-08 2010-08-03 Emc Corporation Replication and restoration of multiple data storage object types in a data network
US20040181707A1 (en) 2003-03-11 2004-09-16 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
US6973369B2 (en) 2003-03-12 2005-12-06 Alacritus, Inc. System and method for virtual vaulting
US7437492B2 (en) 2003-05-14 2008-10-14 Netapp, Inc Method and system for data compression and compression estimation in a virtual tape library environment
US20040267823A1 (en) * 2003-06-24 2004-12-30 Microsoft Corporation Reconcilable and undoable file system
US7275177B2 (en) * 2003-06-25 2007-09-25 Emc Corporation Data recovery with internet protocol replication with or without full resync
US7028156B1 (en) 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
US7278049B2 (en) * 2003-09-29 2007-10-02 International Business Machines Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
US7188272B2 (en) * 2003-09-29 2007-03-06 International Business Machines Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
US7325109B1 (en) * 2003-10-24 2008-01-29 Network Appliance, Inc. Method and apparatus to mirror data at two separate sites without comparing the data at the two sites
US7203796B1 (en) 2003-10-24 2007-04-10 Network Appliance, Inc. Method and apparatus for synchronous data mirroring
US7596672B1 (en) 2003-10-24 2009-09-29 Network Appliance, Inc. Synchronous mirroring including writing image updates to a file
US7200726B1 (en) 2003-10-24 2007-04-03 Network Appliance, Inc. Method and apparatus for reducing network traffic during mass storage synchronization phase of synchronous data mirroring
US7162662B1 (en) * 2003-12-23 2007-01-09 Network Appliance, Inc. System and method for fault-tolerant synchronization of replica updates for fixed persistent consistency point image consumption
US7426617B2 (en) * 2004-02-04 2008-09-16 Network Appliance, Inc. Method and system for synchronizing volumes in a continuous data protection system
US7904679B2 (en) 2004-02-04 2011-03-08 Netapp, Inc. Method and apparatus for managing backup data
US7315965B2 (en) 2004-02-04 2008-01-01 Network Appliance, Inc. Method and system for storing data using a continuous data protection system
US7720817B2 (en) 2004-02-04 2010-05-18 Netapp, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US7325159B2 (en) 2004-02-04 2008-01-29 Network Appliance, Inc. Method and system for data recovery in a continuous data protection system
US7783606B2 (en) 2004-02-04 2010-08-24 Netapp, Inc. Method and system for remote data recovery
US7406488B2 (en) 2004-02-04 2008-07-29 Netapp Method and system for maintaining data in a continuous data protection system
US7559088B2 (en) 2004-02-04 2009-07-07 Netapp, Inc. Method and apparatus for deleting data upon expiration
US7490103B2 (en) 2004-02-04 2009-02-10 Netapp, Inc. Method and system for backing up data
JP2006011581A (ja) * 2004-06-23 2006-01-12 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法
US8028135B1 (en) 2004-09-01 2011-09-27 Netapp, Inc. Method and apparatus for maintaining compliant storage
US7680839B1 (en) * 2004-09-30 2010-03-16 Symantec Operating Corporation System and method for resynchronizing mirrored volumes
US20060168624A1 (en) * 2004-11-22 2006-07-27 John Carney Method and system for delivering enhanced TV content
JP4583150B2 (ja) * 2004-12-06 2010-11-17 株式会社日立製作所 ストレージシステム、及びストレージシステムにおけるスナップショットデータ作成方法
US7707165B1 (en) * 2004-12-09 2010-04-27 Netapp, Inc. System and method for managing data versions in a file system
US7526620B1 (en) 2004-12-14 2009-04-28 Netapp, Inc. Disk sanitization in an active file system
US7774610B2 (en) 2004-12-14 2010-08-10 Netapp, Inc. Method and apparatus for verifiably migrating WORM data
US7558839B1 (en) 2004-12-14 2009-07-07 Netapp, Inc. Read-after-write verification for improved write-once-read-many data storage
US7581118B2 (en) 2004-12-14 2009-08-25 Netapp, Inc. Disk sanitization using encryption
US7437601B1 (en) * 2005-03-08 2008-10-14 Network Appliance, Inc. Method and system for re-synchronizing an asynchronous mirror without data loss
US7401198B2 (en) 2005-10-06 2008-07-15 Netapp Maximizing storage system throughput by measuring system performance metrics
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
US20070168721A1 (en) * 2005-12-22 2007-07-19 Nokia Corporation Method, network entity, system, electronic device and computer program product for backup and restore provisioning
US7752401B2 (en) 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
US7788456B1 (en) 2006-02-16 2010-08-31 Network Appliance, Inc. Use of data images to allow release of unneeded data storage
US7650533B1 (en) 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US8165221B2 (en) 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US7730351B2 (en) * 2006-05-15 2010-06-01 Oracle America, Inc. Per file dirty region logging
US8412682B2 (en) * 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US7747584B1 (en) 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
US20080077635A1 (en) * 2006-09-22 2008-03-27 Digital Bazaar, Inc. Highly Available Clustered Storage Network
US8706833B1 (en) 2006-12-08 2014-04-22 Emc Corporation Data storage server having common replication architecture for multiple storage object types
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns
US7644300B1 (en) * 2007-04-20 2010-01-05 3Par, Inc. Fast resynchronization of data from a remote copy
US8001307B1 (en) 2007-04-27 2011-08-16 Network Appliance, Inc. Apparatus and a method to eliminate deadlock in a bi-directionally mirrored data storage system
US8762345B2 (en) * 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
US7849354B2 (en) * 2007-06-12 2010-12-07 Microsoft Corporation Gracefully degradable versioned storage systems
US8793226B1 (en) 2007-08-28 2014-07-29 Netapp, Inc. System and method for estimating duplicate data
JP5223463B2 (ja) * 2008-05-28 2013-06-26 富士通株式会社 情報処理システムにおける接続装置の制御方法、制御プログラム及び情報処理装置
US8250043B2 (en) * 2008-08-19 2012-08-21 Netapp, Inc. System and method for compression of partially ordered data sets
US8566362B2 (en) 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
DE102009029334A1 (de) * 2009-09-10 2011-03-24 Henkel Ag & Co. Kgaa Zweistufiges Verfahren zur korrosionsschützenden Behandlung von Metalloberflächen
US8190574B2 (en) 2010-03-02 2012-05-29 Storagecraft Technology Corporation Systems, methods, and computer-readable media for backup and restoration of computer information
US9244015B2 (en) 2010-04-20 2016-01-26 Hewlett-Packard Development Company, L.P. Self-arranging, luminescence-enhancement device for surface-enhanced luminescence
US8799231B2 (en) 2010-08-30 2014-08-05 Nasuni Corporation Versioned file system with fast restore
EP2628100A4 (de) * 2010-10-12 2016-12-21 Nasuni Corp Versioniertes dateiensystem mit sharing
US9279767B2 (en) 2010-10-20 2016-03-08 Hewlett-Packard Development Company, L.P. Chemical-analysis device integrated with metallic-nanofinger device for chemical sensing
US9274058B2 (en) 2010-10-20 2016-03-01 Hewlett-Packard Development Company, L.P. Metallic-nanofinger device for chemical sensing
US8402004B2 (en) 2010-11-16 2013-03-19 Actifio, Inc. System and method for creating deduplicated copies of data by tracking temporal relationships among copies and by ingesting difference data
US8904126B2 (en) 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US8417674B2 (en) 2010-11-16 2013-04-09 Actifio, Inc. System and method for creating deduplicated copies of data by sending difference data between near-neighbor temporal states
US9858155B2 (en) 2010-11-16 2018-01-02 Actifio, Inc. System and method for managing data with service level agreements that may specify non-uniform copying of data
US8843489B2 (en) 2010-11-16 2014-09-23 Actifio, Inc. System and method for managing deduplicated copies of data using temporal relationships among copies
US8601220B1 (en) 2011-04-29 2013-12-03 Netapp, Inc. Transparent data migration in a storage system environment
US8589724B2 (en) 2011-06-30 2013-11-19 Seagate Technology Llc Rapid rebuild of a data set
WO2013019869A2 (en) 2011-08-01 2013-02-07 Actifio, Inc. Data fingerpringting for copy accuracy assurance
GB2495079A (en) * 2011-09-23 2013-04-03 Hybrid Logic Ltd Live migration of applications and file systems in a distributed system
US10142121B2 (en) 2011-12-07 2018-11-27 Comcast Cable Communications, Llc Providing synchronous content and supplemental experiences
US8868520B1 (en) * 2012-03-01 2014-10-21 Netapp, Inc. System and method for removing overlapping ranges from a flat sorted data structure
WO2013192198A2 (en) 2012-06-18 2013-12-27 Actifio, Inc. Enhanced data management virtualization system
US8892941B2 (en) 2012-06-27 2014-11-18 International Business Machines Corporation Recovering a volume table and data sets from a corrupted volume
KR102050723B1 (ko) 2012-09-28 2019-12-02 삼성전자 주식회사 컴퓨팅 시스템 및 그 데이터 관리 방법
EP2997501A2 (de) 2013-05-14 2016-03-23 Actifio Inc. Effiziente datenreplikation und müllsammelprädiktionen
US9904603B2 (en) 2013-11-18 2018-02-27 Actifio, Inc. Successive data fingerprinting for copy accuracy assurance
US9720778B2 (en) 2014-02-14 2017-08-01 Actifio, Inc. Local area network free data movement
US9792187B2 (en) 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
WO2015195834A1 (en) 2014-06-17 2015-12-23 Rangasamy Govind Resiliency director
US10379963B2 (en) 2014-09-16 2019-08-13 Actifio, Inc. Methods and apparatus for managing a large-scale environment of copy data management appliances
US10042710B2 (en) 2014-09-16 2018-08-07 Actifio, Inc. System and method for multi-hop data backup
US10146788B1 (en) * 2014-10-10 2018-12-04 Google Llc Combined mirroring and caching network file system
WO2016085541A1 (en) 2014-11-28 2016-06-02 Nasuni Corporation Versioned file system with global lock
WO2016094819A1 (en) 2014-12-12 2016-06-16 Actifio, Inc. Searching and indexing of backup data sets
WO2016115135A1 (en) 2015-01-12 2016-07-21 Xiangdong Zhang Disk group based backup
US9842029B2 (en) * 2015-03-25 2017-12-12 Kabushiki Kaisha Toshiba Electronic device, method and storage medium
US10282201B2 (en) 2015-04-30 2019-05-07 Actifo, Inc. Data provisioning techniques
US9734028B2 (en) * 2015-06-29 2017-08-15 International Business Machines Corporation Reverse resynchronization by a secondary data source when a data destination has more recent data
US10613938B2 (en) 2015-07-01 2020-04-07 Actifio, Inc. Data virtualization using copy data tokens
US10691659B2 (en) 2015-07-01 2020-06-23 Actifio, Inc. Integrating copy data tokens with source code repositories
US10684994B2 (en) * 2015-09-25 2020-06-16 Netapp Inc. Data synchronization
US10445298B2 (en) 2016-05-18 2019-10-15 Actifio, Inc. Vault to object store
US10476955B2 (en) 2016-06-02 2019-11-12 Actifio, Inc. Streaming and sequential data replication
US10855554B2 (en) 2017-04-28 2020-12-01 Actifio, Inc. Systems and methods for determining service level agreement compliance
US11403178B2 (en) 2017-09-29 2022-08-02 Google Llc Incremental vault to object store
US11176001B2 (en) 2018-06-08 2021-11-16 Google Llc Automated backup and restore of a disk group
CN112307013A (zh) * 2019-07-30 2021-02-02 伊姆西Ip控股有限责任公司 用于管理应用系统的方法、设备和计算机程序产品
CN111291005B (zh) * 2020-01-19 2023-05-02 Oppo(重庆)智能科技有限公司 文件查看方法、装置、终端设备、系统以及存储介质

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US489781A (en) * 1893-01-10 William w
US4761785B1 (en) 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4897781A (en) 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
US4875159A (en) 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US4937763A (en) 1988-09-06 1990-06-26 E I International, Inc. Method of system state analysis
US5067099A (en) 1988-11-03 1991-11-19 Allied-Signal Inc. Methods and apparatus for monitoring system performance
US5163148A (en) 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5163131A (en) 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5276867A (en) 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
JPH0731582B2 (ja) 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5208813A (en) 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
AU8683991A (en) * 1990-11-09 1992-05-14 Array Technology Corporation Logical partitioning of a redundant array storage system
JP2603757B2 (ja) 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5235601A (en) 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
US5321837A (en) 1991-10-11 1994-06-14 International Business Machines Corporation Event handling mechanism having a process and an action association process
US5313626A (en) 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5442752A (en) 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
US5305326A (en) 1992-03-06 1994-04-19 Data General Corporation High availability disk arrays
US5335235A (en) 1992-07-07 1994-08-02 Digital Equipment Corporation FIFO based parity generator
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
WO1994029796A1 (en) 1993-06-03 1994-12-22 Network Appliance Corporation A method for allocating files in a file system integrated with a raid disk sub-system
DE69435146D1 (de) * 1993-06-03 2008-11-13 Network Appliance Inc Verfahren und Vorrichtung zum Beschreiben beliebiger Bereiche eines Dateisystems
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
EP0701715A4 (de) 1993-06-04 1999-11-17 Network Appliance Corp Verfahren zur paritätsdarstellung in einem raid-untersystem unter verwendung eines nichtflüchtigen speichers
WO1995001599A1 (en) 1993-07-01 1995-01-12 Legent Corporation System and method for distributed storage management on networked computer systems
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5479653A (en) * 1994-07-14 1995-12-26 Dellusa, L.P. Disk array apparatus and method which supports compound raid configurations and spareless hot sparing
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5604862A (en) * 1995-03-14 1997-02-18 Network Integrity, Inc. Continuously-snapshotted protection of computer files
US5666353A (en) 1995-03-21 1997-09-09 Cisco Systems, Inc. Frame based traffic policing for a digital switch
US6453325B1 (en) * 1995-05-24 2002-09-17 International Business Machines Corporation Method and means for backup and restoration of a database system linked to a system for filing data
US5907672A (en) 1995-10-04 1999-05-25 Stac, Inc. System for backing up computer disk volumes with error remapping of flawed memory addresses
JPH09305328A (ja) * 1996-05-13 1997-11-28 Fujitsu Ltd ディスクアレイ装置
US5819310A (en) 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
US5857208A (en) * 1996-05-31 1999-01-05 Emc Corporation Method and apparatus for performing point in time backup operation in a computer system
US5996106A (en) 1997-02-04 1999-11-30 Micron Technology, Inc. Multi bank test mode for memory devices
US5873101A (en) 1997-02-10 1999-02-16 Oracle Corporation Database backup/restore and bulk data transfer
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
US5895495A (en) * 1997-03-13 1999-04-20 International Business Machines Corporation Demand-based larx-reserve protocol for SMP system buses
US6490610B1 (en) * 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US6092215A (en) * 1997-09-29 2000-07-18 International Business Machines Corporation System and method for reconstructing data in a storage array system
US5996086A (en) 1997-10-14 1999-11-30 Lsi Logic Corporation Context-based failover architecture for redundant servers
US6101585A (en) 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6212531B1 (en) * 1998-01-13 2001-04-03 International Business Machines Corporation Method for implementing point-in-time copy using a snapshot function
US6360330B1 (en) * 1998-03-31 2002-03-19 Emc Corporation System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server
WO1999063441A1 (en) * 1998-06-05 1999-12-09 Mylex Corporation Snapshot backup strategy
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6366986B1 (en) * 1998-06-30 2002-04-02 Emc Corporation Method and apparatus for differential backup in a computer storage system
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6574591B1 (en) 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6260124B1 (en) * 1998-08-13 2001-07-10 International Business Machines Corporation System and method for dynamically resynchronizing backup data
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6397307B2 (en) * 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
KR100382851B1 (ko) * 1999-03-31 2003-05-09 인터내셔널 비지네스 머신즈 코포레이션 분산형 데이터 처리 시스템에서 클라이언트 컴퓨터를관리하기 위한 방법 및 장치
US6463573B1 (en) * 1999-06-03 2002-10-08 International Business Machines Corporation Data processor storage systems with dynamic resynchronization of mirrored logical data volumes subsequent to a storage system failure
US6529921B1 (en) * 1999-06-29 2003-03-04 Microsoft Corporation Dynamic synchronization of tables
US6543004B1 (en) * 1999-07-29 2003-04-01 Hewlett-Packard Development Company, L.P. Method and apparatus for archiving and restoring data
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
US6662268B1 (en) * 1999-09-02 2003-12-09 International Business Machines Corporation System and method for striped mirror re-synchronization by logical partition rather than stripe units
US6591377B1 (en) * 1999-11-24 2003-07-08 Unisys Corporation Method for comparing system states at different points in time
US6715034B1 (en) 1999-12-13 2004-03-30 Network Appliance, Inc. Switching file system request in a mass storage system
US6341341B1 (en) * 1999-12-16 2002-01-22 Adaptec, Inc. System and method for disk control with snapshot feature including read-write snapshot half
US6708227B1 (en) * 2000-04-24 2004-03-16 Microsoft Corporation Method and system for providing common coordination and administration of multiple snapshot providers
US6654912B1 (en) * 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
US6978280B1 (en) * 2000-10-12 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system for improving LUN-based backup reliability
US6877016B1 (en) * 2001-09-13 2005-04-05 Unisys Corporation Method of capturing a physically consistent mirrored snapshot of an online database
US6981114B1 (en) * 2002-10-16 2005-12-27 Veritas Operating Corporation Snapshot reconstruction from an existing snapshot and one or more modification logs

Also Published As

Publication number Publication date
WO2002029572A8 (en) 2002-09-12
WO2002029572A2 (en) 2002-04-11
WO2002029572A9 (en) 2003-11-13
US20020194529A1 (en) 2002-12-19
EP1325415A2 (de) 2003-07-09
US20040153736A1 (en) 2004-08-05
US7096379B2 (en) 2006-08-22
WO2002029572A3 (en) 2003-01-09
US6654912B1 (en) 2003-11-25
DE60112462D1 (de) 2005-09-08
EP1325415B1 (de) 2005-08-03
WO2002029572B1 (en) 2003-04-24

Similar Documents

Publication Publication Date Title
DE60112462T2 (de) Wiederherstellung von dateisystemdaten in dateiservern mit gespiegelten dateisystemvolumen
DE69920713T2 (de) Datei-system bild-übertragung
DE60019173T2 (de) Verfahren und system zum hochparallelen protokollierungs- und wiederherstellungsbetrieb in hauptspeicher-transaktionsverarbeitungssystemen
DE69911930T2 (de) Hochverfügbare dateiprozessoren
DE69533854T2 (de) Einrichtung und Verfahren zur fehlertoleranten Schlüsselverwaltung
DE60318687T2 (de) Herstellen einer gespiegelten kopie unter verwendung inkrementeller divergenz
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE69838898T2 (de) Doppelte Plattenspeichersteuerungen
DE60302184T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisierung desselben und zugehöriges Resynchronisierungs-Programm
DE60213867T2 (de) Vorrichtung zur verwaltung von datenreplikation
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE112011100534B4 (de) Mehrstufiger Sicherungsprozess
DE112016001295T5 (de) Neusynchronisieren auf ein erstes Speichersystem durch Spiegeln des ersten Speichersystems nach einem Failover zu einem zweiten Speichersystem
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE60301702T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisation desselben und Programm zur Resynchronisation desselben
DE69938378T2 (de) Kopieren von Daten in Speichersystemen
DE4497149B4 (de) Computerbezogenes Verfahren zur Datenreplikation in Peer-to-Peer-Umgebung
DE60018872T2 (de) System und Methode für das Löschen von Datenbank-Aktualisierungsbilddateien nach Abschluss der dazugehörigen Transaktionen
DE602004005344T2 (de) Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE60025749T2 (de) Dateisystemabbildübertragung zwischen ungleichen dateisystemen
DE69629444T2 (de) Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten
DE69911026T2 (de) Synchronisation von prozessoren in einem fehlertoleranten multi-prozessor-system
DE112014001873T5 (de) Replikation für Hot-Standby-Online-Datenbank
DE102005012358B4 (de) Datenschutz unter Verwendung von Daten, die in Schnappschüsse verteilt sind

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee