-
HINTERGRUND
-
Eine oder mehrere innerhalb dieser Beschreibung offenbarte Ausführungsformen betreffen Datenspeichersysteme.
-
In einem Speichersubsystem werden Festplattenlaufwerke (HDDs) üblicherweise in einer Gruppe zusammengefasst und bilden eine redundante Gruppe von unabhängigen Platten (RAID). Es gibt mehrere Typen von RAID-Schemen, die allgemein verwendet werden. Diese Schemen werden durch das Wort „RAID” gekennzeichnet, gefolgt von einer Zahl (z. B. „RAID 0”, „RAID 1”, „RAID 2”, „RAID 3” usw.).
-
Mit Ausnahme von RAID 0, das eine gemeinsame Datennutzung auf Blockebene über mehrere HDDs hinweg ohne Parität oder Spiegelung umsetzt, handelt es sich bei RAID um eine Speichertechnologie, die durch Redundanz funktioniert, um die Zuverlässigkeit eines Speichersubsystems zu erhöhen. In einer RAID-1-Gruppe wird zum Beispiel Fehlertoleranz bereitgestellt, indem die Daten auf mehrere HDDs gespiegelt werden. In einer RAID-5-Gruppe wird eine gemeinsame Datennutzung auf Blockebene über mehrere HDDs hinweg umgesetzt, und Paritätsinformationen werden über die mehreren HDDs verteilt. Die Paritätsinformationen können zum Rekonstruieren der RAID-Gruppe im Falle eines Ausfalls einer der HDDs verwendet werden. Folglich ist das verfügbare Speichervolumen gleich X(n – 1), wobei X das auf jeder einzelnen HDD verfügbare Speichervolumen angibt und n die Anzahl von HDDs in der RAID-Gruppe darstellt. In einer RAID-6-Gruppe wird eine gemeinsame Datennutzung auf Blockebene über mehrere HDDs hinweg umgesetzt, und doppelte Paritätsinformationen werden über die mehreren HDDs verteilt. Die Paritätsinformationen können zum Rekonstruieren der RAID-Gruppe im Falle eines Ausfalls zweier der HDDs verwendet werden. Folglich ist das verfügbare Speichervolumen gleich X(n – 2).
-
KURZDARSTELLUNG
-
Eine oder mehrere innerhalb dieser Beschreibung offenbarten Ausführungsformen betreffen das Verwenden eines virtuellen Laufwerks als virtuelle Hot-Spare-Einheit in einer RAID-Gruppe. Eine Ausführungsform kann ein Verfahren beinhalten, welches das Erkennen einer Ausfallanzeige für eine erste Datenspeichereinheit beinhaltet, die ein Mitglied einer ersten RAID-Gruppe innerhalb einer Speicheranordnung ist. Das Verfahren kann ferner das Erkennen eines virtuellen Laufwerks über einen sich außerhalb der Speicheranordnung befindlichen Prozessor beinhalten, das so definiert ist, dass es mindestens ein in einer zweiten RAID-Gruppe definiertes logisches Speichervolumen beinhaltet. Das virtuelle Laufwerk kann bereitgestellt werden, um als virtuelle Hot-Spare-Einheit innerhalb der ersten RAID-Gruppe zu dienen und die erste Datenspeichereinheit zu ersetzen.
-
Eine andere Ausführungsform kann ein Verfahren beinhalten, welches das Erkennen einer Ausfallanzeige für eine erste Datenspeichereinheit beinhaltet, die ein Mitglied einer ersten RAID-Gruppe einer ersten Speicheranordnung ist. Das Verfahren kann ferner das Bereitstellen eines virtuellen Laufwerks über einen Prozessor beinhalten, das als virtuelle Hot-Spare-Einheit innerhalb der ersten RAID-Gruppe dienen und die erste Datenspeichereinheit ersetzen soll. Bei dem virtuellen Laufwerk kann es sich um ein Datenspeichervolumen handeln, das so definiert ist, dass es eine Vielzahl von logischen Speichervolumen beinhaltet, die in mindestens einer anderen RAID-Gruppe in mindestens einer zweiten Speicheranordnung definiert sind.
-
Eine andere Ausführungsform kann ein System beinhalten. Das System kann einen Prozessor beinhalten, der so konfiguriert ist, dass er ausführbare Operationen initiiert. Zu derartigen Operationen kann das Erkennen außerhalb einer Speicheranordnung einer Ausfallanzeige für eine erste Datenspeichereinheit gehören, die ein Mitglied einer ersten RAID-Gruppe innerhalb der Speicheranordnung ist. Zu den Operationen kann ferner das Erkennen eines virtuellen Laufwerks gehören, das so definiert ist, dass es mindestens ein in einer zweiten RAID-Gruppe definiertes logisches Speichervolumen beinhaltet, und das Bereitstellen des virtuellen Laufwerks, das als virtuelle Hot-Spare-Einheit innerhalb der ersten RAID-Gruppe dienen und die erste Datenspeichereinheit ersetzen soll.
-
Eine andere Ausführungsform kann ein Computerprogrammprodukt beinhalten. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium, auf dem ein durch einen Computer lesbarer Programmcode enthalten ist, beinhalten. Der durch einen Computer lesbare Programmcode kann so konfiguriert sein, dass er die verschiedenen Operationen und/oder Funktionen, die innerhalb dieser Beschreibung offenbart werden, durchführt.
-
KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
1 ist ein Blockschaubild, das ein Verarbeitungssystem/einen Server eines Cloud-Computing-Knotens gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
2 zeigt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung.
-
3 zeigt funktionale Abstraktionsschichten, die durch eine Cloud-Computing-Umgebung bereitgestellt werden, gemäß einer Ausführungsform der vorliegenden Erfindung.
-
4 zeigt ein Speichersystem gemäß einer Ausführungsform der vorliegenden Erfindung.
-
5 zeigt eine Speicheranordnung gemäß einer Ausführungsform der vorliegenden Erfindung.
-
6 zeigt Zuweisungen zu virtuellen Laufwerken logischer Speichervolumen, die über verschiedene RAID-Gruppen hinweg definiert sind, gemäß einer Ausführungsform der vorliegenden Erfindung.
-
7 ist ein Ablaufplan, der ein Verfahren gemäß einer anderen Ausführungsform der vorliegenden Erfindung veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing enthält. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
-
Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften enthalten, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
-
Bei den Eigenschaften handelt es sich um die folgenden:
On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
-
Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z. B. Mobiltelefone, Laptops und PDAs) unterstützen.
-
Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z. B. Land, Staat oder Rechenzentrum).
-
Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
-
Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z. B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcen-Verbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
-
Bei den Dienstmodellen handelt es sich um die folgenden:
Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z. B. auf dem Web beruhende eMail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
-
Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
-
Infrastructure as a Service (IaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
-
Bei den Einsatzmodellen handelt es sich um die folgenden:
Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
-
Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z. B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen. Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
-
Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z. B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
-
Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
-
Unter Bezugnahme auf 1 ist ein Blockschaubild eines Beispiels eines Cloud-Computing-Knotens gezeigt. Der Cloud-Computing-Knoten 100 ist lediglich ein Beispiel eines geeigneten Cloud-Computing-Knotens und soll keinerlei Einschränkungen für den Umfang der Verwendung oder Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung andeuten. Trotzdem kann eine beliebige vorstehend dargelegte Funktionalität in dem Cloud-Computing-Knoten 100 umgesetzt und/oder von diesem durchgeführt werden.
-
In dem Cloud-Computing-Knoten 100 kann es ein Verarbeitungssystem/einen Server 110 geben, das/der mit zahlreichen anderen Universal- bzw. Spezial-Datenverarbeitungssystem-Umgebungen bzw. Konfigurationen betriebsfähig ist. Zu Beispielen für allgemein bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die zur Verwendung mit dem Verarbeitungssystem/Server 110 geeignet sein können, gehören Personal-Computer-Systeme, Server-Computersysteme, Steuerknoten, Steuereinheiten für Speichernetzwerke (SAN, Storage Area Network), Thin Clients, Thick Clients, Handheld- bzw. Laptop-Geräte, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme sowie verteilte Cloud-Computing-Umgebungen, die irgendeine(s) der obigen Systeme bzw. Einheiten enthalten, u. ä., aber nicht darauf beschränkt.
-
Das Verarbeitungssystem/der Server 110 kann in dem allgemeinen Kontext von durch Computersysteme ausführbaren Anweisungen, z. B. durch Programmmodule, beschrieben werden, die von einem Computersystem oder einem anderen Verarbeitungssystem ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datenarten umsetzen. Das Verarbeitungssystem/der Server 110 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, wo Aufgaben durch ferne Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in fernen Computersystem-Speichermedien befinden, darunter Hauptspeichereinheiten.
-
Wie in 1 gezeigt ist, ist das Verarbeitungssystem/der Server 110 in dem Cloud-Computing-Knoten 100 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Verarbeitungssystems/Servers 110 können eine(n) oder mehrere Prozessoren oder Verarbeitungseinheiten 116 (z. B. eine(n) oder mehrere Prozessoren oder Steuereinheiten), einen Systemspeicher 128 und einen Bus 118 aufweisen, der verschiedene Systemkomponenten, darunter den Systemspeicher 128, mit dem Prozessor 116 verbindet, sind aber nicht darauf beschränkt.
-
Der Bus 118 stellt eine oder mehrere einer beliebigen von mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder eine Speichersteuereinheit, einen Peripheriebus, einen beschleunigten Grafikanschluss und einen Prozessor- oder lokalen Bus, die eine beliebige aus einer Vielfalt von Busarchitekturen verwenden. Zu derartigen Architekturen gehören als Beispiel und nicht als Einschränkung ein ISA-Bus (Industry Standard Architecture), ein MCA-Bus (Micro Channel Architecture), ein EISA-Bus (Enhanced ISA), ein VESA-Lokalbus (Video Electronics Standards Association) sowie ein PCI-Bus (Peripheral Component Interconnect).
-
Das Verarbeitungssystem/der Server 110 kann üblicherweise eine Vielfalt von durch ein Computersystem lesbaren Speichermedien beinhalten. Bei derartigen Medien kann es sich um jedes beliebige Medium handeln, auf welches das Verarbeitungssystem/der Server 110 zugreifen kann, und es beinhaltet sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien. Der Systemspeicher 128 kann durch einen Computer lesbare Speichermedien in Form eines flüchtigen Speichers wie einen Direktzugriffsspeicher (RAM) 130 und/oder einen Cachespeicher 132 beinhalten. Das Verarbeitungssystem/der Server 110 kann ferner andere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige, durch einen Computer lesbare Speichermedien beinhalten. Als Beispiel kann ein Speichersystem 134 zum Lesen von und zum Schreiben auf zumindest ein nichtflüchtiges, durch einen Computer lesbares Speichermedium bereitgestellt werden. Zu Beispielen für ein nichtflüchtiges, durch einen Computer lesbares Speichermedium gehören durch einen Computer lesbare Speichereinheiten, die Daten speichern, die auch als „Datenspeichereinheiten” bezeichnet werden können. Zu Beispielen für durch einen Computer lesbare Speichereinheiten kann eine Einheit gehören, die nichtflüchtige magnetische Medien (z. B. ein „Festplattenlaufwerk” bzw. „HDD”), nichtflüchtige Halbleitermedien (z. B. ein „Solid-State-Laufwerk” bzw. „SSD”), nichtflüchtige magnetooptische Medien und dergleichen aufweist, aber nicht darauf beschränkt. Es können auch ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine austauschbare, nichtflüchtige Magnetplatte (z. B. eine „Floppy-Diskette”), ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine austauschbare, nichtflüchtige optische Platte wie eine CD-ROM, DVD-ROM oder ein anderes optisches Medium, ein Solid-State-Laufwerk zum Lesen von oder Schreiben auf ein austauschbares, nichtflüchtiges Solid-State-Laufwerk bereitgestellt werden, auch wenn diese nicht gezeigt sind. In derartigen Fällen kann jedes über eine oder mehrere Datenmedienschnittstellen wie zum Beispiel eine Fiber-Channel-Schnittstelle, eine SATA-Schnittstelle (Serial Advanced Technology Attachment), eine Fiber-Channel-Schnittstelle, eine SCSI-Schnittstelle (Small Computer System Interface), eine SAS-Schnittstelle (Serial-Attached-SCSI) oder dergleichen mit dem Bus 118 verbunden sein.
-
Der Hauptspeicher 128 kann mindestens ein Computerprogrammprodukt beinhalten, das ein nichtflüchtiges, durch einen Computer lesbares Speichermedium beinhaltet, auf dem ein durch einen Computer lesbarer Programmcode enthalten ist. Der durch einen Computer lesbare Programmcode kann einen Satz von Programmmodulen (z. B. mindestens eins) beinhalten, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen. Als Beispiel und nicht als Einschränkung können das Programm/Dienstprogramm 140 mit (mindestens) einem Satz von Programmmodulen 142 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Hauptspeicher 128 gespeichert sein. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und die Programmdaten oder eine beliebige Kombination daraus können eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 142 führen allgemein die hierin beschriebenen Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus.
-
Das Verarbeitungssystem/der Server 110 kann auch mit einer oder mehreren externen Einheiten 114 wie einer Tastatur, einer Zeigeeinheit, einer Anzeige 124 usw., einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Verarbeitungssystem/Server 110 Daten auszutauschen, und/oder beliebigen Einheiten (z. B. Netzwerkkarten, Modems usw.) Daten austauschen, die es dem Verarbeitungssystem/Server 110 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über die Eingabe/Ausgabe-(E/A-)Schnittstellen 122 erfolgen. Außerdem kann das Verarbeitungssystem/der Server 110 über einen Netzwerkadapter 120 mit einem oder mehreren Netzwerken Daten austauschen, wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z. B. dem Internet). Wie abgebildet ist, kann der Netzwerkadapter 120 mit den anderen Komponenten des Verarbeitungssystems/Servers 110 über den Bus 118 Daten austauschen. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Verarbeitungssystem/Server 110 verwendet werden könnten, auch wenn diese nicht gezeigt sind. Zu Beispielen gehören folgende, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
-
Unter Bezugnahme auf 2 ist eine veranschaulichende Cloud-Computing-Umgebung 200 abgebildet. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 200 einen oder mehrere Cloud-Computing-Knoten 100 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie ein elektronischer Assistent (PDA, Personal Digital Assistant) oder Mobiltelefon 202, ein Desktop-Computer 204, ein Laptop-Computer 206 und/oder ein Automobil-Computer-System 208 Daten austauschen können. Die Knoten 100 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 200, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 2 gezeigten Datenverarbeitungseinheiten 202 bis 208 lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 100 und die Cloud-Computing-Umgebung 200 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z. B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
-
Unter Bezugnahme auf 3 wird ein Satz 300 von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 200 (2) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 3 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
Die Hardware- und Software-Schicht 302 kann Hardware- und Software-Komponenten beinhalten. Zu Beispielen für Hardware-Komponenten gehören Mainframe-Computer, in einem Beispiel IBM® zSeries®-Systeme, auf der RISC-(Reduced Instruction Set Computer)Architektur beruhende Server, in einem Beispiel IBM pSeries®-Systeme, IBM xSeries®-Systeme, IBM BladeCenter®-Systeme, Speichersysteme (z. B. Speicheranordnungen, netzgebundene Speicher (NAS, Network Attached Storage) und dergleichen sowie Netzwerkkomponenten, sind aber nicht darauf beschränkt. Zu Netzwerkkomponenten kann jeder beliebige aus einer Vielfalt von Leitwegrechnern, Vermittlungseinheiten, Netzwerkadaptern und dergleichen gehören.
-
Zu Beispielen für Software-Komponenten gehören Netzwerk-Anwendungsserver-Software, in einem Beispiel IBM WebSphere®-Anwendungsserver-Software, sowie Speicheranordnungs-Steuer-Software, in einem Beispiel IBM SAN Volume Controller, der auf einer IBM SVC Storage Engine ausgeführt werden kann. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere sowie DB2 sind Marken von international Business Machines Corporation, die in vielen Jurisdiktionen weltweit eingetragen sind).
-
Eine Virtualisierungsschicht 304 kann eine Abstraktionsschicht bereitstellen, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server, virtueller Speicher, virtuelle Netzwerke, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme sowie virtuelle Clients.
-
In einem Beispiel kann eine Verwaltungsschicht 306 die nachfolgend beschriebenen Funktionen bereitstellen. Die Bereitstellung von Ressourcen stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Die Speicherverwaltung verwaltet den virtuellen Speicher innerhalb der Cloud-Computing-Umgebung, wobei einige Aspekte derer hierin ausführlicher erörtert werden. Das Benutzerportal stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Die Verwaltung des Dienstumfangs stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Das Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
-
Eine Arbeitslastschicht 308 kann Beispiele für die Funktionalität bereitstellen, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation, Software-Entwicklung und Lebenszyklusverwaltung, Datenanalytikverarbeitung, Transaktionsverarbeitung und Datenspeicherung/-bereitstellung.
-
Gemäß den hierin beschriebenen Ausführungsformen kann eine Speicherverwaltungseinheit Speicheranordnungen virtuelle Laufwerke zur Verwendung als virtuelle Hot-Spare-Einheiten innerhalb einer Cloud-Computing-Umgebung bereitstellen. Als Veranschaulichung, wenn es eine Ausfallanzeige gibt, die anzeigt, dass eine physische Datenspeichereinheit innerhalb einer RAID-Gruppe ausgefallen ist oder kurz davor steht, auszufallen, kann der RAID-Gruppe ein virtuelles Laufwerk bereitgestellt werden, um als virtuelle Hot-Spare-Einheit für die ausgefallene Datenspeichereinheit in der RAID-Gruppe zu dienen, während die RAID-Gruppe weiterhin in der Cloud-Computing-Umgebung aktiv ist, und vorher auf der ausgefallenen Datenspeichereinheit gespeicherte Daten können auf dem virtuellen Laufwerk wiederhergestellt werden. In einer RAID-5-Gruppe können zum Beispiel die RAID-Paritätsinformationen und auf den anderen, nicht ausgefallenen Datenspeichereinheiten gespeicherte Daten verarbeitet werden, um die Daten auf dem virtuellen Laufwerk zu rekonstruieren. Auf diese Weise kann ein Datenverlust im Falle eines Ausfalls einer Datenspeichereinheit vermieden werden. Außerdem muss die RAID-Gruppe nicht außer Betrieb genommen werden, während die Daten auf dem virtuellen Laufwerk rekonstruiert werden.
-
Das als virtuelle Hot-Spare-Einheit verwendete virtuelle Laufwerk kann als logisches Speichervolumen außerhalb der Speicheranordnung, in der die ausgefallene physische Speichereinheit enthalten ist, zugewiesen werden. Das virtuelle Laufwerk kann zum Beispiel von einer Speicherverwaltungseinheit oder einem Steuerknoten definiert werden.
-
Unter Verwendung von Speichervirtualisierung kann das virtuelle Laufwerk so definiert werden, dass es innerhalb einer beliebigen Anzahl von Speicheranordnungen innerhalb der Cloud-Speicher-Umgebung enthaltenen Speicherplatz beinhaltet. Das virtuelle Laufwerk kann zum Beispiel so definiert werden, dass es Speicherplatz beinhaltet, der in der Speicheranordnung, in der sich die ausgefallene Datenspeichereinheit befindet, und/oder in einer oder mehreren anderen Speicheranordnungen enthalten ist. In dieser Hinsicht kann ein Teil des zur Verwendung innerhalb des virtuellen Laufwerks zugeordneten Speicherplatzes in der Speicheranordnung enthalten sein, in der sich die ausgefallene physische Datenspeichereinheit befindet (wenn auch dazu nicht ein Speichervolumen gehört, das zumindest teilweise auf der ausgefallenen Datenspeichereinheit definiert ist), und ein Teil des Speicherplatzes kann in einer oder mehreren anderen Speicheranordnungen enthalten sein. Außerdem kann der gesamte zur Verwendung innerhalb des virtuellen Laufwerks zugeordnete Speicherplatz in einer oder mehreren der anderen Speicheranordnungen enthalten sein. Folglich stellt die hierin beschriebene Virtualisierung von Speicherplatz ein äußerst robustes und flexibles Datenschutzsystem zur Verwendung mit verschiedenen, in einer Cloud-Speicher-Umgebung aktiven RAID-Gruppen bereit.
-
Die Verwendung des Begriffs „virtuelles Laufwerk” hierin bedeutet ein über eine oder mehrere Speicheranordnungen hinweg definiertes Datenspeichervolumen. Als Veranschaulichung kann ein virtuelles Laufwerk ein oder mehrere logische Speichervolumen beinhalten, die in einer oder mehreren RAID-Gruppen definiert sind. Jedem derartigen logischen Volumen kann eine LUN (Logical Unit Number, logische Einheitennummer) zugeordnet sein. Die Verwendung des Begriffs „virtuelle Hot-Spare-Einheit” hierin bedeutet ein virtuelles Laufwerk, das zur Verwendung an Stelle einer physischen Datenspeichereinheit (z. B. einer HDD, SSD oder dergleichen) in einer RAID-Gruppe bereitgestellt wird, und das so konfiguriert ist, dass es die Datenspeichereinheit ersetzt, während die RAID-Gruppe aktiv bleibt und bevor oder nachdem die physische Datenspeichereinheit physisch von einer Speicheranlage (storage enclosure) entfernt wird, in der die Datenspeichereinheit installiert ist. Wie hierin verwendet, beinhaltet eine Speicheranordnung eine oder mehrere RAID-Gruppen. Wie hierin verwendet, weist eine RAID-Gruppe eine Vielzahl von Datenspeichern in einer eine Vielzahl von physischen Datenspeichereinheiten aufweisenden RAID-Konfiguration auf.
-
4 zeigt ein in einer Cloud-Computing-Umgebung wie zum Beispiel in einem SAN bereitgestelltes Speichersystem 400 gemäß einer Ausführungsform der vorliegenden Erfindung. Das Speichersystem 400 kann einen oder mehrere Steuerknoten 402 beinhalten. Ein Steuerknoten 402 kann unter Verwendung jedes beliebigen Verarbeitungssystems bzw. jeder beliebigen Verarbeitungseinheit wie zum Beispiel dem in 1 beschriebenen Verarbeitungssystem 110 umgesetzt werden. Der Steuerknoten 402 kann Client-Anforderungen 404 über Speicherbedarfe empfangen und verarbeiten und als Schnittstelle für derartige Client-Anforderungen 404 an das Speichersystem 400 fungieren. Der Steuerknoten 402 kann auch den Typ und die Menge an bereitzustellendem Speicherplatz als Reaktion auf die Client-Anforderungen 404 konfigurieren sowie andere speicherbezogene Dienste bereitstellen.
-
Das Speichersystem 400 kann auch eine oder mehrere für den Datenaustausch mit dem/den Steuerknoten 402 verbundene Speicherverwaltungseinheiten 410, 412 beinhalten. Ein Steuerknoten 410, 412 kann unter Verwendung jedes beliebigen Verarbeitungssystems bzw. jeder beliebigen Verarbeitungseinheit wie zum Beispiel dem in 1 beschriebenen Verarbeitungssystem 110 umgesetzt werden. Bei den Speicherverwaltungseinheiten 410, 412 kann es sich um IBM SAN Volume Controller oder jede beliebige andere geeignete Speicherverwaltungseinheit handeln, die passend konfiguriert ist, um die hierin beschriebenen Prozesse und Funktionen durchzuführen. Jede Speicherverwaltungseinheit 410, 412 kann eine oder mehrere Speicheranordnungen und/oder NAS 420, 430, 440, 450 verwalten. Die Speicherverwaltungseinheit 410 kann zum Beispiel eine Vielzahl von RAID-Gruppen 422, 424, 426 innerhalb einer Speicheranordnung 420, eine Vielzahl von RAID-Gruppen 432, 434, 436, 438 innerhalb einer Speicheranordnung 430 und eine oder mehrere RAID-Gruppen wie zum Beispiel eine RAID-Gruppe 442 innerhalb eines NAS 440 verwalten. Gleichermaßen kann die Speicherverwaltungseinheit 412 eine oder mehrere RAID-Gruppen innerhalb anderer Speicheranordnungen und/oder NAS verwalten. An diesem Punkt sei angemerkt, dass jede Speicheranordnung und/oder jeder NAS eine beliebige Anzahl von RAID-Gruppen beinhalten kann, die ihre entsprechenden RAID-Kapazitäten nicht überschreiten.
-
Jede RAID-Gruppe 422 bis 426, 432 bis 438, 442 kann eine Vielzahl von Datenspeichereinheiten beinhalten. Jeder Datenspeichereinheit kann eine Adresse oder eine andere geeignete Kennung zugewiesen werden, welche die Datenspeichereinheit innerhalb einer entsprechenden RAID-Gruppe kennzeichnet. Bei den Datenspeichereinheiten kann es sich um über eine SATA-Steuerschnittstelle gesteuerte SATA-Laufwerke, über eine SCSI-Steuerschnittstelle gesteuerte SCSI-Laufwerke, über eine SAS-Steuerschnittstelle gesteuerte SAS-Laufwerke, über eine Fiber-Channel-Steuerschnittstelle gesteuerte Fiber-Channel-Laufwerke oder jedes beliebige andere Laufwerk handeln, das zur Verwendung in einer RAID-Gruppe geeignet ist. Die Datenspeichereinheiten können so konfiguriert sein, dass sie unter Verwendung eines beliebigen aus einer Vielfalt von geeigneten Protokollen wie zum Beispiel iSCI, FCOE, NAS, FC oder dergleichen Daten austauschen.
-
Als Veranschaulichung zeigt 5 ein Beispiel der Speicheranordnung 430 gemäß einer Ausführungsform der vorliegenden Erfindung. Die Speicheranordnung 430 kann eine oder mehrere RAID-Gruppen 432 bis 438 beinhalten, von denen jede eine entsprechende Vielzahl von physischen Datenspeichereinheiten 502, 504, 506, 508 aufweist. Diese RAID-Gruppen 432 bis 438 können durch eine oder mehrere Speichersteuereinheiten 530, 532 verwaltet werden.
-
Eine oder mehrere der RAID-Gruppen 432 bis 438 können ein oder mehrere logische Speichervolumen 512, 514, 516, 518, 520, 522, 524, 526, 528 mit darin definiertem Speicherplatz aufweisen. Die logischen Speichervolumen 512 bis 528 können über die entsprechenden physischen Datenspeichereinheiten 502 bis 508 hinweg definiert sein, die durch entsprechende LUNs gekennzeichnet sind. Ein oder mehrere dieser logischen Speichervolumen 512 bis 528 können zur Verwendung als einem oder mehreren entsprechenden virtuellen Laufwerken zugewiesener Speicherplatz zugewiesen werden. Als Beispiel kann ein entsprechendes virtuelles Laufwerk das logische Speichervolumen 512, das logische Speichervolumen 526 und/oder ein oder mehrere außerhalb der Speicheranordnung 430 definierte logische Speichervolumen beinhalten. Gleichermaßen kann das logische Speichervolumen 528 einem anderen virtuellen Laufwerk zugewiesen werden und so weiter. Das Zuweisen der logischen Speichervolumen 512 bis 528 zu virtuellen Laufwerken kann außerhalb der Speicheranordnung 430 gehandhabt werden. Als Veranschaulichung, unter erneuter Bezugnahme auf 4, können die Speicherverwaltungseinheiten 410, 412 und/oder der/die Steuerknoten 402 die logischen Speichervolumen 512 bis 528 sowie ein in anderen Speicheranordnungen und/oder NAS definiertes logisches Speichervolumen entsprechenden virtuellen Laufwerken zuweisen.
-
Jede Speicherverwaltungseinheit 410, 412 und/oder jeder Steuerknoten 402 können die Vorteile von Cloud-Computing nutzen (z. B. Cloud-Speicher), um den RAID-Gruppen 422 bis 426, 432 bis 438, 442 Schutz zu bieten, wenn eine Ausfallanzeige anzeigt, dass eine Datenspeichereinheit ausgefallen ist oder kurz davor steht, auszufallen. Die Speicherverwaltungseinheit 410, 412 und/oder der/die Steuerknoten 402 können virtuelle Laufwerke als virtuelle Hot-Spare-Einheiten verwenden, die den RAID-Gruppen 422 bis 426, 432 bis 438, 442 zur Verfügung stehen, wie nachfolgend ausführlicher beschrieben wird.
-
Als Veranschaulichung können ein oder mehrere virtuelle Laufwerke so definiert werden, dass sie logische Speichervolumen verwenden, die unter Verwaltung durch die Speicherverwaltungseinheit 410 und/oder den/die Steuerknoten 402 in einer oder mehreren der Speicheranordnungen 420, 430 und NAS 440 definiert werden. Konkret können ein oder mehrere über ein oder mehrere der Speicheranordnungen 420, 430 und NAS 440 hinweg definierte logische Speichervolumen einem bestimmten virtuellen Laufwerk zugeordnet werden. Außerdem können andere logische Speichervolumen anderen virtuellen Laufwerken zugeordnet werden.
-
6 zeigt Zuweisungen zu virtuellen Laufwerken 602, 604, 606, 608 logischer Speichervolumen, die über verschiedene RAID-Gruppen 422 bis 426, 432 bis 438, 442 hinweg definiert sind, gemäß einer Ausführungsform der vorliegenden Erfindung. Als Beispiel kann ein erstes virtuelles Laufwerk 602 so definiert werden, dass es logische Speichervolumen 610, 612 beinhaltet, die in den RAID-Gruppen 422, 426 der Speicheranordnung 420 definiert sind, ein zweites virtuelles Laufwerk 604 kann so definiert werden, dass es das logische Speichervolumen 614, das in der RAID-Gruppe 426 der Speicheranordnung 420 definiert ist, und die logischen Speichervolumen 518, 524 beinhaltet, die in den RAID-Gruppen 434 bis 436 der Speicheranordnung 430 definiert sind, ein drittes virtuelles Laufwerk 606 kann so definiert werden, dass es die logischen Speichervolumen 514, 520, 526 beinhaltet, die in den RAID-Gruppen 432 bis 436 der Speicheranordnung 430 definiert sind, und ein viertes virtuelles Laufwerk 608 kann so definiert werden, dass es ein logisches Speichervolumen 616 beinhaltet, das in der RAID-Gruppe 442 des NAS 440 definiert ist. Diese Zuweisungen werden lediglich als Beispiele aufgezeigt, und die virtuellen Laufwerke können ein oder mehrere logische Speichervolumen beinhalten, die irgendwo innerhalb des Speichersystems 400 aus 4 definiert sind.
-
Die virtuellen Laufwerke 602 bis 608 müssen nicht dieselbe Größe aufweisen. Als Veranschaulichung sei angenommen, dass das Speichersystem 400 (4) physische Datenspeichereinheiten mit verschiedenen Speicherkapazitäten wie zum Beispiel 400 GB, 500 GB, 750 GB und 1 TB beinhaltet. Für jeden Kapazitätsgrad können ein oder mehrere virtuelle Laufwerke 602 bis 608 mit dieser Speicherkapazität definiert werden. Beispielsweise können ein oder mehrere virtuelle Laufwerke 602 bis 608 so definiert werden, dass sie eine Speicherkapazität von 400 GB aufweisen, ein oder mehrere virtuelle Laufwerke 602 bis 608 können so definiert werden, dass sie eine Speicherkapazität von 500 GB aufweisen, ein oder mehrere virtuelle Laufwerke 602 bis 608 können so definiert werden, dass sie eine Speicherkapazität von 750 GB aufweisen, und ein oder mehrere virtuelle Laufwerke 602 bis 608 können so definiert werden, dass sie eine Speicherkapazität von 1 TB aufweisen. Ferner sei angemerkt, dass ein virtuelles Laufwerk dasselbe Speichervolumen wie das ausgefallene physische Speichervolumen, welches das virtuelle Laufwerk als virtuelle Hot-Spare-Einheit ersetzen wird, aufweisen kann, aber nicht muss. Das virtuelle Laufwerk kann zum Beispiel ein größeres Speichervolumen als die ausgefallene physische Datenspeichereinheit aufweisen, obwohl nicht das gesamte Volumen auf dem virtuellen Laufwerk genutzt werden muss.
-
Außerdem müssen die RAID-Gruppen 422 bis 426, 432 bis 438, 442, welche die logischen Speichervolumen 514 bis 526, 610 bis 616 für die virtuellen Laufwerke 602 bis 608 bereitstellen, nicht denselben Typ RAID-Gruppe aufweisen. Verschiedene der RAID-Gruppen 422 bis 426, 432 bis 438, 442 können zum Beispiel unterschiedliche RAID-Schemen umsetzen (z. B., RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6, RAID 7, RAID 8, RAID 9, RAID 10 und so weiter), obwohl dies nicht der Fall sein muss. Ferner können verschiedene der RAID-Gruppen 422 bis 426, 432 bis 438, 442 unterschiedliche Typen von Datenspeichereinheiten verwenden (z. B. Fiber-Channel-HDDs oder SSDs, SATA-HDDs oder SSDs, SCSI-HDDs oder SSDs, SAS-HDDs oder SSDs usw.), obwohl dies wiederum nicht erforderlich ist. Außerdem müssen die Datenspeichereinheiten innerhalb der RAID-Gruppen 422 bis 426, 432 bis 438, 442, über welche die virtuellen Laufwerke 602 bis 608 hinweg definiert sind, nicht denselben Typ von Datenspeichereinheiten innerhalb der RAID-Gruppen aufweisen, für welche die virtuellen Laufwerke 602 bis 608 zum Dienen als virtuelle Hot-Spare-Einheiten bereitgestellt werden. Es sei zum Beispiel angenommen, dass die RAID-Gruppe 422 Fiber-Channel-Laufwerke verwendet und die RAID-Gruppen 432 bis 438 SATA-Laufwerke verwenden. Das virtuelle Laufwerk 604 kann so bereitgestellt werden, dass es als virtuelle Hot-Spare-Einheit für die RAID-Gruppe 422 dient, obwohl die RAID-Gruppe 422 andere Typen von Laufwerken verwendet als die RAID-Gruppen 432 bis 438.
-
Wenn ein virtuelles Laufwerk 602 bis 606 eine Vielzahl von logischen Speichervolumen verwendet, die über entsprechende RAID-Gruppen hinweg definiert sind, können verschiedene der RAID-Gruppen 422 bis 426, 432 bis 438, 442 jeweils einen Teil zum Gesamtspeichervolumen beitragen, das als ein virtuelles Laufwerk 602 bis 606 zugewiesen ist. Wenn das virtuelle Laufwerk 606 beispielhaft so definiert ist, dass es eine Speicherkapazität von 400 GB aufweist, kann die RAID-Gruppe 432 200 GB Speicherplatz zur Verwendung durch das virtuelle Laufwerk 606 bereitstellen, die RAID-Gruppe 434 kann 100 GB Speicherplatz zur Verwendung durch das virtuelle Laufwerk 606 bereitstellen, und die RAID-Gruppe 436 kann 100 GB Speicherplatz zur Verwendung durch das virtuelle Laufwerk 606 bereitstellen. In dieser Hinsicht muss die Menge an dem virtuellen Laufwerk 606 zugeordnetem Speicherplatz nicht einheitlich über jede der RAID-Gruppen 432 bis 436 hinweg sein. Obwohl jede RAID-Gruppe 432 bis 438 innerhalb der Speicheranordnung 430 Speichervolumen für das virtuelle Laufwerk 606 beisteuern kann, muss dies nicht der Fall sein. Die RAID-Gruppen 432 bis 436 können zum Beispiel logische Speichervolumen zur Verwendung in dem virtuellen Laufwerk 606 bereitstellen, während dies die RAID-Gruppe 438 nicht tut.
-
Ferner können auf den RAID-Gruppen 422 bis 426, 432 bis 438, 442 andere logische Speichervolumen definiert sein. Wenn zum Beispiel eine bestimmte RAID-Gruppe 432 eine Gesamtspeicherkapazität von 1,6 TB aufweist, können 100 GB als Speicherplatz für einen Teil des virtuellen Laufwerks 604 zugeordnet werden, 200 GB können als Speicherplatz für einen Teil des virtuellen Laufwerks 606 zugeordnet werden, und die verbleibenden 1,1 TB können anderen virtuellen Laufwerken und/oder für eine andere Verwendung des Speichers zugeordnet werden.
-
In einer Ausführungsform können die virtuellen Laufwerke 602 bis 608 von einem Benutzer wie zum Beispiel einem Systemverwalter definiert und als verfügbar zur Verwendung als virtuelle Hot-Spare-Einheit gekennzeichnet werden, zum Beispiel unter Verwendung eines oder mehrerer Speicherhilfsprogramme, die durch die Speicherverwaltungseinheit 410 (4) oder ein anderes für den Datenaustausch mit der Speicherverwaltungseinheit 410 verbundenes Verarbeitungssystem bereitgestellt werden. Die virtuellen Laufwerke 602 bis 608 können von dem Steuerknoten 402 in einem reservierten Pool so gepflegt werden, dass die virtuellen Laufwerke 602 bis 608 zum Nur-Lesen befähigt werden, um zu verhindern, dass die virtuellen Laufwerke 602 bis 608 als Datenspeicher verwendet werden, bis die virtuellen Laufwerke 602 bis 608 zur Verwendung als virtuelle Hot-Spare-Einheiten zugeordnet werden. Der Benutzer kann einer bestimmten Speicheranordnung 420, 430 oder einem NAS einen derartigen Schutz bereitstellen oder er kann wählen, den Schutz nicht bereitzustellen, abhängig von der Priorität der virtuellen Laufwerke 602 bis 608 in Bezug auf andere Anforderungen.
-
In einer anderen Ausführungsform kann die Speicherverwaltungseinheit 410 die virtuellen Laufwerke 602 bis 608 dynamisch, zum Beispiel nach Bedarf, definieren und festlegen, dass die virtuellen Laufwerke 602 bis 608 zur Verwendung als virtuelle Hot-Spare-Einheiten verfügbar sind. In dieser Hinsicht kann die Speicherverwaltungseinheit 410 ein Verwaltungsmodul 460 (4) für virtuelle Laufwerke beinhalten, um die virtuellen Laufwerke zu definieren und zu verwalten. In einer Ausführungsform, in welcher der Steuerknoten 402 das Zuordnen der virtuellen Laufwerke 602 bis 608 verwaltet, kann der Steuerknoten 402 ein Ereignis an die Speicherverwaltungseinheit 410 übermitteln, um das Verwaltungsmodul 460 für virtuelle Laufwerke zu veranlassen, die angeforderten virtuellen Laufwerke 602 bis 608 zu erstellen.
-
Die virtuellen Laufwerke 602 bis 608 können von den Speicheranordnungen und NAS 420, 430, 440, 450 als virtuelle Hot-Spare-Einheiten verwendet werden, um ausgefallene Datenspeichereinheiten innerhalb des Speichersystems 400 zumindest vorübergehend zu ersetzen. Die Verwendung des Begriffs „ausgefallene Speichereinheit” hierin bedeutet eine Speichereinheit, die ausgefallen ist oder für die es eine Anzeige eines unmittelbar bevorstehenden Ausfalls gibt. In dieser Hinsicht können die Speichersteuereinheiten der Speicheranordnungen und NAS 420, 430, 440, 450 wie zum Beispiel die Speichersteuereinheiten 530, 532 (5) so konfiguriert sein, dass sie Ausfallereignisse von Datenspeichereinheiten an den Steuerknoten 402 und/oder die Speicherverwaltungseinheiten 412, 412 übermitteln und Anschlüsse des Steuerknotens 402 und/oder der Speicherverwaltungseinheiten 412, 412 als Zielanschlüsse für das Verwalten von RAID-Speicher ansehen.
-
Unter erneuter Bezugnahme auf 4 kann die RAID-Gruppe 422 beispielhaft im normalen Betrieb weiterhin normal funktionieren (z. B. gibt es keine ausgefallenen Datenspeichereinheiten innerhalb der RAID-Gruppe 422). In diesem Fall können der Speicheranordnung 420 ein oder mehrere Anschlüsse des Steuerknotens 402 (oder der Speicherverwaltungseinheit 410) als Speicherinitiatoren dargestellt werden, wobei in diesem Fall ein oder mehrere Anschlüsse der Speicheranordnung 420 als Speicherziele dargestellt werden können. Anders ausgedrückt, der Steuerknoten 402 (oder die Speicherverwaltungseinheit 410) kann auf herkömmliche Weise in der RAID-Gruppe 422 verfügbare Speicherressourcen von der Speicheranordnung 420 anfordern.
-
Der Steuerknoten 402 (oder die Speicherverwaltungseinheit 410) kann die Speicheranordnungen 420, 430 und das NAS 440 auf Leistungsfähigkeit und Ausfallanalyse hin überwachen. Wenn der Steuerknoten 402 (oder die Speicherverwaltungseinheit 410) eine Ausfallanzeige erkennt, die anzeigt, dass eine Datenspeichereinheit innerhalb einer RAID-Gruppe wie zum Beispiel der RAID-Gruppe 422) ausgefallen ist oder kurz davor steht, auszufallen, kann der Steuerknoten 402 (oder die Speicherverwaltungseinheit 410) ein Ereignis erzeugen, um zu veranlassen, dass die virtuellen Laufwerke 602 bis 608 zur Verwendung als virtuelle Hot-Spare-Einheit ausgewählt oder erstellt werden, um die ausgefallene Datenspeichereinheit zu ersetzen. Ein derartiges Ereignis kann die Speicheranordnung 420 und die RAID-Gruppe 422, in der die ausgefallene Datenspeichereinheit Mitglied ist, den Laufwerktyp der ausgefallenen Datenspeichereinheit, die Speicherkapazität der ausgefallenen Datenspeichereinheit und die Adresse der ausgefallenen Datenspeichereinheit anzeigen.
-
Als Reaktion auf das Ereignis kann der Steuerknoten 402 (oder die Speicherverwaltungseinheit 410) die Cloud-Computing-Umgebung nach verfügbaren virtuellen Laufwerken 602 bis 608 (6) durchsuchen und ein virtuelles Laufwerk 602 bis 608 auswählen, das mindestens dasselbe Speichervolumen wie die ausgefallene Datenspeichereinheit aufweist. Dadurch kann der Steuerknoten 402 (oder die Speicherverwaltungseinheit 410) mit anderen Speicherverwaltungseinheiten 450 innerhalb des Speichersystems 400 sowie mit Speicherverwaltungseinheiten und/oder Steuerknoten anderer Speichersysteme innerhalb der Cloud-Computing-Umgebung Daten austauschen. Das ausgewählte virtuelle Laufwerk 602 bis 608 kann dann bereitgestellt (z. B. zugewiesen und verwendet) werden, um als virtuelle Hot-Spare-Einheit zu dienen und die ausgefallene Datenspeichereinheit zumindest vorübergehend zu ersetzen. In einer anderen Ausführungsform kann die Speicherverwaltungseinheit 410 ein virtuelles Laufwerk 602 bis 608 dynamisch erstellen, um zum Dienen als virtuelle Hot-Spare-Einheit bereitgestellt zu werden, wenn die Speicherverwaltungseinheit 410 den Alarm bezüglich einer ausgefallenen Datenspeichereinheit empfängt. Die Speicherverwaltungseinheit kann zum Beispiel nicht verwendete logische Speichervolumen innerhalb des Speichersystems 400 erkennen und eine geeignete Anzahl dieser nicht verwendeten logischen Speichervolumen dem virtuellen Laufwerk 602 bis 608 zuordnen.
-
Beim Auswählen eines virtuellen Laufwerks 602 bis 608 kann der Steuerknoten 402 virtuelle Laufwerke und/oder logische Speichervolumen ignorieren, die Speicherplatz verwenden, der von der RAID-Gruppe 422 bereitgestellt wird, welche die ausgefallene Speichereinheit aufweist. Das virtuelle Laufwerk 602 kann zum Beispiel als nicht verfügbar erkannt werden. Beim Erstellen eines virtuellen Laufwerks kann die RAID-Gruppe 422 davon ausgeschlossen werden, möglicherweise in Frage dafür zu kommen, logisches Speichervolumen für das virtuelle Laufwerk bereitzustellen.
-
Wenn ein virtuelles Laufwerk wie zum Beispiel das virtuelle Laufwerk 604 ausgewählt oder erstellt wird, um zum Dienen als virtuelle Hot-Spare-Einheit bereitgestellt zu werden, kann das virtuelle Laufwerk 604 ausgewertet werden, um zu ermitteln, ob sich das virtuelle Laufwerk 604 in einem einwandfreien Zustand befindet. Anders ausgedrückt, es kann ermittelt werden, ob das virtuelle Laufwerk 604 zur Verwendung als virtuelle Hot-Spare-Einheit geeignet ist. Die RAID-Gruppen 432 bis 438 können zum Beispiel ausgewertet werden, um zu ermitteln, ob derartige RAID-Gruppen selbst aktuell irgendwelche ausgefallenen Datenspeichereinheiten aufweisen oder solche, für die es eine Anzeige eines unmittelbar bevorstehenden Ausfalls gibt. Falls dem so ist, kann das virtuelle Laufwerk 604 als sich nicht in einem einwandfreien Zustand befindlich erkannt werden, und es kann ein anderes virtuelles Laufwerk ausgewählt werden.
-
Angenommen, das virtuelle Laufwerk 604 befindet sich in einem einwandfreien Zustand, dann kann das virtuelle Laufwerk 604 automatisch zum Lesen/Schreiben befähigt und zum Dienen als logisches Speichervolumen innerhalb der RAID-Gruppe 422 als Ersatz für die ausgefallene Datenspeichereinheit bereitgestellt werden. Ferner kann die Adresse der ausgefallenen Speichereinheit dem virtuellen Laufwerk 604 zugeordnet werden. Die Adresse kann eine Anlagennummer und/oder Anschluss/Schlitz-Nummer oder eine beliebige andere Adresse aufweisen, die zum Kennzeichnen einer Speichereinheit geeignet ist. Als Veranschaulichung kann jedem virtuellen Laufwerk 602 bis 608 eine Adresse zugewiesen werden, und der Steuerknoten 402 kann der Adresse der RAID-Gruppe der ausgefallenen Speichereinheit die Adresse des ausgewählten und/oder erstellten virtuellen Laufwerks logisch zuordnen. In dieser Hinsicht können ein oder mehrere Anschlüsse des Steuerknotens 402 (oder der Speicherverwaltungseinheit 410), der/welche die Speicheranordnung/das NAS verwaltet, in der/dem das virtuelle Laufwerk 604 definiert ist, als Speicherziele für die Speicheranordnung 420 auftauchen. Somit können Anschlüsse des Steuerknotens 402 der Speicheranordnung 420 sowohl als Initiatoren als auch als Ziele dargestellt werden.
-
Der für die RAID-Gruppe 422 mit ausgefallenen Speichereinheiten definierte RAID-Typ kann dann erkannt werden, und die Daten von der ausgefallenen Speichereinheit können durch Rekonstruieren derartiger Daten auf dem virtuellen Laufwerk 604 wiederhergestellt werden. Die RAID-Gruppe 422 muss nicht deaktiviert werden, während die oben genannten Prozesse durchgeführt werden, auch nicht danach. Da das hierin beschriebene Bereitstellen mit der Verwendung eines virtuellen Laufwerks 604 einhergeht, und die RAID-Gruppe 422 während und nach dem Bereitstellungsprozess aktiv bleiben kann, kann das virtuelle Laufwerk als virtuelle Hot-Spare-Einheit angesehen werden.
-
Es wird davon ausgegangen, dass die ausgefallene Datenspeichereinheit an einem gewissen Punkt durch eine neue Datenspeichereinheit ersetzt wird. Wenn die neue Datenspeichereinheit zu der RAID-Gruppe 422 hinzugefügt wird, kann der neuen Datenspeichereinheit dieselbe Adresse zugewiesen werden, die vorher der ausgefallenen Datenspeichereinheit zugewiesen war. Ferner können die Daten von dem virtuellen Laufwerk 604 auf der neuen Datenspeichereinheit rekonstruiert werden. Die Daten von dem virtuellen Laufwerk 604 können zum Beispiel auf die neue Datenspeichereinheit gespiegelt werden, oder die Daten können aus den anderen logischen Speichervolumen in der RAID-Gruppe 422 unter Verwendung herkömmlicher Rekonstruktionsalgorithmen für logische Speichervolumen rekonstruiert werden. Die Zuordnung der vorher der ausgefallenen Speichereinheit zugewiesenen Adresse zu der Adresse des virtuellen Laufwerks 604 kann dann entfernt werden, und das virtuelle Laufwerk 604 kann wieder dem Pool verfügbarer virtueller Laufwerke zugeführt werden. Außerdem kann das virtuelle Laufwerk 604 zum Nur-Lesen befähigt werden. In einer anderen Ausführungsform kann die Zuordnung des dem virtuellen Laufwerk 604 von den RAID-Gruppen 432 bis 438 bereitgestellten Datenspeicherplatzes von dem virtuellen Laufwerk entfernt und für eine andere Verwendung freigegeben werden.
-
7 ist ein Ablaufplan, der ein Verfahren 700 gemäß einer anderen Ausführungsform der vorliegenden Erfindung veranschaulicht. In Schritt 702 kann eine Speicherverwaltungseinheit oder ein Steuerknoten in einer (z. B. Cloud-Speicher-)Umgebung eine Ausfallanzeige für eine erste Datenspeichereinheit erkennen, die Mitglied einer ersten RAID-Gruppe ist. Eine Speichersteuereinheit, welche die erste RAID-Gruppe innerhalb einer entsprechenden Speicheranordnung verwaltet, kann zum Beispiel einen Ausfall einer Datenspeichereinheit oder einen bevorstehenden Ausfall erkennen und ein Ereignis (z. B. als Nachricht) an die Speicherverwaltungseinheit oder den Steuerknoten senden, die sich außerhalb der Speicheranordnung befinden können. Wie angemerkt wurde, kann die Speicherverwaltungseinheit oder der Steuerknoten mindestens einen Prozessor beinhalten, der geeigneten durch einen Computer lesbaren Programmcode ausführt, um die hierin beschriebenen Prozesse und Funktionen umzusetzen.
-
In Schritt 704 kann die Cloud-Computing-Umgebung durchsucht werden, um mindestens ein verfügbares virtuelles Laufwerk zu erkennen, und das virtuelle Laufwerk kann ausgewählt werden. Das ausgewählte virtuelle Laufwerk kann dieselbe Speicherkapazität wie die ausgefallene Datenspeichereinheit oder eine höhere Speicherkapazität aufweisen. In einer anderen Ausführungsform kann das virtuelle Laufwerk automatisch erstellt werden, wenn die Fehleranzeige erkannt wird. Wie angemerkt wurde, kann das virtuelle Laufwerk so definiert sein, dass es logische Speichervolumen von einer oder mehreren RAID-Gruppen beinhaltet.
-
In Schritt 706 kann ermittelt werden, ob sich das ausgewählte (oder erstellte) virtuelle Laufwerk in einem einwandfreien Zustand befindet. Es kann zum Beispiel ermittelt werden, ob das virtuelle Laufwerk ein logisches Speichervolumen von einer RAID-Gruppe beinhaltet, welche die ausgefallene physische Speichereinheit oder eine andere ausgefallene Speichereinheit beinhaltet, wobei in diesem Fall das virtuelle Laufwerk als sich nicht in einem einwandfreien Zustand befindlich erkannt werden kann. Wenn sich das virtuelle Laufwerk nicht in einem einwandfreien Zustand befindet, kann der Prozess zu Schritt 704 zurückkehren, und ein anderes virtuelles Laufwerk kann ausgewählt (oder erstellt) werden. Wenn sich das virtuelle Laufwerk in einem einwandfreien Zustand befindet, kann die Speichersteuereinheit oder der Steuerknoten in Schritt 708 das ausgewählte virtuelle Laufwerk bereitstellen, um als virtuelle Hot-Spare-Einheit innerhalb der ersten RAID-Gruppe zu dienen und die erste Datenspeichereinheit zu ersetzen. Die Speichersteuereinheit oder der Steuerknoten kann zum Beispiel dem virtuellen Laufwerk eine Adresse zuweisen und das virtuelle Laufwerk zum Lesen/Schreiben befähigen.
-
In Schritt 710 kann die Speichersteuereinheit oder der Steuerknoten die Adresse der ausgefallenen Speichereinheit der dem virtuellen Laufwerk zugewiesenen Adresse zuordnen. In dieser Hinsicht kann die Speicherverwaltungseinheit oder der Steuerknoten die Speichersteuereinheit aktualisieren, so dass die Speicherverwaltungseinheit oder der Steuerknoten als Ziel für die Adresse der ausgefallenen physischen Datenspeichereinheit anstatt der ausgefallenen Datenspeichereinheit selbst auftaucht. Ein derartiges Aktualisieren kann durchgeführt werden, indem eine geeignete Konfigurationsnachricht von der Speicherverwaltungseinheit oder dem Steuerknoten an die Speicherverwaltungseinheit übermittelt wird.
-
In Schritt 712 können Daten von der ausgefallenen Speichereinheit auf dem virtuellen Laufwerk rekonstruiert werden. Eine Speichersteuereinheit in der RAID-Anordnung kann zum Beispiel die Daten an der Adresse der ausgefallenen physischen Speichereinheit rekonstruieren, die der Adresse des virtuellen Laufwerks zugeordnet wurde.
-
Unter Bezugnahme auf die Entscheidungsbox 714 können, wenn die ausgefallene Datenspeichereinheit durch eine andere physische Datenspeichereinheit ersetzt wird, die Daten des virtuellen Laufwerks in Schritt 716 auf der Ersatz-Datenspeichereinheit rekonstruiert werden. Die Speicherverwaltungseinheit oder der Steuerknoten kann zum Beispiel die Speichersteuereinheit aktualisieren, so dass die neue physische Datenspeichereinheit das Ziel für die Adresse der Speichereinheit ist, und die Daten können aus den auf den anderen physischen Datenspeichereinheiten innerhalb der RAID-Gruppe enthaltenen Daten und Paritätsinformationen rekonstruiert werden. Ferner kann die Speichersteuereinheit oder der Steuerknoten die Speichersteuereinheit aktualisieren und die Zuordnung der Adresse der physischen Datenspeichereinheit zu dem virtuellen Laufwerk entfernen.
-
In Schritt 718 kann das virtuelle Laufwerk wieder einem Pool verfügbarer virtueller Laufwerke zugeführt werden, und das virtuelle Laufwerk kann zum Nur-Lesen befähigt werden.
-
Es wurden gleiche Zahlen verwendet, um in dieser Beschreibung auf die gleichen Elemente zu verweisen. Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweist. Es sei auch angemerkt, dass in einigen alternativen Ausführungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden können. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder durch Kombinationen aus Spezial-Hardware und Computeranweisungen.
-
Die hierin verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. Die Verwendung der Singularform „ein”, „eine” bzw. „der”, „die”, „das” hierin soll ebenfalls die Pluralformen einschließen, es sei denn, etwas anderes ergibt sich deutlich aus dem Zusammenhang. Es wird ferner darauf hingewiesen, dass die Begriffe „aufweisen” und/oder „aufweisend”, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von aufgeführten Eigenschaften, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer anderer Eigenschaften, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen hiervon ausschließen.
-
Die in den nachfolgenden Ansprüchen etwa vorhandenen, entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Step-plus-function-Elemente verstehen sich dahingehend, dass sie jede beliebige Struktur, jedes beliebige Material bzw. jeden beliebigen Schritt zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen nach Maßgabe der konkreten Beanspruchung aufweisen. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt, soll jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die Erfindung in der beschriebenen Form. Für Fachleute werden viele Abänderungen und Abweichungen ersichtlich sein, ohne von dem Umfang und dem Gedanken der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erläutern und um es anderen Fachleuten zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Abänderungen, die für eine bestimmte in Betracht gezogene Verwendung geeignet sind, zu verstehen.