Storage Grids speichern intelligent

02.11.2004 von Tim Nolte
Storage Grids sind modulare Speicherzellen. Sie bestehen aus intelligenten Einheiten, die jederzeit neue Aufgaben übernehmen und im Team zusammenarbeiten können. Sie erlauben es Unternehmen, rasch auf geschäftliche Anforderungen zu reagieren, ohne ständig in neue Hardware investieren zu müssen.

Gehirnzellen sind autonome Einheiten, die je nach Bedarf aktiviert werden und zur Lösung einer Aufgabe spontan zusammenarbeiten. Dagegen ist die Verwaltung eines Computernetzes eine geradezu archaische Angelegenheit. Es gibt in der Regel eine klare Zuordnung von Benutzern, Anwendungen und Servern. Man kann nicht erwarten, dass ein Web-Server spontan seinen Speicherplatz einer anderen Applikation anbietet, deren Computer gerade einen Kapazitätsengpass hat. Datensicherungskonzepte arbeiten nur auf den Systemen, die direkt an einen entsprechenden Controller angeschlossen sind und von einem bestimmten Programm gesteuert werden. Festplatten und Bandlaufwerke außerhalb des direkten Einflussbereichs bleiben unerreichbar.

Grids fördern intelligente Kooperation

Dass die eingeschränkte Zusammenarbeit wenig hilfreich ist, leuchtet ein. Doch die bestehenden Techniken machen es schwer, die historisch gewachsenen Hürden zu überwinden. Jetzt zeichnet sich durch Storage Grids ein Ausweg ab, denn damit werden immerhin drei Probleme des Speicher-Managements gelöst:

Die Interoperabilität funktioniert über Systemgrenzen hinweg, die Skalierbarkeit ist bei wachsenden Speicherkapazitäten immer gegeben, und der Speicher wird flexibel zugeteilt.

Storage Grids sind eine Unterform eines neuen Computerparadigmas. Beim "Grid Computing" handelt es sich um eine Weiterentwicklung der heutigen Netzwerke. Statt nur den Austausch von Daten zu ermöglichen, fördert das Grid die intelligente Zusammenarbeit der angeschlossenen Systeme. Der Benutzer verwendet nicht mehr eine bestimmte Applikation auf einem festgelegten Server. Vielmehr fordert er einen Service an, und das Grid entscheidet selbsttätig, wie dieser zur Verfügung gestellt wird. Auf welcher CPU die Daten verarbeitet und auf welcher Festplatte die Ergebnisse gespeichert werden, muss der Anwender nicht wissen. Ihm stehen die gesamten Ressourcen aller Systeme zur Verfügung.

Cluster als Vorläufer

Das Herz jedes Grids bildet der "Scheduler" oder "Distributed Resource-Manager" (DRM). Er kennt die verfügbaren Ressourcen und weist sie den angeforderten Jobs zu. Dies unterscheidet sich radikal von der heute üblichen Arbeitsweise eines Computernetzes und erfordert hochflexible Hardware. Ein Storage Grid besteht beispielsweise nicht nur aus Festplatten und Controllern, sondern aus intelligenten Modulen, die eigenständig Aufgaben ausführen können. Eine Storage Utility verbindet stets Hardware mit integrierterSoftware, die komplexe Funktionen des Daten-Managements erledigt. Bereits heute sind Grid Computing und Storage Grids mehr als eine Vision. Laut IDC werden Unternehmen und Forschungseinrichtungen dieses Jahr eine Milliarde Dollar in Grid-Lösungen investieren.

Viele Unternehmen haben bereits den Vorläufer eines Grids in Betrieb: das Cluster. Es erfüllt einige Grid-Merkmale wie Highspeed-Networking statt interner Bussysteme als Verbindung oder den redundanten Aufbau durch gleichberechtigte Einheiten. Auch wenn wichtige Softwarekomponenten noch nicht im Einsatz sind, die das Global Grid Forum im frei verfügbaren "Globus Toolkit" veröffentlicht, zeigen Cluster bereits, welche Vorteile Grids bringen werden: Verfügbarkeit, Skalierbarkeit und Performance lassen sich dynamisch anpassen.

