Storage Failover Prefetching for Faster I/O Resumption
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-site distributed storage systems face significant latency in resuming I/O operations during automatic unplanned failover due to delays in detecting primary storage failures, health checks, redundant operations, resource contention, and conflicting workflows, leading to disruptive failover scenarios.
Innovation Solution
Implementing techniques such as early detection of primary storage failures using ultra-short heartbeats, optimizing health check operations through multi-level parallelization, avoiding redundant operations via caching, reducing contention by batching similar operations, minimizing system calls and context switches, and facilitating early-abort of conflicting workflows to enhance failover efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual failover handling is used, then system reliability is maintained through user intervention, but failover time increases significantly
Solution Approach 1:
The system implements automatic unplanned failover (AUFO) that self-manages the failover process without requiring user intervention. The secondary storage cluster automatically detects primary cluster failures, initiates failover workflows, and restores I/O operations autonomously, eliminating the time loss associated with manual handling while maintaining system reliability
Solution Approach 2:
The system uses heartbeat monitoring and health check mechanisms to continuously detect the status of the primary storage cluster. When failures are detected, the system provides feedback triggers that automatically initiate the AUFO workflow, enabling rapid response to failures without waiting for user intervention while ensuring reliable failover based on actual system state
2Device complexity
If configuration data is fetched during AUFO workflow, then system complexity is reduced by on-demand loading, but resumption time increases due to delays during failover
Solution Approach 1:
The system prefetches configuration data from the replicated database into memory before the AUFO workflow is triggered. This preliminary action ensures that when failover occurs, the configuration data is already available in memory, eliminating delays during the critical failover period while maintaining manageable system complexity through efficient memory management
3Measurement precision
If health check operations are performed sequentially, then measurement precision is improved through thorough checking, but failover latency increases due to redundant operations
Solution Approach 1:
The system divides health check operations into multiple parallel workflows that can execute simultaneously. Different health check tasks are segmented and distributed across available resources, allowing thorough failure detection to occur in parallel rather than sequentially, thereby maintaining measurement precision while significantly reducing failover latency
Solution Approach 2:
The system merges redundant health check operations by consolidating similar checks and eliminating duplicate validations. By combining overlapping health check tasks and removing redundancies, the system maintains comprehensive failure detection capabilities while reducing the total time required for health verification during failover
4Reliability
If conflicting workflows are allowed to complete, then workflow reliability is maintained, but I/O resumption time increases due to resource contention
Solution Approach 1:
The system implements early abort mechanisms that detect conflicting workflows before they can cause significant resource contention. By preemptively terminating conflicting workflows that would interfere with the AUFO process, the system prevents resource bottlenecks and reduces I/O resumption time while maintaining reliability through controlled workflow management and proper state transitions
Data Source
AI summary
Multi-site distributed storage systems and computer-implemented methods are described for improving a resumption time for processing of input/output (I/O) operations during an automatic unplanned failover (AUFO). A first storage cluster includes a first set of consistency groups (CGs) and a second storage cluster includes a second mirrored set of CGs. A computer-implemented method includes prefetching, with a user space of the second storage cluster, configuration information from a replicated database prior to starting the AUFO workflow, sending the configuration information to a kernel space of the second storage cluster on a per CG level while queuing the AUFO workflow, and determining if any in progress workflows conflict with the AUFO workflow.


