Networking :: NFS problems



OK, Looking through the info in the link above, ps shows 8 instances of nfsd running, plus rpciod & lockd - all have the status SW. The above link refers to the startsrc command & /etc/rc.nfs files - neither of which are present.

I've used exportfs -rav & no errors were reported. showmount -p <servername> reported the directories exported as expected

Sorry to be unhelpful, but no other support than kernel is needed on the client - I accidentally had a fresh system and didn't feel like getting nfsd, so I just had the kernel support for NFS client, and to my amazement (and laziness :p) it worked just fine, I only got a complaint that since portmap and lockd were not available, I could not have file locking and that would bring issues if anyone else connected at the same time.
Since I was the only client to my server, it didn't matter at the time.

Just saying those aren't needed on the client, and your problem lies elsewhere..

Maybe check the permissions on the remote (and maybe local) directory.  If you can, maybe just try and allow everyone to have access on it.  (I haven't used nfs in a while, but I seem to remember some kind of problem like this)
I was reading the mount_nfs man page (On OSX, the Linux one might be different)

It's error section says:
Code Sample

ERRORS
    Some common problems with mount_nfs can be difficult for first time users
    to understand.

          mount_nfs: can't access /foo: Permission denied

    This message means that the remote host is either not exporting the file
    system you requested or is not exporting it to your host.  If you believe
    the remote host is indeed exporting a file system to you, make sure the
    exports(5) file is exporting the proper directories.  The program
    showmount(8) can be used to see a server's exports list.  The command
    ``showmount -e remotehostname'' will display what file systems the remote
    host is exporting.


So, lets try the most obvious thing. Try rewriting the exports file to have two entries. One for the server, one for the client, with explicit ip's instead of hostnames or catchalls. Then restart every server/daemon and try again.

OK,

still not getting NFS to work. I have reduced the test to a single machine. I am using dsl v3.4.11, booted as 'dsl base norestore'. I am using the machine as both client & server to mount directory /home/dsl  at /mnt/ttt. the sequence I am using is:


download nfs-kernel-server.dsl
load nfs-kernel-server.dsl

run emelfm as root:
set permissions for /home/dsl to rwx for all users & recurese subdirectories
create /mnt/ttt & set permissions as above.
edit /etc/exports: add "/home/dsl   *(rw)"
delete /etc/hosts.allow & deny
copy contents of /etc/hosts (a symlinked file) to a new file in beaver & edit to add line "box 10.0.2.15" (ip of the machine).
delete 'box' as hostname for 127.0.0.1
delete /etc/hosts
save new file from beaver (above) as /etc/hosts


open root teminal:
Code Sample

[/mnt]# /etc/init.d/portmap start
Starting portmap daemon: portmap.
[/mnt]# /etc/init.d/nfs-common start
Starting NFS common utilities: statd.
[/mnt]# /etc/init.d/nfs-kernel-server start
Exporting directories for NFS kernel daemon...done.
Starting NFS kernel daemon: nfsd mountd.
[/mnt]# showmount -e box
Export list for box:
/ramdisk/home/dsl *

modprobe nfs


showmount gives the same for box, localhost, 127.0.0.1 & 10.0.2.15

rpcinfo & mount then give:

Code Sample

[/mnt]# rpcinfo -p box
  program vers proto   port
   100000    2   tcp    111  portmapper
   100000    2   udp    111  portmapper
   100024    1   udp    804  status
   100024    1   tcp    807  status
   100003    2   udp   2049  nfs
   100003    3   udp   2049  nfs
   100003    2   tcp   2049  nfs
   100003    3   tcp   2049  nfs
   100021    1   udp   1024  nlockmgr
   100021    3   udp   1024  nlockmgr
   100021    4   udp   1024  nlockmgr
   100021    1   tcp   1091  nlockmgr
   100021    3   tcp   1091  nlockmgr
   100021    4   tcp   1091  nlockmgr
   100005    1   udp   1026  mountd
   100005    1   tcp   1092  mountd
   100005    2   udp   1026  mountd
   100005    2   tcp   1092  mountd
   100005    3   udp   1026  mountd
   100005    3   tcp   1092  mountd
[/mnt]# mount box:/home/dsl ttt
mount: box:/home/dsl failed, reason given by server: Permission denied
[/mnt]# mount box:/ramdisk/home/dsl ttt
mount: box:/ramdisk/home/dsl failed, reason given by server: Permission denied


using localhost, 127.0.0.1 or 10.0.2.15 in place of box gives the same result.

Then tried adding hosts directly to /etc/exports i.e.:


Code Sample
/home/dsl *(rw) box(rw) localhost(rw) 10.0.2.15(rw) 127.0.0.1(rw)


this then gave:

Code Sample
[/mnt]# exportfs -rav
exportfs: duplicated export entries:
exportfs:       10.0.2.15:/ramdisk/home/dsl
exportfs:       box:/ramdisk/home/dsl
exportfs: duplicated export entries:
exportfs:       127.0.0.1:/ramdisk/home/dsl
exportfs:       localhost:/ramdisk/home/dsl
exporting localhost:/ramdisk/home/dsl
exporting box:/ramdisk/home/dsl
exporting *:/ramdisk/home/dsl
exporting localhost:/ramdisk/home/dsl to kernel
localhost:/ramdisk/home/dsl: Invalid argument
exporting box:/ramdisk/home/dsl to kernel
box:/ramdisk/home/dsl: Invalid argument
[/mnt]# mount 10.0.2.15:/ramdisk/home/dsl ttt
mount: 10.0.2.15:/ramdisk/home/dsl failed, reason given by server: Permission denied
[/mnt]#


??

Next Page...
original here.