You may please use the following steps to repair a software raid. Let us assume the server have two HDD’s /dev/sda and /dev/sdb . The second HDD got corrupted and replaced. Now you need to rebuild the array and start sync process.
step 1 : Build the partition table same as the first disk,
# sfdisk -d /dev/sda > partition.txt # replace 'sda' 'sdb' -- partition.txt # sfdisk /dev/sdb < partition.txt --force
Now the new HDD /dev/sdb have the same partition scheme. Let us check the current RAID status from /proc/mdstat
# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] md1 : active raid1 sda1[0] 20971456 blocks [2/1] [U_] md2 : active raid1 sda2[0] 955260864 blocks [2/1] [U_] unused devices: <none>
See here there are two raid partitions /dev/md1 using sda1 as raid1 and /dev/md2 using sda2 as raid1 too. Raid one need two partitions . So let us add the new partitions to the raid as follows,
step : 2 – Add new HDD’s to software raid ,
# mdadm /dev/md1 -a /dev/sdb1 # mdadm /dev/md2 -a /dev/sdb2
Now let us again check the status,
# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] md1 : active raid1 sdb1[2] sda1[0] 20971456 blocks [2/1] [U_] [=================>...] recovery = 88.8% (18625152/20971456) finish=0.5min speed=70875K/sec md2 : active raid1 sdb2[2] sda2[0] 955260864 blocks [2/1] [U_] resync=DELAYED unused devices: <none>
Now you can see that the mirroring started.