Probleme bei Shared Folder & Replikation
Karsten Heiken
heiken at luis.uni-hannover.de
Mo Jan 9 17:57:34 CET 2017
Hallo zusammen,
ich habe zwei Dovecot-Systeme laufen, die sich über dsync replizieren.
Solange es keine Benutzer gibt, die ihre Ordner freigeben, läuft alles super.
Sobald ich Benutzer replizieren möchte, die shared folder nutzen, gibt es mehrere Probleme.
Meine Frage an Euch ist: Nutzt jemand Dovecot mit Replikation und IMAP-ACL/Shared Folder?
Wenn ja, wäre ein Blick in die relevante Konfiguration super - ich bin mir sicher, dass ich einfach nur irgend etwas übersehe.
Hier die Probleme, vor denen ich stehe:
- Subscriptions für den shared Namespace lassen sich nicht mehr entfernen
Sobald ich ein Abonnement für ein Verzeichnis unterhalb von shared/ entferne, taucht dieses sofort wieder auf.
Nach einem MUA-Neustartet ist der Ordner wieder abonniert.
Ich denke, dass hier die Synchronisation der Abonnements zwischen den Server falsch läuft:
Auf Server 1 wird das Abo gekündigt, die Synchronisation startet, und Server 2 sagt: "Hey, dir fehlt da ein Abo. Hier, bitteschön".
So stellt sich das zumindest dar: Die subscriptions-Datei wird angefasst und geändert (der gekündigte Ordner wird unten wieder angehängt).
Ein Abo hinzufügen funktioniert jedoch!
Hat noch jemand dieses Phänomen?
- E-Mails werden doppelt/dreifach/hunderttausendfach zugestellt
Erhält ein Benutzer, dessen Verzeichnisse auch von anderen Usern eingebunden wurden, eine Mail, wird diese manchmal doppelt zugestellt. Es ist exakt die selbe Mail; gleiche Message-ID, etc..
doveadm deduplicate entfernt diese auch auf Wunsch.
Selten (seit Umstellung auf mdbox sehr selten, vorher bei Maildir _ständig_) werden E-Mails auch tausendfach abgelegt.
Erst heute hatte ich eine E-Mail rund 37.000 mal in einer Funktionsmailbox liegen, auf die mehrere Nutzer per ACL zugreifen.
Als ich noch Maildir fuhr, stand die Meldung "Expunged message reappeared, giving new uid" in den Logs.
Seit mdbox ist die Log ruhig. Keine Fehler; nichts.
Ich bin über jeden Hinweis dankbar, ganz besonders für funktionierende Config-Beispiele mit Replikation und Shared Folders.
- Karsten
root at imap1:~# doveconf -n
# 2.2.26.0 (23d1de6): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.6
default_vsz_limit = 1 G
dict {
acl = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
imap_max_line_length = 2 M
lmtp_rcpt_check_quota = yes
login_trusted_networks = xxx yyy zzz
mail_attribute_dict = file:%h/dovecot-attributes
mail_gid = 7777
mail_location = mdbox:%h/mdbox
mail_plugins = " zlib quota acl notify replication"
mail_server_admin = xxx
mail_server_comment = xxx
mail_shared_explicit_inbox = yes
mail_uid = 7777
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 index ihave duplicate mime foreverypart extracttext imapflags notify
mdbox_rotate_size = 10 M
namespace {
hidden = no
ignore_on_failure = no
inbox = no
list = children
location = mdbox:%%h/mdbox:INDEXPVT=%h/shared/%%u
prefix = shared/%%u/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
hidden = no
inbox = yes
list = yes
location =
mailbox 30dTrash {
auto = subscribe
autoexpunge = 30 days
special_use = \Junk
}
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
subscriptions = yes
type = private
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
acl = vfile
acl_shared_dict = proxy::acl
mail_replica = tcp:xxx:24245
quota = dict:User quota::noenforcing:file:%h/dovecot-quota
quota_grace = 2%%
quota_rule = *:storage=8G
quota_status_nouser = DUNNO
quota_status_overquota = DUNNO
quota_status_success = DUNNO
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
sieve_extensions = +notify +imapflags
sieve_max_actions = 250
sieve_max_redirects = 200
zlib_save = gz
zlib_save_level = 6
}
postmaster_address = xxx
protocols = " imap lmtp sieve pop3 sieve"
replication_dsync_parameters = -d -l 30 -U -N
replication_max_conns = 5
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service auth {
unix_listener auth-userdb {
group = vmail
user = vmail
}
}
service dict {
unix_listener dict {
group = vmail
mode = 0660
user = vmail
}
}
service doveadm {
inet_listener {
port = 24245
}
}
service imap-login {
process_min_avail = 16
service_count = 0
}
service imap {
executable = imap postlogin
process_limit = 30000
}
service lmtp {
inet_listener lmtp {
port = 24
}
vsz_limit = 1 G
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service managesieve {
process_limit = 1024
}
service pop3-login {
process_min_avail = 4
service_count = 0
}
service pop3 {
process_limit = 2500
}
service postlogin {
executable = script-login -d rawlog /usr/local/bin/dovecot-postlogin.sh
}
service quota-status {
client_limit = 1
executable = quota-status -p postfix
inet_listener {
port = 12340
}
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
mode = 0600
user = vmail
}
}
shutdown_clients = no
ssl_cert = </etc/dovecot/private/fullchain.pem
ssl_key = # hidden, use -P to show it
syslog_facility = local6
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
default_fields = home=/var/vmail/%Ld/%Ln quota_rule=*:bytes=8589934592
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = " zlib quota acl notify replication sieve quota"
}
protocol lda {
mail_plugins = " zlib quota acl notify replication sieve"
}
protocol imap {
imap_metadata = yes
mail_max_userip_connections = 100
mail_plugins = " zlib quota acl notify replication imap_quota imap_acl"
}
protocol pop3 {
mail_max_userip_connections = 10
mail_plugins = " zlib quota acl notify replication"
}
local xxx {
doveadm_password = # hidden, use -P to show it
}
--
Karsten Heiken Leibniz Universität IT Services
Kommunikationssysteme E-Mail, XMPP, Kalender
Schloßwender Str. 5
D-30159 Hannover
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : smime.p7s
Dateityp : application/pkcs7-signature
Dateigröße : 4968 bytes
Beschreibung: S/MIME Cryptographic Signature
URL : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20170109/4337715e/attachment.p7s>
Mehr Informationen über die Mailingliste Dovecot