[Dovecot] distributed mdbox

James Devine fxmulder at gmail.com
Fri Apr 6 18:39:43 EEST 2012


As it turns out I can duplicate this problem with a single dovecot server
and a single gluster server using mdbox, so maybe not caching?  This being
the case I don't think director would help

On Thu, Apr 5, 2012 at 7:16 PM, James Devine <fxmulder at gmail.com> wrote:

>
>
> On Fri, Mar 23, 2012 at 7:39 AM, <list at airstreamcomm.net> wrote:
>
>> On Wed, 21 Mar 2012 09:56:12 -0600, James Devine <fxmulder at gmail.com>
>> 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
>> >
>> > 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
>> > Mar 21 09:36:30 test-gluster-client2 dovecot: lda(testuser28): Error:
>> Log
>> > synchronization error at seq=4,offset=4220 for
>> > /mnt/testuser28/mdbox/storage/dovecot.map.index: Extension record update
>> > for invalid uid=517
>> > Mar 21 09:36:30 test-gluster-client2 dovecot: lda(testuser28): Error:
>> Log
>> > synchronization error at seq=4,offset=5088 for
>> > /mnt/testuser28/mdbox/storage/dovecot.map.index: Extension record update
>> > for invalid uid=517
>> > Mar 21 09:36:30 test-gluster-client2 dovecot: lda(testuser28): Warning:
>> > fscking index file /mnt/testuser28/mdbox/storage/dovecot.map.index
>> > Mar 21 09:36:30 test-gluster-client2 dovecot: lda(testuser34): Warning:
>> > fscking index file /mnt/testuser34/mdbox/storage/dovecot.map.index
>> >
>> >
>> > This is my dovecot config currently:
>> >
>> > jdevine at test-gluster-client2:~> dovecot -n
>> > # 2.0.13: /etc/dovecot/dovecot.conf
>> > # OS: Linux 3.0.0-13-server x86_64 Ubuntu 11.10
>> > lock_method = dotlock
>> > mail_fsync = always
>> > mail_location = mdbox:~/mdbox
>> > mail_nfs_index = yes
>> > mail_nfs_storage = yes
>> > mmap_disable = yes
>> > passdb {
>> >   driver = pam
>> > }
>> > protocols = " imap"
>> > ssl_cert = </etc/ssl/certs/dovecot.pem
>> > ssl_key = </etc/ssl/private/dovecot.pem
>> > userdb {
>> >   driver = passwd
>> > }
>>
>> I was able to get dovecot working across a gluster cluster a few weeks ago
>> and it worked just fine.  I would recommend using the native gluster mount
>> option (need to install gluster software on clients), and using
>> distributed
>> replicated as your replication mechanism.  If you're running two gluster
>> servers you should have a replica count of two with distributed
>> replicated.
>> You should test first to make sure you can create a file in both mounts
>> and see it from every mount point in the cluster, as well as interact with
>> it.  It's also very important to make sure your servers are running with
>> synchronized clocks from an NTP server.  Very bad things happen to a
>> (dovecot or gluster) cluster out of sync with NTP.
>>
>> What storage method are you using?  I'm able to produce errors within
> seconds of starting postal with more than one thread


More information about the dovecot mailing list