Processing

Please wait...

Settings

Settings

1. WO2007002397 - SYSTEM AND METHOD FOR HIGH PERFORMANCE ENTERPRISE DATA PROTECTION

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

We claim:
1. A method for making a backup copy of a primary system, that is mountable on the same or other computer system on an immediately available basis, comprising:
providing abase-level snapshot, stored on a secondary system, of said primary system;
providing a block-level incremental snapshots of the primary system, stored on the secondary system, representing only the blocks that have changed since the prior snapshot; and
constructing a logical disk image from at least one of said incremental
snapshot images that can be used as a mounted storage unit.

2. The method of claim 1, further comprising backing up application-specific metadata.

3. The method of claim 1, in which there is a software process for controlling backups, software for mediating application-specific interaction at the beginning and end of the backup, and snapshot handling software, further comprising the following steps:
said controlling process sending a message to said mediating process to cause said snapshot handling software to snapshot the target set of volumes and flush change journals;
snapshotting said target set of volumes to create a snapshot image;
creating a content file for the backup specification; and
sending said content file and snapshot image to a storage device under the control of said controlling process.

4. The method of claim 1, wherein the data for said backup comprises a differential block level image and has a disk signature attached to beginning which has the appropriate information to virtualize the backup of a volume as a whole SCSI disk with a single valid partition.

5. The method of claim 1 wherein said snapshotting step comprises talcing an internal snapshot for the purpose of flushing change journals and tracking changed blocks, followed by an external snapshot to produce a consistent snapshot image.

6. An enterprise image destination for backup images created in accordance with the method of claim 1, wherein such images maybe consolidated, nearlined and versioned, comprising:
one or more data storage units accessible by said enterprise image destination; software adapted for operating said enterprise image destination, said software comprising
support for journaling FS with sparse file support for accommodating multiple persistent snapshots;
interface providing support for LUN creation/deletion, LUN cloning, and snapshot creation and deletion; and
a database associating snapshot IDs with block allocation bitmaps and
incremental bitmaps.

7. The enterprise image destination of claim 6 wherein one or more of said data storage units are provided by a storage device of a type selected from the group consisting of (i) shared storage, (ii) local copy to backup LUN, and (iii) network storage.

8. The enterprise image destination of claim 6 wherein said interface is a plugin interface.

9. The enterprise image destination of claim 6 wherein said interface further supports block-level mirroring.

10. The method of claim 3, initiated by an enterprise image destination of claim 6 in order to create a backup image of a client node, further comprising steps effecting the following additional data flow:
(1) establishing a connection with the corresponding software on the client node and passing to the client node a path to a content file;
(2) with the software on the client node, reading and passing the content of the content file back to software on said enterprise image destination node.

11. The method of claim 10 wherein one or more of said data storage units used by said enterprise image destination are provided by a storage device of a type selected from the group consisting of (i) shared storage, (ii) local copy to backup LUN, and (iii) network storage.

12. The method of claim 10 wherein said storage unit comprises a network storage device, further comprising
using software on said client node, reading allocated blocks from the local snapshot of the device to be backed up;
sending said blocks across the network to the destination software on the
enterprise image destination node; and
using software on said enterprise destination node, reading from the channel of said network and writing the date read to a sparse file on a pre-defined volume on said network storage device.

13. A machine-readable medium containing a backup image of a primary storage unit created in accordance with claim 1.

14. A method of creating a backup image of a machine-readable backup image as described in claim 13, comprising making a tertiary backup copy of said medium, wherein said tertiary backup copy is a full, complete and self-contained backup of the primary storage unit.

15. A method of creating a tertiary backup image in accordance with claim 14 wherein said tertiary backup image is created on tape.

16. A method of creating a tertiary backup image in accordance with claim 14 wherein the primary backup image is transformed to a logical backup in a portable format of the type selected from the group essentially consisting of tar, cpio, or pax.

17. The method of claim 14 wherein said tertiary backup image is recorded on WORM tapes or a WORM drive.

18. The method of claim 14 further comprising restoring data using the file history saved during creation of the primary backup image.

19. A machine-readable medium containing a tertiary backup copy of a primary storage unit, created in accordance with claim 14.

20. A method of creating or updating a tertiary backup image on a tertiary node from a primary backup image stored in a node constituting an enterprise image destination as described in claim 6, said method comprising
using software on said enterprise image destination to contact said tertiary node and pass to it a message to request data from said enterprise image
destination node;
using software on said tertiary node to request said data;
receiving said request at the enterprise image destination node and recognizing it as a request to create or update a tertiary backup image;
designating the appropriate snapshot image using saved bitmaps; and
sending the appropriate snapshot image to said tertiary node.