In puncto Speicher-Management bedeutet das den gezielten Abschied von veralteten, weil unflexiblen Konzepten wie Direct Attached Storage (DAS). Das heißt im einfachsten Fall, dass die Festplatten im Server eingebaut sind. Oder dass ein externes Storage-Array im Einsatz ist, das über einen Raid-Controller (Redundant Array of Independent Disks) verwaltet wird. Hier unterstützen sich die Festplatten bereits gegenseitig bei der Sicherung der Daten, bilden als Speicherpool jedoch eine abgeschottete Welt. Der Array-Controller wird vom jeweiligen Server-Betriebssystem gesteuert, das auch das Daten-Management regelt. Dies funktioniert in kleinen Umgebungen problemlos. Doch wenn die zu verwaltende Speicherkapazität wächst, weitere Server hinzukommen oder zu viele Daten das Nadelöhr passieren müssen, kommt es zu Problemen bei der Verwaltung der Speicherressourcen. Performance und Skalierbarkeit von DAS-Lösungen sind per Design stark begrenzt.

Dagegen bietet beispielsweise Network Attached Storage (NAS) schon mehr Flexibilität. Die Clients greifen dabei über das Netzwerk auf den Speicherpool zu, ohne dass ein einziger Server den Zugang kontrolliert. NAS-Lösungen bieten nicht nur eine höhere Performance, sie erlauben auch den Zugriff über verschiedene Protokolle. Die Ressourcen können den anstehenden Aufgaben relativ flexibel zugeteilt werden, wenngleich viele NAS-Systeme proprietär sind. Der Anwender hat somit nicht die freie Wahl, welche Hard- und Software unterstützt wird. Dies kann beispielsweise dazu führen, dass verschiedene Backup-Lösungen für verschiedene Systeme eingesetzt werden müssen, was die Interoperabilität einschränkt und zudem die Kosten nach oben treibt.

Das Maximum an Flexibilität und Performance bieten derzeit Storage Area Networks (SANs). Das sind separate Speichernetzwerke (in der Regel auf Basis von Fibre Channel), die parallel zum LAN arbeiten und für den raschen Datentransfer zu den Speichersystemen reserviert sind. Selbst große Speicherlandschaften im mehrstelligen Terabyte-Bereich treten wie eine geschlossene Einheit auf. Verteiltes Speichern von Daten auf mehreren Festplatten funktioniert ohne spürbaren Performance-Verlust. SANs sind deshalb hochgradig skalierbar. Sie können sich aus verschiedenen Speichersystemen unterschiedlicher Hersteller zusammensetzen.

Ressourcen besser nutzen

Virtualisierung heißt, dass die Nutzung von Rechen- und Speicherkapazität von der tatsächlichen Hardware entkoppelt wird. Eine Applikation fordert dabei ein bestimmtes Speicherkontingent an, dessen Bereitstellung sich nach den geschäftlichen Anforderungen richtet. Je wichtiger ein Prozess ist, desto eher erhält er zusätzliche Ressourcen, die andere Programme derzeit nicht nutzen. Es spielt keine Rolle, auf welchem Speichersystem die Daten liegen. Somit muss nicht jeder Server eigene Reserven für "seine" Applikationen vorhalten. Das gesamte Netzwerk stellt sicher, dass die Programme mit der gewünschten Performance laufen. Es gibt keine separaten, ungenutzten Reservoirs an Rechen- und Speicherkapazität mehr. Dadurch wird die vorhandene Hardware besser ausgelastet: Laut einer IDC-Studie nutzt ein typischer Intel-Server nur 15 Prozent seiner Rechenzeit für produktive Arbeit.

Intelligente Zellen

Die Virtualisierungssoftware regelt die physische Zuordnung von logischen Prozessen. Virtualisierung findet dabei auf verschiedenen Ebenen des Speichernetzes statt: im Controller der Speichersysteme, auf den Servern oder den SAN-Appliances. Virtualisierung ist somit der entscheidende Zwischenschritt in die selbstorganisierende Welt des Grid Computing. Hier gibt es keine "dummen" Systeme mehr, die von einem anderen kontrolliert und angeleitet werden müssen. In einem Storage Grid arbeiten so genannte Smart Cells. Das sind autonome Speichermodule mit eigenem Prozessor und Arbeitsspeicher. Damit können sich Speichereinheiten mit anderen koordinieren. Über das vom Global Grid Forum definierte Grid-Protokoll melden sich die Einheiten beim Scheduler an und veröffentlichen die Funktionen, die sie beherrschen. Er entscheidet, welche Aufgaben die Einheit übernehmen soll.

Allerdings ist diese Zuordnung nicht auf Dauer festgelegt, sondern kann sich je nach Situation ändern. Wenn beispielsweise eine Festplatte für Archivierungszwecke im Dokumenten-Management eingesetzt ist, das ERP-System jedoch für den Monatsabschluss viele temporäre Dateien anlegen muss, gibt das Grid Speicherkapazität auf dem Archivsystem frei. Da es sich um Smart Cells handelt, können auch neue Softwarekomponenten auf dem Modul installiert werden, um Aufgaben vor Ort auszuführen. Wird beispielsweise eine bestimmte E-Mail im Archiv gesucht, werden die Dateien nicht auf einen Server transferiert, der sie nach und nach abarbeitet. Vielmehr werden alle Smart Cells mit Archivdaten parallel ihre Datenbestände durchsuchen, was erheblich schneller geht.

