RE: NFS 4.1 RECLAIM_COMPLETE FS failed error in combination with ESXi client

NAGY Andreas Andreas.Nagy at frequentis.com
Sun Mar 4 18:22:16 UTC 2018


Okay, the slow write was not a NFS problem, it was the hw raid controller which switched to write through because of a broken battery.

In the source I saw nfs_async = 0; is it right that NFS will work in async mode if I compile the kernel with nfs_async = 1?

I know the risk of running it async, but is it not the same risk having the datastore connected via iSCSI which standard is also not sync?

The last weeks I tested the following setup:
Two FreeBSD hosts with a more or less good hw RAID controller in a HAST cluster providing a datastore to two ESXi hosts via iSCSI.
This setup worked quiet well, but I now want to switch to NFS, and hope to get equivalent speeds.

Thanks so far,
andi
 

-----Original Message-----
From: NAGY Andreas 
Sent: Sonntag, 4. März 2018 14:26
To: Rick Macklem <rmacklem at uoguelph.ca>; freebsd-stable at freebsd.org
Subject: RE: NFS 4.1 RECLAIM_COMPLETE FS failed error in combination with ESXi client

Thanks, got it working with your patch.

So far I did not see any issue with the mount. Only in the vmkernel.log there are often following entrees:
WARNING: NFS41: NFS41ValidateDelegation:608: Server returned improper reason for no delegation: 2

Actually I have only a single link between the ESXi host and the FreeBSD host, but as soon as I figure out what Is the right way to configure multiple paths for NFS I will do more testing. 

I need also to check out what can be tuned. I expected that writes to the NFS datastore will be slower than iSCSI but not as slow as it is now.

andi 


-----Original Message-----
From: Rick Macklem [mailto:rmacklem at uoguelph.ca]
Sent: Sonntag, 4. März 2018 06:48
To: NAGY Andreas <Andreas.Nagy at frequentis.com>; freebsd-stable at freebsd.org
Subject: Re: NFS 4.1 RECLAIM_COMPLETE FS failed error in combination with ESXi client

NAGY Andreas wrote:
>Hi and thanks!
>
>First time using/needing a patch could you give me a short advise how to use it >and for which version?
The only difference with kernel versions will be the line#s.
>So far I have made a fresh FreeBSD 11.1 RELEASE install as a VM on a 
>ESXi host >updated the system and did a svn checkout 
>http://svn.freebsd.org/base/release/11.1.0/
>
>Then tried to apply the patch in /usr/src/sys via patch < 
>/tmp/reclaimcom2.patch
>
>Output was:
>Hmm...  Looks like a unified diff to me...
>The text leading up to this was:
>--------------------------
>|--- fs/nfsserver/nfs_nfsdserv.c.savrecl        2018-02-10 20:34:31.166445000 -0500
>|+++ fs/nfsserver/nfs_nfsdserv.c        2018-02-10 20:36:07.947490000 -0500
>--------------------------
>Patching file fs/nfsserver/nfs_nfsdserv.c using Plan A...
>No such line 4225 in input file, ignoring Hunk #1 succeeded at 4019 
>(offset -207 lines).
>done
Since it says "Hunk #1 succeeded...", I think it patched ok.
However, you can check by looking at nfsrvd_reclaimcomplete() in sys/fs/nfsserver/nfs_nfsdserv.c.
Before the patch it would look like:
        if (*tl == newnfs_true)
 	                nd->nd_repstat = NFSERR_NOTSUPP;
       else
 	                nd->nd_repstat = nfsrv_checkreclaimcomplete(nd); whereas after being patched, it will look like:
      nd->nd_repstat = nfsrv_checkreclaimcomplete(nd);
       if (*tl == newnfs_true)
                       nd->nd_repstat = 0;

rick
[stuff snipped]


More information about the freebsd-stable mailing list