Hochverfügbarkeit/Geschäftskritische Anwendungen mit gekoppelten Notes-Installationen

Im Cluster wird Lotus Domino hochverfügbar

07.04.2000
Immer mehr Unternehmen setzen "Lotus Domino" und "Lotus Notes" auch für geschäftskritische Anwendungen in E-Commerce-Systemen ein. Damit steigen die Ansprüche an die Verfügbarkeit. Klaus Wirries* beschreibt Aufbau und Funktionsweise von geclusterten Domino-Installationen.

Ursprünglich als proprietäre Groupware-Lösung konzipiert, öffnete sich Lotus Domino spätestens mit dem Release 4.6 den offenen Internet-Standards. Damit wurden die Groupware-Funktionen auch für das Browser-Frontend verfügbar, was zum Markterfolg des Produkts beitrug. Mittlerweile wird Lotus Domino häufig auch als Server für Websites oder für E-Commerce-Systeme eingesetzt.

Dem Trend zur Hochverfügbarkeit folgend, bietet Lotus für den "Domino-Server" die Möglichkeit an, mehrere Systeme zu einem Cluster zu verbinden. War die Cluster-Funktionalität bei der Version 4.6 noch im extra zu erwerbenden Paket "Advanced Services" enthalten, ist sie im Release 5 in die Ausbaustufe "Enterprise Server" integriert.

Abstrakt gesehen ist ein Cluster eine Gruppe von mindestens zwei Computern, auch Nodes genannt, die dem Benutzer gegenüber wie ein einziges System erscheinen. Die Nodes stellen die benötigten Systemressourcen mehrfach zur Verfügung oder greifen gemeinsam auf hochverfügbar ausgelegte Ressourcen zu (zum Beispiel Festplatten in Raid-1- oder Raid-5-Konfigurationen). Durch zunehmende Redundanz der Ressourcen wird ein Ausfall des Gesamtsystems immer unwahrscheinlicher und damit Hochverfügbarkeit geschaffen.

Die Gründe für einen Ausfall des Systems können vielfältig sein. Hardware, Netzwerk, Betriebssystem oder die Anwendungen (Domino-Server) sind mögliche Fehlerquellen. Ein hochverfügbarer Domino-Cluster lässt sich prinzipiell auf zwei Wegen erreichen.

Die erste Variante, Clustering auf Betriebssystem-Ebene, nutzt die Funktionen eines Betriebssystems, um auf redundant aufgebauten Systemen betrieben werden zu können. Ein Beispiel für eine einfache Implementierung ist ein Cluster, bestehend aus zwei Nodes, die gemeinsam ein Dateisystem auf einem hochverfügbaren Plattensubsystem nutzen (siehe Abbildung "Domino-Cluster").

Hier wäre ein Ausfall durch Fehler in der Systemhardware, der Netzwerkadapter und des Betriebssystems durch den zweiten Node auszugleichen. In dieser Umgebung müssten aber zwei Domino-Server auf die gleichen Datenbanken zugreifen, denn solange nicht mindestens zwei Domino-Server-Instanzen verfügbar sind, können auch Domino-Anwendungen nicht hochverfügbar sein, falls die Server-Software der Grund für den Ausfall sein sollte. Diese Konfiguration wird aber derzeit von Lotus nicht unterstützt.

In der Praxis wird für Lotus Domino deshalb oft eine andere Architektur bevorzugt. Durch Nutzung des Domino-Clustering können bis zu sechs Domino-Server zu einem Verbund zusammengeschlossen werden. Sie übernehmen im Fehlerfall Dienste der anderen Rechner. Ein besonderer Vorteil dieses Clustering-Modells auf Applikationsebene ist der Schutz der bestehenden Investitionen: Auch Server unterschiedlicher Plattformen können im Cluster zusammenarbeiten.

