Erasure-Coded Fragment Repair Using Storage-Node Scanning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed data storage systems face challenges in reliable recovery of erasure coded data due to the eventual consistency of metadata repositories, leading to query failures and metadata loss during storage node failures, which complicates the determination of lost fragments and hampers recovery operations.
Innovation Solution
A distributed storage system approach where a storage node initiates recovery by scanning available storage devices to generate a master list of missing fragments, rather than relying on a centralized metadata database, by requesting and merging fragment lists from multiple nodes to ensure accurate identification and regeneration of lost fragments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a centralized metadata repository is used to track erasure coded fragments, then data management and recovery coordination is simplified, but the system becomes vulnerable to query failures and metadata loss during storage node failures
Solution Approach 1:
The patent extracts the metadata dependency from the recovery process by having the recovering storage node independently scan available storage devices to generate a master list of missing fragments, rather than querying a centralized metadata repository. This extraction eliminates the single point of failure while maintaining recovery functionality.
Solution Approach 2:
The patent introduces an intermediary mechanism where multiple available storage nodes provide fragment information to the recovering node, which then merges these lists to create a master list. This intermediary approach distributes the metadata function across multiple nodes, preventing single-point failures.
2Reliability
If metadata is stored in an eventually consistent distributed database, then system availability is improved, but metadata loss can occur during failure events before consistency is restored
Solution Approach 1:
The patent performs preliminary scanning of available storage devices to generate a master list of missing fragments before recovery operations begin. This preliminary action ensures that the recovering node has accurate information about what needs to be restored, eliminating reliance on potentially inconsistent metadata during the failure window.
3Ease of operation
If a centralized metadata database is queried during recovery, then fragment identification is simplified, but query failures occur when metadata nodes are unavailable
Solution Approach 1:
The recovering storage node performs self-service by independently scanning available storage devices and merging fragment lists from multiple nodes to generate its own master list of missing fragments. This self-service approach eliminates dependency on external metadata nodes, ensuring recovery operations can proceed even when those nodes are unavailable.
4Measurement precision
If fragment lists are obtained from multiple storage nodes and merged, then accuracy of missing fragment identification is improved, but the complexity of the recovery process increases
Solution Approach 1:
The patent segments the fragment identification task by having the recovering node independently scan available storage devices and separately merge fragment lists from multiple storage nodes. This segmentation allows each sub-task to be performed independently and reliably, with the final master list being the consolidated result, improving accuracy without overwhelming complexity.
Data Source
AI summary
Distributed storage systems frequently use a centralized metadata repository that stores metadata in an eventually consistent distributed database. However, a metadata repository cannot be relied upon for determining which erasure coded fragments are lost because of a storage node(s) failures. Instead, when recovering a failed storage node, a list of missing fragments is generated based on fragments stored in storage devices of available storage nodes. A storage node performing the recovery sends a request to one or more of the available storage nodes for a fragment list. The fragment list is generated, not based on a metadata database, but on scanning storage devices for fragments related to the failed storage node. The storage node performing the recovery merges retrieved lists to create a master list indicating fragments that should be regenerated for recovery of the failed storage node(s).


