EP1325415B1 - Recovery of file system data in file servers mirrored file system volumes - Google Patents
Recovery of file system data in file servers mirrored file system volumes Download PDFInfo
- Publication number
- EP1325415B1 EP1325415B1 EP01979574A EP01979574A EP1325415B1 EP 1325415 B1 EP1325415 B1 EP 1325415B1 EP 01979574 A EP01979574 A EP 01979574A EP 01979574 A EP01979574 A EP 01979574A EP 1325415 B1 EP1325415 B1 EP 1325415B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- file system
- mirrored
- snapshot
- volumes
- file
- 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 - Lifetime
Links
- 238000011084 recovery Methods 0.000 title abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims 1
- 102100040351 FK506-binding protein 15 Human genes 0.000 abstract description 8
- 101710132915 FK506-binding protein 15 Proteins 0.000 abstract description 8
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2082—Data synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2064—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99955—Archiving or backup
Definitions
- the invention relates to recovery of file system data in file servers having mirrored file system volumes.
- Network file servers and other file systems are subject to errors and other failures, including those arising from hardware failure, software error, or erroneous configuration. Because of the possibility of error, many file systems provide additional copies of data in the file system, such as by providing a mirrored file system volume.
- a first volume provides a first copy of the file system
- a second volume provides a synchronous, second copy of the file system.
- each volume of the mirrored file system would include a set of files or other objects from a different timestamp (or checkpoint) in the file system history.
- the first volume and second volume will no longer serve as accurate mirrors for each other because one is out-of-date.
- An aspect of this problem is that, after system crashes, it is unknown which of the first volume and second volume is the most recent. Accordingly, it would be desirable to assure that the first volume and second volume of the file system remain synchronized after system crashes. If it is not possible for the first volume and second volume to remain synchronized, it is desirable to rapidly determine which is the most recent version and use efficiently, so as to cause resynchronization.
- a first known method is to resynchronize the two mirror copies after system crashes by copying every block. While this method can generally achieve the result of assuring that the first copy and second copy of the file system are synchronized after system crashes, it has the severe drawback that it is very inefficient, as each file block of at least one of the mirror file systems must be copied to the other one of the mirror file systems. When the file system is particularly large, such as one that approaches or exceeds a terabyte in size, this drawback makes this known method untenable due to its immense latency (and liability to other failures).
- WO 00/07104 discloses a method and system for duplicating all or part of a file system while maintaining consistent copies of the file system.
- the file server maintains a set of snapshots, each indicating a set of storage blocks making up a consistent copy of the file system as it was at a known time.
- the snapshots can be manipulated to identify sets of storage blocks in the file system for incremental backup or copying.
- a second known method is to maintain a log of regions or file blocks in each mirrored volume that have been changed (sometimes known as "dirty" file blocks). When such a log is maintained, it is only necessary to copy those file blocks that are dirty, rather than an entire mirrored volume. While this method can generally achieve the result otherwise achieved by the first known method, is still subject to at least two drawbacks. First, this method is more complex, in that it requires careful maintenance so as to ensure that the log remains synchronous. Second, the log itself must generally be mirrored for reliability, which of course reintroduces the entire problem or recovery of mirrored files after system crashes. Third, maintaining this additional log increases the latency of every operation. Moreover, such a technique can introduce additional errors in the event that the log is unreliable.
- the invention provides a method and system for recovery of file system data in file servers having mirrored file system volumes.
- the invention makes use of a consistency point model including a snapshot feature of a robust file system (the "WAFL File System") to rapidly determine which of two or more mirrored volumes is most up-to-date, and which blocks of the most recent mirrored volume have been changed from each one of the mirrored file systems.
- the invention rapidly determines which is the most up-to-date by examining a most recent consistency point number maintained by the WAFL File System at each mirrored volume.
- the invention rapidly and reliably determines what blocks are shared between that most up-to-date mirrored volume and each other mirrored volume, in response to a snapshot of the file system maintained at each mirrored volume and are stored in common pairwise between each mirrored volume and the most up-to-date mirrored volume.
- the invention copies only those blocks that have been changed between the common snapshot and the most up-to-date snapshot. This rapid and reliable comparison of blocks, followed by the efficient transfer of those blocks that have been changed, does not present drawbacks of the known art.
- the invention provides an enabling technology for a wide variety of applications for file system recovery using redundant file systems, so as to obtain substantial advantages and capabilities that are novel and non-obvious in view of the known art. Examples described below primarily relate to mirrored file system volumes in a network file server, but the invention is broadly applicable to many different types of redundant file systems, such as those used in RAID subsystems and parallel storage systems.
- Figure 1 shows a block diagram of a system for recovery of file system data in file servers having mirrored file system volumes.
- a system 100 includes a file server (or other device) 110, a communication network 120, and a network interface 130.
- the file server 110 includes a plurality of mirrored file system volumes 111, each of which includes mass storage for recording and retrieving data.
- Each file system volume 111 includes at least one snapshot 112 according to the WAFL File System.
- Each snapshot 112 includes a file system information block 113, including a pointer to an entire consistent file system and a consistency point value 114 indicating a sequence in which that snapshot 112 was generated.
- Each file system volume 111 also includes an active file system 115, itself associated with a consistent point value 114.
- snapshots 112 are made periodically in response to (and as copies of) an active file system 115.
- every snapshot 112 includes a consistent point value 114 from its associated active file system 115, not every active file system 115 is made into a snapshot, and thus not every consistency point value 114 is associated with a snapshot 112.
- the file server 110 receives messages 116 requesting to write data or otherwise alter data from the communication network 120 using the network interface 130. In normal operation, the file server 110 parses those messages 116 and writes the same data to both of the active file systems 115 of the mirrored file system volumes 111, so that each of the mirrored file system volumes 111 includes the same active file systems 115, the same snapshots 112, therefore the same data. However, in the event of a system crash or other error, it might occur that one or more of the mirrored file system volumes 111 fails to remain in synchronization with the others, either because its active file system 115 is not up-to-date or its snapshots 112 are not up-to-date.
- the mirrored file system volumes 111 If one or more of the mirrored file system volumes 111 is not in synchronization with the others, there will be at least one mirrored file system volume 111 having an active file system 115 with a consistency point value 114 larger than all others. This indicates that the associated active file system 115 and the associated file system volume 111 (with the highest consistency point value 114) is the most up-to-date file system volume 111 of all of the mirrored file system volumes 111.
- any pair of mirrored file system volumes 111 there will be at least one common snapshot 112 present for them both, thus having the same consistency point value 114 for the common snapshot 112 at each of the two mirrored file system volumes 111.
- the difference between the common snapshot 112 and the most up-to-date active file system 115 can be easily and rapidly determined using the WAFL File System.
- the file blocks indicated by that difference are the only file blocks necessary for re-synchronization between the pair of mirrored file system volumes 111 A and B.
- each pair (A and B) of mirrored file system volumes 111 will have at least one common snapshot 112, of which one can be compared with the most up-to-date active file system 115, there is no particular requirement that each other pair (A and C, or A and D) of mirrored file system volumes 111 will have the same common snapshot 112 as the first such pair (A and B).
- Figure 2 shows a process flow diagram of a method for operating a system as in figure 1.
- a method 200 includes a set of flow points and a set of steps.
- the system 100 performs the method 200.
- the steps of the method 200 can be performed by separate elements in conjunction or in parallel, whether asynchronously, in a pipelined manner, or otherwise. There is no particular requirement that the method 200 be performed in the same order in which this description lists the steps, except where so indicated.
- the file server 110 is ready to re-synchronize a plurality of mirrored file system volumes 111.
- the file server 110 examines the file system information block 113 for each one of the plurality of mirrored file system volumes 111, to determine a single consistency point value 114 which is the maximum for all active file systems 115 at such mirrored file system volumes 111. While it is possible that there will be more than one such mirrored file system volume 111 having an active file system 115 with that maximum consistency point value 114, there is no particular requirement to select one of such mirrored file system volumes 111 in preference to others, as all active file systems 115 with that identical consistency point value 114 will be identical.
- the mirrored file system volumes 111 with the maximum consistency point value 114 for an active file system 115 generates a new snapshot 112 for that active file system 115 and having that maximum consistency point value 114.
- This new snapshot 112 is thus the most up-to-date snapshot 112 and has the maximum consistency point value 114.
- the file server 110 examines the file system information block 113, to determine a snapshot 112 at that one mirrored file system volume 111 that is common with the mirrored file system volume 111 having the most up-to-date snapshot 112. Thus, the file server 110 determines a closest degree of synchronization between each mirrored file system volume 111 (in turn) and the mirrored file system volume 111 having the most up-to-date snapshot 112.
- the file server 110 determines a difference between the common snapshot 112 and the most up-to-date snapshot 112, thus generating a set of file blocks that have been changed between the common snapshot 112 and the most up-to-date snapshot 112. These changed file blocks are the only file blocks required to be re-synchronized between the common snapshot 112 and the most up-to-date active file system 115.
- the file server 110 resynchronizes each mirrored file system volume 111 with the most up-to-date snapshot 112 by copying only the changed file blocks over, thus generating a copy of the most up-to-date snapshot 112 at each mirrored file system volume 111.
- the file server 110 needs to make only one comparison to determine the maximum consistency point value 114 for a most up-to-date active file system 115.
- the file server 110 needs to examine only one pair of mirrored file system volumes 111 for a common snapshot 112.
- the file server 110 needs to determine only one set of changed blocks between the common snapshot 112 and the most up-to-date snapshot 112.
- the file server 110 needs to copy only one set of changed blocks from one mirrored file system volume 111 to the other.
- the mirrored file system volumes 111 can each be updated to create new active file systems 115 in response to messages 116 requesting file system operations, even while the snapshot 112 at each mirrored file system volumes 111 is being synchronized with the most up-to-date snapshot 112.
- the mirrored file system volumes 111 can each perform the full functions of a file server 110 mirrored file system volume 111 even while the re-synchronization is taking place.
- the method 200 has re-synchronized all of the mirrored file system volumes 111 to the most up-to-date active file system 115.
- the method 200 is performed each time the system 100 recovers from a system crash, as part of the crash recovery process. In alternative embodiments, the method 200 may be performed in response to other events, such as in response to a timer, in response to detection of lack of synchronization between the mirrored volumes, or in response to operator command.
- the invention has general applicability to various fields of use, not necessarily related to the services described above.
- these fields of use can include one or more of, or some combination of, the following:
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- The invention relates to recovery of file system data in file servers having mirrored file system volumes.
- Network file servers and other file systems are subject to errors and other failures, including those arising from hardware failure, software error, or erroneous configuration. Because of the possibility of error, many file systems provide additional copies of data in the file system, such as by providing a mirrored file system volume. In a mirrored file system, a first volume provides a first copy of the file system, while a second volume provides a synchronous, second copy of the file system. Thus, if data on the first volume is corrupted or otherwise lost, data from the second volume can be used in its place transparently.
- One problem in the known art is that the first volume and second volume of the file system can fail to remain in synchronization. Thus, each volume of the mirrored file system would include a set of files or other objects from a different timestamp (or checkpoint) in the file system history. As a result, the first volume and second volume will no longer serve as accurate mirrors for each other because one is out-of-date. An aspect of this problem is that, after system crashes, it is unknown which of the first volume and second volume is the most recent. Accordingly, it would be desirable to assure that the first volume and second volume of the file system remain synchronized after system crashes. If it is not possible for the first volume and second volume to remain synchronized, it is desirable to rapidly determine which is the most recent version and use efficiently, so as to cause resynchronization.
- A first known method is to resynchronize the two mirror copies after system crashes by copying every block. While this method can generally achieve the result of assuring that the first copy and second copy of the file system are synchronized after system crashes, it has the severe drawback that it is very inefficient, as each file block of at least one of the mirror file systems must be copied to the other one of the mirror file systems. When the file system is particularly large, such as one that approaches or exceeds a terabyte in size, this drawback makes this known method untenable due to its incredible latency (and liability to other failures).
- WO 00/07104 discloses a method and system for duplicating all or part of a file system while maintaining consistent copies of the file system. The file server maintains a set of snapshots, each indicating a set of storage blocks making up a consistent copy of the file system as it was at a known time. In a preferred embodiment of this disclosure, the snapshots can be manipulated to identify sets of storage blocks in the file system for incremental backup or copying.
- A second known method is to maintain a log of regions or file blocks in each mirrored volume that have been changed (sometimes known as "dirty" file blocks). When such a log is maintained, it is only necessary to copy those file blocks that are dirty, rather than an entire mirrored volume. While this method can generally achieve the result otherwise achieved by the first known method, is still subject to at least two drawbacks. First, this method is more complex, in that it requires careful maintenance so as to ensure that the log remains synchronous. Second, the log itself must generally be mirrored for reliability, which of course reintroduces the entire problem or recovery of mirrored files after system crashes. Third, maintaining this additional log increases the latency of every operation. Moreover, such a technique can introduce additional errors in the event that the log is unreliable.
- Accordingly, it would be desirable to provide a technique for recovery of file system date in file servers having mirrored file system volumes that is not subject to drawbacks of the known art.
- The invention provides a method and system for recovery of file system data in file servers having mirrored file system volumes. In a preferred embodiment, the invention makes use of a consistency point model including a snapshot feature of a robust file system (the "WAFL File System") to rapidly determine which of two or more mirrored volumes is most up-to-date, and which blocks of the most recent mirrored volume have been changed from each one of the mirrored file systems. Among a plurality of two or more mirrored volumes, the invention rapidly determines which is the most up-to-date by examining a most recent consistency point number maintained by the WAFL File System at each mirrored volume. The invention rapidly and reliably determines what blocks are shared between that most up-to-date mirrored volume and each other mirrored volume, in response to a snapshot of the file system maintained at each mirrored volume and are stored in common pairwise between each mirrored volume and the most up-to-date mirrored volume. The invention copies only those blocks that have been changed between the common snapshot and the most up-to-date snapshot. This rapid and reliable comparison of blocks, followed by the efficient transfer of those blocks that have been changed, does not present drawbacks of the known art.
- The invention provides an enabling technology for a wide variety of applications for file system recovery using redundant file systems, so as to obtain substantial advantages and capabilities that are novel and non-obvious in view of the known art. Examples described below primarily relate to mirrored file system volumes in a network file server, but the invention is broadly applicable to many different types of redundant file systems, such as those used in RAID subsystems and parallel storage systems.
- These objects are solved in an advantageous manner basically by applying the features laid down in the independent claims. Further enhancements being provided by the subclaims.
-
- Figure 1 shows a block diagram of a system for recovery of file system data in file servers having mirrored file system volumes.
- Figure 2 shows a process flow diagram of a method for operating a system as in figure 1.
-
- In the following description, a preferred embodiment of the invention is described with regard to preferred process steps and data structures. Embodiments of the invention can be implemented using general-purpose processors or special purpose processors operating under program control, or other circuits, adapted to particular process steps and data structures described herein. Implementation of the process steps and data structures described herein would not require undue experimentation or further invention.
- The following terms refer or relate to aspects of the invention as described below. The descriptions of general meanings of these terms are not intended to be limiting, only illustrative.
- block ― in general, any collection of data for data objects in a file system.
- consistency point ― in general, any point at which the consistency of a file system is assured or recorded.
- file server ― in general, any device which responds to messages requesting file system operations.
- file system ― in general, any organization or structure of information for storage or retrieval.
- file system data ― in general, any information recorded in a file system or an object in a file system.
- file system volume ― in general, any mass storage device, or collection thereof, for storage or retrieval of file system objects.
- mirrored volume ― in general, any file system volume having a copy of at least a portion of another file system volume.
- parallel storage system ― in general, any file system in which data is recorded, in whole or in part, in multiple locations or multiple ways.
- RAID subsystem ― in general, any system including a redundant array of mass storage drives.
- recovery of file system data ― in general, any recopying or regeneration of information from one memory or storage medium to another.
- redundant file system ― in general, any file system in which data is recorded, in whole or in part, with additional information allowing the recovery of at least a portion of that data.
- re-synchronize ― in general, any operation in which objects in a file system are reorganized or rewritten to assure that file system objects maintain or restore synchronization.
- shared file block ― in general, any file block whose data contents are located on more than one file system volume.
- snapshot ― in general, any consistent file system available, in whole or in part, for later retrieval even if the snapshot is not a current consistent file system.
- up-to-date ― in general, a measure of recentness of a file system, file system object, or snapshot.
- WAFL File System ― in general, a robust file system, or any file system in which at least one snapshot is maintained in addition to a current consistent file system.
- As noted above, these descriptions of general meanings of these terms are not intended to be limiting, only illustrative. Other and further applications of the invention, including extensions of these terms and concepts, would be clear to those of ordinary skill in the art after perusing this application. These other and further applications are part of the scope of the invention, and would be clear to those of ordinary skill in the art, without further invention or undue experimentation.
- Figure 1 shows a block diagram of a system for recovery of file system data in file servers having mirrored file system volumes.
- A
system 100 includes a file server (or other device) 110, acommunication network 120, and anetwork interface 130. Thefile server 110 includes a plurality of mirroredfile system volumes 111, each of which includes mass storage for recording and retrieving data. Eachfile system volume 111 includes at least onesnapshot 112 according to the WAFL File System. Eachsnapshot 112 includes a file system information block 113, including a pointer to an entire consistent file system and aconsistency point value 114 indicating a sequence in which thatsnapshot 112 was generated. - Each
file system volume 111 also includes anactive file system 115, itself associated with aconsistent point value 114. In a preferred embodiment,snapshots 112 are made periodically in response to (and as copies of) anactive file system 115. Thus, while everysnapshot 112 includes aconsistent point value 114 from its associatedactive file system 115, not everyactive file system 115 is made into a snapshot, and thus not everyconsistency point value 114 is associated with asnapshot 112. - The
file server 110 receivesmessages 116 requesting to write data or otherwise alter data from thecommunication network 120 using thenetwork interface 130. In normal operation, thefile server 110 parses thosemessages 116 and writes the same data to both of theactive file systems 115 of the mirroredfile system volumes 111, so that each of the mirroredfile system volumes 111 includes the sameactive file systems 115, thesame snapshots 112, therefore the same data. However, in the event of a system crash or other error, it might occur that one or more of the mirroredfile system volumes 111 fails to remain in synchronization with the others, either because itsactive file system 115 is not up-to-date or itssnapshots 112 are not up-to-date. - If one or more of the mirrored
file system volumes 111 is not in synchronization with the others, there will be at least one mirroredfile system volume 111 having anactive file system 115 with aconsistency point value 114 larger than all others. This indicates that the associatedactive file system 115 and the associated file system volume 111 (with the highest consistency point value 114) is the most up-to-datefile system volume 111 of all of the mirroredfile system volumes 111. - Similarly, for any pair of mirrored
file system volumes 111, there will be at least onecommon snapshot 112 present for them both, thus having the sameconsistency point value 114 for thecommon snapshot 112 at each of the two mirroredfile system volumes 111. For any pair of mirrored file system volumes 111 A and B, the difference between thecommon snapshot 112 and the most up-to-date active file system 115 (say, at mirrored file system volume 111 A) can be easily and rapidly determined using the WAFL File System. The file blocks indicated by that difference are the only file blocks necessary for re-synchronization between the pair of mirrored file system volumes 111 A and B. - While each pair (A and B) of mirrored
file system volumes 111 will have at least onecommon snapshot 112, of which one can be compared with the most up-to-dateactive file system 115, there is no particular requirement that each other pair (A and C, or A and D) of mirroredfile system volumes 111 will have the samecommon snapshot 112 as the first such pair (A and B). However, for each such other pair (A and C, or A and D) of mirroredfile system volumes 111, the difference between thecommon snapshot 112 and the most up-to-dateactive file system 115 can still be easily and rapidly determined using the WAFL File System; the file blocks indicated by that difference are the only file blocks necessary for re-synchronization between the other pair (A and C, or A and D) of mirroredfile system volumes 111. - Figure 2 shows a process flow diagram of a method for operating a system as in figure 1.
- A method 200 includes a set of flow points and a set of steps. The
system 100 performs the method 200. Although the method 200 is described serially, the steps of the method 200 can be performed by separate elements in conjunction or in parallel, whether asynchronously, in a pipelined manner, or otherwise. There is no particular requirement that the method 200 be performed in the same order in which this description lists the steps, except where so indicated. - At a
flow point 210, thefile server 110 is ready to re-synchronize a plurality of mirroredfile system volumes 111. - At a
step 211, thefile server 110 examines the file system information block 113 for each one of the plurality of mirroredfile system volumes 111, to determine a singleconsistency point value 114 which is the maximum for allactive file systems 115 at such mirroredfile system volumes 111. While it is possible that there will be more than one such mirroredfile system volume 111 having anactive file system 115 with that maximumconsistency point value 114, there is no particular requirement to select one of such mirroredfile system volumes 111 in preference to others, as allactive file systems 115 with that identicalconsistency point value 114 will be identical. - At a
step 212, the mirroredfile system volumes 111 with the maximumconsistency point value 114 for anactive file system 115 generates anew snapshot 112 for thatactive file system 115 and having that maximumconsistency point value 114. Thisnew snapshot 112 is thus the most up-to-date snapshot 112 and has the maximumconsistency point value 114. - At a
step 213, for each one of the plurality of mirrored file system volumes 111 (other than thefile system volumes 111 with the most up-to-date active file system 115) thefile server 110 examines the file system information block 113, to determine asnapshot 112 at that one mirroredfile system volume 111 that is common with the mirroredfile system volume 111 having the most up-to-date snapshot 112. Thus, thefile server 110 determines a closest degree of synchronization between each mirrored file system volume 111 (in turn) and the mirroredfile system volume 111 having the most up-to-date snapshot 112. - At a
step 214, for each such closest degree of synchronization, thefile server 110 determines a difference between thecommon snapshot 112 and the most up-to-date snapshot 112, thus generating a set of file blocks that have been changed between thecommon snapshot 112 and the most up-to-date snapshot 112. These changed file blocks are the only file blocks required to be re-synchronized between thecommon snapshot 112 and the most up-to-dateactive file system 115. - At a
step 215, for each such set of changed file blocks, thefile server 110 resynchronizes each mirroredfile system volume 111 with the most up-to-date snapshot 112 by copying only the changed file blocks over, thus generating a copy of the most up-to-date snapshot 112 at each mirroredfile system volume 111. - In a preferred embodiment, there are only two such mirrored
file system volumes 111. Thefile server 110 needs to make only one comparison to determine the maximumconsistency point value 114 for a most up-to-dateactive file system 115. Thefile server 110 needs to examine only one pair of mirroredfile system volumes 111 for acommon snapshot 112. Thefile server 110 needs to determine only one set of changed blocks between thecommon snapshot 112 and the most up-to-date snapshot 112. Thefile server 110 needs to copy only one set of changed blocks from one mirroredfile system volume 111 to the other. - However, in alternative embodiments, there may be more than two mirrored
file system volumes 111. Those skilled in the art will see, after perusal of this application, that the invention is easily and readily generalized to additional mirroredfile system volumes 111, without undue experimentation or further invention. - In a preferred embodiment, the mirrored
file system volumes 111 can each be updated to create newactive file systems 115 in response tomessages 116 requesting file system operations, even while thesnapshot 112 at each mirroredfile system volumes 111 is being synchronized with the most up-to-date snapshot 112. Thus, the mirroredfile system volumes 111 can each perform the full functions of afile server 110 mirroredfile system volume 111 even while the re-synchronization is taking place. - After this step, the method 200 has re-synchronized all of the mirrored
file system volumes 111 to the most up-to-dateactive file system 115. - In a preferred embodiment, the method 200 is performed each time the
system 100 recovers from a system crash, as part of the crash recovery process. In alternative embodiments, the method 200 may be performed in response to other events, such as in response to a timer, in response to detection of lack of synchronization between the mirrored volumes, or in response to operator command. - The invention has general applicability to various fields of use, not necessarily related to the services described above. For example, these fields of use can include one or more of, or some combination of, the following:
- file system recovery using redundant file systems other than mirrored file system volumes
- RAID subsystems
- parallel storage systems
- Other and further applications of the invention in its most general form, will be clear to those skilled in the art after perusal of this application, and are within the scope of the invention. Although preferred embodiments are disclosed herein, many variations are possible which remain within the concept, scope, and spirit of the invention, and these variations would become clear to those skilled in the art after perusal of this application.
Claims (23)
- A method including the step of:examining a plurality of mirrored file system volumes (111) that each include one or more snapshots;
whereineach said snapshot includes a file system information block (113), including a pointer to an entire consistent file system and a consistency point value (114) indicating a sequence in which that snapshot was generated; andeach said mirrored file system volume (111) includes an active file system (115), itself associated with a consistency point value (114); and further including the steps of:determining a most up-to-date mirrored file system volume (111) by reference to said consistency point values ;determining snapshots (112) held in common between said most up-to-date file system volume (111) and at least two of said plurality of mirrored file system volumes (111);selecting those file blocks changed between said snapshots (112) held in common and said up-to-date file system volume (111); andre-synchronizing at least two of said plurality of mirrored file system volumes (111) in response to said steps of selecting: - A method as claimed in claim 1, wherein said consistency point value (114) for which said plurality of mirrored file system volumes (111) are examined is a maximal value.
- A method as claimed in claim 2, wherein said file system volume (111) associated with said maximal value is used to generate a new snapshot (112).
- A method as claimed in claim 3, further including steps of re-synchronizing each of said plurality of mirrored file system volumes (111) with said new snapshot (112).
- A method as claimed in claim 2, wherein said maximal value is associated with said most up-to-date file system volume (111).
- A method as claimed in claim 1, wherein said step of selecting further includes selecting file blocks responsive to a difference between a snapshot (112) for said most up-to-date file system volume (111) and a common snapshot (112) for said plurality of mirrored file system volumes (111).
- A method as claimed in claim 6, further including steps of copying said set of changed file blocks to said plurality of mirrored file system volumes (111).
- A method as claimed in claim 7, wherein said set of changed file blocks include a collection of data for data objects in said plurality of mirrored file system volumes (111).
- A method as claimed in claim 1, wherein said plurality of mirrored file system volumes (111) include a RAID subsystem.
- A method as claimed in claim 1, wherein said plurality of mirrored file system volumes (111) include volumes for parallel stored systems.
- An apparatus comprising:means for examining a plurality of mirrored file system volumes (111) that each include one or more snapshots;
wherein:each said snapshot includes a file system information block (113), including a pointer to an entire consistent file system and a consistency point value (114) indicating a sequence in which that snapshot was generated; andeach said mirrored file system volume (111) includes an active file system (115), itself associated with a consistency point value (114); and further comprising:means for determining a most up-to-date mirrored file system volume (111) by reference to said consistency point values;means for determining snapshots (112) held in common between said most up-to-date file system volume (111) and at least two of said plurality of mirrored file system volumes (111);means for selecting those file blocks changed between said snapshot (112) held in common and said up-to-date file system volume (111); andmeans for re-synchronizing at least two of said plurality of mirrored file system volumes (111) in response to said means for selecting. - Apparatus according to claim 11 including
said plurality of mirrored file system volumes (111), each having at least one snapshot including an entire consistent file system, each said snapshot having a consistency point value (114);
a first comparison element capable of being coupled to a plurality of said consistency point values (114);
a second comparison element, responsive to an output of said first comparison element, said second comparison element being capable of being coupled (a) to a first snapshot associated with said output on a first one of said file system volumes and (b) to a second snapshot associated with a second one of said file system volumes, said second comparison element being capable of providing a selection of file blocks in response thereto. - Apparatus as claimed in claim 12, wherein said second snapshot is held in common between said first one and said second one of said file system volumes.
- Apparatus as claimed in claim 12, wherein said output of said first comparison element indicates which snapshot (112) for said plurality of mirrored file system volumes (111) has a maximal consistency point value (114).
- Apparatus as claimed in claim 14, further comprising a file server element that generates a new snapshot (112) from a file system volume (111) associated with said maximal consistency point value (114).
- Apparatus as claimed in claim 15, wherein said file server element re-synchronizes each of said plurality of mirrored file system volumes (111) with said new snapshot (112).
- Apparatus as claimed in claim 14, wherein said maximal consistency point value (114) is associated with a most up-to-date file system volume (111).
- Apparatus as claimed in claim 12, wherein said second snapshot is a common snapshot further associated with others of said file system volumes, and wherein said selection of file blocks is responsive to a difference between said first snapshot and said second snapshot.
- Apparatus as claimed in claim 18, further comprising a file system element that copies said selection of file blocks to said second one and said others of said file system volumes (111).
- Apparatus as claimed in claim 19, wherein said selection of file blocks includes a collection of data for data objects in said file system volumes (111).
- Apparatus as claimed in claim 11 or 12, wherein said file system volumes (111) include a RAID subsystem.
- Apparatus as claimed in claim 11 or 12, wherein said file system volumes (111) include volumes for parallel stored systems.
- A computer program product comprising program code means that, when executed on a computer system, cause the computer system to effect the steps of any one of claims 1 to 10.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US684487 | 2000-10-04 | ||
US09/684,487 US6654912B1 (en) | 2000-10-04 | 2000-10-04 | Recovery of file system data in file servers mirrored file system volumes |
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 |
---|---|
EP1325415A2 EP1325415A2 (en) | 2003-07-09 |
EP1325415B1 true EP1325415B1 (en) | 2005-08-03 |
Family
ID=24748237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP01979574A Expired - Lifetime EP1325415B1 (en) | 2000-10-04 | 2001-10-04 | Recovery of file system data in file servers mirrored file system volumes |
Country Status (4)
Country | Link |
---|---|
US (3) | US6654912B1 (en) |
EP (1) | EP1325415B1 (en) |
DE (1) | DE60112462T2 (en) |
WO (1) | WO2002029572A2 (en) |
Families Citing this family (136)
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 |
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 |
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 |
US8935307B1 (en) | 2000-09-12 | 2015-01-13 | Hewlett-Packard Development Company, L.P. | Independent data access in a segmented file system |
US7406484B1 (en) | 2000-09-12 | 2008-07-29 | Tbrix, Inc. | Storage allocation 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 |
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 |
US7640582B2 (en) | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
EP1508090A2 (en) * | 2001-09-03 | 2005-02-23 | Koninklijke Philips Electronics N.V. | Device for use in a network environment |
US6948089B2 (en) * | 2002-01-10 | 2005-09-20 | Hitachi, Ltd. | Apparatus and method for multiple generation remote backup and fast restore |
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 |
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 |
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 |
US7437387B2 (en) | 2002-08-30 | 2008-10-14 | Netapp, Inc. | Method and system for providing a file system overlay |
US7882081B2 (en) | 2002-08-30 | 2011-02-01 | Netapp, Inc. | Optimized disk repository for the storage and retrieval of mostly sequential data |
US6938184B2 (en) * | 2002-10-17 | 2005-08-30 | Spinnaker Networks, Inc. | Method and system for providing persistent storage of user data |
US7567993B2 (en) | 2002-12-09 | 2009-07-28 | Netapp, Inc. | Method and system for creating and using removable disk based copies of backup data |
US8024172B2 (en) | 2002-12-09 | 2011-09-20 | Netapp, Inc. | Method and system for emulating tape libraries |
JP2004234558A (en) * | 2003-01-31 | 2004-08-19 | Hitachi Ltd | Storage device controller and program |
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 |
US7406488B2 (en) | 2004-02-04 | 2008-07-29 | Netapp | Method and system for maintaining data in 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 |
US7490103B2 (en) | 2004-02-04 | 2009-02-10 | Netapp, Inc. | Method and system for backing up data |
US7904679B2 (en) | 2004-02-04 | 2011-03-08 | Netapp, Inc. | Method and apparatus for managing backup data |
US7559088B2 (en) | 2004-02-04 | 2009-07-07 | Netapp, Inc. | Method and apparatus for deleting data upon expiration |
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 |
US7315965B2 (en) | 2004-02-04 | 2008-01-01 | Network Appliance, Inc. | Method and system for storing data using a continuous data protection system |
US7426617B2 (en) | 2004-02-04 | 2008-09-16 | Network Appliance, Inc. | Method and system for synchronizing volumes in a continuous data protection system |
JP2006011581A (en) * | 2004-06-23 | 2006-01-12 | Hitachi Ltd | Storage system and its control method |
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 (en) * | 2004-12-06 | 2010-11-17 | 株式会社日立製作所 | Storage system and snapshot data creation method in storage system |
US7707165B1 (en) * | 2004-12-09 | 2010-04-27 | Netapp, Inc. | System and method for managing data versions in a file system |
US7581118B2 (en) | 2004-12-14 | 2009-08-25 | Netapp, Inc. | Disk sanitization using encryption |
US7774610B2 (en) | 2004-12-14 | 2010-08-10 | Netapp, Inc. | Method and apparatus for verifiably migrating WORM data |
US7526620B1 (en) | 2004-12-14 | 2009-04-28 | Netapp, Inc. | Disk sanitization in an active file system |
US7558839B1 (en) | 2004-12-14 | 2009-07-07 | Netapp, Inc. | Read-after-write verification for improved write-once-read-many data storage |
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 (en) * | 2008-05-28 | 2013-06-26 | 富士通株式会社 | Control method, control program, and information processing apparatus for connection device in information processing system |
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 (en) * | 2009-09-10 | 2011-03-24 | Henkel Ag & Co. Kgaa | Two-stage process for the corrosion-protective treatment of metal surfaces |
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 |
WO2012051298A2 (en) | 2010-10-12 | 2012-04-19 | Nasuni Corporation | Versioned file system with sharing |
US9274058B2 (en) | 2010-10-20 | 2016-03-01 | Hewlett-Packard Development Company, L.P. | Metallic-nanofinger device for chemical sensing |
WO2012054027A1 (en) | 2010-10-20 | 2012-04-26 | Hewlett-Packard Development Company, L.P. | Chemical-analysis device integrated with metallic-nanofinger device for chemical sensing |
US8843489B2 (en) | 2010-11-16 | 2014-09-23 | Actifio, Inc. | System and method for managing deduplicated copies of data using temporal relationships among copies |
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 |
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 |
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 |
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 |
US8983915B2 (en) | 2011-08-01 | 2015-03-17 | Actifio, Inc. | Successive data fingerprinting 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 |
EP2862051A4 (en) | 2012-06-18 | 2016-08-10 | 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 (en) | 2012-09-28 | 2019-12-02 | 삼성전자 주식회사 | Computing system and data management method thereof |
AU2014265979A1 (en) | 2013-05-14 | 2015-12-10 | Actifio, Inc. | Efficient data replication and garbage collection predictions |
US20150142748A1 (en) | 2013-11-18 | 2015-05-21 | Actifio, Inc. | Computerized methods and apparatus for data cloning |
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 |
WO2016044403A1 (en) | 2014-09-16 | 2016-03-24 | Mutalik, Madhav | Copy data techniques |
US10379963B2 (en) | 2014-09-16 | 2019-08-13 | Actifio, Inc. | Methods and apparatus for managing a large-scale environment of copy data management appliances |
US10146788B1 (en) * | 2014-10-10 | 2018-12-04 | Google Llc | Combined mirroring and caching network file system |
EP3224744A4 (en) | 2014-11-28 | 2018-08-01 | 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 |
US10055300B2 (en) | 2015-01-12 | 2018-08-21 | Actifio, Inc. | 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 (en) * | 2019-07-30 | 2021-02-02 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for managing application systems |
CN111291005B (en) * | 2020-01-19 | 2023-05-02 | Oppo(重庆)智能科技有限公司 | File viewing method, device, terminal equipment, system and storage medium |
US12045489B2 (en) * | 2022-10-28 | 2024-07-23 | Netapp, Inc. | Fast resynchronization of a mirrored aggregate using disk-level cloning |
US20240264908A1 (en) * | 2023-02-03 | 2024-08-08 | Dell Products L.P. | Storage resource resynchronization using pending io requests |
Family Cites Families (70)
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 (en) | 1990-06-21 | 1995-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Method and apparatus for recovering parity protected data |
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 |
DE69131551T2 (en) * | 1990-11-09 | 2000-02-17 | Emc Corp., Hopkinton | Logical division of a storage system with redundant matrix |
JP2603757B2 (en) | 1990-11-30 | 1997-04-23 | 富士通株式会社 | Method of controlling array disk device |
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 |
ATE195825T1 (en) * | 1993-06-03 | 2000-09-15 | Network Appliance Inc | ARRANGEMENT OF A FILE SYSTEM FOR DESCRIBING ANY AREAS |
US6604118B2 (en) | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
EP0701716B1 (en) | 1993-06-03 | 2002-08-14 | Network Appliance, Inc. | Method and file system for allocating blocks of files to storage space in a RAID disk system |
EP0701715A4 (en) | 1993-06-04 | 1999-11-17 | Network Appliance Corp | A method for providing parity in a raid sub-system using a non-volatile memory |
AU682523B2 (en) | 1993-07-01 | 1997-10-09 | Legent Corporation | System and method for distributed storage management on networked computer systems |
KR0128271B1 (en) * | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | Remote data duplexing |
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 |
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 |
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 |
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 (en) * | 1996-05-13 | 1997-11-28 | Fujitsu Ltd | Disk array device |
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 (en) * | 1999-03-31 | 2003-05-09 | 인터내셔널 비지네스 머신즈 코포레이션 | A method and apparatus for managing client computers in a distributed data processing system |
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 |
-
2000
- 2000-10-04 US US09/684,487 patent/US6654912B1/en not_active Expired - Lifetime
-
2001
- 2001-10-04 DE DE60112462T patent/DE60112462T2/en not_active Expired - Fee Related
- 2001-10-04 WO PCT/US2001/031422 patent/WO2002029572A2/en active IP Right Grant
- 2001-10-04 EP EP01979574A patent/EP1325415B1/en not_active Expired - Lifetime
-
2002
- 2002-05-23 US US10/154,414 patent/US20020194529A1/en not_active Abandoned
-
2003
- 2003-11-21 US US10/719,699 patent/US7096379B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2002029572A3 (en) | 2003-01-09 |
US20040153736A1 (en) | 2004-08-05 |
DE60112462D1 (en) | 2005-09-08 |
DE60112462T2 (en) | 2006-04-20 |
US20020194529A1 (en) | 2002-12-19 |
WO2002029572A9 (en) | 2003-11-13 |
US7096379B2 (en) | 2006-08-22 |
US6654912B1 (en) | 2003-11-25 |
WO2002029572B1 (en) | 2003-04-24 |
WO2002029572A2 (en) | 2002-04-11 |
EP1325415A2 (en) | 2003-07-09 |
WO2002029572A8 (en) | 2002-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1325415B1 (en) | Recovery of file system data in file servers mirrored file system volumes | |
US7032089B1 (en) | Replica synchronization using copy-on-read technique | |
US6983295B1 (en) | System and method for database recovery using a mirrored snapshot of an online database | |
US8572331B2 (en) | Method for reliably updating a data group in a read-before-write data replication environment using a comparison file | |
US7278049B2 (en) | Method, system, and program for recovery from a failure in an asynchronous data copying system | |
US6668264B1 (en) | Resynchronization of a target volume with a source volume | |
US8161007B2 (en) | System and method for supporting asynchronous data replication with very short update intervals | |
US6868506B2 (en) | Data recovery method and apparatus | |
US7552358B1 (en) | Efficient backup and restore using metadata mapping | |
US6981114B1 (en) | Snapshot reconstruction from an existing snapshot and one or more modification logs | |
US6148412A (en) | Availability and recovery of files using copy storage pools | |
US5504883A (en) | Method and apparatus for insuring recovery of file control information for secondary storage systems | |
JP4516087B2 (en) | Consistency method and consistency system | |
KR100271342B1 (en) | A system for taking backup in a database | |
US7921080B2 (en) | System and method for a backup parallel server data storage system | |
US6144999A (en) | Method and apparatus for file system disaster recovery | |
US7752180B1 (en) | File system group consistency point | |
EP2161661B1 (en) | Computer system and backup method therefor | |
US7610318B2 (en) | Autonomic infrastructure enablement for point in time copy consistency | |
US7627775B2 (en) | Managing failures in mirrored systems | |
US20080140963A1 (en) | Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots | |
US20020129214A1 (en) | System and method for minimizing message transactions for fault-tolerant snapshots in a dual-controller environment | |
US7376859B2 (en) | Method, system, and article of manufacture for data replication | |
CN101231652A (en) | Method and system for data storage resynchronization | |
US7660955B2 (en) | Node polling in consistency group formation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20030430 |
|
AK | Designated contracting states |
Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE TR |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: 7G 06F 11/20 A |
|
17Q | First examination report despatched |
Effective date: 20031223 |
|
RBV | Designated contracting states (corrected) |
Designated state(s): DE FR GB |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NETWORK APPLIANCE, INC. |
|
RTI1 | Title (correction) |
Free format text: RECOVERY OF FILE SYSTEM DATA IN FILE SERVERS MIRRORED FILE SYSTEM VOLUMES |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): DE FR GB |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20050825 Year of fee payment: 5 |
|
REF | Corresponds to: |
Ref document number: 60112462 Country of ref document: DE Date of ref document: 20050908 Kind code of ref document: P |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20050929 Year of fee payment: 5 |
|
ET | Fr: translation filed | ||
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed |
Effective date: 20060504 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20070501 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20061004 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20070629 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20061004 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20061031 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20050928 Year of fee payment: 5 |