DE60313468T2 - Speicherdienste und -systeme - Google Patents

Speicherdienste und -systeme Download PDF

Info

Publication number
DE60313468T2
DE60313468T2 DE60313468T DE60313468T DE60313468T2 DE 60313468 T2 DE60313468 T2 DE 60313468T2 DE 60313468 T DE60313468 T DE 60313468T DE 60313468 T DE60313468 T DE 60313468T DE 60313468 T2 DE60313468 T2 DE 60313468T2
Authority
DE
Germany
Prior art keywords
virtual disk
memory
storage
snapshot
snapshot operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60313468T
Other languages
English (en)
Other versions
DE60313468D1 (de
Inventor
Steven Michael Mercer Island UMBEHOCKER
Allen Bellevue UNUECO
Ankur Cupertino KEMKAR
Shaloo K. Santa Clara CHAUDHARY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symantec Operating Corp
Original Assignee
Veritas Operating Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Veritas Operating Corp filed Critical Veritas Operating Corp
Publication of DE60313468D1 publication Critical patent/DE60313468D1/de
Application granted granted Critical
Publication of DE60313468T2 publication Critical patent/DE60313468T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)

Description

  • Urheberrechtsmitteilung/-erlaubnis
  • Ein Teil der Offenbarung dieses Patentdokuments enthält Material, das dem Urheberrecht unterliegt. Der Urheberrechtsinhaber hat keine Einwände gegen die Faksimile-Reproduktion des Patentdokuments oder der Patentoffenbarung, so wie sie in der Akte oder dem Register des Patent- und Markenamtes enthalten ist, durch irgendjemanden, jedoch behält er sich alle wie auch immer gearteten Urheberrechte vor. Die folgende Mitteilung gilt für die Softwarebeschreibungen/-beispiele und die Daten, so wie sie nachfolgend und in den Zeichnungen hierzu beschrieben sind: Copyright© 2002, Veritas Software Company, alle Rechte vorbehalten.
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft Speicherdienste und -systeme und insbesondere Dienste und Systeme, die das Erzeugen eingefrorener Bilder und/oder Speicheraufteilungen in einer Shared Storage-Umgebung unterstützen.
  • Hintergrundinformation
  • Speichernetzwerke sind der Gebrauch von Verbindungen von Speichervorrichtungen mit Rechnervorrichtungen (z.B. Clients, Servern, u.ä.) durch das Verwenden von Netzwerken (z.B. Faserkanal, Internet Small Computer System Interface (iSCSI) u.a.) statt den traditionellen Punkt-zu-Punkt Small Computer System Interface- (SCSI-) Kanälen. Ein Netzwerk, das verwendet wird, um Server mit Speichervorrichtungen zu verbinden, wird als ein Storage Area Network (SAN) bezeichnet. Innerhalb einer SAN-Umgebung haben Rechnervorrichtungen Zugriff auf die verfügbaren Speichervorrichtungen. Dies liefert eine breite Auswahl an Vorzügen, einschließlich einer Serverplattformausfalisicherung, wobei eine ausgefallene Speichervorrichtung und ein ausgefallener Server automatisch durch eine andere betriebsbereite Serverplattform und eine andere betriebsbereite Speichervorrichtung ersetzt werden, ohne eine Neuverkabelung der betriebsbereiten Speichervorrichtungen zu erfordern.
  • Ein Aspekt einer Speicherverwaltung ist die Möglichkeit, eine Speicherzugriffstransparenz zu erzeugen, die häufig als Speichervirtualisierung bezeichnet wird. Speichervirtualisierung legt die physikalischen Speicherdetails von Benutzer-/Client-Anwendungen, die auf den physikalischen Speicher zugreifen, offen. Speichervirtualisierung kann die Speicherverwendung und den Speicherzugriffsdurchfluß optimieren, so daß mehrere Benutzer-/Client-Anwendungen optimal und zuverlässig auf physikalischen Speicher in einer Shared Storage-Umgebung, die aus heterogenen physikali schen Speichervorrichtungen besteht, zugreifen können. Auch müssen mit Speichervirtualisierung die Benutzer-/Client-Anwendungen nicht die zugrundeliegenden Details und die zu den physikalischen Speichervorrichtungen gehörenden Schnittstellen verwalten.
  • Ein weiterer Aspekt einer effektiven Speicherverwaltung ist die Fähigkeit, die Speicherdaten, die auf den physikalischen Speichervorrichtungen ruhen, zu sichern oder zu spiegeln, so daß die Daten von mehreren physikalischen Speichervorrichtungen redundant verfügbar sind oder von vorherigen Zeitpunkten wiederherstellbar sind. Die Datenredundanz erlaubt es Speicherdaten verfügbar zu bleiben, sollte eine der physikalischen Speichervorrichtungen, welche die Speicherdaten enthält, ausfallen oder auf andere Weise für eine Benutzer-/Client-Anwendung nicht verfügbar sein (z.B. Serverausfälle, Anwendungsausfälle, u.ä.). Die Datenwiederherstellbarkeit ermöglicht es Benutzern, erwünschte Versionen der Daten von einem vorherigen Zeitpunkt zu erhalten.
  • Konventionell werden einige Techniken verwendet, um Speicherdaten auf mehreren physikalischen Speichervorrichtungen zu sichern. Als erstes können Speicherdaten von einer physikalischen Speichervorrichtung auf eine andere physikalische Speichervorrichtung kopiert werden, durch Aufnehmen eines Schnappschusses der mit einer primären physikalischen Speichervorrichtung verbundenen Speicherdaten und dann Kopieren der Speicherdaten in eine zweite physikalische Sicherungsspeichervorrichtung. Um dies zu erreichen, wird ein eingefrorenes Bild der Speicherdaten zu einem gegebenen Zeitpunkt von der primären physikalischen Speichervorrichtung aufgenommen. Beim Erzeugen des eingefrorenen Bildes muß eine Reihe von Operationen ausgeführt werden, um eine Transaktionskonsistenz der Schnappschußoperation sicherzustellen. Zum Beispiel unterbrechen einige Operationen Anwendungen, welche auf die Speicherdaten zugreifen, und löschen Speicherdaten von anhängigen Änderungsoperationen (z.B. Schreiboperationen) aus dem Cache. Zweitens können Speicherdaten gespiegelt werden, so daß wenn die Speicherdaten, die in dem primären physikalischen Speicher enthalten sind, geändert werden, eine Änderungsoperation in den gespiegelten Speicherdaten auf einer gespiegelten zweiten physikalischen Speichervorrichtung auftritt.
  • Typischerweise ziehen, wenn eine Speichervirtualisierung vorgesehen ist, Speicherverwaltungstechniken eine Mittelschicht an Software ein, die zwischen Benutzeranwendungen und den Schnittstellen der darunterliegenden physikalischen Speichervorrichtungen angeordnet ist. Diese Softwaremittelschicht ist in der Lage, die physikalischen Speichervorrichtungen zentral zu verwalten und eine virtuelle Ansicht der Speicherdaten zu erzeugen. In einigen Fällen ist die Softwaremittelschicht als eine Volume-Manager- (VM-) Anwendung ausgeführt. Die VM kann auch Speicherdienste (z.B. eingefrorene Bilder, Spiegelungen u.ä.) auf Speicherdaten anwenden, um eine hohe Verfügbarkeit (High Availability; HA) der eigentlichen Speicherdaten sicherzustellen.
  • Dennoch werden in heterogenen Shared Storage-Umgebungen die eingefrorenen Bilder und Spiegelungen dem VM in einer Vielzahl verschiedener Weisen, basierend auf unterschiedlichen Konfigurationen und Schnittstellen der physikalischen Speichervorrichtung, dargestellt. Oft existieren die Unterschiede, da eine Anzahl der physikalischen Speichervorrichtungen von verschiedenen Anbietern geliefert werden und die physikalischen Speichervorrichtungen dem VM entsprechend ungleiche Speichermöglichkeiten zur Verfügung stellen.
  • Folglich wird ein VM, das in einer heterogenen Shared Storage-Umgebung arbeitet, übermäßig komplex mit einer Menge an komplexen Ausnahme-Softwarecodierungen, die so konstruiert sind, daß sie ungleiche Speichermöglichkeiten handhaben. Die Speichermöglichkeiten diktieren, wie die Speicherdaten verwaltet werden und was mit einem eingefrorenen Bild oder einer Spiegelung, die mit einer bestimmten Speicheroperation erzeugt worden ist, getan werden kann.
  • US 2002/001920 beschreibt ein Verfahren zum Kopieren von Daten durch ein virtualisiertes Speichersystem, welches eine verteilte, tabellengetriebene (I/O) Abbildung verwendet. In einem System, das eine virtuelle Platte (die "ursprüngliche Platte") aufweist, existiert eine durchgehende Abbildungstabelle für diese virtuelle Platte auf einem Controller und flüchtige Kopien einiger oder aller Einträge in diese Abbildungstabelle werden an einen oder mehrere Abbildungsagenten verteilt. Das beschriebene Verfahren erzeugt eine neue virtuelle Plattenabbildungstabelle, die exakt die gleichen Einträge aufweist wie die Abbildungstabelle der ursprünglichen virtuellen Platte. Die Tabelle weist einen ungültigen Zustand auf, der anzeigt, ob irgendwelche I/O-Operationen auf einem virtuellen Plattensegment und an einem entsprechenden physikalischen Ort auftreten. Die Tabelle weist auch einen nicht-schreibe (NO-Write; Nw)-Zustand auf, der anzeigt, ob die an dem entsprechenden physikalischen Ort enthaltenen Daten geändert werden können. US 2002/001920 offenbart nicht die Verwendung eines Flag für die Schnappschußbereitschaft, da 5 anzeigt, ob die virtuelle Platte in einem Zustand ist, der es erlaubt, eine Schnappschußoperation auszuführen oder nicht. US 2002/001920 lehrt auch nicht, während des Schnappschußbetriebs den dem Flag für die Schnappschußbereitschaft zugewiesenen Wert zu bestätigen, um zu bestimmen, ob irgendwelche empfangenen Speicheroperationen in Bezug auf die virtuelle Platte in der Schwebe gehalten werden müssen bis die Schnappschußoperation abgeschlossen ist.
  • Zusammenfassung der Erfindung
  • Aspekte der Erfindung sind in den beigefügten Ansprüchen definiert.
  • Eine Ausführungsform der Erfindung kann ein Verfahren zum Bereitstellen von Speicheroperationen liefern. Zustandsflags können einer virtuellen Platte zugeordnet sein. Die virtuelle Platte kann an einer oder mehreren Speichervorrichtungen zugeordnet sein. Die virtuelle Platte kann mit einem Zugriff auf eine Vorbereitungsoperation und eine Aufteiloperation ausgestattet sein. Zusätzlich kann ein Speicherverwaltungssatz von ausführbaren Befehlen konfiguriert werden, basierend auf einem oder mehreren Werten, die jedem der Zustandsflags der virtuellen Platte zugeordnet sind, wenn mindestens eine der Vorbereitungsoperationen und der Schnappschußoperationen verarbeitet wird.
  • Eine weitere Ausführungsform der Erfindung kann ein Speicherbetriebssystem vorsehen. Das Speicherbetriebssystem kann eine virtuelle Platte, einen Speicherverwaltungssatz von ausführbaren Befehlen und einen Auswahlsatz von ausführbaren Befehlen aufweisen. Die virtuelle Platte kann einer Mehrzahl von Zuständen, einer Schnappschußoperation und einer Vorbereitungsoperation zugeordnet sein. Der Speicherverwaltungssatz ausführbarer Befehle kann die virtuelle Platte verwalten und kann durch die Operationen konfiguriert sein. Darüber hinaus kann der Auswahlsatz von ausführbaren Befehlen die ausgewählte Ausführung der Operationen ermöglichen.
  • Eine weitere Ausführungsform der Erfindung kann eine virtuelle Plattendatenstruktur, die auf einem computerlesbaren Medium sitzt, vorsehen. Die virtuelle Plattendatenstruktur kann Speichermetadaten, eine Mehrzahl von Speicherzuständen und eine Mehrzahl von Speicheroperationsabbildungen aufweisen. Die Speichermetadaten können Speicherdaten zugeordnet sein, die auf einer oder mehreren Speichervorrichtungen sitzen. Darüber hinaus kann die Mehrzahl von Speicherzuständen Verarbeitungszuständen der virtuellen Plattendatenstruktur zugeordnet sein und die Mehrzahl von Speicheroperationsabbildungen sieht einen Zugriff auf Speicheroperationen vor. Darüber hinaus können Werte, die der Mehrzahl von Speicherzuständen zugeordnet sind, bestimmen, welche aus der Mehrzahl von Speicheroperationen durch Zugreifen auf die Speicheroperationsabbildungen verarbeitet werden können.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein Diagramm einer virtuellen Platte gemäß der vorliegenden Erfindung,
  • 2 zeigt ein Flußdiagramm eines Verfahrens zum Verarbeiten von Speicheroperationen gemäß der vorliegenden Erfindung,
  • 3 zeigt ein Flußdiagramm eines Verfahrens zum Bereitstellen von Speicheroperationen gemäß der vorliegenden Erfindung,
  • 4 zeigt ein Diagramm eines Speicherbetriebssystems gemäß der vorliegenden Erfindung,
  • 5 zeigt ein Diagramm einer virtuellen Plattendatenstruktur gemäß der vorliegenden Erfindung und
  • 6 zeigt ein Diagramm eines weiteren Speicherbetriebssystems gemäß der vorliegenden Erfindung.
  • Beschreibung der bevorzugten Ausführungsformen
  • In der folgenden detaillierten Beschreibung verschiedener Ausführungsformen der vorliegenden Erfindung wird auf die beigefügten Zeichnungen bezuggenommen, die einen Teil davon bilden und in denen in Form einer Darstellung bestimmte Ausführungsformen gezeigt sind, in denen die Erfindung ausgeführt werden kann. Es ist offensichtlich, daß andere Ausführungsformen verwendet werden könnten und strukturelle Veränderungen durchgeführt werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen.
  • So wie sie hierin verwendet wird, umfaßt eine "Speicherverwaltungsanwendung" oder ein "Speicherverwaltungssatz von ausführbaren Befehlen" Softwarenanwendungen oder -module, die Speicherressourcen im Rahmen von Benutzer-/Client-Anwendungen oder Host-Anwendungen verwalten. In einigen Instanzen sind Speicherverwaltungsanwendungen Volume-Manager- (VM-) Anwendungen, welche in einer Shared Storage-Umgebung, wie z.B. eine Storage Area Network- (SAN-) Umgebung oder TCP/IT, wobei iSCSI verwendet wird, arbeiten. Benutzer-/Client-Anwendungen oder den Host-Anwendungen sind Anwendungen, welche eine Schnittstelle zu den Speicherverwaltungsanwendungen bilden, um einen Zugriff auf Speicherressourcen zu gewinnen.
  • Eine virtuelle Platte (Virtual Disc; VD) ist eine logische Darstellung physikalischer Speicherdaten, die auf einer oder mehreren physikalischen Speichervorrichtungen sitzen. Der Speicherverwaltungssatz in ausführbaren Befehlen verwaltet die VD und macht die VD den Benutzer-/Client-Anwendungen oder Host-Anwendungen verfügbar. In einigen Ausführungsformen der vorliegenden Erfindung ist eine einzige VD tatsächlich eine Gruppe von VDs. In noch weiteren Ausführungsformen erzeugen Schnittstellen der physikalischen Speichervorrichtungen VDs, die dann von dem Speicherverwaltungssatz von ausführbaren Befehlen verwaltet werden.
  • 1 stellt ein Diagramm 100 einer VD 110 gemäß der vorliegenden Erfindung dar. Der VD 110 ist eine Anzahl von Speicherzuständen (z.B. 111-115) und Speicheroperationen (z.B. 116-118) zugeordnet. In einer Ausführungsform ist die VD 110 eine Gruppe von VDs. Darüber hinaus repräsentiert die VD 110 eine logische Ansicht physikalischer Speicherdaten für eine oder mehrere physikalische Speichervorrichtungen. Speicherverwaltungsanwendungen (z.B. VMs u.ä.), Benutzer/Client-Anwendungen und Host-Anwendungen Wechselwirken mit der VD 110 und nicht direkt mit dem darunterliegenden physikalischen Speicher. Die VD 110 weist Metadaten auf, die verwendet werden, um die darunterliegenden physikalischen Speicherdaten, so wie sie auf den physikalischen Speichervorrichtungen sitzen, zu erhalten.
  • Eine Speicheroperation besteht aus einem oder mehreren Prozessen, die notwendig sind, um ein eingefrorenes Bild der VD 110 zu erzeugen oder zu verwalten. Wie zuvor diskutiert, sind Möglichkeiten für ein eingefrorenes Bild auf verschiedene Weisen für verschiedene darunterliegende physikalische Speicherschnittstellen vorgesehen und für verschiedene physikalische Speichervorrichtungskonfigurationen (z.B. Speicher-Array-Konfigurationen). Einige Techniken zum Erzeugen eingefrorener Bilder weisen Datenspiegelungen, Kopieren-nach-Schreiben-Techniken u.ä. auf. Das Verwenden einer Technik statt einer anderen hat unterschiedliche Implikationen darauf, wie die physikalischen Speichervorrichtungskonfigurationen verwaltet werden, was mit irgendeinem erzeugten eingefrorenen Bild getan werden kann, und wie lange es dauert, das eingefrorene Bild zu erzeugen. Die VD 110 aus 1 erlaubt die Normierung potentiell ungleicher eingefrorener Bilderprozesse in einem Standardprozeß durch Verwenden von Speicherzuständen (z.B. 111-115) und Speicheroperationen (z.B. 116-118), die der VD 110 zugeordnet sind.
  • In einer Ausführungsform der VD 110 gibt es fünf Speicherzustandsflags (z.B. 111-115), nämlich einen Zustandsflag für die Konfigurationsbereitschaft 111, einen Zustandsflag für die Entkonfigurationsbereitschaft 112, einen Vorbereitung abgeschlossen Zustandsflag für die Vorbereitungsbereitschaft 113, einen Flag, für die Schnappschußbereitschaft 114 und einen Zustandsflag für die Wiederherstellungsbereitschaft anzeigt. Diese Zustandsflags können einen False/Unset-Wert oder einen True/Set-Wert aufweisen. Darüber hinaus zeigen die den Zustandsflags (z.B. 111-115) zugeordneten Werte an, welche der Speicheroperationen (z.B. 116-118) auf die darunterliegenden physikalischen Speichervorrichtungen, die der VD 110 zugeordnet sind, angewandt werden können, durch Verwenden der Metadaten der VD 110. In einer Ausführungsform sind drei Speicheroperationen (z.B. 116-118) vorgesehen: eine Wiederherstellungsoperation 116, eine Schnappschußoperation 117 und eine Vorbereitungsoperation 118.
  • Das Zustandsflag für die Konfigurationsbereitschaft 111 stellt ein Zeichen dafür zur Verfügung, ob die VD 110 in einem Zustand ist, der es der VD 110 erlaubt, neu konfiguriert zu werden oder nicht. Wenn einer bestimmten Konfiguration der darunterliegenden physikalischen Speichervorrichtungen eine Hardwarespiegelungstechnik zugeordnet ist, dann kann das Zustandsflag für die Konfigurationsbereitschaft 111 verwendet werden, um anzuzeigen, daß ein physikalisches Laufwerk der VD 110 nun einem anderen physikalischen Laufwerk der VD 110 für Zwecke der Synchronisierung oder der Spiegelung von Speicherdaten zwischen den beiden physikalischen Vorrichtungen zugeordnet werden kann. Darüber hinaus wird für Speichervorrichtungskonfigurationen, die mit Speicherarrays verbunden sind, die eine Copy-on-write-Technik verwenden, überhaupt keine Anzeige des Flags für die Konfigurationsbereitschaft 111 benötigt und entsprechend kann das Zustandsflag für die Konfigurationsbereitschaft 111 für solche Konfigurationen konstant auf False eingestellt sein.
  • Werte, die dem Zustandsflag für die Entkonfigurationsbereitschaft 112 zugeordnet sind, zeigen an, ob die VD 110 in einem Zustand ist, so daß die Zuordnung der VD 110 zu einer anderen VD 110 entfernt werden kann oder nicht. Dies ermöglicht die Neuzuordnung einer anderen VD 110, so daß mehrere eingefrorene Bilder, die zu den Speicherdaten der VD 110 gehören, aufgenommen werden können. Wieder muß für Speichervorrichtungskonfigurationen, dessen Speicherarrays zugeordnet sind, die eine Copy-on-write-Technik verwendet, kein Zustandsflag für die Entkonfiguration 112 verwendet werden, und entsprechend kann das Zustandsflag für die Entkonfigurationsbereitschaft 112 typischerweise auf False eingestellt sein.
  • Werte, die dem Zustandsflag für die Vorbereitungsbereitschaft 113 zugeordnet sind, zeigen an, ob die VD 110 in einem Zustand ist, so daß die der VD 110 zugeordnete Speichervorrichtung für eine Vorbereitungsoperation 118 konfiguriert werden kann. In einigen Fällen kann dies eine Aufbauoperation sein, um die VD 110 auf einer anderen Speichervorrichtung der VD 110 zu spiegeln. Wenn die gespiegelte Speichervorrichtung der VD 110 abgeteilt wird, kann das Einstellen des Zustandsflag für die Vorbereitungsbereitschaft 113 auf True bewirken, daß die gespiegelte Speichervorrichtung der VD 110 nicht verfügbar ist. Für Speichervorrichtungskonfigurationen, dessen Speicherarrays zugeordnet sind, welche keine Datenspiegelungstechniken verwenden, kann das Zustandsflag für die Vorbereitungsbereitschaft 113 auf True gesetzt sein, um den von einem zuvor ausgeführten Schnappschußprozeß verwendeten Speicher zu reabsorbieren (z.B. vorangegangene eingefrorene Bilderzeugung), wodurch im wesentlichen alle zuvor erzeugten Speicherclone gelöscht werden. Wie es für einen Fachmann offensichtlich ist, können durch Verwenden des Zustandsflags für die Vorbereitungsbereitschaft 113 in Kombination mit der Vorbereitungsoperation 118 Speicheradministratoren so viel Zeit wie notwendig beanspruchen, um VDs mit den physikalischen Speichervorrichtungen zu synchronisieren, da das Flag für den Vorbereitungsbereitschaftszustand 113 eine Technik vorsieht, um die Vorbereitungsoperation 118 von einer Schnappschußoperation 117 (z.B. eingefrorene Bilderzeugungsoperation) zu trennen.
  • Werte, die dem Zustandsflag der Schnappschußbereitschaft 114 zugeordnet sind, zeigen an, ob die VD 110 in einem Zustand ist, welcher es erlaubt, ein eingefrorenes Bild/einen Schnappschuß der VD 110 aufzunehmen. In einigen Ausführungsformen kann, wenn es die darunterliegende Konfiguration der physikalischen Speichervorrichtungen erlaubt, das Zustandsflag für die Schnappschußbereitschaft 114 auch auf irgendwelchen erzeugten, eingefrorenen Bildern auf True gesetzt werden, wodurch es ermöglicht wird, eingefrorene Bilder von anderen eingefrorenen Bildern aufzunehmen. Die VD 110 kann zu einem gegebenen Zeitpunkt in verschiedenen Zuständen (z.B. 111-115) sein. Speicheradministratoren können die Speicherzustände (z.B. 111-115) für die VD 110 zu jedem Zeitpunkt konfigurieren, wenn die Speicheroperationen (z.B. 116-118) für die darunterliegenden physikalischen Speichervorrichtung, die der VD 110 zugeordnet sind, verfügbar werden. Darüber hinaus setzen die Zustandsflags (z.B. 111-115), wenn die VD 110 eine Gruppe von VDs ist oder sie mehreren darunterliegenden physikalischen Speichervorrichtungen zugeordnet ist, automatisch Werte, so daß die Gruppe von VDs mindestens eine gemeinsame Nenneroperation (z.B. 116-118) der Gruppe festlegt.
  • Zum Beispiel wird, wenn ein Speicherverwaltungssatz von ausführbaren Befehlen (z.B. VM o.ä.) einige VDs 110 aufweist, die die Wiederherstellungsoperation 116 unterstützen, während es andere VDs 110 gibt, die die Wiederherstellungsoperation 116 nicht unterstützen, das Zustandsflag für die Wiederherstellungsbereitschaft 115 automatisch und konstant auf False gesetzt, wodurch die Ausführung der Wiederherstellungsoperation 116 nicht für die Anwendung auf irgendeine der VDs 110 freigegeben wird.
  • Ähnlich kann die Schnappschußoperation 117, basierend auf den Möglichkeiten der darunterliegenden physikalischen Speichervorrichtungen, die der VD 100 zugeordnet sind, beschränkt werden. Wenn z.B. die VD 110 einer Gruppe von VDs zugeordnet ist, worin die Hälfte der Flags für die Vorbereitungsbereitschaft 113 auf True eingestellt ist und die Hälfte der Flags für die Schnappschußbereitschaft 114 der VDs auf True eingestellt ist, vervollständigt dann die Vorbereitungsoperation 118 die Anwendung auf die VDs 110, deren Flags für die Vorbereitungsbereitschaft 113 auf True eingestellt sind, bevor die Schnappschußoperation 117 auf die VDs 110 angewandt wird, deren Flags für die Schnappschußbereitschaft 114 auf True eingestellt sind. Auf diese Weise kann ein Zugriff auf einige der Speicheroperationen (z.B. 116-118) in der Schwebe gehalten werden, bis andere Speicheroperationen (z.B. 116-118) vervollständigt wurden.
  • Darüber hinaus kann irgendein Speicherverwaltungssatz von ausführbaren Befehlen (z.B. VMs u.ä.) automatisch konfiguriert werden, basierend auf der erfolgreichen Ausführung der Speicheroperationen (z.B. 116-118). Zum Beispiel können die Metadaten der VDs 110, die den darunterliegenden physikalischen Speicherdaten zugeordnet sind, nach der Vervollständigung einer oder mehrerer der Speicheroperationen (z.B. 116-118) automatisch mit dem Speicherverwaltungssatz von ausführbaren Befehlen aktualisiert werden. Darüber hinaus können automatische Importe und Exporte ausgeführt werden, um irgendein eingefrorenes Bild, das durch die Speicheroperation (z.B. 116-118) hergestellt wurde, nach einer erfolgreichen Schnappschußoperation 117 für den Speicherverwaltungssatz von ausführbaren Befehlen sichtbar zu machen.
  • In einigen Ausführungsformen kann eine HA-Erweiterung der VD 110 aus 1 verwendet werden, um Speicherclustereinrichtungen zu integrieren, sodass die Speicheroperationen (z.B. 116-118) zu erweitern. Dies kann Operationen umfassen, die die Zuordnung einer Ziel-VD 110 zu einer Schnappschußoperation 117, die auf eine VD 110 angewandt wird, die einer Gruppe von VDs 110 zugeordnet ist, ermöglicht. Die Schnappschußergebnisse können automatisch auf einen Client/Host und in einen Speicherverwaltungssatz von ausführbaren Befehlen importiert werden. Darüber hinaus kann in einigen Ausführungsformen eine automatische Ausfalloperation integriert werden, um irgendein durch die Speicheroperation (z.B. 116-118) erzeugtes eingefrorenes Bild auf eine zweite VD 110 oder eine Ziel-VD 110 zu kopieren. Natürlich ist es für den Fachmann offensichtlich, daß eine Auswahl an zusätzlichen Operationen und Zustandsflags verwendet werden kann, um die Verarbeitung von Speicherdiensten in 1 zu verbessern.
  • 2 stellt ein Flußdiagramm eines Verfahrens 200 zum Verarbeiten von Speicheroperationen gemäß der vorliegenden Erfindung dar. Zunächst werden die physikalischen Speicherdaten logisch als eine oder mehrere VD-Datenstrukturen dargestellt. In einigen Ausführungsformen sind die physikalischen Speichervorrichtungsschnittstellen, welche die physikalischen Speicherdaten steuern, indirekt durch die VD-Datenstrukturen verfügbar. Darüber hinaus kann eine einzelne VD-Datenstruktur mehrere VD-Datenstrukturen repräsentieren. Die VD-Datenstrukturen werden von Speicherverwaltungsanwendungen verwendet, um eine Speichervirtualisierung für Benutzer-/Client-Anwendungen oder Host-Anwendungen vorzusehen. Auf diese Weise sind die Benutzer-/Client-Anwendungen oder die Host-Anwendungen nicht von den Details der physikalischen Speichervorrichtungen betroffen, die den Speicherdaten, die logisch durch eine VD-Datenstruktur verkörpert sind, zugeordnet sind
  • Jede VD-Datenstruktur ist einer Mehrzahl von Speicherzuständen zugeordnet, die relevant sind für das Ausführen von Speicheroperationen auf die VD-Datenstruktur. Diese Speicherzustände können als Speicherzustandsflag dargestellt sein, das Werte von True oder False aufweisen kann, welche anzeigen, ob die Zustandsflags gesetzt sind bzw. nicht gesetzt sind. Darüber hinaus weisen in einigen Ausführungsformen die Zustandsflags ein Zustandsflag für die Konfigurationsbereitschaft, ein Flag für den Entkonfigurationsbereitschaft, ein Zustandsflag für die Vorbereitungsbereitschaft, ein Zustandsflag für die Schnappschußbereitschaftszustand und ein Flag für den Wiederherstellungsbereitschaftszustand auf. Alle gesetzten Werte bestimmen, ob zu irgendeinem gegebenen Zeitpunkt eine Speicheroperation erlaubterweise auf die VD-Datenstruktur angewandt werden kann oder nicht. In einer Ausführungsform weisen die Speicheroperationen eine Wiederherstellungsoperation, eine Schnappschußoperation und eine Vorbereitungsoperation auf.
  • Die Wiederherstellungsoperation erlaubt es den einem zuvor aufgenommenen eingefrorenen Bild zugeordneten Daten in eine ursprüngliche VD-Datenstruktur kopiert zu werden, um eine Wiederherstellung auf der ursprünglichen VD-Datenstruktur zu führen. Die Schnappschußoperation erlaubt es, ein eingefrorenes Bild von der VD-Datenstruktur aufzunehmen und in einer zweiten VD-Datenstruktur zu speichern. Die Vorbereitungsoperation konfiguriert eine VD-Datenstruktur für eine Aufbauoperation, eine Aufteilungsoperation oder eine andere Speicheroperation.
  • In Block 210 werden die Werte für die Zustandsflags für die VD-Datenstruktur gesetzt. In einigen Ausführungsformen werden die Schnittstellen, die den physikalischen Speichervorrichtungen zugeordnet sind, geändert, um ein anfängliches und nachfolgendes Setzen der den Zustandsflags zugeordneten Werte zu ermöglichen. Auf diese Weise können Administratoren oder Anbieter bestimmen, wann Speicherdienste für bestimmte Speichervorrichtungen verfügbar sind oder nicht verfügbar sind, basierend auf den Konfigurationen der darunterliegenden physikalischen Speichervorrichtungen. Entsprechend können in Block 210 die Zustandswerte automatisch gesetzt werden, basierend auf Verarbeitungsergebnissen einer oder mehrerer der Speicheroperationen. Alternativ kann in Block 210 ein Speicheradministrator die Zustandswerte manuell einstellen. Darüber hinaus kann in einigen Ausführungsformen ein vorgesehener Satz von ausführbaren Befehlen zwischen den Speichervorrichtungsschnittstellen und dem Speicherverwaltungssatz von ausführbaren Befehlen angeordnet sein, um die Zustandswerte für die VD einzustellen.
  • In Block 220 wird eine Speicheroperation empfangen. Die Speicheroperation kann direkt von einem Speicherverwaltungssatz von ausführbaren Befehlen (VMs u.ä.) oder von einer Benutzer-/Client-Anwendung oder einer Host-Anwendung empfangen werden, die von einem Speicheradministrator verarbeitet wird. In Block 222 wird nach dem Empfangen einer Anfrage, eine Speicheroperation auf die VD-Datenstruktur anzuwenden, eine Kontrolle durchgeführt, um zu bestimmen, ob die VD-Datenstruktur in einem zulässigen Zustand ist, um die empfangene Speicheroperation auszuführen.
  • In einigen Ausführungsformen, in denen die VD-Datenstruktur einer Gruppe von VD-Datenstrukturen zugeordnet ist, kann eine kleinste-gemeinsame-Nenner-Regel durchgesetzt werden, so daß der Zustand in Block 222 als unzulässig angenommen wird, wenn irgendeine der VD-Datenstrukturen unzulässigen Zustandsflagwerten zugeordnet ist, die notwendig sind, um erfolgreich die empfangene Speicheroperation auszuführen. Darüber hinaus kann in einigen Fällen die empfangene Operation nach dem Ausführen einer anderen Speicheroperation zulässig werden. In diesen Fällen wird die empfangene Speicheroperation in der Schwebe gehalten, bis die Zustände der gesamten Gruppe von VD-Datenstrukturen es ermöglichen, daß die empfangene Speicheroperation ausgeführt wird.
  • In Block 230 wird, nachdem der dem Zustandsflag zugeordnete Wert zulässig ist, die empfangene Speicheroperation auf die VD-Datenstruktur angewandt. In Block 240 werden mit dem Abschluß der Verarbeitung der empfangenen Speicheroperation die passenden Werte der Zustandsflags für die VD-Datenstruktur aktualisiert. Als nächstes schreitet in Block 220 die Verarbeitung voran, wenn eine weitere Speicheroperation empfangen wird.
  • 3 stellt ein Flußdiagramm eines Verfahrens 300 zum Bereitstellen von Speicheroperationen gemäß der vorliegenden Erfindung dar. In Block 310 werden Zustandsflags einer VD zugeordnet. Die Zustandsflags weisen Werte auf, die verwendet werden, um zu bestimmen, ob eine bestimmte erwünschte Speicheroperation richtig auf die VD angewandt werden kann unter Annahme des derzeitigen Zustands der VD. Die VD repräsentiert logisch Speicherdaten, die einer oder mehreren physikalischen Speichervorrichtungen zugeordnet sind. Darüber hinaus kann in einigen Ausfüh rungsformen eine einzelne VD eine Mehrzahl oder Gruppierung von VDs darstellen. Darüber hinaus können die darunterliegenden Konfigurationen der Speichervorrichtungen die Werte für eine Anzahl der Zustandsflags vorgeben.
  • In einigen Ausführungsformen repräsentieren die Zustandsflags fünf Zustände: einen Konfigurationsbereitschaftszustand, einen Entkonfigurationsbereitschaftszustand, einen Vorbereitungsbereitschaftszustand, einen Schnappschußbereitschaftszustand und einen Wiederherstellungsbereitschaftszustand. Der Wert des Konfigurationsbereitschaftszustandes zeigt an, ob die VD neu konfiguriert werden kann oder nicht. In einigen Fällen zwingt die zugrundeliegende Konfiguration der Speichervorrichtungen den Wert des Konfigurationsbereitschaftszustandes dazu, dauerhaft als False eingestellt zu sein. Der Wert des Entkonfigurationsbereitschaftszustandes zeigt an, ob die VD von einer anderen VD getrennt werden kann. Unter einigen Umständen zwingt die zugrundeliegende Konfiguration der Speichervorrichtungen den Wert des Entkonfigurationsbereitschaftszustandes dazu, auf False eingestellt zu sein.
  • Der Wert des Vorbereitungsbereitschaftszustandes zeigt an, ob eine Vorbereitungsoperation zulässigerweise auf die VD ausgeführt werden kann. Die Vorbereitungsoperation bereitet die VD für Bildungs- oder Aufteilungsoperationen vor, die auf die VD angewandt werden. Darüber hinaus kann für Speichervorrichtungen, die keine Datenspiegelung erlauben, der Wert des Vorbereitungsbereitschaftszustandes auf True gesetzt werden, um Speicher, der von einem zuvor erzeugten eingefrorenen Bild verwendet wird, wieder aufzunehmen. Der Wert des Schnappschußbereitschaftszustandes zeigt an, ob auf die VD eine Schnappschußoperation ausgeführt werden kann, um ein eingefrorenes Bild der VD zu erzeugen. Eingefrorene Bilder von zuvor aufgenommenen eingefrorenen Bildern sind zulässig. Der Wert des Wiederherstellungsbereitschaftszustandes zeigt an, ob eine Wiederherstellungsoperation auf die VD ausgeführt werden kann, um die VD mit einem zuvor aufgenommenen eingefrorenen Bild wiederherzustellen.
  • In Block 320 werden Speicheroperationen an die VD bereitgestellt. Die Operationen weisen eine Vorbereitungsoperation auf, um die VD für eine Aufbauoperation vorzubereiten, eine Aufteilungsoperation oder eine andere Speicheroperation (z.B. eine Spiegelungsoperation) und eine Wiederherstellungsoperation, um die VD mit einem zuvor aufgenommenen eingefrorenen Bild zu überschreiben. Natürlich kann, wie es für den Fachmann offensichtlich ist, eine Auswahl an zusätzlichen Speicheroperationen vorgesehen sein, ohne von der vorliegenden Erfindung abzuweichen. Einige dieser Operationen können eine Integration von Speicherclustereinrichtungen umfassen, durch Ermöglichen der Zuordnung von Ziel-VDs und den Import zuvor aufgenommener Schnappschüsse in einen Speicherverwaltungssatz von ausführbaren Befehlen (z.B. VMs u.ä.) auf den Ziel-VDs. Zusätzlich kann eine Operation unter bestimmten Bedingungen eine Ausfallsicherung eines eingefrorenen Bildes für eine andere VD ermöglichen.
  • Darüber hinaus wird in Block 330 ein Speicherverwaltungssatz von ausführbaren Befehlen automatisch konfiguriert, basierend auf den den Zustandsflags zugeordneten Werten, wenn mindestens eine der Speicheroperationen auf die VD angewandt wird. Zum Beispiel können die zugrundeliegenden physikalischen Abbildungen, die den Speicherdaten aller erzeugten eingefrorenen Bildern zugeordnet sind, automatisch importiert oder exportiert werden, z.B. in den Speicherverwaltungssatz von ausführbaren Befehlen, so daß das neu erzeugte eingefrorene Bild für den Speicherverwaltungssatz von ausführbaren Befehlen nach dem erfolgreichen Abschluß einer Aufteilungsoperation sichtbar und verfügbar ist. Ähnlich können die zugrundeliegenden physikalischen Abbildungen automatisch in eine Host-Rechnerumgebung importiert oder exportiert werden.
  • In Block 340 wird eine Speicheroperation empfangen oder angefordert. In einigen Fällen wird diese Operation von einem Speicherverwaltungssatz von ausführbaren Befehlen empfangen. In anderen Fällen wird die Speicheroperation direkt von einem Benutzer-/Client-Satz von ausführbaren Befehlen oder einem Host-Satz von ausführbaren Befehlen empfangen, so als wenn ein Speicheradministrator manuell eine Speicheroperation ausführt. In Block 342 wird dann, sobald eine angeforderte Speicheroperation empfangen wird, der Wert, der derzeit der VD zugeordnet ist, bestätigt, um zu bestimmen, ob die angeforderte Speicheroperation ausgeführt werden kann oder ob sie in der Schwebe gehalten werden muß, bis andere Speicheroperationen ihre Verarbeitung der VD abgeschlossen haben. In einigen Ausführungsformen, in denen die VD eine Gruppe von VDs repräsentiert, kann es notwendig sein, jeden Wert, der den Zustandsflags für jede der VDs innerhalb der Gruppe zugeordnet ist, zu bestätigen, bevor es der angeforderten Operation ermöglicht wird, ausgeführt zu werden.
  • In Block 350 wird, sobald die den Zustandsflags der VD zugeordneten Werte es erlauben, die angeforderte Speicheroperation auszuführen, die angeforderte Speicheroperation ausgeführt. Nach dem Abschluß der Verarbeitung der angeforderten Speicheroperation wird der Speicherverwaltungssatz von ausführbaren Befehlen passend konfiguriert und die Werte der Zustandsflags werden automatisch wie erforderlich aktualisiert/zurückgesetzt.
  • Auch ist die VD in einigen Ausführungsformen einer ersten Speichervorrichtung und einer zweiten Speichervorrichtung zugeordnet, wobei die erste Speichervorrichtung von der zweiten Speichervorrichtung verschieden ist. Zum Beispiel kann die Konfiguration der ersten Speichervorrichtung eine Datenspiegelung erlauben, während die Konfiguration der zweiten Speichervorrichtung eine Datenspiegelung nicht erlaubt. Darüber hinaus können die Schnittstellen, die der ersten Speichervorrichtung und der zweiten Speichervorrichtung zugeordnet sind, voneinander verschieden sein, z.B. wenn die ersten und zweiten Speichervorrichtungen von verschiedenen Hardwareanbietern bereitgestellt werden. Alternativ können die Schnittstellen unterschiedliche Ausgaben/Versionen einer Schnittstelle sein, die durch den gleichen Hardwareanbieter bereitgestellt werden.
  • 4 stellt ein Diagramm eines Speicherbetriebssystems 400 gemäß der vorliegenden Erfindung dar. Das Speicherbetriebssystem 400 weist eine oder mehrere VDs (z.B. 410-412), einen Speicherverwaltungssatz von ausführbaren Befehlen 430 und einen Auswahlsatz von ausführbaren Befehlen 420 auf. Die VDs (z.B. 410-412) sind einer oder mehreren Speichervorrichtungen (z.B. 401-402) zugeordnet. Darüber hinaus sind VDs (z.B. 410-412) einer Mehrzahl von Zuständen, einer Schnappschußoperation, einer Vorbereitungsoperation und optional einer Wiederherstellungsoperation zugeordnet.
  • In einer Ausführungsform ist der Speicherverwaltungssatz von ausführbaren Befehlen 430 ein VM, welches in einer Shared-Storage-Umgebung arbeitet, wie z.B. einer SAN-Umgebung oder einer TCP/IP-Umgebung, welche iSCSI verwendet. Der Speicherverwaltungssatz von ausführbaren Befehlen 430 verwaltet die VDs (z.B. 410-412) und wird dynamisch konfiguriert wenn die eine oder die mehreren der Operationen auf die VDs (z.B. 410-412) angewandt werden. Zum Beispiel wird, wenn eine Schnappschußoperation auf die VDs (z.B. 410-412) vervollständigt ist, dann das resultierende eingefrorene Bild in den Speicherverwaltungssatz von ausführbaren Befehlen 430 importiert, so daß das erzeugte eingefrorene Bild für den Speicherverwaltungssatz von ausführbaren Befehlen 430 sichtbar und verfügbar ist. Das resultierende eingefrorene Bild kann auch auf eine Host-Rechnervorrichtung importiert werden.
  • Der Auswahlsatz von ausführbaren Befehlen 420 erlaubt die selektive Ausführung der Operationen, wenn die Zustände aktuelle Werte aufweisen, die die selektive Ausführung der Operationen erlaubt. In einigen Ausführungsformen erlauben die Operationen, daß die VDs (z.B. 410-412) für eine Aufbauoperation oder eine Aufteilungsoperation auf eine zweite VD (z.B. 410 oder 412) vorbereitet werden oder auf die zweite VD (z.B. 410 oder 412) wieder vorbereitet werden. In mehreren Ausführungsformen erlauben die Operationen es einer zweiten VD (z.B. 410 oder 412) die Daten anderer VDs (z.B. 410 oder 412) wieder herzustellen, wobei wenn die zweite VD (z.B. 410 oder 412) ein eingefrorenes Bild einer zuvor aufgenommenen VD (410 oder 412) repräsentiert. Darüber hinaus erlauben die Schnappschußoperationen das Erzeugen eines eingefrorenen Bildes der VDs (z.B. 410-412). In einer Ausführungsform ist der Auswahlsatz von ausführbaren Befehlen als ein Graphical User Interface- (GUI-) Werkzeug implementiert, wobei ein Speicheradministrator die Operationen selektiv identifizieren und ausführen kann. Darüber hinaus ermöglicht es das GUI-Werkzeug in einigen Ausführungsformen dem Speicheradministrator, eine Ziel-VD (z.B. 410 oder 412) oder einen Speicherpool, der Ergebnisse, die vom selektiven Auswenden der Operationen auf die VDs (z.B. 410-412) erhalten werden, aufnimmt, manuell auszuwählen.
  • Jeder der Zustände weist einen Wert auf und der Wert stellt eine Anzeige der Operationen bereit, die auf die VDs (z.B. 410-412) zu irgendeinem bestimmten Moment angewandt werden können. In einer Ausführungsform ist eine Anzahl der Werte vorbestimmt und den Zuständen basierend auf einem Speichervorrichtungstyp zugeordnet. Der Speichervorrichtungstyp kann, basierend auf den unterstützten Diensten, die von den Speichervorrichtungen (z.B. 401-402) vorgesehen sind, zugeordnet sein. Der Speichervorrichtungstyp kann auch einen bestimmten Anbieter identifizieren, der einer bestimmten Speichervorrichtung (z.B. 401 oder 402) zugeordnet ist, eine bestimmte Konfiguration, die einer Speichervorrichtung (z.B. 401 oder 402) zugeordnet ist, oder eine bestimmte Schnittstelle, die von einer Speichervorrichtung (z.B. 401 oder 402) vorgesehen ist.
  • Darüber hinaus kann in einigen Ausführungsformen eine einzige VD (z.B. 410 oder 412) eine Gruppe von VDs (z.B. 410-412) aufweisen. In diesen Ausführungsformen kann der Speicherverwaltungssatz von ausführbaren Befehlen 430 so konfiguriert sein, daß er keine der Operationen ausführt, die nicht von jeder der VDs (z.B. 410-412) unterstützt werden, die die Gruppe von VDs (z.B. 410-412) aufweist. Zum Beispiel wird, wenn der Auswahlsatz von ausführbaren Befehlen 420 versucht, selektiv eine nicht unterstützte Operation auf die Gruppe von VDs (z.B. 410-412) anzuwenden, dann der Speicherverwaltungssatz von ausführbaren Befehlen 430 so konfiguriert, daß er die nicht unterstützte Operation nicht ausführt, wenn irgendeine VD (z.B. 410 oder 412) innerhalb der Gruppe die Operation nicht unterstützt. Auf diese Weise kann eine einzige VD (z.B. 410 oder 412) einer Mehrzahl von ungleichen Speichervorrichtungen (z.B. 401-402) zugeordnet werden. Folglich wird dem Speicherverwaltungssatz von ausführbaren Befehlen 430 versichert, daß keine Operation auf einer einzelnen VD (z.B. 410 oder 412) ausgeführt wird, die nicht erfolgreich auf jeder der VDs (z.B. 410-412) abgeschlossen würde. In einigen Fällen kann die nicht unterstützte Operation in der Schwebe gehalten werden, bis die Werte für die Zustände es erlauben, die nicht unterstützte Operation auszuführen.
  • 5 stellt ein Diagramm einer VD-Datenstruktur 500 gemäß der vorliegenden Erfindung dar. Die VD-Datenstruktur 500 weist Speichermetadaten 506, eine Mehrzahl von Speicherzuständen 502 und eine Mehrzahl von Speicheroperationsabbildungen 504 auf. Die Speichermetadaten sind physikalischen Speicherorten (z.B. Speicheradressen) zugeordnet, die auf einer oder mehreren Speichenvorrichtungen 510 liegen. Die physikalischen Speicherorte nehmen die Speicherdaten auf. Die Speichermetadaten 506 weisen Information auf, die ausreichend ist, um die physikalischen Speicherdaten zu erhalten, wenn eine bezugnehmende Anwendung die physikalischen Speicherdaten von der VD-Datenstruktur 500 abfragt. Die Speicherzustände 502 sind Verarbeitungszuständen der VD-Datenstruktur 500 zugeordnet. Darüber hinaus bestimmen die Werte, die den Speicherzuständen 502 zugeordnet sind, zu jedem bestimmten Zeitpunkt, welche der Speicheroperationen erfolgreich durch Zugreifen auf die Speicheroperationsabbildungen 504 verarbeitet werden können. Zusätzlich können in einigen Ausführungsformen die proprietären Schnittstellen der Speichervorrichtung 510 oder ein Speicheradministrator automatisch oder manuell die den verschiedenen Speicherzuständen 502 zugeordneten Werte einstellen. Dies kann erwünscht sein, wenn bestimmte Speicheroperationen durch eine Konfiguration von Speichervorrichtungen 510 nicht unterstützt werden oder durch Schnittstellen, die den Speichervorrichtungen 510 zugeordnet sind, nicht unterstützt werden.
  • In einer Ausführungsform sind die Speicheroperationsabbildungen 504 für einen Speicherverwaltungssatz von ausführbaren Befehlen 520 (z.B. VMs u.ä.) verfügbar, um Speicheroperationen auszuführen. In mehreren Ausführungsformen sind die Speicheroperationsabbildungen 504 für einen Auswahlsatz von ausführbaren Befehlen 530 verfügbar, wie z.B. wenn ein Speicheradministrator versucht, eine Anzahl von Speicheroperationen manuell und/oder unabhängig von irgendeiner automatischen Ausführung von Operationen durch den Speicherverwaltungssatz von ausführbaren Befehlen 520 auszuführen.
  • Auch erlaubt es in einigen Ausführungsformen eine Anzahl der Speicheroperationen, ein eingefrorenes Bild der Speicherdaten 506 aufzunehmen, wobei die VD-Datenstruktur 500 verwendet und auf eine oder mehrere zweite VD-Datenstrukturen 506 übertragen wird. In anderen Ausführungsformen erlaubt es eine Anzahl der Speicheroperationen, ein zuvor aufgenommenes eingefrorenes Bild, das einer zweiten VD-Datenstruktur 500 zugeordnet ist, in einer ursprünglichen VD-Datenstruktur 506 wiederhergestellt zu werden. Darüber hinaus kann eine einzige VD-Datenstruktur 506 verwendet werden, um eine Mehrzahl von Instanzen von VD-Datenstrukturen 506 zu repräsentieren. In einigen Ausführungsformen sitzt die VD-Datenstruktur 500 in einem flüchtigen Speicher, wie z.B. einem Cache. Obwohl es für einen Fachmann leicht offensichtlich ist, daß die VD-Datenstruktur 500 in einem nichtflüchtigen Speicher oder einer Kombination von flüchtigen und nicht-flüchtigen Speichern sitzen kann.
  • 6 stellt ein Diagramm eines weiteren Speicherbetriebssystems 600 gemäß der vorliegenden Erfindung dar. Das Speicherbetriebssystem 600 weist eine Anzahl von Speicherverwaltungsanwendungen (z.B. 610 und 620), eine Anzahl von virtuellen Platten (z.B. 630 und 640) und eine Anzahl von Speicherarrays (z.B. 650 und 660) auf. Die Speicherverwaltungsanwendungen (z.B. 610-620) Wechselwirken mit den virtuellen Platten (z.B. 630 und 640), wenn Speicherverwaltungsoperationen von Anwendungen angefordert werden. Anforderungen können von Host-Anwendungen empfangen werden.
  • Die virtuellen Platten (z.B. 630 und 640) weisen auch Speicherverwaltungszustände und Schnittstellen zu Speicherverwaltungsoperationen auf. Die Speicherverwaltungsoperationen Wechselwirken mit Aufrufsyntaxen und Modulen, die auf den Speicherarrays sitzen (z.B. 650 und 660). Wenn sich die Speicherbedingungen der Speicherarrays (z.B. 650 und 660) ändern, werden die Zustände der virtuellen Platten (z.B. 630 und 640) dynamisch aktualisiert (z.B. ereignisgetrieben). Die Speicherverwaltungszustände geben vor, ob Speicherverwaltungsoperationen erlaubterweise zu irgendeinem bestimmten Zeitpunkt auch auf die virtuellen Platten (z.B. 630 und 650) durch die Speicherverwaltungsanwendungen (z.B. 610 und 620) angewandt werden können.
  • In einigen Ausführungsformen wechselwirkt eine einzige Speicherverwaltungsanwendung (z.B. 610 oder 620) mit einer Mehrzahl von virtuellen Platten (z.B. 630 und 640). Darüber hinaus weist jedes der Speicherarrays (z.B. 650 und 660) Aufrufsyntaxe und Speicherverwaltungsmodule auf, die voneinander verschieden sind, wie z.B. wenn jedes der Speicherarrays (z.B. 650 und 660) von verschiedenen Anbietern bereitgestellt wird oder verschiedene Versionen eines Speicherarrays (z.B. 650 oder 660) von dem gleichen Anbieter vorgesehen sind.
  • Jede der virtuellen Platten (z.B. 630 und 640) ist mit Übersetzer- oder Provider-Modulen verbunden oder diesen zugeordnet, die Calling-Syntaxe und Modulnamen, die den unterschiedlichen Speicherarrayschnittstellen (z.B. 650 und 660) zugeordnet sind, normieren. Daher müssen sich die Speicherverwaltungsanwendungen (z.B. 610 und 620) nicht um die bestimmten Aufrufsyntaxe und Modulnamen, die den Standardspeicherverwaltungsoperationen zugeordnet sind, kümmern. Auf diese Weise können die Speicherverwaltungsanwendungen so entwickelt werden, daß sie die den unterschiedlichen Speicherarrays (z.B. 650 und 660) zugeordneten Schnittstellen entkoppelt und unabhängig von den Schnittstellen der Speicherarrays sind.
  • Zusammenfassung
  • Die oben diskutierten Speicherdienste und -systeme erlauben verbesserte Speicheroperationen in einer heterogenen Shared Storage-Umgebung. Diese Dienste und Systeme weisen Verfahren, Systeme und virtuelle Datenstrukturen auf, die es Speicherverwaltungsanwendungen und Benutzer-/Client- oder Host-Anwendungen erlauben, konsistente und normierte Schnittstellen zu verwenden, wenn sie eingefrorene Bilder (z.B. Schnappschußoperationen) eines Speichers erzeugen oder andere Speicheroperationen (z.B. Aufteilungen und Spiegelungen) ausführen. Darüber hinaus kann eine einzige virtuelle Datenstruktur eine Mehrzahl von virtuellen Datenstrukturen aufweisen, die einer Mehrzahl von ungleichen physikalischen Speichervorrichtungen zugeordnet sind. Jede virtuelle Datenstruktur ist Speicherzuständen und Speicheroperationen zugeordnet. In einigen Ausführungsformen ist, wenn eine bestimmte Operation nicht durch mindestens eine der zugeordneten zugrundeliegenden physikalischen Speichervorrichtungskonfigurationen oder Schnittstellen unterstützt wird, dann die nicht unterstützte Operation automatisch nicht zur Verwendung durch die gesamte virtuelle Datenstruktur verfügbar. Darüber hinaus vermittelt in einigen Ausführungsformen eine GUI den Benutzer-/Client- oder Host-Anwendungen, die Fähigkeit selektiv die den VD-Datenstrukturen zugeordneten Speicheroperationen auszuführen.
  • Wie es dem Fachmann nun beim Lesen der vorliegenden Offenbarung offensichtlich ist, erlauben die in dieser Offenbarung dargestellten Verfahren, Systeme und Datenstrukturen flexiblere Implementierungen von Speicherverwaltungs-, Benutzer-/Client- und/oder Host-Anwendungen. Darüber hinaus sind die Anwendungen einfacher zu entwickeln und zu unterhalten. Weiterhin sind die Speicherverwaltungsanwendungen robuster, einfacher in der Lage, mit einer Mehrzahl von Schnittstellen, die ungleichen Konfigurationen und/oder ungleichen Anbietern der zugrundeliegenden physikalischen Speichervorrichtungen zugeordnet sind, integriert zu werden.