Da alle Speichermodule über das Netzwerk angesprochen werden, macht es für eine Applikation keinen Unterschied, auf welchen Einheiten die Daten lagern. Dank des Grids funktioniert dies sogar global: Fällt ein lokales Rechenzentrum aus, können andere einspringen, auch wenn sie viele tausend Kilometer entfernt sind. Weil das Storage Grid unabhängig von der Anzahl der verwendeten Zellen arbeitet, lassen sich auch externe Kapazitäten einbinden. Wird der Speicherplatz knapp, kann ein Unternehmen neue Smart Cells kaufen oder bei einem Dienstleister mieten. Weil die räumliche Zuordnung keine Rolle spielt, erfolgt dies so dynamisch wie heute beim Stromverbrauch. Kaum jemand hat ein eigenes Kraftwerk im Keller stehen oder verpflichtet sich, ein festes Kontingent im Monat abzunehmen. Vielmehr verwendet man den Strom, den man gerade benötigt, und zahlt am Monatsende. Ob die verwendeten Elektronen aus einem Kraftwerk in der Nähe oder vom anderen Ende der Republik stammen, spielt keine Rolle. Das Stromnetz stellt einfach sicher, dass zu jeder Zeit genügend Kapazität vorhanden ist.

Storage Grids in der Praxis

Storage Grids klingen nach Science Fiction, sind jedoch bereits ansatzweise Realität. Alle namhaften Anbieter arbeiten im Global Grid Forum zusammen, um gemeinsam Protokolle und Softwarekomponenten zu entwickeln. Der Erfolg des Internets und des World Wide Web basiert darauf, dass die grundlegenden Techniken für alle Marktteilnehmer zur Verfügung stehen. Denselben Ansatz verfolgen die Anbieter beim Grid Computing.

Wie bei allen jungen Technologien gibt es auch jetzt eine lebhafte Diskussion, ab wann man tatsächlich von einem Storage Grid sprechen kann. Ein Anbieter vertreibt beispielsweise eine Produktlinie unter diesem Namen. Auf den ersten Blick erfüllt sie auch die wichtigsten Anforderungen. Es handelt sich um ein Speicher-Cluster, das über einen Abstraction Layer angesprochen wird. Dies trennt den Datenzugriff von der tatsächlichen Hardware und erlaubt, die Ressourcen in Echtzeit neu zuzuordnen.

Wer reagieren will, muss flexibel sein

Blickt man jedoch hinter die Kulissen, steckt die meiste Intelligenz im Controller und der Management-Software. Ähnliche Konzepte bieten auch andere Anbieter im SAN-Umfeld. Die einzelnen Speichereinheiten sind jedoch nicht intelligent und selbstorganisierend. Es ist auch nicht möglich, Aufgaben zu parallelisieren, indem etwa Virenschutz oder Volltextsuche in den Speichermodulen selbst betrieben werden.

Eine weiter reichende Implementierung der Grid-Grundsätze hat Hewlett-Packard (HP) mit dem "Storageworks Reference Information Storage System" (RISS) vorgestellt. Diese Speicherlösung basiert auf Smart Cells, die über ein Netzwerk verbunden sind. Der Benutzer kann das System jederzeit erweitern, ohne die grundlegende Konfiguration zu ändern. Weil die Module intelligent sind, laufen viele Prozesse vor Ort ab. So ist etwa Software für Volltextindexierung installiert. Wird ein Dokument gesucht, durchforsten alle Smart Cells gleichzeitig die Daten. So lassen sich Informationen aus verschiedenen E-Mail-Programmen wie Notes und Exchange, Office-Dokumenten oder anderen gängigen Datenformaten aktiv archivieren und wieder finden.

Statt wie heute auf spezialisierte Einheiten zu setzen, die ihre Ressourcen nicht teilen wollen, lohnt sich der Wechsel in die adaptive Welt der Grids. Wer in intelligente, autonome Einheiten investiert, kann diese für viele Zwecke verwenden und die Ressourcen so einsetzen, dass sie den größtmöglichen Nutzen bringen. Wer reagieren will, muss flexibel sein. Diese Art von Investitionsschutz hat sich in unseren Gehirnen bewährt. Warum nicht auch in unseren Netzwerken?