Method and apparatus for distributed reconstruct in a raid system
AssigneeNetApp, Inc.
InventorJames Taylor
Life of this patent
Estimating the term…
Abstract
Embodiments of the present invention provide techniques for distributing the reconstruction process of a failed storage device in an array of storage devices to storage systems in a storage system cluster (cluster). The inventive technique includes a storage system securing the array, decomposing the reconstruction process into a number of tasks, distributing each task to other storage system in the cluster, and reconstructing data using results of the tasks performed by the other storage systems.
Claims17
A method for increasing the efficiency of a parity scrub of an array of storage devices in a clustered storage system that includes a plurality of storage systems, the method comprising:
- securing the array, wherein a master storage system of the clustered storage system secures the array by regulating access to the array during the parity scrub;
- distributing at least one task of the parity scrub from the master storage system to at least one non-master storage system selected by the master storage system from the plurality of storage systems, the at least one non-master storage system accessing the array for purposes of the parity scrub and not for servicing I/O requests from a client;
- and
- determining, by the master storage system, validity of a stored parity value, wherein validity is determined by computing data in the array upon accessing a subset of storage devices and using a result of the at least one task performed by the at least one non-master storage system;
- and
- if the stored parity value is not valid, generating, by the master storage system, a new parity value and storing the parity value in the array.
A storage system in a clustered storage system, the storage system comprising:
- a processor;
- a securing module operatively coupled to the processor and configured to secure an array of storage devices to protect the integrity of operations performed on data in the array during a parity scrub;
- a distribution module coupled to the securing module and configured to enable the storage system to distribute at least one task of the parity scrub to a second storage system selected from a plurality of storage systems such that the second storage system accesses the array for purposes of the parity scrub and not for servicing I/O requests from a client;
- and
- a determination module coupled to the distribution module and configured to determine a validity of a stored parity value, wherein validity is determined by computing data in the array upon accessing a subset of storage devices and using a result of the at least one task performed by the second storage system;
- and
- if the stored parity value is not valid, a generation module coupled to the determination module configured to generate a new parity value and storing the parity value in the array.
Dependencies are inferred from the claim text.