Mount no longer works in Proxmox 6 - NFS - Synology

One other point that seems to be related: I discovered my NFS host's firewall was blocking very frequent requests to port 36811/tcp from the Proxmox host. Although I use exports from this NFS host with other physical hosts I had not encountered similar requests from them. This was only by reviewing systems logs on the NFS host, Proxmox did not indicate this as an issue.

Allowing requests to port 36811 from the Proxmox host has increased GUI responsiveness for storage dramatically and there are no longer "?" next to the NFS mounts.
 
Issue still be there upon update to Proxmox 7.1.10
Synology DSM7 (behind NAT), external port are directly redirected to the NAS

according to latest fix, perl code look like it will use rpcinfo or show mount depending of the NFS version
- tried both, default or v4.x => no result
- tried to comment the return 0, no more result

shame I add to keep my /etc/fstab mount, and ask Proxmox to use the mount DIRECTORY
 
Same problem with Proxmox 7.2-11 and a Synology NAS.

I have an up to date Synology NAS behind a router at my office and a Proxmox node on another server, in the cloud.


XX.XX.XX.XX -> NAS public IP address
YY.YY.YY.YY -> Proxmox Node IP address
ZZ.ZZ.ZZ.ZZ -> Other public IP address
192.168.1.190 -> NAS private IP address (In the local network)

Executing strace -f -e trace=network showmount -e XX.XX.XX.XX on the Proxmox node, we got :

socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 4
connect(4, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 4
setsockopt(4, SOL_IP, IP_RECVERR, [1], 4) = 0
connect(4, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("ZZ.ZZ.ZZ.ZZ")}, 16) = 0
sendto(4, "\343\343\1\0\0\1\0\0\0\0\0\0\4nas1\fwincom-cloud\3n"..., 39, MSG_NOSIGNAL, NULL, 0) = 39
recvfrom(4, "\343\343\201\200\0\1\0\1\0\0\0\0\4nas1\fwincom-cloud\3n"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("212.227.123.16")}, [28->16]) = 55
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
getsockname(4, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, [128->16]) = 0
getsockopt(4, SOL_SOCKET, SO_TYPE, [1], [4]) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, [128->16]) = 0
bind(4, {sa_family=AF_INET, sin_port=htons(708), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
getpeername(4, 0x7ffc52f90cc0, [128]) = -1 ENOTCONN (Transport endpoint is not connected)
connect(4, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("XX.XX.XX.XX")}, 16) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(708), sin_addr=inet_addr("YY.YY.YY.YY")}, [128->16]) = 0
getsockopt(4, SOL_SOCKET, SO_TYPE, [1], [4]) = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
getsockname(4, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, [128->16]) = 0
getsockopt(4, SOL_SOCKET, SO_TYPE, [1], [4]) = 0
getsockname(4, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, [128->16]) = 0
bind(4, {sa_family=AF_INET, sin_port=htons(708), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EADDRINUSE (Address already in use)
bind(4, {sa_family=AF_INET, sin_port=htons(709), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0
getpeername(4, 0x7ffc52f90ea0, [128]) = -1 ENOTCONN (Transport endpoint is not connected)
connect(4, {sa_family=AF_INET, sin_port=htons(892), sin_addr=inet_addr("192.168.1.190")}, 16

Per the latest line, we can see that showmount tries to connect to the NAS local IP address which is in this case unreachable from the Proxmox node. We got a timeout.

There is clearly a problem here which has not been yet fixed.
For time being, I mounted the share on the Proxmox node and added It as a folder.

Updating the following in /usr/share/perl5/PVE/Storage/NFSPlugin.pm works, but I am not keen on updating out of the box files.

Code:
if (my $err = $@) {
# return 0;  ### this line needs to be commented out
}

Any idea how to properly fix that and add the fix to the master branch?

Thanks,
 
Last edited:
I have a HPE Proliant DL360 G9 (PVE 7.3-3) and a Synology RS2421+ (DSM 7.1.1-42962).
I too am still suffering with this issue. I have attempted to use the fixes listed above with no success.
 

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!