So ist es möglich, bereits installierte OS/2- oder Novell-Netware-Server weiter zu betreiben. Gleichzeitig lassen sich Rechner anderer Plattformen (etwa Unix, Windows NT, AS/400 oder OS/390) in den Cluster integrieren (siehe Abbildung "Cluster-Netzwerk"). Einzige Einschränkung für die Nutzung heterogener Plattformen im Cluster ist die Verwendung der gleichen Anzahl von Netzwerkprotokollen auf allen Servern, da der Server im Fall eines Failovers (Übernahme des ausgefallenen Servers durch einen anderen Server im Cluster) für alle anderen Benutzer erreichbar sein muss.

Beim Domino-Clustering handelt es sich um eine Aktiv-aktiv-Implementation. Das heißt, im Gegensatz zu so genannten Standby-Lösungen, bei denen die Ersatzsysteme nur bei einem Fehler einspringen, werden bei Domino alle im Cluster verfügbaren Systeme auch für den Regelbetrieb genutzt. Das ist wirtschaftlicher und ermöglicht zudem eine Lastverteilung (Load-Balancing) zwischen den Servern.

Domino verwendet einen speziellen Replikationsdienst (Cluster Replication), um die Redundanz der ausgewählten Daten zu gewährleisten. Die Cluster-Replikation stellt sicher, dass alle Änderungen an den Datenbanken oder an der Konfiguration des Clusters sofort auf die anderen Cluster-Server verteilt werden. Dazu müssen sich diese im gleichen Netzwerk befinden. Lotus empfiehlt, bei Netzwerkauslastungen ab 40 Prozent ein dediziertes Netz (dedizierte Netzwerkkarten, Verbindungen) zu nutzen, damit die Cluster-Replikation im Unternehmensnetz nicht unter Bandbreitenmangel leidet.

Natürlich muss die Cluster-Replikation nicht über das Netz geschehen. Laufen zwei Domino-Instanzen auf derselben hochverfügbaren Hardware als partitionierte Server und liegen die Replikate auf einem gemeinsam genutzten Plattensystem, kann die Cluster-Replikation über den internen System-Bus laufen. So lassen sich die Vorteile des System-Clustering und des Domino-Clustering kombinieren. Beim Aufbau eines Domino-Clusters müssen IT-Manager allerdings einige Regeln befolgen (siehe Kasten "Regeln für NotesCluster").

Lastmessungen durch Lotus zeigen, dass der durch das Cluster erzeugte Overhead relativ gering bleibt. Erst bei einer umfangreichen Benutzung der Cluster-Replikation steigt die Systemlast in Abhängigkeit von der Nutzung. Das bedeutet, dass sich auch relativ leistungsschwache Server in den Cluster einbinden lassen, wenn man sich auf wenige wichtige Datenbanken beschränkt oder der Datenbestand nur wenigen Änderungen unterworfen ist.

Entscheiden sich IT-Verantwortliche für die Nutzung des Domino-Clustering, können sie andererseits eine Reihe von Vorteilen erwarten (siehe Kasten "Vorteile von Domino-Clustern", Seite 70).

Die Nutzung der Failover-Fähigkeit und des Load-Balancing sind die wichtigsten Gründe für die Nutzung eines DominoClusters. Unter Failover versteht man die Fähigkeit des Domino-Clusters, die Verfügbarkeit jedes Servers im Cluster zu erkennen und bei Nichtverfügbarkeit eines solchen die Client-Anforderung automatisch an einen Server weiterzuleiten, der den angeforderten Dienst übernehmen kann.

Auslöser für ein Failover in einer Domino-Umgebung sind im Wesentlichen alle benutzerinduzierten Datenbankoperationen, beispielsweise das Öffnen einer Datenbank und verschiedene Server-induzierte Operationen wie das Mail-Routing.

Aus Benutzersicht geschieht beim Failover Folgendes: Klickt ein Benutzer auf ein Datenbank-Icon eines Servers, der gerade nicht verfügbar ist, erscheint das Icon der Cluster-Replika (Replika der Datenbank auf einem verfügbaren Server) auf seinem Desktop, und die Datenbank wird geöffnet. Der Benutzer verbleibt so lange auf dem Replika-Server, bis die Notes-Session beendet wird oder der Administrator den Failover rückgängig macht. Danach arbeitet der Anwender mit der ursprünglichen Datenbank weiter, es sei denn, der Server ist nach wie vor nicht verfügbar. Dann wird ein weiteres Failover angestoßen.

