Cluster Node Failover via SCSI Persistent Reservations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cluster computing systems face challenges in ensuring application availability and reliability due to node or network failures, often resulting in unnecessary failovers and loss of compute resources, especially in scenarios where majority nodes become unavailable.

Innovation Solution

A cluster computer system that determines node unavailability and forms a sub-cluster to retain ownership of applications, using SCSI 3 Persistent Reservations to control access to storage volumes, allowing the system to maintain application availability without external arbitration and prevent unnecessary failovers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If external arbitration resources are used to determine node availability and manage failover, then application availability can be maintained during node failures, but system complexity increases and external resources are required

Engineering Contradiction:
Improveapplication availabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses SCSI Persistent Reservation as an intermediary mechanism to manage storage access rights between nodes. Instead of requiring external arbitration resources, the system uses the storage device's built-in reservation capability to automatically mediate access conflicts, thereby maintaining application availability while reducing system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables nodes to self-manage failover operations using local information and SCSI Persistent Reservation protocols. Each node can independently determine its status and initiate failover without requiring external arbitration, making the system self-sufficient and reducing complexity

Inventive Principle:
Principle #25Self-service

2Reliability

If majority nodes are brought down during network splits, then split-brain scenarios are prevented, but compute resources are lost and applications may not run even when nodes are available

Engineering Contradiction:
ImproveconsistencyVSAvoidcompute resource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic node eligibility determination based on real-time cluster state and SCSI reservation status. Instead of statically bringing down majority nodes during network splits, the system dynamically adjusts which nodes can access storage and run applications, allowing compute resources to remain productive while maintaining consistency through the reservation mechanism

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of node eligibility from a static majority-vote requirement to a dynamic state based on SCSI Persistent Reservation status. This allows nodes to remain active and productive even during network splits, as long as they can successfully acquire or maintain storage reservations, thereby maintaining both consistency and productivity

Inventive Principle:
Principle #35Parameter changes

3Reliability

If nodes are marked as ineligible or fenced during failures, then application availability is maintained, but unnecessary failovers occur and compute resources are lost

Engineering Contradiction:
Improveapplication availabilityVSAvoidcompute resource loss
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent establishes SCSI Persistent Reservations in advance on storage devices before failures occur. These pre-established reservations serve as predetermined access rights that automatically validate node eligibility during failures, eliminating the need for reactive node fencing or marking as ineligible, thereby preventing unnecessary failovers and preserving compute resources

Inventive Principle:
Principle #10Preliminary action

4Reliability

If external resources are used for node fencing and arbitration, then failover can be managed, but the system depends on external resources and complexity increases

Engineering Contradiction:
Improvefailover managementVSAvoidsystem independence
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent uses the storage device's SCSI Persistent Reservation capability as an intermediary that provides failover management functions without requiring external resources. The storage device itself mediates access conflicts between nodes, enabling the system to manage failovers independently while maintaining reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses its own storage infrastructure to provide arbitration and fencing functions through SCSI Persistent Reservations. Nodes can independently determine their eligibility to access storage and run applications without external resources, making the system self-sufficient and adaptable to various deployment environments

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10742724B2Cluster computer system with failover handling
Publication Date: 2020.08.11 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10742724B2 patent drawing
  • US10742724B2 patent drawing
  • US10742724B2 patent drawing

AI summary

Some examples described herein relate to a cluster computer system. In an example, a first node in a cluster computer system may determine that a second node has become unavailable. The first node may form a first sub-cluster with a plurality of nodes that are communicatively reachable in the cluster computer system. The first node may retain ownership over a first application running on the first node, to the exclusion of remaining nodes in the first sub-cluster, wherein retaining ownership over the first application comprises controlling access to a storage volume related to the first application. The first node may attempt to obtain ownership over a second application previously running on the second node before the second node became unavailable. In response to a successful attempt the first node may obtain ownership over the second application, to the exclusion of remaining nodes in the first sub-cluster.