Novell OES: Clusterressourcen

01.01.2007 von Martin Kuppinger
Der Aufbau von gemischten Clustern beim OES wurde bereits detailliert besprochen. In dieser Ausgabe folgen nun mehrere Artikel, in denen auf spezifische Teilaspekte des Umgangs mit Clustern eingegangen wird. Ein zentraler Punkt sind dabei die Clusterressourcen.

Eine Clusterressource definiert eine Ressource wie eine Website, eine Datenbank, einen DHCP-Server, den IP-Dienst für die gemeinsame Adresse oder einen anderen Dienst, der im Cluster bereitgestellt wird. Diese Ressource ist auf den verschiedenen Knoten im Cluster bekannt. Um clusterspezifische Funktionen wie das Failover nutzen zu können, muss man sie als Ressource definieren.

Die Verwaltung von Clusterressourcen kann mit dem iManager durchgeführt werden. Alternativ kann man auch die ConsoleOne verwenden, auf die in diesem Artikel allerdings nicht näher eingegangen wird.

Die Erstellung mit dem iManager

Im iManager finden sich die Clusterressourcen bei Cluster/Clusteroptionen. Nach Auswahl eines Clusters wird dort eine Liste der vorhandenen Clusterobjekte angezeigt (Bild 1). In der Liste finden sich die definierten Ressourcen, die Knoten im Cluster und die Schablonen, die bereits definiert wurden.

Bild 1: Die Liste von konfigurierten Ressourcen bei einem Cluster.

Auch Pools und andere gemeinsame Objekte werden angezeigt. Nach Auswahl eines Objekts kann man dieses mit Löschen wieder entfernen oder mit Eigenschaften die Konfiguration anpassen. Mit Neu lassen sich dagegen neue Objekte anlegen. Nach der Auswahl werden drei Optionen angezeigt:

Auswahl von Ressourcen und Schablonen

Bei Auswahl von Ressource wird ein weiteres Dialogfeld angezeigt, in dem man einen Namen eingeben muss. Außerdem kann die Schablone ausgewählt werden (Bild 2). Es empfiehlt sich, nur über Schablonen zu arbeiten. Falls man neue Arten von Ressourcen anlegen möchte, muss man also gegebenenfalls vorab eine geeignete Ressource definieren.

Bild 2: Die Erstellung einer neuen Cluster-Ressource und Schablone.

Die Schablonen finden sich unterhalb des Clusterobjekts im eDirectory. Als weitere Option kann hier angegeben werden, dass die Ressource nach der Erstellung gleich online gebracht werden soll. Diese Option sollte man mit Vorsicht nutzen. Es empfiehlt sich, die Konfiguration zunächst abzuschließen und eine Ressource anschließend explizit zum gewünschten Zeitpunkt online zu nehmen.

Die Option Zusätzliche Eigenschaften definieren sollte man dagegen gewählt lassen, um die weiteren erforderlichen Einstellungen vornehmen zu können. Die weiteren Schritte werden am Beispiel einer DHCP-Ressource erläutert, wobei die grundlegende Reihenfolge immer gleich ist.

Ladescript: Server anpassen

Im nächsten Schritt wird zunächst das Ladeskript angezeigt. Ein Ladeskript wird beim Laden einer Ressource ausgeführt. Bei einem DHCPServer muss dort der Server angegeben werden, auf dem der DHCP-Dienst zuerst installiert wurde. Dazu müssen die beiden Zeilen:

CLUSTER DHCP CN=SERVER.O=ORG.T=TREE

dhcpsrvr --servaddr=A.B.C.D

angepasst werden. In der ersten Zeile wird der korrekte Kontext, in der zweiten die IP-Adresse des Servers angegeben.

Der Parameter Zeitüberschreitung gibt an, in welchem Zeitraum das Skript ausgeführt werden muss, damit eine Ressource als verfügbar betrachtet wird. Der Standardwert von 10 Minuten ist natürlich zu lang gewählt, da Ressourcen in der Regel deutlich schneller online gebracht werden müssen. Zu kurze Werte bergen allerdings das Risiko, dass Ressourcen nicht schnell genug verfügbar werden.

Entladescript

Genauso wie ein Ladeskript gibt es auch ein Entladeskript. In diesem finden sich die Anweisungen, um einen Dienst auf einem Server zu beenden, wenn dieser auf diesem Knoten im Cluster nicht mehr ausgeführt werden soll, weil beispielsweise ein anderer Knoten die Kontrolle übernommen hat.

Bei DHCP wird dazu der entsprechende Dienst beendet, weil der DHCP-Server in einer solchen Situation keine Anforderungen mehr bearbeiten darf. Auch hier kann wieder eine maximale Ausführungszeit beim Parameter Zeitüberschreitung angegeben werden.

Bild 3: Die Einstellungen zu den Ressourcenrichtlinien.

Im folgenden Schritt müssen die Ressourcenrichtlinien mithilfe mehrerer Optionen definiert werden (Bild 3):

Weitere Ressourcen-Einstellungen

Anschließend können noch der oder die bevorzugten Knoten in einem Cluster ausgewählt werden. Ebenso lässt sich die Failover-Reihenfolge für Systeme in einem Cluster modifizieren. Mit Fertigstellen wird die Ressource abschließend definiert. Sie steht damit im Cluster zur Verfügung.

Die Einstellungen können jederzeit geändert werden, wenn man eine Ressource auswählt und Eigenschaften anklickt, um die gesetzten Parameter betrachten und anpassen zu können. Dazu werden die Register Allgemein und Skripten verwendet. Das Register Geschäftskontinuität ist nur von Bedeutung, wenn die Business Continuity Cluster-Software installiert ist, mit der man einen Cluster aus Clustern erstellen kann, um ein Failover eines gesamten Clusters durchführen zu können, beispielsweise in einem Notfall-Rechenzentrum.

Ressourcen-Schablonen

Die Ressourcen basieren jeweils auf Schablonen. Schablonen lassen sich ebenso einfach erstellen wie Ressourcen. Schablonen können sogar auf anderen Schablonen basieren. Bei einer Schablone werden primär die Skripts angegeben. Diese Skripts bestehen wiederum aus den Start- und Ende-Befehlen für die Ressourcen.

Da es für wichtige Ressourcen bereits solche Schablonen gibt, hat man aber auch eine gute Basis, um sich daran zu orientieren. Das zeigt sich beispielsweise bei der Schablone für den MySQL-Datenbank-Server, der etwas mehr Startbefehle aufweist. Wichtig ist aber, dass die Befehle in einem Skript jeweils die sind, die auch an der Konsole angegeben würden.

Spezifische Ressourcen-Konfiguration

Bei einigen Ressourcentypen ist aber noch eine spezifische Konfiguration der Anwendungen erforderlich, damit diese korrekt mit den Novell Cluster Services zusammenarbeiten. Das Handbuch OES Cluster Services Resource liefert einen umfassenden Überblick über die spezifischen Anforderungen. Folgende Ressourcentypen werden standardmäßig unterstützt:

Über diese Dienste hinaus können auch weitere Anwendungen unterstützt werden. Das ist gegebenenfalls mit den Anwendungsherstellern zu klären. (hal))