I'm not too familiar with RAID arrays, but I plan on making a RAID 5 array for a fileserver. However, once I get the RAID running for a while, I have plans to move it to another machine (with completely different hardware). Is it possible to move an array from machine to machine without having to break the array and place the data on it again?
3 Answers
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.

- 68,823
- 31
- 180
- 259
-
Answers all my question, thanks a lot. I was planning on going from an onboard to another onboard or a PCI controller, but now I think I'll just wait and assemble the RAID in the final location. I'd rate you up for this, but I'm more of a StackOverflow person and don't have enough rep here... – MGSoto Sep 03 '09 at 06:58
-
It's all good :) – Mark Henderson Sep 03 '09 at 08:16
-
Did this yesterday except to an identical 3Ware raid card. System booted, picked up settings from harddrives and ran a verify on both raid 5 arrays. Worked perfectly after. – Ryaner Sep 03 '09 at 09:01
I've done it, but only on nearly identical RAID cards. And on RAID cards that store RAID info on the disks. This is so the foreign RAID card can detect that these new disks are in fact a set and will treat it as such. Firmware levels on the RAID cards can affect how possible these kinds of moves are. Some cards just won't allow this at all.

- 133,124
- 18
- 176
- 300
Assuming that you are moving the controller AND the drives together, this should be no problem. Particularly if you keep the drives in the same ports.
If you are not using the same controller, or you are using a software RAID, then it really depends on the exact software/hardware you are using. The controller needs to handle what is called "Array roaming", though from looking at some product pages and datasheets it doesn't look like this is frequently advertised. Basically, the array information needs to be stored on the drives, not on the controller. For example, I know the 3Ware controllers, and ZFS and Linux "md" supports this.
So, either contact your RAID vendor, or let us know exactly what hardware/software is being used.
In any case though, make sure you have a backup of critical data. I tried moving a software RAID or LVM group to another machine a while ago and couldn't get it to come back up. In this case it was just data I was transporting from one location to another, so I didn't pursue it too far.
Sean

- 10,720
- 3
- 25
- 28