7

I am wondering how safe a hardware RAID configuration can be.

In case of a HDD failure, I just need to replace the damaged hard drive. What if the server motherboard crashes? Is it possible to get the HDDs and put them in a whole new server without loosing all the data?

In order words, is there any critical data stored into the RAID controller and is the configuration hardware dependent?

This is about on-board RAID controllers.

  • It appears that if you use a hardware RAID controller then you should able to easily migrate but if the array is using the mobo onboard controller then you may need to reinitialise the array (and thus each disk) to recreate the array... – Kinnectus Aug 2 '16 at 12:50
  • I guess I am talking about an onboard controller such as the HP Smart Array B140i found on HP servers – nowox Aug 2 '16 at 12:52
  • Worth mentioning that Linux md RAID5 is fully portable. I had to do this myself after a BIOS update bricked my Intel DZ68DB mobo. I connected my four 3TB hard drives with a RAID10f2 / and /home, and RAID5 /data to an old Core2 motherboard, and my Ubuntu install booted and worked just fine (after a tweak to mark the MBR-compatible backwards compat partition table "bootable", since the old mobo doesn't boot GPT.) – Peter Cordes Aug 2 '16 at 17:20
10

Repeating what Mark Henderson said on Server Fault:

If you have a dedicated RAID controller that plugs into a PCI port, then you should be fine. All of the RAID data will be stored on the controller, with matching meta-data on the drives. Then you can just move the whole thing into another server. Some controllers will even let you shuffle the drives around so that they don't need to go back in the same order that they came out in (particularly useful when you have 14 disks).

If you are using software-based RAID (i.e. in Windows or Linux), then this too can be transported between machines. With Windows, when you put all the new disks in, it will ask you to import them and they should just start running without a hitch. With Linux I don't know the procedure but I suspect it would be something similar.

If you are using an on-board RAID controller, this is where things can get tricky. You have specified that you will be moving between different hardware, so if you were moving from say an Adaptec RAID controller to a 3Ware controller, then the chances of survival are minimal. If both the boards have the same brand of controller, they may be able to read the meta-data off the disks and re-create the array.

If you're VERY brave, you can create a new array on the new controller, and make sure that you use the exact same settings as the previous controller used (same stripe size, etc), and when it asks you if you want to initialise the array, say no, and hope for the best. I've had this work with a RAID0 and a RAID10, but never with a RAID5.

So the short answer is - if you want to be able to move it around easily, invest a hundred bucks into a proper RAID controller and just move the whole thing over in one hit.

I personally use hardware RAID and have not had to do this, but I have been considering moving my 2x2TB hard drives to NAS for the household to use. Even with what they said, I would still personally take a backup if possible of at least your most important files just in case. Its always better to be safe than sorry.

To answer the question of what happens if the controller fails and you want to move the hard drives over to the new controller. You need to import these foreign hard drives into the new system. RAID stores the configuration on both the disks and the controller.

The exact method of doing this will be down to a per controller basis, but it appears you want the hard drive in the same slot numbers they were in, and you want to have a data backup on standby in case it goes awry. If you can get an identical controller, this seems to help.

It is important to remember with RAID you want a backup to go along side it. RAID keeps you going in the event of a drive failure. Backups protect you when it goes catastrophically wrong (Or you need to recover that file you accidentally deleted.)

| improve this answer | |
  • then the chances of survival are minimal... Not a really good news though – nowox Aug 2 '16 at 12:57
  • No, but now you can move forward. If you have the PCI slottage available, I would grab a raid card, I personally use a highpoint and have not had a problem, but there are plenty out there. My one downside for them is I have not found a way of turning off the splash screen (It may not even be a thing!) – Lister Aug 2 '16 at 12:59
  • Yeah but in this case if the RAID card fails I'm doomed too. I think the big question there is what is the most reliable solution: mdadm, on-board RAID or PCI RAID... – nowox Aug 2 '16 at 13:01
  • 1
    I've updated my original answer to cover your controller question. Remember there are two parts to data, the resilience to hardware failure (RAID) and the restoration of data (Backups.) You need both to be safe. – Lister Aug 2 '16 at 13:20
  • 3
    @nowox What Lister said... RAID is for uptime, backups are for recovery. – a CVn Aug 2 '16 at 18:31
3

I once tried this as part of a disaster recovery test. As Lister already pointed out, the only guarantee of success is using a dedicated RAID controller and have a spare one (or two) waiting for their golden moment. In my particular case I tested two different scenarios: Move only the disk to an other identical machine. Move the disk an the controller. Both went flawlessly.

If your business case dictates such a quick exchange of hardware it is almost certainly worth it spending a couple hundred bucks for an easy swap solution. If you just have two hours of work instead of four, it already paid for itself. If you find it difficult to justify the cost, you might consider software raid instead, while it is cheaper you need to take a performance hit into account.

I strongly advice against using on-board of a mother board. Most solutions are only half backed and have all sorts of quirks and pitfalls. Like only one halfe of the sata ports can actually be used in a raid, or using the host cpu for parity operations, making the host almost unresponsive during a rebuild and other fun stuff. More than once I saved a system by just grabbing a replacement controller from ebay, even long after EOL of the product. That might be difficult with many consumer grade motherboards

| improve this answer | |
  • Thank you for your interesting feedback. It seems the best advice is to prefer a dedicated RAID controller over an onboard controller. However I feel not comfortable with the idea of buying a server such as a HP DL120 (~1k$) which includes a RAID controller, and adding a PCI controller (~500$) which cost half the server price. The alternate solution is to buy a second server as a spare-part waiting for its golden moment, or hoping the next server generation would be compatible in case of failure – nowox Aug 2 '16 at 14:24
  • 1
    @nowox: That's where software RAID comes in. Historically, hardware RAID solved the performance bottleneck of weak server CPU's. But now that multi-core multi-Ghz CPU's are even common in cheap desktops, the idea of having a separate processing core that's usable only for RAID calculations becomes rather strange. Another feature of hardware RAID was battery power, but that too has a more generic version: an external UPS. – MSalters Aug 2 '16 at 14:52
  • @MSalters Good point. If you are buying actual server blades that a different matter. My remark about on-board raid was mostly concerned with what is shipped on retail motherboards. (You see some crazy stuff over the years) If you get an HP server blade they either PCI mount one of their own PCI card or solder the same controller right onto the PCB. You won't have any issues whit bad engineering with these. Maybe it is best to keep a spare one around then, that also covers other failures. Other solutions would be way more expensive and complicated. (Like a SAN) – paradoxon Aug 2 '16 at 15:26
  • I actually like SMelters point of view very much. If the server only does storage that is very true. – paradoxon Aug 2 '16 at 15:37
  • @paradoxon : Doesn't only apply to pure storage servers, e.g. a Video Management Server for security camera's might do transcoding, event analysis & reporting as well. You might need a quadcore just for the compute capability, but buy a hexacore or octacore to do the RAID5 processing on all those videostreams. – MSalters Aug 2 '16 at 16:33
2

I've done that.

I did not know what the stripe size was, or whether there was some other structures on the disk to control things. So I used a software product that, among other things, can recover raid drives. I gave it the individual drives and it told me what the stripe size was and let me copy the files to another drive.

When I setup the motherboard raid settings for those drives, I used the stripe size and order it had told me, and it worked! But if it hadn’t, I would have just reformatted and restored from the backup.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.