Dynamic volume replication factor adjustment
AssigneePortworx, Inc.
InventorGanesh Sangle
Life of this patent
Estimating the term…
Abstract
A virtual storage volume that includes storage space on potentially many different physical disks may be mounted at a compute node. In order to replicate the virtual storage volume to a target compute node, a sequence of snapshots may be created that capture the state of the virtual storage volume at a sequence of points in time. The data associated with these snapshots may be transferred to the target compute node. When the difference between the snapshots is sufficiently small, the target virtual storage volume may be resynchronized.
Claims20
A method comprising:
- creating a plurality of snapshots of a source virtual storage volume, the source virtual storage volume mounted at a first compute node, each of the snapshots identifying a respective plurality of data blocks included in the source virtual storage volume;
- for each of the snapshots, transferring at least a portion of the respective plurality of data blocks for each of the snapshots to a target virtual storage volume at a second compute node, the transferring comprising transferring, in parallel from a plurality of previously created virtual storage volumes mounted at a plurality of compute nodes different than the first and second compute nodes, chunks representative of a plurality of data blocks identified by a particular snapshot included in the plurality of snapshots;
- and
- after the data blocks are transferred, resynchronizing the target virtual storage volume with the source virtual storage volume, the resynchronizing comprising transmitting, from the source virtual storage volume to the target virtual storage volume, one or more data write requests received at the source virtual storage volume after a creation of a last one of the plurality of snapshots, the last one of the plurality of snapshots being associated with a point in time later than all other snapshots of the plurality of snapshots.
One or more non-transitory machine-readable media having instructions stored thereon for performing a method, the method comprising:
- creating a plurality of snapshots of a source virtual storage volume, the source virtual storage volume mounted at a first compute node, each of the snapshots identifying a respective plurality of data blocks included in the source virtual storage volume;
- for each of the snapshots, transferring at least a portion of the respective plurality of data blocks for each of the snapshots to a target virtual storage volume at a second compute node, the transferring comprising transferring, in parallel from a plurality of previously created virtual storage volumes mounted at a plurality of compute nodes different than the first and second compute nodes, chunks representative of a plurality of data blocks identified by a particular snapshot included in the plurality of snapshots;
- and
- after the data blocks are transferred, resynchronizing the target virtual storage volume with the source virtual storage volume, the resynchronizing comprising transmitting, from the source virtual storage volume to the target virtual storage volume, one or more data write requests received at the source virtual storage volume after a creation of a last one of the plurality of snapshots, the last one of the plurality of snapshots being associated with a point in time later than all other snapshots of the plurality of snapshots.
A system comprising:
- a first compute node configured to:
- create a plurality of snapshots of a source virtual storage volume, each of the snapshots identifying a respective plurality of data blocks included in the source virtual storage volume;
- and
- transmit at least a portion of the respective plurality of data blocks for each of the snapshots, the transmitting comprising transmitting, in parallel from a plurality of previously created virtual storage volumes mounted at a plurality of compute nodes different than the first compute node and a second compute node, chunks representative of a plurality of data blocks identified by a particular snapshot included in the plurality of snapshots;
- wherein the second compute node is configured to
- receive the at least the portion of the respective plurality of data blocks at a target virtual storage volume;
- and
- the first compute node configured to resynchronize the target virtual storage volume with the source virtual storage volume after the data blocks are transferred by transmitting, from the source virtual storage volume to the target virtual storage volume, one or more data write requests received at the source virtual storage volume after a creation of a last one of the plurality of snapshots, the last one of the plurality of snapshots being associated with a point in time later than all other snapshots of the plurality of snapshots.
Dependencies are inferred from the claim text.