[prev in list] [next in list] [prev in thread] [next in thread] 

List:       opensuse
Subject:    [opensuse]  Re: Mounting NFS Shares During Boot
From:       Joachim Schrod <jschrod () acm ! org>
Date:       2009-05-15 11:48:54
Message-ID: gujkr6$nc7$1 () ger ! gmane ! org
[Download RAW message or body]

Randall R Schulz wrote:
> On Wednesday May 13 2009, Joachim Schrod wrote:
>> Randall R Schulz wrote:
>> > On Tuesday May 12 2009, Manfred Hollstein wrote:
>> >> On Tue, 12 May 2009, 16:23:09 +0200, Randall R Schulz wrote:
>> >> > > > Given an NFS share (server-side) and an fstab entry
>> >> > > > (client-side) that can be successfully mounted manually,
>> >> > > > what must be done on the cliet side to get that share
>> >> > > > mounted during reboot?
>> >>
>> >> Also, can the directories be mounted if you're running
>> >> "/etc/init.d/nfs start" manually later on?
>> >
>> > To reiterate, it's only boot-time mounting that's not working.
>> > (I've stated this a few times, now, including in the quote you
>> > included above...)
>>
>> I think Manfred's question was more nuanced. How do you mount
>> manually later after boot?
>> By calling "mount -a -t nfs" or even mounting the shares one by one?
>> Or by calling "/etc/init.d/nfs start"? (That script does much more
>> than just calling mount, so it could go wrong in other places.)
> 
> There's only one mount in question. I mount it by specifying the 
> mount-point directory to the "mount" command:
> 
> # mount /twain/repo/library

That is not sufficient to test if NFS-at-boot should be successful.
As I wrote, /etc/init.d/nfs does *much* more than just calling that
mount.

So, did you try to mount after boot with "/etc/init.d/nfs start"
instead of "mount /twain/repo/library"? You did still not mention that.

In addition, an other post gives a hint in that direction: you
mention the error message in boot.log:

-==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==-
Starting kernel based NFS server: idmapd mountd statd nfsd
sm-notifydone
Starting NFS client services: sm-notify idmapdmount: rpc_pipefs
already mounted or /var/lib/nfs/rpc_pipefs busy
mount: according to mtab, rpc_pipefs is already mounted on
/var/lib/nfs/rpc_pipefs
-==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==-

It tells that there is a problem with the NFS client script's
approach to idmapd start, when it is executed after NFS server has
already been started. Then idmapd is already running and rpc_pipefs
fails to mount because it was already mounted by the server
start.[*] After that failed mount, idmapd is supposed to be sent
the HUP signal. If that respective code section is not successful,
the nfs client script will not continue.

I advise to add the following code to /etc/init.d/nfs to check that
potential error situation:

        # start idmapd
        if test "$NEED_IDMAPD" = yes ; then
            echo -n " idmapd"
            do_start_idmapd || {
		echo idmapd start failed, return code: $?
                rc_status -v
                rc_exit
            }
            echo $IDMAPD_BIN > $IDMAPD_CLIENT_STATE
        fi

Then, if your boot.log contains that error message you know at
least if the idmapd start is the culprit. Well, or that it isn't.
This helps to narrow down the root cause of your problem.

HTH,
	Joachim

[*] IMO here is an appropriate check missing in init.d/nfs, but
this is probably not related to your problem.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Joachim Schrod				Email: jschrod@acm.org
Roedermark, Germany

-- 
To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse+help@opensuse.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic