Online Data Rehydration for Storage Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional storage systems experience prolonged downtime and resource unavailability during data recovery from failures, leading to interruptions in workload availability and increased computational and network resource consumption.
Innovation Solution
Implementing an online data rehydration system that allows workloads to execute while the storage system is being rehydrated by intercepting requests and prioritizing data recovery based on demand, using a backup storage system to provide data to the primary storage system, enabling in-place read and write operations during rehydration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the storage system performs a full rehydration of all data using a backup stored by an external system, then the storage system can recover from a failure, but the workloads experience an interruption in availability during the recover process which can take multiple hours or days
Solution Approach 1:
The system performs rehydration on-demand for only the specific data blocks that are actually needed by workloads, rather than rehydrating all data in the backup. This partial action approach allows workloads to access rehydrated blocks immediately while avoiding the time cost of recovering the entire dataset
Solution Approach 2:
The system pre-rehydrates data blocks before they are needed by anticipating workload requirements and proactively recovering data from backup in advance. This preliminary action reduces wait time when workloads need the data, as the rehydration process has already begun or completed
2Reliability
If the storage system performs a full rehydration of all data, then the storage system can recover from a failure, but the process consumes significant computational and network resources
Solution Approach 1:
The system recovers only the necessary portion of data from backup rather than the entire dataset. This partial rehydration significantly reduces network bandwidth consumption and computational resources while still restoring full system functionality by focusing only on data blocks that are actually required
Solution Approach 2:
The system monitors workload access patterns and automatically identifies which data blocks need to be rehydrated, making intelligent decisions about recovery priorities without external intervention. This self-service approach optimizes resource usage by recovering data based on actual system needs rather than uniform recovery of all data
3Reliability
If the system uses snapshots for data recovery, then the storage system can restore data, but the system experiences performance penalties
Solution Approach 1:
The system uses an intermediary mechanism that transparently redirects I/O operations to rehydrated data blocks in the primary storage system rather than forcing all operations through snapshot interfaces. This intermediary layer eliminates the performance overhead associated with snapshot-based access while maintaining data restoration capability
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for online rehydration. One of the methods includes intercepting a request issued by a virtual computing instance to a primary storage system, wherein the request identifies first data stored in the primary storage system; determining whether the first data has been rehydrated by a rehydration system; and in response to determining that at least a first portion of the first data has not been rehydrated by the rehydration system: submitting, to the rehydration system, a rehydration request that identifies the first portion of the first data that has not been rehydrated; obtaining, from the rehydration system, a response that includes a copy of the first portion of the first data, wherein the rehydration system has obtained the copy from a backup storage system; and responding to the request using the copy of the first portion of the first data.


