Multi-Attach Block Storage with Health Check Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current block-based storage systems face challenges in maintaining data linearizability and system efficiency when multiple clients connect to the same distributed, replicated data volume, leading to inconsistencies and unnecessary network usage due to flip-flops between primary and secondary replicas.
Innovation Solution
Implementing a health check mechanism and peer confirmation mechanism to manage multiple client connections, where a secondary replica verifies the health of the primary replica before initiating a failover and ensures all members of the membership group are on the same sequence number to prevent superseded replicas from performing I/O operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple clients connect to the same distributed replicated data volume, then storage accessibility and versatility are improved, but data linearizability and system consistency deteriorate due to flip-flops between primary and secondary replicas
Solution Approach 1:
The system performs a health check of the primary replica before initiating failover. This preliminary verification ensures that failover only occurs when necessary, preventing premature transitions that could cause data inconsistency. The health check mechanism verifies primary replica status before secondary replicas take over, maintaining data linearizability while enabling multi-client access.
Solution Approach 2:
The system implements a peer confirmation mechanism where replicas exchange sequence numbers to verify they are synchronized. This feedback loop ensures that all replicas maintain consistent state before and during failover operations, preventing flip-flop scenarios that would compromise data linearizability while allowing multiple clients to access the storage system.
2Adaptability or versatility
If flip-flops between primary and secondary replicas are allowed, then system adaptability is improved, but network usage and latency increase due to unnecessary failover operations
Solution Approach 1:
The health check mechanism verifies primary replica status before triggering failover, preventing unnecessary failover operations. By checking primary health status in advance, the system avoids premature failovers that would cause latency and network overhead, while still maintaining the ability to adapt when actual failures occur.
Solution Approach 2:
The system preemptively prevents flip-flop failovers by requiring health check confirmation before allowing failover. This preliminary anti-action counteracts the tendency for unnecessary failover cycles, reducing network usage and latency while preserving system adaptability for genuine failure scenarios.
3Reliability
If health check mechanism is implemented, then data consistency is improved, but device complexity and operational overhead increase
Solution Approach 1:
The health check mechanism is implemented as an automated process where the storage system self-monitors primary replica status without requiring external intervention. This self-service approach maintains data consistency through systematic health verification while minimizing operational overhead, as the system manages its own consistency checks without additional manual complexity.
Data Source
AI summary
A block-based storage system hosts logical volumes that are implemented via multiple replicas of volume data stored on multiple resource hosts in different failure domains. Also, the block-based storage service allows multiple client computing devices to attach to a same given logical volume at the same time. A membership group authority authorizes sequence numbers for a given logical volume and an associated membership group. The members of the membership group ensure that the members are in agreement on the latest sequence number for the given logical volume before responding to read or write requests directed to the given logical volume.


