Internet Cluster Manager

15.06.2006 von Martin Kuppinger
Um auch die Zugriffe über HTTP auf mehrere Systeme verteilen und einen Failover durchführen zu können, steht der Internet Cluster Manager (ICM) zu Verfügung. Der vorliegende Beitrag stellt das Konzept dieser Komponente und ihre Basiskonfiguration vor und befasst sich darüber hinaus mit den Ansätzen für das Failover von IMAP und LDAP.

Der Internet Cluster Manager ist eine spezielle Komponente für den Aufbau von Clustern, die HTTP-Zugriffe verwalten.

Die Arbeitsweise

Der ICM arbeitet mit den Domino-Clustern zusammen. Er unterstützt HTTP und HTTPS und sitzt zwischen den Web-Clients und den Knoten in einem Domino-Cluster. Die Knoten in einem Cluster erzeugen URLs, die HTTP-Anforderungen zum ICM weiterleiten. Dieser verwaltet Informationen über die verschiedenen Knoten im Cluster und leitet die Clients an den Knoten mit der aktuell höchsten Verfügbarkeit weiter. Die Verfügbarkeit und der generelle Status von Servern im Cluster werden dabei regelmäßig über Probes abgefragt.

Benutzer können die Verwendung des ICM erkennen, da die Zugriffe vom ICM an Knoten imCluster weitergeleitet werden und sich damit auch der URL ändert. Der ICM kann auf einem Knoten im Cluster, aber auch auf einem anderen Server ausgeführt werden. Auf das konkrete Systemverhalten hat das wenig Einfluss. Externe ICM-Server müssen allerdings für die Informationen im Cluster-Verzeichnis auf einen Knoten im Cluster zugreifen. Diese Daten werden benötigt, damit der ICM entscheiden kann, welche Anforderungen an welches System weitergeleitet werden sollen.

Bei den URLs, die für den ICM generiert werden, tauchen möglicherweise Probleme. ReplicaIDs, Pfadnamen und NoteIDs sind nicht unbedingt bei allen Knoten im Cluster identisch. Solche URLs sollten daher nicht mit dem ICM eingesetzt werden, was beim Anwendungsdesign zu beachten ist.

Konfiguration

Die Konfiguration des ICM erfolgt im Konfigurationsdokument bei Server Tasks/Internet Cluster Manager (Bild 1).

Bild 1: Die Konfigurationsschnitt stelle für den ICM.

Bei Cluster name wird der Name des Clusters angegeben, für den das System als ICM arbeiten soll. Ein Server kann nur als ICM für jeweils einen Cluster fungieren. Falls kein Name angegeben wird, muss es sich um den Knoten eines Clusters handeln. Der ICM arbeitet in diesem Fall für diesen „lokalen“ Cluster. Die zweite Festlegung ist der ICM Notes port. In der Regel kann dieser Punkt ignoriert werden, außer bei Systemen mit mehreren TCP/IP-Ports, von denen einer dediziert für die Kommunikation des ICM verwendet werden soll. Solche Ports müssen explizit konfiguriert werden.

Eine wichtige Einstellung ist dagegen die ICM SSL keyfile. Sie wird für die verschlüsselte Kommunikation mit den Clients verwendet.

Mit der folgenden Option Allow users to browse databases kann definiert werden, ob Benutzer die Liste der Datenbanken im Cluster durchsuchen dürfen. Diese Option ist in der Regel deaktiviert.

Bei den Einstellungen im Abschnitt Configuration kann zunächst angegeben werden, dass die Konfiguration aus einem anderen Server-Dokument bezogen wird. Auf diese Weise lassen sich mehrere ICMs im Netzwerk auf einmal steuern. Falls damit gearbeitet wird, kann der Server auch in diesem Abschnitt definiert werden. Im unteren Bereich finden sich schließlich noch die Port-Einstellungen. Falls der ICM keine eigene IP-Adresse besitzt und auf dem gleichen Server wie der Webserver läuft, muss eine andere Portnummer festgelegt werden, um Konflikte zu vermeiden.

Nachdem das Konfigurationsdokument fertig gestellt wurde, muss der Dienst ICM noch in die Liste der Server-Tasks in der notes.ini aufgenommen werden. Außerdem kann der Dienst über den Domino-Administrator oder mit Load icm auch direkt geladen werden.

Clustering bei POP3, IMAP und LDAP

Der ICM unterstützt nur HTTP. Andere Internet- Protokolle können dagegen damit nicht gesteuert werden. Sowohl für POP3 als auch für LDAP kann aber mit Network Load Balancern gearbeitet werden. Da die Zugriffe statuslos erfolgen, lassen sie sich damit einfach auf unterschiedliche Server verteilen. Allerdings kann dabei die aktuelle Auslastung der Server nicht berücksichtigt werden.

Bei IMAP funktioniert das nicht, weil dort eindeutige Identifier bei den Nachrichten benötigt werden. In diesem Fall sollten Cluster auf der Ebene des Betriebssystems eingesetzt werden, die gemeinsam genutzte Datenträger verwenden. Auf diesen werden die Maildatenbanken abgelegt. Bei einem Failover nutzt ein anderer Knoten die gleiche Datenbank, so dass es zu keinen Konflikten kommt.

Der Einsatz von Lotus Domino im Zusammenspiel mit Betriebssystem-Clustern wird Gegenstand eines eigenen Artikels in einer der folgenden Ausgaben von Expert’s inside Lotus Notes/ Domino sein.