Replication systems and methods for a virtual computing environment
First Claim
1. A method for replicating virtual machine data, the method comprising:
- creating a first snapshot of one or more source virtual machine disks on a source storage device, wherein the one or more source virtual machine disks comprises a plurality of source data blocks;
detecting an out-of-sync condition between the one or more source virtual machine disks and one or more replicated virtual machine disks, the one or more replicated virtual machine disks comprising a plurality of target data blocks corresponding to the plurality of source data blocks;
following said detecting, generating a target signature for each of the plurality of target data blocks of the one or more replicated virtual machine disks, wherein each target signature is indicative of data content of a particular target data block;
storing each target signature in a target signature file;
for each of the plurality of source data blocks,generating a source signature indicative of data content of a particular source data block,comparing the source signature of the particular source data block with the target signature of the corresponding target data block, andupdating the one or more replicated virtual machine disks with a copy of the particular source data block when the source signature does not match the target signature;
creating a second snapshot of the one or more source virtual machine disks; and
committing the first snapshot to both the one or more source virtual machine disks and the one or more replicated virtual machine disks.
27 Assignments
0 Petitions
Accused Products
Abstract
Hybrid replication systems and methods for a virtual computing environment utilize snapshot rotation and differential replication. During snapshot rotation, data modifications intended for a source virtual machine disk (VMDK) are captured by a primary snapshot. Once a particular criterion is satisfied, the data modifications are redirected to a secondary snapshot while the primary snapshot is committed to both source and target VMDKs. The secondary snapshot is then promoted to primary, and a new secondary snapshot is created with writes redirected thereto. If the VMDKs become out-of-sync, disclosed systems can automatically perform a differential scan of the source data and send only the required changes to the target server. Once the two data sets are synchronized, snapshot replication can begin at the previously configured intervals. Certain systems further provide for planned failover copy operations and/or account for migration of a virtual machine during the copying of multiple VMDKs.
367 Citations
20 Claims
-
1. A method for replicating virtual machine data, the method comprising:
-
creating a first snapshot of one or more source virtual machine disks on a source storage device, wherein the one or more source virtual machine disks comprises a plurality of source data blocks; detecting an out-of-sync condition between the one or more source virtual machine disks and one or more replicated virtual machine disks, the one or more replicated virtual machine disks comprising a plurality of target data blocks corresponding to the plurality of source data blocks; following said detecting, generating a target signature for each of the plurality of target data blocks of the one or more replicated virtual machine disks, wherein each target signature is indicative of data content of a particular target data block; storing each target signature in a target signature file; for each of the plurality of source data blocks, generating a source signature indicative of data content of a particular source data block, comparing the source signature of the particular source data block with the target signature of the corresponding target data block, and updating the one or more replicated virtual machine disks with a copy of the particular source data block when the source signature does not match the target signature; creating a second snapshot of the one or more source virtual machine disks; and committing the first snapshot to both the one or more source virtual machine disks and the one or more replicated virtual machine disks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for replicating virtual machine data, the method comprising:
-
copying data from a source virtual machine disk to a target virtual machine disk by repeatedly alternating acts of (i) creating a new snapshot of the source virtual machine disk and (ii) committing a previously existing snapshot of the source virtual machine disk to both the source and target virtual machine disks until an out-of-sync condition is detected between the source and target virtual machine disks, the new snapshot capturing data modifications intended to be made to the source virtual machine disk during said committing; creating a second snapshot of the source virtual machine disk; comparing a source signature for each of a plurality of source data blocks of the source virtual machine disk with a target signature of a corresponding target data block of the target virtual machine disk; updating the target virtual machine disk with a copy of each source data block whose source signature does not match the target signature of the corresponding target data block; creating a third snapshot of the source virtual machine disk; and committing the second snapshot to both the source and target virtual machine disks, wherein the second snapshot captures data modifications intended to be made to the source virtual machine disk during said comparing and updating. - View Dependent Claims (11, 12, 13)
-
-
14. A system for replicating virtual machine data, the system comprising:
-
a source system comprising, a source virtual machine executing on a source host server, a source datastore in communication with the source virtual machine, and a source virtual machine disk stored on the source datastore and comprising data of the source virtual machine as a plurality of first data blocks; a target system comprising, a target datastore, and a target virtual machine disk stored on the target datastore and comprising data of a target virtual machine as a plurality of second data blocks; and a replication module in network communication with the source system and the target system to replicate data from the source virtual machine disk to the target virtual machine disk, wherein the replication module is further programmed to, repeat acts of instructing a creation of a new snapshot of the source virtual machine disk and instructing a commit of a previously existing snapshot to both the source and target virtual machine disks until an out-of-sync condition is detected between the source and target virtual machine disks, and following detecting of the out-of-sync condition, compare first signatures for each of the plurality of first data blocks with second signatures of corresponding ones of the plurality of second data blocks to identify unmatched data blocks between the source and target virtual machine disks, and update the target virtual machine disk with a copy of each first data block that does not match the corresponding second data block. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A system for replicating virtual machine data, the system comprising:
-
means for creating a first snapshot of one or more source virtual machine disks on a source storage device, wherein the one or more source virtual machine disks comprises a plurality of source data blocks; means for detecting an out-of-sync condition between the one or more source virtual machine disks and one or more replicated virtual machine disks, the one or more replicated virtual machine disks comprising a plurality of target data blocks corresponding to the plurality of source data blocks; means for generating a target signature for each of the plurality of target data blocks of the one or more replicated virtual machine disks, wherein each target signature is indicative of data content of the corresponding target data block, wherein said generating means is further configured to generate a source signature for each of the plurality of source data blocks; means for comparing the source signature of each source data block with the target signature of the corresponding target data block; means for updating the one or more replicated virtual machine disks with a copy of the source data block when the source signature of the source data block does not match the target signature of the corresponding target data block; and means for committing the first snapshot to both the one or more source and replicated virtual machine disks.
-
Specification