Distributed HA State Management for VMs in Object Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing high availability (HA) implementations face challenges when integrated with distributed object-based storage systems like HC/OB storage, as they lack a convenient location to store HA protection state information shared across VMs, leading to issues with VM failover and restart workflows, especially during network partitions.
Innovation Solution
The HA protection state is persisted on a per-VM basis within the logical storage pool of the distributed object-based storage system, with modifications to the failover/restart workflow to account for potential VM inaccessibility, and enhancements for specific network partition scenarios to ensure seamless operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If HA protection state is stored in a centralized location accessible by all hosts, then ease of management is improved, but during network partitions, accessibility of the protection state cannot be guaranteed
Solution Approach 1:
The patent segments the centralized HA protection state storage into distributed per-VM storage locations. Each VM's protection state is stored individually in the object-based storage system, allowing hosts to access only the protection states of VMs they can reach during network partitions, thus maintaining reliability while simplifying management through standardized storage operations.
2Reliability
If HA protection state is stored on a per-VM basis in distributed storage, then accessibility during network partitions is improved, but complexity of storage management increases
Solution Approach 1:
The patent makes the object-based storage system and VSAN layer universal by using them for both VM data storage and HA protection state storage. This multi-functional approach eliminates the need for separate centralized storage infrastructure, managing complexity through existing distributed storage mechanisms rather than adding new specialized systems.
Solution Approach 2:
Each host independently accesses and manages the HA protection state for VMs it can reach during network partitions. The system enables self-service by allowing hosts to autonomously retrieve protection states from distributed storage without requiring centralized coordination, thus improving accessibility while keeping management straightforward through standardized storage operations.
3Ease of operation
If the system checks accessibility of the entire storage container, then ease of operation is improved, but measurement precision of individual VM accessibility deteriorates
Solution Approach 1:
The patent segments the storage accessibility check from the container level to the individual VM level. Instead of checking if the entire storage container is accessible, the system checks accessibility of each VM's protection state independently in the object-based storage system, providing precise VM-level accessibility detection while maintaining ease of operation through standardized storage access operations.
Data Source
AI summary
Techniques are disclosed for maintaining high availability (HA) for virtual machines (VMs) running on host systems of a host cluster, where each host system executes a HA module in a plurality of HA modules and a storage module in a plurality of storage modules, where the host cluster aggregates, via the plurality of storage modules, locally-attached storage resources of the host systems to provide an object store, where persistent data for the VMs is stored as per-VM storage objects across the locally-attached storage resources comprising the object store, and where a failure causes the plurality of storage modules to observe a network partition in the host cluster that the plurality of HA modules do not. In one embodiment, a host system in the host cluster executing a first HA module invokes an API exposed by the plurality of storage modules for persisting metadata for a VM to the object store. If the API is not processed successfully, the host system: (1) identifies a subset of second HA modules in the plurality of HA modules; (2) issues an accessibility query for the VM to the subset of second HA modules in parallel, the accessibility query being configured to determine whether the VM is accessible to the respective host systems of the subset of second HA modules; and (3) if at least one second HA module in the subset indicates that the VM is accessible to its respective host system, transmits a command to the at least one second HA module to invoke the API on its respective host system.