Unter Load-Balancing versteht man die Fähigkeit des Clusters, die Benutzeranfragen auf unterschiedliche Server im Cluster zu verteilen. Alle Server im Verbund kennen den Zustand der anderen Server und überwachen dauernd ihren eigenen Workload. Dabei entscheiden sie, ob ihr Workload-Status den Zustand "Available" oder "Busy" aufweist, und leiten die Benutzeranfragen gegebenenfalls an andere Server weiter, indem der Failover-Mechanismus ausgelöst wird. Der Grenzwert für den Failover lässt sich mittels des Parameters "Server_Availability_Threshold" setzen.

Ein Cluster bietet gute Möglichkeiten, die Kapazität einer Domino-Umgebung durch das Hinzufügen oder Entfernen von Servern dynamisch zu verändern. Da sich der Cluster auch mit heterogenen Betriebssystem- und Hardwareplattformen und heterogenen Domino-Releases aufbauen lässt, können auch Plattformänderungen und Upgrades ohne Unterbrechung der Verfügbarkeit organisiert werden.

Den Vorteilen eines hochverfügbaren Clusters stehen allerdings einige Nachteile gegenüber: Anwendungen, die von Agents Gebrauch machen, können die Failover-Fähigkeiten des Clusters nicht nutzen, weil sie sich nur auf einem vorher bestimmten Server ausführen lassen. Was die Hardwarekosten betrifft, ist der höhere Verbrauch an Festplattenkapazität durch die Cluster-Replikas zu nennen.

Insbesondere der Verwaltungsaufwand steigt bei der Verteilung der Dienste auf unterschiedliche Systeme. Wenn vor allem die Reduzierung dieser Tätigkeiten ein Ziel und die Verwendung von existierenden Altsystemen nicht notwendig ist, sind IT-Manager deshalb mit einem zentralen System (beispielsweise unter Unix oder OS/390) mit geclusterten und partitionierten Domino-Servern gut beraten.

* Klaus Wirries ist Projekt-Manager für verschiedene IT-Themen bei der Bankgesellschaft Berlin AG.

Regeln für Notes-Cluster-Ein Server kann nur Mitglied in einem einzigen Cluster sein.

-Alle Server müssen sich in der gleichen Domino-Domäne befinden.

-Alle Server müssen die gleichen Netzwerkprotokolle verwenden.

-Der Cluster-Replikator unterstützt nur TCP/IP, das heißt, TCP/IP muss auf allen Servern genutzt werden.

-Die hierarchische Zulassungsmethode muss verwendet werden.

-Die maximale Anzahl von Servern pro Cluster ist sechs; es gibt keine Begrenzung bei der Zahl der Benutzer im Cluster und der Cluster pro Domäne.

Vorteile-Hochverfügbarkeit durch Failover-Mechanismen für alle Arten von Domino-Diensten (zum Beispiel Mail, Kalender, Datenbanken). Durch Nutzung des Internet-Cluster-Managers (ICM) sind alle Funktionen auch für HTTP- und HTTPS-Client-Zugriff möglich. Das heißt, auch mit einem Web-Browser können die Vorteile eines Clusters genutzt werden. FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol) und UDP (User Datagram Protocol) werden nicht unterstützt.

-Skalierbarkeit durch Lastverteilung (Load-Balancing)

-Flexibler Wachstumspfad durch Integration weiterer Server und leichtere Migration von Server-Plattformen, Betriebssystemen und Domino-Versionen.

-Absicherung gegen Katastrophen (Zerstörung des Gebäudes etc.), wenn die Cluster-Server an verschiedenen Standorten installiert sind.

Abb.1: Domino-Cluster

Geclustertes Dateisystem mit zwei Rechnerknoten. Quelle: Wirries

Abb.2: Cluster-Netzwerk

Aufbau eines Domino-Clusters mit drei Servern. Quelle: Wirries