[Dovecot-de] dovecot 2.2.9 (ubuntu 14.04) active / active cluster (master / master replication)
Jan Büren
jan at kivitendo-premium.de
Mi Apr 29 16:17:32 CEST 2015
Hallo zusammen,
der aktuelle Stand ist, dass ich 2GB von 20GB an Mails repliziert habe.
Ich nutze die verschlüsselte Kommunikation über tcp.
Aktuell bekomme ich folgende Meldungen
LAN1 == Ursprungs-Dovecot-Server
INTERNET1 == Neuer Replizierungsknoten
LAN1 /var/log/mail.log
Apr 29 15:41:52 LAN1 dsync-local(username): Error: read(INTERNET1)
failed: <no error>
INTERNET1 /var/log/mail.log
Apr 29 15:41:52 INTERNET1 dovecot: dsync-server(username): Error:
dsync(samba-ubuntu): I/O has stalled, no activity for 600 seconds
Apr 29 15:41:52 INTERNET1 dovecot: dsync-server(username): Error:
Timeout during state=sync_mails (send=done recv=mails)
Ein bisschen "rumgooglen" ergab, dass es an schlechter
Netzwerkverbindung liegen kann oder daran das innerhalb der 600 Sekunden
eine zu große E-Mail in der Synchronisation nicht abgeschlossen werden kann.
Netzwerktechnisch sieht es wie folgt aus:
Ich habe einen internen Mailserver im LAN den ich mit einem
Internet-Server replizieren möchte.
Als Anbindung benutze ich eine DSL 16.000 Verbindung, die sollte
eigentlich 2.400 kbit /s Upload machen.
LAN1 INTERNET1
------------------------- -----------------------------------------------
- dovecot 2.2.9 - - dovecot 2.2.9 -
- - - -
- 12 Mail-Nutzer - <== Netgear DSL 16k Modem ==> - 12
Mail-Nutzer -
- 20 GB Daten - - aktuell: 3 Mail-Nutzer in sync -
------------------------- - 2GB an Daten -
----------------------------------------------
$ doveadm replicator status '*'
username priority fast sync full sync failed
user-2GB-Mailbox none 00:03:16 21:29:22 y
user-400MB-Mailbox none 08:57:39 25:37:33 -
Der user-400MB-Mailbox ist komplett i.O. der andere nicht.
Kann ich an dieser Stelle irgendwas tun (bspw. doveadm backup ->;
initiales rsync händisch; ...)?
Im Anhang die Ausgabe von doveconf -n für die beiden unterschiedlichen
Knoten.
Am 26.04.2015 um 11:50 schrieb "Jan Büren":
> Hallo nochmal,
>
>> So. Damit bleiben 2 Fragen:
>>
>> a) Kann man diese Replizierung überhaupt mit System-Benutzer durchführen?
> Das wäre gut, da dies noch ein System ist welches mittels Kombination von
> .forward sowie procmailrc einen spamassassin triggert.
>
> Hmm. Es sieht eigentlich gefühlt sehr gut aus, alles mit dovecot-sieve
> anzutriggern ...
>
> Ok. Ich seh schon Kapitel 12.
>
> Dann bleibt eigentlich nur noch fetchmail und postfix.
>
> Aha:
> http://www.christophbrill.de/de_DE/dovecot-and-fetchmail-without-procmail/
>
> Ich fasse mal kurz die Entwicklung der letzten 6 Jahre zusammen. Ich
> benötige kein procmail mehr und kann mittels fetchmail direkt an dovecot
> übergeben.
> Somit brauch ich postfix dann "nur" noch um lokale Systemnachrichten
> zuzustellen und evtl. zum Verschicken nach draussen ...
>
>
> BTW.: Sehr gutes Buch! Grosses Lob, insbesondere, aber nicht nur für
> Mail-Admin-Seniors ;-)
>
> _______________________________________________
> Dovecot Mailingliste
> JPBerlin - Politischer Provider
> Dovecot at listen.jpberlin.de
> https://listen.jpberlin.de/mailman/listinfo/dovecot
>
--
OSBA-Mitglied
http://www.osb-alliance.de/mitglieder/
Blog
http://blog.kivitendo-premium.de/
Richardson & Büren GmbH
Jan Büren
Weiherstraße 33a
53111 Bonn
USt-IdNr. DE292363254
Telefon: 0228 92 98 2012
persönliche Durchwahl: 0228 92 97 8965
-------------- nächster Teil --------------
# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-49-generic x86_64 Ubuntu 14.04.2 LTS
auth_mechanisms = plain login
doveadm_password = passwort
doveadm_port = 7070
mail_location = maildir:~/Maildir
mail_plugins = " notify replication"
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = scheme=CRYPT username_format=%Ln /etc/dovecot/users
driver = passwd-file
}
plugin {
mail_replica = tcps:LAN1
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = " imap"
replication_max_conns = 4
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service auth {
unix_listener auth-userdb {
mode = 0777
}
}
service doveadm {
inet_listener {
port = 7070
ssl = yes
}
}
service imap-login {
inet_listener imap {
port = 0
}
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
group = vmail
mode = 0660
}
}
ssl_ca = </etc/ssl/certs/www.INTERNET1-intermediate.crt
ssl_cert = </etc/ssl/certs/www.INTERNET1.de.crt
ssl_client_ca_dir = /etc/ssl/certs
ssl_key = </etc/ssl/private/www.INTERNET1.de.key
ssl_protocols = !SSLv2 !SSLv3
userdb {
args = username_format=%Ln /etc/dovecot/users
driver = passwd-file
}
-------------- nächster Teil --------------
# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-49-generic x86_64 Ubuntu 14.04.2 LTS
auth_verbose = yes
default_vsz_limit = 1 G
doveadm_password = passwort
doveadm_port = 7070
mail_location = maildir:~/Maildir
mail_plugins = " notify replication"
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
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Sent {
special_use = \Sent
}
mailbox "Sent Messages" {
special_use = \Sent
}
mailbox Trash {
special_use = \Trash
}
prefix =
}
passdb {
args = scheme=CRYPT username_format=%Ln /etc/dovecot/users
driver = passwd-file
}
plugin {
mail_replica = tcps:INTERNET1
sieve = ~/.dovecot.sieve
sieve_before = /var/vmail/sieve/spam-global.sieve
sieve_dir = ~/sieve
}
protocols = " imap lmtp sieve"
replication_max_conns = 4
service aggregator {
fifo_listener replication-notify-fifo {
user = vmail
}
unix_listener replication-notify {
user = vmail
}
}
service doveadm {
inet_listener {
port = 7070
ssl = yes
}
}
service lmtp {
unix_listener lmtp {
mode = 0666
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
group = vmail
mode = 0660
}
}
ssl_cert = </etc/dovecot/dovecot.pem
ssl_client_ca_dir = /etc/ssl/certs
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
args = username_format=%Ln /etc/dovecot/users
driver = passwd-file
}
protocol lmtp {
mail_plugins = " notify replication sieve"
postmaster_address = postmaster at localhost
}
Mehr Informationen über die Mailingliste Dovecot