Take the 2-minute tour ×

I'm attempting to recover from a failure of my raid volume after upgrade from ubuntu 10.04 to 12.04.

I've tried re-creating the array in any combination of 5 elementary volumes with one replaced with "missing" to ensure that the array wakes as degraded.

Next, with help of dd if=/dev/md1, I made a backup of the first 256kB of each version of my reassembled raid for inspection.

To my astonishment I see only 5 distinct version of the first 256kB chunk out of possible 120 permutations on a 5 disk set or even 24 on a 4 disk set. I assume the 4 disk set number should be correct, because 1 volume must be set as missing and henceforth shouldn't be accounted for.

How can this occur?

share|improve this question
@Adrian Thank you for your edits. It really surprised me to see, how many mistakes I did. –  Adam Ryczkowski Oct 10 '12 at 6:52

1 Answer 1

The Linux RAID Wiki has a script permute_array.pl designed to go through all the possible permutations and find the "right" one. You should be able to use this to begin recovering your array.

share|improve this answer
Of course I did. My work is based on this script. The script in raw form cannot help me though, because on top of /dev/md device I have dm-crypt volume, which subsequently has LVM and then go filesystems. I suspect, that my system is slow in updating the contents of the /dev/md preseneted to cryptsetup and because of that many permutations are in fact skipped. That's why I made this experiment with dumping and hoping to see the raw "LUKS" signature somewhere. And... I see only 5 distinct versions. –  Adam Ryczkowski Sep 14 '12 at 10:13

Your Answer


