DE60224369T2 - Speichersteuerungssystem und Verfahren dazu - Google Patents

Speichersteuerungssystem und Verfahren dazu Download PDF

Info

Publication number
DE60224369T2
DE60224369T2 DE60224369T DE60224369T DE60224369T2 DE 60224369 T2 DE60224369 T2 DE 60224369T2 DE 60224369 T DE60224369 T DE 60224369T DE 60224369 T DE60224369 T DE 60224369T DE 60224369 T2 DE60224369 T2 DE 60224369T2
Authority
DE
Germany
Prior art keywords
communication path
controllers
internal communication
memory
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60224369T
Other languages
English (en)
Other versions
DE60224369D1 (de
Inventor
Akira Murotani
Toshio Nakano
Shizuo Yokohata
Kenichi Takamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE60224369D1 publication Critical patent/DE60224369D1/de
Application granted granted Critical
Publication of DE60224369T2 publication Critical patent/DE60224369T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein Speichersteuersystem mit mehreren Steuerungen, die über einen internen Kommunikationspfad verbunden sind und Dateneingabe-/Datenausgabeanweisungen empfangen, die über einen externen Kommunikationspfad eingegeben worden sind, und die Dateneingabe-/Datenausgabesteuerung der Speichervorrichtungen ausführen, und auf ein Verfahren zum Steuern des Speichersteuersystems.
  • Beschreibung des Stands der Technik
  • In jüngster Zeit wächst der Bedarf an so genannten NAS-Servern (Network Attached Storage). Ein NAS-Server als eine Art von Speicherprodukt ist ein Speichersteuersystem, das ein inneres Dateisystem aufweist und geeignet ist, Dateneingabe-/Datenausgabeanforderungen entsprechend Dateizielen zu verarbeiten.
  • Ferner gibt es als eine Art von NAS-Server ein Produkt, das dazu ausgelegt ist, in einem Gehäuse oder Systemschrank mehrere Steuerungen aufzunehmen, die jeweils mit einem externen Kommunikationspfad wie einem LAN verbunden sind und jeweils auf Prozessanforderungen reagieren können, die einzeln über den externen Kommunikationspfad gesendet werden, um zum Beispiel die Verarbeitungsmöglichkeiten zu erweitern. Speichersteuersysteme werden oft für missionskritische Situationen verwendet und müssen im Allgemeinen eine hohe Verfügbarkeit aufweisen.
  • Bezüglich der Feststellung von Fehlern zwischen Computern in einem LAN ist üblicherweise ein Mechanismus zur Op timierung der Verfügbarkeit durch Austausch von Herzschlagnachrichten unter den Computern in dem LAN und gegenseitiges Überwachen ihrer Betriebszustände bekannt. Die japanische Patent-Offenlegungsschrift 2000-222373 beschreibt zum Beispiel einen Mechanismus für ein Cluster-Computersystem, in dem Computer, die einen Cluster bilden, in regelmäßigen Abständen Herzschlagnachrichten über ein LAN austauschen und gegenseitig ihre Betriebszustände überwachen, und falls die Herzschlagnachrichten mit einer bestimmten Steuerung nicht normal ausgetauscht werden, wird der von der betreffenden Steuerung ausgeführte Datendienst entsprechend an eine andere normal arbeitende Steuerung übergeben. Weiter ist in der japanischen Patent-Offenlegungsschrift 2001-100943 ein Clustersystem beschrieben, in dem zwei PC-Server die Kommunikation zum Austauschen von Herzschlagnachrichten unter Verwendung eines SCSI-Busses ausführen, an den Speicherplattenlaufwerke angeschlossen sind.
  • In einem Speichersteuersystem, das so aufgebaut ist, dass es mehrere Steuerungen umfasst, wie bei dem Aufbau in 1, erbringen diese Steuerungen, obwohl sie jeweils in demselben Gehäuse installiert sind, einzeln jeweils Dienste für Anforderungen von einem externen Kommunikationspfad. Daher wird, wie bei den in den vorstehend genannten Dokumenten beschriebenen Fällen, zur Optimierung der Verfügbarkeit angenommen, dass es für das Speichersteuersystem mit dem vorstehenden Aufbau sinnvoll sein kann, einen Mechanismus aufzuweisen, in dem die Betriebszustände zwischen den Steuerungen überwacht werden und im Falle der Feststellung eines Fehlers in einer bestimmten Steuerung der von der betreffenden Steuerung ausgeführte Dienst an eine andere normal arbeitende Steuerung übergeben wird.
  • Beim Vorsehen eines solchen Mechanismus ist es nötig, in geeigneter Weise einen Kommunikationspfad für die Übertragung der Betriebsinformationen auszuwählen. In dem Cluster-Computersystem nach dem vorstehend genannten Dokument wird zum Beispiel ein externer Kommunikationspfad wie das LAN, das die Computer verbindet, oder ein privater Kommunikationspfad als der Kommunikationspfad zum Austauschen der Betriebsinformationen (in diesem Beispiel Herzschlagnachrichten) verwendet.
  • Bei dem externen Kommunikationspfad gibt es jedoch Probleme dahingehend, dass die Zuverlässigkeit zwischen den Pfaden nicht ausreichend ist und dass die Übertragungsrate nicht ausreichend oder nicht konstant ist. Im Falle der Bereitstellung eines privaten Kommunikationspfads entstehen ferner sehr hohe Kosten, weil private Einrichtungen nötig sind.
  • Andererseits sind in dem vorstehend genannten Speichersteuersystem mit dem in 1 gezeigten Aufbau die Steuerungen wechselseitig durch einen internen Kommunikationspfad miteinander verbunden. Der interne Kommunikationspfad dient zum Ausführen der Dateneingabe-/Datenausgabeanweisung und der Dateneingabe/Datenausgabe, etwa wie ein auf einer Leiterplatte gebildeter Steuerbus, der eine CPU und einen Speicher verbindet. Ein solcher interner Kommunikationspfad weist im Allgemeinen eine höhere Zuverlässigkeit und eine höhere Übertragungsleistung als externe Kommunikationspfade wie zum Beispiel LANs auf. Daher wird angenommen, dass es möglich wird, durch Verwendung des internen Kommunikationspfads als Kommunikationspfad für die Betriebsinformationen auf einfache Weise einen Mechanismus zum Überwachen der Betriebszustände zwischen Steuerungen mit hoher Zuverlässigkeit und zu niedrigen Kosten zu realisieren.
  • US-A-6009535 beschreibt ein Speicherplattenlaufwerk-Steuerungssystem mit SCSI-Adaptern als Steuerungen und einem internen Bus in der Laufwerkssteuerung. Es beschreibt ein Speichersteuersystem, das mehrere Steuerungen, die jeweils eine Dateneingabe-/Datenausgabeanforderung empfangen, die über einen externen Kommunikationspfad eingegeben worden ist, und eine Dateneingabe-/Datenausgabeanweisung an eine Speichereinrichtung senden, sowie einen internen Kommunikationspfad umfasst, über den die Steuerungen die Da teneingabe-/Datenausgabeanweisung und die Dateneingabe/Datenausgabe ausführen, wobei die Steuerungen jeweils eine Einrichtung zum Senden ihrer eigenen Betriebsinformationen über den internen Kommunikationspfad an die anderen Steuerungen umfassen, und das Speichersteuersystem weiter eine Einrichtung zum Überwachen eines Betriebszustands der Steuerungen auf der Grundlage der von der Sendeeinrichtung der Steuerungen gesendeten Betriebsinformationen umfasst. Weitere Speichersysteme mit Failover-Funktionen oder Redundanz zwischen Speichersteuerungen sind in WO 02/19111 A und EP-A-0 747 822 beschrieben.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung ist entsprechend den vorstehenden und weiteren Aspekten erarbeitet worden, und ein Ziel ist die Bereitstellung eines Speichersteuersystems zum Überwachen von Betriebsinformationen mit einem internen Kommunikationspfad und vorzugsweise die Bereitstellung eines leistungsfähigen, sehr zuverlässigen und leicht zu strukturierenden Speichersteuersystems, das in der Lage ist, Betriebsinformationen mit einem internen Kommunikationspfad effizient zu verwalten, und eine Funktion zum Überwachen der Betriebsinformationen in preiswerter Weise realisieren kann.
  • Um die vorstehenden und weiteren Ziele zu erreichen, ist ein Aspekt der vorliegenden Erfindung ein Speichersteuersystem, umfassend mehrere Steuerungen, die jeweils eine Dateneingabe-/Datenausgabeanforderung empfangen, die über einen externen Kommunikationspfad eingegeben worden ist, und eine Dateneingabe-/Datenausgabeanweisung an eine Speichereinrichtung senden, und einen internen Kommunikationspfad, über den die Steuerungen die Dateneingabe-/Datenausgabeanweisung und die Dateneingabe/Datenausgabe ausführen. Die Steuerungen umfassen jeweils eine Einrichtung zum Senden ihrer eigenen Betriebsinformationen über den internen Kommunikationspfad an die anderen Steuerungen. Das Spei chersteuersystem umfasst weiter eine Einrichtung zum Überwachen eines Betriebszustands der jeweiligen Steuerungen auf der Grundlage der von der Sendeeinrichtung der Steuerungen gesendeten Betriebsinformationen. Die Steuerungen überwachen gegenseitig über den internen Kommunikationspfad und die Überwachungseinrichtung den Betriebszustand der anderen Steuerungen.
  • Nach einem Aspekt der vorliegenden Erfindung wird eine Struktur realisiert, in der die Betriebsinformationen über den internen Kommunikationspfad weitergeleitet werden, der zum Ausführen der Dateneingabe-/Datenausgabeanweisung und der Dateneingabe/Datenausgabe dient, zum Beispiel ein auf einer Leiterplatte gebildeter Steuerbus, der eine CPU und einen Speicher verbindet, und im Allgemeinen eine höhere Zuverlässigkeit als ein externer Kommunikationspfad aufweist und in der Lage ist, eine schnelle Kommunikation mit großer Kapazität zu realisieren. Daher kann die Anzahl der Komponenten des Speichersteuersystems verringert werden, und es wird möglich, ein hoch zuverlässiges System bei gleichzeitiger Senkung der Gerätekosten zu realisieren.
  • Weitere Merkmale und Ziele der vorliegenden Erfindung, zusätzlich zu den vorstehend genannten, werden durch Lesen der vorliegenden Beschreibung unter Bezugnahme auf die anliegenden Zeichnungen ersichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Für ein umfassendes Verständnis der vorliegenden Erfindung und ihrer Vorteile wird auf die nachstehende Beschreibung in Verbindung mit den anliegenden Zeichnungen verwiesen.
  • 1 zeigt ein Diagramm mit dem Aufbau eines Speichersteuersystems nach einem Beispiel der vorliegenden Erfindung.
  • 2 zeigt ein Diagramm einer Betriebszustandsverwaltungstabelle nach einem Beispiel der vorliegenden Erfindung.
  • 3 zeigt ein Ablaufdiagramm zur Erläuterung eines Prozesses, in dem eine Steuerung eine andere Steuerung in einem Speichersteuersystem erfasst, als Erläuterung für ein Beispiel der vorliegenden Erfindung.
  • 4 zeigt ein Ablaufdiagramm vor allem zur Erläuterung eines Prozesses zum Bestätigen eines Versagens in einem Fall, wo eine externe Kommunikationsschnittstelle in einem Speichersteuersystem versagt hat, als Erläuterung für ein Beispiel der vorliegenden Erfindung.
  • 5 zeigt ein Ablaufdiagramm vor allem zur Erläuterung eines Prozesses zum Bestätigen eines Versagens in einem Fall, wo eine interne Kommunikationsschnittstelle in einem Speichersteuersystem versagt hat, als Erläuterung für ein Beispiel der vorliegenden Erfindung.
  • 6 zeigt ein Ablaufdiagramm vor allem zur Erläuterung eines Prozesses zum Bestätigen eines Versagens in einem Fall, wo ein Prozessor in einem Speichersteuersystem versagt hat, als Erläuterung für ein Beispiel der vorliegenden Erfindung.
  • 7 zeigt ein Diagramm zur Erläuterung eines herkömmlichen Mechanismus, bei dem Computer gegenseitig ihre Betriebszustände überwachen.
  • 8 zeigt ein Diagramm mit dem Aufbau eines Speichersteuersystems mit einem internen Kommunikationspfad zur Fehlerüberwachung nach einem Beispiel der vorliegenden Erfindung.
  • 9 zeigt ein Diagramm mit dem Aufbau eines Speichersteuersystems, in dem der interne Kommunikationspfad durch einen Kommunikationspfad nach dem Fiber-Channel-Protokoll gebildet ist.
  • 10 zeigt ein Diagramm einer Betriebszustandsverwaltungstabelle nach einem Beispiel der vorliegenden Erfindung.
  • 11 zeigt ein Diagramm mit dem Aufbau eines Speichersteuersystems nach einem Beispiel der vorliegenden Erfindung mit einer Allzweck-Cluster-Software, bei dem die Betriebsinformationen in einer Speicherressource wie zum Beispiel Speicherplattenlaufwerken gespeichert werden.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Mindestens die folgenden Punkte werden aus der Erklärung in der vorliegenden Patentschrift und der Beschreibung der anliegenden Zeichnungen ersichtlich.
  • Aspekte der Offenlegung
  • Ein Beispiel für die vorliegende Erfindung ist ein Speichersteuersystem, umfassend mehrere Steuerungen, die jeweils eine Dateneingabe-/Datenausgabeanforderung empfangen, die über einen externen Kommunikationspfad eingegeben worden ist, und eine Dateneingabe-/Datenausgabeanweisung an eine Speichereinrichtung senden, sowie einen internen Kommunikationspfad, über den die Steuerungen die Dateneingabe-/Datenausgabeanweisung und die Dateneingabe/Datenausgabe ausführen, wobei die Steuerungen jeweils eine Einrichtung zum Senden ihrer eigenen Betriebsinformationen über den internen Kommunikationspfad an die anderen Steuerungen umfassen, und das Speichersteuersystem umfasst weiter eine Einrichtung zum Überwachen eines Betriebszustands der jeweiligen Steuerungen auf der Grundlage der von der Sendeeinrichtung der Steuerungen gesendeten Betriebsinformationen.
  • In einem solchen Speichersteuersystem werden die Betriebsinformationen (zum Beispiel Herzschlagnachrichten) über den internen Kommunikationspfad weitergeleitet, der zum Ausführen der Dateneingabe-/Datenausgabeanweisung und der Dateneingabe/Datenausgabe dient, zum Beispiel ein auf einer Leiterplatte gebildeter Steuerbus, der eine CPU und einen Speicher verbindet. Daher kann die Anzahl der Komponenten des Speichersteuersystems verringert werden, und es wird möglich, ein hoch zuverlässiges System bei gleichzeitiger Senkung der Gerätekosten zu realisieren.
  • Nach einem weiteren Beispiel der vorliegenden Erfindung umfasst ein Speichersteuersystem mehrere Steuerungen, die jeweils eine Dateneingabe-/Datenausgabeanforderung empfangen, die über einen externen Kommunikationspfad eingegeben worden ist, und eine Dateneingabe-/Datenausgabeanweisung an eine Speichereinrichtung senden, sowie einen internen Kommunikationspfad, über den die Steuerungen die Dateneingabe-/Datenausgabeanweisung und die Dateneingabe/Datenausgabe ausführen, wobei die Steuerungen jeweils eine Einrichtung zum Senden ihrer eigenen Betriebsinformationen über den internen Kommunikationspfad an einen mit dem internen Kommunikationspfad verbundenen Speicher umfassen, das Speichersteuersystem weiter eine Einrichtung zum Aufzeichnen der Betriebsinformationen in einem Speicher umfasst und die Steuerungen weiter jeweils eine Einrichtung zum Zugreifen auf den Speicher über den internen Kommunikationspfad und zum Überwachen eines Betriebszustands der anderen Steuerungen auf der Grundlage der im Speicher aufgezeichneten Betriebsinformationen umfassen.
  • Mit einem Speichersteuersystem mit dem vorstehend beschriebenen Aufbau ist es möglich, Fehlerzustände in den Betriebsinformationen (zum Beispiel in einer „Betriebszustandsverwaltungstabelle", wie weiter unten erläutert) im Speicher (zum Beispiel in einem Steuerspeicher, wie weiter unten erläutert) unabhängig von den Steuerungen zu verwalten. Daher wird es möglich, die Fehlerursache und/oder das ausgefallene Teil durch Kombinieren der vorstehend genannten Betriebsinformationen mit anderen Informationen wie etwa Informationen bezüglich des Betriebszustands des internen Kommunikationspfads weiter zu spezifizieren.
  • Weiter ist es mit dem Speichersteuersystem möglich, die Steuerung so zu konfigurieren, dass sie zum Beispiel eine Zentralverarbeitungseinheit, eine externe Kommunikationsschnittstelle zur Verbindung mit dem externen Kommunikationspfad und eine interne Kommunikationsschnittstelle zur Verbindung mit dem internen Kommunikationspfad umfasst.
  • Weiter können in dem Speichersteuersystem die Betriebsinformationen Informationen enthalten, die anzeigen, ob in irgendeiner der Steuerungen ein Versagen oder Fehler aufgetreten ist, und das Speichersteuersystem kann eine Einrichtung dafür umfassen, mindestens eine der Steuerungen die von einer ausgefallenen Steuerung ausgeführte Verarbeitung übernehmen zu lassen, wenn die Überwachungseinrichtung bestätigt, dass ein Versagen in der ausgefallenen Steuerung vorliegt. Dadurch wird die Verfügbarkeit des Speichersteuersystems sichergestellt.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass der Speicher eine Einrichtung zum Speichern von Ressourceninformationen umfasst, die sich auf die Verarbeitung beziehen, für die die Steuerungen verantwortlich sind, und die Steuerung, die die Verarbeitung übernehmen soll, eine Einrichtung zum Zugreifen auf die Ressourceninformationen und zum Bestätigen der Verarbeitung, die die Steuerung übernehmen soll, umfasst.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass die Ressourceninformationen zum Beispiel Informationen, die für die Steuerungen zur Kommunikation über den externen Kommunikationspfad oder den internen Kommunikationspfad erforderlich sind, Informationen, die Speicherbereiche bezeichnen und in der Dateneingabe-/Datenausgabeanweisung angegeben sind, und/oder eine Netzwerkadresse jeder der Steuerungen enthalten, die für die Kommunikation mittels des externen Kommunikationspfads verwendet werden.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass die Betriebsinformationen Informationen enthalten, die anzeigen, ob in irgendeiner der Zentralverarbeitungseinheit, der externen Kommunikationsschnittstelle oder der internen Kommunikationsschnittstelle ein Versagen oder Fehler aufgetreten ist.
  • Weiter kann ein Beispiel des Speichersteuersystems so beschaffen sein, dass die ein Versagen oder einen Fehler anzeigenden Informationen Zeitstempel sind, die in vorgege benen Intervallen von jeder Steuerung über den internen Kommunikationspfad an den Speicher gesendet werden und in dem Speicher mit Bezug auf die jeweilige Steuerung gespeichert werden, und wenn der einer Steuerung entsprechende Zeitstempel für eine vorgegebene Zeitdauer oder länger nicht aufdatiert worden ist, die Überwachungseinrichtung bestätigt, dass die eine dem Zeitstempel entsprechende Steuerung versagt hat oder ausgefallen ist.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass die Überwachungseinrichtung eine Einrichtung zur Bestimmung umfasst, dass der interne Kommunikationspfad versagt hat oder ausgefallen ist, wenn auf die Betriebsinformationen nicht zugegriffen werden kann.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass die Überwachungseinrichtung eine Einrichtung zu Bestimmung umfasst, dass die einem Zeitstempel entsprechende Steuerung versagt hat oder ausgefallen ist, wenn auf die Betriebsinformationen zugegriffen werden kann, aber der Zeitstempel einer der Steuerungen für eine vorgegebene Zeitdauer oder länger nicht aufdatiert worden ist. Dadurch wird es möglich, ein Versagen oder einen Fehler weiter zu spezifizieren.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass die Speichereinrichtung eine Zentralverarbeitungseinheit, den Speicher und eine Geräteschnittstelle zum Ausführen der Dateneingabe/Datenausgabe bezüglich einer Speicherressource wie einem Speicherplattenlaufwerk umfasst. Ferner kann das Speichersteuersystem so aufgebaut sein, dass die Betriebsinformationen oder Ressourceninformationen in dem Speicher aufgezeichnet werden.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass die Betriebsinformationen oder Ressourceninformationen in der Speicherressource aufgezeichnet werden.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass die Steuerungen jeweils ein Dateisystem zum Ausführen einer Dateneingabe-/Datenausgabeanforderung auf der Grund lage von Dateinamen und eine Einrichtung zum Senden der Dateneingabe-/Datenausgabeanweisung an die Speichereinrichtung pro Dateneinheit umfassen, die durch den Dateinamen bezeichnet ist. Ein solcher Aufbau kann in einem Fall angewendet werden, wo das Speichersteuersystem zum Beispiel als NAS-Server benutzt wird.
  • Weiter kann ein Beispiel des Speichersteuersystems so beschaffen sein, dass die Steuerungen jeweils eine Geräteschnittstelle zum Steuern der Dateneingabe/Datenausgabe bezüglich einer Speicherressource wie einer Festplatte, einen Cache-Speicher und eine Einrichtung zum Ausführen des Lesens/Schreibens von Daten über den Cache-Speicher auf die Speicherressource bzw. von dieser umfassen. Ferner kann das Speichersteuersystem so aufgebaut sein, dass die interne Kommunikation auf redundante Weise durch mehrere Kommunikationspfade gebildet ist.
  • Weiter kann das Speichersteuersystem so aufgebaut sein, dass die Steuerungen jeweils eine Einrichtung zum Senden ihrer eigenen Betriebsinformationen über einen anderen Kommunikationspfad (zum Beispiel eine weiter unten beschriebene private Kommunikationsleitung) an die anderen Steuerungen umfassen, wobei der andere Kommunikationspfad getrennt von dem internen Kommunikationspfad vorgesehen ist und die Steuerungen verbindet, und eine Einrichtung (zum Beispiel Emulationstreiber, wie weiter unten erläutert) zum Senden der Betriebsinformationen, die über den anderen Kommunikationspfad gesendet werden sollen, an den internen Kommunikationspfad.
  • Mit einem solchen Aufbau wird es möglich, einen Mechanismus zur einfachen und preiswerten Überwachung von Betriebszuständen zum Beispiel unter Verwendung von Allzweck-Cluster-Software zu realisieren.
  • Weiter kann ein Beispiel für ein Verfahren zum Steuern eines Speichersteuersystems, das mehrere Steuerungen umfasst, die jeweils eine Dateneingabe-/Datenausgabeanforderung empfangen, die über einen externen Kommunikationspfad eingegeben worden ist, und eine Dateneingabe-/Datenausgabeanweisung an eine Speichereinrichtung senden, sowie einen internen Kommunikationspfad, über den die Steuerungen die Dateneingabe-/Datenausgabeanweisung und die Dateneingabe/Datenausgabe ausführen, derart beschaffen sein, dass das Verfahren die folgenden Schritte umfasst: die Steuerungen senden jeweils ihre eigenen Betriebsinformationen über den internen Kommunikationspfad an die anderen Steuerungen und die Steuerungen überwachen jeweils gegenseitig einen Betriebszustand der anderen Steuerungen auf der Grundlage der Betriebsinformationen.
  • Weiter kann ein weiteres Beispiel für ein Verfahren zum Steuern eines Speichersteuersystems, das mehrere Steuerungen umfasst, die jeweils eine Dateneingabe-/Datenausgabeanforderung empfangen, die über einen externen Kommunikationspfad eingegeben worden ist, und eine Dateneingabe-/Datenausgabeanweisung an eine Speichereinrichtung senden, sowie einen mit der Speichereinrichtung verbundenen internen Kommunikationspfad, über den die Steuerungen die Dateneingabe-/Datenausgabeanweisung und die Dateneingabe/Datenausgabe ausführen, derart beschaffen sein, dass das Verfahren die folgenden Schritte umfasst: die Steuerungen senden jeweils ihre eigenen Betriebsinformationen über den internen Kommunikationspfad an einen mit dem internen Kommunikationspfad verbundenen Speicher, das Speichersteuersystem zeichnet die Betriebsinformationen in dem Speicher auf und die Steuerungen greifen jeweils über den internen Kommunikationspfad auf den Speicher zu und überwachen einen Betriebszustand der anderen Steuerungen auf der Grundlage der im Speicher aufgezeichneten Betriebsinformationen.
  • Mit einem solchen Aufbau ist ein Speichersteuersystem nach der vorliegenden Erfindung in der Lage, die Betriebsinformationen mit dem internen Kommunikationspfad als Kommunikationspfad zum Austausch von Betriebsinformationen zwischen den Steuerungen effizient zu verwalten. Ferner wird es möglich, eine leistungsfähige, sehr zuverlässige und leicht zu konfigurierende Funktion zur Überwachung von Betriebsinformationen mit niedrigen Kosten bereitzustellen.
  • Diese Ziele werden auf vorteilhafte Weise im Wesentlichen durch Anwendung der in den selbstständigen Ansprüchen festgelegten Merkmale erreicht. Weitere Verbesserungen werden durch die Unteransprüche bereitgestellt.
  • Erste Ausführungsform
  • Konfiguration der Geräte
  • Zuerst wird ein Beispiel erläutert, bei dem ein Aspekt der vorliegenden Erfindung auf das vorstehend genannte und in 1 gezeigte Speichersteuersystem 10 angewendet worden ist.
  • Das Speichersteuersystem 10 umfasst einen internen Kommunikationspfad 20, der zum Ausführen der Dateneingabe-/Datenausgabeanweisung und der Dateneingabe/Datenausgabe dient, wie zum Beispiel einen auf einer Leiterplatte gebildeter Steuerbus (oder ein Systembus), der eine CPU und einen Speicher verbindet, mehrere Steuerungen 100 und 110, die mit dem internen Kommunikationspfad 20 verbunden sind, eine Speichervorrichtung 120 und Stromversorgungseinheiten 30 und 31, die in redundanter Weise aufgebaut sind. Ein mit den Steuerungen 100 und 110 und der Speichervorrichtung 120 verbundener Serviceprozessor 40 führt zum Beispiel die Betriebssteuerung der Steuerungen 100 und 110 und der Speichervorrichtung 120, verschiedene Einstellungen dafür und/oder die Überwachung ihrer Betriebszustände aus.
  • Die Steuerungen 100 und 110 umfassen jeweils einen Prozessor 101 und 111 als Zentralverarbeitungseinheit, die zum Beispiel durch eine CPU gebildet ist, eine externe Kommunikationsschnittstelle 102 und 112 zum Verbinden mit einem externen Kommunikationspfad 50 wie etwa einem LAN und eine interne Kommunikationsschnittstelle 103 und 113, die zum Beispiel durch eine Brücke gebildet ist, die mit dem internen Kommunikationspfad 20 verbunden ist.
  • In den Steuerungen 100 und 110 arbeitet jeweils ein Dateisystem (nicht gezeigt), und die Steuerungen 100 und 110 verarbeiten die Dateneingabe-/Datenausgabeanforderungen, die Dateinamen bezeichnen, von dem externen Kommunikationspfad 50. Das heißt, die Steuerungen 100 und 110 umfassen jeweils eine Funktion wie ein Computer, der als Dateiserver im LAN arbeitet, und das Speichersteuersystem 10 dient als der vorstehend erwähnte NAS-Server.
  • Die Speichervorrichtung 120 umfasst zum Beispiel einen Steuerspeicher 121, in dem Informationen wie etwa Systemverwaltungsinformationen enthalten sind, eine Speicherressource 122 wie etwa Festplatten, eine Geräteschnittstelle 123, die das Schreiben/Lesen von Daten auf die Speicherressource 122 oder von dieser gemäß den von den Steuerungen 100 und 110 gesendeten Anweisungen ausführt, und einen Cache-Speicher 124.
  • Hierbei ist zu beachten, dass die Speicherressource 122 in dem Speichersteuersystem 10 installiert sein kann, wie in 1, oder in einem unabhängigen Gehäuse außerhalb des Speichersteuersystems 10 untergebracht und mit der Geräteschnittstelle 123 durch eine geeignete Schnittstelle verbunden sein kann.
  • Grundbetrieb
  • Nachstehend werden die grundlegenden Betriebsabläufe in dem Speichersteuersystem 10 beschrieben. Wenn das Speichersteuersystem 10 eine Dateneingabe-/Datenausgabeanforderung empfängt, die von einer externen Vorrichtung wie einem Host-Computer (nicht gezeigt) über den externen Kommunikationspfad 50 eingegeben worden ist, senden die Prozessoren 101 und/oder 111 über den internen Kommunikationspfad 20 eine Dateneingabe-/Datenausgabeanweisung mit einer der empfangenen Anforderung entsprechenden Anweisung und Daten an den Steuerspeicher 121. Der Steuerspeicher 121 empfängt und speichert diese Anweisung.
  • Wenn zum Beispiel die in der Dateneingabe-/Datenausgabeanweisung enthaltene Anweisung ein Schreibbefehl ist, sendet die Geräteschnittstelle 123 eine Datensendeanforderung über den internen Kommunikationspfad 20 an die Prozessoren 101 und 111. Nach Empfang der Datensendeanforderung speichern die Prozessoren 101 und 111 die Schreibdaten (das heißt die zu schreibenden Daten) im Cache-Speicher 124 und senden eine Unterbrechungsanforderung an die Geräteschnittstelle 123. Nach Empfang der Unterbrechungsanforderung schreibt die Geräteschnittstelle 123 die im Cache-Speicher 124 gespeicherten Schreibdaten mit einem geeigneten Takt in die Speicherressource 122.
  • Wenn andererseits die vorstehend genannte Anweisung ein Lesebefehl ist, liest die Geräteschnittstelle 123 die in einem Speicherbereich der Speicherressource 122, der durch an die Anweisung angefügte Informationen bezeichnet ist, enthaltenen Daten aus, speichert die ausgelesenen Daten im Cache-Speicher 124 und sendet die ausgelesenen Daten über den internen Kommunikationspfad 20 an die Prozessoren 101 und 111.
  • Nach Empfang der Unterbrechungsanforderung nimmt die Geräteschnittstelle 123 Bezug auf die vorstehend erwähnte, im Steuerspeicher 121 gespeicherte Anweisung und überträgt die im Cache-Speicher 124 gespeicherten Daten und redundante Daten an die Speicherressource 122.
  • Überwachungsfunktion
  • Die Steuerungen 100 und 110 überwachen jeweils gegenseitig, ob in der anderen Steuerung 110 oder 100 ein Versagen oder Fehler aufgetreten ist. Ein Bediener kann zum Beispiel über den Serviceprozessor 40 einstellen, welcher der Prozessoren 100 und 110 die anderen Prozessoren 100 und 110 überwachen soll. Die Einstellinformationen werden in den Feldern 251 und 254 mit der Überschrift „Zu überwachende Steuerung" in einer Betriebszustandsverwaltungstabelle im Steuerspeicher 121 registriert, wie in 2 gezeigt.
  • Die Steuerungen 100 und 110 überwachen jeweils die Betriebszustände der anderen Steuerung 100 oder 110, die als Überwachungsobjekt zugewiesen ist. Wenn die Steuerung 100 und 110 eine Art von Versagen in der anderen Steuerung 100 oder 110 feststellt, die sie überwacht, führt die Steuerung 100 und 110 einen Prozess entsprechend den Details des festgestellten Versagens aus.
  • Nachstehend werden unter Bezugnahme auf das Ablaufdiagramm in 3 eine Überwachungsfunktion der Steuerungen 100 und 110 und eine bei Feststellung einer Störung ausgeführte Funktion des Speichersteuersystems 10 beschrieben. Diese Beschreibung bezieht sich auf ein Beispiel, in dem die Steuerung 100 ein Versagen der Steuerung 110 feststellt.
  • Die Steuerung 110 greift periodisch (der Takt kann beliebig geändert werden) über den internen Kommunikationspfad 20 auf den Steuerspeicher 121 zu (oder sendet Herzschlagnachrichten). Beim Zugriff schreibt die Steuerung 110 die Zugriffszeit als einen Zeitstempel in das Feld 255 mit der Überschrift „Zeitstempel" für die Steuerung 110 in der Betriebszustandsverwaltungstabelle (S311). Das heißt, wenn keine Störung in der Steuerung 110 vorliegt, wird der Zeitstempel periodisch aufdatiert.
  • Andererseits greift die Steuerung 100 über den internen Kommunikationspfad 20 periodisch (oder mit einem beliebigen anderen Takt als einem regelmäßigen Takt) auf den Steuerspeicher 121 zu, um in der Betriebszustandsverwaltungstabelle nachzusehen (S312).
  • Wenn die Steuerung 100 nicht auf den Steuerspeicher 121 zugreifen kann (S313), bestimmt sie, dass eine Art von Versagen oder Fehler im internen Kommunikationspfad 20 vorliegt. Ist im internen Kommunikationspfad 20 ein Versagen aufgetreten, besteht die Möglichkeit, dass die Dateneingabe/Datenausgabe zu/von der Speichervorrichtung 120 nicht ordnungsgemäß ausgeführt werden kann. Daher kann die Steuerung 100 zum Beispiel Dateneingabe-/Datenausgabeprozesse an die Speichervorrichtung 120 stoppen, die von der Steuerung 100 selbst ausgeführt werden, und die von der Steuerung 100 erhaltene Ressource bezüglich des Eingabe-/Ausgabeprozesses freischalten (S314).
  • Die vorstehend genannte „Ressource" können zum Beispiel Informationen wie eine Netzwerkadresse (zum Beispiel eine IP-Adresse), die für die Kommunikation durch die Steuerungen 100 und 110 mit dem externen Kommunikationspfad 50 oder dem internen Kommunikationspfad 20 nötig ist, und Informationen sein, die Speicherbereiche bezeichnen (zum Beispiel Informationen bezüglich eines von der Steuerung 110 gemounteten Speicherbereichs), die durch die Dateneingabe-/Datenausgabeanweisung bezeichnet sind, die von den Steuerungen 100 und 110 an die Speichereinrichtung gesendet wird.
  • Wenn die Steuerung 100 andererseits auf den Steuerspeicher 121 zugreifen kann, sieht sie sich den Zeitstempel 255 der Steuerung 110 in der Betriebszustandsverwaltungstabelle an (S315) und prüft, ob eine Differenz zwischen der Zugriffszeit und dem Zeitstempel innerhalb einer vorgegebenen Zeitdauer liegt oder diese überschreitet (S316).
  • Ist die Differenz gleich oder größer als eine vorgegebene Zeitdauer, bestimmt die Steuerung 100, dass ein Versagen in der Steuerung 110 aufgetreten ist, und übernimmt die Prozesse und Ressourcen, für die gegenwärtig die Steuerung 110 zuständig ist (oder anders ausgedrückt, die ihr zugewiesen sind) (S317).
  • Liegt andererseits die Differenz innerhalb der vorgegebenen Zeitdauer, sieht die Steuerung 100 sich den Inhalt des Felds 256 „Zustand" für die Steuerung 110, die das Überwachungsobjekt ist, in der Betriebszustandsverwaltungstabelle an (S318). Lautet der Inhalt „Normal", bestätigt die Steuerung 100, dass die Steuerung 110 in einem normalen Betriebszustand arbeitet (S319, S320). Lautet der Inhalt des Felds 256 „Zustand" „Störung", bestimmt die Steuerung 100, dass die Steuerung 110 ausgefallen ist, und übernimmt die Prozesse, für die die Steuerung 110 verantwortlich ist, in der vorstehend beschriebenen Weise (S319, S317). Hierbei ist zu beachten, dass die Angaben „Normal" und „Störung" in der Betriebszustandsverwaltungstabelle in einem geeigneten Format eingeschrieben werden, etwa als Bitmap-Darstellung.
  • Im Übrigen wird im Speichersteuersystem 10 der Inhalt des Felds „Zustand" in der Betriebszustandsverwaltungstabelle wie folgt verwaltet. Wenn zum Beispiel ein Versagen in der externen Kommunikationsschnittstelle 102 vorliegt, wie in 4 gezeigt, bestätigen die Steuerungen 100 und 110 ein solches Versagen durch direktes Melden des Versagens an die Prozessoren 101 und 111 von der externen Kommunikationsschnittstelle 102 und 112 oder durch Zeitabschaltung einer an die externe Kommunikationsschnittstelle 102 gesendeten Verarbeitungsanweisung.
  • Wenn die Steuerungen 100 und 110 bestätigen, dass ein Versagen in der externen Kommunikationsschnittstelle 102 vorliegt, greifen sie über den internen Kommunikationspfad 20 auf die Betriebszustandsverwaltungstabelle im Steuerspeicher 121 zu und schreiben „Störung" in das Feld 253 und 256 „Zustand" für die Steuerung 100 oder 110, die ausgefallen ist.
  • Andererseits, wenn zum Beispiel ein Versagen in den internen Kommunikationsschnittstellen 103 und 113 vorliegt, wie in 5 gezeigt, bestätigen die Steuerungen 100 und 110 ein solches Versagen durch Melden des Versagens an die Prozessoren 101 und 111 von den internen Kommunikationsschnittstellen 103 und 113 oder durch Zeitabschaltung einer an die internen Kommunikationsschnittstellen 103 und 113 gesendeten Verarbeitungsanweisung.
  • Die Steuerungen 100 und 110 können gegenseitig den Zustand der anderen Steuerungen 110 und 100 beurteilen, indem sie den Zeitstempel in der Betriebszustandsverwaltungstabelle im Steuerspeicher 121 überwachen. Wenn die Steuerungen 100 und 110 bestätigen, dass ein Versagen in den internen Kommunikationsschnittstellen 113 und 103 der anderen Steuerungen 110 und 100 vorliegt, können die Steuerungen 100 und 110 über den internen Kommunikationspfad 20 auf die Betriebszustandsverwaltungstabelle im Steuerspeicher 121 zugreifen und „Störung" in das Feld 253 und 256 „Zustand" für die Steuerung 100 und 110 schreiben, die ausgefallen ist.
  • 6 zeigt einen Fall, wo der Prozessor 101 ausgefallen ist. In diesem Fall kann die Steuerung 100 diesen Zustand nicht in die Betriebszustandsverwaltungstabelle schreiben. Weil der Prozessor 111 der Steuerung 110 jedoch im Steuerspeicher 121 nachsieht, kann die Steuerung 110 dieses Versagen feststellen, auch wenn der Prozessor 101 ausgefallen ist.
  • In dem vorstehenden Beispiel ist ein Fall beschrieben, bei dem die Steuerung 100 die Steuerung 110 überwacht. Selbstverständlich werden dieselben Prozesse auch ausgeführt, wenn die Steuerung 110 die Steuerung 100 überwacht.
  • Ferner wird in den vorstehenden Beispielen die Kommunikation für die Fehlerüberwachung der Steuerungen 100 und 110, zum Beispiel das Schreiben in die und das Nachsehen in der Betriebszustandsverwaltungstabelle im Steuerspeicher 121 über den internen Kommunikationspfad 20 ausgeführt. Daher kann die Kommunikation für die Fehlerüberwachung mit hoher Geschwindigkeit im Vergleich zu herkömmlichen Verfahren durchgeführt werden, die den externen Kommunikationspfad 50 oder einen privaten Kommunikationspfad verwenden. Weil der interne Kommunikationspfad 20 im Allgemeinen eine bessere Übertragungsleistung und Zuverlässigkeit aufweist als der externe Kommunikationspfad 50 wie etwa das LAN, kann außerdem die Kommunikation für die Fehlerüberwachung schnell und zuverlässig ausgeführt werden.
  • Darüber hinaus wird der interne Kommunikationspfad 20, der ursprünglich für die Dateneingabe/Datenausgabeprozesse zwischen den Steuerungen 100 und 110 und/oder zwischen den Steuerungen 100 und 110 und der Speichervorrichtung 120 vorgesehen ist, auch für die Kommunikation zur Fehlerüberwachung verwendet. Daher ist es nicht nötig, zusätzliche Hardware wie einen privaten Kommunikationspfad hinzuzufügen, und somit kann ein Kommunikationsmechanismus für die Fehlerüberwachung auf einfache Weise zu niedrigen Kosten konfiguriert werden.
  • Weiter wird in den vorstehenden Beispielen der Fehlerzustand durch die Betriebszustandsverwaltungstabelle im Steuerspeicher 121 der Speichervorrichtung 120 verwendet, die von den Steuerungen 100 und 110 unabhängig ist und mit diesen über den internen Kommunikationspfad 20 verbunden ist. Daher wird es durch Kombinieren der Fehlerzustandsinformationen mit Informationen bezüglich der Betriebszustände des internen Kommunikationspfads 20 möglich, die Fehlerursache und/oder das ausgefallene Teil detaillierter zu spezifizieren.
  • Ferner verwaltet in den vorstehenden Beispielen der Steuerspeicher 121 auch Informationen bezüglich der Ressourcen, die jeweils von den Steuerungen 100 und 110 erhalten werden, wobei diese Informationen zum Übergeben der Prozesse an die überlebende Steuerung 100 und 110 verwendet werden, wenn eine der Steuerungen 100 und 110 das Auftreten eines Versagens feststellt. Daher kann die Speichervorrichtung 120 die zu übergebenden Ressourcen auch bestätigen, wenn die Steuerungen 100 und 110 ausgefallen sind. Außerdem ist es durch zentralisierte und einheitliche Verwaltung der Ressourcen möglich, zum Beispiel eine Verringerung der Verwaltungslast zu realisieren.
  • Wenn der interne Kommunikationspfad in redundanter Weise gebildet ist, kann es ferner möglich werden, die Sicherheit und Zuverlässigkeit der Kommunikation für die Fehlerüberwachung weiter zu gewährleisten.
  • Obwohl in dem vorstehenden Beispiel nur zwei Steuerungen vorhanden sind, ist das System nicht auf einen solchen Aufbau beschränkt und kann ohne weiteres zu einem Aufbau erweitert werden, in dem drei oder mehr Steuerungen vorhanden sind.
  • Benutzung vorhandener Clustersysteme
  • Wie in den vorstehend genannten Dokumenten beschrieben, gibt es üblicherweise Software, die die Kommunikation für die Fehlerüberwachung zwischen Computern mit einem externen Kommunikationspfad und/oder einem privaten Kommunikationspfad ausführt. Nachstehend wird ein Beispiel für die Realisierung eines Mechanismus nach einem Aspekt der vorliegenden Erfindung mit einem internen Kommunikationspfad bei der Kommunikation zur Fehlerüberwachung mit solcher Software beschrieben.
  • 7 zeigt eine herkömmliche Systemkonfiguration, in der die Computer 720 und 730, die den Steuerungen nach der vorliegenden Erfindung entsprechen, über einen privaten Kommunikationspfad 750 verbunden sind, und die Computer 720 und 730 gegenseitig ihre Betriebszustände durch Übermittlung von Herzschlagnachrichten über den privaten Kommunikationspfad 750 überwachen.
  • Die Computer 720 bzw. 730 empfangen Anforderungen für Dateidienste von Clients mit ihren jeweiligen Dateisystemen 723 und 733 über die Netzwerkschnittstellen 721 und 731 und die Netzwerktreiber 722 und 732.
  • Die Dateisysteme 723 und 733 führen die Datenübertragung zu/von einer Speichervorrichtung 726 über jeweilige Speichertreiber 724 und 734 und jeweilige Speicherschnittstellen 725 und 735 aus, wenn eine Datenübertragung an die Speichervorrichtung 726 nötig ist. Die Cluster-Software 727 und 737 sendet Herzschlagnachrichten an die entsprechende Cluster-Software 727 und 737 der entsprechenden Computer 720 und 730 über die jeweiligen Netzwerktreiber 728 und 738 und die Herzschlag-Netzwerkschnittstellen 729 und 739.
  • 8 zeigt ein Beispiel für die Anwendung eines Aspekts der vorliegenden Erfindung mit einem internen Kommunikationspfad für die Fehlerüberwachung auf die in 7 gezeigte Konfiguration, die mit der vorstehend genannten Cluster-Software 727 und 737 arbeitet. In dieser Abbildung umfasst ein Speichersteuersystem 810 die Emulationstreiber 848 und 858, die den Zugriff von der Cluster-Software 847 und 857 annehmen und den Zugriff von der Cluster-Software in einen Zugriff auf die jeweiligen Speichertreiber 844 und 854 umwandeln. Mit einem solchen Aufbau können die von der Allzweck-Cluster-Software 847 und 857 gesendeten Herzschlagnachrichten in Betriebszustandsinformationen umgewandelt werden, die auf einem internen Kommunikationspfad 849 übertragen werden, und umgekehrt.
  • Im Einzelnen weisen die Emulationstreiber 848 und 858 zum Beispiel die folgenden Funktionen auf: Annehmen des Zugriffs von der Cluster-Software 847 und 857 durch Kommunikation unter Einhaltung der Übertragungsverfahren anderer Kommunikationspfade wie RS-232C oder ein LAN und Umwandeln dieses Zugriffs in eine Übertragung über den internen Kommunikationspfad 849 sowie außerdem Umwandeln der Übertragung über den internen Kommunikationspfad 849, um die Übertragungsverfahren für die vorstehend genannten anderen Kommunikationspfade einzuhalten, und Übertragen der Übertragung an die Cluster-Software 847 und 857 gemäß den Übertragungsverfahren. Hierbei ist zu beachten, dass das Speichersteuersystem 810 tatsächlich die anderen Kommunikationspfade wie RS-232C und/oder das LAN in Form von Hardware und/oder Software umfassen kann, aber nicht unbedingt muss. Ferner muss der vorstehend genannte Abschnitt mit der Umwandlungsfunktion nicht in den Emulationstreibern 848 und 858 enthalten sein, sondern kann in der Firmware (nicht gezeigt) vorgesehen sein, die Funktionen der Speichertreiber 844 und 854 und/oder einer internen Kommunikationsschnittstelle (nicht gezeigt) einer Speichervorrichtung 846 bereitstellt.
  • Wie vorstehend erläutert, kann die vorliegende Erfindung in Systemen, in denen bereits Cluster-Software installiert ist, ohne weiteres durch Installieren der Emulationstreiber implementiert werden.
  • Weiter kann die vorliegende Erfindung, wenn keine Cluster-Software installiert ist, durch Kombinieren des E mulationstreibers mit einer vorhandenen Cluster-Software und Installieren der Software in einem System mit niedrigen Kosten implementiert werden, weil es möglich ist, die Kosten für die Entwicklung von Funktionsabschnitten für die Cluster-Software zu verringern.
  • Andere Konfigurationen des internen Kommunikationspfads
  • Nachstehend werden Beispiele beschrieben, bei denen der interne Kommunikationspfad kein Steuerbus ist, sondern durch Kommunikationspfade gebildet ist, die auf anderen Protokollen wie Fiber Channel, Intelligent I/O, Rapid I/O usw. basieren.
  • 9 zeigt ein Diagramm mit der Konfiguration eines Speichersteuersystems 971, in dem der interne Kommunikationspfad von einem Kommunikationspfad nach dem Fiber-Channel-Protokoll gebildet ist. Die Steuerungen 950 bzw. 960 umfassen die Fiber-Channel-Schnittstellen 953 und 963 als interne Kommunikationsschnittstellen.
  • Eine Speichervorrichtung 980 umfasst auch die Fiber-Channel-Schnittstellen 986 und 996 und ist mit den Steuerungen 950 und 960 über die Fiber-Channel-Schalter 956 und 966 und die Fiber-Channel-Schnittstellen 986 und 996 verbunden.
  • Die Steuerungen 950 und 960 sind über die Fiber-Channel-Schalter 956 und 966 und die Fiber-Channel-Schnittstellen 953 und 963 wechselseitig mit den Steuerungen 950 und 960 verbunden und umfassen jeweils die Steuerspeicher 982 und 992 und die Cache-Speicher 983 und 993 zum vorübergehenden Speichern von Schreibdaten und ausgelesenen Daten, die von einem Speicherplattenlaufwerk ausgelesen worden sind.
  • Die Steuerungen 950 und 960 sind über jeweilige Geräteschnittstellen 984 und 994 mit einer Speicherplattenlaufwerkgruppe 985 verbunden. Die Steuerungen 950 und 960 und die Speichervorrichtung 980 werden von redundant konfigurierten Stromversorgungen 972 und 973 gespeist, die im sel ben Gehäuse wie das Speichersteuersystem 971 installiert sind, und verschiedene Betriebseinstellungen und/oder die Betriebsverwaltung für die Steuerungen 950 und 960 und die Speichervorrichtung 980 werden durch einen Verwaltungsmechanismus 974 ausgeführt.
  • Der Steuerungs- und Datenfluss wird anhand eines Beispiels beschrieben, bei dem die Steuerung 950 Schreibdaten an eine Speicherressource 985 überträgt, die eine Gruppe von Speicherplattenlaufwerken umfasst.
  • Wenn die Steuerung 950 eine Anforderung für einen Datendienst von einem Dienstnetzwerk 970 empfängt, wandelt ein Prozessor 952 die Dienstanforderung in eine E/A-Anweisung an die Speichervorrichtung 980 um und sendet die E/A-Anweisung über die Fiber-Channel-Schnittstelle 953, den Fiber-Channel-Schalter 956 und die Fiber-Channel-Schnittstelle 986 an die Speichervorrichtung 980.
  • Die an die Speichervorrichtung 980 gesendete E/A-Anweisung wird im Steuerspeicher 982 gespeichert. Falls die E/A-Anweisung ein Schreibbefehl ist, weist die Fiber-Channel-Schnittstelle 986 den Prozessor 952 an, die Daten zu übertragen. Gemäß dieser Anweisung sendet der Prozessor 952 die Schreibdaten nach dem Fiber-Channel-Protokoll an die Speichervorrichtung 980. Die Speichervorrichtung 980 empfängt die gesendeten Schreibdaten und speichert die Daten vorübergehend im Cache-Speicher 983. Die Schreibdaten werden von der Geräteschnittstelle 984 zusammen mit redundanten Daten an die Speicherressource 985 übertragen.
  • Als Nächstes wird ein Mechanismus in dem Speichersteuersystem 971 beschrieben, bei dem in dem in 9 gezeigten System der Betrieb des Speichersteuersystems 971, zum Beispiel ein Datendienst, automatisch fortgesetzt werden kann, indem die Steuerung 960 veranlasst wird, die Ressourcen von der Steuerung 950 zu übernehmen, wenn diese versagt, und die Steuerung 950 veranlasst wird, die Ressourcen von der Steuerung 960 zu übernehmen, wenn diese versagt.
  • Die Speicherressource 985 speichert eine Betriebszustandsverwaltungstabelle, wie in 10 gezeigt. Die Betriebszustandsverwaltungstabelle umfasst Felder wie die Informationen 1001 und 1002 zum Angeben der jeweiligen Steuerung und Informationen 1003 und 1004 zum Angeben der zu überwachenden Steuerung.
  • Diese Felder werden zum Beispiel nach einer Failover-Richtlinie eingestellt. Die Zeitstempel 1005 und 1006 geben die Zeit für die jeweiligen Steuerungen 950 und 960 an, wenn die Steuerungen 950 und 960 eine E/A mit Betriebsinformationen (oder eine Herzschlagnachricht) ausgeben. In den Feldern 1007 und 1008 „Zustand" in der Betriebszustandsverwaltungstabelle werden Informationen eingestellt, die den Zustand „Normal" und/oder „Störung" für die Steuerungen 950 und 960 angeben. Falls nötig, können typische Kennzeichen wie Namen, die der Steuerung im Dienstnetzwerk 970 beim Konfigurieren eines Clustersystems zugewiesen werden, für die Informationen verwendet werden, die in diesen Feldern eingestellt werden.
  • Der Prozessor 952 der Steuerung 950 sendet einen Lesebefehl zum Lesen der Betriebszustandsverwaltungstabelle in der Speicherressource 985 mit einem geeigneten Takt (zum Beispiel periodisch) und erhält alle oder einen Teil der in der Betriebs zustandsverwaltungstabelle angegebenen Daten. Wenn der Prozessor 952 die Betriebszustandsverwaltungstabelle liest, sieht er im Feld 1001 und 1002 „Name der Steuerung" unter den gesamten Daten nach und bezieht sich auf den Namen der Steuerung, die unter „Zu überwachende Steuerung" aufgelistet ist, entsprechend dem Steuerungsnamen „Server A", welches der Name der Steuerung 950 ist. In diesem Beispiel ist „Server B" dem „Server A" als die Steuerung zugewiesen, die überwacht werden soll. Daher prüft der Prozessor 952 den Zeitstempel 1006 und das Feld 1008 „Zustand" für den „Server B" und bestimmt, ob ein Failover-Prozess ausgeführt werden muss oder nicht.
  • Ist eine Differenz zwischen dem Zeitstempel 1006 von „Server B" und der aktuellen Zeit gleich oder größer als eine vorgegebene Zeitdauer oder sind Informationen, die einen Zustand „Störung" angeben, im Feld 1008 „Zustand" eingestellt, bestätigt der Prozessor 952, dass eine Art von Versagen oder Fehler in der Steuerung 960 vorliegt. Weil der Prozessor 952 auf die Betriebszustandsverwaltungstabelle zugreifen kann, bestätigt der Prozessor 952 außerdem, dass kein Versagen im internen Kommunikationspfad vorliegt und dass das Versagen in der Steuerung 960 vorliegt, und beginnt, die von der Steuerung 960 ausgeführten Prozesse und deren Ressourcen zu übernehmen.
  • Hierbei ist zu beachten, dass der Prozessor 952 den Inhalt der Felder 1005 und 1007 in 10, die den Zeitstempel und die Zustandsinformationen für den „Server A" mit einem geeigneten Takt (zum Beispiel periodisch) angeben, aufdatiert, unabhängig davon, ob der Prozessor 952 ein Versagen in der Steuerung 960 feststellt oder nicht. Die Steuerungen 950 und 960 führen die vorstehend genannten Prozesse regelmäßig aus, um einen Mechanismus wie für die Fehlerüberwachung mit einer universellen E/A-Schnittstelle als Kommunikationspfad zu realisieren.
  • Als Nächstes wird der Betrieb des Speichersteuersystems bei Auftreten eines Versagens oder Fehlers in dem Fiber-Channel-Schalter 956 beschrieben.
  • Wenn der Fiber-Channel-Schalter 956 ausfällt, ist die Steuerung 950 nicht in der Lage, eine Eingabe/Ausgabe auszuführen. Wenn die Steuerung 960 jedoch die Verarbeitung gemäß dem normalen Failover-Modus fortsetzt, konzentriert sich die Verarbeitung auf die Steuerung 960, und die Gesamtleistung kann sich verschlechtern.
  • Daher wird in einem solchen Fall die E/A fortgesetzt, indem der Eingabe-/Ausgabepfad für die Steuerung 950 von einem normalen Pfad über die Fiber-Channel-Schnittstelle 953 -> den Fiber-Channel-Schalter 956 -> die Fiber-Channel-Schnittstelle 986 zum Beispiel mittels einer universellen E/A-Schaltsoftware in einen anderen Pfad geändert wird, der über die Fiber-Channel-Schnittstelle 954 -> den Fiber-Channel-Schalter 966 -> die Fiber-Channel-Schnittstelle 996 läuft. Dabei wird auch der Pfad umgeschaltet, über den die Steuerung 950 die E/A zu/von der Speicherplatten-Volumegruppe 985 zum Speichern und Bestätigen der Zugriffszustandsinformationen der Steuerung 950 ausgeführt hat.
  • In diesem Beispiel speichert die Steuerung 950 auf der Speicherplatten-Volumegruppe 985 den Zeitstempel 1005 und den Inhalt des Felds 1007 „Zustand" für die Steuerung 950 in 10 über die Fiber-Channel-Schnittstelle 954 -> den Fiber-Channel-Schalter 966 -> die Fiber-Channel-Schnittstelle 996.
  • Vorstehend ist ein Beispiel beschrieben, bei dem der Fiber-Channel-Schalter 956 ausgefallen ist. Der vorstehend genannte Prozess kann jedoch umfassend für Fälle benutzt werden, wo ein Versagen zum Beispiel in der Fiber-Channel-Schnittstelle 953, dem Fiber-Channel-Schalter 966 oder der Fiber-Channel-Schnittstelle 986 auftritt.
  • Außerdem ist es möglich, in dem Speicherplattenlaufwerk zum Speichern der Betriebszustände der Steuerungen Netzwerkattribute wie Netzwerkadressen der Steuerungen, die für einen Cluster-Betrieb nötig sind, und Informationen bezüglich der Übernahme von Ressourcen zu speichern, zum Beispiel Informationen über die Speicherplattenlaufwerke, in denen Daten gespeichert sind. Weil die Steuerungen diese in dem Speicherplattenlaufwerk gespeicherten Informationen auslesen können, wird es mit einem solchen Aufbau möglich, die Verwaltung der Einstellungen für die Übernahme von Ressourcen zu vereinheitlichen und eine weitere Senkung der Verwaltungskosten zu realisieren.
  • 9 zeigt eine Konfiguration mit zwei Fiber-Channel-Schaltern 956 und 966. Die vorliegende Erfindung kann jedoch umfassend auch für Konfigurationen verwendet werden, in denen keine Fiber-Channel-Schalter vorgesehen sind, und/oder für Konfigurationen mit drei oder mehr Fiber- Channel-Schaltern. Außerdem kann die vorliegende Erfindung für Fälle mit anderen universellen E/A-Schnittellen als Fiber Channel angewendet werden.
  • Wie vorstehend erläutert, wird nach dem vorliegenden Beispiel die Übertragung der Betriebsinformationen, die die Zustandsinformationen für die Steuerungen 950 und 960 enthalten, über die universelle E/A-Schnittstelle an die Speichervorrichtung 980 ausgeführt, und nicht über den externen Kommunikationspfad oder einen privaten Kommunikationspfad. Daher ist es nicht nötig, eine Netzwerkschnittstelle für Herzschläge vorzusehen, wodurch eine Senkung der Kosten und Verringerung des Aufwands erreicht wird. Außerdem ist es durch Verwendung der sehr zuverlässigen universellen E/A-Schnittstelle möglich, eine hoch zuverlässige Funktion zum Überwachen der Betriebszustände zu realisieren.
  • Verfahren zum Speichern von Betriebsinformationen
  • Als Nächstes wird ein Beispiel zum Speichern der von einer Allzweck-Cluster-Software gesendeten Betriebsinformationen in einer Speicherressource (zum Beispiel einem Speicherplattenlaufwerk) wie Speicherplattenlaufwerken einer Speichervorrichtung beschrieben, wenn ein System nach einem Aspekt der vorliegenden Erfindung mit Allzweck-Cluster-Software konfiguriert worden ist.
  • 11 zeigt ein Beispiel eines Speichersteuersystems 1000 mit dem vorstehend beschriebenen Aufbau. Die Steuerungen 1110 bzw. 1150 empfangen mit ihren Dateisystemen 1113 und 1153 Dateidienstanforderungen von Clients über die jeweiligen Netzwerkschnittstellen 1111 und 1151 und Netzwerktreiber 1112 und 1152. Die Dateisysteme 1113 und 1153 führen jeweils die Datenübertragung mit einer Speichervorrichtung 1119 über die jeweiligen Speichertreiber 1114 und 1154, Fiber-Channel-Schnittstellen 1115 und 1155 und Fiber-Channel-Schalter 1116 und 1156 aus. Eine universelle E/A-Schaltsoftware ist in die Speichertreiber 1114 und 1154 eingearbeitet.
  • Wenn der Datenübertragungspfad ausfällt, schalten die Speichertreiber 1114 und 1154 den Pfad für die Datenübertragung auf einen Pfad um, der durch die Fiber-Channel-Schnittstellen 1117 und 1157 und die Fiber-Channel-Schalter 1116 und 1156 läuft.
  • Im vorliegenden System sendet die Allzweck-Cluster-Software Betriebsinformationen einschließlich Informationen bezüglich der Zustände der Steuerungen an das Netzwerk. Ferner ist es möglich, Emulationstreiber 1120 und 1160 in jeder der Steuerungen 1110 und 1150 arbeiten zu lassen. Diese Emulationstreiber 1120 und 1160 empfangen Anforderungen für die vorstehend genannten Betriebsinformationen wie Netzwerktreiber und wandeln die Anforderungen in Anforderungen zum Ausführen der Datenübertragung an die Speichervorrichtung 1119 über universelle E/A-Schnittstellen um. Mit einem solchen Aufbau ist es möglich, Herzschlagnachrichten über die universellen E/A-Schnittstellen transparent mit der Allzweck-Cluster-Software auszutauschen.
  • Auch wenn die E/A-Vorgänge Herzschlagnachrichten über die universellen E/A-Schnittstellen sind, schalten bei einem Versagen des Datenübertragungspfads die Speichertreiber 1114 und 1154 den Datenübertragungspfad auf einen Pfad über die Fiber-Channel-Schnittstellen 1117 und 1157 und die Fiber-Channel-Schalter 1116 und 1156 um und setzen die Datenübertragung fort. Daher wird ein leistungsfähiger Mechanismus zum Überwachen der Betriebszustände realisiert.
  • Obwohl die bevorzugte Ausführungsform der vorliegenden Erfindung ausführlich beschrieben worden ist, ist zu beachten, dass verschiedene Änderungen, Ergänzungen und Modifikationen daran vorgenommen werden können, ohne vom Umfang der Erfindung abzuweichen, wie er in den anliegenden Ansprüchen festgelegt ist.

Claims (15)

  1. Speichersteuersystem (10, 971) umfassend: mehrere Steuerungen (100, 110, 952, 960), deren jede dazu ausgelegt ist, eine Dateneingabe-/Datenausgabeanforderung zu bedienen, die von einem Hostgerät über einen externen Kommunikationspfad (50, 970) eingegeben worden ist, und deren jede eine CPU (101, 111, 952, 962), eine externe Schnittstelle (102, 112, 951, 961), die mit dem externen Kommunikationspfad verbunden ist, und eine Fiber-Channel-Schnittstelle (956, 966) umfasst; und eine Speichervorrichtung (120, 980), umfassend ein Speicherplattenlaufwerk (122, 985), eine Geräteschnittstelle (123, 984, 994) zum Ausführen von Schreib- und Lesevorgängen von Daten auf das Speicherplattenlaufwerk und von diesem und einen internen Kommunikationspfad (20), über den die Steuerungen Dateneingabe-/Datenausgabebefehle und Dateneingabe/Datenausgabe verarbeiten, wobei der interne Kommunikationspfad jeweils die Fiber-Channel-Schnittstellen der Steuerungen mit der Geräteschnittstelle der Speichervorrichtung verbindet, wobei die Steuerungen jeweils eine Einrichtung zum Senden ihrer eigenen Betriebsinformationen über den internen Kommunikationspfad an die anderen Steuerungen umfassen, wobei die Steuerungen jeweils dazu ausgelegt sind, einen Betriebszustand anderer Steuerungen über den internen Kommunikationspfad zu überwachen, wobei die Steuerungen ferner jeweils dazu ausgelegt sind, eine der Dateneingabe-/Datenausgabeanforderung entsprechende Dateneingabe-/Datenausgabeanweisung über den internen Kommunikationspfad an die Geräteschnittstelle zu kommunizieren, wobei die Geräteschnittstelle dazu ausgelegt ist, das Schreiben oder Lesen von Daten auf das Speicherplattenlaufwerk oder von diesem gemäß den Dateneingabe-/Datenausgabeanweisungen auszuführen, wobei die Betriebsinformationen Informationen enthalten, die anzeigen, ob irgendeine der CPU, der externen Schnittstelle und der Fiber-Channel-Schnittstelle versagt hat, wobei das Speichersteuersystem ferner eine Einrichtung dafür umfasst, mindestens eine der anderen Steuerungen die von einer versagenden Steuerung auszuführende Verarbeitung übernehmen zu lassen, wenn wenigstens eine der anderen Steuerungen bestätigt, dass die versagende Steuerung versagt hat, wobei die Steuerung zu bestimmen ausgelegt ist, dass der interne Kommunikationspfad versagt hat, wenn die Steuerung keinen Betriebszustand empfangen kann, wobei die Steuerung, wenn sie bestimmt, dass der interne Kommunikationspfad versagt hat, dazu ausgelegt ist, die Dateneingabe-/Datenausgabeverarbeitung über den internen Kommunikationspfad zu stoppen.
  2. System nach Anspruch 1, ferner umfassend: eine Einrichtung zum Aufzeichnen der Betriebsinformationen in einem Speicher (121, 982, 992), der mit dem internen Kommunikationspfad (20) verbunden ist, und wobei die Steuerungen (100, 110, 950, 960) jeweils eine Einrichtung zum Zugreifen auf den Speicher über den internen Kommunikationspfad und zum Überwachen eines Betriebszustands der anderen Steuerungen auf der Grundlage der im Speicher aufgezeichneten Betriebsinformationen umfassen.
  3. System nach Anspruch 1 oder 2, wobei der Speicher (121, 982, 992) eine Einrichtung zum Speichern von Ressourceninformationen, die sich auf die Verarbeitung, für die die Steuerungen (100, 110, 950, 960) verantwortlich sind, beziehen, umfasst; und die Steuerung, die die Verarbeitung übernehmen soll, eine Einrichtung zum Zugreifen auf die Ressourceninformationen und zum Bestätigen der Verarbeitung, die die Steuerung übernehmen soll, umfasst.
  4. System nach Anspruch 3, wobei die Ressourceninformationen Informationen mindestens einer der folgenden Arten enthalten: für Steuerungen (11, 110, 950, 960) erforderliche Informationen zur Kommunikation über den externen Kommunikationspfad (50, 970), oder den internen Kommunikationspfad (20); Informationen, die Speicherbereiche bezeichnen und die in der Dateneingabe-/Datenausgabeanweisung bezeichnet sind; eine Netzwerkadresse jeder der Steuerungen, die für die Kommunikation mittels des externen Kommunikationspfads verwendet wird.
  5. System nach Anspruch 2, wobei die Betriebsinformationen Informationen enthalten, die anzeigen, ob in irgendeiner der CPU (101, 111), der externen Kommunikationsschnittstelle (50, 970) oder der internen Kommunikationsschnittstelle (20) Versagen aufgetreten ist.
  6. System nach Anspruch 5, wobei die ein Versagen anzeigenden Informationen Zeitstempel sind, die in vorgegebenen Intervallen von jeder Steuerung (100, 110, 950, 960) über den internen Kommunikationspfad (20) an den Speicher (121) gesendet werden und in dem Speicher mit Bezug auf jede Steuerung aufgezeichnet werden; und wenn der einer Steuerung entsprechende Zeitstempel für eine vorgegebene Zeitdauer oder länger nicht aufdatiert worden ist, die Überwachungseinrichtung zu bestätigen ausgelegt ist, dass die eine dem Zeitstempel entsprechende Steuerung versagt hat.
  7. System nach Anspruch 1 oder 2, ferner umfassend eine Einrichtung zur Bestimmung, dass der interne Kommunikationspfad (20) versagt hat, wenn auf die Betriebsinformationen nicht zugegriffen werden kann.
  8. System nach Anspruch 1 oder 2, ferner umfassend eine Einrichtung zur Bestimmung, dass die einem Zeitstempel ent sprechende Steuerung versagt hat, wenn auf die Betriebsinformationen zugegriffen werden kann, aber der Zeitstempel einer der Steuerungen für eine vorgegebene Zeitdauer oder länger nicht aufdatiert worden ist, wobei der Zeitstempel aus Informationen besteht, die zu vorgegebenen Intervallen von jeder Steuerung (100, 110, 950, 960) über den internen Kommunikationspfad (20) an den Speicher gesendet und in dem Speicher mit Bezug auf jede der Steuerungen aufgezeichnet worden sind.
  9. System nach Anspruch 2, wobei die Betriebs- oder Ressourceninformationen, die sich auf Verarbeitung beziehen, für die jede der Steuerungen (100, 110, 950, 960) verantwortlich ist, in dem Speicher (121) und/oder in der Speichervorrichtung (120, 980) aufgezeichnet werden.
  10. System nach Anspruch 2, wobei die Steuerungen (100, 110, 950, 960) jeweils umfassen: ein Dat eiensystem zum Ausführen einer Dateneingabe-/Datenausgabeanforderung auf der Grundlage von Dateinamen; und eine Einrichtung zum Senden der Dateneingabe-/Datenausgabeanweisung an die Speichereinrichtung pro Dateneinheit, die vom Dateinamen bezeichnet wird.
  11. System nach Anspruch 2, wobei die Steuerungen (100, 110, 950, 960) jeweils umfassen: eine Geräteschnittstelle zum Steuern von Dateneingabe/Datenausgabe bezüglich einer Speicherressource wie einer Festplatte; einen Cache-Speicher; und eine Einrichtung zum Ausführen von Lesen/Schreiben von Daten über den Cache-Speicher auf die Speicherressource bzw. von dieser.
  12. System nach Anspruch 1, wobei der interne Kommunikationspfad (20) durch mehrere Kommunikationspfade auf eine redundante Weise gebildet ist.
  13. System nach Anspruch 2, wobei die Steuerungen (100, 110, 950, 960) jeweils umfassen: eine Einrichtung zum Senden ihrer eigenen Betriebsinformationen über einen anderen Kommunikationspfad an die anderen Steuerungen, wobei der andere Kommunikationspfad getrennt vom internen Kommunikationspfad (20) vorgesehen ist und die Steuerungen verbindet; und eine Einrichtung zum Senden der Betriebsinformationen, die über den anderen Kommunikationspfad gesendet werden sollen, an den internen Kommunikationspfad.
  14. Verfahren zum Steuern eines Speichersteuersystems, wobei das Speichersteuersystem umfasst: mehrere Steuerungen (100, 110, 952, 960), deren jede dazu ausgelegt ist, eine Dateneingabe-/Datenausgabeanforderung, die von einem Hostgerät über einen externen Kommunikationspfad (50, 970) eingegeben worden ist, zu bedienen, und deren jede eine CPU (101, 111, 952, 962), eine externe Schnittstelle (102, 112, 951, 961), die mit dem externen Kommunikationspfad verbunden ist, sowie eine Fiber-Channel-Schnittstelle (956, 966) umfasst; und eine Speichervorrichtung (120, 980), umfassend ein Speicherplattenlaufwerk (122, 985), eine Geräteschnittstelle (123, 984, 994) zum Ausführen von Schreib- und Lesevorgängen für Daten auf das Speicherplattenlaufwerk und von diesem und einen internen Kommunikationspfad (20), über den die Steuerungen Dateneingabe-/Datenausgabeanweisungen und Dateneingabe/Datenausgabe verarbeiten, wobei der interne Kommunikationspfad jeweils die Fiber-Channel-Schnittstellen der Steuerungen mit der Gerätestelle der Speichervorrichtung verbindet, wobei das Verfahren die folgenden Schritte umfasst: die Steuerungen senden jeweils ihre eigenen Betriebsinformationen über den internen Kommunikationspfad an die anderen Steuerungen; und die Steuerungen überwachen einen Betriebszustand der anderen Steuerungen über den internen Kommunikationspfad, ferner kommunizieren die Steuerungen jeweils eine der Dateneingabe-/Datenausgabeanforderung entsprechende Dateneingabe-/Datenausgabeanweisung über den internen Kommunikationspfad an die Geräteschnittstelle, die Geräteschnittstelle führt das Schreiben oder Lesen von Daten auf das Speicherplattenlaufwerk oder von diesem entsprechend den Dateneingabe-/Datenausgabeanweisungen aus, wobei die Betriebsinformationen Informationen enthalten, die anzeigen, ob irgendeine der CPU, der externen Schnittstelle und der Fiber-Channel-Schnittstelle versagt hat, wobei das Verfahren ferner die folgenden Schritte umfasst: man lässt mindestens eine der anderen Steuerungen die von einer versagenden Steuerung auszuführende Verarbeitung übernehmen, wenn mindestens eine der anderen Steuerungen bestätigt, dass die versagende Steuerung versagt hat, wobei die Steuerung bestimmt, dass der interne Kommunikationspfad versagt hat, wenn die Steuerung keinen Betriebszustand empfangen kann, und, wenn die Steuerung bestimmt, dass der interne Kommunikationspfad versagt hat, wird die Dateneingabe-/Datenausgabeverarbeitung über den internen Kommunikationspfad gestoppt.
  15. Verfahren nach Anspruch 14, ferner umfassend die folgenden Schritte: die Betriebsinformationen werden auf einem mit dem internen Kommunikationspfad (20) verbundenen Speicher (121, 982, 992) aufgezeichnet, und die Steuerungen (100, 110, 950, 960) greifen jeweils auf den Speicher über den internen Kommunikationspfad zu und überwachen einen Betriebszustand der anderen Steuerungen auf der Grundlage der im Speicher aufgezeichneten Betriebsinformationen.
DE60224369T 2002-06-14 2002-10-18 Speichersteuerungssystem und Verfahren dazu Expired - Lifetime DE60224369T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002174944A JP2004021556A (ja) 2002-06-14 2002-06-14 記憶制御装置およびその制御方法
JP2002174944 2002-06-14

Publications (2)

Publication Number Publication Date
DE60224369D1 DE60224369D1 (de) 2008-02-14
DE60224369T2 true DE60224369T2 (de) 2008-12-18

Family

ID=29561824

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60224369T Expired - Lifetime DE60224369T2 (de) 2002-06-14 2002-10-18 Speichersteuerungssystem und Verfahren dazu

Country Status (4)

Country Link
US (1) US6959344B2 (de)
EP (1) EP1372076B1 (de)
JP (1) JP2004021556A (de)
DE (1) DE60224369T2 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030187987A1 (en) * 2002-03-29 2003-10-02 Messick Randall E. Storage area network with multiple pathways for command paths
JP4330889B2 (ja) 2003-01-20 2009-09-16 株式会社日立製作所 記憶デバイス制御装置にソフトウエアをインストールする方法、記憶デバイス制御装置の制御方法、及び記憶デバイス制御装置
JP2004362146A (ja) * 2003-06-03 2004-12-24 Hitachi Ltd ストレージ制御装置の制御方法及びストレージ制御装置
US7555569B1 (en) * 2004-02-02 2009-06-30 Emc Corporation Quick configuration status
US7454533B2 (en) * 2004-02-06 2008-11-18 Nec Corporation Redundant path control apparatus and redundant path control method
JP2005250938A (ja) * 2004-03-05 2005-09-15 Hitachi Ltd 記憶制御システム及び方法
JP4500090B2 (ja) * 2004-04-22 2010-07-14 株式会社日立製作所 情報管理システムと情報管理方法
US7200716B1 (en) * 2004-04-30 2007-04-03 Network Appliance, Inc. Method and apparatus to offload operations in a networked storage system
JP4353005B2 (ja) * 2004-06-29 2009-10-28 株式会社日立製作所 クラスタ構成コンピュータシステムの系切替方法
US7325163B2 (en) * 2005-01-04 2008-01-29 International Business Machines Corporation Error monitoring of partitions in a computer system using supervisor partitions
WO2007001728A1 (en) * 2005-06-27 2007-01-04 Emc Corporation Raid data storage system with sas expansion
US7624206B2 (en) * 2005-09-29 2009-11-24 Emc Corporation RAID data storage system with SAS expansion
US7574542B2 (en) * 2005-09-29 2009-08-11 Emc Corporation SAS expansion topology for RAID data storage including multiplexers and SAS expanders for interfacing with single or dual ports drives
JP4511455B2 (ja) 2005-12-20 2010-07-28 富士通株式会社 ファイバーチャネルスイッチおよびそれを用いたコンピュータシステム
GB0613239D0 (en) * 2006-07-04 2006-08-09 Ibm Storage area network system
US20090025063A1 (en) * 2007-07-18 2009-01-22 Novell, Inc. Role-based access control for redacted content
JP4633837B2 (ja) * 2008-01-22 2011-02-16 富士通株式会社 アドレス配信システム、方法およびそのためのプログラム
US7836335B2 (en) * 2008-04-11 2010-11-16 International Business Machines Corporation Cost-reduced redundant service processor configuration
JP5532687B2 (ja) * 2009-06-03 2014-06-25 日本電気株式会社 情報処理システム、情報処理システムの障害対応機構、及び情報処理システムの障害対応方法
JP5358736B2 (ja) * 2009-11-10 2013-12-04 株式会社日立製作所 複数のコントローラを備えたストレージシステム
US8909816B2 (en) * 2012-03-19 2014-12-09 Kaminario Technologies Ltd. Implementing a logical unit reset command in a distributed storage system
USRE48835E1 (en) * 2014-04-30 2021-11-30 Rubrik, Inc. Network addressable storage controller with storage drive profile comparison
US10855515B2 (en) * 2015-10-30 2020-12-01 Netapp Inc. Implementing switchover operations between computing nodes
US10423500B2 (en) * 2016-06-01 2019-09-24 Seagate Technology Llc Technologies for limiting performance variation in a storage device
WO2018056044A1 (ja) * 2016-09-21 2018-03-29 日本電気株式会社 計算機並びにクラスタ管理システム、方法及び非一時的なコンピュータ可読媒体
US11055273B1 (en) * 2016-11-04 2021-07-06 Amazon Technologies, Inc. Software container event monitoring systems
WO2021012179A1 (zh) 2019-07-23 2021-01-28 华为技术有限公司 存储系统中实现存储业务连续性的方法、前端接口卡和存储系统
CN112363674B (zh) * 2020-11-12 2022-04-22 新华三技术有限公司成都分公司 一种数据写入方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3732869B2 (ja) * 1995-06-07 2006-01-11 株式会社日立製作所 外部記憶装置
US6279078B1 (en) * 1996-06-28 2001-08-21 Compaq Computer Corporation Apparatus and method for synchronizing a cache mode in a dual controller, dual cache memory system operating in a plurality of cache modes
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6009535A (en) * 1997-06-30 1999-12-28 Emc Corporation SCSI adaptor failover for a disk drive system
US6457098B1 (en) * 1998-12-23 2002-09-24 Lsi Logic Corporation Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US6321298B1 (en) * 1999-01-25 2001-11-20 International Business Machines Corporation Full cache coherency across multiple raid controllers
JP2001256003A (ja) * 2000-03-10 2001-09-21 Hitachi Ltd ディスクアレイ制御装置、そのディスクアレイ制御ユニットおよびその増設方法
US6629264B1 (en) * 2000-03-30 2003-09-30 Hewlett-Packard Development Company, L.P. Controller-based remote copy system with logical unit grouping
US6732289B1 (en) * 2000-08-31 2004-05-04 Sun Microsystems, Inc. Fault tolerant data storage system
US6792505B2 (en) * 2001-04-16 2004-09-14 International Business Machines Corporation System apparatus and method for storage device controller-based message passing having effective data channel bandwidth and controller cache memory increase
US6839788B2 (en) * 2001-09-28 2005-01-04 Dot Hill Systems Corp. Bus zoning in a channel independent storage controller architecture
JP2003140837A (ja) * 2001-10-30 2003-05-16 Hitachi Ltd ディスクアレイ制御装置
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
JP3714613B2 (ja) * 2001-12-12 2005-11-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置、該記憶装置を含む情報処理装置および情報記憶システムのリカバリ方法

Also Published As

Publication number Publication date
JP2004021556A (ja) 2004-01-22
DE60224369D1 (de) 2008-02-14
EP1372076B1 (de) 2008-01-02
US6959344B2 (en) 2005-10-25
EP1372076A3 (de) 2006-08-16
EP1372076A2 (de) 2003-12-17
US20030233502A1 (en) 2003-12-18

Similar Documents

Publication Publication Date Title
DE60224369T2 (de) Speichersteuerungssystem und Verfahren dazu
DE602005002713T2 (de) Informationsverarbeitungssystem mit redundanten Pfaden und Zugriffsverfahren
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69636663T2 (de) System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen
DE60106467T2 (de) Verfahren zum Installieren Überwachungsagenten, System und Computerprogramm von Objekten in einem IT-Netz Überwachung
DE102006048115B4 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE10297278B4 (de) Netzwerkspeicher-Vorrichtung für das Verbinden eines Host-Rechners mit mindestens einer Speichervorrichtung und Verfahren für die Verzonung (zoning) eines Speichercontrollermoduls (CMM) zu einem Kanal-Schnittstellenmodul (CIM) innerhalb einer Netzwerkspeicher-Vorrichtung (100)
DE102012210914B4 (de) Switch-Fabric-Management
DE102004001031B4 (de) Redundante Anwendungsendgeräte für Prozesssteuerungssysteme
DE602004002858T2 (de) Vorrichtung und Verfahren zur Datenarchivierung in einem Clustersystem
DE60220263T2 (de) Server-duplexverfahren und geduplextes serversystem
DE60318468T2 (de) Verfahren zur lösung von entscheidungslosigkeiten in einem cluster-rechnersystem
DE602005001851T2 (de) Speicherplattenanordnungsgerät und Steuerverfahren dafür
EP1297394B1 (de) Redundantes steuerungssystem sowie steuerrechner und peripherieeinheit für ein derartiges steuerungssystem
DE102004027672A1 (de) Speicherplattenarraysystem
DE112013006643B4 (de) Speichersystem und steuerungsverfahren für speichersystem
DE102004025921A1 (de) Speichersystem mit mehreren Schnittstellen sowie Datenzugriffsverfahren in einem derartigen Speichersystem
DE4422786A1 (de) Speichersystem
DE3640646A1 (de) Diagnostisches system
DE102004013113A1 (de) Plattenarraysystem und Fehlerinformations-Steuerungsverfahren
DE19607515A1 (de) Ein Computerbetriebsverwaltungssystem für ein Computerbetriebssystem, das dazu in der Lage ist gleichzeitig eine Mehrzahl von Anwendungsprogrammen auszuführen
DE10324380B4 (de) Programmierbare Steuerung mit CPU und Kommunikationseinheiten sowie Verfahren zur Steuerung derselben
DE10220886A1 (de) Datenspeichersysteme mit verbesserten Netzwerkschnittstellen
DE19903963B4 (de) Datenübertragungsanordnung und -verfahren
DE60309012T2 (de) Verfahren und system zur sicherstellung eines busses und eines steuerservers

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: MUROTANI, AKIRA, TOKYO, JP

Inventor name: NAKANO, TOSHIO, TOKYO, JP

Inventor name: YOKOHATA, SHIZUO, TOKYO, JP

Inventor name: TAKAMOTO, KENICHI, TOKYO, JP

8364 No opposition during term of opposition