Hypervisor Emulation of SCSI-3 Persistent Reservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional SCSI-3 persistent reservation approaches are not applicable in shared virtual storage environments, where multiple virtual disks are stored on a single shared physical storage system, leading to issues with shared access and potential data corruption due to simultaneous write operations by multiple nodes.
Innovation Solution
Emulation of SCSI-3 persistent reservation commands is performed by the hypervisor in a shared virtual storage environment, using PR information to arbitrate ownership of virtual disks among nodes, ensuring cooperative access and updating reservation information through PROUT commands, and implementing I/O fencing to prevent data corruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional SCSI-3 persistent reservation approaches are used, then disk reservation persistence across failures is achieved, but shared access to virtual disks by multiple nodes is not enabled
Solution Approach 1:
The patent introduces a virtualization layer (hypervisor) as an intermediary between multiple nodes and the physical storage system. This intermediary manages persistent reservations by translating SCSI-3 PGR commands from multiple initiators into coordinated operations, enabling shared access while maintaining data integrity through centralized control of reservation states.
Solution Approach 2:
The patent segments the storage access control by separating the reservation management function from the physical storage hardware and placing it in the virtualization layer. This segmentation allows multiple nodes to access virtual disks independently while the hypervisor segments and coordinates the reservation states, enabling both shared access and data protection.
2Productivity
If multiple nodes access the same virtual disk simultaneously, then shared access efficiency is improved, but data corruption risk increases
Solution Approach 1:
The patent implements feedback mechanisms where the hypervisor continuously monitors reservation states and node access patterns. When a node attempts to access a virtual disk, the system provides feedback about the current reservation state, and updates are propagated back to all relevant nodes, ensuring coordinated access that maintains both efficiency and data integrity.
Solution Approach 2:
The patent applies preliminary action by establishing persistent reservations before multiple nodes access the virtual disk. The hypervisor pre-coordinates reservation states among all intended accessors, setting up the access framework in advance to prevent data corruption during simultaneous operations while maintaining efficient shared access.
3Reliability
If SCSI-3 PGR commands are implemented natively in storage hardware, then reservation persistence is achieved, but compatibility with virtualized storage environments is reduced
Solution Approach 1:
The hypervisor serves as an intermediary that translates SCSI-3 PGR commands from virtual machine initiators into coordinated storage operations. It maintains persistent reservation states in the virtualization layer, allowing the storage hardware to remain agnostic of virtualization while still providing persistence guarantees through the intermediary's management of reservation coordination.
Solution Approach 2:
The patent makes the virtualization layer universal by implementing persistent reservation management that works across multiple initiators and virtual disks. The hypervisor's reservation management system becomes a multi-functional component that handles both traditional single- initiator reservations and new shared virtual storage scenarios, enhancing adaptability while maintaining reliability.
Data Source
AI summary
Example methods are provided to perform persistent reservation emulation in a shared virtual storage environment that includes a first host supporting a first node and a second host supporting a second node. One example method may comprise detecting a command issued by a first node to command issued by a first node to update information relating to a reservation or registration associated with a virtual disk, and updating persistent reservation information associated with the virtual disk to indicate that the command has been issued by the first node. The method may also comprise determining that the second node either has acknowledged the updated persistent reservation information, or has not acknowledged the updated persistent reservation information within a time interval. The method may further comprise updating the persistent reservation information based on the command.


