Re: [gentoo-user] Run command after root mounted ro?

2011-08-10 Thread Florian Philipp
Am 10.08.2011 03:04, schrieb Daniel Frey:
 On 01/-10/37 11:59, Florian Philipp wrote:
 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 your-script 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 ;)
 
 
 Thanks, I tried this out, and while it does run after mounting ro, it
 just hangs. I've noticed that it's supposed to be monitoring
 /proc/mdstat but it was (presumably) unmounted long ago.
 
 I guess I have to do some more experimenting.
 
 Dan
 
 
 

Try remounting proc in your new init script. You have to advice mount to
not try adding it to /etc/mtab since that would obviously fail.
mount --no-mtab -t proc proc /proc

Hope this helps,
Florian Philipp



signature.asc
Description: OpenPGP digital signature


[gentoo-user] Run command after root mounted ro?

2011-08-09 Thread 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



Re: [gentoo-user] Run command after root mounted ro?

2011-08-09 Thread Florian Philipp
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 your-script 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



signature.asc
Description: OpenPGP digital signature


Re: Re: [gentoo-user] Run command after root mounted ro?

2011-08-09 Thread Daniel Frey
On 01/-10/37 11:59, Florian Philipp wrote:
 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 your-script 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 ;)


Thanks, I tried this out, and while it does run after mounting ro, it
just hangs. I've noticed that it's supposed to be monitoring
/proc/mdstat but it was (presumably) unmounted long ago.

I guess I have to do some more experimenting.

Dan