I have a failed (failing) hard drive on my raid5 array. I have documented the steps needed to replace the failed disk with a new disk. Disk is most likely ok but it is showing read errors. Better be safe than sorry!
View Array Status
cat /proc/mdstat
Remove Failed Disk
mdadm --manage /dev/md0 --fail /dev/sda mdadm --manage /dev/md1 --remove /dev/sda
Shutdown and replace disk with new one
shutdown -h now
Copy partition to new disk
sfdisk -d /dev/sda | sfdisk --Linux /dev/sda
Add New drive to pool
mdadm --manage /dev/md0 --add /dev/sda
If all goes well the array will start to sync.
Reference