DE602005004120T2 - System und verfahren zur übernahme von partnerbetriebsmitteln in verbindung mit coredump - Google Patents

System und verfahren zur übernahme von partnerbetriebsmitteln in verbindung mit coredump Download PDF

Info

Publication number
DE602005004120T2
DE602005004120T2 DE602005004120T DE602005004120T DE602005004120T2 DE 602005004120 T2 DE602005004120 T2 DE 602005004120T2 DE 602005004120 T DE602005004120 T DE 602005004120T DE 602005004120 T DE602005004120 T DE 602005004120T DE 602005004120 T2 DE602005004120 T2 DE 602005004120T2
Authority
DE
Germany
Prior art keywords
memory
server
memory dump
dump
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE602005004120T
Other languages
English (en)
Other versions
DE602005004120D1 (de
Inventor
Susan M. Cupertino COATNEY
John Roseville LLOYD
Jeffrey S. Chapel Hill KIMMEL
Brian Santa Cruz PARKISON
David Brittain Durham BOLEN
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.)
NetApp Inc
Original Assignee
Network Appliance Inc
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 Network Appliance Inc filed Critical Network Appliance Inc
Publication of DE602005004120D1 publication Critical patent/DE602005004120D1/de
Application granted granted Critical
Publication of DE602005004120T2 publication Critical patent/DE602005004120T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft vernetzte Dateiserver und insbesondere die Übernahme eines anderen in Panik geratenen oder ausgefallenen Dateiservers in einem Cluster vernetzter Dateiserver durch einen Dateiserver.
  • Hintergrund der Erfindung
  • Das Dokument US 5,996,086 offenbart eine kontextbasierte Failover-Architektur (Failover: Umschalten bei Fehlern) für redundante Server. Die herkömmliche Architektur weist auf: einen Fern-Server, der mit einem ersten Speichergerät gekoppelt ist, das spezifische Konfigurationsinformationen über den Fern-Server speichert, die dem Fern-Server zugeordnet sind, einen lokalen Server, der mit einem ersten Speichergerät gekoppelt ist, das spezifische Konfigurationsinformationen über den lokalen Server speichert, die dem lokalen Server zugeordnet sind, wobei der lokale Server die Fähigkeit hat, das erste Speichergerät zu erwerben und die Konfigurationsinformationen über den Fern-Server zu lesen, und einen lokalen Server-Prozess. Der lokale Server-Prozess weist auf: einen Initialisierungsprozess zur Erzeugung eines lokalen Kontexts auf Basis der Konfigurationsinformationen über den lokalen Server und eines Fern-Kontexts auf Basis der Konfigurationsinformationen über den Fern-Server und zur Aktivierung des lokalen Server-Kontexts und einen Failover-Prozess zum Erwerben des ersten Speichergeräts, Lesen der spezifischen Konfigurationsinformationen über den Fern-Server, Erzeugen und Initialisieren eines Failover-Kontexts und Aktivieren des Failover-Kontexts, wenn der lokale Server Failover-Dienste für den Fern-Server bereitstellen soll. Der lokale Server-Prozess ist so eingerichtet, dass er auf dem lokalen Server ausgeführt wird, indem er auf aktivierten lokalen Server-Kontext und Failover-Kontext und aktivierten lokalen Kontext und fernen Kontexts wirkt und Entscheidungen auf Basis von diesen trifft.
  • Das Dokument US 6,249,879 offenbart ein Verfahren und eine Vorrichtung für ein transparentes Failover eines Dateisystems in einem Computer-Cluster. Das herkömmliche Verfahren weist die Schritte auf: alle aktuell ausgeführten Anwendungsprozesse und Operationen, die Zugriff auf das Hauptinhaltsverzeichnis-Dateisystem benötigen, in einen unterbrechbaren Ruhezustand versetzen; das Hauptinhaltsverzeichnis-Dateisystems in einem Bereitschafts-Serverknoten im Computer-Cluster montieren ("mounting"); eine dem Hauptinhaltsverzeichnis-Dateisystem zugeordnete Server-Instanz schaffen und die Server-Instanz jedem der anderen Knoten im Computer-Cluster neu zuordnen; die in einen unterbrechbaren Ruhezustand versetzten Anwendungsprozesse aktivieren und jedem dieser Anwendungsprozesse das Hauptinhaltsverzeichnis-Dateisystem auf einer Nurlesebasis verfügbar machen; die Integrität des Hauptinhaltsverzeichnis-Dateisystems prüfen; die durch den Ausfall des aktiven Serverknotens unterbrochenen Anwendungsprozesse vervollständigen; und neuen Anwendungsprozessen das Hauptinhaltsverzeichnis-Dateisystem im Computer-Cluster auf einer Leseschreibbasis verfügbar machen.
  • Dateiserver
  • Ein Dateiserver ist ein Computer, der Dateidienste bezüglich der Organisation von Informationen auf Speichergeräten wie z. B. Platten bereitstellt. Ein Dateiserver enthält ein Speicherbetriebssystem, das ein Dateisystem implementiert, um die Informationen als eine hierarchische Struktur von Verzeichnissen und Dateien auf den Platten logisch zu organisieren. Jede Plattendatei kann als ein Satz Datenstrukturen z. B. Plattenblöcke konfiguriert werden, um Informationen wie z. B. Text zu speichern. Andererseits kann ein Verzeichnis als eine besonders formatierte Datei implementiert werden, in der Informationen über anderen Dateien und Verzeichnisse gespeichert werden.
  • Ein Dateiserver kann so konfiguriert sein, dass er gemäß einem Client/Server-Informationsliefermodell arbeitet, um dadurch vielen Clients Zugriff auf Dateien zu gestatten, die auf einem Server, d. h. einem Dateiserver, gespeichert sind. Bei diesem Modell kann der Client eine Anwendung wie z. B. ein Dateisystemprotokoll aufweisen, die auf einem Computer ausgeführt wird, der über ein Computernetzwerk wie z. B. eine Punkt-zu-Punkt-Verbindung, ein gemeinsam genutztes lokales Netzwerk (LAN), Weitverkehrsnetz (WAN) oder ein virtuelles Privatnetz (VPN) mit dem Dateiserver "verbindet".
  • Ein Typ von Dateisystemen ist ein "Write-Anywhere"-Dateisystem, das keine Daten auf Platten überschreibt. Wird ein Datenblock auf der Platte von der Platte in den Speicher abgerufen (gelesen) und mit neuen Daten "verunreinigt", wird der Datenblock an einer neuen Stelle auf der Platte gespeichert (geschrieben), um dadurch die Schreibleistung zu optimieren. Ein Write-Anywhere-Dateisystem kann anfangs ein optimales Layout annehmen, so dass die Daten im Wesentlichen zusammenhängend auf Platten angeordnet werden. Das optimale Plattenlayout resultiert in effizienten Zugriffsoperationen, insbesondere für sequentielle Leseoperationen, die auf die Platten gerichtet sind. Ein besonderes Beispiel für ein Write-Anywhere-Dateisystem, das so konfiguriert ist, dass es auf einem Dateiserver arbeiten kann, ist das bei Network Appliance, Inc., in Sunnyvale, Kalifornien, erhältliche Dateisystem Write-Anywhere File Layout (WAFL). Das Dateisystem WAFL ist in einem Mikrokern als Teil des gesamten Protokollstapels des Dateiservers und zugeordneten Plattenspeichers implementiert. Dieser Mikrokern wird als Teil des Speicherbetriebssystems Data ONTAP von Network Appliance geliefert, das sich auf dem Dateiserver befindet, der Dateidienstanforderungen von mit dem Netzwerk verbundenen Clients verarbeitet.
  • Im Rahmen der vorliegenden Beschreibung bezieht sich der Begriff "Speicherbetriebssystem" im Allgemeinen auf den computerausführbarer Code, der auf einem Speichersystem betriebsfähig ist, das Dateisystem-Semantik implementiert und den Datenzugriff verwaltet. In diesem Sinne ist die Software Data ONTAP ein Beispiel für ein solches als Mikrokern implementiertes Speicherbetriebssystem. Das Speicherbetriebssystem kann auch als ein Anwendungsprogramm implementiert werden, das über ein Universalbetriebssystem wie z. B. UNIXS® oder Windows NT® wirkt, oder als ein Universalbetriebssystem mit konfigurierbarer Funktionalität, das für Speicheranwendungen konfiguriert wird wie hierin beschrieben.
  • Ein Plattenspeicher ist typischerweise als ein oder mehrere Speicher-Datenträger (volumes) implementiert, bestehend aus einem Satz physikalischer Speicherplatten, der eine logische Gesamtanordnung von Speicherplatz definiert, sowie einem Satz "Hot-Spare"-Platten (aktiver Ersatzplatten), die nach Bedarf zur Verwendung für Dateidienste bereitstehen. Aktuell verfügbare Dateiserver-Implementierungen können eine große Anzahl eigenständiger Datenträger bedienen. Jedem Datenträger ist sein eigenes Dateisystem zugeordnet und für die Zwecke der vorliegenden Beschreibung sollen Datenträger und Dateisystem im Allgemeinen synonym verwendet werden. Die Platten in einem Datenträger sind typischerweise als eine oder mehrere Gruppen von Redundant Array of Independent (oder Inexpensive) Disks (RAID) (etwa: Redundanter Verbund unabhängiger (oder kos tengünstiger) Festplatten) organisiert. RAID-Implementierungen erhöhen die Zuverlässigkeit/Integrität der Datenspeicherung durch das redundante Schreiben von Daten-"Streifen" auf einer gegebenen Anzahl physikalischer Platten im RAID-Verbund und die entsprechende Speicherung von Paritätsinformationen bezüglich der gestreiften Daten. Eine Ersatzplatte ist eine, die vom innehabenden Dateiserver ordnungsgemäß reserviert ist aber aktuell nicht für Dateidienste verwendet wird. Sie steht zur Verwendung bereit, wenn sie zur Schaffung eines Datenträgers, Erweiterung bestehender Datenträger, RAID-Rekonstruktion und für andere Wiederherstellungsoperationen im Katastrophenfall oder für wartungsbezogene Dateidienstoperationen benötigt wird. Im Allgemeinen ist eine Rekonstruktion eine Operation, durch die eine Ersatzplatte zugewiesen wird, um eine aktive Dateisystemplatte in einem bestimmten RAID-Verbund zu ersetzen, die ausgefallen ist, bei der Paritätsberechnungen anhand der überlebenden Platten die Daten regenerieren, die auf der ausgefallenen Platte gespeichert worden waren, und die regenerierten Daten an die Ersatzplatte geschrieben werden.
  • Im Beispiel für ein WAFL-Dateisystem wird eine RAID 4-Implementierung vorteilhaft eingesetzt. Diese Implementierung bringt speziell die streifenartige Anordnung von Daten auf einem Verbund von Platten und die getrennte Speicherung der Parität auf einer ausgewählten Platte des RAID-Verbundes mit sich. Fällt eine einzelne Platte in einem RAID 4-Verbund aus, kann dieser Verbund weiterhin in einer schlechteren Betriebsart arbeiten. Die Daten der ausgefallenen Platte können anhand der überlebenden Platten durch Paritätsberechnungen rekonstruiert werden. Wie hierin beschrieben wird, weist ein RAID-Verbund typischerweise mindestens eine Datenplatte und eine zugeordnete Paritätsplatte (oder möglicherweise Daten-/Paritätspartitionen auf einer einzigen Platte) auf, die gemäß einer RAID 4- oder einer entsprechenden hochzuverlässigen Implementierung angeordnet sind. Andere Konfigurationen (z. B. RAID 0, RAID 1, RAID 4, RAID 5 oder RAID DP (Diagonal Parity) sind jedoch in die Überlegungen einbezogen. Eine weitere Besprechung von RAID ist in der gemeinsamen U.S.-Patentanmeldung Seriennr. 10/394,819 mit dem Titel QUERY-BASED SPARES MANAGEMENT TECHNIQUE von Loellyn Cassell et al. zu finden.
  • Wie weiter unten beschrieben wird, ist jede Platte in eine Reihe Zonen aufgeteilt, die ermöglichen, dass Schreiben von Daten und Zugriff auf Daten auf den Platte auf eine vorhersagbare Weise erfolgen. Diese Zonen enthalten im Allgemeinen ein Plattenetikett (label), das von der RAID-Ebene verwendet wird. Das Etikett auf der Platte besteht im Wesentlichen aus selbstbeschreibenden Informationen für jede Platte, die aktiv mit dem Speichersystem verbunden wird. Die Etiketten werden verwendet um die Platten dynamisch zu Ersatz-Pools (Spare-Pools) und Datenträgern zu montieren. Der Vorgang des Montierens von Platten zu Ersatz-Pools und Datenträgern auf Basis der Plattenetiketten wird als "Plattenetiketten-Assimilation" bezeichnet. Falls das Etikett die Platte als einen Teil eines Datenträgers identifiziert, wird das Etikett verwendet, um einen Arbeitsspeicher-Konfigurationsbaum für diesen Datenträger beginnend bei der Plattenobjektebene bis zur Datenträgerobjektebene aufzubauen. Ein Etikett auf einer Platte identifiziert deshalb die Beteiligung dieser Platte an einem RAID-Verbund und ferner die Zuordnung von Plex-, Spiegel- und schließlich Datenträgerobjekten in diesem Konfigurationsbaum zu diesem Verbund. Das Etikett befindet sich an einer allgemein bekannten Stelle auf der Platte, so dass es gemäß z. B. einem Entdeckungsprozess während einer Boot-Operation (Booten: Hochfahren) durch das RAID-Untersystem abgefragt werden kann. Der Entdeckungsprozess implementiert beispielhaft einen hierin beschriebenen Plattenereignispfad.
  • Das Speichersystem führt eine Assimilation auf Basis von Plattenetiketten aus und entscheidet, ob und wo eine bestimmte Platte in die allgemeine Konfiguration des aktiven Speichers eingefügt werden soll. Wenn eine Platte anhand ihrer Etiketten als ein "Ersatz" (spare) und nicht als Teil der aktiven Speicherkonfiguration betrachtet wird, wird sie in einen Ersatz-Pool gelegt.
  • Andere Zonen definieren das Inhaltsverzeichnis der Platte, ihren Dateisystembereich, eine Arbeitsspeicherabzugzone, in der Arbeitsspeicherabzuginformationen gespeichert werden, Inhaberschaftsinformationen (unten beschrieben) und andere relevante Informationen, die auf eine logische und vorhersagbare Weise im Speicherplatz der Platte angeordnet sind. Bestimmte Informationen wie das Inhaltsverzeichnis befinden sich an einem bekannten Offset (Versatz), so dass das Speichersystem immer darauf zugreifen kann, wenn die Platte verbunden ist. Intern ist der Dateiserver ein mikroprozessorbasierter Computer, in dem ein oder mehrere Mikroprozessoren durch einen Systembus mit verschiedenen Systemkomponenten verbunden sind, die sich physisch auf einer Hauptplatine befinden und enthalten können: einen Speicher, einen Puffer-Cache zum Speichern von Daten und Befehlen, einen Netzwerkadapter zum Kommunizieren über das LAN oder ein anderes Netzwerk, ein Firmware-Speichergerät wie z. B. einen löschbaren programmierbaren Lesespeicher (EPROM, der einen Flash-Speicher aufweisen kann, der beim Herunterfahren die Energie beibehält), der System-Firmware (einschließlich eines Boot-Mechanismus) enthält, und verschiedene Speicheradapter zum Kommunizieren mit den physischen Platten, die mit dem Dateiserver verbunden sind.
  • Platten sind typischerweise in einer Gestellgehäuseeinheit oder einem "Gestell" eingeschlossen. Ein Gestell ist ein physisches Gehäuse, das hauptsächlich Energie und Anschlussfähigkeit zu seinen Platten bereitstellt.
  • Dateiserver können in Gruppen oder "Clustern" organisiert werden, in denen zwei oder mehr Dateiserver miteinander verbunden sind, um fehlertolerantes Rechnen für den Fall bereitzustellen, dass einer der Cluster-Partner in "Panik" gerät oder ausfällt. In einem solchen Fall übernimmt ein nicht ausgefallener Cluster-Partner die Handhabung der Operationen des ausgefallenen Partners und die Steuerung seiner Platten. Dies wird durch mehrere "Failover"-Funktionen (weiter unten zu beschreiben) einschließlich eines Failover-Überwachers in jedem Dateiserver und einen Cluster Interconnect (Cluster-Verbindung) zwischen Dateiservern, der einen Kommunikationsweg im Falle einer Panik oder eines Ausfalls bereitstellt, erleichtert.
  • In einer Cluster-Umgebung ist jeder Dateiserver physisch mit allen Platten verbunden, die Teil eines bestimmten Clusters sind, und ein bestimmter Dateiserver gilt als "Inhaber" der Platten, welche die von diesem Dateiserver bedienten Datenträger bilden. Diese Inhaberschaft bedeutet, dass der Dateiserver für die Wartung der auf diesen Platten enthaltenen Daten verantwortlich ist, und dass nur der Dateiserver, der eine bestimmte Platte "besitzt", in der Lage sein soll, Daten nach dieser Platte zu schreiben. Diese Alleininhaberschaft hilft die Datenintegrität und -kohärenz sicherzustellen. Bei einem beispielhaften Dateisystem können Informationen über die Platteninhaberschaft an zwei Stellen gespeichert werden: einem definitiven Inhaberschaftssektor auf jeder Platte und durch die Verwendung von Reservierungen gemäß Small Computer System Interface (SCSI) Level 3. Diese SCSI-3-Reservierungen sind beschrieben in SCSI Primary Commands-3 vom Committee T10 des National Committee for Information Technology Standards. Dieses Verfahren für die Inhaberschaft von Platten ist in der U.S.-Patentanmeldung US 2003/0120743 mit dem Titel SYSTEM AND METHOD OF IMPLEMENTING DISK OWNERSHIP IN NETWORKED STORAGE detailliert beschrieben. Andere Platteninhaberschaftsmodelle werden ausdrücklich ins Auge gefasst und dem Fachmann auf dem Gebiet der Netzwerkspeicherung ist klar, dass die offenbarte Erfindung nicht auf die oben beschriebenen Inhaberschaftsverfahren beschränkt ist. Beispielsweise kann ein typologiebasiertes Inhaberschaftssystem verwendet werden. Dieses beinhaltet ein herkömmliches A/B-Cluster-Inhaberschaftssystem, bei dem der mit Fibre Channel-Port A (Port = Anschluss) eines bestimmten Plattengestells verbundene Dateiserver als Standardinhaber dieses Gestells und aller Platten, die es enthält, gilt, wogegen der mit Port B verbundene Dateiserver der Übernahme-Cluster-Partner ist. Ähnlich kann ein anderes topologiebasiertes System verwendet werden, bei dem die Platteninhaberschaft teilweise durch den Switchport bestimmt wird, mit dem eine Platte verbunden ist. Dieses beispielhafte System definiert Inhaberschaft auf Basis der Switchport-Bank (z. B. einer Gruppe voneinander getrennter Anschlüsse) in die hinein Port A einer Platte verbunden ist. Wenn z. B. ein handelsüblicher Switch der Serie 3800 von Brocade Communications Systems, Inc., (San Jose, Kalifornien) mit 16 Ports, die in Bank 1 (Ports 0–7) und Bank 2 (Ports 8–15) aufgeteilt sind, verwendet wird, gilt ein mit Bank 1 verbundener Dateiserver als Inhaber von Platten, die mit Bank 2 verbunden sind, um die Datenredundanz weitet sicherzustellen. Dies ist in FAS900 Series Appliance Cluster Guide (Teilnummer 210-00342), veröffentlicht von Network Appliance, Inc., im Mai 2003 (siehe allgemein Kapitel 3) detailliert beschrieben.
  • Dateiserver-Ausfall und Übernahme
  • Im Rahmen der vorliegenden Beschreibung gerät ein Dateiserver in einer Cluster-Konfiguration in "Panik" oder er "fällt aus", wenn er ein schwerwiegendes Problem erkennt, das ihn daran hindert, die Ausführung normal fortzusetzen, er aber dennoch in der Lage ist, mit anderen Knoten im Cluster einschließlich seines Cluster-Partners zu kommunizieren. Der Prüfstein bei einem solchen Ausfall ist daher die anhaltende Fähigkeit, trotz des Verlusts einer gewissen Funktionalität oder Leistungsfähigkeit im Cluster zu kommunizieren. Dies kann auch als "weicher Ausfall" im Unterschied zum "harten Ausfall" bezeichnet werden, der auftritt, wenn der Dateiserver unfähig wird, mit anderen Knoten im Cluster zu kommunizieren, z. B. nach einem Ausfall der elektrischen Spannung. Ein Dateiserver, in dem das Speicherbetriebssystem in Panik ist, wird daher im Allgemeinen als ein "ausgefallener Dateiserver" bezeichnet.
  • Wenn ein Dateiserver in einer Cluster-Umgebung ausfällt, ergibt sich die Notwendigkeit, die Inhaberschaft eines Datenträgers vom ausgefallenen Dateiserver auf einen anderen Partnerdateiserver zu übertragen, um Clients fortdauernden Zugriff auf die Platten zu verschaffen. Ein Verfahren zur "Übernahme" oder zum "Failover" ist in der US 6,920,580 mit dem Titel NEGOTIATED GRACEFUL TAKEOVER IN A NODE CLUSTER detailliert beschrieben.
  • Zur Unterstützung der Ermittlung der Fehlerursache (z. B. um die Fehler des ausgefallenen Dateiservers zu beseitigen) führt der ausgefallene Dateiserver oder das andere Speichersystem typischerweise eine "Arbeitsspeicherabzug"-Operation durch, bei der er bzw. es seinen aktuellen Arbeitsspeicherinhalt (ebenfalls als "Arbeitsspeicherabzug" bezeichnet) nach der Platte schreibt. Später liest ein Arbeitsspeicherabzug-Wiederherstellungsprozess mit der Bezeichnung "savecore" (Arbeitsspeicher sicherstellen) die Arbeitsspeicherabzugdaten zurück und erzeugt eine "Arbeitsspeicherabzugdatei", die er im Hauptinhaltsverzeichnis-Dateisystem des ausgefallenen Dateiserver speichert. Die Arbeitsspeicherabzugdatei enthält ein Abbild des Systemspeichers und eines etwaigen nicht flüchtigen Speichers zur Zeit des Auftretens der Panik. Auf das Abbild kann anschließend zugegriffen werden und es kann zur Unterstützung der Bestimmung der Ursache des Ausfallereignisses untersucht werden. Diese Informationen unterstützen die Diagnose des Fehlers, da sie ein Bild des Systems zur Zeit des Auftretens des Ausfalls sind.
  • Wie nachstehend angegeben ist Zeit in einem Panik-Szenario von entscheidender Bedeutung, daher verteilt die Arbeitsspeicherabzug-Operation den Arbeitsspeicherabzug typischerweise auf besonders zugeordnete Arbeitsspeicherzonen, die sich auf mehreren Platten befinden, um die vollständige Erstellung des Arbeitsspeicherabzugs zu beschleunigen. Typischerweise wird die Arbeitsspeicherabzugdatei in (beispielsweise) 3 MB großen Datenstücken nach der bestimmten Zone in einem Satz nicht defekter/betriebsfähiger Platten geschrieben, die der ausgefallene Dateiserver aktuell innehat. Wenn die bestimmte Zone auf einer bestimmten Platte voll wird, wird diese Platte aus der Liste verfügbarer Platten genommen. Die auf Platten geschriebenen 3 MB großen Datenstücke sind typischerweise nicht komprimiert, wenn der Platz es erlaubt, oder sie können komprimiert sein, wenn der Platz kritisch ist, und diese komprimierten Daten können sequentiell nach Platten geschrieben werden, statt über den Plattensatz hinweg "versprüht" zu werden und möglicherweise einige Platten vor den anderen füllen. Die Platten werden nummeriert, so dass eine resultierende Arbeitsspeicherabzugdatei später anhand des Plattensatzes wieder zusammengesetzt werden kann.
  • Im Falle einer Cluster-Umgebung, in der mehrere Dateiserver in der Lage sein können, die Kontrolle über einen bestimmten Plattensatz über Inhaberschaftsreservierungen zu übernehmen, wird der Arbeitsspeicherabzug nur auf Platten gerichtet, die der ausgefallene Dateiserver innehat. Da der Arbeitsspeicherabzug den Arbeitsspeicherabzug auf mehrere Platten verteilt, sind diese Platten für den Partnerdateiserver sonst nicht zugänglich, um den Übernahmeprozess zu beginnen. Vielmehr bleiben die Platten mit den Aktionen des ausgefallenen Dateiservers beim Schreiben des Arbeitsspeicherabzugs beschäftigt. Da auf die Arbeitsspeicherabzugplatten typischerweise vom Partnerdateiserver als Teil einer herkömmlichen Übernahmeoperation zugegriffen werden muss, verzögert der Partnerdateiserver folglich den gesamten Übernahmeprozess, bis der ausgefallene Dateiserver seinen Arbeitsspeicherabzug fertig stellt. Tatsächlich geht der Übernahmeprozess über zwei aufeinander folgende Schritte vor sich: zuerst wird der Arbeitsspeicherabzug durch den ausgefallenen Dateiserver vollendet, dann erfolgt die Übernahme durch den Partnerdateiserver.
  • Während die zwei Schritte (Arbeitsspeicherabzug und Übernahme) ausgeführt werden, kann sich der Ausfall tatsächlich von "weich" zu "hart" ändern, wobei der ausgefallene Dateiserver vollkommen unzugänglich wird, bevor die Übernahme ganz vollendet ist. Während dieser Verzögerung sind außerdem die durch den ausgefallenen Dateiserver gehandhabten Daten für Clients unzugänglich und sie werden nicht wieder verfügbar gemacht, bis die Übernahme abgeschlossen ist. Es ist äußerst wünschenswert, die Nichtverfügbarkeit der Daten von einem Cluster so weit wie möglich zu verringern, insbesondere in einer blockbasierten (SAN-)Umgebung, in der Clients äußerst anfällig für Datenunverfügbarkeit sind. Wenn z. B. ein Dateiserver nicht innerhalb einer festgesetzten Zeitspanne antwortet, kann das SAN-Protokoll eine netzwerkweite Panik ausgeben, die wiederum zu einer vollständigen Netzwerkabschaltung führen kann. Zur Vermeidung einer unerwünschten (und möglicherweise) lähmenden Stillstandszeit sollte daher die gesamte Übernahmeoperation einschließlich des Arbeitsspeicherabzugs so schnell wie möglich durchgeführt werden.
  • Zusammenfassung der Erfindung
  • Diese Erfindung, die in den beigefügten unabhängigen Ansprüchen 1, 6 und 14 detailliert definiert ist, überwindet die Nachteile im Stand der Technik, indem sie ein System und ein Verfahren zur Ermöglichung einer schnelleren Übernahme eines ausgefallenen Dateiservers durch einen geclusterten Übernahme-Partnerdateiserver bei Vorliegen eines Arbeitsspeicherabzugverfahrens (z. B. eines Transfers des Arbeitsspeichers des ausgefallenen Dateiservers) bereitstellt. Um Zeit zu sparen, wird gestattet, dass der Arbeitsspeicherabzug gleichzeitig mit der Übernahme der regulären aktiven Platten des ausgefallenen Dateiservers, die reguläre Dateidienstdaten speichern, durch den Partner stattfindet, so dass für den Beginn der Übernahme nicht auf die Fertigstellung des Arbeitsspeicherabzugs gewartet werden muss. Dies wird durch die folgenden kurz beschriebenen Techniken erreicht: Der Arbeitsspeicherabzug wird nach einer einzelnen Platte geschrieben, die nicht am regulären Dateidienst beteiligt ist, so dass die Übernahme regulärer Dateidienste ohne Beeinträchtigung vom Arbeitsspeicherabzug vonstatten gehen kann. Ein zuverlässiger Mechanismus für beide Dateiserver in einem Cluster zur Identifizierung der Arbeitsspeicherabzugplatte ist bereitgestellt, der die Übernahmeabhängigkeit von unzuverlässigen Kommunikationsmechanismen beseitigt. Ebenfalls bereitgestellt ist ein Mechanismus zur Identifizierung während der Übernahme der Arbeitsspeicherabzugplatte und SCSI-3-Reservierungen werden verwendet, um den Schreibzugriff auf (die Inhaberschaft von) gemeinsam genutzte(n) Platten zu koordinieren, um zu verhindern, dass die Übernahme den Arbeitsspeicherabzug beeinträchtigt, während sie gleichzeitig verhindern, dass der ausgefallene Dateiserver weiterhin nach regulären Dateisystemplatten schreibt, die durch seinen Partner übernommen werden.
  • Gemäß einer Ausführungsform der Erfindung hat jeder Dateiserver einen Mechanismus zur Überwachung verschiedener Aspekte seiner Operationen. Als Reaktion auf einen detektierten Ausfall führt der ausgefallene Dateiserver einen Arbeitsspeicherabzug auf die ausgewählte Arbeitsspeicherabzugplatte durch. Die Arbeitsspeicherabzugplatte kann unter den Ersatzplatten gewählt werden, deren Inhaber der ausgefallene Dateiserver ist, oder sie kann eine andere Platte sein, die mit dem ausgefallenen Dateiserver und dem Übernahme-Partnerdateiserver kommuniziert. Während der ausgefallene Dateiserver bei einer Ausführungsform die Arbeitsspeicherabzug-Prozedur auf der Arbeitsspeicherabzugplatte einleitet, setzt er ein bestimmtes Arbeitsspeicherabzugsattribut in einen bekannten Kopfbereich in einer bekannten "Arbeitsspeicher"-Zone auf der Arbeitsspeicherabzugplatte. Dieses Attribut zeigt dem Partnerdateiserver an, dass der ausgefallene Dateiserver einen Arbeitsspeicherabzug auf die Ersatzplatte schreibt, und dass der Partnerdateiserver keine Reservierung auf diese Ersatzplatte setzen soll.
  • Der ausgefallene Server teilt den Ausfall auch einem Partnerdateiserver zur Übernahme mit. Als Teil des Übernahmeprozesses tastet der Partnerdateiserver alle Platten des ausgefallenen Dateiservers ab, wobei er die Attributposition auf der Arbeitsspeicherzone jeder Platte untersucht. Bei der Ausführung der Übernahme identifiziert der Partnerdateiserver die als die Arbeitsspeicherabzugplatte markierte Platte und umgeht sie, wenn er die Inhaberschaft geltend macht, indem er SCSI-Reservierungen setzt. Sobald die Reservierung auf der Platte gesetzt ist, kann der ausgefallene Dateiserver nicht mehr auf diese Platten schreiben.
  • Während der Partner die Platten des ausgefallenen Servers übernimmt, schreibt der ausgefallene Dateiserver weiterhin den Arbeitsspeicherabzug auf die Arbeitsspeicherabzugplatte, wobei er die wesentlich größere Dateisystem-Datenzone verwendet statt die wesentlich kleinere zugeordnete Arbeitsspeicherzone. Sobald der Arbeitsspeicherabzug vollständig ist, wird das Attribut der Arbeitsspeicherabzugplatte geändert, um dem Übernahme-Partnerdateiserver anzuzeigen, dass der ausgefallene Dateiserver den Arbeitsspeicherabzug vollendet hat. Nach dem Abtasten auf das Attribut hin ist dem Übernahme-Partnerdateiserver nun gestattet, die Inhaberschaft der Arbeitsspeicherabzugplatte herzustellen. Der Partner erzeugt zu einer geeigneten Zeit eine Diagnostik-Arbeitsspeicherabzugdatei. Die Arbeitsspeicherabzugdatei wird zur späteren Fehlerbehebung im Hauptinhaltsverzeichnis-Dateisystem des ausgefallenen Dateiservers (in den Platten des ausgefallenen Dateiservers, die er jetzt innehat) gespeichert. Die Arbeitsspeicherabzugdatei wird für nachfolgenden Zugriff durch ein geeignetes Dienstprogramm typischerweise als eine Datei im Hauptinhaltsverzeichnis-Datenträger gespeichert.
  • Indem dem Partnerdateiserver gestattet wird, die Übernahme einzuleiten, während der ausgefallene Dateiserver separat und gleichzeitig seinen Arbeitsspeicherabzug auf eine einzige Arbeitsspeicherabzugplatte durchführt, wird die Übernahmeverzögerung verringert, wodurch die Unterbrechung des Zugriffs des Clients auf die Platten minimiert wird.
  • Kurzbeschreibung der Zeichnungen
  • Die obigen und weitere Vorteile der Erfindung erschließen sich besser unter Bezugnahme auf die folgende Beschreibung in Verbindung mit den beiliegenden Zeichnungen, in denen identische Bezugszeichen gleiche oder funktional ähnliche Elemente kennzeichnen:
  • 1 ist ein Blockdiagramm zweier Dateiserver, die in einer Cluster-Konfiguration miteinander verbunden sind, die einem Partnerdateiserver die Übernahme eines ausgefallenen Dateiservers ermöglicht;
  • 2 ist ein Blockdiagramm eines Dateiservers, der mit der vorliegenden Erfindung verwendet werden kann;
  • 3 ist ein schematisches Blockdiagramm eines Speicherbetriebssystems zur Verwendung mit dem beispielhaften Dateiserver von 2 gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 4 ist ein Diagramm der Einteilung von Zonen einer Speicherplatte, wie sie in einer Ausführungsform der vorliegenden Erfindung verwendet wird; und
  • 5 ist ein Flussdiagramm der Abfolge der Schritte, die eine Übernahme eines ausgefallenen Dateiservers durch einen Cluster-Partner parallel zu einem Arbeitsspeicherabzug aufweisen.
  • Detaillierte Beschreibung einer beispielhaften Ausführungsform
  • Die Lehre dieser Erfindung kann an verschiedene Speichersystem-Architekturen wie z. B. eine netzwerkgebundene Speicherumgebung, ein speichergebundenes Netzwerk und eine direkt an einen Client/Host-Computer angebundene Plattenbaugruppe angepasst werden, ist aber nicht darauf beschränkt. Der Betriff "Speichersystem" ist deshalb im weiten Sinne als solche Anordnungen beinhaltend zu verstehen. Es versteht sind jedoch, dass die Lehren dieser Erfindung auf beliebige Serversysteme angewendet werden können. Es wird ausdrücklich ins Auge gefasst, dass die verschiedenen hierein beschriebenen Prozesse, Architekturen und Verfahren in Hardware, Firmware oder Software, die aus einem computerlesbaren Medium einschließlich Programmanweisungen, die eine Reihe von Schritten ausführen, besteht, implementiert werden kann.
  • Geclusterte Dateiserver
  • 1 ist ein Blockdiagramm zweier Dateiserver mit der Bezeichnung Dateiserver A 150 und Dateiserver B 150, die als zwei Knoten in einem Dateiserver-Cluster 100 verbunden sind wie dargestellt. Zum Zwecke dieser Beschreibung sollen die Dateiserver A und B hinsichtlich Funktionen und Aufbau als ähnlich betrachtet werden. Sie können jedoch hinsichtlich Funktionen und Aufbau gemäß alternativen Ausführungsformen verschieden sein, sofern sie geclustert werden können und jeder eine Übernahme-/Failover-Fähigkeit bezüglich des anderen hat. Obwohl nur zwei Dateiserver und zwei zugeordnete Plattengestelle (160) in der Cluster-Konfiguration von 1 gezeigt sind, versteht es sich jedoch auch, dass eine größere Anzahl Dateiserver für Failover geclustert werden können, und dass typischerweise eine größere Anzahl zugeordneter Plattengestelle verwendet wird. Ferner können jedem Dateiserver mehrere Datenträger zugeordnet sein und jeder Datenträger kann eine oder mehrere RAID-Verbunde umfassen. In dieser Beschreibung werden die Begriffe "Dateiserver" und "Speichersystem" synonym verwendet.
  • Gemäß 1 sind die Dateiserver A und B (150) vorzugsweise Dateiserver, die so konfiguriert sind, dass sie durch ein Netzwerk 120 verbundenen Clients 110 jeweils Dateidienste bezüglich der Organisation von Informationen auf Speichergeräten wie z. B. Festplatten D1-Dn in Plattengestellen A und B 160 bereitstellen Ein Client 110 kann ein Universalcomputer wie z. B. ein Personal Computer (PC) oder eine Arbeitsstation sein, der bzw. die zur Ausführung von Anwendungen über ein Dateisystemprotokolle enthaltendes Betriebssystem konfiguriert ist. Außerdem interagiert jeder Client 110 mit einem Dateiserver 150 gemäß einem Client-/Server-Informationsliefermodell. Das heißt, ein Client 110 fordert die Dienste eines Dateiservers 150 z. B. zum Abrufen von Dateien oder anderen Datenbehältern (z. B. Blöcken) an. Bei diesem Beispiel greifen Clients 110 über eine Netzwerkwolke 120, einen Switch 135 und Kommunikationsverbindungen 130, die in Ansammlungen oder Bündeln 140 angeordnet sein können, auf Dateiserver 150 im Cluster zu.
  • Obwohl dies nicht dargestellt ist, kann der Cluster 100 über ein Netzwerk (z. B. eine Fibre Channel-Schleife) mit anderen Clustern oder einzelnen Dateiservern/Dateiservern verbunden sein, um ein vernetztes Speichersystem (wie z. B. ein SAN) zu bilden. Zur Implementierung einer solchen vernetzten Speicheranordnung sind jedem Dateiserver und/oder Plattengestell geeignete Schnittstellen und Interconnects (nicht dargestellt) bereitgestellt.
  • Clients kommunizieren mit Dateiservern typischerweise über ein Netzwerk, wobei ein bekanntes Dateisystemprotokoll verwendet wird, das mit dem auf den Clients laufenden Betriebssystem im Einklang steht. Das Network File System (NFS) ist ein Dateisystemprotokoll zum Zugriff auf Dateiservern in einer UNIX-Umgebung. Das Common Internet File System (CIFS) ist ein verbindungsorientiertes Protokoll eines offenen Standards, das fernen Dateizugriff über ein Netzwerk bietet und mit Dateiservern verwendet wird, um PCs in einer Windows-Umgebung Dienst bereitzustellen. Dementsprechend wird CIFS häufig in Verbindung mit Servern wie z. B. Dateiservern eingesetzt, die auf sie zugreifende PC-Clients haben.
  • In den folgenden Absätzen bezieht sich die Beschreibung oft auf den Dateiserver A oder B im Singular, es ist jedoch zu bedenken, dass die Beschreibung auch für den anderen Dateiserver gilt.
  • Als Teil des Cluster-Betriebs ist jedem der Dateiserver A und B (150) in erster Linie ein Satz Platten zugeordnet. Die Dateiserver werden durch ein Speicherbetriebssystem gesteuert, das vorzugsweise das bei Network Appliance, Inc., erhältliche Speicherbetriebssystem Data ONTAP sein kann, das zur Bereitstellung von Dateiserverdiensten optimiert ist. Beide Dateiserver A und B haben Zugriff auf beide Plattengestelle A und B, obwohl im Beispiel Dateiserver A das Plattengestell A und Dateiserver B das Plattengestell B "innehat". Der Dateiserver A greift über eine Schleife A 157 auf sein Plattengestell A und über eine Schleife B 156 auf das Plattengestell B zu. Ähnlich ist dem Dateiserver B in erster Linie ein Plattengestell B zugeordnet, auf das er über seine Schleife A zugreift, und er greift über seine Schleife B auf das Plattengestell A zu. Dieser gemeinsame Zugriff ist für einen Partnerdateiserver zum Zugriff auf das Plattengestell eines ausgefallenen Dateiservers erforderlich, um den Clients des ausgefallenen Dateiservers nach einer Übernahme weiterhin Dateidienste bereitzustellen.
  • Jeder Dateiserver in diesem Beispiel implementiert auch einen nicht flüchtigen Direktzugriffsspeicher (NVRAM) 151, der einen fehlertoleranten Betrieb im Falle eines Ausfalls des Dateiservers sicherstellt. Insbesondere speichert der NVRAM eine bestimmte Menge Daten und Informationen bezüglich des Arbeitsspeichers des Dateiservers und behält diese Daten und Informationen, bis sie zu einem vorbestimmten zeitlichen "Konsistenzpunkt" dem Langzeitspeicher übergeben werden.
  • Jeder beispielhafte Dateiserver enthält auch eine Failover-Überwacherfunktion. Diese erfasst einen Ausfall, eine Panik oder ein anderes Ereignis, das eine Übernahme eines ausfallenden Dateiservers durch einen Cluster-Partner erforderlich machen kann. Bei einer solchen Gelegenheit beginnt der Überwacher die Übernahmeroutine, wie weiter unten beschrieben wird.
  • Die Übernahme eines Dateiservers durch einen Cluster-Partner nutzt eine Kommunikationsverbindung, die zwischen den Dateiservern A und B (150) eingerichtet ist und mit einer Peer-to-Peer-(Partner-zu-Partner-)Kapazität über eine oder mehrere Kommunikationsverbindungen wie z. B. einen Cluster Interconnect (Cluster-Verbindung) 153 arbeitet. Der Cluster-Interconnect 153 kann jedes Kommunikationsmedium und -protokoll einschließlich eines Fibre Channel und einer Server Net Failover-Verbindung, die beide in der Branche allgemein bekannt sind, nutzen. <BR> <BR> <P> Es ist zu beachten, dass "Fibre Channel" im Rahmen der vorliegenden Beschreibung der allgemeine Name eines integrierten Satzes Standards ist, der für Geräte verwendet wird, um Daten zwischen allen Arten von Hardware in der Computer-Branche schnell zu übertragen. Die Dateiserver A und B haben jeweils eine herkömmliche graphische Benutzeroberfläche (Graphical User Interface, GUI) oder Befehlszeile (Command Line Interface, CLI) 152, die einem System-Operator (Bediener) eine manuelle Oberfläche zum Dateiserver-Cluster 100 bereitstellen.
  • 2 ist ein Blockdiagramm 200 eines beispielhaften Dateiservers (A oder B) 150, aufweisend einen Prozessor 202, Cluster-Interconnect 153, NVRAM 151, einen Speicher 204, einen Speicheradapter 206 und mindestens einen Netzwerkadapter 208, die durch einen Systembus 210 alle miteinander verbunden sind. Der Bus 210 kann ein herkömmlicher PCI-(Peripheral Computer Interconnect-)Bus oder ein anderer geeigneter interner Busstandard sein. Bei dieser Ausführungsform ist der Speicheradapter 206 über eine Fibre Channel-Verbindung mit den Platten 216 (D1-DN) verbunden. Der Dateiserver 150 enthält auch das im Speicher 204 gespeicherte bevorzugte Speicherbetriebssystem 230, das ein Dateisystem implementiert, um gespeicherte Informationen als eine hierarchische Struktur von Verzeichnissen und Dateien logisch zu organisieren. Platten im zugeordneten Datenträger sind typischerweise als ein oder mehrere RAID-Verbunde (Redundant Arrays of Inexpensive Disks) organisiert, um auf eine im Stand der Technik bekannte Weise vor einem durch einen Plattenausfall verursachten Datenverlust zu schützen. RAID-Verbunde können auch die Datenverfügbarkeit verbessern, indem sie einen Dateiserver befähigen, den Betrieb fortzusetzen, selbst wenn Platten ausfallen. Ein RAID-Verbund kann entweder vollständig in einem einzigen Gestell 160 (z. B. Gestell A oder B, wie gezeigt) eingeschlossen sein oder sich über mehrere Hardware-Komponenten einschließlich Gestelle erstrecken.
  • Der Speicheradapter 206 arbeitet mit dem Speicherbetriebssystem 230 zusammen, das auf dem Prozessor 202 ausgeführt wird, um auf von einem Client 110 angeforderte gespei cherte Informationen zuzugreifen, wobei die Informationen auf Festplatten 216 (D1-Dn) gespeichert sind. Der Speicheradapter 206 enthält eine Eingabe-/Ausgabe-(E/A-)Schnittstellenschaltung, die über eine E/A-Interconnect-Anordnung wie z. B. eine herkömmliche serielle Fibre Channel-Hochleistungs-Verbindungstopologie (nicht dargestellt) mit den Platten 216 koppelt. Der Speicheradapter 206 ruft die gespeicherten Informationen ab und sie werden erforderlichenfalls durch den Prozessor 202 (oder Speicheradapter 206 selbst) verarbeitet, bevor sie über den Systembus 210 zu einem Netzwerkadapter 208 weitergeleitet werden, wo die Informationen zu Paketen formatiert und über ein Netzwerk (nicht dargestellt) an einen Client 110 (in 2 nicht dargestell) zurückgegeben werden, der die Informationen anforderte.
  • Wie weiter unten erläutert wird, können eine oder mehrere der Platten auf dem beispielhaften Plattengestell 160 als "Ersatz"-Platten 250 bestimmt werden. Sie wird (werden) im System als Ersatz gekennzeichnet und steht (stehen) zur Verwendung bereit, wenn sie benötigt wird (werden).
  • Jeder Netzwerkadapter in 2 kann eine Netzwerk-Schnittstellenkarte (Network Interface Card, NIC) 208 aufweisen, die über die erforderliche mechanische, elektrische und Signalisierungsschaltung verfügt, um einen Dateiserver über die in 1 gezeigten physischen Kommunikationsverbindungen 130 mit einem Netzwerkknoten-Switch (nicht dargestellt) zu verbinden.
  • Speicherbetriebssystem
  • 3 ist ein Blockdiagramm eines beispielhaften Speicherbetriebssystems 300 zur Verwendung gemäß einer veranschaulichenden Ausführungsform dieser Erfindung. Das Speicherbetriebssystem 300 implementiert die spezialisierten Dateiserveroperationen des Speicherbetriebssystems Data ONTAPTM auf jedem Dateiserver. Das Speicherbetriebssystem weist eine Reihe Software-<BR> <BR> Schichte, n einschließlich einer Medienzugriffsschicht 302 von Netzwerktreibern (z. B. ein Ethernet-NIC-Treiber) auf, die mit Netzwerkadaptern 208 in 2 funktionieren. Das Speicherbetriebssystem 300 beinhaltet ferner Netzwerkprotokollschichten wie z. B. eine IP-Schicht 304 und ihre unterstützenden Transportmechanismen, eine Transport Control Protocol-(TCP-)Schicht 306 und eine User Datagram Protocol-(UDP-)Schicht 308. Eine Dateisystem-Protokollschicht beinhaltet Unterstützung für ein Common Interface File System-(CIFS-)Protokoll 310, ein Network File System-(NFS-)Protokoll 312 und ein Hypertext Transfer Protocol-(HTTP-)Protokoll 314.
  • Außerdem beinhaltet das Speicherbetriebssystem eine RAID-(logische Datenträgermanagement-)Schicht 316, die ein Plattenspeicherprotokoll wie z. B. das RAID-Protokoll implementiert, und eine Plattentreiberschicht 318, die ein Plattenzugriffsprotokoll wie z. B. ein Small Computer System Interface-(SCSI-)Protokoll implementiert. In der Plattenspeicherschicht 316 ist eine Platteninhaberschaftschicht 320 enthalten, die die Inhaberschaft der Platten bezüglich ihrer zugehörigen Dateiserver verwaltet. Eine Plattenmigrationsschicht 322 ist eine Untergruppe der Platteninhaberschaftschicht 320. Im Falle einer Übernahme nimmt der Cluster-Partner des Dateiservers die Inhaberschaft des Speichers logisch an. Um dies zu bewerkstelligen, setzt eine Failover-Überwacherschicht (340, unten beschrieben) seine Reservierung auf die Platten, die gerade übernommen werden.
  • Das Speicherbetriebssystem beinhaltet ebenfalls die Failover-Überwacherschicht oder -funktion 340, die die Failover-Erkennung und Initiierung der Übernahme durch den Cluster-Partner regelt. Eine Cluster Interconnect-Funktion 342 ist ebenfalls als Teil des Speicherstapels gezeigt. Eine Arbeitsspeicherabzugfunktion 350 interagiert mit der RAID-Schicht 316 und der Plattentreiberschicht 318, um die Übertragung des Arbeitsspeicherabzugs gemäß den Lehren dieser Erfindung zu erleichtern wie weiter unten beschrieben.
  • Eine Dateisystemschicht 324, die die Speicherung und den Abruf von Dateisystemdaten steuert, überbrückt die Platten-Softwareschichten mit den Netzwerk- und Dateisystemprotokollschichten. Diese beinhaltet einen Countdown-Timer (Rückwärtszähler) 336 (dessen Funktion unten detaillierter beschrieben ist), der verwendet wird, um eine Zeitspanne zeitlich festzulegen, in der ein ausgefallener Dateiserver seinen Arbeitsspeicherabzug schreiben muss. Um sicherzustellen, dass der Übernahme-Partnerdateiserver schließlich die vollständige Kontrolle über alle Platten hat, selbst im Falle, dass ein Arbeitsspeicherabzugversuch auf unbestimmte Zeit einfriert, ist eine Frist (bei einer Ausführungsform ungefähr eine bis zwei Minuten) für den Abschluss des Arbeitsspeicherabzugs festgesetzt. Wird der Arbeitsspeicherabzug nicht innerhalb dieser Frist abgeschlossen, versucht der Übernahmepartner, den Arbeitsspeicherabzug abzubrechen und dann die Kontrolle über die Arbeitsspeicherabzugplatte zu übernehmen.
  • Es ist zu beachten, dass bei einer alternativen Ausführungsform der Dateiserver als ein Multiprotokoll-Speichergerät implementiert sein kann und das residente Speicherbetriebssystem als ein Virtualisierungssystem mit Virtualisierungsmodulen implementiert sein kann, die als ein virtuelles Platten-("vdisk"-)Modul und ein SCSI-Zielmodul (nicht gezeigt) verkörpert sind. Das vdisk-Modul ist als Schicht auf dem Dateisystem 324 ausgelegt, um den Zugriff durch administrative Schnittstellen wie z. B. eine optimierte Benutzeroberfläche (User Interface, UI) als Reaktion auf einen Systemadministrator, der Befeh le an das Multiprotokoll-Speichergerät ausgibt, zu ermöglichen. Im Wesentlichen handhabt das vdisk-Modul SAN-Deployments (Bereitstellungen) u. A. durch Implementierung eines umfassenden Satzes vdisk-(lun-)Befehle, die von einem Systemadministrator durch die UI ausgegeben werden. Diese vdisk-Befehle werden in primitive Dateisystemoperationen ("Primitive") umgewandelt, die mit dem Dateisystem 324 und dem SCSI-Zielmodul interagieren, um die vdisks zu implementieren. Im Allgemeinen implementiert die Dateisystemschicht 324 das Dateisystem, das eine blockbasierte Plattendateiformat-Darstellung hat. Das Dateisystem generiert Operationen zum Laden/Abrufen der angeforderten Daten von Datenträgern, falls sie nicht resident "im Arbeitsspeicher", d. h. im Speicher des Dateiservers sind. Befinden sich die Informationen nicht im Speicher, indiziert die Dateisystemschicht mittels der Inode-Nummer in die Inode-Datei hinein, um auf einen entsprechenden Eintrag zuzugreifen und eine logische Blocknummer abzurufen. Die Dateisystemschicht übergibt dann die logische Datenträger-Blocknummer dem Plattenspeicher/der RAID-Schicht, welcher bzw. welche die logische Nummer auf eine Plattenblocknummer abbildet und Letztere an einen entsprechenden Treiber einer Plattentreiberschicht sendet. Der Plattentreiber greift auf die Plattenblocknummer von Datenträgern zu und lädt die angeforderten Daten zur Verarbeitung durch den Dateiserver in den Speicher. Nach Beendigung der Anforderung geben der Dateiserver und das Speicherbetriebssystem über das Netzwerk eine Antwort, z. B. ein durch die CIFS-Spezifikation definiertes herkömmliches Bestätigungspaket, an den Client zurück. Es ist zu beachten, dass der Software-"Weg" durch die oben beschriebenen Speicherbetriebssystemschichten, der erforderlich ist, um den Datenspeicherzugriff für die am Dateiserver empfangene Client-Anforderung auszuführen, letzten Endes in Hardware, Software oder einer Kombination von Hardware und Software (z. B. Firmware) implementiert sein kann. Dieses Multiprotokoll-Speichergerät-Anordnung ist in der US 7,107,385 mit dem Titel STORAGE VIRTUALIZATION BY LAYERING VIRTUAL DISK OBJECTS ON A FILE SYSTEM detaillierter beschrieben.
  • Bei einer weiteren alternativen Ausführungsform der Erfindung können einige durch das Speicherbetriebssystem ausgeführte Funktionen als Logikschaltung implementiert sein, die in einem Field Programmable Gate Array (FPGA, vom Anwender programmierbarer Logikbaustein) oder einer anwendungsspezifischen integrierten Schaltung (ASIC) verkörpert ist. Diese Art von Hardware-Implementierungen erhöht die Leistung des Dateidienstes, der als Reaktion auf eine von einem Client 110 ausgegebene Dateisystemanforderung durch einen Dateiserver bereitgestellt wird. Außerdem können bei einer anderen alternativen Ausführungsform der Erfindung die Verarbeitungselemente von Netzwerk- und Speicheradaptern so konfiguriert sein, dass sie einige oder alle der Paketverarbeitungs- bzw. Speicherzugriffsoperationen vom Prozessor abladen, um dadurch die Leistung des durch den Dateiserver bereitgestellten Dateidienstes zu erhöhen.
  • Plattenzonen
  • Jede Platte enthält eine Zone für Kopfinformationen in einer standardisierten Sektorposition, die dem Speicherbetriebssystem bekannt ist. Verschiedene Einträge bezüglich der Platte werden an festen Offsets (Versätzen) innerhalb dieser bekannten Zone bereitgestellt. Wie in 4 dargestellt ist, ist eine beispielhafte Platte (D1-Dn) gemäß ihrer Speicherzonen eingeteilt. Die RAID-Schicht implementiert diese Einteilung 400 im Allgemeinen als ein Platten-Inhaltsverzeichnis (Platten-TOC).
  • Die Bootblock-Zone 402 ist z. B. im ersten 1 KB-Block enthalten und zum Speichern von Informationen, wie eine Kernzone 404 auf dieser Platte verwendet werden soll, z. B. ob in der Kernzone ein gültiger Kern vorhanden ist, reserviert. Eine Zone 403 enthält das Platten-TOC (Inhaltsverzeichnis). Das TOC befindet sich an einem festen Offset bezüglich des Anfangs der Platte, so dass es leicht lokalisiert werden kann. Innerhalb der TOC-Struktur ist die Position der Arbeitsspeicherabzugdaten vorgesehen, die Informationen über die Existenz eines Arbeitsspeicherabzugs innerhalb der Platte enthalten. Ferner sind in Plattenetikettenzonen (420 und 421, weiter unten beschrieben) Informationen gespeichert, die angeben, ob die Platte eine Ersatzplatte ist oder für normalen Dateidienst verwendet wird. Ist Letzteres der Fall (normaler Dateidienst), existieren zusätzliche Informationen, die den RAID-Verbund, Plex, Spiegel und Datenträger angeben, die der Platte zugeordnet sind. Die TOC-Zone 403 kann auch wesentliche Informationen über die Platte enthalten, die von den bestimmten Versionen des Speicherbetriebssystems benötigt werden, einschließlich eines Kennzeichens (flag), das anzeigt, ob die Platte für normale Dateidienste verwendet wird, und die physische Größe der Platte angibt.
  • Die Kernzone 404 besetzt typischerweise den nächsten Bereich auf der Platte, und in einem Beispiel besetzt sie ca. 20 MB Speicher. Diese Kernzone stellt den Bereich zum Speichern entsprechender Abschnitte des Speicherbetriebssystemkerns bereit. Gemäß dieser Ausführungsform ist ein Failover-Sektor bereitgestellt und unten beschrieben.
  • Die Platte enthält auch Platteninhaberschaftszonen 406, die sich über drei Blöcke erstrecken und Informationen bezüglich der Platteninhaberschaft nach Datenträgern und Dateiservern und (eine veranschaulichende Ausführungsform) nach jeweiligen Speichernetzwerken (Storage Area Networks, SANs) liefern.
  • Den Inhaberschaftszonen 406 folgt eine Dateisystemzone 408, die von der Dateisystemschicht zum Speichern von Dateisystemdaten (z. B. Daten bezüglich Dateien und Verzeichnissen) verwendet wird. Die Dateisystemzone erstreckt sich beinahe bis zum physischen Ende der verwendbaren Speichersektoren der Platte.
  • Es ist zu beachten, dass sich eine Bootblockzone, die TOC-Zone 403, die Kernzone 404, die Inhaberschaftszone 406 und die Dateisystemzone 408 immer an einem festen Offset bezüglich des physischen Anfangs der Platte befinden, um leicht und zuverlässig lokalisierbar zu sein.
  • Der Dateisystemzone 408 folgt eine Arbeitsspeicherzone 410. Diese Zone ist aus überschüssigem freiem Platz am physischen Ende der Platte gebildet. Ihre Größe ist gemäß der vorliegenden Ausführungsform wegen des Vorhandenseins beispielhafter Zonen, die unten zu beschreiben sind, beschränkt. Die Arbeitsspeicherzone 410 enthält einen Kopf 412, der eine magische Zahl 413 hat. Die magische Zahl ist in den ersten paar Bytes des Kopfs gespeichert, wo sie vom ausgefallenen und dem verwendeten Übernahmepartner-Dateiserver leicht lokalisiert und abgetastet wird. Diese magische Zahl ist im Wesentlichen ein Arbeitsspeicherabzugsattribut, das zusammen mit anderen Statusdaten angibt, ob ein Arbeitsspeicherabzug vorhanden ist oder nicht. Das Attribut könnte z. B. (siehe auch unten) die Werte "kein Arbeitsspeicherabzug", "Arbeitsspeicherabzug im Gange" oder "Arbeitsspeicherabzug vollständig" annehmen. Durch Abtasten dieses Attributs kann daher ein Partnerdateiserver bestimmen, ob er eine Übernahme einer bestimmen Platte einleiten kann, indem er ihren Arbeitsspeicherabzugstatus prüft und dann Reservierungen auf inaktive Platten setzt.
  • Eine verbleibende Zone 414 der Arbeitsspeicherzone 410 wird zum Speichern eines Abschnitts des Arbeitsspeicherabzugs gemäß der vorherigen Implementierung verwendet. Diese Zone 414 ist jedoch zum Speichern des gesamten Arbeitsspeicherabzugs größenmäßig ungenügend. Eine größere Zone ist bereitgestellt, wie unten beschrieben, dennoch verbleiben der Kopf 412 und die Informationen der magischen Zahl am Platz, damit sie durch das Betriebssystem leicht lokalisiert werden können.
  • Bei der beispielhaften Ausführungsform sind nach der Arbeitsspeicherzone 410 zusätzliche Zonen bereitgestellt. Wie oben allgemein erwähnt, sind die Zone (420) für das Plattenetikett 1 und die Zone (421) für das Etikett 2 bereitgestellt. Um die Möglichkeit zu verringern, dass beide Etiketten durch ein Plattenkorrumpierungsereignis zerstört werden, sind die Etikettzonen (420 und 421) beabstandet angeordnet. In diesem Beispiel ist nach der Zone (420) für Etikett 1 eine 1 MB große Zone 422 zur Verwendung durch das RAID-System reserviert. Außerdem ist nach der RAID-Zone 422 eine Failover-Überwacherzone 424 zur Verwendung in Verbindung mit den verschiedenen Funktionen der Failover-Überwacher des Dateiservers und seiner Cluster-Partner bereitgestellt. Im Falle eines Paars geclusterter Dateiserver wird in dieser Zone 424 für jeden Dateiserver 1 MB bereitgestellt (dadurch insgesamt 2 MB). Ferner ist nach der Failover-Überwacherzone 424 eine beispielhafte SAN-Zone 426 bereitgestellt. Diese Zone wird im Allgemeinen in Zusammenhang mit SAN-Funktionen verwendet und ist hierin nicht weiter beschrieben.
  • Es ist zu beachten, dass die Zonen am Ende der Platte, die der Arbeitsspeicherzone 410 folgen, auch an einem festen Offset bezüglich des physischen Endes der Platte angeordnet sind. Obwohl im Allgemeinen ein bestimmtes Layout für Plattenzonen dargestellt und beschrieben ist, ist dies nur ein einziges veranschaulichendes Beispiel, und es können verschiedene Layouts mit verschiedenen Zonenarten bereitgestellt sein. Einige Zonen können sich an festen Offsets befinden, wogegen andere variabel sind und (z. B.) Zeiger zur Datenindizierung verwenden. Außerdem können die Art und der Informationsgehalt der auf der Platte bereitgestellten Zonen variiert werden. Bei alternativen Ausführungsformen können spezialisierte/diskrete Zonen für spezielle Informationsarten bereitgestellt sein. Ähnlich können bestimmte Platteninformationen in anderen Zonen enthalten sein als in denjenigen, in denen solche Informationen in diesem Beispiel enthalten sind. Im Allgemeinen sollte die Platte eine Einteilung von Zonen bereitstellen, die (unter anderen Zielen) zu einer vorhersagbaren Identifizierung von Inhalten, der Existenz von Arbeitsspeicherabzugdaten und des Status solcher Daten führt.
  • Arbeitsspeicherabzugplatte
  • Die beispielhafte Ausführungsform sieht insbesondere vor, dass eine Ersatzplatte (oder eine andere kostengünstige Spezialplatte wie z. B. eine herkömmliche ATA-/IDE-Platte) zum Speichern des gesamten Inhalts des Arbeitsspeicherabzugs verwendet wird. Indem der Arbeitsspeicherabzug einer einzelnen Ersatzplatte oder Spezialplatte zugeordnet wird, können alle anderen Platten, die der ausgefallene Dateiserver (aktive Dateidienstplatten und andere Ersatzplatten) innehat, am Übernahmeprozess teilnehmen, während der Arbeitsspeicherabzug parallel (z. B. gleichzeitig) vor sich geht. Die Ersatzplatte ist im Allgemeinen gemäß 4 eingeteilt, wie beschrieben. Die Arbeitsspeicherzone 410 wird jedoch nunmehr hauptsächlich zum Speichern der magischen Zahl 413 bezüglich des Arbeitsspeicherstatus und der Kopfinformationen 412, die in die Dateisystemzone 408 zeigen, verwendet. Die Dateisystemzone auf der Ersatzplatte ist nunmehr die angegebene Speicherzone für den Arbeitsspeicherabzug. Folglich enthält dieser Bereich ausreichend Speicher für einen großen Arbeitsspeicherabzug auf einer einzigen Platte. Auf diese Weise kann die Ersatzplatte oder andere angegebenen Platte zum Empfangen des Arbeitsspeicherabzugs eingesetzt werden, während andere Platten an der Übernahme teilnehmen, wodurch beträchtliche Zeit bei der Vollendung der Übernahme eingespart wird. Tatsächlich kann der Arbeitsspeicherabzug gemäß dem unten beschriebenen Arbeitsspeicherabzugverfahren auf dem ausgefallenen Dateiserver weiterhin mit seinem eigenen Tempo vonstatten gehen, nachdem die Übernahme aller anderen Platten durch den Cluster-Partner abgeschlossen wurde.
  • Arbeitsspeicherabzugverfahren
  • 5 ist ein beispielhaftes Flussdiagramm eines Verfahrens 500, welchem sich zwei Dateiserver (A und B) in einer Cluster-Umgebung unterziehen, um für die Übernahme parallel zu einem Arbeitsspeicherabzugprozess zu sorgen. Dem Fachmann ist klar, dass einige Schritte aus der Reihenfolge genommen werden können, und dass andere Zwischenschritte, die hierin nicht beschrieben sind, ausgeführt werden können, ohne vom Geist der Erfindung abzuweichen.
  • In den Schritten 502 und 503 arbeitet jeder der zwei Dateiserver (A bzw. B) normal (z. B. normaler Dateidienst nicht in einem Panikzustand) und überwacht seinen eigenen Betriebsstatus, um ein Problem in seinem Betrieb zu erkennen. Sobald der Dateiserver A (in diesem Beispiel der "ausgefallene Dateiserver") einen Ausfall oder eine Panik erkennt, auszufallen beginnt (Schritt 504) und bestätigt, dass der Partner B für ihn übernehmen kann, lokalisiert er eine einzelne Platte (entweder eine angegebene, typischerweise kostengünstige Platte oder eine Ersatzplatte), um seinen gesamten Speicher als einen Arbeitsspeicherabzug auf sie zu schreiben. Eine Technik zum Lokalisieren und Auswählen einer Ersatzplatte, die im Falle eines Arbeitsspeicherabzugs verwendet werden soll, ist in der US 2005/0177764 A1 mit dem Titel SYSTEM AND METHOD OF SELECTION AND COMMUNICATION OF A DISK FOR STORAGE OF A COREDUMP detailliert beschrieben. Hinsichtlich der Beschreibung eines beispielhaften Auswahlverfahrens wird der Leser insbesondere auf 6 dieser Referenz verwiesen. Für die Zwecke dieser Beschreibung kann jede annehmbare Platte gewählt werden, die nicht anderweitig bei regulären Dateidiensten verwendet wird, d. h. eine Platte, die erforderlich wäre, um den vollständigen Dateidienst vom ausgefallenen Dateiserver ordnungsgemäß an den Partnerdateiserver zu übergeben. Ein solcher "Dateidienst" beinhaltet im Allgemeinen die Handhabung und Speicherung von Daten, die mit Clients verbunden sind oder von ihnen angefordert werden oder die anderweitig zum Betrieb des Netzwerkes (z. B. SAN), mit dem der Cluster verbunden ist, benötigt werden. Deshalb ist eine dem ausgefallenen Dateiser ver zugeordnete Ersatzplatte eine gute Wahl für die Arbeitsspeicherabzugplatte, da sie nicht aktuell am Dateidienst oder an Netzwerkoperationen beteiligt ist.
  • In Schritt 506 teilt der Dateiserver A über den Cluster-Interconnect dem Dateiserver B mit, dass er einen Arbeitsspeicherabzug durchführt, und der Dateiserver A ändert eine angegebene Arbeitsspeicherabzug-Attributzone (in 4 die magische Zahl 413) auf der angegebenen Arbeitsspeicherabzugplatte, um anzuzeigen, dass die einzelne Ersatzplatte (oder anderweitig angegebenen Platte) den Arbeitsspeicherabzug erhält. In Schritt 508 schreibt der Dateiserver A seinen Speicher in die angegebene Dateisystemzone der gewählten Arbeitsspeicherabzugplatte. Gleichzeitig mit (parallel zu) dem Schreiben des Speichers des ausgefallenen Dateiservers A nach der gewählten Platte setzt der Dateiserver B ("Partnerdateiserver") in Schritt 509 eine Aktivierungsintervall für den Dateiserver A fest. Dieses ist eine Bezugsgröße, nach deren Zeit die Arbeitsspeicherabzugplatte ungeachtet der Fertigstellung des Arbeitsspeicherabzugs reserviert wird. Der Dateiserver B identifiziert (in Schritt 509) die Arbeitsspeicherabzugplatte des Dateiservers A und setzt eine Reservierung (z. B. eine SCSI-Reservierung) auf alle Platten des Dateiservers A mit Ausnahme der Arbeitsspeicherabzugplatte. Die Identifizierung der Arbeitsspeicherabzugplatte kann (in einer beispielhaften Ausführungsform) mittels des Verfahrens erfolgen, das in 7 im oben erwähnten SYSTEM AND METHOD OF SELECTION AND COMMUNICATION OF A DISK FOR STORAGE OF A CORE-DUMP dargestellt ist. Das heißt, der Dateiserver B prüft die Etiketten aller Platten, die Dateiserver A innehat, um zu bestimmen, welche Ersatzplatten sind, die zum Schreiben eines Arbeitsspeicherabzugs gerade von Dateiserver A verwendet werden können. Ferner prüft der Dateiserver B die magische Arbeitsspeicherzahl 413 in der Arbeitsspeicherzone dieser Ersatzplatten, um zu bestimmen, welche so gekennzeichnet sind, dass sie anzeigen, dass sie eine Arbeitsspeicherabzugplatte sein können. Nachdem die magische Arbeitsspeicherzahl auf allen Ersatzplatten des Dateiservers A untersucht worden ist, bestimmt der Dateiserver B schließlich, auf welche dieser Ersatzplatten der Dateiserver A aktiv einen Arbeitsspeicherabzug schreibt.
  • Wenn der Dateiserver B anhand der obigen Schritte eine Ersatzplatte identifiziert, auf die der Dateiserver A gerade einen Arbeitsspeicherabzug schreibt, unterlässt es der Dateiserver B, eine Reservierung auf diese Platte zu setzen. Zu dieser Zeit gilt der Partnerdateiserver B als Inhaber aller reservierten Platten (Schritt 511). Folglich umgeht der Dateiserver B diese Arbeitsspeicherabzugplatte bei seiner Übernahme und erlaubt weiterhin den Zugriff durch den ausgefallenen Dateiserver A für einen Arbeitsspeicherabzug. Während die Übernahme der Platten des Dateiservers A durch den Dateiserver B vollendet wird, stellt der Dateiserver B den Dateisystemdienst anhand Daten von Platten des Dateiservers A wieder her, sobald dies durchführbar ist (Schritt 510).
  • Wie oben erwähnt, wird ein Wakeup-Timer (Wecker) aktiviert, wenn dem Dateiserver B der Ausfall mitgeteilt wird (Schritt 509). Der Timer (336 in 3) wird so eingestellt, dass selbst bei Vorfinden eines Arbeitsspeicherabzugausfalls die Arbeitsspeicherabzugplatte schließlich durch den Dateiserver B reserviert wird, wie alle anderen Nichtarbeitsspeicherabzugplatten, welche bereits einer Übernahme unterzogen worden sind. Der Dateiserver B wartet (Schritt 512), bis die Frist abgelaufen (Entscheidungsschritt 514) oder der Arbeitsspeicherabzug abgeschlossen ist (Schritt 518). Zu dieser Zeit tritt das Verfahren im Dateiserver B in Aktion, um die Arbeitsspeicherabzugplatte zu reservieren (Schritt 516). Ist der Arbeitsspeicherabzug nicht innerhalb der Frist vollendet, wird das Verfahren abgebrochen. Zwei Schritte werden unternommen, um den Arbeitsspeicherabzug abzubrechen. Der erste erfolgt über eine Kommunikation zwischen dem Dateiserver A und dem Dateiserver B. Der Dateiserver B schreibt ein Abbruchkennzeichen in die Arbeitsspeicherzone der Arbeitsspeicherabzugplatte und weist den Dateiserver A dabei an, den Abzug des Arbeitsspeichers zu stoppen. Dann reserviert der Dateiserver B die Arbeitsspeicherabzugplatte. Die Reservierung wirkt so, dass die gesamte E/A vom Dateiserver A zur Arbeitsspeicherabzugplatte gestoppt wird, was sicherstellt, dass der Arbeitsspeicherabzug beendet wurde. Ein Kennzeichen in der Arbeitsspeicherzone der Arbeitsspeicherabzugplatte wird gesetzt (Schritt 518), falls der Dateiserver A den Arbeitsspeicherabzug vollendet oder als Folge der Anforderung durch den Dateiserver B abgebrochen hat.
  • Das Verfahren "savecore" (Arbeitsspeichern sichern) von Dateiserver B prüft (Entscheidungsschritt 520) das Kennzeichen, um zu bestimmen, ob der Arbeitsspeicherabzug in der nicht reservierten Arbeitsspeicherabzugplatte vollendet oder abgebrochen wurde.
  • Gemäß Schritt 522 greift der Partnerdateiserver B dann auf die Arbeitsspeicherabzugplatte zu, um eine Arbeitsspeicherabzugdatei oder andere geeignete Datenorganisation des Arbeitsspeicherinhalts zu erzeugen. Dieser Prozess wird durch einen "savecore"-Prozess gelenkt, der Teil des Arbeitsspeicherabzug-Dienstprogramms (350 in 3) auf dem Speicherbetriebssystem 300 von Dateiserver B ist. Die Arbeitsspeicherabzugdatei kann verschiedene Diagnosehilfen wie z. B. Lesezeichen, Indizes und dgl. enthalten, oder sie kann nur aus Rohdaten vom Speicher des ausgefallenen Dateiservers bestehen. Während eine Arbeitsspeicherabzugdatei erstellt wird, wird gemäß einer veranschaulichenden Ausführungsform jeder Zugriff auf die Arbeitsspeicherabzugplatte zwecks einer RAID-Rekonstruktion verhindert (da normalerweise eine Ersatzplatte für solche Rekonstrukti onszwecke zur Verfügung steht). Sobald die Arbeitsspeicherabzugdatei erstellt ist, wird sie anschließend in das Hauptinhaltsverzeichnis des Dateisystems von Dateiserver A geschrieben. Das Hauptinhaltsverzeichnis-Dateisystem für den ausgefallenen Dateiserver A befindet sich im Allgemeinen auf den übernommenen (Nichtarbeitsspeicherabzug-)Platten, auf die nunmehr durch den Partnerdateiserver B frei zugegriffen wird, als ob er der Dateiserver A selbst wäre.
  • Während dieser gesamten Zeit ist der Zugriff auf den Dateiserver B durch Clients aufrechterhalten worden. Gemäß der Übernahme bei Schritt 510 haben Clients bereits Zugriff auf die allgemeinen Daten von Dateiserver A erhalten, ohne die unangemessene Verzögerung, die ein Arbeitsspeicherabzug sonst mit sich bringen würde.
  • Wie oben erwähnt enthält die Arbeitsspeicherabzugplatte ein den Status des Arbeitsspeicherabzugs anzeigendes Kennzeichen, das schließlich von Dateiserver B gelesen wird. Dieses Attribut kann entweder einen Arbeitsspeicherabzugzustand anzeigen, in dem ein Arbeitsspeicherabzug aktiv, vollendet und/oder im Gange ist, z. B. <BR> <BR> "Arbeitsspeicherabzug im Gange" oder "Arbeitsspeicherabzug vollendet". Umgekehrt kann das Attribut einen Nicht-Arbeitsspeicherabzugzustand anzeigen, in dem ein Arbeitsspeicherabzug nicht vorhanden/nicht aktiv ist oder vor der Vollendung abgebrochen <BR> <BR> worden ist, z. B. "kein Arbeitsspeicherabzug" oder "abgebrochener Arbeitsspeicherabzug". Es wird ins Auge gefasst, dass die Verwendung eines bestimmten Attributs "abgebrochener Arbeitsspeicherabzug" statt eines einfachen "kein Arbeitsspeicherabzug" bei bestimmten Ausführungsformen Diagnoseinformationen bereitstellen kann. Ferner kann bei alternativen Ausführungsformen ein teilweise geschriebener Arbeitsspeicherabzug als eine Datei auf eine ähnliche Weise wie ein vollständiger Arbeitsspeicherabzug bewahrt werden. Sobald der Dateiserver B die Arbeitsspeicherabzugdatei geschrieben hat, wird dieses Attribut auf "kein Arbeitsspeicherabzug" ummarkiert, so dass die Ersatzplatte als eine "Hot-Spare"-Platte verfügbar gemacht werden kann (Schritt 524).
  • Es sei ausdrücklich darauf aufmerksam gemacht, dass die Verwendung einer einzigen Platte zur Ausführung eines Verfahrens vom Typ des Arbeitsspeicherabzugs im Falle eines Systemausfalls nicht nur auf einer Cluster-Ebene implementiert werden muss. Die hierin beschriebenen Prinzipien können vielmehr in einer SAN- oder anderen vernetzten Speicherumgebung angewendet werden, wo eine einzige Platte zur Bewahrung durch das ausgefallene, innehabende System gewählt und zum Abziehen des Systemspeichers verwendet wird, wohingegen anderen in eigener Inhaberschaft befindlichen Platten eine unverzügliche Übernahme durch ein nicht ausgefallenes Element der vernetzten Umgebung gestattet wird.
  • In bestimmten Fällen kann die Arbeitsspeicherabzugplatte für normale Speicheroperationen sofort benötigt werden und muss daher vor der Vollendung des Arbeitsspeicherabzugs oder der Erstellung der Arbeitsspeicherabzugdatei in den verfügbaren Ersatzplatten-Pool verschoben werden. Ergibt sich für die normalen Dateidienste ein Bedarf an der Arbeitsspeicherabzugplatte, kann die Arbeitsspeicherabzugplatte einfach durch den Übernahme-Partnerdateiserver B reserviert werden, da dies einen weiteren Arbeitsspeicherabzug durch den ausgefallenen Dateiserver A wirksam abbricht. Er ist nicht mehr Inhaber der Platte. Alternativ kann eine besondere "Kill"-Signatur nach der magischen Arbeitsspeicherzahl 413 im Zonenkopf 412 auf der Arbeitsspeicherabzugplatte geschrieben werden. Die Arbeitsspeicherabzugfunktion im ausgefallenen Dateiserver A führt eine Abtastung auf dieses Attribut durch und falls es vorgefunden wird, beendet sie den Arbeitsspeicherabzug.
  • Vorstehend wurde eine detaillierte Beschreibung einer beispielhaften Ausführungsform der Erfindung. Verschiedene Modifikationen und Hinzufügungen können vorgenommen werden, ohne vom Geist und Gültigkeitsbereich der Erfindung abzuweichen. Obwohl z. B. hierin Dateien und Verzeichnisse angegeben sind, können die Daten um verschiedene Datenstrukturen organisiert sein und die <BR> <BR> Begriffe "Datei", "Dateisystem", "Verzeichnis" und dgl. sind im weiten Sinne als <BR> verschiedene "Datenstrukturen", "Sätze Daten" oder "Datenorganisationen" beinhaltend zu verstehen. Obwohl die RAID-Schicht 316 eine RAID-Organisation nutzt, wird gleichermaßen erwogen, verschiedene Speicheranordnungen zu verwenden. Entsprechend können die Prinzipien dieser Erfindung auf verschiedene Speichergeräte oder -medien einschließlich elektrooptische, festkörperbasierte, magnetische und dgl. angewendet werden, obwohl die hierin beschriebenen Speichergeräte Platten sind. Obwohl eine einzige Platte als eine Arbeitsspeicherabzugplatte verwendet ist, kann es ferner alternative Ausführungsformen geben, bei denen mehrere Arbeitsspeicherabzugplatten oder "Speichergeräte" verwendet werden, um einen Arbeitsspeicherabzug zu speichern. Der ausgefallene Dateiserver würde die Inhaberschaft etwaiger solcher Arbeitsspeicherabzugplatten auf eine hierein allgemein beschriebene Weise beibehalten, während er anderen Platten gestatten würde, übernommen zu werden. Schließlich versteht es sich, dass jedes und alle der hierin beschriebenen Prinzipien als Hardware, Software, die aus einem computerlesbaren Medium besteht, welches Programmanweisungen auf einem Computer ausführt, oder eine Kombination von Hardware und Software implementiert sein kann. Demgemäß ist diese Beschreibung nur als Beispiel und nicht als den Gültigkeitsbereich dieser Erfindung anderweitig einschränkend auszulegen.

Claims (17)

  1. Speichersystem, das einen ersten Server (150) enthält, der miteinander verbundene erste Speichergeräte (160) hat, und einen zweiten Server (150), der miteinander verbundene zweite Speichergeräte (160) hat, wobei der erste Server (150) und der zweite Server (150) durch eine Cluster-Verbindung (153) miteinander verbunden sind, so dass der zweite Server (150) bei einem Ausfall des ersten Servers (150) die Inhaberschaft der ersten Speichergeräte (160) übernehmen kann, wobei das Speichersystem aufweist: – eine Arbeitsspeicherabzugfunktion, die a) den ersten Server (150) veranlasst, seinen Speicherinhalt nach einem Arbeitsspeicherabzug-Speichergerät zu schreiben, das aus den ersten Speichergeräten (160) als Antwort auf einen erfassten Ausfall des ersten Servers (150) gewählt wird, wobei jedes der ersten Speichergeräte (160) ein Arbeitsspeicherabzugattribut enthält; b) veranlasst, dass das Attribut des Arbeitsspeicherabzuggeräts auf einen Arbeitsspeicherabzugzustand eingestellt wird, und das Arbeitsspeicherabzugattribut des anderen Speichergeräts der ersten Speichergeräte (160) auf den Arbeitsspeicher-Nichtabzugzustand eingestellt wird; und – eine Übernahmefunktion, die a) jedes der ersten Speichergeräte (160), bei dem das Arbeitsspeicherabzugattribut auf den Arbeitsspeicher-Nichtabzugzustand eingestellt ist, identifiziert; b) jedes der zweiten Geräte (160), bei denen das Arbeitsspeicherabzugattribut auf den Arbeitsspeicher-Nichtabzugzustand eingestellt ist, von der Inhaberschaft durch den ersten Server (150) auf die Inhaberschaft durch den zweiten Server (150) ändert, so dass die Übernahme der Inhaberschaft parallel mit dem Schreiben des Speicherinhalts nach dem Arbeitsspeicherabzug-Speichergerät erfolgen kann.
  2. Speichersystem nach Anspruch 1, bei dem die Übernahmefunktion so eingerichtet ist, dass sie veranlasst, dass der zweite Server (150) veranlasst wird, die Inhaberschaft des Arbeitsspeicherabzug-Speichergeräts entweder nach Ablauf eines vorgegebenen Zeitlimits oder nach Beendigung des Schreibens des Speichers nach dem Arbeitsspeicherabzug-Speichergerät logisch anzunehmen, je nachdem, welches Ereignis früher stattfindet.
  3. Speichersystem nach Anspruch 1 oder 2, bei dem die Übernahmefunktion so eingerichtet ist, dass sie veranlasst, dass das Arbeitsspeicherabzugattribut des Arbeitsspeicherabzug-Speichergeräts entweder nach Ablauf des vorgegebenen Zeitlimits oder nach Beendigung des Schreibens des Speichers nach dem Arbeitsspeicherabzug-Speichergerät auf den Arbeitsspeicher-Nichtabzugzustand geändert wird.
  4. Speichersystem nach Anspruch 3, bei dem der Arbeitsspeicher-Nichtabzugzustand je einen abgebrochenen Zustand, einen abgeschlossenen Zustand und einen inaktiven Zustand aufweist.
  5. Speichersystem nach einem der vorigen Ansprüche, bei dem die ersten Speichergeräte (160) jeweils eine Aktivität Plattenlaufwerk mit Dateidienst belegt aufweisen und das Arbeitsspeicherabzug-Speichergerät eine Ersatzplatte aufweist, die frei ist von der Dateidienstaktivität.
  6. Computerlesbares Medium in einem Speichersystem, das einen ersten Server (150) enthält, der miteinander verbundene erste Speichergeräte (160) hat, und einen zweiten Server (150), der miteinander verbundene zweite Speichergeräte (160) hat, wobei der erste Server (150) und der zweite Server (150) durch eine Cluster-Verbindung (153) miteinander verbunden sind, so dass der zweite Server (150) bei einem Ausfall des ersten Servers (150) die Inhaberschaft der ersten Speichergeräte (160) übernehmen kann, wobei das computerlesbare Medium Programmbefehle enthält, die bei Ausführung auf einem Computer die Schritte ausführen: – Schreiben des Speicherinhalts des ersten Servers durch den ersten Server (150) nach einem Arbeitsspeicherabzug-Speichergerät, das aus den ersten Speichergeräten (160) als Antwort auf einen erfassten Ausfall des ersten Servers (150) gewählt wird, wobei jedes der ersten Speichergeräte (160) ein Arbeitsspeicherabzugattribut enthält; – Einstellen des Attributs des Arbeitsspeicherabzuggeräts, das auf einen Arbeitsspeicherabzugzustand einzustellen ist, und des Arbeitsspeicherabzugattributs des anderen Speichergeräts der ersten Speichergeräte (160), das auf den Arbeitsspeicher-Nichtabzugzustand einzustellen ist; und – Identifizieren jedes der ersten Speichergeräte (160), bei dem das Arbeitsspeicherabzugattribut auf den Arbeitsspeicher-Nichtabzugzustand eingestellt ist; und – Ändern jedes der zweiten Geräte, bei denen das Arbeitsspeicherabzugattribut auf den Arbeitsspeicher-Nichtabzugzustand eingestellt ist, von der Inhaberschaft durch den ersten Server (150) auf die Inhaberschaft durch den zweiten Server (150), so dass die Übernahme der Inhaberschaft parallel mit dem Schreiben des Speicherinhalts nach dem Arbeitsspeicherabzug-Speichergerät erfolgen kann.
  7. Computerlesbares Medium nach Anspruch 6, ferner den Schritt aufweisend, in dem der zweiter Server (150) veranlasst wird, die Inhaberschaft des Arbeitsspeicherabzug-Speichergeräts entweder nach Ablauf eines vorgegebenen Zeitlimits oder nach Beendigung des Schreibens des Speichers nach dem Arbeitsspeicherabzug-Speichergerät logisch anzunehmen, je nachdem, welches Ereignis früher stattfindet.
  8. Computerlesbares Medium nach Anspruch 6 oder 7, ferner den Schritt aufweisend, in dem das Arbeitsspeicherabzugattribut des Arbeitsspeicherabzug-Speichergeräts veranlasst wird, entweder nach Ablauf des vorgegebenen Zeitlimits oder nach Beendigung des Schreibens des Speichers nach dem Arbeitsspeicherabzug-Speichergerät auf den Arbeitsspeicher-Nichtabzugzustand geändert zu werden
  9. Computerlesbares Medium nach Anspruch 8, bei dem der Arbeitsspeicher-Nichtabzugzustand je einen abgebrochenen Zustand, einen abgeschlossenen Zustand und einen inaktiven Zustand aufweist.
  10. Computerlesbares Medium nach Anspruch 9, bei dem die ersten Speichergeräte (160) jeweils eine Aktivität Plattenlaufwerk mit Dateidienst belegt aufweisen und das Arbeitsspeicherabzug-Speichergerät eine Ersatzplatte aufweist, die frei ist von der Dateidienstaktivität.
  11. Computerlesbares Medium nach mindestens einem der Ansprüche 6 bis 10, bei dem jedes der ersten Speichergeräte (160) eine Arbeitsspeicherabzug-Informationszone und eine Dateisystemzone enthält, und bei dem der Speicher nach der Dateisystemzone des Arbeitsspeicherabzug-Speichergeräts geschrieben wird.
  12. Computerlesbares Medium nach einem der Ansprüche 6 bis 11, ferner den Schritt der Erzeugung von Arbeitsspeicherabzugdaten mit dem zweiten Server (150) aufweisend, das vom nach dem Arbeitsspeicherabzug-Speichergerät geschriebenen Speicher eingestellt wird, wobei die eingestellten Daten dazu eingerichtet sind, die Diagnose eines Fehlers bezüglich des ersten Servers (150) zu ermöglichen.
  13. Computerlesbares Medium nach Anspruch 12, ferner den Schritt des Schreibens der vom zweiten Server (150) eingestellten Arbeitsspeicherabzugdaten nach einem Dateisystem-Hauptinhaltsverzeichnis des ersten Servers (150) aufweisend, das in den ersten Speichergeräten (160) gespeichert ist.
  14. Verfahren zur Übernahme in einem Speichersystem, das einen ersten Server (150) enthält, der miteinander verbundene erste Speichergeräte (160) hat, und einen zweiten Server (150), der miteinander verbundene zweite Speichergeräte (160) hat, wobei der erste Server (150) und der zweite Server (150) durch eine Kommunikationsverbindung miteinander verbunden sind, so dass der zweite Server (150) bei einem Ausfall des ersten Servers (150) die Inhaberschaft der ersten Speichergeräte (160) übernehmen kann, wobei das Verfahren die Schritte aufweist: – Schreiben des Speicherinhalts des ersten Servers durch den ersten Server (150) nach einem Arbeitsspeicherabzug-Speichergerät, das aus den ersten Speichergeräten (160) als Antwort auf einen erfassten Ausfall des ersten Servers (150) gewählt wird, wobei jedes der ersten Speichergeräte (160) ein Arbeitsspeicherabzugattribut enthält; – Einstellen des Attributs des Arbeitsspeicherabzuggeräts, das auf einen Arbeitsspeicherabzugzustand einzustellen ist, und des Arbeitsspeicherabzug attributs des anderen Speichergeräts der ersten Speichergeräte (160), das auf den Arbeitsspeicher-Nichtabzugzustand einzustellen ist; und – Identifizieren jedes der ersten Speichergeräte (160), bei dem das Arbeitsspeicherabzugattribut auf den Arbeitsspeicher-Nichtabzugzustand eingestellt ist; und – Ändern jedes der zweiten Speichergeräte (160), bei denen das Arbeitsspeicherabzugattribut auf den Arbeitsspeicher-Nichtabzugzustand eingestellt ist, von der Inhaberschaft durch den ersten Server (150) auf die Inhaberschaft durch den zweiten Server (150), so dass die Übernahme der Inhaberschaft parallel mit dem Schreiben des Speicherinhalts nach dem Arbeitsspeicherabzug-Speichergerät erfolgen kann.
  15. Verfahren nach Anspruch 14, ferner den Schritt aufweisend, in dem der zweite Server (150) veranlasst wird, die Inhaberschaft des Arbeitsspeicherabzug-Speichergeräts entweder nach Ablauf eines vorgegebenen Zeitlimits oder nach Beendigung des Schreibens des Speichers nach dem Arbeitsspeicherabzug-Speichergerät logisch anzunehmen, je nachdem, welches Ereignis früher stattfindet.
  16. Verfahren nach Anspruch 14 oder 15, bei dem der Änderungsschritt die Einstellung einer Reservierung in jedem der zweiten Speichergeräte (160) enthält, um die Inhaberschaft durch den zweiten Server (150) festzulegen.
  17. Verfahren nach Anspruch 16, bei dem die Reservierung eine SCSI-3-Reservierung aufweist.
