Block-level incremental recovery of a storage volume
First Claim
1. A computer implemented method for performing block-level recovery of a source volume to restore a source volume to the time of a selected incremental backup of the source volume by accessing changed block tracking data in a chronological series of backups of the source volume, the chronological series of backups of the source volume including a full backup followed by incremental backups of changed blocks of the source volume, the incremental backups including the selected incremental backup and at least one incremental backup following the selected incremental backup, and each incremental backup including block change tracking data identifying changed blocks of the source volume, the method comprising:
- selecting a time of the selected incremental backup;
creating a map of the multiple valid blocks of the source volume, the map containing the changed block tracking data showing how each individual valid block has changed since the time of the selected incremental backup;
for each of the individual valid blocks of the multiple valid blocks of the source volume, separately performing the following;
(a) inspecting the changed block tracking data from after the time of the selected incremental backup to determine whether or not the individual valid block has changed in the source volume after the time of the selected incremental backup, and(b) keeping, in the source volume, the current individual valid blocks that when it is determined in (a) not to have changed since the time of the selected incremental backup, and(c) for the current individual valid blocks that is determined in (a) to have changed after the time of the selected incremental backup;
(i) locating the most recent version of each of the individual valid blocks at the time of the selected incremental backup;
(ii) copying to the source volume the most recent version of each of the valid blocks identified in (i);
wherein the method further includes initiating a snapshot copy of the source volume in order to take the source volume offline.
3 Assignments
0 Petitions
Accused Products
Abstract
A source volume is restored to the time of a selected incremental backup volume without writing over all of the data blocks in the source volume. If the source volume has valid data blocks and there are valid records of the changes to these valid data blocks and the valid records are consistent with the state of the source volume and indicate that certain valid data blocks did not change since the selected incremental backup, then the restoration does not write over the valid data blocks that did not change since the selected incremental backup. Otherwise, data blocks are recovered from the selected incremental backup and one or more backups prior to the selected incremental backup. For example, data blocks are recovered by scanning incremental backups in reverse chronological order to find the most recent version of the block in these backups.
57 Citations
14 Claims
-
1. A computer implemented method for performing block-level recovery of a source volume to restore a source volume to the time of a selected incremental backup of the source volume by accessing changed block tracking data in a chronological series of backups of the source volume, the chronological series of backups of the source volume including a full backup followed by incremental backups of changed blocks of the source volume, the incremental backups including the selected incremental backup and at least one incremental backup following the selected incremental backup, and each incremental backup including block change tracking data identifying changed blocks of the source volume, the method comprising:
-
selecting a time of the selected incremental backup; creating a map of the multiple valid blocks of the source volume, the map containing the changed block tracking data showing how each individual valid block has changed since the time of the selected incremental backup; for each of the individual valid blocks of the multiple valid blocks of the source volume, separately performing the following; (a) inspecting the changed block tracking data from after the time of the selected incremental backup to determine whether or not the individual valid block has changed in the source volume after the time of the selected incremental backup, and (b) keeping, in the source volume, the current individual valid blocks that when it is determined in (a) not to have changed since the time of the selected incremental backup, and (c) for the current individual valid blocks that is determined in (a) to have changed after the time of the selected incremental backup; (i) locating the most recent version of each of the individual valid blocks at the time of the selected incremental backup; (ii) copying to the source volume the most recent version of each of the valid blocks identified in (i); wherein the method further includes initiating a snapshot copy of the source volume in order to take the source volume offline. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computing system, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the computing system to perform block-level restoration of a source volume to the time of a selected incremental backup of the source volume by accessing changed block tracking data in a chronological series of backups of the source volume, the chronological series of backups of the source volume including a full backup followed by incremental backups of changed blocks of the source volume, the incremental backups including the selected incremental backup and at least one incremental backup following the selected incremental backup, and each incremental backup including block change tracking data identifying changed blocks of the source volume, the restored source volume being restored by; selecting a time of the selected incremental backup; creating a map of the multiple valid blocks of the source volume, the map containing the changed block tracking data showing how each individual valid block has changed since the time of the selected incremental backup; for each of the individual valid blocks of the multiple valid blocks of the source volume, separately performing the following; (a) inspecting the changed block tracking data from after the time of the selected incremental backup to determine whether or not the individual valid block has changed in the source volume after the time of the selected incremental backup, and (b) keeping, in the source volume, the current valid blocks that is determined in (a) not to have changed since the time of the selected incremental backup, and (c) for current valid blocks that are determined in (a) to have changed after the time of the selected incremental backup; (i) locating the most recent version of each of the current individual valid blocks at the time of the selected incremental backup; and (ii) copying to the source volume the most recent version of each of the valid blocks identified in (i); wherein the instructions, when executed by the at least one processor, cause the computing system to initially initialize a snapshot copy of the source volume in order to take the source volume offline. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium storing one or more sequences of instructions executed by one or more processors to cause the one or more processors to perform block-level restoration of a source volume to the time of a selected incremental backup of the source volume by accessing changed block tracking data in a chronological series of backups of the source volume, the chronological series of backups of the source volume including a full backup followed by incremental backups of changed blocks of the source volume, the incremental backups including the selected incremental backup and at least one incremental backup following the selected incremental backup, and each incremental backup including block change tracking data identifying changed blocks of the source volume, the restored source volume being restored by:
-
selecting a time of the selected incremental backup; creating a map of the multiple valid blocks of the source volume, the map containing the changed block tracking data showing how each individual valid block has changed since the time of the selected incremental backup; for each of the individual valid blocks the multiple valid blocks of the source volume, separately performing the following; (a) inspecting the changed block tracking data from after the time of the selected incremental backup to determine whether or not the individual valid block has changed in the source volume after the time of the selected incremental backup, and (b) keeping, in the source volume, the current valid blocks that is determined in (a) not to have changed since the time of the selected incremental backup, and (c) for current valid blocks that are determined in (a) to have changed after the time of the selected incremental backup; (i) locating the most recent version of each of the current individual valid blocks at the time of the selected incremental backup; and (ii) copying to the source volume the most recent version of each of the valid blocks identified in (i); wherein the instructions, when executed by the one or more processors, cause the one or more processors to initially initiate a snapshot copy of the source volume in order to take the source volume offline. - View Dependent Claims (12, 13, 14)
-
Specification