9.1 VM nfs3 & locks over VPN

Rick Romero rick at havokmon.com
Fri Oct 11 20:47:45 UTC 2013


  Update - I've install a 9.1 VM locally, and I don't have the lock issue.
I've also allowed access straight over the internet, and locks don't work.
Now the non-working VM is not pristine like the test VM, but even so the
kernels appear to match based on uname,so I'm guessing it's a problem with
virtio block driver (which is not installed on the local test VM) or
something funky with the hosting providers virtualization.  Does that shed
any light on things?

Quoting Rick Romero <rick at havokmon.com>:

> So let me explain my environment -
> I have 1 FreeBSD 7.1 server, multiple Linux boxes, and a FreeBSD 9.0
> server.  The 9.0 server is providing NFS3 mounts to all the other
systems.
> I've built a remote VM (FreeBSD 9.1 offered by Hosting provider), and
> connected it to my network via OpenVPN.  I copied my rc.conf from 9.0
> server to 9.1 in order to grab the proper requirements for mount NFS3,
and
> it worked fine until I ran my lock test (perl script).  Which really
sucks
> because I've already gotten just about everything else I need working :(
>
> I cannot get a lock from any OS on this side of the VPN.  There are no
> errors logged anywhere, and adding rpcbind_flags="-l -L" just tells me
> that
> the local servers are contacted. 
> Oct 11 09:43:58 nl101 rpcbind: connect from 172.16.1.21 to
> getport/addr(mountd)
> Oct 11 09:44:07 nl101 rpcbind: connect from 172.16.1.21 to dump()
> Oct 11 09:44:15 nl101 rpcbind: connect from 172.16.1.21 to
> getport/addr(nfs)
> Oct 11 09:44:16 nl101 rpcbind: connect from 172.16.1.21 to
> getport/addr(mountd)
> Oct 11 09:44:21 nl101 rpcbind: connect from 172.16.1.21 to
> getport/addr(nlockmgr)
> Yes lockd is running and the logs show a connection is made to it.  I
even
> tried binding rpcbind to just the VPN IP.
> What I couldn't do was enable debugging, the -d flag just caused rpcbind
> to
> hang.
> So I'm currently here:
> nfs_server_enable="YES"
> nfs_server_flags=" -u -t -n12"
> nfs_client_enable="YES"
> portmap_enable="YES"
> mountd_enable="YES"
> mountd_flags=" -r"
> rpcbind_enable="YES"
> rpc_lockd_enable="YES"
> rpc_statd_enable="YES"
> rpcbind_flags=" -l -L"
> #rpc_lockd_flags="-h 10.9.8.6"
> #rpc_statd_flags="-h 10.9.8.6"
>
> rpcinfo -p 9.0server
> and
> rpcinfo -p 9.1server  match
> program vers proto   port  service
>     100000    4   tcp    111  rpcbind
>     100000    3   tcp    111  rpcbind
>     100000    2   tcp    111  rpcbind
>     100000    4   udp    111  rpcbind
>     100000    3   udp    111  rpcbind
>     100000    2   udp    111  rpcbind
>     100000    4 local    111  rpcbind
>     100000    3 local    111  rpcbind
>     100000    2 local    111  rpcbind
>     100005    1   udp    994  mountd
>     100005    3   udp    994  mountd
>     100005    1   tcp    994  mountd
>     100005    3   tcp    994  mountd
>     100003    2   udp   2049  nfs
>     100003    3   udp   2049  nfs
>     100024    1   udp   1016  status
>     100024    1   tcp   1016  status
>     100003    2   tcp   2049  nfs
>     100003    3   tcp   2049  nfs
>     100021    0   udp    611  nlockmgr
>     100021    0   tcp    726  nlockmgr
>     100021    1   udp    611  nlockmgr
>     100021    1   tcp    726  nlockmgr
>     100021    3   udp    611  nlockmgr
>     100021    3   tcp    726  nlockmgr
>     100021    4   udp    611  nlockmgr
>     100021    4   tcp    726  nlockmgr
>
> I'm kinda lost.  I tried getting NFSv4 working, but I couldn't mount the
> test export....
> nfsv4_server_enable="YES"
> nfsuserd_enable="YES"
> nfs_client_enable="YES"
>
> /nlsysvol/home  -maproot=vpopmail -network 172.16.1.0 -mask
255.255.255.0
> V4: /mnt
> /mnt/first -maproot=root:  -network 172.16.1.0 -mask 255.255.255.0
>
> The problem with using v4 is that I don't want to upgrade my 7.1 box - it
> just works as is :)  But if that's what I have to do, then that's what I
> have to do. 
> Can someone give me a push in the right direction?  I've been fighting
> this for a full day now.
>
> Here's my perl lock script -
> #!/usr/bin/perl
> use Fcntl qw(:flock);
> my $lock_file = 'lockfile';
> open(LOCKFILE,">>$lock_file") or die "Cannot open $lock_file: $!\n";
> print "Opened file $lock_file\n";
> flock(LOCKFILE, LOCK_SH) or die "Can't get shared lock on $lock_file:
> $!\n";
> print "Got shared lock on file $lock_file\n";
> sleep 2;
> close LOCKFILE;
> print "Closed file $lock_file\n";
> exit;
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questionsTo
> unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"


More information about the freebsd-questions mailing list