Heres the whole cake. I think I got the setup you trying to do.
Make a partition on the 3rd disk with the same size as in the mdraid.
run command
# mdadm /dev/md0 -a /dev/sdc3
where md0 is the raiddevice and sdc3 is a satadisk partition 3.
If you run the command
# mdadm --detail /dev/md0
You see something like this
--------------------------------------------
/dev/md0:
Version : 00.90.03
Creation Time : Tue Dec 26 19:16:41 2006
Raid Level : raid1
Array Size : 20972736 (20.00 GiB 21.48 GB)
Device Size : 20972736 (20.00 GiB 21.48 GB)
Raid Devices : 2
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sun Jul 29 20:53:04 2007
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
UUID : 367f461d:63371a04:8655586c:a2ec96bb
Events : 0.224
Number Major Minor RaidDevice State
0 3 3 0 active sync /dev/hda3
2 3 67 - active sync /dev/hdb3
1 8 35 1 spare /dev/sdc3
------------------------------
You see, that in case of faulty hda3 or hdb3, sdc3 will take their place.
Now simulate a faulty drive (either hda3 or hdb3 in my case) with command
# mdadm --manage --set-faulty /dev/md0 /dev/hdb3
What happens is that hdb3 sets to faulty drive and sdc3 will now be synct up with hda3.
---------------------
Number Major Minor RaidDevice State
0 3 3 0 active sync /dev/hda3
1 8 35 1 active sync /dev/sdc3
2 3 67 - faulty spare /dev/hdb3
----------------------
check progress with
# cat /proc/mdstat
When it synct up, just put it back
Remove the device
# mdadm /dev/md0 -r /dev/hdb3
Then add it again
# mdadm /dev/md0 -a /dev/hdb3
Now you have hdb3 as spare, if you want it back as it was, set the one you want to remove to faulty or just remove it with mdadm -r.
piece of cake
