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