Issue summary: Had problems with 1 of a 3 drive software raid array. Harddrive is not physically bad, but the array failed today on boot. Used “raidhotadd” to get all of the raid5 partitions (md0 – md3) up and running with the exception of the most important partition (md4).

I accidentally tried to “raidhotadd” 2 of the 3 drives from md4 into md2. Now hdb2 and hdc2 think they are part of md2 when they actually should be part of md4. This is not reflected in /etc/raidtab but must be stored somewhere I cannot find. (superblock?)

This leaves only 1 drive in md4 and therefore md4 will not start even degraded. md4 is a RAID 5 partition, which is supposed to include hda2, hdb2, and hdc2. Since RAID wont start on md4, I cannot simply use “raidhotremove” and “raidhotadd” to correct this mistake (assuming that would correct the mistake).

I used “raidsetfaulty” to deactivate hdb2 to stop interfering with the start of md2. (because hdb2 belongs in md4 and raidhotremove refuses to get hdb2 out of md2 without deactivating the partition)

lsraid reports md0 – md3 correctly. However, typing “lsraid –A –d /dev/hdb2” or “lsraid –A –d /dev/hdc2” shows them as a member of md2 still. They should be in md4 instead.

My question #1: Did my mistake hose the data in both hdb2 and hdc2 making it impossible to recover md4 (my most critical partition containing /home) or is hdb2 and hdc2 merely confused about where they belong but still within them is my critical data making recovery of md4 possible?

My question #2: If recovery is possible, should I then “mkraid /dev/md4 –f” and hope for the best or is there a safer way to _save_ my data? Or perhaps there is a way to make hdb2 and hdc2 realize again that they are part of md4.

Keep in mind that since md4 won’t start I can’t reverse the mistake with raidhotadd.

If I failed to provide any details please let me know and I will elaborate further.

Thank you.