If you read my previous posts, you know that I experienced what I’ll call a computer-instigated heart palpitation as I rebooted my computer following an ‘error’ presented by the system two weeks ago. I had two flashing drives from my RAID saying degraded which was bad enough, but following it, my system seemed to fall over when booting. With that in mind, and since the screen flashed very quickly, I immediately turned off the system and didn’t touch it again for a week and a half while I ordered two of the following pretty new drives:
Seagate Barracuda ST3320418AS 320GB 7200 RPM SATA 3.0Gb/s 3.5″ Hard Drive
With these new drives in place, I powered on the system and loaded my RAID controller to look at the presumed catastrophe that would surely be my RAID stripe. As it turns out, my RAID stripe was OK, though it was in dire need of a good Windows chkdsk to resolve some consistency issues. My mirrored 1TB drives however had decided to become two rather than one, leaving me with two identical degraded mirrors. So much for quality from my NV RAID controller. I promptly destroyed one degraded array and started the rebuild to add the disk into the other. Once complete, I moved over to my remaining RAID stripe to keep from experiencing any further catastrophe.
With the mirror safely in place again, I rebooted the server, and in safe-mode, quickly set the C drive (my stripe) to be checked on next boot. After this completed, I grabbed my trusty Ubuntu Feisty CD, and loaded the bootable environment.
I cleared enough space on a USB drive to allow a partition to be copied (about 80GB) and used GParted to make the copy (System > Administration > GParted) from stripe to USB drive. Now I’ll make a clear note that this was a Windows XP system partition, existing on a RAID0 stripe. Since it’s Nvidia raid, that means Ubuntu picks up the RAID controller, auto-maps the raid-mounts, and also maps the SATA drives. This is important, because you need to capture the data from the /dev/mapper/nvidia_?????1 volume that equals the size of your RAID array. If I copied the array from the ‘/dev/sda1′, etc. I’d have captured half the info needed and lost the rest.
Once the partition was copied, I booted back down and moved to my RAID config again, dropping the RAID0 stripe and setting a mirror up in its place. This means everything on the disk was lost at this point! Thank goodness we backed it up…
From here, I booted back into Ubuntu CD, loaded GParted, and started the copy back from the USB drive over to the new Mirror. This also meant setting the msdos partition style and setting up the new partition (GParted is a champ at this!). I set the boot flag on the partition and rebooted, removing the CD.
…nothing happened.
I loaded my NV config, set and reset the array for bootable. nothing.
It dawned on my, I had to fix the MBR for XP, so I grabbed my XP disk and booted. It wouldn’t see my arrays, either of them, but was happy to find both of my USB drives. I didn’t have a floppy laying around with my RAID controllers, so I checked the MFG website, no downloads. argh. That’s annoying.
I ended up going back to trusty ole Ubuntu, and a quick google on my laptop found out about ms-sys, a tool designed for just this purpose. After a few debilitating attempts, I found that I had to download the tar for ms-sys from their sourceforge site because Ubuntu no longer carries it in their Universe repo:
http://ms-sys.sourceforge.net
I followed their installation, but quickly learned that Ubuntu is missing something else needed to complete the install, a toolset called ‘gettext’. I quickly ran ‘apt-get install gettext’, completed the install for ms-sys and ran the process to fix the MBR:
ms-sys -m /dev/mapper/nvidia_?????
note: you’ll find at least two maps for an Nvidia RAID array, the one for the array, and the one for each partition, allocated by a number following the seemingly random NV ID.
Once complete, I reset the boot flag on my volume, to be sure, and rebooted, to see a successfully loading XP on my new mirror array.
lesson learned, read the friggin controller info to determine what’s failed, but always have a backup drive around in case of an issue. 2x 320GB drives are now in store, in the event of such a failure, or a decision to just move over to Win7 or Linux, who knows… nobody’s paying me for the move.
Please be aware that all of the tools I’ve listed today are manufactured by their respective developers and are freely available online. I make no claim to ownership, nor do I want it. If this document helps you, I’m glad, if it doesn’t, I hope you find what you need elsewhere.
Feel free to comment, and watch for future updates.