[Dovecot-de] Dovecot active/active-Replikation
Jan Behrend
jbehrend at mpifr-bonn.mpg.de
Do Okt 2 09:31:03 CEST 2014
Hallo Peer,
vielen Dank für die Antwort.
On Thu, 2014-10-02 at 07:49 +0200, Peer Heinlein wrote:
> Am 01.10.2014 23:24, schrieb Jan Behrend:
>
> > 1) Wie repliziere ich die dovecot home-Verzeichnisse, welche z.B.
> > die Sieve-Skripte enthalten? Reicht da ein tägliches rsync? Was
> > passiert dann aber wenn einer der Server vor dem rsync offline
> > geht?
>
> sieve wird ganz normal mitrepliziert wie die Mails auch. Du brauchst
> da nichts besonderes.
Perfekt!
> > 2) Wie kann ich diesen Fehler umgehen? imap-mgt dovecot:
> > dsync-local(username): Error: Couldn't create lock
> > /home/username/.dovecot-sync.lock: No such file or directory
>
> Existiert /home/username?
>
> Und wenn es nicht existiert: Warum benutzt Du das dann?
Die "dovecot homes" liegen unter /home/<username>
Normalerweise erstellt Dovecot die Verzeichnisse selbst die es benötigt,
wenn die erste Mail eintrifft. Nicht so bei der Replikation der
"dovecot homes". Daher mein Problem.
> > Bin mir nicht ganz sicher warum Dovecot das home-Verzeichnis nicht
> > erstellt, obwohl schon Mails in diesen Benutzeraccount abgeliefert
> > wurden.
>
> Na wo werden denn die Mails hingespeichert wenn nicht in das Userhome?
Die "dovecot homes" liegen unter /home/<username>,
Die Mailboxen unter /var/mail/<username>
Zur Erlärung hier die userdb config. Bitte nicht schlagen, falls es hier
konzeptionelle Fehler gibt ;-)
dovecot-ldap-userdb.conf.ext (watch the unintended line breaks):
debug_level = 0
uris = ldap://ldap.mpifr-bonn.mpg.de
ldap://ldap2.mpifr-bonn.mpg.de ldap://ldap3.mpifr-bonn.mpg.de
ldap://ldap4.mpifr-bonn.mpg.de
tls = yes
tls_ca_cert_file = /etc/ssl/certs/Max-Planck-Gesellschaft.pem
tls_require_cert = demand
base = ou=people,dc=mpifr-bonn,dc=mpg,dc=de
user_attrs = =home=/home/%
Ln,=uid=40000,=gid=40000,=mail=mdbox:/var/mail/%Ln
user_filter = (&(objectClass=mpifrUser)(finalMailAddress=%
Ln at mpifr-bonn.mpg.de)(uid=%Ln))
pass_attrs = uid=user,mailMd5Password=password
pass_filter = (&(objectClass=mpifrUser)(finalMailAddress=%
Ln at mpifr-bonn.mpg.de)(uid=%Ln))
iterate_attrs = uid=user
iterate_filter = (objectClass=mpifrUser)
default_pass_scheme = MD5-CRYPT
> > 3) Was mache ich damit? dsync-server(username): Warning: Failed to
> > do incremental sync for mailbox INBOX, retry with a full sync
>
> > Ignorieren und auf den nächsten full sync warten?
>
> Komplette Logmeldung posten. Das sollte nicht alles sein.
Im Anhang zusammen mit der doveconf -n Ausgabe.
Noch zur Erklärung der Config:
Dieser Server ist der inaktive Teil eines DRBD-Linux-HA-Setups. Mein
Ziel ist: Weg vom DRBD der Mailboxen, hin zur
active/active-Replikation. Der Ansatz ist, den aktiven DRBD-Teil laufen
zu lassen, und die Mailboxen auf eine extra Platte des inaktiven
DRBD-Server zu replizieren. Wenn das fertig ist, kann ich nach dem
Umschalten des aktiven Servers das DRBD außer Betrieb nehmen.
Vielen Dank für die Hilfe und
LG aus Bonn von Jan
--
MAX-PLANCK-INSTITUT fuer Radioastronomie
Jan Behrend - Rechenzentrum
----------------------------------------
Auf dem Huegel 69, D-53121 Bonn
Tel: +49 (228) 525 359, Fax: +49 (228) 525 229
jbehrend at mpifr-bonn.mpg.de http://www.mpifr-bonn.mpg.de
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : dovecot.log
Dateityp : text/x-log
Dateigröße : 2282 bytes
Beschreibung: nicht verfügbar
URL : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20141002/b507e421/attachment-0001.log>
-------------- nächster Teil --------------
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.2.0-4-amd64 x86_64 Debian 7.6 xfs
auth_gssapi_hostname = imap.mpifr-bonn.mpg.de
auth_mechanisms = plain login gssapi
auth_verbose = yes
default_process_limit = 1024
default_vsz_limit = 512 M
doveadm_password = xxx
doveadm_port = 50222
listen =
lmtp_save_to_detail_mailbox = yes
mail_gid = 40000
mail_location = mdbox:/var/mail/%Ln
mail_plugins = acl zlib notify replication
mail_uid = 40000
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 imapflags notify
mdbox_rotate_size = 10 M
namespace {
inbox = yes
location =
prefix =
separator = .
}
namespace {
list = children
location = maildir:/var/mail/PUBLIC:INDEX=%h/Maildir/PUBLIC:INDEXPVT=%h/Maildir/PUBLIC-private-flags
prefix = public.
separator = .
subscriptions = no
type = public
}
namespace {
list = children
location = mdbox:/var/mail/%%n:INDEXPVT=%h/Maildir/shared
prefix = sharedByUsers.%%n.
separator = .
subscriptions = no
type = shared
}
passdb {
args = /etc/dovecot/dovecot-ldap-passdb.conf.ext
driver = ldap
}
plugin {
acl = vfile
acl_shared_dict = file:/var/mail/shared-mailboxes
fts = solr
fts_autoindex = yes
fts_solr = break-imap-search url=http://127.0.0.1:8080/solr/
mail_replica = tcp:192.168.42.111:50222
sieve = ~/.dovecot.sieve
sieve_after = /home/global-after.sieve
sieve_dir = ~/sieve
sieve_extensions = +notify +imapflags
zlib_save = gz
zlib_save_level = 6
}
protocols = " imap lmtp sieve pop3"
replication_dsync_parameters = -d -l 30 -U -n private -n shared
replication_max_conns = 6
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service anvil {
client_limit = 8192
}
service auth {
client_limit = 8192
unix_listener auth-userdb {
group = vmail
user = vmail
}
}
service doveadm {
inet_listener {
address = 192.168.42.110
port = 50222
}
}
service imap-login {
process_min_avail = 5
}
service imap {
vsz_limit = 512 M
}
service indexer-worker {
client_limit = 1
process_limit = 10
user = root
}
service pop3-login {
process_min_avail = 5
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
mode = 0666
}
}
ssl = required
ssl_cert = </etc/dovecot/imap.pem
ssl_key = </etc/dovecot/imap.key
userdb {
args = username_format=%Ln /etc/dovecot/non_ldap_users
driver = passwd-file
}
userdb {
args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lmtp {
mail_plugins = acl zlib notify replication sieve
}
protocol imap {
mail_max_userip_connections = 20
mail_plugins = acl zlib notify replication imap_acl imap_zlib
ssl_cert = </etc/dovecot/imap.pem
ssl_key = </etc/dovecot/imap.key
}
protocol pop3 {
ssl_cert = </etc/dovecot/pop3.pem
ssl_key = </etc/dovecot/imap.key
}
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 198 bytes
Beschreibung: This is a digitally signed message part
URL : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20141002/b507e421/attachment-0001.asc>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : smime.p7s
Dateityp : application/x-pkcs7-signature
Dateigröße : 6019 bytes
Beschreibung: nicht verfügbar
URL : <https://listen.jpberlin.de/pipermail/dovecot/attachments/20141002/b507e421/attachment-0001.bin>
Mehr Informationen über die Mailingliste Dovecot