DE602005004120T 2004-01-26 2005-01-25 System und verfahren zur übernahme von partnerbetriebsmitteln in verbindung mit coredump Active DE602005004120T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US764809 2004-01-26
US10/764,809 US7321982B2 (en) 2004-01-26 2004-01-26 System and method for takeover of partner resources in conjunction with coredump
PCT/US2005/002141 WO2005073857A1 (en) 2004-01-26 2005-01-25 System and method for takeover of partner resources in conjunction with coredump

Publications (2)

Publication Number Publication Date
DE602005004120D1 DE602005004120D1 (de) 2008-02-14
DE602005004120T2 true DE602005004120T2 (de) 2009-01-02

Family

ID=34826491

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005004120T Active DE602005004120T2 (de) 2004-01-26 2005-01-25 System und verfahren zur übernahme von partnerbetriebsmitteln in verbindung mit coredump

Country Status (9)

Country Link
US (3) US7321982B2 (de)
EP (1) EP1709535B1 (de)
JP (1) JP4557988B2 (de)
AT (1) ATE382893T1 (de)
AU (1) AU2005208328B2 (de)
CA (1) CA2554405C (de)
DE (1) DE602005004120T2 (de)
IL (1) IL177082A (de)
WO (1) WO2005073857A1 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086427A1 (en) * 2003-10-20 2005-04-21 Robert Fozard Systems and methods for storage filing
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7266717B2 (en) 2004-01-26 2007-09-04 Network Appliance, Inc. System and method of selection and communication of a disk for storage of a coredump
US7577688B2 (en) * 2004-03-16 2009-08-18 Onstor, Inc. Systems and methods for transparent movement of file services in a clustered environment
TWI269165B (en) * 2004-03-30 2006-12-21 Infortrend Technology Inc Dispatching of service requests in redundant storage virtualization subsystems
US7761881B2 (en) * 2005-10-28 2010-07-20 Microsoft Corporation Event bookmarks
US20070168507A1 (en) * 2005-11-15 2007-07-19 Microsoft Corporation Resource arbitration via persistent reservation
US7694166B1 (en) * 2005-11-30 2010-04-06 Network Appliance, Inc. Integrating control of service during cluster failover
JP2007299213A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd Raid制御装置および障害監視方法
US7774544B1 (en) 2006-11-15 2010-08-10 Netapp, Inc. Reliable disk ownership changes
US20080263391A1 (en) * 2007-04-20 2008-10-23 International Business Machines Corporation Apparatus, System, and Method For Adapter Card Failover
US7870417B2 (en) * 2007-04-20 2011-01-11 International Business Machines Corporation Apparatus, system, and method for adapter card failover
US7987383B1 (en) * 2007-04-27 2011-07-26 Netapp, Inc. System and method for rapid indentification of coredump disks during simultaneous take over
US8812443B2 (en) * 2007-10-01 2014-08-19 International Business Machines Corporation Failure data collection system apparatus and method
US8806037B1 (en) * 2008-02-29 2014-08-12 Netapp, Inc. Remote support automation for a storage server
US8086909B1 (en) 2008-11-05 2011-12-27 Network Appliance, Inc. Automatic core file upload
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8380668B2 (en) 2011-06-22 2013-02-19 Lsi Corporation Automatic discovery of cache mirror partners in an N-node cluster
US8677374B2 (en) 2011-09-14 2014-03-18 International Business Machines Corporation Resource management in a virtualized environment
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9436488B2 (en) * 2012-03-27 2016-09-06 Fujitsu Limited Program redundancy among virtual machines and global management information and local resource information arrangement
US8904231B2 (en) 2012-08-08 2014-12-02 Netapp, Inc. Synchronous local and cross-site failover in clustered storage systems
US9471434B2 (en) * 2013-07-22 2016-10-18 Hitachi, Ltd. Storage system and storage system failure management method
US10180948B2 (en) 2013-11-07 2019-01-15 Datrium, Inc. Data storage with a distributed virtual array
US10089013B2 (en) 2013-11-07 2018-10-02 Datrium, Inc. System and method for managing a non-volatile storage resource as a shared resource in a distributed system
US10140136B2 (en) * 2013-11-07 2018-11-27 Datrium, linc. Distributed virtual array data storage system and method
US9170746B2 (en) 2014-01-07 2015-10-27 Netapp, Inc. Clustered raid assimilation management
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
IN2014DE00764A (de) * 2014-03-14 2015-09-18 Netapp Inc
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US10540504B2 (en) 2015-05-12 2020-01-21 Datrium, Inc. Distributed data method for encrypting data
JP2017010390A (ja) * 2015-06-24 2017-01-12 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US9894156B2 (en) * 2015-09-22 2018-02-13 International Business Machines Corporation Distributed global data vaulting mechanism for grid based storage
US9952951B2 (en) * 2015-10-22 2018-04-24 Netapp Inc. Preserving coredump data during switchover operation
US10235059B2 (en) 2015-12-01 2019-03-19 Netapp, Inc. Technique for maintaining consistent I/O processing throughput in a storage system
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293612A (en) 1989-05-11 1994-03-08 Tandem Computers Incorporated Selective dump method and apparatus
CA2066566C (en) * 1989-09-08 2001-12-25 David Hitz Multiple facility operating system architecture
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
JP2868141B2 (ja) * 1992-03-16 1999-03-10 株式会社日立製作所 ディスクアレイ装置
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
JP3862274B2 (ja) * 1993-06-03 2006-12-27 ネットワーク・アプライアンス・インコーポレイテッド Raidディスクサブシステムと統合されたファイルシステムのファイル割り当て方法
EP1003103B1 (de) * 1993-06-03 2008-10-01 Network Appliance, Inc. Verfahren und Vorrichtung zum Beschreiben beliebiger Bereiche eines Dateisystems
US5761739A (en) 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
JP3025732B2 (ja) * 1993-07-16 2000-03-27 株式会社ピーエフユー 多重化コンピュータシステムの制御方式
JPH07234808A (ja) * 1994-02-24 1995-09-05 Toshiba Corp システムダンプ採取方式
US5666512A (en) 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
US5999933A (en) 1995-12-14 1999-12-07 Compaq Computer Corporation Process and apparatus for collecting a data structure of a memory dump into a logical table
US5996086A (en) * 1997-10-14 1999-11-30 Lsi Logic Corporation Context-based failover architecture for redundant servers
US6249879B1 (en) * 1997-11-11 2001-06-19 Compaq Computer Corp. Root filesystem failover in a single system image environment
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
JP2000267872A (ja) * 1999-03-17 2000-09-29 Fujitsu Ltd 2重化システムにおける再開処理方式
US6792559B1 (en) * 2000-04-25 2004-09-14 Ncr Corporation Performing operations in an environment recreated from system dump information
US8219662B2 (en) 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US7650412B2 (en) 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
US6836832B1 (en) 2001-12-21 2004-12-28 Network Appliance, Inc. System and method for pre-selecting candidate disks based on validity for volume
US6993701B2 (en) 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US7133964B2 (en) 2002-03-20 2006-11-07 Network Appliance, Inc Raid assimilation method and apparatus
US6751136B2 (en) 2002-06-17 2004-06-15 Lsi Logic Corporation Drive failure recovery via capacity reconfiguration
US7028154B2 (en) 2002-06-18 2006-04-11 Hewlett-Packard Development Company, L.P. Procedure to reduce copy time for data backup from short-term to long-term memory
JP2004234555A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd ストレージシステムの制御方法、ストレージシステム、及びプログラム
JP4252828B2 (ja) 2003-03-19 2009-04-08 株式会社日立製作所 キャッシュ制御方法、ノード装置、プログラム
US7664913B2 (en) 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7266717B2 (en) 2004-01-26 2007-09-04 Network Appliance, Inc. System and method of selection and communication of a disk for storage of a coredump
US7434090B2 (en) 2004-09-30 2008-10-07 Copan System, Inc. Method and apparatus for just in time RAID spare drive pool management
US7490203B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Method for dumping data in processing systems to a shared storage

