4

It is a bit embarrassing to admit, but I have problems getting my NFS server exporting the right directories. I am using an up-to-date CentOS 6.2 on both the client and the server.

The server is up and running, the firewall was disabled during the tests.

On the server side I have created this /etc/exports:

/home/user1/documents/   *(ro,sync)

this directory is the root of a volume of a software raid. mount output as follows:

/dev/mapper/lvm--raid-lvol0 on /home/user1/documents type ext4 (rw,nosuid,nodev)

the command showmount -e on the server shows the correct output:

Export list for servername:
/home/user1/documents (everyone)

I try to mount that share from the client and get the following output:

mount.nfs: access denied by server while mounting servername:/home/user1/documents

However when I look afterwards on the server at the file /proc/fs/nfsd/exports I see more than one mountpoint, but not the right one

# Version 1.2
# Path Client(Flags) # IPs
/       *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,fsid=0,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)
/home   *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)
/home/user1     *(ro,root_squash,sync,no_wdelay,no_subtree_check,v4root,uuid=696f3ea6:3d7641f3:b6315631:bd63c833)

Where do these entries come from and why is there no line starting with /home/user1/documents ? I tried mounting /home/user1 instead of /home/user1/documents from the client and this strangely works.

The UIDs of the user are the same on the server and the client. Could it be a problem that the directory to be exported is mounted itself?

Edit

The file /var/lib/nfs/xtab is empty.

7
  • For completeness (if the problem still exists) what does /var/lib/nfs/[ex]tab contain? May 1, 2012 at 3:14
  • This file is empty (I updated my question). The problem still exists. May 2, 2012 at 12:26
  • Have you tried mounting without the trailing slash? "/home/user1/documents" instead of "/home/user1/documents/". Also I have never used "*" before, so can't validate that; try using the ip address also. Also, try -v when mounting on the client side. And are there any more routers/firewalls involved between the 2 systmes? Is there a NAT in use (a NAT would cause this due to using an unprivileged port, which should show up if you use -v)?
    – Peter
    May 2, 2012 at 12:41
  • @GorillaPatch is /var/lib/nfs/etab also empty ? May 2, 2012 at 12:55
  • @GorillaPatch: Is this /home/user1/documents/ *(ro,sync) the only content at your /etc/exports? May 2, 2012 at 13:33

2 Answers 2

3

I see you are using NFSv4 (the fsid=0 in the /proc/fs/nfsd/exports output gives it away). NFS roots are rquired for NFSv4. You may have better luck with this /etc/exports.

/home                    *(ro,fsid=0)
/home/user1/documents/   *(ro,sync)

You might also need to edit the domain in /etc/idmapd.conf for the server and clients.

On a side note, I highly recommend replacing that asterisk with a subnet if you don't want your data accessable to untrusted systems.

2
  • Thanks for your help. The asterisk is there for debugging purposes only. Where can I find documentation about NFS roots? This is kind of new to me. I have not seen it in NFSv3. May 7, 2012 at 20:06
  • The arch wiki has a good guide for NFSv4. wiki.archlinux.org/index.php/NFSv4
    – Nicholas
    May 7, 2012 at 20:59
4

I had a problem with:

/my/dir1 *(rw,sync,fsid=0,crossmnt,no_subtree_check)
/my/dir2 *(rw,sync,fsid=0,crossmnt,no_subtree_check)

and both mount appeared for /my/dir1.

I was trying to use the same default options as given in the Ubuntu 16.04 nfs-kernel-server package /etc/exports example file: https://unix.stackexchange.com/questions/198009/what-provides-etc-exports-and-how-do-i-find-that-out

The solution was to remove fsid=0,crossmnt and use just:

/my/dir1 *(rw,sync,no_subtree_check)
/my/dir2 *(rw,sync,no_subtree_check)

This is also mentioned at: https://forums.opensuse.org/showthread.php/481263-NFS-directs-to-the-wrong-shared-folder/page2?s=ae345ec054b854b5cf036cd1816626f4

I don't really know what all of those do, one day I'll learn NFS. Maybe.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .