NFSv4 delegation

Alessio Cecchi alessio at skye.it
Tue Aug 18 14:46:32 UTC 2015


Hi,

in this tipical setup (Dovecot/Director thate share Maildir via NFS)  on 
your NFS Server you have (about) 90% of read operations and only 10% of 
write operations.

If you see detailed stats for NFS operations you have 40-50% of GETATTR, 
this means that NFS/Dovecot clients are caching data (mainly dovecot 
index files) but they have to revalidate the cache frequently asking to 
the NFS Server if the file is changed (via GETATTR) but the file never 
change because only this client opens it.

So the NFS Server is wasting operations with (unnecessary) GETATTR request.

With NFSv4 and delegation you can practically eliminate these (GETATTR) 
requests and speed up your NFS server (instead of buy SSD disk).

This because with delegation a client open file and since is the only 
client to open these file (that is true with Director) the NFS server 
delegate the client to manage the file without check if was changed (via 
GETATTR) on the NFS share.

You can find more information (on NFSv4 and delegation) here: 
http://www.fsl.cs.stonybrook.edu/docs/nfs4perf/nfs4perf-login.pdf

It would be very useful if NFSv4 Delegation if it worked fine with dovecot.

Please talks about this with Timo.

Il 18/08/2015 16:20, Sami Ketola ha scritto:
> Hi,
>
> Just out of curiosity what is in nfsv4 delegation that you think would give a benefit on your configuration?
>
> If I read back the thread you seem to have dovecot configured with director ring in front of the backends. In that case Dovecot already manages storage in a way that only one of the backends is accessing each users data at a time. So I can’t see anything but problems form enabling delegations.
>
> Sorry but I have zero experience in running dovegot with nfsv4 delegations since in general it is not needed.
>
> Sami
>
>> On 18 Aug 2015, at 15:42, Alessio Cecchi <alessio at skye.it> wrote:
>>
>> Hi,
>>
>> last day I tried to enable "nfsv4 delegation" on my cluster (enable nfsv4.0 and read delegation on Netapp and remount the volume on Linux Centos 6.7 clients with Dovecot+Director).
>>
>> It was a failure, after some minutes the load on clients was high, and in dovecot.log I found these errors (repeated continuously):
>>
>> Aug 17 20:28:17 pop01eeh dovecot: imap(info at domain.com): Error: mail_index_wait_lock_fd() failed with file /home/domains/domain.com/info/Maildir/dovecot.index.log: Input/output error
>> Aug 17 20:28:21 pop01eeh dovecot: imap(info at domain.com): Error: fcntl(/home/domains/domain.com/info/Maildir/dovecot.index.cache, write-lock, F_SETLKW) locking failed: Input/output error
>>
>> Is really impossible to run NFSv4 with delegation with dovecot? If it were possible the number of NFS operations would drop so much with many benefits on performance.
>>
>> Il 09/07/2015 17:08, brd ha scritto:
>>> just a quick update:
>>>
>>> no issues with NFSv4.0 (load is slowly growing, currently ~7k mailboxes)
>>>
>>> instead, bad news from delegation front, we enabled it for a couple of
>>> days but we ran in ugly issues: processes went in "uninterruptible
>>> sleep" state, load average gets huge, reboot was the only escape :-(
>>>
>>> -brd
>>>
>>> Alessio Cecchi wrote:
>>>> Il 12/06/2015 13:02, brd ha scritto:
>>>>> Alessio Cecchi wrote:
>>>>> [...]
>>>>>> Have you already try to run NFSv4?
>>>>> it's in place on a (very) small sample of mailboxes in dbox format, no issues
>>>>> up to now (Debian Wheezy mainline kernel)
>>>>
>>>> Good to know, let me know what will be when the load will grow.
>>>>
>>>>>> When we switch to netapp and nfsv4 we had many problems (lock problems
>>>>>> and instability) and we had to go immediately to NFSv3. I don't know if
>>>>>> was a netapp problem or nfs client (Debian with 2.6 kernel), now we are
>>>>>> using Centos 6 as NFS client and we should re-try to mount mailbox as nfsv4.
>>>>>
>>>>> when you've had problems, the "delegation feature" was active on Netapp
>>>>> filers? (AFAIK it is disabled by default)
>>>>
>>>> Never enabled "delegation feature" on my netapp.
>>>>
>>>> Probably my issue was on client side. I had to switch immediately to NFSv3
>>>> without being able to investigate the problem.
>>>>
>>>> Ciao
>>>> --
>>>> Alessio Cecchi
>>>> http://www.linkedin.com/in/alessice
>>
>> --
>> Alessio Cecchi
>> http://www.linkedin.com/in/alessice
>

-- 
Alessio Cecchi
http://www.linkedin.com/in/alessice


More information about the dovecot mailing list