Also Published As

Publication number Publication date
AU2005208328A1 (en) 2005-08-11
US8032781B1 (en) 2011-10-04
AU2005208328B2 (en) 2009-06-11
DE602005004120D1 (de) 2008-02-14
IL177082A0 (en) 2006-12-10
CA2554405C (en) 2011-07-12
EP1709535A1 (de) 2006-10-11
JP2007523404A (ja) 2007-08-16
JP4557988B2 (ja) 2010-10-06
US7321982B2 (en) 2008-01-22
WO2005073857A1 (en) 2005-08-11
US20050177770A1 (en) 2005-08-11
EP1709535B1 (de) 2008-01-02
ATE382893T1 (de) 2008-01-15
IL177082A (en) 2012-08-30
CA2554405A1 (en) 2005-08-11
US7827437B1 (en) 2010-11-02

Similar Documents

Publication Publication Date Title
DE602005004120T2 (de) System und verfahren zur übernahme von partnerbetriebsmitteln in verbindung mit coredump
DE102013215535B4 (de) Sicherung oder wiederherstellung von daten mit hilfe eines hauptspeichers und nichtflüchtiger speichermedien
DE102013210642B4 (de) Vorrichtung zum Wiederherstellen von Redundanz
DE10124482B4 (de) Fehlertolerante Systemressource mit niedriger Latenzzeit, mit übergeordneter Protokollierung von Systemressourcentransaktionen und serverübergreifend gespiegelter Protokollierung von übergeordneten Systemressourcentransaktionen
DE602005000926T2 (de) Speichersystem und Speicherauszugs-Erstellungsverfahren eines Speichersystems
DE69733076T2 (de) Hochleistungsdatenweg mit sofortigem xor
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE60313468T2 (de) Speicherdienste und -systeme
DE19982999B4 (de) Computersystem und Verfahren zum Transferieren von Daten
DE69724834T2 (de) System für hochverfügbare datenspeicherung mit allgemein-adressiertem speicher
DE60316776T2 (de) Auf netzwerkdatenspeicherung bezogene operationen
DE69629444T2 (de) Datenverarbeitungsgerät und Verfahren zur Ersetzung von ausgefallenen Speichereinheiten
DE112015005211T5 (de) Systeme und verfahren für die speicherfehler-verwaltung
DE10238566A1 (de) Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf
DE112011103290B4 (de) Intelligente Schreibcacheoperationen für sequenzielle Datenspuren
DE112021003061T5 (de) Ausgleichen von resilienz und leistung durch selektive verwendung von verschlechterten schreibvorgängen und freier kapazität in speichersystemen
DE102013205069A1 (de) Erhöhte effizienz bei inline-deduplizierungen
DE102012201154B4 (de) Transaktionsspeicher
DE112008000180T5 (de) Verfahren und System für die Umsetzung eines Fast-Wakeup eines Flashspeichersystems
DE102004027672A1 (de) Speicherplattenarraysystem
DE112011100112T5 (de) Pufferspeicher-platte in blitzkopie-kaskade
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE102009031923A1 (de) Verfahren zum Verwalten von Datenobjekten
DE112013006549T5 (de) Computersystem und Datensteuerverfahren
DE10236179A1 (de) Speichersystem und Verfahren zur Verwendung desselben

Legal Events

Date Code Title Description
8364 No opposition during term of opposition