| CPC G06F 9/5083 (2013.01) [G06F 3/0613 (2013.01); G06F 3/0635 (2013.01); G06F 3/0647 (2013.01); G06F 3/067 (2013.01); G06F 9/5016 (2013.01); G06F 2209/5022 (2013.01); G06F 2209/508 (2013.01)] | 20 Claims |

|
1. An apparatus comprising:
at least one processing device comprising a processor coupled to a memory;
the at least one processing device being configured to perform steps of:
determining a first workload level for a first storage processor and a second workload level for a second storage processor, each of the first storage processor and the second storage processor running a set of network attached storage servers, each of the network attached storage servers being associated with one or more filesystems;
identifying whether at least one of the first workload level for the first storage processor exceeds a first threshold workload level and the second workload level for the second storage processor exceeds a second threshold workload level, wherein the first threshold workload level is different than the second threshold workload level;
identifying a performance imbalance rate between the first storage processor and the second storage processor; and
performing workload balancing for the first storage processor and the second storage processor responsive to (i) the performance imbalance rate exceeding a designated imbalance rate threshold and (ii) at least one of the first workload level for the first storage processor exceeds the first threshold workload level and the second workload level for the second storage processor exceeds the second threshold workload level;
wherein performing the workload balancing comprises migrating one or more network attached storage servers between the first storage processor and the second storage processor by:
(i) selecting one of the first storage processor and the second storage processor as a source storage processor and the other one of the first storage processor and the second storage processor as a destination storage processor;
(ii) for each of the set of network attached storage servers running on the source storage processor, calculating a sum of workloads for the one or more filesystems of that network attached storage server;
(iii) selecting, from among the set of network attached storage servers running on the source storage processor based at least in part on the calculated sums of workloads, one of the set of network attached storage servers as a target network attached storage server;
(iv) pausing replication sessions on the target network attached storage server and any filesystems associated with the target network attached storage server;
(v) changing a storage processor owner of the target network attached storage server from the source storage processor to the destination storage processor;
(vi) re-calculating the sums of workloads for the network attached storage servers running on the source storage processor and the destination storage processor; and
(vii) responsive to determining that the re-calculated sum of workloads for the set of network attached storage servers running on the source storage processor is greater than the re-calculated sum of workloads for the set of network attached storage servers running on the destination storage processor, selecting another target network attached storage server from among the set of network attached storage servers running on the source storage processor based at least in part on the re-calculated sums of workloads and repeating (v)-(vi) until a most recent re-calculated sum of workloads for the set of network attached storage servers running on the source storage processor is less than a most recent re-calculated sum of workloads for the set of network attached storage servers running on the destination storage processor.
|