I had this problem on my Raspberry Pi 2 running Raspbian GNU/Linux 8 (jessie). I had a RAID array on /dev/sda1
and /dev/sdb1
which failed to assemble at boot. I had in my /etc/mdadm/mdadm.conf
file the entry
ARRAY /dev/md/0 metadata=1.2 UUID=53454954:4044eb66:9169d1ed:40905643 name=raspberrypi:0
(your numbers will be different; see other answers on how to get this.)
I had in my /etc/fstab
file the entry
/dev/md0 /data ext4 defaults 0 0
(and of course /data
indeed existed)
Like the OP, I could assemble and mount the RAID array by hand after boot, but I could not get it to happen automatically during boot despite apparently correctly setting it up.
I was able to solve the problem as follows. I investigated the script at /etc/init.d/mdadm-raid
and inserted a line of debug code
ls /dev > /home/pi/devices.txt
Rebooting and checking this file I learned that devices /dev/sda
and /dev/sdb
existed at the time the mdadm-raid
initialization happened, but the partitions /dev/sda1
and /dev/sdb1
were missing. I edited the /etc/init.d/mdadm-raid
file and inserted the line
partprobe
after the header (i.e. after the ### END INIT INFO
but before the script begins). This caused the partitions to be detected and so the mdadm-raid
script was able to assemble the RAID array, resolving the problem. Hope this helps someone!