NFS exports fails under NIS+ (Solaris 8)
2007-12-24 19:08:00
=================================================
I have a machine, ws1, which is exporting a disk to other suns. It
exports this disk just fine under the old NIS. However, when I install
NIS+ on this machine (to make it a new NIS+ root server) the NFS export
fails.
Appendix A shows in great details how I setup the NIS+ root server.
When I boot up ws1 (with NIS+ installed), the following error message
appears:
Jul 19 10:54:07 ws1 /usr/lib/nfs/nfsd[312]: [ID 903751 daemon.error] Cannot get
address for transport udp host \1 service nfs
Jul 19 10:54:07 ws1 /usr/lib/nfs/nfsd[312]: [ID 128213 daemon.error] Cannot
establish NFS service over /dev/udp: transport setup problem.
Jul 19 10:54:07 ws1 /usr/lib/nfs/nfsd[312]: [ID 903751 daemon.error] Cannot get
address for transport tcp host \1 service nfs
Jul 19 10:54:07 ws1 /usr/lib/nfs/nfsd[312]: [ID 128213 daemon.error] Cannot
establish NFS service over /dev/tcp: transport setup problem.
Jul 19 10:54:07 ws1 /usr/lib/nfs/nfsd[312]: [ID 679034 daemon.error] Could not
start NFS service for any protocol. Exiting.
Thise error messages were not there before. (BTW, The lockd daemon complains
the same way if nfsd is not started.) And when I try to mount the disk
from another sun, it (of course) fails miserably:
# mount ws1:/export/home/disk29/bgo /mnt
nfs mount: ws1: NFS service not responding
nfs mount: retrying: /mnt
The NIS server (and the computer as such) otherwise works absolutely
fine -- and I have even added a client to the new NIS+ server and that works
fine as well. I.e., ALL IS WELL - EXCEPT FOR THE NFS EXPORTS OF DISKS
UNDER THE NEW NIS+. It is interesting that the client of the NIS+
server will not export disks via NFS either, i.e., it behaves just like
the master server in this respect.
Appendix B shows relevant details of the exports of the disk.
If I revert ws1 back to be a client of the old NIS server (another
sun) using this procedure:
------------------------------------------
cp /etc/nsswitch.nis /etc/nsswitch.conf
vi /etc/nsswitch.conf; fix dns line
domainname old.nis.dom
domainname >! /etc/defaultdomain
rm -rf /var/nis/*
rm /var/nis/.NIS_PRIVATE_DIRCACHE
rm /var/nis/.pref_servers
ls -a /var/nis/
------------------------------------------
then suddenly I can mount the disk from ws1 from the other sun with
no problems:
# mount ws1:/export/home/disk29/bgo /mnt
# ls /mnt
abukhal/ dj/ mpc/ tl/
# umount /mnt
I'm running
# uname -a
SunOS ws1 5.8 Generic_108528-08 sun4u sparc SUNW,Ultra-5_10
and I have installed all recommended patches as of Jun 19, 2001
on the machine - so I'm using the latest and greatest with
all patches up to date!
Can anyone tell me what the problem is?
Torben
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/ Torben Lauritsen, Staff Physicist _/
_/ E-mail: torben at anl.gov _/
_/ Snail mail: Argonne National Laboratory, Building 203, _/
_/ 9700 S. Cass Avenue, Argonne, IL 60439, USA. _/
_/ Phone: Office(+voice)/sec/fax: (630)252-4026/3663/6210 _/
_/ beeper-mail 4026 at page.anl.gov, reg page: 4-4026 _/
_/ URL: http://www.phy.anl.gov _/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
==============
| Appendix A |
==============
**DETAILS OF NIS+ SETUP
domainname ogt.anl.gov
domainname >! /etc/defaultdomain
cp /etc/nsswitch.nisplus /etc/nsswitch.conf
vi /etc/nsswitch.conf; fix dns in /etc/nsswitch.conf
ps -ef | grep keyserv
kill -9 nnnn
rm /etc/.rootkey
/usr/sbin/keyserv
rm -rf /var/nis/*
rm /var/nis/.NIS_PRIVATE_DIRCACHE
rm /var/nis/.pref_servers
ls -la /var/nis
setenv NIS_GROUP admin.ogt.anl.gov.
nisinit -r
ls -l /var/nis
ps -ef | grep rpc.nisd (kill old nisd if it is running)
kill -9 nnnn
rpc.nisd -r -S 0
ls -l /var/nis (just check)
nisls -l ogt.anl.gov. (just check) (should be empty)
ps -ef | grep rpc.nisd (verify it is running)
nissetup
nisls -l ogt.anl.gov. (just check) (should have two subdirectories)
nisaddcred des (use root password)
nisgrpadm -c admin.ogt.anl.gov.
nisgrpadm -a admin.ogt.anl.gov. ws1.ogt.anl.gov.
nisgrpadm -l admin.ogt.anl.gov.
nisupdkeys ogt.anl.gov.
nisupdkeys org_dir.ogt.anl.gov.
nisupdkeys groups_dir.ogt.anl.gov.
nis_cachemgr
ps -ef | grep rpc.nisd
kill -9 nnnn
rpc.nisd -r
-----------
populate NIS+ tables (using nipopulate script) as:
cp /usr/lib/nis/nispopulate /usr/lib/nis/nispopulate.1
vi /usr/lib/nis/nispopulate.1 (change 'nisplus' passwd)
/usr/lib/nis/nispopulate.1 -Y -d ogt.anl.gov -h ws0.ogt.anl.gov \
-a 146.139.62.41 -y old.nis.dom
just to get around the auto.home|master problem, load these from files
/usr/lib/nis/nispopulate.1 -F -p /home2/tl/nis+files -d ogt.anl.gov
rm /usr/lib/nis/nispopulate.1
check /etc/nsswitch.conf for dns, it may have been overwritten...
nisping -C ogt.anl.gov
reboot
==============
| Appendix B |
==============
**DETAILS OF MOUNT FILES ETC
# more /etc/dfs/dfstab
share -F nfs -o rw=ng_suns:ng_linux -d "bgo disk" /export/home/disk29/bgo
I.e., I'm using netgroup to export. This netgroup was imported into the
new NIS+ server from the NIS server using nispopulate (see appendix A)
and it appears to be ok:
niscat -h netgroup.org_dir
.
.
ng_suns flounder.ogt.anl.gov ogt.anl.gov
ng_suns ,
ng_suns tuna.ogt.anl.gov ogt.anl.gov
ng_suns triton.ogt.anl.gov ogt.anl.gov
ng_suns gw1.ogt.anl.gov ogt.anl.gov
ng_suns gw2.ogt.anl.gov ogt.anl.gov <--- the machine I try to mount from
ng_suns ws0.ogt.anl.gov ogt.anl.gov
ng_suns gw3.ogt.anl.gov ogt.anl.gov
ng_suns gw4.ogt.anl.gov ogt.anl.gov
ng_suns ws1.ogt.anl.gov ogt.anl.gov
.
.
In any case, replacing the netgroup with the actual client machine that
wants to mount does not solve the problem. I.e., changing the share
line to
share -F nfs -o rw=gw2.ogt.anl.gov:gw2 -d "bgo disk"
/export/home/disk29/bgo
and executing 'shareall' does not fix the problem. I.e, this is NOT a
netgroup problem!
My /etc/nsswitch.conf file looks like this (uses DNS):
# grep -v # /etc/nsswitch.conf
passwd: files nis
group: files nis
hosts: nis dns [NOTFOUND=return] files
ipnodes: files
networks: nis [NOTFOUND=return] files
protocols: nis [NOTFOUND=return] files
rpc: nis [NOTFOUND=return] files
ethers: nis [NOTFOUND=return] files
netmasks: nis [NOTFOUND=return] files
bootparams: nis [NOTFOUND=return] files
publickey: nis [NOTFOUND=return] files
netgroup: nis
automount: files nis
aliases: files nis
services: files nis
sendmailvars: files
printers: user files nis
auth_attr: files nis
prof_attr: files nis
project: files nis
the machine does resolve the machine that wants to mount the disk:
from ws1:
# ping gw2
gw2 is alive
# ping gw2.ogt.anl.gov
gw2.ogt.anl.gov is alive
and ws1 (the NIS+ server) happily mounts disks from other
suns even when it doesn't want to export its own disks.
Comments
Got something to say?
You must be logged in to post a comment.

