How to recover raid? mount: can't read superblock

Solution 1:

Thanks to all I recovered the data.

I ran sudo mdadm --verbose --assemble --force /dev/md0 /dev/sdc1 /dev/sdd1 to assemble the array from the two remaining good HDDs and it worked!

Then I formated sdb and re-added it to the array with sudo mdadm --manage /dev/md0 --add /dev/sdb1 and I am going to buy a new one to replace it soon. Also I am looking on backup solutions..

Solution 2:

If you gave input/output errors i think you have one or more bad disk. You need to check SMART attributes of all disks by command smartctl -a /dev/sdx. Check status and Update Time of each disk by command mdadm --examine /dev/sdx1. Choose one worst disk witch has more bad smart attributes and oldest Update Time and remove it from array.

If you have two bad disks you need to choose less bad disk and it must be recovered to new disk by program ddrecovery. Remove this bad disk and insert the new recovered disk to the same place.

Then you will can restore RAID 5 array with one missed disk (by example sdc) by command:

mdadm --verbose --create /dev/md0 --chunk=512 --level=5 --raid-devices=3 /dev/sdb1 missing /dev/sdd1

Be sure that chunk parameter is the same as on good disks.

Also you have bad sda disk, which isn't a member of RAID 5 array.

Be carefully with each command. There's only way to restore your RAID array.

Read this by example.