SUMMARY: NFS sharing problem. (fwd)

From: Alex Soares (alex@nc-rj.rnp.br)
Date: Thu Jan 16 1997 - 06:51:49 CST


Sun Managers,

Thanks for all that sent me a reply:

Francis Liu <fxl@pulse.itd.uts.edu.au>
Casper Dik <casper@holland.Sun.COM>
Jens Fischer <jefi@kat.ina.de>

---

> Original question: > ================= > I am trying to export via NFS a the filesystem /opt from the Host1 (Axil > 320 / Solaris 2.4 / NIS+) to a Host2 (SPARC 5 / Solaris 2.4 / NIS+) both > with "Recommended Patches" applied. > > The Host1 mounts 2 filesystems from a Host3 (SPARC 2 / SunOS 4.1.1 / NIS) > and works Ok. Host 2 also mounts filesystems from Host3 without problems. > All hosts are in the same subnet. > > The error message in Host1 when I try to put NFS server on the air with > "/etc/init.d/nfs.server start" or "/usr/lib/nfs/nfsd -a 16" is: > ------------------- > Jan 14 19:13:51 chocolate /usr/lib/nfs/nfsd[458]: netdir_getbyname > (transport udp, host/serv \1/nfs), No such file or directory > Jan 14 19:13:51 chocolate /usr/lib/nfs/nfsd[458]: Cannot establish NFS > service over /dev/udp: bind problem. Exiting. > ------------------- > > Other data to help solving the problem: > ---------------------------------------- > 1) I ran the mountd by hand also, It's running and NFS still doesn't work > > 2) The /etc/dfs/dfstab contains entries to share the filsystems: > > # place share(1M) commands here for automatic execution > # on entering init state 3. > share -F nfs -o rw=Host2 /export/home > share -F nfs -o rw=Host2 /opt > > 3) The actual status of the system is: > (...) > root 118 1 80 18:01:22 ? 0:05 /usr/sbin/rpcbind > root 142 1 19 18:01:34 ? 0:00 /usr/lib/nfs/statd > root 144 1 62 18:01:35 ? 0:01 /usr/lib/nfs/lockd > root 165 1 38 18:01:38 ? 0:00 /usr/lib/autofs/automountd > root 279 1 29 18:01:52 ? 0:00 /usr/lib/nfs/mountd > root 348 139 16 18:02:30 ? 0:00 rpc.rstatd > root 460 1 34 19:13:51 ? 0:00 /usr/lib/nfs/mountd > (...) > > 4) What the command "rpcinfo -u" says about "nfs": > > # rpcinfo -u Host1 nfs > rpcinfo: RPC: Program not registered > program 100003 is not available > > 5) What the command "rpcinfo -u" says about "mountd": > > # rpcinfo -u Host1 mountd > program 100005 version 1 ready and waiting > program 100005 version 2 ready and waiting > > 6) Error message when trying to mount Host1:/filesystem on Host2: > > nfs mount: Host1:: RPC: Program not registered > nfs mount: retrying: /filesystem > > 7) Host1 run level is 3: > > # who -r > . run-level 3 Jan 14 18:01 3 0 S > > 8) All networks connections are up and running. Telnet, FTP, WWW between > Host1, Host2 and Host3 are working. > > 9) List of Host1 shares: > > # showmount -e > export list for Host1: > /export/home Host2 > /opt Host2 > > 10) Rebooting the Hosts 1, 2 and 3 n times didn't work as well.

Solution: ========

First of all, I must say that I did read the Solaris 2 FAQ - http://www.fwi.uva.nl/pub/solaris/solaris2/ and my /etc/services file is updated with the infomation below:

5.38) I can't run nfs: netdir_getbyname failure, /dev/udp: bind problem For some reason the nfs service has disappeared from your /etc/services file, nis map or NIS+ table. You need to have an entry like: nfsd 2049/udp nfs # NFS server daemon (clts) nfsd 2049/tcp nfs # NFS server daemon (cots) If you use NIS+, you must make sure that the NIS+ entry is readable for the machine executing nfsd. If you used your SunOS 4.x services file, that would explain it: SunOS 4.x doesn't have an entry for nfsd in /etc/services, Solaris 2.x requires one. This will usually not happen until you upgrade to Solaris 2.4 or upgrade to 2.5. Solaris 2.3 and earlier would always consult /etc/services, regardless of what nsswitch.conf said. /etc/services does contain the right NFS entries. Solaris 2.4 and earlier don't have an entry for NFS over tcp.

--- end of excerpt from the FAQ

And my /etc/services file did contain the lines above.

Another (very important) thing I forgot to mention was that I did set up NIS+ in compatibility mode with NIS and used /usr/lib/nis/nispopulate -Y to create NIS+ tables with the contents of NIS maps.

With the tips sent me by Francis Liu and Casper Dik, I recreated the services NIS+ table with the contents of the /etc/services file using the command:

/usr/lib/nis/nisaddent -rv -f /etc/services services

I want to apologize with Francis Liu and Casper Dik for taking so long time to realize what they meant when telling me take a look at the NIS+ services table.

To finish this summary, I'd like to share the tip of Casper Dik:

You could try (in /etc/nsswitch.conf):

services: nisplus files

(files always get consulted if nisplus can't satisfy the request) That would give you the best of both worlds, IMHO.

Casper Dik

Thanks again you all, -- Alex Soares Rede Nacional de Pesquisa (RNP) / The Brazilian Academic Research Network http://www.rnp.br/ Centro Regional do Rio de Janeiro (CR-RJ) http://www.cr-rj.rnp.br/



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:11:43 CDT