Dynamic spare storage allocation by creating logical volumes from unused space allocated for user data of a raid storage
First Claim
1. A computer program product for dynamic spare storage allocation, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:
- provide a storage array comprising a first redundant array of independent disks (RAID) 6 array, the first RAID 6 array having a first number of disk drives, each disk drive of the first number of disk drives having a storage space comprising;
a first portion of used space storing user data;
a second portion of unused space available for storing the user data; and
a third portion of spare space providing redundancy to the first RAID 6 array;
wherein a first cumulative amount of used space storing the user data in the first RAID 6 array includes each of the first portion of used space storing the user data of the first number of disk drives;
wherein a second cumulative amount of unused space available for storing the user data in the first RAID 6 array includes each of the second portion of unused space available for storing the user data of the first number of disk drives;
wherein a third cumulative amount of spare space providing redundancy to the first RAID 6 array in the first RAID 6 array includes each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives;
determine that the third cumulative amount of spare space falls below two disk drives selected from the first number of disk drives;
in response to determining that the third cumulative amount of spare space falls below the two disk drives selected from the first number of disk drives, determine that the second cumulative amount of unused space is greater than one disk drive selected from the first number of disk drives;
in response to determining that the second cumulative amount of unused space is greater than the one disk drive selected from the first number of disk drives, migrating the user data within each of the first number of disk drives to re-allocate locations of the second portion of unused space in each of the first number of disk drives; and
in response to migrating the user data, reduce each of the second portion of unused space available for storing the user data of the first number of disk drives by a first amount and increase each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives by the first amount, wherein the first amount is equal to the one disk drive selected from the first number of disk drives divided by the first number of disk drives.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage drive array with available storage space for user data with storage capacity in the array allocated to distributed spare space. The distributed spare space spreads portions of a spare drive across multiple storage drives in the array. By monitoring the amount of spare space available in the array, a determination may be whether the amount of spare space falls below a threshold number of drives. If there is un-used space in the available storage space which is greater than one drive of space, a drive of space to spare space may be dynamically re-allocated in a distributed pattern across the drives of the array.
23 Citations
13 Claims
-
1. A computer program product for dynamic spare storage allocation, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:
-
provide a storage array comprising a first redundant array of independent disks (RAID) 6 array, the first RAID 6 array having a first number of disk drives, each disk drive of the first number of disk drives having a storage space comprising; a first portion of used space storing user data; a second portion of unused space available for storing the user data; and a third portion of spare space providing redundancy to the first RAID 6 array; wherein a first cumulative amount of used space storing the user data in the first RAID 6 array includes each of the first portion of used space storing the user data of the first number of disk drives; wherein a second cumulative amount of unused space available for storing the user data in the first RAID 6 array includes each of the second portion of unused space available for storing the user data of the first number of disk drives; wherein a third cumulative amount of spare space providing redundancy to the first RAID 6 array in the first RAID 6 array includes each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives; determine that the third cumulative amount of spare space falls below two disk drives selected from the first number of disk drives; in response to determining that the third cumulative amount of spare space falls below the two disk drives selected from the first number of disk drives, determine that the second cumulative amount of unused space is greater than one disk drive selected from the first number of disk drives; in response to determining that the second cumulative amount of unused space is greater than the one disk drive selected from the first number of disk drives, migrating the user data within each of the first number of disk drives to re-allocate locations of the second portion of unused space in each of the first number of disk drives; and in response to migrating the user data, reduce each of the second portion of unused space available for storing the user data of the first number of disk drives by a first amount and increase each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives by the first amount, wherein the first amount is equal to the one disk drive selected from the first number of disk drives divided by the first number of disk drives. - View Dependent Claims (2, 3, 4)
-
-
5. A method for dynamic spare storage allocation, the method comprising:
-
providing a storage array comprising a first redundant array of independent disks (RAID) 6 array, the first RAID 6 array having a first number of disk drives, each disk drive of the first number of disk drives having a storage space comprising; a first portion of used space storing user data; a second portion of unused space available for storing the user data; and a third portion of spare space providing redundancy to the first RAID 6 array; wherein a first cumulative amount of used space storing the user data in the first RAID 6 array includes each of the first portion of used space storing the user data of the first number of disk drives; wherein a second cumulative amount of unused space available for storing the user data in the first RAID 6 array includes each of the second portion of unused space available for storing the user data of the first number of disk drives; wherein a third cumulative amount of spare space providing redundancy to the first RAID 6 array in the first RAID 6 array includes each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives; determining that the third cumulative amount of spare space falls below two disk drives selected from the first number of disk drives; in response to determining that the third cumulative amount of spare space falls below the two disk drives selected from the first number of disk drives, determining that the second cumulative amount of unused space is greater than one disk drive selected from the first number of disk drives; in response to determining that the second cumulative amount of unused space is greater than the one disk drive selected from the first number of disk drives, migrating the user data within each of the first number of disk drives to re-allocate locations of the second portion of unused space in each of the first number of disk drives; and in response to migrating the user data, reducing each of the second portion of unused space available for storing the user data of the first number of disk drives by a first amount and increasing each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives by the first amount, wherein the first amount is equal to the one disk drive selected from the first number of disk drives divided by the first number of disk drives. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A system for dynamic spare storage allocation, the system comprising:
-
a processor; and a computer-readable storage medium storing program instructions which, when executed by the processor, are configured to cause the processor to perform a method comprising; providing a storage array comprising a first redundant array of independent disks (RAID) 6 array, the first RAID 6 array having a first number of disk drives, each disk drive of the first number of disk drives having a storage space comprising; a first portion of used space storing user data; a second portion of unused space available for storing the user data; and a third portion of spare space providing redundancy to the first RAID 6 array; wherein a first cumulative amount of used space storing the user data in the first RAID 6 array includes each of the first portion of used space storing the user data of the first number of disk drives; wherein a second cumulative amount of unused space available for storing the user data in the first RAID 6 array includes each of the second portion of unused space available for storing the user data of the first number of disk drives; wherein a third cumulative amount of spare space providing redundancy to the first RAID 6 array in the first RAID 6 array includes each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives; determining that the third cumulative amount of spare space falls below two disk drives selected from the first number of disk drives; in response to determining that the third cumulative amount of spare space falls below the two disk drives selected from the first number of disk drives, determining that the second cumulative amount of unused space is greater than one disk drive selected from the first number of disk drives; in response to determining that the second cumulative amount of unused space is greater than the one disk drive selected from the first number of disk drives, migrating the user data within each of the first number of disk drives to re-allocate locations of the second portion of unused space in each of the first number of disk drives; and in response to migrating the user data, reducing each of the second portion of unused space available for storing the user data of the first number of disk drives by a first amount and increasing each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives by the first amount, wherein the first amount is equal to the one disk drive selected from the first number of disk drives divided by the first number of disk drives. - View Dependent Claims (11, 12, 13)
-
Specification