Emulating Shared Storage via Path Plugins
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for managing storage devices in virtual machines (VMs) face challenges during migration, particularly with local storage devices, as they are not easily accessible after VMs are moved to new nodes, leading to delays and incompatibility issues with hypervisors, and the use of shared network storage is costly and defeats the purpose of using local storage for reduced access times.
Innovation Solution
The implementation of path plugins to intercept storage unit ID requests, allowing local storage devices to be emulated as shared storage devices, enabling seamless migration of VMs by associating the same storage unit ID across nodes and handling storage requests through custom path handlers, which can redirect requests to either the source or target node's local storage devices.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If local storage devices are used for VMs, then storage access time is reduced and cost is lowered, but storage becomes inaccessible after VM migration to new nodes
Solution Approach 1:
The patent introduces path plugins as intermediary software components that intercept and redirect storage requests. These plugins act as mediators between the VM's storage subsystem and the actual storage devices, enabling transparent redirection from source node storage to target node storage during migration without affecting the VM or requiring storage-aware virtualization layers
Solution Approach 2:
The patent creates a virtual copy of the storage device interface through path plugins. Instead of migrating actual storage devices or data, the system creates a virtual representation that maps storage unit IDs to different physical locations, allowing the VM to access storage seamlessly across node boundaries
2Adaptability or versatility
If shared network storage (SAN/NAS) is used, then storage accessibility during migration is improved, but system cost increases and local storage benefits are lost
Solution Approach 1:
The path plugin serves as a lightweight intermediary that eliminates the need for expensive SAN/NAS infrastructure. By running locally on the host, the path plugin handles storage redirection without requiring separate storage servers or complex network storage fabrics
Solution Approach 2:
Instead of investing in expensive, permanent shared storage infrastructure, the patent uses disposable, node-specific path plugin processes that are created temporarily for each migration event and automatically cleaned up afterward, significantly reducing system cost
3Adaptability or versatility
If VMs are migrated between nodes, then flexibility and resource management are improved, but storage access becomes restricted by hypervisor policies
Solution Approach 1:
The path plugin operates as an intermediary at the storage driver level, bypassing hypervisor storage management policies. It intercepts storage requests before they reach the hypervisor's storage subsystem, enabling migration without requiring hypervisor storage-awareness or policy changes
Solution Approach 2:
The patent replaces the mechanical/hardware-based hypervisor storage management system with a software-based path plugin approach. This substitution allows storage redirection to be handled by simple process-level software rather than complex hardware-level virtualization layers
Data Source
AI summary
A system and method of emulating a shared storage device includes determining a storage unit identifier (SUID) associated with a first local storage device in a first node of a distributed computing system, updating a first path handler to intercept storage requests including the SUID and being made on the first node and forwarding the storage requests to drivers for an emulated shared storage device, associating a second local storage device in a second node of the distributed computing system with the SUID, updating a second path handler to intercept storage requests including the SUID and being made on the second node and forwarding the storage requests to the drivers for the emulated shared storage device, and intercepting storage requests including the SUID and being made on the second node and forwarding the storage requests to the drivers for the emulated shared storage device.


