-
Diese Erfindung betrifft ein Verfahren und ein System zur Durchführung eines Sicherungsprozesses.
-
Die Speicherung von Daten in großen Organisationen ist von grundlegender Bedeutung, sowohl was die Zuverlässigkeit der Daten als auch die Fähigkeit betrifft, Daten nach einem Hardwareausfall wiederherzustellen. Bei dem Speicherbereichsnetz (Storage area network, SAN) handelt es sich um eine Architektur, die verwendet wird, wenn große Datenmengen zuverlässig und sicher gespeichert werden müssen. Mittels dieser Technologie können Netze geschaffen werden, die das Anschließen ferner Computerspeichereinheiten wie beispielsweise Plattenstapel an Server in einer Weise unterstützen, dass die Einheiten dem Betriebssystem wie lokal angeschlossene Einheiten erscheinen. In diesen Netzen ist es üblich, sowohl in dem Datenspeicher als auch in den Hardwareverbindungen zwischen den einzelnen Komponenten ein hohes Maß an Redundanz vorzuhalten.
-
Zur Schaffung von Datenredundanz gibt es verschiedenartige Verfahren. Zum Beispiel ermöglicht es ein Sicherungsprozess wie beispielsweise eine FlashCopy-Funktion einem Administrator, zu jedem Zeitpunkt Datenkopien eines ganzen Datenträgers zu erstellen, wobei die Kopien sofort für den Lese- oder Schreibzugriff zur Verfügung stehen. Die FlashCopy-Funktion kann mit Standardsicherungswerkzeugen verwendet werden, die in der Umgebung zum Erstellen von Sicherungskopien auf Band zur Verfügung stehen. Eine FlashCopy-Funktion erzeugt eine Kopie eines Quellen-Speicherdatenträgers auf einem Ziel-Speicherdatenträger. Diese Kopie wird, wie oben erwähnt, als Zeitpunktkopie bezeichnet. Wenn eine FlashCopy-Operation gestartet wird, wird eine Beziehung zwischen einem Quellendatenträger und einem Zieldatenträger hergestellt. Diese Beziehung wird als „Zuordnen“ des Quellendatenträgers und des Zieldatenträgers bezeichnet. Durch dieses Zuordnen kann eine Zeitpunktkopie des Quellendatenträgers erstellt werden, die auf den zugehörigen Zieldatenträger kopiert werden soll. Diese Beziehung zwischen dem Datenträgerpaar besteht ab dem Zeitpunkt, da die FlashCopy-Operation gestartet wurde, bis die Speichereinheit alle Daten von dem Quellendatenträger zu dem Zieldatenträger kopiert hat oder bis die Beziehung aufgehoben wurde.
-
Wenn die Daten physisch kopiert werden, kopiert ein Hintergrundprozess Spuren (oder „Basiseinheiten“) von Daten von dem Quellendatenträger zu dem Zieldatenträger. Die durch den Prozess in Anspruch genommene Zeit zur Fertigstellung der Hintergrundkopie hängt von verschiedenen Kriterien ab, beispielsweise der zu kopierenden Datenmenge, der Anzahl der ausgeführten Hintergrundprozesse und anderen gleichzeitig ablaufenden Aktivitäten. Die FlashCopy-Funktion wirkt in der Weise, dass die gerade kopierten Daten nicht unbedingt sofort kopiert werden müssen, sondern erst vor einer Aktualisierung, die das Überschreiben alter Daten auf dem Quellendatenträger verursacht. Wenn sich also Daten auf dem Quellendatenträger ändern, werden die Originaldaten zu dem Zieldatenträger kopiert, bevor sie auf dem Quellendatenträger überschrieben werden.
-
Deshalb stellt die FlashCopy-Funktion ein Beispiel für ein Merkmal dar, das auf verschiedenen Speichereinheiten unterstützt wird und einem Benutzer oder einem automatisierten Prozess ermöglicht, nahezu augenblicklich Kopien ganzer logischer Datenträger zu erstellen. Eine Kopie einer Quellenspeicherplatte wird auf einer Zielspeicherplatte erzeugt. Die Kopien stehen sofort sowohl für den Lese- als auch für den Schreibzugriff zur Verfügung. Ein übliches Merkmal von Implementierungen ähnlich der FlashCopy-Funktion besteht in der Fähigkeit, die Kopie wieder umzukehren. Das heißt, den Inhalt der Zielspeicherplatte auf der Quellenspeicherplatte einer FlashCopy-Zuordnung zu speichern. Sicherungsprozesse wie beispielsweise die FlashCopy-Funktion können auch in kaskadierten Ausführungsformen verwendet werden, bei denen eine Zielspeicherplatte später zu einer Quellenspeicherplatte für eine spätere FlashCopy-Operation wird und umgekehrt.
-
Eine mehrstufige Konfiguration von Speicherdatenträgern wird in der
US-Patentschrift 7 386 695 ausführlich beschrieben. Es können auch mehrere Stufen von Speicherdatenträgern erzeugt werden, die sich auf einer logischen Ebene gegenseitig sperren. Eine erste Kaskade kann Speicherdatenträger A, B, C und D umfassen, die in folgender Reihenfolge angeordnet sind: A↔B↔C↔D,während zu einem späteren Zeitpunkt neue Datensicherungen von A zu den Datenträgern E und F gestartet werden können, was letztlich zur Schaffung einer zweiten Kaskade A↔E↔F führt. Es sind viele verschiedene Komponenten von FlashCopy- und Umkehrfunktionen möglich, die zur Schaffung komplizierter mehrstufiger Speicherdatenträger führen können.
-
In Datenspeichersystem werden für gewöhnlich zwei Typen von Zeitpunkt-Sicherungsprozessen (point-in-time, PIT) verwendet, die als Klon und als Momentaufnahme bezeichnet werden. Ein Klon ist eine PIT-Kopie, bei der auf der Zielplatte eine vollständige Kopie auf der Quellenplatte vorlag, als die PIT-Kopie gestartet wurde. Nachdem das Kopieren der Daten von der Quelle zum Ziel abgeschlossen ist, ist die Zielplatte von der Quellenplatte unabhängig. Eine Momentaufnahme ist eine PIT-Kopie, bei der auf der Zielplatte nur die geänderten Daten gespeichert sind, die zur Darstellung der PIT-Kopie der Quellenplatte erforderlich sind. Daten werden nur zur Zielplatte kopiert, wenn sie auf der Quellenplatte geändert werden. Die Zielplatte ist im Allgemeinen immer von einigen Daten auf der Quellenplatte abhängig, um die PIT-Kopie darstellen zu können.
-
Das mehrstufige Kopieren auf mehrere Zieldatenträger ist eine in der Funktion IBM SAN Volume Controller FlashCopy realisierte Technik. Zum Erstellen mehrerer PIT-Kopien einer einzigen Datenquelle wird eine Kaskade verwendet. Wenn zum Beispiel von einer Datenquelle S mehrere PIT-Kopien zu den Zeitpunkten t1, t2 und t3 erstellt werden, wird zum Zeitpunkt t1 eine PIT-Kopie unter Verwendung des Zieldatenträgers T1 erstellt, was zu einer Kaskade: S→T1 führt. Dann wird zum Zeitpunkt t2 eine zweite PIT-Kopie unter Verwendung des Zieldatenträgers T2 erstellt, was zu der Kaskade: S→T2→T1 führt. Diese Anordnung funktioniert, da die Daten, wenn sie zwischen den Zeitpunkten t1 und t2 geändert wurden, auf T1 vorliegen, und wenn die Daten nicht geändert wurden, sowohl T1 als auch T2 dieselben Daten lesen wollen. Desgleichen entsteht zum Zeitpunkt t3 die Kaskade: S→T3→T2→T1.
-
Diese Technik weist viele Vorteile auf. Sie erzeugt jedoch auch Abhängigkeiten zwischen den Zieldatenträgern, die es in einer herkömmlichen Anordnung mit mehreren Zieldatenträgern nicht gäbe. Eine Begleiterscheinung dieser Abhängigkeit zwischen den Zieldatenträgern besteht in der Erfordernis, einen Zieldatenträger zu bereinigen, wenn eine PIT-Kopie angehalten wird oder fertiggestellt ist. Wenn zum Beispiel die PIT-Kopie S→T2 angehalten wird, müssen alle Daten auf T2, die durch T1 benötigt werden, von T2 zu T1 kopiert sein, bevor der Zieldatenträger T2 aus der Kaskade genommen werden kann. In vielen Fällen stellt dies kein Problem dar, da der Benutzer möglicherweise möchte, dass zum Zeitpunkt t1 eine vollständige Kopie von S auf T1 gespeichert ist, was mit der Tatsache gleichbedeutend ist, dass es sich bei dem Sicherungsprozess S→T1 um einen Klon handelt. Wenn der Sicherungsprozess S→T1 nur eine Momentaufnahme von S zum Zeitpunkt t1 erzeugen soll, kann dieser zusätzliche Kopierprozess von T2 zu T1 dem Benutzer Probleme bereiten. Wenn der Zieldatenträger T1 zudem sparsam ausgestattet ist (auch unter der Bezeichnung platzsparend bekannt), können die durch das obige Verhalten verursachten Probleme die unnötige Zuweisung von Speicherplatz zu T1 bewirken. Dadurch würde die Fähigkeit des Benutzers deutlich eingeschränkt, Momentaufnahmen und Klone aufzubewahren und deren Sicherungskopien zu verwalten.
-
Es gibt zahlreiche Techniken, die mit unterschiedlichem Erfolg versuchen, die von T2 zu T1 kopierten Datenmengen zu verringern. Es gibt jedoch keine Lösung, die zur kleinstmöglichen Anzahl von Kopien von T2 zu T1 führt, ohne die Menge der zum Nachverfolgen der Inhalte der verschiedenen Zieldatenträger verwendeten Metadaten drastisch zu vergrößern.
-
Die
US 7 191 304 B1 offenbart eine Schnappschuss-Baumstruktur mit einem Basisdatenträger, der einen aktuellen Benutzerdatensatz speichert, einem ersten Schnappschuss, der von dem Basisdatenträger absteigt, und einem zweiten Schnappschuss, der von dem ersten Schnappschuss absteigt, wobei der zweite Schnappschuss vor dem ersten Schnappschuss erstellt wurde. Der erste Schnappschuss enthält eine erste Tabelle, die ersten Teilen von Blockadressen entspricht, eine zweite Tabelle, die zweiten Teilen der Blockadressen entspricht, und eine dritte Tabelle, die dritten Teilen der Blockadressen entspricht. Die erste Tabelle enthält einen Eintrag mit einem Zeiger auf die zweite Tabelle. Die zweite Tabelle enthält einen Eintrag mit einem Zeiger auf die dritte Tabelle. Die dritte Tabelle enthält einen Eintrag mit einem Zeiger auf einen Datensatz des Basisdatenträgers, bevor der Datensatz auf dem Basisdatenträger geändert wird.
-
Die
US 7 386 695 B2 offenbart eine Speichersteuerung, die mit einer Host-Computervorrichtung und einer Vielzahl von gesteuerten Speichervorrichtungen zusammenarbeiten kann, umfassend eine Host-Schreibkomponente, die so betrieben werden kann, dass sie ein Datenobjekt in ein Quelldatenbild in einer der Vielzahl von gesteuerten Speichervorrichtungen schreibt; eine erste Kopierkomponente, die auf einen ersten Metadatenzustand reagiert und so betrieben werden kann, dass sie das Kopieren des Datenobjekts in ein erstes Zieldatenbild in einer der Vielzahl von gesteuerten Speichervorrichtungen steuert; eine zweite Kopierkomponente, die auf einen zweiten Metadatenzustand reagiert und so betrieben werden kann, dass sie einen der folgenden Schritte ausführt: Steuern des Kopierens des Datenobjekts in ein zweites Zieldatenbild in einer der mehreren gesteuerten Speichervorrichtungen; und Veranlassen der ersten Kopierkomponente, das Kopieren des zweiten Zieldatenbilds in das erste Zieldatenbild durchzuführen.
-
Eine Aufgabe der Erfindung besteht deshalb darin, den Stand der Technik zu verbessern. Zu den der Erfindung zugrundeliegenden technischen Aufgaben zählt, ein Verfahren zur Durchführung eines Sicherungsprozesses mit einer geringeren Anzahl an Ein-Ausgabe-Operationen bereitzustellen. Die der Erfindung zugrundeliegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind Gegenstand der abhängigen Patentansprüche.
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Durchführung eines Sicherungsprozesses bereitgestellt, wobei das Verfahren Folgendes umfasst: das Empfangen einer Anweisung zum Auslösen eines Sicherungsprozesses von einem Quellen-Speicherdatenträger zu einem Ziel-Speicherdatenträger, das Erkennen des Typs des Sicherungsprozesses entweder als kompletter Sicherungsprozess zum Erstellen einer vollständigen Kopie des Quellen-Speicherdatenträgers auf dem Ziel-Speicherdatenträger oder als teilweiser Sicherungsprozess zum Erstellen einer Kopie der auf dem Quellen-Speicherdatenträger geänderten Daten auf dem Ziel-Speicherdatenträger, und wenn eine Kaskade für den erkannten Typ des Sicherungsprozesses vorliegt, das Hinzufügen des Ziel-Speicherdatenträgers zu der vorhandenen Kaskade für den erkannten Typ des Sicherungsprozesses, oder, wenn für den erkannten Typ des Sicherungsprozesses keine Kaskade vorliegt, das Starten einer neuen Kaskade des Ziel-Speicherdatenträgers von den Quellen-Speicherdatenträger.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein System zur Durchführung eines Sicherungsprozesses bereitgestellt, wobei das System eine Vielzahl von Speicherdatenträgern und eine mit den Speicherdatenträgern verbunden Speicherdatenträger-Steuereinheit umfasst, wobei die Speichersteuereinheit so beschaffen ist, dass sie eine Anweisung zum Auslösen eines Sicherungsprozesses von einem Quellen-Speicherdatenträger zu einem Ziel-Speicherdatenträger empfängt, um den Typ des Sicherungsprozesses entweder als kompletter Sicherungsprozess zum Erstellen einer vollständigen Kopie des Quellen-Speicherdatenträgers auf dem Ziel-Speicherdatenträger oder als teilweiser Sicherungsprozess zum Erstellen einer Kopie der auf dem Quellen-Speicherdatenträger geänderten Daten auf dem Ziel-Speicherdatenträger zu erkennen, und wenn eine Kaskade für den erkannten Typ des Sicherungsprozesses vorliegt, den Ziel-Speicherdatenträger zu der vorhandenen Kaskade für den erkannten Typ des Sicherungsprozesses hinzuzufügen, oder, wenn für den erkannten Typ des Sicherungsprozesses keine Kaskade vorliegt, eine neue Kaskade des Ziel-Speicherdatenträgers von dem Quellen-Speicherdatenträger zu starten.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein Computerprogrammprodukt auf einem computerlesbaren Medium zur Durchführung eines Sicherungsprozesses bereitgestellt, wobei das Produkt Folgendes umfasst: Anweisungen zum Empfangen einer Anweisung zum Auslösen eines Sicherungsprozesses von einem Quellen-Speicherdatenträger zu einem Ziel-Speicherdatenträger, zum Erkennen des Typs des Sicherungsprozesses entweder als kompletter Sicherungsprozess zum Erstellen einer vollständigen Kopie des Quellen-Speicherdatenträgers auf dem Ziel-Speicherdatenträger oder als teilweiser Sicherungsprozess zum Erstellen einer Kopie der auf dem Quellen-Speicherdatenträger geänderten Daten auf dem Ziel-Speicherdatenträger, und wenn eine Kaskade für den erkannten Typ des Sicherungsprozesses vorliegt, zum Hinzufügen des Ziel-Speicherdatenträgers zu der vorhandenen Kaskade für den erkannten Typ des Sicherungsprozesses, oder, wenn für den erkannten Typ des Sicherungsprozesses keine Kaskade vorliegt, zum Starten einer neuen Kaskade des Ziel-Speicherdatenträgers von den Quellen-Speicherdatenträger.
-
Durch die Erfindung ist es möglich, die Probleme bei Implementierung von mehrstufigen Sicherheitsprozessen nach dem Stand der Technik zu lösen, indem sichergestellt wird, dass eine Momentaufnahme nie von einem Klon abhängig ist. Das oben beschriebene Verfahren ermöglicht Mehrfachkaskaden für eine einzige Datenquelle. Der Vorteil dieses Ansatzes besteht darin, dass Momentaufnahmen in einer von den Klonen getrennten Abhängigkeitskette (oder Kaskade) stehen und ein Klon deshalb nie Daten auf eine Momentaufnahme kopiert. Das heißt, dass eine Momentaufnahme nie Daten enthält, die sie nicht benötigt. Zum Nachverfolgen der Daten auf den verschiedenen Zieldatenträgern werden keine zusätzlichen Metadaten benötigt. Wesentlich ist, dass von einem Quellendatenträger getrennte Kaskaden geführt werden, sodass ein als Klon ausgewiesener Sicherungsprozess nie in einer Kaskade mit einem als Momentaufnahme ausgewiesenen Sicherungsprozess erscheint und umgekehrt.
-
Vorzugsweise umfasst das Verfahren ferner das Erkennen des Typs des Sicherungsprozesses als Wiederherstellungsprozess, der eine vollständige Kopie des Quellen-Speicherdatenträgers auf dem Ziel-Speicherdatenträger wiederherstellen soll, und das Starten einer neuen Kaskade des Ziel-Speicherdatenträgers von dem Quellen-Speicherdatenträger. Es ist empfehlenswert, alle Sicherungsprozesse zur Wiederherstellung eines Speicherdatenträgers, zum Beispiel als Reaktion auf die Beschädigung von Daten des Speicherdatenträgers, in einer vollständig getrennten Kaskade abzuwickeln.
-
Auf vorteilhafte Weise umfasst das Verfahren ferner das Erkennen, dass ein als Momentaufnahme ausgewiesener Sicherungsprozess angehalten wurde, und das Anhalten aller Sicherungsprozesse von dem Ziel-Speicherdatenträger des erkannten Sicherungsprozesses, und es umfasst ferner das Erkennen, dass ein als Klon ausgewiesener Sicherungsprozess angehalten wurde, und das Anhalten aller als Momentaufnahme ausgewiesenen Sicherungsprozesse von dem Ziel-Speicherdatenträger des erkannten Sicherungsprozesses. Wichtig ist, dass das Anhalten der Sicherungsprozesse konsistent abgewickelt wird. Der oben dargelegte Ansatz wird verwendet, da eine Momentaufnahme immer von ihrer Quelle abhängig ist und unbrauchbar ist, wenn die Quelle zerstört wurde.
-
Im Folgenden werden nunmehr Ausführungsformen der vorliegenden Erfindung unter Bezug auf die beiliegenden Zeichnungen beschrieben, wobei:
- 1 ein schematisches Schaubild eines Paars von Speicherdatenträgern ist,
- 2 ein schematisches Schaubild einer FlashCopy-Kaskade ist,
- 3 ein schematisches Schaubild verschiedener Anordnungen von Speicherdatenträgern ist,
- 4 ein schematisches Schaubild einer logischen Anordnung von Speicherdatenträgern ist, und
- 5 und 6 weitere schematische Schaubilder verschiedener Anordnung von Speicherdatenträgern sind.
-
1 veranschaulicht das Konzept eines Sicherungsprozesses, der eine Speichersteuereinheit 8 und zwei Speicherplatten 10 und 12 verwendet. Die Speicherplatten 10 und 12 können den Teil einer größeren Plattenanordnung bilden, typischerweise den Teil der Speicherlösung für ein Unternehmen. Die Platten 10 und 12 können zum Beispiel Teil einer Speicherlösung sein, die für eine kommerzielle Webseite vorgesehen ist. Wenn zu irgendeinem Zeitpunkt eine Sicherung des Inhalts von vdisk1 durchgeführt werden soll, kann von der Speicherdatenträger-Steuereinheit 8 eine FlashCopy-Anweisung an die Platte 10 gesendet werden, die eine Quellenplatte 10 (vdisk1) sowie eine Zielplatte 12 (vdisk2) definiert, die das Ziel für den FlashCopy-Prozess darstellt. Die FlashCopy-Anweisung erzeugt eine Zeitpunktkopie des Abbildes der betreffenden vdisk, hier der Quellenplatte 10.
-
Bei dem Beispiel von 1 ist die Quellenplatte 10 einer ersten FlashCopy-Anweisung gleich der vdisk1, und die Zielplatte 12 bleich der vdisk2. Die FlashCopy-Anweisung startet den FlashCopy-Prozess, der eine Zuordnung 14 von der Quellenplatte 10 zu der Zielplatte 12 erstellt. Diese Zuordnung ist in der Figur als MAP 1 bezeichnet. Das Abbild von vdisk1 genau zu diesem Zeitpunkt ist nunmehr auf vdisk2 verfügbar. Dadurch entsteht eine Sicherungskopie der Daten auf vdisk1, und es können mit den Daten auf vdisk1 Tests und andere administrative Aufgaben durchgeführt werden, ohne Gefahr zu laufen, einige der auf der ursprünglichen Quellenplatte gespeicherten Originaldaten zu verlieren.
-
Während des FlashCopy-Prozesses wird eine durch die Zuordnung 14 definierte Verbindung zwischen den beiden Platten 10 und 12 erstellt. Nunmehr können Daten im Hintergrund hinüberkopiert werden, unter der zusätzlichen Voraussetzung, dass jeder Zugriff auf vdisk2 (die Zielplatte 12) das sofortige Hinüberkopieren wesentlicher Teile des Abbildes von vdisk1 verursacht, und dass jeder Zugriff auf vdisk1, der zu einer Änderung des durch diese Platte 10 gespeicherten Abbildes führt, das sofortige Hinüberkopieren zu der Zielplatte 12 verursacht, bevor die Änderung erfolgt ist. Auf diese Weise speichert die vdisk2 aus Sicht eines externen Benutzers die Zeitpunktkopie von vdisk1, obwohl die Daten unter den oben beschriebenen Umständen nur physisch hinüberkopiert wurden.
-
Ein Speicherdatenträger, der als Zieldatenträger eines Sicherungsprozesses verwendet wird, beispielsweise eine FlashCopy-Funktion, kann auch als Quellendatenträger für einen weiteren Sicherungsprozess dienen, woraus sich eine Kaskade von Speicherdatenträgern ergibt. In 2 ist ein Beispiel einer FlashCopy-Kaskade von drei Speicherdatenträgern 10, 12 und 16 bezeigt, die durch FlashCopy-Zuordnungen 14 miteinander verbunden sind. Jede Zuordnung 14 definiert einen Sicherungsprozess von einem Quellendatenträger zu einem Zieldatenträger. Die Platte B liefert eine Sicherungskopie der Platte A, und die Platte C liefert ebenfalls über die Platte B eine Sicherungskopie der Platte A. Die FlashCopy-Funktionen 14, die die verschiedenen Speicherdatenträger miteinander verbinden, können zu verschiedenen Zeitpunkten gestartet worden sein, sodass verschiedene Zeitpunktkopien der durch die entsprechenden Speicherdatenträger gespeicherten Abbilder erstellt werden, oder sie können gleichzeitig gestartet worden sein.
-
In der in 2 gezeigten FlashCopy-Kaskade A→B→C, wobei A, B und C die Platten der Kaskade sind und die Pfeile die FlashCopy-Zuordnungen darstellen, lautet die FlashCopy-Zuordnung von der Platte A zur Platte B (A, B), und die Kaskade weist die Zuordnungen (A, B) und (B, C) auf. Bei dieser Implementierung der Kaskade wird bei jedem Schreiben neuer Daten auf die Platte A das Schreiben auf die Platte B durch die betreffende FlashCopy-Funktion ausgelöst, die zum Aufbewahren des Abbildes auf der Platte B benötigt wird. Durch dieses Schreiben auf die Platte B wird ein weiteres bereinigtes Lesen von Platte B und anschließend ein Schreiben auf Platte C ausgelöst. Auf diese Weise kann ein einmaliges Schreiben auf den ersten Speicherdatenträger 10 in der Kaskade zu einer Anzahl von Operationen in der gesamten Kaskade führen.
-
Wenn eine Kaskade erzeugt wird, werden die neuen Zuordnungen und die neuen Speicherdatenträger in die Kaskade eingefügt, nicht aber an das Ende der Kaskade angehängt. Bei der in 2 gezeigten Kaskade wird A→C als erster Sicherungsprozess gestartet. Wenn dann der Sicherungsprozess A→B gestartet wird, wird der neue Ziel-Speicherdatenträger praktisch zwischen den vorhandenen Quellen-Speicherdatenträger A und den vorhandenen Ziel-Speicherdatenträger C „eingeschoben“. Bei diesem „Einschieben“ handelt es sich einfach um ein logisches Gebilde zur Veranschaulichung, dass die Daten nicht auf die Platte A, sondern von der Platte B auf die Zielplatte C geschrieben werden. In dieser Beziehung unterscheidet sich eine mehrstufige Implementierung von einer herkömmlichen Anordnung, bei der von der Platte A zwei unabhängige Zuordnungen ausgehen.
-
Je mehr Sicherungsprozesse von verschiedenen Speicherdatenträgern gestartet werden, desto komplexere Anordnungen entstehen. Zum Beispiel zeigt 3 vier Platten A, B, C und D mit drei PIT-Zuordnungen zwischen diesen, die vom Quellendatenträger A ausgehen. Die Speicherdatenträger-Steuereinheit 8 ordnet die Platten und Zuordnungen so an, dass Klone und Momentaufnahmen in verschiedene Abhängigkeitsketten oder Kaskaden aufgeteilt werden. Zum Beispiel soll die Zuordnung 1 als Klon und dann einige Zeit später die Zuordnung 2 als Momentaufnahme gestartet werden. Die daraus resultierende, zur Bewahrung der Zielabbilder verwendete Graphenstruktur ist in 3a dargestellt. Diese Struktur ist ein Abhängigkeitsgraph.
-
Bei dem in 3a gezeigten Graphen kann das Schreiben von Daten auf die Platte A nach dem Schreiben das Kopieren auf B und/oder C erfordern, um diese Abbilder auf den Zielplatten der jeweiligen Sicherungsprozesse zu bewahren. Wenn nunmehr die Speicherdatenträger-Steuereinheit 8 die Zuordnung 3 als Klon startet, ergibt sich daraus der in 3b gezeigte Abhängigkeitsgraph. In einer Kaskade werden die neue Platte und die Zuordnung zu dieser Platte immer in direkter Nähe zu der Quellenplatte A angeordnet, sodass die neue Zielplatte D der Zuordnung 3 in die Kaskade A→D→B eingefügt wird, wobei die beiden Zuordnungen 3 und 1 Klone sind. Die Zuordnung 2 in der getrennten Kaskade A→C ist eine Momentaufnahme.
-
Nachfolgende Sicherungsprozesse in Form von Momentaufnahmen oder Klonen von A verlängern die Klon- und/oder Momentaufnahmeketten, ohne die Anzahl der von A ausgehenden Linien und somit die Anzahl der für eine Schreiboperation auf A erforderlichen E/A-Operationen zu erhöhen. Der Graph von 3b kann um weitere Momentaufnahmen und Klone erweitert werden. Allgemein gilt, dass, wenn für den betreffenden Typ des Sicherungsprozesses (Klon oder Momentaufnahme) eine Kaskade vorhanden ist, der Ziel-Speicherdatenträger in die vorhandene Kaskade für den angegebenen Typ des Sicherungsprozesses eingefügt wird, oder, wenn für den angegeben Typ des Sicherungsprozesses keine Kaskade vorhanden ist, eine neue Kaskade gestartet wird, die aus dem Ziel-Speicherdatenträger und dem Quellen-Speicherdatenträger besteht.
-
4 veranschaulicht die logische Anordnung der Speicherdatenträger, nachdem die Sicherungskopien E, F, G und H erstellt worden sind. Die durch die entsprechenden Zuordnungen 4 und 5 definierten Sicherungskopien E und F sichern die Daten der Platte D. Die durch die entsprechenden Zuordnungen 6 und 7 definierten Sicherungskopien G und H sichern die Daten der Platte C. 4 zeigt lediglich die logische Anordnung von Sicherungszuordnungen, jedoch nicht die tatsächliche Konfiguration des Sicherungsprozesses, die durch die Speicherdatenträger-Steuereinheit 8 zum Realisieren der in 4 gezeigten Anordnung eingerichtet wird. Aus 3b ist zu erkennen, dass als Ergebnis des Startens der Zuordnung 3 von A zu D die Kaskade A→D→B gebildet wird.
-
Nunmehr soll davon ausgegangen werden, dass die Zuordnung 4 als Klon und die Zuordnung 5 als Momentaufnahme gestartet werden, woraus sich die Anordnung der in 5 gezeigten Sicherungskopien und Speicherdatenträger ergibt. Bei dieser Figur handelt es sich im Wesentlichen um die in 3b gezeigte Anordnung zuzüglich der beiden durch die Zuordnungen 4 und 5 zu dem Datenträger E bzw. F definierten Sicherungskopien. Da die Zuordnung 4 ein Klon ist, kann diese in die Kaskade von D bis B eingefügt werden, da die Zuordnung 1 zur Platte B ebenfalls ein Klon ist. Die letzte gestartete Zuordnung wird immer möglichst nahe der Quellenplatte eingefügt, wodurch in diesem Fall die Kaskade D→E→B entsteht.
-
Die Platte D als Ziel der Zuordnung 3 von der Platte A stellt die Quellenplatte für den durch die Zuordnung 4 definierten Sicherungsprozess dar, sodass die Platte E beim Erstellen der neuen Kaskade D→E→B nahe der Platte D eingefügt wird. Die Zuordnung 5 hingegen ist eine Momentaufnahme und muss daher den Ausgangspunkt einer neuen Kaskade in Bezug auf ihren Quellen-Speicherdatenträger (Platte D) bilden. Somit definiert die neue Zuordnung 5 eine neue Kaskade D→F. Diese Kaskade beinhaltet Sicherungsprozesse in Form von Momentaufnahmen von der Platte D. Auf diese Weise werden Klone und Momentaufnahmen, die von speziellen Quellenplatten stammen, nie in derselben Kaskade von dieser betreffenden Quellenplatte vorkommen.
-
Wenn die Zuordnung 5 zur Platte F eine Sicherungskopie der Platte A (nicht jedoch der Platte D) in Form einer Momentaufnahme war, würde sie zwischen die Platten A und C eingefügt, um die Kaskade A→F→C zu bilden. Sicherungsprozesse in Form von Momentaufnahmen mit A als Quellenplatte werden immer in diese Kaskade eingefügt, ebenso wie Sicherungsprozesse in Form von Klonen mit A als Quellenplatte in die andere Kaskade (zwischen A und D) eingefügt werden. Alle Sicherungsprozesse von anderen Platten in der Kaskade folgen denselben Regeln, indem sie entweder in eine vorhandene Kaskade für den betreffenden Typ des Sicherungsprozesses eingefügt werden oder eine neue Kaskade erstellen, wenn bisher keine vorhanden war.
-
Wenn zum Beispiel die Zuordnung 6 als Klon und die Zuordnung 7 als Momentaufnahme gestartet wird, ergibt sich die in 6 gezeigte Anordnung. Diese beiden Sicherungsprozesse gehen von der Platte C aus, sodass von diesem Speicherdatenträger zwei neue Kaskaden gebildet werden. Dieses Beispiel zeigt, wie die Abhängigkeitsgraphen aufgebaut sind, wenn Zuordnungen als Momentaufnahmen oder Klone gestartet werden. Alle neuen Sicherungsprozesse von einer Platte in den Kaskaden von 6 werden in gleicher Weise abgewickelt. Für jeden neuen Sicherungsprozess, der zu einem späteren Zeitpunkt von einer Platte aus durchgeführt wird, liegt entweder bereits eine Kaskade für den Typ des Sicherungsprozesses vor, oder eine neue Kaskade wird erstellt.
-
Ebenso wie bei PIT-Kopien mit mehreren Zieldatenträgern führen Schreiboperation auf eine Platte in einem Abhängigkeitsgraphen zu einer Leseoperation, geteilten Schreiboperationen und einer Client-Schreiboperation. Zum Beispiel kann eine Client-(oder Host-)Schreiboperation auf B in dem obigen Abhängigkeitsgraphen zu einer Leseoperation von A führen, wenn sich die durch B für den zu beschreibenden Speicherplatz benötigten Daten auf A befinden, zu einer Schreiboperation der der von A gelesenen Daten auf F, wenn F von B abhängig ist, zu einer Schreiboperation der von A gelesenen Daten auf E, wenn E von B abhängig ist (was parallel zu der zweiten Aktion ausgeführt werden kann), und schließlich zu der Client-Schreiboperation unmittelbar auf B. Dies ist die maximal erforderliche Anzahl von E/A-Operationen. Somit ist zu erkennen, dass der E/A-Algorithmus ein Gemisch aus der herkömmlichen Implementierung mit mehreren Zieldatenträgern und der Implementierung mit mehreren kaskadierten Zieldatenträgern darstellt.
-
Der Vorteil diese Lösung besteht darin, dass die Klone und die Momentaufnahmen eines Quellendatenträgers nicht miteinander vermischt werden. Wenn zum Beispiel die Zuordnung 4 in dem Abhängigkeitsgraphen von 6 angehalten wird, „reinigt“ die Speicherdatenträger-Steuereinheit 8 die Daten von E nach D. Das stellt kein Problem dar, da D ebenfalls ein Klon ist und nicht davon betroffen ist, wenn die Daten darauf kopiert werden. Die Momentaufnahme F ist nicht davon betroffen.
-
In Bezug auf das Anhalten von Zuordnungen in einem Abhängigkeitsgraphen, dessen Ziel die Quelle anderer Momentaufnahmen und Klone darstellt, müssen Regeln eingehalten werden. Es gibt viele Ansätze, derer sich der Fachmann bedienen kann. Bei dieser Implementierung wird im Folgenden die bevorzugte Ausführungsform definiert. Regel 1 - wenn eine Momentaufnahme angehalten wird, werden auch alle Momentaufnahmen und Klone der Zielplatte angehalten. Regel 2 - wenn ein Klon angehalten wird, werden auch alle Momentaufnahmen der Zielplatte angehalten. Dieser Ansatz wird verwendet, da eine Momentaufnahme immer von ihrer Quelle abhängig ist und die Momentaufnahme unbrauchbar ist, wenn die Quelle zerstört wird.