Claims (11)

  1. Verfahren mit: Konfigurieren einer virtuellen Platte (110), so daß sie einer Schnappschußoperation (117) unterliegt, wobei die virtuelle Platte logisch Speicherdaten auf einer oder mehreren Speichervorrichtungen (510) repräsentiert, wobei die Schnappschußoperation so betreibbar ist, daß sie die Speicherdaten kopiert, Zuordnen von Zustandsinformation zu der virtuellen Platte, wobei die Zustandsinformation ein Flag für die Schnappschußbereitschaft aufweist, das anzeigt ob die virtuelle Platte in einem Zustand ist, der es erlaubt die Schnappschußoperation auszuführen oder nicht, Empfangen einer Anforderung, daß die Schnappschußoperation ausgeführt werden soll, Ausführen der Schnappschußoperation als Reaktion auf das Erfassen, daß das Flag für die Schnappschußbereitschaft anzeigt, daß die virtuelle Platte in einem Zustand ist, der es erlaubt die Schnappschußoperation auszuführen und während der Schnappschußoperation, Bestätigen des dem Flag für die Schnappschußbereitschaft zugeordneten Werts, um zu bestimmen ob irgendwelche empfangenen Speicheroperationen in Bezug auf die virtuelle Platte in den Schwebe gehalten werden müssen bis die Schnappschußoperation abgeschlossen ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die virtuelle Platte eine Gruppe von virtuellen Platten ist, wobei die Zustandsinformation anzeigt ob jede virtuelle Platte in der Gruppe in einem Zustand ist, der es erlaubt, die Schnappschußoperation auszuführen.
  3. Verfahren nach Anspruch 1 oder 2, darüber hinaus mit: Konfigurieren der virtuellen Platte, so daß sie Gegenstand einer Wiederherstellungsoperation (116) ist, wobei die Wiederherstellungsoperation so betreibbar ist, daß sie Speicherdaten wiederherstellt, die zuvor durch die Schnappschußoperation auf die virtuelle Platte kopiert wurden, wobei die Zustandsinformation darüber hinaus anzeigt, ob die virtuelle Platte in einem Zustand ist, der es ermöglicht die Wiederherstellungsoperation auszuführen.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die eine oder die mehreren Speichervorrichtungen ein erstes Speicherarray (650) und ein zweites Speicherarray (660) umfaßt, wobei das erste Speicherarray ein anderer Typ von Speicherarray ist als das zweite Speicherarray.
  5. Speichersystem mit: einer oder mehreren Speichervorrichtungen (510), einer virtuellen Platte, die logisch Speicherdaten auf der einen oder den mehreren Speichervorrichtungen repräsentiert, wobei die virtuelle Platte eine zugeordnete Zustandsinformation aufweist mit einem Flag für die Schnappschußbereitschaft, das anzeigt ob die virtuelle Platte in einem Zustand ist, der es erlaubt, eine Schnappschußoperation (117) auszuführen oder nicht, einem ersten Satz von ausführbaren Befehlen, die eine selektive Ausführung der Schnappschußoperation an der virtuellen Platte ermöglichen als Reaktion auf das Erfassen, ob das Flag für die Schnappschußbereitschaft, das der virtuellen Platte zugeordnet ist, es ermöglicht, die Schnappschußoperation auszuführen, wobei die Schnappschußoperation so betreibbar ist, daß sie ein eingefrorenes Bild der Speicherdaten erzeugt, einem zweiten Satz von ausführbaren Befehlen, welche die virtuelle Platte verwalten, wobei der zweite Satz von ausführbaren Befehlen so konfiguriert ist, daß er auf das eingefrorene Bild der Speicherdaten zugreift als Reaktion auf das Ausführen der Schnappschußoperation und einem dritten Satz von ausführbaren Befehlen, die den dem Flag für die Schnappschußbereitschaft zugeordneten Wert bestätigen, um zu erfassen ob irgendeine empfangene Speicheroperation in Bezug auf die virtuelle Platte in der Schwebe gehalten werden soll, während die Schnappschußoperation ausgeführt wird.
  6. Speichersystem nach Anspruch 5, dadurch gekennzeichnet, daß das Ausführen der Schnappschußoperation ein Speichern des gefrorenen Bildes der Speicherdaten auf einer zweiten virtuellen Platte aufweist.
  7. Speichersystem nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß die Zustandsinformation zumindest teilweise basierend auf einer Konfiguration der einen oder der mehreren Speichervorrichtungen eingestellt wird.
  8. Speichersystem nach einem der Ansprüche 5-7, dadurch gekennzeichnet, daß der erste Satz von ausführbaren Befehlen eine Auswahl einer zu verwendenden virtuellen Zielplatte oder eines Speicherpools ermöglicht, wenn die Schnappschußoperation an der virtuellen Platte selektiv ausgeführt wird.
  9. Speichersystem nach einem der Ansprüche 5-8, dadurch gekennzeichnet, daß die virtuelle Platte eine erste virtuelle Platte in einer Gruppe von virtuellen Platten ist, wobei die Zustandsinformation der ersten virtuellen Platte anzeigt, ob jede virtuelle Platte in der Gruppe in einem Zustand ist, der es ermöglicht die Schnappschußoperation auf der virtuellen einem Zustand ist, der es ermöglicht die Schnappschußoperation auf der virtuellen Platte auszuführen.
  10. Speichersystem nach einem der Ansprüche 5-9, dadurch gekennzeichnet, daß die virtuelle Platte, der erste Satz von ausführbaren Befehlen und der zweite Satz von ausführbaren Befehlen an einer Shared-Storage-Umgebung beteiligt ist.
  11. Speichersystem nach einem der Ansprüche 5-10, dadurch gekennzeichnet, daß der erste Satz von ausführbaren Befehlen die selektive Ausführung der Schnappschußoperation als Reaktion auf eine Benutzereingabe in eine graphische Benutzerschnittstelle (graphical user interface; GUI) ermöglicht.
