Wir setzen schon seit einigen Jahren den Cyrus Murder in unserer Mailcluster Umgebung ein. Aber wie so immer gibt es auch hier hin wieder Sachen die fehlen oder nicht nicht so toll sind.
Der Vorteil ist aber die wirklich hohe Dynamik des gesamten Clusters.
Sollten die Ressourcen nicht ausreichen kann man innerhalb weniger Minuten eine neue Maschine aufstellen in Betrieb nehmen und den Cluster im laufenden Betrieb erweitern.
Auch das Splitten des Clusters ist ein großer Vorteil gerade für Kunden die SLA benötigen.
Auch das aufteilen von einzelnen Mailboxen ist ein Vorteil gerade wenn sie sehr groß sind, oder aber auch Shared Mailboxen lassen sich wunderbar über mehrere Server verteilen.
Aber eines der Probleme die wir von Anfang an hatten, waren, das die Cyrus Frontendserver nur LMTP beherrschen. Da LMTP meist nur als Lokale Transportschicht benutzt wird, verfügt LMTP in Cyrus kaum über spezielle funktionale Fähigkeiten, da es ja sowie so meist nur über einen Lokalen Socket angesprochen wird.
Daher ist die Trennung von Cyrus und Postfix manchmal ein bisschen kompliziert.
Da der Cyrus Frontend Server keine Rückmeldung beim einliefern gibt wenn die eingestellten Ressourcen zu neige gehen. Postfix kann auf solche Dinge besser reagieren und einen entsprechenden Fehler absetzen.
Deswegen haben wir anfangs auch einige Probleme gehabt wenn der Cyrus Server an seine grenzen stieß, hielt er einfach Verbindungen so lange offen bis die Kiste überhaupt nicht mehr reagierte. Daher habe wir einfach auf den Cyrus Frontendserver Postfix mit Installiert. Somit haben wir gleich zwei Fliegen mit einer Klappe geschlagen.
Das erste war: Postfix erzeugt bei zu vielen Verbindungen eine Temporäre Fehlermeldung
Das zweite war: Der gesamte Cluster bekam mehr Dynamik, da Postfix nun selbst in der Lage war auf einen anderen Frontendserver um zu schalten. Was vorher nicht der Fall war.
Auch die Lastverteilung auf den verschiedenen Backendserver kann man mit dem Cyrus somit gut unter Kontrolle halten. Je nach dem welcher Backendserver die wenigste Grundlast hat. Wir haben im Laufe der Zeit einige Helperscripte entwickelt um das verschieben der Mailboxen zwischen den Backendservern zu Automatisieren.
Da wir grundsätzlich zwei Netzwerksegmente haben, geht das verschieben der Mailboxen entsprechend schnell.