DE112013006646B4 - Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation - Google Patents

Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation Download PDF

Info

Publication number
DE112013006646B4
DE112013006646B4 DE112013006646.7T DE112013006646T DE112013006646B4 DE 112013006646 B4 DE112013006646 B4 DE 112013006646B4 DE 112013006646 T DE112013006646 T DE 112013006646T DE 112013006646 B4 DE112013006646 B4 DE 112013006646B4
Authority
DE
Germany
Prior art keywords
buffer area
calculated
identified
storage system
disk groups
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.)
Active
Application number
DE112013006646.7T
Other languages
English (en)
Other versions
DE112013006646T5 (de
Inventor
Randall Murrish
Steven Walker
Oswald Luraghi
Christopher Liu
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE112013006646T5 publication Critical patent/DE112013006646T5/de
Application granted granted Critical
Publication of DE112013006646B4 publication Critical patent/DE112013006646B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • 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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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
    • G06F11/2071Error 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 using a plurality of controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Abstract

Computer mit einem Speicher und einer Steuereinheit, wobei die Steuereinheit betreibbar ist, um:eine oder mehrere virtuelle Maschinen einer Vielzahl von virtuellen Maschinen zu identifizieren, die in einem ersten Ablagesystem geschützt werden sollen;ein oder mehrere logische Volumina einer Vielzahl von logischen Volumina im ersten Ablagesystem zu identifizieren, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren virtuellen Maschinen verwendet werden, auf der Basis von ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina, wobei die ersten Beziehungsinformationen durch die Steuereinheit gemanagt werden;eine zu verwendende Arbeitslast für die identifizierten einen oder mehreren logischen Volumina auf der Basis der Informationen der überwachten Arbeitslast für jedes der identifizierten einen oder mehreren logischen Volumina zu berechnen, wobei die Informationen der überwachten Arbeitslast durch die Steuereinheit gemanagt werden; undeine Größe eines Pufferbereichs im ersten Ablagesystem zu berechnen, der zum vorübergehenden Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zu einem zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten Arbeitslast der identifizierten einen oder mehreren logischen Volumina, wobei jedes der einen oder mehreren entfernten Kopiepaare durch ein logisches Volumen der identifizierten einen oder mehreren logischen Volumina im ersten Ablagesystem als primäres logisches Volumen und ein anderes logisches Volumen im zweiten Ablagesystem als sekundäres logisches Volumen gebildet wird, so dass der Pufferbereich für die entfernte Kopierprozedur der identifizierten einen oder mehreren logischen Volumina mit einer Größe gleich oder größer als die berechnete Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren virtuellen Maschinen zu managen, wobeidas erste Ablagesystem einen Overhead und eine Ausfalldauer aufweist; und wobeidie Größe des Pufferbereichs als berechnete Arbeitslast multipliziert mit der Ausfalldauer multipliziert mit (1+Overhead) berechnet wird.

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf einen Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation.
  • Die Replikation von Volumina in einer virtualisierten Rechenzentrumsumgebung für den Zweck der Datenreplikation ist ein komplexer und fehleranfälliger Prozess. Er erfordert eine ausgiebige Kenntnis der Ablageanordnungstechnologie sowie komplexe Berechnungen, um den Replikationspuffer zu dimensionieren, der erforderlich ist, um die virtualisierte Umgebung zu replizieren. Der Benutzer muss die virtualisierte Umgebung manuell auf die physikalische Ablageanordnungsumgebung abbilden, um die Volumina zu bestimmen, die eine Replikation erfordern. Sobald die Volumina identifiziert sind, sind komplexe Berechnungen mit volumenspezifischen Metriken erforderlich, um den Replikationspuffer zu dimensionieren, der erforderlich ist, um die Arbeitslast geeignet zu einer entfernten Stelle zu replizieren. Sobald die erforderliche Replikationspuffergröße berechnet ist, wird der Replikationspuffer erzeugt und wird gepaarten Volumina zugeordnet, um die Replikation einzuleiten.
  • US 2012 / 0 239 730 A1 zeigt ein System und Verfahren zum Bereitstellen einer Middleware-Maschine oder einer ähnlichen Plattform. Das System umfasst eine Hochleistungsrechenhardware, die einen oder mehrere Prozessoren, einen Hochleistungsspeicher und ein redundantes InfiniBand- und Ethernet-Netzwerk umfasst sowie eine Middleware-Umgebung, die darauf arbeitet und eine oder mehrere Anwendungsserverinstanzen enthält.
  • US 2012 / 0 131 287 A1 zeigt eine Speichersteuerungsvorrichtung, die Daten basierend auf einem Befehl von einem Host-Computer ein- und ausgibt. Die Speichersteuerungsvorrichtung umfasst mehrere logische Datenträger, die von dem Host-Computer verwendet werden; und eine Steuerung zum Steuern der jeweiligen logischen Datenträger. Die Steuerung umfasst wiederum einen Mikroprozessor und einen Speicher zum Speichern eines vorgeschriebenen Computerprogramms, das durch den Mikroprozessor ausgeführt wird. Bei Empfangen eines Befehls zum Ändern einer Größe eines vorgeschriebenen logischen Volumens ändert der Mikroprozessor basierend auf einem Kopiepaarstatus, der sich auf das vorgeschriebene logische Volumen bezieht, die Größe eines Änderungsziel-Logikvolumens auf einen vorgeschriebenen Wert, der in dem Änderungsbefehl spezifiziert ist.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der Erfindung eine automatische Identifikation, Berechnung, Konfiguration und Erzeugung einer Replikation von einem virtualisierten Rechenzentrum zu einem anderen virtualisierten Rechenzentrum zu schaffen. Zur Lösung der Aufgabe wird der automatisierte Prozess in drei unterschiedliche Phasen aufgeteilt, die umfassen:
    1. 1. Identifikation und Abbildung von virtuellen Maschinen auf physikalische Volumina;
    2. 2. Berechnung der erforderlichen Replikationspuffergröße, um Replikationsanforderungen zu erfüllen; und
    3. 3. Erzeugung und Aufzeichnung der Zuordnung zwischen dem Replikationspuffer und der Volumenreplikation und zwischen den lokalen und entfernten virtuellen Rechenzentren.
  • Jede Phase wird in separate Unterprozesse aufgeteilt, die entweder den Erzeugungsprozess eines neuen Replikationspuffers oder den Modifikationsprozess eines existierenden Replikationspuffers behandeln.
  • Zwei Ausführungsformen werden beschrieben. Sie unterscheiden sich nur in der Identifikationsphase. Die erste Ausführungsform behält die vom Benutzer definierte Konfiguration von existierenden physikalischen Volumina bei. Die zweite Ausführungsform schafft zusätzliche Identifikations- und Konfigurationsschritte, um den Bereich von replizierten Volumina auf nur diejenigen, die ausgewählt werden, zu verschmälern. Daten werden in neue kombinierte Volumina mit gleicher Leistung verlagert und nur diese Volumina werden in die Replikationskonfiguration aufgenommen, was folglich die Replikationslast zwischen virtuellen Rechenzentren verringert.
  • Das System, das den automatisierten Prozess durchführt, hat die Fähigkeit, sowohl die virtuellen als auch physikalischen Umgebungen, die im virtuellen Rechenzentrum zu finden sind, zu inventarisieren, und die virtuellen Ressourcen wie z. B. Datenablagen auf physikalische Ressourcen wie z. B. logische Volumina abzubilden. Diese Inventarisierungs- und Abbildungsfähigkeit ermöglicht, dass das System die erforderliche Erzeugung und Verlagerung von virtuellen und physikalischen Ressourcen durchführt, die in der ausführlichen Beschreibung umrissen werden. Diese Erfindung kann verwendet werden, um Volumina zu identifizieren, die eine Replikation erfordern, die Replikationspuffergröße zu berechnen, die erforderlich ist, um die replizierte Last zu handhaben, und den Replikationspuffer zu erzeugen.
  • Gemäß einem Aspekt der vorliegenden Erfindung umfasst ein Computer einen Speicher und eine Steuereinheit. Die Steuereinheit ist betreibbar, um: eine oder mehrere virtuelle Maschinen einer Vielzahl von virtuellen Maschinen, die in einem ersten Ablagesystem geschützt werden sollen, zu identifizieren; ein oder mehrere logische Volumina einer Vielzahl von logischen Volumina im ersten Ablagesystem zu identifizieren, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren virtuellen Maschinen verwendet werden, auf der Basis von ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina, wobei die ersten Beziehungsinformationen durch die Steuereinheit gemanagt werden; eine für die identifizierten einen oder mehreren logischen Volumina zu verwendende Arbeitslast auf der Basis von Informationen der überwachten Arbeitslast für jedes der identifizierten einen oder mehreren logischen Volumina zu berechnen, wobei die Informationen der überwachten Arbeitslast von der Steuereinheit gemangt werden; und eine Größe eines Pufferbereichs im ersten Ablagesystem zu berechnen, der zum vorübergehenden Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zu einem zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten Arbeitslast der identifizierten einen oder mehreren logischen Volumina, wobei jedes der einen oder mehreren entfernten Kopiepaare durch ein logisches Volumen der identifizierten einen oder mehreren logischen Volumina im ersten Ablagesystem als primäres logisches Volumen und ein anderes logisches Volumen im zweiten Ablagesystem als sekundäres logisches Volumen gebildet wird, so dass der Pufferbreich für die entfernte Kopierprozedur der identifizierten einen oder mehreren logischen Volumina mit einer Größe gleich oder größer als die berechnete Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehrere virtuellen Maschinen zu managen. Das erste Ablagesystem weist einen Overhead und eine Ausfalldauer auf. Die Größe des Pufferbereichs wird als berechnete Arbeitslast multipliziert mit der Ausfalldauer multipliziert mit (1+Overhead) berechnet.
  • In einigen Ausführungsformen ist die Steuereinheit betreibbar, um (i) einen neuen Pufferbereich im ersten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu erzeugen, oder (ii) einen existierenden Pufferbereich im ersten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu modifizieren. Die Steuereinheit ist betreibbar, um (i) einen neuen Pufferbereich im zweiten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu erzeugen, oder (ii) einen existierenden Pufferbreich im zweiten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu modifizieren.
  • In spezifischen Ausführungsformen weist das erste Ablagesystem eine Vielzahl von Plattengruppen mit verwendeten Plattengruppen und nicht verwendeten Plattengruppen auf. Jede nicht verwendete Plattengruppe weist eine Plattengruppenanordnung mit einer Plattengruppengröße und einem Plattengruppendurchsatz auf. Die Steuereinheit ist betreibbar, um aus den nicht verwendeten Plattengruppen eine oder mehrere Plattengruppen auszuwählen, die durch den Pufferbereich im ersten Ablagesystem verwendet werden sollen, wobei die Auswahl von einer oder mehreren Plattengruppen umfasst: Gliedern der nicht verwendeten Plattengruppen nach Plattengruppenanordnung; Identifizieren einer Liste von Kandidaten-Plattengruppen für jede Plattengruppenanordnung, die einen gesamten Plattengruppendurchsatz aufweisen, der größer ist als die berechnete Arbeitslast, und die eine gesamte Plattengruppengröße aufweisen, die größer ist als die berechnete Größe des Pufferbereichs, um eine oder mehrere Listen von Kandidaten-Plattengruppen zu erzeugen; Auswählen aus den identifizierten einen oder mehreren Listen von Kandidaten-Plattengruppen der Liste von Kandidaten-Plattengruppen mit dem höchsten gesamten Plattengruppendurchsatz; und Bestimmen einer Anzahl von erforderlichen Plattengruppen in der ausgewählten Liste von Kandidaten-Plattengruppen für den Pufferbereich durch (i) Dividieren der berechneten Arbeitslast durch den gesamten Plattengruppendurchsatz für die ausgewählte Liste und Aufrunden auf die nächste ganze Zahl, um einen ersten berechneten Wert zu erhalten, (ii) Dividieren der berechneten Größe des Pufferbereichs durch die Plattengruppengröße der ausgewählten Liste und Aufrunden auf die nächste ganze Zahl, um einen zweiten berechneten Wert zu erhalten, und (iii) Auswählen eines Maximums des ersten berechneten Werts und des zweiten berechneten Werts als Anzahl von erforderlichen Plattengruppen in der ausgewählten Liste von Kandidaten-Plattengruppen für den Pufferbereich.
  • In einigen Ausführungsformen dient die berechnete Größe des Pufferbereichs zum Modifizieren eines existierenden Pufferbereichs, der eine Liste von zu schützenden existierenden einen oder mehreren virtuellen Maschinen aufweist. Die Steuereinheit ist betreibbar, um aus der Liste von existierenden einen oder mehreren virtuellen Maschinen zu identifizieren, welche der existierenden einen oder mehreren virtuellen Maschinen den Schutz beibehält; und irgendeine oder mehrere neu zu schützende virtuelle Maschinen zu identifizieren. Das eine oder die mehreren logischen Volumina werden identifiziert, die von den identifizierten einen oder mehreren virtuellen Maschinen, um den Schutz beizubehalten, und den identifizierten einen oder mehreren neu zu schützenden virtuellen Maschinen verwendet werden. Das erste Ablagesystem weist eine Vielzahl von Plattengruppen auf. Die berechnete Größe des Pufferbereichs dient zum Auswählen eines existierenden Pufferbereichs, der eine Größe aufweist, die größer ist als die berechnete Größe des Pufferbereichs, und der einen gesamten Durchsatz aufweist, der größer ist als die berechnete Arbeitslast, wobei der gesamte Durchsatz des existierenden Pufferbereichs gleich einem Produkt eines Plattengruppendurchsatzes von einer oder mehreren Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, und einer Anzahl der einen oder mehreren Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, ist.
  • In spezifischen Ausführungsformen weist das erste Ablagesystem eine Vielzahl von Plattengruppen mit verwendeten Plattengruppen und nicht verwendeten Plattengruppen auf. Die berechnete Größe des Pufferbereichs dient zum Modifizieren eines existierenden Pufferbereichs, (i) der eine Größe aufweist, die nicht größer ist als die berechnete Größe des Pufferbereichs, oder (ii) der einen gesamten Durchsatz aufweist, der nicht größer ist als die berechnete Arbeitslast, wobei der gesamte Durchsatz des existierenden Pufferbereichs gleich einem Produkt eines Plattengruppendurchsatzes von einer oder mehreren existierenden Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, und einer Anzahl der einen oder mehreren existierenden Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, ist. Die Steuereinheit ist betreibbar, um aus den nicht verwendeten Plattengruppen eine oder mehrere Plattengruppen auszuwählen, die zum existierenden Pufferbereich im ersten Ablagesystem hinzugefügt werden sollen.
  • In einigen Ausführungsformen weist jede nicht verwendete Plattengruppe eine Plattengruppenanordnung mit einer Plattengruppengröße und einem Plattengruppendurchsatz auf. Die eine oder mehreren existierenden Plattengruppen im existierenden Pufferbereich weisen eine existierende Plattengruppenanordnung auf. Das Auswählen von einer oder mehreren Plattengruppen, die zum existierenden Pufferbereich im ersten Ablagesystem hinzugefügt werden sollen, umfasst: Gliedern der nicht verwendeten Plattengruppen nach Plattengruppenanordnung; Identifizieren von den nicht verwendeten Plattengruppen, die dieselbe Plattengruppenanordnung aufweisen wie die existierende Plattengruppenanordnung, einer Liste von Kandidaten-Plattengruppen, die, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, einen gesamten Plattengruppendurchsatz aufweisen, der größer ist als die berechnete Arbeitslast, und die eine gesamte Plattengruppengröße aufweisen, die größer ist als die berechnete Größe des Pufferbereichs; und Bestimmen einer Anzahl von erforderlichen Plattengruppen in der identifizierten Liste von Kandidaten-Plattengruppen, die zum existierenden Pufferbereich hinzugefügt werden sollen, durch (i) Dividieren der berechneten Arbeitslast durch den gesamten Plattengruppendurchsatz für die identifizierte Liste, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, und Aufrunden auf die nächste ganze Zahl, um einen ersten berechneten Wert zu erhalten, (ii) Dividieren der berechneten Größe des Pufferbereichs durch die Plattengruppengröße der identifizierten Liste, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, und Aufrunden auf die nächste ganze Zahl, um einen zweiten berechneten Wert zu erhalten, und (iii) Auswählen eines Maximums des ersten berechneten Werts und des zweiten berechneten Werts als Anzahl von erforderlichen Plattengruppen in der identifizierten Liste von Kandidaten-Plattengruppen, die zum existierenden Pufferbereich hinzugefügt werden sollen.
  • In spezifischen Ausführungsformen weist das erste Ablagesystem eine Vielzahl von Plattengruppen auf. Eine Vielzahl von logischen Volumina wird im ersten Ablagesystem auf der Basis von ersten Beziehungsinformationen identifiziert. Die Steuereinheit ist betreibbar, um: Plattengruppen, die die identifizierten logischen Volumina enthalten, im ersten Ablagesystem zu identifizieren; eine Gesamtmenge an Platz zur Bereitstellung für jede der identifizierten Plattengruppen zu berechnen, um alle Daten der identifizierten logischen Volumina im ersten Ablagesystem zu enthalten; ein einzelnes logisches Volumen auf der Basis der berechneten Gesamtmenge an Platz zur Bereitstellung für jede der identifizierten Plattengruppen zu erzeugen; und die Arbeitslast und die Größe des Pufferbereichs unter Verwendung des erzeugten einzelnen logischen Volumens anstelle der identifizierten logischen Volumina zu berechnen.
  • In einigen Ausführungsformen ist die Steuereinheit betreibbar, um: einen Pufferbereich im ersten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu erzeugen; die erste Beziehung zwischen der Vielzahl von virtuellen Maschinen der Vielzahl von logischen Volumina zu aktualisieren; eine oder mehrere neue virtuelle Maschinen der Vielzahl von zu schützenden virtuellen Maschinen im ersten Ablagesystem identifizieren, wobei die eine oder die mehreren neuen virtuellen Maschinen von den vorher identifizierten zu schützenden einen oder mehreren virtuellen Maschinen verschieden sind; eine Vielzahl von neuen logischen Volumina der Vielzahl von logischen Volumina im ersten Ablagesystem zu identifizieren, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren neuen virtuellen Maschinen verwendet werden, auf der Basis der ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina; Plattengruppen, die die identifizierten neuen logischen Volumina enthalten, im ersten Ablagesystem zu identifizieren; eine Gesamtmenge an neuem Platz zur Bereitstellung für jede der identifizierten Plattengruppen zu berechnen, um alle Daten der identifizierten neuen logischen Volumina im ersten Ablagesystem zu enthalten; ein neues einzelnes logisches Volumen auf der Basis der berechneten Gesamtmenge an neuem Platz zur Bereitstellung für jede der identifizieren Plattengruppen durch Modifizieren des vorher erzeugten einzelnen logischen Volumens zu erzeugen, was das Entfernen von irgendwelchen virtuellen Maschinen, die ungeschützt sein müssen, und das Hinzufügen von irgendwelchen virtuellen Maschinen, die neu geschützt werden müssen, auf der Basis der identifizierten zu schützenden einen oder mehreren neuen virtuellen Maschinen umfasst; eine neue Arbeitslast, die für das neue einzelne logische Volumen verwendet werden soll, auf der Basis von Informationen der überwachten Arbeitslast für das neue einzelne logische Volumen zu berechnen; eine neue Größe eines neuen Pufferbereichs im ersten Ablagesystem zu berechnen, der zum vorübergehenden Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zum zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten neuen Arbeitslast des neuen einzelnen logischen Volumens, so dass der neue Pufferbereich für die entfernte Kopierprozedur des neuen einzelnen logischen Volumens mir einer Größe gleich oder größer als die berechnete neue Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren neuen virtuellen Maschinen zu managen; und den vorher erzeugten Pufferbereich zu modifizieren, um den neuen Pufferbereich zu erzeugen, auf der Basis der berechneten neuen Arbeitslast und der berechneten neuen Größe des neuen Pufferbereichs.
  • Ein weiterer Aspekt der Erfindung ist auf ein System mit einem ersten Ablagesystem, einem zweiten Ablagesystem und einem Managementcomputer gerichtet. Der Managementcomputer weist einen Speicher und eine Steuereinheit auf. Die Steuereinheit ist betreibbar, um: eine oder mehrere virtuelle Maschinen einer Vielzahl von virtuellen Maschinen, die im ersten Ablagesystem geschützt werden sollen, zu identifizieren; eines oder mehrere logische Volumina einer Vielzahl von logischen Volumina im ersten Ablagesystem zu identifizieren, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren virtuellen Maschinen verwendet werden, auf der Basis von ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina, wobei die ersten Beziehungsinformationen von der Steuereinheit gemanagt werden; eine für die identifizierten einen oder mehreren logischen Volumina zu verwendende Arbeitslast auf der Basis von Informationen der überwachten Arbeitslast für jedes der identifizierten einen oder mehreren logischen Volumina zu berechnen, wobei die Informationen der überwachten Arbeitslast durch die Steuereinheit gemanagt werden; und eine Größe eines Pufferbereichs im ersten Ablagesystem zu berechnen, der zum vorübergehenden Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zum zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten Arbeitslast der identifizierten einen oder mehreren logischen Volumina, wobei jedes des einen oder der mehreren entfernten Kopiepaare durch ein logisches Volumen der identifizierten einen oder mehreren logischen Volumina im ersten Ablagesystem als primäres logisches Volumen und ein anderes logischen Volumen im zweiten Ablagesystem als sekundäres logisches Volumen gebildet wird, so dass der Pufferbereich für die entfernte Kopierprozedur der identifizierten einen oder mehreren logischen Volumina mit einer Größe gleich oder größer als die berechnete Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren virtuellen Maschinen zu managen. Das erste Ablagesystem weist einen Overhead und eine Ausfalldauer auf. Die Grö-ße des Pufferbereichs wird als berechnete Arbeitslast multipliziert mit der Ausfalldauer multipliziert mit (1+Overhead) berechnet.
  • Ein weiterer Aspekt dieser Erfindung ist auf ein computerlesbares Ablagemedium gerichtet, das eine Vielzahl von Befehlen zum Steuern einer Datenprozessor-Management-Replikation speichert. Die Vielzahl von Befehlen umfassen: Befehle, die bewirken, dass der Datenprozessor eine oder mehrere virtuelle Maschinen einer Vielzahl von virtuellen Maschinen, die in einem ersten Ablagesystem geschützt werden sollen, identifiziert; Befehle, die bewirken, dass der Datenprozessor ein oder mehrere logische Volumina einer Vielzahl von logischen Volumina im ersten Ablagesystem identifiziert, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren virtuellen Maschinen verwendet werden, auf der Basis von ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina, wobei die ersten Beziehungsinformationen von der Steuereinheit gemanagt werden; Befehle, die bewirken, dass der Datenprozessor eine zu verwendende Arbeitslast für die identifizierten einen oder mehreren logischen Volumina auf der Basis von Informationen der überwachten Arbeitslast für jedes der identifizierten einen oder mehreren logischen Volumina berechnet, wobei die Informationen der überwachten Arbeitslast von der Steuereinheit gemanagt werden; und Befehle, die bewirken, dass der Datenprozessor eine Größe eines Pufferbereichs im ersten Ablagesystem berechnet, der zum vorübergehenden Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zu einem zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten Arbeitslast der identifizierten einen oder mehreren logischen Volumina, wobei jedes der einen oder mehreren entfernten Kopiepaare durch ein logisches Volumen der identifizierten einen oder mehreren logischen Volumina im ersten Ablagesystem als primäres logisches Volumen und ein anderes logisches Volumen im zweiten Ablagesystem als sekundäres logisches Volumen gebildet wird, so dass der Pufferbereich für die entfernte Kopierprozedur der identifizierten einen oder mehreren logischen Volumina mit einer Größe gleich oder größer als die berechnete Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren virtuellen Maschinen zu managen. Das erste Ablagesystem weist einen Overhead und eine Ausfalldauer auf. Die Grö-ße des Pufferbereichs wird als berechnete Arbeitslast multipliziert mit der Ausfalldauer multipliziert mit (1+Overhead) berechnet.
  • Figurenliste
    • 1 stellt ein Beispiel einer Hardware-Konfiguration eines Systems, in dem das Verfahren und das Gerät der Erfindung angewendet werden können, gemäß einer ersten Ausführungsform der Erfindung dar.
    • 2 stellt ein Beispiel eines Speichers im Managementcomputer von 1 dar.
    • 3 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden virtuellen Maschinen bei der Erzeugung eines neuen Replikationspuffers gemäß der ersten Ausführungsform der Erfindung zeigt.
    • 4 zeigt ein Beispiel einer VM-Replikationslistentabelle (Replikationslistentabelle von virtuellen Maschinen).
    • 5 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden logischen Volumina auf der Basis der virtuellen Maschinen, die im Prozess von 3 identifiziert werden, gemäß der ersten Ausführungsform darstellt.
    • 6 zeigt ein Beispiel einer VM-Volumen-Abbildungstabelle für die Erzeugung eines neuen Replikationspuffers.
    • 7 zeigt ein Beispiel einer Replikationslistentabelle von logischen Volumina für die Erzeugung eines neuen Replikationspuffers gemäß der ersten Ausführungsform.
    • 8 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden virtuellen Maschinen bei der Modifikation eines existierenden Replikationspuffers gemäß der ersten Ausführungsform darstellt.
    • 9 zeigt ein Beispiel einer VM-Schutz-Flag-Tabelle.
    • 10 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden logischen Volumina auf der Basis der im Prozess von 8 identifizierten virtuellen Maschinen gemäß der ersten Ausführungsform darstellt.
    • 11 zeigt ein Beispiel einer VM-Volumen-Abbildungstabelle für die Modifikation eines existierenden Replikationspuffers.
    • 12 zeigt ein Beispiel einer Replikationslistentabelle von logischen Volumina für die Modifikation eines existierenden Replikationspuffers gemäß der ersten Ausführungsform.
    • 13 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Berechnen einer Arbeitslast darstellt.
    • 14 zeigt die Beziehung zwischen drei Arbeitslastmetriktypen.
    • 15 zeigt ein Beispiel eines berechneten Arbeitslastwerts.
    • 16 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Berechnen einer Replikationspuffergröße auf der Basis des berechneten Arbeitslastwerts von 13 darstellt.
    • 17 zeigt ein Beispiel eines berechneten minimalen Replikationspuffergrößenwerts.
    • 18 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Bestimmen von zu verwendenden Plattengruppen auf der Basis von Replikationspufferkriterien darstellt.
    • 19 zeigt ein Beispiel einer Tabelle von nicht verwendeten lokalen Plattengruppen (lokale Stelle).
    • 20 zeigt ein Beispiel einer Tabelle von nicht verwendeten entfernten Plattengruppen (entfernte Stelle).
    • 21 zeigt ein Beispiel einer Abbildungstabelle von VM auf neue logische Volumina für die Modifikation eines existierenden Replikationspuffers gemäß der zweiten Ausführungsform.
    • 22 zeigt ein Beispiel einer Replikationslistentabelle von logischen Volumina für die Modifikation eines existierenden Replikationspuffers gemäß der zweiten Ausführungsform.
    • 23 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Bestimmen von zu verwendenden Plattengruppen auf der Basis von Replikationspufferkriterien darstellt.
    • 24 zeigt ein Beispiel einer Tabelle von lokalen Plattengruppen im existierenden Replikationspuffer.
    • 25 zeigt ein Beispiel einer Tabelle von entfernten Plattengruppen im existierenden Replikationspuffer.
    • 26-28 zeigen ein Beispiel eines Ablaufdiagramms, das einen untergeordneten Prozess zum Berechnen von erforderlichen Plattengruppen für die Erzeugung eines neuen Replikationspuffers darstellt.
    • 29 zeigt ein Beispiel einer Tabelle von entfernten Plattengruppen.
    • 29A zeigt ein Beispiel einer Tabelle von lokalen Plattengruppen.
    • 30 zeigt ein Beispiel einer Tabelle von entfernten Plattengruppen mit einer Flag-Spalte für erfüllten Durchsatz und einer Flag-Spalte für erfüllte Größe nach einem vollendeten Durchgang durch die Schritte zum Berechnen von erforderlichen Plattengruppen.
    • 30A zeigt ein Beispiel einer Tabelle von lokalen Plattengruppen mit einer Flag-Spalte für erfüllten Durchsatz und einer Flag-Spalte für erfüllte Größe nach einem vollendeten Durchgang durch die Schritte zum Berechnen von erforderlichen Plattengruppen.
    • 31 zeigt ein Beispiel einer Tabelle von entfernten Plattengruppen, die die Kriterien für den Replikationspuffer erfüllen.
    • 31A zeigt ein Beispiel einer Tabelle von lokalen Plattengruppen, die die Kriterien für den Replikationspuffer erfüllen.
    • 32 zeigt ein Beispiel einer Tabelle von entfernten Plattengruppen für den Puffer als Ausgabe des untergeordneten Prozesses zum Berechnen von erforderlichen Plattengruppen von 26-28.
    • 32A zeigt ein Beispiel einer Tabelle von lokalen Plattengruppen für den Puffer als Ausgabe des untergeordneten Prozesses zum Berechnen von erforderlichen Plattengruppen von 26-28.
    • 33 und 34 zeigen ein Beispiel eines Ablaufdiagramms, das einen untergeordneten Prozess zum Berechnen von erforderlichen modifizierten Plattengruppen für die Modifikation eines existierenden Replikationspuffers darstellt.
    • 35 ist ein Beispiel einer Tabelle von entfernten Plattengruppen für den Replikationspuffer als Ausgabe des untergeordneten Prozesses zum Berechnen von erforderlichen modifizierten Plattengruppen von 33 und 34.
    • 35A ist ein Beispiel einer Tabelle von lokalen Plattengruppen für den Replikationspuffer als Ausgabe des untergeordneten Prozesses zum Berechnen von erforderlichen modifizierten Plattengruppen von 33 und 34.
    • 36-38 zeigen ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Erzeugen eines neuen Replikationspuffers darstellt.
    • 39 zeigt ein Beispiel einer Abbildungstabelle von lokalen auf entfernte Volumina.
    • 40 zeigt ein Beispiel einer Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle.
    • 41-45 zeigen ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Modifizieren eines existierenden Replikationspuffers darstellt.
    • 46 stellt die Bewegung und Verlagerung von virtuellen Volumina von mehreren logischen Volumina zu einem oder mehreren zusammengefassten logischen Volumina, die dann zum entfernten System repliziert werden, gemäß der zweiten Ausführungsform der Erfindung dar.
    • 47 stellt ein Beispiel einer Hardware-Konfiguration eines Systems, in dem das Verfahren und das Gerät der Erfindung angewendet werden können, gemäß der zweiten Ausführungsform dar.
    • 48 und 49 zeigen ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden logischen Volumina auf der Basis der im Prozess von 3 identifizierten virtuellen Maschinen gemäß der zweiten Ausführungsform darstellt.
    • 50 zeigt ein Beispiel einer Abbildungstabelle von VM auf neue logische Volumina für die Erzeugung eines neuen Replikationspuffers gemäß der zweiten Ausführungsform.
    • 51 zeigt ein Beispiel einer Replikationslistentabelle von logischen Volumina für die Erzeugung eines neuen Replikationspuffers gemäß der zweiten Ausführungsform.
    • 52-54 zeigen ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden logischen Volumina auf der Basis der im Prozess von 8 identifizierten virtuellen Maschinen gemäß der zweiten Ausführungsform darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auch auf ein Gerät zum Durchführen der Operationen hier. Dieses Gerät kann für die erforderlichen Zwecke speziell konstruiert sein oder es kann einen oder mehrere Universalcomputer umfassen, die durch ein oder mehrere Computerprogramme selektiv aktiviert oder umkonfiguriert werden. Solche Computerprogramme können in einem computerlesbaren Ablagemedium gespeichert sein, einschließlich eines nichtflüchtigen Mediums, wie z. B., jedoch nicht begrenzt auf optische Platten, Magnetplatten, Festwertspeicher, Direktzugriffsspeicher, Halbleitervorrichtungen und Halbleiterlaufwerke oder beliebige andere Typen von Medien, die zum Speichern von elektronischen Informationen geeignet sind. Die hier dargestellten Algorithmen und Anzeigen sind nicht von Natur aus auf irgendeinen speziellen Computer oder ein anderes Gerät bezogen. Verschiedene universelle Systeme können mit Programmen und Modulen gemäß den Lehren hier verwendet werden oder es kann sich als zweckmäßig erweisen, ein spezialisierteres Gerät zu konstruieren, um gewünschte Verfahrensschritte durchzuführen. Außerdem wird die vorliegende Erfindung nicht mit Bezug auf irgendeine spezielle Programmiersprache beschrieben. Es ist zu erkennen, dass eine Vielfalt von Programmiersprachen verwendet werden können, um die Lehren der Erfindung, wie hier beschrieben, zu implementieren. Die Befehle der Programmiersprache(n) können durch eine oder mehrere Verarbeitungsvorrichtungen, z. B. Zentraleinheiten (CPUs), Prozessoren oder Steuereinheiten, ausgeführt werden.
  • Beispielhafte Ausführungsformen der Erfindung, wie nachstehend genauer beschrieben wird, schaffen Geräte, Verfahren und Computerprogramme für eine effiziente Volumenreplikation durch automatisches Identifizieren einer Arbeitslast und Dimensionieren von Replikationspuffern.
  • I. Ausführungsform 1
  • Die erste Ausführungsform zeigt die Identifikation eines Satzes von existierenden Volumina zur Replikation zu einem entfernten Ort von einer lokalen Stelle, die Berechnung des Replikationspuffers, der für den Satz von Volumina erforderlich ist, und das Festlegen der Beziehung zwischen den ausgewählten Volumina und dem Replikationspuffer. Die erste Ausführungsform wird in drei Phasen aufgetrennt: Identifikation von Volumina, Berechnung der Replikationspuffergröße und Erzeugung der Replikationsbeziehung zwischen den ausgewählten Volumina und dem Replikationspuffer. Jede Phase wird in separate Operationen auf der Basis der Erzeugung oder Modifikation eines Replikationspuffers unterteilt.
  • 1 stellt ein Beispiel einer Hardware-Konfiguration eines Systems dar, in dem das Verfahren und das Gerät der Erfindung angewendet werden können. 1 zeigt ein lokales Rechenzentrum an einer lokalen Stelle und ein entferntes Rechenzentrum an einem entfernten Standort. Jedes Rechenzentrum weist Hauptrechner und ein Ablageuntersystem auf. Jeder Hauptrechner weist eine Steuereinheit, einen Speicher und eine Ablage auf. Das lokale Rechenzentrum umfasst ferner eine Gruppe von virtuellen Maschinen (VMs) und virtuellen Volumina (VVs) von zwei Hauptrechnern. Im Allgemeinen können mehrere Gruppen in einem Rechenzentrum vorhanden sein. Jedes Ablageuntersystem umfasst eine Ablageanordnung und einen Replikationspuffer, die Plattengruppen (DGs) mit jeweils einem oder mehreren logischen Volumina (LVs) mit entsprechenden virtuellen Volumina (VVs) speichern. Das Ablageuntersystem schafft eine Vielzahl von logischen Volumina als Ablagebereiche für die Hauptrechner. Die Hauptrechner verwenden die Identifizierer dieser logischen Volumina, um Daten aus dem Ablageuntersystem zu lesen oder Daten in dieses zu schreiben. Die Identifizierer der logischen Volumina werden als logische Einheitsnummer (LUN) bezeichnet. Das logische Volumen kann in einer einzelnen physikalischen Ablagevorrichtung oder einer Vielzahl von Ablagevorrichtungen enthalten sein. Ebenso kann eine Vielzahl von logischen Volumina einer einzelnen physikalischen Ablagevorrichtung zugeordnet sein. Zusätzliche Komponenten wie z. B. Ablagesteuereinheiten, Speicher, Ablageplatten und Schnittstellen sind weggelassen.
  • In 1 steuert ein Managementcomputer außerhalb der lokalen und entfernten Rechenzentren den automatisierten Prozess für die effiziente Volumenreplikation. Der Managementcomputer (als Hauptrechner) umfasst einen Manger (Management-Steuereinheit), einen Speicher und eine Ablage. Die lokale Ablage des Managementcomputer speichert Managementdaten, einschließlich Diagrammen, die zwischen Phasen des Prozesses gespeichert werden. Die Ablage hält auch eine Kopie der Diagramme im Speicher für Wiedergewinnungszwecke und beim Neustarten aufrecht. Eine lokale Steuereinheit des Managers ist für die Integration zwischen dem Managerprozess und der lokalen Hypervisor-Umgebung verantwortlich. Die Steuereinheit ist auch für das Abfragen der Ablageanordnung, wenn Inventarinformationen angefordert werden, sowie das Befehlen der Ablageanordnung, die verschiedenen Objekte zu erzeugen, zu modifizieren oder zu löschen, die erforderlich sind, um die Replikation zu identifizieren, zu berechnen und festzulegen, verantwortlich.
  • In alternativen Ausführungsformen können die Managementfunktionen des Managementcomputers durch eines der Rechenzentren (typischerweise das lokale Rechenzentrum) durchgeführt werden und der externe Managementcomputer kann weggelassen werden.
  • 2 stellt ein Beispiel eines Speichers im Managementcomputer von 1 dar. Der Speicher speichert ein VM- und Volumenidentifikationsmodul, ein Replikationspuffergrößen-Berechnungsmodul, ein Replikationspuffer-Erzeugungsmodul, eine Abbildungstabelle von VM auf Volumina für die Erzeugung eines neuen Replikationspuffers (6), eine Replikationslistentabelle von logischen Volumina für die Erzeugung eines neuen Replikationspuffers (7 oder 51), eine VM-Schutz-Flag-Tabelle (9), eine VM-Volumen-Abbildungstabelle für die Modifikation eines existierenden Replikationspuffers (11), eine Replikationslistentabelle von logischen Volumina für die Modifikation eines existierenden Replikationspuffers (12 oder 22), einen berechneten Arbeitslastwert (15), einen berechneten minimalen ReplikationspufferGrößenwert (17), eine Tabelle von nicht verwendeten lokalen Plattengruppen (19), eine Tabelle von nicht verwendeten entfernten Plattengruppen (20), eine Tabelle von lokalen Plattengruppen im existierenden Replikationspuffer (24), eine Tabelle von entfernten Plattengruppen im existierenden Replikationspuffer (25), eine Tabelle von entfernten Plattengruppen (29), eine Tabelle von lokalen Plattengruppen (29A), eine Tabelle von entfernten Plattengruppen mit einer Flag-Spalte für erfüllten Durchsatz und einer Flag-Spalte für erfüllte Größe (30), eine Tabelle von lokalen Plattengruppen mit einer Flag-Spalte für erfüllten Durchsatz und einer Flag-Spalte für erfüllte Größe (30A), eine Tabelle von entfernten Plattengruppen, die die Kriterien für den Replikationspuffer erfüllen (31), eine Tabelle von lokalen Plattengruppen, die die Kriterien für den Replikationspuffer erfüllen (31A), eine Tabelle von entfernten Plattengruppen für den Puffer als Ausgabe des untergeordneten Prozesses, um erforderliche Plattengruppen zu berechnen (32), eine Tabelle von lokalen Plattengruppen für den Puffer als Ausgabe des untergeordneten Prozesses, um erforderliche Plattengruppen zu berechnen (32A), eine Tabelle von entfernten Plattengruppen für den Puffer als Ausgabe des untergeordneten Prozesses, um erforderliche modifizierte Plattengruppen zu berechnen (35), eine Tabelle von lokalen Plattengruppen für den Puffer als Ausgabe des untergeordneten Prozesses, um erforderliche modifizierte Plattengruppen zu berechnen (35A), eine Abbildungstabelle von lokalen auf entfernte Volumina (39), eine Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle (40), eine Abbildungstabelle von VM auf neue logische Volumina für die Erzeugung eines neuen Replikationspuffers (50), eine Abbildungstabelle von VM auf neue logische Volumina für die Modifikation eines existierenden Replikationspuffers (21).
  • I.A Phase 1: Identifikation
  • Der Identifikationsprozess für virtuelle Maschinen und physikalische Volumina der Phase 1 wird durch das VM- und Volumen-Identifikationsmodul (z. B. Programm) durchgeführt.
  • I.A.1. Erzeugung eines neuen Replikationspuffers
  • 3 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden virtuellen Maschinen bei der Erzeugung eines neuen Replikationspuffers gemäß der ersten Ausführungsform der Erfindung darstellt. Der Prozess stellt eine Wahl von zwei Auswahlmechanismen dar, die von einem Benutzer in Schritt 100 ausgewählt werden. Gemäß einem Auswahlmechanismus erfasst Schritt 101 eine Liste von Gruppierungen von virtuellen Maschinen (VM) durch den Hypervisor, während eine Auswahl, welche Gruppierung für die Replikation zu verwenden ist, in Schritt 102 durchgeführt wird. Die ausgewählte Gruppierung von virtuellen Maschinen wird dem Benutzer in Schritt 104 präsentiert. Gemäß einem anderen Auswahlmechanismus erfasst Schritt 103 eine Liste aller virtuellen Maschine durch den Hypervisor und präsentiert diese Liste dem Benutzer in Schritt 104. In Schritt 104 kann der Benutzer die zu replizierenden/ schützenden virtuellen Maschinen entweder aus der in Schritt 102 ausgewählten Gruppierung oder aus der in Schritt 103 erhaltenen Liste auswählen. In Schritt 105 erzeugt das Programm eine VM-Replikationslistentabelle, die in 4 gezeigt ist, die die virtuellen Maschinen auflistet, die repliziert werden sollten.
  • 5 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden logischen Volumina auf der Basis der im Prozess von 3 identifizierten virtuellen Maschinen gemäß der ersten Ausführungsform darstellt. In Schritt 106 liest das Programm die Liste von virtuellen Maschinen, die repliziert werden sollten, aus der VM-Replikationslistentabelle von 4. In Schritt 107 fragt das Programm den Hypervisor, um eine Liste von virtuellen Volumina zu bestimmen, die jeder der ausgewählten virtuellen Maschinen zugeordnet sind, und initialisiert die Spalten von virtuellen Maschinen (VM) und virtuellen Volumina in einer VM-Volumen-Abbildungstabelle von 6. In Schritt 108 identifiziert das Programm (z. B. in Software oder Modul) die logischen Volumina, die die virtuellen Volumina enthalten. In Schritt 109 füllt das Programm die Spalte der logischen Volumina der VM-Volumen-Abbildungstabelle von 6. Das Programm iteriert über alle in Schritt 106 identifizierten virtuellen Maschinen. In Schritt 110 verringert das Programm die doppelten logischen Volumina, die in der Spalte von logischen Volumina der VM-Volumen-Abbildungstabelle von 6 enthalten sind, um eine Replikationslistentabelle von logischen Volumina für die Erzeugung eines neuen Replikationspuffers gemäß der ersten Ausführungsform zu erzeugen, wie in 7 gezeigt, was die Ausgabe von Schritt 111 ist. Als nächstes geht der Prozess zur Phase 2 für die Erzeugung eines neuen Replikationspuffers weiter.
  • I.A.2. .Modifikation eines existierenden Replikationspuffers
  • 8 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden virtuellen Maschinen in der Modifikation eines existierenden Replikationspuffers gemäß der ersten Ausführungsform darstellt. In Schritt 130 erhält das Programm die Liste von existierenden Replikationspuffern. Eine Auswahl wird hinsichtlich dessen, welcher Replikationspuffer modifiziert werden sollte, in Schritt 131 durchgeführt. In Schritt 132 wird eine VM-Schutz-Flag-Tabelle von 9 mit den Inhalten der virtuellen Maschinen initialisiert, die gegenwärtig durch den ausgewählten Replikationspuffer geschützt werden. Diese Informationen werden durch die Ausgabe von Schritt 105 in 3 bestimmt, als der Replikationspuffer erzeugt wurde. Sie enthält Spalten der VM-Liste von VM-Identifizierern und ein Schutz-Flag von Wahr/Falsch. Das Schutz-Flag, das einem speziellen VM-Identifizierer entspricht, gibt an, ob die virtuelle Maschine im Replikationspuffer geschützt werden sollte. Die VM-Schutz-Flag-Tabelle von 9 wird initialisiert, wobei das Schutz-Flag für alle virtuellen Maschinen auf wahr gesetzt wird, die gegenwärtig im Replikationspuffer enthalten sind.
  • Mit Rückkehr zu 8 stellt das Programm eine Wahl von zwei durch den Benutzer auszuwählenden Auswahlmechanismen in Schritt 133 dar. Gemäß einem Auswahlmechanismus erfasst Schritt 134 eine Liste von VM-Gruppierungen durch den Hypervisor, während eine Auswahl, welche Gruppierung für die Replikation zu verwenden ist, in Schritt 135 durchgeführt wird. Die ausgewählte Gruppierung von virtuellen Maschinen wird dem Benutzer in Schritt 137 präsentiert. Gemäß einem anderen Auswahlmechanismus erfasst Schritt 136 eine Liste aller virtuellen Maschinen durch den Hypervisor und präsentiert diese Liste dem Benutzer in Schritt 137. In Schritt 137 kann der Benutzer die zu replizierenden/ schützenden virtuellen Maschinen entweder aus der in Schritt 135 ausgewählten Gruppierung oder aus der in Schritt 136 erhaltenen Liste auswählen. Der Auswahlmechanismus in Schritt 137 verwendet das in der VM-Schutz-Flag-Tabelle von 9 gesetzte Schutz-Flag, um zu zeigen, welche virtuellen Maschinen gegenwärtig durch diesen Replikationspuffer geschützt werden. In Schritt 138 wird das Schutz-Flag in 9 auf der Basis der in Schritt 137 ausgewählten Eingabe aktualisiert. Wahr gibt an, dass die virtuelle Maschine geschützt werden sollte, und falsch gibt an, dass die virtuelle Maschine nicht geschützt werden sollte. Die VM-Schutz-Flag-Tabelle von 9 wird dann im Speicher gespeichert und in anschließenden Prozessen wie z. B. dem Prozess von 10 verwendet.
  • 10 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden logischen Volumina auf der Basis der im Prozess von 8 identifizierten virtuellen Maschinen gemäß der ersten Ausführungsform darstellt. In Schritt 140 ruft das Programm die Liste von virtuellen Maschinen in 9 ab und initialisiert eine VM-Volumen-Abbildungstabelle von 11 mit nur den virtuellen Maschinen, die den Schutz beibehalten sollten oder die neu geschützt werden sollten. Dies ist durch einen Wahr-Wert in der Schutz-Flag-Spalte in 9 angegeben. In Schritt 141 fragt das Programm den Hypervisor, um eine Liste von virtuellen Volumina zu bestimmen, die jeder der ausgewählten virtuellen Maschinen zugeordnet sind, deren Schutz-Flag auf wahr gesetzt ist, von 9, und initialisiert die Spalten der virtuellen Maschinen und virtuellen Volumina in der VM-Volumen-Abbildungstabelle von 11. In Schritt 142 identifiziert das Programm die logischen Volumina, die die virtuellen Volumina enthalten. In Schritt 143 füllt das Programm die Spalte der logischen Volumina der VM-Volumen-Abbildungstabelle von 11. Das Programm iteriert über alle virtuellen Maschinen, die in Schritt 140 identifiziert werden. In Schritt 144 verringert das Programm die doppelten logischen Volumina, die in der Spalte der logischen Volumina der VM-Volumen-Abbildungstabelle von 11 enthalten sind, um eine Replikationslistentabelle von logischen Volumina für die Modifikation eines existierenden Replikationspuffers gemäß der ersten Ausführungsform zu erzeugen, wie in 12 gezeigt, was die Ausgabe von 10 ist. Als nächstes geht der Prozess zur Phase 2 für die Modifikation eines existierenden Replikationspuffers weiter.
  • I.B. Phase 2: Berechnung
  • 1.B.1 Erzeugung eines neuen Replikationspuffers
  • In dieser zweiten Phase für die Erzeugung eines neuen Replikationspuffers führt das Replikationspuffergrößen-Berechnungsmodul (z. B. Programm) einen Prozess zum Berechnen der Größe eines neuen lokalen und entfernten Replikationspuffers sowie Plattengruppen-Konfigurationen an den lokalen und entfernten Ablageanordnungen aus. Diese Berechnungen können dann verwendet werden, um eine lokale und entfernte Stelle für die Datenreplikation in Phase 3 zu konfigurieren.
  • 13 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Berechnen einer Arbeitslast darstellt. In Schritt 200 erhält das Programm die Liste von logischen Volumina, die für den Schutz in Phase 1 identifiziert und in der Replikationslistentabelle von logischen Volumina von 7 im Fall der Ausführungsform 1 (oder 51 im Fall der Ausführungsform 2, die nachstehend erörtert wird) gespeichert wurden. In Schritt 201 identifiziert das Programm den Arbeitslastmetriktyp zur Verwendung für die Berechnung: Spitze, typisch oder mittel. Die Spitzenarbeitslast ist die höchste Arbeitslast, die das System erfährt, die typische Arbeitslast ist die höchste Arbeitslast, die während normaler Operationen erwartet werden kann, und die mittlere Arbeitslast ist die mittlere Arbeitslast über die Lebensdauer des logischen Volumens. 14 zeigt die Beziehung zwischen diesen drei Arbeitslastmetriktypen.
  • In Schritt 202 ruft das Programm die spezifische Arbeitslastmetrik ab. Ein Benutzer kann die Arbeitslast manuell festlegen, sie kann gegen das logische Volumen gemessen werden oder die Arbeitslast kann durch den Hypervisor zurückgegeben werden. In Schritt 203 iteriert das Programm über alle in Schritt 200 identifizierten logischen Volumina. In Schritt 204 berechnet das Programm die gesamte Arbeitslast über alle Volumina durch Addieren aller in Schritt 202 abgerufenen Arbeitslastmetriken für jedes in Schritt 200 identifizierte logische Volumen. In Schritt 205a speichert das Programm die gesamte Arbeitslast zur Verwendung bei späteren Berechnungen in einem berechneten Arbeitslastwert, der in 15 gezeigt ist.
  • 16 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Berechnen der Replikationspuffergröße auf der Basis des berechneten Arbeitslastwerts von 13 darstellt. In Schritt 205b ruft das Programm die gesamte in 13 berechnete und im in 15 gezeigten berechneten Arbeitslastwert gespeicherte Arbeitslast ab. Das Programm erhält die Ausfalldauer in Schritt 206 und den Overhead in Schritt 207. Die Ausfalldauer ist ein Eingangswert, der vom Benutzer angefordert wird, während der Overhead ein festcodierter Wert ist, der im System gespeichert ist (z. B. Systemsoftware). In Schritt 208 berechnet das Programm die Replikationspuffergröße unter Verwendung der Formel: Replikationspufferdimensionierung = ( Arbeitslast ) * Ausfalldauer * [ 1 + Overhead ]
    Figure DE112013006646B4_0001
  • In Schritt 209 speichert das Programm die Replikationspufferdimensionierung zur Verwendung in späteren Berechnungen in einem berechneten minimalen Replikationspuffergrößenwert, der in 17 gezeigt ist.
  • 18 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Bestimmen von zu verwendenden Plattengruppen auf der Basis von Replikationspufferkriterien darstellt. An der lokalen Stelle erhält das Programm in Schritt 210 eine Liste von nicht verwendeten lokalen Plattengruppen von der Ablageanordnung und speichert die Liste im Speicher als Tabelle von nicht verwendeten lokalen Plattengruppen (lokale Stelle), die in 19 gezeigt ist. Die Tabelle weist Spalten von Plattengruppenname, Anordnung/ Größe und Durchsatz auf. Das Programm übergibt die Liste von nicht verwendeten lokalen Plattengruppen in 19 als Eingabe an den in Schritten 212 bis 235 identifizierten untergeordneten Prozess, die in 26-28 gezeigt sind und nachstehend unter Phase 2 untergeordneter Prozess zum Berechnen von erforderlichen Plattengruppen beschrieben werden. Die Ausgabe aus dem untergeordneten Prozess ist eine Liste von lokalen Plattengruppen, die den Kriterien für den lokalen Replikationspuffer entsprechen. Der Prozess speichert die Ausgabe im Speicher in einer Tabelle von lokalen Plattengruppen für den Puffer für die Erzeugung eines neuen Replikationspuffers, wie in 32A gezeigt.
  • An der entfernten Stelle erhält das Programm in Schritt 211 eine Liste von nicht verwendeten entfernten Plattengruppen von der Ablageanordnung und speichert die Liste im Speicher als Tabelle von nicht verwendeten entfernten Plattengruppen (entfernte Stelle), die in 20 gezeigt ist. Das Programm übergibt die Liste von nicht verwendeten entfernten Plattengruppen in 20 als Eingabe an den untergeordneten Prozess, der in den Schritten 212 bis 235 identifiziert ist, die in 26 und 28 gezeigt sind und nachstehend unter Phase 2 untergeordneter Prozess zum Berechnen von erforderlichen Plattengruppen beschrieben werden. Die Ausgabe aus dem untergeordneten Prozess ist eine Liste von entfernten Plattengruppen, die den Kriterien für den entfernten Replikationspuffer entsprechen. Der Prozess speichert die Ausgabe im Speicher in einer Tabelle von entfernten Plattengruppen für den Puffer für die Erzeugung eines neuen Replikationspuffers, wie in 32 gezeigt.
  • Der Prozess geht dann zur nachstehenden Phase 3 (Schritt 300 in 36) für die Erzeugung der Replikationspuffer weiter.
  • I.B. 2 Modifikation eines existierenden Replikationspuffers
  • In dieser zweiten Phase für die Modifikation eines existierenden Replikationspuffers führt das Replikationspuffergrößen-Berechnungsmodul (z. B. Programm) einen Prozess zum Berechnen der neuen Größe eines existierenden Replikationspuffers sowie Plattengruppen-Konfigurationen an den lokalen und entfernten Ablageanordnungen aus. Diese Berechnungen können dann verwendet werden, um eine lokale und entfernte Stelle für die Datenreplikation in der Phase 3 umzukonfigurieren.
  • Der Prozess verwendet den Prozess in 13 zum Berechnen der Arbeitslast und den Prozess von 16 zum Berechnen der Replikationspuffergröße auf der Basis des berechneten Arbeitslastwerts von 13. Die Ausgaben dieser Schritte sind die Werte, die im berechneten Arbeitslastwert von 15 und im berechneten minimalen Replikationspuffergrößenwert von 17 gefunden werden.
  • 23 zeigt ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Bestimmen von zu verwendenden Plattengruppen auf der Basis von Replikationspufferkriterien darstellt. An der lokalen Stelle ruft in Schritt 246 das Programm die Konfiguration des existierenden Replikationspuffers, die in 32A vorher berechnet und gespeichert wurde, aus der lokalen Ablageanordnung ab und speichert diese Liste im Speicher in einer Tabelle von lokalen Plattengruppen im existierenden Replikationspuffer, die in 24 gezeigt ist, was die Tabelle mit den Durchsatzfähigkeiten der Plattengruppe erweitert. Die Tabelle weist Spalten von Plattengruppenname, Anordnung/ Größe und Durchsatz auf. Das Programm übergibt die Liste von lokalen Plattengruppen in 24 als Eingabe an den untergeordneten Prozess, der in den Schritten 236 bis 245 identifiziert ist, die in 33 und 34 gezeigt sind und nachstehend unter Phase 2 untergeordneter Prozess zum Berechnen von erforderlichen modifizierten Plattengruppen beschrieben werden. Die Ausgabe aus dem untergeordneten Prozess ist eine Liste von lokalen Plattengruppen, die den Kriterien für den lokalen Replikationspuffer entsprechen. Der Prozess speichert die Ausgabe im Speicher in einer Tabelle von lokalen Plattengruppen für den Puffer für die Modifikation eines existierenden lokalen Replikationspuffers (ähnlich in der Form zur Tabelle von lokalen Plattengruppen für den Puffer für die Erzeugung eines neuen Replikationspuffers von 32A).
  • An der entfernten Stelle ruft das Programm in Schritt 247 die Konfiguration des existierenden Replikationspuffers, die vorher in 32 berechnet und gespeichert wurde, aus der entfernten Ablageanordnung ab und speichert diese Liste im Speicher als Tabelle von entfernten Plattengruppen im existierenden Replikationspuffer, die in 25 gezeigt ist, wobei die Tabelle mit den Durchsatzfähigkeiten der Plattengruppe erweitert wird. Das Programm übergibt die Liste von entfernten Plattengruppen in 25 als Eingabe in den untergeordneten Prozess, der in Schritten 236 bis 245 identifiziert ist, die in 33 und 34 gezeigt sind und nachstehend unter Phase 2 untergeordneter Prozess zum Berechnen von erforderlichen modifizierten Plattengruppen beschrieben werden. Die Ausgabe aus dem untergeordneten Prozess ist eine Liste von entfernten Plattengruppen, die den Kriterien für den entfernten Replikationspuffer entsprechen. Der Prozess speichert die Ausgabe im Speicher in einer Tabelle von entfernten Plattengruppen für den Puffer für die Modifikation eines existierenden entfernten Replikationspuffers (in der Form ähnlich zur Tabelle der entfernten Plattengruppen für den Puffer für die Erzeugung eines neuen Replikationspuffers von 32).
  • Der Prozess geht dann zur nachstehenden Phase 3 (Schritt 316 in 41) für die Modifikation der Replikationspuffer weiter.
  • I.A.3 Phase 2 untergeordneter Prozess zum Berechnen von erforderlichen Plattengruppen
  • 26-28 zeigen ein Beispiel eines Ablaufdiagramms, das einen untergeordneten Prozess zum Berechnen von erforderlichen Plattengruppen für die Erzeugung eines neuen Replikationspuffers entweder an einem lokalen oder einem entfernten System darstellt. Der untergeordnete Prozess startet in Schritt 212 zum Erfassen der Eingabe, die die Liste von Plattengruppen mit der Anordnung, der Größe und dem Durchsatz ist, die im Speicher als Tabelle von nicht verwendeten lokalen Plattengruppen von 19 für die Berechnung der lokalen Stelle (Tabelle von nicht verwendeten entfernten Plattengruppen von 20 für die Berechnung der entfernten Stelle) gespeichert ist. In Schritt 213 bestimmt das Programm, ob es die Plattengruppenanordnung vorher in diesem Aufruf des untergeordneten Prozesses gesehen hat. Wenn es die Plattengruppenanordnung nicht gesehen hat, geht das Programm zu Schritt 214 weiter, in dem es einen Eintrag (d. h. eine Zeile) in einer Plattengruppentabelle belegt, wie in 29A für lokal und 29 für entfernt gezeigt, die Spalten von Plattengruppenanordnung/Plattengröße, Liste von Plattengruppen und Durchsatz aufweist. In Schritt 215 fügt das Programm den Plattengruppennamen zum Eintrag in der Plattengruppentabelle hinzu. Wenn das Programm die Plattengruppenanordnung vorher gesehen hat, geht das Programm zu Schritt 216 weiter, in dem es den Plattengruppennamen zu einem geeigneten Eintrag in der Plattengruppentabelle (d. h. geeignete Zeile für den hinzuzufügenden Plattengruppennamen) hinzufügt. Das Programm iteriert durch die restlichen Einträge in der Eingabe. Die Ausgabe des Prozesses von 26 ist die vollständige Tabelle von entfernten Plattengruppen von 29 oder die Tabelle von lokalen Plattengruppen von 29A. Der Prozess geht dann zu 27 weiter.
  • In Schritt 220 von 27 ruft das Programm die Plattengruppentabelle von 29/29A ab, die im Speicher gespeichert ist. In Schritt 221 ruft das Programm die berechnete Arbeitslast ab, die in einem vorherigen Schritt im Speicher als berechneter Arbeitslastwert von 15 gespeichert wurde. In Schritt 222 berechnet das Programm den gesamten Durchsatz der Zählung von Plattengruppen für jeden Anordnungstyp durch Multiplizieren des Durchsatzeintrags in der Plattengruppentabelle von 29/29A mit der Zählung von Plattengruppennamen, die in derselben Zeile der Tabelle gespeichert sind. Wenn der gesamte Durchsatz größer ist als die in Schritt 220 abgerufene Arbeitslast, wird die Plattengruppe als die Kriterien für die Replikationspufferarbeitslast erfüllend in Schritt 223 markiert. In Schritt 224 iteriert das Programm durch die restlichen Einträge in der Plattengruppentabelle. 30 oder 30A zeigt die Spalte für erfüllten Durchsatz, die für diejenigen Plattengruppen festgelegt wird, die die Durchsatzkriterien erfüllen.
  • In Schritt 225 ruft das Programm die minimale Replikationspuffergröße ab, die berechnet und im berechneten minimalen Replikationspuffergrößenwert von 17 gespeichert wurde. In Schritt 226 berechnet das Programm die Gesamtgröße der Zählung von Plattengruppen für jeden Anordnungstyp durch Multiplizieren des Größeneintrags in der Plattengruppentabelle von 29/29A mit der Zählung von Plattengruppennamen, die in derselben Zeile der Tabelle gespeichert sind. Wenn die Gesamtgröße größer ist als die minimale Replikationspuffergröße, die in Schritt 225 abgerufen wird, wird die Plattengruppe als die Kriterien für die Replikationspuffergrö-ße erfüllend in Schritt 227 markiert. In Schritt 228 iteriert das Programm durch die restlichen Einträge in der Plattengruppentabelle. 30/30A zeigen die Flag-Spalte für erfüllte Größe, das für diejenigen Plattengruppen festgelegt wird, die die Größenkriterien erfüllen.
  • 30A für lokal und 30 für entfernt ist ein Beispiel einer Plattengruppentabelle mit einer Flag-Spalte für erfüllten Durchsatz und einer Flag-Spalte für erfüllte Größe nach einem vollendeten Durchgang durch die obigen Schritte, um erforderliche Plattengruppen zu berechnen. Das Flag für erfüllten Durchsatz wird auf Ja für Plattengruppen gesetzt, die die Kriterien für den Replikationspuffer erfüllen. Das Flag für erfüllte Größe wird auf Ja für Plattengruppen gesetzt, die die Kriterien für den Replikationspuffer erfüllen. In Schritt 229 entfernt das Programm die Einträge in der Tabelle von 30/30A, die nicht beide Kriterien (d. h. Replikationspufferarbeitslast und Replikationspuffergröße) erfüllen, und speichert das Ergebnis in einer Tabelle von Plattengruppen, die die Kriterien für den Replikationspuffer erfüllen, wie in 31A für lokal oder 31 für entfernt gezeigt. Die Tabelle von 31/31A wird im Speicher gespeichert und der Prozess geht zu 28 weiter.
  • In Schritt 230 von 28 startet der Prozess mit der Tabelle von 31A für lokal oder 31 für entfernt, die die Liste von Plattengruppen enthält, die die Kriterien für den Replikationspuffer erfüllen. In Schritt 231 ruft das Programm die berechnete Arbeitslast vom berechneten Arbeitslastwert von 15 ab. In Schritt 232 bestimmt das Programm unter Verwendung der Tabelle von 31/31A die Liste von Plattengruppen mit dem höchsten Durchsatzwert unter Verwendung einer maximalen Funktion aller Werte in der Spalte und wählt den Eintrag mit dem höchsten Durchsatz aus (80 in 31/31A). In Schritt 233 berechnet das Programm die Anzahl von Plattengruppen, die dem Replikationspuffer zugewiesen werden sollten. Es berechnet die Anzahl von Plattengruppen, um die minimalen Arbeitslastkriterien zu erfüllen, durch Dividieren der berechneten Arbeitslast von 15 durch den höchsten Durchsatzwert, der in Schritt 232 gefunden wird, und Aufrunden des Ergebnisses auf die nächste ganze Zahl (erster berechneter Wert). Das Programm berechnet die Anzahl von Plattengruppen, die erforderlich sind, um die minimalen Größenkriterien zu erfüllen, durch Dividieren der Replikationspufferdimensionierung aus dem berechneten minimalen Replikationspuffergrößenergebnis von 17 durch den Plattengrößenwert, der in dem Plattengruppeneintrag gefunden wird, mit dem höchsten Durchsatzwert und Aufrunden des Ergebnisses auf die nächste ganze Zahl (zweiter berechneter Wert). Die Anzahl von Plattengruppen, die verwendet werden sollten, ist das Maximum dieser zwei berechneten Werte (erster und zweiter berechneter Wert). In Schritt 234 wählt das Programm die Anzahl von Plattengruppen, die in Schritt 233 berechnet wurde, aus dem Plattengruppeneintrag in der Tabelle von 31/31A aus und erzeugt eine Tabelle von Plattengruppen für den Puffer von 32/32A als Ausgabe des untergeordneten Prozesses, um die erforderlichen Plattengruppen von 26-28 zu berechnen. Wenn dieser Prozess von 26-28 für die lokale Stelle durchgeführt wird, ist das Ergebnis die Tabelle von 32A. Wenn dieser Prozess von 26-28 für die entfernte Stelle durchgeführt wird, ist das Ergebnis die Tabelle von 32.
  • I.B.4 Phase 2 untergeordneter Prozess zum Berechnen von erforderlichen modifizierten Plattengruppen
  • 33 und 34 zeigen ein Beispiel eines Ablaufdiagramms, das einen untergeordneten Prozess zum Berechnen von erforderlichen modifizierten Plattengruppen für die Modifikation eines existierenden Replikationspuffers darstellt. Der untergeordnete Prozess startet in einem Schritt 236 zum Abrufen der Konfiguration des existierenden Replikationspuffers aus der Ablageanordnung, wie zum untergeordneten Prozess als Tabelle von Plattengruppen für den Puffer von 32A für lokal oder 32 für entfernt als Ausgabe des untergeordneten Prozesses zum Berechnen von erforderlichen Plattengruppen von 26-28 und als Tabelle von lokalen Plattengruppen, die in 24 gezeigt ist, für die Berechnung der lokalen Stelle (oder als Tabelle von entfernten Plattengruppen, die in 25 gezeigt ist, für die Berechnung der entfernten Stelle) übergeben, wobei die Tabelle mit den Durchsatzfähigkeiten der Plattengruppe erweitert wird. In Schritt 237 ruft das Programm die Arbeitslast und die Replikationspufferdimensionierung, die im berechneten Arbeitslastwert von 15 gefunden werden, und den berechneten minimalen Replikationspuffergrößenwert von 17 ab.
  • Wenn in Schritt 238 die Größe des existierenden Replikationspuffers größer ist als die erforderliche Replikationspufferdimensionierung, geht das Programm zu Schritt 239 weiter. Wenn in Schritt 239 der Plattengruppendurchsatz mal die Anzahl von existierenden Plattengruppen im Replikationspuffer größer ist als die Arbeitslast, dann geht der Prozess zur Phase 3 weiter, da keine Änderungen am Replikationspuffer erforderlich sind. Die Ausgabe der Phase 2 ist die Tabelle von existierenden Plattengruppen, die im Speicher gespeichert ist, als Tabelle von Plattengruppen für den Puffer von 32/32A als Ausgabe des untergeordneten Prozesses zum Berechnen von erforderlichen Plattengruppen von 26-28. Wenn die Antwort auf die Berechnung in Schritt 238 oder 239 nein ist, dann geht der Prozess zu 34 weiter.
  • In Schritt 240 von 34 ruft das Programm eine Liste von nicht verwendeten Plattengruppen desselben Anordnungstyps der Plattengruppen im Replikationspuffer aus der Ablageanordnung ab. In Schritt 241 ruft das Programm die Arbeitslast und die minimale Replikationspuffergröße vom berechneten Arbeitslastwert von 15 und vom berechneten minimalen Replikationspuffergrößenwert von 17 ab. In Schritt 242 bestimmt das Programm, ob die Plattengruppengröße des existierenden Replikationspuffers plus die Größe aller freien Plattengruppen zusammen addiert größer ist als die minimale Replikationspuffergröße. Wenn nicht, dann existiert eine Fehlerbedingung und das Programm verlässt den ganzen Prozess. Wenn ja, dann geht das Programm zu Schritt 243 weiter, wo es den Durchsatz aller existierenden Plattengruppen mit der Summe aller freien verfügbaren Plattengruppen summiert und bestimmt, ob der Wert größer ist als die Arbeitslast. Wenn nicht, dann existiert eine Fehlerbedingung und das Programm verlässt den ganzen Prozess. Wenn ja, geht das Programm zu Schritt 244 weiter.
  • In Schritt 244 berechnet das Programm die Gesamtzahl von Plattengruppen, die dem Replikationspuffer zugewiesen werden sollten. Es berechnet die Anzahl von Plattengruppen, um die minimalen Arbeitslastkriterien zu erfüllen, durch Dividieren der Arbeitslast vom berechneten Arbeitslastwert von 15 durch den höchsten Durchsatzwert und Aufrunden des Ergebnisses auf die nächste ganze Zahl (erster berechneter Wert). Es berechnet die Anzahl von erforderlichen Plattengruppen, um die minimalen Größenkriterien zu erfüllen, durch Dividieren der Replikationspufferdimensionierung vom berechneten minimalen Replikationspuffergrößenwert von 17 durch den Plattengrößenwert, der im Plattengruppeneintrag zu finden ist, mit dem höchsten Durchsatzwert, und Aufrunden des Ergebnisses auf die nächste ganze Zahl (zweiter berechneter Wert). Die Gesamtzahl von Plattengruppen, die verwendet werden sollten, ist das Maximum dieser zwei berechneten Werte (erster und zweiter berechneter Wert).
  • In Schritt 245 fügt das Programm die Plattengruppen des existierenden Puffers und die erforderliche Anzahl von Plattengruppen des geeigneten Typs zur Ausgangstabelle, die im Speicher als Tabelle von Plattengruppen für den Puffer von 32/32A gespeichert ist, hinzu, was die Ausgabe für den untergeordneten Prozess von 33 und 34 in Form einer Tabelle von Plattengruppen für den Puffer als Ausgabe des untergeordneten Prozesses zum Berechnen von erforderlichen modifizierten Plattengruppen von 33 und 34 erzeugt, wie in 35A für lokale Plattengruppen und 35 für entfernte Plattengruppen gezeigt. Die Tabellen in 35 und 35A umfassen die existierenden Plattengruppen für den Replikationspuffer sowie die neuen Plattengruppen, die zum Replikationspuffer hinzugefügt werden sollten.
  • I.C Phase 3: Replikationspuffererzeugung
  • Diese Phase betrifft das Annehmen der Liste von Plattengruppen, um sie einem Replikationspuffer zuzuweisen, wobei entweder ein neuer Replikationspuffer an der lokalen und der entfernten Stelle erzeugt wird oder ein existierender Replikationspuffers an der lokalen und entfernten Stelle umkonfiguriert wird, und das Festlegen von Replikationsbeziehungen und der Datenreplikation. Die Replikationspuffererzeugung der Phase 3 wird durch das Replikationspuffer-Erzeugungsmodul (z. B. Programm) durchgeführt.
  • I.C.1 Erzeugung eines neuen Replikationspuffers
  • 36-38 zeigen ein Beispiel eines Ablaufdiagramms, das einen Prozess für die Erzeugung eines neuen Replikationspuffers darstellt. 36 erzeugt entfernte lokale Volumina und gibt eine Abbildung von lokalen und entfernten logischen Volumina aus. 37 erzeugt den lokalen Replikationspuffer und den entfernten Replikationspuffer. 38 ordnet lokale logische Volumina dem lokalen Replikationspuffer zu, ordnet entfernte logische Volumina dem entfernten Replikationspuffer zu, ordnet die lokale Replikation dem entfernten Replikationspuffer zu und leitet die Replikation von der lokalen Stelle zur entfernten Stelle ein.
  • In Schritt 300 von 36 ruft das Programm die Liste von zu schützenden logischen Volumina ab, die die Ausgabe von Phase 1 war und in der Replikationslistentabelle von logischen Volumina für die Erzeugung eines neuen Replikationspuffers von 7 für die Ausführungsform 1 oder der Replikationslistentabelle von logischen Volumina für die Erzeugung eines neuen Replikationspuffers von 51 für die Ausführungsform 2 gespeichert ist. Das Programm überträgt die geeigneten Daten zu einer Spalte von lokalen logischen Volumina einer Abbildungstabelle von lokalen auf entfernte Volumina, die in 39 gezeigt ist. Die Tabelle umfasst auch eine Spalte von entfernten logischen Volumina. In Schritt 301 kommuniziert das Programm mit der entfernten Steuereinheit, um die äquivalente Plattengruppe abzurufen, wo entfernte logische Volumina für die Replikation erzeugt werden müssen. In Schritt 302 bestimmt das Programm, ob ausreichend Platz auf der entfernten Plattengruppe für alle entfernten logischen Volumina existiert, die erforderlich sind, um eine Replikation zu unterstützen. Wenn ausreichend Platz nicht existiert, dann existiert eine Fehlerbedingung und das Programm verlässt den ganzen Prozess. Wenn ausreichend Platz existiert, geht das Programm zu Schritt 303 weiter. In Schritt 303 erzeugt das Programm das entfernte logische Volumen mit derselben Größe wie das lokale logische Volumen. In Schritt 304a iteriert das Programm über die restlichen logischen Volumina, die in der Abbildungstabelle von lokalen auf entfernte Volumen von 39 enthalten sind. Wenn das Programm die Erzeugung aller entfernten logischen Volumina beendet, aktualisiert es die Abbildungstabelle von lokalen auf entfernte Volumina von 39 in Schritt 304b mit den Identifizierern von entfernten logischen Volumina, die erzeugt wurden. Der Prozess geht zu 37 weiter.
  • In Schritt 305 von 37 ruft das Programm die Liste von lokalen Plattengruppen ab, die verwendet werden sollten, um den neuen Replikationspuffer an der lokalen Ablageanordnung zu erzeugen. Die Liste von lokalen Plattengruppen wurde in Phase 2 berechnet und in der Tabelle von lokalen Plattengruppen für den Puffer von 32A gespeichert. In Schritt 306 erzeugt das Programm den lokalen Replikationspuffer an der lokalen Ablageanordnung und ordnet die in Schritt 305 abgerufenen Plattengruppen dem Puffer zu. In Schritt 307 ruft das Programm die Liste von entfernten Plattengruppen ab, die verwendet werden sollten, um den neuen Replikationspuffer an der entfernten Ablageanordnung zu erzeugen. Die Liste von entfernten Plattengruppen wurde in Phase 2 berechnet und in der Tabelle von entfernten Plattengruppen für den Puffer von 32 gespeichert. In Schritt 308 erzeugt das Programm den entfernten Replikationspuffer an der entfernten Ablageanordnung und ordnet die in Schritt 307 abgerufenen Plattengruppen dem Puffer zu. Der Prozess geht dann zu 38 weiter.
  • In Schritt 309 von 38 ordnet das Programm das in 39 gefundene lokale logische Volumen dem in Schritt 306 erzeugten lokalen Replikationspuffer zu. Die Zuordnung wird in einer Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle aufgezeichnet, wie in 40 gezeigt. In Schritt 310 iteriert das Programm über die restlichen lokalen logischen Volumina. In Schritt 311 ordnet das Programm das in 39 gefundene entfernte logische Volumen dem in Schritt 308 erzeugten entfernten Replikationspuffer zu. Die Zuordnung wird in der Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle von 40 aufgezeichnet. In Schritt 312 iteriert das Programm über die restlichen entfernten logischen Volumina. In Schritt 313 zeichnet das Programm die Zuordnung zwischen dem lokalen Replikationspuffer und dem entfernten Replikationspuffer mit der Ablageanordnung auf. In Schritt 314 speichert das Programm die Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle von 40 im dauerhaften Speicher (z. B. im Managementcomputer). In Schritt 315 leitet das Programm die Replikation zwischen dem lokalen Replikationspuffer und dem entfernten Replikationspuffer ein. Der Prozess des Replikationspuffer-Erzeugungsmoduls für die Phase 3 ist nun vollständig.
  • I.C.2 Modifikation eines existierenden Replikationspuffers
  • 41-45 zeigen ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Modifizieren eines existierenden Replikationspuffers darstellt. In Schritt 316 von 41 ruft das Programm die Liste von zu schützenden logischen Volumina ab, die die Ausgabe der Phase 1 war und in entweder der Replikationslistentabelle für logische Volumina für die Modifikation eines existierenden Replikationspuffers von 12 für die Ausführungsform 1 oder der Replikationslistentabelle für logische Volumina für die Modifikation eines existierenden Replikationspuffers von 22 für die Ausführungsform 2 gespeichert ist. Das Programm überträgt die geeigneten Daten zur Spalte von lokalen logischen Volumina der Abbildungstabelle von lokalen auf entfernte Volumina von 39.
  • In Schritt 317 bestimmt das Programm, ob ein entferntes logisches Volumen für das lokale logische Volumen existiert, durch Betrachten der Abbildungstabelle von lokalen auf entfernten Volumina und Replikationspuffer-Abbildungstabelle von 40, die erzeugt und auf Platte gespeichert wurde. Wenn das entfernte logische Volumen existiert, iteriert das Programm über die restlichen lokalen logischen Volumina in Schritt 321. Wenn ein entferntes logisches Volumen nicht existiert, geht das Programm zu Schritt 318 weiter, wo es die entfernte Plattengruppe von der entfernten Ablageanordnung erhält. In Schritt 319 bestimmt das Programm, ob ausreichend Platz auf der entfernten Plattengruppe existiert. Wenn nicht genügend Platz existiert, dann existiert eine Fehlerbedingung und das Programm verlässt den ganzen Prozess. Wenn genügend Platz existiert, erzeugt das Programm das entfernte logische Volumen in Schritt 320 und iteriert dann über die restlichen lokalen logischen Volumina in Schritt 321. In Schritt 322 zeichnet das Programm die Abbildung von lokalen logischen Volumina auf entfernte logische Volumina durch Aktualisieren der Abbildungstabelle von lokalen auf entfernte Volumina von 39 auf. Der Prozess fährt zu 42 fort.
  • In Schritt 324 von 42 erhält das Programm die Liste von ausgewählten lokalen Plattengruppen, die durch die Ausgabe der Phase 2 ausgewählt wurden (35A für Berechnung der lokalen Stelle). In Schritt 325 bestimmt das Programm, ob irgendwelche der ausgewählten lokalen Plattengruppen von Schritt 324 nicht in dem existierenden lokalen Replikationspuffer enthalten sind. Wenn welche vorhanden sind, die nicht existieren, fügt das Programm diese Plattengruppen, die nicht existieren, zum lokalen Replikationspuffer in Schritt 326 hinzu. Der Prozess fährt zu 43 fort.
  • In Schritt 328 von 43 erhält das Programm die Liste von ausgewählten entfernten Plattengruppen, die durch die Ausgabe der Phase 2 ausgewählt wurden (35 für die Berechnung der entfernten Stelle). In Schritt 329 bestimmt das Programm, ob irgendwelche der ausgewählten entfernten Plattengruppen von Schritt 328 nicht im existierenden entfernten Replikationspuffer enthalten sind. Wenn irgendwelche vorhanden sind, die nicht existieren, fügt das Programm diese Plattengruppen, die nicht existieren, zum entfernten Replikationspuffer in Schritt 330 hinzu. Der Prozess fährt zu 44 fort.
  • In Schritt 331 von 44 bestimmt das Programm, ob eine Zuordnung bereits zwischen dem lokalen logischen Volumen und dem lokalen Replikationspuffer existiert. Das Programm bestimmt, ob die Zuordnung existiert, durch Bezugnahme auf die Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle von 40, die auf Platte gespeichert wurde, als die Replikation anfänglich erzeugt wurde. Wenn die Zuordnung existiert, geht das Programm zu Schritt 333 weiter. Wenn die Zuordnung nicht existiert, legt das Programm die Zuordnung zwischen dem lokalen logischen Volumen und dem lokalen Replikationspuffer in Schritt 332 fest und aktualisiert den Eintrag in der Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle von 40. Das Programm iteriert dann über die restlichen lokalen logischen Volumina in Schritt 333.
  • In Schritt 334 bestimmt das Programm, ob eine Zuordnung zwischen dem entfernten logischen Volumen und dem entfernten Replikationspuffer bereits existiert. Das Programm bestimmt, ob die Zuordnung existiert, durch Bezugnahme auf die Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle von 40, die auf Platte gespeichert wurde, als die Replikation anfänglich erzeugt wurde. Wenn die Zuordnung existiert, geht das Programm zu Schritt 336 weiter. Wenn die Zuordnung nicht existiert, legt das Programm die Zuordnung zwischen dem entfernten logischen Volumen und dem entfernten Replikationspuffer in Schritt 335 fest und aktualisiert den Eintrag in der Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle von 40. Das Programm iteriert dann über die restlichen lokalen logischen Volumina in Schritt 336. Der Prozess geht dann zu 45 weiter.
  • In Schritt 337 von 45 bestimmt das Programm, ob eine Zuordnung bereits zwischen dem lokalen und dem entfernten Replikationspuffer existiert. Wenn die Zuordnung bereits existiert, geht das Programm zu Schritt 339 weiter. Wenn sie nicht existiert, legt das Programm die Zuordnung in Schritt 338 fest und zeichnet sie in der Abbildungstabelle von lokalen auf entfernte Volumina und Replikationspuffer-Abbildungstabelle von 40 auf und setzt sie in den dauerhaften Speicher (z. B. im Managementcomputer). In Schritt 339 bestimmt das Programm, ob die Replikation zwischen den lokalen und entfernten Ablageanordnungen eingeleitet wurde. Wenn sie eingeleitet wurde, verlässt das Programm den Prozess. Wenn sie nicht eingeleitet wurde, leitet das Programm die Replikation in Schritt 340 ein und verlässt dann den Prozess.
  • II. Ausführungsform 2
  • Die Ausführungsform 2 beinhaltet die Identifikation und Verlagerung von ausgewählten Volumina, die für die Replikation vorgesehen sind, auf eine minimale Teilmenge von Volumina, die in äquivalenten Datensammlungen enthalten sind. Die Phase 2 und Phase 3 der Ausführungsform 2 sind identisch zur Phase 2 und Phase 3 der Ausführungsform 1 und werden in dieser Ausführungsformbeschreibung nicht reproduziert.
  • 46 stellt die Bewegung und Verlagerung von virtuellen Volumina von mehreren logischen Volumina (LV1 und LV2 in DG 1) zu einem oder mehreren zusammengefassten logischen Volumina (LV4 in LG1) dar, die dann in das entfernte System gemäß der zweiten Ausführungsform repliziert werden. LV steht für logisches Volumen und DG steht für Plattengruppe. Der zusammengefasste Satz von Replikationsvolumina, die in 46 gezeigt sind, wird dann in dem in 47 gezeigten System verwendet, um eine Hardware-Konfiguration eines Systems zu erläutern, in dem das Verfahren und Gerät der Erfindung gemäß der zweiten Ausführungsform angewendet werden können.
  • II. A Phase 1: Identifikation
  • ILA. 1 Erzeugung eines neuen Replikationspuffers
  • Der Identifikationsprozess für VM und physikalische Volumina der Phase 1 für die Erzeugung eines neuen Replikationspuffers startet mit demselben Satz von Schritten, die die zu schützenden virtuellen Maschinen identifizieren, von der Ausführungsform 1, die in 3 zu finden ist. Der Prozess wird durch das VM- und Volumenidentifikationsmodul (z. B. Programm) durchgeführt. Die Ausgabe von 3 ist die VM-Replikationslistentabelle von 4, die im Speicher gespeichert wird. Der Prozess der Ausführungsform 2 geht nun zu 48 weiter.
  • 48 und 49 zeigen ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden logischen Volumina auf der Basis der im Prozess von 3 identifizierten virtuellen Maschinen gemäß der zweiten Ausführungsform darstellt. In Schritt 112 von 48 liest das Programm die Liste von virtuellen Maschinen, die repliziert werden sollten. In Schritt 113 fragt das Programm den Hypervisor, um eine Liste von virtuellen Volumina, die jeder der ausgewählten virtuellen Maschinen zugeordnet sind, von der VM-Replikationslistentabelle von 4 zu bestimmen, und initialisiert die Spalten von virtuellen Maschinen und virtuellen Volumina in einer Tabelle von VM auf neue logische Volumina für die Erzeugung eines neuen Replikationspuffers, wie in 50 gezeigt. In Schritt 114 identifiziert das Programm die logischen Volumina, die die virtuellen Volumina enthalten. In Schritt 115 identifiziert das Programm die Plattengruppe, die die logischen Volumina enthält. In Schritt 116 identifiziert das Programm die Hauptrechner, die der virtuellen Maschine zugeordnet sind. In Schritt 117 füllt das Programm die Spalten der logischen Volumina, der Plattengruppen und der Hauptrechner der Abbildungstabelle von VM auf neue logische Volumina von 50. Das Programm iteriert über alle in Schritt 113 identifizierten virtuellen Volumina. Das Programm iteriert dann über alle in Schritt 112 identifizierten virtuellen Maschinen. In Schritt 120 speichert das Programm die Abbildungsinformationen in der Abbildungstabelle von VM auf neue logische Volumina im Speicher. Der Prozess der Ausführungsform 2 geht nun zu 49 weiter.
  • In Schritt 121 von 49 startet das Programm mit den Informationen, die in der Abbildungstabelle von VM auf neue logische Volumina von 50 enthalten sind. In Schritt 122 summiert das Programm die Größe von jedem der logischen Volumina, die in jeder der Plattengruppen (DG01, DG02) enthalten sind, auf, was die Größe des logischen Volumens ergibt, die erforderlich ist, um alle Daten aller logischen Volumina in den ausgewählten virtuellen Maschinen nach Plattengruppe zu enthalten. Das Programm erzeugt nun ein einzelnes logisches Volumen in jeder der Plattengruppen. Das Programm startet mit dem ersten neuen logischen Volumen, das erzeugt werden muss, und erzeugt das neue logische Volumen in Schritt 123. Der Identifizierer des neuen logischen Volumens wird dann verwendet, um die Spalte der neuen logischen Volumina in der Abbildungstabelle von VM auf neue logische Volumina von 50 zu belegen. Das Programm formatiert dann das neue logische Volumen in Schritt 124 und präsentiert dann das neue logische Volumen allen Hauptrechnern, die durch die eindeutige Liste von Hauptrechnern identifiziert werden, die dem ursprünglichen Satz von logischen Volumina zugeordnet sind. In Schritt 126 iteriert das Programm über alle neuen logischen Volumina, die erzeugt werden müssen.
  • In Schritt 127 startet das Programm mit der ersten virtuellen Maschine, die in der Spalte virtueller Maschinen in der Abbildungstabelle von VM auf neue logische Volumina von 50 identifiziert ist, und verwendet den Hypervisor, um die virtuelle Maschine zum neuen logischen Volumen zu verlagern. Das Programm iteriert dann über alle virtuellen Maschinen, die in der Abbildungstabelle von VM auf neue logische Volumina von 50 enthalten sind. In Schritt 128 verringert das Programm die doppelten logischen Volumina, die in der Spalte von neuen logischen Volumina von 50 enthalten sind, wobei eine Replikationslistentabelle von logischen Volumina für die Erzeugung eines neuen Replikationspuffers gemäß der zweiten Ausführungsform erzeugt wird, wie in 51 gezeigt, die die Ausgabe von Schritt 129 ist. Der Prozess geht dann zur Phase 2 für die Erzeugung eines neuen Replikationspuffers weiter.
  • II.A.2 Modifikation eines existierenden Replikationspuffers
  • Der Identifikationsprozess für VM und physikalische Volumina der Phase 1 für die Erzeugung eines neuen Replikationspuffers startet mit demselben Satz von Schritten, die die zu schützenden virtuellen Maschinen identifizieren, von der Ausführungsform 1, die in 8 zu finden ist. Der Prozess wird durch das VM- und Volumenidentifikationsmodul (z. B. Programm) durchgeführt. Die Ausgabe von 8 ist die VM-Schutz-Flag-Tabelle von 9. Der Prozess der Ausführungsform 2 geht nun zu 52 weiter.
  • 52-54 zeigen ein Beispiel eines Ablaufdiagramms, das einen Prozess zum Identifizieren von zu schützenden logischen Volumina auf der Basis der virtuellen Maschinen, die im Prozess von 8 identifiziert werden, gemäß der zweiten Ausführungsform darstellt. In Schritt 145 von 52 liest das Programm die Liste von virtuellen Maschinen, die geschützt werden sollten, aus der VM-Schutz-Flag-Tabelle von 9. In Schritt 146 setzt das Programm alle Werte in der Schutz-Flag-Spalte auf falsch in einer Abbildungstabelle von VM auf neue logische Volumina für die Modifikation eines existierenden Replikationspuffers, wie in 21 gezeigt. Die Tabelle von 21 wurde aus der gespeicherten Abbildungsdatei initialisiert, die erzeugt wurde, als der Replikationspuffer anfänglich erzeugt wurde, in der Abbildungstabelle von VM auf neue logische Volumina für die Erzeugung eines neuen Replikationspuffers von 50. Für jede geschützte virtuelle Maschine, die in Schritt 145 gelesen wird, setzt das Programm die Schutz-Flag-Spalte für die virtuelle Maschine auf wahr.
  • In Schritt 147 fragt das Programm den Hypervisor, um eine Liste von virtuellen Volumina zu bestimmen, die jeder der geschützten virtuellen Maschinen von 21 zugeordnet sind, und initialisiert die Spalten der virtuellen Maschinen und der virtuellen Volumina in der Abbildungstabelle von VM auf neue logische Volumina von 21. Das Programm iteriert durch alle virtuellen Volumina, die zu virtuellen Maschinen gehören, die geschützt werden sollten. In Schritt 148 bestimmt das Programm, ob das virtuelle Volumen bereits geschützt wurde. Wenn es geschützt wurde, geht das Programm zu Schritt 153 weiter. Wenn es nicht geschützt wurde, geht das Programm zu Schritt 149 weiter.
  • In Schritt 149 identifiziert das Programm die logischen Volumina, die die virtuellen Volumina enthalten, während in Schritt 150 das Programm die Plattengruppe identifiziert, die die logischen Volumina enthält. In Schritt 151 identifiziert das Programm die Hauptrechner, die der virtuellen Maschine zugeordnet sind. In Schritt 152 füllt das Programm die Spalten der logischen Volumina, der Plattengruppen und der Hauptrechner der Abbildungstabelle von VM auf neue logische Volumina von 21. Das Programm iteriert über alle virtuellen Volumina, die in Schritt 147 erhalten werden. Das Programm iteriert über alle virtuellen Maschinen, die in Schritt 145 erhalten werden. In Schritt 154 speichert das Programm die Abbildungsinformationen, die in der Abbildungstabelle von VM auf neue logische Volumina von 21 enthalten sind. Der Prozess der Ausführungsform 2 geht nun zu 53 weiter.
  • In Schritt 155 von 53 erhält das Programm die Liste von virtuellen Maschinen, die durch den Replikationspuffer nicht geschützt werden sollten, was durch einen Falsch-Wert des Schutz-Flags in der Abbildungstabelle von VM auf neue logische Volumina von 21 identifiziert ist. In Schritt 156 verwendet das Programm den Hypervisor, um die virtuelle Maschine, die ungeschützt sein muss, vom neuen logischen Volumen (2) zum ursprünglichen logischen Volumen (1) zu verlagern. In Schritt 157 gibt das Programm den Platz, der durch die virtuelle Maschine verbraucht wird, die in (2) verwendet wird, an die freie Sammlung zurück und aktualisiert dann die Abbildungstabelle von VM auf neue logische Volumina von 21 und löscht den Eintrag des neuen logischen Volumens für die virtuelle Maschine (3). Das Programm iteriert dann über die restlichen virtuellen Maschinen, die nicht geschützt werden sollten. In Schritt 158 aktualisiert das Programm die Abbildungsinformationen in der Abbildungstabelle von VM auf neue logische Volumina von 21 und geht zu 54 weiter.
  • In Schritt 159 von 54 erhält das Programm die Liste von virtuellen Maschinen, die durch den Replikationspuffer geschützt werden sollten, was durch einen Wahr-Wert des Schutz-Flags in der Abbildungstabelle von VM auf neue logische Volumina von 21 identifiziert ist. Wenn in Schritt 160 die virtuelle Maschine bereits geschützt ist, geht das Programm zu Schritt 166 weiter. Ansonsten geht das Programm zu Schritt 161 weiter.
  • Wenn in Schritt 161 die Plattengruppe, die durch die Plattengruppenspalte in der Abbildungstabelle von VM auf neue logische Volumina von 21 identifiziert ist, existiert, geht das Programm zu Schritt 169 weiter, wo es die Größe des neuen logischen Volumens erweitert, das der Plattengruppe zugeordnet ist, um die Bedürfnisse der neuen virtuellen Maschine zu erfüllen. Das Programm geht dann zu Schritt 164 weiter. Wenn die Plattengruppe nicht existiert, geht das Programm zu Schritt 162 weiter, wo es ein neues logisches Volumen erzeugt und formatiert, um das virtuelle Volumen der virtuellen Maschine aufzunehmen. In Schritt 163 aktualisiert das Programm die Spalte von neuen logischen Volumina in der Abbildungstabelle von VM auf neue logische Volumina von 21 mit dem neu erzeugten logischen Volumen.
  • In Schritt 164 bestimmt das Programm, ob das neue logische Volumen, das in Schritt 169 erweitert wurde oder in Schritt 162 neu erzeugt wurde, den neuen Hauptrechnern präsentiert werden muss. Wenn ja, präsentiert das Programm das neue logische Volumen den geeigneten Hauptrechnern. In Schritt 165 verwendet das Programm den Hypervisor, um die virtuelle Maschine vom ursprünglichen logischen Volumen (1) zum neuen logischen Volumen (2) zu verlagern. In Schritt 166 iteriert das Programm über die restlichen virtuellen Maschinen. In Schritt 167 verringert das Programm die doppelten logischen Volumina, die in der Spalte von neuen logischen Volumina von 21 enthalten sind, wobei eine Replikationslistentabelle von logischen Volumina für die Modifikation eines existierenden Replikationspuffers gemäß der zweiten Ausführungsform erzeugt wird, wie in 22 gezeigt, das die Ausgabe von Schritt 168 ist. Der Prozess geht dann zu Phase 2 für die Modifikation eines existierenden Replikationspuffers weiter.
  • II. B Phase 2: Berechnung
  • Die Phase 2 für die zweite Ausführungsform ist identisch zu jener für die erste Ausführungsform.
  • II. C Phase 3: Replikationspuffererzeugung
  • Die Phase 3 für die zweite Ausführungsform ist identisch zu jener der ersten Ausführungsform.
  • Die in 1 und 47 dargestellten Systemkonfigurationen sind natürlich rein beispielhaft für Informationssysteme, in denen die vorliegende Erfindung implementiert werden kann, und die Erfindung ist nicht auf eine spezielle Hardware-Konfiguration begrenzt. Die Computer und Ablagesysteme, die die Erfindung implementieren, können auch bekannte E/A-Vorrichtungen (z. B. CD- und DVD-Laufwerke, Diskettenlaufwerke, Festplattenlaufwerke usw.) aufweisen, die die Module, Programme und Datenstrukturen speichern und lesen können, die verwendet werden, um die vorstehend beschriebene Erfindung zu implementieren. Diese Module, Programme und Datenstrukturen können auf solchen computerlesbaren Medien codiert sein. Die Datenstrukturen der Erfindung können beispielsweise auf computerlesbaren Medien unabhängig von einem oder mehreren computerlesbaren Medien gespeichert sein, auf denen sich die Programme befinden, die in der Erfindung verwendet werden. Die Komponenten des Systems können durch irgendeine Form oder Medium von digitaler Datenkommunikation miteinander verbunden sein, z. B. ein Kommunikationsnetz. Beispiele von Kommunikationsnetzen umfassen lokale Netze, weiträumige Netze, z. B. das Internet, drahtlose Netze, Speicherbereichsnetze und dergleichen.
  • In der Beschreibung sind zahlreiche Details für die Zwecke der Erläuterung dargelegt, um für ein gründliches Verständnis der vorliegenden Erfindung zu sorgen. Für einen Fachmann auf dem Gebiet ist jedoch ersichtlich, dass nicht alle dieser spezifischen Details erforderlich sind, um die vorliegende Erfindung auszuführen. Es wird auch angemerkt, dass die Erfindung als Prozess beschrieben werden kann, der gewöhnlich als Ablaufplan, Ablaufdiagramm, Strukturdiagramm oder Blockdiagramm dargestellt wird. Obwohl ein Ablaufplan die Operationen als sequentiellen Prozess beschreiben kann, können viele der Operationen parallel oder gleichzeitig durchgeführt werden. Außerdem kann die Reihenfolge der Operationen umgeordnet werden.
  • Wie auf dem Fachgebiet bekannt ist, können die vorstehend beschriebenen Operationen durch Hardware, Software oder irgendeine Kombination von Software und Hardware durchgeführt werden. Verschiedene Aspekte von Ausführungsformen der Erfindung können unter Verwendung von Schaltungen und Logikvorrichtungen (Hardware) implementiert werden, während andere Aspekte unter Verwendung von Befehlen implementiert werden können, die auf einem maschinenlesbaren Medium gespeichert sind (Software), die, wenn sie durch einen Prozessor ausgeführt werden, bewirken würden, dass der Prozessor ein Verfahren durchführt, um Ausführungsformen der Erfindung auszuführen. Ferner können einige Ausführungsformen der Erfindung nur in Hardware durchgeführt werden, wohingegen andere Ausführungsformen nur in Software durchgeführt werden können. Überdies können die beschriebenen verschiedenen Funktionen in einer einzelnen Einheit durchgeführt werden oder können über eine Anzahl von Komponenten in irgendeiner Anzahl von Weisen verteilt werden. Wenn sie durch Software durchgeführt werden, können die Verfahren durch einen Prozessor, wie z. B. einen Universalcomputer, auf der Basis von Befehlen ausgeführt werden, die auf einem computerlesbaren Medium gespeichert sind. Falls erforderlich, können die Befehle auf dem Medium in einem komprimierten und/oder verschlüsselten Format gespeichert sein.

Claims (19)

  1. Computer mit einem Speicher und einer Steuereinheit, wobei die Steuereinheit betreibbar ist, um: eine oder mehrere virtuelle Maschinen einer Vielzahl von virtuellen Maschinen zu identifizieren, die in einem ersten Ablagesystem geschützt werden sollen; ein oder mehrere logische Volumina einer Vielzahl von logischen Volumina im ersten Ablagesystem zu identifizieren, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren virtuellen Maschinen verwendet werden, auf der Basis von ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina, wobei die ersten Beziehungsinformationen durch die Steuereinheit gemanagt werden; eine zu verwendende Arbeitslast für die identifizierten einen oder mehreren logischen Volumina auf der Basis der Informationen der überwachten Arbeitslast für jedes der identifizierten einen oder mehreren logischen Volumina zu berechnen, wobei die Informationen der überwachten Arbeitslast durch die Steuereinheit gemanagt werden; und eine Größe eines Pufferbereichs im ersten Ablagesystem zu berechnen, der zum vorübergehenden Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zu einem zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten Arbeitslast der identifizierten einen oder mehreren logischen Volumina, wobei jedes der einen oder mehreren entfernten Kopiepaare durch ein logisches Volumen der identifizierten einen oder mehreren logischen Volumina im ersten Ablagesystem als primäres logisches Volumen und ein anderes logisches Volumen im zweiten Ablagesystem als sekundäres logisches Volumen gebildet wird, so dass der Pufferbereich für die entfernte Kopierprozedur der identifizierten einen oder mehreren logischen Volumina mit einer Größe gleich oder größer als die berechnete Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren virtuellen Maschinen zu managen, wobei das erste Ablagesystem einen Overhead und eine Ausfalldauer aufweist; und wobei die Größe des Pufferbereichs als berechnete Arbeitslast multipliziert mit der Ausfalldauer multipliziert mit (1+Overhead) berechnet wird.
  2. Computer nach Anspruch 1, wobei die Steuereinheit betreibbar ist, um (i) einen neuen Pufferbereich im ersten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu erzeugen oder (ii) einen existierenden Pufferbereich im ersten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu modifizieren.
  3. Computer nach Anspruch 1, wobei die Steuereinheit betreibbar ist, um (i) einen neuen Pufferbereich im zweiten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu erzeugen oder (ii) einen existierenden Pufferbereich im zweiten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu modifizieren.
  4. Computer nach Anspruch 1, wobei das erste Ablagesystem eine Vielzahl von Plattengruppen mit verwendeten Plattengruppen und nicht verwendeten Plattengruppen aufweist; wobei jede nicht verwendete Plattengruppe eine Plattengruppenanordnung mit einer Plattengruppengröße und einem Plattengruppendurchsatz aufweist; wobei die Steuereinheit betreibbar ist, um aus den nicht verwendeten Plattengruppen eine oder mehrere Plattengruppen auszuwählen, die durch den Pufferbereich im ersten Ablagesystem verwendet werden sollen, wobei das Auswählen von einer oder mehreren Plattengruppen umfasst: Gliedern der nicht verwendeten Plattengruppen nach Plattengruppenanordnung; Identifizieren einer Liste von Kandidatenplattengruppen für jede Plattengruppenanordnung, die einen gesamten Plattengruppendurchsatz aufweisen, der größer ist als die berechnete Arbeitslast, und die eine gesamte Plattengruppengröße aufweisen, die größer ist als die berechnete Größe des Pufferbereichs, um eine oder mehrere Listen von Kandidaten-Plattengruppen zu erzeugen; Auswählen aus den identifizierten einen oder mehreren Listen von Kandidaten-Plattengruppen der Liste von Kandidaten-Plattengruppen mit dem höchsten gesamten Plattengruppendurchsatz; und Bestimmen einer Anzahl von erforderlichen Plattengruppen in der ausgewählten Liste von Kandidaten-Plattengruppen für den Pufferbereich durch (i) Dividieren der berechneten Arbeitslast durch den gesamten Plattengruppendurchsatz für die ausgewählte Liste und Aufrunden auf die nächste ganze Zahl, um einen ersten berechneten Wert zu erhalten, (ii) Dividieren der berechneten Größe des Pufferbereichs durch die Plattengruppengröße der ausgewählten Liste und Aufrunden auf die nächste ganze Zahl, um einen zweiten berechneten Wert zu erhalten, und (iii) Auswählen eines Maximums des ersten berechneten Werts und des zweiten berechneten Werts als Anzahl von erforderlichen Plattengruppen in der ausgewählten Liste von Kandidaten-Plattengruppen für den Pufferbereich.
  5. Computer nach Anspruch 1, wobei die berechnete Größe des Pufferbereichs zum Modifizieren eines existierenden Pufferbereichs dient, der eine Liste von existierenden zu schützenden einer oder mehreren virtuellen Maschinen aufweist; und wobei die Steuereinheit betreibbar ist, um: aus der Liste von existierenden einer oder mehreren virtuellen Maschinen zu identifizieren, welche der existierenden einen oder mehreren virtuellen Maschinen den Schutz beibehält; und irgendeine oder mehrere virtuellen Maschinen zu identifizieren, die neu geschützt werden sollen; wobei das eine oder die mehreren logischen Volumina identifiziert werden, die durch die identifizierten einen oder mehreren virtuellen Maschinen, um den Schutz beizubehalten, und die identifizierten einen oder mehreren virtuellen Maschinen, die neu geschützt werden sollen, verwendet werden.
  6. Computer nach Anspruch 1, wobei das erste Ablagesystem eine Vielzahl von Plattengruppen aufweist; und wobei die berechnete Größe des Pufferbereichs zum Auswählen eines existierenden Pufferbereichs dient, der eine Größe aufweist, die größer ist als die berechnete Größe des Pufferbereichs, und der einen gesamten Durchsatz aufweist, der größer ist als die berechnete Arbeitslast, wobei der gesamte Durchsatz des existierenden Pufferbereichs gleich einem Produkt eines Plattengruppendurchsatzes von einer oder mehreren Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, und einer Anzahl der einer oder mehreren Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, ist.
  7. Computer nach Anspruch 1, wobei das erste Ablagesystem eine Vielzahl von Plattengruppen mit verwendeten Plattengruppen und nicht verwendeten Plattengruppen aufweist; wobei die berechnete Größe des Pufferbereichs zum Modifizieren eines existierenden Pufferbereichs dient, (i) der eine Größe aufweist, die nicht größer ist als die berechnete Größe des Pufferbereichs, oder (ii) der einen gesamten Durchsatz aufweist, der nicht größer ist als die berechnete Arbeitslast, wobei der gesamte Durchsatz des existierenden Pufferbereichs gleich einem Produkt eines Plattengruppendurchsatzes von einer oder mehreren existierenden Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, und einer Anzahl der einen oder mehreren existierenden Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, ist; und wobei die Steuereinheit betreibbar ist, um aus den nicht verwendeten Plattengruppen eine oder mehrere Plattengruppen auszuwählen, die zum existierenden Pufferbereich im ersten Ablagesystem hinzugefügt werden sollen.
  8. Computer nach Anspruch 7, wobei jede nicht verwendete Plattengruppe eine Plattengruppenanordnung mit einer Plattengruppengröße und einem Plattengruppendurchsatz aufweist; wobei die eine oder die mehreren existierenden Plattengruppen im existierenden Pufferbereich eine existierende Plattengruppenanordnung aufweisen; und wobei das Auswählen von einer oder mehreren Plattengruppen, die zum existierenden Pufferbereich im ersten Ablagesystem hinzugefügt werden sollen, umfasst: Gliedern der nicht verwendeten Plattengruppen nach Plattengruppenanordnung; Identifizieren aus den nicht verwendeten Plattengruppen, die eine gleiche Plattengruppenanordnung wie die existierende Plattengruppenanordnung aufweisen, einer Liste von Kandidaten-Plattengruppen, die, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, einen gesamten Plattengruppendurchsatz aufweisen, der größer ist als die berechnete Arbeitslast, und die eine gesamte Plattengruppengröße aufweisen, die größer ist als die berechnet Größe des Pufferbereichs; und Bestimmen einer Anzahl von erforderlichen Plattengruppen in der identifizierten Liste von Kandidaten-Plattengruppen, die zum existierenden Pufferbereich hinzugefügt werden sollen, durch (i) Dividieren der berechneten Arbeitslast durch den gesamten Plattengruppendurchsatz für die identifizierte Liste, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, und Aufrunden auf die nächste ganze Zahl, um einen ersten berechneten Wert zu erhalten, (ii) Dividieren der berechneten Größe des Pufferbereichs durch die Plattengruppengröße der identifizierten Liste, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, und Aufrunden auf die nächste ganze Zahl, um einen zweiten berechneten Wert zu erhalten, und (iii) Auswählen eines Maximums des ersten berechneten Werts und des zweiten berechneten Werts als Anzahl von erforderlichen Plattengruppen in der identifizierten Liste von Kandidaten-Plattengruppen, die zum existierenden Pufferbereich hinzugefügt werden sollen.
  9. Computer nach Anspruch 1, wobei das erste Ablagesystem eine Vielzahl von Plattengruppen aufweist; wobei eine Vielzahl von logischen Volumina im ersten Ablagesystem auf der Basis von ersten Beziehungsinformationen identifiziert werden; und wobei die Steuereinheit betreibbar ist, um: Plattengruppen zu identifizieren, die die identifizierten logischen Volumina im ersten Ablagesystem enthalten; eine Gesamtmenge an Platz zur Bereitstellung für jede der identifizierten Plattengruppen zu berechnen, um alle Daten der identifizierten logischen Volumina im ersten Ablagesystem zu enthalten; ein einzelnes logisches Volumen auf der Basis der berechneten Gesamtmenge an Platz zur Bereitstellung für jede der identifizierten Plattengruppen zu erzeugen; und die Arbeitslast und die Größe des Pufferbereichs unter Verwendung des erzeugten einzelnen logischen Volumens anstelle der identifizierten logischen Volumina zu berechnen.
  10. Computer nach Anspruch 9, wobei die Steuereinheit betreibbar ist, um: einen Pufferbereich im ersten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs zu erzeugen; die erste Beziehung zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina zu aktualisieren; eine oder mehrere neue virtuelle Maschinen der Vielzahl von zu schützenden virtuellen Maschinen im ersten Ablagesystem zu identifizieren, wobei die eine oder die mehreren neuen virtuellen Maschinen von den vorher identifizierten einen oder mehreren zu schützenden virtuellen Maschinen verschieden sind; eine Vielzahl von neuen logischen Volumina der Vielzahl von logischen Volumina im ersten Ablagesystem zu identifizieren, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren neuen virtuellen Maschinen verwendet werden, auf der Basis der ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina; Plattengruppen zu identifizieren, die die identifizierten neuen logischen Volumina im ersten Ablagesystem enthalten; eine Gesamtmenge an neuem Platz zur Bereitstellung für jede der identifizierten Plattengruppen zu berechnen, um alle Daten der identifizierten neuen logischen Volumina im ersten Ablagesystem zu enthalten; ein neues einzelnes logisches Volumen auf der Basis der berechneten Gesamtmenge an neuem Platz zur Bereitstellung für jede der identifizierten Plattengruppen zu erzeugen durch Modifizierten des vorher erzeugten einzelnen logischen Volumens, was das Entfernen von irgendwelchen virtuellen Maschinen, die nicht geschützt werden müssen, und das Hinzufügen von irgendwelchen virtuellen Maschinen, die neu geschützt werden müssen, auf der Basis der identifizierten einen oder mehreren neuen zu schützenden virtuellen Maschinen umfasst; eine neue Arbeitslast, die für das neue einzelne lokale Volumen verwendet werden soll, auf der Basis von Informationen der überwachten Arbeitslast für das neue einzelne logische Volumen zu berechnen; eine neue Größe eines neuen Pufferbereichs im ersten Ablagesystem zu berechnen, der für das vorübergehende Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zum zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten neuen Arbeitslast des neuen einzelnen logischen Volumens, so dass der neue Pufferbereich für die entfernte Kopierprozedur des neuen einzelnen logischen Volumens mit einer Grö-ße gleich oder größer als die berechnete neue Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren neuen virtuellen Maschinen zu managen; und den vorher erzeugten Pufferbereich zu modifizieren, um den neuen Pufferbereich auf der Basis der berechneten neuen Arbeitslast und der berechneten neuen Größe des neuen Pufferbereichs zu erzeugen.
  11. System mit einem ersten Ablagesystem, einem zweiten Ablagesystem und einem Managementcomputer, wobei der Managementcomputer einen Speicher und eine Steuereinheit aufweist, wobei die Steuereinheit betreibbar ist, um: eine oder mehrere virtuelle Maschinen einer Vielzahl von virtuellen Maschinen zu identifizieren, die im ersten Ablagesystem geschützt werden sollen; ein oder mehrere logische Volumina einer Vielzahl von logischen Volumina im ersten Ablagesystem zu identifizieren, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren virtuellen Maschinen verwendet werden, auf der Basis von ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina, wobei die ersten Beziehungsinformationen durch die Steuereinheit gemanagt werden; eine zu verwendende Arbeitslast für die identifizierten einen oder mehreren logischen Volumina auf der Basis von Informationen der überwachten Arbeitslast für jedes der identifizierten einen oder mehreren logischen Volumina zu berechnen, wobei die Informationen der überwachten Arbeitslast durch die Steuereinheit gemanagt werden; und eine Größe eines Pufferbereichs im ersten Ablagesystem zu berechnen, der zum vorübergehenden Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zu einem zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten Arbeitslast der identifizierten einen oder mehreren logischen Volumina, wobei jedes der einen oder mehreren entfernten Kopiepaare durch ein logisches Volumen der identifizierten einen oder mehreren logischen Volumina im ersten Ablagesystem als primäres logisches Volumen und anderes logisches Volumen im zweiten Ablagesystem als sekundäres logisches Volumen gebildet wird, so dass der Pufferbereich für die entfernte Kopierprozedur der identifizierten einen oder mehreren logischen Volumina mit einer Größe gleich oder größer als die berechnete Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren virtuellen Maschinen zu managen, wobei das erste Ablagesystem einen Overhead und eine Ausfalldauer aufweist; und wobei die Größe des Pufferbereichs als berechnete Arbeitslast multipliziert mit der Ausfalldauer multipliziert mit (1+Overhead) berechnet wird.
  12. Computerlesbares Ablagemedium, das eine Vielzahl von Befehlen zum Steuern einer Datenprozessor-Management-Replikation speichert, wobei die Vielzahl von Befehlen umfassen: Befehle, die bewirken, dass der Datenprozessor eine oder mehrere virtuelle Maschinen einer Vielzahl von zu schützenden virtuellen Maschinen in einem ersten Ablagesystem identifiziert; Befehle, die bewirken, dass der Datenprozessor ein oder mehrere logische Volumina einer Vielzahl von logischen Volumina im ersten Ablagesystem identifiziert, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren virtuellen Maschinen verwendet werden, auf der Basis von ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina, wobei die ersten Beziehungsinformationen von der Steuereinheit gemanagt werden; Befehle, die bewirken, dass der Datenprozessor eine zu verwendende Arbeitslast für die identifizierten einen oder mehreren logischen Volumina auf der Basis von Informationen der überwachten Arbeitslast für jedes der einen oder der mehreren logischen Volumina berechnet, wobei die Informationen der überwachten Arbeitslast von der Steuereinheit gemanagt werden; und Befehle, die bewirken, dass der Datenprozessor eine Größe eines Pufferbereichs im ersten Ablagesystem berechnet, der zum vorübergehenden Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zu einem zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten Arbeitslast der identifizierten einen oder mehreren logischen Volumina, wobei jedes der einen oder mehreren entfernten Kopiepaare durch ein logisches Volumen der identifizierten einen oder mehreren logischen Volumina im ersten Ablagesystem als primäres logisches Volumen und ein anderes logisches Volumens im zweiten Ablagesystem als sekundäres logisches Volumen gebildet wird, so dass der Pufferbereich für die entfernte Kopierprozedur der identifizierten einen oder mehreren logischen Volumina mit einer Größe gleich oder größer als die berechnete Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren virtuellen Maschinen zu managen, wobei das erste Ablagesystem einen Overhead und eine Ausfalldauer aufweist; und wobei die Größe des Pufferbereichs als berechnete Arbeitslast multipliziert mit der Ausfalldauer multipliziert mit (1+Overhead) berechnet wird.
  13. Computerlesbares Ablagemedium nach Anspruch 12, wobei die Vielzahl von Befehlen ferner umfassen: Befehle, die bewirken, dass der Datenprozessor (i) einen neuen Pufferbereich im zweiten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs erzeugt oder (ii) einen existierenden Pufferbereich im zweiten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs modifiziert.
  14. Computerlesbares Ablagemedium nach Anspruch 12, wobei das erste Ablagesystem eine Vielzahl von Plattengruppen mit verwendeten Plattengruppen und nicht verwendeten Plattengruppen aufweist; wobei jede nicht verwendete Plattengruppe eine Plattengruppenanordnung mit einer Plattengruppengröße und einem Plattengruppendurchsatz aufweist; wobei die Vielzahl von Befehlen ferner Befehle umfassen, die bewirken, dass der Datenprozessor aus den nicht verwendeten Plattengruppen eine oder mehrere Plattengruppen auswählt, die durch den Pufferbereich im ersten Ablagesystem verwendet werden sollen, wobei das Auswählen von einer oder mehreren Plattengruppen umfasst: Gliedern der nicht verwendeten Plattengruppen nach Plattengruppenanordnung; Identifizieren einer Liste von Kandidatenplattengruppen für jede Plattengruppenanordnung, die einen gesamten Plattengruppendurchsatz aufweisen, der größer ist als die berechnete Arbeitslast, und die eine gesamte Plattengruppengröße aufweisen, die größer ist als die berechnete Größe des Pufferbereichs, um eine oder mehrere Listen von Kandidaten-Plattengruppen zu erzeugen; Auswählen aus den identifizierten einen oder mehreren Listen von Kandidaten-Plattengruppen der Liste von Kandidaten-Plattengruppen mit dem höchsten gesamten Plattengruppendurchsatz; und Bestimmen einer Anzahl von erforderlichen Plattengruppen in der ausgewählten Liste von Kandidaten-Plattengruppen für den Pufferbereich durch (i) Dividieren der berechneten Arbeitslast durch den gesamten Plattengruppendurchsatz für die ausgewählte Liste und Aufrunden auf die nächste ganze Zahl, um einen ersten berechneten Wert zu erhalten, (ii) Dividieren der berechneten Größe des Pufferbereichs durch die Plattengruppengröße der ausgewählten Liste und Aufrunden auf die nächste ganze Zahl, um einen zweiten berechneten Wert zu erhalten, und (iii) Auswählen eines Maximums des ersten berechneten Werts und des zweiten berechneten Werts als Anzahl von erforderlichen Plattengruppen in der ausgewählten Liste von Kandidaten-Plattengruppen für den Pufferbereich.
  15. Computerlesbares Ablagemedium nach Anspruch 12, wobei die berechnete Größe des Pufferbereichs zum Modifizieren eines existierenden Pufferbereichs dient, der eine Liste von existierenden zu schützenden einen oder mehreren virtuellen Maschinen aufweist; und wobei die Vielzahl von Befehlen ferner Befehle umfassen, die bewirken, dass der Datenprozessor: aus der Liste von existierenden einer oder mehreren virtuellen Maschinen identifiziert, welche der existierenden einen oder mehreren virtuellen Maschinen den Schutz beibehält; und irgendeine oder mehrere virtuelle Maschinen identifiziert, die neu geschützt werden sollen; wobei das eine oder die mehreren logischen Volumina identifiziert werden, die durch die identifizierten einen oder mehreren virtuellen Maschinen, um den Schutz beizubehalten, und die identifizierten einen oder mehreren virtuellen Maschinen, die neu geschützt werden sollen, verwendet werden.
  16. Computerlesbares Ablagemedium nach Anspruch 12, wobei das erste Ablagesystem eine Vielzahl von Plattengruppen mit verwendeten Plattengruppen und nicht verwendeten Plattengruppen aufweist; wobei die berechnete Größe des Pufferbereichs zum Modifizieren eines existierenden Pufferbereichs dient, (i) der eine Größe aufweist, die nicht größer ist als die berechnete Größe des Pufferbereichs, oder (ii) der einen gesamten Durchsatz aufweist, der nicht größer ist als die berechnete Arbeitslast, wobei der gesamte Durchsatz des existierenden Pufferbereichs gleich einem Produkt eines Plattengruppendurchsatzes von einer oder mehreren existierenden Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, und einer Anzahl der einen oder mehreren existierenden Plattengruppen, die dem existierenden Pufferbereich zugewiesen sind, ist; und wobei die Vielzahl von Befehlen ferner Befehle umfassen, die bewirken, dass der Datenprozessor aus den nicht verwendeten Plattengruppen eine oder mehrere Plattengruppen auswählt, die zum existierenden Pufferbereich im ersten Ablagesystem hinzugefügt werden sollen.
  17. Computerlesbares Ablagemedium nach Anspruch 16, wobei jede nicht verwendete Plattengruppe eine Plattengruppenanordnung mit einer Plattengruppengröße und einem Plattengruppendurchsatz aufweist; wobei die eine oder die mehreren existierenden Plattengruppen im existierenden Pufferbereich eine existierende Plattengruppenanordnung aufweisen; und wobei die Befehle, die bewirken, dass der Datenprozessor eine oder mehrere Plattengruppen auswählt, die zum existierenden Pufferbereich im ersten Ablagesystem hinzugefügt werden sollen, umfassen: Befehle, die bewirken, dass der Datenprozessor die nicht verwendeten Plattengruppen nach Plattengruppenanordnung gliedert; Befehle, die bewirken, dass der Datenprozessor aus den nicht verwendeten Plattengruppen, die eine gleiche Plattengruppenanordnung wie die existierende Plattengruppenanordnung aufweisen, eine Liste von Kandidaten-Plattengruppen identifiziert, die, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, einen gesamten Plattengruppendurchsatz aufweisen, der größer ist als die berechnete Arbeitslast, und die eine gesamte Plattengruppengröße aufweisen, die größer ist als die berechnete Größe des Pufferbereichs; und Befehle, die bewirken, dass der Datenprozessor eine Anzahl von erforderlichen Plattengruppen in der identifizierten Liste von Kandidaten-Plattengruppen identifiziert, die zum existierenden Pufferbereich hinzugefügt werden sollen, durch (i) Dividieren der berechneten Arbeitslast durch den gesamten Plattengruppendurchsatz für die identifizierte Liste, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, und Aufrunden auf die nächste ganze Zahl, um einen ersten berechneten Wert zu erhalten, (ii) Dividieren der berechneten Größe des Pufferbereichs durch die Plattengruppengröße der identifizierten Liste, wenn sie zu den existierenden Plattengruppen hinzugefügt werden, und Aufrunden auf die nächste ganze Zahl, um einen zweiten berechneten Wert zu erhalten, und (iii) Auswählen eines Maximums des ersten berechneten Werts und des zweiten berechneten Werts als Anzahl von erforderlichen Plattengruppen in der identifizierten Liste von Kandidaten-Plattengruppen, die zum existierenden Pufferbereich hinzugefügt werden sollen.
  18. Computerlesbares Ablagemedium nach Anspruch 12, wobei das erste Ablagesystem eine Vielzahl von Plattengruppen aufweist; wobei eine Vielzahl von logischen Volumina im ersten Ablagesystem auf der Basis von ersten Beziehungsinformationen identifiziert werden; und wobei die Vielzahl von Befehlen ferner Befehle umfassen, die bewirken, dass der Datenprozessor: Plattengruppen identifiziert, die die identifizierten logischen Volumina im ersten Ablagesystem enthalten; eine Gesamtmenge an Platz zur Bereitstellung für jede der identifizierten Plattengruppen berechnet, um alle Daten der identifizierten logischen Volumina im ersten Ablagesystem zu enthalten; ein einzelnes logisches Volumen auf der Basis der berechneten Gesamtmenge an Platz zur Bereitstellung für jede der identifizierten Plattengruppen erzeugt; und die Arbeitslast und die Größe des Pufferbereichs unter Verwendung des erzeugten einzelnen logischen Volumens anstelle der identifizierten logischen Volumina berechnet.
  19. Computerlesbares Ablagemedium nach Anspruch 18, wobei die Vielzahl von Befehlen ferner umfassen: Befehle, die bewirken, dass der Datenprozessor einen Pufferbereich im ersten Ablagesystem auf der Basis der berechneten Arbeitslast und der berechneten Größe des Pufferbereichs erzeugt; Befehle, die bewirken, dass der Datenprozessor die erste Beziehung zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina aktualisiert; Befehle, die bewirken, dass der Datenprozessor eine oder mehrere neue virtuelle Maschinen der Vielzahl von virtuellen Maschinen, die im ersten Ablagesystem geschützt werden sollen, identifiziert, wobei die eine oder die mehreren neuen virtuellen Maschinen von den vorher identifizierten zu schützenden einen oder mehreren virtuellen Maschinen verschieden sind; Befehle, die bewirken, dass der Datenprozessor eine Vielzahl von neuen logischen Volumina der Vielzahl von logischen Volumina im ersten Ablagesystem identifiziert, wobei das eine oder die mehreren logischen Volumina von den identifizierten einen oder mehreren neuen virtuellen Maschinen verwendet werden, auf der Basis der ersten Beziehungsinformationen zwischen der Vielzahl von virtuellen Maschinen und der Vielzahl von logischen Volumina; Befehle, die bewirken, dass der Datenprozessor Plattengruppen identifiziert, die die identifizierten neuen logischen Volumina im ersten Ablagesystem enthalten; Befehle, die bewirken, dass der Datenprozessor eine Gesamtmenge an neuem Platz zur Bereitstellung für jede der identifizierten Plattengruppen berechnet, um alle Daten der identifizierten neuen logischen Volumina im ersten Ablagesystem zu enthalten; Befehle, die bewirken, dass der Datenprozessor ein neues einzelnes logisches Volumen auf der Basis der berechneten Gesamtmenge an neuem Platz zur Bereitstellung für jede der identifizierten Plattengruppen erzeugt, durch Modifizieren des vorher erzeugten einzelnen logischen Volumens, was das Entfernen von irgendwelchen virtuellen Maschinen, die nicht geschützt werden müssen, und das Hinzufügen von irgendwelchen virtuellen Maschinen, die neu geschützt werden müssen, auf der Basis der identifizierten einen oder mehreren neuen zu schützenden virtuellen Maschinen umfasst; Befehle, die bewirken, dass der Datenprozessor eine neue zu verwendende Arbeitslast für das neue einzelne logische Volumen auf der Basis von Informationen der überwachten Arbeitslast für das neue einzelne logische Volumen berechnet; Befehle, die bewirken, dass der Datenprozessor eine neue Größe eines neuen Pufferbereichs im ersten Ablagesystem berechnet, der für das vorübergehende Speichern von Kopiedaten verwendet werden soll, die vom ersten Ablagesystem zum zweiten Ablagesystem in einer entfernten Kopierprozedur von einem oder mehreren entfernten Kopiepaaren gesendet werden sollen, auf der Basis der berechneten neuen Arbeitslast des neuen einzelnen logischen Volumens, so dass der neue Pufferbereich für die entfernte Kopierprozedur des neuen einzelnen logischen Volumens mit einer Größe gleich oder größer als die berechnete neue Größe verwendet werden kann, um den Schutz der identifizierten einen oder mehreren neuen virtuellen Maschinen zu managen; und Befehle, die bewirken, dass der Datenprozessor den vorher erzeugten Pufferbereich modifiziert, um den neuen Pufferbereich auf der Basis der berechneten neuen Arbeitslast und der berechneten neuen Größe des neuen Pufferbereichs zu erzeugen.
DE112013006646.7T 2013-05-13 2013-05-13 Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation Active DE112013006646B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2013/001975 WO2014184606A1 (en) 2013-05-13 2013-05-13 Identifying workload and sizing of buffers for the purpose of volume replication

Publications (2)

Publication Number Publication Date
DE112013006646T5 DE112013006646T5 (de) 2015-10-22
DE112013006646B4 true DE112013006646B4 (de) 2023-06-15

Family

ID=49725155

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013006646.7T Active DE112013006646B4 (de) 2013-05-13 2013-05-13 Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation

Country Status (6)

Country Link
US (1) US9854037B2 (de)
JP (1) JP6211631B2 (de)
CN (1) CN104969169B (de)
DE (1) DE112013006646B4 (de)
GB (1) GB2524448B (de)
WO (1) WO2014184606A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9052938B1 (en) 2014-04-15 2015-06-09 Splunk Inc. Correlation and associated display of virtual machine data and storage performance data
US9575858B2 (en) * 2014-10-02 2017-02-21 Vmware, Inc. Dynamic protection of storage resources for disaster recovery
JP6613603B2 (ja) * 2015-04-30 2019-12-04 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム
US9864640B2 (en) 2015-08-14 2018-01-09 International Business Machines Corporation Controlling virtual machine density and placement distribution in a converged infrastructure resource pool
WO2018011839A1 (ja) * 2016-07-11 2018-01-18 株式会社日立製作所 情報処理システム、及び、情報処理システムの制御方法
US10949124B2 (en) * 2019-06-28 2021-03-16 Amazon Technologies, Inc. Virtualized block storage servers in cloud provider substrate extension
JP7154261B2 (ja) * 2020-09-25 2022-10-17 株式会社日立製作所 複合型ストレージシステム
US11537310B2 (en) 2021-02-05 2022-12-27 Microsoft Technology Licensing, Llc Threading of replication based on data type

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120131287A1 (en) 2010-11-19 2012-05-24 Tadato Nishina Storage control apparatus and logical volume size setting method
US20120239730A1 (en) 2010-09-15 2012-09-20 Oracle International Corporation System including a middleware machine environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204358A (ja) 2007-02-22 2008-09-04 Hitachi Ltd 継続的データ保護方法および継続的データ保護システム
JP4916420B2 (ja) 2007-11-16 2012-04-11 株式会社日立製作所 ストレージシステム及びリモートコピー制御方法
JP5387315B2 (ja) * 2009-10-13 2014-01-15 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
US8516209B2 (en) * 2010-09-16 2013-08-20 Hitachi, Ltd. Computer system, storage volume management method, and computer-readable storage medium
JP5470594B2 (ja) 2010-09-16 2014-04-16 株式会社日立製作所 計算機システム及びストレージ・ボリューム管理方法
US8478961B2 (en) * 2011-03-02 2013-07-02 International Business Machines Corporation Dynamic migration of virtual machines based on workload cache demand profiling
US9626105B2 (en) * 2011-12-12 2017-04-18 International Business Machines Corporation Controlling a storage system
CN102868727B (zh) * 2012-08-23 2015-06-17 广东电子工业研究院有限公司 一种实现逻辑卷高可用性的方法
US8966316B2 (en) * 2012-11-30 2015-02-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Identifying software responsible for changes in system stability
US9135140B2 (en) * 2012-11-30 2015-09-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Identifying software responsible for a change in system stability

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239730A1 (en) 2010-09-15 2012-09-20 Oracle International Corporation System including a middleware machine environment
US20120131287A1 (en) 2010-11-19 2012-05-24 Tadato Nishina Storage control apparatus and logical volume size setting method

Also Published As

Publication number Publication date
WO2014184606A1 (en) 2014-11-20
US9854037B2 (en) 2017-12-26
CN104969169A (zh) 2015-10-07
GB2524448B (en) 2020-10-14
JP2016510918A (ja) 2016-04-11
CN104969169B (zh) 2017-11-17
US20160014200A1 (en) 2016-01-14
JP6211631B2 (ja) 2017-10-11
GB2524448A (en) 2015-09-23
GB201513463D0 (en) 2015-09-16
DE112013006646T5 (de) 2015-10-22

Similar Documents

Publication Publication Date Title
DE112013006646B4 (de) Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation
DE60008021T2 (de) Speicherverwaltungssystem mit gemeinsamen trägerverwalter
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE60313783T2 (de) Bewegen von daten zwischen speichereinheiten
DE102013210642B4 (de) Vorrichtung zum Wiederherstellen von Redundanz
DE112010004931B4 (de) Mehrphasige Wiederherstellung von Dateisystemen mit Selektiver Bedarfsweiser Verfügbarkeit von Daten
DE112019000321T5 (de) Transaktionsoperationen in verteilten Multi-Master-Datenverwaltungssystemen
DE60035432T2 (de) System zur verwaltung der rdbm fragmentierungen
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE102013204508A1 (de) Dynamisches Neukonfigurieren eines Speichersystems
DE112018006769B4 (de) Erweiterte zwischenspeicherzuweisung basierend auf virtuellen knotenressourcen
DE112013004400B4 (de) Herstellen einer Zeitpunktkopie-Beziehung zwischen logischen Quellenadressen und logischen Zieladressen
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE112012000282B4 (de) Anwendungswiederherstellung in einem Dateisystem
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE60312527T2 (de) Verwalten von daten mittels einer mehrzahl von speicherattributen
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
DE112019005392T5 (de) Steigern von datenleistung durch transferieren von daten zwischen speicherebenen unter verwendung von arbeitslastmerkmalen
DE112019000402T5 (de) Chronologisch geordnetes out-of-place-aktualisierungs-schlüssel-wert-speichersystem
DE102021127254A1 (de) Inhaltssensitives Auswählen von Knoten zum Erstellen von Containern
DE102012221814A1 (de) Neuanordnung von Software-Abbildern auf der Grundlage von deren vorhergesagter Verwendung
DE102020112531A1 (de) Operationelle metrische Berechnung für Arbeitsbelastungstyp
DE10234138A1 (de) Verwalten einer Speicherkonkurrenz bei automatisierten Speichersystemen
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE102012221261A1 (de) Verfahren zum Zwischenspeichern und System zum Ausführen des Verfahrens zum Zwischenspeichern zum Betreiben eines mindestens einen Host-Computer aufweisenden Computerserversystems

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0003060000

Ipc: G06F0009440000

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final