VOLUME-LEVEL REPLICATION OF DATA VIA SNAPSHOTS AND USING A VOLUME-REPLICATING SERVER IN AN INFORMATION MANAGEMENT SYSTEM
First Claim
1. A method for replication of a data volume using block substitution and a volume-replicating server, the method comprising:
- replicating a source volume in a first block storage array to a destination volume in a second block storage array by way of a volume-replicating server interposed between and in communication with the first block storage array and the second block storage array,wherein the source volume comprises data generated by a first client computing device in communication with the first block storage array, andwherein the first client executes a first data agent that is associated with the source volume;
wherein the replicating comprises;
generating and storing a first snapshot of the entire source volume by the first block storage array,after the first snapshot, detecting by the first data agent changed blocks being written to the source volume by the first client computing device,after the first snapshot, generating and storing a second snapshot of the entire source volume by the first block storage array,after the second snapshot, transmitting, by the first data agent to the volume-replicating server, a mapping of blocks that changed between the first snapshot and the second snapshot,extracting, by the volume-replicating server from the second snapshot at the first block storage array, only the blocks that changed according to the mapping received from the first data agent, andsubstituting, by the volume-replicating server, the extracted blocks that changed into the destination volume at the second block storage array, thereby replicating the second snapshot at the second block storage array; and
block-level restoring the replicated second snapshot to a second client computing device in communication with the destination volume,wherein a second data agent executing on the second client computing device performs at least in part the block-level restoring,thereby enabling a second application that executes on the second client computing device to access the restored second snapshot as primary data.
2 Assignments
0 Petitions
Accused Products
Abstract
The illustrative systems and methods use a special-purpose volume-replicating server(s) to offload client computing devices operating in a production environment. The production environment may remain relatively undisturbed while production data is replicated to a geographically distinct destination. Replication is based in part on hardware-based snapshots generated by a storage array that houses production data. The illustrative volume-replicating server efficiently moves data from snapshots on a source storage array to a destination storage array by transferring only changed blocks for each successive snapshot, i.e., transferring incremental block-level changes. Periodic restore jobs may be executed by destination clients to keep current with their corresponding source production clients. Accordingly, after the source data center goes offline, production data may be speedily restored at the destination data center after experiencing only minimal downtime of production resources. By employing block-level techniques, the disclosed solutions avoid the file-based data management approaches of the prior art, which tend to be too time-consuming and resource-intensive for the present scenario.
47 Citations
20 Claims
-
1. A method for replication of a data volume using block substitution and a volume-replicating server, the method comprising:
-
replicating a source volume in a first block storage array to a destination volume in a second block storage array by way of a volume-replicating server interposed between and in communication with the first block storage array and the second block storage array, wherein the source volume comprises data generated by a first client computing device in communication with the first block storage array, and wherein the first client executes a first data agent that is associated with the source volume; wherein the replicating comprises; generating and storing a first snapshot of the entire source volume by the first block storage array, after the first snapshot, detecting by the first data agent changed blocks being written to the source volume by the first client computing device, after the first snapshot, generating and storing a second snapshot of the entire source volume by the first block storage array, after the second snapshot, transmitting, by the first data agent to the volume-replicating server, a mapping of blocks that changed between the first snapshot and the second snapshot, extracting, by the volume-replicating server from the second snapshot at the first block storage array, only the blocks that changed according to the mapping received from the first data agent, and substituting, by the volume-replicating server, the extracted blocks that changed into the destination volume at the second block storage array, thereby replicating the second snapshot at the second block storage array; and block-level restoring the replicated second snapshot to a second client computing device in communication with the destination volume, wherein a second data agent executing on the second client computing device performs at least in part the block-level restoring, thereby enabling a second application that executes on the second client computing device to access the restored second snapshot as primary data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An information management system comprising:
-
a volume-replicating server in communication with a first block storage array and a second block storage array; a first computing device in communication with the volume-replicating server and with the first block storage array; the first block storage array, comprising a source volume comprising primary data generated by a first application on the first computing device, wherein the source volume is configured as a first logical unit number mounted to the first computing device; a first data agent hosted by the first computing device, wherein the first data agent is configured to; detect changed blocks being written by the first application to the source volume, generate a mapping of blocks that changed between a first snapshot of the source volume taken by the first block storage array and a subsequent second snapshot of the source volume taken by the first block storage array, and transmit the mapping to the volume-replicating server; wherein the volume-replicating server is configured to; extract from the second snapshot only the blocks that changed according to the mapping received from the first data agent, transfer the extracted blocks that changed to a destination volume in the second block storage array, and substitute the extracted blocks that changed into the destination volume in place of corresponding pre-existing blocks therein, thereby creating a volume-level replica of the second snapshot at the destination volume; and wherein the information management system further comprises a second computing device hosting a second application and a second data agent, and wherein the second application is configured to, after a block-level restore operation of the second snapshot at the destination volume, access the restored second snapshot as primary data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification