-
Diese Erfindung betrifft ein Verfahren und ein System zum Betreiben einer Kopierfunktion.
-
Die Speicherung von Daten in großen Unternehmen ist von grundlegender Bedeutung, sowohl hinsichtlich der Zuverlässigkeit der Daten als auch hinsichtlich der Möglichkeit, Daten im Falle eines Ausfalls der Hardware wiederherzustellen. Das Speicherbereichsnetzwerk (storage area network (SAN)) ist eine Architektur, die verwendet wird, wenn sehr große Datenmengen zuverlässig und sicher gespeichert werden müssen. Diese Technologie ermöglicht den Aufbau von Netzwerken, welche die Anbindung von fernen Rechner-Speichereinheiten, wie zum Beispiel Anordnungen von Festplatten, an Server in einer Weise unterstützen, dass die Einheiten dem Betriebssystem als lokal angeschlossene Einheiten erscheinen. Bei diesen Netzwerken ist es üblich, einen hohen Grad an Redundanz sowohl beim Datenspeicher als auch bei den Hardware-Verbindungen zwischen den einzelnen Komponenten vorzusehen.
-
Es gibt verschiedene Verfahren, um Datenredundanz zu erzeugen. Eine Funktion wie zum Beispiel eine Funktion zum Erstellen einer Blitzkopie ermöglicht einem Administrator beispielsweise, Zeitpunktkopien aller auf dem Datenträger befindlichen Daten zu erstellen, wobei die Kopien für einen Lese- oder Schreibzugriff sofort zur Verfügung stehen. Die Blitzkopie kann mit standardmäßigen Sicherungswerkzeugen verwendet werden, die in der Umgebung zur Verfügung stehen, um Sicherungskopien auf Band zu erstellen. Eine Blitzkopie-Funktion erzeugt eine Kopie eines Quelldatenträgers auf einem Zieldatenträger. Wie vorstehend erwähnt wurde, wird diese Kopie als „Zeitpunktkopie” bezeichnet. Wenn eine Blitzkopie-Operation eingeleitet wird, wird zwischen einem Quelldatenträger und einem Zieldatenträger eine Beziehung hergestellt. Diese Beziehung ist eine „Zuordnung” zwischen dem Quelldatenträger und dem Zieldatenträger. Diese Zuordnung ermöglicht es, eine Zeitpunktkopie dieses Quelldatenträgers auf dem zugehörigen Zieldatenträger herzustellen. Die Beziehung ist zwischen diesem Datenträgerpaar von dem Zeitpunkt, zu dem die Blitzkopie-Operation eingeleitet wird, bis zu dem Zeitpunkt, zu dem die Speichereinheit alle Daten von dem Quelldatenträger auf den Zieldatenträger kopiert, vorhanden, oder die Beziehung wird aufgehoben.
-
Wenn die Daten physisch kopiert werden, kopiert ein Hintergrund-Prozess Spuren (Tracks) von dem Quelldatenträger auf den Zieldatenträger. Die Zeitdauer, die für die Fertigstellung der Hintergrund-Kopie notwendig ist, hängt von verschiedenen Kriterien wie zum Beispiel der Menge an Daten, die kopiert werden, der Anzahl der Kopiervorgänge im Hintergrund, die gerade ausgeführt werden, und beliebigen anderen Aktivitäten, die gerade stattfinden, ab. Bei der Blitzkopie-Funktion brauchen die Daten, die gerade kopiert werden, nicht wirklich sofort kopiert zu werden, sie müssen lediglich vor einer Aktualisierung kopiert werden, die ein Überschreiben von alten Daten auf dem Quelldatenträger bewirkt. Während sich Daten auf dem Quelldatenträger ändern, werden die ursprünglichen Daten also auf den Zieldatenträger kopiert, bevor sie auf dem Quelldatenträger überschrieben werden.
-
Eine Blitzkopie ist somit eine Funktion, die auf verschiedenen Speichereinheiten unterstützt wird und die es einem Benutzer oder einem automatisierten Prozess ermöglicht, nahezu sofortige Kopien von ganzen logischen Datenträgern herzustellen. Eine Kopie einer Quellplatte wird auf einer Zielplatte hergestellt. Die Kopien stehen sowohl für den Leseals auch den Schreibzugriff sofort zur Verfügung. Ein übliches Merkmal von einer Blitzkopie ähnlichen Implementierungen ist die Möglichkeit, den Kopiervorgang umzukehren. Das heißt, die Quellplatte des Abbilds einer Blitzkopie wird mit dem Inhalt der Zielplatte gefüllt. Es ist auch möglich, eine Blitzkopie in kaskadierten Implementierungen zu verwenden, bei denen eine Zielplatte zu einem späteren Zeitpunkt die Quellplatte für eine weitere Blitzkopie wird – oder umgekehrt.
-
Um solche kaskadierten Datenträger und Blitzkopie-Funktionen zu überwachen, wird vorzugsweise eine Datenstruktur bereitgestellt, die primäre und sekundäre „fdisks” angibt. Eine fdisk ist eine logische Komponente, die einen Index enthält, der den Datenträger angibt, zu dem die fdisk gehört, und der Verknüpfungen zu den betreffenden Abbildern bereitstellt, welche die Auf- und die Abwärtsrichtung der Blitzkopie-Funktionen in einer Kaskade angeben. Wenn eine Blitzkopie-Funktion zwischen einem Quelldatenträger und einem Zieldatenträger erzeugt wird, werden für jeden Datenträger primäre fdisks erzeugt, außer wenn es für die Zielplatte bereits eine primäre fdisk gibt, wobei diese vorhandene fdisk für den Zieldatenträger in diesem Fall in eine sekundäre fdisk umgewandelt und eine neue primäre fdisk erzeugt wird. Der Vorteil der Verwendung einer Datenstruktur, wie sie von den fdisks angegeben wird, besteht darin, dass die E/A-Lese- und Schreibzugriffe auf verschiedene Datenträger innerhalb von mehreren vorhandenen Kaskaden und direkte Daten-Leseoperationen von dem korrekten Speicherplatz innerhalb der Kaskade mittels der fdisks überwacht werden können.
-
Eine Begrenzung einer Blitzkopie-Kaskade bedeutet, dass die Anzahl der gleichzeitigen Wiederherstellungsoperationen begrenzt werden muss, um die Anzahl der Bereinigungsoperationen zu begrenzen, die für eine bestimmte Schreiboperation dort notwendig sind. Bei einer Blitzkopie-Kaskade A↔B↔C↔D beispielsweise, bei der A, B, C und D Platten in dem Graphen und die Pfeile die Blitzkopie-Abbilder sind, hat die Kaskade die Abbilder (A, B), (B, C) und (C, D), wenn man (A, B) als eine Blitzkopie-Zuordnung von der Platte A zur Platte B bezeichnet. Bei dieser Kaskade von Platten und Blitzkopie-Funktionen kann eine Schreiboperation auf die Platte A eine geteilte Schreiboperation auf die Platte B bewirken, die notwendig ist, um das Speicherabbild auf der Platte B aufrechtzuerhalten, und dies bewirkt Bereinigungs-Leseoperationen auf die Platten B und C und Bereinigungs-Schreiboperationen auf die Platte D, gefolgt von der Platte C. Auf diese Weise kann eine einzelne Schreiboperation auf die oberste Platte in der Kaskade zu einer großen Anzahl von Bereinigungsoperationen auf weiter unten in der Kaskade gelegenen Datenträgern führen. Es ist daher eine Aufgabe der Erfindung, eine Verbesserung der bekannten Technik zu erzielen.
-
Gemäß einer ersten Erscheinungsform der vorliegenden Erfindung wird ein Verfahren zum Betreiben einer Kopierfunktion bereitgestellt, welches das Einleiten einer neuen Blitzkopie-Funktion von einem Quelldatenträger auf einen Zieldatenträger, das Feststellen, dass der Zieldatenträger der neuen Blitzkopie-Funktion der Quelldatenträger für eine vorhandene Blitzkopie-Funktion ist, das Feststellen, dass der Zieldatenträger der vorhandenen Blitzkopie-Funktion über einen sekundären Datenträger verfügt, und das Erzeugen einer Funktion zum Erstellen einer Pufferspeicher-Blitzkopie von dem Zieldatenträger der neuen Blitzkopie-Funktion auf einen neuen Zieldatenträger umfasst.
-
Gemäß einer zweiten Erscheinungsform der vorliegenden Erfindung wird ein System zum Betreiben einer Kopierfunktion bereitgestellt, welches eine Vielzahl von Datenträgern und eine Datenträger-Steuereinheit umfasst, die mit den Datenträgern verbunden ist, wobei die Speichersteuereinheit so ausgelegt ist, dass sie eine neue Blitzkopie-Funktion von einem Quelldatenträger auf einen Zieldatenträger einleitet, feststellt, dass der Zieldatenträger der neuen Blitzkopie-Funktion der Quelldatenträger für eine vorhandene Blitzkopie-Funktion ist, feststellt, dass der Zieldatenträger der vorhandenen Blitzkopie-Funktion über einen sekundären Datenträger verfügt, und eine Funktion zum Erstellen einer Pufferspeicher-Blitzkopie von dem Zieldatenträger der neuen Blitzkopie-Funktion auf einen neuen Zieldatenträger erzeugt.
-
Gemäß einer dritten Erscheinungsform der vorliegenden Erfindung wird ein Rechnerprogrammprodukt auf einem rechnerlesbaren Datenträger bereitgestellt, um eine Kopierfunktion zu betreiben, wobei das Produkt Befehle zum Einleiten einer neuen Blitzkopie-Funktion von einem Quelldatenträger auf einen Zieldatenträger, zum Feststellen, dass der Zieldatenträger der neuen Blitzkopie-Funktion der Quelldatenträger für eine vorhandene Blitzkopie-Funktion ist, zum Feststellen, dass der Zieldatenträger der vorhandenen Blitzkopie-Funktion über einen sekundären Datenträger verfügt, und zum Erzeugen einer Funktion zum Erstellen einer Pufferspeicher-Blitzkopie von dem Zieldatenträger der neuen Blitzkopie-Funktion auf einen neuen Zieldatenträger umfasst.
-
Dank der Erfindung ist es möglich, im Pufferspeicher abgelegte Blitzkopie-Abbilder bereitzustellen, die unbegrenzte Blitzkopie-Wiederherstellungsoperationen/Operationen zur Wiederherstellung einer Blitzkopie ermöglichen. Das erfindungsgemäße System und das erfindungsgemäße Verfahren beschreiben eine Vorgehensweise, die dazu dient, die Einschränkung bei Implementierungen von Blitzkopie-Kaskaden nach dem Stand der Technik aufzuheben, bei denen eine einzige Schreiboperation zu einer großen Anzahl von Bereinigungsoperationen führen kann, die weiter unten in der Kaskade stattfinden und die die Fertigstellung des ursprünglichen Schreibvorgangs ganz oben in der Kaskade verlangsamen. Die Erfindung führt das Konzept einer im Pufferspeicher abgelegten Blitzkopie ein. Das heißt, wenn eine Blitzkopie auf die Quelle eines anderen aktiven Abbilds gestartet wird, dessen Ziel über einen sekundären Datenträger verfügt, wird eine neue platzsparende Blitzkopie erzeugt und gestartet, die verhindert, dass sich die Bereinigungsoperationen über die gesamte Kaskade hinweg ausbreiten.
-
Dieses Verfahren erweitert das Starten eines Blitzkopie-Abbilds, dessen Zieldatenträger bereits der Quelldatenträger eines schon vorhandenen aktiven Blitzkopie-Abbilds ist, um einen zusätzlichen Schritt. Dieser Schritt besteht in der Frage, ob das Ziel, X, des Blitzkopie-Abbilds, das gerade gestartet wird, die Quelle eines aktiven Blitzkopie-Abbilds, 1, ist, ob das Ziel, Y, des Abbilds 1 über eine sekundäre fdisk verfügt, und wenn ja, in der dann folgenden Erzeugung einer Pufferspeicher-Blitzkopie aus X auf eine neue platzsparende vdisk X'.
-
Betrachtet man das bei der Erörterung des Stands der Technik vorstehend gegebene Beispiel, ist C bei dem neuen Schema, gemäß einem Beispiel der Erfindung, wenn (B, C) gestartet wird, was zu den Kaskaden B↔C und C↔D führt, weil das Ziel des Abbilds gestartet wird, Teil des Abbilds C↔D, doch verfügt D nicht über einen sekundären Datenträger. Wenn jetzt (A, B) gestartet wird, wird eine Funktion zur Herstellung einer Pufferspeicher-Blitzkopie (B, B') erzeugt und gestartet, da das Ziel B Teil von B↔C ist und C einen sekundären Datenträger hat. Diese neue Funktion zur Herstellung einer Pufferspeicher-Blitzkopie führt zur Erzeugung einer Kaskade A↔B, B↔B'↔C und C↔D. Sobald diese Kaskade erzeugt worden ist, zieht eine neue Schreiboperation auf die Platte A eine Bereinigungs-Leseoperation der Platte B und eine Bereinigungs-Schreiboperation auf die Platte B' nach sich. Ungeachtet dessen, wie lange der Graph der Blitzkopie wird, hat eine einzige Schreiboperation lediglich eine einzige Bereinigungsoperation zur Folge. Das Abbild (B, B') befindet sich in einem Dauerbereinigungsmodus. Das bedeutet, dass alle Daten auf der Platte B' oder der Platte C im Hintergrund bereinigt werden.
-
Das Abbild der Pufferspeicher-Blitzkopie bleibt mindestens für die Lebensdauer des Abbilds A→B und B↔C und C↔D bestehen. Wenn A→B oder C↔D angehalten oder fertiggestellt werden, bereinigt sich das Abbild B↔B' selbst und entfernt sich selbst aus der Kaskade. Wenn B↔C angehalten oder fertiggestellt wird, kann das Abbild B↔B' sofort angehalten werden. Das heißt, dass die zur Aufrechterhaltung der Kaskaden erforderliche Bereinigung unabhängig von der Anzahl der verketteten Kaskaden ist. Natürlich ist es möglich, den Gedanken dahingehend zu erweitern, dass zusätzliche Bereinigungs-Schreiboperationen (mehr als die eine Bereinigungs-Schreiboperation, die in dem vorstehenden Beispiel beschrieben wurde) durchgeführt werden, um die Anzahl der Abbilder der Pufferspeicher-Blitzkopie je verketteter Kaskaden zu verringern. Dies ist ein Aspekt bei der Implementierung.
-
Ausführungsformen der vorliegenden Erfindung werden nun lediglich anhand eines Beispiels und mit Bezug auf die beiliegenden Zeichnungen beschrieben, bei denen:
-
1 eine schematische Darstellung eines Paares von Speicherplatten ist,
-
2 eine schematische Darstellung einer Blitzkopie-Kaskade ist,
-
3 eine schematische Darstellung einer erweiterten Blitzkopie-Kaskade ist,
-
4 eine schematische Darstellung der erweiterten Blitzkopie-Kaskade mit einer Daten-Schreiboperation ist und
-
5 ein Flussdiagramm eines Verfahrens zum Betreiben einer Kopierfunktion ist.
-
1 stellt das Konzept einer Blitzkopie dar, wobei eine Speichersteuereinheit 8 und zwei Speicherplatten 10 und 12 verwendet werden. Die Platten 10 und 12 könnten Teil einer größeren Anordnung von Platten sein und würden üblicherweise Teil einer Speicherlösung für ein Unternehmen sein. Die Platten 10 und 12 könnten beispielsweise Teil einer Speicherlösung in Bezug auf eine kommerzielle Website sein. Wenn zu irgendeinem Zeitpunkt eine Sicherung des Inhalts der vdisk1 durchgeführt werden muss, kann ein Blitzkopie-Befehl von der Datenträger-Steuereinheit 8 an diese Platte 10 gesendet werden, der eine Quellplatte 10 (vdisk1) und auch eine Zielplatte 12 (vdisk2) angibt, welche das Ziel der Blitzkopie ist. Der Blitzkopie-Befehl erzeugt eine Zeitpunkt-Kopie des Speicherabbilds der jeweiligen vdisk, bei der es sich um die Quellplatte 10 handelt.
-
In dem Beispiel von 1 ist die Quellplatte 10 eines ersten Blitzkopie-Befehls die vdisk1, und die Zielplatte 12 ist die vdisk2. Der Blitzkopie-Befehl startet den Blitzkopie-Prozess, der ein Abbild 14 von der Quellplatte 10 auf der Zielplatte 12 erzeugt. Dieses Abbild ist in der Figur mit „Abbild 1” bezeichnet. Das zu diesem bestimmten Zeitpunkt vorhandene Speicherabbild von vdisk1 ist jetzt auf der vdisk2 vorhanden. Dadurch wird eine Sicherungskopie der Daten auf vdisk1 erzeugt und es ist auch möglich, Tests und andere Verwaltungsaufgaben an den Daten von vdisk1 durchzuführen, ohne dass die damit verbundene Gefahr besteht, dass irgendwelche der ursprünglichen Daten verloren gehen, da sie auf der ursprünglichen Quellplatte erhalten bleiben. Wenn eine Blitzkopie hergestellt wird, erzeugt sie eine Verknüpfung zwischen den beiden Platten 10 und 12, die von dem Abbild 14 festgelegt wird. Daten können nun im Hintergrund unter der zusätzlichen Voraussetzung, dass jedweder Zugriff auf vdisk 2 (als die Zielplatte 12) unmittelbar bewirkt, dass die relevanten Teile des Speicherabbilds von vdisk1 hinüber kopiert werden, und dass auch jedweder Zugriff auf vdisk1, der zu einer Änderung des von dieser Platte 10 gespeicherten Speicherabbilds führen würde, ebenfalls bewirkt, dass die nicht geänderten Daten sofort hinüber auf die Zielplatte 12 kopiert werden, bevor die Änderung durchgeführt wird, hinüber kopiert werden. Für den außenstehenden Benutzer speichert vdisk 2 auf diese Weise die Zeitpunkt-Kopie von vdisk 1, obgleich Daten unter den vorstehend beschriebenen Umständen nur physisch hinüber kopiert werden.
-
Ein Datenträger, welcher der Zieldatenträger einer Blitzkopie-Funktion ist, kann auch der Quelldatenträger einer weiteren Blitzkopie-Funktion sein, so dass er auf diese Weise eine Kaskade von Datenträgern erzeugt. 2 zeigt ein Beispiel einer Kaskade von vier Datenträgern 10, 12, 16 und 18, die über jeweilige Blitzkopie-Abbilder 14 verknüpft sind. Jedes Abbild 14 legt eine Blitzkopie-Funktion von einem Quelldatenträger auf einen Zieldatenträger fest. Die Platte B stellt eine Sicherungskopie der Platte A bereit, die Platte C stellt eine Sicherungskopie der Platte B bereit, und die Platte D stellt eine Sicherungskopie der Platte C bereit. Die Blitzkopie-Funktionen 14, welche die verschiedenen Datenträger verknüpfen, wären zu unterschiedlichen Zeitpunkten gestartet worden, die unterschiedliche Zeitpunkt-Kopien der Speicherabbilder erzeugen, welche von den jeweiligen Datenträgern gespeichert werden.
-
Bei der Blitzkopie-Kaskade A↔B↔C↔D, bei der A, B, C und D die Platten in der Kaskade sind, welche in 2 gezeigt sind, und bei der die Pfeile die Blitzkopie-Abbilder sind, hat die Kaskade die Abbilder (A, B), (B, C) und (C, D), wenn man (A, B) als eine Blitzkopie-Zuordnung von der Platte A zur Platte B bezeichnet. Bei einer Implementierung einer solchen Kaskade nach dem Stand der Technik kann jede neue Schreiboperation von Daten auf die Platte A gemäß der jeweiligen Blitzkopie-Funktion, die notwendig ist, um das Speicherabbild auf der Platte B aufrechtzuerhalten, eine geteilte Schreiboperation auf die Platte B bewirken. Dieser Schreibvorgang auf die Platte B bewirkt weitere Bereinigungs-Leseoperationen der Platten B und C und Bereinigungs-Schreiboperationen auf die Platte D, gefolgt von einer Schreiboperation auf die Platte C. Auf diese Weise kann eine einzelne Schreiboperation auf den ersten Datenträger 10 in der Kaskade zu einer großen Anzahl von Bereinigungsoperationen in der gesamten Kaskade führen.
-
Eine Begrenzung einer solchen Blitzkopie-Kaskade nach dem Stand der Technik bedeutet folglich, dass die Anzahl der gleichzeitigen Wiederherstellungsoperationen begrenzt werden muss, um die Anzahl der Bereinigungsoperationen zu begrenzen, die für eine bestimmte Schreiboperation dort notwendig sind. Da die Schreiboperationen auf die Platte A die normale Ausführung des von dem Datenträger A unterstützten Dienstes darstellen, ist es vom Standpunkt eines Unternehmens aus betrachtet wichtig, dass diese Schreiboperationen so schnell wie möglich abgeschlossen werden. Bei der Kaskade von 2 kann eine Schreiboperation auf die Platte A erst abgeschlossen werden, wenn alle abhängigen Lese- und Schreiboperationen, die vorstehend beschrieben wurden, stattgefunden haben, da die ganze Transaktion gesichert werden muss, wenn während dieses Prozesses irgendetwas fehlschlägt.
-
3 zeigt, wie die Konfiguration von 2 erweitert wird, um das Problem der Verzögerung bei der Fertigstellung der anfänglichen Schreiboperation auf die vdisk A zu mildern. Die Datenträger-Steuereinheit 8 fügt zum Start eines Blitzkopie-Abbilds, dessen Zieldatenträger bereits der Quelldatenträger eines aktiven Blitzkopie-Abbilds ist, einen zusätzlichen Schritt hinzu. Dieser Schritt stellt im Grunde eine Abfrage des Zieldatenträgers des neuen Abbilds, das gerade gestartet wird, dar, um festzustellen, ob der Zieldatenträger der Quelldatenträger eines aktiven Blitzkopie-Abbilds ist und ob der Zieldatenträger dieses aktiven Abbilds über eine sekundäre fdisk verfügt, und wenn ja, erzeugt die Datenträger-Steuereinheit eine Pufferspeicher-Blitzkopie von dem Zieldatenträger der ursprünglichen Blitzkopie auf einer neuen platzsparenden vdisk. Ein sekundärer Datenträger ist ein Datenträger, wie er vorstehend angegeben wurde. Eine vdisk hat zwei Speicherabbilder, die sie übergeben kann. Diese werden als fdisks bezeichnet. Bei der primären fdisk handelt es sich um das Speicherabbild, das einem beliebigen Hostrechner-System übergeben wird. Es handelt sich dabei um die für Leseoperationen zurückgegebenen Daten. Bei der sekundären fdisk handelt es sich um das Speicherabbild, das von anderen Blitzkopie-Abbildern verwendet wird, die Daten benötigen, die auf anderen vdisks gespeichert sind, um ihre Speicherabbilder zu übergeben.
-
Betrachtet man das vorstehend gegebene Beispiel von 2, ist C bei dem neuen Schema, wenn (B, C) gestartet wird, was zu den Kaskaden B↔C und C↔D führt, weil das Ziel des Abbilds gestartet wird, Teil des Abbilds C↔D, doch verfügt D nicht über einen sekundären Datenträger, was zu diesem Zeitpunkt kein Problem darstellt. Wenn jedoch (A, B) gestartet wird, wird eine Funktion zur Herstellung einer Pufferspeicher-Blitzkopie (B, B') erzeugt, da das Ziel B Teil von B→C ist und C über einen sekundären Datenträger verfügt. Diese neue Funktion zur Herstellung einer Pufferspeicher-Blitzkopie führt zur Erzeugung einer Kaskade, die A↔B, B↔B'↔C und C↔D umfasst, wobei ein neuer Datenträger 20 verwendet wird. Sobald diese Kaskade erzeugt worden ist, führt eine Schreiboperation auf die Platte A zu einer Bereinigungs-Leseoperation der Platte B und zu einer Bereinigungs-Schreiboperation auf die Platte B'. Ungeachtet dessen, wie lange der Graph der Blitzkopie wird, hat eine einzige Schreiboperation lediglich eine einzige Bereinigungsoperation zur Folge. Das Abbild (B, B') befindet sich in einem dauerhaften Bereinigungsmodus. Das bedeutet, dass alle Daten auf der Platte B' oder auf der Platte C im Hintergrund bereinigt werden.
-
Das Abbild (B, B') der Pufferspeicher-Blitzkopie bleibt mindestens für die Lebensdauer des Abbilds A→B und B↔C und C↔D bestehen. Wenn A→B oder C↔D angehalten oder fertiggestellt werden, bereinigt sich das Abbild B↔B' selbst und entfernt sich selbst aus der Kaskade. Wenn B↔C angehalten oder fertiggestellt wird, kann das Abbild B↔B' sofort angehalten werden. Das heißt, dass die zur Aufrechterhaltung der Kaskade erforderliche Bereinigung unabhängig von der Anzahl der verketteten Kaskaden ist. Die neue Zielplatte 20, die das Ziel der Funktion zum Erstellen einer Pufferspeicher-Blitzkopie ist, erzeugt praktisch einen Bruch in der ursprünglichen Kaskade und fängt die erforderlichen Änderungen von der Platte B auf, die sich aus der ursprünglichen Schreiboperation auf die Platte A ergaben. Diese Schreiboperation kann dann abgeschlossen und das zum Zweck der Bereinigung erfolgende Ausräumen von B' auf C und in Abwärtsrichtung der Kaskade kann durchgeführt werden.
-
4 zeigt, wie eine Schreiboperation auf die Platte A gehandhabt wird, sobald die Funktion zum Erstellen einer Pufferspeicher-Blitzkopie eingerichtet ist. Das Vorhandensein der neuen Zielplatte 20, der vdisk B', führt zu einer Begrenzung für die E/A auf die Platte A. Eine neue Schreiboperation auf die Platte A führt zu einer Bereinigungs-Leseoperation der Platte B und zu einer Bereinigungs-Schreiboperation auf die Platte B'. An diesem Punkt sind in Abwärtsrichtung der Kaskade keine weiteren Operationen auf die Platte C oder die Platte D erforderlich. Die ursprüngliche E/A auf die Platte A kann abgeschlossen werden, und dies führt im Vergleich zu Kaskaden von mehreren in Reihe geschalteten Platten nach dem Stand der Technik zu einer Verbesserung der Zeitdauer, die zum Abschluss der ursprünglichen E/A auf die Platte A benötigt wird.
-
Das Vorhandensein der Funktion zum Erstellen einer Pufferspeicher-Blitzkopie und des neuen Ziel-Datenträgers 20 bedeutet, dass jedwede Beschränkung hinsichtlich der Reihenfolge, in der Blitzkopie-Abbilder gestartet werden, aufgehoben wird. Der Datenträger B' dient als Unterbrechung in der Kaskade, und sobald die ursprüngliche E/A abgeschlossen wurde, können die Daten auf dem Datenträger B' als normaler Hintergrundprozess zum Zweck der Bereinigung auf die Platte C ausgeräumt werden. Der Datenträger B' ist ein zeitweiliger Speicher für die von der Platte B geschriebenen Daten, und die auf dem Datenträger B' vorhandenen Daten haben keinen Fortbestand mehr, nachdem sie zum Zweck der Bereinigung auf die Platte C ausgeräumt worden sind.
-
Die Datenträger, die sich weiter unten in der Kaskade befinden, funktionieren in ihrer üblichen Art und Weise, ebenso wie die Abbilder 14 zwischen diesen Datenträgern. In dem Beispiel der 3 und 4 sind sich die Platten C und D, die sich weiter unten in der Kaskade befinden, nicht des Vorhandenseins der neuen Zielplatte B' bewusst, die in die Kaskade eingefügt worden ist, und sie sind sich auch nicht des Vorhandenseins der Funktion zum Erstellen einer Pufferspeicher-Blitzkopie bewusst. Diese Platten C und D setzen ihren Betrieb ganz normal fort, und das zum Zweck der Bereinigung erfolgende Ausräumen der Daten von der neuen Zielplatte B' auf die Platte C wird als eine normale Schreiboperation von Daten auf diese Platte C ausgeführt, was die Blitzkopie-Funktion veranlasst, eine Schreiboperation auf die Platte D durchzuführen, wenn die jeweiligen Daten auf C noch nicht hinüber kopiert worden sind.
-
Ein Flussdiagramm, das den Prozess des Betreibens der Kopierfunktion in der Phase, in der die Funktion eingerichtet wird, zusammenfasst, ist in 5 gezeigt. Das Verfahren zum Betreiben der Kopierfunktion, das von der Datenträger-Steuereinheit 8 ausgeführt wird, umfasst als einen ersten Schritt den Schritt S1, welcher den Schritt des Einleitens einer neuen Blitzkopie-Funktion von einem Quelldatenträger auf einen Zieldatenträger umfasst. In dem Beispiel von 4 ist der Quelldatenträger die vdisk A und der Zieldatenträger ist die vdisk B, wobei die neue Blitzkopie-Funktion, die erzeugt werden soll, die Blitzkopie-Funktion 14 von der vdisk A auf die vdisk B ist. Diese neue Blitzkopie-Funktion könnte von einem Administrator oder automatisch von Software erzeugt worden sein.
-
Der zweite Schritt S2 bei dem Verfahren ist der Schritt des Feststellens, dass der Zieldatenträger (vdisk B) der neuen Blitzkopie-Funktion auch der Quelldatenträger für eine vorhandene Blitzkopie-Funktion ist. In Zusammenhang mit dem Beispiel von 4 ist die vorhandene Blitzkopie-Funktion die Zuordnungs-Funktion von der vdisk B zur vdisk C. In diesem Beispiel ist die vdisk B, die das Ziel der neuen Blitzkopie-Funktion ist, daher auch die Quelle einer vorhandenen Blitzkopie-Funktion. Die Datenträger-Steuereinheit 8 kann diesen Schritt der Feststellung auf der Grundlage der Einzelheiten durchführen, welche die Steuereinheit 8 in Bezug auf vorhandene Zuordnungen von Blitzkopie-Funktionen von Quelldatenträgern zu Zieldatenträgern verwaltet.
-
Der nächste Schritt in dem Prozess ist der Schritt S3, in dem festgestellt wird, dass der Zieldatenträger (vdisk C) der vorhandenen Blitzkopie-Funktion (B→C) über einen sekundären Datenträger (in diesem Fall die vdisk D) verfügt. Dies kann wieder von der Datenträger-Steuereinheit 8 unter Verwendung der vorhandenen Daten über Blitzkopie-Funktionen und ihre Quellen und Ziele durchgeführt werden. Im Schritt S4 findet schließlich der abschließende Schritt statt, in dem die Funktion zum Erstellen einer Pufferspeicher-Blitzkopie (B→B') von dem Zieldatenträger (vdisk B) der neuen Blitzkopie-Funktion auf den neuen Zieldatenträger (vdisk B') erzeugt wird. Auf diese Weise wird an der vdisk B' eine Unterbrechung in die Kaskade eingeführt, und die E/A auf die ursprüngliche Platte A ist nun begrenzt.