Multi-Attach Block Storage Health Checks Against Replica Flip-Flops
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current block-based storage systems fail to function properly when multiple computing resources with varied network connections are attached to a shared virtual volume, leading to inconsistencies and inefficiencies such as latency and unnecessary network usage due to flip flopping between primary and secondary replicas.
Innovation Solution
Implement a health check mechanism and peer confirmation mechanism to manage multiple client connections, ensuring that secondary replicas verify the health of primary replicas before initiating failovers and enforcing sequence number agreement among membership group members to maintain data consistency and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple computing resources are attached to a shared virtual volume, then storage availability and accessibility are improved, but system instability and data inconsistency occur due to flip-flopping between primary and secondary replicas
Solution Approach 1:
The system performs health checks and sequence number verifications before allowing failover to occur. This preliminary validation ensures that failover only happens when truly necessary and safe, preventing premature or incorrect replica promotions that would cause system instability
Solution Approach 2:
The system implements a feedback mechanism where secondary replicas verify the health status of primary replicas and check sequence number agreement before initiating failover. This feedback loop prevents unnecessary failovers and ensures data consistency across the distributed storage system
2Reliability
If health check and peer confirmation mechanisms are implemented, then data consistency and system reliability are improved, but computational overhead and latency increase
Solution Approach 1:
The system performs health checks and sequence number verifications selectively rather than continuously. Failover operations only trigger these additional verification steps when needed, reducing unnecessary computational overhead while maintaining data consistency when failover is required
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. In order to prevent unnecessary failovers, a primary node storing a primary replica is configured with a health check application programmatic interface (API) and a secondary node storing a secondary replica determines whether or not to initiate a failover based on the health of the primary replica.


