In fact it is not as scary as it may sound. Information about RAID array configuration is stored on HDDs that are part of array. Usually it is stored on first or last sectors of every drive and it is recorded there by RAID controller’s firmware at the time when array is being created. Configuration block is duplicated on every drive in array. Except for the drive number, the service data on all drives have to be identical and you can use it when recovering the array. Accordingly, all we need is to take a new controller and connect the drives in the same order in which they were connected to the dead controller.
But it is all but theory and every theory has to be proved or disproved in practice.
I have 2 servers with integrated RAID controllers:
HP ProLiant DL380 G7 with controller P410i
IBM x3650 M4 with controller ServeRAID M5110e
And 2 controllers:
Adaptec 6405
LSI Logic 9260-8i
Overall, the results of testing didn’t surprise me:
Replacing controller to Adaptec on DL380 — controller saw the array and even tried to start the system from it (though we got kernel panic here due to absence of controller driver in already installed system), but anyway, data integrity has not been disturbed and can be recovered. Tests were performed on both RAID1 and RAID0. With LSI it was sad and simple — controller did see drives but didn’t see the array; rebuild and other tricks didn’t yield favourable results.
The x3650 scenario was reverse. Since M5110e was built on LSI Logic chip, when we replaced the controller onto 9260-8i, it saw the array in the same way as in the first case and we were able to recover data safe and sound; however with Adaptec, the array refused to be recognized and no tricks helped changing the situation.
It may be concluded that array’s service information is ‘tied’ to a certain brand of RAID controller manufacturers. Hence, my recommendations are as follows: try to avoid using built-in RAID controllers because selecting a replacement in case of failure would be at least time consuming and could end up unsuccessful. Yet, a different story it is if you use external controller of a certain manufacturer. Manufacturers of expensive controllers (LSI Logic, Adaptec, Intel, Promise) are rather conservative — same models are being manufactured for a long period of time and there is virtually a 100% chance that your array will be detected by an updated version of your controller and will be fully operational (generally speaking, this is the way data recovery companies work; they either use similar controller or use it as a donor to recover operability of the old controller, and third option here — transfer of volatile memory (CMOS) of failed controller to the new one in order to save data about RAID array).