-
Die
Erfindung bezieht sich auf Techniken zur Erzielung einer Ausfallsicherheit
eines Mehrrechnersystems.
-
Solche
Systeme werden häufig
verwendet, um eine große
Anzahl von Benutzern zu bedienen und sehr große Datenmengen zu speichern.
Beispielsweise besteht ein typisches Rechnersystem dieser Art aus
acht Server-Rechnern, die bis zu 50 000 Benutzer bedienen, und die
eine oder mehrere 300 GigaByte Datenbanken speichern können.
-
Es
wäre erwünscht, die
Möglichkeit
zu haben, ein solches System auf der Basis von Standard-Server-Software,
z.B. Microsoft Exchange, das unter Microsoft Window NT läuft, zu
erzielen. Ein hierbei auftretendes Problem ist jedoch, Elastizität gegenüber Fehlern
eines der Rechner zu erzielen. Die Anwendung einer Cluster-Technologie
für ein System
dieses Ausmaßes
wäre zu
aufwendig. Auch ist Microsoft Exchange nicht eine clusterfähige Anwendung
und es ist nicht zulässig,
zwei Fälle
von Exchange auf dem gleichen Server zu haben (selbst ein Zweifachknoten-Cluster).
-
DE 31 36 287 A beschreibt
ein Mehrprozessor-System mit einer Anzahl von funktionalen Einheiten
ZIE, ZTE, ... und einer Reserveeinheit ZRE. Jede der funktionalen
Einheiten ZIE, ZTE, ... besitzt eine Anzahl von Datendisketten DP,
die der funktionalen Einheit zugeordnet sind. Jede dieser Disketten
hat einen Doppel-Zugriff,
so dass sie entweder von der zugeordneten funktionalen Einheit (über einen
Bus RB) oder von der Reserveeinheit ZRE (über einen Bus BI) zugreifbar
ist. Wenn somit eine (oder mehrere) der funktionalen Einheiten fehlerhaft
wird, kann die Reserveeinheit die Daten zugreifen und kann damit
die Arbeit der fehlerhaften Einheiten) übernehmen.
-
Nach
einem Aspekt der Erfindung wird deshalb ein Verfahren zum Betreiben
eines Rechnersystems nach Patentanspruch 1 vorgeschlagen. Nach einem
weiteren Aspekt der Erfindung wird ein Rechnersystem mit den Merkmalen
des Anspruches 4 vorgeschlagen.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein Blockschaltbild eines Mehrfachknoten-Computersystems gemäß der Erfindung.
-
2 ist
ein Flussschaltbild, das einen Rückgewinnungs-Prozess
zur Handhabung eines Fehlers eines der Knotensysteme zeigt.
-
3 ist
ein Blockschaltbild, das ein Beispiel für das System nach der Rekonfiguration
durch den Rückgewinnungs-Prozess
zeigt.
-
Beschreibung
eines Ausführungsbeispiels
der Erfindung
-
Nachstehend
wird ein Computersystem nach der Erfindung anhand eines Ausführungsbeispiels
in Verbindung mit den Zeichnungen beschrieben.
-
In
vorliegender Beschreibung werden die folgenden Ausdrücke in spezieller
Bedeutung benutzt:
- • Knoten: Dies bedeutet eine
individuelle Computer-Hardware-Konfiguration. Bei dem hier zugrunde
liegenden Ausführungsbeispiel
nach der Erfindung besitzt jeder Knoten einen ICL Xtraserver-Rechner.
Jeder Knoten hat eine eindeutige Identitätsnummer.
- • Server:
Dies bedeutet eine spezielle Server-Software-Installation. Bei der
vorliegenden Ausführungsform
der Erfindung weist jeder Server eine spezielle Microsoft NT-Installation
auf. Jeder Server hat einen eindeutig festgelegten Servernamen und
ist in der Lage, auf jeden der Knoten als Host-Betreiber zu arbeiten.
Ein Server kann erforderlichenfalls abgeschaltet und an einem anderen Knoten
wieder eingeschaltet werden.
- • System:
Dies bedeutet eine Anzahl von Servern, die auf eine gemeinsame Speichereinheit
zugreifen.
-
In 1 ist
ein System gezeigt, das N + 1 Knoten 10 umfasst. Im normalen
Betrieb sind N dieser Knoten aktiv, während der verbleibende in Bereitschaft
steht. Bei diesem Beispiel ist N gleich vier (d.h. dass insgesamt
fünf Knoten
vorhanden sind). Jeder der Knoten 10 arbeitet im Host-Betrieb
mit einem Server 11.
-
Das
System weist ferner eine System-Administrations-Workstation 12 auf,
die es einem (menschlichen) Operator oder einem System-Administrator
erlaubt, das System zu überwachen
und zu steuern. Jeder Server zeigt seinen Namen und den jeweiligen
Operations-Zustand an der Workstation 12 an. Ein oder mehrere
anderer Systeme (nicht dargestellt) können ebenfalls von der gleichen
Workstation aus gesteuert und überwacht
werden.
-
Alle
Knoten 10 sind mit einer zeitanteiligen Diskettenanordnung 13 verbunden.
In vorliegendem Beispiel ist die Disketten-Anordnung 13 eine EMC-Symmetrix-Diskettenanordnung.
Diese besteht aus einer großen
Anzahl von Magnet-Disketteneinheiten,
die alle aus Gründen
der Elastizität
spiegelbildlich (duplexiert) ausgebildet sind. Zusätzlich weist die
Diskettenanordnung eine Anzahl weiterer Disketten auf, die ein Business-Continuance-Volume
(BCV) darstellen. Ein BCV ist effektiv ein dritter Plex, der mit den
primären
Plexen unter Steuerung einer EMC-Timefinder-Software,
die auf der Arbeitsstation 12 läuft, verbunden oder getrennt
werden kann. Die BCV-Daten können
mit den primären
Plexen so synchronisiert sein, dass sie eine Reserve bilden, oder können von
den primären
Plexen getrennt werden, so dass ein Schnappschuss der Hauptdaten
zu einem gegebenen Zeitpunkt erzielt werden kann. Wenn das BCV auf
diese Weise geteilt worden ist, kann es zu jedem beliebigen Zeitpunkt
wieder verbunden werden und die Daten können dann von den primären Plexen
auf das BCV oder umgekehrt kopiert werden, damit sie neu synchronisiert
werden.
-
Das
System weist ferner einen Archiv-Server 14 auf, der mit
der Diskettenanordnung 13 und mit einer Anzahl von Roboter-Magnetbandantrieben 15 verbunden
ist. Im Betrieb führt
der Archiv-Server periodisch ein Offline-Archiv der Daten in jeder
Datenbank durch, indem die Kopie der Datenbank, die in dem BCV gehalten
wird, auf ein Band archiviert wird. Wenn das Archiv sicher ist,
wird das BCV in den synchronen Betrieb mit der Haupt-Datenbank zurückgeführt, bevor
es erneut unterbrochen wird, um die Wiedergewinnung von BCV unter
Verwendung der EMC-Timefinder-Software zu erreichen.
-
Wie
in 1 dargestellt, weist die Diskettenanordnung 13 eine
Anzahl von Systemdisketten 16 auf, und zwar eine für jeden
der Server 11. Jede Systemdiskette speichert die NT-Betriebssystem-Dateien
und Konfigurations-Dateien für
den zugeordneten Server. Mit anderen Worten heißt dies, dass die Systemdiskette
alle Informationen speichert, die die „Personalität" der Server-Installation
festlegt. Jede der Systemdisketten umfasst eine BCV-Diskette 17, die
ihr zugeordnet ist und die eine Reservekopie der zugeordneten Systemdiskette
speichert. Normalerweise ist jede BCV-Diskette 17 von der entsprechenden
Systemdiskette getrennt; sie ist nur verbunden, wenn die Systemdiskette
sich ändert,
damit die beiden Kopien synchronisiert werden.
-
Im
Falle eines Fehlers einer der N aktiven Knoten 10 wird
ein Rückgewinnungs-Prozess auf der System-Administrations-Workstation 12 eingeleitet. Bei
diesem Beispiel umfasst der Rückgewinnungs-Prozess
ein Skript, das in der Skriptsprache geschrieben ist, die der Timefinder-Software
zugeordnet ist. Der Prozess führt
den System-Administrator durch einen Rückgewinnungs-Prozess, der das System
umformt, damit der Bereitschafts-Knoten die Systemdiskette BCV des
fehlerhaften Knotens aufnehmen kann, wodurch der Server an dem fehlerhaften
Knoten auf den Bereitschaftsknoten verschoben werden kann, und umgekehrt.
-
Der
Rückgewinnungs-Prozess
macht Gebrauch von einem vorbestimmten Satz von Geräte-Dateien,
und zwar eine für
jede mögliche
Kombination von Knoten und Server. Da in diesem Fall fünf Server
und fünf
Knoten (einschließlich
des Bereitschafts-Knotens)
vorhanden sind, gibt es 25 mögliche
Kombinationen, und damit sind 25 solcher Geräte-Dateien vorgesehen. Jeder
diese Dateien ist durch einen Namen identifiziert, der die Form
hat n(N)_is_(S), wobei N eine Knoten-Identitätszahl und S die letzten drei
Ziffern des Servernamens bezeichnen (zur Bezeichnung der Dateien
können
natürlich auch
andere Vereinbarungen verwendet werden). Jede Geräte-Datei
enthält
alle Informationen, die erforderlich sind, um den speziellen Server
an dem spezifizierten Knoten zu installieren.
-
Wie
in 2 gezeigt, umfasst der Rückgewinnungs-Prozess die folgenden
Schritte:
(Schritt 201) Der Rückgewinnungs-Prozess bestätigt zuerst
die Identität
des fehlerhaften Systems bei dem Administrator. Dieser Schritt ist
nur erforderlich, wenn mehr als ein System aus der gleichen System-Administrations-Workstation
gemanagt wird.
(Schritt 202) Der Rückgewinnungs-Prozess fragt dann
den Administrator ab, um die Identitätszahlen des ersten Knotens
und des Bereitschaftsknotens zu erhalten. Der Administrator kann
diese Knotenzahlen unter Verwendung einer Information, die auf der
System-Administrations-Workstation 12 dargestellt ist, bestimmen.
(Schritt 203)
Der Rückgewinnungs-Prozess
fragt dann als nächstes
den System-Administrator
ab, um den Namen des fehlerhaften Servers zu erhalten (d.h. des
Servers, der gerade auf dem fehlerhaften Knoten läuft). Der
Rückgewinnungs-Prozess
legt auch automatisch den Namen des Bereitschafts-Servers fest;
dies ist ein vorbestimmter Wert für jedes System.
(Schritt 204)
Der Rückgewinnungs-Prozess
bestimmt ferner automatisch die Geräte-Identifizierer für die BCVs, die dem fehlerhaften
Server und dem Bereitschafts-Server zugeordnet sind, wobei eine
Nachschlagetabelle benutzt wird, die jeden Servernamen einem bestimmten
Geräte-Identifizierer
zuordnet.
(Schritt 205) Der Rückgewinnungs-Prozess ruft dann den
BCV QUERY Befehl in der Timefinder-Software, um die laufenden Zustände dieser
beiden BCVs zu bestimmen. Diese sollen den getrennten Zustand einnehmen.
Wenn
einer oder beide BCVs nicht in dem getrennten Zustand sind, bricht
der Rückgewinnungs-Prozess ab
und verursacht, dass der System-Administrator den entsprechenden
technischen Unterstützungs-Service
ruft.
(Schritt 206) Wenn beide BCVs in getrenntem
Zustand sind, wird der Rückgewinnungs-Prozess
fortgesetzt, indem der Administrator veranlasst wird, sicher zu
stellen, dass der fehlerhafte Server und der Bereitschafts-Server
abgeschaltet werden. Der Rückgewinnungs-Prozess
wartet auf eine Bestätigung,
dass dies geschehen ist.
(Schritt 207) Wenn sowohl
der fehlerhafte Server als auch der Bereitschafts-Server abgeschaltet
sind, konstruiert der Rückgewinnungs-Prozess
zwei Geräte-Dateinamen
wie folgt:
- • Der
erste Dateiname ist n (W)_is_(X), wobei W die Knotenzahl des Bereitschaftsknotens
und X die letzten drei Ziffern des fehlerhaften Servernamens sind.
- • Der
zweite Dateiname ist n (Y)_is_(Z), wobei Y die Knotenzahl der fehlerhaften
Knotens und Z die letzten drei Ziffern des Bereitschafts-Servernamens
sind.
(Schritt 208) Der Rückgewinnungs-Prozess ruft dann
den Timefinder BCV RESTORE-Befehl
auf und gibt ihm den ersten Geräte-Dateinamen
als Parameter. Dies bewirkt, dass der BCV des fehlerhaften Knotens
mit dem Systemspeicher des Bereitschafts-Servers verkettet wird und dass das
Kopieren der Daten von diesem BCV zum Systemspeicher eingeleitet wird.
Dies führt
dazu, dass der Server, der auf dem fehlerhaften Knoten gelaufen
ist, auf den Bereitschaftsknoten eingestellt wird.
-
Der
Wiedergewinnungsprozess ruft ferner den BCV RESTORE-Befehl auf,
und gibt ihm den zweiten Geräte-Dateinamen
als Parameter. Dies bewirkt, dass der BCV des Bereitschaftsknotens
mit dem Systemspeicher des fehlerhaften Servers verkettet wird und
dass ein Kopieren der Daten aus diesem BCV in den Systemspeicher
eingeleitet wird. Der sich dadurch ergebende Effekt ist, dass der
Server, der auf dem Bereitschaftsknoten läuft, auf den fehlerhaften Knoten
eingestellt wird.
-
Beispielsweise
zeigt 3 den Fall, bei dem der Knoten 1 fehlerhaft geworden
ist, und der Knoten 4 der Bereitschaftsknoten ist. Wie gezeigt,
ist der BCV-Speicher des Bereitschaftsknotens mit dem Systemspeicher
des fehlerhaften Knotens verkettet und der BCV des fehlerhaften
Knotens ist mit dem Systemspeicher des Bereitschaftsknotens verkettet.
-
Während die
Wiederherstell-Befehle laufen, prüft der Rückgewinnungsprozess das Fehleransprechen,
und berichtet jedes solche Ansprechen an den Administrator. Er schreibt
auch alle Aktionen in eine Log-Datei unmittelbar vor dieser Aktion
ein.
-
(Schritt 209)
Nach der Ausgabe der Wiederherstell-Befehle veranlasst der Rückgewinnungs-Prozess,
dass der Administrator den rückgewonnenen
Server neu startet (d.h. den Server, der von dem fehlerhaften Knoten
zum Bereitschaftsknoten gewandert ist), wobei der neue Knotenname,
auf dem er läuft,
festgestellt wird. Der Bereitschaftsknoten wird nunmehr ein aktiver
Knoten.
-
Es
wird darauf hingewiesen, dass die Wiederherstell-Befehle im Hintergrund
ablaufen und typischerweise etwa eine Stunde bis zur Vervollständigung
benötigen.
Der rückgewonnene
Server kann jedoch sofort neu gestartet werden und seine Daten können zugegriffen
werden, ohne dass es erforderlich ist, darauf zu warten, dass die
Wiederherstell-Befehle abgeschlossen sind.
-
(Schritt 210)
Der Rückgewinnungs-Prozess überwacht
die Beendigung der BCV-Wiederherstell-Operationen
unter Verwendung des Timefinder-BCV Query-Befehls.
-
(Schritt 211)
Wenn die Wiederherstell-Operationen abgeschlossen sind, gibt der
Rückgewinnungs-Prozess
einen Timefinder-BCV Split-Befehl, der die BCVs von den Systemspeichern
trennt. Die Rückgewinnung
ist nunmehr abgeschlossen und der Rückgewinnungs-Prozess ist beendet.
-
Wenn
der fehlerhafte Knoten einmal festgelegt worden ist, kann er in
der erforderlichen Weise neu geladen werden und wird dann der Bereitschafts-Server.
Der Rückgewinnungs-Prozess
kann dann wiederholt werden, wenn einer der aktiven Knoten fehlerhaft
wird.
-
Einige mögliche Modifikationen
-
Es
können
viele Modifikationen an dem vorbeschriebenen System durchgeführt werden,
ohne dass von Wesen der Erfindung abgewichen wird. Beispielsweise
kann eine unterschiedlich große
Anzahl von Disketten und Computern verwendet werden. Auch kann die
Erfindung bei anderen Betriebssystemen implementiert werden, und
es können
andere Hardware-Konfigurationen verwendet werden. Darüber hinaus
können
anstelle der Implementierung des Rückgewinnungs-Prozesses mit
Hilfe eines Skripts z.B. Integrierungen in das Betriebssystem erfolgen.
-
Zusammenfassung
-
Es
wird ein Mehrknoten-Rechnersystem beschrieben, das eine Anzahl von
aktiven Knoten und einen Bereitschafts-Knoten umfasst. Jeder Knoten nimmt
eine Server-Installation
auf. Jeder Server besitzt eine System-Diskette und eine Rückgewinnungs-Diskette, die eine
synchronisierte Rückgewinnungs-Kopie
von Daten, die auf der Systemdiskette gespeichert sind, enthält. Im Falle
eines fehlerhaften Betriebes eines Knotens wird ein Rückgewinnungs-Prozess
in Lauf gesetzt, um das System neu zu konfigurieren, wobei die Rückgewinnungs-Diskette
entsprechend dem fehlerhaften Rechner mit der System-Diskette des
Bereitschafts-Rechners verbunden wird, und der Inhalt der Rückgewinnungs-Diskette
auf die System-Diskette kopiert wird. Dies bewirkt, dass der Server
in dem fehlerhaften Knoten an den Bereitschafts-Knoten wandert,
der dadurch zu einem aktiven Knoten wird.