[Bug 614662] Re: A better mountall
Gerald Villemure
614662 at bugs.launchpad.net
Sat May 19 08:04:34 UTC 2012
The point of the mountall2 script was to introduce the idea of a more
intelligent booting process, with pre and post mount hooks and the
ability to check the progress of the FSCK remotely.
I shied away from using the nobootwait option because I needed a
postmount script to restart some services once the filesystem gets
online.
If the original mountall generates UPSTART events, then I supposed it is
possible to trigger a post-mount script that way.
Gérald
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to mountall in Ubuntu.
https://bugs.launchpad.net/bugs/614662
Title:
A better mountall
Status in “mountall” package in Ubuntu:
Invalid
Bug description:
Binary package hint: mountall
The current implementation of mountall in Lucid is rather dangerous if
you don't have console access.
It will effectively hang your boot process if anything goes wrong. (MD
did not get assembled, data drive is offline, etc.) If you don’t have
console access to press "s", your out of luck.
For those like me that administer their server remotely the historic
solution was to ensure serial console access. But even then, you don’t
see anything when connecting, so you can press "s" and HOPE for the
best.
There is another issue here, the fundamental idea that a system is an
all or nothing solution. Why is it that the data drive needs to be
online and mounted BEFORE I can get SSH access? I have systems that
run both Asterisk and Samba and I find it inappropriate that Asterisk
needs to WAIT for Samba’s Data drive to get online before Asterisk can
start. We need a SMARTER start process that is NOT all or nothing, it
is OKAY to mount some filesystems later when they are ready, and not
hold up the whole system.
I wrote a small script called "mountall2" which mounts the non-root
filesystems later in the boot process (last actually) and does so in a
way that make diagnostics and recovery POSSIBLE.
Every filesystem is FSCK and MOUNTED just like mountall but it is done
in parallel and inside a "screen" session. If you have console you
can check the FSCK progress on TTY13+ by pressing <RIGHTALT>+<F1> etc.
But if you don’t have physical access to the machine you can SSH into
the box and use "screen –x .." to see the FSCK progress.
The script will also call postmount scripts if present since there are
times where you will need to notify NFS or some other app that the
filesystem is now online. Ideally upstart scripts could be predicated
on a filesystem being available and auto start the task when the FS
come online.
To use, untar the script somewhere like /usr/local and add this line to /etc/rc.local:
/usr/local/mountall2/mountall2 &
Then edit your /etc/fstab to add the noauto options and set the FSCK field to a 3
Original setup:
UUID=b97af687-8a45-4197-89d4-fb62b4feb0d1 /boot ext4 defaults 0 2
New setup:
UUID=b97af687-8a45-4197-89d4-fb62b4feb0d1 /boot ext4 defaults,noauto 0 3
The "noauto" option will prevent the native "mountall" from touching
the entry. The FSCK check of 3 is a simple way of saying it should be
check at the end of the system boot sequence.
The postmount scripts need to have the same name as the mount point
with the / converted to underscores _, so if your mount point is
"/mnt/test" then create a file "postmount/_mnt_test" script with your
commands. There is a sample "postmount/_Media" in the tar file.
Hopefully something of similar functionality will become integrated
into the distro.
Gérald
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mountall/+bug/614662/+subscriptions
More information about the foundations-bugs
mailing list