-
HINTERGRUND DER ERFINDUNG
-
In
einem Informationsverarbeitungssystem geschieht es möglicherweise,
dass eine Online- oder Stapelverarbeitung aufgrund eines Fehlers
eines Programms oder eines Ausfalls eines Speichersystems in einem
anormalen Zustand endet und Daten, die in dem Speichersystem des
Informationsverarbeitungssystems gespeichert sind, je nach Fall
inkonsistent werden. Außerdem
werden in dem Speichersystem gespeicherte Daten in vielen Fällen durch
den Fehler eines Menschen gelöscht.
-
Zur
Wiederherstellung der Daten des Informationssystems in einem solchen
Zustand gibt es eine Datenwiederherstellungstechnik, die eine Datensicherung
und -wiederherstellung einsetzt, bei der die Inkonsistenz von Daten
entfernt wird, um die Verarbeitung, die an einem Zwischenpunkt gestoppt wurde,
wieder aufzunehmen oder die an einem Zwischenpunkt angehaltene Verarbeitung
erneut auszuführen.
-
Die
US-Patentschrift 5 263 154 beschreibt
einen Stand der Technik hinsichtlich der Sicherung und Wiederherstellung.
Das Dokument beschreibt eine Technik, bei der Daten, die zu einem
von einem Benutzer spezifizierten Zeitpunkt in ein Speichersystem gespeichert
wurden, auf ein Magnetband kopiert werden, ohne die Dateneingabe/-ausgabe (E/A), die
von einem mit dem Speichersystem (Datensicherung) verbundenen Computer
(oder Host) angewiesen wurde, anzuhalten, und bei der die Daten
dann unter Verwendung der kopierten Daten (Sicherungsdaten) wiederhergestellt
werden (Wiederherstellung).
-
Dagegen
beschreibt
JP-A-2001-216185 eine Technik
zur Reduzierung einer Zeitspanne, die für die Wiederherstellung von
Daten erforderlich ist, bei der Information von Feldern, in denen
Daten nach der Ausführung
der Datensicherung aktualisiert werden, als differenzielle Information
aufbewahrt wird. Wenn in einem Speicher gespeicherte Daten unter
Verwendung der Sicherungsdaten wiederhergestellt werden, wird nur
ein Teil der durch die differenzielle Information angegebenen Daten
zur Wiederherstellung der Daten herangezogen.
-
Weiterhin
schlägt
WO 01/95640 A2 ein
Logging-Verfahren und -System vor, das zur Behebung eines Fehlers
in einem Transaktionssystem verwendet werden kann. Es basiert auf
einem differenziellen Logging-Schema, das kommutative und assoziative Wiederherstellungsoperationen
gestattet. Das Verfahren beinhaltet die Schritte des Ziehens eines Vor-Images
der primären
Datenbank vor einer Aktualisierung der primären Datenbank im Hauptspeicher; des
Ziehens eines Nach-Images der primären Datenbank nach der Aktualisierung;
des Erzeugens eines differenziellen Logs durch Anwendung einer bitweisen
Exklusiv-Oder-Verknüpfung
(XOR) zwischen dem Vor-Image und dem Nach-Image; und die Durchführung entweder
einer Transaktionswiederholungs-Operation oder einer Rückgängigmachungs-Operation
durch Anwenden der XOR-Verknüpfung
zwischen dem einen oder den mehreren Logs und dem Vor-Image. Da
XOR-Operationen kommutativ und assoziativ sind, ist eine korrekte Wiedererlangung
ungeachtet der Herstellungssequenz der Log-Einträge möglich.
-
US 6 158 019 offenbart ein
Verfahren und eine Vorrichtung zur Wiederherstellung eines aktualisierten
Computerspeichers aus einem Journal von Schreibereignissen, wobei
eine Ereigniskarte aus dem Journal von Schreibereignissen erzeugt
wird. Die Ereigniskarte gestattet eine effiziente Kombination der
Inhalte des Schreibereignisjournals mit den Inhalten des ursprünglichen
Speichers.
-
Außerdem beschreibt
US 5 065 311 ein Verbundsystem,
bei dem mehrere Datenbanksysteme und Datenkommunikation als jeweilige
Untersysteme behandelt werden. Beim Auftreten eines Fehlers in einem
Untersystem werden andere Untersysteme weiter laufen gelassen, wodurch
die Wiederherstellung nach dem Hochfahren eines fehlerhaften Untersystems
vereinfacht wird. Es werden Checkpoints von zwei Verarbeitungen
einschließlich
der Aktualisierung von Information im Speicher und der Akkumulation
der aktualisierten Information im Journal erkannt, so dass der Bedarf
von Journalen mit Information, die sich auf Zeitpunkte vor dem Checkpoint
beziehen, beseitigt wird, und es wird ein Checkpointabzug erlangt,
ohne auf das Ende einer Transaktion zu warten, die am Checkpoint
aktiv gewesen ist.
-
US 5 748 985 offenbart eine
Cache-Steuereinheit, die einen zwischen einer CPU und dem Direktzugriffsspeicher
angeordneten Cache aufweist, um darin vorübergehend Daten zu speichern,
die zwischen der CPU und dem Speicher übertragen werden. Daten werden
aus dem Cache in den Speicher in einem Nachschreib-Modus geschrieben.
An jedem vorgegebenen Zeitpunkt wird ein von der CPU spezifizierter
Aktualisierungserzeugungs-Identifizierer verwendet. Wenn Daten (Nachschreib-Daten)
des Cache im Nachschreib-Modus in den Speicher gespeichert werden,
wird die letzte Aktualisierungserzeugung, die spezifiziert wurde,
bevor die Daten zuerst in den Cache geschrieben wurden, als die
Aktualisierungserzeugung der Daten eingestellt. Wenn eine Aktualisierungserzeugung
durch die CPU spezifiziert wird, werden Nachschreib-Daten, die eine ältere Erzeugung
als die spezifizierte Erzeugung durch eine vorgegebene wirksame
Managementerzeugungszahl n oder mehr aufweisen, vorzugsweise in
den Speicher geschrieben. Wenn Nachschreib-Daten aufgrund eines
Ausfalls während
der Ausführung
eines Programms im Cache verloren gehen, werden alte Daten aus dem
Speicher gelesen, um das Programm erneut auszuführen, wobei von einem Punkt desselben
begonnen wird, der der ältesten
Aktualisierungserzeugung von Nachschreib-Daten entspricht, wodurch
die verlorenen Nachschreib-Daten wiedererlangt werden.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Im
Rahmen des in der
US-Patentschrift
5 263 154 beschriebenen Wiederherstellungsvorgangs wird,
wenn die Sicherungsdaten von dem Magnetband gelesen werden, auch
ein Datenteil von dem Magnetband gelesen, um in das Speichersystem
geschrieben zu werden, der nach dem Zeitpunkt, an dem die Sicherungsdaten
gezogen wurden, nicht aktualisiert wurde (der Teil der Daten auf
dem Magnetband, der inhaltsgleich mit den Daten des Speichersystems
ist). Eine solche Datentransferoperation überträgt unnötige Daten und verlängert daher
die für die
Wiederherstellung erforderliche Zeitspanne.
-
Dagegen
wird bei der Technik, die in
JP-A-2001-216185 beschrieben ist, das Auslesen nicht
für die
duplizierten Daten ausgeführt,
und daher wird die für
die Wiederherstellung erforderliche Zeitspanne im Vergleich zur
US-Patentschrift 5 263 154 reduziert.
Jedoch kann selbst bei diesen Techniken die Datenwiederherstellung
nicht für
Daten ausgeführt
werden, die zwischen dem Zeitpunkt, als die Datensicherung ausgeführt wurde,
und dem Zeitpunkt, an dem das Speichersystem ausfällt, aktualisiert
wurden. Wenn es gewünscht
ist, die nach der Datensicherung aktualisierten Daten wiederherzustellen, muss
die Host-Seite Information, wie etwa die Inhalte der Aktualisierung
der Daten, unter Verwendung von beispielsweise einem Log steuern
oder verwalten. Dies erhöht
die dem Host auferlegte Belastung und erfordert eine lange Verarbeitungszeitspanne.
-
Zur
Lösung
des vorstehenden Problems gemäß der vorliegenden
Erfindung wird ein Informationsverarbeitungssystem, wie in Anspruch
1 spezifiziert, bereitgestellt.
-
Gemäß einem
weiteren Aspekt der Erfindung schließt in einem Informationsverarbeitungssystem,
das einen Computer und ein mit dem Computersystem gekoppeltes Speichersystem
beinhaltet, das Speichersystem eine Steuerung und mehrere Speicher
ein. In der Konfiguration kopiert das Speichersystem in Reaktion
auf eine vorgegebene Indikation in einem Speicher gespeicherte Daten
auf einen anderen Speicher. Danach speichert das Speichersystem
die Aktualisierung der Daten in dem als Quelleinheit verwendeten
Speicher in einem anderen Speicher, wobei die Datenaktualisierung
als Aktualisierungsgeschichte verwendet wird. Auf der anderen Seite
erzeugt der Computer zu einer bestimmten Zeit, nachdem die Kopie
erzeugt wurde, Identifizierungsinformation und sendet die Identifizierungsinformation
an das Speichersystem. Nach dem Empfang der Identifizierungsinformation
speichert das Speichersystem die Identifizierungsinformation, wobei
eine Beziehung zwischen der Identifizierungsinformation und der
Aktualisierungsgeschichte hergestellt wird.
-
Wenn
eine Datenwiederherstellung gewünscht
wird, sendet der Computer Identifizierungsinformation an das Speichersystem.
Nach Empfang der Identifizierungsinformation greift das Speichersystem
auf die aufgezeichnete Identifizierungsinformation zu, um davon
Identifizierungsinformation aufzurufen, die mit der empfangenen
Identifizierungsinformation übereinstimmt.
Wenn eine übereinstimmende
Identifizierungsinformation erfasst wird, stellt das Speichersystem
die Daten im als Quelleinheit verwendeten Speicher wieder her, wobei
die in dem als Zieleinheit verwendeten Speicher gespeicherten Daten
und die Inhalte der Aktualisierungsgeschichte verwendet werden,
die vor der Aktualisierungsinformation, welche die übereinstimmende
Identifizierungsinformation betrifft, gespeichert wurden.
-
Es
ist vorstellbar, dass die vorliegende Erfindung so konfiguriert
ist, dass der Computer, der den Datenaktualisierungsrequest an das
Speichersystem richtet, ein anderer als der Computer zur Erzeugung der
Identifizierungsinformation ist.
-
Es
ist auch möglich,
die vorliegende Erfindung so zu konfigurieren, dass der Computer
zur Erzeugung der Identifizierungsinformation die Identifizierungsinformation
im Computer speichert.
-
In
der vorliegenden Erfindung kann auch eine Konfiguration erwogen
werden, bei der Information über
die im Computer gespeicherte Identifizierungsinformation dem Benutzer
präsentiert
und dann eine durch den Benutzer spezifizierte Informationsidentifizierung
an das Speichersystem gesendet wird.
-
Es
ist vorstellbar, die vorliegende Erfindung wie folgt zu konfigurieren.
Die Konfiguration beinhaltet einen Computer einschließlich einer
Zentraleinheit (CPU) und ein Speichersystem, das einen Speicher
einschließt.
Der Computer beinhaltet eine Vorrichtung zum Richten eines Requests
an das Speichersystem, eine Kopie von im Speicher gespeicherten
Daten zu erstellen und zu speichern, eine Vorrichtung zum Richten
eines Requests an das System, einen Aktualisierungsteil von durch
Verarbeitung des Computers aktualisierten Daten aufzuzeichnen, und eine
Vorrichtung zum Übertragen
von Identifizierungsinformation, die einen Zustand des Systems zu einem
Zeitpunkt identifiziert, an das Speichersystem. Das Speichersystem
beinhaltet eine Vorrichtung, um eine Kopie von Daten des Speichers
in Reaktion auf einen Request vom Computer zu erzeugen und zu speichern,
eine Vorrichtung, um, wenn die Inhalte des Speichers aktualisiert
werden, Daten vor der Aktualisierung, Daten nach der Aktualisierung
und eine Aktualisierungsstelle in Form von Journaldaten festzuhalten;
eine Vorrichtung, um vom Computer gesendete Identifizierungsinformation
festzuhalten und zu identifizieren, und eine Einheit, um die Journaldaten
zu der Identifizierungsinformation in Beziehung zu setzen. Der Computer
beinhaltet auch eine Vorrichtung, um bei Auftreten eines Falls,
bei dem die Inhalte des Speichers in einen Zustand zu einem bestimmten
Zeitpunkt zurückgesetzt
werden müssen, einen
Datenwiederherstellungsrequest an das Speichersystem zu senden mit
für den
Request spezifizierter Zustandsidentifizierungsinformation. Das Speichersystem
beinhaltet eine Vorrichtung, um die von dem Computer gesendete Zustandsidentifizierungsinformation
zu identifizieren, um Daten unter Verwendung der Datenkopie und
der Journaldaten wiederherzustellen.
-
Gemäß der vorliegenden
Erfindung wird auch ein Datenwiederherstellungsverfahren zur Verfügung gestellt,
bei dem ein Identifizierungsinformationsposten bzw. -eintrag zwischen
einem Computer und einem Speichersystem gemeinsam genutzt wird. Das
Speichersystem steuert oder verwaltet den Identifizierungsinformationsposten
mit einer Beziehung, die zwischen dem Identifizierungsinformationsposten und
einer Aktualisierungsgeschichte aufgebaut ist. In Reaktion auf eine
Identifizierung vom Computer stellt das Speichersystem im Speicher
gespeicherte Daten bis zu einer Stelle der Aktualisierungsgeschichte
wieder her, die durch einen bestimmten Identifizierungsinformationsposten
bezeichnet ist.
-
Weitere
Ziele, Merkmale und Vorteile der Erfindung werden aus der folgenden
Beschreibung der Ausführungsformen
der Erfindung in Verbindung mit den beigefügten Zeichnungen ersichtlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Diagramm, das ein Konfigurationsbeispiel einer ersten Ausführungsform
eines Informationsverarbeitungssystems zeigt;
-
2 ist
ein Diagramm, das ein Konfigurationsbeispiel eines Speichersystems 2 zeigt;
-
3 ist
ein Diagramm, das ein Konfigurationsbeispiel eines Hosts 1 zeigt;
-
4 ist
ein Diagramm, das ein Konfigurationsbeispiel von Programmen und
andere Elementen des Speichersystems 2 zeigt;
-
5 ist
ein Diagramm, das ein Konfigurationsbeispiel von Programmen des
Hosts 1 zeigt;
-
6 ist
ein Flussdiagramm, das ein Verarbeitungsablaufbeispiel für die Vorbereitung
zum Erhalt eines Journals zeigt;
-
7 ist
ein Flussdiagramm, das ein Verarbeitungsablaufbeispiel eines E/A-Verarbeitungsrequests
in einem Journalmodus zeigt;
-
8 ist
ein Flussdiagramm, das ein Verarbeitungsablaufbeispiel der Journaldatenerzeugungsverarbeitung
zeigt;
-
9 ist
ein Diagramm, das ein Formatbeispiel der Journaldaten zeigt;
-
10 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Checkpoint(CP)-Informationsübertragungsverarbeitung
zeigt;
-
11 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Wiederherstellungsverarbeitung zeigt;
-
12 ist
ein Diagramm, das ein Konfigurationsbeispiel der Vorrichtungsmanagementinformation
zeigt;
-
13 ist
ein Diagramm, das ein Konfigurationsbeispiel der Paarmanagementinformation
zeigt;
-
14 ist
ein Diagramm, das ein Konfigurationsbeispiel der Journalmanagementinformation zeigt;
-
15 ist
ein Diagramm, das ein Konfigurationsbeispiel eines Managementterminals 3 zeigt;
-
16 ist
ein Diagramm, das ein Konfigurationsbeispiel der Systembestimmungsinformation 1608 zeigt;
-
17 ist
ein Diagramm, das ein Konfigurationsbeispiel einer Anzeige des Managementterminals
zeigt;
-
18 ist
ein Flussdiagramm, das ein Verarbeitungsablaufbeispiel für eine Journaldatenbeschaffungsangabe
in einer zweiten Ausführungsform
zeigt;
-
19 ist
ein Flussdiagramm, das ein Verarbeitungsablaufbeispiel für die/den
Checkpoint-Identifizierer(CPID)-Übertragung/-Empfang
in der zweiten Ausführungsform
zeigt;
-
20 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Wiederherstellungsangabeverarbeitung
in der zweiten Ausführungsform
zeigt; und
-
21 ist
ein Flussdiagramm, das ein logisches Konfigurationsbeispiel eines
Hosts 1' in
der zweiten Ausführungsform
zeigt.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Als
Nächstes
erfolgt unter Bezugnahme auf die Figuren eine Beschreibung einer
ersten Ausführungsform
der vorliegenden Erfindung. Die vorliegende Erfindung wird durch
die Ausführungsform
nicht eingeschränkt.
In der folgenden Beschreibung beinhaltet „ein Speichersystem" einen Speicher,
wie etwa eine Plattenvorrichtung, und ein System, wie etwa eine
Plattenanordnung einschließlich
mehrerer Speicher.
-
1 zeigt
eine erste Ausführungsform
eines Informationsverarbeitungssystems gemäß der vorliegenden Erfindung.
Das Informationsverarbeitungssystem beinhaltet Hosts 1,
Speichersysteme 2, Managementterminals 3, ein
Netzwerk 4 zum Koppeln der Hosts 1 mit den Speichersystemen 2 und
ein Netzwerk 5 zum Koppeln der Hosts 1, der Speichersysteme 2 und
der Managementterminals 3 miteinander.
-
Der
Host 1 ist ein Computer, zum Beispiel ein Personalcomputer,
ein Arbeitsplatzrechner oder ein Großrechner. Im Host 1 laufen
ein Betriebssystem (BS) entsprechend einem Computertyp des Hosts 1 und
Anwendungsprogramme (AP) für
verschiedene Aufgaben und Zwecke, beispielsweise ein Datenbank(DB)-Programm.
Obwohl wegen der Einfachheit in der Ausführungsform zwei Hosts 1 verwendet
werden, kann eine gewünschte
Anzahl von Hosts 1 mit den Netzwerken 4 und 5 verbunden
sein.
-
Das
Managementterminal 3 ist ein Computer, der zur Steuerung
oder zum Management von beispielsweise einem Ausfall, der Wartung,
von Konfigurationen und Leistungsinformation der Speichersysteme 2 eingesetzt
wird. Zum Beispiel wird das Managementterminal 3 von einem
Manager des Informationsverarbeitungssystems benutzt, um logische
Speicher in den Speichersystemen 2 einzustellen, um Speicherbereiche
auf Sicherungsdaten einzustellen oder um ein Paar von Speicherbereichen zum
Kopieren von Daten einzustellen. Zur Ausführung von Wartung und Management
des Speichersystems, zum Einstellen von physikalischen Speichern 10 der
Speichersysteme 2 und zum Einstellen der Hosts 1,
damit sie mit den Speichersystemen 2 verbunden zu werden,
gibt der Manager des Informationsverarbeitungssystems Inhalte ein,
die vom Managementterminal 3 beim System einzustellen sind. Das
Managementterminal 3 sendet die durch den Verwalter eingegebenen
Inhalte über
das Netzwerk 5 an die Speichersysteme 2 und die
Hosts 1.
-
Das
Netzwerk 4 wird von den Hosts 1 verwendet, um
einen E/A-Verarbeitungsrequest und andere Information an die Speichersysteme 2 zu
senden. Das Netzwerk 4 beinhaltet zum Beispiel ein optisches
Kabel und eine Kupferleitung. Des Weiteren verwendet das Netzwerk 4 Kommunikationslogs,
wie etwa Ethernet, Fiber Distributed Data Interface (FDDI), Fiber
Channel, Small Computer System Interface (SCSI), Infiniband, Transmission
Control Protocol/Internet Protocol (TCP/IP) und iSCSI.
-
Das
Netzwerk 5 wird wie folgt eingesetzt. Das Speichersystem 2 sendet
Steuer- oder Managementinformation, wie etwa Information über Ausfall, Wartung,
eine Konfiguration und deren Leistung über das Netzwerk 5 an
das Managementterminal 3 und den Host 1. Das Managementterminal 3 und
der Host 1 beschaffen über
das Netzwerk 5 Steuerinformation von den Speichersystemen 2.
Das Netzwerk beinhaltet ein Kabel und ein Kommunikationslog, die
dieselben wie diejenigen des Netzwerks 4 oder davon verschieden
sein können.
-
2 zeigt
eine Konfiguration des Speichersystems 2 in der Ausführungsform.
Jedes der Speichersysteme 2 speichert Daten und Programme,
die von den Hosts 1 benutzt werden. Das Speichersystem 2 empfangt
von dem Host 1 einen E/A-Verarbeitungsrequest, führt eine
Verarbeitung im Zusammenhang mit dem E/A-Verarbeitungsrequest aus
und sendet das Ergebnis der Verarbeitung an den im Voraus bestimmten
Host 1.
-
Das
Speichersystem 2 beinhaltet Speichersteuerungen 11,
physikalische Speicher 10, Cache-Speicher 14,
einen gemeinsamen oder miteinander genutzten Speicher 19 und
ein lokales Netzwerk 18.
-
Die
physikalischen Speicher 10 speichern von dem Benutzer zu
verwendende Daten. Die physikalischen Speicher 10 beinhalten
Magnetplatten, die elektrisch nichtflüchtige Speichermedien und/oder
nichtflüchtige
Halbleiterspeicher sind, wie zum Beispiel eine Siliziumplatte, eine
Bildplatte, eine magnetooptische Platte oder eine Festplatte. Im Übrigen kann
zur Verhinderung eines Datenverlusts beim Auftreten eines Ausfalls
in einem Speicherbereich des physikalischen Speichers 10 das
Speichersystem 2 in einer Konfiguration mit redundanter
Anordnung von Laufwerken (RAID), die eine Redundanz aufweist, aufgebaut
sein.
-
Die
Speichersteuerung 11 ist eine Vorrichtung zur Verarbeitung
eines E/A-Requests vom Host 1 und zum Steuern der physikalischen
Speicher 10. Die Speichersteuerung 11 beinhaltet
einen Netzwerkadapter 13 für physikalische Speicher, der
mit den physikalischen Speichern 10 verbunden ist, einen Prozessor 12 zur
Ausführung
vorbestimmter Programme, einen nichtflüchtigen Speicher 15 zum Speichern
von Programmen, die durch den Prozessor 12 auszuführen sind,
Information, die zum Betrieb der Programme notwendig ist, Einstellinforma tion und
Konfigurationsinformation des Speichersystems 2 und dergleichen;
einen Netzwerkadapter 17 zum Verbinden des Speichersystems 2 mit
dem Netzwerk 5 und einen E/A-Netzwerkadapter 16 zum
Verbinden des Speichersystems 2 mit dem Netzwerk 4.
-
Das
Speichersystem 2 kann mehrere Speichersteuerungen 11 beinhalten.
Zur Garantie der Redundanz des Speichersystems 2 kann jede
Bestandteilskomponente des Systems 2, zum Beispiel eine Schaltung
zur Zufuhr von Leistung zu jedem Bestandteilselement der Speichersteuerung 11,
der Cache-Speicher 14, der nichtflüchtige Speicher 15,
das lokale Netzwerk 19 und der Adapter 13 des
physikalischen Speichers, jeweils in einer redundanten Konfiguration
dupliziert sein.
-
Der
Cache-Speicher 14 ist ein Aufzeichnungsmedium zur vorübergehenden
Speicherung von vom Host 1 an das Speichersystem 2 eingegebenen
Daten und vom Speichersystem 2 an den Host 1 übertragenen
Daten.
-
Der
gemeinsame oder miteinander genutzte Speicher 19 ist ein
nichtflüchtiger
Speicher zum Speichern von Information, die zwischen den Speichersteuerungen 11 und
den Prozessoren 12 gemeinschaftlich genutzt wird. Zum Beispiel
speichert der gemeinsam genutzte Speicher 19 ein exklusives
Verarbeitungsbit, um auf einen bestimmten Bereich im Cache-Speicher 14 für eine E/A-Verarbeitung
und Information, die eine Übereinstimmung
zwischen den physikalischen Speichern 10 und den Cache-Speichern 14 angibt,
zuzugreifen. Das lokale Netzwerk 18 verbindet die Speichersteuerungen 11,
die Cache-Speicher 14 und
physikalischen Speicher 10 miteinander. Das lokale Netzwerk 18 kann
beispielsweise in einer Konfiguration vom gemeinsam genutzten Bus-Typ
oder in einer Netzwerkkonfiguration vom Sterntyp aufgebaut sein.
-
3 zeigt
eine Konfiguration des Hosts 1. Der Host 1 beinhaltet
einen Prozessor 20 zur Ausführung vorbestimmter Programme,
einen Speicher 21 zum Speichern von Betriebssystemen und
Anwendungsprogrammen, die durch den Prozessor 20 auszuführen sind,
und Daten, die von den Anwendungsprogrammen zu verwenden sind, eine
lokale Plattenvorrichtung 22 zum Speichern von Betriebssystemen und
Anwendungsprogrammen und von den Anwendungsprogrammen zu verwendenden
Daten, einen Hostbusadapter 23 zur Verbindung des Netzwerks 4 mit
dem Host 1, einen Netzwerkadapter 24 zur Verbindung
des Netzwerks 5 mit dem Host 1, einen Wechselspeichertreiber 26 zur
Steuerung des Auslesens von Daten aus einem Wechselspeichermedium, wie
etwa einer Floppydisk, und ein lokales E/A-Netzwerk 25 zur Verbindung
dieser Bestandteilskomponenten zur Übertragung von Daten und Steuerung von
Daten von Betriebssystemen und Anwendungsprogrammen.
-
Die
von dem Wechselspeichertreiber 26 verwendeten Wechselspeichermedien
beinhalten einen Compactdisk-Nurlesespeicher (CD-ROM), eine CD-Read (R), eine CD-Read/Write
(RW), Bildplatten, wie etwa eine Digital Versatile Disk (DVD) und
eine magnetooptische (MO) Disk, eine fotomagnetische Platte und
Magnetplatten, wie etwa eine Festplatte und eine Floppydisk. Jedes
Programm, das später beschrieben
wird, wird über
den Wechselspeichertreiber 26 aus dem beweglichen Speichermedium gelesen
oder wird über
das Netzwerk 4 oder 5 eingespeist, das in der
lokalen Plattenvorrichtung 22 des Hosts 1 einzubauen
ist.
-
Zur
Garantie der Redundanz kann der Host 1 mehrere Bestandteilskomponenten
beinhalten, zum Beispiel mehrere Prozessoren 20.
-
4 zeigt
eine Konfiguration von Programmen in dem Speichersystem 2 und
deren logische Konfiguration. In dem Speichersystem 2 werden
ein oder mehrere (mit einer gestrichelten Linie angegebene) physikalische
Speicher 10 in Kombination verwendet, um Paritätsgruppen 407 mit
Redundanz zu konfigurieren. Die Paritätsgruppe 407 ist ein
Satz, der einen physikalischen Speicher 10 zum Speichern von
Daten und einen physikalischen Speicher 10 zum Speichern
redundanter Daten beinhaltet, die unter Verwendung der so gespeicherten
Daten erzeugt wurden. Das Speichersystem 2 führt dem
Host 1 logische Speicherbereiche als logische Speicher 408 zu.
Die logischen Speicherbereiche werden aus dem Speicherbereichsraum
der physikalischen Speicher 10 in den Paritätsgruppen 407 gebildet.
Daher erkennt der Host 1, dass das Speichersystem 2 Speicher
(logische Speicher 408) einschließt, die mit der Speichersteuerung 11 verbunden
sind, wie in 4 gezeigt.
-
Zur
Steuerung der Verarbeitung im Speichersystem 2 beinhaltet
die Speichersteuerung 11 im nichtflüchtigen Speicher 15 ein
E/A-Verarbeitungsprogramm 403, ein Replikationssteuerverarbeitungsprogramm 404,
ein Speicheruntersystem-Konfigurationsmanagementprogramm 402,
ein Wiederherstellungssteuerprogramm 406 und Programme
der Journalsteuerung 405.
-
Die
Speichersteuerung 11 führt
diese Programme durch den Prozessor 12 aus, um die nachstehend
beschriebene Verarbeitung zu steuern.
-
Das
E/A-Verarbeitungsprogramm 403 beinhaltet weiterhin ein
Befehlsverarbeitungsprogramm 415 und ein Lese/Schreib-Verarbeitungsprogramm 416.
Nach Empfang eines E/A-Verarbeitungsrequests vom Host 1 über die
Netzwerkschnittstelle 17 führt die Speichersteuerung 11 das
Befehlsverarbeitungsprogramm 415 aus, um die Inhalte des
E/A-Verarbeitungsrequests zu analysieren. Als Ergebnis der Analyse
führt,
wenn die Inhalte des E/A-Verarbeitungsrequests einen Datenlese-E/A-Request
(Lese-E/A) oder einen Datenschreib-E/A-Verarbeitungsrequest (Schreib-E/A)
angeben, die Speichersteuerung 11 das Lese/Schreib-Verarbeitungsprogramm 416 aus.
-
Für einen
Schreib-E/A-Verarbeitungsrequest steuert die Speichersteuerung 11 den
Betrieb wie folgt. Die Steuerung 11 führt die Antwortverarbeitung für den Schreib-E/A-Verarbeitungsrequest
vom Host 1 aus (eine Antwort, um mitzuteilen, ob die Speichersteuerung 11 in
einem Zustand ist, um Daten, die tatsächlich vom Host 1 übertragen
wurden, zu empfangen oder nicht). Die Speichersteuerung 11 schreibt Aktualisierungsdaten
(Schreibdaten), die zu ihr übertragen
wurden, in eine vorgegebene Stelle des Cache-Speichers 14 oder
des physikalischen Speichers 10. Oder die Speichersteuerung 11 schreibt
im Cache-Speicher 14 gespeicherte Schreibdaten in den physikalischen
Speicher 10. Für
einen Lese-E/A-Verarbeitungsrequest steuert die Speichersteuerung 11 die
Verarbeitung wie folgt. Die Steuerung 11 liest Daten (Lesedaten),
die dem Lese-E/A-Verarbeitungsrequest entsprechen, aus einer vorgegebenen
Stelle des Cache-Speichers 14 oder des physikalischen Speichers 10 und überträgt die Daten
an den Host 1. Oder die Steuerung 11 liest Lesedaten
aus dem physikalischen Speicher 10, um die Daten im Cache-Speicher 14 zu
speichern.
-
Für eine andere
Verarbeitung, zum Beispiel die Verarbeitung eines Inquiry-Befehls
von SCSI (ein Befehl zur Anzeige einer Gerätesuche), führt die Speichersteuerung 11 das
Befehlsverarbeitungsprogramm 415 zur Steuerung der Operation
aus, die den Inhalten der Verarbeitung entspricht.
-
Das
Speicheruntersystem-Konfigurationsmanagementprogramm 402 beinhaltet
Vorrichtungsmanagementinformation 410 und ein Vorrichtungsmanagementprogramm 409.
Die Vorrichtungsmanagementinformation 410 beinhaltet Tabellen,
um Information, die eine Übereinstimmung
zwischen Adressen der logischen Speicher 408 und denjenigen
der physikalischen Speicher 10, Information, die die physikalischen
Speicher 10 betrifft, welche die Paritätsgruppen bilden, Information,
die Schnappschusspaare 450 betrifft, und Journaldatenspeicherobjektivinformation
weiter abzubilden.
-
Das
Vorrichtungsmanagementprogramm 409 ist ein Programm, das
durch die Speichersteuerung 11 zur Steuerung der Vorrichtungsmanagementinformation 410 ausgeführt wird.
Durch Ausführen des
Vorrichtungsmanagementprogramms 409 stellt die Speichersteuerung 11 beispielsweise
einen logischen Speicher 408 als Speicherziel einer Definition eines
logischen Speichers 408 und eines vom Managementterminal 3 eingegebenen
Schnappschusses ein und registriert Information als Objekt, für das Journaldaten
gespeichert werden.
-
Zur
Ausführung
einer Lese/Schreib-E/A-Verarbeitung für Daten führt die Speichersteuerung 11 das
Vorrichtungsmanagementprogramm 409 aus, um eine Adresse
von einem der physikalischen Speicher 10 zu berechnen,
die einer Adresse des logischen Speichers 408 entspricht,
aus der durch den Lese/Schreib-E/A-Verarbeitungsrequest spezifizierte
Lesedaten ausgelesen werden oder in die von dem Lese-Schreib-E/A-Verarbeitungsrequest
spezifizierte Schreibdaten geschrieben werden. Unter Verwendung
eines Ergebnisses der Berechnung greift die Speichersteuerung 11 auf
den physikalischen Speicher 10 zu.
-
Das
Journalmanagementprogramm 405 beinhaltet ein Journalerzeugungsprogramm 419,
das ausgeführt
wird, wenn die Speichersteue rung 11 Journaldaten erzeugt,
ein Journalleseprogramm 420, das ausgeführt wird, wenn die Speichersteuerung 11 im
Voraus erzeugte Journaldaten liest, Journalmanagementinformation 418,
bei der Information hinsichtlich des logischen Speichers 408 als
Objektjournalbeschaffung registriert ist, und ein Journalmanagementprogramm 417,
das ausgeführt
wird, wenn die Speichersteuerung 11 beispielsweise die
Journalmanagementinformation 418 einstellt.
-
Wenn
ein Schreib-E/A-Verarbeitungsrequest empfangen wird, wenn die Speichersteuerung 11 Journaldaten
erhält
(ein Journalmodus), führt
die Speichersteuerung 11 das Journalerzeugungsprogramm 419 aus,
um Schreibdaten in den Cache-Speicher 14 zu schreiben und
vorherige Daten (Schreibobjektivdaten), die an einer Stelle vorhanden sind,
um die Schreibdaten zu speichern, und die Schreibdaten in einen
vorbestimmten Bereich zu schreiben, der im Cache-Speicher 14 für die Journaldatenerzeugung
reserviert ist.
-
Die
Schreibobjektivdaten und die Schreibdaten, die im Cache-Speicher 14 gespeichert
sind, werden als Journaldaten einer Aktualisierungsgeschichte im
logischen Speicher 408 (nachstehender logischer Journalspeicher)
zum Speichern der Journaldaten gespeichert. Die Speichersteuerung 11 führt den
Wiederherstellungsmanager 406 und das Journalleseprogramm 420 aus,
um gemäß einer
Angabe vom Host 1 Journaldaten, die im logischen Journalspeicher 408 gespeichert
sind, sequenziell zu lesen, um die Journaldaten in den Speicherbereich
des logischen Speichers 408 als Kopieziel oder den logischen
Speicher 408 als Kopiequelle, die durch eine Adresse der
so aus dem logischen Journalspeicher 408 gelesenen Journaldaten
angegeben wird, zu schreiben.
-
Das
Schnappschusssteuerprogramm 404 beinhaltet ein Kopieverarbeitungsprogramm 413,
differenzielle Information 414, ein Paarsteu ermanagementprogramm 411 und
Paarmanagementinformation 412. Durch Ausführen des
Paarsteuermanagementprogramms 411 führt die Speichersteuerung 11 gemäß einer
Angabe vom Host 1 eine Paarerzeugung (Paar erzeugen), ein
Paarsplitten (Paar splitten), eine Paar-Resynchronisation (Paar-Resync.) oder
eine Paarlöschung
(Paar löschen)
für einen
logischen Speicher 408 (einen logischen Hauptspeicher)
und einen logischen Speicher 408 (einen untergeordneten
logischen Speicher) aus, um eine Kopie von im logischen Hauptspeicher 408 gespeicherten Daten
zu speichern. In der Beschreibung bezeichnet „Paar" ein Paar, das einen logischen Hauptspeicher und
einen diesem entsprechenden untergeordneten logischen Speicher einschließt (ein
Schnappschusspaar 450).
-
Für einen
logischen Hauptspeicher können mehrere
untergeordnete logische Speicher eingestellt und erzeugt werden.
Auch ist es möglich,
dass ein untergeordneter logischer Speicher als neuer logischer
Hauptspeicher spezifiziert und ein untergeordneter logischer Speicher
eingestellt und erzeugt wird, um mit dem neuen logischen Hauptspeicher
gepaart zu werden.
-
Die
Paarmanagementinformation 412 wird zum Registrieren von
Information verwendet, welche angibt, dass ein Schnappschusspaar 450 von
logischen Speichern in einem paar-synchronen Zustand eines Paarduplexzustands,
einem paar-asynchronen Zustand eines Paarduplexzustands, einem Paarerzeugungszustand
(Paar erzeugen) oder einem Paarsimplexzustand ist. Der paar-synchrone
Zustand ist ein Zustand, in dem ein logischer Hauptspeicher und ein
untergeordneter logischer Speicher durch eine Schreib-E/A vom Host 1 synchron
aktualisiert werden. Der paar-asynchrone Zustand ist ein Zustand,
in dem ein logischer Hauptspeicher und ein untergeordneter logischer
Speicher durch eine Schreib-E/A vom Host 1 asynchron aktualisiert
werden. Im paar-asynchronen Zustand werden Schreibda ten durch die
differenzielle Information 414 verwaltet, bis sich eine Aktualisierung
des logischen Hauptspeichers im untergeordneten logischen Speicher
widerspiegelt.
-
Die
differenzielle Information 414 wird verwendet, um beispielsweise
Adressinformation aufzubewahren, die auf einen Teil der Differenz
zwischen dem logischen Hauptspeicher und dem untergeordneten logischen
Speicher weist, der durch das Auftreten einer Datenschreiboperation
im logischen Hauptspeicher bewirkt wird, wenn ein Paar aus einem
logischen Hauptspeicher und einem untergeordneten logischen Speicher
in dem paar-asynchronen oder Simplexzustand ist.
-
Durch
Ausführen
des Kopieverarbeitungsprogramms 413 kopiert die Speichersteuerung 11 bei der
Paarerzeugung Daten aus dem logischen Hauptspeicher auf den untergeordneten
logischen Speicher, wobei sie bei einer ersten Adresse des logischen
Hauptspeichers beginnt, um Daten zu sichern, das heißt, um so
Sicherungsdaten des logischen Hauptspeichers im untergeordneten
logischen Speicher zu erzeugen. Des Weiteren bezieht sich die Speichersteuerung 11 auf
die differenzielle Information 414, um Daten des differenziellen
Teils aus dem logischen Hauptspeicher auf den untergeordneten logischen
Speicher zu kopieren. Umgekehrt bezieht sich die Speichersteuerung 11 auf
die differenzielle Information 414, um Daten des differenziellen
Teils aus dem untergeordneten logischen Speicher auf den logischen
Hauptspeicher zu kopieren.
-
Das
Sicherungs-/Wiederherstellungssteuerprogramm 406 beinhaltet
ein Wiederherstellungsprogramm 421 und ein Sicherungsprogramm 422.
Durch Ausführen
des Wiederherstellungsprogramms 421 stellt die Speichersteuerung 11 gemäß einem
Wiederherstellungsrequest vom Host 1 Daten eines durch
den Request spezifizierten logischen Speichers wieder her. Die Wiederherstellungsverarbeitung
wird später
im Detail beschrieben.
-
Das
Sicherungsprogramm 422 wird ausgeführt, wenn die Speichersteuerung 11 gemäß beispielsweise
einer Angabe vom Host 1 eine Kopie eines logischen Speichers 408 erzeugt
oder Daten des Speichersystems 2 auf einen anderen Speicher,
zum Beispiel auf ein Band, überträgt.
-
5 ist
ein Diagramm, das Beispiele von Programmen, die auf dem Host 1 laufen
sollen, und von Daten, die von den Programmen verwendet werden,
zeigt. Diese Programme werden in einer lokalen Plattenvorrichtung 22 oder
einem Speicher 21 des Hosts 1 gespeichert und
durch den Prozessor 20 ausgeführt. Der Host 1 beinhaltet
eine Datenbankmanagementsoftware (DSMS) 501 als Anwendungsprogramm,
das unter einem Betriebssystem (BS) 500 laufen soll. Die
Datenbankmanagementsoftware 501 greift auf das Speichersystem 2 beispielsweise über das
Betriebssystem 500, ein Dateisystem (DS) 530 oder
einen Volumenmanager (VM) 540 zu. Die Datenbankmanagementsoftware 501 kommuniziert eine
E/A-Verarbeitung, wie etwa eine Transaktionsverarbeitung, mit einem
anderen Anwendungsprogramm 520 des Benutzers.
-
Die
Datenbankmanagementsoftware (DSMS) 501 beinhaltet eine
Datenbank(DB)-Datei 505, eine Log-Datei 506, eine
Indexdatei 507, einen Datenbankpuffer (509), einen
Log-Puffer 510, eine Geräteinformationsdatei 511,
eine Zustandsdatei 508, eine Datenbankdefinitionsdatei 512,
einen Transaktionsmanager 502, einen Log-Manager, einen
Puffermanager 513 und einen Ressourcenmanager 504.
-
Der
Datenbankpuffer 509 ist ein Bereich zur Verbesserung der
Verarbeitungsleistung der Datenbankmanagementsoftware 501.
Der Be reich ist im Speicher 21 des Hosts 2 für die Software 510 exklusiv
reserviert. Der Puffer 509 hält vorübergehend Daten, auf die die
Software 501 häufig
zugreift. Wie der Puffer 509 ist auch der Log-Puffer 510 im
Speicher 21 reserviert, um eine Verarbeitungsaufzeichnung
(eine Log-Aufzeichnung) der Software 501 vorübergehend zu
speichern.
-
Die
Datenbankdatei 505 beinhaltet Datenbankdaten, wie etwa
Datenbanktabellen. Die Tabellen sind tatsächlich in einem physikalischen
Speicher 10 des Speichersystems 2 gespeichert.
Der Datenbankpuffer 509 speichert vorübergehend Daten, wie etwa häufig verwendete
Tabellen, und die Software 501 führt eine Transaktionsverarbeitung
unter Heranziehung der Daten durch. Wenn die für die Verarbeitung angefragten
Daten nicht im Puffer 509 sind, liest die Software 501 Daten
aus dem Speichersystem 2 aus.
-
Auch
die Log-Datei 506 ist tatsächlich in einem physikalischen
Speicher 10 des Speichersystems 2 gespeichert.
Die Log-Datei 506 speichert nacheinander Log-Dateien von
Verarbeitungen, wie etwa eine Transaktionsverarbeitung durch die
Software 501. Die Log-Dateien beinhalten einen Identifizierer
eines Anwendungsprogramms, das die Verarbeitung ausgeführt hat,
einen Verarbeitungssequenz-Identifizierer, einen Verarbeitungszeitpunkt, Daten
nach der Verarbeitung, Daten vor der Verarbeitung. In einem Aufzeichnungsvorgang
werden Daten zusätzlich
in sequenzieller Weise unter Verwendung des Log-Puffers 510 aufgezeichnet.
Wenn das Anwendungsprogramm 520 nach einer Verarbeitungssequenz
oder wenn die Software 501 eine Sync.-Verarbeitung ausführt, um
in einem Puffer in einem physikalischen Speicher 10 gespeicherte
Dirty-Daten in einem Intervall einer festgelegten Zeitspanne oder
in einem Intervall einer festgelegten Anzahl von Transaktionen zu
speichern, Information in übereinstim mendem
Zustand an den Speicher übergibt,
zeichnet die Log-Datei 506 einschlägige Information auf, die den
Zustand angibt.
-
Durch
Ausführen
des Transaktionsmanagers 502 führt der Host 1 eine
Transaktionsverarbeitung für
eine Datenbank aus, liest in der Log-Datei 506 gespeicherte
Daten aus zur Ausführung
der Datenwiederherstellung oder steuert einen Checkpoint. Durch Ausführen des
Log-Managers 503 steuert der Host 1 Eingabe- und
Ausgabeoperationen für
eine Datenbank.
-
Als
Nächstes
wird ein Umriss des Betriebs der Ausführungsform beschrieben. In
der Ausführungsform
eines Informationsverarbeitungssystems erzeugt das Speichersystem 2 einen
logischen Hauptspeicher und einen untergeordneten logischen Speicher
einschließlich
Sicherungsdaten (Schnappschussdaten) von Daten, die im logischen
Hauptschalter zu einem bestimmten Zeitpunkt enthalten sind, und
hält dann
den logischen Haupt- und den untergeordneten logischen Speicher.
Jedes Mal, wenn ein Schreib-E/A-Request vom Host 1 empfangen wird,
nachdem der Schnappschuss erzeugt ist, zeichnet das Speichersystem 2 Daten
vor der Schreib-E/A-Verarbeitung und Daten nach der Schreib-E/A-Verarbeitung
(Schreibdaten und Schreibobjektivdaten) als Journaldaten (Aktualisierungsgeschichte)
auf.
-
Der
Host 1 teilt dem Speichersystem 2 Checkpointinformation
(CP-Information)
mit, d. h. eine vom Host 1 erzeugte bestimmte Identifizierungsinformation.
Insbesondere schreibt der Host 1 Checkpointinformation
in Journaldaten des Speichersystems 2 zu einem bestimmten
Zeitpunkt, beispielsweise bei der Verarbeitung (Sync.-Verarbeitung)
zum Abgleich von Daten zwischen dem Host 1 und dem Speichersystem 2.
Als Ergebnis hält
das Speichersystem 2 die Checkpointinformation gleich derjenigen,
die durch den Host 1 erzeugt wurde. Das heißt, die
Checkpointinformation, die im Stand der Technik nur durch den Host 1 gesteuert
wird, wird sowohl vom Host 1 als auch dem Speichersystem 2 gesteuert.
Im Ergebnis stellt das Speichersystem 2 unter Verwendung
von Checkpointinformation, die vom Host 1 angegeben wird,
und derjenigen, die in den Journaldaten des Speichersystems 2 gespeichert
ist, mit hoher Geschwindigkeit zu einem vom Host 1 gewünschten Zeitpunkt
(bei der Erzeugung der Checkpointinformation) einen Zustand von
Daten wieder her, die in dem Speichersystem 2 enthalten
sind.
-
Zur
Ausführung
einer solchen Verarbeitung sendet der Host 1 zuvor an das
Speichersystem 2 eine Anzeige zur Vorbereitung der Beschaffung
von Journaldaten (Journalbeschaffungsvorbereitungsanzeige) und eine
Journalbeschaffungsbeginnanzeige. In Reaktion darauf beginnt das
Speichersystem 2 die Beschaffung von Journaldaten und tritt
in den Journalmodus ein. Danach kommuniziert das Informationsverarbeitungssystem
die vorstehend beschriebene Checkpointinformation.
-
Als
Nächstes
erfolgt die Beschreibung der Verarbeitung, die durch das Speichersystem 2 ausgeführt wird,
wenn der Host 1 eine Journalbeschaffungsvorbereitungsanzeige
an das Speichersystem 2 ausgibt.
-
Die
Journalbeschaffungsvorbereitungsanzeige beinhaltet Information zur
Spezifizierung eines logischen Journalspeichers und eine Anzeige
zur Erzeugung eines logischen Hauptspeichers und eines untergeordneten
logischen Speichers. Nach dem Empfang der Journalbeschaffungsvorbereitungsanzeige
führt das
Speichersystem 2 zum Beispiel die Zuteilung eines Datenspeicherbereichs
gemäß der Anzeige
durch. Der logische Haupt- und der untergeordnete logische Speicher
können
in einem Schnappschusspaar 450 sein, bevor die Journalbe schaffungsvorbereitungsanzeige
empfangen wird. Jedoch stellt in der Ausführungsform das Speichersystem
ein neues Schnappschusspaar 450 unter Verwendung von logischen
Speichern 408 gemäß der Anzeige
ein.
-
Das
Speichersystem 2 erzeugt dann Schnappschussdaten des logischen
Hauptspeichers in einem spezifizierten untergeordneten logischen Speicher.
Insbesondere kopiert das Speichersystem 2 auf den untergeordneten
logischen Speicher Daten, die bereits im logischen Hauptspeicher
gespeichert sind, wenn das Speichersystem 2 die Journalbeschaffungsvorbereitungsanzeige
zum Synchronisieren des Zustands zwischen dem logischen Haupt- und
dem untergeordneten logischen Speicher empfangt. Wenn die spezifizierte
untergeordnete logische Datei ein untergeordneter logischer Speicher
ist, der in einem Schnappschusspaar 450 mit einem logischen
Hauptspeicher ist, bevor die Journalbeschaffungsvorbereitungsanzeige
ausgegeben wird, stellt das Speichersystem 2 nur den untergeordneten
und logischen Hauptspeicher in einen synchronen Status ein.
-
Gemäß der Anzeige
vom Host 1 stellt das Speichersystem 2 auch einen
logischen Journalspeicher entsprechend dem logischen Hauptspeicher ein.
-
Als
Nächstes
gibt der Host eine Journalbeschaffungsstartanzeige an das Speichersystem 2 aus.
Die Angabe beinhaltet einen Checkpoint-Identifizierer (CPID), d. h. eine erste
Checkpointinformation, welche den Start der Journalbeschaffung angibt. Das
Speichersystem 2 zeichnet den vom Host 1 empfangenen
ersten CPID auf und beginnt dann mit der Beschaffung der Journaldaten.
Ein danach vom Host 1 übertragener
Checkpointbefehl beinhaltet einen anderen CPID als den ersten CPID.
Das Speichersystem 2 zeichnet den CPID als Journaldaten auf.
-
6 ist
ein Flussdiagramm, das im Detail die Verarbeitung des Speichersystems 2 zeigt,
wenn eine Journalbeschaffungsvorbereitungsanzeige und eine Journalbeschaffungsstartanzeige
vom Host 1 empfangen werden.
-
Durch
Ausführen
des Datenbankmanagers 501 sendet der Host 1 eine
Journalbeschaffungsvorbereitungsanzeige an das Speichersystem 2.
In der Ausführungsform
wird ein logischer Speicher 408, der vom Datenbankmanager 501 zu
nutzende gespeicherte Datenbanktabellen aufweist, als logischer Hauptspeicher
spezifiziert. Die Journalbeschaffungsvorbereitungsanzeige beinhaltet
einen Identifizierer, der einen logischen Hauptspeicher angibt,
einen Identifizierer, der einen untergeordneten logischen Speicher
zum Speichern von Schnappschussdaten von Daten angibt, die in dem
logischen Hauptspeicher zu einem Zeitpunkt gespeichert sind, wenn
das Speichersystem 2 die Journalbeschaffungsvorbereitungsanzeige
empfangt, und einen Identifizierer, der einen logischen Journalspeicher
angibt (Schritt 601).
-
Die
Journaldaten beinhalten Schreibobjektivdaten und Schreibdaten, die
einem Schreib-E/A-Verarbeitungsrequest zugeordnet sind, nachdem
die Schnappschussdaten erzeugt wurden, und Adresseninformation,
die Speicherpositionen dieser Datenposten im logischen Hauptspeicher
angibt. Ein spezifisches Beispiel der Konfiguration wird später beschrieben.
-
Der
untergeordnete logische Speicher und der logische Journalspeicher
zum Speichern von Schnappschussdaten können zuvor gemäß einer
anderen Anzeige als der Journalbeschaffungsvorbereitungsanzeige
eingestellt werden. In diesem Fall ist es nicht notwendigerweise
erforderlich, dass die Anzeige die Identifizierer beinhaltet, die
die logischen Speicher 408 angeben.
-
Die
Speichersteuerung 11, die die Journalbeschaffungsvorbereitungsanzeige
vom Host 1 empfangen hat, bezieht sich auf die Vorrichtungsmanagementinformation 410 unter
Verwendung eines Identifizierers, der in der Anzeige enthalten ist,
um einen untergeordneten logischen Speicher anzugeben, und bestätigt dann
die Anwesenheit oder Abwesenheit der Spezifizierung einer ungültigen Vorrichtung,
zum Beispiel die Anwesenheit oder Abwesenheit des spezifizierten
untergeordneten logischen Speichers, die Anwesenheit oder Abwesenheit
des Auftretens eines Ausfalls und einen Zustand eines logischen
Speichers, zum Beispiel, ob der spezifizierte untergeordnete logische
Speicher bereits für
eine andere Verarbeitung benutzt wird oder nicht. Wenn der spezifizierte
untergeordnete logische Speicher als Ergebnis der Bestätigung zur
Verfügung
steht, stellt die Speichersteuerung 11 an die Vorrichtungsmanagementinformation 410 Information
ein, dass der spezifizierte untergeordnete logische Speicher gerade
ein Journal erzeugt, stellt Journalmanagementinformation hinsichtlich
des spezifizierten untergeordneten logischen Speichers an die Journalverwaltungsinformation 418 ein
und stellt den Paarerzeugungszustand ein (Schritt 602).
-
Gleichermaßen bezieht
sich die Speichersteuerung 11 auf die Vorrichtungsmanagementinformation 410 unter
Verwendung eines Identifizierers, der einen logischen Journalspeicher
angibt, um die Anwesenheit oder Abwesenheit der Spezifizierung einer
ungültigen
Vorrichtung für
den spezifizierten logischen Journalspeicher und den Zustand des
logischen Journalspeichers zu bestätigen. Wenn der spezifizierte
logische Journalspeicher zur Verfügung steht, registriert die
Speichersteuerung 11 zu der Vorrichtungsmanagementinformation 410 Information, welche
angibt, dass der spezifizierte logische Journalspeicher ein Journal
erzeugt (Schritt 603).
-
Als
Nächstes
führt die
Speichersteuerung 11 die Verarbeitung zur Erzeugung von
Schnappschussdaten des logischen Hauptspeichers in dem untergeordneten
logischen Speicher aus (Schnappschusserzeugungsverarbeitung). In
der Schnappschusserzeugungsverarbeitung werden Daten, die zuvor
in dem logischen Hauptspeicher bei Empfang des Befehls, der die
Journalbeschaffungsvorbereitungsanzeige angibt, gespeichert wurden,
sequenziell auf den untergeordneten logischen Speicher übertragen.
In einem Fall, in dem die Anzeige der Journalbeschaffungsvorbereitung
keine Anzeige eines untergeordneten logischen Speichers beinhaltet
und das Managementterminal 3 zuvor einen untergeordneten
logischen Speicher in einem Paar des Duplexzustands oder in einem
Fall, in dem selbst dann, wenn eine Angabe eines untergeordneten
logischen Speichers eingeschlossen ist, wenn der spezifizierte untergeordnete
logische Speicher in dem Duplexzustand mit einem logischen Hauptspeicher
ist, ist es nicht notwendig, die Schnappschusserzeugungsverarbeitung
auszuführen.
-
Es
sei angenommen, dass der Host 1 einen Schreib-E/A-Verarbeitungsrequest
für Daten
ausgibt, die im logischen Hauptspeicher gespeichert sind, während das
Speichersystem 2 die Schnappschusserzeugungsverarbeitung
ausführt.
Wenn Schreibobjektivdaten noch nicht auf den untergeordneten logischen
Speicher kopiert sind, wenn der Request ausgegeben wird, schreibt
die Speichersteuerung 11 Schreibdaten in den logischen
Hauptspeicher. Wenn Schreibobjektivdaten bereits auf den untergeordneten
logischen Speicher kopiert sind, wenn der Request ausgegeben wird,
schreibt die Speichersteuerung 11 Schreibdaten in den logischen
Hauptspeicher und den untergeordneten logischen Speicher (Schritt 604).
-
Wenn
die Schnappschusserzeugungsverarbeitung abgeschlossen ist, stellt
die Speichersteuerung 11 die Paarmanagementinformation
auf den Duplexzustand ein (Schritt 605) und meldet den
Abschluss der Journalbeschaffungsvorbereitungsanzeige an den Host 1,
von dem die Anzeige der Journalbeschaffungsvorbereitung ausgegeben
wurde. In dem Schnappschusspaar 450 im Duplexzustand spiegeln
sich in den logischen Hauptspeicher geschriebene Daten ebenfalls
in dem untergeordneten logischen Speicher wider (Schritt 606).
-
Der
Host 1, der die Abschlussmeldung der Journalbeschaffungsvorbereitungsanzeige
empfangen hat, sendet eine Journalbeschaffungsstartanzeige an das
Speichersystem 2 zu einer bestimmten Zeit, zum Beispiel,
wenn das Informationsverarbeitungssystem in einem übereinstimmenden
Zustand ist; zu einem spezifizierten Zeitpunkt oder vor oder nach
der Verarbeitung einer bestimmten Transaktion (Schritt 607).
-
Die
Speichersteuerung 11, die die Journalbeschaffungsstartanzeige
empfangen hat, bestätigt, dass
kein Fehler im logischen Journalspeicher und in den zuvor vorbereiteten
logischen Haupt- und untergeordneten logischen Speicher auftritt,
und sendet dann eine Bereitschaftserwiderung in Reaktion auf die
Journalbeschaffungsstartanzeige zurück (Schritt 608).
-
Danach
stellt die Speichersteuerung den logischen Haupt- und untergeordneten
logischen Speicher auf den Paarsplitzustand ein. Insbesondere stellt
die Speichersteuerung 11 einen Zustand ein, in dem, selbst
wenn ein Schreib-E/A-Verarbeitungsrequest vom Host 1 empfangen
wird, die Aktualisierung des logischen Hauptspeichers überhaupt
nicht im untergeordneten logischen Speicher widergespiegelt wird
(Schritt 609).
-
Andererseits
sendet der Host 1, der die Bereitschaftserwiderung empfangen
hat, Checkpointinformation einschließlich eines Checkpoint- Identifizierers (CPID)
unter Verwendung eines Checkpointbefehls (Schritt 610).
-
Das
Speichersystem 2, das die Checkpointinformation empfangen
hat, speichert in dem logischen Journalspeicher Journaldaten einschließlich der
empfangenen Checkpointinformation, d. h. den CPID und eine Verarbeitungssequenznummer
und einen Verarbeitungszeit in dem Speichersystem 2. Oder
das Speichersystem 2 speichert die Checkpointinformation
in dem nichtflüchtigen
Speicher 15 oder dem gemeinsam genutzten Speicher 19 der
Speichersteuerung 11 (Schritt 611).
-
Nach
Empfang des Checkpointbefehls sendet der Host 1 Schreibdaten
aus dem Speicher 21 des Hosts 1 an das Speichersystem 2 (Schritt 612).
-
Nach
Empfang der Schreibdaten schreibt die Speichersteuerung 11 die
Schreibdaten in den logischen Hauptspeicher und dann Schreibobjektivdaten und
die Schreibdaten in den logischen Journalspeicher (Schritt 613).
-
Nachdem
der Checkpointbefehl empfangen worden ist, tritt das Speichersystem 2 in
den Journalmodus ein, um die Beschaffung von Journaldaten fortzusetzen.
Bei einem durch einen Datenbankmanager gesetzten Intervall, beispielsweise
bei einem Intervall einer festgelegten Zeitspanne oder einer festgelegten
Anzahl von Transaktionen, sendet der Host 1 alle Daten
des Datenbankpuffers 509 zum entsprechenden Zeitpunkt an
das Speichersystem 2. Beim Zeitablauf zum Teilen der Checkpointinformation
zwischen dem Speichersystem 2 und dem Host sendet der Host 1 einen
Checkpointbefehl, welcher den Zeitablauf zum Teilen der Checkpointinformation angibt,
an das Speichersystem 2.
-
Wenn
der Checkpointbefehl im Journalmodus empfangen wird, speichert die
Speichersteuerung 11 die Checkpointinformation als Journaldaten im
logischen Journalspeicher, dem nichtflüchtigen Speicher 15 oder
dem gemeinsam genutzten Speicher 19.
-
7 ist
ein Flussdiagramm, das einen Verarbeitungsablauf zeigt, der verwendet
wird, wenn das Speichersystem 2 im Journalmodus einen Lese-/Schreib-E/A-Verarbeitungsrequest
vom Host 1 empfängt.
-
Nach
Empfang eines Lese- oder Schreib-E/A-Verarbeitungsrequests vom Host 1 bestimmt
die Speichersteuerung 11 (Schritt 701), ob der empfangene
Verarbeitungsrequest ein Schreib-E/A-Verarbeitungsrequest ist oder
nicht (Schritt 702). Wenn der Request ein anderer als ein Schreib-E/A-Verarbeitungsrequest
ist, liest die Speichersteuerung 11 unter Verwendung der
Vorrichtungsmanagementinformation 410 Daten als ein Objekt
des Lese-E/A-Verarbeitungsrequests aus einem zugehörigen physikalischen
Speicher 10 oder dem Cache-Speicher 14 und überträgt dann
die gelesenen Daten über
die E/A-Schnittstelle 16 an
den Host 1 (Schritt 709).
-
Wenn
in Schritt 702 bestimmt wird, dass der Request ein Schreib-E/A-Verarbeitungsrequest
ist, bezieht sich die Speichersteuerung 11 auf die Vorrichtungsmanagementinformation 410,
um zu bestimmen, ob der durch den Schreib-E/A-Verarbeitungsrequest
spezifizierte logische Speicher 408 ein logischer Hauptspeicher
im Journalmodus ist oder nicht (Schritt 703). Wenn der
logische Speicher 408 ein anderer als ein logischer Hauptspeicher
im Journalmodus ist, reserviert die Speichersteuerung 11 einen
Bereich im Cache-Speicher 14, um Schreibdaten im Zusammenhang
mit dem Schreib-E/A-Verarbeitungsrequest zu speichern (Schritt 707).
Die Speichersteuerung 11 speichert dann die Schreibdaten
in dem im Cache-Speicher 14 reservierten Bereich und teilt
die Beendigung der Schreib-E/A-Verarbeitung dem Host 1 mit
(Schritt 708).
-
Die
Speichersteuerung 11 kann die Beendigung der Schreib-E/A-Verarbeitung an den
Host 1 melden, nachdem die Daten des Cache-Speichers 14 im
physikalischen Speicher 10 gespeichert sind, oder kann
die Schreibdaten direkt in dem physikalischen Speicher 10 ohne
Verwendung des Cache-Speichers 14 speichern.
-
Wenn
andererseits in Schritt 703 bestimmt wird, dass der logische
Speicher 408 als Objekt der Schreib-E/A-Verarbeitung ein
logischer Hauptspeicher im Journalmodus ist, reserviert die Speichersteuerung 11 einen
Bereich im Cache-Speicher 14, um die Schreibdaten zu speichern,
und speichert dann die vom Host 1 gesendeten Schreibdaten
in dem Bereich.
-
Anders
als die Schreiboperation zum Schreiben der Schreibdaten in einen
gewöhnlichen
logischen Speicher 408 werden aufeinander folgende Schreiboperationen
mehrerer Schreibdatenposten unter Verwendung einer Adresse ausgeführt, die
für die
Schreiboperationen so spezifiziert ist, dass die Speichersteuerung 11 die
jeweiligen Schreibdatenposten in verschiedenen Bereichen des Cache-Speichers 14 aus
den folgenden Gründen
speichert. Es sei angenommen, dass Schreibobjektivdaten als Objekt
des Schreib-E/A-Verarbeitungsrequests in dem Cache-Speicher 14 vorhanden
sind, aber deren Schreibdaten nicht in dem physikalischen Speicher 10 reflektiert
werden. In dieser Situation gehen, wenn die in dem Cache-Speicher 14 vorhandenen
Schreibobjektivdaten wie bei einer gewöhnlichen Schreiboperation aktualisiert
werden, die Schreibobjektivdaten vor der Aktualisierung verloren
und können
daher nicht in dem logischen Journalspeicher gespeichert werden
(Schritt 705). Danach führt
die Speichersteue rung 11 eine Journaldatenerzeugungsverarbeitung aus
und beendet die Verarbeitung (Schritt 706).
-
8 ist
ein Flussdiagramm, das einen Ablauf der Journaldatenerzeugungsverarbeitung
in Schritt 706 der 7 zeigt.
Nachdem sie die Schreibdaten im Cache-Speicher 14 gespeichert
hat, reserviert die Speichersteuerung 11 einen Bereich
im Cache-Speicher 14, um vorübergehend Journaldaten zu speichern
(Schritt 901).
-
Die
Speichersteuerung 11 kopiert die Schreibdaten aus dem Cache-Speicher 14 auf
den Bereich, der als Journaldatenspeicherbereich im Cache-Speicher 14 reserviert
ist, zusammen mit Checkpointinformation, einer Verarbeitungssequenznummer
und einer Verarbeitungszeit (Schritte 902 und 903).
Jedoch speichert ein Eintrag des CPID 1007 in der Checkpointinformation
einen Checkpoint-Identifizierer nur, wenn vom Host 1 ein
Checkpointbefehl empfangen wird. In anderen Fällen speichert der Eintrag
des CPID 1007 ungültige
Daten. Die Verarbeitungssequenznummer ist eine Verarbeitungssequenznummer,
die durch den Prozessor 12 für jede Ausführung der Verarbeitung zugeteilt
wird.
-
Gleichzeitig
reserviert die Speichersteuerung 11 einen Bereich im Cache-Speicher 14,
um Schreibobjektivdaten zu speichern, die zu aktualisieren oder
durch die im Cache-Speicher 14 gespeicherten Schreibdaten
zu ersetzen sind. Die Steuerung 11 liest die Schreibobjektivdaten
aus dem physikalischen Speicher 10 oder dem Cache-Speicher 14 und
speichert die Schreibobjektivdaten in dem Speicherbereich, der in
dem Cache-Speicher 14 reserviert ist (Schritte 904 und 905).
Als Ergebnis erzeugt die Speichersteuerung 11 Journaldaten
einschließlich
der Schreibdaten, der Schreibobjektivdaten, der Checkpointinformation,
der Verarbeitungssequenznummer und der Verarbeitungszeit.
-
Nachdem
die Verarbeitung vollständig
abgeschlossen ist, kehrt die Speichersteuerung 11 zur Verarbeitung
der 7 zurück.
Die im Cache-Speicher 14 erzeugten Journaldaten werden
auf asynchrone Weise bezüglich
der Erzeugung der Journaldaten im Cache-Speicher 14 aus
dem Cache-Speicher 14 zum physikalischen Speicher 10 bewegt (Schritt 906).
-
9 zeigt
ein Datenformat von Journaldaten.
-
Wie
in Verbindung mit 6 beschrieben, werden nach dem
Empfang der Journalbeschaffungsvorbereitungsanzeige im Cache-Speicher 14 jedes
Mal Journaldaten erzeugt, wenn das Speichersystem 2 einen
Schreib-E/A-Verarbeitungsrequest für einen logischen Hauptspeicher
verarbeitet. Die Journaldaten werden dann im physikalischen Speicher 10 gespeichert.
Die Journaldaten beinhalten einen Eintrag 1001 zum Speichern
von Checkpointinformation, die einen Systemzustand im Host 1 und
im Speichersystem 2 eindeutig identifiziert, einen Eintrag 1002 zum
Speicher einer Blockadresse, die eine Stelle zum Aktualisieren von
Daten angibt, einen Eintrag 1003 zum Speichern einer Länge von
Schreibdaten zum Aktualisieren von Daten, einen Eintrag 1004 zum
Speichern von Schreibobjektivdaten, die an der Stelle zum Aktualisieren
von Daten gespeichert sind, und einen Eintrag 1005 zum
Speichern der Schreibdaten. Der Checkpointinformationseintrag 1001 beinhaltet
einen Checkpointmerkereintrag 1006, einen Eintrag 1007 zum
Speichern des Checkpoint-Identifizierers (CPID), einen Verarbeitungssequenznummereintrag 1008 und
einen Zeiteintrag 1009.
-
Wenn
das Speichersystem 2 einen Checkpointbefehl und Checkpointinformation
vom Host 1 empfangt, registriert das Speichersystem 2 Information,
die dem Checkpointmerkereintrag 1006 „ein" anzeigt, und speichert einen vom Host 1 gesendeten Checkpoint-Identifizierer
in dem CPID-Eintrag 1007 des Checkpointinformationseintrags 1001 der
Journaldaten, die beim Empfang des Checkpointbefehls erzeugt wurden.
Der im CPID-Eintrag 1007 gespeicherte Checkpoint-Identifizierer
weist einen einzigartigen Wert auf, der einem bestimmten CPID in
der Checkpointinformation entspricht, die in einer vom Host 1 gesteuerten
Log-Datei aufgezeichnet ist. Wenn der Host 1 einen Checkpoint-Identifizierer
spezifiziert, ist es daher möglich,
einen in den Journaldaten gespeicherten Checkpoint-Identifizierer
zu bezeichnen, der dem spezifizierten Checkpoint-Identifizierer
entspricht.
-
10 zeigt
in einem Flussdiagramm einen Verarbeitungsablauf für den Host 1,
um Checkpointinformation an das Speichersystem 2 zu senden. Durch
Ausgeben eines Checkpointbefehls und durch Übertragen von Checkpointinformation
an das Speichersystem 2 kann der Host 1 dem Speichersystem 2 ein
Ereignis mitteilen, dass das Speichersystem 2 einen Zustand
von Daten in der Datenbank bestimmt und einen Checkpoint in der
Log-Datei aufgezeichnet hat (Informationsposten wie etwa ein Checkpoint-Identifizierer
werden aufgezeichnet).
-
Zuerst
sendet der Host 1 einen Schreib-E/A-Verarbeitungsrequest
an das Speichersystem 2 zum erzwungenen Schreiben von Daten, die
in den Puffern des Speichers 21 gespeichert sind, wie etwa
dem Datenbankpuffer 509 und dem Log-Puffer 510,
in das Speichersystem 2. Als Ergebnis der Verarbeitung
kann der Host 1 Daten der Datenbank durch Reflektieren
in den Daten (Dirty-Daten) des Speichersystems 2 bestimmen,
die nur in den Puffern gespeichert und nicht in dem Speichersystem 2 gespeichert
sind (Schritt 1101).
-
Nach
dem Empfang des Schreib-E/A-Verarbeitungsrequests schreibt die Speichersteuerung 11 vom
Host 1 gesendete Daten in den Cache- Speicher 14 (Schritt 1102).
Nachdem die so übertragenen
Daten vollständig
in den Cache-Speicher 14 geschrieben sind, teilt die Speichersteuerung 11 dem
Host 1 die Beendigung der Schreib-E/A-Verarbeitung mit. Bei
dieser Operation erzeugt die Speichersteuerung 11 auch
Journaldaten entsprechend diesen Datenposten (Schritt 1103).
-
Der
Host 1, der die Mitteilung der Beendigung der Schreib-E/A-Verarbeitung
empfangen hat, schreibt keine Daten in das Speichersystem 2,
bis das Speichersystem 2 die Beendigung der in nachfolgenden
Schritten ausgeführten
CPID-Schreibverarbeitung meldet. Jedoch kann der Host 1 eine
Datenleseoperation ausführen.
-
Nachdem
die Beendigung der Schreib-E/A-Verarbeitung mitgeteilt worden ist,
führt der
Host 1 die Verarbeitung des Transaktionsmanagers 502 aus,
um Checkpointinformation und ein Log zu erzeugen, die bei der Checkpointverarbeitung
zu verwenden sind. Insbesondere wird die Checkpointinformation,
wie etwa ein Checkpoint-Identifizierer, als Log in der Log-Datei 506 gespeichert.
Die Checkpointinformation beinhaltet einen Checkpoint-Identifizierer,
die Anzahl von Ressourcenmanagern, Zustände der Ressourcenmanager,
die Anzahl der in Betrieb befindlichen Transaktionen und die Beschreibung
jeder Transaktion. Einzelheiten der Ressourcenmanager werden nicht
beschrieben (Schritte 1104 und 1105). Zur gleichen
Zeit gibt der Host 1 einen Checkpointbefehl an das Speichersystem 2 aus. Der
Befehl beinhaltet einen Checkpoint-Identifizierer (Schritt 1105).
-
Nach
Empfang des Checkpointbefehls vom Host 1 (Schritt 1106)
speichert das Speichersystem 2 den empfangenen Checkpoint-Identifizierer
als Journaldaten im logischen Journalspeicher. In diesem Fall sind
Schreibobjektivdaten und Schreibdaten jeweils für die Einträge 1004 und 1005 der
Journaldaten abwesend. Daher werden Datenposten in diesen Einträgen nicht
gespeichert oder es werden ungülti ge Datenposten
(die jeweils zum Beispiel –1
beinhalten) darin gespeichert (Schritt 1107). Wenn die
Aufzeichnung abgeschlossen ist, teilt die Speichersteuerung 11 dem
Host 1 den Abschluss der Aufzeichnungsoperation mit (Schritt 1108).
-
Wenn
die Meldung des Abschlusses der CPID-Aufzeichnungsoperation vom
Speichersystem 2 empfangen wird, beendet der Host 1 die
Verarbeitung für
die Checkpointinformation (Schritt 1109).
-
11 zeigt
in einem Flussdiagramm einen Verarbeitungsablauf für das Speichersystem 2,
das eine Wiederherstellungsangabe vom Managementterminal 3 oder
dem Host 1 empfangen hat. Das Speichersystem 2 führt die
Verarbeitung durch Ausführen
des Wiederherstellungsprogramms 421 wie folgt aus.
-
In
der Ausführungsform
wird angenommen, dass ein Ausfall, wie etwa eine logische Inkonsistenz, vom
Host 1 gesehen, im logischen Speicher 408 aufgrund
eines Fehlers des die Datenbank verwendenden Anwendungsprogramms 520 oder
eines Operationsfehlers durch einen Benutzer auftritt, und dass der
logische Speicher 408, bei dem der Ausfall auftritt, ein
logischer Hauptspeicher im Journalmodus ist. In dieser Situation
sendet das Managementterminal 3 oder der Host 1 einen
Befehl zur Wiederherstellung von Daten im Speichersystem 2,
die in dem logischen Hauptspeicher gespeichert sind, durch Verwendung
von Daten, die im untergeordneten logischen Speicher und dem logischen
Journalspeicher gespeichert sind, die dem logischen Hauptspeicher entsprechen,
in dem der Ausfall aufgetreten ist.
-
Der
Host 1 bezieht sich zum Beispiel auf Loginformation des
Anwendungsprogramms 540, um einen Ausfallzeitpunkt eines
Operationsfehlers oder eine fehlerhafte Operation von beispielsweise
einem Anwendungsprogramm, das falsche Daten gesendet hat, zu analysieren.
-
Der
Host 1 ruft dann eine Checkpointbefehl-Übertragungszeit unmittelbar
vor dem Ausfallzeitpunkt auf, um einen Checkpoint-Identifizierer
zu bestimmen, der von dem Speichersystem 2 zur Wiederherstellung
der Daten zu verwenden ist. Der Benutzer des Hosts 1 kann
nicht den Checkpoint-Identifizierer unmittelbar vor dem Auftreten
des Ausfalls auswählen,
sondern auch einen der Checkpoint-Identifizierer, die im Host 1 aufgezeichnet
werden, wenn der Host 1 die Checkpointinformation an das
Speichersystem 2 sendet. Daher kann durch Auswahl eines
gewünschten
Checkpoint-Identifizierers der Benutzer des Systems im logischen
Hauptspeicher gespeicherte Daten zu einem Zustand von Daten wiederherstellen,
die im logischen Hauptspeicher des Speichersystems gespeichert werden, wenn
der ausgewählte
Checkpoint-Identifizierer erzeugt wurde (Schritt 1201).
-
Als
Nächstes
gibt der Host 1 an das Speichersystem 2 einen
Wiederherstellungsverarbeitungsrequest für Daten bis zu dem in Schritt 1201 ausgewählten Checkpoint-Identifizierer
aus. Der Request beinhaltet einen Identifizierer (zum Beispiel WWN
und LUN) des logischen Hauptspeichers als Objekt der Wiederherstellungsverarbeitung,
einen Identifizierer, der den untergeordneten logischen Speicher
spezifiziert, der dem logischen Hauptspeicher entspricht, einen
Identifizierer, der den logischen Journalspeicher spezifiziert,
und Information des ausgewählten
Checkpoint-Identifizierers. Wenn mehrere untergeordnete logische
Speicher dem logischen Hauptspeicher entsprechen, schließt der Wiederherstellungsverarbeitungsrequest
auch Information ein, die einen der untergeordneten logischen Speicher
spezifiziert (Schritt 1202).
-
Nach
Empfang des Wiederherstellungsverarbeitungsrequests vom Host 1 führt die
Speichersteuerung 11 das Wiederherstellungsprogramm 421 aus,
um sich komparativ auf einen im Request enthaltenen Identifizierer
zu beziehen, um den untergeordneten logischen Speicher und die Paarmanagementinformation 412 anzugeben.
Die Steuerung 11 bestätigt
dadurch, ob der spezifizierte untergeordnete logische Speicher ein
geeigneter untergeordneter logischer Speicher für den logischen Hauptspeicher ist
oder nicht. Gleichermaßen
bezieht sich die Speichersteuerung 11 komparativ auf einen
im Request enthaltenen Identifizierer, um den logischen Journalspeicher
und die Journalmanagementinformation anzugeben, und bestätigt dadurch,
ob der spezifizierte logische Journalspeicher ein geeigneter logischer Journalspeicher
für den
logischen Hauptspeicher ist oder nicht (Schritt 1203).
-
Gemäß den Inhalten
des Wiederherstellungsverarbeitungsrequests bestätigt die Speichersteuerung 11,
ob die Wiederherstellungsverarbeitung für den logischen Hauptspeicher,
den untergeordneten logischen Speicher oder einen unterschiedlichen verfügbaren logischen
Speicher 408 ausgeführt
wird. Selbst wenn der logische Hauptspeicher als Objekt der Wiederherstellungsverarbeitung
spezifiziert ist, wenn der logische Hauptspeicher nicht zur Verfügung steht,
teilt die Speichersteuerung 11 dem Host 1 mit,
dass die Verarbeitung wegen eines Ausfalls in dem logischen Speicher
nicht kontinuierlich ausgeführt
werden kann, und stoppt dann die Verarbeitung. Gleichermaßen teilt,
selbst wenn es angegeben ist, Daten in dem untergeordneten oder
einem anderen logischen Speicher wiederherzustellen, wenn ein Ausfall
in dem spezifizierten logischen Speicher vorhanden ist, die Speichersteuerung 11 dem
Host mit, dass die Verarbeitung wegen des Ausfalls nicht kontinuierlich
ausgeführt
werden kann, und stoppt dann die Verarbeitung (Schritt 1204).
-
Wenn
die Wiederherstellungsverarbeitung für den logischen Hauptspeicher
oder einen verfügbaren
logischen Speicher 408 ausgeführt wird, liest die Speichersteuerung 11 sequenziell
Schnappschussdaten aus dem untergeordneten logischen Speicher, wobei
sie an einem ers ten Punkt davon beginnt. Die Steuerung 11 kopiert
die Daten auf den logischen Hauptspeicher, um ein Platten-Image
des logischen Hauptspeichers demjenigen des untergeordneten logischen
Speichers anzugleichen. Wenn die Wiederherstellungsverarbeitung
für den
untergeordneten logischen Speicher ausgeführt wird, ist die Kopieverarbeitung
nicht erforderlich (Schritt 1206).
-
Wenn
die Kopieverarbeitung von dem untergeordneten logischen Speicher
beendet ist oder wenn die Daten in dem untergeordneten logischen Speicher
wiederhergestellt sind, reserviert die Speichersteuerung 11 einen
Datenspeicherbereich im Cache-Speicher 14. Die Speichersteuerung 11 liest sequenziell
Journaldaten aus dem logischen Journalspeicher, der dem logischen
Hauptspeicher entspricht, wobei sie an einem Startpunkt davon, in
einer Reihenfolge der Verarbeitungssequenznummer, beginnt und die
Journaldaten zu dem im Cache-Speicher 14 reservierten Bereich
bewegt. Der erste Punkt zum Lesen von Journaldaten aus dem logischen Journalspeicher
kann durch den Host 1 oder durch eine Verarbeitungssequenznummer
von dem Speichersystem 2 spezifiziert werden (Schritt 1207).
-
Bei
der Operation prüft
die Speichersteuerung 11, ob die so erhaltenen Journaldaten
Checkpointinformation beinhalten oder nicht. Insbesondere prüft die Speichersteuerung 11,
ob der Checkpointmerker 1006 in den Journaldaten aktiviert
ist oder nicht (Schritt 1208).
-
Wenn
die ausgelesenen Journaldaten Checkpointinformation enthalten, prüft die Speichersteuerung 11 weiterhin,
ob ein in dem Checkpoint-Identifizierer-Eintrag 1007 der
ausgelesenen Journaldaten enthaltener Checkpoint-Identifizierer ein
von dem Host 1 spezifizierter Checkpoint-Identifizierer
ist oder nicht (Schritt 1209).
-
Wenn
der in dem Checkpoint-Identifizierer-Eintrag 1007 enthaltene
Checkpoint-Identifizierer ein anderer als der vom Host 1 spezifizierte
ist oder wenn der Checkpoint-Identifizierer-Eintrag 1007 keinen
Checkpoint-Identifizierer enthält
(der Checkpointmerker ist nicht aktiviert), überprüft die Speichersteuerung 11 Information,
die bei der Adresse der ausgelesenen Journaldaten gespeichert ist,
um zu prüfen,
ob die Journaldaten hinsichtlich des logischen Hauptspeichers als
Objekt der spezifizierten Wiederherstellung Journaldaten sind oder
nicht (Schritt 1210).
-
Wenn
die Journaldaten hinsichtlich des logischen Hauptspeichers als ein
Objekt der spezifizierten Wiederherstellung Journaldaten sind, schreibt
die Speichersteuerung 11 in den erhaltenen Journaldaten
enthaltene Schreibdaten in den logischen Haupt- oder untergeordneten
logischen Speicher, wobei sie an einer zugehörigen Adresse beginnt. Wenn
jedoch die Journaldaten einem Checkpoint-Identifizierer entsprechen,
sind keine Schreibdaten vorhanden, und daher führt die Speichersteuerung 11 keine
Datenschreiboperation aus (Schritt 1211).
-
Danach
gibt die Speichersteuerung 11 die Steuerung an Schritt 1207 zurück, um eine
Verarbeitung zum Lesen der nächsten
Journaldaten auszuführen.
Wenn die in Schritt 1210 erhaltenen Journaldaten andere
als Journaldaten sind, die dem spezifizierten logischen Hauptspeicher
entsprechen, kehrt die Speichersteuerung 11 zu der Verarbeitung
in Schritt 1207 zurück,
ohne die Journaldaten in den logischen Speicher 408 als
das Ziel der Wiederherstellung zu schreiben. Als Nächstes führt die
Speichersteuerung 11 wiederholt die Verarbeitung in den Schritten 1207 bis 1211 aus,
um Journaldaten bis zu deren Zustand gemäß dem spezifizierten Checkpoint-Identifizierer
wiederherzustellen.
-
In
Schritt 1209, wenn der Checkpoint-Identifizierer in dem
Checkpoint-Identifizierer-Eintrag 1007 gleich dem spezifizierten
Checkpoint-Identifizierer ist, nimmt die Speichersteuerung 11 an,
dass die wiederherzustellenden Daten gänzlich in den logischen Hauptspeicher,
den untergeordneten oder einen andere logischen Speicher 408 geschrieben
worden sind und teilt dann dem Host 1 den Abschluss der Wiederherstellungsverarbeitung
mit. Wenn die Wiederherstellungsverarbeitung für einen anderen als den logischen
Hauptspeicher ausgeführt
wird, schreibt die Speichersteuerung 11 logisch-physikalische
Abbildungsinformation und ändert
sie vor der Mitteilung an den Host 1, um den logischen
Hauptspeicher, den untergeordneten oder einen anderen logischen
Speicher 408 als das Ziel der Wiederherstellung zu ersetzen.
Dank dieser Operation wird der Identifizierer (zum Beispiel eine
Kombination aus WWN des Faserkanals (FK) und einer logischen Vorrichtungs-(LV)-Nummer),
damit der Host 1 auf den logischen Speicher 408 zugreift,
unverändert
beibehalten (Schritt 1212).
-
Wenn
ein logischer Journalspeicher für
jeden logischen Hauptspeicher zugeteilt wird, ist die Verarbeitung
in Schritt 1210, nämlich
die Bestätigung
der Übereinstimmung
zwischen den ausgelesenen Journaldaten und dem logischen Hauptspeicher,
nicht erforderlich.
-
Wenn
der Abschlussbericht vom Speichersystem 2 erhalten wird,
nimmt der Host 1 oder das Managementterminal 3 an,
dass die Daten bis zu dem vom Host 1 spezifizierten Punkt
des Checkpoint-Identifizierers
wiederhergestellt sind, und setzt eine andere Verarbeitung fort
(1213).
-
12 zeigt
ein Beispiel der Vorrichtungsmanagementinformation 410.
-
Die
Information 410 beinhaltet eine Tabelle 1300 einschließlich eines
Eintrags zur Registrierung von Adressinformation des logischen Speichers 408 und
eines Eintrags 1304 zur Registrierung von Adressinformation
des physikalischen Speichers 10; eine Tabelle 1330 einschließlich eines
Eintrags 1331 zur Registrierung einer dem Host 1 zugeführten Logikspeichernummer,
eines Eintrags 1332 zur Registrierung einer Zwischenspeicher-Logikspeichernummer,
die den logischen Speicher 408 im Speichersystem 2 eindeutig
identifiziert, eines Eintrags 1333 zur Registrierung einer
Paritätsgruppensequenzzahl
zur Steuerung im Speichersystem 2, eines Eintrags 1334 zur
Registrierung von Paarinformation des logischen Speichers 408 und
eines Eintrags 1335 zur Registrierung von Journalinformation;
und eine Tabelle 1350 einschließlich eines Eintrags 1351 zur
Registrierung einer Logikspeicherzahl im Speichersystem 2,
eines Eintrags 1352 zur Registrierung verfügbarer/reservierter
Information, eines Eintrags 1353 zur Registrierung von
Pfaddefinitionsinformation, eines Eintrags 1354 zur Registrierung
eines Emulationstyps/einer Emulationsgröße und eines Eintrags 1355 zur
Registrierung von Ausfallinformation.
-
Der
Eintrag 1301 der Tabelle 1300 beinhaltet weiterhin
einen Eintrag 1311 zur Registrierung einer Nummer, die
dem logischen Speicher 408, der dem Host 1 zugeführt wird,
zugeteilt wird, einen Eintrag 1312 zur Registrierung einer
internen Adresse entsprechend dem logischen Speicher 408,
einen Eintrag 1313 zur Registrierung einer Logikspeichernummer
zur eindeutigen Identifizierung des logischen Speichers im Speichersystem 2 und
einen Eintrag 1314 zur Registrierung einer internen Logikspeicheradresse
im Speichersystem 2. Der Eintrag 1304 der Tabelle 1300 beinhaltet
weiterhin einen Eintrag 1321 zur Registrierung einer der
Paritätsgruppe 407 eines physikalischen
Speichers 10 zugeteilten Nummer entsprechend dem logischen
Speicher, der beim Eintrag 1301 registriert ist, einen
Eintrag 1322 zur Registrierung einer Nummer des physikalischen
Speichers 10 und einen Eintrag 1323 zur Registrierung
von Adressinformation des physikalischen Speichers 10.
-
Der
Paarinformationseintrag 1334 der Tabelle 1330 wird
zur Registrierung von Information verwendet, welche angibt, ob der
logische Speicher im Schnappschusspaarzustand ist oder nicht. Der
Journalobjektivmoduseintrag 1335 dient zur Registrierung
von Information, welche angibt, ob der logische Speicher 408 ein
Objekt der Journalbeschaffung, d. h. ein Objekt des Journalmodus,
ist oder nicht.
-
Der
verfügbare/reservierte
Informationseintrag 1352 der Tabelle 1350 wird
zur Registrierung von Information verwendet, welche angibt, ob der
logische Speicher 408 zur Verwendung als untergeordneter
oder logischer Journalspeicher reserviert ist oder nicht: Ein logischer
Speicher 408, bei dem die Reserveinformation registriert
ist, kann keiner anderen Verwendung, zum Beispiel als neuer logischer Speicher
für eine
Aufgabe, zugeteilt werden. Der Pfaddefinitionsinformationseintrag 1353 wird
zur Registrierung verwendet, ob der logische Speicher 408 nach
außen
offen und dem Host 1 zuzuführen ist oder nicht. Wenn zum
Beispiel das E/A-Netzwerk ein Faserkanal (FK) ist, dient der Eintrag 1353 zur
Registrierung von Information hinsichtlich einer Beziehung zwischen
dem logischen Speicher 408 und einem Port des Faserkanals.
-
Der
Emulationstypeintrag 1354 wird zur Registrierung von Information
verwendet, welche einen Typ von Betriebssystem angibt, der die Speichervorrichtung
erkennen kann, für
die der logische Speicher 408 emuliert wird. Beispielsweise
dient insbesondere der Eintrag 1354 zur Registrierung von
Information, wie etwa „offen", um anzugeben, dass
der Speicher von einem Betriebssystem vom offenen Systemtyp erkannt
werden kann, oder „3990", um anzugeben, dass der
Speicher von einem Betriebssystem vom Hauptrechnertyp erkannt werden
kann.
-
Der
Ausfallinformationseintrag 1355 wird zur Registrierung
von Information verwendet, welche angibt, ob sich der logische Speicher 408 in
einem Ausfall befindet oder nicht. Der Ausfall beinhaltet hauptsächlich einen
physikalischen Ausfall eines physikalischen Speicher 10,
in dem der logische Speicher 408 vorhanden ist, und einen
logischen Speicher, bei dem der Manager das Speichersystem 2 absichtlich schließt.
-
13 zeigt
ein Beispiel einer Tabelle der Paarmanagementinformation 412.
-
Die
Information 412 beinhaltet einen Eintrag 1401 zur
Registrierung einer Logikspeichernummer, die dem Host 1 zuzuführen ist,
einen Eintrag 1402 zur Registrierung einer Logikspeichernummer
im Speichersystem 2, einen Eintrag 1403 zur Registrierung eines
Emulationstyps/einer Emulationsgröße, einen Eintrag 1404 zur
Registrierung eines Paarzustands, einen Eintrag 1405 zur
Registrierung von Erzeugungsinformation und einen Eintrag 1406 zur
Registrierung von Paarmanagementinformation.
-
Der
Paarzustandseintrag 1404 dient zur Registrierung von Information,
welche einen Zustand eines Paars angibt, wie etwa den vorstehend
beschriebenen Paarduplexzustand. Der Paarmanagementinformationseintrag 1406 wird
zur Registrierung von Information verwendet, welche angibt, ob der
logische Speicher 408 ein logischer Hauptspeicher oder
ein untergeordneter logischer Speicher ist. Wenn der logische Speicher 408 als
logischer Hauptspeicher spezifiziert ist, wird „0" bei einem Hauptseiteneintrag 1411 registriert
und ein Wert, der eine einem untergeordneten logischen Speicher
in dem Paar zug teilte Nummer angibt, wird bei einem zugeordneten
untergeordneten Seiteneintrag 1412 registriert. Wenn dagegen
der logische Speicher 408 als untergeordneter logischer
Speicher spezifiziert wird, wird „0" beim untergeordneten Seiteneintrag 1412 registriert,
und ein Wert, der eine einem logischen Hauptspeicher in dem Paar
zugeteilte Nummer angibt, wird beim zugeordneten Hauptseiteneintrag 1412 registriert.
-
Wenn
der logische Speicher 408 weder als untergeordneter logischer
Speicher noch als logischer Hauptspeicher spezifiziert ist, wird „–1", das einen unbedeutenden
Wert angibt, sowohl beim Haupt- als auch beim untergeordneten Seiteneintrag 1411 und 1412 registriert.
Wenn der logische Speicher 408 an einer zentralen Position
einer Kaskadenkonfiguration des Schnappschusspaars 450 ist,
das heißt,
der Speicher 408 ein untergeordneter logischer Speicher in
einem ersten Paar und ein logischer Hauptspeicher in einem zweiten
Paar zur gleichen Zeit ist, wird Information, die eine einem anderen
logischen Speicher 408 zugeteilte Nummer angibt, der mit
beiden davon gepaart ist, beim Haupt- und untergeordneten Seiteneintrag 1411 und 1412 registriert.
Des Weiteren werden mehrere Logikspeichernummern bei den Haupt-
und untergeordneten Seiteneinträgen 1411 und 1412 in
Abhängigkeit
der Fälle
registriert.
-
14 zeigt
ein Beispiel der Journalmanagementinformation 418.
-
Die
Information 418 beinhaltet eine Tabelle 1500 und
eine Journalmanagementtabelle 1520 zur Steuerung der Checkpointinformation.
Die Tabelle 1500 beinhaltet einen Eintrag 1501 zur
Speicherung eines Checkpoint-Identifizierers (CPID), einen Eintrag 1502 zur
Registrierung einer Adresse, welche eine Position zum Speichern
von Journaldaten angibt, an der der im Eintrag 1501 gespeicherte
Checkpoint-Identifizierer aufgezeichnet wird, und einen Zeitinformations eintrag 1503,
der einen Zeitpunkt angibt, an dem der im Eintrag 1501 gespeicherte Checkpoint-Identifizierer
im logischen Journalspeicher aufgezeichnet ist. Die Journalmanagementtabelle 1520 beinhaltet
einen Eintrag 1521 zur Registrierung einer Vorrichtungsnummer,
einen Eintrag 1522 zur Registrierung eines Checkpoint-Identifizierers und
einen Eintrag 1523 zur Registrierung einer Speicheradresse
einer Checkpointmanagementtabelle.
-
Als
Nächstes
erfolgt eine Beschreibung einer zweiten Ausführungsform, bei der eine Datenwiederherstellung
ausgeführt
wird, wenn ein Ausfall im Speichersystem 2 auftritt. In
diesem Fall wird die Checkpointinformation nicht zwischen dem Host 1 und
dem Speichersystem 2, sondern zwischen dem Managementterminal 3 und
dem Speichersystem 2 gemeinsam genutzt.
-
Die
Ausführungsform
verwendet ein Programm für
den Host 1 zur Steuerung eines Logs und eines Checkpoints
bezüglich
des Speichersystems 2. Beispielsweise verwendet der Host 1 ein
als „Agent" bezeichnetes Programm,
wenn die Datenbankmanagementsoftware (DBMS) 501 nicht bereitgestellt ist.
Der den Agenten verwendende Host wird nachstehend als Host 1' bezeichnet.
-
21 veranschaulicht
eine Konfiguration von Programmen des Hosts 1'. Diese unterscheidet sich
von derjenigen des Hosts 1' darin,
dass die Datenbankmanagementsoftware (DBMS) 501 nicht eingeschlossen
ist und ein Agentprogramm 2200 anstelle der Software 501 beinhaltet
ist. Das Agentprogramm 2200 beinhaltet Modusinformation 2210,
einen Dateisystem(DS)-Agenten 2220, ein E/A-Steuerprogramm 2230,
einen Checkpointagenten 2250, einen Volumenmanager(VM)-Agenten 2240 und
einen Konfigurationsmanagementagenten 2260.
-
Der
Modusinformationseintrag 2210 hält Modusinformation, d. h.
Information, die vom Host 1' aus dem
Managementterminal 3 erhalten worden ist, wie etwa eine
Zeitspanne zur Erlangung eines Schnappschusses und einen Zustand
während
einer Zeitspanne zur Erlangung von Journaldaten. Der DS-Agent 2220 wird
ausgeführt,
um dem Dateisystem (DS) 530 die Verarbeitung zur exklusiven
Steuerung einer Datei oder zum Schließen einer Datei anzugeben.
Der DS-Agent 2220 wird
auch ausgeführt, um
vom Dateisystem 530 gesteuerte Dirty-Daten als Adresse
des Speichers 21 zu steuern.
-
Der
Volumenmanager(VM)-Agent 2240 wird ausgeführt, um
für den
Volumenmanager 540 die Zulassung oder die Zurückweisung
einer Lese- oder Schreiboperation für einen vom Volumenmanager 540 eingestellten
Logikspeicherbereich zu steuern und vom Volumenmanager 540 gesteuerte
Dirty-Daten als Adresse des Speichers 21 zu steuern.
-
Das
E-/A-Steuerprogramm 2230 wird ausgeführt, um eine Verarbeitung auszuführen, bei
der der Host 1' Dirty-Daten
erzwungen zum Speichersystem 2 überträgt. Der Konfigurationsmanagementagent 2260 wird
ausgeführt,
um eine Übereinstimmung
zwischen dem Host 1' vom
Speichersystem 2 zugeführten
logischen Speichern 408 und vom Volumenmanager 540 konfigurierten
logischen Speicherbereichen und eine Beziehung zwischen vom Volumenmanager 540 konfigurierten
logischen Bereichen und vom Dateisystem 530 konfigurierten
logischen Speicherbereichen zu steuern.
-
Der
Checkpointagent 2250 wird ausgeführt, wenn der Host 1' die Modusinformation 2210 einstellt und
dem Dateisystemagenten 2220, dem Volumenmanageragenten 2240 und
dem E/A-Steuerprogramm 2230 in Reaktion auf eine für einen
Checkpoint vom Managementterminal ausgegebene Angabe vorgegebene
Operationen angibt.
-
Der
Host 1' führt den
Dateisystemagenten 2220 gemäß einer Angabe vom Managementterminal
aus, um Dirty-Daten aus dem Speicher 21 des Hosts 1' an das Speichersystem 2 zu
senden. Andererseits sendet im Zusammenhang mit der Übertragung
von Dirty-Daten aus dem Host 1' das Managementterminal 3 einen
Checkpointbefehl an das Speichersystem 2. Das Speichersystem 2 verarbeitet
die vom Host 1' gesendeten
Dirty-Daten. Das Speichersystem 2 steuert die vom Managementterminal 3 in das
System 2 gesendete Checkpointinformation fast auf dieselbe
Weise wie für
die vom Host 1 gesendete Checkpointinformation, die in
Verbindung mit der ersten Ausführungsform
beschrieben wurde. Als Ergebnis, selbst wenn der Host 1 keine
solche Funktion wie die Checkpointerzeugungsfunktion aufweist, wenn ein
logischer Ausfall im logischen Hauptspeicher auftritt, ist es durch
Angabe eines Checkpoint-Identifizierers vom Managementterminal 3 möglich, Daten
mit hoher Geschwindigkeit bis zu einem Checkpoint wiederherzustellen,
der auf der Seite des Speichersystems 2 gesteuert wird,
um dadurch das System mit hoher Geschwindigkeit wiederherzustellen.
-
15 zeigt
eine detaillierte Konfiguration des Managementterminals 3.
Die Konfiguration kann in einer anderen Ausführungsform verwendet werden.
-
Das
Terminal 3 beinhaltet einen Prozessor 1601, einen
elektrisch nichtflüchtigen
Speicher 1602, eine Netzwerkschnittstelle (I/F) 1605,
eine Eingabevorrichtung 1604 und eine Anzeige 1603.
Die jeweiligen Bestandteilskomponenten sind miteinander über einen Übertragungspfad 1612 verbunden,
der zum Beispiel Daten und eine Steueranweisung überträgt.
-
Der
Prozessor 1601 führt
ein Programm des Managementterminals 3 aus. Der Speicher 1602 speichert
beispielsweise vom Prozessor 1601 auszuführende Programme
und von den Programmen verwendete Information. Zum Beispiel speichert
der Speicher 1602 ein Anzeigesteuerprogramm 1610, ein
Eingabevorrichtungssteuerprogramm 1611, Speichersteuerinformation
zum Steuern einer Konfiguration des Speichersystems 2,
ein Speichersteuerprogramm 1607 zur Steuerung oder Verwaltung
des Speichersystems 2 unter Verwendung von Information,
die bei der Speichersteuerinformation 1606 registriert
ist, Systembestimmungsinformation, die an das Speichersystem 2 gesendete
Checkpointinformation enthält,
und ein Systemzustandssteuerprogramm 1609 zur Ausführung von
Steuerung und Verarbeitung, beispielsweise, um einen Zustand des
Speichersystems 2 in einen Zustand zu einem vorgegebenen
Zeitpunkt unter Verwendung von Information, die bei der Systembestimmungsinformation 1608 registriert
ist, wiederherzustellen.
-
Die
Netzwerkschnittstelle 1605 ist mit dem Netzwerk 5 verbunden.
Das Managementterminal 3 erhält über das Netzwerk 5 eine
Systemkonfiguration des Speichersystems 2, zum Beispiel
die Vorrichtungsmanagementinformation 410, die Paarmanagementinformation 412 und
die Journalmanagementinformation 418. Das Managementterminal 3 führt über das
Netzwerk 5 eine Konfigurationsdefinitionsverarbeitung aus
(definiert zum Beispiel logische Speicher 408 in einer
Paritätsgruppe 407,
um im Speichersystem 2 Logikspeichernummern zuzuteilen,
und/oder definiert Pfade, damit der Host 1' logische Speicher 408 zur
Zuteilung von Logikspeichernummern, die von dem Host 1' zu verwenden
sind, benutzt). Das Terminal 3 steuert auch die Ausführung der
Wiederherstellungsverarbeitung des Speichersystems 2.
-
Der
Benutzer oder Manager des Speichersystems 2 verwendet die
Eingabevorrichtung 1604 und die Anzeige 1603,
um zum Beispiel Wartung/Steuerung und/oder eine Wiederherstellungsverarbeitung
des Speichersystems 2 anzugeben.
-
16 zeigt
ein Beispiel der im Speicher 1602 gespeicherten Systembestimmungsinformation 1608.
Zur Angabe eines Zeitpunkts, wenn der Zustand des Hosts 1' bestimmt wird,
an das Speichersystem 2 zeichnet das Managementterminal 3 die von
dem Managementterminal 3 an das Speichersystem 2 angegebenen
Inhalte auf. Die Inhalte sind im Speicher 1602 als Systembestimmungsinformation 1608 gespeichert.
Die Systembestimmungsinformation 1608 beinhaltet einen
Eintrag 1701 zum Registrieren eines Checkpoint-Identifizierers,
wenn der Systemzustand bestimmt wird, einen Eintrag 1702 zum
Registrieren einer Nummer, die einen logischen Speicher angibt,
und einen Eintrag 1703 zum Registrieren eines Zeitpunkts,
wenn der Systemzustand bestimmt wird.
-
17 zeigt
ein Beispiel eines Anzeige-Images auf der Anzeige 1603.
In dem Image werden die Inhalte der Systembestimmungsinformation 1608 auf
der Anzeige 1603 unter Verwendung einer „grafischen
Benutzeroberfläche
(GUI)" dargestellt. Auf
diese Weise kann die Anzeige 1603 mehrere Zeitpunkte anzeigen,
wenn der Systemzustand bestimmt wird, und ein Ereignis, dass der
Benutzer einen der so angezeigten Zeitpunkte auswählt. Dies verbessert
die Funktionsfähigkeit
für den
Benutzer.
-
Insbesondere
beinhaltet die Anzeige 1603 einen Bereich 1802 zur
Anzeige von Steuerinformation. Der Bereich 1802 schließt einen
Bereich 1803 zur Anzeige einer Logikspeichernummer und
einen Bereich 1804 zur Anzeige eines Zeitpunkts ein, wenn der
Zustand des in dem Bereich 1803 angezeigten logischen Speichers 408 bestimmt
wird.
-
Unter
Verwendung eines Zeigers 1805, der beispielsweise durch
eine Maus betätigt
werden kann, kann der Benutzer die Zeit spezifizieren, wenn der
Status des angezeigten logischen Speichers 408 durch einen
Checkpointbefehl bestimmt wird.
-
Beim
Auftreten eines Ausfalls in einem logischen Speicher 408 kann
der Benutzer dem Speichersystem 2 eine Wiederherstellungsverarbeitung über die
grafische Benutzeroberfläche 1603 des
Managementterminals 3 angeben. Beispielsweise veranschaulicht
das Diagramm eine Angabe zur Wiederherstellung der Inhalte des logischen
Speichers 408, der in dem Bereich 1803 angezeigt
ist, zu dem Zustand zum Zeitpunkt „14:00 Uhr am 5. Mai 2002", der aus den im
Bereich 1804 angezeigten Zeitpunkten ausgewählt ist.
Unter Verwendung des Zeigers 1805 wählt der Benutzer den Bereich 1804 aus,
der „5.
Mai 2002, 14:00 Uhr" angibt,
und zieht dann die ausgewählten
Inhalte zum Bereich 1803, um dadurch einen Wiederherstellungszeitpunkt
des logischen Speichers 408 anzugeben.
-
Gemäß dem logischen
Speicher 408 und der vom Benutzer spezifizierten Wiederherstellungszeit ruft
das Managementterminal 3 die in 16 gezeigte
Systembestimmungsinformation 1608 zur Bestimmung eines
für die
Wiederherstellung zu verwendenden Checkpoints auf. Danach sendet
unter Verwendung eines Wiederherstellungsbefehls das Managementterminal 3 Checkpointinformation,
die sich aus dem Aufrufen ergibt, an das Speichersystem 2.
-
18 zeigt
in einem Flussdiagramm einen Verarbeitungsfluss, bei dem der Benutzer
dem Informationsverarbeitungssystem eine Journaldatenbeginn-Vorbereitungsverarbeitung über das
Managementterminal 3 angibt.
-
Zuerst
spezifiziert unter Verwendung der Anzeige 1603 und der
Eingabevorrichtung 1604 des Managementterminals 3 der
Benutzer einen logischen Hauptspeicher und einen untergeordneten
logischen Speicher als Objekte zur Beschaffung von Journaldaten.
Nach Maßgabe
von Spezifikationen vom Benutzer sendet das Managementterminal 3 einen
Journalbeschaffungsanzeigebefehl über das Netzwerk 5 an
das Speichersystem 2. Der Journalbeschaffungsanzeigebefehl
beinhaltet einen Identifizierer, der einen vom Benutzer spezifizierten
logischen Hauptspeicher angibt, einen Identifizierer, der einen mit
dem logischen Hauptspeicher gepaarten untergeordneten logischen
Speicher angibt, und einen Identifizierer, der einen logischen Journalspeicher
angibt (Schritt 1901).
-
Nach
Empfang der Journalvorbereitungsverarbeitungsanzeige (Schritt 1961)
führt das
Speichersystem 2 die Journalvorbereitungsverarbeitung aus. Die
Verarbeitung ist fast die gleiche wie die Beschreibung, die in Verbindung
mit den Schritten 602 bis 606 der 6 beschrieben
ist (Schritt 1962). Nachdem die Journalvorbereitungsverarbeitung
beendet ist, sendet das Speichersystem 2 über das
Netzwerk 5 einen Abschlussbereicht an das Managementterminal 3 (Schritt 1963).
-
Nach
Empfang des Beendigungsberichts (Schritt 1902) sendet das
Managementterminal 3 einen Journalstartmodus-Anzeigebefehl über das Netzwerk 5 an
den Host 1' (Schritt 1903).
-
Nach
Empfang des Journalstartmodus-Anzeigebefehls führt der Host 1' einen Agenten 800 aus,
um Modusinformation 810, die dem logischen Hauptspeicher
als Objekt der Journaldatenbeschaffung entspricht, auf den Journalstartmodus
einzustellen. Zur Bestimmung von Dirty-Daten, die in dem auf den
Journalstartmodus eingestellten logischen Hauptspeicher zu speichern
sind, schließt
der Host 1' die zugehörige Datei.
Im Übrigen
ist es im Journalstartmodus verwehrt, Daten in Speicherbereiche
zu schreiben, die zu dem auf den Journalstartmodus eingestellten
logischen Hauptspeicher gehören (Schritt 1921).
-
Als
Nächstes
gibt der Host 1' zum
Senden der gesamten Dirty-Daten, die im von dem Dateisystem gesteuerten
Speicher 21 gespeichert sind, an das Speichersystem 2 einen
Schreib-E/A-Verarbeitungsrequest an das Speichersystem aus (Schritt 1922).
-
Nach
Empfang des Schreib-E/A-Verarbeitungsrequests vom Host 1' führt das
Speichersystem 2 eine Journalerzeugungsverarbeitung aus,
wenn der Request eine Schreibverarbeitung für den vom Benutzer spezifizierten
logischen Hauptspeicher aus. Nachdem die Verarbeitung beendet ist,
meldet das Speichersystem 2 den Abschluss der Verarbeitung an
den Host 1' (Schritt 1965).
-
Nach
Empfang des Abschlusses der Verarbeitung bestimmt der Host 1', ob vom Dateisystem gesteuerte
Dirty-Daten gänzlich
in das Speichersystem 2 geschrieben werden oder nicht (Schritt 1923). Wenn
nicht die gesamten Dirty-Daten geschrieben worden sind, führt der
Host 1' wiederholt
die Verarbeitung aus, die bei Schritt 1922 beginnt. Wenn
die gesamten Dirty-Daten geschrieben worden sind, sendet der Host 1' einen Abschlussbericht über das Netzwerk 5 an
das Managementterminal 3 (Schritt 1925).
-
Nach
Empfang des Abschlussberichts der Dirty-Daten-Schreiboperation gibt
das Managementterminal 3 einen Checkpointbefehl an das
Speichersystem 2 aus und aktualisiert die Systembestimmungsinformation 1608.
Insbesondere zeichnet das Managementterminal 3 einen davon übertragenen Checkpoint-Identifizierer
und eine Übertragungszeit zu
einem Eintrag auf, der einer Vorrichtungsnummer entspricht, die
den logischen Speicher 408, für den Journaldaten zu erhalten
sind, spezifiziert (Schritt 1905).
-
Nach
Empfang des Checkpointbefehls (Schritt 1966) schreibt das
Speichersystem 2 in den logischen Journalspeicher einen
Checkpoint-Identifizierer in den empfangenen Checkpointbefehl als Journaldaten
(Schritt 1967). Nachdem die Aufzeichnungsoperation abgeschlossen
ist, sendet das Speichersystem 2 einen Abschlussbericht über das
Netzwerk 5 an das Managementterminal 3 (Schritt 1968).
-
Nach
Empfang des Abschlussberichts (1906) sendet das Managementterminal 3 eine
Journalstartmodusfreigabe-Angabe über das Netzwerk 5 an
den Host 1' (Schritt 1907).
Nach Empfang der Angabe gibt der Host 1' den in Schritt 1921 eingestellten Journalstartmodus
zur Modusinformation 810 frei, die dem logischen Hauptspeicher
entspricht. Danach gibt der Host 1' die Verhinderung der Schreiboperation
in Speicherbereichen frei, die dem logischen Hauptspeicher entsprechen
(Schritt 1927).
-
Danach
sendet der Benutzer vom Managementterminal 3 bei vorgegebenem
Zeitablauf eine Journalmodusstartanzeige an den Host 1' und das Speichersystem 2.
Nach Empfang der Angabe stellt der Host 1' den Journalmodus auf die Modusinformation 810 ein,
die dem durch die Angabe spezifizierten logischen Hauptspeicher
entspricht. Hat das Speichersystem dagegen die Journalmodusstartanzeige empfangen,
beginnt es mit der Aufzeichnung von Journaldaten in der zuvor spezifizierten
logischen Journaldatei.
-
19 zeigt
in einem Flussdiagramm einen Verarbeitungsablauf zur späteren Wiederherstellung der
Inhalte eines logischen Hauptspeichers, für den Journaldaten erhalten
werden. Zu diesem Zweck sendet anstelle des Hosts 1' das Managementterminal 3 einen
Check pointbefehl an das Speichersystem 2, gemäß dem beispielsweise
eine Angabe vom Benutzer, so dass ein einzigartiger Checkpoint-Identifizierer
sowohl im Speichersystem 2 als auch im Managementterminal 3 gespeichert
ist.
-
Gemäß einer
Benutzerangabe oder einer Ausführung
eines Programms des Managementterminals 3 sendet das Managementterminal 3 eine Checkpointmodusanzeige über das
Netzwerk 5 an den Host 1'. Die Checkpointmodusanzeige beinhaltet eine
Nummer, die den logischen Speicher 408 als ein Objekt der
Beschaffung eines Checkpoints angibt (Schritt 2001).
-
Nach
Empfang der Checkpointanzeige führt der
Host 1' das
Agentprogramm 800 aus, bezieht sich auf die Nummer des
logischen Speichers 408, die in der Anzeige und Information
enthalten ist, die bei der Modusinformation 810 registriert
ist, und bestätigt,
dass der angegebene logische Speicher 408 im Journalmodus
ist. Wenn dies der Fall ist, überträgt der Host 1' erzwungen Dirty-Daten
vom Speicher 21 zum Speichersystem 2.
-
Insbesondere
führt der
Host 1' den
Konfigurationsdefinitionsagenten und den Dateisystemagenten 2220 aus,
um zu bestätigen,
ob eine den spezifizierten logischen Speicher 408 verwendende
Datei bereits in Benutzung ist oder nicht. Danach führt der Host 1' den Dateisystemagenten 2220 aus,
um die in Benutzung befindliche Datei zu schließen oder die Ausführung eines
Schreibrequests für
die in Benutzung befindliche Datei zu verhindern. Der Host 1' sendet dann
einen Schreib-E/A-Verarbeitungsrequest an das Speichersystem 2,
um die Übertragung von
im Speicher 21 gespeicherten Daten anzufragen. Wenn der
Host 1' den
Volumenmanager verwendet, führt
der Host 1' den
Volumenmanageragenten 2240 aus, um die Verarbeitung fast
auf die gleiche Weise wie vorstehend beschrieben auszuführen (Schritt 2022).
-
Nach
Empfang des Schreib-E/A-Verarbeitungsrequests führt das Speichersystem 2 gemäß dem Fluss
der 7 eine Verarbeitung zum Speichern von Journaldaten
in dem logischen Journalspeicher aus (Schritte 2061 und 2062).
-
Nachdem
ein Abschlussbericht der Journalerzeugung empfangen worden ist,
bestätigt
der Host 1',
ob die Dirty-Daten gänzlich
im Speichersystem 2 gespeichert worden sind oder nicht.
Wenn die Dirty-Daten
nicht gänzlich
im Speichersystem 2 gespeichert worden sind, führt der
Host 1' wiederholt die
Verarbeitung aus, die bei Schritt 2022 beginnt (Schritt 2023).
-
Wenn
bestätigt
ist, dass die Dirty-Daten gänzlich
im Speichersystem 2 gespeichert sind, sendet der Host 1' an das Managementterminal 3 einen Bericht
des Dirty-Daten-Schreibabschlusses als Antwortnachricht auf die
Checkpointmodusangabe (Schritt 2025).
-
Nach
Empfang des Schreibabschlussberichts (Schritt 2002) gibt
das Managementterminal 3 einen Checkpointbefehl an das
Speichersystem 2 aus und aktualisiert die Systembestimmungsinformation 1608 zur
Aufzeichnung eines davon übertragenen
Checkpoint-Identifizierers und eines Zeitpunkts der Übertragung
(Schritt 2003).
-
Nach
Empfang des Checkpointbefehls (Schritt 2063) zeichnet das
Speichersystem 2 Journaldaten einschließlich des Checkpoint-Identifizierers
des empfangenen Checkpointbefehls auf (Schritt 2064). Danach
sendet das Speichersystem 2 einen Abschlussbericht über das
Netzwerk 5 an das Managementterminal 3 (Schritt 2065).
-
Nach
Empfang des Abschlussberichts sendet das Managementterminal 3 eine
Checkpointmodusfreigabe-Angabe über
das Netzwerk 5 an den Host 1' (Schritt 2004).
-
Nach
Empfang der Checkpointmodusfreigabe-Angabe gibt der Host 1' den Checkpointmodus frei,
der bei der Modusinformation 810 registriert ist, die dem
logischen Speicher 408 entspricht, der bei dem Checkpointmodus
in Schritt 2021 eingestellt worden ist (Schritt 2026).
Danach beginnt der Host 1' die
Schreiboperation für
die Datei von neuem oder stellt die Datei auf einen verfügbaren Status
ein (Schritt 2027).
-
20 ist
ein Flussdiagramm, das einen Verarbeitungsablauf zeigt, der verwendet
wird, wenn der Benutzer eine Wiederherstellungsanzeige vom Managementterminal 3 an
das Speichersystem 2 ausgibt. In der Ausführungsform
wird angenommen, dass das Schnappschusspaar 450 bereits
erzeugt worden ist, ein Schnappschuss des logischen Hauptspeichers
bereits im untergeordneten logischen Speicher erhalten worden ist
und der logische Journalspeicher bereits Journaldaten nach oder
vor und nach einem Zeitpunkt gespeichert hat, wenn der Schnappschuss
im untergeordneten logischen Speicher erhalten wird.
-
In
dieser Situation sei angenommen, dass ein Anwendungsprogramm des
Hosts 1',
das den logischen Hauptspeicher verwendet, eine Datenwiederherstellung
unter Verwendung von Sicherungsdaten erfordert, beispielsweise,
weil das Anwendungsprogramm fälschlicherweise
eine im Gebrauch befindliche Datei editiert hat.
-
Zuerst
gibt der Benutzer unter Verwendung der Eingabevorrichtung 1604 und
der Anzeige 1603 des Managementterminals 3 einen
logi schen Speicher 408 als Objekt der Wiederherstellung
und einen Zeitpunkt für
die Wiederherstellung an (Schritt 2101).
-
Nach
Empfang der Anzeige vom Benutzer bestimmt das Managementterminal 3,
welcher der Einträge
der Systembestimmungsinformation 1608 registrierte Information
beinhaltet, die mit Eingabeinformation, die auf dem Bildschirm vom
Benutzer spezifiziert worden ist, übereinstimmt. Das Terminal 3 bestimmt
im Ergebnis einen Checkpoint-Identifizierer, der
bei dem übereinstimmenden
Eintrag registriert ist (Schritt 2102). Das Managementterminal 3 sendet dann
einen Identifizierer (eine Nummer), der einen logischen Speicher 408 für die Wiederherstellung
angibt, und einen Wiederherstellungsbefehl, der den Checkpoint-Identifizierer
einschließt,
an das Speichersystem 2 (Schritt 2103).
-
Nach
Empfang des Wiederherstellungsbefehls vom Managementterminal 3 führt das
Speichersystem 2 für
den spezifizierten logischen Speicher 408 die Wiederherstellungsverarbeitung
aus, die in Verbindung mit 11 erläutert worden
ist. Danach sendet das Speichersystem 2 einen Wiederherstellungsverarbeitungs-Abschlussbericht
an das Managementterminal 3 (Schritt 2104). Nach
Empfang des Abschlussberichts aktualisiert das Managementterminal 3 die
Speichersteuerinformation 1606 (Schritt 2105).
-
Gemäß der Ausführungsform
steuert beim Vergleich mit dem Host 1 der ersten Ausführungsform
der Host 1' die
Checkpointinformation nicht und daher kann die Belastung der Steueroperation
ebenso viel gesenkt werden. Beispielsweise kann, selbst wenn der
Host 1 die Checkpointerzeugungsfunktion nicht aufweist,
die Wiederherstellungsverarbeitung unter Verwendung der Checkpointinformation
in der vorliegenden Erfindung ausgeführt werden.
-
In
der Ausführungsform
sendet das Managementterminal 3, bevor es einen Checkpointbefehl
an das Speichersystem 2 ausgibt, zur Reflexion von im Host 1' im Speichersystem 2 gespeicherten
Dirty-Daten Angaben, d. h. eine Journalmodusstartanzeige und eine
Checkpointmodusangabe, an den Host 1', um die Dirty-Daten zu überlagern.
Jedoch muss in diesem Fall der Host 1' ein als „Agent" bezeichnetes Programm vorbereiten,
wie vorstehend beschrieben. Wenn es daher schwierig ist, den Agenten
in allen Hosts 1' vorzubereiten,
wird die vorliegende Ausführungsform
nicht leicht übernommen.
Zur Überwindung
dieser Schwierigkeit wird eine dritte Ausführungsform betrachtet. Durch
Ignorieren der Dirty-Daten, die im Host 1' vorhanden sind, wird der Journalmodus
eingestellt, ein Checkpoint wird kommuniziert und die Wiederherstellungsverarbeitung
wird nur durch das Managementterminal 3 und das Speichersystem 2 ausgeführt.
-
Die
Ausführungsform
unterscheidet sich von der zweiten Ausführungsform wie folgt. In 18 führt nach
Erhalt eines Abschlussberichts der Journalerzeugungsvorbereitungsverarbeitung
(Schritt 1902) das Managementterminal 3 eine Verarbeitung des
Schritts 1904 aus, um einen Checkpointbefehl direkt an
das Speichersystem 2 ohne Ausführung der Verarbeitung von
Schritt 1903 zu senden. Gemäß dem so empfangenen Checkpointbefehl
führt das Speichersystem 2 die
Verarbeitung aus, die bei Schritt 1966 beginnt.
-
In 19 sendet
das Managementterminal 3 direkt einen Checkpointbefehl
an das Speichersystem 2 (Schritt 2003) ohne Ausführen des
Schritts 2001, d. h. ohne eine Checkpointmodusspezifikation an
den Host 1' zu
senden. Nach Empfang des Checkpointbefehls führt das Speichersystem 2 die
Verarbeitung aus, die bei Schritt 2063 beginnt.
-
Der
in der Ausführungsform
verwendete Host kann ein Computer, der ein Datenbanklog aufweist,
wie etwa der Host 1, ein Computer mit einem Agenten, wie
etwa der Host 1',
oder ein gewöhnlicher Computer,
der kein besonderes Programm aufweist, sein. Die anderen Konfigurationen
und die Verarbeitung, wie etwa die Herstellungsverarbeitung, sind fast
die gleichen wie diejenigen der zweiten Ausführungsform.
-
Gemäß der Ausführungsform,
ungeachtet des Typs des Hosts, kann jeglicher Speicher des Speichersystems 2 zu
einem bestimmten Systemzustand nur durch Kommunizieren von Daten
zwischen dem Managementterminal 3 und dem Speichersystem 2 wiederhergestellt
werden.
-
Gemäß der vorliegenden
Erfindung können bei
der Wiederherstellung von in einem Speichersystem gespeicherten
Daten die Daten zu einem vorgegebenen Zustand in einer kurzen Zeitspanne
wiederhergestellt werden, ohne dem Host irgendeine Belastung aufzuerlegen.
Auch kann der Benutzer die Daten zu einem bestimmten Systemstatus
wiederherstellen.
-
Weiterhin
sollte es von den Fachleuten auf dem Gebiet verstanden werden, dass
die vorstehende Beschreibung zwar über Ausführungsformen der Erfindung
erfolgt ist, die Erfindung jedoch nicht darauf beschränkt ist
und verschiedene Änderungen und
Modifikationen vorgenommen werden können, ohne vom Umfang der beigefügten Ansprüche abzuweichen.