views:

260

answers:

2

I have a project where I'm collecting data in vehicles on hot swappable SATA drives in low horsepower windows machine. Drives are 750G and 1 Terabyte and will likely get larger or expand to multiple 1TB drives.

After collecting the data we fedex off one drive for central collection and wish to have a backup copy remain. Initially the thought was to put two drives in a RAID configuration and send one drive while keeping the other.

I've started looking at the RAID controllers and like the fact that they look like one drive to the OS and the hardware creates the copy but have tinkered enough to see that braking the two RAID 1 configured drives apart does not work.

So, I'm trying to learn more about some kind of mirroring of one SATA drive on another SATA drive that I could split apart and know I have a backup copy should fedex lose a drive. The data collection PCs in vehicles are only powered up and on during the day so making a copy after data collection is not an option.

The engineer in me says I'd like something like RAID lite which would do all the mirroring but then allow me to split them apart. So far initial googling hasn't come up with anything other than software mirroring systems which we would like to avoid.

This use case seems so in the vicinity of what the RAID systems are set up for that it seems there must be a solution but I've so far been frustrated trying to ID a solution.

Anyone with suggestions for a hot spare RAID like mirroring functionality handled in hardware ? I find myself thinking it is ~"RAID .5" (my made up terminology for what I want) where it mirrors the data but doesn't offer to recover when one drive fails.

Update 1: I considered labeling this non-programming as someone else has kindly done. I didn't because software is an option, it is just not a good one because of the volume of data and expense of writing to both drives where the RAID configuration I believe (at least in theory) has minimal overhead.

It seems like the more I research about RAID and about software mirroring that there must be a middle of the road option here which is hiding that I've not found yet.

Update two: Will try to answer some of the key questions raised by Die.

Details about failing ? I was configuring arrays on one vehicle's PC, copying data onto it, removing one of the arrays drives and taking it to another machine to see if I could always read the data. More often than not, I could not read the data but I could sometimes. I think you suggestions on making sure the system I put it into is not looking for RAID may be the key piece I was botching. I will test this and make sure I am just taking one, actually both but one at a time, and put them in any pc which is not looking for a RAID array.

I have seen the warning on boot when one of the drives fails or is removed. I don't remember for sure if the times it succeeded in allowing me to see the data if I got the warning but I will find out.

Warning number 2 ? I appreciate the heads up. I've not managed to brick one yet and will be sure not to do this in the future.

so that the two drives are now out of sync, don't put the second drive back in!: I have done this and can confirm the little RAID controller hates me for it. At last check with 2 750G drive it has been trying to synch them for 5 days. At last check it was at 75%, we've let it run just for kicks to see if and when it ever finishes.

The above applies to RAID 1 (mirroring) only.: Yes definitely. It is the config I am working with.

I will now retest specifically splitting the drives and then verifying they can be used individually in a completely different non-RAID configured system. This should have been obvious to me as I know it was working sometimes and likely it depended on the config of the system I was putting a drive from a split array into. I'm expecting success and will update this to confirm before selecting this answer.

Tested: I reran several of my tests using a PC other than collection PCs which have the same RAID cards in them and confirmed that you can split these RAID1 drives as long as the system you put them into is not configured to look for a RAID drive. This gives me two copies of the same data, one to use, and one set aside in case of problems.

+1  A: 

"breaking the two RAID 1 configured drives" should work. Although I have encountered several buggy RAID controllers over the years.

If your RAID controller is working properly, and you're configured for RAID 1 (not RAID 0+1!), then yes, you're supposed to be able to pull a drive, put it into another computer and read all of the data. I've done this several times, when recovering from a failed computer.

"RAID .5" I've never heard of such a thing. I can tell from context that you're not talking about RAID 5, which would definitely not do what you want, since in RAID 5 each drive has only a small fraction of the data, and is useless outside of the RAID array.

