DE10393595B4 - Verfahren und Vorrichtung zum Liefern von Speicherressourcen - Google Patents

Verfahren und Vorrichtung zum Liefern von Speicherressourcen Download PDF

Info

Publication number
DE10393595B4
DE10393595B4 DE10393595T DE10393595T DE10393595B4 DE 10393595 B4 DE10393595 B4 DE 10393595B4 DE 10393595 T DE10393595 T DE 10393595T DE 10393595 T DE10393595 T DE 10393595T DE 10393595 B4 DE10393595 B4 DE 10393595B4
Authority
DE
Germany
Prior art keywords
action
transaction
logical
storage
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE10393595T
Other languages
English (en)
Other versions
DE10393595T5 (de
Inventor
Paul M. Lexington Bober
Jason D. Cambridge Lindholm
Jeffrey L. Watertown Alexander
Sheldon Lexington Lowenthal
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.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Publication of DE10393595T5 publication Critical patent/DE10393595T5/de
Application granted granted Critical
Publication of DE10393595B4 publication Critical patent/DE10393595B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zum Erstellen von wenigstens einem Abschnitt eines Computersystems, um eine Spezifikation zu erfüllen, die in einer Erstellungsanfrage enthalten ist, die eine Spezifikation einer gewünschten Konfiguration für das Computersystem und Komponenten einer hostcomputerbezogenen Information, einer speichersystembezogenen Information und einer verbindungsressourcenbezogenen Information enthält, wobei das Verfahren die folgenden Aktionen umfaßt:
(A) Lesen der Erstellungsanfrage, wobei die Erstellungsanfrage den wenigstens einen Abschnitt des Computersystems definiert, so dass dieser eine Speichereinheit enthält, die für wenigstens einen einer Vielzahl von Hostcomputern vorgesehen ist; und
folgende automatische Aktionen:
(B) automatisches Erstellen von wenigstens einem Abschnitt des Computersystems im Ansprechen auf die Erstellungsanfrage, mit den folgenden Aktionen:
(B1) Auswählen von wenigstens einem logischen Speichervolumen von wenigstens einem Speichersystem, welches als Speichereinheit dienen kann, die durch die Erstellungsanfrage definiert ist;
(B2) Auswählen von wenigstens einer Verbindungsressource, die einen Kommunikationspfad liefern kann, über den das ausgewählte wenigstens eine logische Volumen für wenigstens einen...

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft Computersysteme und spezieller das Liefern von Ressourcen in einem Computersystem.
  • BESCHREIBUNG DES STANDES DER TECHNIK
  • Viele Computersysteme enthalten einen oder mehrere Hostcomputer, ein oder mehrere Speichersysteme, welche Daten speichern, die durch die Hostcomputer verwendet werden, und eine oder mehrere Netzwerkkomponenten, die eine Kommunikation zwischen den Hostcomputern und den Speichersystemen ermöglichen. Ein Beispiel solch eines Systems ist in 1 gezeigt.
  • Das System 10 von 1 enthält ein Paar von Hostcomputern 1, 2, ein Paar von Speichersystemen 6, 7 und eine Vielzahl an Schaltern 35, welche die Hostcomputer mit den Speichersystemen verbinden. Wie in 1 dargestellt ist, enthält jeder der Hostcomputer 1, 2 ein oder mehrere Dateisysteme 16, 26, die in logischer Weise auf Sätze von Daten bezogen sind, die durch die Betriebssysteme der Hostcomputer erzeugt und aufbewahrt werden und die unter logischen Volumina des Speichers gespeichert sind, der durch die Speichersysteme 6, 7 wiedergegeben ist (wiedergegeben durch strichlierte Linien in 1). Die logischen Volumina können jeweils einer physikalischen Speichervorrichtung entsprechen (wie beispielsweise einem Plattenlaufwerk), und zwar innerhalb einem der Speichersysteme, oder, wenn die Speichersysteme 6, 7 aus intelligenten Speichersystemen bestehen, kann eine Abbildungsschicht (mapping layer) durch die Speichersysteme vorgesehen sein, und zwar zwischen den logischen Volumina, die durch die Hostcomputer und die physikalischen Speichervorrichtungen gebildet werden. Es braucht daher keine Eins-zu-Eins-Entsprechung zwischen den logischen Volumina vorhanden zu sein, die durch die Hostcomputer und die physikalischen Speichervorrichtungen gebildet werden, da ein einzelnes logisches Volumen über eine Vielzahl von physikalischen Speichervorrichtungen verteilt sein kann oder alternativ eine Anzahl der physikalischen Speichervorrichtungen kombiniert sein können, um Daten für ein einzelnes logisches Volumen zu speichern.
  • In einigen Computersystemen können Speichersysteme direkt an die Hostcomputer angebracht sein, und zwar in solcher Weise, dass jeder Port an dem Speichersystem einem Port eines bestimmten Hostcomputers zugeordnet ist. Jedoch wird bei dem veranschaulichten Computersystem von 1 ein Speicherbereichsnetzwerk (SAN) verwendet, so dass ein Zugriff auf die Speichersysteme 6, 7 unter einer Vielzahl von Hostcomputern gemeinsam erfolgen kann. Es sind somit Netzwerkkomponenten zwischen den Hostcomputern 1, 2 und den Speichersystemen 6, 7 angeschlossen. Wie in 1 dargestellt ist, können die Netzwerkkomponenten einen oder mehrere Schalter 35 umfassen, die zwischen den Hostcomputern 1, 2 und den Speichersystemen 6, 7 zwischengeschaltet sein können, um die gewünschte Konfiguration zu liefern. Es sei in dieser Hinsicht darauf hingewiesen, dass jeder der Hostcomputer 1, 2, jedes der Speichersysteme 6, 7 und jeder der Schalter 35 einen oder mehrere Ports aufweisen, die dazu befähigt sind, über ein Kommunikationsmedium mit dem Port einer anderen Vorrichtung gekoppelt zu werden, um eine Kommunikation über diesen Port zu ermöglichen. Beispielsweise enthält bei dem veranschaulichten Computersystem von 1 der Hostcomputer 1 eine Vielzahl an Ports 15, von denen jeder über eine Kommunikationsleitung 17 mit einem einer Vielzahl von Ports 33 an dem Schalter 3 verbunden ist. In ähnlicher Weise enthält der Hostcomputer 2 eine Vielzahl an Ports 25, die jeweils über eine Kommunikationsleitung 27 mit einem einer Vielzahl von Ports 43 an dem Schalter 4 verbunden sind. Der Schalter 3 enthält ferner einen Port 35, der über die Kommunikationsleitung 37 mit einem einer Vielzahl von Ports 53 an dem Schalter 5 gekoppelt ist. In ähnlicher Weise enthält der Schalter 4 einen Port 45, der über eine Kommunikationsleitung 47 mit dem anderen einen der Vielzahl der Ports 53 an dem Schalter 5 gekoppelt ist. Schließlich enthält der Schalter 5 eine Vielzahl von Ports 55, die über eine Vielzahl von Kommuni kationsleitungen 57 mit den Speichersystemen 6, 7 verbunden sind. Speziell enthält das Speichersystem 6 eine Vielzahl an Ports 65, die mit einem untergeordneten Satz der Ports 55 des Schalters 5 über einige der Kommunikationsleitungen 57 gekoppelt sind, und das Speichersystem 7 enthält eine Vielzahl von Ports 75, die mit unterschiedlichen der Ports 55 an dem Schalter 5 über andere Kommunikationsleitungen 57 verbunden sind.
  • Es sei darauf hingewiesen, dass die oben erläuterte Konfiguration einen physikalischen Kommunikationspfad von irgendeinem der Ports an den Hostcomputer 1, 2 über die Schalter 35 zu irgendwelchen Ports an den Speichersystemen 6, 7 realisiert. Jedes der Speichersysteme 6, 7 kann so konfiguriert sein, dass ein oder mehrere logischen Volumina (66 für das Speichersystem 6 und 77 für das Speichersystem 7) außerhalb des Speichersystems an oder mehreren der Speichersystemports 65, 75 verfügbar sind. In der veranschaulichten Konfiguration von 1 werden zwei der logischen Volumina 66 in dem Speichersystem 6 über jeden der Ports 65 exportiert und es werden zwei der logischen Volumina 77 in dem Speichersystem 7 über jeden der Ports 75 exportiert.
  • Obwohl die physikalischen Verbindungen, die bei dem System von 1 veranschaulicht sind, es physikalisch ermöglichen können, dass jeder der Hostcomputer 1, 2 auf jedes der logischen Volumina 66, 77 über irgendeinen der Hostcomputer Ports 15, 25 zugreifen kann, sei darauf hingewiesen, dass bei den meisten typischen Computersystemkonfigurationen der einem Hostcomputer gebotene Zugriff stärker eingeschränkt ist. Beispielsweise wird bei vielen Computersystemen irgendein spezielles logisches Volumen der logischen Volumina 66, 77 nicht durch die Hostcomputer 1, 2 gemeinsam verwendet, sondern wird lediglich einem der Hostcomputer zugeordnet. Speziell werden bei einigen Computersystemkonfigurationen Sicherheitsmaßnahmen (z. B. Verzonung und/oder Maskierung) getroffen, um einen begrenzten Zugriff zu einem oder mehreren der logischen Volumina 66, 77 festzulegen.
  • Ein anderes Beispiel eines Computersystems ist in 4 gezeigt und enthält einen Hostcomputer 401 und ein Speichersystem 403, welches eine Vielzahl an Speichervor richtengen enthält, bei denen Daten gespeichert sind. Der Hostcomputer 401 und das Speichersystem 403 zeigen veranschaulichende Konfigurationen für den Hostcomputer 1, 2 und die Speichersysteme 6, 7 in dem System 10 von 1, obwohl zahlreiche andere Konfigurationen möglich sind.
  • Bei dem in 4 gezeigten Systembeispiel enthält das Speichersystem 403 eine Vielzahl von Plattenlaufwerken 405a405b und eine Vielzahl an Platten-Controllern 407a407b, die jeweils den Zugriff auf die Plattenlaufwerke 405a405b steuern. Das Speichersystem 403 enthält ferner eine Vielzahl von Speicherbusdirektoren 409, welche die Kommunikation mit dem Hostcomputer 401 über Kommunikationsbusse 417 steuern. Das Speichersystem 403 enthält auch einen Cache 411, um eine verbesserte Speichersystemperformance zu liefern; speziell dann, wenn der Hostcomputer 401 einen Lesevorgang aus dem Speichersystem 403 ausführt, kann das Speichersystem 403 den Lesevorgang aus dem Cache 411 unterstützen (wenn die Daten in dem Cache gespeichert sind) und nicht von einem der Plattenlaufwerke 405a405b, um den Lesevorgang effizienter durchzuführen. Wenn in ähnlicher Weise der Hostcomputer 401 einen Schreibvorgang an dem Speichersystem 403 vornimmt, kann der entsprechende Speicherbus-Direktor 409 den Schreibvorgang in den Cache 411 vornehmen. Danach kann der Schreibvorgang asynchron durchgeführt werden, und zwar in einer Weise, die für den Hostcomputer 401 transparent ist, und zwar in eines der Plattenlaufwerke 405a405b. Schließlich enthält das Speichersystem 403 einen internen Bus 413, über welchen die Speicherbus-Direktoren 409, die Platten-Controller 407a407b und der Cache 411 kommunizieren.
  • Der Hostcomputer 401 enthält einen Prozessor 416 und einen oder mehrere Host-Bus-Adapter 415, von denen jeder die Kommunikation zwischen dem Prozessor 416 und dem Speichersystem 403 über einen entsprechenden einen der Kommunikationsbusse 417 steuert. Es sei darauf hingewiesen, dass anstelle eines einzelnen Prozessors 416 der Hostcomputer 401 Vielfach-Prozessoren enthalten kann. Jeder Bus 417 kann irgendeinen einer Anzahl von unterschiedlichen Typen von Kommunikationsverbindungsgliedern darstellen, wobei der Host-Bus-Adapter 415 und die Speicherbus-Direk toren 409 dafür ausgelegt sind, um zu kommunizieren, und zwar unter Verwendung eines geeigneten Protokolls für den Kommunikationsbus 417, der dazwischen gekoppelt ist. Beispielsweise kann jeder der Kommunikationsbusse 417 als ein SCSI-Bus implementiert werden, wobei die Direktoren 409 und die Adapter 415 jeweils einen SCSI-Treiber bilden. Alternativ kann eine Kommunikation zwischen dem Hostcomputer 401 und dem Speichersystem 403 über eine Faserkanalstruktur vorgenommen werden.
  • Wie bei dem als Beispiel verwendeten System von 4 gezeigt ist, verwenden einige Computersysteme Vielfachpfade zur Realisierung einer Kommunikation zwischen dem Hostcomputer 401 und dem Speichersystem 403 (beispielsweise enthält jeder Pfad einen Host-Bus-Adapter 415, einen Bus 417 und einen Speicherbus-Direktor 409 in 4). Bei vielen solchen Systemen besitzt jeder der Host-Bus-Adapter 415 die Fähigkeit, auf jedes der Plattenlaufwerke 405a405b über den geeigneten Speicherbus-Direktor 409 und den Platten-Controller 407a407b zuzugreifen. Es sei darauf hingewiesen, dass das Vorsehen solcher Vielfachpfadfähigkeiten die Systemperformance erhöht und dass Vielfach-Kommunikationsoperationen zwischen dem Hostcomputer 401 und dem Speichersystem 403 gleichzeitig durchgeführt werden können.
  • 5 ist eine schematische Darstellung einer Anzahl von Abbildungsschichten, die in einem Vielfachpfad-Computersystem vorhanden sein können, wie in dem einen, welches in 4 gezeigt ist. Das System enthält eine Anwendungsschicht 521, welche Anwendungsprogramme enthält, die auf dem Prozessor 416 des Hostcomputers 401 ausgeführt werden. Die Anwendungsschicht 521 verweist allgemein auf Speicherstellen, die mit einer Aufschrift oder einem Identifizierer, wie beispielsweise einem Dateinamen, verwendet werden, und besitzt keine Kenntnis darüber, wo die Datei physikalisch in dem Speichersystem 403 gespeichert ist. Unter der Anwendungsschicht 521 befindet sich ein Dateisystem und/oder ein logischer Volumenmanager (LVM) 523, der die Aufschriften oder Identifizierer abbildet, die durch die Anwendungsschicht 521 spezifiziert sind, und zwar zu einem logischen Volumen, welches der Hostcomputer empfängt, um direkt einer physikalischen Vorrichtungsadresse zu entsprechen (z. B. der Adresse von einem der Plattenlaufwerke 405a405b), und zwar innerhalb des Speichersystems 403. Unterhalb von dem Dateisystem/LVM-Schicht 523 ist eine Vielfachpfad-Abbildungsschicht 525 vorhanden, welches die logische Volumenadresse auflistet oder abbildet, die durch das Dateisystem/LVM-Schicht 523 spezifiziert wird, und zwar über einen bestimmten einen der Vielfachsystempfade zu der logischen Volumenadresse, die dem Speichersystem 403 dargeboten wird. Somit spezifiziert die Vielfachpfad-Abbildungsschicht 525 nicht nur eine bestimmte logische Volumenadresse, sondern auch einen bestimmten einen der Vielfachsystempfade, um auf das spezifizierte logische Volumen zuzugreifen. Beispiele einer Software, die zum Implementieren der Vielfachpfad-Abbildungsschichten verwendet wird, enthält den PowerPath-Treiber, welcher von der EMC Corporation, Veritas DMP, verfügbar ist, und den Compaq SecurePath.
  • Wenn das Speichersystem 403 nicht aus einem intelligenten Speichersystem besteht, identifiziert die logische Volumenadresse, die durch die Vielfachpfadschicht 525 spezifiziert wird, eine bestimmte physikalische Vorrichtung (z. B. eines der Plattenlaufwerke 405a405b) innerhalb des Speichersystems 403. Jedoch kann bei einem intelligenten Speichersystem, wie demjenigen, welches in 4 gezeigt ist, das Speichersystem selbst eine weitere Abbildungsschicht 527 enthalten, und zwar in solcher Weise, dass die logische Volumenadresse, die von dem Hostcomputer 401 übertragen wird, nicht direkt einer aktuellen physikalischen Vorrichtung (z. B. einem Plattenlaufwerk 405a405b) bei dem Speichersystem 403 entspricht. Vielmehr kann das logische Volumen, welches durch den Hostcomputer 401 spezifiziert wird, über eine Vielzahl von physikalischen Speichervorrichtungen (z. B. den Plattenlaufwerken 405a405b) verteilt sein oder es können eine Vielzahl von logischen Volumina, auf die der Hostcomputer 401 zugreift in der einzelnen physikalischen Speichervorrichtung gespeichert sein.
  • Es sei darauf hingewiesen, dass die speziellen Systemkonfigurationen, die in den 1, 4 und 5 gezeigt sind, lediglich zum Zwecke der Veranschaulichung vorgesehen sind und dass typische Konfigurationen in vielfältiger Weise variieren können und häufig in signifikanter Weise komplexer sein können, und zwar hinsichtlich der Zahl der Hostcomputer, der Speichersysteme und/oder der Netzwerkkomponenten, welche diese miteinander verbinden. Während ferner jeder der vielen Instanzen des Hostcomputers, Schalter und Speichersysteme in 1 so veranschaulicht ist, dass sie im Wesentlichen die gleiche Konfiguration aufweisen (z. B. die gleiche Zahl an Ports, die gleiche Zahl an logischen Volumina usw.), sei erwähnt, dass bei typischen Konfigurationen die vielfältigen Systemkomponenten unterschiedliche Konfigurationen aufweisen können.
  • Es sei darauf hingewiesen, dass die Ressourcenauswahl und -konfiguration zur Bildung eines Computersystems wie demjenigen, welches in 1 gezeigt ist, eine komplexe und arbeitsaufwändige Übung darstellen kann, da eine unzählige Zahl von Operationen durchgeführt werden muss. Beispielsweise werden zum Erzeugen der Konfiguration von 1, welche Abbildungsschichten verwendet, die in 4 dargestellt sind, Bestimmungen durchgeführt, und zwar hinsichtlich der Zahl und der Größen der logischen Volumina 66, 67, die für spezielle Ressourcen in den Hostcomputern 1, 2 verfügbar sein sollen (z. B. den Dateisystemen 16, 26), durch die in Verbindung mit den Ports der Speichersysteme, der Schalter und der Hostcomputer die logischen Volumina verfügbar werden. Zusätzlich werden Sicherheitsmaßnahmen implementiert, um einen Hostzugriff auf die logischen Volumina festzulegen, und es werden Abtastschritte durch die Hostcomputer 1, 2 für jeden Port 15, 25 durchgeführt, damit die Hostcomputer die Fähigkeit erhalten, die logischen Volumina zu erkennen, die für sie verfügbar gemacht wurden. Der Konfigurationsprozess wird ferner durch die Tatsache verkompliziert, dass die Systemkomponenten heterogene physikalische Eigenschaften besitzen können. Beispielsweise können die Kommunikationsverbindungsglieder 17, 27, 37, 47, 57 je als ein SCSI-Bus, eine Faserkanalverbindung oder als ein anderer Typ einer Verbindung implementiert werden, es können die Schalter 35 aus einer Sammlung von heterogenen Schaltertypen ausgewählt werden und es können die Hostcomputer und/oder Speichersysteme durch unterschiedliche Lieferfirmen geliefert werden. Jede dieser Komponenten kann spezielle Konfigurationsanforderungen darstellen.
  • Das Erstellen virtueller Computersysteme ist in folgenden Veröffentlichungen behandelt:
    • J. Sugerman et al.: Virtualizing I/O Devices an VMware Workstation's Hosted Virtual Machine Monitor, Proceedings of the 2001 USENIX Annual Technical Conference, Boston Massachusetts, USA, June 25–30, 2001; und
    • US 2002/0069369 A1
  • Aufgabe der Erfindung ist die Vereinfachung der Erstellung eines virtuellen Computersystems oder eines Abschnittes eines Computersystems, welches Spezifikationen einer Erstellungsanfrage erfüllt.
  • Diese Aufgabe wird erfindungsgemäß durch ein Verfahren gemäß Anspruch 1 gelöst. Eine erfindungsgemäße Lösung ist auch durch eine Vorrichtung mit den Merkmalen des Anspruchs 26 gegeben. Weiter umfasst die Erfindung ein computerlesbares Medium zur Durchführung des hier angegebenen Verfahrens.
  • Vorteilhafte Ausgestaltungen und Weiterbildungen sind Gegenstand der jeweiligen abhängigen Ansprüche, deren Inhalt hierdurch ausdrücklich zum Bestandteil der Beschreibung gemacht wird, ohne an dieser Stelle den Wortlaut im Einzelnen zu wiederholen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockschaltbild, welches ein als Beispiel gewähltes Computersystem eines Typs wiedergibt, der gemäß den Ausführungsformen der Erfindung zur Erstellung verwendet werden kann;
  • 2 ist ein Flussdiagramm, welches einen Prozess darstellt, durch den Computersystemressourcen in Einklang mit einer Ausführungsform der Erfindung vorgesehen werden;
  • 3 veranschaulicht konzeptmäßig die Erzeugung einer Erstellungsanfrage gemäß einer Ausführungsform der Erfindung;
  • 4 ist ein Blockschaltbild, welches ein als Beispiel gewähltes Computersystem veranschaulicht, welches einen Hostcomputer und ein Speichersystem des Typs enthält, der bei einem Computersystem verwendet werden kann, welches gemäß vielfältiger Ausführungsformen der vorliegenden Erfindung erstellt wird;
  • 5 veranschaulicht eine Zahl von Softwareschichten, die in einem Computersystem verwendet werden können, wie demjenigen, welches in 4 gezeigt ist; und
  • 6 veranschaulicht einen Prozess zum Auswählen von Ressourcen, um eine Erstellungsanfrage zu erfüllen, und zwar entsprechend einer Ausführungsform der vorliegenden Erfindung.
  • DETAILLIERTE BESCHREIBUNG
  • Eine Ausführungsform der vorliegenden Erfindung betrifft ein Verfahren und eine Vorrichtung zum automatischen Erstellen von Ressourcen in einem Computersystem. Bei einer Ausführungsform definiert ein Anwender eine gewünschte Systemkonfiguration und der Prozess erstellt automatisch die gewünschte Systemkonfiguration, was bedeutet, dass geeignete Ressource ausgewählt werden und/oder Aktionen durchgeführt werden, um die Ressourcen in der spezifizierten Form zu konfigurieren. Die hier verwendete Bezeichnung bzw. Hinweis auf eine Aktion, die automatisch ausgeführt wird, kennzeichnet eine Aktion, die keinerlei menschliche Intervention involviert, um zu einer Vervollständigung zu kommen, wenn die Aktion einmal initialisiert wurde.
  • Wie oben erläutert ist, kann das Erstellen eines Computersystems einen komplexen Prozess darstellen, der eine Anzahl von Ausgaben involviert. Diese Ausgaben können grob in hostgestützte Ausgaben kategorisiert werden, ferner in speichersystemgestützte Ausgaben und verbindungs- oder netzwerkgestützte Ausgaben.
  • Beispiele der hostgestützten Ausgaben umfassen die Bestimmung der Größe des Speicherraumes (aufgeteilt unter einem oder mehreren logischen Volumina), der für einen Host gewünscht wird, und die Zuordnung solcher logischer Volumina unter verschiedenen Ressourcen in dem Host, wie beispielsweise einem weiteren Dateisystem oder Dateisystemen, logischen Volumenmanagern (LVM) und Datenbankmanagern.
  • Beispiel von speichersystemgestützten oder -basierten Ausgaben umfassen das Merkmal, wie viele Speichersysteme verwendet werden, wie viele logische Volumina des Speichers verfügbar gemacht werden, welches Speicherkapazität sie aufweisen sollen, ob die logischen Volumina momentan an Speicherports abgebildet sind oder abgebildet werden müssen, um einen Zugriff zu ermöglichen, ob irgendwelche der Volumina gespiegelt werden oder anderweitig dupliziert werden, umfassen ferner Performanceanforderungen für bestimmte Volumina des Speichers (es sei darauf hingewiesen, dass ein Computersystem viele unterschiedliche Typen von Speichersystemen enthalten kann, und zwar mit unterschiedlichen Performancecharakteristika), Merkmale hinsichtlich der Typen der physikalischen Speichervorrichtungen, an denen ein oder mehrere der logischen Volumina gespeichert werden sollen und ob bestimmte logische Volumina bestimmte hohe Werte der Eingabe/Ausgabe-(I/O)-Aktivität handhaben sollen usw.
  • Schließlich enthalten die verbindungs- oder netzwerkgestützten Ausgaben das Bestimmen, welche Hostcomputer einen Zugriff auf logische Volumina des Speichers erhalten sollen, die Ports an dem Computersystem, über die ein logisches Volumen für einen bestimmten Host zugänglich gemacht wird, und die Konfiguration von Sicherheitsmaßnahmen, wie beispielsweise Schichtbildungsoperationen (zoning operations), die den Zugriff durch einen bestimmten Host auf bestimmte logische Volumina begrenzen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein automatischer Prozess dafür verwendet, um automatisch ein Computersystem im Ansprechen auf eine Erstellungsanfrage zu erstellen, die eine Spezifikation enthält, welche eine gewünschte Konfiguration für das Computersystem festlegt. Wenn es gewünscht wird, kann die Erstellungsanfrage eine spezifische Identifizierung enthalten, und zwar auf einem sehr detaillierten Wert, kann die exakte Natur des zu konfigurierenden Systems enthalten mit einem Extrem, welches identifiziert, welche Ports von bestimmten Vorrichtungen verbunden werden sollten. Jedoch wird gemäß einer Ausführungsform der vorliegenden Erfindung das Detail auf niedriger Ebene, welches die Erstellung des Computersystems betrifft, einem automatischen Prozess überlassen, und zwar in solcher Weise, dass die Erstellungsanfrage auf einem signifikant höheren Wert oder Ebene vorgesehen wird, wodurch dann die Zeit und der Aufwand reduziert werden, die zum Konstruieren einer Erstellungsanfrage erforderlich sind. Somit kann in einer Weise, wie sie weiter unten beschrieben wird, die Erstellungsanfrage Aspekte des Systems definieren, und zwar auf einem relativ hohen Niveau oder Ebene, und zwar in Ausdrücken der Natur der Konfiguration, die festzulegen ist, und es findet dann der automatische Erstellungsprozess entsprechend der Definition auf hoher Ebene und entsprechend einer automatischen Erstellung eines Computersystems statt, welcher die Definition befriedigt bzw. zu dieser passt. Wenn jedoch der Anwender eine Wahl trifft, eine Definition zu schaffen, die Anforderungen auf einer niedrigeren Ebene bedeutet, kann der automatisierte Erstellungsprozess ebenfalls mit solchen Anforderungen in Einklang gebracht werden. Jedoch kann der automatisierte Erstellungsprozess auch eine Definition auf höherer Ebene handhaben und automatisch ein Computersystem erstellen, welches diese Definition erfüllt.
  • 1. Festlegen einer Erstellungsanfrage
  • Die Erstellungsanfrage kann in irgendeiner von zahlreichen Formen vorgesehen werden, so dass die vorliegende Erfindung nicht auf irgendeine spezielle Implementierung begrenzt ist. Wie oben erläutert wurde, kann die Definition eines Computersystems, welches erstellt werden soll, Informationen enthalten, die grob in drei Bereiche kategorisiert werden können: hostbasierte Informationen, speichersystembasierte Informationen und verbindungs- oder netzwerkbasierte Informationen. Bei einer Ausführungsform der vorliegenden Erfindung enthält eine Erstellungsanfrage drei Komponenten, die auf diese drei unterschiedlichen Bereiche bezogen sind. Das Erzeugen einer Erstellungsanfrage, welche diese drei Komponenten enthält, ist konzeptmäßig in 3 veranschaulicht. Natürlich ist die vorliegende Erfindung nicht auf eine Erstellungsanfrage begrenzt, welche diese Form aufweist, da nämlich auch andere Implementierungen möglich sind.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird die Erstellungsanfrage vereinfacht, und zwar durch Verwenden eines Konzeptes, welches als ein Speicherelement bekannt ist, um Einheiten des Speichers zusammenzufassen, die in logischer Weise von der Perspektive eines Hostcomputers aus in Beziehung stehen (z. B. eine Sammlung von logischen Volumina, die zusammen ein Dateisystem speichern, ein logischer Volumenmanager oder eine Datenbank). Wenn somit ein Speichervolumen innerhalb eines logisch bezogenen Satzes eine Anzahl von Hardwarespiegeln aufweist, können solche Hardwarespiegel (hardware mirrors) als ein Teil des gleichen Speicherelements definiert werden, da die Hardwarespiegelungsoperation durch die Speichersysteme in einer Weise durchgeführt werden, die für den Host transparent ist. Wenn umgekehrt ein Speichervolumen einen Softwarespiegel aufweist, der durch den Host selbst aufbewahrt wird, kann der Softwarespiegel in einem unterschiedlichen Speicherelement vorgesehen sein. Es sei darauf hingewiesen, dass die vorliegende Erfindung nicht auf eine Implementierung begrenzt ist, die ein Speicherelementkonzept in dieser Weise liefert, da zahlreiche andere Implementierungen ebenso möglich sind. Obwohl ferner die Verwendung von Speicherelementen zum Zusammenfassen von logisch bezogenen Speichereinheiten vorteilhaft ist, sei erwähnt, dass die vorliegende Erfindung nicht auf die Verwendung einer Erstellungsanfrage begrenzt ist, welche dieses Konzept verwendet, da jede Speichereinheit alternativ individuell behandelt werden kann.
  • Wie oben dargelegt ist, enthält eine Ausführungsform eine Erstellungsanfrage mit Komponenten, die speichersystembasierte Ausgaben adressieren, ebenso hostbasierte Ausgaben und verbindungs- oder netzwerkbasierte Ausgaben. Dies ist konzeptmäßig in 3 veranschaulicht, wobei ein Block 210 die Erzeugung einer Speichervorrichtungsspezifikation, die sich auf speichersystembasierte Konfigurationsausgaben richtet, wiedergibt, wobei der Block 214 das Erzeugen einer Hostspezifikation, die hostbasierte Konfigurationsausgaben betrifft, wiedergibt, und wobei ein Block 212 das Erzeugen einer logischen Hosteinheitsspezifikation (HLU) wiedergibt, die sich mit den verbindungs- oder netzwerkbasierten Ausgaben befaßt.
  • A. Speichervorrichtungsspezifikation
  • Die in dem Block 210 erzeugte Speichervorrichtungsspezifikation definiert die Konfiguration des Speichersystems. Wie oben erläutert ist, kann die Erstellungsanfrage auf irgendeiner Ebene eines Details liegen, welche der Fragesteller wünscht, die Speichervorrichtungsspezifikationskomponente kann irgendwelche Aspekte des Speichersystems oder der Speichersysteme definieren, die der Anfragesteller in einer bestimmten Weise zu konfigurieren wünscht. Beispiele von Typen von Informationen, die in der Speichervorrichtungsspezifikation enthalten sind, können die Zahl der Speichervolumina enthalten, die verfügbar gemacht werden sollen, die Speicherkapazität von jedem Volumen, die Spiegel- oder Verdoppelungseigenschaften (z. B. ein örtlicher oder geografisch entfernt gelegener Hardwarespiegel), Abtrennerfordernisse, Redundanz oder Fehlertoleranzanforderungen (z. B. eine der RAID-Ebenen), irgendwelche gewünschten Performanceanforderungen für bestimmten Volumina, die auf I/O-Operationen ansprechen, irgendwelche spezifischen Anforderungen für den Typ von physikalischen Speichervorrichtungen, bei der eines oder mehrere der Volumina gespeichert werden sollen, spezifische Händler und/oder Modelle, bei denen ein oder mehrere Volumina gespeichert werden sollen, und Ersatzvolumina, die vorgesehen werden sollen (z. B. ein Hostersatz, um kurzzeitige Performanceverbesserungen zu erreichen oder für die Verwendung als ein Snap-Shot-Spiegel, wie beispielsweise eines Geschäftsfortsetzungsvolumens (BCV), welches von der EMC Corporation erhältlich ist). Es sei darauf hingewiesen, dass die oben angegebene Auflistung lediglich zur Veranschaulichung angefügt ist und nicht erschöpfend ist, da irgendwelche Charakteristika eines Speichersystems in der Speichervorrichtungsspezifikation enthalten sein können, wenn der Anfragesteller wünscht, dass die Systemkonfiguration diese Charakteristika enthalten soll bzw. mit diesen Charakteristika erstellt werden soll.
  • Bei einer Ausführungsform der vorliegenden Erfindung kann der automatisierte Erstellungsprozess in Verbindung mit einem Managementwerkzeug ausgeführt werden, welches an dem System verwendet wird, welches verschiedene Speicherressourcen in Speicherpools organisiert. Die Speicherpools können dazu verwendet werden, um Ressourcen aus administrativen Gründen zu gruppieren, wobei die Gruppenressourcen be stimmte Eigenschaften gemeinsam aufweisen, wie beispielsweise Performanceeigenschaften oder den Typ von physikalischen Speichervorrichtungen oder aus irgendwelchen anderen Gründen. Wenn eine Erstellungsanfrage zum Erstellen eines Computersystems geliefert wird, welches ein Managementwerkzeug verwendet, welches Speicherressourcen gruppiert (z. B. logische Volumina), und zwar in Speicherpools, so kann die Erstellungsanfrage (optional) eine Anfrage enthalten, dass vielfältige Speicherressourcen aus bestimmten Speicherpools vorgesehen werden sollen.
  • Wie oben erläutert ist, kann die Speichervorrichtungsspezifikation bestimmte bevorzugte oder erforderliche Charakteristika des Systems, welches erstellt werden soll, enthalten. Wenn gemäß einer veranschaulichenden Ausführungsform der vorliegenden Erfindung eine Erstellungsanfrage bestimmte Speichersystemeigenschaften erfordert, die durch die physikalischen Ressourcen nicht erfüllt werden können, die für den automatisierten Erstellungsprozess verfügbar sind, so sendet der automatische Prozess einen Fehler im Ansprechen auf die Anfrage zurück, mit der Erläuterung, dass die Anfrage nicht erfüllt werden kann. Ferner ermöglicht es eine Ausführungsform der vorliegenden Erfindung, zusätzlich zu der Möglichkeit, dass der Anfragesteller die Fähigkeit hat, anzugeben, dass bestimmte Eigenschaften erfüllt werden sollen, dass ein Anwender Bevorzugungen spezifizieren kann, die keine absoluten Anforderungen darstellen. Bei einer Ausführungsform versucht der Erstellungsprozess im Ansprechen auf eine Anfrage, die einen Vorzug enthält, den Vorzug zu befriedigen, wenn der automatische Erstellungsprozess dazu jedoch nicht in der Lage ist, implementiert er die Erstellungsanfrage in anderer Weise, wenn dies möglich ist, welche die bevorzugten Wünsche nicht befriedigt, jedoch alle Anforderungen befriedigt, die in der Erstellungsanfrage enthalten sind.
  • Es sei erwähnt, dass die Erstellungsanfrage dazu verwendet werden kann, um ein Computersystem neu zu konfigurieren. Bei einigen Computersystemen sind die logischen Volumina bereits für eine bestimmte Verwendung zugeordnet, wie beispielsweise als ein "standard"-logisches Volumen, welches für Lese-/Schreiboperationen verfügbar ist, als ein festgelegter Ersatz für eine zeitweilige Verwendung, als ein Volumen, welches dafür bestimmt ist, um als ein Snap-Shot-Spiegel verwendet zu werden, wie bei spielsweise ein Geschäftsfortsetzungsvolumen (BCV), welches von der EMC Corporation erhältlich ist, als ein Volumen, welches für eine Fernspiegelung verfügbar ist usw. Wenn bei einer Ausführungsform der Erfindung die Speichervorrichtungsspezifikation geliefert wird, kann der Anfragesteller eine Toleranz angeben, und zwar für eine Rekonfiguration von irgendwelchen von diesen Volumentypen. Indem beispielsweise eine niedrige (oder keine) Toleranz spezifiziert wird, und zwar für bestimmte Rekonfigurationsoperationen, kann der Anwender den automatischen Erstellungsprozess daran hindern, die Konfiguration von irgendwelchen logischen Volumina zu ändern, die momentan existieren, und eine Fehlermeldung zurückzusenden, wenn die Speichervorrichtungsspezifikation nicht erfüllt werden kann, und zwar unter Verwendung der momentanen Konfiguration der logischen Volumina. Alternativ kann eine relativ hohe Toleranz für die Rekonfiguration den automatischen Erstellungsprozess dazu autorisieren, dann, wenn es gewünscht wird, die Konfiguration von einem oder von mehreren logischen Volumina zu ändern, um die Speichervorrichtungsspezifikation zu erfüllen.
  • B. Logische Hosteinheitsspezifikation
  • Ein zweiter Aspekt der Erstellungsanfrage die logische Hosteinheitsspezifikation (HLU), die in dem Block 212 (3) erzeugt wird. Die HLU-Spezifikation definiert, wie Speichervolumina, die in der Speichervorrichtungsspezifikation definiert sind, erscheinen, und zwar über die Verbindungsressourcen (z. B. ein Netzwerk), und zwar für Hostcomputer des Systems. Wie bei der Speichervorrichtungsspezifikation, die weiter oben erläutert wurde, kann die HLU-Spezifikation irgendeine Ebene eines Details liefern, die der Anfragesteller wünscht, und zwar in solcher Weise, dass dann, wenn es für den Fragesteller unwichtig ist, wie verschiedene Aspekte der Systemkonfiguration implementiert werden, solche Aspekte nicht in der HLU-Spezifikation definiert zu werden brauchen, so dass dann der automatische Erstellungsprozess solche Aspekte in irgendeiner Weise implementiert, die er selbst auswählt. Ein Beispiel des Typs von Informationen, die in der HLU-Spezifikation definiert sein können, umfaßt eine Abbildung von logischen Volumina, die in der Speichervorrichtungsspezifikation definiert sind, und zwar für bestimmte Ports der Speichersysteme, in welchen die Volumina implementiert werden. Beispielsweise kann gemäß 1 jedes der logischen Volumina 66, 77 an einem der Ports 65, 75 der Speichersysteme 6, 7 abgebildet werden (wie durch die eine der strichlierten Linien angezeigt ist).
  • Ein anderes Beispiel von Informationen, die in der HLU-Spezifikation enthalten sein können, besteht aus einer Identifikation, welche der Ports 15, 25 der Hostcomputer 1, 2 spezielle logische Volumina für die Hostcomputer verfügbar machen soll, als auch irgendwelche Sicherheitsmaßnahmen, wobei ein Zugriff auf bestimmte Volumina des Speichers auf bestimmte Hostcomputer beschränkt sein kann.
  • Ein anderes Beispiel an Information, die in der HLU-Spezifikation enthalten sein kann, ist eine Definition der Zahl der Pfade, die in bevorzugter Weise zwischen einem logischen Volumen und einem Hostcomputer vorhanden sein können, der auf dieses zugreift. Es sei in dieser Hinsicht darauf hingewiesen, dass viele Hostcomputer eine Vielfachpfadschicht enthalten, welche die Möglichkeit oder Fähigkeit bieten, dass vielfältige unterschiedliche Pfade dazu verwendet werden können, um auf ein bestimmtes logisches Volumen zuzugreifen. Wenn somit eine Vielfachpfad-Konfiguration gewünscht wird, kann diese in der HLU-Spezifikation spezifiziert sein.
  • Es sei darauf hingewiesen, dass die oben aufgeführten Gesichtspunkte lediglich zur Veranschaulichung gewählt wurden und nicht erschöpfend sind, da viele Typen von Charakteristika der Verbindung von einem Computersystem in der HLU-Spezifikation enthalten sein kann.
  • Es sei erwähnt, dass die Erstellungsanfrage dazu verwendet werden kann, um ein Computersystem, welches bereits eine vorhandene Konfiguration aufweist, neu zu konfigurieren. Beispielsweise können bereits physikalische Verbindungen zwischen Hostcomputern, Netzwerkkomponenten und Speichersystemen existieren. Wie oben dargelegt wurde, und zwar in Verbindung mit der Speichervorrichtungsspezifikation, können bei einer Ausführungsform der vorliegenden Erfindung bestimmte Elemente, die durch die HLU-Spezifikation spezifiziert werden, als Vorzüge vorgesehen werden und nicht als absolute Anforderungen. Bei dieser Ausführungsform kann ein Anwender eine bevorzugte Eigenschaft ausdrücken, und zwar für die Verwendung von Aspekten eines existierenden Computersystems bzw. Computersystemkonfiguration, indem er eine Toleranz für verschiedene Rekonfigurationsoperationen spezifiziert, die ausgeführt werden sollen, um die gewünschte Konfiguration zu erreichen, die in der HLU-Spezifikation dargestellt ist. Beispielsweise können bei einer existierenden Konfiguration ein Volumen oder können mehrere logische Volumina an bestimmten Speichersystemports abgebildet werden und können auch für einen Zugriff durch bestimmte Hostcomputer eingeschränkt werden. Es sei darauf hingewiesen, dass der Prozess der Abbildung eines logischen Volumens an einem Port zeitaufwändig sein kann, wie auch der Prozess für eine Einschränkung eines bestimmten logischen Volumens für den Zugriff durch einen bestimmten Hostcomputer. Somit kann gemäß einer Ausführungsform der vorliegenden Erfindung die HLU-Spezifikation eine Toleranz für eine Neuabbildung und/oder Neueingrenzung der existierenden Computersystemkonfiguration angeben, um die gewünschte HLU-Spezifikation zu erfüllen.
  • Die Toleranzvergabe kann einen Bereich von Optionen liefern, und zwar für den automatischen Erstellungsprozess. Wenn beispielsweise die HLU-Spezifikation eine niedrige (oder keine) Toleranz für eine Neuabbildung und/oder Neueinschränkung angibt, führt der automatische Erstellungsprozess lediglich zum Erstellen von Volumina, die bereits vorabgebildet sind und/oder voreingegrenzt sind, und zwar in einer Weise, welche die HLU-Spezifikation befriedigt. Wenn die HLU-Spezifikation nicht erfüllt werden kann, und zwar bei Verwendung der vorabgebildeten und/oder voreingegrenzten logischen Volumina, dann schlägt die Erstellungsanfrage fehl. Wenn alternativ die HLU-Spezifikation eine hohe Toleranz für die Wiederabbildung und/oder Wiedereingrenzung angibt, kann der automatische Erstellungsprozess versuchen, die HLU-Spezifikation zu befriedigen, und zwar unter Verwendung der vorabgebildeten und/oder voreingegrenzten logischen Volumina, wenn er jedoch unfähig ist, dies durchzuführen, kann er Schritte unternehmen (die in einer noch weiter unten zu erläuternden Weise implementiert werden), um die logischen Volumina neu abzubilden und/oder neu einzugrenzen, und zwar dort, wo es erforderlich oder wünschenswert ist, um die HLU-Spezi fikation zu erfüllen. Wie oben erläutert ist, kann eine Konfigurationszeit anfallen, um die Wiederabbildung und/oder Wiedereingrenzung durchzuführen, so dass der Fragesteller dies in Betracht ziehen kann, wenn er die Toleranzen für diese Operationen festlegt, wie sie in der HLU-Spezifikation ausgedrückt sind.
  • C. Hostspezifikation
  • Die Hostspezifikation einer Erstellungsanfrage, die in dem Block 214 (3) erzeugt wird, definiert die Wege, gemäß welchen logische Volumina für die Hostcomputer 1, 2 (1) verfügbar gemacht werden und durch die Hostcomputer verwendet werden. Bei dem Beispiel nach 1 wird jedes der logischen Volumina, welches dem Hostcomputer 1 angeboten wird, dazu verwendet, um den Speicherraum für ein Dateisystem 16 zu liefern, und es wird jedes der logischen Volumina, die dem Hostcomputer 2 angeboten werden, in ähnlicher Weise dazu verwendet, um Speicherraum für das Dateisystem 26 vorzusehen. Es sei darauf hingewiesen, dass ein Hostcomputer logische Volumina in zahlreichen Wegen verwenden kann, und zwar inklusive der Verwendung von logischen Volumina, um einen Speicher für einen logischen Volumenmanager (LVM) ein Datenbank-Managementsystem vorzusehen oder um einen direkten Zugriff auf grobe logische Volumina zu erreichen. Die vorliegende Erfindung ist nicht auf irgendeinen Weg eingeschränkt, gemäß welchem Hostcomputer Verwendung von logischen Volumina vornehmen, die diesen angeboten werden, und die Hostspezifikation kann irgendeine gewünschte Verwendung für diese logischen Volumina für die Hostcomputer in dem Computersystem definieren.
  • 2. Erzeugung der Erstellungsanfrage
  • Die Erstellungsanfrage kann auf irgendeinen von zahlreichen Wegen erzeugt werden, so dass die vorliegende Erfindung nicht auf irgendeine spezielle Erzeugungstechnik eingeschränkt ist. Das Erzeugen der Erstellungsanfrage kann vollständig manuell erfolgen (z. B. durch einen Systemadministrator, der dabei versucht, die gewünschte Konfiguration für ein Computersystem in der oben erläuterten Weise zu definieren) oder kann alternativ in einer im Wesentlichen vollständig automatisierten Weise erzeugt werden, indem eine Umkehrtechnik in Verbindung mit einer momentanen Computersystemkonfiguration realisiert wird, die verdoppelt werden soll. Es kann wünschenswert sein, eine existierende Computersystemkonfiguration aus zahlreichen Gründen zu verdoppeln. Eine bestimmte Anwendung, bei der die Verdoppelung wünschenswert ist, besteht dann, wenn eine Datenmigration von einem Speichersystem zu einem anderen durchgeführt wird. Es kann beispielsweise gewünscht werden, einen gesamten logisch bezogenen Satz an Daten (z. B. ein Dateisystem, eine LVM oder eine Datenbank) von einem Speichersystem in ein anderes aus irgendeinem Grund von zahlreichen Gründen zu bewegen, so als ob das existierende Speichersystem hinsichtlich seiner Kapazität und/oder Performance eingeschränkt ist.
  • Es sei darauf hingewiesen, dass dann, wenn die Erstellungsanfrage von Hand erzeugt wird, diese in irgendeiner gewünschten Weise erzeugt werden kann. Beispielsweise kann ein Systemadministrator einfach Daten in irgendeinen Computer in einer Form eingeben, die lesbar ist, und zwar durch den automatischen Erstellungsprozess (oder in eine Form konvertierbar ist, die durch den automatischen Erstellungsprozess lesbar ist), so dass die Erstellungsanfrage in den automatisierten Erstellungsprozess eingespeist werden kann.
  • Eine Umkehrtechnik (reverse engineering) (auch hier als Quellenerforschung bezeichnet) in Verbindung mit einer existierenden Computersystemkonfiguration kann auf irgendeine von zahlreichen Weisen durchgeführt werden, um ein Modell für eine neue Erstellungsanfrage zu liefern, so dass die vorliegende Erfindung nicht auf irgendeine spezielle Implementierungstechnik begrenzt ist. Wie oben erläutert wurde, enthalten einige Computersystemkonfigurationen Managementressourcen, die dafür herangezogen werden können, um Informationen über die Konfiguration des Computersystems zu sammeln. Ein Beispiel solch eines Managementwerkzeuges ist die ControlCenter/Open Edition Suite von Softwareprodukten, die von der EMC Corporation bezogen werden können (im Folgenden ECC-Managementwerkzeug bezeichnet). Das ECC-Managementwerkzeug ermöglicht es einem Anwender, die Konfigurationsspezifikationen einer Computersysteminfrastruktur anzusehen. Das ECC-Managementwerkzeug verwendet eine Anzahl von Mitteln, die über das Computersystem verteilt sind (z. B. auf den Hosts, den Speichersystemen und den Netzwerkkomponenten), die Anwendungsprogrammierschnittstellen (APIs) verwenden, um mit einem zentralen Managementmittel (agent) zu kommunizieren, welches Informationen sammelt, und diese in einen Datensatz kompiliert (z. B. einer Datenbank), der eine Beschreibung der Infrastruktur des Computersystems liefert. Bei einer Ausführungsform der vorliegenden Erfindung kann die Quellenerforschung einer Systemkonfiguration durch Ausnutzung des ECC-Managementwerkzeugs durchgeführt werden, um die gewünschten Informationen über die Konfiguration eines existierenden Computersystems zu liefern, welches durch das ECC-Managementwerkzeug gemanagt wird. Bei einer Ausführungsform der vorliegenden Erfindung kann der automatisierte Erstellungsprozess als Teil des ECC-Managementwerkzeugs implementiert werden, und zwar in solcher Weise, dass der Quellenerforschungsschritt automatisch im Ansprechen auf eine Anwenderanfrage ausgeführt werden kann, wobei der Anwender das Erstellen eines neuen Computersystems anfragt, basierend auf einem existierenden System. Bei einer Ausführungsform kann die vorliegende Erfindung, wie sie hier beschrieben wird, die Datenbank heranziehen, die durch das ECC-Managementwerkzeug bewahrt wird, um die nötigen Informationen zu extrahieren, die zur Realisierung einer Erstellungsanfrage wünschenswert sind, um diese dem automatisierten Erstellungsprozess in einer Weise zuzuleiten, wie sie im Folgenden noch erläutert wird.
  • Es sei darauf hingewiesen, dass die Ausführungsform der vorliegenden Erfindung, die auf einer Umkehrtechnik der Quellenerforschung eines existierenden Computersystems basiert, nicht auf die Verwendung des ECC-Managementwerkzeugs beschränkt ist, da zahlreiche andere Techniken ebenfalls angewendet werden können. Beispielsweise kann, wenn ein Computersystem einen anderen Typ eines Managementsystems aufweist, welches diesem zugeordnet ist, welches einen Datensatz enthält, der die gewünschten Informationen aufweist, welche die Infrastruktur des Computersystems betreffen, können die Informationen von diesem Managementwerkzeug gesammelt werden. Wenn alternativ kein zentralisiertes Managementwerkzeug existiert, welches die relevanten Informationen gesammelt enthält, die die Infrastruktur des Computersystems betreffen, können zahlreiche andere oder abweichende Werkzeuge dazu verwendet werden, um die Konfigurationsinformationen zu sammeln, und zwar getrennt von den verschiedenen Komponenten in dem Computersystem. Beispielsweise werden im Folgenden einige Netzwerkkomponenten und Speichersysteme, die APIs liefern, welche die Möglichkeit bieten, dass die Komponente angefordert werden kann und welche Konfigurationsinformationen des gewünschten Typs liefern, um die automatische Erstellungsanfrage zu realisieren, um folgenden beschrieben. Ferner sind auch Werkzeuge verfügbar, wie beispielsweise diejenigen, die über die WideSky Storage Management Facility (mit einer EMC-Symm-API-Mapper-Anwendungsprogrammierschnittstelle) von der EMC Corporation verfügbar sind, und können eingesetzt werden, welche die Erforschung der Konfigurationsinformationen innerhalb eines Hosts ermöglichen, und zwar in solcher Weise, welche logischen Volumina als Speicherressourcen für verschiedene Komponenten an dem Host zugeordnet sind (z. B. ein Dateisystem, LVM oder Datenbank). Kurz gesagt, kann irgendeines einer Anzahl von Werkzeugen dazu verwendet werden, um die gewünschten Informationen von Komponenten des Computersystems zu sammeln, um ein Modell für eine neue Erstellungsanfrage zu liefern, wobei die vorliegende Erfindung nicht auf irgendeine spezielle Implementierungstechnik beschränkt ist.
  • Wie oben erläutert wurde, kann bei einer Ausführungsform der vorliegenden Erfindung, die bei Computersystemen verwendet wird, bei denen Managementtechniken angewendet werden, um Speicherressourcen mit gemeinsamen Eigenschaften in einem Pool zusammenzufassen, der Quellenerforschungsprozess einen Suchvorgang durchführen, um zu identifizieren, ob vielfältige Speicherressourcen in dem existierenden Computersystem, welches rückwärts behandelt oder abgewickelt wird, zu bestimmten Speicherpools gehören, und, wenn dies der Fall ist, können diese Informationen dann zu der Erstellungsanfrage geliefert werden, die durch den Quellenerforschungsprozess automatisch generiert wird. Obwohl dies vorteilhaft ist, sei darauf hingewiesen, dass die vorliegende Erfindung in dieser Hinsicht nicht eingeschränkt ist, da der Aspekt der vorliegenden Erfindung, welche das automatische Durchführen einer Quellenerforschung betrifft, nicht darauf beschränkt ist, die Verwendung von irgendwelchen Speicherpools zu identifizieren.
  • Nach der Quellenerforschung kann es bei einigen Umständen für einen Systemadministrator wünschenswert sein, eine Definition der Computersystemkonfiguration zu modifizieren, und zwar vor der Übertragung derselben als Erstellungsanfrage an den automatisierten Erstellungsprozess. Diese Modifikationen können von irgendeinem Typ sein, da es vielfältige Umstände gibt, bei denen es wünschenswert ist, eine neue Computersystemkonfiguration zu modellieren, und zwar basierend auf einer existierenden Konfiguration, jedoch mit Modifikationen verschiedener Typen. Somit ist die vorliegende Erfindung nicht auf die Art und Weise beschränkt, in welcher die Definition einer Computersystemkonfiguration modifiziert werden kann, um die Erstellungsanfrage zu erzeugen. Bei einem veranschaulichenden Beispiel, welches weiter oben erläutert wurde, kann es wünschenswert sein, einen Datensatz von einem Speichersystem auf ein anderes zu bewegen, so dass die Modifikationen für die Definition der Computersystemausgabe von dem automatischen Quellenerforschungsprozess einfach das Modifizieren der einzigartigen Identifizierer der Speichersysteme involviert (oder eines singulären Speichersystems), in welchem die logischen Volumina gespeichert sind, welche den Datensatz gespeichert enthalten, zumal der Rest des Computersystems exakt nachgebildet werden kann.
  • Ein anderes Beispiel, bei dem es wünschenswert ist, eine Definition einer Computersystemkonfiguration zu modifizieren, und zwar vor der Übertragung derselben als Erstellungsanfrage, betrifft das Erweitern eines Dateisystems. Bei solch einem Umstand kann ein Systemadministrator es wünschenswert finden, das Dateisystem zu erweitern, und zwar unter Verwendung von existierenden Speicherressourcen (z. B. Speicherressourcen, die an dem gleichen Speichersystem vorgesehen sind, welches eine gleiche RAID-Ebene eines Schutzes usw. aufweist). Somit kann gemäß einer Ausführungsform der vorliegenden Erfindung ein Systemadministrator, der versucht, ein Dateisystem zu erweitern, eine Quellenerforschung an dem existierenden System durchführen, um die relevanten Charakteristika der Speicherressourcen, die dafür verwendet werden, zu identifizieren, und kann die Ausgabe aus dem automatischen Quellenerforschungsprozess identifizieren, um ein erweitertes Dateisystem zu definieren, welches damit konsistent ist.
  • 3. Automatischer Erstellungsprozess
  • Nach dem die Erstellungsanfrage erzeugt worden ist (automatisch, von Hand oder vermittels einer Kombination daraus), dient bei einer Ausführungsform der Erstellungsanfrage als eine Eingabegröße in einen automatischen Erstellungsprozess, der automatisch ein Computersystem erstellt, um die Definition zu befriedigen, die in der Anfrage enthalten ist. Gemäß der Ausführungsform der vorliegenden Erfindung, die in 2 dargestellt ist, enthält der automatische Erstellungsprozess drei primäre Aktionen: die Ressourcenauswahl, Transaktionserzeugung und Transaktionsausführung. Die Ressourceauswahl involviert das Identifizieren und Auswählen von Ressourcen (wie beispielsweise Speichersysteme, Verbindungskomponenten und Hostcomputerressourcen), um die Erstellungsanfrage zu erfüllen. Die Transaktionserzeugung involviert das Erzeugen eines Programms oder eines log von Befehlen, die dann, wenn sie ausgeführt werden, die Konfigurationsaktionen durchführen, die das Computersystem konfigurieren, wie es in der Erstellungsanfrage definiert ist. Die Transaktionsausführung involviert das aktuelle Ausführen der Aktionen, um das Computersystem zu konfigurieren. Jeder dieser Abschnitte des automatischen Erstellungsprozesses wird weiter unten in größeren Einzelheiten erläutert.
  • A. Ressourcenauswahl
  • Gemäß 3 wird bei der Aktion 110 eine Ressourcenauswahl vorgenommen. Die Ressourcen können beispielsweise einen oder mehrere Hostcomputer, Speichersysteme, Netzwerkkomponenten und logische Volumina enthalten. Die Ressource werden so ausgewählt, um die Spezifikationen zu erfüllen, die in der Erstellungsanfrage aufgeführt sind.
  • Die Identifikation der Ressourcen, die zum Erfüllen der Erstellungsanfrage verfügbar sind, kann auf irgendeinen von zahlreichen Wegen durchgeführt werden, so dass die vorliegende Erfindung nicht auf irgendeine spezielle Implementierungstechnik begrenzt ist. Gemäß einer Ausführungsform der vorliegenden Erfindung kann für die Verwendung in einem System, welches ein Managementsystem enthält, wie beispielsweise das ECC-Managementwerkzeug, welches oben erläutert wurde, das Managementwerkzeug (z. B. dessen Datenbank) dafür herangezogen werden, um die Ressourcen zu erforschen, die für die Auswahl verfügbar sind, um die Erstellungsanfrage zu erfüllen. Gemäß der Ausführungsform der Erfindung, bei der der automatische Erstellungsprozess innerhalb des ECC-Managementwerkzeugs implementiert wird, kann der Ressourcenauswählprozess beispielsweise dadurch ausgeführt werden, indem Anfragen an die Datenbank ausgegeben werden, um die gewünschten Informationen aufzufinden.
  • Bei der Ausführungsform der vorliegenden Erfindung, bei der eine Datenbank vorgesehen ist, welche Informationen speichert, welche die verfügbaren Ressourcen betreffen, können die Fähigkeiten der Datenbank (z. B. die Ausführung von SQL-Anfragen und die Verwendung von Datenbankansichten) dazu verwendet werden, um den Ressourcenauswählprozess zu optimieren und zu beschleunigen. Beispielsweise kann die Datenbank Informationen hinsichtlich aller physikalischen Elemente gespeichert enthalten (z. B. Platten, Verbindungsausrüstung) und über alle logischen Elemente (z. B. LUNs) in dem Computersystem. Eine oder mehrere Datenbank-"Ansichten" können implementiert sein, um Abschnitte der Datenbank (die durch die Ansicht definiert sind) im Voraus auszuwählen, gegenüber welchen die Anfragen ausgeführt werden können, um die Ausführung der Anfragen einfacher und effizienter zu gestalten. Beispielsweise kann eine Datenbankansicht (view) dazu verwendet werden, um Elemente vorauszuwählen, die an früherer Stelle physikalische Kommunikationsverbindungen erstellt haben, so dass eine Anfrage lediglich aus diesem untergeordneten Satz eine Auswahl vornimmt. Eine Datenbankansicht kann alternativ oder auch zusätzlich dazu verwendet werden, um Speicherelemente im Voraus auszuwählen, welche andere Eigenschaften besitzen (z. B. eingegrenzte oder eingeschränkte Speicherelemente oder Elemente, die zu einem Speicherpool gehören).
  • Es sei darauf hingewiesen, dass der Ressourcenauswählaspekt der Erfindung nicht auf die Verwendung von Datenbankansichten oder dynamisch erzeugten SQL-Anfragen beschränkt ist, die gegenüber einer in Betracht stehenden Datenbank ausgeführt werden, da irgendwelche geeigneten Techniken zum Sammeln der gewünschten Informationen angewendet werden können. Beispielsweise kann die automatisierte Ressourcenauswahl dadurch realisiert werden, indem irgendeine einer Anzahl von programmatischen Techniken angewendet wird (z. B. durch ein Übersetzungsauswählkriterium in einer Reihe von Parametern, um als Eingangsgröße für eines oder mehrere Computerprogramme zu dienen, die gegenüber einem oder mehreren Datensätzen ausgeführt werden, oder auf der Grundlage irgendeiner einer Unzahl von anderen Automatisierungstechniken). Es können Von-Hand-Techniken ebenso eingesetzt werden als auch Kombinationen aus automatisierten und von Hand vorgenommene Techniken.
  • In Computersystemen, bei denen ein zentrales Managementwerkzeug mit einer existierenden Datenbank der Ressourcen, die in dem Computersystem enthalten sind, nicht verfügbar ist bzw. angefragt werden kann, können andere Techniken eingesetzt werden, um die Ressourcen zu erforschen, die verfügbar sind, um die Erstellungsanfrage zu erfüllen. Wenn beispielsweise ein Managementwerkzeug existiert, welches eine zentralisierte API liefert, bei der angefragt werden kann, um die Ressourcen des Computersystems zu erforschen (z. B. Hostcomputer, Netzwerkkomponenten und Speichersysteme), kann solch eine zentralisierte API dazu verwendet werden, um die Ressourcenerforschung und den Auswählprozess durchzuführen. Wenn solch ein zentralisiertes Managementwerkzeug nicht zur Verfügung steht, besitzen die meisten Computersystemkomponenten ihre eigenen APIs, die verfügbar sind und bei denen angefragt werden kann, um Informationen hinsichtlich der Komponente zu sammeln, wie beispielsweise um welchen Typ einer Komponente es sich handelt, die Zahl der verfügbaren Ports usw.
  • Gemäß der in 6 dargestellten Ausführungsform wird der Ressourcenauswählprozess in drei Grundaktionen 610, 620, 630 ausgeführt, die als hierarchische Schichten betrachtet werden können, wobei die Aktion 610 an der niedrigsten Schicht gelegen ist und die Aktion 630 an der höchsten Schicht gelegen ist.
  • Bei der Aktion 610 werden Speicherelemente ausgewählt, um das Niedrig-Ebenen-Kriterium zu befriedigen, welches in dem Speicherelementdeskriptor spezifiziert ist, wie beispielsweise die Zahl der Speicherelemente (z. B. logische Volumina), die Größe der Speicherelemente, irgendwelche speziellen Anforderungen für die physikalischen Speichervorrichtungen für die Speicherelemente usw. Wie noch weiter unten erläutert wird, werden einige Anforderungen gemäß einer höheren Ebene oder Schicht, die eine logische Interaktion von vielfachen Speicherelementen betreffen, in der mittleren Schicht der Hierarchie bei der Aktion 620 durchgeführt.
  • Wie oben dargelegt wurde, wird bei der Aktion 610 versucht, Ressourcen auszuwählen, um das Kriterium zu befriedigen, welches dafür zuständig ist. Gemäß einer Ausführungsform der vorliegenden Erfindung inkorporieren während eines anfänglichen Durchlaufes des Ressourcenauswählprozesses von 6 die Kriterien, die bei der Aktion 610 vorgesehen werden, strikte Einschränkungen, die in dem Speicherelementdeskriptor spezifiziert sind. Wenn beispielsweise eine Erstellungsanfrage eine gewisse Toleranz für eine Neueingrenzung von Vorrichtungen angibt, wird bei einer Ausführungsform der vorliegenden Erfindung während eines ersten Durchgangs des Ressourcenauswählprozesses von 6 die Aktion 610 gestartet mit dem Versuch, Ressourcen auszuwählen, um alle Kriterien zu erfüllen, und zwar inklusive der Verwendung von lediglich eingegrenzten oder eingeschränkten Vorrichtungen. Gemäß einer Ausführungsform der vorliegenden Erfindung wird bei der Aktion 610 versucht, alle die Ressourcen zu suchen, welche den Speicherelementdeskriptor befriedigen, und es werden Abgrenzungen oder Zwischenwände bei den Speicherressourcen erzeugt, wobei jede Abgrenzung (partition) Speicherelemente enthält, die im Wesentlichen identisch für relevante Charakteristika sind, die in dem Speicherelementdeskriptor spezifiziert sind. Somit kann jede der Speicherressourcen innerhalb einer bestimmten Abgrenzung (partition) so betrachtet werden, dass sie in Ausdrücken der Befriedigung des Speicherelementdeskriptors austauschbar ist, da diese die relevanten gemeinsamen Eigenschaften teilen. Indem alle die verfügbaren Ressourcen ausgewählt werden, die potentiell dazu verwendet werden können, um den Speicherelementdeskriptor zu befriedigen, wird die Wahrscheinlichkeit in Verbindung mit der mittleren Schicht oder Ebene der Hierarchie bei der Aktion 620 beim Auffinden von kompatiblen Ressourcen, zum Befriedigen der Kriterien der höheren Ebene oder Schicht maximiert. Obwohl dies vorteilhaft ist, sei darauf hingewiesen, dass die vorliegende Erfindung in dieser Hinsicht nicht eingeschränkt ist und dass anstelle der Identifizierung von allen Speicherressourcen, die zum Befriedigen des Speicherelementdeskriptors bei der Aktion 610 verwendet werden können, ein untergeordneter Satz identifiziert werden kann (z. B. lediglich die minimale Zahl kann identifiziert werden) und dann können zusätzliche Iterationen in einer Weise durchgeführt werden, ähnlich derjenigen, die weiter unten erläutert wird.
  • Nach der Vervollständigung der Aktion 610 verläuft der Prozess zu der Aktion 615, bei der eine Bestimmung durchgeführt wird, ob die Ressourcen ausgewählt worden sind, welche alle Niedrig-Ebenen-Anforderungen erfüllen, die in dem Speicherelementdeskriptor spezifiziert sind. Wenn alle die Anforderungen erfüllt worden sind, verläuft der Prozess zu der Aktion 620, bei der Höher-Ebenen-Anforderungen, welche eine logische Zuordnung der Vielfach-Speicherelemente betreffen, in einer Weise in Betracht gezogen werden, wie sie weiter unten erläutert wird. Wenn alternativ bei der Aktion 615 bestimmt wird, dass ausreichende Ressourcen nicht ausgewählt werden konnten, um die Niedrig-Ebenen-Anforderungen des Speicherelementdeskriptors zu befriedigen, verläuft der Prozess zu der Aktion 627, bei der eine Bestimmung getroffen wird, ob die Kriterien für den Speicherelementdeskriptor modifiziert werden können oder erleichtert werden können. Wenn dies nicht der Fall ist, verläuft der Prozess zu der Aktion 629, bei der eine Fehlermeldung zurückgeleitet wird, die angibt, dass die Erstellungsanfrage nicht in der spezifizierten Weise befriedigt werden kann. An dieser Stelle kann dann ein Systemadministrator bewerten, ob die Erstellungsanfrage modifiziert werden soll (z. B. durch Erleichterung bzw. Vergrößerung der Toleranzen, Reduzieren der Größe des angefragten Speichers, reduzieren der Performanceeigenschaften usw.).
  • Wenn bei der Aktion 627 bestimmt wird, dass eine Modifikation der Anfrage möglich ist, die stattfinden kann, wenn die Toleranzen so spezifiziert werden, dass sie einen gewissen Raum für eine Flexibilität liefern, verläuft der Prozess zu der Aktion 630, bei der die Kriterien für den Speicherelementdeskriptor modifiziert werden, wobei dann die modifizierten Kriterien zu der Aktion 610 zurückgeleitet werden, um zu bestimmen, ob ausreichend Ressourcen vorgesehen werden können, um die modifizierten Kriterien zu erfüllen. Ein Beispiel der Art und Weise, mit welcher die Kriterien für den Speicherelementdeskriptor modifiziert werden können, betrifft die Toleranzen. Wie weiter oben erläutert wurde, werden gemäß einer Ausführungsform der vorliegenden Erfindung während des ersten Durchlaufs durch den Ressourcenauswählprozess die striktesten Einschränkungen angewendet, so dass, wenn dies überhaupt möglich ist, das System so konfiguriert werden kann, um die bevorzugten Merkmale zu erfüllen, die in der Erstellungsanfrage spezifiziert sind. Wenn jedoch die Erstellungsanfrage ein bevorzugtes Merkmal für eine bestimmte Eigenschaft angibt, jedoch eine Toleranz dafür nicht erfüllt werden kann, kann bei der Aktion 630, welche die oberste Schicht in der Hierarchie, die oben erläutert wurde, bildet, erleichtert werden, und zwar um einen oder mehrere Einschränkungen innerhalb der Bänder der Toleranzen, die in der Erstellungsanfrage spezifiziert sind, und es kann die Anfrage erneut an die niedrigeren Schichten in der Hierarchie übertragen werden, um zu bestimmen, ob ein System konfiguriert werden kann, welches die erleichterten Einschränkungen befriedigen kann. Es sei in dieser Hinsicht darauf hingewiesen, dass durch Reduzieren bestimmter Einschränkungen vor der Rückübergabe der Kriterien an die Aktion 610 die Möglichkeit gegeben ist, dass eine größere Zahl von Speicherressourcen gefunden werden kann, die die neuerlich erleichterten Kriterien erfüllen können.
  • Es sei darauf hingewiesen, dass die vorliegende Erfindung nicht auf die Art und Weise beschränkt ist, mit welcher die oberste Schicht in der Hierarchie (durch die Aktion 630 implementiert) die Einschränkungen erleichtert, da zahlreiche Implementierungen möglich sind. Beispielsweise kann die Aktion 630 dadurch beginnen, indem zu Beginn die Einschränkungen erleichtert werden, für welche die Speichererstellungsanfrage die höchste Toleranz für solch eine Erleichterung angibt.
  • Wenn, wie oben erläutert ist, bei der Aktion 615 bestimmt wird, dass ausreichend Ressourcen identifiziert wurden, um die Niedrig-Ebenen-Anforderungen für die Speicherelemente bei der Aktion 610 zu befriedigen, verläuft der Prozess zu der Aktion 620, welche die zweite Schicht in der Hierarchie implementiert, um zu bestimmen, ob bestimmte Kriterien, welche die logische Beziehung zwischen zwei oder mehreren Speicherelementen betreffen, erfüllt werden können, und zwar unter Verwendung der Ressourcen, die bei der Aktion 610 ausgewählt wurden. Es gibt zahlreiche Typen von Einschränkungen, die in dem Speicherelementdeskriptor spezifiziert sein können und bei der Aktion 620 in Betracht gezogen werden können. Beispiele umfassen Spiegelungsbeziehungen bzw. einen örtlichen oder einen Fernspiegel. Es ist beispielsweise für einen Snap-Shot-Spiegel wünschenswert, zwei Speicherressourcen mit der gleichen Größe und Typ zur Verfügung zu haben, die an dem gleichen physikalischen Speichersystem vorhanden sind bzw. gespeichert sind, und es ist für einen Fernspiegel wünschenswert, zwei Speichervolumina mit der gleichen Größe zur Verfügung zu haben, die an unterschiedlichen Speichersystemen gelegen sind. Dies ist lediglich ein Beispiel der Zwischenbeziehung zwischen zwei oder mehreren Speicherelementen, die bei der Aktion 620 in Betracht gezogen werden können, da es zahlreiche andere Möglichkeiten gibt.
  • Es sei darauf hingewiesen, dass gemäß einer Ausführungsform der vorliegenden Erfindung dann, wenn geeignete Kapazitäten durch die Hardware in dem Computersystem vorgesehen werden, bestimmte Funktionen, die ansonsten als Funktionen einer hohen Ebene betrachtet werden, bei einer niedrigeren Ebene bei der Aktion 610 implementiert werden können. Wenn beispielsweise das Computersystem intelligente Speichersysteme enthält, welche die Fähigkeit haben, hardwaregespiegelte Vorrichtungen zu liefern, kann eine Anfrage nach einer gespiegelten Konfiguration in dem Speicherelementdeskriptor bei einer Ausführungsform der vorliegenden Erfindung auf der niedrigsten Ebene bei der Aktion 610 erfüllt werden. Damit können die Partitionen, die dadurch erzeugt werden, gespiegelte Sätze von Vorrichtungen enthalten, derart, dass diese logische Beziehung nicht bei der höheren Ebene bei der Aktion 620 adressiert zu werden braucht. Es sei natürlich auch darauf hingewiesen, dass die vorliegende Erfindung in dieser Hinsicht nicht eingeschränkt ist und dass Spiegelbeziehungen auch alternativ auf der höheren Ebene bei der Aktion 620 adressiert werden können.
  • Es sei ferner darauf hingewiesen, dass die Spiegelungsfunktion lediglich ein Beispiel der Fähigkeit darstellt, die durch die Hardware in dem Computersystem vorgesehen werden kann und auf der niedrigsten Ebene bei der Aktion 610 implementiert werden kann.
  • Bei einer Ausführungsform wird bei der Aktion 620 versucht, den Speicherelementdeskriptor zu befriedigen, indem spezifische Speicherressourcen unter den Partitionen identifiziert werden, die durch die Aktion 610 geliefert werden. Nachdem Kriterien der höheren Ebene bei der Aktion 620 bewertet worden sind, verläuft der Prozess dann zu der Aktion 629, bei der eine Bestimmung vorgenommen wird, ob die Kriterien der höheren Ebene, die in dem Speicherelementdeskriptor spezifiziert sind, erfüllt werden können. Wenn dies der Fall ist, werden spezifische Speicherressourcen, die zum Implementieren des gewünschten Computersystems verwendet werden, bei der Aktion 620 identifiziert und der Prozess wird dann beendet.
  • Wenn alternativ bei der Aktion 629 bestimmt wird, dass die bei der Aktion 610 ausgewählten Ressourcen nicht ausreichend sind, um die Kriterien der höheren Ebene erfüllen zu können, verläuft der Prozess zu der Aktion 629, bei der eine Bestimmung vorgenommen wird, ob die Auswahlkriterien erleichtert werden können, und zwar in der weiter oben erläuterten Weise.
  • Es sei in Verbindung mit der vorangegangenen Beschreibung darauf hingewiesen, dass der in 6 veranschaulichte Prozess außer einem iterativen Prozess bestehen kann, wobei zuerst Versuche unternommen werden, um den Speicherelementdeskriptor mit den höchstmöglichen Einschränkungen zu befriedigen und wobei dann diese Einschränkungen erleichtert werden können, und zwar unter der Steuerung der höchsten Ebene oder höchsten Schicht in der Hierarchie (implementiert bei der Aktion 630), und zwar über eine oder mehrere zusätzliche Iterationen des Prozesses, bis der Speicherelementdeskriptor befriedigt wird oder bis eine Bestimmung vorgenommen wird, dass ausreichend Ressourcen nicht verfügbar sind, um den Speicherelementdeskriptor zu befriedigen.
  • Die Erfindung ist nicht auf die Ausführung der oben beschriebenen Aktionen in der beschriebenen Sequenz beschränkt oder überhaupt auf irgendwelche Sequenzen eingeschränkt. Einige Ausführungsformen können eine Ressourcenauswahl erreichen, und zwar unter Verwendung eines Prozesses, der eine unterschiedliche Anzahl von Aktionen aufweist als die oben beschriebenen Aktionen, und der auch Aktionen umfaßt, die seriell, parallel oder in Form einer Kombination aus diesen zweien ausgeführt werden können.
  • Um es kurz zu sagen, kann irgendeine geeignete Technik verwendet werden, die die Möglichkeit schafft, eine Identifikation der Ressourcen innerhalb eines Computersystems vorzunehmen und die Informationen liefert, die beim Bestimmen wünschenswert sind, welche Ressourcen mit der Erstellungsanfrage in Übereinstimmung stehen, um dabei eine Ressourcenauswahl durchzuführen, so dass die vorliegende Erfindung nicht auf irgendeine spezielle Implementierungstechnik eingeschränkt ist.
  • Obwohl all die Schritte des Erstellungsprozesses, die in 2 veranschaulicht sind, bei einer Ausführungsform der vorliegenden Erfindung automatisch ablaufen, sei darauf hingewiesen, dass die vorliegende Erfindung in dieser Hinsicht nicht eingeschränkt ist und dass einige dieser Aktionen (inklusive der Ressourcenauswählaktion) auch eine Aktivität von Hand enthalten können oder auch vollständig von Hand ausgeführt werden können.
  • B. Transaktionserzeugung
  • Bei der Aktion 120 wird eine Transaktion erzeugt, die eine Reihe von Aktionen hervorruft, die dafür ausgeführt werden, um das Computersystem in einer Weise zu kon figurieren, welche die Definition erfüllt, die in der Erstellungsanfrage vorgesehen ist. Die Typen der Aktionen bei der Transaktion können irgendwelche Typen umfassen, wie sie oben erläutert wurden, wie beispielsweise das Abbilden von logischen Volumina an verschiedenen Ports, von denen aus sie sichtbar sind, Vorsehen von Sicherheitsmaßnahmen, um den Zugriff, wie er in der Erstellungsanfrage spezifiziert ist, einzuschränken, Befehligen von Hostcomputern, um deren Ports abzutasten, um die logischen Volumina zu erkennen, die für die Hostcomputer über solche Ports verfügbar gemacht werden, Zuordnen von einem oder mehreren logischen Volumen bzw. Volumina zu einem Dateisystem, LVM, einer Datenbank oder einer anderen Hostcomputerressource, Konfigurieren des logischen Volumentyps (z. B. eines Standardspeichervolumens, eines Spiegels, eines Hot-Ersatzes usw.), Erzeugen von irgendwelchen gewünschten Spiegelkonfigurationen usw. Die Transaktion enthält eine Anzahl von Aktionen, inklusive Niedrig-Ebenen-Aktionen, die dazu ausgeführt werden, um das Computersystem physikalisch zu konfigurieren, um die Erstellungsanfrage zu erfüllen.
  • Es sei darauf hingewiesen, dass die präzise Natur der Aktionen, die in der Transaktion eingebaut sind, variieren kann, abhängig von der spezifischen Natur der Komponenten in dem Computersystem. Beispielsweise können Hostcomputer unterschiedliche Typen von Betriebssystemen aufweisen, die unterschiedliche Konfigurationsaktionen unterstützen, und auch unterschiedliche Typen von Speichersystemen und Netzwerkkomponenten, die in ähnlicher Weise unterschiedliche Typen von Konfigurationsaktionen unterstützen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird die Transaktion so zusammengestellt, und zwar nicht nur in einer Weise gemäß einer groben Kraftanstrengung, um das Endergebnis zu erreichen, wenn das Computersystem konfiguriert wird, und zwar in einer Weise, um die Erstellungsanfrage zu befriedigen, sondern unter Beachtung anderer Gesichtspunkte, enthaltend den Wirkungsgrad des Konfigurationsprozesses, wenn die Transaktion ausgeführt wird. Beispielsweise ist Zeit involviert, wenn ein Hostcomputer seine I/O-Ports abtastet, um neue logische Volumina zu identifizieren, die über diese Ports verfügbar gemacht wurden. Es ist daher bei der Konfigura tion eines Computersystems wünschenswert, die Zahl an Zeiten, die ein Hostcomputer zum Abtasten benötigt, zu minimieren, und zwar in solcher Weise, dass statt der Verfügbarmachung von logischen Volumina für einen Host und ein Abtasten derselben zu einer Zeit erfolgt, es auch wünschenswert sein kann, um beispielsweise Aktionen durchzuführen, bei denen eine Vielzahl von logischen Volumina einem verfügbaren Hostcomputer zugeordnet werden, um dann eine einzige Abtastoperation durchzuführen, bei der alle diese logischen Volumina identifiziert werden. Es sei darauf hingewiesen, dass dies nur als Beispiel angeführt ist, da auch andere Situationen existieren können, bei denen in einer Transaktion das Planen der Sequenz von Operationen effektiv vorgenommen wird und zu Wirkungen bei der Ausführung der Transaktion führen können.
  • Obwohl wünschenswert, sei erwähnt, dass die vorliegende Erfindung nicht darauf begrenzt ist, die Transaktion so zu organisieren, um deren Wirksamkeit bei der Ausführungsform zu erreichen, da nämlich die Transaktion in einer Art erzeugt und ausgeführt werden kann, die bei der Konfiguration des Computersystems zum Erfüllen der Erstellungsanfrage effektiv ist.
  • Bei einer Ausführungsform wird während der Erzeugung der Transaktion eine Intelligenz dafür vorgesehen, um eine Identifizierung durchzuführen, ob bestimmte Konfigurationsschritte erforderlich sind. Wenn beispielsweise ein logisches Volumen bereits an einem bestimmten Port abgebildet wurde, so ist eine Operation in der Transaktion zur Durchführung der Abbildung nicht erforderlich.
  • Wenn ferner gemäß einer Ausführungsform der vorliegenden Erfindung die Transaktion erzeugt wird, werden Sicherheitsüberprüfungen durchgeführt, um sicherzustellen, dass Ressourcen nicht inkonsistent zugeordnet werden. Es kann beispielsweise eine Überprüfung vorgenommen werden, um sicherzustellen, dass ein logisches Volumen nicht in inkonsistenter Weise einer Vielzahl von Ressourcen zugeordnet wurde, was zu einem Datenverlust führen würde.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird eine Fähigkeit realisiert, um eine oder mehrere der Operationen nicht auszuführen, die durch die Transaktion realisiert werden, und zwar bei der physikalischen Konfiguration eines Computersystems, um die Anforderungen der Erstellungsanfrage zu erfüllen. Es sei darauf hingewiesen, dass in dieser Hinsicht die Erstellung eines Computersystems in einem iterativen Prozess realisiert werden kann, wobei ein Administrator zu Beginn eine Entscheidung treffen kann, um eine bestimmte Konfigurationsoperation durchzuführen, jedoch danach ein unbeabsichtigtes Ergebnis feststellt und die Operation ungeschehen machen will. Daher kann gemäß einer Ausführungsform der vorliegenden Erfindung die gesamte Erstellungstransaktion ungeschehen gemacht werden. Gemäß einer anderen Ausführungsform der vorliegenden Erfindung kann ein untergeordneter Satz von Operationen, die während der Transaktion durchgeführt werden (inklusive einer Ausführungsform bis hin zu der Ebene von jeder Operation), ungeschehen gemacht werden. Auf diese Weise kann, nachdem die Transaktion ausgeführt worden ist oder während deren Ausführung, die Transaktion zurück abgewickelt werden, und zwar zu irgendeiner gewünschten Stelle in der Transaktion.
  • Es sei darauf hingewiesen, dass die Ausführungsform der vorliegenden Erfindung, welche die Fähigkeit des Ungeschehenmachens der Transaktion vorsieht, optional realisiert werden kann, da alle Ausführungsformen der vorliegenden Erfindung auf diese Fähigkeit nicht eingeschränkt sind. Es sei ferner darauf hingewiesen, dass die Fähigkeit, eine Transaktion ungeschehen zu machen oder rückwärts abzuwickeln, auf irgendeine von zahlreichen Wegen implementiert werden kann, so dass die vorliegende Erfindung nicht auf irgendeine spezielle Implementierungstechnik beschränkt ist.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann das Ungeschehenmachen-Merkmal und/oder Rückwärtsabwickel-Merkmal dadurch implementiert werden, indem eine Rückwärtsabwickelroutine erzeugt wird, und zwar zum gleichen Zeitpunkt, zu welchem die Transaktion erzeugt wird. Während der Erzeugung der Transaktion wird somit für jede erzeugte Operation eine parallele Operation erzeugt, um diese ungeschehen zu machen. Auf diese Weise kann die gesamte Transaktion unge schehen gemacht werden, indem die gesamte parallele Ungeschehenmach-Transaktion ausgeführt wird, oder es kann die Transaktion rückwärts abgewickelt werden, und zwar zu irgendeiner bestimmten Operation der Ausführung hin, lediglich entsprechend den Ungeschehenmach-Operationen in der parallelen Ungeschehenmach-Transaktion.
  • Es sei darauf hingewiesen, dass die Natur der Operationen, die während des Transaktionserzeugungsprozesses erzeugt werden, variieren, und zwar abhängig von den physikalischen Komponenten in dem Computersystem. Wie weiter oben in Verbindung mit dem Ressourcenauswählprozess erläutert wurde, können zentrale Managementwerkzeuge und/oder getrennte Schnittstellen für jedes der Computersysteme verwendet werden, um diese Ressourcen zu erforschen. In ähnlicher Weise kann in einigen Computersystemen ein zentrales Managementwerkzeug vorgesehen sein, welches es einem Administrator ermöglicht, das gesamte Systeme zu konfigurieren, indem er sich lediglich mit dem zentralen Managementwerkzeug befaßt. Wenn das zu erstellende System solch ein zentrales Managementwerkzeug enthält, können die Operationen, die währen des Transaktionserzeugungsprozesses erzeugt werden, zu dem zentralen Managementwerkzeug gelenkt werden und können mit dem Kommunikationsprotokoll, welches darin verwendet wird, in Übereinstimmung gelangen. Alternativ können getrennte APIs, die durch jedes der Systemkomponenten vorgesehen werden, dazu verwendet werden, um die Performance der gewünschten Operationen zu liefern, die während des Transaktionserzeugungsprozesses erzeugt werden.
  • Es sei darauf hingewiesen, dass der Transaktionserzeugungsprozess nicht auf die Ausführung der Operationen von irgendeinem bestimmten Typ beschränkt ist, da irgendwelche geeigneten Operationen verwendet werden können, die dann, wenn sie ausgeführt werden, die gewünschten Konfigurationsaktionen durchführen.
  • In ähnlicher Weise kann die Transaktion und können die Operationen, die darin enthalten sind, irgendeine Form von zahlreichen Formen aufweisen und können in irgendeiner computerlesbaren Sprache oder Format geschrieben sein.
  • Bei den oben erläuterten Ausführungsformen wird eine einzelne Transaktion erzeugt, um die gesamte Erstellung durchzuführen, die für ein gesamtes Computersystem gewünscht wird. Es sei darauf hingewiesen, dass die Erfindung nicht in dieser Hinsicht eingeschränkt ist und dass eine Vielzahl von getrennten Aktionen alternativ erzeugt und ausgeführt werden können, um Abschnitte des gewünschten Computersystems zu erstellen.
  • C. Transaktionsausführung
  • Nachdem bei der Aktion 120 die Transaktion erzeugt worden ist, verläuft der automatisierte Erstellungsprozess zu der Aktion 130, bei der die Transaktion durchgeführt wird. Wie oben erläutert wurde, enthält bei einer Ausführungsform der vorliegenden Erfindung die Transaktion eine Reihe von Operationen in einer computerlesbaren Form, und zwar in solcher Weise, dass die Ausführung derselben eine Computerausführung gemäß einem Softwarekode umfassen kann, welcher die gewünschten Operationen durchführt. Bei einer Ausführungsform der vorliegenden Erfindung können all die Operationen, die in der Transaktion aufgeführt sind, durch einen Server oder Hostcomputer in dem Computersystem ausgeführt werden, welches Managementsteuerfunktionen für das Computersystem implementiert (z. B. ein Server, der das ECC-Managementwerkzeug, welches oben erläutert wurde, ausführt). Es sei jedoch darauf hingewiesen, dass die vorliegende Erfindung in dieser Hinsicht nicht eingeschränkt ist und dass die Transaktion alternativ auf irgendeiner geeigneten Komponente innerhalb des Computersystems ausgeführt werden kann, inklusive Hostcomputern, einem Speichersystem, einer Netzwerkkomponente usw., zumal irgendeine Komponente des Computersystems, die einen Prozessor enthält, die Fähigkeit haben kann, die Transaktion durchzuführen. Es sei ferner darauf hingewiesen, dass die vorliegende Erfindung nicht darauf beschränkt ist, dass alle die Operationen in der Transaktion durch eine einzelne Systemkomponente ausgeführt werden, da nämlich die Transaktion alternativ gesplittet werden kann, und zwar über eine Vielzahl von unterschiedlichen Komponenten innerhalb des Computersystems, von denen jede einige der Operationen der Transaktion ausführen kann.
  • Während es gemäß der obigen Erläuterung vorteilhaft ist (in der Aktion 120) eine Transaktion zu erzeugen und auszuführen (in der Aktion 130), in der alle die Erstellungsoperationen ausgeführt werden, die für ein Computersystem gewünscht werden, ist die vorliegende Erfindung in dieser Hinsicht nicht eingeschränkt, da eine Transaktion auch so erzeugt und ausgeführt werden kann, dass lediglich ein untergeordneter Satz der Erstellungsoperationen für ein bestimmtes Computersystem alternativ automatisch durchgeführt wird.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird die Aktion 130 gemäß der Ausführung der Transaktion automatisch im Ansprechen auf die Vervollständigung der Aktion 120 durchgeführt, bei welcher die Transaktion erzeugt wird, die dann ihrerseits automatisch im Ansprechen auf die Vervollständigung der Aktion 110 die Ressourcenauswahl vornimmt. Dies ist insofern vorteilhaft als der gesamte Erstellungsprozess automatisiert wird. Es sei jedoch darauf hingewiesen, dass all die Ausführungsformen der vorliegenden Erfindung in dieser Hinsicht nicht eingeschränkt sind und dass ein Einschreiten von Hand zwischen der Ressourcenauswählaktion 110 und der Transaktions-Erzeugungsaktion 120 vorgenommen werden kann und/oder zwischen der Transaktions-Erzeugungsaktion 120 und der Transaktions-Ausführungsaktion 130. Beispielsweise kann ein Systemadministrator es für wünschenswert halten, die bei der Aktion 120 erzeugte Transaktion zu überprüfen und potentiell zu modifizieren, und zwar vor der Ausführung der Aktion 130. Ferner können bei einer Ausführungsform der vorliegenden Erfindung eine oder mehrere Handoperationen in einer Transaktion platziert werden, die ansonsten automatisch bei der Aktion 130 ausgeführt werden. Bei dieser Ausführungsform kann ein Abschnitt der Transaktion automatisch ausgeführt werden, und zwar bevor eine oder mehrere Handoperationen erreicht werden, und es kann die automatische Ausführung ausgesetzt werden oder mit einer Pause versehen werden, bis ein Anwender eine Handoperation oder Handoperationen ausführt. Nach dem Empfang der Bestätigung, dass die Handoperation oder die Handoperationen vervollständigt worden ist bzw. sind, kann dann die automatische Ausführung der Transaktionsschritte wieder aufgenommen werden. Ein Beispiel eines Umstandes, bei dem es wünschenswert ist, einen oder mehrere von Hand realisierte Schritte einzufügen, besteht darin, wenn Aktio nen durch einen Administrator gewünscht werden, bevor eine Transaktion vervollständigt werden kann. Wenn beispielsweise eine Dateisystemerweiterung automatisch erstellt wird, kann es wünschenswert sein, eine Anwendung zu schließen oder neu zu starten, um das neuerlich erweiterte Dateisystem zu erkennen.
  • Die oben beschriebenen Ausführungsformen der vorliegenden Erfindung können auf irgendeine von zahlreichen Wegen implementiert werden. Beispielsweise kann die oben erläuterte Funktionalität unter Verwendung von Hardware, Software oder einer Kombination aus diesen implementiert werden. Wenn eine Implementierung als Software erfolgt, kann der Softwarekode auf irgendeinem geeigneten Prozessor oder einer Ansammlung von Prozessoren ausgeführt werden, ob dieser bzw. diese nun in einem einzelnen Computer vorhanden ist oder sind oder unter vielen Computer verteilt sind. Es sei ferner darauf hingewiesen, dass irgendeine Komponente oder Ansammlung von Komponenten, welche die oben beschriebenen Funktionen ausführt bzw. ausführen, gattungsmäßig als ein oder mehrere Controller betrachtet werden kann bzw. können, der bzw. die die oben erläuterten Funktionen steuert bzw. steuern. Der eine oder die mehreren Controller können in zahlreichen Arten implementiert sein, beispielsweise mit einer geeigneten Hardware, oder unter Verwendung von einem oder mehreren Prozessoren, die so programmiert sind, dass sie den Mikrokode oder die Software verwenden, um die oben erläuterten Funktionen auszuführen.
  • Es sei in dieser Hinsicht darauf hingewiesen, dass eine Implementierung der Ausführungsform der vorliegenden Erfindung wenigstens ein computerlesbares Medium umfaßt (z. B. einen Computerspeicher, eine Diskette, eine Festplatte, ein Band usw.), welches mit einem Computerprogramm kodiert ist (das heißt einer Vielzahl von Instruktionen), die dann, wenn sie auf einem Prozessor ausgeführt werden, die oben erläuterten Funktionen der Ausführungsformen der vorliegenden Erfindung durchführen. Das computerlesbare Medium kann transportabel sein, und zwar in solcher Weise, dass das darauf gespeicherte Programm auf irgendeinem Computersystem bzw. Computersystemressource geladen werden kann, um die Aspekte der vorliegenden Erfindung, wie sie hier erläutert sind, zu implementieren. Zusätzlich sei darauf hingewiesen, dass der Hinweis auf ein Computerprogramm, welches dann, wenn es ausgeführt wird, die oben erläuterten Funktionen durchführt, nicht auf ein Anwendungsprogramm beschränkt ist, welches auf einem Hostcomputer läuft. Vielmehr wird hier die Bezeichnung Computerprogramm in einer übergeordneten Weise bzw. gattungsmäßigen Weise verwendet, um irgendeinen Typ eines Computerkodes (z. B. Software oder Mikrokode) zu bezeichnen, der dazu verwendet werden kann, um einen Prozessor zu programmieren, um die oben erläuterten Aspekte der vorliegenden Erfindung zu implementieren.
  • Obwohl die vorliegende Erfindung unter Hinweis auf spezifische Ausführungsformen speziell dargestellt und beschrieben wurde, stellen diese Ausführungsformen lediglich ein Beispiel dar und es ist nicht sinnvoll, alle potentiell möglichen Implementierungen hier aufzuzählen. Es ist für Fachleute verständlich, dass vielfältige Änderungen in der Form und im Detail vorgenommen werden können, ohne dabei den Rahmen der vorliegenden Erfindung zu verlassen, der in den nachfolgenden Ansprüchen definiert ist.

Claims (54)

  1. Verfahren zum Erstellen von wenigstens einem Abschnitt eines Computersystems, um eine Spezifikation zu erfüllen, die in einer Erstellungsanfrage enthalten ist, die eine Spezifikation einer gewünschten Konfiguration für das Computersystem und Komponenten einer hostcomputerbezogenen Information, einer speichersystembezogenen Information und einer verbindungsressourcenbezogenen Information enthält, wobei das Verfahren die folgenden Aktionen umfaßt: (A) Lesen der Erstellungsanfrage, wobei die Erstellungsanfrage den wenigstens einen Abschnitt des Computersystems definiert, so dass dieser eine Speichereinheit enthält, die für wenigstens einen einer Vielzahl von Hostcomputern vorgesehen ist; und folgende automatische Aktionen: (B) automatisches Erstellen von wenigstens einem Abschnitt des Computersystems im Ansprechen auf die Erstellungsanfrage, mit den folgenden Aktionen: (B1) Auswählen von wenigstens einem logischen Speichervolumen von wenigstens einem Speichersystem, welches als Speichereinheit dienen kann, die durch die Erstellungsanfrage definiert ist; (B2) Auswählen von wenigstens einer Verbindungsressource, die einen Kommunikationspfad liefern kann, über den das ausgewählte wenigstens eine logische Volumen für wenigstens einen der Vielzahl der Hostcomputer zugreifbar gemacht werden kann; (B3) Erzeugen einer Transaktion, die eine Reihe von Aktionen umfaßt, um das ausgewählte wenigstens eine Speichervolumen und die ausgewählte wenigstens eine Verbindungsressource zur Befriedigung der Erstellungsanfrage zu konfigurieren, inklusive einer Konfigurierung des ausgewählten wenigstens einen logischen Volumens zur Befriedigung der Erstellungsanfrage, Abbilden des ausgewählten wenigstens einen logischen Volumens an wenigstens einem Port des wenigstens einen Speichersystems, über den das ausgewählte wenigstens eine logische Volumen zugreifbar wird, Konfigurieren des Kommunikationspfades und Konfigurieren des wenigstens einen Abschnittes des Computersystems, um einen Zugriff auf das ausgewählte wenigstens eine logische Volumen durch wenigstens einen der Vielzahl der Hostcomputer zu ermöglichen; und (B4) Ausführen der Transaktion, um das automatisch ausgewählte wenigstens eine logische Volumen und die ausgewählte wenigstens eine Verbindungsressource in einer solchen Weise zu konfigurieren, dass die Erstellungsanfrage befriedigt wird.
  2. Verfahren nach Anspruch 1, bei dem jede der Einrichtungen gemäß dem wenigstens einen Hostcomputer, dem wenigstens einen Speichersystem und der wenigstens einen Verbindungsressource eine Vielzahl von Ressourcen umfaßt, wobei die Aktionen (B1) und (B2) die folgenden Aktionen umfassen: Auswählen von wenigstens einer Ressource aus einer Vielzahl von Ressourcen für jede der Einrichtungen gemäß dem wenigstens einen Hostcomputer, dem wenigstens einen Speichersystem und der wenigstens einen Verbindungsressource, um ausgewählte Ressourcen zur Befriedigung der Erstellungsanfrage zu identifizieren.
  3. Verfahren nach Anspruch 2, bei dem das wenigstens eine Speichersystem logische Speichervolumina bietet, die durch wenigstens ein Objekt in dem wenigstens einen Hostcomputer verwendbar sind, um Informationen zu speichern, wobei das wenigstens eine Objekt (entity) wenigstens eine der Größen gemäß einem Dateisystem, einem logischen Volumenmanager und einem Datenbankmanager enthält und bei dem die Aktion (B3) eine Aktion gemäß Erzeugen einer Transaktion umfaßt, bei der wenigstens eines der logischen Volumina zu wenigstens dem einen Objekt in dem wenigstens einen Hostcomputer zugeordnet wird.
  4. Verfahren nach Anspruch 2, bei dem das wenigstens eine Speichersystem logische Speichervolumina bietet, die durch wenigstens ein Objekt in dem wenigstens einen Hostcomputer verwendbar sind, um Informationen zu speichern, und bei dem die Aktion (B3) eine Aktion gemäß Erzeugen einer Transaktion umfaßt, bei der wenigstens eines der logischen Volumina wenigstens einem Port des wenigstens einen Hostcomputers zugeordnet wird, über den das wenigstens eine Volumen der logischen Volumina wenigstens für ein Objekt zugreifbar wird.
  5. Verfahren nach Anspruch 2, bei dem die Aktion des Auswählens von wenigstens einer Ressource aus einer Vielzahl von Ressourcen eine Aktion gemäß Auswählen von wenigstens einem logischen Speichervolumen umfaßt, welches durch das wenigstens eine Speichersystem geboten wird, das durch den wenigstens einen Hostcomputer dazu verwendet wird, um Informationen zu speichern, um die Erstellungsanfrage zu befriedigen.
  6. Verfahren nach Anspruch 2, bei dem das wenigstens eine Speichersystem logische Speichervolumina bietet, die zum Speichern von Informationen verwendet werden können, und bei dem die Aktion (B3) eine Aktion gemäß Erzeugen einer Transak tion umfaßt, bei der wenigstens eines der logischen Volumina an wenigstens einem Port des wenigstens einen Speichersystems abgebildet wird, über den das wenigstens eine der logischen Volumina zugreifbar ist.
  7. Verfahren nach Anspruch 2, bei dem das wenigstens eine Speichersystem logische Speichervolumina bietet, die zum Speichern von Informationen verwendet werden können und bei dem die Aktion (B3) eine Aktion gemäß der Erzeugung einer Transaktion umfaßt, bei der eine gespiegelte Beziehung zwischen wenigstens zwei der logischen Volumina erzeugt wird.
  8. Verfahren nach Anspruch 2, bei dem das wenigstens eine Speichersystem logische Speichervolumina bietet, die zum Speichern von Informationen verwendet werden können und bei dem die Aktion (B3) eine Aktion gemäß der Erzeugung einer Transaktion umfaßt, bei der ein Kommunikationspfad über die wenigstens eine Verbindungsressource konfiguriert wird, um wenigstens eines der logischen Volumina für den wenigstens einen Hostcomputer zum Speichern von Informationen zugreifbar zu machen.
  9. Verfahren nach Anspruch 8, bei dem die Aktion (B3) eine Aktion gemäß einem Erzeugen einer Transaktion umfaßt, bei der wenigstens zwei parallele Kommunikationspfade durch die wenigstens eine Verbindungsressource konfiguriert werden, um wenigstens eines der logischen Volumina für den wenigstens einen Hostcomputer zugreifbar zu machen.
  10. Verfahren nach Anspruch 2, bei dem der wenigstens eine Hostcomputer eine Vielzahl von Hostcomputern umfaßt, wobei das wenigstens eine Speichersystem logische Speichervolumina bietet, die durch die Vielzahl der Hostcomputer zum Speichern von Informationen nutzbar sind, und bei dem die Aktion (B3) eine Ak tion gemäß einem Erzeugen einer Transaktion umfaßt, die das Computersystem verzont, um einen Zugriff auf das wenigstens eine logische Volumen lediglich durch einen untergeordneten Satz der Vielzahl der Hostcomputer vorzusehen.
  11. Verfahren nach Anspruch 2, bei dem die Aktion des Auswählens wenigstens einer Ressource aus einer Vielzahl von Ressourcen die folgenden Aktionen umfaßt: Bestimmen, welche Ressourcen für eine Auswahl verfügbar sind, um die Erstellungsanfrage zu befriedigen, indem der wenigstens eine Hostcomputer, das wenigstens eine Speichersystem und die wenigstens eine Verbindungsressource abgefragt werden; und Auswählen von wenigstens einer Ressource aus der Vielzahl der Ressourcen für jede Einrichtung gemäß dem wenigstens einen Hostcomputer, dem wenigstens einen Speichersystem und der wenigstens einen Verbindungsressource im Ansprechen auf die Bestimmungsaktion.
  12. Verfahren nach Anspruch 11, bei dem das Computersystem wenigstens einen Datensatz aufweist, der Informationen umfaßt, die sich auf die Ressourcen beziehen, die von wenigstens einer der Einrichtungen gemäß dem wenigstens einen Hostcomputer, dem wenigstens einen Speichersystem und der wenigstens einen Verbindungsressource verfügbar sind.
  13. Verfahren nach Anspruch 1, bei dem der Aktion (A) die folgende Aktion vorgeschaltet ist: (C) Erzeugen der Erstellungsanfrage.
  14. Verfahren nach Anspruch 13, bei dem die Aktion (C) die folgenden Aktionen umfaßt: (C1) Umkehren des technischen Aufbaus eines existierenden Computersystems, um eine Spezifikation einer Konfiguration des existierenden Computersystems zu erzeugen; und (C2) Modifizieren der Spezifikation des existierenden Computersystems, um die Spezifikation zu erzeugen, die in der Erstellungsanfrage vorgesehen ist.
  15. Verfahren nach Anspruch 14, bei dem die Aktion (C1) eine computerimplementierte Aktion ist.
  16. Verfahren nach Anspruch 1, bei dem die wenigstens eine Verbindungsressource wenigstens eine Netzwerkressource aufweist, die wenigstens einen Teil eines Netzwerks bildet, welches den wenigstens einen Hostcomputer und das wenigstens eine Speichersystem verbindet, und bei dem die Aktion (B) eine Aktion gemäß einer automatischen Erstellung der wenigstens einen Netzwerkressource umfaßt.
  17. Verfahren nach Anspruch 5, bei dem die Aktion des Auswählens wenigstens einer Ressource aus einer Vielzahl von Ressourcen eine Aktion aufweist, bei der die Performance-Charakteristika des wenigstens einen logischen Volumens berücksichtigt werden, wenn bestimmt wird, dass das wenigstens eine ausgewählte logische Volumen dazu verwendet werden kann, um die Erstellungsanfrage zu befriedigen.
  18. Verfahren nach Anspruch 5, bei dem die Aktion des Auswählens wenigstens einer Ressource aus einer Vielzahl von Ressourcen eine Aktion umfaßt, bei der eine Speicherkapazität des wenigstens einen logischen Volumens berücksichtigt wird, wenn bestimmt wird, dass das wenigstens eine ausgewählte Volumen dazu verwendet werden kann, um die Erstellungsanfrage zu befriedigen.
  19. Verfahren nach Anspruch 5, bei dem die Aktion (B3) eine Aktion gemäß einem Erzeugen einer Transaktion umfaßt, mit der das wenigstens eine ausgewählte logische Volumen konfiguriert wird, um als ein Ersatzvolumen zu dienen, welches für eine dynamische Zuordnung verfügbar ist.
  20. Verfahren nach Anspruch 6, bei dem das wenigstens eine Speichersystem eine existierende Konfiguration vor der Ausführung der Aktion (B) aufweist, bei der das wenigstens eine der logischen Volumina an einem ersten Port des wenigstens einen Speichersystems abgebildet wird, und bei dem die Aktion (B3) eine Aktion gemäß einem Erzeugen einer Transaktion umfaßt, bei der das wenigstens eine der logischen Volumina an einem zweiten Port des wenigstens einen Speichersystems neu abgebildet wird, welcher Port von dem ersten Port verschieden ist.
  21. Verfahren nach Anspruch 10, bei dem das Computersystem eine existierende Konfiguration vor der Ausführung der Aktion (B) aufweist, bei der das Computersystem verzont wird, um einen Zugriff auf wenigstens eines der logischen Volumina für einen ersten untergeordneten Satz einer Vielzahl von Hostcomputern vorzusehen, und bei dem die Aktion (B3) eine Aktion gemäß einem Erzeugen einer Transaktion umfaßt, bei der das Computersystem wieder oder erneut verzont wird, um einen Zugriff auf das wenigstens eine der logischen Volumina lediglich für einen zweiten untergeordneten Satz von der Vielzahl der Hostcomputer vorzu sehen, welcher untergeordnete Satz verschieden ist von dem ersten untergeordneten Satz.
  22. Verfahren nach Anspruch 1, bei dem das wenigstens eine Speichersystem eine Vielzahl von logischen Speichervolumina bietet, die durch wenigstens ein Objekt in dem wenigstens einen Hostcomputer verwendbar sind, um Informationen zu speichern, wobei das Computersystem vor der Ausführung der Aktion (B) eine bestehende Konfiguration aufweist, in der wenigstens einige der Vielzahl der logischen Volumina, die durch das wenigstens eine Speichersystem geboten werden, einem Objekt in dem wenigstens einen Hostcomputer zugeordnet wird, und bei dem das Verfahren ferner eine Aktion aufweist, bei der vor der Ausführung einer Transaktion bei der eines der Vielzahl der logischen Volumina zugeordnet wird, bestimmt wird, dass eines der Vielzahl der logischen Volumina noch nicht einem unterschiedlichen Objekt in dem wenigstens einen Hostcomputer zugeordnet ist.
  23. Verfahren nach Anspruch 2, ferner mit einer Aktion (C) gemäß einem Ungeschehenmachen von wenigstens einigen der Folgen der Aktionen, die in der Aktion (B4) ausgeführt werden.
  24. Verfahren nach Anspruch 23, bei dem die Aktion (C) die folgenden Aktionen umfaßt: (C1) Erzeugen einer Ungeschehenmachaktion, die eine Reihe von Ungeschehenmachaktionen umfaßt, gemäß welchen Folgen von Aktionen, die in der Aktion (B3) erzeugt werden, ungeschehen gemacht werden; und (C2) Ausführen von wenigstens einigen der Folgen der Ungeschehenmachaktionen.
  25. Computerlesbares Medium, welches mit einem Computerprogramm kodiert ist, welches bei Abarbeitung in einem Computer ein Verfahren zum Erstellen von wenigstens einem Abschnitt eines Computersystems nach einem der Ansprüche 1 bis 24 durchführt.
  26. Vorrichtung, mit: wenigstens einem Prozessor, der dafür programmiert ist, um wenigstens einen Abschnitt eine Computersystems zur Erfüllung einer Spezifikation zu erstellen, die in einer Erstellungsanfrage enthalten ist, welche wenigstens einen Abschnitt des Computersystems definiert, so dass dieses eine Speichereinheit aufweist, die für wenigstens einen einer Vielzahl von Hostcomputern vorgesehen wird, wobei der wenigstens eine Prozessor dafür programmiert ist, um: wenigstens ein logisches Speichervolumen von wenigstens einem Speichersystem auszuwählen, welches als eine Speichereinheit dienen kann, die durch die Erstellungsanfrage definiert ist; Auswählen von wenigstens einer Verbindungsressource, die einen Verbindungspfad bilden kann, über den das ausgewählte wenigstens eine logische Volumen für wenigstens einen der Vielzahl der Hostcomputer zugreifbar gemacht werden kann; Erzeugen einer Transaktion, die eine Folge von Aktionen umfaßt, um das ausgewählte wenigstens eine logische Volumen und die ausgewählte wenigstens eine Verbindungsressource zur Befriedigung der Erstellungsanfrage zu konfigurieren, inklusive einer Konfigurierung des ausgewählten wenigstens einen logischen Volumens, um die Erstellungsanfrage zu befriedigen, Abbilden des wenigstens einen logischen Volumens an wenigstens einem Port des wenigstens einen Speichersystems, über den das ausgewählte wenigstens eine logische Volumen zugreifbar wird, Konfigurieren des Kommunikationspfades und Konfigurieren von wenigstens einem Abschnitt des Computersystems, um einen Zugriff auf das ausgewählte wenigstens eine logische Volumen durch lediglich wenigstens einen der Vielzahl der Hostcomputer zu ermöglichen; und Ausführen der Transaktion, um das ausgewählte wenigstens eine logische Volumen und die ausgewählte wenigstens eine Verbindungsressource in einer solchen Weise zu konfigurieren, dass die Erstellungsanfrage befriedigt wird.
  27. Vorrichtung nach Anspruch 26, bei der jede der Einrichtungen gemäß dem wenigstens einen Hostcomputer, dem wenigstens einen Speichersystem und der wenigstens einen Verbindungsressource eine Vielzahl von Ressourcen umfaßt, und bei der der wenigstens eine Prozessor dafür programmiert ist, um: wenigstens eine Ressource aus der Vielzahl der Ressourcen für jede der Einrichtungen gemäß dem wenigstens einen Hostcomputer, dem wenigstens einen Speichersystem und der wenigstens einen Verbindungsressource auszuwählen, um die ausgewählten Ressourcen zur Befriedigung der Erstellungsanfrage zu identifizieren; Erzeugen einer Transaktion, die eine Folge von Aktionen umfaßt, um die ausgewählten Ressourcen zur Befriedigung der Erstellungsanfrage zu konfigurieren; und Ausführen der Transaktion, um die ausgewählten Ressourcen in einer solchen Weise zu konfigurieren, dass die Erstellungsanfrage befriedigt wird.
  28. Vorrichtung nach Anspruch 27, bei der das wenigstens eine Speichersystem logische Speichervolumina bietet, die von wenigstens einem Objekt in dem wenigstens einen Hostcomputer zum Speichern von Informationen verwendbar sind, wobei das wenigstens eine Objekt wenigstens eine der Einrichtungen gemäß einem Dateisystem, einem Logikvolumenmanager und einem Datenbankmanager enthält, und bei der der wenigstens eine Prozessor dafür programmiert ist, um eine Transaktion zu erzeugen, bei der wenigstens eines der logischen Volumina dem wenigstens einen Objekt in dem wenigstens einen Hostcomputer zugeordnet wird.
  29. Vorrichtung nach Anspruch 27, bei der das wenigstens eine Speichersystem logische Speichervolumina bietet, die durch wenigstens ein Objekt in dem wenigstens einen Hostcomputer zum Speichern von Informationen verwendbar sind, und bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen, bei der wenigstens eines der logischen Volumina wenigstens einem Port des wenigstens einen Hostcomputers zugeordnet wird, über den das wenigstens eine der logischen Volumina für das wenigstens eine Objekt zugreifbar wird.
  30. Vorrichtung nach Anspruch 27, bei der der wenigstens eine Prozessor so programmiert ist, um wenigstens ein logisches Speichervolumen auszuwählen, welches durch das wenigstens eine Speichersystem geboten wird, um durch den wenigstens einen Computer zum Speichern von Informationen verwendet zu werden, um die Erstellungsanfrage zu befriedigen.
  31. Vorrichtung nach Anspruch 27, bei der das wenigstens eine Speichersystem logische Speichervolumina bietet, die zum Speichern von Informationen verwendet werden können, und bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen, bei der wenigstens eines der logischen Volumina wenigstens einem Port des wenigstens einen Speichersystems zugeordnet wird bzw. an diesem Port abgebildet wird, über den das wenigstens eine der logischen Volumina zugreifbar wird.
  32. Vorrichtung nach Anspruch 27, bei der das wenigstens eine Speichersystem logische Speichervolumina bietet, die zum Speichern von Informationen verwendet werden können, und bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen, die eine gespiegelte Beziehung zwischen wenigstens zwei der logischen Volumina erzeugt.
  33. Vorrichtung nach Anspruch 27, bei der das wenigstens eine Speichersystem logische Speichervolumina bietet, die zum Speichern von Informationen verwendet werden können, und bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen, mit der ein Kommunikationspfad über die wenigstens eine Verbindungsressource konfiguriert wird, um wenigstens eines der logischen Volumina für wenigstens einen Hostcomputer zum Speichern von Informationen zugreifbar zu machen.
  34. Vorrichtung nach Anspruch 33, bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen, bei der wenigstens zwei parallel Kommunikationspfade durch die wenigstens eine Verbindungsressource konfiguriert werden, um wenigstens eines der logischen Volumina für den wenigstens einen Hostcomputer zugreifbar zu machen.
  35. Vorrichtung nach Anspruch 27, bei der der wenigstens eine Hostcomputer eine Vielzahl an Hostcomputern umfaßt, wobei das wenigstens eine Speichersystem logische Speichervolumina bietet, die durch die Vielzahl der Hostcomputer zum Speichern von Informationen verwendbar sind, und bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen, mit der das Computersystem verzont wird, um wenigstens eines der logischen Volumina für wenigstens einen untergeordneten Satz der Vielzahl der Hostcomputer zugreifbar zumachen.
  36. Vorrichtung nach Anspruch 27, bei der das Computersystem wenigstens einen Datensatz aufweist, der Informationen umfaßt, welche Ressourcen betreffen, die für wenigstens eine der Einrichtungen gemäß dem wenigstens einen Hostcomputer, dem wenigstens einen Speichersystem und der wenigstens einen Verbindungsressource verfügbar sind, und bei der der wenigstens eine Prozessor dafür prorammiert ist, um: zu bestimmen, welche Ressourcen verfügbar sind, um die Erstellungsanfrage zu befriedigen, indem der Datensatz abgefragt wird; und die wenigstens eine Ressource aus der Vielzahl der Ressourcen auszuwählen, die dafür bestimmt wurde, um für wenigstens eine der Einrichtungen gemäß dem wenigstens einen Hostcomputer, dem wenigstens einen Speichersystem und der wenigstens einen Verbindungsressource verfügbar zu sein.
  37. Vorrichtung nach Anspruch 26, bei der der Prozessor so programmiert ist, die Erzeugung der Erstellungsanfrage zu unterstützen.
  38. Vorrichtung nach Anspruch 37, bei der der wenigstens eine Prozessor so programmiert ist, um die Erzeugung der Erstellungsanfrage zu unterstützen, indem eine Rückwärtsabwicklung eines existierenden Computersystems vorgenommen wird, um eine Spezifikation einer Konfiguration des existierenden Computersystems zu erzeugen, so dass die Spezifikation des existierenden Computersystems modifiziert werden kann, um die durch die Erstellungsanfrage vorgesehene Spezifikation zu erzeugen.
  39. Vorrichtung nach Anspruch 26, bei der die wenigstens eine Verbindungsressource wenigstens eine Netzwerkressource umfaßt, die wenigstens einen Teil eines Netzwerkes bildet, welches den wenigstens einen Hostcomputer und das wenigstens eine Speichersystem verbindet, und bei der der wenigstens eine Prozessor so programmiert ist, um die wenigstens eine Netzwerkressource automatisch zu erstellen.
  40. Vorrichtung nach Anspruch 30, bei der der wenigstens eine Prozessor so programmiert ist, um die Performanceeigenschaften von wenigstens einem logischen Volumen zu berücksichtigen, und zwar bei der Bestimmung, dass das ausgewählte wenigstens eine logische Volumen dazu verwendet werden kann, um die Erstellungsanfrage zu befriedigen.
  41. Vorrichtung nach Anspruch 30, bei der der wenigstens eine Prozessor so programmiert ist, um eine Speicherkapazität des wenigstens einen logischen Volumens zu berücksichtigen, und zwar bei der Bestimmung das das ausgewählte wenigstens eine logische Volumen zur Befriedigung der Erstellungsanfrage verwendet werden kann.
  42. Vorrichtung nach Anspruch 30, bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen, bei der das wenigstens eine ausgewählte logische Volumen konfiguriert wird, um als ein Ersatzvolumen zu dienen, welches für eine dynamische Zuordnung verfügbar ist.
  43. Vorrichtung nach Anspruch 31, bei der das wenigstens eine Speichersystem eine bestehende Konfiguration aufweist, und zwar vor der Ausführung der Transaktion, bei der das wenigstens eine der logischen Volumina an einem ersten Port des wenigstens einen Speichersystems abgebildet wird, und bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen und auszuführen, mit der das wenigstens eine der logischen Speichervolumina an einem zweiten Port des wenigstens einen Speichersystems, der von dem ersten Port verschieden ist, wieder oder nochmals abgebildet wird.
  44. Vorrichtung nach Anspruch 35, bei der das Computersystem eine bestehende Konfiguration vor der Ausführung der Transaktion aufweist, in der das Computersystem verzont wird, um einen Zugriff auf wenigstens eines der logischen Volumina für einen ersten untergeordneten Satz der Vielzahl der Hostcomputer vorzusehen, und bei der der wenigstens eine Prozessor so programmiert ist, um eine Transaktion zu erzeugen und auszuführen, bei der das Computersystem wieder oder nochmals verzont wird, um einen Zugriff auf das wenigstens eine der logischen Volumina durch wenigstens einen zweiten untergeordneten Satz der Vielzahl der Hostcomputer, der von dem ersten untergeordneten Satz verschieden ist, vorzusehen.
  45. Vorrichtung nach Anspruch 26, bei der das wenigstens eine Speichersystem eine Vielzahl von logischen Speichervolumina bietet, die für wenigstens ein Objekt in dem wenigstens einen Hostcomputer zum Speichern von Informationen verfügbar sind, wobei das Computersystem vor der Ausführung der Transaktion eine bestehende Konfiguration aufweist, bei der wenigstens einige der Vielzahl der logischen Volumina, die durch das wenigstens eine Speichersystem geboten werden, einem Objekt in dem wenigstens einen Hostcomputer zugeordnet werden, und bei der der wenigstens eine Prozessor so programmiert ist, um vor der Ausführung der Transaktion bei der eines der Vielzahl der logischen Volumina zugeordnet wird, zu bestimmen, dass das eine der Vielzahl der logischen Volumina noch nicht bereits einem verschiedenen Objekt in dem wenigstens einen Hostcomputer zugeordnet ist.
  46. Vorrichtung nach Anspruch 27, bei der der wenigstens eine Prozessor so programmiert ist, um wenigstens einige der Folgen der Aktionen rückgängig zu machen, die ausgeführt werden, wenn die Transaktion durchgeführt wird.
  47. Vorrichtung nach Anspruch 46, bei der der wenigstens eine Prozessor so programmiert ist, um ein Ungeschehenmach-Transaktion zu erzeugen, die eine Folge von Ungeschehenmach-Aktionen umfaßt, welche die Folgen von Aktionen in der Transaktion ungeschehen machen.
  48. Verfahren nach Anspruch 1 zum Erstellen von wenigstens einem Abschnitt eines Computersystems, welches Verfahren die folgenden Aktionen umfaßt: (D) Erzeugen einer computerlesbaren Erstellungstransaktion, die eine Folge von Erstellungsaktionen umfaßt, um eine Vielzahl von Computersystemressourcen zu erstellen, um die gewünschte Konfiguration zu erfüllen; und (E) Erzeugen einer computerlesbaren Rückgängigmach-Transaktion, die eine Folge von Rückgängigmachaktionen umfaßt, um wenigstens einen untergeordneten Satz der Folgen der Erstellungsaktionen rückgängig zu machen.
  49. Verfahren nach Anspruch 48, bei dem die Aktion (E) eine Aktion gemäß einem Erzeugen einer Ungeschehenmach-Transaktion umfaßt, die eine Ungeschehenmachaktion enthält, entsprechend jeder der Erstellungsaktionen in der Erstellungstransaktion.
  50. Verfahren nach Anspruch 49, bei dem die Erstellungsaktionen in einer Sequenz angeordnet sind, und zwar von einem ersten bis zu einem letzten Schritt in der Erstellungstransaktion, und bei dem die Aktion (E) eine Aktion umfaßt, bei der eine Ungeschehenmach-Transaktion erzeugt wird, entsprechend einer umgekehrten Sequenz, die mit der Ungeschehenmach-Transaktion startet, entsprechend der letzten Erstellungstransaktion, und die mit der Ungeschehenmach-Transaktion entsprechend der ersten Erstellungstransaktion endet, so dass die Ausführung der Ungeschehenmach-Transaktion eine Konfiguration von wenigstens einem Abschnitt des Computersystems rückwärts abrollen kann, bis zu einem Zustand entsprechend einem Zustand, bei dem wenigstens ein Abschnitt des Computersystems in einer Folgeausführung war, und zwar von irgendeiner der Erstellungsaktionen in der Erstellungstransaktion.
  51. Verfahren nach Anspruch 50, ferner mit den folgenden Aktionen: Ausführen der Erstellungstransaktion, um wenigstens einen Abschnitt des Computersystems in der gewünschten Konfiguration zu erstellen; und Ausführen von wenigstens einem Abschnitt der Ungeschehenmach-Transaktion, um die Konfiguration des wenigstens einen Abschnitts des Computersystems rückwärts abzuwickeln.
  52. Computerlesbares Medium, welches mit einem Computerprogramm kodiert ist, welches dann, wenn es auf einem Computer durchgeführt wird, ein Verfahren zum Erstellen von wenigstens einem Abschnitt eines Computersystems in einer gewünschten Konfiguration gemäß einem der Ansprüche 48 bis 51 ausführt.
  53. Verfahren nach Anspruch 1 zum Erstellen von wenigstens einem Abschnitt eines gewünschten Computersystems, welches Verfahren die folgenden Aktionen umfaßt: (F) automatisches Rückwärtsabwickeln von wenigstens einem Abschnitt eines existierenden Computersystems, um eine Spezifikation einer Konfiguration von wenigstens einem Abschnitt des existierenden Computersystems zu erzeugen; (G) Modifizieren der Spezifikation des wenigstens einen Abschnitts des existierenden Computersystems, um eine Spezifikation für wenigstens einen Abschnitt des gewünschten Computersystems zu erzeugen; und (H) automatisches Erstellen des wenigstens einen Abschnitts des gewünschten Computersystems, um die Spezifikation für das gewünschte Computersystem zu erfüllen.
  54. Verfahren nach Anspruch 53, bei dem die Aktion (H) eine Aktion gemäß einem automatischen Erstellen von wenigstens einer Ressource von wenigstens einem Hostcomputer, von wenigstens einer Ressource von wenigstens einem Speichersystem und von wenigstens einer Ressource von wenigstens einer Verbindungsressource umfaßt, die den wenigstens einen Hostcomputer mit dem wenigstens einen Speichersystem verbindet.
DE10393595T 2002-10-30 2003-07-31 Verfahren und Vorrichtung zum Liefern von Speicherressourcen Expired - Lifetime DE10393595B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/283,908 2002-10-30
US10/283,908 US7945669B2 (en) 2002-10-30 2002-10-30 Method and apparatus for provisioning storage resources
PCT/US2003/023998 WO2004042565A2 (en) 2002-10-30 2003-07-31 Method and apparatus for provisioning storage resources

Publications (2)

Publication Number Publication Date
DE10393595T5 DE10393595T5 (de) 2005-09-01
DE10393595B4 true DE10393595B4 (de) 2008-11-27

Family

ID=32174770

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10393595T Expired - Lifetime DE10393595B4 (de) 2002-10-30 2003-07-31 Verfahren und Vorrichtung zum Liefern von Speicherressourcen

Country Status (5)

Country Link
US (1) US7945669B2 (de)
JP (1) JP4648003B2 (de)
DE (1) DE10393595B4 (de)
GB (3) GB2408611A (de)
WO (1) WO2004042565A2 (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US7263593B2 (en) 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP2004220450A (ja) * 2003-01-16 2004-08-05 Hitachi Ltd ストレージ装置、その導入方法、及びその導入プログラム
JP4387116B2 (ja) 2003-02-28 2009-12-16 株式会社日立製作所 ストレージシステムの制御方法、及びストレージシステム
JP2005018193A (ja) * 2003-06-24 2005-01-20 Hitachi Ltd ディスク装置のインタフェースコマンド制御方法ならびに計算機システム
JP4437650B2 (ja) * 2003-08-25 2010-03-24 株式会社日立製作所 ストレージシステム
US7219201B2 (en) * 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
JP4598387B2 (ja) * 2003-09-17 2010-12-15 株式会社日立製作所 記憶システム
JP4307202B2 (ja) * 2003-09-29 2009-08-05 株式会社日立製作所 記憶システム及び記憶制御装置
US20050075856A1 (en) * 2003-10-01 2005-04-07 Sbc Knowledge Ventures, L.P. Data migration using SMS simulator
US7239877B2 (en) * 2003-10-07 2007-07-03 Accenture Global Services Gmbh Mobile provisioning tool system
US7324473B2 (en) * 2003-10-07 2008-01-29 Accenture Global Services Gmbh Connector gateway
JP4257783B2 (ja) * 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
JP4451118B2 (ja) * 2003-11-18 2010-04-14 株式会社日立製作所 情報処理システム、管理装置、論理デバイス選択方法及びプログラム
CN101427220A (zh) * 2004-01-30 2009-05-06 国际商业机器公司 用于计算工具的计算环境的组件化自动供应和管理
US7676552B2 (en) * 2004-02-11 2010-03-09 International Business Machines Corporation Automatic provisioning of services based on a high level description and an infrastructure description
JP4391265B2 (ja) 2004-02-26 2009-12-24 株式会社日立製作所 ストレージサブシステムおよび性能チューニング方法
JP2005267008A (ja) * 2004-03-17 2005-09-29 Hitachi Ltd ストレージ管理方法およびストレージ管理システム
JP4455137B2 (ja) * 2004-04-20 2010-04-21 株式会社日立製作所 記憶サブシステム管理方法
US7620705B2 (en) * 2004-07-30 2009-11-17 Research In Motion Limited Method and apparatus for provisioning a communications client on a host device
CA2575581C (en) * 2004-07-30 2013-02-12 Research In Motion Limited System and method for providing a communications client on a host device
WO2006010257A1 (en) * 2004-07-30 2006-02-02 Research In Motion Limited Method and system for coordinating device setting between a communications client and its host device
US7818150B2 (en) * 2005-03-11 2010-10-19 Hyperformix, Inc. Method for building enterprise scalability models from load test and trace test data
US7793058B2 (en) * 2005-04-19 2010-09-07 International Business Machines Corporation Method and apparatus for negotiating revised service level agreements
EP1764972B1 (de) * 2005-09-20 2017-07-19 Accenture Global Services Limited Architektur zur Authentifizierung und Authorisierung für ein Zugangsgateway
US7917124B2 (en) * 2005-09-20 2011-03-29 Accenture Global Services Limited Third party access gateway for telecommunications services
JP2007087240A (ja) * 2005-09-26 2007-04-05 Hitachi Computer Peripherals Co Ltd Rfidを利用したネットワークストレージシステムおよびネットワークストレージシステム構築方法
WO2007042779A1 (en) * 2005-10-07 2007-04-19 Cramer Systems Limited Telecommunications service management
GB2431067B (en) 2005-10-07 2008-05-07 Cramer Systems Ltd Telecommunications service management
US7920583B2 (en) * 2005-10-28 2011-04-05 Accenture Global Services Limited Message sequencing and data translation architecture for telecommunication services
JP4550717B2 (ja) * 2005-10-28 2010-09-22 富士通株式会社 仮想ストレージシステム制御装置、仮想ストレージシステム制御プログラム、仮想ストレージシステム制御方法
US8271643B2 (en) * 2006-02-01 2012-09-18 Ca, Inc. Method for building enterprise scalability models from production data
GB0608405D0 (en) * 2006-04-28 2006-06-07 Ibm Optimisation of the selection of storage device ports
US8478952B1 (en) * 2006-06-13 2013-07-02 Emc Corporation Flexible optimized group-based backups
GB2440561B (en) * 2006-07-28 2011-03-30 Hewlett Packard Development Co Data storage system
JP5079427B2 (ja) * 2006-08-31 2012-11-21 アクセンチュア グローバル サーヴィシズ ゲゼルシャフト ミット ベシュレンクテル ハフツング システム用のサービスプロビジョニング及びアクチベーションエンジン
EP1895746A1 (de) * 2006-08-31 2008-03-05 Accenture Global Services GmbH Dienstbereitstellung und Aktivierung für Geräte in einem Kommunikationsnetzwerk
US8094797B2 (en) * 2006-08-31 2012-01-10 Accenture Global Services Limited Service provisioning and activation engines for system
US8069229B2 (en) * 2006-12-28 2011-11-29 Computer Associates Think, Inc. Topology static zones
US20080244620A1 (en) * 2007-03-27 2008-10-02 Brian James Cagno Dynamic Communication Fabric Zoning
US20080270483A1 (en) * 2007-04-30 2008-10-30 Hewlett-Packard Development Company, L.P. Storage Management System
US20080291023A1 (en) * 2007-05-24 2008-11-27 Microsoft Corporation RFID Discovery, Tracking, and Provisioning of Information Technology Assets
US8099532B2 (en) * 2007-06-14 2012-01-17 International Business Machines Corporation Intelligent dynamic multi-zone single expander connecting dual ported drives
JP2009151560A (ja) * 2007-12-20 2009-07-09 Hitachi Ltd リソースの管理方法、情報処理システム、情報処理装置、及びプログラム
US8452927B2 (en) * 2008-01-02 2013-05-28 Sandisk Technologies Inc. Distributed storage service systems and architecture
US8583878B2 (en) 2008-01-02 2013-11-12 Sandisk Il Ltd. Storage device having direct user access
US8370402B2 (en) * 2008-01-02 2013-02-05 Sandisk Il Ltd Dual representation of stored digital content
US9098506B2 (en) * 2008-01-02 2015-08-04 Sandisk Il, Ltd. Data indexing by local storage device
CN101216815B (zh) * 2008-01-07 2010-11-03 浪潮电子信息产业股份有限公司 一种双翼可扩展多处理器紧耦合共享存储器体系结构
US8364945B2 (en) * 2008-06-19 2013-01-29 Microsoft Corporation Provisioning an unknown computer system
US8424053B2 (en) * 2008-07-01 2013-04-16 International Business Machines Corporation Method of dynamically updating network security policy rules when new network resources are provisioned in a service landscape
US8479210B2 (en) * 2009-10-20 2013-07-02 International Business Machines Corporation Evenly distributing workload and providing a predictable failover scenario in a data replication system
EP2387200B1 (de) * 2010-04-23 2014-02-12 Compuverde AB Verteilte Datenspeicherung
US9319350B2 (en) * 2011-04-21 2016-04-19 Hewlett Packard Enterprise Development Lp Virtual address for virtual port
US9110591B2 (en) * 2011-04-22 2015-08-18 Hewlett-Packard Development Company, L.P. Memory resource provisioning using SAS zoning
US8788877B2 (en) * 2011-08-03 2014-07-22 International Business Machines Corporation Acquiring a storage system into copy services management software
EP2648364B1 (de) 2012-03-07 2018-06-06 Accenture Global Services Limited Kommunikationskollaboration
US9460028B1 (en) * 2012-12-27 2016-10-04 Emc Corporation Non-disruptive and minimally disruptive data migration in active-active clusters
JP6191171B2 (ja) * 2013-03-06 2017-09-06 富士通株式会社 ストレージシステム、データ格納先の選択方法及びプログラム
US9400611B1 (en) 2013-03-13 2016-07-26 Emc Corporation Data migration in cluster environment using host copy and changed block tracking
US9588685B1 (en) * 2013-05-03 2017-03-07 EMC IP Holding Company LLC Distributed workflow manager
US9372642B2 (en) * 2013-07-22 2016-06-21 International Business Machines Corporation RAID 10 reads optimized for solid state drives
US10324953B1 (en) * 2014-06-26 2019-06-18 EMC IP Holding Company LLC Managing remote data center from another data center
US10095369B1 (en) * 2014-10-28 2018-10-09 VCE IP Holding Company LLC Systems and methods for provisioning computing components through modular orchestration
US20170220275A1 (en) * 2014-12-26 2017-08-03 Hitachi, Ltd. Computer system and management program
US10032041B2 (en) 2015-05-30 2018-07-24 Apple Inc. Storage volume protection using restricted resource classes
US20170031600A1 (en) 2015-07-30 2017-02-02 Netapp Inc. Real-time analysis for dynamic storage
US10708135B1 (en) 2019-01-31 2020-07-07 EMC IP Holding Company LLC Unified and automated installation, deployment, configuration, and management of software-defined storage assets
US10951469B2 (en) * 2019-01-31 2021-03-16 EMC IP Holding Company LLC Consumption-based elastic deployment and reconfiguration of hyper-converged software-defined storage

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069369A1 (en) * 2000-07-05 2002-06-06 Tremain Geoffrey Donald Method and apparatus for providing computer services

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5257368A (en) 1991-03-28 1993-10-26 International Business Machines Corp. System for dynamically changing a system I/O configuration by determining differences between current and future configurations and describing differences to software and hardware control blocks
JPH06161685A (ja) 1992-11-25 1994-06-10 Seiko Epson Corp プリンタ選択装置
US5745669A (en) * 1993-10-21 1998-04-28 Ast Research, Inc. System and method for recovering PC configurations
JP3457405B2 (ja) 1994-03-09 2003-10-20 日本電信電話株式会社 情報検索装置、情報検索方法及び知識獲得システム
US6161218A (en) * 1996-01-16 2000-12-12 Sun Microsystems Inc. Software patch architecture
US5822531A (en) * 1996-07-22 1998-10-13 International Business Machines Corporation Method and system for dynamically reconfiguring a cluster of computer systems
US6367075B1 (en) * 1996-07-24 2002-04-02 Marimba, Inc. Method and apparatus for producing instructions describing the removal of updates to a computer system
US5870545A (en) * 1996-12-05 1999-02-09 Hewlett-Packard Company System and method for performing flexible workflow process compensation in a distributed workflow management system
WO1998040810A2 (en) * 1997-03-12 1998-09-17 Storage Technology Corporation Network attached virtual tape data storage subsystem
JP3228182B2 (ja) 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
US6003075A (en) * 1997-07-07 1999-12-14 International Business Machines Corporation Enqueuing a configuration change in a network cluster and restore a prior configuration in a back up storage in reverse sequence ordered
US6272390B1 (en) * 1997-09-09 2001-08-07 Beologic A/S Method for interactive configuration and computer readable medium encoded with a program for performing said method
US6430618B1 (en) * 1998-03-13 2002-08-06 Massachusetts Institute Of Technology Method and apparatus for distributing requests among a plurality of resources
US6163776A (en) * 1998-03-23 2000-12-19 Software Tree, Inc. System and method for exchanging data and commands between an object oriented system and relational system
US6542909B1 (en) * 1998-06-30 2003-04-01 Emc Corporation System for determining mapping of logical objects in a computer system
US6182136B1 (en) * 1998-09-08 2001-01-30 Hewlett-Packard Company Automated service elements discovery using core service specific discovery templates
US6614772B1 (en) * 1999-03-01 2003-09-02 Nokia Corporation Method, and associated apparatus, for communicating packet data in a radio communication system
JP3976957B2 (ja) 1999-09-17 2007-09-19 キヤノン株式会社 情報処理装置、ネットワークシステム、デバイス検索装置及び方法、並びにコンピュータ読み取り可能な記録媒体
US7085763B2 (en) * 1999-04-27 2006-08-01 Canon Kabushiki Kaisha Device search system
GB2353915B (en) * 1999-07-09 2001-12-12 Mitel Corp Mechanism for the sharing of guaranteed resouces
US6779016B1 (en) 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US6597956B1 (en) 1999-08-23 2003-07-22 Terraspring, Inc. Method and apparatus for controlling an extensible computing system
US7103647B2 (en) 1999-08-23 2006-09-05 Terraspring, Inc. Symbolic definition of a computer system
US6415372B1 (en) * 1999-09-15 2002-07-02 Emc Coropration Rolling back storage subsystem reconfigurations
US7093005B2 (en) * 2000-02-11 2006-08-15 Terraspring, Inc. Graphical editor for defining and creating a computer system
US7444398B1 (en) * 2000-09-13 2008-10-28 Fortinet, Inc. System and method for delivering security services
US6735707B1 (en) * 2000-10-27 2004-05-11 Sun Microsystems, Inc. Hardware architecture for a multi-mode power management system using a constant time reference for operating system support
US6822945B2 (en) * 2000-11-08 2004-11-23 Genesys Telecommunications Laboratories, Inc. Method and apparatus for anticipating and planning communication-center resources based on evaluation of events waiting in a communication center master queue
US7035279B2 (en) * 2001-01-09 2006-04-25 Corrigent Systems Ltd. Flow allocation in a ring topology
US20020116496A1 (en) * 2001-02-16 2002-08-22 Gemini Networks, Inc. System, method, and computer program product for dynamic bandwidth provisioning
ATE258739T1 (de) * 2001-05-25 2004-02-15 Cit Alcatel Verfahren zum zuweisen von übertragungsressourcen der aufwärtsrichtung eines drahtlosen kommunikationsnetzes und entsprechendes funkendgerät
US7343410B2 (en) 2001-06-28 2008-03-11 Finisar Corporation Automated creation of application data paths in storage area networks
JP3857078B2 (ja) * 2001-06-29 2006-12-13 富士通株式会社 情報提供方法及び情報提供装置
US20030069947A1 (en) 2001-10-05 2003-04-10 Lipinski Gregory J. System and methods for network detection and configuration
US6832289B2 (en) * 2001-10-11 2004-12-14 International Business Machines Corporation System and method for migrating data
US7133907B2 (en) * 2001-10-18 2006-11-07 Sun Microsystems, Inc. Method, system, and program for configuring system resources
JP2003271429A (ja) * 2002-03-15 2003-09-26 Hitachi Ltd 記憶装置資源管理方法、記憶資源管理プログラム、該プログラムを記録した記録媒体、及び記憶資源管理装置
US8375113B2 (en) * 2002-07-11 2013-02-12 Oracle International Corporation Employing wrapper profiles
US7743127B2 (en) * 2002-10-10 2010-06-22 Hewlett-Packard Development Company, L.P. Resource allocation in data centers using models

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020069369A1 (en) * 2000-07-05 2002-06-06 Tremain Geoffrey Donald Method and apparatus for providing computer services

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J.Sugerman, et.al.: Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Moni- tor, Proceedings of the 2001 USENIX Annual Tech- nical Conference, Boston, Massachusetts, USA, June 25-30, 2001
J.Sugerman, et.al.: Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor, Proceedings of the 2001 USENIX Annual Technical Conference, Boston, Massachusetts, USA, June 25-30, 2001 *

Also Published As

Publication number Publication date
WO2004042565A2 (en) 2004-05-21
GB2408611A (en) 2005-06-01
GB2419443A (en) 2006-04-26
US7945669B2 (en) 2011-05-17
GB0505403D0 (en) 2005-04-20
US20040088417A1 (en) 2004-05-06
JP2006505052A (ja) 2006-02-09
GB0600143D0 (en) 2006-02-15
GB2419444A (en) 2006-04-26
JP4648003B2 (ja) 2011-03-09
DE10393595T5 (de) 2005-09-01
WO2004042565A3 (en) 2005-08-04
GB0600140D0 (en) 2006-02-15

Similar Documents

Publication Publication Date Title
DE10393595B4 (de) Verfahren und Vorrichtung zum Liefern von Speicherressourcen
DE69029210T2 (de) Verwaltungsverfahren und Vorrichtung zur Datenspeicherung
DE60008021T2 (de) Speicherverwaltungssystem mit gemeinsamen trägerverwalter
DE69209193T2 (de) Netzwerkverwaltungsagent mit vom Bediener geschaffenen Objekten
DE60035800T2 (de) Verfahren zum unterstützen von verteilten transaktionen mit jdbc 1.0 -treibern
DE60130808T2 (de) System und Verfahren zur Konfiguration von Netzwerkressourcen
DE4218025C2 (de) Vorrichtung und Verfahren zur automatischen Zuordnung von Datenspeichereinrichtungen in einem Computersystem
DE68925866T2 (de) Computersystem mit Verarbeitungsrechner
DE602004010872T2 (de) Systeme und Verfahren zur Dateisicherung
DE69030340T2 (de) Makler für die Auswahl von Rechnernetzwerkservern
DE102004028808B4 (de) Speichersystem, das mit einem externen Speichersystem verbunden ist und Verfahren zum Verbinden derartiger Systeme
DE69829442T2 (de) System und Verfahren für transparenten, globalen Zugang zu physikalischen Geräten in einem Rechnersystem
DE10014448A1 (de) Speicherverwaltungssystem
DE69934894T2 (de) Verfahren und vorrichtung zur wahlweisen einstellung des zugangs zu anwendungsmerkmalen
DE102004013114B4 (de) Plattenarrayvorrichtung
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
DE69924178T2 (de) Zugriffsteuerung mit Just-in-time Entdeckung von Mitteln
EP0682318B1 (de) Datenverwaltungssystem
DE10393771T5 (de) Schnelle Datensicherungsspeicherung und schnelle Datenwiederherstellung (FBSRD)
DE60313468T2 (de) Speicherdienste und -systeme
DE10039537A1 (de) Verbesserung der mehrdimensionalen Umstrukturierung beim Hinzufügen oder Entfernen von Dimensionen und Dimensionsmitgliedern
DE112011105186T5 (de) Graphdatenbanken zum Speichern mehrdimensionaler Modelle von Software-Angeboten
EP1906304A2 (de) System zur Erzeugung und zum Betrieb einer Softwareapplikation für medizinische Bildgebung
DE19948028A1 (de) Verfahren und System zum Optimieren des Anforderungsschickens in Workflow Management Systemen
DE112013006646B4 (de) Computer, System und computerlesbares Ablagemedium zum Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 10393595

Country of ref document: DE

Date of ref document: 20050901

Kind code of ref document: P

8125 Change of the main classification

Ipc: G06F 15/177 AFI20051017BHDE

8364 No opposition during term of opposition
R071 Expiry of right