Container Failover Orchestration via Local Filesystem Remounting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-node clusters, Docker containers face challenges in maintaining data availability and performance during node failures or migrations, as existing solutions like Kubernetes and Docker Swarm require a minimum of three nodes and incur performance overhead when using clustered filesystems or network shares.

Innovation Solution

An orchestration system that coordinates the destruction of Docker volumes on one node, unmounts and remounts application data as a local filesystem on another node, and creates Docker volumes to restart the container, enabling seamless failover across nodes without relying on clustered filesystems or network shares, even on a two-node cluster.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If clustered filesystems or network shares are used to share application data across nodes, then data availability is improved, but performance overhead increases

Engineering Contradiction:
Improvedata availabilityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-mounting the shared physical device containing application data to each cluster node before container startup. This allows the node to access data locally without requiring real-time network access to clustered filesystems or network shares during container operation, thus maintaining data availability while avoiding performance overhead.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The shared physical device acts as an intermediary between the clustered storage system and the container's local filesystem. By mounting this physical device locally on each node, the system creates a local cache layer that provides fast access to application data while the actual data resides on shared storage, thus bridging the gap between data availability and performance requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If existing orchestration systems like Kubernetes or Docker Swarm are used, then container management is improved, but minimum node requirements increase to three nodes

Engineering Contradiction:
Improvecontainer management capabilityVSAvoidnumber of nodes
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The invention extracts the essential orchestration functionality needed for container failover from complex systems like Kubernetes and Docker Swarm. By implementing a simplified orchestration mechanism that only handles the critical aspects of container lifecycle management and node failover, the system achieves container management capability with fewer nodes, removing unnecessary complexity and minimum node requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system changes the parameter of minimum cluster size from three nodes to two nodes by modifying the failover mechanism. Instead of requiring a quorum of three nodes for consensus, the invention implements a simpler failover approach where a single active node can be failed over to a standby node, thus reducing the minimum node requirement while maintaining orchestration capabilities.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If Docker containers are moved between nodes during failover, then system reliability is improved, but data access complexity increases

Engineering Contradiction:
Improvesystem availabilityVSAvoiddata access complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invention merges the data access paths by mounting the shared physical device containing application data directly to each cluster node's local filesystem. This consolidation allows containers on any node to access data through a unified local mount point, simplifying data access complexity while enabling seamless container migration between nodes for improved reliability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240160537A1Orchestration of Container Failover Between Nodes of a Cluster
Publication Date: 2024.05.16 DELL PROD LP
  • US20240160537A1 patent drawing
  • US20240160537A1 patent drawing
  • US20240160537A1 patent drawing

AI summary

Failover of a Docker container between nodes of a cluster is orchestrated to enable the Docker container's data to be made available across all nodes of the cluster. Using this orchestration system, if a second cluster node is selected to be used to bring up a Docker container, the orchestration system coordinates destroying the previous Docker volumes on the first cluster node, unmounting a physical device containing the application data from the first cluster node's virtual filesystem, remounting the physical device containing the application data in the virtual filesystem of the second cluster node, creating a Docker volume referencing the application data on the second cluster node, and using the Docker volume to start a new instance of the Docker container on the second cluster node. This enables the Docker container to be started on any node of a cluster and have the application data available as a local filesystem.