I have an HPE ProLiant DL380 Gen9 Server with 15 internal 8TB SAS LFF drives, in a RAID6 configuration through an HP Smart Array P840ar controller. It contains a single 94.6 TB Logical Drive [Size: 94.6 TB / Used Space: 109.2 TB (100.0%)]
The server is currently used as a data archive at rest, with no anticipated significant increase in the stored data (or active users, for that matter). There is only about 55TB of this storage currently utilized, and I would like to remove the "unnecessary" drives for this archive.
My estimate is that only about ~11 of the 15 drives are needed:
- Total space needed 55TB x 20% free space = 66TB
- 66TB / 8TB drive = ~9 drives
- Plus 2 drives for RAID6 parity = 11 drives
So I'd like to remove 4 (maybe 5) drives from this configuration.
Page 8 of the HPE Smart Storage Administrator Guide (Part Number: 742648-008a, October 2016, Edition: 8) indicates that Smart HBA Gen9 controllers in RAID mode have a procedure that allows Removing a drive from an array (restripe the data on an array to occupy fewer physical drives, then remove the excess drives from the array)
But I can not figure out how to make this actually happen.
I have tried the "shrink array" procedure documented on page 74 of the above:
[root@host] /opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0
array a remove drives=1I:4:3
Error: This operation is not supported with the current configuration.
Use the "show" command on devices to show additional details about the
configuration.
Reason: Cannot shrink this array, Minimum physical drives reached
Here is the output of the "show" command:
[root@host:] /opt/smartstorageadmin/ssacli/bin/ssacli ctrl slot=0 ld 1
show
Smart Array P840ar in Slot 0 (Embedded)
Array A
Logical Drive: 1
Size: 94.6 TB
Fault Tolerance: 6
Heads: 255
Sectors Per Track: 32
Cylinders: 65535
Strip Size: 512 KB
Full Stripe Size: 6656 KB
Status: OK
MultiDomain Status: OK
Caching: Enabled
Parity Initialization Status: Initialization Completed
Unique Identifier: ***
Logical Drive Label: ***
Drive Type: Data
LD Acceleration Method: Controller Cache
I don't see a way to use migration to "restripe" an array to occupy fewer drives - it just appears to change the data record size of the stripe (which doesn't correlate to the number of drives it uses)
I don't see a supported method to reduce the size of the 94TB logical volume.
I don't have the hardware resources to put this data "elsewhere" while I rebuild the array with fewer disks.
The only other option I would see might be to:
- Migrate the array from RAID6 to RAID5
- Remove the "unnecessary" disk with the
remove drives
command - Physically remove the unused disk
- Migrate the (now smaller) array from RAID5 to RAID6
- Repeat the above until I have removed 4 disks total
This seems tedious, and I'm not sure if it would actually work. I also don't like the idea of having the copy of the data at only RAID5 several times through this procedure.
I see from this Serverfault post and another that it's "not possible to reduce the size of a logical volume" but why does HP indicate in two areas of its documentation that it is possible to reduce the size of or number of disks in an array?
How does HPE intend the "shrink array" or "restripe data to occupy fewer drives" to work per this documentation? Is there another option to remove a few drives from this configuration?