Hypervisor Volume Group Load Balancing in Clustered Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Load balancing in clustered virtualization environments is challenging due to the difficulty in configuring and managing storage controllers, especially in scale-out systems where nodes can be added or removed dynamically, leading to uneven resource utilization and performance degradation.

Innovation Solution

Implementing a method for hypervisor-attached volume group load balancing by partitioning virtual disks into shards and assigning them to storage controllers based on load distribution, using iSCSI connections to redirect requests and reassign shards as needed to maintain balanced resource usage across nodes, even as the cluster configuration changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If client-side software is used for load balancing, then resource usage can be optimized, but configuration and management of storage controllers becomes difficult in scale-out systems

Engineering Contradiction:
Improveresource usage optimizationVSAvoidconfiguration and management of storage controllers
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces a load balancer as an intermediary component that sits between clients and storage controllers. This load balancer handles the complex configuration and routing decisions, while clients simply connect to the load balancer. The load balancer maintains mapping information between clients and storage controllers, automating the configuration process and making scale-out systems manageable without requiring manual configuration of each storage controller.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If storage controllers are manually configured in scale-out systems, then load balancing can be implemented, but the system becomes difficult to manage when nodes are added or removed

Engineering Contradiction:
Improveload balancing capabilityVSAvoiddynamic node addition and removal
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic load balancing where the load balancer automatically adapts to changes in the system configuration. When nodes are added or removed, the load balancer dynamically updates its internal mappings and redistributes loads without requiring manual reconfiguration. This dynamic approach allows the system to seamlessly handle scale-out operations while maintaining load balancing efficiency.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If load balancing is implemented without automatic redistribution, then configuration is simpler, but uneven resource utilization and performance degradation occur

Engineering Contradiction:
Improveconfiguration simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism where the load balancer continuously monitors the status and performance of storage controllers. Based on this feedback information, the load balancer automatically makes intelligent routing decisions to distribute loads evenly across available resources. This feedback-driven approach ensures optimal resource utilization while maintaining configuration simplicity, as the system self-adjusts based on real-time conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11068315B2Hypervisor attached volume group load balancing
Publication Date: 2021.07.20 NUTANIX INC
  • US11068315B2 patent drawing
  • US11068315B2 patent drawing
  • US11068315B2 patent drawing

AI summary

Communication between VMs running in a clustered virtualization environment and a distributed storage system is managed. The distributed storage system consists of multiple storage/compute nodes. A hypervisor communicates with a controller in a local node on behalf of a VM. The controller will redirect a connection to a second controller on different node. The controller to which the connection is redirected is selected so as to distribute the load evenly across the cluster.