21. A method of providing an immediately available restoration of a backup image created in accordance with claim 1 , comprising
creating and exposing a LUN within a snapshot to create a restore volume; and mapping the restore volume to the local namespace.

22. A method of providing an immediately available restoration of a backup image created in accordance with claim 2, comprising
creating and exposing a LUN within a snapshot to create a restore volume containing both backup data and application-specific metadata; and
mapping the restore volume to the local namespace;

23. The method of claim 22 wherein said backup image is a read-only image, further comprising transforming said image into an iSCSI addressable read-write LUN by creating a sparse file backed by said read-only backup image.

24. A method of restoring a primary storage device capable of aggregating changes as well as retaining original unchanged data from said read-only backup image comprising mounting a LUN created in accordance with claim 22 and using said LUN as primary storage.

25. A method of recovering an application or database comprising:
performing a restore operation in accordance with claim 21;
copying log files if necessary from the source volume to the restore volumes to recover said application or database. ,

26. A method of rolling back a volume to an earlier state, comprising,
addressing said volume by a unique job identifier and locking and
dismounting the volume so addressed;
taking a snapshot of said volume to flush the change journal;
mapping said snapshot as a mountable volume;
logically ANDing all change journals since the time of the desired state that is being restored to, to create a bitmap file;
adding the contents of said the bitmap file to the content file associated with said snapshot;
using said bitmap file to restore only a set of blocks from said mapped
volume.

27. The method of claim 23 wherein said target LUN is back-ended on a separate node, further comprising
determining whether the back-end storage supports addressing in accordance with claim 26, and that the snapshot being restored from and the restore target LUN are logically related; and
calling a back-end API with the identifier of the snapshot being restored and the target entity or LUN that back-ends the volume on the target node.

28. A method of restoring a backup image created in accordance with claim 1, in operations under a virtualization server, on a virtual machine running on said server, comprising
creating and exposing a LUN within a snapshot to create a restore volume; and mapping the restore volume to the local namespace of said virtual machine;

29. A method for mirroring a primary volume onto a secondary volume, comprising: creating a list of blocks to be copied from the primary volume to the secondary volume;
writing new blocks to both the primary and secondary volumes as they arrive; as blocks are written, removing those blocks from said list of blocks;
traversing said list, and copying blocks encountered as a result of such
traversal from the primary volume to the secondary volume;
continuing the preceding two steps until all blocks on said list have been
copied.

30. A method for resilvering a mirror that has crashed or gone out of sync, from a primary mirror that remains in production, comprising mirroring said primary mirror to a new secondary mirror in accordance with the method of claim 29.

31. A method of reducing redundancy in a primary data set being backed up on a changed block basis to a backup server used to back up a plurality of data sets, comprising
taking a digest of each block that has changed in said primary data set;
saving the digest data;
comparing the block digests of said blocks to the digests of blocks previously saved by said server, and determining which blocks said server does not
already have;
sending to said server only those blocks that said server has determined that it does not already have, together with the associated digests;
updating the collection of digests saved on said server by adding said
associated digests; and
constructing a catalog of said backup from the list of blocks sent to the backup server plus those blocks which said server determined that it already had.

32. A method of reducing redundancy in a file system, comprising:
taking a digest of each block as it is to be written to the file system;

comparing the digest of said block with the digests of the blocks already stored in the file system;
if the identical content block already exists on file system, using the existing directory pointer and not writing the duplicate block;
when a file are deleted, deallocating the associated blocks from that file; and freeing any block when no files reference it.

33. A method for rapidly restoring an application from a set of one or more backup images to a target node, comprising
selecting said backup images; and
creating addressable virtual storage LUNs from said images on an on-demand basis;
making said LUNs visible to said target node;
attaching said LUNs as local disks on the restore target via iSCSI protocols. programmatically recovering said application using appropriate application-specific APIs.

34. The method of claim 33 for use in the case of recovery from a failure, further comprising applying application-specific log files to roll said restore operation forward to the point of failure.

35. A method for rapidly verifying a backup of an application created in accordance with claim 1, comprising,
rapidly restoring said backup in accordance with the method of claim 33 onto a machine running said application;
verifying that said application restarts and recovers correctly.

36. The method of claim 33, further comprising,
using application specific techniques to verify that the application data is correct and that any logical objects of said application function properly.

37. A method for effecting fine-grained partial restoration of a primary system, comprising: restoring said system in Ml to an alternate node in accordance with the method of claim 33;
using application-specific tools to extract the desired partial data.