I find that, when I start/restart my system, my MD array often doesn't start with all of the drives even though the device-names haven't changed at all.
I'll have to stop the array and reassemble it, and then it will start and mount like it should. Why is it so willing to start without all of the devices? It's been this way for about a year (it only gets restarted every month or two).
There doesn't appear to be any MD-related logging from before the shutdown but this appears to be from during the startup:
May 24 11:48:20 dustinhub mdadm[1843]: DeviceDisappeared event detected on md device /dev/md/0
May 24 11:54:38 dustinhub kernel: md: md0 stopped.
May 24 11:54:38 dustinhub kernel: md: unbind<sdh1>
May 24 11:54:38 dustinhub kernel: md: export_rdev(sdh1)
May 24 11:54:38 dustinhub kernel: md: unbind<sdi1>
May 24 11:54:38 dustinhub kernel: md: export_rdev(sdi1)
May 24 11:54:38 dustinhub kernel: md: unbind<sdc1>
May 24 11:54:38 dustinhub kernel: md: export_rdev(sdc1)
May 24 11:54:38 dustinhub kernel: md: unbind<sdb1>
May 24 11:54:38 dustinhub kernel: md: export_rdev(sdb1)
May 24 11:54:38 dustinhub kernel: md: unbind<sdd1>
May 24 11:54:38 dustinhub kernel: md: export_rdev(sdd1)
May 24 11:54:39 dustinhub kernel: md: md0 stopped.
May 24 11:54:39 dustinhub kernel: md: bind<sdf1>
May 24 11:54:39 dustinhub kernel: md: bind<sdg1>
May 24 11:54:39 dustinhub kernel: md: bind<sdh1>
May 24 11:54:39 dustinhub kernel: md: bind<sdi1>
May 24 11:54:39 dustinhub kernel: md: bind<sde1>
May 24 11:54:39 dustinhub kernel: md/raid:md0: device sde1 operational as raid disk 0
May 24 11:54:39 dustinhub kernel: md/raid:md0: device sdi1 operational as raid disk 4
May 24 11:54:39 dustinhub kernel: md/raid:md0: device sdh1 operational as raid disk 3
May 24 11:54:39 dustinhub kernel: md/raid:md0: device sdg1 operational as raid disk 2
May 24 11:54:39 dustinhub kernel: md/raid:md0: device sdf1 operational as raid disk 1
May 24 11:54:39 dustinhub kernel: md/raid:md0: allocated 0kB
May 24 11:54:39 dustinhub kernel: md/raid:md0: raid level 5 active with 5 out of 5 devices, algorithm 2
May 24 11:54:39 dustinhub kernel: md0: detected capacity change from 0 to 12002359508992
May 24 11:54:39 dustinhub mdadm[1843]: NewArray event detected on md device /dev/md0
May 24 11:54:39 dustinhub kernel: md0: unknown partition table