An apparatus for storing data in a fault tolerant format among a plurality of storage devices comprising: a memory storing processor-executable process steps; one or more processors to execute the processor-executable process steps to cause the apparatus to: determine a plurality of meta-copysets (202, 204, 206, 208) of a plurality of storage devices, each of the meta-copysets including a first set of a first number of storage devices; determine a first copyset including a second number of storage devices from a first one of the plurality of meta-copysets, where the second number is smaller than the first number; store first data in a fault-tolerant format using the first copyset; determine to migrate the first data from a first storage device of the first copyset; and in response to the determination to migrate the first data: determine a second copyset of the second number of storage devices including a second storage device selected from the first one of the plurality of meta-copysets which is not in the first copyset, and the storage devices of the first copyset except for the first storage device of the first copyset; and store the first data in a fault-tolerant format using the second copyset. a memory storing processor-executable process steps; one or more processors to execute the processor-executable process steps to cause the apparatus to: determine a plurality of meta-copysets (202, 204, 206, 208) of a plurality of storage devices, each of the meta-copysets including a first set of a first number of storage devices; determine a first copyset including a second number of storage devices from a first one of the plurality of meta-copysets, where the second number is smaller than the first number; store first data in a fault-tolerant format using the first copyset; determine to migrate the first data from a first storage device of the first copyset; and in response to the determination to migrate the first data: determine a second copyset of the second number of storage devices including a second storage device selected from the first one of the plurality of meta-copysets which is not in the first copyset, and the storage devices of the first copyset except for the first storage device of the first copyset; and store the first data in a fault-tolerant format using the second copyset. determine a plurality of meta-copysets (202, 204, 206, 208) of a plurality of storage devices, each of the meta-copysets including a first set of a first number of storage devices; determine a first copyset including a second number of storage devices from a first one of the plurality of meta-copysets, where the second number is smaller than the first number; store first data in a fault-tolerant format using the first copyset; determine to migrate the first data from a first storage device of the first copyset; and in response to the determination to migrate the first data: determine a second copyset of the second number of storage devices including a second storage device selected from the first one of the plurality of meta-copysets which is not in the first copyset, and the storage devices of the first copyset except for the first storage device of the first copyset; and store the first data in a fault-tolerant format using the second copyset. determine a second copyset of the second number of storage devices including a second storage device selected from the first one of the plurality of meta-copysets which is not in the first copyset, and the storage devices of the first copyset except for the first storage device of the first copyset; and store the first data in a fault-tolerant format using the second copyset.