0

I have an NFSv4 server that is an RHEL 7.9 box. Our Ubuntu 20.04 boxes can mount shares from this server with no problem. Now I'm setting up an RHEL 8.6 box, but it fails to mount the share with the error "No such file or directory".

The /etc/exports file on the server is:

/opt/exports      127.0.0.1(rw,sync, fsid=0, crossmnt, no_subtree_check)   10.10.3.83(rw,sync, fsid=0, crossmnt, no_subtree_check)   10.10.3.70(rw,sync, fsid=0, crossmnt, no_subtree_check)   10.10.3.52(rw,sync,  no_root_squash,  no_subtree_check)
/opt/exports/syst 127.0.0.1(rw,sync,  no_root_squash,  no_subtree_check)   10.10.3.83(rw,sync,  no_root_squash,  no_subtree_check)   10.10.3.70(rw,sync,  no_root_squash,  no_subtree_check)   10.10.3.52(rw,sync,  no_root_squash,  no_subtree_check)
/syst             127.0.0.1(rw,sync,  no_root_squash,  no_subtree_check)   10.10.3.83(rw,sync,  no_root_squash,  no_subtree_check)   10.10.3.70(rw,sync,  no_root_squash,  no_subtree_check)   10.10.3.52(rw,sync,  no_root_squash,  no_subtree_check)

[Spaces added for presentation/clarity.]

This mount command works fine on our Ubuntu machines:

# mount -vvv -t nfs4 -o proto=tcp,port=2049 syst-1:/syst /syst
mount.nfs4: timeout set for Mon Jun  6 19:13:21 2022
mount.nfs4: trying text-based options 'proto=tcp,port=2049,vers=4.2,addr=10.10.3.22,clientaddr=10.10.3.52'
mount.nfs4: mount(2): No such file or directory
mount.nfs4: mounting syst-1:/syst failed, reason given by server: No such file or directory

The showmount command correctly shows the exports, so I know that part works:

# showmount --exports syst-1
Export list for syst-1:
/syst             10.10.3.52,10.10.3.70,10.10.3.83,127.0.0.1
/opt/exports/syst 10.10.3.52,10.10.3.70,10.10.3.83,127.0.0.1
/opt/exports      10.10.3.52,10.10.3.70,10.10.3.83,127.0.0.1

Just for kicks and giggles, I've tried:

# mount -vvv -t nfs4 -o proto=tcp,port=2049 syst-1:/opt/export/syst /syst
# mount -vvv -t nfs4 -o proto=tcp,port=2049 syst-1:/        /syst

with the same results. The target directory of /syst does exist and I've deleted it and re-created it, just in case I accidentally created it with hidden characters or something. Out of desperation, I've also tried rebooting the client and the server. I've added the necessary ports to the firewalls and even tried disabling the firewalls temporarily. Forward and reverse DNS for the server resolve correctly. There are no errors in the logs, but I haven't researched if I can set up more detailed logging.

I also tried deleting the redundant /syst (3rd line in the exports file); no change.

I've Googled this quite a bit, but the results I've found are either a different problem or are for things that I already have set up (such as fsid=0 in the first line of the exports file).

5
  • I am sure you have validated the client IP. Can you please confirm if your host ip in exports file matches to that of your REL 8.6 box ?
    – Sagar
    Commented Jun 7, 2022 at 6:50
  • Should this not be kernel mode nfs? Look to see if the required modules are loaded.
    – Bib
    Commented Jun 7, 2022 at 9:37
  • I did check the client IP.
    – Brad Silva
    Commented Jun 8, 2022 at 21:30
  • Also, the list of installed nfs kernel modules is the same on the Ubuntu and RHEL boxes, although some of the "used by" references are different. My understanding of these modules is that the used by shouldn't matter.
    – Brad Silva
    Commented Jun 8, 2022 at 21:33
  • (1) I don’t understand:  You say “This mount command works fine on our Ubuntu machines:” and then show a command failing. (2) Since the export parameters are not identical (fsid=0,crossmnt  vs.  no_root_squash), it might help if you told us which machine is the new one (i.e., is it .52 or not?). (3) When you say “The target directory of /syst”, do you mean /opt/exports/syst? (4) Please edit your question to contain all the information you have tacked on. … … … … … … In general, please do not respond in comments; edit your question to make it clearer and more complete. Commented Jul 11, 2022 at 17:17

1 Answer 1

2

Sigh.... All the detail checking before I made this post and I missed the most important part. I would have said that the parameters for the RHEL client were copied from the others and were identical.

Maybe I got interrupted, maybe I decided to test something. Probably a combination of the two.

Anyway, the problem turned out to be a missing fsid=0 statement in the parameters for the RHEL client.

1
  • Just to be clear: you’re saying that the thing that you ‘‘would have said’’ was (would have been) wrong? I suggest that you edit this to remove the first two paragraphs and focus on the actual solution. Commented Jul 11, 2022 at 17:21

You must log in to answer this question.

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