-
Die
vorliegende Erfindung betrifft ein Programm und ein Verfahren zum
Verifizieren einer Zuverlässigkeit
eines Netzwerksystems. Genauer gesagt betrifft die vorliegende Erfindung
ein Zuverlässigkeitsverifizierungsprogramm
und -verfahren zum Bewerten einer Redundanz von Netzwerkvorrichtungen
und -verbindungen.
-
Einige
Typen von Netzwerksystemen sind derart entwickelt, dass sie redundante
Verbindungen von Vorrichtung zu Vorrichtung haben, um Clients bzw.
Klienten mit zuverlässigeren
Diensten zu versorgen. In solchen Systemen sind Netzwerkvorrichtungen
durch mehrere Signalübertragungswege
miteinander verbunden, so dass ein alternativer Weg einen fehlerbehafteten
Weg übernehmen
wird, ohne eine Kommunikation zwischen Vorrichtungen zu unterbrechen.
In einer Speicherbereichsnetzwerk-(SAN = Storage Area Network)-Umgebung
ist beispielsweise dieses Merkmal durch Einsetzen von mehreren redundanten
physikalischen Verbindungen für
Server-Speicherverbindungen implementiert.
-
Eine
Redundanz von physikalischen Übertragungswegen
trägt stark
zu einer verbesserten Zuverlässigkeit
einer Kommunikation bei. Gegenteilig ausgedrückt wird die gesamte Zuverlässigkeit
eines Netzwerksystems dadurch bestimmt, ob es redundante Signalübertragungswege
hat. Einige Untersuchungen schlagen Techniken zum Bewerten einer Zuverlässigkeit
eines Netzwerks in Bezug auf diesen Aspekt vor (siehe beispielweise
die
japanische ungeprüfte Patentveröffentlichung
Nr. 2003-67432 A oder die
entsprechende Nachanmeldung
US 2003/0041144 A1 ).
-
Wenn
Netzwerksysteme größer werden,
wird ihr Management aufgrund einer erhöhten Komplexität einer
physikalischen Netzwerkstruktur immer schwieriger, was Netzwerkadministratoren
eine große
Belastung auferlegt. In einigen Fällen führt ein Übersehen von unrichtigen Verbindungen
zwischen Netzwerkelementen selbst dann zu einer verschlechterten
Redundanz, wenn das System ursprünglich derart
entwickelt ist, dass es redundante Wege für eine Signalübertragung
hat. Netzwerksysteme sind jedoch oft so kompliziert, dass Anwender
nicht dazu fähig
sind, solche Fehler mit einer visuellen Untersuchung zu finden.
-
Neben
einem Verwenden der oben diskutierten physikalischen Verbindungen
müssen
Netzwerkvorrichtungen logische Pfade aufbauen bzw. einstellen, um
miteinander zu kommunizieren. Derartige logische Pfade, die ”Zugriffspfade” genannt
werden, sind am Quellenende (d. h. bei Vorrichtungen, die einen
Zugriff initiieren) definiert. Genauer gesagt stellt ein Server
einen Zugriffspfad zu einer Speichervorrichtung ein, um einen Zugriff
auf Daten in dieser Speichervorrichtung durchzuführen.
-
Zugriffspfade
müssen
auch redundant sein, um die Systemzuverlässigkeit sicherzustellen; ein nicht
richtiges Einstellen eines Pfades könnte die Redundanz des Systems
verderben. In einem SAN-System definieren beispielsweise Server
ihre eignen redundanten Zugriffspfade zu entfernten Speichervorrichtungen
gemäß Anweisungen
von einem Administrator. Diese Zugriffspfade können durch ihre Redundanz nur
dann geschützt
werden, wenn sie keinen überlagerten
Teil auf ihren physikalischen Wegen haben. Anders ausgedrückt würde ein
Fehler bei einem Einstellen eines Zugriffspfads zu einem Mangel
an Redundanz führen,
selbst wenn die physikalischen Netzwerkverbindungen derart entwickelt sind,
dass sie redundant sind.
-
Wie
es aus der obigen Diskussion gesehen werden kann, ist es schwierig,
die Redundanz in mehreren Zugriffspfaden in einer SAN-Umgebung sicherzustellen,
und ein nicht richtiges Einstellen eines Pfades könnte die
Systemzuverlässigkeit
und -verfügbarkeit
beeinträchtigen.
Aus diesem Grund werden existierende SAN-Systeme manchmal dazu gezwungen,
Operationen aufgrund eines Problems mit ihren Netzwerkvorrichtungen
zu stoppen, obwohl angenommen ist, dass diese Systeme bezüglich der Redundanz
vor einem Einzelstellenfehler geschützt sind. Wenn Netzwerkadministratoren
fälschlicherweise
auf die Redundanz ihres Netzwerks vertrauen, würden sie niemals den Fehler
ihres Systems bemerken, bis es aufgrund von irgendeinem Fehler in
einem nicht redundanten Teil tatsächlich stoppt, was in einer
langen Netzwerkausfallzeit resultiert.
-
WO 02/091690 A2 betrifft
ein Routingverfahren unter Verwendung bevorzugter Pfade in einem Speichernetzwerk.
Das Speichernetzwerk kann mehrere Knoten enthalten, die miteinander
verbunden sind, so dass mehrere unabhängige Pfade zwischen einem
Quellknoten und einem Bestimmungsknoten bereitgestellt werden. Eine
Verbindung aus einer Vielzahl von möglichen Verbindungen kann ausgewählt werden.
-
US 5 859 959 A betrifft
ein Computernetzwerk mit Geräten/Pfaden
mit redundanten Verbindungen. Eine Doppelverbindungsoption erlaubt
den Erhalt einer Netzwerkkonnektivität zu einem Gerät oder Pfad
durch Bereitstellen einer zweiten redundanten Verbindung, die übernimmt,
falls eine erste Verbindung versagt. Falls die Fähigkeit, mit einem Gerät zu kommunizieren,
verloren geht, weil ein Teil der Verbindung an das Gerät oder das
Gerät selbst zerstört wurde,
wird eine Wiedererlangung der Fähigkeit
bereitgestellt.
-
Angesichts
des Vorangehenden ist es eine Aufgabe der vorliegenden Erfindung,
ein Zuverlässigkeitsverifizierungsprogramm
und ein Zuverlässigkeitsverifizierungsverfahren
zur Verfügung
zu stellen, die Netzwerkadministratoren ermöglichen, die Redundanz eines
Systems zu verifizieren, das sie betreiben.
-
Zum
Erreichen der obigen Aufgabe stellt die vorliegende Erfindung ein
computerlesbares Speichermedium zur Verfügung, das ein Zuverlässigkeitsverifizierungsprogramm
zum Verifizieren einer Zuverlässigkeit
eines Netzwerksystems speichert. Dieses Programm veranlasst, dass
ein Computer als die folgenden Elemente fungiert: als Selektor,
als Verifizierungsweg-Bestimmungseinheit, als Auffindeinheit für einen
redundanten Weg und als Redundanzbestimmungseinheit für eine physikalische
Verbindung. Der Selektor wählt
eine Quellenvorrichtung und eine Zielortvorrichtung als Startpunkt
und als Endpunkt von Zugriffswegen unter Bezugnahme auf Netzwerkkonfigurationsdaten
aus, die physikalische Verbindungen des Netzwerksystems beschreiben.
Die Verifizierungsweg-Bestimmungseinheit bestimmt einen Verifizierungsweg
durch Verfolgen der in den Netzwerkkonfigurationsdaten beschriebenen
physikalischen Verbindungen von der Quellenvorrichtung zu der Zielortvorrichtung.
Die Auffindeinheit für
einen redundanten Weg erzeugt zuerst Netzwerkkonfigurations-Verifizierungsdaten
aus den Netzwerkkonfigurationsdaten durch Ausschließen von
Daten über
Vorrichtungen und physikalischen Verbindungen, die bei dem Verifizierungsweg
beteiligt sind, den die Verifizierungsweg-Bestimmungseinheit identifiziert
hat. Die Auffindeinheit für
einen redundanten Weg durchsucht dann die erzeugten Netzwerkkonfigurations-Verifizierungsdaten,
um einen redundanten Weg von der Quellenvorrichtung zu der Zielvorrichtung
zu finden. Die Redundanzbestimmungseinheit für eine physikalische Verbindung
bestimmt, dass das Netzwerk eine Redundanz bei physikalischen Verbindungen
hat, wenn die Auffindeinheit für
einen redundanten Weg einen redundanten Weg entsprechend dem Verifizierungsweg
erfolgreich gefunden hat.
-
Die
obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden
Erfindung werden aus der folgenden Beschreibung offensichtlich werden, wenn
sie in Zusammenhang mit den beigefügten Zeichnungen genommen wird,
die bevorzugte Ausführungsbeispiele
der vorliegenden Erfindung anhand eines Beispiels darstellen.
-
Es
folgt eine kurze Beschreibung der Zeichnungen.
-
1 ist
eine Konzeptansicht der vorliegenden Erfindung.
-
2 zeigt
eine Systemkonfiguration gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
3 zeigt
eine beispielhafte Hardwarekonfiguration einer Computerplattform
für einen
Administrationsserver des vorliegenden Ausführungsbeispiels.
-
4 ist
ein Blockdiagramm, das Funktionen des Administrationsservers zeigt.
-
5 zeigt
ein konzeptmäßiges Modell
eines SAN-Systems, analysiert durch einen Konfigurationsmanager.
-
6 zeigt
eine beispielhafte Datenstruktur einer Netzwerkkonfigurations-Datenbank.
-
7 ist
ein Diagramm, das ein SAN-System darstellt.
-
8 ist
ein Ablaufdiagramm eines Verifizierungsprozesses für eine physikalische
Verbindung.
-
9 zeigt
einen Prozess einer Datenanalyse gemäß einer zugehörigen Konfigurationsextraktionsprozedur.
-
10 ist
ein Ablaufdiagramm eines Prozesses zum Vorbereiten von Redundanzverifizierungsdaten.
-
11 zeigt
eine beispielhafte Datenstruktur von zugehörigen Konfigurationsdaten.
-
12 zeigt
eine beispielhafte Datenstruktur von Redundanzverifizierungsdaten.
-
13 zeigt
eine SAN-Systemdarstellung basierend auf zugehörigen Konfigurationsdaten.
-
14 zeigt
eine SAN-Systemdarstellung basierend auf Redundanzverifizierungsdaten.
-
15 zeigt,
wie ein Weg bei Redundanzverifizierungsdaten zu finden ist.
-
16 zeigt
einen Verifizierungsweg, der gefunden ist.
-
17 zeigt
Redundanzverifizierungsdaten, die Vorrichtungen und Ports ausschließen, die
bei dem Verifizierungsweg beteiligt sind.
-
18 zeigt
einen logischen Prozess zum Finden eines redundanten Wegs.
-
19 zeigt,
wie ein redundanter Weg bei Redundanzverifizierungsdaten zu finden
ist.
-
20 zeigt
ein nicht erfolgreiches Ergebnis einer Suche nach einem redundanten
Weg.
-
21 zeigt,
wie ein weiterer Weg bei Redundanzverifizierungsdaten zu finden
ist.
-
22 zeigt
einen bei der zweiten Suche gefundenen Verifizierungsweg.
-
23 zeigt
Redundanzverifizierungsdaten, die Vorrichtungen und Ports ausschließen, die
bei dem bei der zweiten Suche gefundenen Verifizierungsweg beteiligt
sind.
-
24 zeigt,
wie ein redundanter Weg bei Redundanzverifizierungsdaten zu finden
ist.
-
25 zeigt
einen redundanten Weg, der gefunden ist.
-
26 zeigt
ein erstes Beispiel eines Mehrpfadzugriffs.
-
27 zeigt
ein zweites Beispiel eines Mehrfach- bzw. Vielfachpfadzugriffs.
-
28 zeigt
ein beispielhaftes Ergebnis einer Verifizierung für eine physikalische
Verbindung, die zum Bestimmen eines Redundanzpegels durchgeführt ist.
-
29 zeigt
ein Beispiel von dualen redundanten Zugriffspfaden.
-
30 zeigt
ein Beispiel von Zugriffspfaden mit schlechter Redundanz.
-
31 zeigt
ein beispielhaftes Ergebnis einer Verifizierung für eine physikalische
Verbindung, die zum Extrahieren von Gruppen von kürzesten
Wegen durchgeführt
wird.
-
32 zeigt
ein beispielhaftes SAN-System mit zwei Schaltern.
-
33 zeigt
ein beispielhaftes SAN-System mit direkten Server-Speicher-Verbindungen.
-
34 zeigt
ein beispielhaftes SAN-System mit Schaltern, die in einer Ringtopologie
verbunden sind.
-
35 zeigt
ein beispielhaftes SAN-System mit Schaltern, die in einer Teilgittertopologie
verbunden sind.
-
36 zeigt
ein beispielhaftes SAN-System mit Schaltern, die in einer Vollgittertopologie
verbunden sind.
-
37 zeigt
ein beispielhaftes SAN-System, das in einer Kern/Rand-Topologie
mit mehreren Kernschaltern bzw. Hauptschaltern konfiguriert ist.
-
38 zeigt
ein beispielhaftes SAN-System, wo mehrere redundante Wege durch
dieselbe Gruppe von in Kaskade geschalteten bzw. in Reihe geschalteten
Schaltern verlaufen.
-
39 zeigt
ein beispielhaftes SAN-System, wo mehrere redundante Wege durch
denselben Schalter verlaufen.
-
40 zeigt
ein beispielhaftes SAN-System, wo eine Speichervorrichtung nur mit
einem Schalter verbunden ist.
-
41 zeigt
ein beispielhaftes SAN-System, das in einer Kern/Rand-Topologie
mit einem einzigen Kernschalter konfiguriert ist.
-
Nachfolgend
werden bevorzugte Ausführungsbeispiele
der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben werden, wobei sich gleiche Bezugszeichen immer auf gleiche
Elemente beziehen. Die Beschreibung beginnt mit einem Überblick über die
vorliegende Erfindung und geht dann weiter zu spezifischeren Ausführungsbeispielen
der Erfindung.
-
1 ist
eine konzeptmäßige Ansicht
der vorliegenden Erfindung. Die vorliegende Erfindung ermöglicht einem
Computersystem, als Selektor 1, als Verifizierungsweg-Bestimmungseinheit 2,
als Auffindeinheit für
einen redundanten Weg 3 und als Redundanzbestimmungseinheit
für eine
physikalische Verbindung 4 zu fungieren. Diese Elemente
stellen die nachfolgend beschriebenen Funktionen zur Verfügung.
-
Der
Selektor 1 wählt
eine Quellenvorrichtung 1aa und eine Zielortvorrichtung 1ab als
Start- und Endstellen von Zugriffswegen unter Bezugnahme auf Netzwerkkonfigurationsdaten 1a aus,
die physikalische Verbindungen eines gegebenen Netzwerksystems beschreiben.
Diese Auswahl wird in Reaktion auf beispielsweise einen Anwenderbefehl
durchgeführt.
Die Verifizierungsweg-Bestimmungseinheit 2 verfolgt
physikalische Verbindungen, die in den Netzwerkkonfigurationsdaten 1a beschrieben
sind, von der ausgewählten
Quellenvorrichtung 1aa zu der ausgewählten Zielortvorrichtung 1ab,
um dadurch Verifizierungswege 2a und 2b zu identifizieren.
In dem Fall, in welchem die Quellenvorrichtung 1aa und die
Zielortvorrichtung 1ab zwei oder mehrere Ports haben, wie
bei dem in 1 dargestellten Beispiel versucht
die Verifizierungsweg-Bestimmungseinheit 2 mehrere Verifizierungswege
entsprechend den einzelnen Quellen- und Zielortports zu bestimmen.
-
Genauer
gesagt wählt
die Verifizierungsweg-Bestimmungseinheit 2 bei dem in 1 gezeigten
Beispiel ein Port der Quellenvorrichtung 1aa aus und verfolgt
die in den Netzwerkkonfigurationsdaten 1a beschriebenen
Verbindungen beginnend von diesem Quellenport an und zu einem Port
der Zielortvorrichtung 1ab reichend. Dieser Prozess ergibt
einen Verifizierungsweg 2a. Die Verifizierungsweg-Bestimmungseinheit 2 wählt dann
ein weiteres Port der Quellenvorrichtung 1aa aus und findet
einen weiteren Verifizierungsweg 2b, der ein weiteres Port
derselben Zielortvorrichtung 1ab erreicht.
-
Die
Auffindeinheit für
einen redundanten Weg 3 schließt Vorrichtungen und physikalische
Verbindungen, die bei den identifizierten Verifizierungswegen 2a und 2b beteiligt
sind, von den Netzwerkkonfigurationsdaten 1a aus und erzeugt
dadurch jeweilige Netzwerkkonfigurations-Verifizierungsdaten 3a und 3b.
Darauffolgend schaut die Auffindeinheit für einen redundanten Weg 3 in
jede der Netzwerkkonfigurations-Verifizierungsdaten 3a und 3b bei
einem Versuch, einen redundanten Weg von der Quellenvorrichtung 1aa zu
der Zielortvorrichtung 1ab zu finden. Bei dem Beispiel
der 1 findet die Auffindeinheit für einen redundanten Weg 3 einen
redundanten Weg 3ba. Genauer gesagt wählt die Auffindeinheit für einen
redundanten Weg 3 ein Quellenport, das ein anderes als
dasjenige des identifizierten Verifizierungswegs 2a ist,
und konsultiert bzw. befragt dann die entsprechenden Netzwerkkonfigurations-Verifizierungsdaten 3a,
um einen Weg von dem ausgewählten
Quellenport zu einem übrigen
Port der Zielortvorrichtung 1ab zu finden. Dieser Versuch schlägt tatsächlich fehl,
und nun führt
die Auffindeinheit für
einen redundanten Weg 3 dasselbe für den anderen Verifizierungsweg 2b durch,
und zwar unter Bezugnahme auf seine entsprechenden Netzwerkkonfigurations-Verifizierungsdaten 3b.
Der zweite Versuch ergibt einen redundanten Weg 3ba.
-
Die
Redundanzbestimmungseinheit für
eine physikalische Verbindung 4 bestimmt, dass das Netzwerksystem
eine Redundanz bezüglich
seiner physikalischen Verbindungen hat, wenn die Auffindeinheit
für einen
redundanten Weg 3 erfolgreich einen redundanten Weg entsprechend
wenigstens einem Verifizierungsweg gefunden hat. Es ist zu beachten,
dass es dann, wenn zwei oder mehrere unterschiedliche Verifizierungswege
(z. B. die Wege 2a und 2b in 1) zwischen
gegebenen Start- und Endstellen existieren, keine Notwendigkeit
für alle von
diesen Wegen gibt, einen entsprechenden redundanten Weg zu haben.
Vom Redundanzstandpunkt aus ist es ausreichend, wenn ein Verifizierungsweg
einen redundanten Weg hat. Bei dem in 1 gezeigten
Beispiel hat der zweite Verifizierungsweg 2b einen redundanten
Weg 3ba, wohingegen der erste Verifizierungsweg 2a dies
nicht hat. Wenn keiner der zwei Verifizierungswege 2a und 2b einen
redundanten Weg hätte,
würde die
Redundanzbestimmungseinheit für
eine physikalische Verbindung 4 daraus schließen, dass
dem Netzwerksystem eine Redundanz fehlt. Wenn die Verifizierung
beendet ist, kann die Redundanzbestimmungseinheit für eine physikalische
Verbindung 4 das Ergebnis auf beispielsweise einem Monitorbildschirm
ausgeben.
-
Bei
einer Operation arbeiten die oben beschriebenen Komponenten der
vorliegenden Erfindung wie folgt. Zuerst wählt der Selektor 1 unter
Bezugnahme auf Netzwerkkonfigurationsdaten 1a, die physikalische
Verbindungen eines gegebenen Netzwerks beschreiben, eine Quellenvorrichtung 1aa und eine
Zielortvorrichtung 1ab als Start- und Endstellen von Zugriffspfaden
aus. Die Verifizierungsweg-Bestimmungseinheit 2 identifiziert
dann Verifizierungswege 2a und 2b von der Quellenvorrichtung 1aa zu der
Zielortvorrichtung 1ab durch Verfolgen der in den Netzwerkkonfigurationsdaten 1a beschriebenen
physikalischen Verbindungen.
-
Darauffolgend
erzeugt die Auffindeinheit für einen
redundanten Weg 3 Netzwerkkonfigurations-Verifizierungsdaten 3a aus
den Netzwerkkonfigurationsdaten 1a durch Ausschließen von
Datenaufzeichnungen von Vorrichtungen und physikalischen Verbindungen,
die bei einem Verifizierungsweg 2a beteiligt sind, den
die Verifizierungsweg-Bestimmungseinheit 2 identifiziert
hat. Gleichermaßen erzeugt
sie Netzwerkkonfigurations-Verifizierungsdaten 3b durch
Ausschließen
von Datenaufzeichnungen von Vorrichtungen und physikalischen Verbindungen,
die bei dem anderen Verifizierungsweg 2b beteiligt sind.
Mit diesen Netzwerkkonfigurations-Verifizierungsdaten 3a und 3b findet
die Auffindeinheit für
einen redundanten Weg 3 einen redundanten Weg 3ba,
d. h. einen weiteren Weg, der die Zielortvorrichtung 1ab erreicht.
Bei dem Beispiel der 1 ergibt die Suche bei den einen
Netzwerkkonfigurations-Verifizierungsdaten 3a keine
redundanten Wege, wohingegen die anderen Netzwerkkonfigurations-Verifizierungsdaten 3b einen
redundanten Weg 3ba liefern bzw. zur Verfügung stellen.
Mit dem gefundenen redundanten Weg 3ba schließt die Redundanzbestimmungseinheit
für eine
physikalische Verbindung 4 darauf, dass das in Frage stehende
Netzwerk eine gute Redundanz bezüglich
seiner physikalischen Verbindungen hat.
-
Eine
Redundanz eines Netzwerks kann durch eine unrichtige Verbindung
von Kabeln oder durch andere Fehler beeinträchtigt werden, welche wahrscheinlich
auftreten bzw. passieren, wenn die Netzwerkkonfiguration aus irgendeinem
Grund modifiziert wird. Der oben beschriebene Verifizierungsmechanismus
hilft den Anwendern, zu wissen, ob ihr Netzwerk noch seine redundanten
physikalischen Verbindungen zwischen Vorrichtungen unterhält. Beispielsweise
kann man die Gesundheit von seinem/ihrem Netzwerk durch einfaches
Laufen lassen des vorgeschlagenen Zuverlässigkeitsverifizierungsprogramms
auf einem Computer sicherstellen, nachdem der Netzwerkaufbau modifiziert
ist. Dieses Merkmal der vorliegenden Erfindung trägt zu zuverlässigen Operationen
eines Netzwerksystems bei.
-
SAN-Anwendungen
-
Neben
einem Verifizieren von physikalischen Verbindungen kann die vorliegende
Erfindung auch die Redundanz von Mehrfachzugriffspfaden bzw. Vielfachzugriffspfaden
einer bestimmten Vorrichtung auf einem Netzwerk prüfen. Beispielsweise
wird die vorliegende Erfindung effektiv auf SAN-Systeme angewendet,
die Anwender mit Datenspeicherdiensten auf einem Netzwerk versehen.
Dieser Abschnitt wird ein spezifisches Ausführungsbeispiel der vorliegenden
Erfindung beschreiben, welches auf eine Redundanzverifizierung für physikalische
Verbindungen und Zugriffspfade in einem SAN-System gerichtet ist.
-
2 zeigt
eine Systemkonfiguration gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Das dargestellte System versorgt Clients 21, 22 usw.
mit einem SAN-Dienst. Dieses SAN-System ist aus einer Vielzahl von
Servern 31, 32 und 33, einer Vielzahl
von Schaltern 41, 42 und 43 und einer Vielzahl
von Speichervorrichtungen 51 und 52 gebildet.
-
Die
Server 31 bis 33 sind mit den Clients 21, 22 usw. über ein
Netzwerk 20 verbunden. Ein Server 31 ist mit den
Schaltern 41 und 42 verbunden, während die
anderen zwei Server 32 und 33 mit den Schaltern 42 und 43 verbunden
sind. Die Server 31 bis 33 versorgen die Clients 21, 22 usw.
mit verschiedenen Verarbeitungsdiensten gemäß ihrer Anforderung. Beispielsweise
können
die Server 31 bis 33 als Web-Server mit Web-Anwendungsprogrammen
arbeiten. Serveranwendungen verwenden Daten in den Speichervorrichtungen 51 und 52,
und wenn ein solcher Prozess aufgerufen wird, greifen die Server 31 bis 33 auf
die Speichervorrichtungen 51 und 52 über einen
der Schalter 41, 42 und 43 zu.
-
Der
Schalter 41 ist mit dem Server 31 und den Speichervorrichtungen 51 und 52 verbunden. Der
Schalter 42 ist mit den Servern 31 bis 33 sowie mit
der Speichervorrichtung 52 verbunden. Der Schalter 43 ist
mit den Servern 32 und 33 sowie mit der Speichervorrichtung 51 verbunden.
Diese Schalter 41, 42 und 43 sind Faser-Kanalschalter, die
zum Transportieren von Daten zwischen den Servern 31 bis 33 und
den Speichervorrichtungen 51 und 52 eingesetzt
werden.
-
Die
Speichervorrichtungen 51 und 52 sind Datenspeichervorrichtungen
großer
Kapazität,
welche Daten von/zu den Servern 31 bis 33 in Reaktion auf
ihre Zugriffsanforderungen empfangen und liefern, die über die
Schalter 41, 42 und 43 empfangen sind.
-
Der
Administrationsserver 100 ist mit jeder Komponente des
SAN-Systems über
ein administratives Netzwerk 10 verbunden. Die administrative Netzwerkverbindung
lässt zu,
dass der Administrationsserver 100 auf SAN-Komponentenvorrichtungen zum
Zwecke von verschiedenen Managementaktivitäten zugreift. Spezifisch sammelt
der Administrationsserver 100 Information darüber, wie
jede Vorrichtung mit anderen Vorrichtungen verbunden ist, um die
Redundanz von physikalischen Netzwerkverbindungen zu verifizieren.
Der Administrationsserver 100 sammelt auch Information über vorhandene
Zugriffspfade von den Servern 31 bis 33, um ihre
Redundanz zu verifizieren, wobei der Ausdruck ”Zugriffspfad” sich auf
einen logischen Pfad bezieht, über
welchen ein Server auf eine Speichervorrichtung zugreifen kann.
-
3 zeigt
eine beispielhafte Hardwarekonfiguration des Administrationsservers 100 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung. Der dargestellte Administrationsserver 100 ist ein
Computersystem, das aus den folgenden Funktionselementen zusammengesetzt
ist: einer Zentralverarbeitungseinheit (CPU) 101, einem
Direktzugriffsspeicher (RAM) 102, einem Festplattenlaufwerk (HDD) 103,
einem Grafikprozessor 104, einer Eingabevorrichtungsschnittstelle 105 und
einer Kommunikationsschnittstelle 106. Die CPU 101 steuert
das gesamte Computersystem interagierend mit anderen Komponenten über einen
Bus 107.
-
Der
RAM 102 dient als temporärer Speicher für das Gesamte
oder einen Teil von Betriebssystem-(OS = Operating System)-Programmen und Anwendungsprogrammen,
die die CPU 101 ausführt, neben
einem Speichern von anderen verschiedenen Datenobjekten, die bei
einer Laufzeit manipuliert werden. Das HDD 103 speichert
Programm- und Datendateien des Betriebssystems und von verschiedenen Anwendungen.
Der Grafikprozessor 104 erzeugt Videobilder gemäß Zeichnungsbefehlen
von der CPU 104 und zeigt sie auf dem Bildschirm eines
daran gekoppelten externen Monitors 11 an. Die Eingabevorrichtungsschnittstelle 105 wird
zum Empfangen von Signalen von externen Eingabevorrichtungen, wie beispielsweise
einer Tastatur 12 und einer Maus 13, verwendet.
Diese Eingangssignale werden zu der CPU 101 über den
Bus 107 zugeführt.
Die Kommunikationsschnittstelle 106 ist mit dem administrativen Netzwerk 10 verbunden,
was zulässt,
dass die CPU 101 Daten mit anderen Computern (nicht gezeigt)
an dem administrativen Netzwerk 10 austauscht.
-
Der
oben beschriebene Computer dient als Hardwareplattform zum Realisieren
der Verarbeitungsfunktionen des vorliegenden Ausführungsbeispiels.
Während 3 einen
Administrationsserver 100 darstellt, kann dieselbe Hardwarestruktur
auch auf andere Vorrichtungen angewendet werden, einschließlich der
Clients 21 und 22, der Server 31 bis 33 und
der Speichervorrichtungen 51 und 52, die in 2 gezeigt
sind. Die Server 31 bis 33 und die Speichervorrichtungen 51 und 52 haben
jedoch eine Vielzahl von Kommunikationsschnittstellen. Die Speichervorrichtungen 51 und 52 sind
jeweils mit vielen HDD-Einheiten ausgestattet.
-
Der
Administrationsserver 100 stellt spezifische Verarbeitungsfunktionen
zur Verfügung,
die bei der vorliegenden Erfindung vorgeschlagen sind. Spezifisch
ist 4 ein Blockdiagramm, das Funktionen des Administrationsservers 100 zeigt.
In diesem Administrationsserver 100 ist folgendes enthalten:
eine Netzwerkkonfigurations-Datenbank 110, ein Konfigurationsmanager 120,
ein Verifizierer für
eine physikalische Verbindung 130 und ein Verifizierer
für einen Vielfachpfadzugriff 140.
-
Die
Netzwerkkonfigurations-Datenbank 110 wird dazu verwendet,
unter anderem die Information über
physikalische Verbindungen zwischen Vorrichtungen zu managen, die
ein SAN-System bilden. Diese Information wird Verbindungsliste genannt.
Der Konfigurationsmanager 120 sammelt Information über die
aktuellen Verbindungen von diesen Vorrichtungen und speichert die
gesammelte Information in der Netzwerkkonfigurations-Datenbank 110.
Der Konfigurationsmanager 120 empfängt auch Zugriffspfaddaten
von den Servern 31 bis 33 und übergibt sie zu dem Verifizierer
für einen
Vielfachpfadzugriff 140.
-
Der
Verifizierer für
eine physikalische Verbindung 130 verifiziert eine Redundanz
von physikalischen Verbindungen basierend auf einer in der Netzwerkkonfigurations-Datenbank 110 gespeicherten Verbindungsliste.
Spezifisch identifiziert der Verifizierer für physikalische Verbindungen 130 die
Netzwerkkonfiguration aus der gegebenen Verbindungsliste und durchsucht
sie nach Wegen zwischen einem Server und einer Speichervorrichtung,
die durch den Administrator spezifiziert ist. Basierend auf dem
Suchergebnis bestimmt der Verifizierer für physikalische Verbindungen 130 dann,
ob das Netzwerk eine Redundanz bezüglich seiner physikalischen
Verbindungen hat.
-
Der
Verifizierer für
Vielfachpfadzugriffe 140 bestimmt, ob jeder Server redundante
Zugriffspfade hat, nachdem die Redundanz von physikalischen Verbindungen
verifiziert ist. Spezifisch konsultiert der Verifizierer für Vielfachpfadzugriffe 140 den
Konfigurationsmanager 120, um Zugriffspfaddaten von jedem
Server für
einen Vergleich mit dem Ergebnis einer Verifizierung für physikalische
Verbindungen wiederzugewinnen bzw. auszulesen. Wenn sich herausstellt,
dass ein Zugriffspfad entlang redundanten physikalischen Verbindungen
verläuft,
bestimmt der Verifizierer für
Vielfachpfadzugriffe 140, dass die Zugriffspfade eine gute
Redundanz haben.
-
Die
folgenden Abschnitte werden die Details des Konfigurationsmanagers 120,
des Verifizierers für
physikalische Verbindungen 130 und des Verifizierers für Vielfachpfadzugriffe 140 liefern.
-
Konfigurationsmanager
-
Der
Konfigurationsmanager 120 analysiert zuerst das SAN-System und speichert
Daten, die die identifizierte Systemkonfiguration darstellen, in
die Netzwerkkonfigurations-Datenbank 110. Spezifischer
fragt der Konfigurationsmanager 120 jede SAN-Komponentenvorrichtung
an, die Identifizierer von ihren eigenen Ports zu senden. Der Konfigurationsmanager 120 fragt
auch die Schalter 41 bis 43 an, Identifizierer
zu senden, die darstellen, mit welchen Ports von entfernten Vorrichtungen
ihre eigenen Ports physikalisch verbunden sind. Basierend auf der empfangenen
Information speichert der Konfigurationsmanager 120 Konfigurationsdaten
des SAN-Systems in der Netzwerkkonfigurations-Datenbank 110.
-
5 zeigt
ein physikalisches Verbindungsmodell des in 2 diskutierten
SAN-Systems. Wie es aus diesem Modell gesehen werden kann, ist jeder
Vorrichtung ein eindeutiger Identifizierer zugeordnet, der jede
Vorrichtung von anderen im SAN-System unterscheidet. Spezifisch
ist einem Server 31 ein Identifizierer ”Server#1” zugeordnet. Gleichermaßen sind den
anderen Servern 32 und 33 jeweils ”Server#2” und ”Server#3” zugeordnet.
Den Schaltern 41, 42 und 43 sind jeweils ”Schalter#1”, ”Schalter#2” und ”Schalter#3” zugeordnet.
Den Speichervorrichtungen 51 und 52 sind jeweils ”Speicher#1” und ”Speicher#2” zugeordnet.
-
Weiterhin
hat jedes Port an den Vorrichtungen eine eindeutige Portnummer,
um dieses Port von anderen innerhalb desselben SAN-Systems zu unterscheiden.
Spezifisch sind dem Server 31 ”Port#0” und ”Port#1” als seine Portidentifizierungsnummern zugeordnet.
Gleichermaßen
sind dem Server 32 ”Port#2” und ”Port#3” zugeordnet
und sind dem Server 33 ”Port#4” und ”Port#5” zugeordnet.
-
Dem
Schalter 41 sind ”Port#10”, ”Port#11”, ”Port#12”, ”Port#13”, ”Port#14” und ”Port#15” als seine
Portidentifizierungsnummern zugeordnet. Gleichermaßen sind
dem Schalter 42 ”Port#20”, ”Port#21”, ”Port#22”, ”Port#23”, ”Port#24” und ”Port#25” zugeordnet
und sind dem Schalter 43 ”Port#30”, ”Port#31”, ”Port#32”, ”Port#33”, ”Port#34” und ”Port#35” zugeordnet. Der Speichervorrichtung 51 sind ”Port#40” und ”Port#41” zugeordnet
und der Speichervorrichtung 52 sind ”Port#42” und ”Port#43” zugeordnet. Wo es geeignet
ist, können
wir diese Portidentifizierungsnummern (oder einfach ”Portnummern”) verwenden,
um auf die Ports selbst Bezug zu nehmen.
-
Die
Ports sind durch Kommunikationskabel miteinander verbunden. Spezifisch
ist Port#0 des Servers 31 mit Port#10 des Schalters 41 verbunden. Port#1
des Servers 31 ist mit Port#21 des Schalters 42 verbunden.
Port#2 des Servers 32 ist mit Port#20 des Schalters 42 verbunden.
Port#3 des Servers 32 ist mit Port#30 des Schalters 43 verbunden.
Port#4 des Servers 33 ist mit Port#22 des Schalters 42 verbunden.
Port#5 des Servers 33 ist mit Port#31 des Schalters 43 verbunden.
Port#13 des Schalters 41 ist mit Port#40 der Speichervorrichtung 51 verbunden. Port#14
des Schalters 41 ist mit Port#43 der Speichervorrichtung 52 verbunden.
Port#15 des Schalters 41 ist mit Port#23 des Schalters 42 verbunden. Port#24
des Schalters 42 ist mit Port#42 der Speichervorrichtung 52 verbunden.
Port#25 des Schalters 42 ist mit Port#33 des Schalters 43 verbunden. Port#34
des Schalters 43 ist mit Port#41 der Speichervorrichtung 51 verbunden.
-
Von
jeder Vorrichtung sammelt der Konfigurationsmanager 120 Information über physikalische Verbindungen,
die in 5 gezeigt sind. Spezifisch erhält der Konfigurationsmanager 120 eine
Verbindungsliste (d. h. mehrere Gruppen von Quellen- und Zielort-Portnummern)
von den Schaltern 41 bis 43 neben Empfangs-Portnummern
von den Servern 31 bis 33, den Schaltern 41 bis 43 und
den Speichervorrichtungen 51 und 52. Basierend
auf der erhaltenen Information registriert der Konfigurationsmanager 120 dann
die SAN-Systemkonfiguration mit der Netzwerkkonfigurations-Datenbank 110.
-
6 zeigt
eine beispielhafte Datenstruktur der Netzwerkkonfigurations-Datenbank 110.
Wie es aus 6 gesehen werden kann, verwendet
der Konfigurationsmanager 120 diese Netzwerkkonfigurations-Datenbank 110,
um eine Vorrichtungsliste 111, eine Elementenliste 112,
eine Vorrichtung-Element-Liste 113 und eine Verbindungsliste 114 zu speichern.
Die Vorrichtungsliste 111 ist eine Sammlung von registrierten
Vorrichtungsidentifizierern. Die Elementenliste 112 ist
eine Sammlung von registrierten Portnummern. Die Vorrichtung-Element-Liste 113 ist
eine Gruppe von Datenaufzeichnungen, die die Zuordnung bzw. Verbindung
zwischen Vorrichtungen und ihren Ports (Elementen) beschreiben.
Kurz gesagt zeigt die Vorrichtung-Element-Liste 113 an,
welche Vorrichtung welche Ports hat. Die Verbindungsliste 114 ist
eine Gruppe von Datenaufzeichnungen, die jeweils eine physikalische
Verbindung von Port-zu-Port darstellen. Diese Verbindungslistenaufzeichnungen
leiten sich aus der Information ab, die von den Schaltern 41 bis 43 erhalten
wird, d. h. dem Identifizieren von entfernten Ports, die physikalisch mit
den Schaltern 41 bis 43 verbunden sind.
-
Verifizierer für physikalische
Verbindungen
-
Durch
Kombinieren von Datenaufzeichnungen in der Netzwerkkonfigurations-Datenbank 110 kann
der Verifizierer für
physikalische Verbindungen 130 die aktuelle SAN-Systemkonfiguration
identifizieren. Der Verifizierer für physikalische Verbindungen 130 kann
auch die SAN-Konfiguration
auf einem Bildschirm des Monitors 11 visualisieren, wie
es in 7 gezeigt ist. Das bedeutet, dass der Verifizierer
für physikalische
Verbindungen 130 ein SAN-Systemkonfigurationsdiagramm 60 basierend
auf den in der Netzwerkkonfigurations-Datenbank 110 gespeicherten
Datenaufzeichnungen zeichnet. Der Verifizierer für physikalische Verbindungen 130 gibt
dieses SAN-Systemkonfigurationsdiagramm 60 aus,
wenn er einen Prozess einer Verifizierung für physikalische Verbindungen
auf einen Empfang eines Anwenderbefehls hin beginnt und diesen durchführt.
-
8 ist
ein Ablaufdiagramm eines Verifizierungsprozesses für physikalische
Verbindungen. Dieser Prozess enthält die folgenden Schritte:
(Schritt
S11) Der Verifizierer für
physikalische Verbindungen 130 bestimmt eine Startstelle.
Spezifisch wählt
der Anwender einen bestimmten Server aus denjenigen aus, die in
dem SAN-Systemkonfigurationsdiagramm 60 gezeigt
sind, um dadurch zuzulassen, dass der Verifizierer für physikalische
Verbindungen 130 diesen Server als eine Startstellenvorrichtung
auswählt.
-
(Schritt
S12) Der Verifizierer für
physikalische Verbindungen 130 bestimmt eine Endstelle. Spezifisch
wählt der
Anwender eine bestimmte Speichervorrichtung aus denjenigen aus,
die in dem SAN-Systemkonfigurationsdiagramm 60 gesehen werden,
um dadurch zuzulassen, dass der Verifizierer für physikalische Verbindungen 130 diese
Vorrichtung als eine Endstellenvorrichtung auswählt.
-
(Schritt
S13) Der Verifizierer für
physikalische Verbindungen 130 bereitet Redundanzverifizierungsdaten
vor. Die Details dieses Prozesses werden später diskutiert werden.
-
(Schritt
S14) Der Verifizierer für
physikalische Verbindungen 130 wählt einen Verifizierungsweg
aus. Spezifisch wählt
der Verifizierer für
physikalische Verbindungen 130 einen nicht getesteten Weg aus
allen möglichen
Wegen zwischen der Starstelle zu der Endstelle aus, die spezifiziert
sind. Dieser ausgewählte
Weg wird ”Verifizierungsweg” genannt.
-
(Schritt
S15) Der Verifizierer für
physikalische Verbindungen 130 versucht, einen redundanten Weg
entsprechend dem ausgewählten
Verifizierungsweg zu finden. Spezifisch durchsucht der Verifizierer
für physikalische
Verbindungen 130, um einen Weg von einer Startstelle zu
einer Endstelle zu finden, die Liste für physikalische Verbindungen,
ausschließlich
der Vorrichtungen und Verbindungen auf dem Verifizierungsweg. Wenn
ein Weg gefunden wird, wird dieser Weg als redundanter Weg aufgezeichnet.
-
(Schritt
S16) Der Verifizierer für
physikalische Verbindungen 130 bestimmt, ob irgendein redundanter
Weg beim Schritt S15 gefunden ist. Wenn es so ist, geht der Prozess
weiter zu einem Schritt S19. Wenn es nicht so ist, geht der Prozess
weiter zu einem Schritt S17.
-
(Schritt
S17) Der Verifizierer für
physikalische Verbindungen 130 bestimmt, ob es irgendeinen nicht
getesteten Weg zwischen den gegebenen Start- und Endstellen gibt.
Wenn alle Wege getestet worden sind, dann geht der Prozess weiter
zu einem Schritt S18. Wenn es einen nicht getesteten Weg gibt, geht
der Prozess zurück
zum Schritt S14.
-
(Schritt
S18) Nun schließt
der Verifizierer für physikalische
Verbindungen 130 daraus, dass alle möglichen Wege ohne Erfolg untersucht
sind, das das SAN-System einen Mangel an Redundanz bezüglich seiner
physikalischen Verbindungen hat, und tritt somit aus diesem Prozess
aus.
-
(Schritt
S19) Nun schließt
der Verifizierer für physikalische
Verbindungen 130 daraus, dass es wenigstens ein Paar von
unabhängigen
Wegen zwischen den ausgewählten
Start- und Endstellen gibt, das das SAN-System eine Redundanz bezüglich seiner
physikalischen Verbindungen hat, und tritt somit aus diesem Prozess
aus.
-
Auf
die in 8 beschriebene Weise bestimmt der Verifizierer
für physikalische
Verbindungen 130 die Redundanz von physikalischen Verbindungen.
Dieser Verifizierungsprozess wird nun unter Bezugnahme auf 9 schematisch
dargestellt werden.
-
9 zeigt
einen Prozess einer Datenanalyse gemäß einer zugehörigen Konfigurationsextraktionsprozedur,
die die folgenden vier Stufen enthält. Bei der ersten Stufe ST1
erkennt der Verifizierer für physikalische
Verbindungen 130 die Konfiguration eines zu verifizierenden
Netzwerksystems. Ein bestimmter Server ist als Startstelle in dieser
Stufe gemäß einem
Anwenderbefehl oder ähnlichem
auszuwählen.
In der zweiten Stufe ST2 wird die ausgewählte Startstellenvorrichtung
(beim vorliegenden Beispiel der Server 31) hervorgehoben.
Die dritte Stufe ST3 lässt
zu, dass eine Endstellenvorrichtung (z. B. die Speichervorrichtung 51)
gemäß einem
Anwenderbefehl oder ähnlichem
ausgewählt
wird.
-
In
der vierten Stufe ST4 extrahiert der Verifizierer für physikalische
Verbindungen 130 nun, da sowohl die Startstelle als auch
die Endstelle ausgewählt
sind, alle Elemente (Vorrichtungen und Verbindungen), die sich auf
eine Kommunikation zwischen den ausgewählten Start- und Endstellen
beziehen. Hervorgehoben sind der Server 31, die Schalter 41 bis 43,
die Speichervorrichtung 51 und Verbindungen zwischen ihnen.
Der Verifizierer für
physikalische Verbindungen 130 kompiliert Redundanzverifizierungsdaten,
die diese zugehörigen
Elemente enthalten.
-
10 ist
ein Ablaufdiagramm eines Prozesses zum Vorbereitung von Redundanzverifizierungsdaten.
Dieser Prozess enthält
die folgenden Schritte:
(Schritt S21) Aus einer gegebenen SAN-Systemkonfiguration
extrahiert der Verifizierer für
physikalische Verbindungen 130 Elemente, die auf eine Kommunikation
zwischen den spezifizierten Start- und Endstellen bezogen sind.
Spezifisch konsultiert der Verifizierer für physikalische Verbindungen 130 die
Netzwerkkonfigurations-Datenbank 110, um ihre Datenaufzeichnungen
zu extrahieren, die andere als diejenigen sind, die nicht auf die
Start- und Endstellen bezogen sind. Die resultierende Gruppe von
Datenaufzeichnungen wird dann als ”zugehörige Konfigurationsdaten” im RAM 102 (siehe 3)
gespeichert.
-
(Schritt
S22) Der Verifizierer für
physikalische Verbindungen 130 entfernt Datenaufzeichnungen,
die Ports von Schaltern beschreiben, von den zugehörigen Konfigurationsdaten.
Da die Redundanz von physikalischen Verbindungen nichts damit zu
tun hat, welches Port an einem Schalter tatsächlich verwendet wird, wird
ein Entfernen von solcher Information von den Daten die Verifizierung
nicht schädigen. Vielmehr
trägt es
zu einer effizienteren Verifizierung bei.
-
(Schritt
S23) Schalterportnummern sind auch in einigen Aufzeichnungen der
Verbindungsliste in den zugehörigen
Konfigurationsdaten enthalten. Der Verifizierer für physikalische
Verbindungen 130 ersetzt somit diese Schalterportnummern
durch die Identifizierer von ihren entsprechenden Schaltern.
-
(Schritt
S24) Der Verifizierer für
physikalische Verbindungen 130 sortiert die Verbindungslistenaufzeichnungen
in Bezug darauf aus, ob sie ein Teil einer Kaskadenverbindung zwischen
Schaltern sind.
-
(Schritt
S25) Für
jede Verbindungslistenaufzeichnung gibt der Verifizierer für physikalische
Verbindungen 130 eine zusätzliche Eigenschaft, die die Richtung
von einer Zugriffsquelle zu einem Zugriffszielort anzeigt. Spezifischer
wird eine bidirektionale Eigenschaft für jede Reihenschaltung zwischen Schaltern
eingestellt. Für
die Verbindungen zwischen Servern und Schaltern wird eine unidirektionale
Eigenschaft vom Server zum Schalter zugeteilt. Weiterhin wird eine
unidirektionale Eigenschaft vom Schalter zum Speicher den Verbindungen
zugeteilt, die Schalter mit Speichervorrichtungen verbinden.
-
Die
obigen Schritte erzeugen Redundanzverifizierungsdaten. Bei diesem
Prozess erkennt der Verifizierer für physikalische Verbindungen 130 verschiedene
Daten, wie es nachfolgend detailliert beschrieben werden wird.
-
11 zeigt
eine beispielhafte Datenstruktur von zugehörigen Konfigurationsdaten.
Diese zugehörigen
Konfigurationsdaten 131 enthalten eine Vorrichtungsliste 131a,
eine Elementenliste 131b, eine Vorrichtung-Element- Liste 131c und
eine Verbindungsliste 131d. Die Vorrichtungsliste 131a ist
eine Sammlung von Vorrichtungsidentifizierern, die anzeigen, welche
Vorrichtungen zu den Start- und Endstellen gehören. Die Elementenliste 131b ist
eine Sammlung von registrierten Portnummern der zugehörigen Vorrichtungen.
Die Vorrichtung-Element-Liste 131c ist
eine Sammlung von Datenaufzeichnungen, die Assoziationen bzw. Verbindungen
zwischen zugehörigen
Vorrichtungen und ihren Ports (Elementen) angeben. Die Verbindungsliste 131d ist
eine Gruppe von Datenaufzeichnungen, die physikalische Verbindungen
von Port-zu-Port
darstellen.
-
Die
zugehörigen
Konfigurationsdaten 131 der 11 werden
aus der Netzwerkkonfigurations-Datenbank 110 der 6 durch
Entfernen von Aufzeichnungen über
irrelevante Vorrichtungen (in diesem Fall Server#2, Server#3, Speicher#2)
abgeleitet, die nicht bei der Kommunikation zwischen gegebenen Start-
und Endstellen (Server#1 und Speicher#1) beteiligt sind. Der Schritt 22 der 10 entfernt
weiterhin irgendwelche unnötigen
schalterbezogenen Aufzeichnungen von den zugehörigen Konfigurationsdaten 131.
Was bei dem vorliegenden Beispiel entfernt wird, ist folgendes:
Portnummern 131e in der Elementenliste 131b und
Datenaufzeichnungen 131f in der Vorrichtung-Element-Liste 131c. Ebenso
geben die Schritte S23 bis S25 der 10 Richtungseigenschaften
zu der Verbindungsliste 131d. Die resultierende Version
von Systemkonfigurationsdaten wird nun in dem RAM 102 als
Redundanzverifizierungsdaten gespeichert.
-
12 zeigt
eine beispielhafte Datenstruktur von solchen Redundanzverifizierungsdaten.
Die dargestellten Redundanzverifizierungsdaten 132 enthalten
eine Vorrichtungsliste 132a, eine Elementenliste 132b,
eine Vorrichtung-Element-Liste 132c und eine Verbindungsliste 132d.
Die Vorrichtungsliste 132a ist genau dieselbe wie die Vorrichtungsliste 131a in
den zugehörigen
Konfigurationsdaten 131 der 11. Die
Elementenliste 132b ist das, was übrigbleibt, nachdem die Schalterportnummern 131e aus
der ursprünglichen
Elementenliste 131b bei den zugehörigen Konfigurationsdaten 131 entfernt
worden sind. Die Vorrichtung-Element-Liste 132c ist das,
was übrigbleibt,
nachdem die auf Schalter bezogenen Aufzeichnungen 131f aus
der ursprünglichen
Vorrichtung-Element-Liste 131c bei den zugehörigen Konfigurationsdaten 131 entfernt
worden sind. Die Verbindungsliste 132d leitet sich aus
der Verbindungsliste 131d bei den zugehörigen Konfigurationsdaten 131 ab.
Es ist anzumerken, dass die Portnummern von Schaltern durch die
Identifizierer von diesen Schaltern ersetzt worden sind und dass
jede Aufzeichnung eine Richtungseigenschaft hat (die durch unidirektionale
und bidirektionale Pfeile in 12 dargestellt sind).
-
Wie
es aus den 11 und 12 gesehen werden
kann, führt
das vorliegende Ausführungsbeispiel
eine Datenreduktion an den Systemkonfigurationsdaten vor einem Beginnen
einer Verifizierung durch. Wie es früher angegeben ist, wird die
Redundanz von physikalischen Verbindungen von Server-zu-Speicher durch Testen
bestimmt, ob ein physikalischer Pfad denselben Schalter gemeinsam
mit einem weiteren Pfad nutzt, und dieser Test erfordert keine Portnummerninformation
in Bezug auf die Schalter. Diese unnötigen Schalterportnummern werden
daher entfernt, um die Verifizierungsverarbeitung zu beschleunigen.
-
Zusätzlich werden
die Verbindungslistenaufzeichnungen, die Schalterportnummern enthalten, die
mit Serverports oder Speichervorrichtungsports verbunden sind, in
logische Verbindungsaufzeichnungen, die zu Schalterportnummern gehören, mit Schalteridentifizierern
umgewandelt.
-
Richtungseigenschaften
von Verbindungslistenaufzeichnungen lassen zu, dass der Verifizierer für physikalische
Verbindungen 130 die Verbindungen in Abhängigkeit
von der Anordnung von Vorrichtungen in bestimmten Richtungen verfolgt.
Spezifisch ist es zugelassen, von einem Server zu einem Schalter
zu gehen, oder von einem Schalter zu einer Speichervorrichtung,
aber nicht von einem Schalter zu einem Server, und auch nicht von
einer Speichervorrichtung zu einem Schalter. Verbindungen zwischen Schalter
ist andererseits eine bidirektionale Eigenschaft zugeteilt.
-
Bei
eliminierten unnötigen
Daten kann der Verifizierer für
physikalische Verbindungen 130 Redundanzverifizierungsdaten
schnell verarbeiten, um zu bestimmen, ob das Netzwerk eine Redundanz
hat. Nimmt man nun Bezug auf die 13 und 14, wird
der folgende Abschnitt diskutieren, wie der Verifizierer für physikalische
Verbindungen 130 die SAN-Systemkonfiguration mit den zugehörigen Konfigurationsdaten 131 und
den Redundanzverifizierungsdaten 132 anschaut.
-
13 zeigt
eine SAN-Systemdarstellung basierend auf den zugehörigen Konfigurationsdaten 131 der 11.
Im Vergleich mit der 5 sind die Server 32 und 33,
die Speichervorrichtung 52 und ihre Verbindungen alle in
dem Modell der 13 eliminiert. 14 zeigt
eine SAN-Systemdarstellung basierend
auf den Redundanzverifizierungsdaten 132 der 12.
Das Systemmodell ist weiter vereinfacht; d. h. es gibt keine Portnummern,
die in den Schaltern 41 bis 43 angezeigt sind.
Es sollte auch beachtet werden, dass jede Verbindung zwischen Vorrichtungen
durch einen unidirektionalen oder bidirektionalen Pfeil dargestellt
ist. Der Verifizierer für
physikalische Verbindungen 130 durchsucht diese Redundanzverifizierungsdaten 132,
um einen Verifizierungsweg zu finden, wie es folgt.
-
15 zeigt,
wie ein Weg bei den gegebenen Redundanzverifizierungsdaten 132 zu
finden ist. Der Verifizierer für
physikalische Verbindungen 130 durchsucht zuerst die Vorrichtungsliste 132a,
um den Startstellenserver 31 zu finden, um dadurch eine
Datenaufzeichnung 71 zu erhalten, die seinen Identifizierer ”Server#1” enthält. Der
Verifizierer für
physikalische Verbindungen 130 konsultiert nun die Vorrichtung-Element-Liste 132c,
um eine Portnummer zu finden, die zu dem Identifizierer ”Server#1” gehört. Diese
Suche kann mehrere Treffer (beim vorliegenden Beispiel 2) ergeben,
in welchem Fall der Verifizierer für physikalische Verbindungen 130 einen
von ihnen auswählt.
Basierend auf der ausgewählten
Datenaufzeichnung 72 extrahiert dann der Verifizierer für physikalische
Verbindungen 130 eine Portnummer 73 mit einem
Wert von ”Port#0”. Auf diese
Weise wird das Startstellenport zur Verwendung bei der darauffolgenden
Verifizierungswegsuche bestimmt.
-
Dann
durchsucht der Verifizierer für
physikalische Verbindungen 130 nun, nachdem die Startstelle
ausgewählt
ist, die Verbindungsliste 132d nach einem Datenaufzeichnungssatz 74,
der eine Verbindung beschreibt, die sich von dem Startstellenport
erstreckt. Bei dem Beispiel der 15 zeigt
die Datenaufzeichnung 74 an, dass die Verbindung einen Schalter
erreicht, der als ”Schalter#1” bezeichnet
ist. Der Verifizierer für
physikalische Verbindungen 130 konsultiert wieder die Verbindungsliste 132d,
um dadurch eine Datenaufzeichnung 75 einer nächsten physikalischen
Verbindung zu erhalten, die sich von dem Schalter ”Schalter#1” erstreckt.
Bei dem Beispiel der 15 zeigt die Datenaufzeichnung 75 an, dass
die Verbindung einen weiteren Schalter erreicht, der als ”Schalter#2” bezeichnet
ist. Der Verifizierer für
physikalische Verbindungen 130 konsultiert wieder die Verbindungsliste 132d,
um dadurch eine Datenaufzeichnung 76 einer nächsten physikalischen
Verbindung zu erhalten, die sich von Schalter#2 erstreckt. Diese Datenaufzeichnung 76 zeigt an,
dass die Verbindung einen weiteren Schalter erreicht, der als ”Schalter#3” bezeichnet
ist. Der Verifizierer für
physikalische Verbindungen 130 konsultiert wieder die Verbindungsliste 132d,
um dadurch eine Datenaufzeichnung 77 einer nächsten physikalischen
Verbindung zu erhalten, die sich von Schalter#3 erstreckt.
-
Beim
Durchsuchen der Verbindungsliste 132d achtet der Verifizierer
für physikalische
Verbindungen 130 auf die Verbindungsrichtung, die in jeder Aufzeichnung
definiert ist, so dass er selektiv die Quellenseite von jeder Aufzeichnung
in dem Fall untersuchen kann, in welchem eine unidirektionale Eigenschaft
gegeben ist. Wenn eine relevante Aufzeichnung gefunden wird, markiert
der Verifizierer für physikalische
Verbindungen 130 diese Aufzeichnung als ”beendet”, um sie
von dem Umfang weiterer Durchsuchungen auszuschließen, um
dadurch zu verhindern, dass sich der Weg fälschlicherweise zurück zu derselben
Stelle dreht.
-
Nimmt
man wieder Bezug auf 15, zeigt die Datenaufzeichnung 77 an,
dass der Zielort von dieser Verbindung Port#41 der Speichervorrichtung 51 ist.
Der Verifizierer für
physikalische Verbindungen 130 extrahiert eine Datenaufzeichnung 78 mit
einem Wert von ”Port#41” aus der
Elementenliste 132b, um dadurch erfolgreich einen Verifizierungsweg
zu finden.
-
16 zeigt
den bei dem obigen Prozess gefundenen Verifizierungsweg. Bei dem
vorliegenden Beispiel beginnt der Verifizierungsweg bei Port#0 des
Servers 31 und geht durch die drei Schalter 41, 42 und 43 in
dieser Reihenfolge, bevor er Port#41 der Speichervorrichtung 51 erreicht.
-
Wenn
der Verifizierungsweg bestimmt ist, sucht der Verifizierer für physikalische
Verbindungen 130 nach einem entsprechenden redundanten
Weg. Vor einem Beginnen dieser Suche entfernt der Verifizierer für physikalische
Verbindungen 130 die Datenaufzeichnungen von Vorrichtungen
und Verbindungen auf dem Verifizierungsweg von den Redundanzverifizierungsdaten 132. 17 zeigt
die resultierenden Redundanzverifizierungsdaten 133, wobei
die gestrichelten Kästen
entfernte Datenaufzeichnungen zu erklärenden Zwecken darstellen.
-
Die
Redundanzverifizierungsdaten 133 enthalten eine Vorrichtungsliste 133a,
eine Elementenliste 133b, eine Vorrichtung-Element-Liste 133c und eine
Verbindungsliste 133d. Die Vorrichtungsliste 133a enthält nur ”Server#1” und ”Speicher#2”, nämlich die
Identifizierer des Servers 31 und der Speichervorrichtung 51,
während
die anderen Datenaufzeichnungen gelöscht sind. Die Elementenliste 133b enthält nur Datenaufzeichnungen
von ”Port#1” und ”Port#40”, die nicht
auf den Verifizierungsweg bezogen sind, während sie die anderen eliminiert.
Die Vorrichtung-Element-Liste 133c enthält nur Datenaufzeichnungen,
die Vorrichtung-Port-Beziehungen
beschreibt, die nicht auf den Verifizierungsweg bezogen sind, während sie
die anderen eliminiert. Die Verbindungsliste 133d enthält nur Datenaufzeichnungen von
physikalischen Verbindungen, die nicht auf den Verifizierungsweg
bezogen sind, während
sie die anderen eliminiert.
-
Die
Redundanzverifizierungsdaten 133, die so modifiziert sind,
werden durch den Verifizierer für physikalische
Verbindungen 130 durchsucht, um einen redundanten Weg zu
finden, d. h. einen Weg, der bei einem nicht zugehörigen Port
des Servers 31 startet und ein nicht zugehöriges Port
der Speichervorrichtung 51 erreicht. 18 zeigt
einen logischen Prozess zum Finden eines redundanten Wegs. Die gestrichelten
Linien zeigen an, welche Vorrichtungen und physikalischen Verbindungen
als bei dem Verifizierungsweg beteiligt ausgeschlossen sind, und
es wird dem Verifizierer für
physikalische Verbindungen 130 nur erlaubt, die übrigen SAN-Komponenten
beim Finden eines Wegs von Port#1 zu Port#40 zu durchsuchen, die
durch die fette Linie in 18 angezeigt sind.
-
Basierend
auf den reduzierten Redundanzverifizierungsdaten 133 versucht
der Verifizierer für physikalische
Verbindungen 130, einen redundanten Weg von Port#1 zu Port#40
zu finden. 19 zeigt, wie der Verifizierer
für physikalische
Verbindungen 130 diese Aufgabe ausführt. Der Verifizierer für physikalische
Verbindungen 130 untersucht zuerst die Vorrichtungsliste 133a,
um den Startstellenserver 31 zu finden, um dadurch eine
Datenaufzeichnung 71 zu erhalten, die seinen Identifizierer ”Server#1” enthält. Der
Verifizierer für
physikalische Verbindungen 130 konsultiert dann die Vorrichtung-Element-Liste 133c, um
eine Portnummer zu finden, die zu diesem Identifizierer ”Server#1” gehört. Diese
Suche ergibt eine Datenaufzeichnung 81, die ”Server#1:Port#1” enthält. Basierend
auf dieser Datenaufzeichnung 81 extrahiert der Verifizierer
für physikalische
Verbindungen 130 eine Portnummer 82 mit einem
Wert von ”Port#1”. Auf diese
Weise identifiziert der Verifizierer für physikalische Verbindungen 130 das
Startstellenport, von welchem die darauffolgende Suche nach einem
redundanten Weg beginnt.
-
Darauffolgend
durchsucht der Verifizierer für physikalische
Verbindungen 130 die Verbindungsliste 133d und
findet eine Datenaufzeichnung 83, die eine Verbindung beschreibt,
die sich von dem Startstellenport erstreckt. Bei dem Beispiel der 19 zeigt
die Datenaufzeichnung 83 an, dass die Verbindung noch einen
weiteren Schalter erreicht, der als ”Schalter#2” bezeichnet ist. Demgemäß konsultiert der
Verifizierer für
physikalische Verbindungen 130 wieder die Verbindungsliste 133d bei
einem Versuch zum Erhalten einer Datenaufzeichnung einer physikalischen
Verbindung, die vom Schalter#2 verdrahtet ist. Die Verbindungsliste 133d enthält jedoch
keine derartige Datenaufzeichnung. Der Verifizierer für physikalische
Verbindungen 130 schließt somit daraus, dass es keinen
redundanten Weg entsprechend dem Verifizierungsweg gibt.
-
20 zeigt
das nicht erfolgreiche Ergebnis einer Suche nach einem redundanten
Weg. Die Suche ist fehlgeschlagen, weil der Schalter 42 rechts auf
dem Verifizierungsweg ist. Da kein redundanter Weg existiert, geht
der Verifizierer für
physikalische Verbindungen 130 zurück zu einer früheren Stufe
bei einem Versuch zum Finden eines anderen Verifizierungswegs, der
ein anderer als derjenige ist, der als Verifizierungsweg ausgewählt wurde.
-
21 zeigt,
wie ein weiterer Verifizierungsweg bei Redundanzverifizierungsdaten
zu finden ist. Dieser zweite Versuch geht auf dieselbe Weise weiter,
wie in 15, bis er eine Datenaufzeichnung 74 erhält. Der
Verifizierer für
physikalische Verbindungen 130 durchsucht die Verbindungsliste 132d und findet
eine Datenaufzeichnung 84, die eine Verbindung beschreibt,
die sich von Schalter#1 erstreckt. Bei dem Beispiel der 21 enthält die Datenaufzeichnung 84 einen
Zielortportidentifizierer ”Port#40” der Endstellen-Speichervorrichtung 51.
Der Verifizierer für
physikalische Verbindungen 130 schaut nun in die Elementenliste 132b und
liest eine Datenaufzeichnung 85 für das Port ”Port#40” aus, um dadurch erfolgreich
einen zweiten Verifizierungsweg zu finden. 22 zeigt
diesen bei der zweiten Suche gefundenen Verifizierungsweg. Spezifisch
beginnt der neu gefundene Verifizierungsweg bei Port#0 des Servers 31 und
erreicht Port#40 der Speichervorrichtung 51 über den
Schalter 41.
-
Wenn
der Verifizierungsweg bestimmt ist, sucht der Verifizierer für physikalische
Verbindungen 130 nach einem entsprechenden redundanten
Weg. Vor einem Beginnen dieser Suche entfernt der Verifizierer für physikalische
Verbindungen 130 die Datenaufzeichnungen von Vorrichtungen
und Verbindungen auf dem Verifizierungsweg von einer reduzierten Version
der Redundanzverifizierungsdaten 132. 23 zeigt
die resultierenden Redundanzverifizierungsdaten 134, wobei
die gestrichelten Kästen
entfernte Datenaufzeichnungen bzw. -sätze darstellen. Spezifisch
liefert die Vorrichtungsliste 134a keine Aufzeichnung für den Schalter 41 (Schalter#1),
da er als relevant für
den Verifizierungsweg gelöscht
ist. Die Elementenliste 134b enthält nur Datenaufzeichnungen
von ”Port#1” und ”Port#41”, die nicht
auf den Verifizierungsweg bezogen sind, während sie die anderen eliminiert.
Die Vorrichtung-Element-Liste 134c enthält nur zwei Datenaufzeichnungen,
die Vorrichtung-Port-Beziehungen
beschreibt, die nicht auf den Verifizierungsweg bezogen sind, während sie
die anderen eliminiert. Die Verbindungsliste 134d enthält nur nicht
zugehörige
physikalische Verbindungen, während
sie die anderen eliminiert. Tatsächlich schließt die Verbindungsliste 134b zwei
physikalische Verbindungen aus, und zwar eine von Port#0 zu Schalter#1
und die andere von Schalter#1 zu Port#40.
-
Unter
den Datenaufzeichnungen in den Redundanzverifizierungsdaten 134,
die so modifiziert sind, findet der Verifizierer für physikalische
Verbindungen 130 erfolgreich einen redundanten Weg, d.
h. einen Weg, der bei einem nicht zugehörigen Port des Servers 31 beginnt
und ein nicht zugehöriges
Port der Speichervorrichtung 51 erreicht. 24 zeigt
einen Prozess zum Finden eines redundanten Wegs. Der Verifizierer
für physikalische
Verbindungen 130 durchsucht zuerst die Vorrichtungsliste 134a für den spezifizierten
Startstellenserver 31, um dadurch eine Datenaufzeichnung 71 zu
erhalten, die seinen Identifizierer ”Server#1” enthält. Der Verifizierer für physikalische
Verbindungen 130 konsultiert dann die Vorrichtung-Element-Liste 134c,
um eine Portnummer zu finden, die zu diesem Identifizierer ”Server#1” gehört. Diese
Suche ergibt eine Datenaufzeichnung 81, die ”Server#1:Port#1” enthält. Basierend
auf dieser Datenaufzeichnung 81 extrahiert der Verifizierer
für physikalische
Verbindungen 130 eine Portnummer 82 mit einem
Wert von ”Port#1”. Auf diese
Weise identifiziert der Verifizierer für physikalische Verbindungen 130 das
Startstellenport, von welchem an die darauffolgende Suche nach einem
redundanten Weg beginnt.
-
Darauffolgend
durchsucht der Verifizierer für physikalische
Verbindungen 130 die Verbindungsliste 134d, um
eine Datenaufzeichnung 83 zu finden, die eine Verbindung
beschreibt, die sich von dem Startstellenport erstreckt. Bei dem
Beispiel der 24 zeigt die Datenaufzeichnung 83 an,
dass die Verbindung einen weiteren Schalter erreicht, der als ”Schalter#2” bezeichnet
ist. Der Verifizierer für
physikalische Verbindungen 130 konsultiert wieder die Verbindungsliste 134d,
um dadurch eine Datenaufzeichnung 76 einer nächsten physikalischen
Verbindung zu erhalten, die sich von Schalter#2 erstreckt. Da diese
Datenaufzeichnung 76 anzeigt, dass die Verbindung zu einem
weiteren Schalter ”Schalter#3” geht,
konsultiert der Verifizierer für
physikalische Verbindungen 130 wieder die Verbindungsliste 134d,
um eine Datenaufzeichnung 77 einer nächsten physikalischen Verbindung
auszulesen, die sich von Schalter#3 erstreckt. Bei dem Beispiel
der 24 zeigt die ausgelesene Datenaufzeichnung 77 an,
dass der Zielort von dieser Verbindung Port#41 der Speichervorrichtung 51 ist.
Der Verifizierer für
physikalische Verbindungen 130 schaut nun die Elementenliste 134b und
liest eine Datenaufzeichnung 78 mit einem Wert von ”Port#41” aus, um
dadurch erfolgreich einen redundanten Weg zu finden. 25 zeigt
den redundanten Weg, der gefunden ist, welcher bei Port#1 des Servers 31 startet
und durch die Schalter 42 und 43 läuft, bevor
er Port#41 der Speichervorrichtung 51 erreicht.
-
Vielfachpfadzugriffs-Verifizierer
-
Der
Verifizierer für
physikalische Verbindungen 130 verifiziert eine Redundanz
von physikalischen Verbindungen durch den oben geschriebenen Prozess.
Beim vorliegenden Beispiel werden duale redundante Wege zwischen
dem Server 31 und der Speichervorrichtung 51 gefunden.
Ein Pfad startet bei Port#0 des Servers 31, läuft durch
den Schalter 41 und erreicht Port#40 der Speichervorrichtung 51. Der
andere Pfad startet bei Port#1 des Servers 31, läuft durch
die Schalter 42 und 43 und erreicht Port#41 der
Speichervorrichtung 51. Der Verifizierer für physikalische
Verbindungen 130 übergibt
die Information über
diese redundanten Wege zu dem Vielfachpfadzugriffs-Verifizierer 140.
Der Vielfachpfadzugriffs-Verifizierer 140 liest dann Vielfachpfadzugriffsinformation
des Servers 31 von dem Konfigurationsmanager 120 aus,
um sie mit den redundanten Wegen zu vergleichen, die gefunden sind.
-
26 zeigt
ein erstes Beispiel eines Vielfachpfadzugriffs. Dieses Beispiel
gibt zwei Zugriffspfade an. Ein erster Zugriffspfad 91 ist
von Port#0 des Servers 31 zu Port#40 der Speichervorrichtung 51 eingestellt.
Ein zweiter Zugriffspfad 92 ist von Port#1 des Servers 31 zu
Port#41 der Speichervorrichtung 51 eingestellt. Ein Vielfachpfadzugriffs-Verifizierer 130 vergleicht
diese Zugriffspfade mit den Wegen, die durch den Verifizierer für physikalische Verbindungen 130 gefunden
sind. Dieser Vergleich offenbart das Vorhandensein des Paars von
physikalischen Wegen (d. h. einem Verifizierungsweg und einem redundanten
Weg) entsprechend den Zugriffspfaden von Interesse, um dadurch nachzuweisen, dass
die Redundanz eines Vielfachpfadzugriffs beim vorliegenden Beispiel
eingerichtet ist.
-
27 zeigt
ein zweites Beispiel eines Vielfachpfadzugriffs. Dieses Beispiel
hat einen ersten Zugriffspfad 93 von Port#0 des Servers 31 zu
Port#41 der Speichervorrichtung 51. Es hat auch einen zweiten
Zugriffspfad 94 von Port#1 des Servers 31 zu Port#40
der Speichervorrichtung 51. Der Vielfachpfadzugriffs-Verifizierer 140 vergleicht
diese Zugriffspfade mit den Wegen, die durch den Verifizierer für physikalische
Verbindungen 130 gefunden sind. Der Vergleich offenbart
das Fehlen von physikalischen Wegen entsprechend den Zugriffspfaden
von Interesse, was bedeutet, dass keine Redundanz bei einem Vielfachpfadzugriff
zur Verfügung
gestellt ist. In diesem Fall gibt der Vielfachpfadzugriffs-Verifizierer 140 eine
Warnungsnachricht auf einem Monitorbildschirm aus, um das Fehlen
einer Redundanz anzuzeigen. Optional kann der Vielfachpfadzugriffs-Verifizierer 140 konfiguriert
sein, um einen alternativen Aufbau von redundanten Wegen vorzuschlagen.
-
Der
vorgeschlagene Administrationsserver 100 findet eine geeignete
Gruppe von Wegen für
einen redundanten Vielfachpfadzugriff in einer SAN-Umgebung basierend
auf der Information über physikalische
Verbindungen zwischen Servern und Speichervorrichtungen. Für existierende
Vielfachpfadzugriffswege kann er testen, ob sie richtig auf redundante
physikalische Verbindungen abgebildet sind.
-
Redundanzebenenbewertung
-
Während die
vorangehenden Beispiele die Redundanz in Bezug darauf bestimmen,
ob es eine Vielzahl von physikalischen Verbindungen für eine einzige
logische Verbindung gibt, ist es auch möglich, einen Verifizierer für physikalische
Verbindungen 130 vorzusehen, der alle möglichen Wege testet und zählt, wie
viele redundanten Wege existieren.
-
28 zeigt
ein beispielhaftes Ergebnis einer Verifizierung für physikalische
Verbindungen, die zum Bestimmen einer Redundanzebene durchgeführt wird.
Dieses Verifizierungsergebnis für
physikalische Verbindungen 121 nimmt ein SAN-System an, das
aus einem Server 34, drei Schaltern 44 bis 46 und
einer Speichervorrichtung 53 gebildet ist, wie es in der
linken Hälfte
der 28 gezeigt ist. Der Server 34 hat drei
Ports, die als ”Port#60”, ”Port#61” und ”Port#62” bezeichnet
sind. Port#60 dieses Servers 34 ist mit dem Schalter 44 verbunden.
Gleichermaßen
sind Port#61 und Port#62 jeweils mit den Schaltern 45 und 46 verbunden.
Die Schalter 44 und 45 sind miteinander verbunden,
wie es die Schalter 45 und 46 sind. Die Speichervorrichtung 52 hat
drei Ports, die als ”Port#70”, ”Port#71” und ”Port#72” bezeichnet
sind. Port#70 dieser Speichervorrichtung 52 ist mit dem
Schalter 44 verbunden. Port#71 und Port#72 sind jeweils
mit unterschiedlichen Schaltern 45 und 46 verbunden.
-
Der
Verifizierer für
physikalische Verbindungen 130 bewertet das obige SAN-System,
und zwar insbesondere die Redundanz bezüglich physikalischer Verbindungen
zum Server 34 zur Speichervorrichtung 53. Die
Ergebnisse dieser Bewertung, einschließlich von Redundanzebenen,
werden als Verifizierungsergebnisse für physikalische Verbindungen 121 verfügbar gemacht.
Das in 28 gezeigte Verifizierungsergebnis
für physikalische
Verbindungen 121 enthält
zwei Gruppen von Wegen, und zwar eine bei einer Redundanzebene von
Drei und die andere bei einer Redundanzebene von Zwei. Spezifisch
enthält
die erstere Gruppe die folgenden drei Wege: Port#60 zu Port#70,
Port#61 zu Port#71 und Port#62 zu Port#72. Diese Wege können eine
Alternative zueinander sein, und somit der Redundanzpegel von Drei.
Die letztere Gruppe besteht tatsächlich
aus sieben Paaren von Wegen. Jedes Paar kann anstelle von jedem
anderen verwendet werden, und somit hat es die Redundanzebene von
Zwei.
-
Der
Vielfachpfadzugriffs-Verifizierer 140 empfängt das
obige Verifizierungsergebnis für
physikalische Verbindungen 121 und bestimmt daraus die Redundanz
von Zugriffspfaden. 29 zeigt ein Beispiel von dualen
redundanten Zugriffspfaden. Dieses Beispiel nimmt an, dass der Server 34 mit
Zugriffspfaddaten 34a konfiguriert ist, die zwei unabhängige Zugriffspfade
zwischen dem Server 34 und der Speichervorrichtung 53 beschreiben.
Ein Pfad ist zwischen Port#60 und Port#70 eingerichtet, während der
andere Pfad zwischen Port#62 und Port#72 eingerichtet ist.
-
Der
Vielfachpfadzugriffs-Verifizierer 140 vergleicht die Zugriffspfaddaten 34a mit
dem Verifizierungsergebnis für
physikalische Verbindungen 121. Dieser Vergleich offenbart,
dass das Verifizierungsergebnis für physikalische Verbindungen 121 eine Gruppe
von Wegen enthält,
die sich auf die vorliegenden Zugriffspfade abbilden können. Demgemäß schließt der Vielfachpfadzugriffs-Verifizierer 140 daraus,
dass der Server 34 eine gute Redundanz bezüglich seiner
Zugriffspfade zu der Speichervorrichtung 53 hat.
-
30 zeigt
ein Beispiel von Zugriffspfaden mit schlechter Redundanz. Dieses
Beispiel nimmt an, dass der Server 34 mit Zugriffspfaddaten 34b konfiguriert
ist, die zwei Zugriffspfade zwischen dem Server 34 und
der Speichervorrichtung 53 beschreiben. Ungleich denjenigen,
die in 29 gezeigt sind, ist ein Pfad
zwischen Port#60 und Port#72 eingerichtet, und ist der andere Pfad
zwischen Port#62 und Port#70 eingerichtet.
-
Der
Vielfachpfadzugriffs-Verifizierer 140 vergleicht die Zugriffspfaddaten 34b mit
dem Verifizierungsergebnis für
physikalische Verbindungen 121. Dieser Vergleich offenbart,
dass das Verifizierungsergebnis für physikalische Verbindungen 121 keine Gruppe
von Wegen enthält,
die sich auf die vorliegenden Zugriffspfade abbilden könnten. Demgemäß schließt der Vielfachpfadzugriffs-Verifizierer 140 daraus,
dass der Server 34 diesbezüglich fehlschlägt, eine
Redundanz bezüglich
seiner Zugriffspfade zu der Speichervorrichtung 53 zur
Verfügung
zu stellen.
-
In
solchen Fällen
kann der Vielfachpfadzugriffs-Verifizierer 140 eine neue
Einstellung zum Bilden von redundanten Zugriffspfaden vorschlagen. Beispielsweise
kann der Vielfachpfadzugriffs-Verifizierer 140 das Verifizierungsergebnis
für physikalische
Verbindungen 121 der 28 auf
einem Monitorbildschirm ausgeben, um dadurch zu empfehlen, dass
die Zugriffspfade durch Verwenden von einigen der redundanten Wege
neu definiert werden, die in dem Verifizierungsergebnis für physikalische
Verbindungen 121 gezeigt sind. Diese Empfehlung ergibt alternative
Zugriffspfade, die logisch gebildet werden können (d. h. ohne die Notwendigkeit
für ein Ändern von
Verbindungen für
physikalische Verbindungen).
-
Der
Verifizierer für
physikalische Verbindungen 130 kann optional Gruppen von
redundanten Wegen mit der kürzesten
Länge extrahieren,
wenn er ein Verifizierungsergebnis für physikalische Verbindungen
kompiliert. 31 zeigt ein beispielhaftes
Ergebnis einer Verifizierung für
physikalische Verbindungen gemäß diesem
Verfahren einer kürzesten Länge. Das
dargestellte Verifizierungsergebnis für physikalische Verbindungen 122 ist
tatsächlich
eine Untergruppe des Verifizierungsergebnisses für physikalische Verbindungen 121 der 28.
Es ist zu beachten, dass es die Wege ausschließt, die Schalter-zu-Schalter-Verbindungen
enthalten. Wege sind als kürzeste
Wege qualifiziert, wenn sie beispielsweise den Zielort über eine
minimale Anzahl von Zwischenvorrichtungen erreichen. Spezifischer
besteht eine redundante Gruppe aus zwei oder mehreren einzelnen
Wegen, von welchen jeder eine andere Anzahl von Zwischenschaltern
durchlaufen kann. Der Verifizierer für physikalische Verbindungen 130 fügt daher
diese Anzahlen für
jede Gruppe hinzu und wählt
dann die Gruppen aus, die die kleinste Summe zeigen.
-
Der
Vielfachpfadzugriffs-Verifizierer 140 kann optional das
Verifizierungsergebnis für
physikalische Verbindungen 122 der 31 als
einen Vorschlag für
alternative Zugriffspfade in dem Fall zur Verfügung stellen, in welchem dem
in Frage stehenden SAN-System eine Redundanz bezüglich seiner aktuellen Zugriffspfade
fehlt. Da nur eine qualifizierte Gruppe von Wegen vorhanden ist,
kann der Anwender auf einfache Weise geeignete Zugriffspfade mit den
kürzesten
Längen
auswählen.
-
Redundante SAN-Systeme
-
Die
früher
in 2 diskutierte SAN-Systemkonfiguration ist nur
ein Beispiel für
illustrative Zwecke. Tatsächlich
kann der Administrationsserver 100 des vorliegenden Ausführungsbeispiels
mit verschiedenen Topologien von SAN-Architekturen arbeiten. Nimmt man nun
Bezug auf die 32 bis 37, wird
dieser Abschnitt mehrere beispielhafte SAN-Systeme präsentieren, die eine Redundanz
bezüglich
ihrer physikalischen Verbindung zur Verfügung stellen.
-
32 zeigt
ein Beispiel eines SAN-Systems mit zwei Schaltern. Dieses beispielhafte
System hat zwei Schalter 212 und 213, die miteinander verbunden
sind. Das System hat auch einen Server 211 und eine Speichervorrichtung 214,
die beide mit diesen zwei Schaltern 212 und 213 individuell
verbunden sind.
-
33 zeigt
ein Beispiel eines SAN-Systems mit direkten Server-Speicher-Verbindungen. Dieses
beispielhafte System enthält
einen Server 221 und eine Speichervorrichtung 222.
Sowohl der Server 221 als auch die Speichervorrichtung 222 haben
zwei Ports, um über
zwei direkte Verbindungen miteinander verbunden zu werden.
-
34 zeigt
ein Beispiel eines SAN-Systems mit Schaltern, die in einer Ringtopologie
verbunden sind. Bei diesem Beispiel sind vier Schalter 232, 233, 234 und 235 zirkular
in dieser Reihenfolge verbunden, um dadurch eine Ringtopologie zu
bilden. Ein Server 231 ist mit zwei Schaltern 232 und 233 verbunden.
Ein Speichervorrichtung 236 ist mit den anderen zwei Schaltern 234 und 235 verbunden.
-
35 zeigt
ein Beispiel eines SAN-Systems mit Schaltern, die in einer Teilgittertopologie verbunden
sind. Dieses beispielhafte System verwendet ein Teilgitternetzwerk
von vier Schaltern 242, 243, 244 und 245.
Das bedeutet, dass zwei Schalter 242 und 243 vollständig mit
den anderen zwei Schaltern 244 und 245 verbunden
sind, wohingegen es keine direkte Verbindung zwischen den ersteren Schaltern 242 und 243 und
auch nicht zwischen den letzteren Schaltern 244 und 243 gibt.
Ein Server 241 hat zwei Ports, um mit den Schaltern 242 und 243 zu verbinden.
Ebenso hat die Speichervorrichtung 246 zwei Ports, um mit
den Schaltern 244 und 245 zu verbinden.
-
36 zeigt
ein Beispiel eines SAN-Systems mit Schaltern, die in einer Vollgittertopologie verbunden
sind. Dieses beispielhafte System verwendet ein Vollgitternetzwerk
von vier Schaltern 252, 253, 254 und 255.
Das bedeutet, dass alle diese Schalter 252 bis 255 miteinander
verbunden sind. Ein Server 251 hat zwei Ports, um mit den
Schaltern 252 und 253 zu verbinden. Ebenso hat
eine Speichervorrichtung 256 zwei Ports, um an die Schalter 254 und 255 anzuschließen.
-
37 zeigt
ein beispielhaftes SAN-System, das in einer Kern/Rand-Topologie
mit mehreren Kernschaltern konfiguriert ist. Bei diesem beispielhaften
System ist ein Server 261 mit zwei Schaltern 262 und 263 verbunden.
Zwei physikalische Verbindungen erstrecken sich von dem Schalter 262 zu
einem Schalter 264. Weitere zwei physikalische Verbindungen
erstrecken sich von dem Schalter 263 zu einem Schalter 265.
Der Schalter 264 ist mit anderen Schaltern 266, 267, 268, 269, 270 und 271 gekoppelt,
und zwar jeweils über
duale physikalische Verbindungen. Gleichermaßen ist der Schalter 265 mit
anderen Schaltern 266, 267, 268, 269, 270 und 271 jeweils über duale
physikalische Verbindungen gekoppelt. Die Schalter 270 und 271 sind
einzeln mit einer Speichervorrichtung 272 verbunden.
-
Alle
in den 32 bis 37 gezeigten SAN-Systeme
haben eine Redundanz bezüglich
ihrer physikalischen Server-Speicher-Verbindungen. Diese Systeme werden daher
den Redundanzverifizierungstest gemäß dem vorliegenden Ausführungsbeispiel
durchlaufen. In dem Fall, in welchem Server diesbezüglich fehlschlagen,
eine Redundanz bezüglich
ihrer Zugriffspfadeinstellungen zur Verfügung zu stellen, bietet der
Vielfachpfadzugriffs-Verifizierer 140 einen Vorschlag diesbezüglich an,
wie sie zu fixieren sind.
-
Nicht redundante SAN-Systeme
-
Nimmt
man nun Bezug auf die 38 bis 41, wird
dieser Abschnitt mehrere SAN-Systeme präsentieren, die diesbezüglich fehlschlagen,
eine Redundanz bezüglich
ihrer physikalischen Verbindung zur Verfügung zu stellen.
-
38 zeigt
ein Beispiel eines SAN-Systems, bei welchem mehrere redundante Wege
durch dieselbe Gruppe von in Kaskade bzw. in Reihe geschalteten
Schaltern laufen. Bei diesem beispielhaften System sind vier Schalter 312, 313, 314 und 315 in
dieser Reihenfolge in Reihe geschaltet. Ein Server 311 ist
mit zwei Schaltern 312 und 313 verbunden und eine
Speichervorrichtung 316 ist mit den anderen zwei Schaltern 314 und 315 verbunden.
Es muss beachtet werden, dass der Server 311 unfähig dazu
ist, einen Kommunikationspfad zu der Speichervorrichtung 316 aufzubauen,
ohne dasselbe Paar von in Reihe geschalteten Schaltern 313 und 314 zu
durchlaufen. Dies bedeutet, dass der Systemkonfiguration der 38 eine
Redundanz fehlt.
-
39 zeigt
ein weiteres Beispiel eines SAN-Systems, bei welchem mehrere redundante Wege
durch denselben Schalter laufen. Dieses System hat drei Schalter 322, 323 uns 324,
die in Reihe geschaltet sind. Ein Server 321 ist mit dem
ersten und dem zweiten Schalter 322 und 323 verbunden, während eine
Speichervorrichtung 325 mit dem zweiten und dem dritten
Schalter 323 und 324 verbunden ist. Es ist zu
beachten, dass der Server 321 nicht mit der Speichervorrichtung 325 kommunizieren
kann, ohne durch den zweiten Schalter 323 zu laufen. Dies bedeutet,
dass der Systemkonfiguration der 39 eine
Redundanz fehlt.
-
40 zeigt
ein weiteres Beispiel eines SAN-Systems, bei welchem eine Speichervorrichtung
mit nur einem Schalter verbunden ist. Spezifisch hat dieses System
zwei Schalter 332 und 333. Ein Server 331 ist
mit beiden Schaltern 332 und 333 verbunden, wohingegen
zwei Ports einer Speichervorrichtung 334 beide mit demselben
Schalter 333 verbunden sind. Das Problem besteht darin,
dass der Server 331 nicht mit der Speichervorrichtung 334 kommunizieren
kann, ohne durch den Schalter 333 zu laufen. Dies bedeutet,
dass der Systemkonfiguration der 40 eine
Redundanz fehlt.
-
41 zeigt
ein beispielhaftes SAN-System, das in einer Kern/Rand-Topologie
mit einem einzigen Kernschalter konfiguriert ist. Bei diesem beispielhaften
System ist ein Server 341 mit zwei Schaltern 342 und 343 verbunden.
Zwei physikalische Verbindungen laufen von dem Schalter 342 zu
einem Kernschalter 344. Weitere zwei physikalische Verbindungen
erstrecken sich von dem Schalter 343 zum Kernschalter 344.
Der Schalter 344 ist mit anderen Schaltern 345, 346, 347, 348, 349 und 350 jeweils
durch duale physikalische Verbindungen gekoppelt. Die Schalter 349 und 350 sind
individuell mit einer Speichervorrichtung 351 verbunden.
Es ist zu beachten, dass der Server 341 nicht mit der Speichervorrichtung 351 kommunizieren
kann, ohne den einzelnen Kernschalter 344 zu durchlaufen.
Dies bedeutet, dass der Systemkonfiguration der 41 eine
Redundanz fehlt.
-
Wie
es aus den 38 bis 41 gesehen werden
kann, fehlt allen dargestellten SAN-Systemen die Redundanz bezüglich ihrer
physikalischen Verbindungen. Sie werden daher bei dem Redundanzverifizierungstest
gemäß der vorliegenden
Erfindung fehlschlagen.
-
Programmspeichermedien
-
Die
oben beschriebenen Verarbeitungsmechanismen des Administrationsservers
sind tatsächlich
auf einem Computersystem implementiert, wobei die Anweisungen codiert
und in der Form von Computerprogrammen zur Verfügung gestellt sind. Das Computersystem
führt diese
Programme aus, um die beabsichtigten Serverfunktionen der vorliegenden Erfindung
zur Verfügung
zu stellen. Zum Zwecke einer Speicherung und Verteilung sind die
Programme in computerlesbaren Speichermedien gespeichert, die magnetische
Speichermedien, optische Platten, magnetooptische Speichermedien
und Halbleiter- bzw. Festkörperspeichervorrichtungen
enthalten. Magnetische Speichermedien enthalten Festplattenlaufwerke
(HDD), Disketten (FD) und Magnetbänder. Optische Platten enthalten
digitale flüchtige
Platten (DVD), DVD-RAM, Kompaktdisk-Nurlesespeicher (CD-ROM), CD-aufzeichnungsbar
(CD-R) und CD-überschreibbar
(CD-RW). Magnetooptische Speichermedien enthalten magnetooptische
Platten (MO).
-
Tragbare
Speichermedien, wie beispielsweise DVD und CD-ROM, sind für die Verteilung
bzw. das Vertreiben von Programmprodukten geeignet. Eine auf einem
Netzwerk basierende Verteilung von Softwareprogrammen ist auch möglich, wobei
Masterprogrammdateien in einem Servercomputer zum Herunterladen
zu anderen Komponenten über
ein Netzwerk verfügbar
gemacht werden.
-
Ein
Anwendercomputer speichert nötige
Programme in seiner lokalen Speichereinheit, welche im Voraus von
einem tragbaren Speichermedium installiert oder von einem Servercomputer
heruntergeladen worden sind. Dieser Computer führt die Programme aus, die
aus der lokalen Speichereinheit ausgelesen werden, um dadurch die
programmierten Funktionen durchzuführen. Als alternative Weise
einer Programmausführung
kann der Computer Programme ausführen,
indem er Programmcodes direkt aus einem tragbaren Speichermedium
ausliest. Ein weiteres alternatives Verfahren besteht darin, dass der
Anwendercomputer Programme von einem Servercomputer dynamisch herunterlädt, wenn
sie angefordert werden, und sie auf eine Lieferung ausführt.
-
Schlussfolgerung
-
Die
obige Diskussion wird wie folgt zusammengefasst. Gemäß der vorliegenden
Erfindung sucht das vorgeschlagene Zuverlässigkeitsverifizierungsprogramm
auf einem administrativen Server Netzwerkkonfigurationsdaten, um
einen redundanten Weg entsprechend einem Verifizierungsweg zu finden,
nachdem Datenaufzeichnungen über
Vorrichtungen und physikalische Verbindungen, die bei dem Verifizierungsweg
beteiligt sind, von den Netzwerkkonfigurationsdaten entfernt sind,
um zwei Wege zu finden, die vollständig unabhängig voneinander sind. Dieses
Merkmal der vorliegenden Erfindung ermöglicht dem Administrationsserver,
die Redundanz von physikalischen Verbindungen auf eine zuverlässigere Weise
zu bewerten.
-
Das
Vorangehende wird nur als illustrativ für die Prinzipien der vorliegenden
Erfindung angesehen. Weiterhin ist es deshalb, weil Fachleuten auf dem
Gebiet zahlreiche Modifikationen und Änderungen ohne weiteres einfallen
werden, nicht erwünscht, die
Erfindung auf den genauen Aufbau und die Anwendungen zu beschränken, die
gezeigt und beschrieben sind, und demgemäß können alle geeigneten Modifikationen
und Äquivalente
derart angesehen werden, dass sie in den Schutzumfang der Erfindung
in den beigefügten
Ansprüchen
und ihre Äquivalente
fallen.