SNAPSHOT CREATION FROM BLOCK LISTS
Embodiments disclosed herein provide systems and methods for creating snapshots from a list of changed blocks. In a particular embodiment, a method provides establishing a base state for a data storage volume having a file system, creating a snapshot of the data storage volume, and restoring data items by merging the snapshot and the base state.
1 . A method of operating a data management system, the method comprising:
establishing a base state for a data storage volume having a file system;
creating a snapshot of the data storage volume; and
restoring data items by merging the snapshot and the base state.
2 . The method of claim 1 further comprising generating a list of blocks associated with the data storage volume that have changed and wherein creating the snapshot of the data storage volume comprises creating the snapshot from the list of blocks.
3 . The method of claim 2 wherein creating the snapshot from the list of blocks comprises synthesizing the snapshot from the list of blocks associated with the data storage volume that have changed.
4 . The method of claim 2 wherein generating the list of blocks associated with the data storage volume that have changed comprises:
identifying changed data items within a secondary storage volume;
correlating mapping table entries associated with the changed data items to bitmap entries associated with the data storage volume;
identifying changed blocks associated with the bitmap entries; and
generating the list of blocks associated with the data storage volume based on the changed blocks.
5 . The method of claim 4 wherein the list of blocks comprises a changed block list.
6 . The method of claim 4 wherein the data storage volume comprises a virtual disk file and the secondary storage volume comprises a virtual drive.
7 . The method of claim 6 wherein the virtual disk file comprises a virtual machine disk (VMDK) file format.
8 . A data management system comprising:
a storage system configured to store a data storage volume having a file system; and
a processing system configured to create a snapshot of the data storage volume and restore data items by merging the snapshot and the base state.
9 . The system of claim 8 wherein the processing system is further configured to generate a list of blocks associated with the data storage volume that have changed and create the snapshot from the list of blocks.
10 . The system of claim 9 wherein the processing system configured to create the snapshot from the list of blocks comprises the processing system configured to synthesize the snapshot from the list of blocks associated with the data storage volume that have changed.
11 . The system of claim 9 wherein the processing system configured to generate the list of blocks associated with the data storage volume that have changed comprises the processing system configured to:
identify changed data items within a secondary storage volume;
correlate mapping table entries associated with the changed data items to bitmap entries associated with the data storage volume;
identify changed blocks associated with the bitmap entries; and
generate the list of blocks associated with the data storage volume based on the changed blocks.
12 . The system of claim 11 wherein the list of blocks comprises a changed block list.
13 . The system of claim 11 wherein the data storage volume comprises a virtual disk file and the secondary storage volume comprises a virtual drive.
14 . The system of claim 13 wherein the virtual disk file comprises a virtual machine disk (VMDK) file format.
15 . One or more computer-readable media have program instructions stored thereon for operating a data management system wherein the program instructions, when executed by the data management system, direct the data management system to:
establish a base state for a data storage volume having a file system;
create a snapshot of the data storage volume; and
restore data items by merging the snapshot and the base state.
16 . The one or more computer readable media of claim 15 wherein the program instructions further direct the data management system to generate a list of blocks associated with the data storage volume that have changed and create the snapshot from the list of blocks.
17 . The one or more computer readable media of claim 16 wherein the program instructions, to direct the data management system to create the snapshot from the list of blocks, direct the data management system to synthesize the snapshot from the list of blocks associated with the data storage volume that have changed.
18 . The one or more computer readable media of claim 16 wherein the program instructions, to direct the data management system to generate the list of blocks associated with the data storage volume that have changed, direct the data management system to:
identify changed data items within a secondary storage volume;
correlate mapping table entries associated with the changed data items to bitmap entries associated with the data storage volume;
identify changed blocks associated with the bitmap entries; and
generate the list of blocks associated with the data storage volume based on the changed blocks.
19 . The one or more computer readable media of claim 18 wherein the list of blocks comprises a changed block list.
20 . The one or more computer readable media of claim 18 wherein the data storage volume comprises a virtual disk file and the secondary storage volume comprises a virtual drive.