1

Trying to establish an NFS mount between some openstack instances, using this ansible playbook. All Ubuntu, server is 16.04, 4.4.0, clients are 18.04, 4.15.0. I have set the security groups to be able to see ports 111 and 2049.

  • 192.168.20.2 - my server
  • 192.168.20.3 - a client

UFW is inactive on all machines. Already ran sudo exportfs -av -> exporting 192.168.20.1/24:/nfs

exportfs -> /nfs 192.168.20.1/24

nfsd is running. On the server, I can sudo mount 192.168.20.2:/nfs /tmp/nfs, works fine. I can rpcinfo -p 192.168.20.2:

100000    4   tcp    111  portmapper
...
100000    2   udp    111  portmapper
100024    1   udp  58520  status
100024    1   tcp  42380  status
100021    1   udp  60054  nlockmgr
....
100005    1   udp  35035  mountd
...
100005    3   tcp  41256  mountd
...
100003    4   udp   2049  nfs

(omitted some version variants to save space)

Client can nmap the server:

PORT     STATE SERVICE
111/tcp  open  rpcbind
2049/tcp open  nfs

Server can nmap the client (I expect nfs to be closed, right?)

PORT     STATE  SERVICE
111/tcp  open   rpcbind
2049/tcp closed nfs

I can telnet all the appropriate ports.

On the client, I can't mount, showmount -e, or rpcinfo -p 192.168.20.2.

192.168.20.52: RPC: Port mapper failure - Timed out

I have tried:

  • service rpcbind restart
  • service portmap restart
  • service nfs-server restart

I just tried running the 18.04 as the server, 16.04 as the client. Works! Why won't it work the other way?

edit: So I re-provisioned some things, servers are all 18.04 now, and now showmount hangs on everything. I've soft-rebooted both client and server. I have another 16.04 client, that's also freezing. Here's the list of rfs-related services:

systemctl list-units --all | grep -Pi -e '(nfs|rpc)'

● mnt-nfs.mount               loaded    failed   failed    /mnt/nfs
● nfs.mount                   loaded    failed   failed    /nfs
  proc-fs-nfsd.mount          loaded    active   mounted   NFSD configuration filesystem
  run-rpc_pipefs.mount        loaded    active   mounted   RPC Pipe File System
  auth-rpcgss-module.service  loaded    inactive dead      Kernel Module supporting RPCSEC_GSS
  nfs-blkmap.service          loaded    active   running   pNFS block layout mapping daemon
  nfs-config.service          loaded    inactive dead      Preprocess NFS configuration
  nfs-idmapd.service          loaded    active   running   NFSv4 ID-name mapping service
  nfs-mountd.service          loaded    active   running   NFS Mount Daemon
  nfs-server.service          loaded    active   exited    NFS server and services
  nfs-utils.service           loaded    inactive dead      NFS server and client services
  rpc-gssd.service            loaded    inactive dead      RPC security service for NFS client and server
  rpc-statd-notify.service    loaded    inactive dead      Notify NFS peers of a restart
  rpc-statd.service           loaded    active   running   NFS status monitor for NFSv2/3 locking.
  rpc-svcgssd.service         loaded    inactive dead      RPC security service for NFS server
  rpcbind.service             loaded    active   running   RPC bind portmap service
  rpcbind.socket              loaded    active   running   RPCbind Server Activation Socket
  nfs-client.target           loaded    active   active    NFS client services
  rpcbind.target              loaded    active   active    RPC Port Mapper
DeusXMachina
  • 183
  • 1
  • 1
  • 8
  • (1) Can you mount NFS as NFSv4 so that only TCP:2049 would be involved? (2) I have no suggestion yet for possible reasons why not but did you check with e.g. `strace` or `tcpdump` that `mount`, `showmount`, and `rpcinfo` get the connections they need? – Hauke Laging Jun 07 '20 at 14:40
  • I'll give it a shot. I've made some progress since then, I modified some DNS/hostname stuff, and now I can mount, and `rpcinfo` works, but `showmount` still freezes. – DeusXMachina Jun 08 '20 at 19:53

0 Answers0