Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Feb 2015 14:25:16 +0200
From:      Beeblebrox <zaphod@berentweb.com>
To:        Rick Macklem <rmacklem@uoguelph.ca>
Cc:        freebsd-fs@freebsd.org
Subject:   Re: Several NFS errors on diskless clients
Message-ID:  <20150213142516.569ecc44@rsbsd.rsb>
In-Reply-To: <1233670915.2450301.1423785119612.JavaMail.root@uoguelph.ca>
References:  <20150212123529.013d6a84@rsbsd.rsb> <1233670915.2450301.1423785119612.JavaMail.root@uoguelph.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Rick, thanks for answering, but it seems there's a slight mis-understand=
ing.

* I have 3 NFS exports, mount version on client confirmed with "nfsstat -m":
V2: /data/amd64,  mounts to root as ro
V4: /usr/local,  mounts to same as ro
V4: /home,  mounts to same as rw

* Root is being mounted as V2, not a problem for me. However, when I "ls -l=
a" /home or /usr/local (the V4 mounts), I see file ownership problem (numbe=
rs instead of actual user name). This is true for folders owned ANY user (r=
oot, me, etc):
drwxr-xr-x  106  32767  32767  date-time   folder-name  (always the same nu=
mber 32767)

* I turned on some debugging with "nfsuserd -verbose" and I can see:
added uid=3D0 name=3Droot  \  added gid=3D0 name=3Droot
added uid=3D1001 name=3Dme  \  added gid=3D1001 name=3Dme
added uid=3D350 name=3D_sabnzbd  \  added gid=3D350 name=3D_sabnzbd

* Most Likely reason: The NFS-V2 export (client root /data/amd64 folder) is=
 at the same time a Jail. This probably causes "some process number in the =
jail" not matching up with process number on Host, thus the failure to assi=
gn proper name to file ownership. My /etc/jail.conf:
pxe {   name =3D pxe;
        path =3D /data/amd64;
        ip4.addr =3D 192.168.2.1;  #subnet as /32 breaks tftp
        host.hostname =3D pxe.me;
        devfs_ruleset =3D 12;
        allow.raw_sockets;
        mount.devfs;
        mount.fstab =3D /etc/fstab.pxe;	}

* I start the diskless client system with below script. Any additional pxe =
service (dhcp, tftp, etc) is defined in /data/amd64/etc/rc.conf.
jail -c pxe
rpcbind -s -h 192.168.2.1
mountd -rnl -h 192.168.2.1
nfsd -ut -n 4 -h 192.168.2.1
nfsuserd -verbose

* Starting dbus/hald on client while nfsuserd is running results in:
a) added gid=3D556 name=3Dmessagebus  \  added gid=3D562 name=3Dpolkit
b) No message about "nfs_getpages: error 13"

* If I don't run nfsuserd, or if I use NFS V2/3 for the /usr/local export:
a) File permissions on the non-root exports get displayed by name.
b) I see the "nfs_getpages: error 13" message.

* I did not try the "-maproot=3Droot" solution, because it does not address=
 the problem of regular users (ie me) having incorrect file ownership under=
 /home/me.

* File ownership under /var/run is correct because it's not NFS (it's MD)

I hope I was better able to explain the issue this time.
Regards.
--=20
FreeBSD_amd64_11-Current_RadeonKMS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150213142516.569ecc44>