Open Source im professionellen Einsatz
Linux-Magazin 09/2010
© Dmitry Pichugin, Fotolia.com

© Dmitry Pichugin, Fotolia.com

Skalierbare Zarafa-Farm mit Round-Robin-DNS und High Availability

Giraffenherde

Obwohl Zarafa derzeit viel Staub aufwirbelt, gilt die holländisch-deutsche Groupware nicht gerade als Herdentier. In großen Setups skaliere die MySQL-Mapi-Groupware schlecht, berichten Admins. Das das nicht so sein muss, und wie es im Verbund mit Open-Source-Tools auch anders geht, zeigt dieser Artikel.

560

Im April 2010 entschied sich die katholische Kirche Deutschlands, einer Giraffe das Vertrauen zu schenken. Die Open-Source-Groupware Zarafa [1] solle fortan die Terminplanung, gemeinsame Addressbücher und E-Mails für die fünfstellige Anzahl an Mitarbeitern bewerkstelligen. Überzeugt hatte da eine Referenzimplementierung in Bayern, wo knapp 4000 User Outlook, Webaccess und Blackberry-Anbindung unter die Lupe nahmen.

Da rieben sich manche Groupwareexperten verwundert die Augen, Zarafa skaliere doch nicht, HA-Setups mit Failover-Clustern seien kaum zu bewerkstelligen, lauteten die Vorurteile. Doch offenbar hat sich in den letzten Jahren bei der Giraffe einiges getan. Schon mit der Open-Source-Variante ("Community Edition") lassen sich gängige HA-Cluster mit klassischem DRBD, Open AIS [2], Heartbeat [3] oder Pacemaker [4] realisieren. Wer etwas tiefer in die Tasche greift und auf die Enterprise-Version setzt, bekommt deutlich unkomplizierter eine flexible und ausfallsichere Groupwarelösung mit Mapi-Anbindung und fast beliebigen mobilen Clients.

Dabei verteilt der Admin die Last gleichmäßig auf eine virtuelle Giraffenherde, ohne das Failoversetup außer Acht zu lassen. Die meisten Komponenten der folgenden Beschreibung funktionieren auch mit der freien Variante, nur das nützliche Multiserver-Feature mit der LDAP-Schemaerweiterung kostet zwischen 20 und 45 Euro pro User.

LDAP oder jeder andere

Für das Multiuser-Setup verlangt Zarafa zwingend ein zentrales LDAP-Directory, das die Logik des Servers in der Objektklasse »zarafaServer« abbildet. Große Umgebungen ohne Verzeichnisdienst sind ohnehin selten, weshalb dies normalerweise keine Hürde darstellt. Meist verteilen Admins die Anfragelast bereits auf Directory-Ebene mit Replikationsmechanismen über mehrere Maschinen.

Als Verzeichnisdienst ist jedes Produkt möglich, das das LDAP-Protokoll in Version 3 spricht und dessen Schema sich durch die Zarafa-eigenen Klassen und Attribute erweitert lässt. Referenzinstallationen exisitieren auf Basis von Active Directory, Novell E-Directory, Apples Open Directory und verschiedenen, Open-LDAP-basierten Diensten.

Aufbau Zarafa-Server

Für eine möglichst hohe Skalierbarkeit empfiehlt es sich, die Kernkomponenten Verzeichnisdienst, Datenbank und Zarafa auf mehrere Maschinen zu verteilen, am besten in Kombination mit der präferierten Virtualisierungstechnologie. Jede Kernkomponente ist dann als virtuelle Maschine erweiterbar und auf mehrere Host-Systeme verteilt.

In der Praxis hat es sich als sinnvoll erwiesen, die Zarafa-Dienstkomponenten einheitlich auf einer einzelnen virtuellen Instanz laufen zu lassen. Dann erfolgtdie Prozesskommunikation gebündelt auf derselben Maschine, und nimmt somit nicht den meist langsameren Umweg über das Netzwerk. Darüber hinaus bietet dieses Setup dem Admin die Möglichkeit, den Stand einer solchen Maschine einzufrieren und als Template zur Verfügung zu stellen. Ohne großen Aufwand fügt er so einer bestehenden Umgebung weitere Zarafa-Instanzen hinzu. Abbildung 1 zeigt, wie ein vollständiger Zarafa-Server alle Anfragen für von ihm verwaltete Benutzer bearbeiten kann.

Abbildung 1: Im Stack eines eigenständigen Zarafa-Servers befinden sich im Idealfall auch ein zusätzlicher, externer Apache und ein MTA.

Mit dem Multiserver-Setup von Zarafa ist es möglich, jeden verfügbaren Zarafa-Server anzusprechen, um an den gewünschten Mailstore des Benutzers zu gelangen. Hierzu kann jeder »zarafa-server«-Prozess auch als eine Art Proxy dienen, der bei Bedarf alle Anfragen an den zuständigen Zarafa-Server weiterleitet. Im Zarafa-Client (Outlook) trägt eine eigenen Logik den für den Benutzer zuständigen Server in den Konfigurationsdialog fest ein. Zusammen mit der Logik der Verzeichnisdaten sorgt das Attribut »zarafaUserServer« im Benutzerobjekt jetzt bereits für eine Lastverteilung der Outlook-Benutzer.

Zarafas Web Access hingegen, der auch als Mapi-Client agiert, kann diese Verteilung jedoch nicht selbstständig bewerkstelligen, da der Benutzer ihn durch eine direkte URL ansteuert, womit keine Logik bei der Verteilung möglich ist.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Ausgabe 07/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.