STORAGE CONTAINER DS UNIT REASSIGNMENT BASED ON DYNAMIC PARAMETERS
A dispersed storage network (DSN) includes storage units storing dispersed error-encoded data slices, and logically grouped into a container served by a computing device configured as a container controller. A method for use in such a DSN, includes obtaining by the container controller, a container status of the container, the container status including a status indicator associated with a first storage unit included in the container. The container controller determines whether the container status compares favorably to a status threshold, and in response to an unfavorable comparison, determines a data slice to be migrated from the first storage unit. The method further includes determining, at the container controller, a second storage unit to receive the data slice to be migrated, and facilitating, at the container controller, migration of the data slice to be migrated from the first storage unit to the second storage unit.
1 . A method for use in a dispersed storage network including a plurality of storage units storing dispersed error-encoded data slices, the storage units logically grouped into a container served by a computing device configured as a container controller, the method comprising:
obtaining, by the container controller, a container status of the container, the container status including a status indicator associated with a first storage unit included in the container;
determining, at the container controller, whether the container status compares favorably to a status threshold;
in response to an unfavorable comparison, determining, at the container controller, a data slice to be migrated from the first storage unit;
determining, at the container controller, a second storage unit to receive the data slice to be migrated; and
facilitating, at the container controller, migration of the data slice to be migrated from the first storage unit to the second storage unit.
2 . The method of claim 1 , wherein:
at least one of the plurality of storage units is configured as the container controller.
3 . The method of claim 1 , wherein the dispersed storage network includes a plurality of containers, each of the plurality of containers associated with a local container controller, the method further comprising:
migrating the data slice to be migrated from a first storage unit included in a first container, to a second storage unit included in a different container.
4 . The method of claim 3 , further comprising:
migrating the data slice to be migrated from the first storage unit to another storage unit included in the same container as the first storage unit.
5 . The method of claim 1 , wherein determining the second storage unit to receive the data slice to be migrated includes:
selecting a second storage unit having at least one of:
a more favorable operating temperature than the first storage unit;
a more favorable loading than the first storage unit;
a more favorable power utilization than the first storage unit;
a more favorable performance than the first storage unit; or
more available memory than the first storage unit.
6 . The method of claim 1 , wherein determining a data slice to be migrated includes:
determining whether to migrate all, or only some, data slices currently stored in the first storage unit, based on the container status.
7 . The method of claim 6 , wherein determining whether to migrate all, or only some, data slices includes:
determining to migrate all data slices stored in the first storage unit in response to an unfavorable comparison to a temperature threshold.
8 . A container controller for use in a dispersed storage network including a plurality of storage units storing dispersed error-encoded data slices, the storage units logically grouped into a container served by the container controller, the container controller comprising:
a processor;
memory coupled to the processor;
a program of instructions configured to be stored in the memory and executed by the processor, the program of instructions including:
at least one instruction to obtain a container status of the container, the container status including a status indicator associated with a first storage unit included in the container;
at least one instruction to determine whether the container status compares favorably to a status threshold;
at least one instruction to determine, in response to an unfavorable comparison, a data slice to be migrated from the first storage unit;
at least one instruction to determine a second storage unit to receive the data slice to be migrated; and
at least one instruction to facilitate migration of the data slice to be migrated from the first storage unit to the second storage unit.
9 . The container controller of claim 8 , wherein:
at least one of the plurality of storage units is configured as the container controller.
10 . The container controller of claim 8 , wherein the dispersed storage network includes a plurality of containers, each of the plurality of containers associated with a local container controller, the program of instructions including:
at least one instruction to migrate the data slice to be migrated from a first storage unit included in a first container, to a second storage unit included in a different container.
11 . The container controller of claim 10 , further comprising:
at least one instruction to migrate the data slice to be migrated from the first storage unit to another storage unit included in the same container as the first storage unit.
12 . The container controller of claim 8 , wherein the at least one instruction to determine a second storage unit to receive the data slice to be migrated includes:
at least one instruction to select a second storage unit having at least one of:
a more favorable operating temperature than the first storage unit;
a more favorable loading than the first storage unit;
a more favorable power utilization than the first storage unit;
a more favorable performance than the first storage unit; or
more available memory than the first storage unit.
13 . The container controller of claim 8 , wherein the at least one instruction to determine a data slice to be migrated from the first storage unit includes:
at least one instruction to determine whether to migrate all, or only some, data slices currently stored in the first storage unit based on the container status.
14 . The container controller of claim 13 , wherein the at least one instruction to determine whether to migrate all, or only some, data slices includes:
at least one instruction to determine to migrate all data slices stored in the first storage unit in response to an unfavorable comparison to a temperature threshold.
15 . A dispersed storage network comprising:
a plurality of storage units storing dispersed error-encoded data slices, the plurality of storage units logically grouped into a plurality of containers;
a plurality of container controllers, each of the plurality of container controllers coupled to a particular containers, at least one of the plurality of container controllers including a processor and associated memory configured to:
obtain a container status of the container, the container status including a status indicator associated with a first storage unit included in the container;
determine whether the container status compares favorably to a status threshold;
in response to an unfavorable comparison, determine a data slice to be migrated from the first storage unit;
determine a second storage unit to receive the data slice to be migrated; and
facilitate migration of the data slice to be migrated from the first storage unit to the second storage unit.
16 . The dispersed storage network of claim 15 , wherein:
at least one of the plurality of storage units includes a container controller.
17 . The dispersed storage network of claim 15 , wherein the at least one of the plurality of container controllers is further configured to:
migrate the data slice to be migrated from a first storage unit included in a first container, to a second storage unit included in a different container.
18 . The dispersed storage network of claim 17 , wherein the at least one of the plurality of container controllers is further configured to:
migrate the data slice to be migrated from the first storage unit to another storage unit included in the same container as the first storage unit.
19 . The dispersed storage network of claim 15 , wherein the at least one of the plurality of container controllers is further configured to:
determining the second storage unit to receive the data slice to be migrated by selecting a second storage unit having at least one of:
a more favorable operating temperature than the first storage unit;
a more favorable loading than the first storage unit;
a more favorable power utilization than the first storage unit;
a more favorable performance than the first storage unit; or
more available memory than the first storage unit.
20 . The dispersed storage network of claim 15 , wherein the at least one of the plurality of container controllers is further configured to:
determine whether to migrate all, or only some, data slices currently stored in the first storage unit based on the container status.