-
Die vorliegende Erfindung betrifft eine Vorrichtung, ein System und ein Verfahren zum Optimieren der Übertragung von Daten zwischen einer Quelleinheit und einer Zieleinheit.
-
Unternehmen betreiben immer kompliziertere Computersysteme. Beispielsweise betreibt ein kleines Unternehmen mit nur 30 Mitarbeitern und einem einzigen Standort möglicherweise ein oder zwei Netzwerke mit einem einzigen Server. Mitarbeiter können unterschiedliche Workstations oder Computer zur Verfügung haben, die von unterschiedlichen OEM-Herstellern (OEM = Original Equipment Manufacturer) produziert wurden und unterschiedliche Betriebssysteme nutzen. Die Arten von Daten, die von unterschiedlichen Mitarbeitern erzeugt und bearbeitet werden, variieren je nach ihrer Rolle und der von ihnen verwendeten Software.
-
Mit dem organischen Wachstum der Anforderungen an IT-Systeme erhöht sich die Anzahl von Workstations, Netzwerken, Servern und Speichereinheiten. Darüber hinaus nimmt die Vielfalt bei den OEM-Produkten und IT-Systemen zu, die in einem Unternehmen verwendet werden. In größeren Unternehmen mit Tausenden von Mitarbeitern, die über mehrere Standorte verteilt sind, besteht eine beträchtliche Vielfalt an Hardware und Software sowohl innerhalb der Standorte als auch zwischen den Standorten. Darüber hinaus können Richtlinien zur Aufbewahrung und zum Schutz von Daten zwischen Standorten und zwischen Abteilungen innerhalb (oder zwischen) Standorten variieren. Demzufolge wird es zunehmend schwierig, bei der Erneuerung der IT-Infrastruktur die Übertragung von Daten von alter Hardware auf Austauschgeräte zu bewältigen.
-
Normalerweise werden alle (oder zumindest alle wichtigen) Informationen über Nacht oder in regelmäßigen Zeitabständen gesichert, die von einem Unternehmen gespeichert werden. Es gibt zwei Hauptgründe für das Sichern von Daten. Der erste besteht darin, Daten nach einem Verlust wiederherzustellen. Der zweite besteht darin, gemäß einer benutzerdefinierten Aufbewahrungsrichtlinie Daten von einem früheren Zeitpunkt wiederherzustellen. Dementsprechend erhalten gesicherte Daten üblicherweise ein Ablaufdatum, mit dem die Zeit festgelegt wird, wie lange die Kopie der gesicherten Daten aufbewahrt werden soll.
-
Da mindestens eine Kopie aller speichernswerten Daten auf einem Computersystem angelegt werden muss, kann der Speicherbedarf sehr hoch sein, und Sicherungssysteme können sehr kompliziert sein. Zur Komplexität trägt außerdem bei, dass es viele unterschiedliche Arten von Speicherdaten gibt, die zum Anliegen von Sicherungen verwendet werden können, sowie viele unterschiedliche Sicherungsmodelle, viele unterschiedliche Zugriffsarten und viele unterschiedliche Anbieter von Sicherungslösungen gibt.
-
Kurz gesagt, Sicherungen können unstrukturiert sein, bei denen es sich im Allgemeinen um Dateisystemsicherungen handelt, wobei eine Datenkopie auf einem Medium oder auf einer Reihe von Medien mit minimalen Informationen darüber angelegt wird, was und wann gesichert wurde, und strukturiert, die im Allgemeinen produktspezifische Formate wie zum Beispiel SQL, Oracle und DB2 nutzen.
-
Unabhängig davon, ob strukturiert oder unstrukturiert, Sicherungen können: vollständig sein, bei denen zu verschiedenen Zeitpunkten komplette Systemabbilder angelegt werden; inkrementell sein, bei denen die Daten in Inkrementen der Änderung zwischen unterschiedlichen Zeitpunkten organisiert sind; umgekehrte Delta-Datensicherungen sein, bei denen eine Spiegelung der jüngsten Quelldaten zusammen mit einer Reihe von Unterschieden zwischen der jüngsten Spiegelung und früheren Zuständen aufbewahrt wird; und kontinuierlich sein, bei denen alle Änderungen an Daten sofort gespeichert werden.
-
Außerdem können verschiedene Medien zum Speichern von Daten verwendet werden, zu denen unter anderem Magnetbänder, Festplatte, optischer Speicher, Diskette und Halbleiterspeicher gehören. Normalerweise besitzt ein Unternehmen eigene Sicherungsmedieneinheiten, aber entfernt angeordnete Sicherungsdienste finden eine immer größere Verbreitung.
-
Um noch eine weitere Komplexitätsebene hinzuzufügen, kann eine Sicherung: online stattfinden, bei der eine interne Festplatte oder ein internes Festplatten-Array verwendet wird; nearline stattfinden, zum Beispiel eine Band-Bibliothek mit einer mechanischen Einheit, mit der Medieneinheiten von einem Speicher auf ein Laufwerk verlagert werden, indem das Medium gelesen/beschrieben werden kann; offline stattfinden, bei der ein direkter menschlicher Eingriff erforderlich ist, um den Zugriff auf die Speichermedien physisch zu ermöglichen; ausgelagert stattfinden; oder in einem Zentrum für die Wiederherstellung nach einem Katastrophenfall stattfinden.
-
Darüber hinaus nutzen unterschiedliche Anbieter von Datensicherungen proprietäre Systeme zum Organisieren von Sicherungen. Diese Systeme können das Kopieren oder anteilige Kopieren von Dateien auf unterschiedliche Weise bewältigen; und sie können Dateisysteme auf unterschiedliche Weise kopieren, zum Beispiel, indem sie einen Speicherauszug nehmen oder indem sie ein Archivbit abfragen oder indem sie ein Dateisystem mit Versionssteuerung nutzen. Sie können außerdem die Sicherung dynamischer Daten auf unterschiedliche Weise bewältigen. Außer dem Kopieren von Dateidaten legen Sicherungssysteme üblicherweise eine Kopie der Metadaten eines Computersystems an, zum Beispiel der Systembeschreibung, des Bootsektors, der Anordnung der Partitionen, der Datei-Metadaten (Dateiberechtigungen, Eigentümer, Gruppe usw.) und der System-Metadaten (da unterschiedliche Betriebssysteme Konfigurationsinformationen auf unterschiedliche Weise speichern).
-
Überdies bearbeiten verschiedene Anbieter von Datensicherungen die Daten, die gerade gesichert werden, um die Sicherungsgeschwindigkeit, Wiederherstellungsgeschwindigkeit, Datensicherheit, Mediennutzung und den Bandbreitenbedarf zu optimieren. Zu derartiger Bearbeitung können Komprimierung, Duplizierung und Deduplizierung, Verschlüsselung, Multiplexen, Umstrukturieren und Zwischenspeichern gehören, die sich je nach den Produkten und Anbietern unterscheidet.
-
Es wird klar sein, dass es bei einer Anzahl unterschiedlicher verwendeter Sicherungssysteme sehr schwierig sein kann, die Migration von Daten aus einer alten, ineffizienten Band-Infrastruktur auf eine moderne und effizientere Infrastruktur zu bewältigen.
-
Die Handhabung großer und komplexer Datendateien ist mit einer Reihe von Herausforderungen verbunden, wenn es um Mobilität geht. In Band-Umgebungen von Unternehmen, die durch herkömmliche Sicherungsserver und Datenindizes verwaltet werden, können leicht starke Verfügbarkeits- und Leistungskonflikte auftreten. Dies liegt daran, dass die Speicherressourcen, die einen direkten Zugriff auf die Daten haben, von separaten Sicherungssystemen gemeinsam genutzt werden. Diese Sicherungssysteme greifen je nach Bedarf auf die Ressourcen zu, ohne Rücksicht darauf, was andere Verwaltungsserver von anderen Anbietern eigentlich gerade tun. Daher wird unter Umständen die Band-Bibliothek, das verfügbare Bandlaufwerk oder das einzelne Medium von zwei separaten Anforderern (zum Beispiel Sicherungsservern) gleichzeitig angefordert. Dies führt zu einem blockierten Prozess, der im Grunde darauf wartet, dass die Infrastruktur wieder zur Verfügung steht, um die zweite Datenanforderung zu bedienen. Dieser Zustand tritt selbst dann auf, wenn Infrastruktur zur Verfügung steht, um auf andere infrage kommende Daten zuzugreifen.
-
Wenn die unterlagerten Ressourcen Zehntausende Band-Datenträger aufweisen und von vielen Sicherungsservern gemeinsam genutzt werden, nimmt die Komplexität exponentiell zu, und ein in großem Maßstab stattfindender Datenzugriff aus einer derartigen komplexen Umgebung ist nahezu unmöglich. Während dies schon immer ein potenzielles Problem darstellt, haben die Datenflut und Datenträger mit gegenwärtig darauf gespeichertem unstrukturiertem Inhalt das Problem erheblich verschärft.
-
Die vorliegende Erfindung ist darauf gerichtet, diese Probleme zu lösen und die Fähigkeit bereitzustellen, große komplexe Datendateien zwecks Migration oder Mobilität von Quelleinheiten auf Zieleinheiten zu steuern und zu gruppieren und den Zugriff von einer unterlagerten, gemeinsam genutzten Infrastruktur zu optimieren.
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Datenmigrationsverfahren zum Migrieren von Datenobjekten von einer Quelleinheit auf eine Zieleinheit bereitgestellt, wobei die Quelleinheit eine von separaten Systemen gemeinsam genutzte Infrastruktur aufweist und das Verfahren aufweist:
Bereitstellen eines Index der auf der gemeinsam genutzten Infrastruktur gespeicherten Datenobjekte und von Objektattributen der Datenobjekte, wobei der index in einem normalisierten Format bereitgestellt wird, das unabhängig von umgebungsspezifischen Formaten der separaten Systeme ist;
Auswählen, welche Objekte auf der Grundlage mindestens eines Objektattributs migriert werden sollen;
und
Optimieren der Migration von Daten von der gemeinsam genutzten Infrastruktur auf die Zieleinheit.
-
Vorzugsweise ist das mindestens eine Objektattribut, das zum Auswählen verwendet wird, welche Objekte migriert werden sollen, eines der Attribute Objekteigentümer, Gruppeneigentümer, Datentyp und Ablauf.
-
Vorzugsweise weisen die Objektattribute mindestens eines der Attribute Kundendaten, Standortdaten, Quelldaten, Knotendaten, Objektdaten und Fragmentdaten auf.
-
Vorzugsweise weisen die Objektdatenattribute mindestens eines der Attribute Zeitpunkt der Erstellung, Größe, Anzahl von Dateien und Ablaufdatum auf.
-
Bei einer bevorzugten Ausführungsform weist das Verfahren ferner das Aufteilen der Migration von Objekten in eine Vielzahl von Phasen vor dem Optimieren der Migration auf, wodurch die Migration für jede Phase optimiert wird.
-
In diesem Fall ist es bevorzugt, dass die Migration auf der Grundlage mindestens eines der Attribute geplantes Startdatum, Objekteigentümer, Gruppeneigentümer Datentyp, Kundendaten und Standortdaten aufgeteilt wird.
-
Vorzugsweise wird die Migration von Daten optimiert, indem Objekte auf der Grundlage der Objektattribute in Migrationsmengen gruppiert werden.
-
In diesem Fall ist es ferner bevorzugt, dass die gemeinsam genutzte Infrastruktur Speichermedien aufweist und die Migrationsmengen auf dem Speicherort der Objekte auf den Speichermedien, auf der Beziehung der Objekte zu den betreffenden separaten Systemen und auf verfügbaren Zugriffspfaden der Objekte von den separaten Systemen auf die gemeinsam genutzten Speichermedien beruhen.
-
Bevorzugter sind Objekte in jeder Migrationsmenge fortlaufend auf der Grundlage ihrer Speicherorte auf den Speichermedien geordnet.
-
Vorzugsweise ermöglicht die Migrationsmenge die Migration von Daten über parallele Datenpfade.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Datenmigrationssystem zum Migrieren von Datenobjekten von einer Quelleinheit auf eine Zieleinheit bereitgestellt, wobei die Quelleinheit eine von separaten Systemen gemeinsam genutzte Infrastruktur aufweist und das System aufweist:
eine Speichereinheit, auf der ein Index der auf der gemeinsam genutzten Infrastruktur gespeicherten Datenobjekte und von Objektattributen der Datenobjekte gespeichert ist, wobei der Index in einem normalisierten Datenmodell vorliegt, das unabhängig von umgebungsspezifischen Formaten der separaten Systeme ist;
eine Auswahleinheit, die so gestaltet ist, dass sie auswählt, welche Objekte auf der Grundlage mindestens eines Objektattributs migriert werden sollen; und
eine Optimierereinheit, die so gestaltet ist, dass sie die Migration von Daten von der gemeinsam genutzten Infrastruktur auf die Zieleinheit optimiert.
-
Vorzugsweise ist das mindestens eine Objektattribut, das zum Auswählen verwendet wird, welche Objekte migriert werden sollen, eines der Attribute Objekteigentümer, Gruppeneigentümer, Datentyp und Ablauf.
-
Vorzugsweise weisen die Objektattribute mindestens eines der Attribute Kundendaten, Standortdaten, Quelldaten, Knotendaten, Objektdaten und Fragmentdaten auf.
-
Bevorzugter weisen die Objektdatenattribute mindestens eines der Attribute Zeitpunkt der Erstellung, Größe, Anzahl von Dateien und Ablaufdatum auf.
-
Bevorzugt ist, dass das System ferner eine Organisatoreinheit zum Aufteilen der Migration von Objekten in eine Vielzahl von Phasen vor dem Optimieren der Migration aufweist, wodurch die Migration für jede Phase optimiert wird.
-
In diesem Fall ist es bevorzugt, dass die Organisatoreinheit so gestaltet ist, dass sie die Migration auf der Grundlage mindestens eines der Attribute geplantes Startdatum, Objekteigentümer, Gruppeneigentümer Datentyp, Kundendaten und Standortdaten aufteilt.
-
Vorzugsweise ist die Optimierereinheit so gestaltet, dass sie die Migration von Daten optimiert, indem Objekte auf der Grundlage der Objektattribute in Migrationsmengen gruppiert werden.
-
Bevorzugter ist, dass die gemeinsam genutzte Infrastruktur Speichermedien aufweist und die Migrationsmengen auf dem Speicherort der Objekte auf den Speichermedien, auf der Beziehung der Objekte zu den betreffenden separaten Systemen und auf verfügbaren Zugriffspfaden der Objekte von den separaten Systemen auf die gemeinsam genutzten Speichermedien beruhen.
-
Noch bevorzugter sind Objekte in jeder Migrationsmenge fortlaufend auf der Grundlage ihrer Speicherorte auf den Speichermedien geordnet.
-
Außerdem ist es bevorzugt, dass die Migrationsmenge die Migration von Daten über parallele Datenpfade ermöglicht.
-
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen weiterhin beispielhaft beschrieben, wobei:
-
1 eine schematische Darstellung eines Sicherungssystems und einer primären Speicherebene ist;
-
2 eine schematische Darstellung von Band-anhängen-Vorgängen ist, die erforderlich sind, um das Sicherungssystem aus 1 gemäß dem Stand der Technik auf eine Zieleinheit zu migrieren;
-
3 ein Ablaufplan ist, der ein Migrationsverfahren gemäß der vorliegenden Erfindung zeigt;
-
4 eine schematische Darstellung einer Quelleinheit und eines Index ist, die bei der vorliegenden Erfindung verwendet werden;
-
5 eine schematische Darstellung ist, die die Erzeugung des Index zeigt;
-
6 ein Ablaufplan ist, der die Erzeugung des Index zeigt;
-
7 eine schematische Darstellung ist, die ein Migrationssystem gemäß der vorliegenden Erfindung zeigt;
-
8 eine schematische Darstellung von Band-anhängen-Vorgängen ist, die erforderlich sind, um das Sicherungssystem aus 1 gemäß der vorliegenden Erfindung auf eine Zieleinheit zu migrieren;
-
9 eine schematische Darstellung eines Systems und eines Verfahrens gemäß einem weiteren Aspekt der vorliegenden Erfindung ist; und
-
10 eine schematische Darstellung eines Computersystems veranschaulicht, die in verschiedenen Elementen der vorliegenden Erfindung verwendet werden können.
-
1 ist eine einfache beispielhafte Anordnung der IT-Architektur eines Unternehmens. In der Anordnung aus 1 ist eine Vielzahl unterschiedlicher Ebenen bereitgestellt, und zwar eine Medienebene 400, eine Sicherungsserverebene 300 und eine primäre Speicherebene 250. Die primäre Speicherebene 250 weist eine Anzahl vernetzter Server und Speichereinheiten auf, die Daten speichern und bereitstellen, die von Mitarbeitern des Unternehmens mithilfe von Desktop-Computern, Notebooks und anderen Mitteln erzeugt und verwendet werden. Diese Desktop-Computer, Notebooks und anderen Mittel können zur primären Speicherebene 250 gehören.
-
Die Sicherungsserverebene 300 weist vier Sicherungsserver 310, 320, 330, 340 auf, die jeweils andere systemeigene Sicherungssysteme verwenden – bei diesem Beispiel das EMC2®-, Tivoli®-, hp®- und Symantec®-Sicherungssystem. Es sollte klar sein, dass diese Systeme lediglich beispielhaften Charakter tragen und an deren Stelle andere Systeme verwendet werden könnten. Jeder Sicherungsserver 310, 320, 330, 340 sichert Daten von der primären Speicherebene 250 auf eine gemeinsame Medienebene 400, die eine Vielzahl von Bibliotheken 410 aufweist. Zu jeder Bibliothek 410 gehören eine Anzahl von Band- oder anderen Medienlaufwerken 420 und eine Anzahl von Bändern 430 oder anderen physischen Medien. Das Laden von Bändern 430 in die Laufwerke 420 einer Bibliothek 410 und das Entladen sind automatisiert.
-
10 veranschaulicht eine beispielhafte Computerarchitektur 1100, mit deren Hilfe die Sicherungsserver 310 bis 340 realisiert sein können. Die Computerarchitektur 1100 kann ein Desktop-Computer oder ein Notebook-Computer, ein Server innerhalb der primären Speicherebene oder eine beliebige ähnliche Computereinheit sein oder einen Teil der genannten Einheiten bilden, aber die Sicherungsserver 310 bis 340 sind vorzugsweise als eigenständige Server realisiert.
-
Die Computerarchitektur 1100 kann mit externen Einheiten wie zum Beispiel in der Speichermedienebene 400 und in der primären Speicherebene 250 über ein Modem oder eine Netzwerkschnittstelle 1102 verbunden sein, zum Beispiel über ein Analogmodem, ISDN-Modem, Kabelmodem, über eine Token-Ring-Schnittstelle oder Satellitenübertragungsschnittstelle. Wie in 10 gezeigt, gehört zur Computerarchitektur 1100 eine Verarbeitungseinheit 1104, bei der es sich um einen herkömmlichen Mikroprozessor wie zum Beispiel einen Mikroprozessor des Typs Intel Pentium, Intel Core Duo oder um einen Mikroprozessor eines Motorola Power PC handeln kann, die dem Computerfachmann bekannt sind. Der Systemspeicher 1106 ist über einen Systembus 1108 mit der Verarbeitungseinheit 1104 verbunden. Beim Systemspeicher 1106 kann es sich um einen DRAM, RAM, statischen RAM (SRAM) oder um eine beliebige Kombination davon handeln. Der Bus 1108 verbindet die Verarbeitungseinheit 1104 mit dem Systemspeicher 1106, dem nichtflüchtigen Speicher 1110, dem Grafik-Subsystem 1112 und der Eingabe/Ausgabe-Steuereinheit (E/A-Steuereinheit) 1140. Das Grafik-Subsystem 1112 steuert eine Anzeigeeinheit 1116 wie zum Beispiel eine Flüssigkristallanzeige, die Teil des Grafik-Subsystems 1112 sein kann. Zu den E/A-Einheiten 1118 können eine oder mehrere Tastaturen, Plattenlaufwerke, Drucker, eine Maus, ein berührungsempfindlicher Bildschirm und dergleichen gehören, wie dem Computerfachmann bekannt ist.
-
Die Steuerungssoftware der Sicherungsserver 310 bis 340 ist normalerweise im nichtflüchtigen Speicher 1110 gespeichert. Daher kann sie auf dem Festplattenlaufwerk der Maschine oder eventuell auf einem extern anschließbaren Speichermedium wie zum Beispiel auf einem USB-Speicherstick oder auf einer CD gespeichert sein. Diese beiden Einheiten würden dann einen Teil der E/A-Einheiten bilden, die in 10 als Element 1118 gezeigt sind. Der nichtflüchtige Speicher kann außerdem Indizierungsdaten speichern, die durch den nachstehend erweiterten Sicherungsserver 40, 45 erzeugt wurden.
-
Jeder Sicherungsserver 310, 320, 330, 340 ist so ausgelegt, dass er Daten in eine oder mehrere Bibliotheken schreibt und von einer oder mehreren Bibliotheken liest und einen Index in einem systemeigenen Format der Daten speichert, die er in der einen oder in den mehreren Bibliotheken 410 speichert.
-
Die Sicherungsserverebene 300 und die Medienebene 400 können zusammen als Quelleinheit 260 betrachtet werden, wobei die Sicherungsserver 310, 320, 330, 340 separate Systeme sind, die die Infrastruktur der Medienebene gemeinsam nutzen. Die vorliegende Erfindung ist auf eine Situation anwendbar, bei der es gewünscht ist, ein neues Sicherungssystem zu installieren, zu dem eine neue Sicherungsebene und eine neue Medienebene gehören. Das neue Sicherungssystem kann als Zieleinheit 280 betrachtet werden, und die Daten müssen von der Quelleinheit 260 auf die Zieleinheit 280 migriert werden.
-
Die Zieleinheit 280 weist ebenfalls eine Sicherungsebene und eine Medienebene auf, und während die Daten migriert werden, erzeugen die Sicherungsserver in der Ziel-Sicherungsebene neue Indizes von Daten in ihrem/ihren systemeigenen Format(en).
-
Gegenwärtig werden Daten migriert, indem der auf jedem Sicherungsserver 310, 320, 330, 340 der Quelleinheit 260 gespeicherte Index der Reihe nach durchlaufen wird und die Objekte in der Reihenfolge von der Quellmedienebene 260 auf die Zielmedienebene kopiert werden, in der sie in den Indizes auftreten. Somit wird die Migration abgewickelt, indem auf der Grundlage von medienunabhängigen Parametern eine Liste von Daten aufgebaut wird, auf die zugegriffen werden muss. Demzufolge kann die Migration ein sehr aufwendiger Prozess sein, insbesondere, da Objekte unter Umständen in mehreren Fragmenten kopiert werden und die mehreren Fragmente unter Umständen auf denselben oder auf separaten Medien vorhanden sind.
-
Dies ist in 2 veranschaulicht, in der drei Exemplare von Bandmedien mit verschiedenen Datenobjekten dargestellt sind, die sich auf jeden Band befinden. Die Schattierung stellt die Reihenfolge dar, in der Daten von der Quelleinheit auf die Zieleinheit migriert werden. Da Objekte in der Migrationsliste in der Reihenfolge aufgeführt sind, in der sie in den Indizes der Sicherungsserver 310, 320, 330, 340 aufgeführt sind, folgt der Datenzugriff auf die Quelleinheit während der Migration dieser Reihenfolge, unabhängig davon, ob sich die Objekte auf separaten Exemplaren von Medien befinden und einige Objekte auf Medien aufgeteilt sind. Dies erfordert eine große Anzahl von Anhängen- und Abhängen-Vorgängen der Bandmedien auf denen die verschiedenen Objekte gespeichert sind.
-
In 2 stellt jeder Block ein Datenobjekt dar, und die unterschiedlichen Schattierungen veranschaulichen die Reihenfolge, in der auf Gruppen von Datenobjekten auf der Quelleinheit 260 zwecks Migration auf die Zieleinheit 280 zugegriffen wird. Da die Reihenfolge den Indizes der betreffenden Sicherungsserver 310, 320, 330, 340 entspricht, entsprechen die schraffierten Daten, die die ersten Daten zeigen, auf die zugegriffen werden soll, den durch den ersten Sicherungsserver 310 indizierten Daten, entsprechen die schraffierten Daten, die die zweiten Daten zeigen, auf die zugegriffen werden soll, den durch den zweiten Sicherungsserver 320 indizierten Daten, entsprechen die querschraffierten Daten, die die dritten Daten zeigen, auf die zugegriffen werden soll, den durch den dritten Sicherungsserver 330 indizierten Daten, und entsprechen die gepunkteten Daten, die die vierten Daten zeigen, auf die zugegriffen werden soll, den durch den vierten Sicherungsserver 340 indizierten Daten.
-
Der Zugriff muss auf alle Daten erfolgen, und die Reihenfolge des Anhängens ist lediglich für die ersten Daten zu sehen, die dem ersten Sicherungsserver 310 entsprechen. Bei diesem Szenario sind lediglich sechs Anhängen-Vorgänge erforderlich, um die ersten Daten zu migrieren. Insbesondere wird zuerst das Medium 1 angehängt, dann das Medium 3, dann wieder das Medium 1, dann wieder das Medium 3, dann wieder das Medium 1 und schließlich das Medium 3. Sobald das zweite Stadium zum Migrieren von Daten beginnt, die dem zweiten Sicherungsserver 320 entsprechen, werden die Medien zwecks Zugriff erneut angehängt. Insgesamt wird das Medium 1 bei dem Migrationsvorgang 6 Mal angehängt.
-
Darüber hinaus besteht für den Fall, dass entschieden wurde, dass Datenobjekte aus den Indizes von zwei oder mehreren des ersten bis vierten Sicherungsservers gleichzeitig migriert werden sollen, eine hohe Wahrscheinlichkeit, dass zum selben Zeitpunkt von den unterschiedlichen Sicherungsservern konfliktträchtige Anforderungen des Datenzugriffs auf dasselbe Band 430 auftreten. Wie oben erläutert, kann dies zu einem blockierten Prozess führen, bei dem ein oder mehrere Sicherungsserver darauf wartet bzw. darauf warten, dass die Infrastruktur wieder zur Verfügung steht, um diese Datenanforderung zu bedienen. Dieser Zustand tritt selbst dann auf, wenn Infrastruktur zur Verfügung steht, um auf andere infrage kommende Daten zuzugreifen.
-
Dies ist sehr ineffizient und verursacht einen erheblichen Aufwand, insbesondere hinsichtlich Zeit, Komplexität und Kosten des Migrierens von Daten von der Quelleinheit auf die Zieleinheit.
-
3 ist ein Ablaufplan eines Verfahrens der vorliegenden Erfindung zur Lösung dieser Probleme. Einzelne Aspekte des Verfahrens werden nachstehend unten eingehender erläutert. Kurz gesagt weist das Verfahren einen ersten Schritt S10 des Erzeugens eines Index der Datenobjekte auf, die auf der Medienebene 400 gespeichert sind. Tatsächlich ist dies ein Index der Indizes, die auf den Sicherungsservern 310, 320, 330, 340 und der zugehörigen gemeinsam genutzten Infrastruktur abgelegt sind. Wie nachstehend eingehender erläutert wird, ermöglicht der in Schritt S10 erzeugte Index eine Intelligenz, um den Konflikt zu beseitigen und die Dauer gleichzeitiger Datenzugriffsvorgänge massiv zu verringern.
-
In Schritt S20 wird der Index verwendet, um eine Operation zur Ermittlung des Umfangs durchzuführen, bei der entschieden wird, welche der Datenobjekte auf die Zieleinheit migriert werden müssen.
-
In S30 wird ein Organisierungsvorgang durchgeführt, bei dem entschieden wird, welche Stadien der Datenmigration durchgeführt werden müssen. Zum Beispiel kann der Organisierungsvorgang verwendet werden, um die Migration von Daten in unterschiedliche Phasen aufzuteilen, sodass die Daten aus einer ersten Abteilung des Unternehmens in einer ersten Phase migriert und Daten aus einer zweiten Abteilung später in einer zweiten Phase migriert werden. Der Organisierungsvorgang kann auch verwendet werden, um Anfangszeiten jeder Phase zu planen.
-
Als Nächstes wird ein Optimierungsvorgang in Schritt S40 durchgeführt, um Objekte in Migrationsmengen zu gruppieren und die Dauer jeder Migrationsphase zu verringern.
-
Schließlich werden die Daten in Schritt S50 migriert. Insbesondere werden die Daten, die in dem Schritt zur Ermittlung des Umfangs ausgewählt wurden, auf der Grundlage der im Organisierungsschritt festgelegten Migrationsphasen und der in der Optimierungsphase aufgebauten Migrationsmengen von der Quelleinheit 260 auf die Zieleinheit 280 migriert.
-
Der Index und die Erzeugung des Index werden nun unter Bezugnahme auf die 4 bis 6 eingehender beschrieben. Wie in 4 schematisch dargestellt, speichert ein einziger Index 210 Daten, die alle der Sicherungsserver 310 bis 340 in der Sicherungsschicht 300 betreffen.
-
Jeder der Sicherungsserver 310 bis 340 plant die Sicherung von Daten aus der primären Speicherebene 250 und speichert die Daten in einer für den jeweiligen Anbieter oder für das Produkt des jeweiligen Anbieters spezifischen Weise, einschließlich der Veränderung der gesicherten Daten. Insbesondere speichert jeder Sicherungsserver 310 bis 340 einen Index der gesicherten Daten in einem Format, das spezifisch für das betreffende Produkt ist. Die Formate unterscheiden sich erheblich zwischen den Anbietern, die für ähnliche Konzepte unterschiedliche Namen verwenden und außerdem Daten in unterschiedlicher Weise speichern und die Speicherung von Daten in unterschiedlicher Weise protokollieren. Die Art der in den Indizes gespeicherten Informationen kann auch je nach der Art der physischen Medien variieren.
-
Im Gegensatz hierzu speichert der einzelne Index 210 Informationen über jedes der Datenobjekte in einem normalisierten Format, unabhängig vom umgebungsspezifischen Format der verschiedenen Sicherungsserver 310 bis 320. Tatsächlich ist der Index 210 ein zusätzlicher Index von Indizes, der ein normalisiertes Format verwendet. Da der zusätzliche Index 210 ein normalisiertes Format verwendet, erkennt er die gesamten Infrastrukturbeziehungen auf der gesamten Strecke zu den Daten auf der Speicherressource und kann daher den gleichzeitigen Zugriff auf die Infrastrukturkomponenten bewältigen, um zu gewährleisten, dass Konflikte während einer Migration oder eines anderen Datenmobilitätsvorgangs vermieden werden.
-
Der Index 210 kann unter Verwendung beliebiger geeigneter Mittel erzeugt werden. Vorzugsweise wird der Index 210 unter Verwendung jeweiliger Erfassereinheiten 220 und Importierereinheiten 230 erzeugt, die so gestaltet sind, dass sie die systemeigenen Sicherungssysteme 310, 320, 330, 340 abfragen, vorgegebene Daten aus ihnen extrahieren und die extrahierten Daten in ein normalisiertes Format umsetzen.
-
Wie in den 5 und 7 gezeigt, weist ein System 200 bei einer Ausführungsform der Erfindung die Datenbank oder den Index 210 auf, die bzw. der Informationen über die Konfiguration und den Zustand der in 1 gezeigten Sicherungsserver 310 bis 340 sowie der Importierereinheiten 230 speichert. Die Erfassereinheiten 220 sind als zwischen dem System 220 und der Quelleinheit 260 liegend in 7 gezeigt, können jedoch entweder im System 220 oder in der Quelleinheit 260 enthalten sein. (Tatsächlich können sich die Importierereinheiten 230 auch an beliebigen Stellen der Erfassereinheiten 220 befinden.) Die Datenbank 210 wird durch Ausführen der Erfassereinheiten 220 gefüllt, die die Sicherungsserver 310 bis 340 über die umgebungsspezifischen Schnittstellen der Server wie zum Beispiel Standard-Befehlszeilenschnittstellen der systemeigenen Sicherungsserver 310 bis 340 abfragen. Insbesondere führt jede Erfassereinheit 220, wie in 5 veranschaulicht, eine Reihe von Befehlen (Abfragen) aus und empfängt als Ergebnis dieser Befehle Informationen von den jeweiligen Sicherungsservern 310 bis 340 in dem produktspezifischen Format und in der produktspezifischen Konfiguration. Die Erfassereinheiten 220 erzeugen Auszugsdateien 225, die Konfigurations- und Zustandsinformationen in den produktspezifischen Formaten enthalten.
-
Die Auszugsdateien 225 werden anschließend unter Verwendung von Importierereinheiten 230 verarbeitet, die speziell vorgesehen sind, um vorgegebene Systemkonfigurations- und Statusinformationen zu extrahieren, die als wichtig angesehen werden, um die erforderliche anschließende Analyse zu untermauern.
-
Die extrahierten Konfigurations- und Statusinformationen werden anschließend aus ihrem anbieter- und produktspezifischen Format durch die Importierereinheiten 230 in das normalisierte Format (Datenmodell) umgesetzt, bevor sie in der Datenbank 210 gespeichert werden.
-
Das normalisierte Format (Datenmodell) enthält alle notwendigen Datenpunkte für die anschließende Analyse in einer normalisierten und einheitlichen Weise, unabhängig von den analysierten Produkten der Anbieter und von Eigenheiten oder unterschiedlichen Arten beliebiger Produkte zur Angabe ihrer Konfiguration und ihres Zustands.
-
Die Datenbank 210 kann unter Verwendung beliebiger geeigneter bekannter Mittel gespeichert werden, und der Zugriff auf die Datenbank kann unter Verwendung beliebiger geeigneter bekannter Mittel erfolgen. Zum Beispiel kann sie auf einem Server gespeichert sein, zum Beispiel auf einer Festplatte oder auf einem Array aus Festplatten. Der Datenbankserver oder eine andere Speichereinheit können dieselbe Architektur wie die in 10 gezeigte Architektur aufweisen. Alternativ kann sie über eine Reihe unterschiedlicher Server an derselben oder an geographisch verstreut liegenden Standorten verteilt und gespeichert sein. Die Datenbank kann im RAM 1106 oder im nichtflüchtigen Speicher des Servers gespeichert sein, der die in 10 gezeigte Architektur aufweist.
-
Die Erfassereinheiten 220 können in Hardware, in Software oder in einer Kombination aus Hardware und Software realisiert sein. Vorzugsweise sind sie in Form von Software realisiert, die entweder auf einem optischen oder magnetischen Medium gespeichert ist oder über ein Netzwerk wie zum Beispiel das Internet heruntergeladen wird. Die Erfassereinheiten 220 können auf der Hardware der Datenbank 210 oder auf separater Hardware realisiert sein. Bevorzugter sind sie in einen ROM 1110 geladen und im RAM 1106 der Sicherungsserver 310 bis 340 realisiert. Insbesondere können sie durch den Mikroprozessor 1104 der Sicherungsserver 310 bis 340 zu vorgegebenen Zeiten oder auf einmaliger Grundlage aufgerufen werden. Jede Erfassereinheit 220 ist so ausgelegt, dass sie in Verbindung mit einem bestimmten Sicherungsserver 310 bis 340 arbeitet. Dementsprechend sind unterschiedliche Erfassereinheiten 220 für die unterschiedlichen Sicherungsserver 310 bis 340 vorgesehen, obwohl bei alternativen Ausführungsformen eine einzige Erfassereinheit 220 so ausgelegt sein kann, dass sie in Verbindung mit einem Sicherungsserver oder mehreren Sicherungsservern 310 bis 340 arbeitet. Bei einer weiteren Alternative können zwei oder mehrere Erfassereinheiten 220 für einen Sicherungsserver 310 bis 340 vorgesehen sein.
-
Ebenso können die Importierereinheiten 230 in Hardware, in Software oder in einer Kombination aus Hardware und Software realisiert sein. Vorzugsweise sind sie in Form von Software realisiert, die entweder auf einem optischen oder magnetischen Medium gespeichert ist oder über ein Netzwerk wie zum Beispiel das Internet heruntergeladen wird. Die Importierereinheiten 230 können im ROM 1110 gespeichert und im RAM 1106 der Sicherungsserver 310 bis 340 oder bevorzugter der Hardware realisiert sein, auf der die Datenbank 210 gespeichert ist, oder sie können in separater Hardware realisiert sein. Die Importierereinheiten 230 tauschen über beliebige geeignete Mittel einschließlich einer direkten Verbindung oder über ein Netzwerk wie zum Beispiel das Internet Daten mit den Erfassereinheiten 220 und der Hardware aus, die die Datenbank 210 speichert. Jede Importierereinheit 230 ist so ausgelegt, dass sie in Verbindung mit einer bestimmten Erfassereinheit 220 arbeitet. Dementsprechend sind unterschiedliche Importierereinheiten 230 für unterschiedliche Erfassereinheiten 220 vorgesehen, obwohl bei alternativen Ausführungsformen eine einzige Importierereinheit 230 so ausgelegt sein kann, dass sie in Verbindung mit zwei oder mehreren Erfassereinheiten 220 arbeitet, oder zwei oder mehrere Importierereinheiten 230 können so ausgelegt sein, dass sie in Verbindung mit einer Erfassereinheit 220 arbeiten.
-
Der Indexerzeugungsprozess ist in 6 veranschaulicht. Wie in Schritt 51 gezeigt, werden die Sicherungsserver 310 bis 340 unter Verwendung der Erfassereinheit(en) 220 abgefragt. Insbesondere gibt die Erfassereinheit 220 unter Verwendung der dem jeweiligen Server 310 bis 340 eigenen Standard-Befehlszeilenschnittstelle eine Reihe von Standardbefehlen ein, die durch die Sicherungsserver 310 bis 340 verstanden werden. Als Reaktion auf die Befehle geben die Server 310 bis 340 Konfigurations- und Zustandsinformationen in dem Format aus, das den jeweiligen Sicherungsservern 310 bis 340 eigen ist. Die Erfassereinheit 220 verwendet die ausgegebenen Konfigurations- und Zustandsinformationen, um in Schritt S2 eine oder mehrere Auszugsdateien 225 zu erzeugen, die an die Importierereinheit 230 übergeben und von dieser empfangen (oder abgerufen) werden. Die Konfigurations- und Zustandsinformationen in den Auszugsdateien liegen in den Formaten vor, die von den Sicherungsservern 310 bis 340 verwendet werden.
-
In Schritt S3 extrahiert die Importierereinheit 230 vorgegebene Konfigurations- und Zustandsinformationen aus den Auszugsdateien 225. Die Importierereinheit 230 ist so ausgelegt, dass sie das Format der Auszugsdatei erkennt bzw. mit diesem arbeiten kann und dadurch in der Lage ist, nach den vorgegebenen Informationen in diesem Format zu suchen und diese zu extrahieren. Nach der Extraktion ist die Importierereinheit 230 so ausgelegt, dass sie das Format der extrahierten Daten in Schritt S4 in das normalisierte Format umsetzt, das in der Datenbank 210 der vorliegenden Erfindung verwendet wird.
-
Abschließend speichert die Importierereinheit 230 in Schritt S5 die normalisierten Konfigurations- und Zustandsinformationen in der Datenbank 210.
-
Es sollte klar sein, dass die Schritte S3 und S4 umgekehrt werden können, sodass alle der Daten in den Auszugsdateien 225 zuerst in das normalisierte Format umgesetzt und die vorgegebenen Daten dann extrahiert und gespeichert werden. Im Allgemeinen ist es jedoch effizienter, die Datenextraktion zuerst durchzuführen.
-
Das normalisierte Format ist ein Datenmodell, das so ausgelegt ist, dass bestimmte Konfigurations- und Zustandsdaten der Sicherungsserver 310 bis 314 gespeichert werden. Insbesondere weist das normalisierte Format unabhängig von der Art der Medien und unabhängig von den Produktarten der Sicherungsserver 310 bis 340 Informationen über die auf der Medienebene 400 gespeicherten Daten auf. Zu den im normalisierten Format enthaltenen Informationen gehören alle Informationen, die notwendig sind, um eine Datenanalyse zur Optimierung des Migrationsprozesses durchzuführen.
-
Die Komplexität der Verwendung einer gemeinsam genutzten Speicherinfrastruktur mit separaten Datenindizes wird aus 1 deutlich. Hier ist zu erkennen, dass eine mögliche Kollision sowohl auf der Bibliotheks-, Laufwerks- als auch auf der Medienebene besteht, wenn der Index auf dem Sicherungsserver 310 und der Index auf dem Sicherungsserver 320 Daten anfordern. Ohne die gemeinsame Absprache im Index 210 kann dies erhebliche Auswirkungen auf Datenzugriffsvorgänge haben. Eine manuelle Konfiguration kann versuchen, eine fest codierte Infrastruktur für die Indizes zu schaffen, dies führt jedoch zu mehr Ineffizienz. Der Index 210 der Indizes und die zugehörige Infrastruktur kombinieren die Intelligenz zur Bewältigung dieser Komplexität, wie nachfolgend beschrieben wird.
-
Die Schritte zur Umfangsermittlung, Optimierung und Organisierung werden nun eingehender beschrieben, wobei Bezug auf 7 genommen wird, die ein Datenmigrationssystem 200 gemäß der vorliegenden Erfindung zusammen mit der Quelleinheit 260 und der Zieleinheit 280 zeigt. In dem Migrationssystem 200 sind ein Index bzw. eine Datenbank 210, ein Organisatormodul 212, ein Umfangsermittlermodul 214 und ein Optimierermodul 216 bereitgestellt. Das Migrationssystem 200 kann in einem eigenständigen Server oder in einem anderen Computer bereitgestellt sein, der eine Architektur wie in 10 gezeigt aufweist. Insbesondere kann der Index 210 in einem nichtflüchtigen Speicher 1110 gespeichert sein und durch den Prozessor 1104 nach Bedarf teilweise aufgerufen werden. Jede der Umfangsermittlereinheit 212, Organisatoreinheit 214 und Optimierereinheit 216 kann in Software oder Hardware bereitgestellt sein. Vorzugsweise ist jede als Software bereitgestellt, die in dem nichtflüchtigen Speicher 1110 gespeichert ist und durch die Verarbeitungseinheit 1104 unter Verwendung des RAM 1106 betrieben wird. Das Migrationssystem 220 ist außerdem als eine oder mehrere Importierereinheiten 230 aufweisend gezeigt, obwohl diese wie zuvor beschrieben extern bereitgestellt sein können. Es sollte klar sein, dass beliebige zwei oder mehrere einer Erfassereinheit 220, Importierereinheit 230, Umfangsermittlereinheit 212, Organisatoreinheit 214, Optimierereinheit 216 und Verlagerereinheit 270 (nachfolgend beschrieben) im selben Modul realisiert sein können. Alternativ können beliebige oder alle dieser Module auf Hardware bereitgestellt sein, die sich von der Hardware unterscheidet, auf der der Index 210 bereitgestellt ist. Das bedeutet, dass das Migrationssystem 220 physisch verteilt sein kann.
-
Die Umfangsermittlereinheit 212 führt die Ermittlung des Umfangs der zu migrierenden Daten in Schritt S20 auf der Grundlage einer Reihe von Metadatenrichtlinien durch. Die Metadatenrichtlinien können in der Umfangsermittlereinheit 212 vorprogrammiert, durch einen Benutzer über eine E/A-Einheit 1118 und die E/A-Steuereinheit 1114 manuell oder bevorzugter durch eine Kombination aus beiden eingegeben sein. Durch die Bereitstellung und Verwendung der Umfangsermittlereinheit 212 ist das Verfahren der vorliegenden Erfindung in der Lage, die Umfangsermittlung mit vielen Millionen von einzelnen Objekten durchzuführen. Die Umfangsermittlung ermöglicht die Massenanwendung einer Mobilitätsentscheidung auf der Grundlage einer Anzahl von Schlüsselattributen wie zum Beispiel Eigentümer (Kunde), Gruppeneigentümer, Datentyp, Ablauf usw. Sobald die Schlüsselattribute ausgewählt und die Metadatenrichtlinien abgearbeitet wurden, werden die Datenobjekte als für die Migration infrage kommend markiert, die mit den Metadatenrichtlinien übereinstimmende Attribute aufweisen.
-
In 7 weist der Index 210 Einzelheiten einer Vielzahl von Objekten auf, die durch Kreise dargestellt sind. Die Objekte A über der waagerechten Linie erfüllen keines der Kriterien für die Datenmigration, zum Beispiel, weil sie zu einer Gruppe innerhalb des Unternehmens gehören, dessen Daten gerade nicht migriert werden, weil sie zu einem anderen Unternehmen (Kunde) gehören, sie abgelaufen sind und nicht mehr gesichert zu werden brauchen usw. Im Gegensatz hierzu erfüllen die Objekte B unterhalb der Linie Metadatenrichtlinien und sind als für die Migration infrage kommend markiert. Das Ermitteln des Umfangs kann auch als „Auswählen” bezeichnet werden.
-
Die Organisatoreinheit 214 führt das Organisieren des Schritts S30 der Daten durch, die als für die Migration infrage kommend markiert sind. Dadurch ist es möglich, die Datenmobilität auf der Grundlage eines geplanten Anfangsdatums in separate Phasen zu unterteilen. Die Organisatoreinheit 214 kann außerdem der Eingabe von externen Faktoren folgen, zum Beispiel geschäftlichen Anforderungen, die den Plan des Datenzugriffs vorschreiben. Beispielsweise kann die Organisatoreinheit 214 verwendet werden, um in einer ersten Phase Daten zu migrieren die zur Buchhaltungsabteilung eines Unternehmens gehören, und in einer zweiten Phase die Daten zu migrieren, die zur technischen Abteilung gehören. Daher zeigt 7 die Objekte, die im Umfangermittlungsschritt zur Migration ausgewählt wurden, in zwei Phasen unterteilt. Bei dieser schematischen Darstellung werden Datenobjekte auf der rechten Seite der vertikalen Linie in einer ersten Phase, und Datenobjekte auf der linken Seite werden in einer zweiten Phase migriert. Der Organisationsschritt S30 „überschreibt” den Optimierungsschritt S40, da die Optimierung innerhalb der Phasen durchgeführt wird, die im Organisationsstadium erzeugt werden. Die mathematisch effizienteste Konfiguration von Phasen für das Optimierungsstadium besteht darin, dass lediglich eine konfigurierte Phase vorliegt.
-
Im anschließenden Optimierungsschritt S30 wird durch die Optimierereinheit 216 Logik angewendet, um die Datenmigration von der Quelleinheit 260 auf die Zieleinheit 280 zu beschleunigen. Unter Verwendung des Index 210 ist es möglich, alle Daten zu erkennen, die in den Geltungsbereich jeder Migrationsphase fallen, sowie alle Beziehungen zu der unterlagerten Technologie, die verwendet wird, um auf die Daten zuzugreifen. Insbesondere ist es möglich, im Zusammenhang mit allen Objekten zu verstehen, wo sie in der Medienebene 400 gespeichert sind und wie auf sie zugegriffen wird, unabhängig von der systemeigenen Technologie der Sicherungsserver 310 bis 340, die zur Speicherung der Daten verwendet werden.
-
Um die Dauer jeder Migrationsphase zu verringern, kopiert die Optimierereinheit 216 Datenobjekte anhand einer Reihe von Attributen, um jegliche Konflikte bei der Migration zu beseitigen und die Anzahl physischer Bandvorgänge massiv zu verringern, indem Bänder genutzt werden, sobald sie verfügbar sind. Die Indexgruppierungen von Daten sind unter der Bezeichnung „Migrationsmengen” bekannt. In 7 hat die Optimierereinheit 216 die in Phase 1 zu migrierenden Objekte bislang in zwei Migrationsmengen gruppiert. Jede Migrationsmenge enthält Datenobjekte, die am selben Medienspeicherort bestehen und einen bekannten Infrastruktur-Zugriffspfad aufweisen. Die Migrationsmengen sind so aufgebaut, dass die Migration von zwei oder mehreren Migrationsmengen parallel ausgeführt werden kann, ohne dass eine Infrastrukturkollision entsteht, wodurch die Bänder verwendbar werden, wann immer sie verfügbar sind, um Anhängen-Vorgänge von Bändern zu verringern. Das bedeutet, dass beim Laden eines Mediums alle Daten extrahiert werden können, ohne dass ein erneutes Anhängen des Mediums und ein erneuter Zugriff auf das Medium zu einem späteren Zeitpunkt im Prozess notwendig sind. Somit ist jede Migration unter dem Gesichtspunkt der Verringerung des mit dem Band zusammenhängenden Aufwands optimiert, und die Migrationsmengen können zusammen ausgeführt werden, um die Gesamtnutzung zu steigern und dadurch die Gesamtdauer des Datenzugriffs während der Migration zu verringern.
-
Da der Index 210 in einem normalisierten Format vorliegt, kann die Optimierereinheit 216 bei verschiedenen Arten von Medien und verschiedenen Arten der Medienverwaltung der Sicherungssoftware verwendet werden, die die jeweiligen Datenindizes der verschiedenen Sicherungsserver 310 bis 340 verwaltet.
-
Nach dem Optimierungsschritt S40 speichert der Zentralindex 210 tatsächlich alle erforderlichen Datenverlagerungsvorgänge, obwohl die Datenverlagerungsvorgänge auch in einer separaten Datenbank gespeichert werden können. Diese Datenverlagerungsvorgänge werden verwendet, um mithilfe beliebiger geeigneter Mittel die nachfolgende Migration der Daten in Schritt S50 von der Quelleinheit 260 auf die Zieleinheit 280 zu steuern. Vorzugsweise wird eine Datenverlagerereinheit 270 verwendet, wie in 7 gezeigt.
-
Vorzugsweise sind die Datenverlagerungsvorgänge mathematisch erzeugt und verarbeitet worden, vorzugsweise mit einer Anzahl von Attributen wie zum Beispiel Quellspeicherort, Ziel, Plattformtyp und Datentyp. Diese Attribute sind für jeden Migrationsvorgang gekennzeichnet, d. h., es gibt Metadaten, die jede Datenoperation steuern. Die Migrationsvorgänge werden dann als infrage kommende Vorgänge im Zentralindex eingetragen und markieren wirksam jeden Migrationsvorgang als Teil der Arbeit, die durch die Datenverlagerereinheit 270 ausgeführt werden muss.
-
Anders ausgedrückt speichert der Zentralindex 210 ein Array aus Migrationsvorgängen in einem normalisierten Datenmodell. Die Datenverlagerereinheit 270 wandelt Migrationsvorgänge in eine entsprechende Quell- und Zielsprache um. Eine separate Datenverlagerereinheit 270 kann für jede Kombination aus Quellsprache und Zielsprache bereitgestellt sein. Zum Beispiel kann die Datenverlagerereinheit 270 auf der Grundlage eines Migrationsvorgangs im Index 210 eine Anforderung erzeugen, um Daten in der Sprache des Sicherungsserver 310 in der Quelleinheit abzurufen und die Anforderung an den Zielserver 310 senden, mit dem die Datenverlagerereinheit 270 verbunden ist. Die Datenverlagerereinheit 270 ruft dadurch das betreffende Datenobjekt vom Sicherungsserver 310 ab. Es stellt anschließend eine beliebige notwendige Umwandlung in die Sprache des Zielservers in der Zieleinheit 280 bereit und speichert unter Verwendung des Zielservers in der Quelleinheit das Datenobjekt am zugewiesenen Ort in der Medienebene der Zieleinheit 280.
-
Die Verlagerereinheit 270 ist in 7 als vom Migrationssystem getrennt gezeigt, kann jedoch ein Teil des Systems und auf derselben Hardware realisiert oder physisch verknüpfte Hardware am selben Ort sein. Alternativ kann sie auf separater Hardware an einem entfernten Ort (oder am selben Ort wie eine oder beide der Quell- und Zieleinheit 260, 280, aber entfernt vom Migrationssystem 200) bereitgestellt und mit dem Migrationssystem zum Beispiel über das Internet vernetzt sein.
-
Dementsprechend enthält der neue Index 210 im System und Verfahren der vorliegenden Erfindung alle Beziehungen vom Datenobjekt über die verfügbaren Zugriffspfade einschließlich bis hin zum anfordernden Index. Diese verfügbaren Datenpfade ermöglichen es, den Entscheidungsfindungsprozess durch die Optimierereinheit 216 so durchzuführen, dass jede Migrationsmenge nur im Rahmen der Einschränkung der verfügbaren Datenpfade für den Zugriff auf die einzelnen Medienelemente aufgebaut wird. Die angeforderten Daten können außerdem wieder aufgrund der Kenntnis des Ortes des Datenmediums und der verfügbaren Datenpfade, die zur Bedienung dieses Zugriffs zur Verfügung stehen, parallelisiert werden. Das Ausführen der Optimierereinheit 216 über die größtmöglichen Phasen, die die Optimierereinheit 214 erzeugt hat, ermöglicht im Rahmen der Einschränkungen der gemeinsam genutzten Infrastruktur (d. h. der Medienebene 400) die Optimierung so vieler verfügbarer Datenpfade wie möglich. Diese verfügbaren Datenpfade werden anschließend verwendet, um die Bänder bestmöglich zu nutzen, wenn diese verfügbar sind, um die Dauer des Vorgangs zu verringern.
-
Da die Optimierereinheit 216 die Positionen der Daten auf dem physischen Band Medium 430 erkennt, werden aufeinanderfolgende Objekte, die in Bezug auf ihren Speicherort auf dem physischen Bandmedium 430 migriert werden sollen, in der Migrationsphase aufeinanderfolgend angeordnet. Das bedeutet, dass, nachdem ein erstes Objekt zwecks Zugriff und Migration angefordert wurde, wenn das zweite Objekt zwecks Zugriff angefordert wird, das Bandmedium im Gegensatz zur Herabstufung in den Nearline-Zustand bereits angehängt und online ist. Dadurch werden dieses Mal Anhängen-Vorgänge vermieden, wenn ein neues Objekt über die Standard-Indizes angefordert wird. Eigentlich stellt die Optimierereinheit 216 eine Vorab-Zugriffsfunktion bereit, um zu gewährleisten, dass die Zahl der physischen Operationen zur Bedienung von Datenzugriffsanforderungen so gering wie möglich gehalten wird.
-
Diese beiden Funktionen der Verwendung so vieler Datenpfade wie möglich und Anordnung von Objekten in der Migrationsphase auf der Grundlage ihres physischen Speicherorts auf dem Medium gewährleisten, dass viele Datenströme ohne Medien- oder Infrastrukturkonflikte ausgeführt werden können.
-
Durch die Hinzufügung des zusätzlichen Index 210, der Informationen über Komponenten von Datenobjektspeicherorten und Infrastruktur bereitstellt, ist es möglich, die Höhe des Medienaufwands für alle Daten im Zugriffsbereich erheblich zu verringern. Das bedeutet außerdem, dass im Gegensatz zum sequenziellen Charakter des herkömmlichen Modells gleichzeitige Vorgänge möglich sind. Dementsprechend zeigt 8 die Band-anhängen-Vorgänge, die erforderlich sind, um die Daten auf den drei in 2 gezeigten Medien zu migrieren. Ein Vergleich dieser beiden Figuren zeigt dieselben Datenobjekte an denselben physischen Orten auf den drei Medien. Es soll noch einmal erwähnt werden, dass die unterschiedlichen Schattierungen die Reihenfolge veranschaulichen, in der auf Gruppen von Datenobjekten auf der Quelleinheit 260 zwecks Migration auf die Zieleinheit 280 zugegriffen wird. Jedoch entspricht die Reihenfolge diesmal nicht den Indizes der jeweiligen Sicherungsserver 310, 320, 330, 3340, sondern vielmehr der Reihenfolge der Objekte in den Migrationsmengen. Deshalb werden in der Migrationsmenge 1 das Medium 1 und das Medium 2 gleichzeitig angehängt, und die Datenobjekte auf ihnen werden gleichzeitig auf die Zieleinheit 280 übertragen.
-
In diesem Fall wird jedes Medium nur einmal während des Migrationsvorgangs angehängt, was zu einer Gesamtzahl von lediglich drei Anhängen-Vorgängen führt, um alle Daten im Migrationsvorgang einer Phase zu übertragen.
-
Dementsprechend ist anhand dieses Beispiels erkennbar, wie die vorliegende Erfindung die Datenmigration vereinfacht. Zu bedenken ist jedoch ferner, dass die Anordnung von Datenobjekten in Migrationsmengen, in denen keine Konflikte zwischen Datenzugriffspfaden bestehen, blockierte Prozesse vermeidet und dadurch die zur Migration der Daten benötigte Zeit verringert wird.
-
Bei großen Datenmengen in komplexen Umgebungen stellt die vorliegende Erfindung eine enorme Verbesserung der gegenwärtigen, nicht intelligenten Technologie dar, indem ein zusätzlicher Index 210 und eine Bearbeitung von Kollisionen bei großen Anforderungen unter Verwendung der Umfangsermittlungseinheit 212, Organisatoreinheit 214 und Optimierereinheit 216 hinzugefügt werden, und sie stellt eine Verbesserung der Effizienz beim Lesen gleichartiger Objekte von Medienarten mit sequenziellem Zugriff bereit. Daher vereinfacht die vorliegende Erfindung massiv den Gesamtumfang der Datenverlagerungen, verbessert die Leistungsfähigkeit enorm und verringert ganz erheblich sowohl die Migrationsdauer als auch den betriebsbedingten Verschleiß bei physischen Komponenten.
-
Es ist wichtig, sich zu vergegenwärtigen, dass dieses Konzept auf beliebige Anforderungen angewendet werden kann, bei denen eine große Anzahl von Objekten und große Objekte verwaltet und mobilisiert werden müssen. Daher ist die vorliegende Erfindung nicht nur zur Anwendung auf die Migration von Daten zwischen alten und neuen Sicherungsservern und Systemen in einer Datenschutzebene 260 geeignet, sondern auch zur Migration von Daten von einer primären Quellspeicherebene 250 auf eine primäre Zielspeicherebene oder sogar von der Anwendungsebene 720 auf die Rohdatenebene 710 über dieser. Dies ist in 9 schematisch veranschaulicht durch die Bereitstellung von Erfassereinheiten 220 und Importierereinheiten 230, um einen Index 210 für eine oder mehrere der unterschiedlichen Ebenen zu erzeugen.
-
Die vorliegende Erfindung ist außerdem auf die Beschleunigung von Zugriffen auf eine herkömmliche Band-Infrastruktur; auf die Beschleunigung der Mobilität und des Zugriffs auf große Daten; und auf den Vorab-Zugriff und die Beschleunigung des Datenzugriffs auf Nearline-Technologie anwendbar. Daher sind die Begriffe „migrieren”, „Migration” und ähnliche Begriffe in einem breiten Sinne so zu interpretieren, dass sie beliebige Formen der Übertragung von Daten einschließen und nicht auf die Migration der Art begrenzt sind, die auftritt, wenn Unternehmen oder Einzelpersonen Computersysteme auswechseln oder auf neue Systeme umsteigen, oder wenn Systeme zusammengeführt werden (zum Beispiel, wenn die Unternehmen, die die Systeme nutzen, bei einem Zusammenschluss oder einer Übernahme zusammengeführt werden). Insofern muss die Quelleinheit kein Sicherungssystem sein, sondern sie kann ein System mit einer primären Speicherebene 250 sein, das separate Systeme aufweist, die die Infrastruktur gemeinsam nutzen, und die Zieleinheit kann ein anderer Computer sein, der oberhalb davon angeordnet und mit der primären Speicherebene 250 vernetzt ist.
-
Die vorstehende Beschreibung trägt lediglich beispielhaften Charakter, und für den Fachmann ist klar, dass Abänderungen vorgenommen werden können, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen.