Rack Storage Replication Across Head Nodes and Sleds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing block-based storage systems face challenges in maintaining data durability and low latency due to single-point failures in server nodes or control planes, leading to significant storage capacity unavailability and high recovery latencies across multiple locations.
Innovation Solution
A data storage system with a rack-mounted configuration of head nodes and data storage sleds, where data is replicated across multiple sleds and nodes, allowing for independent operation without relying on a zonal control plane, and utilizing redundant networks and power to ensure high reliability and durability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored across multiple devices in multiple locations to increase durability, then data durability is improved, but recovery latency increases due to data being located across multiple locations
Solution Approach 1:
The storage system is segmented into multiple independent storage nodes distributed across different locations, each capable of storing portions of data. This segmentation allows data to be divided and stored across multiple nodes, improving durability while enabling parallel recovery operations that reduce overall recovery latency.
Solution Approach 2:
Data is pre-replicated across multiple storage nodes before any failure occurs. This preliminary replication ensures that copies of data already exist at multiple locations, so when a failure happens, recovery can immediately begin from existing copies without waiting for data to be transferred from distant locations, thereby reducing recovery latency.
2Ease of operation
If a common control plane is used to manage data in multiple locations, then system management is simplified, but a failure of a control plane component impacts a large quantity of storage capacity
Solution Approach 1:
The control plane is segmented into distributed control components residing at each storage node, eliminating the single-point failure of a centralized control plane. Each node can independently manage its local data and make decisions, so control plane failures are localized and do not impact the entire storage system, thereby improving storage availability while maintaining management capabilities.
Solution Approach 2:
Storage nodes are designed to be self-sufficient, with each node capable of independently managing its own data operations and making autonomous decisions without requiring constant communication with a central control plane. This self-service capability ensures that control plane component failures do not propagate system-wide, maintaining storage availability while simplifying overall system management.
3Loss of time
If data is stored in head node storage for low latency access, then access latency is reduced, but data durability is decreased compared to distributed storage
Solution Approach 1:
Data is pre-replicated from head node storage to remote storage nodes before any failure occurs. This preliminary replication action ensures that durable copies already exist at remote locations, so the system can simultaneously provide low-latency access from head nodes while maintaining high durability through distributed replication, resolving the contradiction between access speed and data safety.
Solution Approach 2:
The system maintains continuous data replication between head nodes and remote storage nodes, ensuring that data durability is constantly updated and maintained. This continuous replication action allows the system to provide low-latency access from head nodes while simultaneously maintaining durable copies at remote locations, eliminating the trade-off between access speed and durability.
Data Source
AI summary
A data storage system includes multiple head nodes and multiple data storage sleds mounted in a rack. For a particular volume or volume partition one of the head nodes is designated as a primary head node for the volume or volume partition. The primary head node is configured to store data for the volume in a data storage of the primary head node and cause the data to be replicated to a secondary head node. The primary head node is also configured to cause the data for the volume to be stored in a plurality of respective mass storage devices each in different ones of the plurality of data storage sleds of the data storage system.


