Initializing backup snapshots on deduplicated storage
First Claim
Patent Images
1. A method for initializing a backup snapshot on deduplicated storage comprising:
- receiving sequential initialization input/outputs (“
IOs”
) from a scanned storage volume during a continuous data replication process;
transmitting the sequential initialization IOs to the deduplicated storage, the sequential initialization IOs comprising a data stream and a metadata stream;
writing the sequential initialization IOs to a data journal and a metadata journal on the deduplicated storage that are both used to synthesize a backup snapshot on the deduplicated storage;
receiving application IOs, wherein the application IOs are writes made to the scanned storage volume;
determining a data block associated with an individual application IO;
determining whether the data block is associated with a previously streamed initialization IO;
transmitting the application IOs concurrently with the sequential initialization IOs to the deduplicated storage when the data block is associated with a previously streamed initialization IO;
writing the application IOs to the journal;
synthesizing a backup snapshot from initialization IOs and the application IOs to allow for point-in-time recovery of backed up files of the continuous data replication process by synthesizing new backup snapshots from at least one previous backup snapshot and new entries to a journal, wherein a last backup snapshot of the new backup snapshots is used to restore the storage volume up to a point-in-time of a corresponding last journal entry, and further wherein the synthesizing comprises copying or creating a data pointer to the data journal indicating only changed data for the last journal entry;
querying the metadata journal to identify most recent data associated with each offset specified by the metadata; and
defining a user policy to specify when, on a periodic basis, the new backup snapshots are taken, wherein synthesizing the backup snapshot comprises synthesizing the initialization IOs and the application IOs from the data and metadata journals into the snapshot using the most recent data, and further wherein the synthesizing comprises synthesizing the last backup snapshot entirely from journal entries rather than from an initial backup snapshot.
9 Assignments
0 Petitions
Accused Products
Abstract
The system, process, and methods herein describe a mechanism for creating an initial backup snapshot on deduplicated storage. Initialization IO'"'"'s may be transmitted to the deduplicated storage, and those initialization IO'"'"'s may be synthesized into a snapshot. Application IO'"'"'s may also be transmitted in case the source side data changes while the backup is synthesized.
-
Citations
9 Claims
-
1. A method for initializing a backup snapshot on deduplicated storage comprising:
-
receiving sequential initialization input/outputs (“
IOs”
) from a scanned storage volume during a continuous data replication process;transmitting the sequential initialization IOs to the deduplicated storage, the sequential initialization IOs comprising a data stream and a metadata stream; writing the sequential initialization IOs to a data journal and a metadata journal on the deduplicated storage that are both used to synthesize a backup snapshot on the deduplicated storage; receiving application IOs, wherein the application IOs are writes made to the scanned storage volume; determining a data block associated with an individual application IO; determining whether the data block is associated with a previously streamed initialization IO; transmitting the application IOs concurrently with the sequential initialization IOs to the deduplicated storage when the data block is associated with a previously streamed initialization IO; writing the application IOs to the journal; synthesizing a backup snapshot from initialization IOs and the application IOs to allow for point-in-time recovery of backed up files of the continuous data replication process by synthesizing new backup snapshots from at least one previous backup snapshot and new entries to a journal, wherein a last backup snapshot of the new backup snapshots is used to restore the storage volume up to a point-in-time of a corresponding last journal entry, and further wherein the synthesizing comprises copying or creating a data pointer to the data journal indicating only changed data for the last journal entry; querying the metadata journal to identify most recent data associated with each offset specified by the metadata; and defining a user policy to specify when, on a periodic basis, the new backup snapshots are taken, wherein synthesizing the backup snapshot comprises synthesizing the initialization IOs and the application IOs from the data and metadata journals into the snapshot using the most recent data, and further wherein the synthesizing comprises synthesizing the last backup snapshot entirely from journal entries rather than from an initial backup snapshot. - View Dependent Claims (2, 3)
-
-
4. A computer program product for initializing a backup snapshot on deduplicated storage, the computer program product comprising a non-transitory computer readable medium encoded with computer executable program, the program enabling:
-
receiving sequential initialization input/outputs (“
IOs”
) from a scanned storage volume during a continuous data replication process;transmitting the sequential initialization IOs to the deduplicated storage, the sequential initialization IOs comprising a data stream and a metadata stream; writing the sequential initialization IOs to a data journal and a metadata journal on the deduplicated storage that are both used to synthesize a backup snapshot on the deduplicated storage; receiving application IOs, wherein the application IOs are writes made to the scanned storage volume; determining a data block associated with an individual application IO; determining whether the data block is associated with a previously streamed initialization IO; transmitting the application IOs concurrently with the sequential initialization IOs to the deduplicated storage when the data block is associated with a previously streamed initialization IO; writing the application IOs to the journal; synthesizing a backup snapshot from initialization IOs and the application IOs to allow for point-in-time recovery of backed up files of the continuous data replication process by synthesizing new backup snapshots from at least one previous backup snapshot and new entries to a journal, wherein a last backup snapshot of the new backup snapshots is used to restore the storage volume up to a point-in-time of a corresponding last journal entry, and further wherein the synthesizing comprises copying or creating a data pointer to the data journal indicating only changed data for the last journal entry; querying the metadata journal to identify most recent data associated with each offset specified by the metadata; and defining a user policy to specify when, on a periodic basis, the new backup snapshots are taken, wherein synthesizing the backup snapshot comprises synthesizing the initialization IOs and the application IOs from the data and metadata journals into the snapshot using the most recent data, and further wherein the synthesizing comprises synthesizing the last backup snapshot entirely from journal entries rather than from an initial backup snapshot. - View Dependent Claims (5, 6)
-
-
7. A system for initializing a backup snapshot on deduplicated storage, the system comprising a computer processor configured to execute instructions comprising:
-
receiving sequential initialization input/outputs (“
IOs”
) from a scanned storage volume during a continuous data replication process;transmitting the sequential initialization IOs to the deduplicated storage, the sequential initialization IOs comprising a data stream and a metadata stream; writing the sequential initialization IOs to a data journal and a metadata journal on the deduplicated storage that are both used to synthesize a backup snapshot on the deduplicated storage; determining a data block associated with an individual application IO; determining whether the data block is associated with a previously streamed initialization IO; transmitting the application IOs concurrently with the sequential initialization IOs to the deduplicated storage when the data block is associated with a previously streamed initialization IO; writing the application IOs to the journal; and synthesizing a backup snapshot from initialization IOs and the application IOs to allow for point-in-time recovery of backed up files of the continuous data replication process by synthesizing new backup snapshots from at least one previous backup snapshot and new entries to a journal, wherein a last backup snapshot of the new backup snapshots is used to restore the storage volume up to a point-in-time of a corresponding last journal entry, and further wherein the synthesizing comprises copying or creating a data pointer to the data journal indicating only changed data for the last journal entry; querying the metadata journal to identify most recent data associated with each offset specified by the metadata; and defining a user policy to specify when, on a periodic basis, the new backup snapshots are taken, wherein synthesizing the backup snapshot comprises synthesizing the initialization IOs and the application IOs from the data and metadata journals into the snapshot using the most recent data, and further wherein the synthesizing comprises synthesizing the last backup snapshot entirely from journal entries rather than from an initial backup snapshot. - View Dependent Claims (8, 9)
-
Specification