3

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:

  1. Migrate the array from RAID6 to RAID5
  2. Remove the "unnecessary" disk with the remove drives command
  3. Physically remove the unused disk
  4. Migrate the (now smaller) array from RAID5 to RAID6
  5. 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?

3
  • Why do you want to remove the drives?
    – ewwhite
    Jun 17, 2020 at 20:26
  • @ewwhite I can use them in other systems, and I'd rather not have drives spinning that are serving no purpose. Jun 18, 2020 at 2:24
  • That's a lot of effort to reclaim a couple of disks.
    – ewwhite
    Jun 18, 2020 at 10:30

1 Answer 1

2

You only have one logical drive and zero free space.

That's why you can't shrink the array.

There is a "consolidatespace" command that rearranges logical drives to leave free space at the end, but the mistake in your environment was creating a logical drive that spans the entire array.

Here's an example of an environment where I can shrink... For instance, if I removed logicaldrive 2, I could remove physical disks 3 and 4. (logicaldrive 1 contains the OS)

   Array A (Solid State SATA, Unused Space: 1467279  MB)

      logicaldrive 1 (72.00 GB, RAID 1+0, OK)
      logicaldrive 2 (1000.00 GB, RAID 1+0, OK)

      physicaldrive 1I:3:1 (port 1I:box 3:bay 1, SATA SSD, 960 GB, OK)
      physicaldrive 1I:3:2 (port 1I:box 3:bay 2, SATA SSD, 960 GB, OK)
      physicaldrive 1I:3:3 (port 1I:box 3:bay 3, SATA SSD, 960 GB, OK)
      physicaldrive 1I:3:4 (port 1I:box 3:bay 4, SATA SSD, 960 GB, OK)
2
  • So it sounds like if you accepted the default logical volume creation options (use all disks, maximum size), you're left with no option but to backup the contents of the logical volume, destroy the array, and rebuild a smaller array from the backup? I don't see a consolidatespace option within the HPE SSA documentation. It would seem that the only circumstance in which you could "restripe the array to occupy fewer drives" would be in the RAIDN+0 mirror options. Jun 18, 2020 at 19:01
  • Yeah, the logical drive is too big. Plus, what about the practical aspects? What does your partitioning look like? OS-level changes would have also needed to be made.
    – ewwhite
    Jun 18, 2020 at 23:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .