Dovecot dsync synchronisiert nicht

  • Ich habe mir mal auf zwei alten Servern je einen E-Mailserver mit postfix/dovecot aufgesetzt. Auf dem ersten Server kommen die E-Mails rein, und im Ordner /var/vmail/mailboxes/domain.com/info/mail/cur habe ich auch die einzelnen E-Mails. Das Postfach ist auf beiden Servern eingerichtet.


    Nun habe ich mir mal mit einer älteren Anlitung dsync eingerichtet.


    Auf Server1 wo die Mails reinkommen, habe ich in der dovecot.conf folgendes erweitert:

    mail_plugins um notify replication und zu unterst folgendes eingefügt:

    Auf Server zwei wieder mail_plugins erweitert, und folgendes am ende eingefügt:

    Als IP habe ich jeweils die normale InternetIP des Servers verwendet. Die erste Synchronisation ging auch wunderbar. Sobald ich nun jedoch eine weitere E-Mail sende taucht diese nie auf Server 2 auf.


    Code
    Auf Server1:
    doveadm replicator status '*'
    username                                                                                                                        priority fast sync full sync success sync failed
    info@domain.com                                                                                                               none     00:11:06  00:12:02  00:11:06     -
    
    Auf Server2:
    doveadm replicator status '*'
    username                                                                                                                        priority fast sync full sync success sync failed
    info@domain.com                                                                                                               none     00:11:33  00:12:30  00:12:29     -

    Ich weiss nicht ob es mit dem Fehler zusammenhängt den ich seit der Einrichtung erhalte. Eine Lösung dazu habe ich jedoch noch nicht gefunden:

    tail -f /var/log/syslog

    Code
    Dec 16 15:44:57 mail dovecot: auth-worker: Error: 7fffd1a6d000-7fffd1a8e000 rw-p 00000000 00:00 0                          [stack]
    Dec 16 15:44:57 mail dovecot: auth-worker: Error: 7fffd1b12000-7fffd1b14000 r--p 00000000 00:00 0                          [vvar]
    Dec 16 15:44:57 mail dovecot: auth-worker: Error: 7fffd1b14000-7fffd1b16000 r-xp 00000000 00:00 0                          [vdso]
    Dec 16 15:44:57 mail dovecot: auth-worker: Error: ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
    Dec 16 15:44:57 mail dovecot: auth-worker: Fatal: master: service(auth-worker): child 1355 killed with signal 6 (core dumps disabled - https://dovecot.org/bugreport.html#coredumps)


    Vielleicht hat ja noch jemand einen Anhaltspunkt für mich.

  • Vielleicht sagt ja dem ein oder anderes das hier mehr:

  • Sorry kann erneut nicht bearbeiten. Hier noch der Serviceblock der dovecot.conf

  • Welches Betriebssystem und welche Dovecot Version hast Du?

    Vielen Dank. Es ist Debian Stretch. Vorläufig hat sich das mit dem Fehler ggf erledigt. Ich habe auf dem Testserver ein Selbstsigniertes Zertifikat drauf. Wenn ich den Sync von meinem Produkten System starte geht es meist. Zwar noch nicht 1:1 aber soweit geht es.


    Müsste das dsync livetime Synchronisieren, also wenn ich es im ordner cur auf Server 1 habe, müsste es auch bereits in Ordner curr auf Server 2 sein?

  • Müsste das dsync livetime Synchronisieren, also wenn ich es im ordner cur auf Server 1 habe, müsste es auch bereits in Ordner curr auf Server 2 sein?

    Wäre toll, diese Funktionalität wurde m.W. auf den offiziellen Dovecot-Wiki-Seiten auch mal erwähnt, aber niemals implementiert (nutze selbst noch v2.2.33.2 unter Ubuntu, allerdings aus dem offiziellen Dovecot-Community-Repository) – standardmäßig (ohne eigene Klimmzüge, von welchen ich abrate!) muss man ein paar Minuten warten.

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Ich habe auf dem Testserver ein Selbstsigniertes Zertifikat drauf.

    Ein selbstsiginiertes Zertifikat sollte kein grundsätzliches Hindernis darstellen, aber als Anregung: Beispielsweise unter Verwendung des Cloud-vLANs könnte man ggf. auf die Verschlüsselung bei der Synchronisierung auch verzichten:

    Code
    service doveadm {
        inet_listener {
            ssl = no
        }
    }

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Wäre toll, diese Funktionalität wurde m.W. auf den offiziellen Dovecot-Wiki-Seiten auch mal erwähnt, aber niemals implementiert (nutze selbst noch v2.2.33.2 unter Ubuntu, allerdings aus dem offiziellen Dovecot-Community-Repository) – standardmäßig (ohne eigene Klimmzüge, von welchen ich abrate!) muss man ein paar Minuten warten.

    Das Community Repository war mir gar kein Begriff. Habe selber auch ab und zu ein Problem mit duplizierten Mails in der Replikation, vielleicht sollte ich auf diese Version für Stretch updaten.

  • Ok danke m_ueberall. War mir als ob ich das mal geelsen habe. Aber paar min ist ja ok auch wenn es anders schöner wäre ?


    Weisst du zufälligerweise wie ich zwei Mailserver mit Fallback konfigurieren muss? Ich hätte erst die Fallback IP auf Server 1 gelegt und alles mit der Konfiguriert (die original IP aus dem Interface entfernt), und das selbe mit dem zweiten Server.

    Ich frage mich aber ob dies Probleme geben könnte da Server 2 ja dann eine weile keine IP zugewiesen hätte während die Fallback auf Server 1 zeigt

  • Ein selbstsiginiertes Zertifikat sollte kein grundsätzliches Hindernis darstellen, aber als Anregung: Beispielsweise unter Verwendung des Cloud-vLANs könnte man ggf. auf die Verschlüsselung bei der Synchronisierung auch verzichten:

    Code
    service doveadm {
        inet_listener {
            ssl = no
        }
    }

    VLAN ist nicht verschlüsselt. Birgt das kein Sicherheitsrisiko?

  • Ich hatte mit SSL ebenfalls Probleme mit dsync. Da ich aber die Mail Server bei 2 Anbietern habe, nutze ich tinc-vpn (vorher war es OpenVPN) als Verschlüsselung. Weiss leider nicht mehr was das Problem genau war. Schon nen bissel her

  • Ich hatte mit SSL ebenfalls Probleme mit dsync. Da ich aber die Mail Server bei 2 Anbietern habe, nutze ich tinc-vpn (vorher war es OpenVPN) als Verschlüsselung. Weiss leider nicht mehr was das Problem genau war. Schon nen bissel her

    Hmm... Wäre natürlich auch mal ne Idee SSL auszuschalten, muss ich mir mal anschauen. Habe ein großes Mailpostfach, bei dem Mails verdoppelt werden, wenn viele Mails direkt hintereinander eintreffen.

  • Schonmal schön das ich nicht der einzige mit solchen Problemen bin.

    Aber ich nehme an zu dsync gibt es keine "zuverlässigere" alternative?

  • VLAN ist nicht verschlüsselt. Birgt das kein Sicherheitsrisiko?

    Hängt grundsätzlich von den eigenen Anforderungen an die Geheimhaltung ab. Ein Cloud-vLAN ist ja ein logisch abgeschottetes internes Netzwerk. Wer sich Zugang auf ein Netcup-Hostsystem verschafft, kann ggf. auf die KVM-vServer und die Kommunikation zugreifen, das ist richtig. In diesem Moment besteht aber auch eine Chance auf Vollzugriff auf alle Daten der dortigen vServer inklusive der Dateisysteme auf welchen etwa eine Mailboxkopie liegt (wenn man einen Snapshot inklusive Speicherabzug erstellen kann, hilft ggf. auch eine Verschlüsselung der letztgenannten nichts). Das muss aber erst einmal gelingen, und Netcup dürfte ein professionelles Interesse haben, dass dies nicht geschieht. (Und wir sind ja hier auch nicht bei [zensiert]...) :)


    Wie in einem der o.g. Posts erwähnt, kann man aber ggf. auch die Verschlüsselung außerhalb von Dovecot durch Verwendung eines Mesh-VPNs gewährleisten, was Geschwindigkeitsvorteile und Vorteile bei der einheitlichen Konfiguration bringt (das ist nicht zu unterschätzen, da die Parameter bei allen Anwendungen, die TLS-Verbindungen unterstützen, irgendwie voneinander abweichen), abgesehen von potentiellen zusätzlichen Funktionen spezialisierter Programme (Beispiel: rechner-spezifische Schlüssel, so dass man etwa den VPN-Zugriff von Mobilgeräten bei Verlust selektiv unterbinden kann, ohne alle Rechner mit einem neuen globalen Passwort zu versehen).

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Weisst du zufälligerweise wie ich zwei Mailserver mit Fallback konfigurieren muss? Ich hätte erst die Fallback IP auf Server 1 gelegt und alles mit der Konfiguriert (die original IP aus dem Interface entfernt), und das selbe mit dem zweiten Server.

    Ich frage mich aber ob dies Probleme geben könnte da Server 2 ja dann eine weile keine IP zugewiesen hätte während die Fallback auf Server 1 zeigt

    Ja. Die Ansätze dazu haben aber mit der Anwendung nichts zu tun (ist für sie unsichtbar) und wurden auch an verschiedenen Stellen in diesem Forum diskutiert (inklusive Script-Beispielen, z.B. hier). Grundsätzlich gilt: Wenn eine IP nicht auf einen Server X zeigt, dann erhält der auch keine Datenpakete mit dieser IP als Zieladresse, obwohl er in der Regel kontinuierlich darauf lauscht (über eine Netzwerkschnittstelle).


    Wenn ich aber eh' dsync einsetze und eh' beide Mailserver laufen, warum gerade bei diesem Dienst keinen Active-/Active-Betrieb mit multiplen MX-Einträgen im DNS?

    VServer IOPS Comparison Sheet: https://docs.google.com/spreadsheets/d/1w38zM0Bwbd4VdDCQoi1buo2I-zpwg8e0wVzFGSPh3iE/edit?usp=sharing

  • Gute und berechtigte Frage. Ich bin im Moment noch mit verschiedenen Diensten am testen. Über zwei Aktive Mailserver habe ich mir noch keine Gedanken gemacht. Es gibt so viele Möglichkeit die ich teils gar nicht kenne.


    Im moment bin ich grad am Suchen ob man ähnlich dem DB Cluster auch ein Zentrales File System machen kann auf dem alle Daten des Mail oder auch des Webserver laufen so das der wirkliche Mailserver nur noch die Dienste veret stellt. So wäre ein Ausfall mit einem Simplen Snapshot wieder erledigt da die Daten eine Ausfallsicherheit hätten und ich nicht erst eine Wiederherstellung beginnen müsste.

  • Ich habe heute mal das Forum unsicher gemacht uns bin immer wieder auf das Ceph Cluster gestossen.

    So viel ich gesehen habe wäre das genau was ich überlege. Die Daten werden auf mehreren servern Verteilt, und wenn einer Ausfällt ist trotzdem alles erreichbar.


    Würde die Leistung der VPS200 theoretisch reichen, oder wären die RS Produlte besser?

    Überlegt hätte ich drei Server für den speicher.

    Was mir noch unköar ist ob ich dann einfach noch ein weiteren benötige der die Verteilung macht wie beim DB Cluster das HAProxy oder ob es mehrere braucht. MONs und OSDs etc. Da muss ich mich noch durchwühlen.


    Die wichtigste Frage wäre aber wie ich das ganze Verbinde, wenn ich einen Server habe mit nginx, und alle Web dateien sollen auf dem Ceph Cluster liegen. Ich nehme mal nicht an das dies einfach gemounted wird?

  • Ich habe heute mal das Forum unsicher gemacht uns bin immer wieder auf das Ceph Cluster gestossen.

    So viel ich gesehen habe wäre das genau was ich überlege.

    Ich bin mal so frei und zitiere mich selbst :)

    Ceph funktioniert im Grunde nur auf physischer Hardware gut, wenn man auch physische Festplatten ansprechen kann. Dazu kommt, dass es auch wirklich erst ab einer gewissen Größe ausreichend Performance liefert. Auf virtuellen Systemen mit nur einer Disk, bei der sich OS, Dienste + OSDs die Performance teilen müssen, kann man es als PoC gerne ausprobieren. Praktischen Nutzen hat so ein Setup aber nicht. Da ich schon einige Ceph Cluster (teilweise bis zu 2PB) geplant und gebaut habe, kann ich da durchaus aus Erfahrung sprechen, dass das auf virtuellen Systemen nicht wirklich zufriedendstellend läuft. Selbst dann sollten es schon 10GBit/s Netzwerke sein + getrennte Netze für das Public und das Cluster Netz. Dann würde ich auch empfehlen, mindestens 5 Nodes zu nutzen. Bei einer Minimal Konfiguration von 3 Nodes verliert man sonst 33% Brutto Kapazität, falls mal ein Node ausfallen oder einfach nur weg sein sollte. Das Rebalance killt dir in diesem Fall jeden Cluster.



    Davon würde ich nämlich abraten. Wenn es um reine Dateien geht, könnte man eher einen Blick auf GlusterFS (https://www.gluster.org/) legen. Kommt ebenfalls aus dem Hause RedHat und ist eher für diesen Anwendungsfall gedacht. Einbinden kann man das dann einfach per NFS oder besser noch dem GlusterFS Client, welcher auch gleichzeitig einen Failover machen kann (was bei NFS nicht geht). Ist auch deutlich einfacher zu installieren und zu konfigurieren.


    Aber Datenbanken sollte man wirklich nie auf einen zentralen Netzwerk-Storage legen. Das funktioneirt nie gut. Dafür sind die einfach nicht gemacht. Dafür gibt es ja andere Lösungen, z.B. einen MariaDB Galera Cluster, bei dem jeder Node die Daten lokal vorhält.

  • Aber Datenbanken sollte man wirklich nie auf einen zentralen Netzwerk-Storage legen. Das funktioneirt nie gut. Dafür sind die einfach nicht gemacht. Dafür gibt es ja andere Lösungen, z.B. einen MariaDB Galera Cluster, bei dem jeder Node die Daten lokal vorhält.

    Die MariaDB werde ich auf ein Galera Cluster mit HAProxy/MaxScale legen. Das GlusterFS klingt super danke.

  • Moin,


    Mein Senf dazu: ich nutze unter Centos7 selbst gebaute Pakete (2.3.4), die so auch TLSv1.3 bieten sowie submission können. So lasse ich nun keinen meiner User mehr direkt an den Postfix ran. Die Synchronisation schubse ich über einen Tunnel und damit selbst nicht nochmal verschlüsselt.

    Einziger Wermutstropfen: bei Version 2.3 scheint es einen Bug zu geben, der dafür sorgt, dass die Sieve-Scripte nicht repliziert werden.

    Die Datenbank ist ne Master-Slave-Replikation. Jeder Dovecot greift lokal auf seinen Server zu (da wird eh nix geschrieben).

    Auf beiden Servern laufen auch gleiche Postfix-/Amavis-/Rspamd-Instanzen. Die Server haben gleiche Prio und es ist im Grunde Wurscht, bei welchem Mails eingeliefert werden (sofern die Sieve-Scripts passen). Postfix kippt das direkt bei seinem lokalen Dovecot ab, danach greift dann dsync.

    Bis auf den Mist mit Sieve bewährt sich dieses Setup sehr.