Load balancing combining block and file storage
AssigneeEMC IP Holding Company LLC
InventorsShaul Dar, Amitai Alkalay
Life of this patent
Estimating the term…
Abstract
A technique for performing load balancing between storage nodes includes generating a first performance metric for volumes accessed through a first storage node and generating a second performance metric for volumes accessed through a second storage node. The volumes accessed through the first storage node include a set of volumes that belong to a NAS (network-attached storage) file server hosted by the first storage node. In response to detecting a load imbalance based on the first performance metric and the second performance metric, the technique further includes moving the NAS file server from the first storage node to the second storage node and hosting the set of volumes that belong to the NAS file server from the second storage node.
Claims20
A method of load balancing in a data storage system, comprising:
- performing, by a first storage node of the storage system and a second storage node of the storage system, I/O operations on behalf of clients, the first storage node and the second storage node each having respective control circuitry that includes a set of processing units coupled to memory;
- generating performance metrics that include (i) a first performance metric for a first plurality of volumes hosted by the first storage node of the data storage system and (ii) a second performance metric for a second plurality of volumes hosted by the second storage node of the data storage system, the first plurality of volumes including a third plurality of volumes that is part of a NAS file server running on the first storage node;
- detecting, based on the first performance metric and the second performance metric, a load imbalance between the first storage node and the second storage node;
- and
- in response to detecting the load imbalance, (1) moving the NAS file server from the first storage node to the second storage node, including (a) disabling the NAS file server running on the first storage node and (b) instantiating the NAS file server on the second storage node, and (2) hosting the third plurality of volumes from the second storage node,
- wherein the first performance metric and the second performance metric are generated based on respective sums of per-volume metrics for individual volumes in the first plurality of volumes and the second plurality of volumes, wherein the first performance metric is based at least in part on the third plurality of volumes that is host-accessible via the NAS file server using a file-based protocol, and wherein the second performance metric is based at least in part on a volume that is host-accessible using a block-based protocol, the method thereby providing a common mechanism based on the per-volume metrics for load balancing data accessed using both block-based and file-based protocols.
A computerized apparatus, comprising a first storage node and a second storage node coupled to shared persistent storage, each storage node having respective control circuitry that includes a set of processing units coupled to memory, the control circuitry of the first storage node and the second storage node constructed and arranged to:
- perform, by the first storage node and the second storage node, I/O operations on behalf of clients;
- generate performance metrics that include (i) a first performance metric for a first plurality of volumes hosted by the first storage node and (ii) a second performance metric for a second plurality of volumes hosted by the second storage node, the first plurality of volumes including a third plurality of volumes that is part of a NAS file server running on the first storage node;
- detect, based on the first performance metric and the second performance metric, a load imbalance between the first storage node and the second storage node;
- and
- in response to detection of the load imbalance, (1) move the NAS file server from the first storage node to the second storage node, including (a) disabling the NAS file server running on the first storage node and (b) instantiating the NAS file server on the second storage node, and (2) host the third plurality of volumes from the second storage node,
- wherein the first performance metric and the second performance metric are generated based on respective sums of per-volume metrics for individual volumes in the first plurality of volumes and the second plurality of volumes, wherein the first performance metric is based at least in part on the third plurality of volumes that is host-accessible via the NAS file server using a file-based protocol, and wherein the second performance metric is based at least in part on a volume that is host-accessible using a block-based protocol, the control circuitry thereby constructed and arranged to provide a common mechanism for load balancing based on the per-volume metrics data accessed using both block-based and file-based protocols.
A computer program product including a set of non-transitory, computer-readable media having instructions which, when executed by control circuitry of a computerized apparatus, cause the computerized apparatus to perform a method of load balancing, the method comprising:
- performing, by a first storage node of the storage system and a second storage node of the storage system, I/O operations on behalf of clients, the first storage node and the second storage node each having respective control circuitry that includes a set of processing units coupled to memory;
- generating performance metrics that include (i) a first performance metric for a first plurality of volumes hosted by the first storage node of a data storage system and (ii) a second performance metric for the second plurality of volumes hosted by a second storage node of the data storage system, the first plurality of volumes including a third plurality of volumes that is part of a NAS file server running on the first storage node;
- detecting, based on the first performance metric and the second performance metric, a load imbalance between the first storage node and the second storage node;
- and
- in response to detecting the load imbalance, (1) moving the NAS file server from the first storage node to the second storage node, including (a) disabling the NAS file server running on the first storage node and (b) instantiating the NAS file server on the second storage node, and (2) hosting the third plurality of volumes from the second storage node,
- wherein the first performance metric and the second performance metric are generated based on respective sums of per-volume metrics for individual volumes in the first plurality of volumes and the second plurality of volumes, wherein the first performance metric is based at least in part on the third plurality of volumes that is host-accessible via the NAS file server using a file-based protocol, and wherein the second performance metric is based at least in part on a volume that is host-accessible using a block-based protocol, the method thereby providing a common mechanism based on the per-volume metrics for load balancing data accessed using both block-based and file-based protocols.
Dependencies are inferred from the claim text.