[Pkg-sysvinit-devel] Bug#430760: No NFS mounts after waking up server during client boot
malte.forkel at berlin.de
Wed Jun 27 07:55:30 UTC 2007
Because my server is not running all the time, clients that want to
mount NFS volumes use a small initscript during boot to wake up the
server if necessary. After upgrading the clients from sarge to etch,
mounting NFS volumes did not work anymore if the server wasn't up already.
The initscript is called as /etc/rcS.d/S41wakeupserver during boot, i.e.
after networking and before portmap and mountnfs.sh. It uses ping to
wait until the network is accessible. Then, if ping still fails because
the server does not respond, wakeonlan is used to wake up the server.
Then, again ping is used to wait until the server responds - or the
operation times out.
Unfortenately, ASYNCMOUNTNFS=no does not give me quite "the old
init.d/mountnfs.sh behaviour" as stated in the changelog. It just keeps
the clients from waiting for 90 seconds before giving up on the NFS mounts.
Adding the 'bg' option in the clients' /etc/fstab to the NFS mounts
makes them work again. Results somewhat depend on ASYNCMOUNTNFS, though.
With ASYNCMOUNTNFS=no, I get
13:26:08 2007: Starting portmap daemon....
13:26:09 2007: mount to NFS server 'spiro' failed.
13:26:09 2007: mount: backgrounding "spiro:/var/lib/video.00"
13:26:09 2007: mount: backgrounding "spiro:/var/lib/video.01"
13:26:09 2007: mount: backgrounding "spiro:/var/lib/video.02"
The volumes get mounted eventually, but too late for a program that is
started later during the init process and wants to scan the mounted volumes.
With ASYNCMOUNTNFS=yes, the etch default, I get
13:48:54 2007: Starting portmap daemon...Already running..
13:48:54 2007: Waiting for /var/lib/video.00...done.
13:49:13 2007: Waiting for /var/lib/video.01...done.
13:49:15 2007: Waiting for /var/lib/video.02...done.
and the volumes are mounted right away. So this is the workaround I use now.
More information about the Pkg-sysvinit-devel