[Dovecot] Dovecot + NFS + FreeBSD breakage ?
Hi,
I am trying to update my old mails servers from dovecot 2.1.15 to 2.2.12 (freebsd ports) and upgrade to FreeBSD 10.0-P3.
My mail storage are on NFS with index also.
On 2.1.15 everything is ok, and in 10-mail.conf I have the good things to be added as wiki tell me (eg http://wiki2.dovecot.org/NFS).
BUT, when I try a single connection like :
$ telnet ::1 110 Trying ::1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user test@domain +OK pass thebloodypass Connection closed by foreign host.
Looking the log :
Jun 4 10:09:10 mail03 dovecot: master: Dovecot v2.2.12 starting up for imap, pop3, lmtp Jun 4 10:09:20 mail03 dovecot: pop3-login: Login: user=<test@domain>, method=PLAIN, rip=::1, lip=::1, mpid=5540, secured, session=<7x47Jf76IQAAAAAAAAAAAAAAAAAAAAAB> Jun 4 10:09:20 mail03 dovecot: pop3(kiwi@oav.net): Fatal: nfs flush requires mail_fsync=always
This is very strange since :
# doveconf -n | grep -E 'sync|nfs' mail_fsync = always mail_nfs_index = yes mail_nfs_storage = yes
So either there is some breakage somewhere or something that is buggy somewhere...
Here is my doveconf -n :
# 2.2.12: /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 10.0-RELEASE-p3 amd64
auth_cache_size = 1 M
auth_mechanisms = plain login digest-md5 cram-md5
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@%
auth_verbose = yes
disable_plaintext_auth = no
dotlock_use_excl = no
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
lmtp_rcpt_check_quota = yes
lmtp_save_to_detail_mailbox = yes
lock_method = dotlock
mail_debug = yes
mail_fsync = always
mail_location = maildir:~/Maildir:INDEX=/index/%d/%1n/%n
mail_nfs_index = yes
mail_nfs_storage = yes
mail_plugins = quota trash mail_log notify zlib fts fts_lucene
mailbox_list_index = 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 Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
mailbox badh {
auto = subscribe
special_use = \Junk
}
mailbox spam {
auto = subscribe
special_use = \Junk
}
prefix =
}
passdb {
args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
fts = lucene
fts_lucene = whitespace_chars=@.+
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
mail_log_fields = uid box msgid size
quota = maildir
quota_grace = 10%%
quota_rule2 = Trash:storage=+10%%
quota_rule3 = spam:storage=+20%%
trash = /usr/local/etc/dovecot/dovecot-trash.conf
zlib_save = bz2
zlib_save_level = 9
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = wheel
mode = 0666
user = postfix
}
}
service lmtp {
inet_listener lmtp {
port = 24
}
}
ssl_ca = </usr/local/etc/CA/ca-bundle.pem ssl_cert = </usr/local/etc/CA/domain_chain.pem ssl_key = </usr/local/etc/CA/domain_chain.pem ssl_prefer_server_ciphers = yes submission_host = server:25 userdb { args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext driver = ldap } verbose_proctitle = yes protocol lmtp { mail_plugins = quota trash mail_log notify zlib fts fts_lucene sieve } protocol lda { mail_plugins = quota trash mail_log notify zlib fts fts_lucene sieve } protocol imap { mail_plugins = quota trash mail_log notify zlib fts fts_lucene imap_quota imap_zlib } protocol pop3 { mail_plugins = quota trash mail_log notify zlib fts fts_lucene }
NFS mounts on freebsd :
172.31.0.1:/vol/mail/data on /mail (nfs, noatime) 172.31.0.1:/vol/mail/index/tmp on /index (nfs, noatime)
NFS server is also a FreeBSD (with ZFS).
I can give ssh accesss to this box.
Regards, Xavier
Replying to myself.
After bumping myself ports to 2.2.13 (and pigeonhole to last version), this has been fixed.
Xavier Le 4 juin 2014 à 10:22, Xavier Beaudouin <kiwi@oav.net> a écrit :
Hi,
I am trying to update my old mails servers from dovecot 2.1.15 to 2.2.12 (freebsd ports) and upgrade to FreeBSD 10.0-P3.
My mail storage are on NFS with index also.
On 2.1.15 everything is ok, and in 10-mail.conf I have the good things to be added as wiki tell me (eg http://wiki2.dovecot.org/NFS).
BUT, when I try a single connection like :
$ telnet ::1 110 Trying ::1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user test@domain +OK pass thebloodypass Connection closed by foreign host.
Looking the log :
Jun 4 10:09:10 mail03 dovecot: master: Dovecot v2.2.12 starting up for imap, pop3, lmtp Jun 4 10:09:20 mail03 dovecot: pop3-login: Login: user=<test@domain>, method=PLAIN, rip=::1, lip=::1, mpid=5540, secured, session=<7x47Jf76IQAAAAAAAAAAAAAAAAAAAAAB> Jun 4 10:09:20 mail03 dovecot: pop3(kiwi@oav.net): Fatal: nfs flush requires mail_fsync=always
This is very strange since :
# doveconf -n | grep -E 'sync|nfs' mail_fsync = always mail_nfs_index = yes mail_nfs_storage = yes
So either there is some breakage somewhere or something that is buggy somewhere...
Here is my doveconf -n :
# 2.2.12: /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 10.0-RELEASE-p3 amd64
auth_cache_size = 1 M auth_mechanisms = plain login digest-md5 cram-md5 auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@% auth_verbose = yes disable_plaintext_auth = no dotlock_use_excl = no lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes lmtp_rcpt_check_quota = yes lmtp_save_to_detail_mailbox = yes lock_method = dotlock mail_debug = yes mail_fsync = always mail_location = maildir:~/Maildir:INDEX=/index/%d/%1n/%n mail_nfs_index = yes mail_nfs_storage = yes mail_plugins = quota trash mail_log notify zlib fts fts_lucene mailbox_list_index = 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 Drafts { auto = subscribe special_use = \Drafts } mailbox Sent { auto = subscribe special_use = \Sent } mailbox Trash { auto = subscribe special_use = \Trash } mailbox badh { auto = subscribe special_use = \Junk } mailbox spam { auto = subscribe special_use = \Junk } prefix = } passdb { args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { fts = lucene fts_lucene = whitespace_chars=@.+ mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size quota = maildir quota_grace = 10%% quota_rule2 = Trash:storage=+10%% quota_rule3 = spam:storage=+20%% trash = /usr/local/etc/dovecot/dovecot-trash.conf zlib_save = bz2 zlib_save_level = 9 } service auth { unix_listener /var/spool/postfix/private/auth { group = wheel mode = 0666 user = postfix } } service lmtp { inet_listener lmtp { port = 24 } }ssl_ca = </usr/local/etc/CA/ca-bundle.pem ssl_cert = </usr/local/etc/CA/domain_chain.pem ssl_key = </usr/local/etc/CA/domain_chain.pem ssl_prefer_server_ciphers = yes submission_host = server:25 userdb { args = /usr/local/etc/dovecot/dovecot-ldap.conf.ext driver = ldap } verbose_proctitle = yes protocol lmtp { mail_plugins = quota trash mail_log notify zlib fts fts_lucene sieve } protocol lda { mail_plugins = quota trash mail_log notify zlib fts fts_lucene sieve } protocol imap { mail_plugins = quota trash mail_log notify zlib fts fts_lucene imap_quota imap_zlib } protocol pop3 { mail_plugins = quota trash mail_log notify zlib fts fts_lucene }
NFS mounts on freebsd :
172.31.0.1:/vol/mail/data on /mail (nfs, noatime) 172.31.0.1:/vol/mail/index/tmp on /index (nfs, noatime)
NFS server is also a FreeBSD (with ZFS).
I can give ssh accesss to this box.
Regards, Xavier
participants (1)
-
Xavier Beaudouin