-
Hintergrund der Erfindung
-
Technisches Gebiet
-
Diese Erfindung bezieht sich auf ein verteiltes Mehrprozessor-Computersystem, das Daten mit einer Vielzahl von Speichereinheiten austauscht. Genauer gesagt, die Erfindung bezieht sich auf die Behandlung eines Ausfalls eines oder mehrerer Knoten während eines dynamischen Austauschs von Replikat-Datenträgern (dynamic replica volume swap, DRVS).
-
Beschreibung der verwandten Technik
-
In der Informatik ist ein Verbund (cluster) eine Gruppe von Computern, die auch als Knoten bezeichnet werden, die zusammenarbeiten und so ein einziges Computersystem bilden. Es sind unterschiedliche Kategorien von Verbünden bekannt, unter anderem ein Hochverfügbarkeitsverbund (high availability cluster) und ein Netzverbund (grid cluster), sie sind jedoch nicht auf diese beschränkt. Der Hochverfügbarkeitsverbund wird eingesetzt, um die Verfügbarkeit von Diensten des Verbunds zu verbessern, in denen jedes Mitglied des Verbunds Daten mit einer Vielzahl von Speichereinheiten austauscht. Bei einem Hochverfügbarkeitsverbund ist es wünschenswert, Ausfallsicherheit von Anwendungen bei einem Speicherausfall bereitzustellen, wenn Speichereinheiten bisweilen ausfallen können. Ein Ausfall einer Speichereinheit kann zu einer Unterbrechung des Systems führen, wenn wichtige Daten in der ausgefallenen oder ausfallenden Speichereinheit gehalten werden, da, selbst wenn in einem weiteren Speichersystem mithilfe von synchroner Speicherreplikation ein aktuelles Replikat der Daten gehalten wird, Anwendungen beendet und neu gestartet werden müssen, bevor sie die Replikatdaten verwenden können, und ein solcher Ausfall von Anwendungen in manchen Unternehmensumgebungen möglicherweise untragbar ist.
-
Ein dynamischer Austausch von Replikat-Datenträgern wie zum Beispiel der HyperSwap®-Vorgang von IBM® stellt eine Lösung für kontinuierliche Verfügbarkeit dar, wobei ein Satz von Knoten, der auf ein synchron repliziertes Speichersystem zugreift, das eine Gruppe von Speicher-Datenträgern beinhaltet, von einem primären Speichersystem zu einem sekundären (Replikat-) Speichersystem wechselt und dies ohne einen Ausfall von Anwendungen in einem der Knoten im Verbund durchführen muss (IBM und HyperSwap sind eingetragene Marken von International Business Machines Corporation in den USA, anderen Ländern oder beiden). Der dynamische Austausch von Replikat-Datenträgern kann aufgrund eines Ausfalls des Speichersystems, was als ungeplanter dynamischer Austausch von Replikat-Datenträgern bezeichnet wird, oder durch einen Administrator gesteuert geschehen, was als geplanter dynamischer Austausch von Replikat-Datenträgern bezeichnet wird. Des Weiteren kann der dynamische Austausch von Replikat-Datenträgern sowohl Start-Datenträger (boot volumes) als auch nichtstartfähige Datenträger (nonboot volumes) im Speichersystem einbeziehen.
-
1 ist ein Ablaufplan (100), der ein Beispiel für einen dynamischen Austausch von Replikat-Datenträgern nach dem Stand der Technik in einer Verbundumgebung darstellt, der zu einem Systemfehler führen kann. Der beispielhafte Verbund besteht aus zumindest zwei Knoten, die Daten mit einem Speicherteilsystem austauschen, das über ein oder mehrere Speicher-Datenträger auf einem primären Speichersystem und entsprechende Replikat-Datenträger auf einem sekundären System verfügt (102). Jeder Knoten in dem Verbund startet von einem (Start-) Datenträger in dem primären Speichersystem mit einem Replikat in dem sekundären Speichersystem (104). Ein dritter Knoten in dem Verbund befindet sich vorübergehend in einem vom Verbund getrennten Zustand (off-line state) (106). Ein dynamischer Austausch von Replikat-Datenträgern wird aufgerufen (108), wobei die sich in dem primären Speichersystem befindenden Start-Datenträger nicht mehr für den Zugriff zulässig sind und stattdessen die Replikate dieser Datenträger in dem sekundären Speichersystem die bevorzugten Datenträger sind. Dies geschieht, während der dritte Knoten offline ist, weshalb der dritte Knoten keine Kenntnis von dem dynamischen Austausch von Replikat-Datenträgern hat. Zu einem Zeitpunkt nach Abschluss des dynamischen Austauschs von Replikat-Datenträgern wird der dritte Knoten an den Verbund angeschlossen (comes online) und versucht, von dem Start-Datenträger zu starten, der sich lokal in dem primären Speichersystem befindet (110). Selbst wenn auf diesen Start-Datenträger in dem primären Speichersystem nach dem dynamischen Austausch von Replikat-Datenträgern zugegriffen werden kann, ist der Zugriff auf diesen Start-Datenträger nicht zulässig. Genauer gesagt, alle durch einen Administrator durchgeführten Aktualisierungen werden an Startabbildern auf Start-Datenträgern für Knoten in dem Verbund auf dem sekundären Speichersystem durchgeführt. Da (bei Universalcomputersystemen ohne spezialisierte Architekturen) kein zentraler gemeinsam genutzter Speicher in dem Verbund vorhanden ist, um auf den Ort des Start-Datenträgers zu verweisen, startet der dritte Knoten von dem falschen Start-Datenträger in dem primären Speichersystem (110). Dementsprechend ist in der Verbundcomputerumgebung kein Element vorhanden, das die Verlagerung des Start-Datenträgers an einen Knoten übermitteln kann, der während des dynamischen Austauschs von Replikat-Datenträgern entweder offline war oder gerade in den Online-Zustand wechselte.
-
Eine Lösung des in 1 dargestellten Problems besteht darin, eine zentrale gemeinsam genutzte Speichereinrichtung bereitzustellen, die immer den korrekten Start-Datenträger beinhaltet, der beim Neustart von jedem Knoten zu verwenden ist. Ein solcher zentraler Speicher steht jedoch nicht zur Nutzung in einer Verbundumgebung zur Verfügung. Dementsprechend besteht ein Bedarf nach einer Lösung, die den dynamischen Austausch von Replikat-Datenträgern in einer Verbundumgebung unterstützt, die den korrekten Start-Datenträger an jeden Knoten übermittelt, der während eines dynamischen Austauschs von Replikat-Datenträgern offline war oder in den Online-Zustand wechselte, d.h. der wieder in den Verbund zurückkehrte, um sicherzustellen, dass der/die betroffene(n) Knoten von dem korrekten Start-Datenträger startet/starten, wenn er/sie in den Online-Zustand wechselt/wechseln und in den Verbund zurückkehrt/zurückkehren.
-
In diesem Kontext ist unter anderem das Dokument
US 2003 / 0 204 772 A1 bekannt. Dort werden ein System und ein Verfahren zum Austausch von logischen Devices für mindestens ein logisches Subsystem beschrieben, bei dem eine Liste von Datenspeichervorrichtungen bereitgestellt wird.
-
Außerdem wird im Dokument
US 2002 / 0 112 198 A1 eine Wiederherstellung (Recovery) nach einem Fehler in einer gespiegelten Boot-Vorrichtung beschrieben. Dabei werden zwei oder mehrere Boot-Vorrichtungen gespiegelt. Bei einem Ausfall einer der Vorrichtungen wird eine Reihe von Aktivitäten gestartet, um den Wiederherstellungsprozess zu ermöglichen.
-
In Ergänzung zum bereits oben genannten Bedarf besteht eine potentielle Aufgabe des hier vorgestellten Konzeptes darin, ein Verfahren anzugeben, ein Starten eines Kotens zu vereinfachen und zu beschleunigen.
-
ÜBERSICHT ÜBER DIE ERFINDUNG
-
Die Ausführungsform der vorliegenden Erfindung umfasst ein Verfahren, ein System und einen Artikel zur Unterstützung eines dynamischen Austauschs von Replikat-Datenträgern in einer Verbundumgebung, die alle aktuellen und zukünftigen Verbundmitgliedsknoten in allen Startphasen umfasst.
-
Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst. Weitere Ausführungsbeispiele sind durch die jeweils abhängigen Ansprüche beschrieben.
-
Der dynamische Austausch von Replikat-Datenträgern unterstützt das Wechseln des Pfades zu den Datenträgern, die von Betriebssystemeinheiten eines Knotens verwendet werden, von einem primären Speichersystem zu einem oder mehreren Speichersystemen, in denen diese Datenträger synchron und nahtlos repliziert werden, sodass Anwendungen, die auf diesem Knoten ausgeführt werden und Eingaben/Ausgaben in diese bzw. aus diesen Datenträgern durchführen, die Ausfallsicherung (failover) nicht erkennen, sei sie geplant oder ungeplant. Der hier dargestellte dynamische Austausch von Replikat-Datenträgern kann in offenen Systemen dazu verwendet werden, dynamische Austauschvorgänge von Replikat-Datenträgern über einen Verbund hinweg zu unterstützen, wenn Knoten im Offline-Zustand vorhanden sind, ohne dass kundenspezifische Hardware erforderlich ist. Im Rahmen dieser Anmeldung handelt es sich bei einem offenen System um jedes Universalcomputersystem auf der Grundlage einer Architektur, deren Schnittstellen öffentlich zugänglich sind. Die Erfindung begegnet dem Problem, dass der Knoten, der während des dynamischen Austauschs von Replikat-Datenträgern offline war, von dem korrekten Startabbild in dem Speicher-Datenträger starten muss, wenn er neu gestartet wird, um in den Verbund zurückzukehren. Der Benutzer- und Kernbereich jedes Knotens werden jeweils mit einem Werkzeug modifiziert, um die Verwaltung des dynamischen Austauschs von Replikat-Datenträgern zu unterstützen. Zusätzlich wird eine Verwaltungskomponente bereitgestellt, um Daten mit dem Werkzeug in dem Benutzerbereich auszutauschen, um den Zustand der Start-Datenträger in den Speicherteilsystemen nachzuverfolgen. Diese zusätzlichen Werkzeuge unterstützen einen dynamischen Austausch von Replikat-Datenträgern in einem verteilten System, wobei jeder Knoten in dem Verbund während eines dynamischen Austauschs von Replikat-Datenträgern oder nach einem solchen Vorgang sich dem Verbund anschließen oder neu starten kann und von dem korrekten Startabbild aus startet. Dementsprechend wird der dynamische Austausch von Replikat-Datenträgern unterstützt, ohne dass das Startabbild in einem zentralen gemeinsam genutzten Speicher gespeichert wird.
-
Andere Merkmale und Vorteile dieser Erfindung werden aus der folgenden genauen Beschreibung der gegenwärtig bevorzugten Ausführungsform der Erfindung in Verbindung mit den beigefügten Zeichnungen ersichtlich.
-
Figurenliste
-
Die Zeichnungen, auf die hier Bezug genommen wird, bilden einen Teil der Beschreibung. In der Zeichnung dargestellte Merkmale sollen nur einige Ausführungsformen der Erfindung und nicht alle Ausführungsformen der Erfindung veranschaulichen, sofern dies nicht ausdrücklich anders angegeben ist. Gegenteilige Folgerungen sind ansonsten nicht zu ziehen.
- 1 ist ein Ablaufplan nach dem Stand der Technik, der die Mängel des dynamischen Austauschs von Replikat-Datenträgern in einer Verbundumgebung veranschaulicht.
- 2 ist ein Funktionsschaubild von Knoten in einem Computerverbund mit Komponenten, die einen dynamischen Austausch von Replikat-Datenträgern unterstützen.
- 3 ist ein Funktionsschaubild von Verwaltungskomponenten, die sich in einem getrennten Knoten in dem Verbund befinden, die zur Unterstützung der Koordinierung des dynamischen Austauschs von Replikat-Datenträgern über alle Knoten in dem Verbund hinweg eingesetzt werden.
- 4 ist ein Ablaufplan, der den Prozess zur Unterstützung des dynamischen Austauschs von Replikat-Datenträgern für einen Knoten, der während des dynamischen Austauschs von Replikat-Datenträgern oder im Anschluss daran startet, gemäß der bevorzugten Ausführungsform dieser Erfindung veranschaulicht.
- 5 ist ein Funktionsschaubild, das Komponenten in Verbundknoten und den Verwaltungsknoten darstellt, die den dynamischen Austausch von Replikat-Datenträgern unterstützen.
-
Genaue Beschreibung
-
Es ist leicht zu verstehen, dass die Komponenten der vorliegenden Erfindung, wie hier allgemein beschrieben und in den Figuren veranschaulicht, in einer großen Vielfalt unterschiedlicher Anordnungen zusammengestellt und aufgebaut sein können. Daher ist nicht beabsichtigt, dass die folgende genaue Beschreibung der Ausführungsformen der Vorrichtung, des Systems und des Verfahrens der vorliegenden Erfindung, wie sie in den Figuren dargestellt werden, den Umfang der beanspruchten Erfindung beschränkt, sondern sie ist lediglich kennzeichnend für ausgewählte Ausführungsformen der Erfindung.
-
Die in dieser Beschreibung dargestellten Funktionseinheiten sind als Verwaltungseinheiten (managers) und Maschinen (engines) gekennzeichnet worden. Eine Verwaltungseinheit oder Maschine kann in programmierbaren Hardware-Einheiten wie zum Beispiel beim Kunden programmierbaren Gatteranordnungen, programmierbaren logischen Anordnungen, programmierbaren Logikeinheiten oder dergleichen realisiert werden. Die Verwaltungseinheit oder Maschine kann außerdem in Software für die Ausführung durch verschiedene Prozessortypen realisiert werden. Eine gekennzeichnete Verwaltungseinheit oder Maschine für ausführbaren Code kann beispielsweise einen oder mehrere physische oder logische Blöcke von Computerbefehlen umfassen, die zum Beispiel als Objekt, Prozedur, Funktion oder anderes Konstrukt gestaltet sein können. Es ist jedoch nicht erforderlich, dass sich die ausführbaren Dateien einer gekennzeichneten Verwaltungseinheit oder Maschine physisch am selben Ort befinden, sondern sie können ungleichartige, an unterschiedlichen Orten gespeicherte Befehle umfassen, die die Verwaltungseinheit oder Maschine umfassen und den angegebenen Zweck der Verwaltungseinheit oder Maschine erfüllen, wenn sie logisch zusammengefügt werden.
-
Tatsächlich könnte eine Verwaltungseinheit oder eine Maschine für ausführbaren Code ein einzelner Befehl oder viele Befehle sein und könnte sogar über mehrere verschiedene Codesegmente, verschiedene Anwendungen und mehrere Speichereinheiten verteilt sein. In ähnlicher Weise können Betriebsdaten hier in der Verwaltungseinheit und/oder der Maschine gekennzeichnet und veranschaulicht werden und in jeder geeigneten Form verkörpert und in jeder geeigneten Art von Datenstruktur angeordnet sein. Die Betriebsdaten können als einzelner Datensatz gesammelt oder über verschiedene Speicherorte, zum Beispiel über verschiedene Speichereinheiten, verteilt werden und können zumindest teilweise als elektronisches Signal in einem System oder Netzwerk vorhanden sein.
-
In dieser gesamten Beschreibung bedeutet eine Bezugnahme auf „eine ausgewählte Ausführungsform“ oder „eine Ausführungsform“, dass ein(e) bestimmte(s) in Verbindung mit der Ausführungsform beschriebene(s) Merkmal, Struktur oder Eigenschaft in zumindest einer Ausführungsform der vorliegenden Erfindung enthalten ist. Folglich beziehen sich die Wendungen „eine ausgewählte Ausführungsform“ oder „in einer Ausführungsform“ an verschiedenen Stellen in dieser gesamten Beschreibung nicht zwingend auf dieselbe Ausführungsform.
-
Des Weiteren können die beschriebenen Merkmale, Strukturen oder Eigenschaften in jeder geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden. In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten bereitgestellt, wie Beispiele für das Starten eines Knotens in einem Computerverbund, in dem ein geplanter oder ungeplanter dynamischer Austausch von Replikat-Datenträgern stattfindet, um ein umfassendes Verständnis von Ausführungsformen der Erfindung zu ermöglichen. Ein Fachmann erkennt jedoch, dass die Erfindung ohne eine oder mehrere der spezifischen Einzelheiten bzw. mit anderen Verfahren, Komponenten, Materialien usw. umgesetzt werden kann. In anderen Fällen werden bestens bekannte Strukturen, Materialien oder Vorgänge nicht genau dargestellt oder beschrieben, um Aspekte der Erfindung nicht unklar werden zu lassen.
-
Die veranschaulichten Ausführungsformen der Erfindung sind am besten durch Bezugnahme auf die Zeichnungen zu verstehen, in denen durchgehend gleiche Teile durch gleiche Bezugszeichen gekennzeichnet werden. Die folgende Beschreibung ist lediglich als Beispiel gemeint und veranschaulicht einfach bestimmte ausgewählte Ausführungsformen von Einheiten, Systemen und Prozessen, die mit der hier beanspruchten Erfindung im Einklang sind.
-
Technische Einzelheiten
-
In der folgenden Beschreibung der Ausführungsformen wird Bezug auf die beigefügten Zeichnungen genommen, die einen Teil hiervon bilden und die zur Veranschaulichung die bestimmte Ausführungsform zeigen, in der die Erfindung umgesetzt werden kann. Es versteht sich, dass andere Ausführungsformen eingesetzt werden können, da Strukturänderungen vorgenommen werden können, ohne vom Gedanken und Umfang der vorliegenden Erfindung abzuweichen.
-
2 ist ein Funktionsschaubild (200) eines Computerverbundes, der Komponenten enthält, die den dynamischen Austausch von Replikat-Datenträgern unterstützen, während sie die Zuordnung des bevorzugten Start-Datenträgers zu dem aktiven Speichersystem ermöglichen. Wie dargestellt, enthält der Verbund zumindest zwei Knoten, einen ersten Knoten (210) und einen zweiten Knoten (220), und zumindest zwei Speicherteilsysteme, ein erstes Speicherteilsystem (212) und ein zweites Teilsystem (222). Jedes Speicherteilsystem, das erste Speicherteilsystem (212) bzw. das zweite Speicherteilsystem (222), kann jeweils ein oder mehrere Speicher-Datenträger beinhalten. Bei einer Ausführungsform kann der Computerverbund (200) so erweitert werden, dass er zusätzliche Knoten und Speicherteilsysteme enthält.
-
Das erste Speicherteilsystem (212) ist die Quelle aller synchronen Spiegelungsbeziehungen, und das zweite Speicherteilsystem (222) ist das Ziel aller synchronen Spiegelungsbeziehungen. Jeder der Knoten (210) und (220) ist so eingerichtet, dass er den Austausch von Replikat-Datenträgern unterstützt. Dementsprechend weist jedes Verbundmitglied eine Speicherabhängigkeit von zumindest einem Speicher-Datenträger in dem ersten Speicherteilsystem (212) auf, wobei jeder Datenträger in dem ersten Speicherteilsystem (212) durch eine synchrone Spiegelungsbeziehung mit einem identischen Satz an Datenträgern in dem zweiten Speicherteilsystem (222) verbunden ist.
-
Wie dargestellt, verfügt der erste Knoten (210) über ein Betriebssystem (270) mit einem Kernbereich (272) und einem Benutzerbereich (276). In ähnlicher Weise verfügt der zweite Knoten (220) über ein Betriebssystem (280) mit einem Kernbereich (282) und einem Benutzerbereich (286). Bei einer Ausführungsform wird der Verbund um zusätzliche Knoten erweitert, wobei jeder Knoten mit einem Betriebssystem mit einem Kernbereich und einem Benutzerbereich eingerichtet ist. Der Zugriff auf einen Speicher durch eine Anwendung in einem Knoten wird durch einen erweiterten Einheitentreiber in dem Kernbereich gesteuert. In Bezug auf die Elemente in 2 verfügt der Knoten (210) über einen erweiterten Einheitentreiber (274) in dem Kernbereich (272), und der Knoten (220) verfügt über einen erweiterten Einheitentreiber (284) in dem Kernbereich (282). Nach dem Stand der Technik verwaltet ein Einheitentreiber in dem Kernbereich mehrere Pfade zu einem einzelnen Speichersystem-Datenträger, wobei er alle Pfade von dem Betriebssystem des Knotens zu diesem Datenträger als eine einzelne Einheit, die für eine Verwaltungseinheit von logischen Datenträgern sichtbar ist, virtualisiert. Die erweiterten Einheitentreiber (274) und (284) in dem ersten bzw. dem zweiten Knoten (210) und (220), die für die bevorzugte Ausführungsform dieser Erfindung erforderlich sind, adressieren die Verwaltung von zumindest zwei logischen Pfaden von jedem der Knoten (210) und (220) in dem Verbund zu zwei getrennten Datenträgern in den beiden Speichersystemen, deren Inhalt über eine synchrone Replikation der Speichersysteme synchron gehalten wird. Wie hier mit Bezug auf den Knoten (210) gezeigt, wird genauer gesagt der erweiterte Einheitentreiber (274) dargestellt, wie er einen ersten logischen Pfad (234) zu einem Datenträger in dem primären Speicherteilsystem (212) und einen zweiten logischen Pfad (236) zu dem Replikat-Datenträger in dem sekundären Speicherteilsystem (222) adressiert. Dementsprechend werden alle Pfade von dem Betriebssystem des Knotens zu einem Datenträger und dessen Replikat als einzelne Einheit virtualisiert.
-
Die erweiterten Einheitentreiber (274), (284) vereinfachen die Verwaltung der logischen Pfade und für jeden Knoten in dem Verbund (200) für einen dynamischen Austausch von Replikat-Datenträgern Genauer gesagt, der erweiterte Einheitentreiber (274), (284) des ersten bzw. des zweiten Knotens (210), (220) ermöglicht die Virtualisierung jedes primären Datenträgers und dessen Replikats als einzelne Einheit in dem Betriebssystem des Knotens. Jeder logische Pfad kann aus mehreren physischen Pfaden zu jedem Speichersystem bestehen. Wenn ein dynamischer Austausch von Replikat-Datenträgern durchgeführt wird, wechseln die beiden logischen Pfade die Rollen, sodass der Zugriff auf alle Speicher-Datenträger zu dem sekundären Speicherteilsystem (222) geleitet wird. Der Zugriff wird nur zu dem primären Speicherteilsystem (212) zurückverlagert, wenn ein Wiederherstellungsvorgang (failback operation) durchgeführt wird. Bei einer Ausführungsform wird eine Verwaltungseinheit eingesetzt, um die Rollen der logischen Pfade so zu wechseln, dass ein logischer Pfad zu dem nichtbevorzugten Start-Datenträger in einer sekundären Einheit geleitet wird und ein zweiter logischer Pfad zu einem bevorzugten Start-Datenträger auf dem primären Speicherteilsystem geleitet wird. Des Weiteren kann die Verwaltungseinheit während eines Neustarts eines dritten Knotens, der zuvor während des dynamischen Austauschs von Replikat-Datenträgern inaktiv war, eingesetzt werden, um die Anordnung der logischen Pfade in diesem dritten Knoten zu ändern. Dementsprechend leitet der erweiterte Einheitentreiber in dem Kernbereich eine Speicheranforderung über logische Pfade zwischen dem Knoten und dem primären Speicherteilsystem.
-
Zusätzlich zu dem lokalen Einheitentreiber des Kerns wird eine lokale Verwaltungskomponente in dem Benutzerbereich jedes Knotens eingesetzt. Genauer gesagt, für den Benutzerbereich (276) des ersten Knotens (210) wird eine Entscheidungsmaschine (arbitration engine) (278) bereitgestellt, und für den Benutzerbereich (286) des zweiten Knotens (220) wird eine Entscheidungsmaschine (288) bereitgestellt. Die Entscheidungsmaschinen (278), (288) tauschen Daten mit den erweiterten Einheitentreibern (274) bzw. (284) in dem Kernbereich der jeweiligen Knoten und auch mit der externen Verwaltungskomponente aus, die in einem anderen Knoten in dem Verbund ausgeführt wird, um den dynamischen Austausch von Replikat-Datenträgern in dem Verbund über alle betroffenen Speicherteilsysteme und Knoten zu steuern.
-
Die Entscheidungsmaschinen (278), (288), die sich in dem Benutzerbereich befinden, sind so eingerichtet, dass sie im nicht ausgelagerten Speicher ausgeführt werden. Diese Anordnung ist erforderlich, damit ein Ausfall eines Speicherteilsystems nicht den Ablauf des Codes auf Knotenbasis blockieren kann, indem das Einlagern von ausgelagertem Code verhindert wird, wenn sich der Auslagerungs-Datenträger in dem ausgefallenen Speicherteilsystem befindet. Die erweiterten Einheitentreiber (274), (284), die sich in dem Kernbereich (272), (282) befinden, sind ebenfalls so eingerichtet, dass sie im nicht ausgelagerten Speicher ausgeführt werden. Die Anordnung der erweiterten Einheitentreiber (274), (284) zusammen mit der Anordnung der Entscheidungsmaschinen (278), (288), die sich in dem Benutzerbereich (276) bzw. (286) befinden, unterstützt die Anforderungen für die Behandlung eines Ausfalls eines Speicherteilsystems.
-
3 ist ein Funktionsschaubild (300) der Verwaltungskomponenten, die Daten mit dem jeweiligen Knoten und Speicherteilsystem austauschen. Hier werden drei Komponenten dargestellt, die sich lokal in einem Verwaltungsknoten (305) befinden, darunter eine OpenSwap-Verwaltungseinheit (OpenSwap manager) (310), eine Ablaufsteuerungsmaschine (sequencing engine) (320) und ein RM-Proxy (Replication Manager proxy, Replikationsverwaltungsstellvertreter) (330). Jede dieser Verwaltungskomponenten (310), (320) und (330) befindet sich außerhalb des Verwaltungsknotens (305), damit keine Anwendung, die im Hinblick auf kontinuierliche Verfügbarkeit durch den dynamischen Austausch von Replikat-Datenträgern geschützt werden muss, auf dem Knoten ausgeführt wird, auf dem die Verwaltungskomponenten ausgeführt werden. Die Verwaltungskomponenten können daher im ausgelagerten Speicher ausgeführt werden. Die OpenSwap-Verwaltungseinheit (310) stellt eine Schnittstelle zum Verwalten der Anordnung des dynamischen Austauschs von Replikat-Datenträgern bereit. Bei einer Ausführungsform handelt es sich bei der Schnittstelle um eine Schnittstelle auf der Grundlage des Web. Zu den Verwaltungsfunktionen der OpenSwap-Verwaltungseinheit (310) gehören die Einrichtung der Anordnung des dynamischen Austausch von Replikat-Datenträgern, die Initialisierung der Anordnung, das Auslösen eines geplanten dynamischen Austauschs von Replikat-Datenträgern, das Auslösen eines Wiederherstellungsvorgangs, die Anzeige des aktuellen Systemstatus und das Durchsuchen von Vorgangsprotokollen, sie sind jedoch nicht darauf beschränkt. Die Ablaufsteuerungsmaschine (320) tauscht Daten mit der Entscheidungsmaschine (346) in dem Benutzerbereich (344) jedes Knotens (340) in dem Verbund aus. Genauer gesagt, die Ablaufsteuerungsmaschine (320) setzt die zentrale Zustandsmaschine zum Koordinieren von dynamischen Austauschvorgängen von Replikat-Datenträgern über einen oder mehrere Knoten in dem Speicherverbund hinweg um. Die Ablaufsteuerungsmaschine (320) nutzt die RM-Proxy-Komponente (330), um Befehle für Kopierdienste (Speicherreplikationsverwaltung) an die Speicherteilsysteme (350) zu erteilen, die an einem dynamischen Austausch von Replikat-Datenträgern beteiligt sind. Die RM-Proxy-Komponente (330) verwendet eine Anwendungsprogrammier-Schnittstelle (application program interface, API) zur Verwaltung von synchronen Spiegelungsbeziehungen und des Zustands der Komponenten des Speicherteilsystems (350) während geplanter und ungeplanter dynamischer Austauschvorgänge von Replikat-Datenträgern. Bei einer Ausführungsform verwendet die RM-Proxy-Komponente (330) dieselben API-Aufrufe, um synchrone Spiegelungsbeziehungen in einem Speicherteilsystem während der Einrichtung der Anordnung des dynamischen Austauschs von Replikat-Datenträgern abzufragen.
-
Vor dem dynamischen Austausch von Replikat-Datenträgern verfügt jeder Knoten im System über eine nach Priorität geordnete Liste von Starteinheiten. Jeder Knoten startet von der ersten Einheit in der Liste auf der Grundlage der hierarchischen Darstellung der Starteinheiten, und wenn der Start fehlschlägt, rückt der Knoten in der Liste nach unten vor. Wenn ein dynamischer Austausch von Replikat-Datenträgern durchgeführt wird, wird die Liste der Starteinheiten für jeden Knoten, der in dem System arbeitet, geändert. Genauer gesagt, nach einem dynamischen Austausch von Replikat-Datenträgern wird die Start-Datenträgerliste auf jedem Knoten im Online-Zustand, der an dem dynamischen Austausch von Replikat-Datenträgern beteiligt ist, so geändert, dass der bevorzugte Pfad zu dem Start-Datenträger als Pfad zu der sekundären Einheit erklärt wird. Infolgedessen hat jeder Knoten, der während des dynamischen Austauschs von Replikat-Datenträgern online war, Kenntnis darüber, dass er von dem Start-Datenträger in der sekundären Einheit starten muss. 4 ist ein Ablaufplan (400), der beschreibt, wie ein Knoten, der während eines dynamischen Austauschs von Replikat-Datenträgern offline war, seine Start-Datenträgerliste anpasst, nachdem er in den Online-Zustand gewechselt ist. Ein Knoten startet neu (402). Während er die Vorstufe des Starts durch Ausführen des BIOS-Codes (Basic Input Output System, grundlegendes Eingabe-/Ausgabesystem) ausführt, bezieht der Knoten eine lokale Startliste aus einem nichtflüchtigen Speicher (404). Ein Start wird von der nächsten Einheit in der Liste durchgeführt (406). Wenn der Start nicht erfolgreich verläuft, versucht der Knoten, von der nächsten Einheit in der Liste zu starten (406). Wenn sich keine weiteren Einheiten in der Startliste befinden, von denen der Start versucht werden kann, und das Starten noch nicht erfolgreich war, liegt der Fall vor, dass alle Start-Datenträger unerreichbar sind, wobei in diesem Fall sich der Knoten selbst neu startet, um den gesamten Startprozess noch einmal von vorn zu beginnen (402). Umgekehrt spricht der Knoten die Ablaufsteuerungsmaschine an, wenn das Starten erfolgreich ist (410). Wenn der Knoten die Ablaufsteuerungsmaschine jedoch nicht ansprechen kann (414), entweder aufgrund eines Netzwerkproblems oder weil die Ablaufsteuerungsmaschine selbst offline ist, startet sich der Knoten nach einer geeigneten Wartezeit selbst neu, um den gesamten Prozess neu zu starten (402). Wenn die Ablaufsteuerungsmaschine angesprochen werden kann und sie an den Knoten übermittelt, dass zurzeit ein dynamischer Austausch von Replikat-Datenträgern stattfindet (416), startet sich der Knoten selbst neu (402), da der Zustand im Wandel begriffen ist. Wenn dies jedoch nicht der Fall ist, wird dem Knoten der aktuelle Zustand des dynamischen Austauschs von Replikat-Datenträgern von der Ablaufsteuerungsmaschine mitgeteilt. Der Prozess, in dem der Zustand des dynamischen Austauschs von Replikat-Datenträgern abgerufen wird, beinhaltet das Erfahren, welches Speichersystem das primäre ist, welches das sekundäre ist und, dementsprechend, welche die neu geordnete Liste der Start-Datenträger ist. Wenn die Liste mit der aktuellen Start-Datenträgerliste in dem Knoten übereinstimmt, ist der Knoten von dem richtigen Datenträger gestartet. Die Richtung des dynamischen Austauschs von Replikat-Datenträgern und die Zustandsmeldung werden von der Ablaufsteuerungsmaschine bezogen, gefolgt von einem ununterbrochenen Einbinden anderer Einheiten, auf die das Betriebssystem (422) des Knotens aufgrund seiner Anordnung zugreift. Wenn jedoch die von der Ablaufsteuerungsmaschine bereitgestellte Startliste nicht mit der lokalen Liste des Knotens übereinstimmt, wird die lokale Startliste aktualisiert (424), und der Knoten wird neu gestartet (402).
-
Wie in 2 und 3 dargestellt, wird jeder Knoten in der Verbundumgebung so modifiziert, dass er einen dynamischen Austausch von Replikat-Datenträgern unterstützt. 5 ist ein Funktionsschaubild (500) eines Computersystems, das die Werkzeuge veranschaulicht, die in den Benutzer- und den Kernbereich jedes Knotens der Verbundumgebung eingebunden sind. Zur Veranschaulichung und Erläuterung wird nur ein Knoten in dem Verbund dargestellt und beschrieben. Wie gezeigt, wird ein Knoten (502) bereitgestellt, der Daten mit zumindest zwei Speicherteilsystemen (550) und (560) austauscht. Der Knoten (502) wird mit einem Prozessor (504) dargestellt, der über einen Bus (506) Daten mit einem Speicher (508) austauscht. Der Prozessor (504) tauscht Daten mit einem Betriebssystem (510) aus, das den Benutzerbereich (520) und den Kernbereich (530) beinhaltet. Der Benutzerbereich (520) ist der Teil des Betriebssystems, der Benutzerprozesse ausführt und unterstützt. Wie hier gezeigt, beinhaltet der Benutzerbereich (520) Anwendungen (522) und Bibliotheken (524). Demgegenüber stellt der Kernbereich (530) das zentrale Modul des Betriebssystems (510) und den Teil des Betriebssystems dar, der zuerst geladen wird und im Hauptspeicher verbleibt. Bei einer Ausführungsform ist der Kern (530) für eine Speicherverwaltungseinheit (532), eine Prozess- und Aufgabenverwaltungseinheit (534) und eine Datenträgerverwaltungseinheit (536) zuständig. Um den dynamischen Austausch von Replikat-Datenträgern zu unterstützen, wird der Kernbereich (530) des Weiteren so modifiziert, dass er einen Einheitentreiber (538) beinhaltet, und der Benutzerbereich (520) wird so modifiziert, dass er eine Entscheidungsmaschine (526) beinhaltet, Die Anwendung (522) und die Entscheidungsmaschine (526) tauschen über den Einheitentreiber (538) Daten mit den Speicherteilsystemen (550) und (560) aus. Der Knoten (502) ist mit einem Flash-Speicher (525) eingerichtet, um eine Liste von Start-Datenträgern (515a) zu speichern. Der Flash-Speicher (525) erkennt einen bevorzugten Start-Datenträger und einen nichtbevorzugten Start-Datenträger in den zumindest zwei Speicherteilsystemen (550) und (560).
-
Zusätzlich zu der Modifikation der Knotenverbundmitglieder wird ein Satz von Verwaltungskomponenten (570), (572) und (574) bereitgestellt, die Daten mit dem Verbund austauschen, sich jedoch entfernt von den einzelnen Knotenverbundmitgliedern befinden, um den dynamischen Austausch von Replikat-Datenträgern zu unterstützen. Der Satz von Verwaltungskomponenten beinhaltet eine OpenSwap-Verwaltungseinheit (570), eine Ablaufsteuerungsmaschine (572) und einen RM-Proxy (574), er ist jedoch nicht auf diese beschränkt. Einzelheiten der unterstützenden Rollen der Verwaltungskomponenten werden mit Bezug auf 3 beschrieben. Bei einer Ausführungsform befinden sich die Verwaltungskomponenten (570) bis (574) außerhalb des Speicherverbundes und sind so eingerichtet, dass sie Daten mit der Entscheidungsmaschine (526) in dem Benutzerbereich (520) und den Speicherteilsystemen (550) und (560) austauschen. Die Verwaltungskomponenten (570) bis (574) können in Form von Software-Komponenten, die sich lokal im Speicher befinden, oder in Form von Hardware-Komponenten bereitgestellt werden, die sich außerhalb des Speichers befinden. Die Entscheidungsmaschine (526) und der Einheitentreiber (538) werden als Software-Komponenten dargestellt, die sich in den jeweiligen Ebenen des Betriebssystems befinden. Die Erfindung sollte jedoch nicht auf eine Software-Ausführungsform beschränkt sein. Bei einer Ausführungsform können die Entscheidungsmaschine (526) und/oder der Einheitentreiber (538) in Form von Hardware-Werkzeugen vorliegen. Dementsprechend können die Werkzeuge, die bereitgestellt werden, um den dynamischen Austausch von Replikat-Datenträgern zu unterstützen, in Form von Software-Werkzeugen, Hardware-Werkzeugen oder einer Kombination von Software- und Hardware-Werkzeugen vorliegen.
-
Ausführungsformen im Umfang der vorliegenden Erfindung beinhalten außerdem Herstellungsartikel, die Programmspeichermittel umfassen, in denen Programmcode codiert ist. Bei solchen Programmspeichermitteln kann es sich um alle verfügbaren Medien handeln, auf die mit einem Universal- oder Spezialcomputer zugegriffen werden kann. Beispielsweise und ohne dabei einschränkend zu wirken, können zu solchen Programmspeichermitteln ein RAM, ein ROM, ein EEPROM, eine CD-ROM oder ein anderer optischer Plattenspeicher, Magnetplattenspeicher oder andere Magnetspeichereinheiten oder jedes andere Medium zählen, das zum Speichern des gewünschten Programmcodemittels verwendet werden kann und auf das mit einem Universal- oder Spezialcomputer zugegriffen werden kann. Kombinationen aus Obigem sollten ebenfalls im Umfang des Programmspeichermittels enthalten sein.
-
Bei dem Medium kann es sich um ein elektronisches, magnetisches, optisches, elektromagnetisches Medium, ein Infrarotmedium oder ein Halbleitersystem (bzw. eine entsprechende Vorrichtung oder Einheit) handeln. Zu Beispielen für ein computerlesbares Medium zählen ein Halbleiter- bzw. Festkörperspeicher, ein Magnetband, eine entfernbare Computer-Diskette, ein Speicher mit wahlfreiem Zugriff (random access memory, RAM), ein Festwertspeicher (read-only memory, ROM), eine starre Magnetplatte und eine optische Speicherplatte. Aktuelle Beispiele für optische Speicherplatten beinhalten eine CD-ROM B (compact disk read only memory, Kompakt-Disk-Festwertspeicher), eine CD-R/W B (compact disk read/write, Compact-Disk-Schreib-Lese-Speicher) und eine DVD.
-
Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, beinhaltet zumindest einen Prozessor, der direkt bzw. indirekt durch einen Systembus mit Speicherelementen verbunden ist. Bei den Speicherelementen kann es sich um einen lokalen Speicher, der während der tatsächlichen Ausführung des Programmcodes eingesetzt wird, einen Massenspeicher und Cachespeicher handeln, die eine zeitweilige Speicherung von zumindest einem Teil des Programmcodes bereitstellen, um die Häufigkeit zu verringern, mit der der Code während der Ausführung aus dem Massenspeicher abgerufen werden muss.
-
Eingabe-/Ausgabe- bzw. E-/A-Einheiten (zum Beispiel Tastaturen, Anzeigen, Zeigeeinheiten usw., jedoch nicht auf diese beschränkt) können entweder direkt oder durch eingreifende E-/A-Steuereinheiten mit dem System verbunden sein. Netzwerkadapter können ebenfalls mit dem System verbunden sein, um dem Datenverarbeitungssystem zu ermöglichen, durch eingreifende private oder öffentliche Netzwerke mit anderen Datenverarbeitungssystemen oder entfernt angeordneten Druckern oder Speichereinheiten verbunden zu werden.
-
Die Software-Ausführung kann die Form eines Computerprogrammprodukts annehmen, auf das von einem computerverwendbaren bzw. computerlesbaren Medium zugegriffen werden kann, das Programmcode zur Verwendung durch bzw. in Verbindung mit einem Computer bzw. einem beliebigen Befehlsausführungssystem bereitstellt.
-
Alternative Ausfügrungsformen
-
Wenngleich hier bestimmte Ausführungsformen der Erfindung zur Veranschaulichung beschrieben worden sind, ist ersichtlich, dass verschiedene Modifikationen vorgenommen werden können, ohne vom Gedanken und Umfang der Erfindung abzuweichen. Dementsprechend wird der Schutzumfang dieser Erfindung nur durch die folgenden Ansprüche bzw. gleichartige Ansprüche beschränkt.