Virtual Machine High Availability via Node Resource Reservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualization environments, node failures can disrupt the operation of virtual machines by rendering them non-operational until the failed node recovers, leading to inefficiencies and resource wastage, as virtual machines are solely dependent on the resources of the underlying node.
Innovation Solution
A scheduling module is implemented to reserve resources on other nodes within the virtualization environment, identifying candidate nodes based on qualifier functions and ranking them using priority functions to ensure high availability, allowing virtual machines to operate on reserved resources during node failures, thereby minimizing disruptions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtual machines are solely dependent on the resources of the underlying node, then device complexity is reduced, but reliability deteriorates during node failures
Solution Approach 1:
The scheduling module performs preliminary actions by identifying and reserving candidate nodes before failures occur. When a node fails, pre-identified candidate nodes are immediately activated to host the failed virtual machines, eliminating the need for complex real-time decision-making during failure events.
Solution Approach 2:
The scheduling module acts as an intermediary between virtual machines and physical nodes. It manages the complexity of node-failure responses by handling candidate node identification, resource reservation, and failover coordination, isolating the complexity from both the virtual machines and the underlying infrastructure.
2Reliability
If resources are reserved on multiple candidate nodes, then reliability improves during node failures, but device complexity increases
Solution Approach 1:
The scheduling module performs preliminary actions by identifying and reserving candidate nodes before failures occur. When a node fails, pre-identified candidate nodes are immediately activated to host the failed virtual machines, eliminating the need for complex real-time decision-making during failure events.
Solution Approach 2:
The system dynamically changes parameters such as the high availability threshold and adjusts the number of candidate nodes based on system conditions. This allows the scheduling module to balance reliability requirements with operational complexity by adapting its behavior to current system state.
3Reliability
If virtual machines can operate during node failures, then reliability improves, but resource utilization efficiency deteriorates
Solution Approach 1:
The system reserves resources on multiple candidate nodes beyond what a single failover might require. This excessive reservation ensures that sufficient resources are available for immediate failover while allowing the system to optimize resource allocation over time, balancing continuous operation capability with resource efficiency.
Solution Approach 2:
The system dynamically changes parameters such as the high availability threshold and adjusts the number of candidate nodes based on system conditions. This allows the scheduling module to balance reliability requirements with operational complexity by adapting its behavior to current system state.
4Reliability
If candidate nodes are ranked using priority functions, then reliability improves during failover, but computational overhead increases
Solution Approach 1:
The scheduling module performs preliminary actions by identifying and reserving candidate nodes before failures occur. When a node fails, pre-identified candidate nodes are immediately activated to host the failed virtual machines, eliminating the need for complex real-time decision-making during failure events.
Solution Approach 2:
The priority function applies different evaluation criteria to different aspects of candidate nodes (e.g., resource availability, current load, geographic location). This localized quality assessment allows the system to make reliable failover decisions while minimizing overall computational overhead by focusing evaluations on relevant local characteristics rather than comprehensive global analysis.
Data Source
AI summary
A system and method for reserving resources for a virtual machine to use during failure of an underlying node are disclosed. The system and method include a scheduling module that is configured to reserve resources for the virtual machine on at least one candidate node. To reserve the resources, the scheduling module is configured to identify a list of candidate nodes based upon a qualifier function, rank the candidate nodes based upon a priority function, and determine the candidate nodes that satisfy a high availability threshold. The scheduling module is also configured to select a highest-ranked candidate node that satisfies the high availability threshold and reserve the resources on the highest-ranked candidate node.