If your hardware RAID isn't working, there are software RAID options. VISTA has this built in. You might check this out http://technet.microsoft.com/en-us/library/cc738132.aspx I haven't used Windows "dynamic volumes" myself, since (1) you can't boot older OSes or (2) have multiple boot partitions, and also (3) it appears that some of the features are only available on 32-bit Windows.

If that doesn't work for you, then you'll have to seek out 3rd party software.

Edited to add: You don't give any details how spliting the drives is failing. I'm setting the "community wiki" checkbox on this so you can edit in here if you want.

If you remove a drive from a RAID 1 array and reboot, It should just work. Most of the RAID controllers I've used will pause on reboot with an error message about the array being in a critical state, and require you to cntl-Escape or something to continue booting, but then it should work fine with no loss of data. This is the whole point of RAID mirroring! If that doesn't work, you've got a broken RAID controller. Please post their name here and in as many other public forums as possible to shame before the whole world and warn others not to by that brand.

You should also be able to take the drive you removed and put it into another machine and read it or even boot it. It should contain an exact cylinder-by-cylinder copy of all the data, including the partition table. There are a couple of potential gotchas that come to mind.

1) The RAID controller has written some magic information somewhere in a secret location, probably in the first cylinder after the boot logic, or possibly on the very last cylinder after all the data. This includes at least some sort of GUID to uniquely id the drive to the controller so that it can remember which RAID array it was part of and how that array was configured. If you plug the removed drive into another RAID controller -- the same brand or even another brand -- it will see those bits and possibly get confused. To be safe, plug the drive into a port that's not under RAID control or disable motherboard RAID control on the receiving system.

2) If you remove one drive from the RAID array, and then plug it into the same computer as a seperate drive, (Say you plug it into a port that the RAID controller doesn't see), then there's about a 50% or more chance that you will brick the system on reboot, and have to reinstall the OS. This is not a RAID problem: you can get the same effect with Norton Ghost or Partition Magic. The general rule is never boot a Windows system with two exact copies of the system partition. What I think happens is that Windows gets confused as to which of the two copies is C:. (Note that Windows does not support changing the drive letter of the system partition. Also, it stores information in the registry to associate a disk partition's hardware id to the driver letter so that it assigns the same drive letters when you reboot.) Instead of assigning drive letter C: to the copy being booted, it can be fooled into deciding that the other identical copy is C: and then proceed to royally trash the registry and generally frack-up the system so that it can't be booted until you reinstall the OS.

3) If you remove one of the drives, then use the system for some period with only one driver (in the "critical array") state, so that the two drives are now out of sync, don't put the second drive back in! Technically, this could work, but it seems to be asking too much of most RAID firmware. Chances are the manual (alway RTFM!) says not to do this without completely erasing the drive first.

The above applies to RAID 1 (mirroring) only. RAID 0, RAID 0+1, RAID 5 are all different.

Die in Sente
I stuck this comment in the wrong place originally. My attempts to split drives so far fails over 50% of the time. Are you sure I should be able to split RAID1 drives ?
If by splitting the drives, you mean taking one of them and using it outside of the RAID array, yes. A couple of additional thoughts need more than 300 chars, so I'll edit the above.
Die in Sente
I will try to edit above, this is now greatly helping me :-)
I can't seem to find a way to edit your answer inserting my answers to your comments so I will update my question at the bottom. The "community wiki" button is gone and the text is now in light gray. Can see the revisions too yet can't find an edit click anywhere.
+2  A: 

Setting up and breaking a RAID mirror to clone a drive is using dynamite to swat a fly.

You can use dd: dd if=/dev/sda of=/dev/sdb bs=2048

Or use Clonezilla, Ghost (bootable floppy or CD), Ranish Partition Manager, or a million other tools.

No cloning here unless you can clone 1TB while the driver sits and waits at the end of his 8 hr day. What we want is a hot backup. dd won't help on windows machine. The machine is being driven around doing data collection and is low horsepower machine so want HW solution (why looking @ RAID).