botched RAID, now e2fsck or what?

Hi all,

Somehow I managed to mess with a RAID array containing an ext3 partition.

Parenthesis, if it maters: I disconnected physically a drive while the array was online. Next thing, I lost the right order of the drives in the array. While trying to re-create it, I overwrote the raid superblocks. Luckily, the array was RAID5 degraded, so whenever I re-created it, it didn’t go into sync; thus, everything besides the RAID superblocks is preserved (or so I think).

Now, I am trying to re-create the array in the proper order. It takes me countless attempts, through hundreds of permutations. I am doing it programatically, but I don’t think I have the right tool.
Right now, after creating it and mounting it with
mount -t ext3 -n -r /dev/md2 /media/olddepot
I issue an:
e2fsck -n -f /media/olddepot
However, I cycled through all the permutations without apparent success. I.e., in all combinations it just refused to check it, saying something about “short read” and, of course, about invalid filesystems.

Does anybody know a better tool to check whether the mounted partition is a slightly damaged ext3 file system? I am thinking about dumping ext3 superblocks, but I don’t know how that works.


(I am on the latest SuSE, 11.2, with the latest mdadm available.)

I posted parts of the solution on the linux-raid and ext3-users mailing lists.
'Re: Recovering the order of drives after RAID5 mix-up was: RAID5’ - MARC