# create a v-1 raid5 array and assemble in various ways mdadm -CR -e1 --name one $md1 -l5 -n3 -x2 $dev0 $dev1 $dev2 $dev3 $dev4 tst="check raid5 ;testdev $md1 2 $mdsize1 512 ; mdadm -S $md1" uuid=`mdadm -Db $md1 | sed 's/.*UUID=//'` check wait eval $tst mdadm -A $md1 $dev0 $dev1 $dev2 mdadm $md1 --add $dev3 $dev4 check spares 2 eval $tst mdadm -A $md1 -u $uuid $devlist check spares 2 eval $tst mdadm -A $md1 --name one $devlist check spares 2 eval $tst conf=$targetdir/mdadm.conf { echo DEVICE $devlist echo array $md1 UUID=$uuid } > $conf mdadm -As -c $conf $md1 eval $tst { echo DEVICE $devlist echo array $md1 name=one } > $conf mdadm -As -c $conf eval $tst { echo DEVICE $devlist echo array $md1 devices=$dev0,$dev1,$dev2,$dev3,$dev4 } > $conf mdadm -As -c $conf echo "DEVICE $devlist" > $conf mdadm -Db $md1 >> $conf eval $tst mdadm --assemble --scan --config=$conf $md1 eval $tst echo PING >&2 echo " metadata=1.0 devices=$dev0,$dev1,$dev2,$dev3,$dev4" >> $conf mdadm --assemble --scan --config=$conf $md1 eval $tst ### Now with a missing device # We don't want the recovery to complete while we are # messing about here. echo 100 > /proc/sys/dev/raid/speed_limit_max echo 100 > /proc/sys/dev/raid/speed_limit_min mdadm -AR $md1 $dev0 $dev2 $dev3 $dev4 # check state U_U check spares 1 eval $tst mdadm -A $md1 -u $uuid $devlist check state U_U eval $tst mdadm -A $md1 --name=one $devlist check state U_U check spares 1 eval $tst conf=$targetdir/mdadm.conf { echo DEVICE $devlist echo array $md1 UUID=$uuid } > $conf mdadm -As -c $conf $md1 check state U_U eval $tst { echo DEVICE $devlist echo array $md1 name=one } > $conf mdadm -As -c $conf check state U_U eval $tst { echo DEVICE $devlist echo array $md1 devices=$dev0,$dev1,$dev2 } > $conf mdadm -As -c $conf echo "DEVICE $devlist" > $conf mdadm -Db $md1 >> $conf check state U_U eval $tst mdadm --assemble --scan --config=$conf $md1 check state U_U eval $tst echo " metadata=1.0 devices=$dev0,$dev1,$dev2" >> $conf mdadm --assemble --scan --config=$conf $md1 check state U_U eval $tst # And now assemble with -I mdadm -Ss mdadm -I -c $conf $dev0 mdadm -I -c $conf $dev1 mdadm -I -c $conf $dev2 eval $tst echo 2000 > /proc/sys/dev/raid/speed_limit_max echo 1000 > /proc/sys/dev/raid/speed_limit_min