Manually recovering a RAID5 array, how to approach?

HopelessN00b asked:

Basic situation:

I’m looking to manually reconstruct a RAID5 array for which the controller has lost the configuration. To complicate matters, the volume is encrypted with full disk encryption (to which I have the key, at least), and the RAID card used is not (IMO) very enterprise-grade, lacking the options to “do it manually” when things go wrong, and now I’m looking for how to remount this array (or manually reconstruct it from the valid disks I have).

Back Story:

We have/had a file “server” at a small, remote site running on a high end workstation. The file share was hosted from a single volume spanning 8 SATA disks on an Adpatec 3805 RAID card, configured in RAID5. (I know, but wait, it gets better.) Since this was a remote site, connected by a T1, and only contained user files we don’t care about, it wasn’t backed up. Fortunately, we care about security, so all the volumes on the system were encrypted with full-disk encryption.

In any event, someone cut power to the machine about a week ago, which resulted in the volume showing up as failed on the controller, and the array showing up as missing or missing required members. All the disks are functional, and, as far as I can tell, not corrupted. Oh, and while the data’s not valuable enough to backup, it turns out that it’s too valuable to lose, so I get to figure out how to get the data back, so we can put it on the newish replacement server we’re sending out there, two weeks too late (which will be backed up this time, in addition to being a real server, at least).

Work Thus Far:

Normally, on a RAID controller in a server, I’d just reload the array config from the disks, overwriting the invalid config on the controller and be done with it, but this RAID card doesn’t have that option, and all two of the available troubleshooting/array recovery options suggested by Adaptec have been tried. (Try to force array online, check to see if array is manageable through BIOS-level configuration utility).

Anyway, before doing any further work, I’m currently taking disk images of the drives, for both the sake of having something resembling a backup as well as giving myself the ability to do testing and work that might otherwise destroy the data.

Solution?

Given that Adaptec’s utilities are not being helpful, and don’t contain a manual option, what options do I have/how can I approach getting this array and its volume mounted again so I can decrypt the volume and suck the data off?

I’m afraid my low-level RAID knowledge is not that great, but it seems to me that since I have the drives (and the order in which they were connected) and know how the array was configured, I should be able to pass that information to a program, (mdam, perhaps?) mount the array, decrypt the volume and pull off the data fairly trivially, (assuming it’s not corrupt) but I’m having trouble finding how to actually do that, short of “buy our software” or “use our recovery service.”

My answer:


OK, so it looks like you can use the arcconf command line utility to force the state of the logical drive. An example:

arcconf setstate 1 logicaldrive 1 optimal advanced nocheck

This might get you to the point where you can decrypt the logical drive, or it might do nothing. But from reading the manual, it’s the next thing I would try.


View the full question and answer on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.