Failover-Lösung für einen Kolab-/Cyrus-Mailserver

Zur Sicherung eines Kolab-Servers/Cyrus-Mailservers können die nachfolgend dargestellten Strategien verwendet werden. Diese unterscheiden sich in hohem Maße im Grad der Verfügbarkeit des Mail-Dienstes sowie ihrer Performanz.

1) rsync
Die erste Möglichkeit ist der Einsatz von rsync. Es werden regelmäßig die Spool-Bereiche des Mail-Servers auf einen weiteren Rechner (Backup-Server) per rsync kopiert. Diese Daten können auf dem Backup-Server dann z.b. auf Band gesichert werden. Aus den Sicherungen können dann einzelne E-Mails wiederhergestellt werden. Diese Form der Sicherung kann allerdings nicht verwendet werden, um den kompletten Mail-Dienst wiederherzustellen, da Cyrus intensiven Gebrauch von Datenbank-Dateien macht, die im laufenden Betrieb des Mail-Serves nicht konsistent gesichert werden können. Diese Dateien sind ständig vom Mail-Server geöffnet und werden unregelmäßig auf die Festplatte geschrieben - hiervon sind zum Beispiel die Statusinformationen (gelesen, ungelesen, wichtig) betroffen.
Existiert die Möglichkeit, in einem definierten Zeitfenster den Mail-Server zu stoppen, können in einem zweiten rsync-Durchlauf auch die Datenbank-Dateien konsistent kopiert werden.

2) LVM
Die zweite Möglichkeiten ist die Verwendung von LVM (logical volume management). LVM bietet die Möglichkeit zur Laufzeit einen Readonly-Snapshot des Dateisystem zu machen, auf dem sich die Daten des Mail-Servers befinden. Der statische Readonly-Snapshot kann anschließend auf ein anderes System oder Backupmedium repliziert werden.
Gegebenenfalls kann für die kurze Zeit der Snapshot-Erstellung der Mail-Server angehalten werden, um aktuelle, konsistente Datenbanken zu gewährleisten.

3) Netzwerk-RAID
Eine dritte mögliche Lösung ist die Installation des Kolab-Servers auf zwei Rechnern und die Verwendung eines Netzwerk-RAIDs (z.B. mit DRBD). Nur einer der Rechner führt den Mail-Dienst aus, auf dem zweiten Rechner ist der Mail-Dienst ausgeschaltet. Es wird das Netzwerk-RAID über den Mail-Spool-Bereich der beiden Rechner installiert. Änderungen im Mail-Spool Bereich des aktiven Mail-Servers werden auf diese Weise mit dem nicht aktiven Rechner synchronisiert. Fällt der aktive Rechner aus, kann der Mail-Dienst manuell auf dem zweiten Rechner gestartet werden.
Diese Lösung kommt ohne Downtime des Mail-Dienstes aus, erreicht jedoch nicht die Performanz der anderen beiden Lösungen.

Mastodon