[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