DE60313468T 2002-07-11 2003-07-11 Speicherdienste und -systeme Expired - Lifetime DE60313468T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US194524 2002-07-11
US10/194,524 US7043614B2 (en) 2002-07-11 2002-07-11 Storage services and systems
PCT/US2003/021801 WO2004008323A2 (en) 2002-07-11 2003-07-11 Storage services and systems

Publications (2)

Publication Number Publication Date
DE60313468D1 DE60313468D1 (de) 2007-06-06
DE60313468T2 true DE60313468T2 (de) 2008-01-10

Family

ID=30114766

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60313468T Expired - Lifetime DE60313468T2 (de) 2002-07-11 2003-07-11 Speicherdienste und -systeme

Country Status (10)

Country Link
US (1) US7043614B2 (de)
EP (1) EP1535161B1 (de)
JP (1) JP2005533318A (de)
KR (1) KR100736235B1 (de)
CN (1) CN100359479C (de)
AT (1) ATE360851T1 (de)
AU (1) AU2003249167A1 (de)
DE (1) DE60313468T2 (de)
HK (1) HK1076890A1 (de)
WO (1) WO2004008323A2 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596611B1 (en) 2002-04-01 2009-09-29 Veritas Operating Corporation Method and apparatus for maintaining information for use in the configuration of a client
US6826661B2 (en) * 2002-08-30 2004-11-30 Veritas Operating Corporation Methods and systems for storage architectures
US7584266B2 (en) * 2003-12-16 2009-09-01 International Business Machines Corporation Autonomous storage for backup, restore, and file access
JP4422519B2 (ja) * 2004-03-18 2010-02-24 株式会社日立製作所 情報処理システム
US7546631B1 (en) * 2004-04-30 2009-06-09 Sun Microsystems, Inc. Embedded management system for a physical device having virtual elements
CA2922172A1 (en) 2004-10-25 2006-05-04 Security First Corp. Secure data parser method and system
US8171101B2 (en) * 2005-09-30 2012-05-01 Cleversafe, Inc. Smart access to a dispersed data storage network
TWI307026B (en) * 2005-12-30 2009-03-01 Ind Tech Res Inst System and method for storage management
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
WO2009033074A2 (en) * 2007-09-05 2009-03-12 Emc Corporation De-duplication in virtualized server and virtualized storage environments
US8880797B2 (en) 2007-09-05 2014-11-04 Emc Corporation De-duplication in a virtualized server environment
CN101470583B (zh) * 2007-12-29 2011-02-16 英业达股份有限公司 实现虚拟磁盘服务设备的系统架构
US8539218B2 (en) * 2008-07-17 2013-09-17 Lsi Corporation Systems and methods for using an installation script to create a hidden boot partition to install a bootable virtual storage appliance on a virtualized server platform
US8667246B2 (en) 2009-05-13 2014-03-04 Hewlett-Packard Development Company, L.P. System for virtual disks version control
US8825685B2 (en) * 2009-11-16 2014-09-02 Symantec Corporation Selective file system caching based upon a configurable cache map
KR20110080480A (ko) * 2010-01-06 2011-07-13 주식회사 태진인포텍 가상 스토리지 장치 및 이를 이용한 제어 방법
JP5691969B2 (ja) * 2011-09-26 2015-04-01 オムロン株式会社 データ処理装置、データ処理システム、およびデータ処理方法
WO2013089298A1 (ko) * 2011-12-16 2013-06-20 엘지전자 주식회사 디스크 어레이의 제어 장치 및 방법
US10019159B2 (en) 2012-03-14 2018-07-10 Open Invention Network Llc Systems, methods and devices for management of virtual memory systems
US9135119B1 (en) * 2012-09-28 2015-09-15 Emc Corporation System and method for data management
CA2900504A1 (en) 2013-02-13 2014-08-21 Security First Corp. Systems and methods for a cryptographic file system layer
US9934085B2 (en) 2013-05-29 2018-04-03 Hewlett Packard Enterprise Development Lp Invoking an error handler to handle an uncorrectable error
CN108733507B (zh) * 2017-04-17 2021-10-08 伊姆西Ip控股有限责任公司 文件备份和恢复的方法和设备
CN107729052A (zh) * 2017-10-16 2018-02-23 郑州云海信息技术有限公司 一种数据操作方法、装置、设备及计算机可读存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634096A (en) * 1994-10-31 1997-05-27 International Business Machines Corporation Using virtual disks for disk system checkpointing
CN1149736A (zh) * 1995-06-05 1997-05-14 北京航空航天大学 一种分布式存储器共享管理方法
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
US6173293B1 (en) * 1998-03-13 2001-01-09 Digital Equipment Corporation Scalable distributed file system
US6047294A (en) * 1998-03-31 2000-04-04 Emc Corp Logical restore from a physical backup in a computer storage system
US5964886A (en) * 1998-05-12 1999-10-12 Sun Microsystems, Inc. Highly available cluster virtual disk system
US6161191A (en) * 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6216202B1 (en) * 1998-06-30 2001-04-10 Emc Corporation Method and apparatus for managing virtual storage devices in a storage system
US6681310B1 (en) 1999-11-29 2004-01-20 Microsoft Corporation Storage management system having common volume manager
US6745207B2 (en) * 2000-06-02 2004-06-01 Hewlett-Packard Development Company, L.P. System and method for managing virtual storage
US6772231B2 (en) * 2000-06-02 2004-08-03 Hewlett-Packard Development Company, L.P. Structure and process for distributing SCSI LUN semantics across parallel distributed components
US7720928B2 (en) * 2000-06-02 2010-05-18 Hewlett-Packard Development Company, L.P. Centralized fine-grained enhancements for distributed table driven I/O mapping
US6857059B2 (en) * 2001-01-11 2005-02-15 Yottayotta, Inc. Storage virtualization system and methods
US6757778B1 (en) * 2002-05-07 2004-06-29 Veritas Operating Corporation Storage management system

