Am 09.08.2011 21:30, schrieb Daniel Frey: > Greetings, > > I discovered a possible reason for mdadm always marking my raid array as > bad on reboot. The problem is I don't know how to check for the issue. > > When using root on a native mdadm raid, the kernel handles the array > state transition at shutdown, so it's not a big deal. However, it's > different when using external metadata - mdadm must be called before the > reboot. > > Apparently mdadm must be called after the root filesystem is mounted > read-only. Then it can mark the array as clean and not rebuild every > single reboot. > > Where do I check this? The /etc/init.d/mdadm script happens well before > root is mounted read-only. > > Apparently `mdadm --wait-clean --scan` needs to be called so the > external metadata is updated correctly. If you use this command with a > native mdadm raid it does nothing, but it's critical apparently to the > health of other metadata types. > > I've grepped through /etc/init.d/ and found nothing. > > Dan > Remounting root read-only is done by an init script called mount-ro which is started in runlevel shutdown. Try to add a custom init script to your /etc/init.d directory with the following content: #!/sbin/runscript depend() { after mount-ro } start() { ebegin 'Shutting down mdadm' mdadm --wait-clean --scan eend $? } Add it to the runlevel with `rc-update add shutdown` and don't forget to mark it executable. Disclaimer: I've not tried this (obviously) and if the script eats your dog and wreaks your system, it is entirely your fault ;) Hope this helps, Florian Philipp