Julian Sternberg
2016-Oct-30 10:04 UTC
Defining INDEX target to other location than maildir seems to have no effect.
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 }
Jules
2016-Nov-05 21:31 UTC
Defining INDEX target to other location than maildir seems to have no effect.
How can i commit this as bug report?> Am 30.10.2016 um 11:04 schrieb Julian Sternberg <jules at ispire.me>: > > 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 > }
Aki Tuomi
2016-Nov-05 21:40 UTC
Defining INDEX target to other location than maildir seems to have no effect.
Hi! Thank you for reporting this, we'll look into it. Aki Tuomi Dovecot oy.> On November 5, 2016 at 11:31 PM Jules <jules at ispire.me> wrote: > > > How can i commit this as bug report? > > > Am 30.10.2016 um 11:04 schrieb Julian Sternberg <jules at ispire.me>: > > > > 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 > > }