Mailsystem V3

Elbphilharmonie

Es ist vollbracht. Knapp aber letztlich doch chancenlos haben wir das Rennen um das am schlimmsten aus dem Zeitplan gelaufene Projekt diesseits der Elbe gegen die Elbphilharmony verloren. Dort ist erst im Januar feierliche Eröffnung. Wir sind fertig:

Das Projekt Artfiles Mailsystem V3 ist abgeschlossen.

Die Idee für ein von Grund auf neu konzipiertes Mailsystem geht bereits zurück auf das Jahr 2007: Das von uns eingesetzte Qmail war zu diesem Zeitpunkt gerade zehn Jahre alt geworden und von halboffiziellen Patches und eigenen Anpassungen so überwuchert, dass eine Weiterentwicklung nicht mehr sinnvoll erschien.

So reifte der Entschluss, ein neues Mailsystem auf Basis von Exim zu entwickeln.

Mailsystem V2

Aber während einige Komponenten wie Mailein- und ausgangsserver leicht ausgetauscht werden konnten, erwiesen sich Mailzustellung und -abruf als erstaunlich hartnäckig.

Als größtes Problem zeigte sich wie erwartet unser Anspruch, die Umstellung praktisch ohne Beeinträchtigung der Benutzer durchzuführen. Bei schon damals mehr als einhunderttausend Mailboxen war es undenkbar, den Benutzern Änderungen aufzuzwingen.

Also haben wir viel experimentiert, implementiert und getestet, aber letztlich ließ sich keine zufriedenstellende Lösung finden. Und mangels größerer Probleme mit unserem alten Mailsystem gab es natürlich auch immer wieder Projekte, die das neue Mailsystem von der Spitze der Todo Liste verdrängt haben.

Zwischenzeitlich wurde dann mal das Webmail von Squirrelmail auf Roundcube aktualisiert und alte Storageserver durch neuere ersetzt. Auch für die Redundanz wurde viel investiert, aber der Kern des alten Mailsystems blieb bestehen.

Es muss etwas passieren

Das änderte sich erst im Frühjahr 2015: Vor allem die Courier IMAP Software begann uns ernsthafte Probleme zu machen. Viele neuere Mailprogramme unterstützten nun IMAP Erweiterungen, die Courier schlicht nicht beherrschte, und die auch nicht mehr nachzurüsten waren. Also musste gehandelt werden.

Als neue POP3 und IMAP Software wurde Dovecot auserkoren. Zusammen mit Amavis sollte Dovecot auch die Mailzustellung in die Postfächer übernehmen. Damit sollte dann gleich auch die Konfiguration der Mailboxen in die Datenbank verlegt werden. Bisher befand sie sich nur zum Teil dort und zum Teil in .qmail Dateien auf den Storage Servern.

Die Implementierung der geplanten Lösung erwies sich leider als etwas schwieriger als gedacht. Das lag vor allem an der etwas undurchsichtigen Struktur von Amavis und der mangelhaften Dokumentation. Letztlich konnte aber im Herbst 2015 eine funktionierende Plattform für Mailzustellung und Abruf in den Testbetrieb gehen.

Aus leidvoller Erfahrung mit defekten Raidcontrollern und “alle Jahre wieder” auftretenden Ausfällen von Storage Servern, entschieden wir uns für ein vollständig redundantes System für die Speicherung und den Abruf von Mails. Zunächst wurde es auf basis von Xen und Btrfs auf jeweils zwei per DRBD verbundenen Servern realisiert.

Leider zeigte sich jedoch relativ schnell, dass dieser doch recht komplexe Stack den harten Anforderungen des Livebetriebs nicht gewachsen war. Zudem erwies sich Btrfs als nicht ausgereift und sorgte mit vielen Problemen für reichlich graue Haare bei den Admins.

Also haben wir noch mal einen Gang zurück geschaltet und stattdessen auf Bewährtes gesetzt. Jetzt werden die Mails wieder in einem Ext4 Dateisystem gespeichert, das auf einem per LVM partitionierten DRBD aufsetzt. Es gibt keine Virtualisierung mehr, sondern “traditionelle” Hochverfügbarkeit.

Nachdem diese Lösung im Frühjahr endlich betriebsbereit war, ging es an die Umstellung der Mailboxen vom alten in das neue System. Dies nahm nochmals einige Wochen in Anspruch und war im Mai dann endlich abgeschlossen.

Fast fertig

Damit war das neue Mailsystem im Grunde komplett soweit es die Mailboxen betraf.

Ein letzter Querulant aber hörte nicht auf, der Umstellung Widerstand zu leisten: Die Mailinglisten. Diese werden bei uns sozusagen seit Anbeginn der Zeit mit Ezmlm betrieben und sind dadurch praktisch untrennbar mit Qmail verzahnt.

Also wurde der Plan gefasst, eine saubere, auf die reine Mailinglistenfunktion reduzierte Qmailinstallation zu schaffen. Wie nicht anders zu erwarten steckte auch hier der Teufel im Detail. Aber schließlich konnte am 23. August der neue Mailinglistenserver online und der letzte “alte” Qmail Server nach über 15 Jahren endlich offline gehen.

Status Quo

Eine Übersicht über den Mailzustellungsprozess gibt es hier: Artfiles Mail V3

Im Unterschied zu den dort skizzierten Plänen hat unser Mailsystem noch mal deutlich an Sicherheit und Verfügbarkeit gewonnen: es gibt jetzt eine redundante Speicherung sämtlicher Mails auf zwei Storage Servern, die sich in verschiedenen Brandabschnitten des Rechenzentrums befinden. Von diesem Redundanten Datenbestand werden alle drei Stunden Snapshots gezogen, die eine möglichst zeitnahe Wiederherstellung ermöglichen.

Zusätzlich werden vom jeweils aktuellsten Snapshot täglich die Daten auf ein drittes, unabhängiges System gesichert. Diese Sicherungen werden mindestens 28 Tage aufbewahrt.

Ausblick

Auch wenn nun ein Meilenstein erreicht ist, arbeiten wir selbstverständlich kontinuierlich weiter an der Verbesserung des Mailsystems. Als nächstes wollen wir den Benutzern die Möglichkeit geben, selbst Mails aus den backups wieder herzustellen. Derzeit muss das noch ein Administrator “zu Fuß” tun.

Außerdem möchten wir den Benutzern mehr Konfigurationsmöglichkeiten für Ihre jeweiligen Accounts geben, ohne dass sie dafür das DCP bemühen müssen.

Beides ist bereits in Arbeit, die Realisierung wird aber noch einige Zeit in Anspruch nehmen – voraussichtlich aber nicht wieder fast zehn Jahre…

2 thoughts on “Mailsystem V3”

  1. Guten Tag, die Artikel “Artfiles Mail V3” und “Mailsystem V3” gehen bez. des verwendeten Filesystems auseinander.
    Wird jetzt BTRFS oder Ext4 verwendet, wenn Ext4, wie/womit erstellen Sie die Snapshots?

    Privat Kunde bei Ihnen, beruflich Admin (mdex AG),
    wir verwenden ebenfalls xen cluster (domU dom0) mit LVM und DRDB.

    MfG Lohmann

Comments are closed.