Mail-Server für hohe Anforderungen: Statische Cluster in CommuniGate Pro einrichten

    Server ClusterWenn eine große Zahl von Nutzern mit Mail- oder anderen Kommu­ni­kations­diensten versorgt werden soll, wie es bei Providern, Univer­sitäten oder großen Unter­nehmen der Fall ist, dann muss Messaging-Software ent­sprechend ska­lieren und gegen Aus­fälle schützen. Communi­Gate Pro nutzt dafür so genannte statische Cluster und enthält standard­mäßig alle dafür nötigen Funk­tionen.

    CommuniGate Pro, eine Lösung für Unified Communications, wurde ursprünglich für das Internet-Hosting entwickelt und somit für große Benutzer­zahlen ausgelegt. Daher bietet sie eine integrierte Cluster-Architektur, bei der alle wichtigen Services von SMTP, POP, IMAP bis hin zu SIP und XMPP im Rechner­verbund betrieben werden.

    Statischer Cluster für horizontale Skalierung

    Grundlage dafür ist die in CommuniGate Pro integrierte Unterstützung für den Multi-Server-Betrieb. Die Software schaltet dafür mehrere aktive Knoten zu einem Cluster zusammen.

    Dabei wird zwischen statischen und dynamischen Clustern unterschieden: Während der dynamische Cluster den Fokus primär auf Hochver­fügbarkeit legt, bietet die statische Variante eine einfache und kosten­günstige Möglichkeit für horizontale Skalierung, weil sie damit ohne kostspieliges Shared Storage (SAN oder NAS) auskommt.

    Koppelung von Servern

    Ein statischer Cluster verteilt die User-Konten auf verschiedene Server, ohne dass ein gemeinsamer Daten-Pool vorgehalten wird. Die beteiligten Maschinen kommen daher mit lokalem Storage aus. Nachdem CommuniGate Pro sämtliche Nutzdaten im File-System als Dateien und Verzeichnisse speichert, sind auch keine Datenbanken erforderlich.

    Wie gewohnt kann eine Installation von CommuniGate Pro dabei viele Domains verwalten. Die dafür nötige Distributed Domains-Konfiguration basiert auf einem gemeinsamen Directory-Server (Shared Directory, eine Komponente von CommuniGate Pro), der die Informationen über alle User, Domains und Server zentral vorhält. Jeder Server des Static Cluster kennt somit alle Domains und speichert eine Teilmenge der Benutzerkonten mit den zugehörigen Nutzdaten.

    CommuniGate Pro kann mittels Cluster-Technik nahezu beliebig skaliert werden.

    Multi-Server-Architektur

    CommuniGate Pro unterstützt die Segmentierung der beteiligten Rechner im Cluster in sogenannte Frontend- und Backend-Server. Die Frontends wickeln die eingehenden Client-Verbindungen ab, sorgen für die SSL-Verschlüsselung und für das SMTP-Relaying. Zudem sind sie für Realtime-Protokolle wie SIP zuständig.

    Dahinter stehen die Backend-Server, welche die eigentlichen Nutzdaten sowie Benutzerkonten verwalten. Einer der Knoten fungiert dabei immer als Controller, der die Zugriffe im Cluster synchronisiert.

    Kleine Cluster-Setups können auch ohne dedizierte Frontend- und Backend-Rollen auskommen. Bei solchen so genannten symmetrischen Konfigurationen übernimmt jeder Knoten beide Aufgaben.

    Einrichtung statischer CommuniGate Pro Cluster

    Das Aufsetzen eines Clusters gestaltet sich vergleichsweise einfach. Der Administrator richtet alle am Verbund beteiligten Server auf Basis ein und derselben Binaries ein. Die Cluster-Mechanismen sind Bestandteil des Standard­programms und bedürfen einer entsprechenden Lizenz.

    Folgende Schritte sind auszuführen:

    • Installation und Konfiguration von CommuniGate Pro auf allen beteiligten Servern
    • Auf jedem Server das Shared Directory bekanntmachen
    • Auf jedem Knoten alle (shared) Domains konfigurieren
    • Jedem Server sind alle anderen Server des Clusters bekanntzumachen. Dies erfolgt in der Web-GUI unter Einstellungen => Cluster => Statisches Clustering.

    CommuniGate Pro enthält eine Unterstützung für den Cluster-Betrieb

    Der Cluster in Aktion

    CommuniGate Pro verspricht eine User-Dichte je Server von bis zu 450.000 Benutzerkonten, mit einer Ausbaufähigkeit eines Clusters bis zu etwa 5 Millionen Benutzern.

    Der Administrator kann jederzeit weitere Server zum Verbund hinzufügen. Dafür sind die üblichen Installations- und Konfigurations­schritte auszuführen. Handelt es sich um einen Frontend-Server, dann ist er entsprechend im Load-Balancer und DNS bekannt zu machen. Bei einem Backend-Server werden nach dem Setup einfach die gewünschten User-Accounts angelegt.

    Fällt ein Backend-Server aus, setzt der Cluster seinen Betrieb fort. Die auf dem ausgefallenen Server befindlichen Benutzerkonten sind in diesem Falle offline. Um sie wieder verfügbar zu machen, muss der betreffende Datenspeicher auf einem anderen Server bereitgestellt und der Server dem Cluster zugefügt werden.