Wenn eine große Zahl von Nutzern mit Mail- oder anderen Kommunikationsdiensten versorgt werden soll, wie es bei Providern, Universitäten oder großen Unternehmen der Fall ist, dann muss Messaging-Software entsprechend skalieren und gegen Ausfälle schützen. CommuniGate Pro nutzt dafür so genannte statische Cluster und enthält standardmäßig alle dafür nötigen Funktionen.
CommuniGate Pro, eine Lösung für Unified Communications, wurde ursprünglich für das Internet-Hosting entwickelt und somit für große Benutzerzahlen ausgelegt. Daher bietet sie eine integrierte Cluster-Architektur, bei der alle wichtigen Services von SMTP, POP, IMAP bis hin zu SIP und XMPP im Rechnerverbund 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 Hochverfügbarkeit legt, bietet die statische Variante eine einfache und kostengü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.
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 Standardprogramms 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.
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 Konfigurationsschritte 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.
Weitere Beiträge von diesem Anbieter