Re: unable to mount nfs4 mount

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greetings,

> On Fri, Jan 06 2017, daggs wrote:
> 
> > Greetings,
> >
> >> Subject: Re: unable to mount nfs4 mount
> >>
> >> On Tue, Dec 27 2016, daggs wrote:
> >> 
> >> > Greetings Neil,
> >> >
> >> >> On Mon, Dec 26 2016, daggs wrote:
> >> >> 
> >> >> > Greetings,
> >> >> >
> >> >> >> On Mon, Dec 26 2016, daggs wrote:
> >> >> >> 
> >> >> >> >> Can you strace mountd while you attempt a mount?
> >> >> >> >> e.g.
> >> >> >> >>   strace -o /tmp/trace -s 1000 -p 241
> >> >> >> >> 
> >> >> >> >> and send the /tmp/trace.
> >> >> >> >> Also, after the attempt fails, run
> >> >> >> >>  rpcdebug -m rpc -s cache
> >> >> >> >>  grep . /proc/net/rpc/*/c*
> >> >> >> >>  cat /proc/fs/nfsd/exports
> >> >> >> >> 
> >> >> >> >> and report the output.
> >> >> >> >> 
> >> >> >> > here:
> >> >> >> >
> >> >> >> > # cat /tmp/trace
> >> >> >> > pselect6(1024, [3 4 5 7 8 9 10 11 12], NULL, NULL, NULL, NULL) = 1 (in [3])
> >> >> >> > read(3, "nfsd 10.0.0.1\n", 32768)       = 14
> >> >> >> > openat(AT_FDCWD, "/run/nfs/etab", O_RDONLY) = 14
> >> >> >> > fstat(14, {st_mode=S_IFREG|0644, st_size=435, ...}) = 0
> >> >> >> > close(14)                               = 0
> >> >> >> > write(3, "nfsd 10.0.0.1 2079 10.0.0.0/24 \n", 32) = 32
> >> >> >> 
> >> >> >> This is weird.
> >> >> >> Here mountd is telling nfsd that when a request comes from IP address
> >> >> >> 10.0.0.1, it should look for export entries associated with the client
> >> >> >> name "10.0.0.0/24", which is good.
> >> >> >> However the expiry time for that information is "2079", which is back in
> >> >> >> January 1970.
> >> >> >> When mountd writes that number, it computes it as
> >> >> >>    time(0) + DEFAULT_TTL
> >> >> >> where DEFAULT_TTL is (30 * 60)
> >> >> >> Which suggests time(0) is "279".
> >> >> >> 
> >> >> >> What is the current time on this system?
> >> >> >> 
> >> >> >> If it really was very early on Jan 1st 1970, it should work, however...
> >> >> >> 
> >> >> >> 
> >> >> >> > pselect6(1024, [3 4 5 7 8 9 10 11 12], NULL, NULL, NULL, NULL <detached ...>
> >> >> >> > # rpcdebug -m rpc -s cache
> >> >> >> > rpc        cache
> >> >> >> > # grep . /proc/net/rpc/*/c*
> >> >> >> > /proc/net/rpc/auth.unix.gid/content:#uid cnt: gids...
> >> >> >> > /proc/net/rpc/auth.unix.ip/channel:nfsd 10.0.0.1
> >> >> >> > /proc/net/rpc/auth.unix.ip/channel:nfsd 10.0.0.1
> >> >> >> > /proc/net/rpc/auth.unix.ip/content:#class IP domain
> >> >> >> > /proc/net/rpc/auth.unix.ip/content:# expiry=2079 refcnt=1 flags=1
> >> >> >> > /proc/net/rpc/auth.unix.ip/content:# nfsd 10.0.0.1 10.0.0.0/24
> >> >> >> 
> >> >> >> ...the fact that this line is commented out indicates that the entry in
> >> >> >> the cache is already expired.  So the time must be after 2079.
> >> >> >> 
> >> >> >> Maybe the time is getting set from the network at an awkward time that
> >> >> >> races with NFS service some how.
> >> >> >> Can you find a way to run "exportfs -f" after the time has been set
> >> >> >> correctly?
> >> >> >> 
> >> >> >> NeilBrown
> >> >> >> 
> >> >> >> 
> >> >> >
> >> >> > wait, I think I've seen this somewhere, does this feature needs rtc? this board doesn't have rtc component.
> >> >> > for example, I cannot use openssh as ssh server because it needs rtc. I have to use dropbear.
> >> >> > if so, this looks like it will affect nfsv3 mounts, am I right?
> >> >> 
> >> >> No, you shouldn't need an RTC.
> >> >> You need the synchronize the clock with ntp or similar, else time stamps
> >> >> on files will look wrong.
> >> >> Though I think we fixed issues with wall-clock-time jumping in 2.6.37...
> >> >> 
> >> >> If you could try using "exportfs -f", and explain what does happen with
> >> >> time - do you use ntp ?? - we might be able to make progress.
> >> >
> >> > I'll build ntp into the image and try. does this affects nfsv3 too?
> >> 
> >> Having correct time is quite important for any version of NFS.  With out
> >> it, time stamps on files get confused.  "make" doesn't cope at all,
> >> "tar" often complains, other tools might experience other problems.
> >> 
> >> I still cannot quite see why having an incorrect clock would cause the
> >> particular symptoms you are experiencing, but it is worth fixing anyway.
> > I worked around the issue by setting the date manually. the issue still presists.
> >
> >> 
> >> >
> >> > what should I do with the "exportfs -f"? jsut run it and retry?
> >> 
> >> Yes.
> > exportfs -f didn't made any difference.
> 
> OK. Please:
>  - make sure the time is (nearly) correct - e.g. running date manually.
>  - run "exportfs -f"
>  - run "strace" on mountd
>  - try to mount the filesystem
>  - stop the strace
>  - run
>       rpcdebug -m rpc -s cache
>       grep . /proc/net/rpc/*/*
>       cat /proc/fs/nfsd/exports
> 
>   (note that it isn't quite the same 'grep' as before).
> 
> then post the output of the 'strace', the 'grep', and the 'cat'.
> 

so it took so long, I was able to fix the timer issue and now indeed I can mount as nfsv4.
but I've encountered another issue, copying a large file over nfs takes 3 minutes longer with nfsv4 than nfsv3.
I want to be sure this isn't a config issue, so here is the config:
# cat /etc/exports 
/mnt/media      10.0.0.0/24(rw,no_subtree_check,nohide,insecure)

the kernel in question is based on 3.14 (yeah, I know it is old but that is currently the only kernel fully supports the board in question).

can it be the config or the kernel?

Thanks,

Dagg.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux