J’ai rencontré le même problème. Le volume md du /boot n’est pas reconnu car les devices sont manquant.
Mais lorsque l’on fait un mdadm -A --scan dans le shell qui apparait au bout d’un certain temps plus de problème.
En fait, on peut voir qu’il y a un delai entre le lancement du initramfs et la découverte des disques :
[ 0.526494] Unpacking initramfs...
[ 1.615816] sd 2:0:0:0: [sda] Attached SCSI disk
[ 2.135293] sd 4:0:0:0: [sdc] Attached SCSI disk
[ 2.136773] sd 3:0:0:0: [sdb] Attached SCSI disk
[ 2.204443] md: md0 stopped.
[ 2.205282] md: bind<sda1>
[ 2.206548] md: raid1 personality registered for level 1
[ 2.206893] md/raid1:md0: active with 1 out of 4 mirrors
[ 2.206928] md0: detected capacity change from 0 to 510328832
[ 2.529464] sd 6:0:0:0: [sdd] Attached SCSI disk
[ 2.658687] sd 5:0:0:0: [sde] Attached SCSI disk
Si je n’avait pas dit d’attendre une seconde, a t+1,2s le premier disque n’est pas encore détecté -> aucun membre visible pour le md !
Et voici mon script pour refaire plusieurs tentatives avec mdadm et un sleep entre chaque essai :
root@debian:~# more /etc/initramfs-tools/scripts/init-top/mdadm_assemble
#!/bin/sh
prereqs()
{
# this part has been borrowed from the script local-top/cryptroot
# Make sure that we are run last in init-top
for req in $(dirname $0)/*; do
script=${req##*/}
if [ $script != $(basename $0) ]; then
echo $script
fi
done
}
md_assemble()
{
for t in 1 3 5 10; do
echo ========== mdadm $t ========================================
sleep $t
mdadm -A --scan && return
done
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
# assemble md disk
md_assemble
exit 0