Method and device for rebuilding RAID
AssigneeEMC IP Holding Company LLC
InventorsJian Gao, Geng Han, Jibing Dong, Lifeng Yang, Xinlei Xu
Life of this patent
Estimating the term…
Abstract
Embodiments of the present disclosure provide a method and device for RAID rebuilding. In some embodiments, there is provided a computer-implemented method. The method comprises: determining a spare redundant array of independent disks (RAID) group with spare capacity from a plurality of disks included in at least one RAID group of a storage pool; building spare logic units from the spare RAID group; and in response to a RAID group of the at least one RAID group of the storage pool being in a degradation state, rebuilding a failed disk in a degraded RAID group using the spare logic units.
Claims18
A computer-implemented method, comprising:
- determining a spare redundant array of independent disks (RAID) group with spare capacity from a plurality of disks included in at least one RAID group of a storage pool;
- building spare logic units from the spare RAID group;
- and
- in response to a RAID group of the at least one RAID group of the storage pool being in a degradation status, rebuilding a failed disk in the degraded RAID group using the spare logic units,
- wherein the spare logic units are distributed across multiple target disks in the storage pool, and wherein rebuilding the failed disk includes:
- assigning a respective I/O generator to each of the multiple target disks;
- reading, by each I/O generator, respective data of the failed disk from the RAID group being in the degradation status;
- and
- writing, by each I/O generator, the respective data to the target disk to which the respective I/O generator is assigned,
- wherein each I/O generator runs in a respective thread, wherein writing the data by each I/O generator includes operating the I/O generator threads in parallel to effect writes to the respective target disks in parallel, the multiple target disks including N target disks, the failed disk having a data area, and wherein reading, by each I/O generator, the respective data from the failed disk includes each I/O generator reading substantially 1/N the data area.
A computer-implemented apparatus, comprising:
- at least one processing unit;
- and
- at least one memory coupled to the at least one processing unit and having instructions stored thereon which, when executed by the at least one processing unit, cause the apparatus to perform acts including:
- determining a spare redundant array of independent disks (RAID) group with spare capacity from a plurality of disks included in at least one RAID group of a storage pool,
- building spare logic units from the spare RAID group, and
- in response to a RAID group of the at least one RAID group of the storage pool being in a degradation status, rebuilding a failed disk in the degraded RAID group using the spare logic units,
- wherein the spare logic units are distributed across multiple target disks in the storage pool, and wherein rebuilding the failed disk includes:
- assigning a respective I/O generator to each of the multiple target disks;
- reading, by each I/O generator, respective data of the failed disk from the RAID group being in the degradation status;
- and
- writing, by each I/O generator, the respective data to the target disk to which the respective I/O generator is assigned,
- wherein each I/O generator runs in a respective thread, wherein writing the data by each I/O generator includes operating the I/O generator threads in parallel to effect writes to the respective target disks in parallel, the multiple target disks including N target disks, the failed disk having a data area, and wherein reading, by each I/O generator, the respective data from the failed disk includes each I/O generator reading substantially 1/N the data area.
A computer program product, comprising:
- a non-transitory computer-readable medium encoded with computer-executable code, the code configured to enable the execution of:
- determining a spare redundant array of independent disks (RAID) group with spare capacity from a plurality of disks included in at least one RAID group of a storage pool;
- building spare logic units from the spare RAID group;
- and
- in response to a RAID group of the at least one RAID group of the storage pool being in a degradation status, rebuilding a failed disk in the degraded RAID group using the spare logic units,
- wherein the spare logic units are distributed across multiple target disks in the storage pool, and wherein rebuilding the failed disk includes:
- assigning a respective I/O generator to each of the multiple target disks;
- reading, by each I/O generator, respective data of the failed disk from the RAID group being in the degradation status;
- and
- writing, by each I/O generator, the respective data to the target disk to which the respective I/O generator is assigned,
- wherein each I/O generator runs in a respective thread, wherein writing the data by each I/O generator includes operating the I/O generator threads in parallel to effect writes to the respective target disks in parallel, the multiple target disks including N target disks, the failed disk having a data area, and wherein reading, by each I/O generator, the respective data from the failed disk includes each I/O generator reading substantially 1/N the data area.
Dependencies are inferred from the claim text.