Also Published As

Publication number Publication date
CN100359479C (zh) 2008-01-02
KR100736235B1 (ko) 2007-07-06
JP2005533318A (ja) 2005-11-04
ATE360851T1 (de) 2007-05-15
DE60313468D1 (de) 2007-06-06
KR20050088067A (ko) 2005-09-01
EP1535161B1 (de) 2007-04-25
AU2003249167A8 (en) 2004-02-02
AU2003249167A1 (en) 2004-02-02
WO2004008323A3 (en) 2004-03-04
US7043614B2 (en) 2006-05-09
CN1682193A (zh) 2005-10-12
HK1076890A1 (en) 2006-01-27
WO2004008323A2 (en) 2004-01-22
US20040010666A1 (en) 2004-01-15
EP1535161A2 (de) 2005-06-01

Similar Documents

Publication Publication Date Title
DE60313468T2 (de) Speicherdienste und -systeme
DE60224598T2 (de) Umkehr eines Kommunikationspfades zwischen Speichergeräten
DE112018003084B4 (de) Asynchrones lokales und entfernt angeordnetes erzeugen von konsistenten zeitpunkt-momentkopien in konsistenzgruppen
DE112014006156B4 (de) Speichersystem und Datenmigrationsverfahren
DE69831944T2 (de) Vorrichtung und verfahren zur sicherung eines plattenspeichersystem
DE602005004120T2 (de) System und verfahren zur übernahme von partnerbetriebsmitteln in verbindung mit coredump
DE112010004931B4 (de) Mehrphasige Wiederherstellung von Dateisystemen mit Selektiver Bedarfsweiser Verfügbarkeit von Daten
DE60038364T2 (de) Computersystem und Speicherauszugsdatenverwaltungsverfahren
DE112011100112B4 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE3779770T2 (de) Instandhaltung der verfuegbarkeit eines wiederanlauffaehigen datenbasissystems.
DE102004027672A1 (de) Speicherplattenarraysystem
DE102013215535A1 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE112016001295T5 (de) Neusynchronisieren auf ein erstes Speichersystem durch Spiegeln des ersten Speichersystems nach einem Failover zu einem zweiten Speichersystem
DE602005000819T2 (de) Aufrechterhaltung der konsistenz einer fernkopie unter verwendung von virtualisierung
DE102004056216A1 (de) Fernkopiersystem und Speichersystem
DE112012002241T5 (de) Migration eines transparenten Dateisystems zu einem neuen physischen Speicherort
DE112021003061T5 (de) Ausgleichen von resilienz und leistung durch selektive verwendung von verschlechterten schreibvorgängen und freier kapazität in speichersystemen
DE112006002531T5 (de) Anwendung virtueller Server für Lösungen mit hoher Verfügbarkeit und für Lösungen bei der Wiederherstellung nach Fehlern
DE19924822A1 (de) Verfahren und Vorrichtung für Katastrophen-Behebung von Dateisystemen
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112011100534T5 (de) Mehrstufiger Sicherungsprozess
DE112012000693T5 (de) Ausführen einer Vielzahl von Instanzen einer Anwendung
DE112012001660T5 (de) Speicher-Checkpointing in einem System gespiegelter virtueller Maschinen
DE60216443T2 (de) Online-fern-informationssicherungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SYMANTEC OPERATING CORP. (N.D.GES.D.STAATES DE, US