Upgrade RAID 1 Linux server to larger HDs

We have a Linux server using 2x250GB drives in a RAID 1 (hardware) configuration.  We need to upgrade these drives to allow for more space, and I'm inquiring about the best way to achieve this, preferably without reinstalling the whole system.

We use a S100 from Dell for RAID.

My main concerns are getting the RAID system to recognize the new drives without having to re-initialize them and losing data.  Once we buy the two larger drives and I pull out one of the existing drives, replace with one of the new drives, what exactly takes place?  Will the data from the old drive be copied over to the new drive?  What controls whether data is copied or the drives are formatted?

We use Gentoo, and I'm also wondering if there is an easy way to increase the partition sizes? We are going with a 500GB or 1TB, and we need to increase the space used for daily backups, user partition, and root partition.  I know I could use a partition manager, but that requires taking the server offline while the partitions are resided.  In Windows, partitions can grow according to unused space, under certain conditions, without having to power down the system.  Is anything like this possible with Linux?

I've never done this type of drive upgrade before, though I have used Linux to clone drives for the purposes of upgrading drives in the past, so any thoughts or recommendations on the best procedure to accomplish this?  Specifically in regards to ensuring data integrity while also being able to make use of the additional space being acquired.

Thanks for any help you can provide.
Who is Participating?
DavidConnect With a Mentor PresidentCommented:
The controller has metadata.  You're screwed and can't do a single disk upgrade.   So do an image backup to a network attached disk like an iscsi target drive, or even a single file on a networked drive.   (Boot to a live USB linux distribution that has the PERC drivers, like ubuntu server).

Then once you dd to a target, shut down the box, put in the 2 replacement drives, then boot and tell controller to build a new RAID1.   Then use dd to copy the file to the /dev/sdb which would typically be the new empty RAID1.  you can then use the linux partition manager or parted, to resize partition.

Do a md5sum to verify data integrity and compare results.  This technique is 100% safe because if something goes bad, your original data is untouched and you can pop the 2 older RAID1 disks back in and try again.
dageyraAuthor Commented:
@dlethe: thanks for getting back to me. I'm going to keep this open while we wait for the drives to arrive, hope that's okay. One question for now, are you referring to diskpart or fdisk as the Linux partition manager? I've used fdisk, never diskpart but can look up tutorials. It allows resizing of partitions without booting into parted? I just want to minimize downtime (this is our mail server) and find gparted to be extremely slow and inefficient.
dageyraAuthor Commented:
@dlethe:  We have the drives and I am doing the upgrade today.  I had a question, would it be possible (or any reason not) to do this by partition? What I mean is instead of creating one large drive image, create individual partition images, and then install the 2 new drives, configure RAID, setup partitions, and dd the partition images back to the newly created partitions. One reason I ask is that disk space is not abundant and I'm going to be hard pressed to find enough space for the entire disk (which also has a large backup partition that could be skipped with a partition-only approach).

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.