-
In
einem System, in dem ein Großrechner entsprechend
zuvor registrierten Konfigurationsdefinitionen von Eingabe/Ausgabe-Vorrichtungen
auf diese zugreift, betrifft die Erfindung eine Technik zum Aufnehmen
mehrerer Snapshots auf flexible Weise, ohne die Konfigurationsdefinitionen
der Eingabe/Ausgabe-Vorrichtungen zu ändern.
-
Im
Allgemeinen führt
ein Großrechner,
wenn er eine Eingabe/Ausgabe von Daten in Bezug auf Eingabe/Ausgabe-Vorrichtungen,
wie Platteninhalte oder Bandinhalte ausführt, diese Eingabe/Ausgabe von
Daten entsprechend der im Betriebssystem (OS) registrierten Konfiguration
der Eingabe/Ausgabe-Vorrichtung aus. Der Systemadministrator muss daher
vorab eine Aufgabe ausführen,
die als Konfigurationsdefinition der Eingabe/Ausgabe-Vorrichtungen
bezeichnet wird. Typischerweise gehört zur Konfigurationsdefinition
der Eingabe/Ausgabe-Vorrichtungen die Definition des Busses, durch
den die Vorrichtung eine Eingabe/Ausgabe ausführt, die Definition der Anzahl
der Steuervorrichtungen der Eingabe/Ausgabe-Vorrichtung sowie die
Definition der Adresse der Speichervorrichtung. Dies ermöglicht es,
dass diese Eingabe/Ausgabe-Vorrichtungen dadurch durch den Großrechner
verwendbar sind, dass sie in einen Zustand versetzt werden, in dem
sie logisch in diesen eingeschlossen sind, um das System zu bilden.
-
Auch
wird die Obergrenze der Anzahl der Eingabe/Ausgabe-Vorrichtungen,
d.h. die Anzahl der definierbaren Vorrichtungsadressen abhängig vom Typ
des Großrechners
und des OS hinterlegt. Daher können
Großrechner
keine Anzahl von Eingabe/Ausgabe-Vorrichtungen verwenden, die diesen
oberen Grenzwert überschreitet.
-
Auch
nimmt die zu sichernde Datenmenge mit der Zunahme der angesammelten
Datenmengen zu. In vielen Fällen
wird die Vorgehensweise verwendet, dass Daten auf die ein Client-Geschäft dauernd zugreift,
in einem Plattenarraysystem gesichert werden und, nachdem das diese
Daten nutzende Geschäft
die Nutzung abgeschlossen hat, ein Backup der Daten auf einem Bandsystem
gesichert wird. Durch diese Vorgehensweise können, falls irgendeine Störung der
im Plattenar raysystem abgespeicherten Daten aufgrund beispielsweise
eines fehlerhaften Betriebs, auftreten sollte, die Daten dadurch
in den ursprünglichen
Zustand wieder hergestellt werden, dass das durch das Bandsystem
erfasste Backup verwendet wird. Jedoch ist die zum Erfassen dieses Backups
benötigte
Zeit proportional zur Datenmenge.
-
Ferner
begannen in den letzten Jahren einhergehend mit einem Ansteigen
der Datenmenge und zunehmender Durchdringung mit Dauerdiensten über 24 Stunden,
Fälle zu
entstehen, bei denen keine ausreichende Backupzeit für einen
Backup der Daten des Plattenarraysystems auf ein Bandsystem gewährleistet
werden kann. Daher wurden Fälle
häufiger,
bei denen sogenannte "Snapshots" als Technik zum
Aufrechterhalten eines Backups der fraglichen Daten zu einem vorgegebenen
Zeitpunkt in einem Plattenarraysystem genutzt werden. Ein "Snapshot", wie hier angegeben,
kennzeichnet eine logische Kopie zum Wiederherstellen des Datenzustands
zu einem vorgegebenen Zeitpunkt. Wenn die Vorgehensweise verwendet
wird, dass Snapshots mit möglichst großer Häufigkeit
verwendet werden, d.h. mit Zeitintervallen, die so kurz wie möglich sind,
kann, falls es anschließend
erforderlich sein sollte, die Daten wieder herzustellen, die Wiederherstellzeit
dadurch verkürzt
werden, dass ein Snapshot verwendet wird, der näher am Zeitpunkt liegt, für den die
Wiederherstellung erwünscht
ist.
-
Jedoch
kann bei einem Großrechner
selbst dann, wenn ein Snapshot erfasst wird, solange nicht der fragliche
Snapshot-Speicherbereich vom Großrechner als Eingabe/Ausgabe-Vorrichtung
definiert wird, der fragliche Snapshot nicht verwendet werden. Daher
ist es erforderlich, dass der Snapshot-Speicherbereich vorab vom Großrechner definiert
wird. Wenn beispielsweise Snapshots für eine Woche, die alle zwei
Stunden aufgenommen wurden, für
einen einzelnen Datenspeicherinhalt aufbewahrt werden, ist es erforderlich,
dass beispielsweise 84 Snapshot-Speicherbereichsadressen als Konfigurationsdefinitionen
registriert werden.
-
Im
Allgemeinen wird die Änderung
der Konfigurationsdefinitionen nicht häufig ausgeführt, sondern dies erfolgt nur
unter eingeschränkten
Umständen,
wie dann, wenn Speicherbereiche durch Hinzufügen oder Wegnehmen einer Anlage
hinzugefügt oder
weggenommen werden; es ist wünschenswert, dass
die Anzahl der Vorgänge,
gemäß denen
eine Änderung
der Konfigurationsdefinitionen des Systems ausgeführt wird,
klein ist, da es sich um etwas handelt, das Zeit des Systemadministrators
erfordert.
-
Die
Anmeldung
EP1349089 offenbart
ein System und ein Verfahren zum Verwalten einer Anzahl von Snapshots.
Eine Gruppe von ein Dateisystem beschreibenden Metadaten ist innerhalb
des Dateisystems enthalten, so dass ein Snapshot desselben die zugeordneten
Metadaten enthält.
Backup-Clientdateisysteme werden unter Verwendung herkömmlicher
Dump- und Wiederherstelltechniken auf einem Backupserver wieder
hergestellt. Dann verwendet der Backupserver einen vom Benutzer
definierten Snapshot-Verwaltungszeitplan zum Verwalten der Gruppe
der dem Backupserver zugeordneten Backups.
-
EP1424632 beschreibt ein
Verfahren und eine Vorrichtung zum Erzeugen von Snapshots für ein Speichersystem.
In der Vorrichtung spezifiziert eine Blockauswahl-Spezifiziereinheit,
die in einer NAS-Verarbeitungseinheit vorhanden ist, einen Block,
der zur Erzeugung von Snapshotdaten erforderlich wird, für eine Spezifizierter-Block-Analysiereinheit
innerhalb einer Plattenvorrichtung. Darüber hinaus erzeugt ein Plattencontroller
Snapshotdaten zu einem als Snapshot-Ziel spezifizierten Block, während er
eine Abfrage der Spezifizierter-Block-Analysiereinheit ausführt.
-
US2003/0131207
offenbart einen Server mit Managementinformation einschließlich Entsprechungsinformation
zwischen einem physikalischen Speicherbereich und einem virtuellen
Speicherbereich, mit solcher Ausbildung, dass Snapshots der virtuellen
Speicherbereiche erfasst werden.
-
Demgemäß ist es
ein Ziel der Erfindung, eine Technik zum Verwalten mehrerer Generationen
von Snapshots von Eingabe/Ausgabe-Vorrichtungen an einem Großrechner
auf flexible Weise, ohne die Konfigurationsdefinitionen der Eingabe/Ausgabe-Vorrichtungen
zu ändern,
zu schaffen.
-
Gemäß einer
ersten Erscheinungsform der Erfindung ist ein Speichersystem geschaffen,
auf das ein Host-Gerät
zugreifen kann, und das mit Folgendem versehen ist: einer Speichereinrichtung
mit mehreren logischen Speicherbereichen, einer Speichersteuerung
zum Steuern der Speichereinrichtung, einer Schnittstelle zum Empfang
eines Snapshot-Erfassungsbefehls und eines Snapshot-Verwendungsbefehls
von dem Host-Gerät,
und einer Snapshot-Verarbeitungseinrichtung zum Durchführen einer
Verarbeitung für
die Erfassung und Verwendung von Snapshots entsprechend den von
der Schnittstelle empfangenen Snapshot-Erfassungs- und -Verwendungsbefehlen,
dadurch gekennzeichnet, dass die Snap shot-Verarbeitungseinrichtung
so ausgelegt ist, dass sie bei Empfang des Snapshot-Erfassungsbefehls
aus den mehreren logischen Speicherbereichen einen auswählt, der
als Snapshot-Ziel verwendbar ist, die Speichersteuerung anweist,
ein Snapshot des logischen Speicherbereichs einer Snapshot-Quelle
zu erfassen, die in dem Snapshot-Erfassungsbefehl für den ausgewählten logischen
Speicherbereich bezeichnet ist, und Erzeugungsinformation hält, die
mit der Adresse des ausgewählten
logischen Speicherbereichs eine in dem Snapshot-Erfassungsbefehl oder von der Snapshot-Verarbeitungseinrichtung
spezifizierte Erzeugungsnummer verknüpft, wobei die Snapshot-Verarbeitungseinrichtung
so ausgelegt ist, dass sie bei Empfang des Snapshot-Verwendungsbefehls
von dem Host-Gerät
anhand der Erzeugungsinformation einen logischen Speicherbereich spezifiziert,
in dem der Snapshot entsprechend der in dem Snapshot-Verwendungsbefehl
spezifizierten Erzeugungsnummer vorliegt, und dem spezifizierten
logischen Speicherbereich eine von dem Host-Gerät aus zugängliche Adresse zuweist.
-
Bei
einer bevorzugten Ausführungsform
ist die Adresse, auf die das Host-Gerät zugreifen kann, und die dem
spezifizierten logischen Speicherbereich zugeordnet ist, eine Adresse
eines logischen Speicherbereichs, die vorab im Host-Gerät registriert wurde.
-
Bei
einer bevorzugten Ausführungsform
fügt, wenn
die Adresse, auf die das Host-Gerät zugreifen kann, dem spezifizierten
logischen Speicherbereich zugeordnet wird, die Snapshot-Verarbeitungseinrichtung
Information, die die Tatsache anzeigt, dass die Adresse, auf die
das Host-Gerät
zugreifen kann, dem spezifizierten logischen Speicherbereich zugeordnet wurde,
zur Erzeugungsinformation hinzu.
-
Bei
einer bevorzugten Ausführungsform kann
der Snapshot-Erfassungsbefehl ferner über eine Spezifizierung des
logischen Speicherbereichs des Snapshot-Ziels verfügen. Die Snapshot-Verarbeitungseinrichtung
kann dann, auf den Snapshot-Erfassungsbefehl hin, wenn der logische Speicherbereich
des Snapshot-Ziels, wie ihn der Snapshot-Erfassungsbefehl spezifiziert,
bereits verwendet wird, einen nicht benutzten logischen Speicherbereich
aus den mehreren logischen Speicherbereichen auswählen und
einen Befehl an die Speichereinrichtungs-Steuerungseinrichtung liefern,
einen Snapshot des logischen Speicherbereichs der Snapshotquelle,
wie ihn der Snapshot-Erfassungsbefehl für den ausgewählten logischen Speicherbereich
definiert, erfassen.
-
Bei
einer bevorzugten Ausführungsform kann
der Snapshot-Verwendungsbefehl ferner die Spezifizierung des logischen
Speicherbereichs des Snapshot-Ziels enthalten. Die Snapshot-Verarbeitungseinrichtung
kann dann, auf den Snapshot-Verwendungsbefehl
hin, unter Bezugnahme auf die Erzeugungsinformation, wenn durch
den im Snapshot-Verwendungsbefehl spezifizierten logischen Speicherbereich
des Snapshot-Ziels kein Snapshot mit der im Snapshot-Verwendungsbefehl spezifizierten
Erzeugungsnummer erfasst wurde, die Adresse des logischen Speicherbereichs
des spezifizierten Snapshot-Ziels demjenigen logischen Speicherbereich
zuordnen, wo der Snapshot mit der spezifizierten Erzeugungsnummer
aufbewahrt wird. Außerdem
kann der Aufbau dergestalt sein, dass eine Mitteilung der Tatsache,
dass ein Snapshot mit der spezifizierten Erzeugungsnummer zum Gebrauch
verfügbar
wurde, an das Host-Gerät
geliefert wird.
-
Ein
Speichersystem gemäß einer
Ausführungsform
der Erfindung ist ein solches, auf das von einem Host-Gerät zugegriffen
wird und das mit Folgendem versehen ist: einer Speichervorrichtung
mit mehreren logischen Speicherbereichen; einem Speichervorrichtungs-Steuerungsabschnitt,
der die Speichervorrichtung steuert; einem Schnittstellenabschnitt,
der vom Großrechner
einen Snapshot-Erfassungsbefehl
sowie einen Snapshot-Verwendungsbefehl und einen Erzeugungsinformations-Erfassungsbefehl
empfängt;
und eine Snapshot-Verarbeitungsvorrichtung, mit einem Erzeugungsinformations-Speicherabschnitt,
der Erzeugungsinformation speichert, die den Snapshot-Erfassungszustand
für jede
Erzeugung anzeigt, und die eine Verarbeitung entsprechend dem Snapshot-Erfassungsbefehl,
dem Snapshot-Verwendungsbefehl und dem Erzeugungsinformations-Erfassungsbefehl,
wie vom Schnittstelleabschnitt empfangen, ausführt. Die Snapshot-Verarbeitungsvorrichtung
wählt,
auf den Snapshot-Erfassungsbefehl hin, aus den mehreren logischen Speicherbereichen
einen logischen Speicherbereich aus; und dann liefert sie einen
Befehl zum Erfassen eines Snapshot des logischen Speicherbereichs
der Snapshotquelle, wie im Snapshot-Erfassungsbefehl für den ausgewählten logischen
Speicherbereich spezifiziert. Außerdem spezifiziert die Snapshot-Verarbeitungsvorrichtung,
unter Bezugnahme auf den Erzeugungsinformationsspeicherabschnitt,
eine Erzeugungszahl, und sie ordnet diese spezifizierte Erzeugungszahl
der Adresse des ausgewählten
logischen Speicherbereichs zu und speichert diese im Erzeugungsinformations-Speicherabschnitt
ab. Die Snapshot-Verarbeitungsvorrichtung erfasst auch die im Erzeugungsinformationsspeicherabschnitt
abgespeicherte Information auf den Erzeugungsinformations-Erfassungsbefehl
hin, und sie liefert einen Befehl an den Schnittstellenabschnitt,
die Information an das Host-Gerät
zu senden. Die Snapshot-Verarbeitungsvorrichtung spezifiziert auch,
auf den Snapshot-Verwendungsbefehl hin, unter Bezugnahme auf den
Erzeugungsinformations-Speicherabschnitt,
den logischen Speicherbereich, für
den ein Snapshot erfasst wurde, und zwar entsprechend der im Snapshot-Verwendungsbefehl
verwendeten Erzeugungszahl. Dann wird diesem spezifiziertem logischen
Speicherbereich eine Adresse zugeordnet, auf die das Host-Gerät zugreifen
kann.
-
Gemäß einer
zweiten Erscheinungsform der Erfindung ist ein Verfahren zum Erfassen
und Verwenden eines Snapshot in einem Speichersystem geschaffen,
auf das ein Host-Gerät
zugreift, mit einer Speichervorrichtung mit mehreren logischen Speicherbereichen,
das Schritte beinhaltet, gemäß denen:
bei
Empfang eines Snapshot-Erfassungsbefehls von dem Host-Gerät aus den
mehreren logischen Speicherbereichen einer ausgewählt wird,
der als Snapshot-Ziel
verwendbar ist,
ein Snapshot des Snapshot-Zielbereichs erfasst wird,
der in dem Snapshot-Erfassungsbefehl für den ausgewählten logischen
Speicherbereich bezeichnet ist,
Erzeugungsinformation gespeichert
wird, die mit der Adresse des ausgewählten logischen Speicherbereichs
eine in dem Snapshot-Erfassungsbefehl oder von einer Snapshot-Verarbeitungseinrichtung
spezifizierte Erzeugungsnummer verknüpft,
bei Empfang eines
Snapshot-Verwendungsbefehls von dem Host-Gerät ein logischer Speicherbereich spezifiziert
wird, der ein Snapshot entsprechend der in dem Snapshot-Verwendungsbefehl
spezifizierten Erzeugungsnummer enthält und
dem spezifizierten
logischen Speicherbereich eine von dem Host-Gerät aus zugängliche Adresse zugewiesen
wird.
-
In
den Zeichnungen ist Folgendes dargestellt:
-
1 ist
ein Diagramm eines Computersystems gemäß einer Ausführungsform
der Erfindung;
-
2 ist
eine Ansicht, die ein Beispiel von Konfigurationsdefinitionsinformation
für Eingabe/Ausgabe-Vorrichtungen
zeigt;
-
3 ist
ein Layout-Funktionsdiagramm eines Plattenarraysystems;
-
4 ist
eine Ansicht, die ein Beispiel zur Erzeugung von Verwaltungsinformation
zeigt;
-
5 ist
ein Flussdiagramm, das die Abfolge einer Snapshot-Erfassungsverarbeitung
zeigt;
-
6 ist
eine Ansicht, die ein Beispiel für den
Fall zeigt, dass ein Snapshotbefehl von der Befehlsleitung eingegeben
wird;
-
7 ist
ein Flussdiagramm, das die Verarbeitungsabfolge zur Nutzung eines
Snapshot zeigt;
-
8 ist
ein Flussdiagramm, das die Abfolge einer Snapshot-Erfassungsverarbeitung
zeigt;
-
9 ist
ein Flussdiagramm der Verarbeitungsabfolge, um einen Snapshot verwendbar
zu machen; und
-
10 ist
eine Ansicht, die ein Beispiel eines Schirms zum Auswählen einer
Snapshoterzeugung zeigt.
-
Nachfolgend
wird ein Computersystem gemäß einer
ersten Ausführungsform
der Erfindung unter Bezugnahme auf die Zeichnungen beschrieben.
-
Zu
allererst ist die 1 eine Ansicht zum schematischen
Veranschaulichen des Gesamtlayouts dieses Systems. Dieses System
verfügt über einen
Großrechner 1,
der ein Host-Gerät
bildet, und ein Plattenarraysystem, das eine externe Speichervorrichtung
des Großrechners 1 bildet.
Das Plattenarraysystem 2 verfügt über eine Plattenvorrichtung 21 mit
mehreren physikalischen Speicherbereichen (nachfolgend als PDEV
bezeichnet) 21a sowie eine Steuerungsvorrichtung 22,
die eine Steuerung der Plattenvorrichtung 21 ausführt. In
der Plattenvorrichtung 21 sind mehrere logische Speicherbereiche (nachfolgend
als LDEVs bezeichnet) 30 (30a bis 30d) gebildet,
die die mehreren PDEVs 21a überspannen. Die Steuerungsvorrichtung 22 verwaltet
die Plattenvorrichtung 21 für jeden LDEV 30, wobei
den LDEVs 30 jeweilige logische Adressen zugeordnet sind.
-
Im
Großrechner 1 sind
ein Betriebssystem (OS) 11, ein Snapshot-Verwaltungsprogramm 12 und ein
vorgegebenes Anwendungsprogramm 13 installiert. Das Snapshot-Verwaltungsprogramm 12 führt eine
Verarbeitung wie das Aufnehmen eines Snapshot eines vorgegebenen
LDEV des Plattenarraysystems 2 auf periodische Weise oder
mit irgendeinem gewünschten
Timing und das Erzeugen eines Befehls, um einen Snapshot verwendbar
zu machen, aus.
-
Auch
wird im OS 11 vorab Konfigurationsdefinitionsinformation
zu Eingabe/Ausgabe-Vorrichtungen (nachfolgend einfach als Konfigurationsdefinitionsinformation
bezeichnet) 14 registriert. Die 2 zeigt
ein Beispiel der Konfigurationsdefinitionsinformation 14 für Eingabe/Ausgabe-Vorrichtungen.
Genauer gesagt, enthält
die Konfigurationsdefinitionsinformation 14 als Einzeldaten
eine Bus-ID 141 des Busses, der hinsichtlich des Plattenarraysystems 2 als
Zugriffspfad eingestellt ist, die Nummer 142 der Steuerungsvorrichtung 22 im
Plattenarraysystem 2, auf die jeder Bus zugreift, und die
Adresse 143 als LDEV 30, auf den jeder Bus zugreifen
kann.
-
Der
Großrechner 1 kann
dadurch auf das Plattenarraysystem 2 zugreifen, dass er
die Adresse des LDEV, auf den zuzugreifen ist, dadurch spezifiziert,
dass er auf die Konfigurationsdefinitionsinformation 14 zu
den Eingabe/Ausgabe-Vorrichtungen Bezug
nimmt. Daher kann der Großrechner 1 nur
auf einen LDEV zugreifen, der zuvor in der Konfigurationsdefinitionsinformation 14 für Eingabe/Ausgabe-Vorrichtungen
definiert wurde. Beim Beispiel der 2 ist die
Struktur im durch die gestrichelte Linie in der 1 umschlossenen
Bereich definiert. In diesem Fall kann der Großrechner 1 demgemäß nur auf die
LDEVs 30a und 30b zugreifen, während er nicht direkt auf die
anderen LDEVs 30c, 30d, ... zugreifen kann.
-
Als
Nächstes
wird das Funktionslayout des Plattenarraysystems 2 unter
Bezugnahme auf das in der 3 dargestellte
Blockdiagramm detailliert beschrieben. Wie es in dieser Figur dargestellt
ist, verfügt
die Steuerungsvorrichtung 22 des Plattenarraysystems 2 über einen
Schnittstellensteuerungsabschnitt 23, einen gemeinsamen
Speicher 24, einen Plattensteuerungsabschnitt 26 und
einen Cachespeicher 27, die durch einen Bus 28 miteinander
verbunden sind. Der Schnittstellensteuerungsabschnitt 23 verfügt über einen
programmierten Mikroprozessor 29; einen Großrechner-Kommunikationsabschnitt 29A,
der Eingabe/Ausgabe-Vorgänge
für Information für den Großrechner
ausführt,
einen Snapshot-Verarbeitungsabschnitt 29B und einen Bus-Eingangs/Ausgangs- Steuerungsabschnitt 29C,
der die Eingabe/Ausgabe von Daten in Bezug auf den Bus 28 steuert,
mit Implementierung durch Steuerung des Mikroprozessors 29.
Der Plattensteuerungsabschnitt 26 verfügt über einen programmierten Mikroprozessor 26A und
er führt
eine Steuerung der Plattenvorrichtung 21 aus. Der gemeinsam
genutzte Speicher 24 besteht beispielsweise aus einem nicht
flüchtigen Speicher,
und er speichert Erzeugungsverwaltungsinformation 25. Der
gemeinsam genutzte Speicher 24 und der Cachespeicher 27 können aus
jeweils verschiedenen Speichern bestehen, oder sie können im
selben Speicher ausgebildet sein. Der Bus 28 kann durch
einen Hochgeschwindigkeitsbus wie einen Verteilungsbus sehr hoher
Geschwindigkeit, in dem eine Datenübertragung durch einen Vermittlungsvorgang
sehr hoher Geschwindigkeit erfolgt, gebildet sein.
-
Wenn
beispielsweise das Plattenarraysystem 2 einen Befehl an
den Großrechner 1 ausgibt,
die Eingabe/Ausgabe von Daten in Bezug auf den LDEV 30a (DEVA
#00) auszuführen,
wird dieser vom Großrechner-Kommunikationsabschnitt 29A empfangen. Wenn
beispielsweise der empfangene Befehl eine Anweisung zum Eingeben
(Schreiben) von Daten in Bezug auf den LDEV 30a ist, speichert
der Bus-Eingangs/Ausgangs-Steuerungsabschnitt 29C die in dem
Cachespeicher 27 zu speichernden Daten, und der Plattensteuerungsabschnitt 26 schreibt
die Daten asynchron in den LDEV 30a. Wenn andererseits
der empfangene Befehl eine Anweisung zum Ausgeben (Lesen) von Daten
in Bezug auf den LDEV 30a ist, liest der Plattensteuerungsabschnitt 26,
entsprechend einem Befehl vom Bus-Eingangs/Ausgangs-Steuerungsabschnitt 29C die
spezifizierten Daten aus dem LDEV 30a, und er speichert
sie im Cachespeicher 27 ab, und er erfasst diese Daten
aus dem Cachespeicher 27 und gibt sie an den Großrechner 1 aus.
-
Auch
führt das
Plattenarraysystem 2 gemäß dieser Ausführungsform
eine Erzeugungsverwaltung für
mehrere Snapshots aus. Wenn beispielsweise der Großrechner-Kommunikationsabschnitt 29A einen Snapshot-Erfassungsbefehl
und einen Snapshot-Verwendungsbefehl vom Großrechner 1 empfängt, führt der
Snapshot-Verarbeitungsabschnitt 29B verschiedene
Typen von Verarbeitungen aus, wie sie zur Erfassung und Verwendung
eines Snapshot erforderlich sind, wie dies noch beschrieben wird.
-
Tatsächlich erfasst
der Plattensteuerungsabschnitt 26, wenn ein Snapshot benötigt wird,
einen solchen, wenn der Snapshot-Verarbeitungsabschnitt 29B eine
Anweisung zum Ausführen
eines Backupvorgangs (d.h. für
eine Snapshoterfassung) ausgibt, wobei die Adresse des Hauptspeicherbereichs (Snapshot- Quellspeicherbereich),
der Gegenstand des Backupvorgangs ist, und die Adresse eines Hilfsspeicherbereichs
(Snapshot-Zielspeicherbereich), der das Ziel des Backupvorgangs
ist, spezifiziert werden.
-
Die
Erzeugungsverwaltungsinformation 25 zeigt den Erfassungszustand
bei jeder Erzeugung von Snapshots des LDEV, der Gegenstand des Backupvorgangs
ist, an. Die 4 zeigt ein Beispiel der in
der Erzeugungsverwaltungsinformation 25 gespeicherten Information.
Genauer gesagt, gehören zu
den Einzeldaten der Erzeugungsverwaltungsinformation 25 die
Adresse 251 des Hauptspeicherbereichs, die Adresse 252 des
Hilfsspeicherbereichs, die Erzeugungsnummer 253, die die
Erzeugung kennzeichnet, die LDEV-Adressen 254 für jede Erzeugung,
wie sie einem Snapshot der verschiedenen Erzeugungsvorgänge zugeordnet
sind, das Verwendungsflag 255 und der Snapshot-Erfassungszeitpunkt 256.
-
Die
Adresse 251 des Hauptspeicherbereichs ist die Adresse desjenigen
LDEV, die Gegenstand des Backupvorgangs ist. In diesem Fall ist
der Hauptspeicherbereich 251 der LDEV 30a, so
dass dessen Adresse DEVA #00 gespeichert wird.
-
Die
Adresse 252 des Hilfsspeicherbereichs kennzeichnet die
Adresse desjenigen LDEV, der durch den Großrechner 1 als Hilfsspeicherbereich
erkannt wird. D.h., dass bei dieser Ausführungsform zwar mehrere Erzeugungsvorgänge von
Snapshots verwaltet werden können,
dass jedoch, wie es beschrieben wird, der einzige Ziel-Hilfsspeicherbereich für den Backupvorgang,
der durch den Großrechner 1 erkannt
werden kann, der LDEV 30b ist. Daher wird in diesem Fall
die DEVA #01 als Adresse 252 des Hilfsspeicherbereichs
gespeichert.
-
Die
Erzeugungszahl 253 ist diejenige Erzeugungszahl, wie sie
jedem Snapshot zugewiesen wird.
-
Die
LDEV-Adressen 254 für
jede Erzeugung sind diejenigen Adressen des LDEV 30, die
jeweiligen Erzeugungsvorgängen
zugeordnet sind. Die LDEV-Adressen 254 werden für jede Erzeugung
vorab jeder Erzeugung zugeordnet; sie können in der Erzeugungsverwaltungsinformation 25 registriert
werden, oder die erforderliche Erzeugungsadresse kann dann zugeordnet
werden, wenn der Snapshot erfasst wird.
-
Das
Verwendungsflag 255 ist ein Flag zum Kennzeichnen von Erzeugungsvorgängen, die
vom Großrechner 1 verwendet
werden können.
Die Bedingung einer Ver wendbarkeit durch den Großrechner 1, d.h.,
dass die Adresse 252 des Hilfsspeicherbereichs vorübergehend
zugeordnet wird, ist eine Bedingung, gemäß der die Eingabe/Ausgabe von Daten
vom Großrechner 1 ausführbar ist.
Beim Beispiel der 4 ist beispielsweise der Snapshot
mit der Erzeugungsnummer 3 verwendbar.
-
Für ein System
mit einem Aufbau, wie er oben beschrieben ist, wird nun die Verarbeitung
zum Erfassen von Snapshots des LDEV 30a für jeden
Erzeugungsvorgang unter Bezugnahme auf das Flussdiagramm der 5 beschrieben.
-
Zu
allererst gibt, im Großrechner 1,
auf eine Anweisung von einer Anwendung 13 oder eine Anweisung
für Benutzer
unter Verwendung einer Eingabevorrichtung 10a hin, das
Snapshot-Verwaltungsprogramm 12 einen Snapshot-Erfassungsbefehl
in Bezug auf das Plattenarraysystem 2 aus (S11). Der Snapshot-Erfassungsbefehl
kann beispielsweise eine Adresse und eine Erzeugungsnummer zum Spezifizieren
des Hauptspeicherbereichs und des Hilfsspeicherbereichs enthalten.
Beispielsweise zeigt die 6 ein Beispiel für den Fall,
dass ein Snapshot-Erfassungsbefehl
vom Benutzer über
die Befehlsleitung 200 eingegeben wird. In diesem Fall werden,
auf der Befehlsleitung 200, folgend auf den Snapshot-Erfassungsbefehl,
die Adresse 210 des Hauptspeicherbereichs, die Adresse 220 des
Hilfsspeicherbereichs und die Erzeugungsnummer 230 eingegeben.
So ist die auf der Befehlsleitung 200 eingegebene Information
im Snapshot-Erfassungsbefehl enthalten.
-
Die
Steuerungsvorrichtung 22 des Plattenarraysystems 3 empfängt diesen
Snapshot-Erfassungsbefehl. Dann bestimmt der Snapshot-Verarbeitungsabschnitt 29B unter
Bezugnahme auf die Erzeugungsverwaltungsinformation 25,
ob die im Snapshot-Erfassungsbefehl enthaltene Adresse des Hilfsspeicherbereichs
in den LDEV-Adressen 254 für jeden Erzeugungsvorgang enthalten
ist, d.h. sie bestimmt, ob diese Adresse bereits verwendet ist oder nicht
(S12). Wenn die Adresse bereits verwendet wird (S12: ja), wählt der
Snapshot-Verarbeitungsabschnitt einen der nicht verwendeten LDEVs
aus (S13).
-
Wenn
die Adresse nicht verwendet wird (S12: nein) und wenn im Schritt
S13 ein nicht verwendeter LDEV ausgewählt wird, wird die Adresse
dieses LDEV in den LDEV-Adressen 254 für jeden Erzeugungsvorgang,
in Zuordnung zur im Snapshot-Erfassungsbefehl
enthaltenen Erzeugungsnummer, abgespeichert, und die Erzeugungsverwaltungsinformation
wird aktualisiert (S14). Dann liefert der Snap shot-Verarbeitungsabschnitt 29B eine
Anweisung zum Ausführen
eines Backupvorgangs unter Spezifizierung der Adressen des Hauptspeicherbereichs
und des Hilfsspeicherbereichs an den Plattensteuerungsabschnitt 26 aus.
Dadurch erfasst der Plattensteuerungsabschnitt 26 einen
Snapshot f (S15). Wenn der Snapshot erfasst ist, informiert der Snapshot-Verarbeitungsabschnitt 29B den
Großrechner 1 über den
Abschluss der Erfassung eines Snapshot (S16).
-
Dadurch
ist es möglich,
einen Snapshot für einen
Speicherbereich zu erfassen, den der Großrechner 1 nicht direkt
erkennt. Im Ergebnis kann für jeden
Erzeugungsvorgang eine Anzahl von Snapshots erfasst werden, die
der Anzahl der in der Konfigurationsdefinitionsinformation des Großrechners 1 registrierten
Anzahl von Speicherbereichen entspricht oder größer ist. Als Nächstes wird
unter Bezugnahme auf das Flussdiagramm der 7 eine Verarbeitung
zur Verwendung eines der durch die obige Verarbeitung erfassten
Snapshots beschrieben.
-
Zu
allererst gibt das Snapshot-Verwaltungsprogramm 12 entsprechend
durch den Benutzer durch eine Eingabevorrichtung 10a eingegebener
Information oder entsprechend von Information, die von einer Anwendung 13 als
Anweisung empfangen wird, einen Snapshot-Verwendungsbefehl aus (S21). Der
Snapshot-Verwendungsbefehl beinhaltet beispielsweise die Adresse
des LDEV (in diesem Fall die DEVA #00), der Gegenstand des Backupvorgangs
ist, die Snapshotadresse (in diesem Fall die DEVA #01) sowie die
Erzeugungsnummer für
ein Snapshot, die verwendet werden soll. Dieser Snapshot-Verwendungsbefehl
ist ein Befehl, um es dem Großrechner 1 zu
ermöglichen,
den Snapshot des spezifizierten Erzeugungsvorgangs für den LDEV 30a zu
verwenden, der Gegenstand des Backupvorgangs ist, wie die DEVA #01.
-
Die
Steuerungsvorrichtung 22 des Speicherbereichs 2 empfängt diesen
Snapshot-Verwendungsbefehl.
Dann bestimmt der Snapshot-Verarbeitungsabschnitt 29B (S22),
ob der spezifizierten Erzeugungsnummer die im Snapshot-Verwendungsbefehl spezifizierte
Snapshotadresse zugewiesen ist, was unter Bezugnahme auf die Erzeugungsnummer 253 der
Erzeugungsverwaltungsinformation 25 und die LDEV-Adressen 254 für jeden
Erzeugungsvorgang erfolgt.
-
Wenn
der spezifizierten Erzeugungsnummer nicht die spezifizierte Snapshotadresse
zugeordnet ist (S22: nein), kann der Großrechner 1 nicht direkt auf
den Snapshotspeicherbereich des spezifizierten Erzeugungsvorgangs
zugreifen. Wenn beispielsweise durch den Snapshot-Verwendungsbefehl "3" als Erzeugungs nummer spezifiziert ist,
ist die Adresse mit der Erzeugungsnummer "3",
wie sie sich unter den LDEV-Adressen 254 für jeden
Erzeugungsvorgang findet, "DEVA
#03", so dass der
Großrechner 1 nicht
auf den Snapshotspeicherbereich mit der Erzeugungsnummer "3" zugreifen kann. Daher spezifiziert
der Snapshot-Verarbeitungsabschnitt 29B (S23) für jeden
Erzeugungsvorgang, entsprechend der spezifizierten Erzeugungsnummer,
eine Einzeladresse in den LDEV-Adressen 254 (beim obigen
Beispiel die DEVA #03) unter Bezugnahme auf die Erzeugungsverwaltungsinformation 25.
-
Die
durch den Snapshot-Verwendungsbefehl spezifizierte Adresse (DEVA
#01) wird dann dem Snapshotspeicherbereich dieser spezifizierten Adresse
zugewiesen (S24). D.h., dass beim obigen Beispiel die DEVA #03 in
die DEVA #01 gewandelt wird.
-
Dann
informiert der Snapshot-Verarbeitungsabschnitt 29B (S26)
den Großrechner 1 durch Setzen
des Verwendungsflags 255 für die durch die Erzeugungsverwaltungsinformation 25 spezifizierte Erzeugungsnummer
(3 beim obigen Beispiel) auf EIN (S25) darüber, dass der Snapshotspeicherbereich
für den
spezifizierten Erzeugungsvorgang verwendbar wurde.
-
Auf
diese Weise kann der Großrechner 1 mit der
bereits definierten DEVA #0 in der Konfigurationsdefinition 14 auf
den Snapshotspeicherbereich des spezifizierten Erzeugungsvorgangs
zugreifen. Im Ergebnis wird es möglich,
Snapshotspeicherbereiche aus einer großen Anzahl von Snapshotspeicherbereichen
mit einer Speicherbereichsanzahl über derjenigen zu verwenden,
die in der Konfigurationsdefinition 14 definiert sind,
was durch Spezifizieren ihrer Erzeugungsnummer erfolgt.
-
Als
Nächstes
wird eine zweite Ausführungsform
der Erfindung beschrieben. Bei dieser Ausführungsform ist das in den 1 bis 4 dargestellte Systemlayout
dasselbe wie bei der ersten Ausführungsform.
Jedoch ist bei dieser Ausführungsform die
Verarbeitungsabfolge zum Erfassen und Verwenden eines Snapshot verschieden
von der bei der ersten Ausführungsform.
Diese Verarbeitungsabfolge wird nachfolgend unter Bezugnahme auf
die 8 bis 10 beschrieben.
-
Die 8 ist
ein Flussdiagramm, das die Snapshot-Erfassungsverarbeitungssequenz entsprechend
dieser Ausführungsform
zeigt. Zu allererst gibt das Snapshotverwaltungsprogramm 12 des Großrechners 1 auf
eine Anweisung von der Anwendung 13 oder eine Anweisung
vom Benutzer unter Verwendung der Eingabevorrichtung 10a auf
dieselbe Weise wie bei der ersten Ausführungsform, einen Snapshot-Erfassungsbefehl
hinsichtlich des Plattenarraysystems 2 (S31). Dieser Snapshot-Erfassungsbefehl
beinhaltet zumindest die Adresse des Hauptspeicherbereichs, und
er kann ferner die Adresse des Hilfsspeicherbereichs enthalten.
-
Wenn
die Steuerungsvorrichtung 22 diesen Backupbefehl empfängt, spezifiziert
der Snapshot-Verarbeitungsabschnitt 29B unter Bezugnahme
auf die Erzeugungsverwaltungsinformation 25, die Erzeugungsnummer
des Erzeugungsvorgangs, unter der der Backupvorgang auszuführen ist (S22).
Beispielsweise werden bei dieser Ausführungsform die LDEV-Adressen 254 für jeden
Erzeugungsvorgang vorab jeder Erzeugungsnummer 253 zugeordnet.
Dann wird, wenn ein unverwendeter Erzeugungsvorgang vorliegt, d.h.,
dessen Backupzeitpunkt 256 frei ist, dieser Erzeugungsvorgang
als derjenige spezifiziert, der in diesem Fall zu verwenden ist,
oder wenn alle Erzeugungsvorgänge
verwendet sind, wird der zu verwendende Erzeugungsvorgang als derjenige
spezifiziert, dessen Backupzeitpunkt 255 der früheste ist.
-
Wenn
die Erzeugungsnummer, unter der ein Backupvorgang auszuführen ist,
im Schritt S32 spezifiziert ist, stellt der Snapshot-Verarbeitungsabschnitt 29B,
durch weitere Bezugnahme auf den Erzeugungsinformations-Speicherabschnitt 25 diejenige
Einzeladresse innerhalb der LDEV-Adressen 254 für jeden
Erzeugungsvorgang, die dieser Erzeugungsnummer 253 zugeordnet
ist, als Adresse des Hilfsspeicherbereichs ein. Wenn dabei die Adresse des
Hilfsspeicherbereichs im Snapshot-Erfassungsbefehl spezifiziert
ist, wird die spezifizierte Adresse verworfen, und es erfolgt ein
Ersatz durch die o.g. Adresse.
-
Dann
erfasst der Snapshot-Verarbeitungsabschnitt 29B dadurch
einen Snapshot (S44), dass er einen Backupvorgang für den Hilfsspeicherbereich, der
im Schritt S13 eingestellt wurde, aus dem durch den Snapshot-Erfassungsbefehl
spezifizierten Hauptspeicherbereich ausführt. Auf diese Weise erfasst
die Plattenvorrichtung 21 einen Snapshot des Hauptspeicherbereichs,
um einen Snapshot entsprechend dem spezifizierten Erzeugungsvorgang
zu bilden.
-
Dann
aktualisiert der Snapshot-Verarbeitungsabschnitt 29B (S45)
die Erzeugungsverwaltungsinformation 25 entsprechend der
oben beschriebenen Snapshot-Erfassungsverarbeitung.
Genauer gesagt, aktualisiert der Snapshot-Verar beitungsabschnitt 29B den
Snapshoterfassungszeitpunkt 256 entsprechend der Erzeugungsnummer 253 des
erfassten Snapshot.
-
Wenn
die obige Verarbeitung abgeschlossen ist, informiert der Plattensteuerungsabschnitt 26 den Großrechner 1 über die
Tatsache, dass der Backupvorgang abgeschlossen wurde (S46).
-
Bei
dieser Ausführungsform
wird ein Snapshot dadurch erfasst, dass automatisch eine Erzeugungszuordnung
ausgeführt
wird, wenn das Plattenarraysystem 2 einen Snapshot-Erfassungsbefehl empfängt. D.h.,
dass sich der Benutzer der Erzeugung nicht bewusst sein muss, da
es nicht erforderlich ist, zu spezifizieren, für welchen Erzeugungsvorgang
ein Backup hinsichtlich des Großrechners 1 ausgeführt werden
soll.
-
Als
Nächstes
wird die Verarbeitung zum Verwenden eines der durch die obige Verarbeitung
erfassten Snapshots unter Bezugnahme auf das Flussdiagramm der 9 beschrieben.
-
Zu
allererst gibt das Snapshotverwaltungsprogramm 12 eine
Anforderung zum Erfassen von durch das Plattenarraysystem 2 gespeicherter
Erzeugungsverwaltungsinformation hinsichtlich eines vom Benutzer
unter Verwendung der Eingabevorrichtung 10a spezifizierten
Hauptspeicherbereichs oder einer LDEV, die durch eine Anwendung 13 spezifiziert
wurde, aus (S41). Die Spezifizierung der LDEV erfolgt beispielsweise
durch Spezifizieren der Adresse desselben.
-
Wenn
die Steuerungsvorrichtung 22 diese Anforderung zum Erfassen
von Erzeugungsverwaltungsinformation 25 empfängt, erfasst
der Snapshot-Verarbeitungsabschnitt 29B die Erzeugungsinformation
des durch die Erzeugungsverwaltungsinformation 25 spezifizierten
LDEV, und er sendet dies an den Großrechner 1 (S42).
-
Das
Snapshotverwaltungsprogramm 12 zeigt auf einer Anzeigevorrichtung 10b einen
Schirm für
den Benutzer an (S43), um einen Erzeugungsvorgang entsprechend der
vom Plattenarraysystem 2 gelieferten Erzeugungsverwaltungsinformation
auszuwählen.
Die 10 zeigt ein Beispiel für diesen Auswahlschirm 100.
Der Erzeugungsauswahlschirm 100 beinhaltet, wie es beispielhaft
in dieser Figur dargestellt ist, eine Tabelle 110 von Snapshoterfassungszeitpunkten
für jeden
Erzeugungsvorgang sowie einen Bereich 120, der die Eingabe
einer zu verwenden den Erzeugungsnummer akzeptiert. Obwohl in diesem
Fall für
jede Erzeugungsnummer der Erzeugungsverwaltungsinformation nur der
Snapshoterfassungszeitpunkt angezeigt wird, wäre es möglich, dass der Schirm auch
andere Erzeugungsverwaltungsinformation als diese anzeigt.
-
Wenn
der Benutzer eine Erzeugungsnummer in diesem Erzeugungsauswahlschirm
auswählt, wird
ein Snapshot-Verwendungsbefehl, um es zu ermöglichen, den Snapshot mit der
spezifizierten Erzeugungsnummer zu verwenden, hinsichtlich des Plattenarraysystems 2 ausgegeben
(S44). Wenn der Benutzer im Fall des Schirms 100 der 8 die
Erzeugungsnummer des zu verwendenden Snapshot eingibt, wird diese
durch das Snapshotverwaltungsprogramm 12 empfangen. Der
Snapshot-Verwendungsbefehl beinhaltet zumindest die Erzeugungsnummer.
-
Wenn
der Snapshot-Verarbeitungsabschnitt 29B diesen Snapshot-Verwendungsbefehl
empfängt, wird
der Snapshot mit der so spezifizierten Erzeugungsnummer durch dieselbe
Verarbeitungssequenz wie bei der ersten Ausführungsform in einen Zustand versetzt,
in dem er durch den Großrechner
verwendet werden kann (S45). Wenn der Snapshot so in einen Zustand
versetzt wurde, in dem er durch den Großrechner verwendbar ist, wird
dem Großrechner 1 eine
diesbezügliche
Meldung mitgeteilt (S46).
-
Auf
diese Weise kann im Plattenarraysystem 2 automatisch eine
Erzeugungsverwaltung ausgeführt
werden.
-
Die
oben beschriebenen Ausführungsformen der
Erfindung sind Beispiele, die zur Erläuterung der Erfindung angegeben
sind, und der Schutzumfang der Erfindung ist nicht alleine auf diese
Ausführungsformen
beschränkt.
Die Erfindung kann vom Fachmann auf verschiedene andere Arten realisiert
werden, ohne dass dadurch von den beigefügten Ansprüchen abgewichen wird.
-
Beispielsweise
ist zwar bei den obigen Ausführungsformen
ein Snapshot-Verarbeitungsabschnitt als Funktion des Schnittstellensteuerungsabschnitts
vorhanden, jedoch könnte
auch ein Plattensteuerungsabschnitt vorhanden sein, und der Schnittstellensteuerungsabschnitt
und/oder der Plattensteuerungsabschnitt könnten durch verschiedene Prozessoren
implementiert werden, oder sie könnten durch
mehrere Prozessoren innerhalb des Plattenarraysystems implementiert
werden. Auch enthält
zwar bei den obigen Ausführungsformen
das Plattenarraysystem 2 Erzeugungsverwaltungsinformation,
jedoch könnte
diese im Großrechner
enthalten sein, und die Erzeugungsverwaltung könnte im Großrechner ausgeführt werden.