Data rebalancing after adding new nodes

When the number of nodes at a site is expanded due to the addition of new racks or storage nodes, new erasure coded chunks are allocated to the new storage and existing data chunks are redistributed (rebalanced) across the new nodes. Four or more nodes must exist for erasure coding of chunks to take place. Addition of new nodes over and above the required four nodes results in erasure coding rebalancing.

The redistribution of erasure coded fragments is performed as a background task so that the chunk data is accessible during the redistribution process. In addition, the new fragment data is distributed as a low priority to minimize network bandwidth consumption.

Fragments are redistributed according to the same erasure coding scheme with which they were originally encoded. If a chunk was written using the cold storage erasure coding scheme, ECS uses the cold storage scheme when creating the new fragments for redistribution.