Distributed data migration using chunking
First Claim
1. A computer-implemented method, comprising:
- accessing data stored on a first data storage system;
determining a factor corresponding to a number of migration processes to be employed for copying the data from a second data storage system to a third data storage system;
iteratively dividing the data into data chunks, according to the factor, until a size of the data chunks is included in a size range from a minimum size to a maximum size, wherein;
the minimum size is determined to optimize input/output operations on the second data storage system; and
the maximum size is determined to prevent timeouts of read operations on the second data storage system;
storing the data chunks on the second data storage system; and
employing the migration processes executing in parallel to copy the data chunks from the second data storage system to the third data storage system.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for migrating data from source storage to destination storage using a chunking technique. The data to be migrated may be divided into a number of chunks according to a factor that is the number of migration modules to be employed in migrating the data. The chunks may be stored on intermediate storage and migrated from the intermediate storage to the destination storage by the migration modules executing in parallel. Because the number of chunks is based on a factor that is the number of migration modules, the utilization of the migration modules may be substantially equivalent during the migration process. The chunks are generated with a size to optimize input/output operations and prevent timeouts during read operations.
16 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
accessing data stored on a first data storage system; determining a factor corresponding to a number of migration processes to be employed for copying the data from a second data storage system to a third data storage system; iteratively dividing the data into data chunks, according to the factor, until a size of the data chunks is included in a size range from a minimum size to a maximum size, wherein; the minimum size is determined to optimize input/output operations on the second data storage system; and the maximum size is determined to prevent timeouts of read operations on the second data storage system; storing the data chunks on the second data storage system; and employing the migration processes executing in parallel to copy the data chunks from the second data storage system to the third data storage system. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
at least one computing device configured to implement one or more services, the one or more services configured to; determine a factor corresponding to a number of migration modules to be employed for copying data chunks from an intermediate data storage system to a destination data storage system; access data stored on a source data storage system; divide the data into the data chunks, wherein a number of the data chunks is a multiple of the factor, and wherein a size of the data chunks is not greater than a maximum size; store the data chunks on the intermediate data storage system; and employ at least a portion of the migration modules in parallel to copy the data chunks from the intermediate data storage system to the destination data storage system. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
15. One or more computer-readable media storing instructions which, when executed by at least one processor, instruct the at least one processor to:
-
determine a factor corresponding to a number of migration modules to be employed for copying data chunks from an intermediate data storage system to a destination data storage system; access data to be stored on the destination data storage system; generate the data chunks by iteratively dividing the data, according to the factor, until a size of the data chunks is not greater than a maximum size; store the data chunks on the intermediate data storage system; and employ at least a portion of the migration modules in parallel to copy the data chunks from the intermediate data storage system to the destination data storage system. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification