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!

3 Answers
3

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.

+1 for a full backup...its scary how many people just don't do it before something like this.
–
ErnieTheGeekMay 18 '11 at 13:34

Bloody marvellous :) What an excellent answer! In terms of the backups, this entire machine is used as an internal analysis machine, where all the data is also available distributed across other servers. It was designed to be effectively redundant, in that we can re-build the whole of the data by copying across from the source machines. Essentially, this is (one of) the backup(s) of the source data, and gathers it altogether into a cohesive analysis machine. I am also considering what @Aaron said in another answer, and we may just rebuild the machine with the new drives from scratch.
–
Dave RixMay 18 '11 at 13:50

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.

if all the replaced drives are larger, the original array will only use 400Gb on each drive, but you'll be able to create another array out of the spare space/spindles, if you really need to (not worth the hassle if you ask me)