-
HINTERGRUND DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft ein Speichersystem mit mehreren Steuereinheiten,
die jeweils mit mehreren Platteneinheiten verbunden sind.
-
In
den letzten Jahren ist die Nachfrage nach einer Kürzung der
Zeit gestiegen, die für
den Vorgang (nachstehend als Sicherungsvorgang bezeichnet) zur Replizierung
der in einer gegebenen Speichereinheit gespeicherten Daten in eine
von einem Firmenunternehmen gehaltene andere Speichereinheit erforderlich
ist. Vor dem Hintergrund dieser Nachfrage steht der Anstieg der
Informationsmenge, die jedes Unternehmen hält, und die für die Sicherung
aufgewendete Zeit wird ständig
mehr, während
der Anstieg der Geschäftsstunden
jedes Unternehmens die relative Länge der Zeit, die dem Sicherungsvorgang
zugeteilt werden kann, verkürzt
hat.
-
In
JP-A-7-210439 und JP-A-2001-318833 ist ein „Schnappschuss" als Technik zum
Sichern der in einer Speichervorrichtung gespeicherten Daten ohne Unterbrechung
der Routinearbeit von Unternehmen vorgeschlagen worden. Der Schnappschuss
wird als Funktion zur Herstellung einer Kopie eines Speicherbereichs
einer Speichervorrichtung zu einem bestimmten Zeitpunkt ohne die
Vermittlung des mit der Speichervorrichtung verbundenen Computers
definiert. Indem der Benutzer sich die Funktion zunutze macht, verwendet
er den Originalspeicherbereich für das
Geschäft
und die in dem Kopiespeicherbereich gespeicherten Daten zum Sichern.
-
US
2003/0131207 A1 offenbart einen Server, der Verwaltungsinformation
einschließlich
Korrespondenzinformation zwischen einem physikalischen Speicherbereich
und einem virtualisierten Speicherbereich aufweist, um einen virtualisierten
Speicherbereich bereitzustellen. Der Server beinhaltet eine Einheit
zu Verwendung der Verwaltungsinformation, um einem anderen Host
einen virtualisierten Speicherbereich zur Verfügung zu stellen, und eine Einheit
zur Anweisung der Steuerung der Speicherbereiche auf der Grundlage
des virtualisierten Steuerbereichs an eine Steuerungsvorrichtung
für eine Speichervorrichtung
zum Bereitstellen des physikalischen Speicherbereichs. Des Weiteren
weist die Steuerungsvorrichtung eine Einheit auf, die die gesamte
oder einen Teil einer Verwaltungsinformation einschließlich der
Korrespondenzinformation aufweist und die Steuerung der Speichervorrichtung
auf der Grundlage des virtualisierten Speicherbereichs in Ansprechung
auf die Anweisung durchführt.
-
In
US 2002/0129214 A1 ist ein computer-umgesetztes Verfahren zur Verwaltung
von Datenschnappschüssen
von Quell- und Zielspeichervolumina in einer Doppel-Steuerungsvorrichtungs-Umgebung
beschrieben. Ein Konfigurationsraum, der die Quell- und Zielspeichervolumina
auf einem ersten bzw. zweiten logischen Laufwerk abbildet, wird
eingerichtet. Der Konfigurationsraum wird dann in einen ersten und
zweiten Abschnitt geteilt, wobei eine erste Speichersteuerungsvorrichtung
den ersten Abschnitt steuert und eine zweite Speichersteuerungsvorrichtung
den zweiten Abschnitt steuert. Zwischen den Quell- und Zielspeichervolumina
wird eine Schnappschussbeziehung eingerichtet, so dass Abschnitte von
Daten im Quellspeichervolumen auf dem Zielspeichervolumen logisch
gespiegelt werden. Die identische Schnappschussbeziehung wird sowohl
in der ersten als auch in der zweiten Speichersteuerungsvorrichtung
gespeichert. In Ansprechung auf eine Anforderung, eine Betätigung durchzuführen, die
zu einer Modifizierung der Schnappschussbeziehung führt, wird
die Betätigung
durchgeführt und dann
wird eine modifizierte Schnappschussbeziehung auf die erste und
zweite Steuerungsvorrichtung übertragen.
Die modifizierte Schnappschussbeziehung spiegelt die Betätigung wider,
wodurch sie die Schnappschussbeziehungsdaten in der ersten und zweiten
Steuerungsvorrichtung synchronisiert.
-
EP 1 217 523 A1 offenbart
ein Speichersystemdaten-Duplizierungsverfahren zum Kopieren von Daten
von mehreren logischen Volumina, die in einem ersten Speichersystem
enthalten sind, zu einem zweiten Speichersystem, das die folgenden
Schritte einschließt:
Kopieren der Daten der mehreren logischen Volumina in das zweite
Speichersystem; Unterbrechen des Kopierens der Daten der mehreren logischen
Volumina in das zweite Speichersystem; Beginn des Kopierens von
Daten von einem oder mehr der mehreren logischen Volumina in das
zweite Speichersystem; und Beginn des Kopierens von Daten von einigen
anderen der mehreren logischen Volumina als dem einen oder mehr
logischen Volumina in das zweite Speichersystem, wie von dem Schritt verzögert, Verkürzen einer
Zeit, die benötigt
wird, bis der Abschluss der Datenduplizierung auf die Wiederherstellung
einer Gruppe gepaarter logischer Volumina in einer Volumengruppe
nach einer Fernkopie vorübergehend
gestoppt wird.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Ein
Clusterkonfigurations-Speichersystem ist als Technik zur Steigerung
der Skalierbarkeit einer mit dem Netzwerk verbundenen Speichervorrichtung erdacht.
Das Clusterkonfigurations-Speichersystem ist so aufgebaut, dass
jedes Speichersystem mehrere Cluster beinhaltet, die jeweils ein
konventionelles Speichersystem, zum Beispiel eine Plattenanordnungseinheit,
bilden.
-
Es
ist keine frühere
Referenz verfügbar,
die einen Schnappschuss in dem konventionellen Clusterkonfigurations-Speichersystem
angibt. In dem Fall, in dem das Clusterkonfigurations-Speichersystem
und die herkömmliche
Schnappschusstechnik einfach miteinander kombiniert werden, kann
der Speicherbereich nur in einen Cluster kopiert werden.
-
Wenn
jedoch ein Speicherbereich nicht zwischen verschiedenen Clustern
kopiert werden kann, kommt es bei einem einzelnen Clusterkonfigurations-Speichersystem
unerwünschterweise
dazu, dass es sowohl einen Speicherbereich, in dem Daten kopiert
werden können,
als auch einen Speicherbereich, in dem Daten nicht kopiert werden
können,
aufweist, wodurch die Skalierbarkeit negativ beeinflusst wird, die
ursprünglich
durch das Clusterkonfigurations-Speichersystem beabsichtigt war.
-
In
dem Fall, in dem eine Kopie eines logischen Volumens (nachstehend
einfach als das Volumen bezeichnet) zwischen Clustern des Clusterkonfigurations-Speichersystems
erstellt wird, d. h. in dem Fall, dass ein Originalvolumen und ein
Kopievolumen in verschiedenen Clustern vorhanden sind, kann der
dem Originalvolumen (nachstehend manchmal als primäres Volumen
bezeichnet) zugeordnete Cluster nicht auf einen gemeinsamen Speicher
in dem Cluster, der dem Kopiervolumen zugeordnet ist (nachstehend
manchmal als sekundärer
Cluster bezeichnet), zugreifen und kann daher die Last auf den sekundären Cluster
nicht erkennen. Somit bleibt dem Benutzer keine andere Wahl als
ein Kopievolumen in demselben Cluster wie dem Originalcluster auszuwählen und
daher ist die Benutzer-Betriebsfähigkeit auf
unpraktische Weise aufgrund einer sich von dem Stand der Technik
unterscheidenden Systemkonfiguration verändert.
-
Dementsprechend
ist es Aufgabe der vorliegenden Erfindung, ein Speichersystem mit
mehreren Steuereinheiten, die jeweils mit mehreren Platteneinheiten
verbunden sind, wobei eine Kopie eines Speicherbereichs, ohne sich
des Unterschieds einer Steuereinheit bewusst zu sein, selbst in
dem Fall erzeugt werden kann, dass eine Replikation eines Volumens
in den mit verschiedenen Steuereinheiten verbundenen Platteneinheiten
sowie in den mit derselben Steuereinheit verbundenen Platteneinheiten erzeugt
wird, sowie ein jeweiliges Verfahren zur Herstellung einer Replikation
in einem Speichersystem bereitzustellen.
-
Dies
wird durch ein Speichersystem gemäß Anspruch 1 und einem Verfahren
mit den Merkmalen des Anspruchs 11 erreicht.
-
Gemäß der vorliegenden
Erfindung wird ein Speichersystem mit mehreren Steuereinheiten,
die jeweils mehrere Platteneinheiten aufweisen, bereitgestellt,
wobei
jede der Steuereinheiten eine Replikationserzeugungseinheit umfasst
zum Erzeugen einer Replikation der Volumendaten in den mit der Steuereinheit verbundenen
Platteneinheiten und Paarinformation mit der Information über das
Originalvolumen und der Information über das Replikationsvolumen,
wobei
die Replikationserzeugungseinheit einer ersten von mehreren der
Steuereinheiten, wenn eine Replikation in einem Volumen in einer
mit derselben Steuereinheit verbundenen Platteneinheit erzeugt wird,
die Information über
das Originalvolumen und die Information über das Replikationsvolumen
als die Paarinformation einträgt
und somit eine Replikation in dem Volumen in der mit derselben Steuereinheit verbundenen
Platteneinheit auf der Grundlage der Paarinformation erzeugt, während, wenn
eine Replikation in einem Volumen in einer mit einer zweiten Steuereinheit
verbundenen Platteneinheit erzeugt wird, die Replikationserzeugungseinheit
die Information über
das Originalvolumen, die Information über das Replikationsvolumen
der ersten Steuereinheit und die Information über die zweite Steuereinheit
als die Paarinformation einträgt,
und
wobei eine Anforderung zur Erzeugung einer Replikation
an die zweite Steuereinheit auf der Grundlage der Paarinformation übertragen
wird, um dadurch eine Replikation zu erzeugen.
-
In
dem Speichersystem mit mehreren Steuereinheiten, die jeweils mit
mehreren Platteneinheiten verbunden sind, kann daher eine Kopie
eines Speicherbereichs hergestellt werden, ohne sich des Unterschieds
einer Steuereinheit in dem Fall bewusst zu sein, dass eine Replikation
in den Volumina in den mit verschiedenen Steuereinheiten verbundenen Platteneinheiten
sowie in den Volumina in den mit derselben Steuereinheit verbundenen
Steuereinheiten erzeugt wird.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Diagramm, das eine Konfiguration eines Computersystems gemäß einer
Ausführungsform
der Erfindung zeigt.
-
2 ist
ein Diagramm, das eine Konfiguration eines Speichers gemäß einer
Ausführungsform der
Erfindung zeigt.
-
3 ist
ein Diagramm, das eine Konfiguration einer Benutzereingabe-/-ausgabevorrichtung (beispielsweise
eines Verwaltungsservers) gemäß einer
Ausführungsform
der Erfindung zeigt.
-
4 ist
ein Diagramm, das ein Beispiel für eine
Volumenpaarinformationstabelle zeigt.
-
5 ist
ein Beispiel eines Flussdiagramms, das einen Umriss des Verfahrens
zur Erzeugung einer Replikation zeigt.
-
6 ist
ein Beispiel eines Flussdiagramms, das ein Replikationserzeugungsverfahren
in derselben Speichersteuereinheit zeigt.
-
7 ist
ein Diagramm, das den Vorgang eines Replikationserzeugungsverfahrens
in verschiedenen Speichersteuereinheiten gemäß einer Ausführungsform
der Erfindung zeigt.
-
8 ist
ein Flussdiagramm, das ein Verfahren zur Erzeugung einer Replikation
in einer unterschiedlichen Speichersteuereinheit zeigt.
-
9 ist
ein Beispiel eines Flussdiagramms, das den Vorgang zeigt, der in
dem Fall ausgeführt wird,
in dem eine Schreibanforderung während
der anfänglichen
Kopiebetätigung
ausgegeben wird.
-
10 ist
ein Diagramm, das ein Beispiel für eine
Volumeninformationstabelle zeigt.
-
11 ist
ein Diagramm, das ein Beispiel einer Differenzbitmap zeigt.
-
12 ist
ein Beispiel eines Flussdiagramms, das den Spaltvorgang zeigt.
-
13 ist
ein Beispiel eines Flussdiagramms, das den Vorgang des Empfangens
einer Schreibanforderung an das primäre Volumen und den Vorgang
des Empfangens einer Schreibanforderung an das sekundäre Volumen
im Schnellspaltmodus zeigt.
-
14 ist
ein Diagramm, das ein Beispiel einer Auftragvorranginformationsbitmap
zeigt.
-
15 ist
ein Beispiel eines Flussdiagramms, das den Resynchronisierungsvorgang zeigt.
-
16 ist
ein Beispiel eines Flussdiagramms des Auftragvorranginformations-Eintragungsvorgangs
und des Schreib-/Lesevorgangs auf der Grundlage der Auftragvorranginformation.
-
17 ist
ein Beispiel eines Plan-Flussdiagramms einer Warteschlange mit niedrigem
Auftragsvorrang.
-
18 ist
ein Diagramm zur Erläuterung
der Betätigung
durch den Benutzer zur Realisierung eines Paars zwischen Clustern
als ein Paar in demselben Cluster.
-
BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
1 zeigt
ein Beispiel eines Computersystems einschließlich eines Clusterkonfigurations-Speichersystems
gemäß einer
Ausführungsform
der Erfindung.
-
Ein
erstes Speichersystem 70A ist durch ein Netzwerk 60 mit
Hosts 10, 11 verbunden. Eine Benutzereingabe-/-ausgabevorrichtung 80 ist
mit dem ersten Speichersystem 70A durch ein Verwaltungsnetzwerk 62 und
ein zweites Speichersystem 70B mit dem ersten Speichersystem 70A durch
ein Netzwerk 61 verbunden. Der gezeigte Fall stellt eine
Konfiguration dar, die mit dem zweiten Speichersys tem 70B verbunden
ist. Dennoch kann das zweite Speichersystem 70B auch nicht
verbunden sein.
-
Das
Speichersystem 70A weist einen Protokollumwandlungsadapter 40 auf.
Der Protokollumwandlungsadapter 40 ist ein von einer Speichersteuereinheit 20 unabhängiger Kanalverbindungsabschnitt
und handhabt ein Protokoll auf der Grundlage eines LAN (local area
network – lokales
Netz), öffentlichen
Netzes, einer Standleitung oder ESCON (enterprise systems connection – Unternehmenssystemverbindung).
Mehrere der Protokollumwandlungsadapter 40 und mehrere
der Speichersteuereinheiten 20 sind miteinander durch ein
Netzwerk 63 verbunden.
-
Bei
Empfang eines Eingabe-/-ausgabebefehls von den Hosts 10, 11 analysiert
der Protokollumwandlungsadapter 40 den Befehl und wandelt dessen
Protokoll um. Indem er einerseits eine bestimmte Speichersteuereinheit 20 festlegt,
die die LU (logical unit – logische
Einheit) steuert, die die durch den Befehl angeforderten Daten speichert,
und andererseits im Hinblick darauf, ob die LU durch das Speichersystem 70B verwaltet
wird, sendet der Adapter 40 dann den Befehl an die so festgelegte
Speichersteuereinheit 20. Welche von den Speichersteuereinheiten 20 die
LU verwaltet, wird durch Zugreifen auf die Konfigurationsinformationstabelle 510 festgelegt, die
in dem Speicher in dem durch ein Netzwerk 63 verbundenen
Prozessor 50 gespeichert ist.
-
Die
Benutzereingabe-/-ausgabevorrichtung 80 erkennt das erste
Speichersystem 70A durch das Netzwerk 63. Alternativ
ist die Benutzereingabe-/-ausgabevorrichtung 80 durch eine
Standleitung direkt mit dem ersten Speichersystem 70A verbunden.
-
Die
Speichersteuereinheit 20 beinhaltet eine CPU 21,
einen Speicher 22, einen Cache-Speicher 23 zum
vorübergehenden
Speichern der Eingabe-/-ausgabedaten von den Hosts 10, 11,
eine Plattenmitte 24, die einen Verbindungsabschnitt mit
dem Netzwerk 63 bildet, und eine Speicherschnittstelle 25 zum
Steuern der Übertragung
und des Empfangs der Daten an die und von den Speichereinheiten 31.
Diese Bestandteile sind miteinander durch einen internen Bus verbunden.
-
2 ist
ein Diagramm, das eine Konfiguration des Speichers 22 gemäß einer
Ausführungsform der
Erfindung zeigt. Wie in 2 gezeigt ist, sind verschiedene
durch die CPU 21 ausgeführte
Programme im Speicher 22 gespeichert. Insbesondere beinhalten
die Programme ein RAID (redundant array of inexpensive disks – redundante
Anordnung von Laufwerken)-Steuerprogramm 200 zum Steuern
der Betätigung
des Speichersystems 70 und einen Verwaltungsagent 210 zum
Verwalten der Konfiguration des Speichersystems 70. In
dem Speicher 22 sind auch verschiedene Verwaltungsinformationen
gespeichert. Insbesondere beinhalten die Verwaltungsinformationen
eine Volumenpaarinformationstabelle 220 zum Aufzeichnen
der Information über
das Originalvolumen (Replikationsquelle) und das Kopievolumen (Replikationsvolumen),
eine Volumeninformationstabelle 230, eine Auftragvorranginformationsbitmap 250,
eine Differenzbitmap 240, eine Auftragswarteschlange 260 und
eine (nicht gezeigte) Konfigurationsinformationstabelle, wodurch
das Speichersystem 70B dem Speichersystem 70A seine
eigene LU als LU des Speichersystems 70A zuführt. Die
Bestandteile 220 bis 250 und die Konfigurationsinformationstabelle
können
in dem Prozessor 50 eingeschlossen sein.
-
Das
RAID-Steuerprogramm 200 weist einen (nicht gezeigten) Abschnitt
auf, von dem ein Befehl an die Speichereinheiten 31 ausge geben
wird. Das RAID-Steuerprogramm 200 weist darin Teilprogramme
einschließlich
eines Replikationserzeugungsprogramms 201 zum Erzeugen
einer Replikation (Kopie) der Daten im Speichersystem 70 und
ein Auftragsvorrangeinstellprogramm 201 auf. Das RAID-Steuerprogramm 200,
das Replikationserzeugungsprogramm 201 und das Auftragsvorrangeinstellprogramm 202 werden
durch die CPU 21 (1) ausgeführt, um
dadurch eine RAID-Steuereinheit, eine Replikationserzeugungseinheit
und eine Auftragsvorrangeinstelleinheit der Speichersteuereinheit 20 zu bilden.
Das RAID-Steuerprogramm 200,
das Replikationserzeugungsprogramm 201 und das Auftragsvorrangeinstellprogramm 202 können teilweise
oder ganz aus Hardware konfiguriert sein. Die Daten werden entweder
synchron (einem Host wird der Abschluss der Datenkopie nach dem
Abschluss gemeldet) oder asynchron (einem Host wird der Abschluss der
Datenkopie vor dem Abschluss gemeldet) repliziert. Gemäß der vorliegenden
Ausführungsform
wird jedoch kein Unterschied zwischen den beiden Variationen gemacht.
-
Der
Verwaltungsagent 210 ist ein Programm zum Empfangen einer
Eingabe von der Benutzereingabe-/-ausgabevorrichtung 80 und
zum Einstellen oder Ausgeben der Information an die Benutzereingabe-/-ausgabevorrichtung 80.
-
3 ist
ein Diagramm, das eine Konfiguration der Benutzereingabe-/-ausgabevorrichtung 80 gemäß einer
Ausführungsform
der Information zeigt. Die Benutzereingabe-/-ausgabevorrichtung 80 beinhaltet
eine CPU 81, eine primäre
Speichereinheit 82, eine Eingabeeinheit (Tastatureinheit
etc.) 83, eine Ausgabeeinheit (Anzeigeeinheit etc.) 84,
eine Verwaltungsschnittstelle 85 zum Verbinden mit dem Netzwerk 62 und
eine Speichereinheit 86. Diese Bestandteile sind durch
einen internen Bus untereinander verbunden. In der Speichereinheit 86 ist
ein durch die CPU 81 ausgeführtes Auftragsvorrangeinstellprogramm 202 gespeichert.
-
Der
Host 10 ist ein Personalcomputer, eine Arbeitsstation oder
ein Allzweckcomputer und weist einen (nicht gezeigten) HBA (host
bus adaptor – Hostbusadapter)
auf, der eine FC-Schnittstelle zur Verbindung nach außen bildet.
Dem HBA ist auch ein WWN (weltweiter Name) zugeordnet.
-
4 ist
ein Diagramm, das ein Beispiel für die
Volumenpaarinformationstabelle 220 zeigt. Diese Tabelle
enthält
Information zum Verwalten der Volumenpaare (nachstehend manchmal
einfach als die Paare bezeichnet), die die replizierten Daten im
Speichersystem 70 halten, und beinhaltet eine Paarnummer 221,
Primärvolumeninformation 222,
Sekundärvolumeninformationen 223 bis 225 und
einen Paarstatus 226. Insbesondere die Information über ein
in denselben Speichersteuereinheiten 20A befindliches Paar
und die Information über
ein Paar mit einem Originalvolumen in der Speichersteuereinheit 20A werden
im Speicher 22 der Speichersteuereinheit 20A gespeichert.
-
Die
Paarnummer 221 gibt einen Bezeichner an, der jedem Paar
willkürlich
zugeordnet wird.
-
Die
Primärvolumeninformation 222 ist
die Volumennummer, die dem primären
Volumen zugeordnet ist, das ein Originalvolumen (Original) von jedem
Paar, dem ein Bezeichner zugeordnet ist, bildet.
-
Die
Sekundärvolumeninformationen 223 bis 225 sind
die Informationen über
das sekundäre
Volumen, das das Replikations- (Kopie)-Volumen von jedem Paar, dem
ein Bezeichner zugeordnet ist, bil det. Die Sekundärvolumennummer
eines Paars in derselben Speichersteuereinheit wird in Spalte 223 eingetragen.
Wie bei einem Paar zwischen verschiedenen Speichersteuereinheiten
wird dagegen eine Volumennummer, die in derselben Speichersteuereinheit virtualisiert
ist, in Spalte 223 eingetragen. Die Information über die
Speichersteuereinheit des sekundären
Volumens zum tatsächlichen
Speichern der Daten, wie etwa die Speichersteuereinheitsnummer, wird
in Spalte 224 eingetragen und die Volumennummer in Spalte 225.
Die in derselben Speichersteuereinheit virtualisierte Volumennummer
ist, obschon eine Volumennummer in der besonderen Speichersteuereinheit,
eine virtuelle Volumennummer, mit der kein Volumen für die mit
der besonderen Speichersteuereinheit verbundene Platteneinheit erzeugt wird.
-
Der
Paarstatus gibt den aktuellen Zustand eines Paars an. Der Paarstatus
beinhaltet einen Zustand (nachstehend als „gepaarter Zustand" bezeichnet), in
dem die in den Volumina eines Paars gespeicherten Daten miteinander
synchronisiert und übereinstimmend
sind, und einen Zustand (nachstehend als „gespaltener Zustand" bezeichnet), in
dem die Daten eines Paars nicht miteinander synchronisiert sind.
-
Im
Speichersystem 70A wird ein Paar im gepaarten Zustand zu
einem beliebigen Zeitpunkt in ein Paar im gespaltenen Zustand geändert. Zur
gleichen Zeit werden die Daten, die das primäre Volumen des Paars zu einer
beliebigen Zeit aufweist, in einem sekundären Volumen gehalten (dieser
Vorgang wird als „einen
Schnappschuss machen" bezeichnet).
Danach liest der Host 10 die Daten aus dem sekundären Volumen
und schreibt sie in eine andere Speichereinheit (zum Beispiel eine
Bandeinheit). Somit können die
Daten, die in dem Paar zu dem Zeitpunkt gespeichert sind, an dem
der Schnappschuss gemacht wird, gesichert werden. Alternativ kann
das sekundäre
Volumen als Sicherungsdaten gehalten werden, nachdem der Schnappschuss
gemacht ist.
-
10 ist
ein Diagramm, das ein Beispiel für die
Volumeninformationstabelle 230 zeigt. Diese Tabelle ist
zum Eintragen der Information zum Verwalten der durch die Speichersteuereinheit 20A gespeicherten
Volumina und zum Speichern der Information im Speicher der Speichersteuereinheit 20A bestimmt.
-
Die
Volumennummer 231 ist ein jedem Volumen zugeordneter Bezeichner.
Die drei Volumennummern 0 stellen einen Fall dar, in dem drei Paare für dieselbe
Volumennummer 0 gesetzt sind. Im Allgemeinen können ein oder mehrere Paare
für jedes Volumen
gesetzt werden.
-
Die
Spalte „primär/sekundär" 232 gibt
an, ob ein gegebenes Volumen als primäres oder sekundäres eines
Paars fungiert.
-
Die
Paarungsvolumeninformationen 233 bis 235 sind
die Volumeninformationen über
die andere Partei eines Paars. Im Fall eines Paars in derselben Speichersteuereinheit
wird die Sekundärvolumennummer
in Spalte 233 eingetragen. Für ein Paar zwischen unterschiedlichen
Speichersteuereinheiten dagegen wird eine in derselben Speichersteuereinheit
virtualisierte Volumennummer in Spalte 233 eingetragen,
die Speichersteuereinheitsnummer des sekundären Volumens, das die Daten
tatsächlich
gespeichert hat, wird in Spalte 234 eingetragen, und die Volumennummer
in Spalte 235. Die Volumen-belegt-Spalte 236 ist
die Information, welche angibt, ob ein bestimmtes Volumen belegt
oder frei ist.
-
Es
sei angenommen, dass 10 die Volumeninformation über die
Speichersteuereinheit Nr. 0 zeigt. Das Volumen 0 erzeugt drei Paa re.
Das erste Paar gibt an, dass das Volumen 1024 der Speichersteuereinheit
Nr. 0 ein virtualisiertes sekundäres
Volumen ist und das sekundäre
Volumen, in dem tatsächliche
Daten gespeichert sind, das Volumen 20 der Speichersteuereinheit
Nr. 1 ist. Das zweite Paar gibt das Volumen 158 derselben
Speichersteuereinheit an. Das Volumen 1 wird als sekundäres Volumen des
Paares verwendet und das primäre
Volumen ist das Volumen 3783 der Speichersteuereinheit
Nr. 3.
-
11 ist
ein Diagramm, das ein Beispiel für die
Differenzbitmap 240 zeigt. Zwei Bitmaps derselben Größe werden
für ein
Paar vorbereitet. In der Differenzbitmap bezeichnet „0" den Punkt, an dem
die Replikation beendet ist, und „1", wo die Replikation noch zu beenden
ist. Die Daten von vorgegebener Größe werden aufbereitet, um einem
Bit zu entsprechen. In dem Fall, dass die Daten von 64 kB, die einem
Bit entsprechen sollen, und selbst 1B von 64 kB aktualisiert werden,
wird das Bit beispielsweise auf „1" gesetzt, um die Inhalte in dem Replikationsvolumen
zu reflektieren.
-
14 ist
ein Diagramm, das ein Beispiel für die
Auftragvorranginformationsbitmap 250 zeigt. Diese Bitmap
gibt die Information über
dasjenige Volumen an, das durch eine gegebene Speichersteuereinheit
mit der in ihr gespeicherten Bitmap gesteuert wird, die ein Replikationspaar
mit einem durch eine andere Speichersteuereinheit gesteuerten Volumen bildet.
Das Bit „1" gibt die Erwünschtheit
der Verarbeitung an, die von niedrigerem Vorrang der normale Schreib-/Lesevorgang
ist. Das Bit „0" gibt die Erwünschtheit
des Vorgangs mit einem Plan an, der demjenigen der normalen Schreib/Leseverarbeitung gleichwertig
ist. Es sei angenommen, dass die Bitmap der 14 der
Reihenfolge der Volumennummer entspricht. Das führende Bit stellt die Information
des Volumens 0 dar. In dieser Bitmap sind die vierten, fünften und
achten Bits „1".
-
Dies
gibt an, dass die Volumina 3, 4 und 7 normal verarbeitet werden,
wenn die Schreib-/Leseanforderung eine geringere Anzahl von Malen
ausgegeben wird, ohne die normale Fähigkeit zur Schreib/Leseverarbeitung
zu beeinträchtigen.
Diese Bitmap wird durch „0" und „1" angegeben. In dem
Fall jedoch, in dem die Planung in mehreren Vorrangsstufen gewünscht ist,
kann die Anzahl der Bits pro Volumen erhöht werden.
-
Mit
dieser Systemkonfiguration wird eine Erläuterung über ein Verfahren zum Kopieren
eines Volumens der Speichersteuereinheit 20A auf die Speichersteuereinheit 20B gegeben.
-
Der
Vorgang des Erzeugens eines Kopievolumens wird gemäß dem Replikationserzeugungsprogramm 201 ausgeführt. Das
Replikationserzeugungsprogramm 201 überprüft, ob das primäre und sekundäre Volumen
eines Replikationspaars zur selben Speichersteuereinheit oder zu
verschiedenen Speichersteuereinheiten gehören. In dem Fall, in dem das
primäre
und sekundäre
Volumen mit unterschiedlichen Speichersteuereinheiten verknüpft sind, wird
der Vorgang der vorliegenden Erfindung ausgeführt. In dem Fall dagegen, in
dem das primäre
und sekundäre
Volumen mit derselben Speichersteuereinheit verknüpft sind,
wird das herkömmliche
Verfahren ausgeführt.
-
5 ist
ein Flussdiagramm, das einen Umriss des Vorgangs zur Erzeugung einer
Replikation in dem Clusterkonfigurations-Speichersystem der 1 zeigt.
Zuerst wird ein sekundäres
Volumen, das ein Replikationsvolumen bereitstellt, aus freien Volumina
ausgewählt
und ein Paar aus primärem
und sekundärem
Volumen wird in der Volumenpaarinformationstabelle 220 eingetragen
(Schritt 5010). Es wird festgelegt, ob das Paar mit derselben
Speichersteuereinheit 20 verknüpft ist (Schritt 5020),
und in dem Fall, in dem das Paar mit derselben Speichersteuereinheit 20 verknüpft ist,
wird der Vorgang der Herstellung einer Replikation in derselben
Speichersteuereinheit ausgeführt
(Schritt 5030), wodurch der Vorgang beendet wird. In dem
Fall dagegen, in dem sich die Volumina des Paars in verschiedenen
Speichersteuereinheiten befinden, wird der Replikationserzeugungsvorgang
zwischen verschiedenen Speichersteuereinheiten ausgeführt (Schritt 5040),
wodurch der Vorgang beendet wird.
-
Als
Nächstes
wird der Vorgang des Erzeugens einer Replikation in derselben Speichersteuereinheit
in Schritt 5030 unter Bezugnahme auf das Flussdiagramm
der 6 erläutert.
-
Der
anfängliche
Kopiervorgang wird begonnen, um alle Inhalte des primären Volumens
in das sekundäre
Volumen zu kopieren. Im anfänglichen Kopiervorgang
werden all Bits der in den 2 und 11 gezeigten
Differenzbitmap 240 P1 auf „1" gesetzt (Schritt 6010). Bei
aufeinander folgender Erfassung von Bits „1" auf der Differenzbitmap (Schritt 6020)
wird bestimmt, ob die Daten an einer Position, die einem besonderen
Bit „1" entspricht, in dem
Cache-Speicher gespeichert werden oder nicht (Schritt 6030).
Andererseits geht bei Erfassung von keinem Bit „1" in Schritt 6020 der Vorgang
zu Schritt 6070 weiter. In dem Fall, in dem die entsprechenden
Daten in Schritt 6030 nicht im Cache-Speicher gespeichert werden,
werden die Daten aus dem primären
Volumen in den Cache-Speicher gelesen (Schritt 6040). Eine
Kopie des primären
Volumens wird als Sekundärvolumendaten
im Cache-Speicher hergestellt (Schritt 6050). Zur gleichen
Zeit wie die Kopiebetätigung
wird die redundante Information zur Bestimmung, ob die Daten korrekt
sind oder nicht, für
das sekundäre
Volumen neu hergestellt und an die Daten angehängt. Sobald die Daten im Cache-Speicher
gespeichert sind, wird das Differenzbit auf „0" gesetzt (Schritt 6060). Bei
Vorhanden sein des nächsten
Bits wird der Vorgang der Schritte 6020 bis 6060 wiederholt
(Schritt 6070). Bei Abwesenheit des nächsten Bits wird der Vorgang
dagegen beendet. In einem alternativen Verfahren zum Lesen der Daten
aus dem primären
Volumen wird die redundante Information für das sekundäre Volumen
hergestellt und direkt im Cache-Speicher als Sekundärvolumendaten
gespeichert. Andererseits werden die Sekundärvolumendaten auf dem Cache-Speicher
in dem sekundären
Volumen gespeichert (Schritt 6080).
-
Als
Nächstes
wird der Vorgang des Schritts 5040 zur Erzeugung einer
Replikation zwischen verschiedenen Speichersteuereinheiten unter
Bezugnahme auf die 7 und 8 erläutert.
-
7 zeigt
eine Ausführungsform,
in der eine Replikation zwischen verschiedenen Speichersteuereinheiten
erzeugt wird. Gemäß dieser
Ausführungsform
werden die Daten bevorzugt von dem Volumen 311 als einem
Originalvolumen in das Volumen 312 kopiert. In der Speichersteuereinheit 20A mit
dem primären
Volumen 311 wird das sekundäre Volumen 312 in
der Speichersteuereinheit 20B in ein Volumen 313 der
Speichersteuereinheit 20A virtualisiert. Als Ergebnis führt der
Host den Replikationserzeugungsvorgang unter der Annahme durch,
dass sich die Volumina des Paars (einschließlich der Volumina 311 und 313 als
Paar Nr. 1) in derselben Speichersteuereinheit 20A befinden.
Andererseits gibt die Speichersteuereinheit 20A, welche
erkennt, dass sich das sekundäre
Volumen tatsächlich
in der Speichersteuereinheit 20B befindet, eine Schreibanforderung
aus, um die Kopierdaten an die Speichersteuereinheit 20B zu übertragen.
Die Paarinformation des Paars Nr. 1 (Paar #1) wird in der Paarinformationstabelle 220 in
der Speichersteuereinheit 20A mit dem primären Volumen
eingetragen. Die Paarinformation des Paars Nr. 2 (Paar #2) dagegen,
das sich in der Speicher steuereinheit 20B befindet, wird
in der Paarinformationstabelle 220 in der Speichersteuereinheit 20B eingetragen.
-
Wenn
irgendeine Replikation erzeugt wird, wird sie vorzugsweise in derselben
Speichersteuereinheit erzeugt und soweit wie möglich tatsächlich in derselben Speichersteuereinheit
erzeugt. In dem Fall, in dem Originalvolumen konzentriert sind und kein
freier Bereich in einer gegebenen Speichersteuereinheit zur Verfügung steht,
kann jedoch eine Replikation zwischen mehreren Speichersteuereinheiten erzeugt
werden. Eine Ausführungsform,
in der eine Replikation zwischen verschiedenen Speichersteuereinheiten
erzeugt wird, ist in 7 gezeigt. In dieser Ausführungsform
wird eine Replikation des primären Volumens 311 in
einem realen sekundären
Volumen 312 hergestellt. Auch in diesem Fall wird ein Replikationsvolumen
in einer solchen Weise ausgewählt, dass
eine Replikation des primären
Volumens 311 in einem virtuellen sekundären Volumen 313 erzeugt wird.
Auf diese Weise scheint die Replikation innerhalb derselben Speichersteuereinheit
erzeugt zu werden. Das virtuelle sekundäre Volumen 313 verwendet
keinen Datenbereich in der Platteneinheit, sondern nur die Volumennummer.
Dies ist der Vorgang für
die virtuelle Datenzuordnung. Der Host-Computer erkennt, dass das
primäre
Volumen 311 als virtuelles sekundäres Volumen 313 repliziert wird,
und kann daher den Vorgang, wie im Stand der Technik, ausführen, ohne
die Speichersteuereinheit des Replikationsvolumens zu erkennen.
Der Host-Computer gibt eine Anforderung an die Speichersteuereinheit
mit dem primären
Volumen 311 und dem virtuellen sekundären Volumen 313 aus. Andererseits
erkennt das Speichersystem 70, dass das virtuelle sekundäre Volumen 313 virtuell
zugeordnet wird und dass das tatsächliche Volumen ein reales
sekundäres
Volumen 312 ist. Sobald daher eine Anforderung bei dem
realen sekundären
Volumen 312 eintrifft, wird sie durch die Speichersteuereinheit
des virtuellen sekundären Volumens 313 empfangen
und die Inhalte der Anforderung werden an eine Speichersteuereinheit
mit dem realen sekundären
Volumen 312 übertragen.
-
8 ist
ein Beispiel für
ein Flussdiagramm, das das Replikationserzeugungs-Verarbeitungsverfahren
zwischen verschiedenen Speichersteuereinheiten zeigt. Das Replikationserzeugungs-Verarbeitungsverfahren
zwischen verschiedenen Speichersteuereinheiten in Schritt 5040 ist
nachstehend unter Bezugnahme auf das Flussdiagramm der 8 erläutert.
-
Die
Schritte 8010 bis 8070 sind mit den Schritten 6010 bis 6070 identisch.
Obwohl es in 8 nicht detailliert gezeigt
ist, wird der Vorgang der folgenden Schritte ausgeführt: In
Schritt 8010 (der Schritt 6010 entspricht) werden
alle Bits der in den 2 und 11 gezeigten
Differenzbitmap 240 P1 auf „1" gesetzt. In Schritt 8020 (der
Schritt 6020 entspricht) bestimmt Schritt 8030 (der
Schritt 6030 entspricht) bei Erfassung von Bits „1" auf der Differenzbitmap,
ob die Daten an einer Position, die einem besonderen Bit „1" entspricht, in dem
Cache-Speicher enthalten sind oder nicht. Wenn Bit „1" nicht in Schritt 8020 erfasst
wird, geht der Vorgang zu Schritt 8070 weiter (der Schritt 6070 entspricht).
In dem Fall, in dem die Daten an einer dem Bit „1" entsprechenden Position in dem Cache-Speicher
in Schritt 8030 nicht gefunden werden, liest der Schritt 8040 (der
Schritt 6040 entspricht) die Daten aus dem primären Volumen
in den Cache-Speicher. In Schritt 8050 (der Schritt 6050 entspricht)
werden die Daten in das sekundäre
Volumen in dem virtualisierten Cache-Speicher kopiert. Sobald die
Daten im Cache-Speicher gespeichert sind, setzt der Schritt 8060 (der
Schritt 6060 entspricht) das Differenzbit auf „0". Bei Vorhandensein
des nächsten
Bits in Schritt 8070 (der Schritt 6070 entspricht)
wird der Vorgang der Schritte 8020 bis 8060 wiederholt.
Bei Abwe senheit des nächsten
Bits wird der Vorgang beendet. Auf diese Weise werden die virtualisierten
Sekundärvolumendaten
im Cache-Speicher
gespeichert. Der Vorgang bis zu dieser Stufe ist ähnlich demjenigen
in dem Fall, in dem sich sowohl ein primäres als auch ein sekundäres Volumen
in derselben Speichersteuereinheit befinden.
-
Andererseits
ist es erforderlich, dass die virtualisierten Sekundärvolumendaten,
die asynchron im Cache-Speicher gespeichert sind, in dem tatsächlichen
sekundären
Volumen gespeichert werden. Zu diesem Zweck wird eine Anforderung
zur Erzeugung einer Replikation von der primären Speichersteuereinheit 20A an
die sekundäre
Speichersteuereinheit 20B übertragen und eine Replikation
wird in der sekundären
Speichersteuereinheit 20B erzeugt. Insbesondere wird eine
Replikation in einer Platteneinheit erzeugt, die mit der sekundären Speichersteuereinheit 20B in
der folgenden Weise verbunden ist: Die Speichersteuereinheit 20A mit
einem primären
Volumen gibt an die Speichersteuereinheit 20B eine Anforderung
aus, die nicht in der Speichereinheit der Speichersteuereinheit 20B reflektierten
Daten (verfälschte
Daten) in den Cache-Speicher zur Erzeugung eines sekundären Volumens
zu schreiben (Schritt 8110). Die sekundäre Speichersteuereinheit 20B sichert
einen Cache-Speicher
zum Speichern der Schreibdaten (Schritt 8120). Der primären Speichersteuereinheit 20A wird
gemeldet, dass der Cache-Speicher
gesichert worden ist (Schritt 8130). Bei Empfang der Meldung überträgt die primäre Speichersteuereinheit 20A die
Schreibdaten (Schritt 8140). Die primäre Speichersteuereinheit 20A empfängt eine Übertragungsabschlussmeldung
von der sekundären
Speichersteuereinheit 20B (Schritt 8150). Bei
Vorhandensein der nächsten
verfälschten Daten
wiederholt die primäre
Speichersteuereinheit 20A den Vorgang der Schritte 8110 bis 8150 (Schritt 8160).
Bei Abwesenheit der nächsten
verfälschten Daten
wird der Vorgang dagegen beendet. Die sekundäre Speichersteuereinheit 20B speichert
die Daten aus dem Cache-Speicher asynchron in das sekundäre Volumen
(Schritt 8170).
-
Der
anfängliche
Kopievorgang dient zum Kopieren der allen Differenzbits entsprechenden
Daten. Selbst nach dem abgeschlossenen anfänglichen Kopievorgang wird
die Differenzbitmap auf „1" gesetzt, wenn eine
Schreibanforderung auf halbem Weg empfangen wird. In diesem restlichen
Kopievorgang wird die Differenzbitmap von oben angefangen der Reihe
nach durchsucht, und bei Erfassung eines Bits „1" wird ein ähnlicher Kopievorgang wie der
anfängliche
Kopievorgang ausgeführt.
-
Die
normale Schreib-/Leseanforderung kann während des anfänglichen
Kopiervorgangs eintreffen. Der Vorgang, der auszuführen ist,
wenn eine Schreibanforderung eintrifft, wird nachstehend unter Bezugnahme
auf das Flussdiagramm der 9 erläutert.
-
Die
Speichersteuereinheit 20A empfängt eine Schreibanforderung
von dem Host 10 (Schritt 9010). Die Speichersteuereinheit 20A setzt
das Bit an einer bestimmten Position der Differenzbitmap 240 P1
(2 und 11), die den zu schreibenden Daten
entspricht, auf „1" (Schritt 9020).
Die Speichersteuereinheit 20A sichert den Cache-Speicherbereich
zum Speichern der Schreibdaten (Schritt 9030). Die Speichersteuereinheit 20A empfängt die Schreibdaten
von dem Host 10 und speichert sie im Cache-Speicher (Schritt 9040).
Die Speichersteuereinheit 20A sendet eine Schreibabschlussmeldung an
den Host 10 zurück
(Schritt 9050).
-
Die
Speichersteuereinheit 20A speichert die Schreibdaten unabhängig von
der Schreibanforderung von dem Host asynchron in dem primären Volumen
(Schritt 9060).
-
Der
Vorgang des Reflektierens der Inhalte der Schreibdaten im sekundären Volumen
wird so ausgeführt,
dass die Differenzbitmap sequenziell beobachtet wird, und bei Erfassung
eines Bits „1" (Schritt 9070)
mit einem Paar in derselben Speichersteuereinheit (Schritt 9080)
wird der Vorgang der Schritte 6030 bis 6060, 6080 ausgeführt (Schritt 9090),
während
für ein
Paar zwischen verschiedenen Speichersteuereinheiten der Vorgang
der Schritte 8030 bis 8060, 8110 bis 8150, 8170 ausgeführt wird (Schritt 9100).
Auf der Suche nach dem nächsten
Bit geht der Vorgang zu Schritt 9070 weiter und bei Abwesenheit
des nächsten
Bits wird der Vorgang beendet (Schritt 9110).
-
Als
Nächstes
wird der Spaltzustand des Paars erläutert. Sobald ein Paar gespalten
ist, werden die Differenzbitmaps 240 P1 und 240 P2
umgeschaltet. Wie in 11 gezeigt ist, werden die Differenzbitmaps
P1 und P1 in dem Speicher 22 für jedes Paar im Speicher 22 der
Speichersteuereinheit des primären
Volumens gehalten. Es wird angenommen, dass die Differenzbitmaps
P1 und P2 von derselben Größe sind.
Die während
des Spaltzustands verwendeten Differenzbitmaps werden im Speicher 22 der Speichersteuereinheit
des primären
Volumens gehalten, und jedes Mal, wenn das sekundäre Volumen
aktualisiert wird, wird auf die Differenzbitmaps in der Speichersteuereinheit 22A zugegriffen.
-
Zur
Resynchronisierung mit den Inhalten des primären Volumens werden die vorherrschenden
Inhalte des primären
Volumens in das sekundäre
Volumen kopiert. Zu diesem Zweck werden die beiden Differenzbitmaps,
die primäre
und die sekundäre, miteinander
vermischt und derselbe Vorgang wie der anfängliche Kopiervorgang wird
ausgeführt.
Mit anderen Worten werden in dem Fall, in dem eines der Bits für das primäre oder
sekundäre
Volumen auf „1" gesetzt wird, alle
Volumina kopiert.
-
Der
normale Spaltvorgang wird zu dem Zeitpunkt ausgeführt, wenn
die Inhalte des primären
und sekundären
Volumens nach dem anfänglichen
Kopievorgang miteinander synchronisiert werden. Abgesehen davon,
wird der „Schnellspalt"-Vorgang so ausgeführt, dass
bei Empfang einer Spaltanforderung selbst während des anfänglichen
Kopievorgangs dem Host 10 ein Spaltabschluss gemeldet wird,
während
der reprimärende
Kopievorgang im Hintergrund ausgeführt wird. 12 ist
ein Flussdiagramm, das den Spaltvorgang gemäß diesem Verfahren zeigt. Wie
in 12 gezeigt ist, gibt der Host 10 eine „Schnellspalt"-Anweisung aus und
die Speichersteuereinheit 20A schaltet bei Empfang der
Anweisung (Schritt 12010) die Differenzbitmap 240 zum Speichern
der Schreibanforderung des Hosts 10 von P1 zu P2 um (Schritt 12020).
Die Speichersteuereinheit 20A ändert den Paarstatus 226 (4)
der Volumenpaarinformationstabelle 220 in „gespalten" (Schritt 12030).
Nun sind das primäre
und sekundäre Volumen
zum Empfang einer Schreib-/Leseanforderung bereit. Die Speichersteuereinheit 20 führt den Vorgang
des Kopierens der unreflektierten Daten in das sekundäre Volumen
im Hintergrund durch. Der Vorgang des Reflektierens der Daten in
das sekundäre
Volumen wird so ausgeführt,
dass die Differenzbitmap sequenziell beobachtet wird, und bei Erfassung
eines Bits „1" (Schritt 12040)
mit einem Paar in derselben Speichersteuereinheit 20 (Schritt 12050) wird
ein den Schritten 6020 bis 6080 ähnlicher
Vorgang ausgeführt
(Schritt 12060). Andererseits wird in dem Fall, dass ein
Paar zwischen verschiedenen Speichersteuereinheiten 20 beteiligt
ist, der Vorgang der Schritte 8020 bis 8070 und
der Schritte 8110 bis 8160 ausgeführt (Schritt 12070).
Auf der Suche nach dem nächsten
Bit geht der Vorgang zu Schritt 12040 weiter. Bei Abwesenheit
des nächsten
Bits wird der Vorgang beendet (Schritt 12080).
-
Der
Vorgang, der ausgeführt
wird, wenn eine Schreibanforderung durch das primäre Volumen
von dem Host 10 im Schnellspaltmodus empfangen wird, ist
in 13 gezeigt.
-
Die
Speichersteuereinheit 20A empfängt eine Schreibanforderung
vom Host 10 in das primäre Volumen
(Schritt 13010). Die Speichersteuereinheit 20A setzt
das Bit an einer Position, die den Schreibdaten in der Differenzbitmap 240 P1
(11) entspricht, auf „1" (Schritt 13020). Es wird bestimmt,
ob die Daten an der dem besonderen Bit entsprechenden Position in
dem Cache-Speicher sind oder nicht (Schritt 13030). In
dem Fall, dass die Daten in Schritt 13030 nicht im Cache-Speicher
gefunden werden, werden die entsprechenden Daten aus dem primären Volumen
in den Cache-Speicher gelesen (Schritt 13040). Bei Erfassung
des Bits „1" an einer den alten Schreibdaten
der Differenzbitmap P2 entsprechenden Position geht der Vorgang
zu Schritt 13060 weiter. Ansonsten geht der Vorgang zu
Schritt 13080 weiter (Schritt 13050). In dem Fall,
dass ein Bit auf „1" gesetzt ist, zeigt
es an, dass die dem besonderen Bit entsprechenden Daten noch in
das sekundäre
Volumen zu kopieren sind. Die alten Daten werden in den Datenbereich
des sekundären
Volumens in dem Cache-Speicher kopiert (oder dem sekundären Volumenbereich,
der in dem Cache-Speicher in dem Fall des Paars zwischen verschiedenen
Speichersteuereinheiten virtualisiert ist) (13060). Bei
Abwesenheit der Daten im Cache-Speicher
dagegen können
die Daten zweimal für
das primäre
und sekundäre
Volumen gelesen werden. Mit der Kopiebetätigung wird die redundante
Information zum Bestimmen, ob die Daten korrekt sind oder nicht,
für das
sekundäre
Volumen neu erzeugt und an die Daten angehängt. Sobald die Daten im Cache-Speicher
gespei chert sind, wird das Differenzbit auf „0" gesetzt (Schritt 13070). Als
Ergebnis des Ausführens
des Vorgangs der vorstehend beschriebenen Schritte 13030 bis 13070 werden
die alten Daten des primären
Volumens in dem Sekundärvolumendatenbereich
in dem Cache-Speicher
gespeichert (oder dem Sekundärvolumendatenbereich,
der in dem Cache-Speicher in dem Fall des Paars zwischen verschiedenen
Speichersteuereinheiten virtualisiert ist). Nach dem Schritt 13070 oder
in dem Fall, dass die Bestimmung in Schritt 13050 NEIN
lautet, werden die zu dem beteiligten Bit zu schreibenden Daten
vom Host 10 empfangen und in dem Cache-Speicherbereich
für das
primäre
Volumen gespeichert (Schritt 13080). Eine Schreibabschlussmeldung
wird an den Host 10 gesendet (Schritt 13090).
-
Im
Fall eines mit derselben Speichersteuereinheit verknüpften Paars
(Schritt 13100) werden die Daten im Cache-Speicher asynchron
in sekundären Volumen
gespeichert (Schritt 13110). Im Fall eines Paars zwischen
verschiedenen Speichersteuereinheiten wird dagegen der Vorgang der
Schritte 8110 bis 8160 ausgeführt (Schritt 13120),
um die alten Daten im Cache-Speicher in der Speichersteuereinheit 20B mit
einem sekundären
Volumen zu speichern, in dem die tatsächlichen Daten gespeichert
sind.
-
Als
Nächstes
folgt eine Erläuterung über einen
Fall, in dem das sekundäre
Volumen eine Schreibanforderung von dem Host 10 im Schnellspaltmodus
erhält.
Es wird auf das Flussdiagramm der 13 Bezug
genommen.
-
Wie
in Schritt 13010 empfängt
die Speichersteuereinheit 20A von dem Host 10 eine
Schreibanforderung an das virtualisierte sekundäre Volumen. Wie in Schritt 13020 setzt
die Speichersteuereinheit 20A das Bit an einem Punkt, der
den Schreibdaten in der Differenzbitmap 240 P1 (11)
entspricht, auf „1". Wie in Schritt 13030 wird
bestimmt, ob die Daten an einem dem Bit entsprechenden Punkt ein
Cache-Speicherbereich für
das primäre
Volumen sind. Wie in Schritt 13040 werden in dem Fall,
dass die Daten in Schritt 13030 im Cache-Speicher nicht
zur Verfügung
stehen, die entsprechenden Daten aus dem primären Volumen in den Cache-Speicher gelesen. Wie
in Schritt 13050 geht bei Erfassung eines Bits „1" an einem den alten
Schreibdaten entsprechenden Punkt der Differenzbitmap 240 P2
der Vorgang weiter zu Schritt 13060. Ansonsten geht der
Vorgang weiter zu Schritt 13080. Wie in Schritt 13060 werden
die alten Daten in den Datenbereich des sekundären Volumens in dem Cache-Speicher
kopiert (oder dem Sekundärvolumenbereich,
der in dem Cache-Speicher in dem Fall eines Paars zwischen verschiedenen Speichersteuereinheiten
virtualisiert ist). Bei Abwesenheit von Daten im Cache-Speicher
können
die Daten für
das primäre
und sekundäre
Volumen zweimal gelesen werden. In dem Fall, dass die Daten aus dem
Cache-Speicher gelesen werden, können
die alten Daten direkt in den Datenbereich des sekundären Volumens
in dem Cache-Speicher gelesen werden (oder dem Sekundärvolumenbereich,
der in dem Cache-Speicher in dem Fall eines Paars zwischen verschiedenen
Speichersteuereinheiten virtualisiert ist). Dadurch ist nur ein
Lesevorgang genug. Mit der Kopiebetätigung wird die redundante
Information zur Bestimmung, ob die Daten korrekt sind oder nicht, auch
für das
sekundäre
Volumen neu erzeugt und mit den Daten im Cache-Speicher gespeichert.
In dem Fall, dass die Schreibdaten mit allen den Bits entsprechenden
Daten übereinstimmen,
ist es nicht erforderlich, dass die alten Daten im Cache-Speicher gespeichert
werden, und daher wird nur der Bereich gesichert. Sobald die Daten
im Cache-Speicher gespeichert sind, wird das Differenzbit auf „0" gesetzt (wie in
Schritt 13070). Die zu dem beteiligten Bit zu schreibenden
Daten werden empfangen und im Cache-Speicherbereich für das sekundäre Volumen
gespeichert (wie in Schritt 13080). An den Host 10 wird eine
Schreibabschlussmeldung ausgegeben (wie in Schritt 13090).
Danach wird derselbe Vorgang als Schritte 13100 bis 13120 ausgeführt. Der
Host, der eine Schreibanforderung an das sekundäre Volumen ausgibt, kann ein
anderer als der Host 10 sein, der eine Schreibanforderung
an das primäre
Volumen ausgibt.
-
Als
Nächstes
wird die Resynchronisierung der Volumina unter Bezugnahme auf das
Flussdiagramm der 15 erläutert. Das primäre Volumen und
das sekundäre
Volumen, die in den Spaltzustand eingetreten sind, verarbeiten Lese-
bzw. Schreibanforderungen und haben daher verschiedene Inhalte. Die
Resynchronisierung ist durch den Vorgang des Einstellens der Inhalte
des sekundären
Volumens auf die Inhalte des primären Volumens an dem bestimmten
Zeitpunkt definiert. Zuerst wird der Paarstatus der Volumenpaarinformation
geändert
(Schritt 15010). Die Differenzbitmaps 240 P1 und 240 P2
werden miteinander vermischt und in der Differenzbitmap 240 P1
gespeichert (Schritt 15020). Bei Erfassung des Bits „1" in der Differenzbitmap 240 P1
(Schritt 15030) wird der dem anfänglichen Kopievorgang ähnliche Vorgang
ausgeführt.
Insbesondere wird für
ein Paar in derselben Speichersteuereinheit (Schritt 15040) der
Vorgang der Schritte 6020 bis 6080 ausgeführt (Schritt 15050),
während
der Vorgang der Schritte 8020 bis 8160 für ein Paar
zwischen verschiedenen Speichersteuereinheiten ausgeführt wird
(Schritt 15060). Auf der Suche nach dem nächsten Bit
geht der Vorgang weiter zu Schritt 15030. Ansonsten ist der
Vorgang beendet (Schritt 15070).
-
Wie
vorstehend erläutert
ist, kann in dem Fall, dass das Originalvolumen und das Replikationsvolumen
mit verschiedenen Clustern verknüpft
sind, das Paar aufbereitet werden, so dass es für den Host durch die Virtualisierungstechnik,
in der das tatsächliche
Replikationsvolumen einem freien Volumen im Cluster des Origi nalvolumens
virtuell zugeordnet wird, erscheint, als gehöre es zu demselben Cluster. Als
Ergebnis wird ein Clusterkonfigurations-Speichersystem zur freien Erzeugung
einer Kopie des Speicherbereichs, ohne sich des Clusters bewusst zu
sein, bereitgestellt.
-
Der
Replikationserzeugungsvorgang ist vorstehend erläutert. Der Verarbeitungsgeschwindigkeits-Vorrangsvorgang
wird nachstehend erläutert. Im
Verarbeitungsgeschwindigkeits-Vorrangsvorgang werden der Vorgang
zur Erzeugung eines Replikationsvolumens und die normale Schreib-/Leseanforderung
(normale E/A) in der Vorrangsreihenfolge in Übereinstimmung mit der vorherrschenden
Situation verarbeitet.
-
In
dem vorstehend beschriebenen Replikationsvorgang wird der für den Kopievorgang
fällige Vorgang
von dem primären
Cluster auf den sekundären
Cluster übertragen,
ungeachtet der Situation des sekundären Clusters. Dennoch empfängt der
sekundäre
Cluster die normale Host-E/A. Außerdem weist der sekundäre Cluster
eine Kopiefunktionsmaschine auf und erzeugt eine Kopie des Volumens
in dem Cluster. Auf diese Weise besitzt jeder Cluster die Kopiefunktion
und eine Auftragsanforderungs-Warteschlange, so dass Aufträge in Übereinstimmung
mit der Vorrangsreihenfolge der Auftragsarten begonnen und bearbeitet
werden.
-
In
dem Fall, dass der Replikationsvorgang über Cluster ausgeführt und
die Kommunikation über die
Cluster in der normalen Schreib/Leseanforderungsweise geführt wird,
kann die Partei, die die Anforderung empfangen hat, sie nicht von
der normalen E/A von dem Host unterscheiden. Dennoch wird die Host-E/A
mit Vorrang bevorzugt gegenüber
dem Vorgang der Kopiefunktion ausgeführt.
-
Insbesondere
in dem Fall eines Paars zwischen verschiedenen Speichersteuereinheiten
hat die Speichersteuereinheit 20B mit einem sekundären Volumen
keine Möglichkeit,
die von der primären Speichersteuereinheit 20A empfangene
Schreibanforderung von der vom Host 10 empfangenen normalen
Schreibanforderung zu unterscheiden. Somit verarbeitet die Speichersteuereinheit 20B alle Schreibanforderungen
auf FIFO-Basis. Als Ergebnis wird die Antwortzeit der normalen Schreibanforderung
verlängert
und die Leistung scheint manchmal verschlechtert zu sein. Diese
Schreibanforderungen werden durch die Speichersteuereinheit 20B diskriminiert
und ein Plan wird für
die Reihenfolge, in der sie ausgeführt werden, aufgestellt, wodurch
eine hohe Leistung realisiert wird.
-
Die
nachstehend beschriebene Ausführungsform
betrifft den Verarbeitungsgeschwindigkeits-Vorrangsvorgang, in dem
das Originalvolumen den Auftragsvorrang im Replikationsvolumen setzt.
-
Es
sei angenommen, dass die von der primären Speichersteuereinheit 20A empfangene Schreibanforderung
und die von dem Host 10 empfangene normale Schreibanforderung
voneinander durch die Volumeneinheit diskriminiert werden. Im Fall
eines Volumens in der Speichersteuereinheit 20B, von dem
eine Replikation erzeugt wird, erkennt die Speichersteuereinheit 20A,
ob das bestimmte Volumen sich in einem gepaarten Zustand befindet
oder nicht. Die Speichersteuereinheit 20 kann somit, durch
den Paarstatus, bestimmen, ob die Anforderung an das Volumen, die
eine Replikation in der Speichersteuereinheit 20B erzeugt,
für den
Kopiervorgang bestimmt ist, um eine Replikation zu erzeugen, oder
für die
normale Schreib-/Lesebetätigung.
-
Dies
wird unter Bezugnahme auf das Flussdiagramm der 16 erläutert. Nach
Maßgabe
des Auftragsvorrangseinstellprogramms 202 (2)
in der Speichersteuereinheit 20A wird der Auftragsvorrang
im Hinblick darauf bestimmt, ob eine Anforderung an das Volumen
in der Speichersteuereinheit 20B, das mit dem Volumen in
dem Speichersteuereinheit 20A gepaart ist, in derselben
Weise wie die normale Schreib-/Leseanforderung zu verarbeiten ist (Schritt 16010).
Die in der Speichersteuereinheit 20A bestimmte Auftragvorranginformation
wird der Speichersteuereinheit 20B zugeführt (Schritt 16020).
Die Speichersteuereinheit 20B trägt die Auftragvorranginformation
an der Bitposition der Volumennummer in der Auftragvorranginformationsbitmap 250 (2 und 14)
im Speicher 22 ein (Schritt 16030). Die Auftragvorranginformationsbitmap 250 verwaltet
die Information im Hinblick darauf, ob die Daten gemäß einem
Plan für
jede Volumennummer wie die normale Schreib/Leseanforderung zu verarbeiten
sind.
-
In
dem Fall, in dem es gewünscht
ist, den Vorgang schnell auszuführen,
und ein Plan ohne Diskriminierung von der normalen Schreib-/Leseanforderung
aufgestellt wird, wird das Bit auf „1" gesetzt, während das Bit auf „0" gesetzt wird, wenn
die normale Schreib-/Leseanforderung bevorzugt mit Vorrang verarbeitet
wird. Alternativ wird der Auftragsvorrang der normalen Schreib-/Leseanforderung
auf 5 gesetzt und die anderen Anfragen können in der Vorrangsreihenfolge
von 4 bis 1 verwaltet werden. In dem Vorgang werden mehrere Bits,
aber nicht ein Bit, für
jedes Volumen vorbereitet.
-
Während der
Erzeugung einer Replikation sei angenommen, dass eine Schreib-/Leseanforderung
in Schritt 8110 durch die Speichersteuereinheit 20A an
die Speichersteuereinheit 20B ausgegeben wird (Schritt 16040).
Die Speichersteuereinheit 20B empfängt die Anforderung und nimmt
Zugriff auf die Auftragvorranginformation des Volumens für die Anforderung
(Schritt 16050). Sofern die Auf tragvorranginformation so
angepasst ist, dass sie wie die normale Schreib-/Leseanforderung
geplant wird (Schritt 16060), wird sie in der normalen
Schreib-/Leseverarbeitungs-Warteschlange 261 (2)
platziert (Schritt 16070), und wenn die Anforderung aus
der Warteschlange ausgewählt
wird, wird der Cache-Speicherbereich in Schritt 8120 gesichert
und die Schritte 8130 bis 8150 werden ausgeführt (Schritt 16080).
In dem Fall, dass die Auftragvorranginformation in Schritt 16060 von
niedrigerem Vorrang als die normale Schreib-/Leseanforderung ist,
werden die Daten in eine andere Warteschlange 262 mit niedrigem
Auftragsvorrang (2) als die normale Schreib-/Leseverarbeitungs-Warteschlange 261 platziert
(Schritt 160990), und wenn die Daten ausgewählt werden, wird
der Vorgang des Schritts 16080 ausgeführt. Die Vorrangsreihenfolge
der Auftragvorranginformation des Volumens kann durch einen Wartungsarbeiter von
beispielsweise der Benutzereingabe/ausgabevorrichtung 80,
wie etwa einem SVP (SerVice-Prozessor) eingegeben werden.
-
Die
normale Schreib-/Leseverarbeitungs-Warteschlange 261 und
die Warteschlange 262 mit niedrigem Auftragsvorrang sind
die Steuerungsinformation mit einer Warteschlangenstruktur, die
in der Reihenfolge der Ausgabezeit gemäß der Anordnung oder der Listenstruktur
verwaltet wird.
-
Das
reale sekundäre
Volumen 312, das dem virtualisierten Volumen 313 (7)
entspricht, ist für den
Host 10 transparent, und daher wird von dem Host 10 an
das Volumen 312 keine Anforderung ausgegeben. Die Anfrage
an das Volumen 312 trifft nur durch die Speichersteuereinheit 20A ein.
Somit kann die Speichersteuereinheit 20A bestimmen, ob
die Anforderung des Volumens 312 lautet, sofort verarbeitet
zu werden oder nicht.
-
Die
Planung für
die Warteschlange 262 mit niedrigem Auftragsvorrang wird
unter Bezugnahme auf das Flussdiagramm der 17 erläutert. Die Warteschlange 262 ist
von niedrigerer Verarbeitungsfrequenz als die normale Schreib-/Leseverarbeitungs-Warteschlange 261.
Die Verarbeitungsfrequenz α kann
durch die Einstellbetätigung
des Benutzers geändert
werden.
-
Es
sei angenommen, dass die Verarbeitungsfrequenz α ist. Es wird bestimmt, ob die
normale Schreib-/Lese-Warteschlange 261 eine unverarbeitete
Anforderung hat oder nicht (Schritt 17010). Wenn es eine
unverarbeitete Anforderung gibt, wird der Zähler c auf 0 gesetzt (Schritt 17020).
In dem Fall, dass α > c (Schritt 17030),
wird der Vorgang der normalen Schreib-/Leseverarbeitungs-Warteschlange 261 ausgeführt (Schritt 17040),
und der Zähler
c wird inkrementiert (Schritt 17050). Es wird bestimmt,
ob die normale Schreib-/Leseverarbeitungs-Warteschlange 261 eine
noch zu verarbeitende Anforderung aufweist (Schritt 17060).
Bei Vorhandensein einer solchen Anforderung geht der Vorgang zu
Schritt 17030 weiter. Bei Abwesenheit einer solchen Anforderung
geht der Vorgang dagegen zu Schritt 17100 weiter. Sobald
in Schritt 17030 die Beziehung α ≤ c erreicht ist, wird bestimmt,
ob die Anzahl unverarbeiteter Anforderungen der Warteschlange 262 mit
niedrigem Auftragsvorrang nicht kleiner als n ist oder ob die alte
unverarbeitete Anfrage der Warteschlange 262 mit niedrigem
Auftragsvorrang die Zeit m überschritten
hat (Schritt 17070), wobei m und n vorgegebene Zahlenwerte
sind. Sobald die Bedingung von Schritt 17070 erfüllt ist,
wird der Vorgang der Warteschlange 262 mit niedrigem Auftragsvorrang
ausgeführt
(Schritt 17080). Der Zähler
c wird auf 0 gesetzt und der Vorgang geht zu Schritt 17060 weiter
(Schritt 17090). Wenn die Bedingung nicht in Schritt 17070 erfüllt ist,
geht der Vorgang andererseits zu Schritt 17090 weiter.
-
In
dem Fall, dass in Schritt 17010 bestimmt wird, dass noch
keine zu verarbeitende Anforderung vorhanden ist, wird der Vorgang
der Warteschlange 262 mit niedrigem Auftragsvorrang ausgeführt und der
Vorgang geht zu Schritt 17010 weiter (Schritt 17110).
-
In
dem Fall, dass in Schritt 16020 eine Schreib-/Leseanforderung
von der Speichersteuereinheit 20A an die Speichersteuereinheit 20B ausgegeben
wird, gibt die Speichersteuereinheit 20A die Anforderung
aus, ohne sich des Zustands der Speichersteuereinheit 20B bewusst
zu sein. Die Menge der verfälschten
Daten im Cache-Speicher
der Speichersteuereinheit 20B kann durch den normalen Schreib-/Lesevorgang
oder den Replikationsvorgang in der Speichersteuereinheit 20B erhöht werden.
Die Erhöhung
der schmutzigen Datenmenge über
einen vorgegebenen Bezugswert hinaus gibt eine kleinere verfügbare Kapazität des Cache-Speichers
an. Durch Aussetzen des Replikationsvorgangs oder Ausführen des
Vorgangs zum Sichern der Daten von dem Cache-Speicher zur Platteneinheit
mit Vorrang ist es daher erforderlich, dass der freie Bereich des Cache-Speichers
vergrößert wird.
Die Speichersteuereinheit 20B greift auf die Auftragsvorrangsreihenfolge
des Volumens für
die Anforderung in Schritt 16050 zu, während sie zur selben Zeit auf
die verfälschte
Daten-Menge zugreift. In dem Fall, dass die verfälschte Daten-Menge über einen
vorgegebenen (voreingestellten) Bezugswert erhöht wird, wird der Vorgang der
Schritte 8120 bis 8150 zum Sichern des Cache-Speicherbereichs
und Verzögern
des Vorgangs zum Datenempfang ausgeführt, um dadurch die Menge der
Anforderungen, die von der Speichersteuereinheit 20A zu
empfangen sind, anzupassen. Die Speichersteuereinheit stoppt die
Ausgabe einer Anforderung, bevor sie eine Abschlussbenachrichtigung
von der Speichersteuereinheit 20B empfängt.
-
Als
Nächstes
wird eine Modifizierung des Verarbeitungsgeschwindigkeits-Vorrangsvorgangs zum
Zuführen
von Information von dem primären Cluster
zum sekundären
Cluster im Hinblick darauf erläutert,
ob das Replikationsvolumen ohne Beeinträchtigen der normalen Schreib-/Leseanforderung (normale
E/A) oder gleichwertig zur normalen Schreib-/Leseanforderung (normale
E/A) verarbeitet wird. Anders als in der vorstehend beschriebenen Ausführungsform
stellt die nachstehend beschriebene Modifizierung einen Fall des
Verarbeitungsgeschwindigkeits-Vorrangsvorgangs dar, in dem das Replikationsvolumen
bestimmt, ob ein Vorgang mit Vorrang oder Nichtvorrang auszuführen ist.
-
In
dem Fall, in dem die von dem primären Cluster zu dem sekundären Cluster übertragene
Anforderung eine Kopierverarbeitungsanforderung ist (Anforderung,
eine Replikation zu erzeugen), überträgt der primäre Cluster
(Originalvolumen) die Anforderung an den sekundären Cluster zusammen mit einer
Anforderungsart, welche angibt, dass die bestimmte Anforderung eine
Kopieverarbeitungsanforderung ist (Anforderung zur Erzeugung einer
Replikation). Der sekundäre
Cluster (Replikationsvolumen), der die Anforderung empfangen hat,
erkennt, dass die Anforderung mit dem daran angehängten Anforderungstyp
von niedrigem Vorrang ist, und platziert die Anforderung in der
Warteschlange 262 mit niedrigem Auftragsvorrang (2).
Auf diese Weise kann der sekundäre
Cluster den Auftragsvorrang auf der Grundlage des von dem primären Cluster
empfangenen Anforderungstyps bestimmen. Im betrachteten Fall überträgt der primäre Cluster
eine Anforderung zur Erzeugung einer Replikation, welche angibt, dass
die bestimmte Anforderung zur Erzeugung einer Replikation gedacht
ist. Dennoch ist es stets der sekundäre Cluster, welcher bestimmt,
ob die Anforderung von niedrigem Vorrang ist oder nicht. Somit kann
der sekundäre Cluster
bestimmen, ob die Anforderung zur Erzeugung einer Replikation als
mit niedrigem Vorrang zu verarbeiten ist.
-
In
einem anderen Verfahren führt
der primäre Cluster
(Originalvolumen) der Anweisungsallgemeininformation, welche angibt,
ob einer Anforderung Vorrang gegeben werden soll oder nicht, den
Vorrang n der Anforderung zu, aber keinen spezifischen Anforderungstyp,
welcher eine Kopieanforderung angibt. Bei Empfang dieser Anweisung
erkennt der sekundäre
Cluster (Replikationsvolumen) die so zugeführte Vorrangsinformation und
erstellt einen Plan der Verarbeitungsreihenfolge unter Berücksichtigung des
besonderen Vorrangs. Als Ergebnis kann der sekundäre Cluster
den Auftragsvorrang auf der Grundlage der Vorrangsreihenfolge n
oder der Vorrangs-/Nichtvorrangs-Information der von dem primären Cluster
empfangenen Anforderung bestimmen. Auch in diesem Fall ist es der
sekundäre
Cluster, welcher bestimmt, ob eine Anforderung zur Erzeugung einer
Replikation als mit niedrigem Vorrang zu verarbeiten ist. In diesem
Fall jedoch basiert die Bestimmung des sekundären Clusters auf der Vorrangsreihenfolge
n oder der in der Anforderung eingeschlossenen gewöhnlichen
Vorrangs-/Nichtvorrangs-Information. Somit kann der sekundäre Cluster bestimmen,
ob eine Anforderung zur Erzeugung einer Replikation mit Vorrang
durch die normale Anforderungsverarbeitung zu verarbeiten ist.
-
Der
primäre
Cluster gibt dem sekundären Cluster
Information im Hinblick darauf, ob das Replikationsvolumen verarbeitet
wird, ohne die normale E/A zu beeinträchtigen, oder gleichwertig
zur normalen E/A. Im ersteren Fall der sekundäre Cluster unter Bezugnahme
auf diese Information. Im letzteren Fall dagegen wird ein Plan erstellt,
um die Anforderungen in chronologischer Reihenfolge zu verarbeiten.
-
Der
vorstehend beschriebene Verarbeitungsgeschwindigkeits-Vorrangsvorgang ermöglicht eine
Replikation ohne Störung
der normalen Geschäfts-E/A.
-
Vorstehend
wurde ein Clusterkonfigurations-Speichersystem gemäß einer
Ausführungsform der
Erfindung erläutert.
Unter Bezugnahme auf 18 erfolgt eine Erläuterung
der Betätigung
durch den Benutzer zur Realisierung eines Paars in demselben Cluster
von einem Paar zwischen verschiedenen Clustern durch die Virtualisierungstechnik
des vorstehend beschriebenen Clusterkonfigurations-Speichersystems.
-
Zuerst
wählt der
Benutzer ein Replikationsvolumen aus. Freie Volumina 321, 322, 323, 324.
die Anwärter
für ein
Replikationsvolumen gegenüber dem
Originalvolumen 311 bilden, werden dem Benutzer als Sekundärvolumenpool
präsentiert.
Der Sekundärvolumenpool
beinhaltet ein Volumen eines Clusters, der von dem Originalvolumen
verschieden ist.
-
Der
Benutzer wählt
ein sekundäres
Volumen aus, indem er beispielsweise das freie Volumen 322 aus
der Benutzereingabe-/-ausgabevorrichtung 80 eingibt. In
dem in 18 gezeigten Fall ist das ausgewählte Volumen 322 mit
einem Cluster (Speichersteuereinheit 20B) verknüpft, die
sich von dem Cluster (Speichersteuereinheit 20A) des Originalvolumens 311 unterscheidet.
-
Das
Replikationsvolumen ist mit einem anderen Cluster verknüpft und
daher wird ein sekundäres
zu virtualisierendes Volumen aus den freien Volumina des Original-Clusters
ausgewählt.
Im betrachteten Fall wird das Volumen 312 als virtuelles
sekundäres
Volumen ausgewählt.
Dieses Volumen ist kein reales Volumen und erfordert daher keine
physikalische Ressource, wie zum Beispiel HDD. Vor richtungsnummern,
die exklusiv zur Virtualisierung verwendet werden, können vorbereitet
werden und eine geeignete von ihnen kann ausgewählt werden.
-
In
diesem Fall ist der Sekundärvolumenanwärter in
demselben Cluster wie das Originalvolumen existent, und daher kann
das bestimmte Volumen dem Benutzer von dem System präsentiert
werden, so dass es dem Benutzer gestattet werden kann, dasselbe
Volumen unter den Anwärtern
auszuwählen.
Als weitere Alternative werden dem Benutzer Volumenanwärter präsentiert
und ein Volumen wird durch Eingabe von der Benutzereingabe-/-ausgabevorrichtung 80 von
dem Sekundärvolumenpool und/oder
von virtualisierten Volumina ausgewählt, oder es wird ein Host-Befehl
verwendet oder ein Anwärter
wird seitens einer Speichersteuereinheit automatisch ausgewählt.
-
Das
Replikationserzeugungsprogramm 201 (2), wie
es vorstehend beschrieben ist, trägt die Information in die Volumenpaarinformationstabelle 220 auf
der Grundlage der Information von der Benutzereingabe-/-ausgabevorrichtung
oder dem Host-Befehl von dem Host ein. Als weitere Alternative trägt das Replikationserzeugungsprogramm 201 die Information
automatisch in die Volumenpaarinformationstabelle 220 ein.
-
Die
durch die vorliegende Erfinderin entwickelte Erfindung ist vorstehend
unter Bezugnahme auf Ausführungsformen
spezifisch beschrieben. Diese Erfindung ist jedoch nicht auf die
vorstehend beschriebenen Ausführungsformen
beschränkt,
sondern verschiedentlich modifizierbar.