Upgrading RAID 5 array drives in a DELL 2950 with Perc 6i controller

We currently have a DELL 2950 with 4 x 400Gb 10krpm SAS drives in RAID 5, and one of those drives has failed. Not having any identical spares (don't slap me, it's not my fault), and not being able to source any identical replacements, we have decided to upgrade the drives to the latest 'standard' sizes and speeds.

Essentially, we are going to purchase 7 x 450Gb 15krpm drives (so that we have a spare), and slowly replace all the existing drives with the new ones.

This is what we have already found out from DELL;

  • Replacing a 400Gb with a 450Gb is ok, but only 400Gb will be used
  • We can add a disk to the array one at a time, and the controller will expand the array
  • Mixing the spindle speeds is ok, they will essentially get averages out

What we do not know is what happens when ALL the drives have been replaced, and are now 450Gb drives, does the RAID controller automatically grow the array to use all 450Gb on each of the disks or will we end up with 50Gb wasted space on each drive?

And if we get 50Gb of wasted space on each drive, will the controller allow us to then create a new RAID 5 array using these 6 x 50Gb spaces and then use that within our OS.

If we can't use the 50Gb, then we don't really care (it's only £100 worth of storage!) but it would be nice to know so that we don't assume that we can use it!


Solution 1:

PERC 6i is LSI gear, so in general anything that goes with the MegaRAID SAS controllers, will work on the Dell PERC.

We can add a disk to the array one at a time, and the controller will expand the array

You will notice this not to be the case. Just adding the drives will make them available for the use in a new container, but not automatically grow anything. You should be able to use the Dell OpenManage tools to add the disk to the array as a replacement for a defective or offlined disk - the array will regenerate by writing redundant data to that disk.

What we do not know is what happens when ALL the drives have been replaced, and are now 450Gb drives, does the RAID controller automatically grow the array to use all 450Gb on each of the disks or will we end up with 50Gb wasted space on each drive?

At first, it is the latter - your array will be the same size with unused space on each of its disks. But you might try to expand your virtual disk using OpenManage Storage Manager. Please note that the expansion of the virtual disk will not expand your partitions and filesystems contained there. You will need additional software to do that - a GParted live CD should cope with most resizing needs and will support your controller out-of-the-box.

will the controller allow us to then create a new RAID 5 array using these 6 x 50Gb spaces

Yes, but you should only do this if the disk expansion is infeasible for some reason.

With all that said, it is a complex operation which might fail and take all data with it at any stage, so having a backup which can be restored swiftly (e.g. a full disk image) is strongly advisable.

Solution 2:

Syneticon-dj has a lot of good points, but I believe this is to be the most important one:

With all that said, it is a complex operation which might fail and take all data with it at any stage, so having a backup which can be restored swiftly (e.g. a full disk image) is strongly advisable.

If It were me, I'd put one of the new single 450GB drives into the array and rebuild it. This accomplishes the goal of removing you from a dangerous and degraded position. Once complete, I wouldn't put myself back into that position. Instead I would backup the data on the array, remove all drives, build the new array using the remaining 6 drives. Then restore the data from backup.

Once the new array is up and running smoothly, I would take the original 450GB 15k drive and put it back into the new array as the hot spare.

The logic here is that I wouldn't want to degrade the array over and over while you swap out drives, and I wouldn't want to expose myself to loosing another drive. Finally with this method you don't need to monkey around afterwards with partition tools or separate volumes to realize the increased storage gains.