NFS3 works on one server, not the second

dlewis

New Member
Apr 28, 2014
7
0
1
We can successfully mount a share on our first proxmox server but, when we try to mount it on the second, we get the following error:
pvestatd[4164]: WARNING: mount error: mount.nfs: requested NFS version or transport protocol is not supported

Here is the entry in /etc/pve/storage.cfg:
Code:
nfs: openvz-nfs
    path /mnt/pve/openvz-nfs
    server [IP ADDR]
    export /mnt/nfs1/nfs-openvz/OF-NFS-1
    options vers=3
    content images,iso,vztmpl,rootdir,backup
    maxfiles 1

If I comment out the options line, it mounts, but as version 4. Likewise if I mount it from the command line using the mount command.

I've checked the version of mount, nfs-common, and other similar. All the same between the two servers.

Any ideas?
 
If you mount with verbose output, what do you get?

mount -v -t nfs -o vers=3,nvsvers=3 server://mnt/nfs1/nfs-openvz/OF-NFS-1 /mnt/pve/openvz-nfs
 
Code:
# mount -v -t nfs -o vers=3,nvsvers=3 [SERVER]://mnt/nfs1/nfs-openvz/OF-NFS-1 /mnt/tmp
mount.nfs: timeout set for Sat Jun 28 09:24:08 2014
mount.nfs: trying text-based options 'vers=3,nvsvers=3,addr=[SERVER]'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying [SERVER] prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: portmap query retrying: RPC: Program not registered
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: portmap query failed: RPC: Program not registered
mount.nfs: requested NFS version or transport protocol is not supported

# service rpcbind status
rpcbind is running.

# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  48946  status
    100024    1   tcp  34850  status

Interestingly, when I run the same mount command on the working proxmox box, it fails too and I get the same output. Yet proxmox mounts it just fine with version 3:
Code:
root@[WORKING-PROXMOX]:~# mount -l
...
[SERVER]:/mnt/nfs1/nfs-openvz/OF-NFS-1 on /mnt/pve/openvz-nfs type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=[SERVER],mountvers=3,mountport=42528,mountproto=udp,local_lock=none,addr=[SERVER])
 
Fixed a typo ("nvsvers" vs "nfsvers") but no change - same responses.

It looks to me like it's getting through to prog 100003, (nfs), but can't contact 100005, which should be mountd. Am I reading that right? Is it trying to contact mountd running on the local client or on the server?
 
Telling mount the port to use for mountd works:
Code:
mount -v -t nfs -o vers=3,nfsvers=3,mountport=44939,mountproto=udp [SERVER]://mnt/nfs1/nfs-openvz/OF-NFS-1 /mnt/tmp

Not really an option long term and it doesn't explain why mounting works just fine on node 1. But I would say that indicates the problem might be that mountd is not registered with rpcbind on the server, right?

On server:
Code:
# ps auxw | grep mountd       
root      7672  0.0  0.0  17348  1324 ?        Ss   09:20   0:00 rpc.mountd

# rpcinfo -p                                                                                                 
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100011    1   udp    625  rquotad
    100011    2   udp    625  rquotad
    100011    1   tcp    628  rquotad
    100011    2   tcp    628  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    2   udp   2049  nfs_acl
    100227    3   udp   2049  nfs_acl
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    2   tcp   2049  nfs_acl
    100227    3   tcp   2049  nfs_acl
    100021    1   udp  42594  nlockmgr
    100021    3   udp  42594  nlockmgr
    100021    4   udp  42594  nlockmgr
    100021    1   tcp  55313  nlockmgr
    100021    3   tcp  55313  nlockmgr
    100021    4   tcp  55313  nlockmgr
 
iptables is off on all three.

nmap shows 2049 and 111 available from both nodes. And I know I can hit at least one port that mountd is listening on - as the share mounts if I specify the port. (mount just can't get the port from rpcbind.)

I've learned a lot about NFS over the last few days but I'm still unsure - with the newer versions of NFS, mountd should still be registered with rpcbind, right?
 
NFSv3: port 111 and 2049 are in play
NFSv4: Only port 2049 is in play

Is the Domain configured identically on all servers in /etc/idmapd.conf
 
idmapd.conf

On server:
Code:
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/rpc_pipefs
Domain = localdomain

[Mapping]
Nobody-User = nobody
Nobody-Group = nobody

On clients:
Code:
[General]
Verbosity = 0
Pipefs-Directory = /var/lib/nfs/rpc_pipefs

[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!