PVE 5 / NFS3 (not coming online)

devinacosta

Active Member
Aug 3, 2017
65
11
28
47
I installed Proxmox 5.0-32 this morning onto a new cluster that I built. We are trying to mount it to a Tintri NFS appliance that only supports NFS version 3. If i manually mount it from the server to a test directory using NFS v3 it mounts just fine, however Proxmox doesn't seem to want to automatically bring it online. Any ideas?


root@lasdc-vnode-07:/etc/pve# cat storage.cfg
dir: local
path /var/lib/vz
content iso,vztmpl,backup

lvmthin: local-lvm
thinpool data
vgname pve
content rootdir,images

nfs: tintri-data
export /tintri/lasdc-proxmox-data
path /mnt/pve/tintri-data
server 100.64.65.2
content vztmpl,backup,rootdir,images,iso
maxfiles 90
options vers=3

# pvesm status
storage 'tintri-data' is not online
Name Type Status Total Used Available %
local dir active 28252228 1875716 24918336 6.64%
local-lvm lvmthin active 64749568 0 64749568 0.00%
tintri-data nfs inactive 0 0 0 0.00%
 
I found that the issue is related to 'showmount -e {tintri_ip_address}' doesn't respond from our NFS appliance. It doesn't appear to be a firewall issue as we opened up all traffic in both directions. I modified the NFSPlugin.pm and changed the check routine to not run that command as the 'check' and it now mounts without issue.

So for instances where maybe 'showmount' will not work, has Proxmox considered having alternative checks for NFS that work around this issue?

This is the code that i had to change in NFSPlugin.pm

sub check_connection {
my ($class, $storeid, $scfg) = @_;

my $server = $scfg->{server};

my $cmd = ['/sbin/showmount', '--no-headers', '--exports', $server];

eval {
run_command($cmd, timeout => 2, outfunc => sub {}, errfunc => sub {});
};
if (my $err = $@) {
return 0;
}

return 1;
}
 
showmount --exports asks the NFS server to provide a list of exported filesystems from the NFS server, and yes we use that to check NFS server avaibility

on the server side this service is provided by the rpcbind service, which is listening on port 111

so you should:
* check that this service is running on your appliance
* open the port 111 on your firewall
* test from the client side that
showmount --exports the_server

properly works

after that you should'nt need to modify the code :) ( which is totally OK by the way, but would be overwriten the next time you make an upgrade ...)
 
showmount --exports asks the NFS server to provide a list of exported filesystems from the NFS server, and yes we use that to check NFS server avaibility

Any plans for change way to check NFS server avaibility? We are on nfsv4 and we cant disable nfsv3 due this and it is security/requirements for nfsv3 are more and more problematic...
 
@czechsys: How do you get the list of exports in that case ? (NFSv4)
 
@czechsys: How do you get the list of exports in that case ? (NFSv4)

You don't.

"NFSv4 builds a pseudo file system from the list of exports and exports a pseudo '/'"

You can't anyway use nfs3 exported path as nfs4 mountpoint. What about dedicated nfs4 mounting with tree style menu as in every filemenu dialog everywhere?
 

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!