[Dovecot] distributed mdbox

Timo Sirainen tss at iki.fi
Wed Mar 21 19:04:36 EET 2012


The problem is most likely the same as with NFS: Server A caches data -> server B modifies data -> server A modifies data using stale cached state -> corruption. Glusterfs works with FUSE, and FUSE has quite similar problems as NFS.

With director you guarantee that the same mailbox isn't accessed simultaneously by multiple servers, so this problem goes away.

On 21.3.2012, at 18.47, James Devine wrote:

> Also I don't seem to get these errors with a single dovecot machine using
> the shared storage and it looks like there are multiple simultaneous
> delivery processes running
> 
> On Wed, Mar 21, 2012 at 10:25 AM, James Devine <fxmulder at gmail.com> wrote:
> 
>> 
>> 
>> On Wed, Mar 21, 2012 at 10:05 AM, Timo Sirainen <tss at iki.fi> wrote:
>> 
>>> On 21.3.2012, at 17.56, James Devine wrote:
>>> 
>>>> Anyone know how to setup dovecot with mdbox so that it can be used
>>> through
>>>> shared storage from multiple hosts?  I've setup a gluster volume and am
>>>> sharing it between 2 test clients.  I'm using postfix/dovecot LDA for
>>>> delivery and I'm using postal to send mail between 40 users.  In doing
>>>> this, I'm seeing these errors in the logs
>>> 
>>> Dovecot assumes that the filesystem behaves the same way as regular local
>>> filesystems.
>>> 
>>>> Mar 21 09:36:29 test-gluster-client2 dovecot: lda(testuser34): Error:
>>> Fixed
>>>> index file /mnt/testuser34/mdbox/storage/dovecot.map.index:
>>> messages_count
>>>> 272 -> 271
>>>> Mar 21 09:36:30 test-gluster-client2 dovecot: lda(testuser28): Error:
>>> Log
>>>> synchronization error at seq=4,offset=3768 for
>>>> /mnt/testuser28/mdbox/storage/dovecot.map.index: Append with UID 516,
>>> but
>>>> next_uid = 517
>>> 
>>> Looks like gluster doesn't fit that assumption. So, the solution is the
>>> same as with NFS: http://wiki2.dovecot.org/Director
>>> 
>>> 
>> What filesystem mechanisms might not be working in this case?
>> 




More information about the dovecot mailing list