I can confirm this problem on Ubuntu Server 8.04. I have the same RAID5 configuration as the reporter (4 active disks, 1 spare).
In my case the spare isn't added to the array on boot no matter what changes are made to mdadm.conf. Stating the devices explicitly doesn't help.
$ cat /etc/mdadm/mdadm.conf [snip] DEVICE partitions [snip] ARRAY /dev/md0 level=raid5 num-devices=4 spares=1 UUID=d7ae6761:1abc675c:6e03419f:9b214e6e
$ sudo mdadm --detail --scan ARRAY /dev/md0 level=raid5 num-devices=4 spares=1 UUID=d7ae6761:1abc675c:6e03419f:9b214e6e
$ cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 sdf1[4](S) sda1[0] sdd1[3] sdc1[2] sdb1[1] 2197715712 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
$ sudo mdadm --detail /dev/md0 /dev/md0: Version : 00.90.03 Creation Time : Thu Aug 9 15:29:00 2007 Raid Level : raid5 Array Size : 2197715712 (2095.91 GiB 2250.46 GB) Used Dev Size : 732571904 (698.64 GiB 750.15 GB) Raid Devices : 4 Total Devices : 5 Preferred Minor : 0 Persistence : Superblock is persistent
Update Time : Fri Nov 28 15:06:38 2008 State : clean Active Devices : 4 Working Devices : 5 Failed Devices : 0 Spare Devices : 1
Layout : left-symmetric Chunk Size : 64K
UUID : d7ae6761:1abc675c:6e03419f:9b214e6e Events : 0.76
Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 2 8 33 2 active sync /dev/sdc1 3 8 49 3 active sync /dev/sdd1
4 8 81 - spare /dev/sdf1
I can confirm this problem on Ubuntu Server 8.04. I have the same RAID5 configuration as the reporter (4 active disks, 1 spare).
In my case the spare isn't added to the array on boot no matter what changes are made to mdadm.conf. Stating the devices explicitly doesn't help.
$ cat /etc/mdadm/ mdadm.conf 1abc675c: 6e03419f: 9b214e6e
[snip]
DEVICE partitions
[snip]
ARRAY /dev/md0 level=raid5 num-devices=4 spares=1 UUID=d7ae6761:
$ sudo mdadm --detail --scan 1abc675c: 6e03419f: 9b214e6e
ARRAY /dev/md0 level=raid5 num-devices=4 spares=1 UUID=d7ae6761:
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdf1[4](S) sda1[0] sdd1[3] sdc1[2] sdb1[1]
2197715712 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.03
Creation Time : Thu Aug 9 15:29:00 2007
Raid Level : raid5
Array Size : 2197715712 (2095.91 GiB 2250.46 GB)
Used Dev Size : 732571904 (698.64 GiB 750.15 GB)
Raid Devices : 4
Total Devices : 5
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Fri Nov 28 15:06:38 2008
State : clean
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
UUID : d7ae6761: 1abc675c: 6e03419f: 9b214e6e
Events : 0.76
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
3 8 49 3 active sync /dev/sdd1
4 8 81 - spare /dev/sdf1