[Dovecot] dovecot, mdbox and indexes

Angel L. Mateo amateo at um.es
Thu Jun 30 15:28:36 EEST 2011


Hello everybody,

	We are updating our old dovecot 1.1 servers to 2.0. We have a farm os 
servers, with users in nfs filesystems and indexes in local fs. Mail is 
stored in maildir format. We don't warrant that a user is always 
directed to the same server, although our load balancer sends all 
request from one IP to the same server (during a session time with a 
inactivity timeout). This is the second scenario described at 
http://wiki2.dovecot.org/NFS.

	We are now trying to migrate to the third scenario and using mdbox.

	As an intermediate step, we have configured this second scenario, but 
with indexes in NFS filesystems. The configuration is:

* mmap_disable = yes
* dotlock_use_excl = no
* mail_nfs_storage = yes
* mail_nfs_index = yes
* lock_method = fcntl (we have also tried with dotlock)

	This configuration works without any problems with few users, but with 
high load, we have a lot of lock timeouts error like:

Jun 29 10:24:04 myotis34 dovecot: imap(mpm): Error: Timeout (180s) while 
waiting for lock for transaction log file 
/home/pas/01/014601/maildir_indexes/.INBOX/dovecot.index.log

	These errors cause a corrupted index and we have to manually delete the 
user's index so he could read his mail again.

	So we are planning to configure the third scenario. In this 
configuration, we don't have any problem during our tests if we use 
maildir format. But if we use mdbox one, we have problems when we have 
to change the final server for the server (We allways send the user to 
the same final server, but sometimes, if the server is down, for 
example, this is not possible). The tests we have done (with POP) are:

* I connect to "my" server. There's no problem. I have my mail. I delete 
a mail.
* I connect then to a server that have no index for me. The only problem 
is that the previously deleted mail appears again.
* I connect then to a server with an outdated index: this is the 
problem. I have only the messages in that outdated index. The mail 
received since then has disappeared (although I could receive new mail).

	How could I solve this problem? Is this really a problem? Should I use 
a shared storage for indexes? What is the best configuration for a high 
availability service?

-- 
Angel L. Mateo Martínez
Sección de Telemática
Área de Tecnologías de la Información       _o)
y las Comunicaciones Aplicadas (ATICA)      / \\
http://www.um.es/atica                    _(___V
Tfo: 868887590
Fax: 868888337


More information about the dovecot mailing list