VDI Storage Overcommit and Rebalancing via Weighted Datastore Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Virtual Desktop Infrastructure (VDI), managing physical storage space efficiently is a challenge due to the growth of virtual disks over time, which can lead to storage space issues, especially with traditional cloning methods that create full copies of master virtual disk images.

Innovation Solution

The system calculates a weight for each datastore based on its virtual capacity and the sum of maximum virtual disk image file sizes, selecting the target datastore with the highest weight for VM placement or creation, and uses thin disk provisioning to minimize initial storage requirements, allowing for overcommitment of storage resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional cloning methods create full copies of master virtual disk image files, then each virtual machine has complete independence and reliability, but storage space is rapidly consumed and management becomes difficult

Engineering Contradiction:
Improvevirtual machine independenceVSAvoidstorage space consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Multiple virtual machines share a common base image file on the datastore, merging the redundant OS and application data into a single physical file. Each VM gets its own unique identifier and configuration, maintaining independence while sharing the common infrastructure to reduce storage consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The virtual disk is segmented into a shared base image portion and a unique VM-specific portion. The base image contains common OS and application data that is identical across VMs, while the VM-specific portion contains only unique data such as user profiles and configuration files.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If virtual disks are allowed to grow over time with growth buffers, then virtual machines can accommodate user data and application growth, but storage management becomes complex and space allocation becomes inefficient

Engineering Contradiction:
Improvevirtual disk growth capabilityVSAvoidstorage management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system dynamically allocates storage space to virtual disks based on actual usage needs rather than pre-allocating fixed sizes. Virtual disks can grow and shrink automatically as data is added or removed, with the underlying physical storage being efficiently managed through dynamic provisioning and thin provisioning technologies.

Inventive Principle:
Principle #15Dynamics

3Productivity

If overcommitment is applied to allow more virtual machines on the same datastore, then storage resource utilization improves and flexibility increases, but storage space availability may be compromised

Engineering Contradiction:
Improvestorage resource utilizationVSAvoidstorage space availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system applies partial overcommitment by allowing the sum of virtual disk sizes to exceed physical storage capacity by a controlled margin. This is achieved through shared base images where the excess capacity is offset by the redundant storage of common data across multiple VMs, maintaining reliability while improving resource utilization.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8307187B2VDI Storage overcommit and rebalancing
Publication Date: 2012.11.06 OMNISSA LLC
  • US8307187B2 patent drawing
  • US8307187B2 patent drawing
  • US8307187B2 patent drawing

AI summary

A method for managing storage for a desktop pool is described. The desktop pool includes a plurality of virtual machines (VMs), each VM having at least one virtual disk represented as a virtual disk image file on one of a plurality of datastores associated with the desktop pool. To identify a target datastore for a VM, a weight of each datastore is calculated. The weight may be a function of a virtual capacity of the datastore and the sum of maximum sizes of all the virtual disk image files on the datastore. The virtual capacity is a product of the data storage capacity of the datastore and an overcommit factor assigned to the datastore. The target datastore is selected as the datastore having the highest weight. The VM may is moved to or created on the target datastore.