Beim XCS-Verbund handelt es sich um einen Zusammenschluss von maximal 16 Rechnern zu einem Leistungs- (auch als Lastverbund bezeichnet) und Verfügbarkeitsverbund.
Ein Rechner kann nur an einem einzigen XCS-Verbund teilnehmen, zusätzlich kann er aber an verschiedenen LCS-, CCS- und Shared-Pubset-Verbunden teilnehmen.
Die grundlegende Eigenschaft des XCS-Verbunds ist die globale Konsistenz der XCS-Konfiguration, d.h. alle verteilten Systemfunktionen auf allen Rechnern kennen dieselben Rechner als Teilnehmer eines XCS-Verbunds. Dazu muss jeder dem XCS-Verbund angehörende Rechner mit jedem anderen Rechner desselben XCS-Verbunds über eine Verbindung vom Typ CCS verbunden sein, sodass alle XCS-Teilnehmer beliebig miteinander kommunizieren können.
Zusätzlich wird im XCS-Verbund mindestens ein XCS-Pubset vorausgesetzt. Dabei handelt es sich um einen ausgewählten Shared-Pubset, der vom System automatisch an allen Teilnehmern des XCS-Verbunds - und nur an diesen - importiert wird (der Pubset darf nicht explizit importiert werden). XCS-Pubsets stehen also ausschließlich den Rechnern desselben XCS-Verbunds zur Verfügung und können als globale Datenbehälter dieses Verbunds dienen. Hinsichtlich der XCS-Pubsets ist ein XCS-Verbund immer auch ein Shared-Pubset-Verbund.
Ein XCS-Pubset kann ein SM- oder ein SF-Pubset sein.
Verbindung, Partnertyp
Zwischen zwei beliebigen Rechnern eines XCS-Verbunds muss eine Verbindung vom Typ CCS bestehen. Zu anderen (nicht diesem XCS-Verbund angehörenden) Rechnern können daneben LCS- oder CCS-Verbindungen bestehen.
Ein Partner-Rechner wird innerhalb eines XCS-Verbunds als XCS-Partner bezeichnet. Außerhalb des XCS-Verbunds (auch zu Mitgliedern anderer XCS-Verbunde) gilt der Partnertyp, der sich aus dem jeweiligen Verbindungstyp ergibt.
Anwendungen (Funktionen)
Zusätzlich zu allen im Shared-Pubset-Verbund zur Verfügung stehenden Funktionen werden in einem XCS-Verbund folgende Funktionen unterstützt:
DLM
Rechnerübergreifendes Lockmanagement zur Koordination der Zugriffe von Anwendungen auf globale Objekte.Shared File System
Rechnerübergreifender Dateizugriff auch im Shared-Update-Modus sowohl für XCS- als auch für Shared-Pubsets, Zugriffsmethode UPAM, FASTPAM oder DIV vorausgesetzt.Shared PLAM
Parallele Zugriffe von verschiedenen Rechnern auf Bibliotheken, die auf Shared-Pubsets liegen.XTS (XCS Time Synchronisation)
Synchronisierte XCS-Zeit und Angleichung der lokalen Rechneruhren an eine gemeinsame Zeit.
Die Funktionen „rechnerübergreifendes Lockmanagement“ und „Shared File System“ ermöglichen im XCS-Verbund die Unterstützung bzw. Realisierung verteilter Datenbanksysteme.
Konfigurationsverwaltung (XCM)
Die Konfiguration eines XCS-Verbunds, d.h. die Menge der dem XCS-Verbund angehörenden Rechner, kann sich während einer XCS-Session dynamisch ändern, da Rechner in beliebiger Reihenfolge in den Verbund eintreten, aus dem Verbund austreten oder infolge eines Fehlers ihre XCS-Teilnahme abbrechen können. Bei allen Konfigurationsänderungen muss jedoch die globale Konsistenz gewährleistet sein. Dies ist die Aufgabe der Konfigurationsverwaltung (XCS-Configuration-Manager XCM), einem Bestandteil von HIPLEX MSCF. XCM überwacht die XCS-Teilnehmer und veranlasst bei allen Konfigurationsänderungen die Rekonfiguration der auf den Teilnehmern existierenden verteilten Systemfunktionen. Der Ausfall einer Verbindung bzw. des Plattenprotokolls und damit der potenzielle Ausfall eines Partners wird von den beiden Mechanismen Verbindungs- und Plattenüberwachung (voneinander unabhängig) an den XCM gemeldet.
XCM stellt dann (ggf. nach Klärung der Situation durch die Systembetreuung) den tatsächlichen Ausfall des Partners fest und leitet die Rekonfiguration des XCS-Verbunds ein. Jede Änderung der Konfiguration wird allen verteilten Systemfunktionen bekannt gemacht und von ihnen nachvollzogen. Hierzu sind gegenüber dem XCM Rekonfigurationseinheiten definiert, die als „registrierte Funktionen“ bezeichnet werden.
Aus Sicht des XCM ist eine registrierte Funktion eine zusammenhängende Einheit, die auf allen am Verbund teilnehmenden Rechnern etabliert ist und deren rechnerübergreifende Kooperation durch XCM unterstützt wird. Wird auf einem Rechner HIPLEX MSCF gestartet, so initialisiert und startet XCM die registrierten Funktionen; mit dem Beenden von HIPLEX MSCF beendet XCM die registrierten Funktionen. Fällt ein Teilnehmer des XCS-Verbunds aus, so werden auf den im Verbund verbleibenden Rechnern die registrierten Funktionen aufgerufen, um den Verbund wiederherzustellen.
Folgende Funktionen sind dem XCM als Rekonfigurationseinheiten zur Sicherung der globalen Konsistenz bekannt:
NSM - Node Synchronization Manager
Der NSM ist der globale Teil des Distributed Lock Managements. Beim Eintritt in den XCS-Verbund wird der Rechner in die globale Lock-Vergabe einbezogen und beim Austritt herausgenommen. Beim Ausfall eines Rechners werden die von ihm gehaltenen Locks den anderen Teilnehmern im XCS-Verbund wieder zur Verfügung gestellt. Dem NSM „gehören“ die Long Connections der BCAM-Applikationen $MCSNLX und $MCSNSM.XTS - XCS Time Synchronization
Bildet die synchronisierte XCS-Zeit und sorgt für den Angleich der lokalen Uhren an eine gemeinsame Zeit.XPM - XCS Pubset Manager
Verwaltet die Verfügbarkeit der XCS-Pubsets. Beim Start des XCS-Verbunds werden alle XCS-Pubsets importiert, beim Beenden exportiert. Fällt ein dem XCS-Verbund angehörender Rechner aus, so wird er aus allen XCS-Pubset-Verbunden entfernt. Während der XCS-Session lässt sich über XPM die Anzahl der XCS-Pubsets verändern (Kommando SET-XCS-PUBSET).
Beim Eintritt, Austritt oder Ausfall eines XCS-Teilnehmers sorgt XPM für die notwendige automatische Import-, Export- oder Recovery-Verarbeitung.CPM - Shared Pubset Manager
Verwaltet alle importierten Shared-Pubsets, die nicht als XCS-Pubsets definiert sind. Beim Ausfall eines Rechners führt CPM eine Recovery der betroffenen Shared-Pubset-Verbunde durch.DAB - Disk Access Buffer
SHC - Symmetrix Host Component
Stellt die Funktionalität von externen Plattenspeichersystemen in BS2000 zur Verfügung. Als registrierte Funktion wird sie über Konfigurationsänderungen und Konfigurationsstörungen informiert.
XCS-Konfiguration
Die Gesamtheit der an einem XCS-Verbund teilnehmenden Rechner wird als XCS-Konfiguration bezeichnet und durch eine Konfigurationsnummer (XCS CONFIGURATION) identifiziert. Bei seiner Erzeugung erhält der XCS-Verbund die Konfigurationsnummer 1. Bei jeder Änderung der Konfiguration, also Eintritt, Austritt oder Ausfall eines XCS-Teilnehmers, wird die Konfigurationsnummer um eins erhöht. Sie wird als Rekonfigurationsnummer auch zur Bezeichnung der Konfigurationsänderung verwendet, die in der gleichnamigen XCS-Konfiguration resultiert.
Die Rekonfigurationsnummer der Join-Rekonfiguration eines Rechners wird als JOINING ORDER bezeichnet. Sie wird zur Kennzeichnung der Reihenfolge des Eintritts der Rechner in den Verbund verwendet.
Die XCS-Konfiguration wird vom XCM auf jedem Rechner konsistent verwaltet, d.h. alle registrierten Funktionen des Rechners kennen die gleiche XCS-Konfiguration zur selben Konfigurationsnummer. Der XCS-Verbund ist konsistent, wenn die Konfigurationsnummern auf allen Rechnern des XCS-Verbunds übereinstimmen, also dieselbe XCS-Konfiguration beschreiben. Global (d.h. verbundweit) konsistent ist der XCS-Verbund, wenn zur selben Zeit alle Rechner die gleiche Konfiguration eingenommen haben, keine Störung durch einen Verbindungsausfall oder durch Abbruch der XCS-Teilnahme eines Teilnehmers vorliegt und kein Verbundeintritt oder -austritt bearbeitet wird.
Rekonfigurationen erfolgen im XCS-Verbund nach dem Prinzip:
Erkennen einer Änderung der XCS-Konfiguration auf den einzelnen Rechnern
Koordinieren der teilnehmenden Rechner
Aktualisieren der Konfiguration auf allen Rechnern
Fortsetzen des XCS-Betriebs.
Rekonfigurationen müssen von allen registrierten Funktionen auf allen am XCS-Verbund teilnehmenden Rechnern gemeinsam ausgeführt werden. Dies geschieht dadurch, dass der auf dem jeweiligen Rechner eingesetzte XCM den registrierten Funktionen den Auftrag erteilt, die bisher gültige Konfiguration durch die neue zu ersetzen. Koordiniert mit ihren Partnerinstanzen führt daraufhin jede registrierte Funktion die Rekonfiguration ihrer XCS-Funktionalität durch und informiert anschließend XCM von der erfolgreich durchgeführten Rekonfiguration. Der Übergang auf die neue Konfiguration erfolgt auf den einzelnen Rechnern und in den einzelnen Funktionen nahezu gleichzeitig. Die XCS-Rekonfiguration ist abgeschlossen, sobald alle XCS-Funktionen auf allen teilnehmenden Rechnern des XCS-Verbunds die Rekonfiguration ausgeführt haben.
Folgende drei Rekonfigurationsarten sind zu unterscheiden:
Join-Rekonfiguration
Diese Rekonfiguration wird durchgeführt, wenn ein Rechner in den XCS-Verbund eintrittLeave-Rekonfiguration
Diese Rekonfiguration wird durchgeführt, wenn ein Rechner aus dem XCS-Verbund austrittFail-Rekonfiguration
Diese Rekonfiguration wird durchgeführt, wenn ein Rechner, dessen Teilnahme am XCS-Verbund abgebrochen wurde, aus dem XCS-Verbund entfernt wird.
XCM initiiert eine XCS-Rekonfiguration nur, wenn zwischen allen am XCS-Verbund teilnehmenden Rechnern CCS-Verbindungen aufgebaut sind. Join- und Leave-Rekonfigurationen werden einzeln und nacheinander ausgeführt, d.h. erst nach Abschluss einer XCS-Rekonfiguration wird die nächste Join- oder Leave-Rekonfiguration durchgeführt. Eine Fail-Rekonfiguration bricht eine Join- oder Leave-Rekonfiguration ab. Der Ausfall mehrerer Rechner wird zu einem Fail-Rekonfigurations-Block zusammengefasst.
Ist der XCS-Betrieb durch einen Rechner gestört (z. B. Ausfall einer registrierten Funktion), so wird die Störung dadurch behoben, dass die Teilnahme des entsprechenden Rechners am XCS-Verbund abgebrochen wird und die im XCS-Verbund verbleibenden Teilnehmer eine Fail-Rekonfiguration durchführen. Unvollständige Join- und Leave-Rekonfigurationen werden abgebrochen und durch eine Fail-Rekonfiguration für den betroffenen Rechner ersetzt.
Fällt die Verbindung zwischen zwei Rechnern aus, so bricht bei automatischem Betrieb der Rechner mit der niedrigeren Priorität (höherer Zahlenwert von HOST-PRIORITY, bei Gleichheit höherer Wert von JOINING ORDER) seine Teilnahme am XCS-Verbund ab und wird in der Folge aus dem Verbund herauskonfiguriert. Auf den im Verbund verbleibenden Teilnehmern wird eine Fail-Rekonfiguration eingeleitet.
Die Fail-Rekonfiguration jedes einzelnen Rechners wird erst abgeschlossen, wenn die Zielkonfiguration (mit den im XCS-Verbund verbleibenden Rechnern) vollständig erzeugt ist.