1. A computer-implemented method for tracking changes made to a volume, the method comprising:
- identifying a first snapshot of the volume;
- identifying a window within which the first snapshot was created, the window beginning with a first point known to have occurred before the first snapshot and ending with a second point known to have occurred after the first snapshot;
- identifying at least one change to the volume that occurred within the window;
- associating the at least one change that occurred within the window with both the first snapshot and a second snapshot created after the first snapshot.
2. The method of claim 1, wherein identifying the at least one change to the volume comprises identifying each block of the volume that changed within the window.
3. The method of claim 2, further comprising:
- identifying a point known to have occurred before a prior snapshot that preceded the first snapshot;
- identifying each block of the volume that changed between the point known to have occurred before the prior snapshot and the second point;
- adding a reference to each block of the volume that changed between the point known to have occurred before the prior snapshot and the second point to a first list associated with the first snapshot.
4. The method of claim 3, further comprising:
- creating, using the prior snapshot, a full backup of the volume;
- creating, using at least one of the first list and the first snapshot, a first incremental backup of the volume.
5. The method of claim 3, further comprising:
- identifying a third point known to have occurred after the second snapshot;
- identifying each block of the volume that changed between the first point and the third point;
- adding a reference to each block of the volume that changed between the first point and the third point to a second list associated with the second snapshot.
6. The method of claim 5, wherein associating the at least one change that occurred within the window with both the first snapshot and the second snapshot comprises adding a reference to each block of the volume that changed within the window to both the first list and the second list.
7. The method of claim 5, further comprising:
- creating the first list;
- creating the second list.
8. The method of claim 5, further comprising:
- creating, using at least one of the first list and the first snapshot, a first incremental backup of the volume;
- creating, using at least one of the second list and the second snapshot, a second incremental backup of the volume.
9. The method of claim 1, wherein the first snapshot comprises:
- a software snapshot;
- a hardware snapshot.
10. A system for tracking changes to a volume in a networked environment, the system comprising:
- at least one client comprising at least one volume;
- a server in communication with the client;
- a change-tracking module on the server, the change-tracking module configured to:
- identify a window within which a first snapshot of the volume was created, the window beginning with a first point known to have occurred before the first snapshot and ending with a second point known to have occurred after the first snapshot;
- identify at least one change to the volume that occurred within the window;
- associate the at least one change that occurred within the window with both the first snapshot and a second snapshot created after the first snapshot.
11. The system of claim 10, wherein the change-tracking module is further configured to:
- identify a point known to have occurred before a prior snapshot that preceded the first snapshot;
- identify each block of the volume that changed between the point known to have occurred before the prior snapshot and the second point;
- add a reference to each block of the volume that changed between the point known to have occurred before the base snapshot and the second point to a first list associated with the first snapshot.
12. The system of claim 11, further comprising a backup-creation module configured to:
- create, using the prior snapshot, a full backup of the volume;
- create, using at least one of the first list and the first snapshot, a first incremental backup of the volume.
13. The system of claim 11, wherein the change-tracking module is further configured to:
- identify a third point known to have occurred after the second snapshot;
- identify each block of the volume that changed between the first point and the third point;
- add a reference to each block of the volume that changed between the first point and the third point to a second list associated with the second snapshot.
14. The system of claim 13, wherein the change-tracking module associates the at least one change that occurred within the window with both the first snapshot and the second snapshot by adding a reference to each block of the volume that changed within the window to both the first list and the second list.
15. The system of claim 13, further comprising a backup-creation module configured to:
- create, using at least one of the first list and the first snapshot, a first incremental backup of the volume;
- create, using at least one of the second list and the second snapshot, a second incremental backup of the volume.
16. A system for tracking changes to a volume in a virtual environment, the system comprising:
- a virtual-machine server comprising at least one virtual-machine client, the virtual-machine client comprising at least one virtual volume;
- a storage area network in communication with the virtual-machine server;
- a change-tracking module configured to:
- identify a window within which a first snapshot of the virtual volume was created, the window beginning with a first point known to have occurred before the first snapshot and ending with a second point known to have occurred after the first snapshot;
- identify at least one change to the virtual volume that occurred within the window;
- associate the at least one change that occurred within the window with both the first snapshot and a second snapshot created after the first snapshot.
17. The system of claim 16, wherein the change-tracking module is further configured to:
- identify a point known to have occurred before a prior snapshot that preceded the first snapshot;
- identify each change to the virtual volume that occurred between the point known to have occurred before the prior snapshot and the second point;
- add a reference to each change to the virtual volume that occurred between the point known to have occurred before the base snapshot and the second point to a first list associated with the first snapshot.
18. The system of claim 17, further comprising a proxy server in communication with the storage area network, the proxy server comprising a backup-creation module configured to:
- create, using the prior snapshot, a full backup of the virtual volume;
- create, using at least one of the first list and the first snapshot, a first incremental backup of the virtual volume.
19. The system of claim 18, wherein the change-tracking module is further configured to:
- identify a third point known to have occurred after the second snapshot;
- identify each change to the virtual volume that occurred between the first point and the third point;
- add a reference to each change to the virtual volume that occurred between the first point and the third point to a second list associated with the second snapshot.
20. The system of claim 19, wherein the change-tracking module associates the at least one change that occurred within the window with both the first snapshot and the second snapshot by adding a reference to each change that occurred to the virtual volume within the window to both the first list and the second list.