Defining INDEX target to other location than maildir seems to have no effect.

Julian Sternberg jules at ispire.me
Sun Oct 30 10:04:22 UTC 2016


Dovecot Version 2.2.13
Linux Distribution: Debian Jessie
CPU Architecture: x64
Filesystem: GlusterFS/NFS, XFS for Base System/Index Files.
Two Dovecot/Postfix nodes accessing same GlusterFS/NFS Maildir.

Regardless what i choose in mail_location (:INDEX=MEMORY or 
:INDEX=/var/indexes/%d/%n) all Mailbox index files will still get 
created within the users mail_location maildir: ~/Maildir

My mail_location Maildir directory is shared on GlusterFS mount so i 
need to get index files away from this share due locking mechanism and 
faster caching.

The weird is, if i set INDEX to /var/indexes, the index files getting 
created sometimes but then not updated frequently and exist parallel on 
Maildir which are mostly newer than on /var/indexes. If you delete the 
dovecot.index* files from Maildir, they will get recreated immediatly on 
Imap access but not on the alternative set INDEX location, they are 
getting recreated within Maildir again.

Here is doveconf -n Output:

# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6
auth_mechanisms = plain login cram-md5
disable_plaintext_auth = no
first_valid_uid = 2000
hostname = censored.hostname.com
last_valid_uid = 2000
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = *
lock_method = dotlock
mail_fsync = always
mail_gid = 2000
mail_home = /storage/vmail/%d/%n
mail_location = maildir:~/Maildir:LAYOUT=fs:INDEX=MEMORY
mail_nfs_storage = yes
mail_privileged_group = vmail
mail_temp_dir = /var/tmp
mail_uid = 2000
maildir_very_dirty_syncs = yes
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope 
encoded-character vacation subaddress comparator-i;ascii-numeric 
relational regex imap4flags copy include variables body enotify 
environment mailbox date ihave
mmap_disable = yes
namespace inbox {
   inbox = yes
   location =
   mailbox Archive {
     auto = no
     special_use = \Archive
   }
   mailbox Archives {
     auto = no
     special_use = \Archive
   }
   mailbox "Deleted Items" {
     auto = no
     special_use = \Trash
   }
   mailbox "Deleted Messages" {
     auto = no
     special_use = \Trash
   }
   mailbox Drafts {
     auto = no
     special_use = \Drafts
   }
   mailbox Sent {
     auto = subscribe
     special_use = \Sent
   }
   mailbox "Sent Items" {
     auto = no
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     auto = no
     special_use = \Sent
   }
   mailbox Spam {
     auto = create
     special_use = \Junk
   }
   mailbox Trash {
     auto = subscribe
     special_use = \Trash
   }
   mailbox virtual/All {
     auto = no
     special_use = \All
   }
   prefix =
   separator = /
   type = private
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
plugin {
   quota = maildir:User quota
   quota_rule = *:storage=1G
   quota_rule2 = Trash:storage=+100M
   quota_rule3 = Sent:storage=+100M
   quota_warning = storage=95%% quota-warning 95 %u
   quota_warning2 = storage=80%% quota-warning 80 %u
   sieve = /storage/vmail/%d/%n/sieve/dovecot.sieve
   sieve_before = /storage/vmail/sieve/dovecot.sieve
   sieve_dir = /storage/vmail/%d/%n/sieve
   sieve_global = /storage/vmail/sieve
}
postmaster_address = postmaster at censored.hostname.com
protocols = " imap lmtp sieve pop3"
quota_full_tempfail = yes
service auth {
   unix_listener /var/spool/postfix/private/auth {
     group = postfix
     mode = 0660
     user = postfix
   }
   unix_listener auth-userdb {
     group = vmail
     mode = 0666
     user = vmail
   }
}
service imap-login {
   inet_listener imaps {
     port = 993
     ssl = yes
   }
   service_count = 0
}
service lmtp {
   unix_listener /var/spool/postfix/private/dovecot-lmtp {
     group = postfix
     mode = 0666
     user = postfix
   }
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
   service_count = 1
}
service pop3-login {
   inet_listener pop3 {
     port = 110
   }
   inet_listener pop3s {
     port = 995
     ssl = yes
   }
}
service quota-warning {
   executable = script /usr/local/bin/quota-warning.sh
   unix_listener quota-warning {
     user = vmail
   }
   user = vmail
}
ssl = required
ssl_ca = </etc/ssl/censored.hostname.com/ssl-bundle-mail.crt
ssl_cert = </etc/ssl/censored.hostname.com/censored_hostname.com.crt
ssl_cipher_list = 
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
ssl_key = </etc/ssl/censored.hostname.com/censored.hostname.com.key
ssl_protocols = !SSLv2 !SSLv3
ssl_require_crl = no
userdb {
   args = uid=2000 gid=2000 home=/storage/vmail/%d/%n allow_all_users=yes
   driver = static
}
protocol lmtp {
   mail_plugins = " quota sieve"
}
protocol lda {
   mail_plugins = " sieve quota"
}
protocol imap {
   imap_client_workarounds = tb-extra-mailbox-sep
   mail_plugins = " quota imap_quota"
}
protocol sieve {
   mail_max_userip_connections = 10
}
protocol pop3 {
   mail_plugins = " quota"
   pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
   pop3_uidl_format = %08Xu%08Xv
}



More information about the dovecot mailing list