摘要:
A system and method for remote asynchronous replication or mirroring of changes in a source file system snapshot in a destination replica file system using a scan (via a scanner) of the blocks that make up two versions of a snapshot of the source file system, which identifies changed blocks in the respective snapshot files based upon differences in volume block numbers identified in a scan of the logical file block index of each snapshot. Trees of blocks associated with the files are traversed, bypassing unchanged pointers between versions and walking down to identify the changes in the hierarchy of the tree. These changes are transmitted to the destination mirror or replicated snapshot. This technique allows regular files, directories, inodes and any other hierarchical structure to be efficiently scanned to determine differences between versions thereof. The changes in the files and directories are transmitted over the network for update of the replicated destination snapshot in an asynchronous (lazy write) manner. The changes are described in an extensible, system-independent data stream format layered under a network transport protocol. At the destination, source changes are used to update the destination snapshot. Any deleted or modified inodes already on the destination are moved to a temporary or “purgatory” directory and, if reused, are relinked to the rebuilt replicated snapshot directory. The source file system snapshots can be representative of a volume sub-organization, such as a qtree.
摘要:
A method for transferring data from a source computer to a destination computer, and restarting the source computer transmission after a halt of the transmission, has the following steps. The source computer inserts a checkpoint number into a data stream, the data flowing in the data stream. The checkpoint number is stored at the source computer. The data stream is halted in response to an error in a path of the data stream. The destination computer locates the last checkpoint number successfully received before halting the data stream. The last checkpoint number successfully received before halting the data stream is transferred to the source computer; and the source computer compares it with checkpoint numbers stored in the source computer to determine where in the data stream to resume transfer of the data. Transfer of the data is resumed in response to the last checkpoint number.
摘要:
A system and method for remote asynchronous replication or mirroring of changes in a source file system snapshot in a destination replica file system using a scan (via a scanner) of the blocks that make up two versions of a snapshot of the source file system, which identifies changed blocks in the respective snapshot files based upon differences in volume block numbers identified in a scan of the logical file block index of each snapshot. Trees of blocks associated with the files are traversed, bypassing unchanged pointers between versions and walking down to identify the changes in the hierarchy of the tree. These changes are transmitted to the destination mirror or replicated snapshot. This technique allows regular files, directories, inodes and any other hierarchical structure to be efficiently scanned to determine differences between versions thereof. The changes in the files and directories are transmitted over the network for update of the replicated destination snapshot in an asynchronous (lazy write) manner. The changes are described in an extensible, system-independent data stream format layered under a network transport protocol. At the destination, source changes are used to update the destination snapshot. Any deleted or modified inodes already on the destination are moved to a temporary or “purgatory” directory and, if reused, are relinked to the rebuilt replicated snapshot directory. The source file system snapshots can be representative of a volume sub-organization, such as a qtree.
摘要:
A system and method for transparent data replication of one or more data containers over migrating virtual servers (vfilers) operating on physical storage systems is provided. A mirroring (or other replication) procedure associated with a vfiler generates an entry in a mirror table maintained by one or more appropriate mirroring applications executing on the physical storage systems. The mirror table identifies source and destination “owners” of a replicated data container by vfiler instead of only by physical storage system. Thus, when a vfiler is migrated from a source physical storage system (“source”) to a destination physical storage system (“destination”), the mirroring application may continue to perform mirroring operations on the data containers at a per vfiler level to thereby improve the utility of migration of the vfiler among the storage systems.
摘要:
A method for backing up a computer file system is disclosed. A first snapshot of the file system is generated at a first time, the first snapshot having first pointers to data blocks of the file system at the first time. A network adapter receives storage operations to write new data to the file system. A second snapshot of the file system is generated at a second time, the second snapshot having second pointers to data blocks of the file system at the second time, the data blocks at the second time including the new data. The first pointers to the second pointers are compared. In response to the second pointers differing from the first pointers, data of the file system which have been changed between the first snapshot and the second snapshot are copied to a backup copy of the file system.
摘要:
A synchronous data mirroring technique includes a log forwarding process and a consistency point (CP) process. During log forwarding, a source storage server receives write requests from clients, creates a log entry for each request in nonvolatile memory, and transmits each log entry to a destination storage server at a mirror site. The destination storage server writes each log entry to a file. If a primary volume becomes inaccessible due to a failure, the file is used to produce an updated mirror volume. The CP process includes updating a primary volume based on the write requests, and updating the mirror volume to reflect the updated primary volume. The mirror volume is updated by transmitting CP data from the source storage server to the destination storage server, and using the CP data to update the mirror volume through a network administration layer and a storage layer in the destination storage server.
摘要:
A system and method for verifying the consistency of mirrored data sets between source and destination storage systems is provided. A destination verification module sends version information to the source storage system where the source verification module determines whether the source and destination storage systems are utilizing compatible versions of the verification module. If the destination verification module receives an acceptable version from the source, the destination module then determines a base PCPI to utilize for verification and sends a PCPI identifier of the base PCPI to the source. The source verification module generates and transmits a data stream consisting of comprising of checksum information. The destination verification module compares the received data stream with checksum information retrieved from disk. If there are mismatches, i.e. the received data differs from the data retrieved from disk, the destination verification module logs the data mismatches in a verification log file.
摘要:
Differences between data objects stored on a mass storage device can be identified quickly and efficiently by comparing block numbers stored in data structures that describe the data objects. Bit-by-bit or byte-by-byte comparisons of the objects' actual data need only be performed if the block numbers are different. Objects that share many data blocks can be compared much faster than by a direct comparison of all the objects' data. The fast comparison techniques can be used to improve storage server mirrors and database storage operations, among other applications.
摘要:
In one embodiment, the present invention provides a method for mirroring data representing a file system. The data is stored on a primary storage server and is mirrored on a secondary storage server. In the method the file system is mirrored without comparing blocks used to that represent the file system at the primary storage server, and the secondary storage server.
摘要:
A system and method for inserting checkpoints into a data stream and for restarting an asynchronous transmission of a data stream from a source file system to a destination file system is provided. The data stream can be a set of changes between a base snapshot and incremental snapshot of the source file system for update of a replicated file system on the destination. State information relating to the progress of the source in processing and transmitting the data stream is stored at regular intervals, and a checkpoint number associated with each stored segment of the state information is inserted into the data stream. The destination tracks the fall commitment of each segment of the data stream to persistent storage on the replicated file system. If an error or communication loss requires the data transfer to be restarted, the destination sends the checkpoint number associated with the last fully committed segment of the data stream. The source reinitializes its data gathering processes using the state information associated with the particular checkpoint number. The changes sent from the source file system to the destination file system relate to a sub-organization of a volume on the source such as a qtree, identified by a qtree identifier (ID) in the associated inodes and data stream.