Efficient volume replication in a storage system
First Claim
1. A method comprising:
- receiving a request to replicate a volume at a source solid-state storage array to a target solid-state storage array, the volume corresponding to a plurality of snapshots associated with data blocks that are stored at the source solid-state storage array;
identifying a most recent snapshot of the plurality of snapshots corresponding to the volume at the source solid-state storage array that is present at the target solid-state storage array;
identifying metadata organized into a plurality of logical groups, each of the logical groups corresponding to a sequence number range and including a portion of the metadata that is associated with a portion of the data blocks of the volume, wherein each sequence number range comprises a plurality of sequence numbers that are assigned to each operation associated with the source solid-state storage array;
determining a last sequence number associated with the most recent snapshot of the plurality of snapshots that is present at the target solid-state storage array;
identifying, by a processing device, a logical group of the plurality of logical groups with a corresponding sequence number range that includes the last sequence number associated with the most recent snapshot; and
reading the metadata to identify a portion of the data blocks to transmit to the target solid-state storage array to replicate the volume based on a next logical group of the plurality of logical groups with a corresponding sequence number range with higher sequence numbers than the identified logical group.
1 Assignment
0 Petitions
Accused Products
Abstract
An indication to replicate, for a second storage resource, a volume that is stored at a first storage resource may be received. A snapshot of the volume that is stored at the second storage resource may be identified. Data with operations to data blocks of the volume may be identified. A sequence number range, containing one or more sequence numbers, associated with the snapshot of the volume that is stored at the second resource may be received. Furthermore, a portion of the data associated with the operations to the data blocks of the volume based on the sequence number range that is associated with the snapshot of the volume that is stored at the second resource may be received to replicate the volume at the second storage resource.
-
Citations
18 Claims
-
1. A method comprising:
-
receiving a request to replicate a volume at a source solid-state storage array to a target solid-state storage array, the volume corresponding to a plurality of snapshots associated with data blocks that are stored at the source solid-state storage array; identifying a most recent snapshot of the plurality of snapshots corresponding to the volume at the source solid-state storage array that is present at the target solid-state storage array; identifying metadata organized into a plurality of logical groups, each of the logical groups corresponding to a sequence number range and including a portion of the metadata that is associated with a portion of the data blocks of the volume, wherein each sequence number range comprises a plurality of sequence numbers that are assigned to each operation associated with the source solid-state storage array; determining a last sequence number associated with the most recent snapshot of the plurality of snapshots that is present at the target solid-state storage array; identifying, by a processing device, a logical group of the plurality of logical groups with a corresponding sequence number range that includes the last sequence number associated with the most recent snapshot; and reading the metadata to identify a portion of the data blocks to transmit to the target solid-state storage array to replicate the volume based on a next logical group of the plurality of logical groups with a corresponding sequence number range with higher sequence numbers than the identified logical group. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a memory; and a processing device, operatively coupled with the memory, to; receive an indication to replicate, for a second storage resource, a volume that is stored at a first storage resource; identify a snapshot of the volume that is stored at the second storage resource; identify data associated with operations to data blocks of the volume; receive a sequence number associated with the snapshot of the volume that is stored at the second resource; and read a portion of the data associated with the operations to the data blocks of the volume based on the sequence number that is associated with the snapshot of the volume that is stored at the second resource to replicate the volume at the second storage resource, wherein the sequence number is associated with a plurality of sequence numbers, each sequence number being assigned to each of the operations to the data blocks of the volume or each operation associated with the first storage resource. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device to:
-
receive an indication to replicate, for a second storage resource, a volume that is stored at a first storage resource; identify a snapshot of the volume that is stored at the second storage resource; identify data associated with operations to data blocks of the volume; receive a sequence number associated with the snapshot of the volume that is stored at the second resource; and read, by the processing device, a portion of the data associated with the operations to the data blocks of the volume based on the sequence number that is associated with the snapshot of the volume that is stored at the second resource to replicate the volume at the second storage resource, wherein the sequence number is associated with a plurality of sequence numbers, each sequence number being assigned to each of the operations to the data blocks of the volume or each operation associated with the first storage resource. - View Dependent Claims (15, 16, 17, 18)
-
Specification