On Sat, Dec 29, 2012 at 9:06 AM, Mailingliste <m...@bokomoko.de> wrote:

> Hello,
>
> I run a Debian squeeze NFS Server and a Debian squeeze NFS client. I see a
> strange issue, which looks like a cache issue:
>
> I had on the server a directory
>
> drwxrwsr-x  2 dorsch  users   4096 15. Feb 2010  shared
>
> on the client that was translated into
>
> drwxrwsr-x  2 nobody  users   4096 15. Feb 2010  shared
>
> (I might have had a uid mismatch for a short time for that folder on client
> and server).
>
> I wanted to test if it has something todo with the SGID bit on that
> directory
> and did a
>
> # chmod g-s shared
>
> on the server. This had the expected effect on the server
>
> drwxrwxr-x 17 dorsch   users    4096 27. Dez 19:25 shared
>
> but the client still shows
>
> drwxrwsr-x  2 nobody  users   4096 15. Feb 2010  shared
>
> (see also the file modification date).
>
> The big surprise for me was that this mismatch was even after a reboot of
> the
> client and the server was still there.
>
> Any idea why this information does not get updated on the client is
> welcome, I
> am also happy to provide additional information.
>


Something else is wrong here ie not properly unmount/mount nfs share. I
suspect automount is to blame. Disable it, unmount the share and mount it
back manually.

>From the NFS client documentation:

acregmin=n     The minimum time in seconds that attributes of a regular
file should be cached before requesting
                      fresh information from a server.  The default is 3
seconds.
       acregmax=n     The maximum time in seconds that attributes of a
regular file can be  cached  before  requesting
                      fresh information from a server.  The default is 60
seconds.
       acdirmin=n     The  minimum  time  in seconds that attributes of a
directory should be cached before requesting
                      fresh information from a server.  The default is 30
seconds.
       acdirmax=n     The maximum time in seconds that attributes of a
directory can be cached before requesting fresh
                      information from a server.  The default is 60 seconds.
       actimeo=n      Using  actimeo  sets all of acregmin, acregmax,
acdirmin, and acdirmax to the same value.  There
                      is no default value.

as you can see the default maximum directory attribute cache time is 60
seconds which doesn't match with your resoults. For both v3 and v4. But in
v4 there is also:

 noac           Disable  attribute caching, and force synchronous writes.
This extracts a server perfor-
                      mance penalty but it allows two different NFS clients
to get reasonable good results when
                      both clients are actively writing to common
filesystem on the server.
  fsc               Enable  the  use  of persistent caching to the local
disk using the FS-Cache facility for
                      the given mount point.

so are you using maybe fsc option during the mount?

What happens if you switch to NFS v3?

Also post the result of:

# cat /proc/mounts
# nfsstat -m
# nfsstat -n -c -v -4
# uname -a

on the client and:

# nfsstat -s

on the server.



>
> For reference, what I did on the server side:
>
> Setup NFS Server:
> =================
>
> # apt-get install nfs-kernel-server
>
> dell:~# cat /etc/exports
> # /etc/exports: the access control list for filesystems which may be
> exported
> #               to NFS clients.  See exports(5).
> #
> # Example for NFSv2 and NFSv3:
> # /srv/homes       hostname1(rw,sync,no_subtree_check)
> hostname2(ro,sync,no_subtree_check)
> #
> # Example for NFSv4:
> # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
> # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
> #
> /home   192.168.2.27(rw,no_root_squash,subtree_check)
>
> dell:~# cat /etc/hosts.deny
> # /etc/hosts.deny: list of hosts that are _not_ allowed to access the
> system.
> #                  See the manual pages hosts_access(5) and
> hosts_options(5).
> #
> # Example:    ALL: some.host.name, .some.domain
> #             ALL EXCEPT in.fingerd: other.host.name, .other.domain
> #
> # If you're going to protect the portmapper use the name "portmap" for the
> # daemon name. Remember that you can only use the keyword "ALL" and IP
> # addresses (NOT host or domain names) for the portmapper, as well as for
> # rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
> # for further information.
> #
> # The PARANOID wildcard matches any host whose name does not match its
> # address.
>
> # You may wish to enable this to ensure any programs that don't
> # validate looked up hostnames still leave understandable logs. In past
> # versions of Debian this has been the default.
> # ALL: PARANOID
>
> portmap:ALL
> lockd:ALL
> mountd:ALL
> rquotad:ALL
> statd:ALL
> dell:~# cat /etc/hosts.allow
> # /etc/hosts.allow: list of hosts that are allowed to access the system.
> #                   See the manual pages hosts_access(5) and
> hosts_options(5).
> #
> # Example:    ALL: LOCAL @some_netgroup
> #             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
> #
> # If you're going to protect the portmapper use the name "portmap" for the
> # daemon name. Remember that you can only use the keyword "ALL" and IP
> # addresses (NOT host or domain names) for the portmapper, as well as for
> # rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
> # for further information.
> #
> portmap: 192.168.2.27
> lockd: 192.168.2.27
> rquotad: 192.168.2.27
> mountd: 192.168.2.27
> statd: 192.168.2.27
> dell:~#
>
> Make UID matching work with NFSv4:
> ----------------------------------
>
> dell:/etc/default# diff nfs-common.orig nfs-common
> 16c16
> < NEED_IDMAPD=
> ---
> > NEED_IDMAPD=yes
> 19c19
>
> For reference, what I did on the client side (happens also when I use
> without
> autoFS):
>
> Mount NFS volumes with AutoFS:
> ==============================
> support automount nfs volumes: /mnt/net/<hostname>/<path>:
> ----------------------------------------------------------
> root@omjuta:~# cat /etc/auto.master.d/net.autofs
> /mnt/net -hosts --timeout=60
> root@omjuta:~#
>
> # ls -l /mnt/net/dell/home
>
> Make UID matching work with NFSv4:
> ----------------------------------
> root@omjuta:/etc# diff idmapd.conf.orig idmapd.conf
> 10a11,13
> >
> > [Translation]
> > Method=nsswitch
> root@omjuta:/etc#
>
> root@omjuta:~# diff /etc/default/nfs-common.orig /etc/default/nfs-common
> 16c16
> < NEED_IDMAPD=
> ---
> > NEED_IDMAPD=yes
> 19c19
> < NEED_GSSD=
> ---
> > NEED_GSSD=no
> root@omjuta:~#
>
>
>
>
>
>
> Many thanks,
> Rainer
>
>
> --
> To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmas...@lists.debian.org
> Archive: http://lists.debian.org/201212282306.30052...@bokomoko.de
>
>

Reply via email to