Cluster-Manager

Die Nutzung des Cluster-Managers ist lizenzpflichtig. Für jede INUBIT-Instanz innerhalb eines Clusters muss eine separate Lizenz erworben werden.

Verwendung

Mit dem Virtimo Cluster-Manager besteht die Möglichkeit, mehrere INUBIT-Instanzen zu einem Cluster zusammenzuführen, zur Laufzeit neue Instanzen hinzuzufügen bzw. herauszunehmen.

Damit kann z.B. eine hohe Verfügbarkeit eines INUBIT-Systems erreicht oder gezielt auf hohe Lastaufkommen reagiert werden.

Voraussetzungen

Zur vollständigen Umsetzung eines geclusterten Systems sind folgende Bestandteile notwendig:

  • INUBIT-Instanzen: mindestens 2 INUBIT-Installationen inklusive Lizenz für die Nutzung des Cluster-Managers

  • Netzwerkinfrastruktur: INUBIT-Instanzen müssen via Multicast untereinander kommunizieren können

  • Load-Balancer: zur Verteilung der eingehenden Anfragen an die INUBIT-Instanzen des Clusters

Der Cluster-Manager steuert, welche Knoten dem Cluster angehören und wer der aktuelle Master ist. Der Load-Balancer kümmert sich um die Verteilung der eingehenden Anfragen an die einzelnen INUBIT-Instanzen des Clusters.

Diese Trennung der Verantwortlichkeiten muss bei der Konfiguration mit berücksichtigt werden.

Multicast

Die Clusterbildung basiert auf Multicast, einem speziellen Netzwerk-Adressbereich und -Port. Alle Knoten, für die dieselbe Multicast-Adresse und -Port konfiguriert sind, fügen sich zu einem Cluster zusammen.

Architektur

Ein Cluster besteht immer aus einem Master-Knoten und beliebig vielen Backup-Knoten. Sollen INUBIT-Instanzen in einem Cluster zusammenarbeiten, muss dies bei Implementierung der Technical Workflows berücksichtigt werden.

Master-Knoten

Der Master-Knoten übernimmt dabei alle Aufgaben, die innerhalb des Systems fachlich auf nur einem einzelnen Knoten ausgeführt werden sollen, z.B. geschedulte Workflows.

Backup-Knoten

Alle Knoten (Master und Backup) übernehmen die Aufgaben, die fachlich parallel ausgeführt werden können.

Die Prüfung, ob die aktuelle INUBIT-Instanz ein Master- oder Backup-Knoten ist, erfolgt mithilfe eines zusätzlichen Workflows.

Applikationsstatus

Der Cluster-Manager läuft zusätzlich auf jeder INUBIT-Instanz und prüft selbstständig in regelmäßigen Abständen, ob die Instanz noch verfügbar ist. Sollte der INUBIT nicht mehr erreichbar sein, wird die Instanz im Cluster abgemeldet. Eine Abmeldung im Load-Balancer ist keine Aufgabe des Cluster-Managers.

Folgende INUBIT REST-API Endpunkte bieten sich zur Prüfung des Status an:

Konfiguration

Aktivierung des Cluster-Managers

Über die Datei <inubit-installdir>/inubit/server/ibis_root/conf/ibis.xml kann der Cluster-Manager aktiviert werden:

<Properties>
    ...
    <!-- Cluster Manager configuration -->
    <Property name="ActivateClusterManager" type="Boolean">false</Property>
</Properties>
  1. Process Engine stoppen

  2. Property ActivateClusterManager auf true setzen

  3. Process Engine starten

Konfiguration des Cluster-Managers

Die eigentlichen Konfigurationsdetails für den Cluster-Manager werden über die Datei <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/clusterManagerConfig.xml gesteuert. Hier werden alle für Netzwerkkommunikation notwendigen Einstellungen gemacht.

Alle möglichen Konfigurationsoptionen sind in der Datei dokumentiert.

Migration einer bestehenden Konfiguration des nicht-integrierten Cluster-Managers

Wenn Sie bereits den Virtimo Cluster-Manager in der nicht-integrierten Variante nutzen, können Sie ihre bisherige Konfigurationsdatei weiterverwenden. Gehen Sie wie folgt vor:

  1. Process Engine stoppen

  2. Legen Sie die bisherige Konfiguration unter <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/inubitClusterManager.conf ab

  3. Entfernen Sie die Datei <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/clusterManagerConfig.xml

  4. Starten Sie die Process Engine

Ihre bisherige Konfiguration wird eingelesen und als <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/clusterManagerConfig.xml ins Dateisystem zurückgeschrieben. Von nun an nutzen Sie nur noch die Datei clusterManagerConfig.xml. Ihre bisherige Konfigurationsdatei können Sie aus dem Dateisystem entfernen.

Festlegung des Master-Knotens

Über die Einstellung priority wird festgelegt, welcher Knoten als Master im Cluster aktiv sein soll. Legen Sie für genau einer Instanz in der Konfiguration den höchsten Integerwert fest. Sobald diese Instanz dem Cluster beitritt, wird sie als Master gesetzt.

Sollte der Master ausfallen, wird anhand der Priorität der übrigen Instanzen ein neuer Master gewählt. Dies ist die Instanz mit der dann aktuell höchsten Priorität.

Konfigurieren Sie für jede INUIBT-Instanz im Cluster eine andere Priorität. Damit lässt sich die Wahl des Master-Knotens am sichersten steuern.

Prüfung auf den Master-Knoten

Auf der Instanz, die als Master aktiv ist, wird eine Datei im Dateisystem abgelegt. Der Pfad zur Ablage kann über die Konfiguration angepasst werden. Ein zusätzlicher Workflow prüft das Vorhandensein dieser Datei. Darüber kann zur Laufzeit ermittelt werden, ob die jeweilige INUBIT-Instanz der Master-Knoten ist oder nicht.

Den Workflow finden Sie unter: <inubit-installdir>/inubit/server/ibis_root/conf/clustermanager/inubit-cluster-manager-workflow.zip.

Benutzerdefiniertes Logging aktivieren

Um die Logausgaben des Cluster-Managers in eine separate Datei umzuleiten, gehen Sie wie folgt vor:

  1. Melden Sie sich mit einer Workbench an

  2. Gehen Sie zur Registerkarte Administrator und wählen Sie Allgemeine Einstellungen

  3. Navigieren Sie in der Baumstruktur zu Logging > Trace

  4. Wählen Sie im rechten Seitenbereich Individuelles Server-Trace aus und klicken Sie auf die Schaltfläche "…​".

  5. Der Logger-Dialog wird geöffnet

  6. Klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen und wählen Sie Hinzufügen

  7. Geben Sie den Namen de.virtimo.inubit.clustermanager ein, wählen Sie "Rotierende Datei-Ausgabe" und klicken Sie auf OK

  8. Wenn Sie den Namen der Protokolldatei aktualisieren möchten, wählen Sie den neu hinzugefügten Eintrag in der Tabelle aus und klicken Sie auf die Schaltfläche "…​".

  9. Wählen Sie "Ausgabedatei" und passen Sie den Wert auf etwa $ibis.root.directory$/log/clustermanager.log an

  10. Schließen Sie den Dialog "Rotierende Dateiausgabe" mit OK

  11. Schließen Sie den Dialog "Logger" mit OK

  12. Speichern Sie die allgemeinen Einstellungen, indem Sie auf das Speichern-Symbol in der globalen Symbolleiste klicken