Convert boot drive to RAID-1

jbo5112

Distinguished
Jul 19, 2006
74
8
18,645
I'm administering a somewhat old, low end server with a ICH7R/DH chip running Windows XP Pro x64. When Windows was installed, it was set up to support RAID-1 (mirroring) for a pair of Raptor hard drives to host a database. When we recently had to replace a Raptor drive, we also added a drive that matches the current system drive.

We're wanting to convert the system drive from a single disk to a RAID-1 array as well. The Intel(R) Matrix Storage Console has an action to "Create RAID Volume from Existing Hard Drive". I assume it is a non-destructive process, since it's not the only method to create an array, but I don't know if it will still boot normally without intervention. The machine is located very high up (requires a ladder) in the customer's data center that is halfway across the country, and I'm not sure how difficult such problems would be for the customer's remote tech to deal with.

I'm sure the topic has been covered, but all the information I'm finding is on converting the system (controller & software) to support RAID. I'm not finding much on converting the system boot drive itself to a RAID array. Does anyone have any experience, warnings or advice on this?
 
Solution
I don't have experience, but I can give you two words of advice.

First, make an external image backup of the system drive, if you haven't already, and be sure that you have bootable media that will allow you to restore the image. That way, if something goes wrong you are ready to recover.

You can mirror the drive in the Disk Manager instead of in hardware; I know that that will work non-destructively. It could be a pain to convert your system drive to a dynamic volume, though, and it is known to slow down the system: While the System and Boot partitions (e.g. Drive C: ) can be mirrored using dynamic disk it's really not a good idea as it tends to degrade performance severely by trying to mirror the pagefile activity. (from...
I don't have experience, but I can give you two words of advice.

First, make an external image backup of the system drive, if you haven't already, and be sure that you have bootable media that will allow you to restore the image. That way, if something goes wrong you are ready to recover.

You can mirror the drive in the Disk Manager instead of in hardware; I know that that will work non-destructively. It could be a pain to convert your system drive to a dynamic volume, though, and it is known to slow down the system: While the System and Boot partitions (e.g. Drive C: ) can be mirrored using dynamic disk it's really not a good idea as it tends to degrade performance severely by trying to mirror the pagefile activity. (from http://stoicjoker.com/Tutorials/DynamicDisk_101.htm , an oldy but a goody)

And, as I said, I have no experience with what you are trying to do. Do you have a similar development machine on which you could test it? That's what I would do at home if I wanted to check. Pull out my production drives, put in a new pair, install XP on one, and then try what you said. With the new install, I would have to be sure to include the AHCI/RAID drivers.

Edit: Arrgh, it turned "C colon end-paren) into C smiley.
 
Solution

jbo5112

Distinguished
Jul 19, 2006
74
8
18,645
If I had hands-on access to the machine, I would just shut down everything, take an image of it all and go for it, but I'm not that fortunate. I have backed up all the important files from the system drive, but that is about the extent of it. I have not made an image of it.

Any data I copy off of the machine, I have to ship across the internet (10-12Mbps link), and I do not want to make the customer's technician do any administration work if I can avoid it, since we're charging a fee to administer the system. The imaging (or other backup) software would have to work on a live copy of Windows and either write the backup to the drive I'm imaging or write it to a location over the internet. I might be able to add a VPN to the mix, but messing with the networking on a machine I can't touch isn't appealing.

I do not have a similar development machine either, since we have moved everything else to Linux.
 

jbo5112

Distinguished
Jul 19, 2006
74
8
18,645
Well, since no one answered, I decided it looked okay. It was able to rebuild the system disk into a RAID-1 volume on a live system, no reboot required. So far no problems. I haven't tried rebooting the machine, but that only happens every few to several months anyway.
 

NSTG

Honorable
Mar 25, 2012
3
0
10,510
Hey, I just found this forum. I have a customers machine which has 2 drives and an intel entry level server board setup on raid 1. It is a hardware raid. The drives work, but they are full. I bought 2 new server drives and removed drive 1 from the array. I then put a new drive in its place and hit ctrl+e when the prompt comes up. The hardware controller immediately sees it and rebuilds the old drive onto the new one. I test after with the new drive turned into drive 0 by itself. Everything works great. Now I need to resize the partitions. I remove the drive and put it in another machine with the free version of EASEUS Partition Master installed on Win 7 OS. I resize the partitions and it goes well. I put the new drive back in the server to retest. It begins to boot, but crashes after showing the windows server is booting screen. A safe mode boot shows acpi.tabl as the crash issue. If I tell the OS not to reboot after crash, I get "STOP 0x000000ED UNMOUNTABLE_BOOT_VOLUME". Changing the BIOS from RAID to IDE allows the machine to boot normally. Changing to AHCI also produces the error. Keep in mind that everything worked until I resized the drive. I am in the process of strating the rebuild from the original drive over again since I know that works. I will just need to resize hopefully, but I am not sure how now.

Thanks in advance.
 

jbo5112

Distinguished
Jul 19, 2006
74
8
18,645
A possibility might be the hardware not resizing the RAID device. Depending on the meta-data, it could possibly be defined as something like a 1TB RAID-1 mirror on a pair of 2TB drives. Another possibility is the second machine is somehow reconfiguring the drive as it resizes or giving it a different identification to your RAID. I wouldn't expect either to happen, but the second seems a little more probable.

I would get the array rebuilt onto the larger disks like before, then resize the partition on the server itself. I thought newer versions of Windows included support for that. If not, you can probably use GParted to resize the partitions, assuming it is a real hardware RAID and not hardware that does the RAID in software. It's available as a Linux Live CD. You just burn a copy of the ISO image to a disk (as a disk image, not a file), and boot from it.

It should automatically load a graphical desktop environment with the partition resize program, and some other tools. If it shows you having two identical hard disks then you actually have a software array instead of real hardware. A lot cheaper RAID hardware actually does the RAID in software, even though there is some BIOS support for configuration (aka Fake RAID). It might still be worth trying to resize each disk individually, but it's not as likely to work.
 

NSTG

Honorable
Mar 25, 2012
3
0
10,510
Hey jbo5112,

Thank you for responding. I wish I had seen that you emailed sooner. I ended up figuring out all that advice you gave on my own. You are completely correct and this is exactly what I did. Even using G parted! The ABSOLUTE simple rule is DO NOT remove the drive from the array, or you will lose the meta data where the RAID config lives. When I resized out of the array, it wrote over this data with the MBR and the begining of the c: partition. The drive will boot out of RAID, but not in it. After getting drives into RAID, I cloned the data from this drive to the array using a Rosewill RCW608. This alllows you to connect a drive via USB and therefore keeps it out of the array. I used Acronis to perform the clone although any clone program such as clonezilla would work. I test in between each step to make sure that the server comes online. Next, i used GParted to resize and again other software that performs the same function will do just fine. The important thing here is that the META data that holds the RAID config at the beginning of the drive is hidden by the RAID controller so it is not overwritten. I also ran into an issue where the raid controller was still configured to run with the old drives. Windows would begin to boot and then crash. I went into the RAID config and did a new config for the new drives. This worked, but is kind of scary considering that the data is already on the drives. The important thing is to only configure the new drives into the array, but DO NOT initialize them. That would overwrite the data. Also, you cannot just take a non RAID configured drive with data and just throw it in. You have to have started the drive on RAID with no data.