Sequential Resilvering for Storage Rebuilds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional resilvering processes in data storage systems are inefficient, leading to prolonged resilvering times and performance degradation due to small random Input/Outputs (I/Os) during the reconstruction of data on a failed disk, especially in systems using copy-on-write transactional models.
Innovation Solution
Implementing a two-phase resilvering process that involves coarse grained sorting of blocks into buckets based on their locations, followed by fine grained sorting into sorted trees, allowing for sequential resilvering and reducing resilvering times by performing larger, sequential I/Os.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional resilvering processes are used to rebuild failed disk data, then data redundancy is maintained, but resilvering time is prolonged and system performance degrades due to small random I/Os
Solution Approach 1:
The patent segments the resilvering process into distinct phases (discovery, coarse-grained sorting, fine-grained sorting, sequential resilvering) and divides data blocks into groups based on their location on the failed disk. This segmentation allows the system to process blocks in an optimized sequence rather than handling them as individual random I/O operations, thereby reducing overall resilvering time while maintaining data redundancy.
Solution Approach 2:
The patent performs preliminary sorting of data blocks into coarse-grained and fine-grained groups before the actual resilvering operation. By pre-organizing the blocks based on their location and dependencies, the system prepares the data in advance for sequential processing, which eliminates the need for random I/O operations during the resilvering phase and significantly improves productivity.
2Reliability
If all data is copied from synchronized mirror to unsynchronized mirror for recovery, then data synchronization is restored, but performance of file storage devices is significantly reduced during the process
Solution Approach 1:
The patent extracts only the necessary data blocks that need to be resilvered from the failed disk, rather than copying all data from the mirror. By identifying and processing only the blocks that were not successfully completed on the failed device, the system maintains data synchronization while minimizing the impact on device performance during the recovery process.
Solution Approach 2:
The patent applies partial action by performing resilvering only on the specific blocks that require reconstruction, rather than copying the entire dataset. This selective approach restores data synchronization while avoiding the performance degradation associated with processing all data blocks, thus maintaining higher device productivity during recovery.
Data Source
AI summary
Implementations claimed and described herein provide systems and methods for the efficient rebuilding of a failed storage device through sequential resilvering. In one implementation, blocks for resilvering are discovered. The blocks correspond to input/output requests not successfully completed for a failed storage device. A coarse grained sorting of the blocks is performed based on a block location of each of the blocks on the failed storage device. The block locations of the blocks are stored in memory according to the coarse grained sorting. A fine grained sorting of the blocks is performed based on the coarse grained sorting of the blocks. The blocks are sequentially resilvered based on the fine grained sorting.


