-
Die
vorliegende Erfindung bezieht sich auf ein Speichersystem für ein Computersystem.
-
JP-A-9-297699
(Seiten 3 bis 4 und 1) beschreibt
ein als hierarchisches Speichersystem bezeichnetes System mit einem
Computer sowie einem schnellen Speicher und einem langsamen Speicher,
die an den Computer angeschlossen sind. In JP-A-9-297699 (Seiten
3 bis 4 und 1) sind
häufiger
benötigte
Dateien in einem schnellen Speicher wie zum Beispiel einem Magnetplattenlaufwerk
gespeichert, während
weniger häufig
benötigte
Dateien in einem preiswerten langsamen Speicher wie zum Beispiel
einem Magnetbandlaufwerk gespeichert sind. Außerdem wird eine Tabelle verwendet,
um die Zugriffshäufigkeit
für jede
Datei zu verwalten, und angesprochen, um festzustellen, welche Datei
welchem Speicher zugeordnet bzw. in welchem Speicher gespeichert
ist.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
JP-A-9-297699
beruht auf Software, die auf dem Computer läuft, zur Implementierung einer
hierarchischen Speichersteuerung zum Verschieben einer Datei zwischen
einem Magnetplattenlaufwerk mit geringer Kapazität und einem Magnetbandlaufwerk mit
großer
Kapazität
in Abhängigkeit
davon, wie oft die Datei benutzt wird. Die hierarchische Speichersteuerung
nimmt an, dass auf Daten, auf die in der Vergangenheit häufig zugriffen
worden ist, auch in der Zukunft häufig zugegriffen wird, und
bestimmt einen Speicher zum Speichern von Daten in Abhängigkeit
von statistischen Daten über
die Zugriffshäufigkeit
der Daten und die verfügbare
Kapazität
eines Speichers mit schnellem Zugriff. Daneben verbessert die hierarchische
Speichersteuerung die Verarbeitungseffizienz und verwaltet praktisch
eine große Menge
von Dateien durch Erhöhen
der Wahrscheinlichkeit, dass Da ten, auf die mit hoher Häufigkeit
zugegriffen wird, in einem Speicher mit schnellem Zugriff gespeichert
sind.
-
Bei
dem herkömmlichen
hierarchischen Speicherverfahren gibt es jedoch ein Problem, dass die
Kapazitätserweiterung
durch die Anzahl der Magnetplattenlaufwerke und die Anzahl der Magnetbandlaufwerke,
die an den Computer angeschlossen werden können, begrenzt ist, wodurch
es nicht möglich ist,
eine volle Langzeitverwaltung für
eine große
Menge an Daten bereitzustellen die mit der Zeit immer weiter zunimmt.
-
Ein
Zweck der vorliegenden Erfindung ist daher die Bereitstellung eines
Speichersystems mit einer erweiterbaren Kapazität, die das Verwalten einer großen Menge
an Dateien über
lange Zeit ermöglicht.
-
Das
Speichersystem nach der vorliegenden Erfindung ist so aufgebaut,
dass es die Eingabe/Ausgabe in ein externes bzw. von einem externen
Speichersystem steuern kann, das an das Speichersystem angeschlossen
ist. Das Speichersystem nach der vorliegenden Erfindung erzeugt
ein Dateisystem in einem dadurch lokal vorgesehenen Speicherbereich
und einem von dem externen Speichersystem bereitgestellten Speicherbereich.
-
Das
Speichersystem kann einen NAS bilden, dessen Kapazität erweitert
werden kann.
-
Andere
Zwecke, Merkmale und Vorteile der Erfindung ergeben sich aus der
nachstehenden Beschreibung der Ausführungsformen der Erfindung
in Zusammenhang mit den zugehörigen
Zeichnungen.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das eine beispielhafte Konfiguration eines Computersystems
unter Anwendung der vorliegenden Erfindung zeigt.
-
2 ist
eine Aufsicht, die den Aufbau eines beispielhaften Speichers zeigt.
-
3 ist
eine Perspektivansicht, die den Aufbau einer beispielhaften Adapterkarte
zeigt.
-
4 ist
ein Blockdiagramm, das eine beispielhafte Konfiguration eines NAS-Kanaladapters zeigt.
-
5 ist
ein Blockdiagramm, das Beispiele für die in einem Dateisystemsteuerspeicher
gespeicherten Programme zeigt.
-
6 ist
ein Blockdiagramm, das Beispiele für die in einem Disk-Array-Steuerspeicher
gespeicherten Programme zeigt.
-
7 ist
ein Blockdiagramm, das eine beispielhafte Konfiguration eines heterogenen
Speicheranschluss-Steuerkanaladapters zeigt.
-
8 ist
ein Blockdiagramm, das Beispiele für die in einem heterogenen
Speicheranschluss-Steuerspeicher gespeicherten Programme zeigt.
-
9 ist
ein Blockdiagramm, das eine beispielhafte Konfiguration eines heterogenen
Speichers zeigt.
-
10 ist
ein Blockdiagramm, das eine beispielhafte Konfiguration zeigt, bei
der ein heterogener Speicher an jeden Speicher angeschlossen ist.
-
11A bis 11C zeigen
Beispiele für den
Aufbau einer Volume-Managementtabelle.
-
12 ist
ein Blockdiagramm, das eine beispielhafte Konfiguration zeigt, bei
der mehrere heterogene Speicher an jeden Speicher angeschlossen sind.
-
13 ist
ein Blockdiagramm, das eine beispielhafte Konfiguration zur Nutzung
einer Kombination von Speichern und heterogenen Speichern zeigt.
-
14 ist
ein Blockdiagramm, das eine weitere beispielhafte Konfiguration
zur Nutzung einer Kombination von Speichern und heterogenen Speichern
zeigt.
-
15A bis 15C zeigen
Beispiele für den
Aufbau der Volume-Managementtabelle.
-
BESCHREIBUNG
DER AUSFÜHRUNGSFORMEN
-
Im
Folgenden werden Ausführungsformen nach
der vorliegenden Erfindung unter Bezugnahme auf die zugehörigen Zeichnungen
beschrieben. Die vorliegende Erfindung wird jedoch durch die nachstehend
beschriebenen Ausführungsformen
nicht eingeschränkt.
-
Zunächst wird
eine erste Ausführungsform beschrieben.
-
(1) Beispielhafte Systemkonfiguration
-
1 zeigt
ein beispielhaftes Computersystem nach der ersten Ausführungsform.
In der nachstehenden Beschreibung steht „x" für
eine beliebige ganze Zahl.
-
Ein
Speicher 1 repräsentiert
ein Disk-Array-System, das einen Platten-Controller 11 (im
Folgenden als „DKC 11" bezeichnet), mehrere
Magnetplattenlaufwerke 17xx (im Folgenden als die „Platten 17xx" bezeichnet) und
eine Managementvorrichtung 18 aufweist. Für die erste
Ausführungsform
wird angenommen, dass jede Platte 17xx eine FC-Platte (Fibre
Channel) mit einer Fibre Channel-Schnittstelle ist.
-
Als
Nächstes
wird die Konfiguration des DKC 11 in dem Speicher 1 zur
Illustration beschrieben. Der DKC 11 weist einen oder mehrere
NAS-Kanaladapter 110x (im Folgenden als „CHN 110x" bezeichnet), einen
oder mehrere heterogene Speicheranschlussadapter 111x (im
Folgenden als „CHD 111x" bezeichnet), mehrere
Plattenadapter 12x (im Folgenden als „DKA 12x" bezeichnet), einen
gemeinsamen Speicher 13 (im Folgenden als „SM 13" bezeichnet), einen
Controller 15 für
den gemeinsam genutzten Speicher (im Folgenden als „SMC 15" bezeichnet), einen
Cache-Speicher 14 (im Folgenden als „CM 14" bezeichnet) und
einen Cache-Speicher-Controller 16 (im Folgenden als „CMC 16" bezeichnet) auf.
-
Jeder
CHN 110x ist ein Schnittstellen-Controller, der über eine
Datei-E/A-Schnittstelle an einen zugehörigen Computer 40x (im
Folgenden als „Host 40x" bezeichnet) angeschlossen
ist, der wiederum mit einem lokalen Netzwerk 20 (im Folgenden
als „LAN 20" bezeichnet) verbunden
ist.
-
Jeder
CHD 111x ist ein Schnittstellen-Controller, der über eine
Block-E/A-Schnittstelle an einen zugehörigen dezentralen Speicher 50x (im
Folgenden als „heterogener
Spei cher 50x" bezeichnet)
angeschlossen ist, der wiederum mit einem Speichernetzwerk 30 (im
Folgenden als „SAN 30" bezeichnet) verbunden
ist. In der nachstehenden Beschreibung werden der CHN und der CHD
zusammenfassend als „Kanaladapter" bezeichnet (oder
mit „CH" abgekürzt).
-
Der
SMC 15 ist an den CHN 110x, CHD 11x, DKA 12x und
SM 13 angeschlossen. Der SMC 15 steuert die Datenübertragung
zwischen dem CHN 110x, CHD 111x, DKA 12x und
SM 13.
-
Der
CMC 16 ist an den CHN 110x, CHD 111X,
DKA 12x und CM 14 angeschlossen. Der CMC 16 steuert
die Datenübertragung
zwischen dem CHN 110x, CHD 11x, DKA 12x und
CM 14.
-
Der
SM 13 weist eine Volume-Managementtabelle 131 auf.
Die Volume-Managementtabelle 131 speichert die Konfiguration
eines „logischen
Gerätes" (im Folgenden als „LDEV" bezeichnet) für die Verwaltung.
Das LDEV stellt eine logische Konfigurationseinheit eines internen
Speicherbereichs dar, der aus einer Reihe von logischen sequentiellen
Adressbereichen besteht.
-
Jede
Platte 17xx ist an einen zugehörigen DKA 12x angeschlossen.
Jeder DKA 12x steuert die Eingabe in eine oder mehrere
daran angeschlossene Platten 17xx bzw. die Ausgabe von
einer oder mehreren daran angeschlossenen Platten 17xx.
-
In
dem Speicher 1 kann jeder CH über den CMC 16 oder
SMC 15 auf den CM 14, SM 13, jeden der
DKAs 12x und jede der Platten 17xx zugreifen.
-
Die
Managementvorrichtung 18 ist zur Verwaltung der Konfiguration
des Speichers 1 über
jeden CH und jeden DKA an den DKC 11 in dem Speicher 1 angeschlossen.
Die Konfigurationsdaten sind im SM 13 gespeichert und werden
von den zugehörigen
CHs und DKAs gemeinsam genutzt.
-
Der
heterogene Speicher 50x ist ein extern von Speicher 1 installierter
Speicher und unterscheidet sich in der Art von diesem. Der heterogene
Speicher 50x ist über
das SAN 30 an einen zugehörigen CHD 11x angeschlossen.
Aus der Sicht des heterogenen Speichers 50x befindet sich
der Speicher 1 an der Position eines Host-Computers, der
E/A-Befehle aus gibt. Es sei darauf hingewiesen, dass der heterogene
Speicher 50x in der nachfolgenden Beschreibung zwar als
eine andere Art von Speicher als der Speicher 1 definiert
ist, er bei einer alternativen Ausführungsform jedoch von der gleichen
Art wie der Speicher 1 sein kann.
-
Das
LAN 20 verbindet die CHNs 110x mit den zugehörigen Hosts 40x.
Im Allgemeinen wird ein IP-Netzwerk für das LAN benutzt.
-
Das
SAN 30 verbindet die CHDs 111x mit den zugehörigen heterogenen
Speichern 50x. Im Allgemeinen wird ein Fibre Channel (FC)
für das
SAN benutzt. Alternativ kann iSCSI für das SAN benutzt werden, wobei
für die
Kommunikation zwischen Geräten,
die über
ein IP-Netzwerk an das SAN angeschlossen sind, ein dem SCSI-Protokoll
entsprechender SCSI-Befehl
in ein IP-Paket eingebettet wird. Für die erste Ausführungsform
wird angenommen, dass das SAN 30 ausschließlich für den Anschluss
an die heterogenen Speicher 50x vorgesehen ist und es daher
nicht mit den Hosts 40x verbunden ist.
-
Ein
Managementterminal 600 ist über ein Management-LAN 70 an
die Managementvorrichtung 18 in dem Speicher 1 angeschlossen.
Das Managementterminal 600 ist über das Management-LAN 70 auch
mit den heterogenen Speichern 50x verbunden. Auf dem Managementterminal 600 läuft eine
Managementsoftware-Applikation zum Einstellen und Verwalten des
Speichers 1 und der heterogenen Speicher 50x.
-
Der
in 1 gezeigte Speicher 1 weist nur eine
NAS-Schnittstelle
(CHN 110x) für
die Verbindung mit den Hosts 40x über das LAN 20 auf.
Das Computersystem nach der ersten Ausführungsform kann zusätzlich eine
SAN-Schnittstelle (SAN-Kanaladapter) zum Anschluss des Speichers 1 an
die Hosts 40x über
das SAN 30 aufweisen, so dass entweder die NAS-Schnittstelle
oder die SAN-Schnittstelle gewählt
werden kann.
-
(2) Beispielhafter Aufbau
des Speichers
-
2 zeigt
beispielhaft den Aufbau des Speichers 1. Eine DKC-Einheit 19 umfasst
die CHNs 110x, CHDs 11x, DKAs 12x, SM 13 und
CM 14, die Bestandteile des DKC 11 sind. Der SM 13 besteht
eigentlich aus mehreren Controller-Karten 13x. In gleicher Weise
besteht der CM 14 aus mehreren Cache-Karten 14x.
Der Benutzer des Speichers 1 kann die Anzahl dieser Karten
erhöhen
oder verringern, um den Speicher 1 so anzupassen, dass
er eine gewünschte
Speicherkapazität
des CM 14 oder SM 13 hat. Eine Platteneinheit 180 (im
Folgenden als „DKU" bezeichnet) und
DKU 181 besteht aus mehreren Platten 17xx.
-
Jeder
der Steckplätze 190 nimmt
eine Adapterkarte mit den CHNs 110x, CHDs 111x,
DKAs 12x, Controller-Karten 13x, Cache-Karten 14x und
dergleichen auf. Bei der ersten Ausführungsform sind die Form des
Steckplatzes 190, die Größe der Adapterkarte und die
Form eines Steckverbinders unabhängig
von der Art der Adapterkarte und der Art der Schnittstelle einheitlich,
so dass die Kompatibilität
sichergestellt ist. Folglich kann jede beliebige Adapterkarte in
jeden beliebigen Steckplatz 190 der DKC-Einheit 19 eingesteckt
werden, unabhängig
von der Art der Adapterkarte oder der Art der Schnittstelle. Außerdem kann
der Benutzer des Speichers 1 die Anzahl der Adapterkarten
für die
CHNs 110x und CHDs 111x frei wählen, um die gewünschte Anzahl von
CHNs 110x und CHD 111x in die Steckplätze 190 der
DKC-Einheit 19 einzustecken.
-
(3) Beispielhafter Aufbau
der CHN-Karte
-
3 zeigt
beispielhaft den Aufbau der Adapterkarte (im Folgenden als „CHN-Karte" bezeichnet), die
den CHN 110x enthält.
Ein Stecker 11007 wird in einen Stecker der DKC-Einheit 19 eingesteckt.
Ein Schnittstellenstecker 2001 kann an das LAN 20 angeschlossen
werden.
-
Weil
der Stecker der Adapterkarte unabhängig von der Art der Adapterkarte
eine einheitliche Form hat, weist die CHN-Karte bei der ersten Ausführungsform
einen Stecker mit der gleichen Form auf, wie eine Adapterkarte (im
Folgenden als „CHD-Karte" bezeichnet), die
den CHD 111x enthält.
Es sei darauf hingewiesen, dass der Schnittstellenstecker 2201 der
CHD-Karte den Fibre Channel unterstützt und für den Anschluss an den Fibre
Channel ausgelegt ist.
-
(4) Beispielhafte Konfiguration
des NAS-Kanaladapters (CHN)
-
4 zeigt
eine beispielhafte Konfiguration des CHN 110x. Eine Dateizugriffs-Steuerungs-CPU 11001 ist
ein Prozessor zur Steuerung der Zugriffe auf Dateien. Ein LAN-Controller 11002 ist
zur Steuerung der Übertragung
bzw. des Empfangs von Daten an das bzw. von dem LAN 20 über den
Schnittstellenstecker 2001 an das LAN 20 angeschlossen.
Ein Dateizugriffssteuerspeicher 11004 ist an die Dateizugriffs-Steuerungs-CPU 11001 angeschlossen.
Der Dateizugriffssteuerspeicher 11004 speichert Programme,
die von der Dateizugriffs-Steuerungs-CPU 11001 ausgeführt werden,
und zugehörige
Steuerdaten.
-
Eine
Disk-Array-Steuerungs-CPU 11008 ist ein Prozessor zur Steuerung
einer Disk-Array. Die hier verwendete Disk-Array weist Gruppen auf, von denen jede
aus mehreren Platten 17xx besteht und als eine einzelne
virtuelle Platte angesehen wird, und betreibt die mehreren Platten 17xx parallel,
um die Leistung zu verbessern. Insbesondere ist eine so genannte
RAID (Redundant Array of Inexpensive Disks – redundante Anordnung preiswerter
Platten) eine Disk-Array, die redundante Daten, so genannte „Paritäten", in Teilen eines
Speicherbereichs einer Gruppe speichert, um die Fehlertoleranz zu
erhöhen.
Unter den Disk-Arrays werden RAID-Systeme besonders häufig benutzt.
-
Ein
Disk-Array-Steuerspeicher 11009, der an die Disk-Array-Steuerungs-CPU 11008 angeschlossen
ist, speichert Programme, die von der Disk-Array-Steuerungs-CPU 11008 ausgeführt werden,
und zugehörige
Steuerdaten. Eine SM-Schnittstellensteuerschaltung 11005 steuert
den Zugriff von dem CHN 110x auf den SM 13. Eine
CM-Schnittstellensteuerschaltung 11006 steuert den Zugriff
von dem CHN 110x auf den CM 14. Eine Inter-CPU-Kommunikationsschaltung 11007 wird
verwendet, wenn die Dateizugriffs-Steuerungs-CPU 11001 mit
der Disk-Array-Steuerungs-CPU 11008 kommuniziert, um auf
eine Platte zuzugreifen.
-
Während die
erste Ausführungsform
ein Beispiel für
eine asymmetrische Mehrprozessor-Konfiguration zeigt, bei der der
CHN 110x mit zwei Prozessoren bestückt ist, d.h. der Dateizugriffs-Steuerungs-CPU 11001 und
der Disk-Array-Steuerungs-CPU 11008,
kann der CHN auch mit einem einzelnen Prozessor bestückt sein,
der sowohl die Dateizugriffssteuerung als auch die Disk-Array-Steuerung übernimmt.
Als weitere Alternative kann der CHN 110x in einer symmetrischen
Mehrprozessor-Konfiguration mit zwei oder mehr Prozessoren ausgelegt
werden, die gleichmäßig eine
oder beide Funktionen der Dateizugriffssteuerung und Disk-Array-Steuerung
ausführen.
-
(5) Beispielhafte Konfiguration
des Dateizugriffssteuerspeichers
-
5 zeigt
als Beispiel Programme und zugehörige
Steuerdaten, die in dem Dateizugriffssteuerspeicher 11004 in
dem CHN 110x gespeichert sind. Ein Betriebssystemprogramm 110040 dient
zur Verwaltung der jeweils zugehörigen
Programme und zur Steuerung von Ein-/Ausgabeoperationen. Ein LAN-Controller-Treiberprogramm 110041 dient
zur Steuerung des LAN-Controllers 11002. Ein TCP/IP-Programm 110042 dient
zur Steuerung von TCP/IP, einem Kommunikationsprotokoll auf dem LAN.
Ein Netzwerk-Dateisystemprogramm 110044 dient zur Steuerung
von NFS, CIFS und dergleichen, wobei es sich um Protokolle handelt,
um den NAS-Host 40x mit den in dem Speicher gespeicherten
Dateien zu versorgen. Ein Volume-Steuerprogramm 110045 dient
zur Steuerung eines logischen Volumes bzw. Datenträgers, der
aus einer oder mehreren logischen Einheiten (im Folgenden als „LU" bezeichnet) besteht.
Ein Inter-CPU-Kommunikationstreiberprogramm 110046 dient
zur Steuerung der Inter-CPU-Steuerschaltung 11007 für die Kommunikation
zwischen der Dateizugriffs-Steuerungs-CPU 11001 und der
Disk-Array-Steuerungs-CPU 11008.
-
Ein
Dateisystemprogramm 110043 dient zur Verwaltung der in
dem Speicher gespeicherten Dateien und führt das Datei-Speichermanagement
und die Ein-/Ausgabesteuerung aus. Insbesondere ist das Dateisystemprogramm 110043 an
folgenden Steuerungsprozessen beteiligt:
- 1) Öffnen einer
Datei, wenn sie benutzt werden soll.
- 2) Reagieren auf eine von einem Host empfangene Dateizugriffsanfrage
zum Ausführen
von Platten-Ein-/Ausgabeoperationen entsprechend der Zugriffsanfrage.
- 3) Feststellen eines Bereichs auf einer Platte, in dem eine
Datei für
die Verwaltung gespeichert ist.
- 4) Verwalten einer Korrespondenzbeziehung zwischen dem Namen
einer geöffneten
Datei und einer Tabelle, die einen Dateispeicherbereich und eine
Pufferadresse der Datei verwaltet.
-
(6) Beispielhafte Konfiguration
des Disk-Array-Steuerspeichers
-
6 zeigt
als Beispiel Programme und zugehörige
Steuerdaten, die in dem Disk-Array-Steuerspeicher 11009 in
dem CHN 110x gespeichert sind.
-
Ein
Betriebssystemprogramm 110090 dient zur Verwaltung der
jeweils zugehörigen
Programme und zur Steuerung von Ein-/Ausgabeoperationen.
-
Ein
Treiberprogramm 110093, das von einer CPU zur Kommunikation
mit einer anderen CPU benutzt wird (im Folgenden als „Inter-CPU-Kommunikationstreiberprogramm" bezeichnet), dient
zur Steuerung der Inter-CPU-Kommunikationsschaltung 11007 für die Kommunikation
zwischen der Dateizugriffs-Steuerungs-CPU 11001 und
der Disk-Array-Steuerungs-CPU 11008 und empfängt eine
Zugriffsanfrage für
die LU von der Dateizugriffs-Steuerungs-CPU 11001.
-
Ein
Volume-Steuerprogramm 110092 erzeugt eines oder mehrere
logische Geräte
(im Folgenden als „LDEV" bezeichnet), von
denen jedes eine logische Konfigurationseinheit eines Speicherbereichs
darstellt, der aus zwei logischen sequentiellen Adressbereichen
besteht, auf einer RAID-Gruppe (im
Folgenden als „VDEV" bezeichnet), die
aus mehreren Platten 17xx besteht, die ein RAID-System
bilden, verbindet eines oder mehrere LDEVs, um eine logische Einheit
(im Folgenden als „LU" bezeichnet) zu erzeugen,
und verwaltet die Relationsdaten, die den logischen Geräten und
der logischen Einheit zugeordnet sind.
-
Ein
Cache-Steuerprogramm 110094 dient zur Verwaltung von im
CM 14 gespeicherten Daten und zur Steuerung wie etwa der
Feststellung von Cache-Hit- bzw. Cache-Miss-Ereignissen.
-
Ein
DKA-Kommunikationstreiberprogramm 110095 dient zur Kommunikation
mit dem DKA 12x, wenn ein Zugriff auf eine Platte 17xx erforderlich
ist.
-
Ein
Disk-Array-Steuerprogramm 110091 ist an einer Abfolge von
Disk-Array-Steuerungsoperationen beteiligt. Insbesondere identifiziert
das Disk-Array-Steuerprogramm 110091 nach Empfang einer Zugriffsanfrage
von der Dateizugriffs-Steuerungs-CPU 11001 an die LU über das
Inter-CPU-Kommunikationstreiberprogramm 110093 ein
LDEV und ein VDEV, die der LU entsprechen, auf die von der Dateizugriffs-Steuerungs-CPU 11001 mit Hilfe
des Volume-Steuerprogramms 110092 zugegriffen wird, stellt
mit Hilfe des Cache-Steuerprogramms 110094 die Cache-Miss-
oder Cache-Hit-Ereignisse in Zusammenhang mit dem Zugriff fest und gibt
mit Hilfe des DKA-Kommunikationstreiberprogramms 110095 eine
Zugriffsanfrage an den DKA 12x aus, wenn ein Zugriff auf
eine Platte erforderlich ist.
-
(7) Beispielhafte Konfiguration
des heterogenen Speicheranschlussadapters (CHD)
-
7 zeigt
eine beispielhafte Konfiguration des CHD 111x.
-
Eine
heterogene Speicheranschluss-Steuerungs-CPU 11108 ist ein
Prozessor zur Steuerung einer Verbindung zu einem heterogenen Speicher 50x.
-
Ein
heterogener Speicheranschluss-Steuerspeicher 11109, der
an die heterogene Speicheranschluss-Steuerungs-CPU 11108 angeschlossen
ist, speichert Programme, die von der heterogenen Speicheranschluss-CPU 11108 ausgeführt werden,
und zugehörige
Steuerdaten. Eine SM-Schnittstellensteuerschaltung 11105 steuert
den Zugriff von dem CHD 110x auf den SM 13. Eine
CM-Schnittstellensteuerschaltung 11106 steuert den Zugriff
von dem CHD 110x auf den CM 14.
-
(8) Beispielhafte Konfiguration
des heterogenen Speicheranschluss-Steuerspeichers
-
8 zeigt
als Beispiel Programme und zugehörige
Steuerdaten, die in dem heterogenen Speicheranschluss-Steuerspeicher 11109 in
dem CHD 111x gespeichert sind.
-
Ein
Betriebssystemprogramm 111090 dient zur Verwaltung der
jeweils zugehörigen
Programme und zur Steuerung von Ein-/Ausgabeoperationen.
-
Ein
heterogenes Speicheranschlusssteuerprogramm 111091 erkennt
einen an das SAN 30 angeschlossenen heterogenen Speicher 50x,
bestätigt die
Kapazität
einer durch den heterogenen Speicher 50x bereitgestellten
LU und führt
Leseoperationen aus der bzw. Schreiboperationen in die LU aus.
-
Ein
Volume-Steuerprogramm 111092 betrachtet eine von dem heterogenen
Speicher 50x bereitgestellte LU für die Verwaltung als eines
der VDEVs in dem Speicher 1. Weil diese LU als ein VDEV
in dem Speicher 1 behandelt wird, wird ein LDEV auf dem
VDEV erzeugt. Verwaltet das Volume-Steuerprogramm 111092 eine
LU in dem heterogenen Speicher 50x als ein VDEV, wird dieses
VDEV von dem Volume-Steuerprogramm 110092 des CHN 110x dem
LDEV zugeordnet, und das LDEV wiederum wird der LU zugeordnet.
-
Es
sei darauf hingewiesen, dass die LU in dem heterogenen Speicher 50x als
ein VDEV behandelt wird, aber wenn die heterogene Speichereinheit 50x ein
RAID-Disk-Array-System ist, müssen
in den Speicher 1 keine redundanten Daten hinzugefügt werden,
weil der heterogene Speicher 50x in sich ein RAID-System
umfasst.
-
Ein
Cache-Steuerprogramm 111093 dient zur Verwaltung von im
CM 14 gespeicherten Daten und zur Steuerung wie etwa der
Feststellung von Cache-Hit- bzw. Cache-Miss-Ereignissen.
-
Ein
LDEV-Migrationssteuerprogramm 111094 ist an einer Migration
des LDEV beteiligt.
-
Wenn
die Daten, die in einem LDEV gespeichert sind, das von dem Speicher 1 verwaltet
wird, auf ein LDEV kopiert werden, das in dem heterogenen Speicher 50x erzeugt
worden ist, und die ursprünglichen
Daten gelöscht
werden, erscheint das LDEV so, als sei es in den heterogenen Speicher 50x verschoben
worden. Diese Folge von Operationen wird als „LDEV-Migration" bezeichnet.
Das LDEV-Migrationssteuerprogramm 111094 führt eine
LDEV-Migration zwischen dem Speicher 1 und dem heterogenen
Speicher 50x, eine LDEV-Migration innerhalb des heterogenen
Speichers 50x und eine LDEV-Migration zwischen einem heterogenen
Speicher 50x und einem anderen heterogenen Speicher 50x aus.
-
Ein
WORM-Steuerprogramm 111095 fügt ein WORM-Attribut (Write
Once, Read Many) zu einem LDEV hinzu, das in einem von dem CHD 1110 verwalteten
heterogenen Speicher 50x erzeugt worden ist. Ein Beispiel
für die
WORM-Steuerung ist etwa das Abbrechen aller Schreiboperationen mit
Ausnahme einer Schreiboperation in Zusammenhang mit einer Migration
eines LDEV und das Behandeln dieses LDEV als ein Nur-Lesen-LDEV, um dem LDEV
das WORM-Attribut zu geben. Ansonsten kann die WORM-Steuerung eine
Einmal-Schreiboperation an ein LDEV zulassen, um dem LDEV das WORM-Attribut
zu geben. Für die
nachfolgende Beschreibung wird angenommen, dass alle Schreiboperationen
abgebrochen sind, mit Ausnahme einer Schreiboperation in Zusammenhang
mit der Migration eines LDEV, und dass das LDEV als ein Nur-Lesen-LDEV
behandelt wird.
-
(9) Beispielhafte Konfiguration
des heterogenen Speichers
-
9 zeigt
eine beispielhafte Konfiguration des heterogenen Speichers 50x.
Der heterogene Speicher 50x weist zwei Disk-Array-Controller FCTLx510x
auf, um eine Fehlertoleranz zu ermöglichen, so dass, wenn ein
FCTL wegen einer Störung ausfällt, der
andere die Funktion des defekten FCTL übernehmen kann.
-
Jeder
der Disk-Array-Controller FCTLx510x umfasst einen FC-Controller 51012,
eine Disk-Array-Steuerungs-CPU 51008, einen Disk-Array-Steuerspeicher 51009,
einen Cache-Speicher 510144, eine Datenübertragungssteuerschaltung 51011 und einen
FC-Controller 51010. Der FC-Controller 51012 verbindet
den FCTLx510x mit dem SAN 30.
-
Die
Disk-Array-Steuerungs-CPU 51008 ist ein Prozessor zur Steuerung
einer Disk-Array. Der Disk-Array-Steuerspeicher 51009 speichert
ein Disk-Array-Steuerprogramm und zugehörige Steuerdaten. Der FC-Controller 51010 verbindet
und steuert die Platten 5710x. Die Datenübertragungssteuerschaltung 51011 ist über den
FC-Controller 51012, CM 51014, und FC-Controller 51010 aufgeteilt,
um die Dateneingabe in den bzw. Datenausgabe von dem CM 51014 und
die Datenübertragung
zu dem anderen FCTL zu steuern.
-
Wie
der Speicher 1 besteht der heterogene Speicher 50x aus
mehreren Platten 5710x in einer RAID-Gruppe und erzeugt
eine oder mehrere LUs, die jeweils einer Folge von Adressen in Teilen
oder ihrem gesamten Speicherbereich zugewiesen sind.
-
In 9 ist
der CHD0 (1110) in Speicher 1 über ein heterogenes Speicheranschluss-SAN 30 mit einem
heterogenen Speicher 0(500) verbunden und arbeitet so,
als sei er aus der Sicht des heterogenen Speichers 0(500)
ein Host. Der CHD0 (1110) fungiert als ein Host für den heterogenen
Speicher 0(500) und gibt Zugriffsbefehle wie zum Beispiel
Lese- und Schreibbefehle
zur Steuerung des heterogenen Speichers 0(500) aus.
-
(10) Beispielhafte Konfiguration
mit einem einzelnen an das heterogene Speicheranschluss-SAN angeschlossenen
heterogenen Speicher
-
Im
Folgenden wird die Funktionsweise des Speichersystems nach der ersten
Ausführungsform unter
Bezugnahme auf die vorstehend beschriebenen Konfigurationen beschrieben.
-
10 zeigt
in vereinfachter Form eine beispielhafte Konfiguration eines Computersystems
zur Hervorhebung von Merkmalen des Systems unter Verzicht auf die
vorstehend beschriebenen Detailkonfigurationen.
-
11A bis 11C zeigen
beispielhafte Zustände
der Volume-Managementtabelle 131 entsprechend 10.
-
Die
in 11A gezeigte Volume-Managementtabelle 131 stellt
eine beispielhafte Beziehung zwischen den in dem heterogenen Speicher 500 erzeugten
LUs und den aus den LUs in dem heterogenen Speicher 500 bestehenden
VDEVs dar. In der in 11A gezeigten Volume-Managementtabelle 131 gibt „SLUN" eine Kennnummer
der in dem heterogenen Speicher 500 erzeugten und verwendeten
LU an, d.h. eine Kennnummer, die von dem Disk-Array-Controller FCTLx510x
in dem heterogenen Speicher 500 verwendet wird, um auf
die LU zuzugreifen. „VDEV" gibt ein VDEV an,
das einer in dem heterogenen Speicher 500 erzeugten LU
entspricht.
-
Die
in 11B gezeigte Volume-Managementtabelle 131 stellt
eine beispielhafte Beziehung zwischen dem VDEV in 11A und dem LDEV dar. In der in 11B gezeigten Volume-Managementtabelle 131 gibt „LDEV" ein LDEV an, das
dem VDEV entspricht.
-
Die
in 11C gezeigte Volume-Managementtabelle 131 stellt
eine beispielhafte Beziehung zwischen dem LDEV in 11B, LUN, LV und FS dar. In der in 11C gezeigten Volume-Managementtabelle 131 gibt „LUN" die Nummer einer
LU an, die einem LDEV entspricht, „LV" gibt eine Nummer an, die der LU entspricht,
und „FS" gibt ein FS an,
das dem LV entspricht.
-
Bei
der ersten Ausführungsform
enthält
die Volume-Managementtabelle 131 Verwaltungsdaten über das
FS, aber das FS kann auch mit einer getrennten Managementtabelle
verwaltet werden, weshalb sich die Verwaltung des FS nicht auf die
spezielle Art und Weise wie bei dieser Ausführungsform beschränkt.
-
In
dem Speicher 1 in 10 wird
die Konfiguration des in 4 gezeigten CHN 1110 allgemein als „NAS-Funktion 1100A" bezeichnet. Außerdem wird
die Konfiguration des in 7 gezeigten CHD 1110 allgemein
als „heterogene
Speicheranschlusssteuerfunktion 1110A" bezeichnet.
-
Die
Funktionsweise der ersten Ausführungsform
wird anhand eines Beispiels beschrieben, bei dem ein logisches Gerät 5200 (SLDEV0)
in einer LU mit SLUN = 0 in dem heterogenen Speicher 500 und ein
Dateisystem 5300 (SFS0) auf dem logischen Gerät SLDEV0
erzeugt wird.
-
Es
wird angenommen, dass der heterogene Speicher 500 die LU
mit SLUN = 0 über
den Disk-Array-Controller FCTLx510x des heterogenen Speichers 500 erzeugt
hat.
-
Anhand
von 8 wird zunächst
die Funktionsweise der heterogenen Speicheranschlusssteuerfunktion 1110A des
CHD0 (1110) beschrieben. Ein heterogenes Speicheranschlusssteuerprogramm 111091 gibt
einen Anfragebefehl an den heterogenen Speicher 500 aus,
um die LU0 in dem heterogenen Speicher 500 zu lokalisieren.
Ein Volume-Steuerprogramm 111092 behandelt diese LU0 als
SVDEV0 und trägt
dieselbe in die Volume-Managementtabelle 131 des SM 13 ein.
Insbesondere erfasst das Volume-Steuerprogramm 111092 den
Wert „0" in dem SLUN-Eintrag
und SVDEV0 in dem VDEV-Eintrag in der in 11A gezeigten
Volume-Managementtabelle 131.
-
Anhand
von 6 wird als Nächstes
die Funktionsweise der NAS-Funktion 1100A des CHN0 (1100)
beschrieben. Das von der Disk-Array-Steuerungs-CPU 11008 in 6 ausgeführte Volume-Steuerprogramm 110092 sieht
in der in 11A gezeigten Volume-Managementtabelle 131,
die im SM 13 gespeichert ist, nach, um das SVDEV0 zu lokalisieren.
Das Volume-Steuerprogramm 110092 erzeugt
ein SLDEV0 mit einer geeigneten Größe für dieses SVDEV0 und trägt das erzeugte
SLDEV0 in der in 11B gezeigten Volume-Managementtabelle 131,
die im SM 13 gespeichert ist, ein. Insbesondere erfasst
das Volume-Steuerprogramm 110092 das SVDEV0 in dem VDEV-Eintrag
und das SLDEV0, das dem SVDEV0 entspricht, in dem LDEV-Eintrag in der in 11B gezeigten Volume-Managementtabelle 131.
-
Der
Manager gibt einen Befehl von dem Managementterminal 18 an
das Computersystem aus, um eine LU mit einer gewünschten Kapazität zu erzeugen,
und nach Empfang des Befehls erzeugt der Speicher 1 die
aus einem oder mehreren LDEVs bestehende LU. Hier wird angenommen,
dass eine LU0 mit einem SLDEV0 erzeugt wird. Mit anderen Worten,
das Volume-Steuerprogramm 110092 erfasst SLDEV0 in dem
LDEV-Eintrag und
den Wert „0" für die LU0
entsprechend dem SLDEV0 in dem LUN-Eintrag des Volume-Steuerprogramms 110092.
-
Wenn
der Host 40x den Speicher 1 aktiviert, gibt als
Nächstes
das von der Dateizugriffs-Steuerungs-CPU 11001 in Speicher 1 ausgeführte Volume-Steuerprogramm 110045 in 5 mit
dem Inter-CPU-Kommunikationstreiberprogramm 110046 einen
Anfragebefehl an die Disk-Array-Steuerungs-CPU 11008 aus,
um eine Anfrage an die Disk-Array-Steuerungs-CPU 11008 zum
Lokalisieren der LU0 zu machen. Das von der Disk-Array-Steuerungs-CPU 11008 ausgeführte Volume-Steuerprogramm 110092 lokalisiert
die LU0 und informiert die Dateizugriffs-Steuerungs-CPU 11001 über die
Lokalisierung. Das Volume-Steuerprogramm 110045 erkennt
diese LU0 und erzeugt ein logisches Volume LV0 mit der LU0. Während ein
logisches Volume durch Verbinden mehrerer LUs erzeugt werden kann, wird
hier angenommen, dass das LV0 mit der einen LU0 er zeugt wird. Mit
anderen Worten, das Volume-Steuerprogramm 110045 erfasst
das LV0, das der LU0 entspricht, in dem LV-Eintrag in der in 11C gezeigten Volume-Managementtabelle 131.
-
Als
Reaktion auf einen Befehl von dem Manager erzeugt das Dateisystemprogramm 110043 ein Dateisystem
SFS0 auf dem logischen Volume LV0. Mit anderen Worten, das Dateisystemprogramm 110043 erfasst
das SFS0, das dem LV0 entspricht, in dem FS-Eintrag in der in 11C gezeigten Volume-Managementtabelle 131.
-
Mit
den vorstehenden Operationen wird bei der ersten Ausführungsform
das LV0 in dem Speicher 1 von der LU0 des Speichers 1 erzeugt,
während
die LU0 von dem SLDEV0 erzeugt wird. Das SLDEVO wiederum umfasst
den Speicherbereich SVDEV0, der durch die LU in dem heterogenen
Speichersystem realisiert ist. Als Ergebnis wird das von dem CHN0
(1100) gesteuerte logische Gerät SLDEV0 in dem heterogenen
Speicher 500 angelegt, und das von dem CHN0 (1100)
gesteuerte Dateisystem SFS0 wird auf dem SLDEV0 angelegt.
-
Wenn
der Host 0(400) eine Anfrage an das Dateisystem
ausgibt, steuert das in 5 gezeigte LAN-Controller-Treiberprogramm 110041 den LAN-Controller 11002,
um von dem LAN 20 ein Paket mit dieser Anfrage zu empfangen,
und das Dateisystemprogramm 110043 erkennt diese Anfrage
durch die Aktion des TCP/IP-Programms 110042 und des Netzwerk-Dateisystemprogramms 110044.
Danach überträgt das Dateisystemprogramm 110043 Verzeichnisinformationen
für das
SFS0 an den Host 0(400), der daraufhin erkennt, dass dieses
Dateisystem das SFS0 ist, das im Speicher 1 resident ist,
wie in 10 gezeigt. Danach kann das
Dateisystem benutzt werden. Hier handelt es sich bei den Verzeichnisinformationen
für das
Dateisystem SFS0 um allgemeine Verzeichnisinformationen, weshalb
diese Verzeichnisinformationen in der vorliegenden Offenlegung nicht
im Detail beschrieben werden.
-
Bei
der ersten Ausführungsform
sind die in dem Speicher 1 enthaltenen Platten 17xx überhaupt nicht
erforderlich, denn die Informationen zur Verwaltung des von der
NAS-Funktion 1100A erzeugten Dateisystems SFS0 sind auf
dem SLDEV0 gespeichert, das über
das heterogene Speicheranschluss-SAN 30 durch die Aktion
der heterogenen Speicheranschlusssteuerfunktion 1110A des
CHD0 in der LU in dem heterogenen Speicher 50 angelegt worden
ist. Hier handelt es sich bei den Informationen zur Verwaltung des
Dateisystems SFS0 um allgemeine Dateisystem-Managementinformationen, die üblicherweise
als Metadaten bezeichnet werden, weshalb ihr Aufbau in der vorliegenden
Offenlegung nicht im Detail beschrieben wird.
-
Wie
vorstehend beschrieben, kann die NAS-Funktion 1100A des
Speichers 1 nach der in 10 gezeigten
Konfiguration ein Dateisystem auf Platten erzeugen, die in dem heterogenen
Speicher 500 enthalten sind, der über die heterogene Speicheranschlusssteuerfunktion 1110A an
den Speicher 1 angeschlossen ist. Diese Funktion wird im
Folgenden als „heterogene
Speicheranschluss-NAS-Funktion" bezeichnet.
-
Wenn
der Host 0(400) auf eine in dem Dateisystem FS0 gespeicherte
Datei zugreifen will, sendet der Host 0(400) eine Zugriffsanfrage
an den CHN0 (1100), um einen Dateisystemnamen und einen
Dateinamen anzugeben. Nach Empfang der Zugriffsanfrage mit dem Dateisystemnamen
und dem Dateinamen sieht der CHN0 (1100) in der Volume-Managementtabelle 131 nach,
um den Speicherort der betreffenden Datei zu ermitteln. Ist die
Datei in einem heterogenen Speicher gespeichert, informiert der
CHN0 (1100) den CHD0 (1110), dass ein Zugriff
auf in dem heterogenen Speicher gespeicherte Daten angefordert ist,
und teilt dem CHD0 (1110) gleichzeitig den Datenspeicherort
mit, der aus der Volume-Managementtabelle 131 erhalten
wurde, wodurch es dem CHD0 (1110) möglich ist, auf Daten in dem
heterogenen Speicher zuzugreifen. Der CHN0 (1100) kann auch
Informationen für
eine Zugriffsanfrage von dem Host auf Daten in dem heterogenen Speicher
im SM 13 speichern, so dass der CHD0 (1110) den
SM 13 in regelmäßigen Abständen auf
Informationen für
eine Zugriffsanfrage von dem Host auf Daten in dem heterogenen Speicher
prüft.
Nach Erkennen einer Zugriffsanfrage kann der CHD0 (1110)
in der Volume-Managementtabelle 131 nachsehen, um auf Daten
in dem heterogenen Speicher zuzugreifen. Wenn der CHD0 (1110)
auf den heterogenen Speicher 500 zugreift, muss der CHD0
(1110) Adressen benutzen, die von dem Disk-Array-Controller
FCTLx510x des heterogenen Speichers 500 erkannt werden
können. Daher
greift der CHD0 (1110) mit der SLUN (in der Volume-Managementtabelle 131 in 11A), die dem VDEV entspricht, auf dem die Daten
gespeichert sind, auf den heterogenen Speicher 500 zu.
-
(11) Beispielhafte Konfiguration
mit mehreren an das heterogene Speicheranschluss-SAN angeschlossenen
heterogenen Speichern
-
Als
Nächstes
wird eine beispielhafte Konfiguration beschrieben, bei der mehrere
heterogene Speicher mit dem heterogenen Speicheranschluss-SAN verbunden
sind.
-
12 zeigt
eine beispielhafte Konfiguration, bei der mehrere heterogene Speicher
mit dem heterogenen Speicheranschluss-SAN verbunden sind. Die Konfiguration
in 12 unterscheidet sich von der Konfiguration in 10 dahingehend,
dass mehrere (zwei in 12) heterogene Speicher 500 und 501 an
das heterogene Speicheranschluss-SAN 30 angeschlossen sind.
-
Ähnliche
Operationen, wie sie bei der Konfiguration in 10 ausgeführt werden,
werden für
die heterogenen Speicher 500 und 501 dupliziert,
um ein Dateisystem SFS0 auf dem SLDEV0 in dem heterogenen Speicher 500 und
ein Dateisystem SFSl auf dem SLDEV1 in dem heterogenen Speicher 501 zu erzeugen.
Die Dateisysteme SFS0 und SFS1 werden beide von dem Host 0(400)
durch die Aktion der NAS-Funktion 1100A des CHN0 erkannt.
-
Auf
diese Weise ist es durch Anschließen einer größeren Anzahl
von heterogenen Speichern 50x an das heterogene Speicheranschluss-SAN 30 möglich, die
Speicherkapazität
zu erhöhen,
die von dem CHN0 gehandhabt werden kann.
-
Wie
vorstehend beschrieben, kann nach der Konfiguration in 12 eine
beliebige Anzahl von heterogenen Speichern an das heterogene Speicheranschluss-SAN 30 des
Speichers 1 angeschlossen werden, wodurch es möglich ist,
einen großen
skalierten NAS mit einer erweiterbaren Kapazität aufzubauen.
-
Wie
aus dem Vorstehenden ersichtlich, kann nach der ersten Ausführungsform
durch die Fähigkeit zur
Implementierung der heterogenen Speicheranschluss-NAS-Funktion und
zur Erhöhung
der Speicherkapazität
durch Hinzufügen
externer Speicher ein großer
skalierter NAS realisiert werden, der sich durch eine erweiterbare
Kapazität
auszeichnet und eine große
Menge an Dateidaten speichern kann.
-
Außerdem kann
der Host über
ein Speichersystem zur Steuerung von Ein-/Ausgabeoperationen in
externe Speicher bzw. von externen Speichern, die daran angeschlossen
sind, auf ein Dateisystem in einem externen Speichersystem zugreifen,
ohne von dem Dateisystem Kenntnis haben zu müssen, das in einem Speicherbereich
des externen Speichersystems angelegt worden ist.
-
Als
Nächstes
wird eine zweite Ausführungsform
beschrieben. Die zweite Ausführungsform
benutzt die heterogene Speicheranschluss-NAS-Funktion, die in Zusammenhang
mit der ersten Ausführungsform
beschrieben worden ist.
-
13 zeigt
eine erste beispielhafte Anwendung. 13 unterscheidet
sich von 10 darin, dass der CHN0 von
Speicher 1 das logische Gerät SLDEV0 in dem heterogenen
Speicher 500 erzeugt, wobei das Dateisystem SFS0 auf dem
logischen Gerät
SLDEV0 erzeugt wird, und dass ein logisches Gerät PLDEV0 (180) auf
einer Platte 17xx in dem Speicher 1 mit einem
Dateisystem PFS0 (190) auf dem logischen Gerät PLDEV
(180) erzeugt wird.
-
Ein
weiterer Unterschied ist der, dass ein Stammverzeichnis an einem
Mount-Punkt ml des PFS0 „gemountet" wird.
-
Der
CHN0 hat erkannt, dass das Stammverzeichnis des SFS0 an dem Mount-Punkt
ml des PFS0 gemountet worden ist. Der Host 0(400) erkennt die
beiden Dateisysteme PFS0 und SFS0 als ein einziges Dateisystem PFS0,
das in Form eines einzigen Verzeichnisbaums konfiguriert ist.
-
Hier
wird angenommen, dass ein Verfahren zum Verknüpfen des SFS0 als Teil des
PFS0, damit sie so erscheinen, als bestünden sie aus einem einzigen
Verzeichnisbaum, im Folgenden als „Mounten" bezeichnet wird. Als Beispiel kann
durch Soft-Linking (symbolisches Verknüpfen) des Stammverzeichnisses
des SFS0 von dem Mount-Punkt ml des PFS0 das SFS0 mit dem PFS0 verknüpft werden.
Ein anderes Verfahren kann ein Dateisystem so erzeugen, dass das
Stammverzeichnis des SFS0 auf den Mount-Punkt ml abgebildet („gemappt") wird.
-
Der
CHN0 kann das SFS0 an dem Mount-Punkt ml des PFS0 mit einem ähnlichen
Verfahren zum Mounten eines anderen FS, das auf einem anderen FDEV
in dem Speicher 1 erzeugt worden ist, in ein Dateisystem
mounten, das auf einem VDEV in dem Speicher 1 erzeugt worden
ist. Dies liegt daran, dass der CHN0 das VDEV in dem Speicher 1 und
das auf der LU in dem heterogenen Speicher 500 erzeugte
VDEV als dasselbe VDEV ansieht und LDEV, LV und FS auf dem VDEV
erzeugt.
-
Auf
diese Weise wird bei der zweiten Ausführungsform ein Dateisystem
PFSx, erzeugt auf einem logischen Gerät PLDEVx in dem Speicher 1,
mit einem Dateisystem SFSx, erzeugt auf einem logischen Gerät SLDEVx,
das in dem heterogenen Speicher 500 definiert ist, kombiniert,
um ein Dateisystem PFSx zu erhalten, das einen einzigen Verzeichnisbaum
aufweist, dessen Kapazität
zu groß ist,
um nur mit der internen Plattenkapazität aufgebaut zu werden. Mit
dieser Konfiguration kann der Host ein großes, skaliertes Dateisystem
mit einer einheitlichen transparenten Ansicht benutzen, ohne zu
wissen, ob sich ein Dateisystem in dem Speicher 1 oder
in dem heterogenen Speicher 500 befindet.
-
Außerdem gibt
der Host 0(400) einen Dateisystemnamen PFS0 und einen Dateinamen
an, wenn er eine Zugriffsanfrage für eine Datei ausgibt, die in
dem PFS0 oder in dem in dem PFS0 gemounteten SFS0 gespeichert ist.
Nach Empfang der Zugriffsanfrage von dem Host 0(400) bestätigt der CHN0,
ob eine zugehörige
Datei in dem PFS0 oder SFS0 gespeichert ist, und greift anschließend in
einer ähnlichen
Weise wie bei der ersten Ausführungsform, wenn
die Datei in dem SFS0 gespeichert ist, auf die Daten in der in dem
heterogenen Speichersystem gespeicherten Datei zu.
-
Als
Nächstes
wird eine dritte Ausführungsform
beschrieben.
-
14 zeigt
eine zweite beispielhafte Anwendung der ersten Ausführungsform.
Während 14 im
Wesentlichen mit 13 identisch ist, ist bei der
in 14 gezeigten Ausführungsform eine höhere Anzahl
von PLDEVs und SLDEVs vorgesehen.
-
Unter
der Annahme, dass der Datenbetrieb im Januar 2003 begonnen hat,
sind PLDEV0 und PLDEVl anfangs in Speicher 1 angelegt worden,
und die Dateisysteme PFS0 und PFS1 sind auf den entsprechenden logischen
Geräten
erzeugt worden. Das PFS0 ist definiert als ein Home-Dateisystem, und
das PFS1 ist an einem Mount-Punkt ml gemountet, um ein „Single
View"-Dateisystem
PFS0 mit einer einheitlichen Ansicht zu erzeugen, wodurch der Host 0(400)
mit einem Dateidienst versehen wird.
-
15A zeigt einen beispielhaften Zustand der Volume-Managementtabelle 131 zum
Zeitpunkt Januar 2003. In der Volume-Managementtabelle 131 gibt „LV" ein logisches Volume
an, das von dem CHN0 erkannt wird. „LUN" gibt die Nummer einer LU an, die von
dem CHN0 erkannt wird. „Speicher" gibt einen Speicher
an, in dem die LU gespeichert ist, wobei STR0 für den Speicher 1 und
STR1 für
den heterogenen Speicher 500 steht. „LDEV" gibt ein LDEV an, auf dem die LU in
dem Speicher 1 angelegt worden ist. Für die dritte Ausführungsform
wird angenommen, dass jede LU aus einem einzelnen LDEV besteht.
Alternativ können
mehrere LDEVs miteinander verbunden werden, um eine einzelne LU
zu erzeugen. WORM ist die Abkürzung
für „Write
Once, Read Many" (einmal
schreiben, mehrfach lesen) und gibt ein Attribut an, das ein einmaliges
Schreiben und ein mehrfaches Lesen gestattet, wobei „1" einen Speicherbereich
angibt, der das WORM-Attribut hat. „Migration" gibt an, ob ein zugehöriges logisches
Volume migriert worden ist oder nicht, wobei „1" einen migrierten Speicherbereich angibt. „FS" gibt den Namen eines
in dem LV eingerichteten Dateisystems an. „Bemerkungen" gibt zusätzliche
Hinweise an, zum Beispiel „Home" für ein Home-Dateisystem,
ein Datum zur Angabe, wann die Daten in das Dateisystem eingespeichert
worden sind, und dergleichen.
-
Die
erste Reihe in 15A gibt zum Beispiel an, dass
LV0 aus LUN0 und LUN0 aus PLDEV0 besteht, das in Speicher 1 angelegt
worden ist, und ein Dateisystem PFS0 erzeugt wird (dieser Zustand
ist durch LU0/STR0/PLDEV0/PFS0 angegeben) und als ein Home-Dateisystem
definiert ist. In gleicher Weise besagt die zweite Reihe in 15A, dass LV1 die durch LU1/STR0/PLDEV1/PFS1 angegebene
Konfiguration aufweist und eine im Januar 2003 erzeugte Datei speichert.
Im Folgenden wird dieser Zustand durch die Schreibweise „LV1/LU1/STR0/PLDEV1/PFS1" ausgedrückt.
-
Hier
zeigt die dritte Ausführungsform
ein Beispiel, bei dem jedes LV nur Dateien speichert, die am selben
Datum erzeugt worden sind.
-
Als
Nächstes
werden die Abläufe
bei der LDEV-Migration beschrieben. Hier wird die Migration beispielhaft
anhand einer Betriebsstrategie beschrieben, die festlegt, dass am
Anfang des nächsten
Monats die aus dem vorherigen Monat verbleibenden Dateien von dem
Speicher 1 in einen heterogenen Speicher migriert und dahingehend
geändert
werden, dass sie das WORM-Attribut erhalten. Diese Betriebsstrategie
wird von dem DLCM 6001 gesteuert, einer Software-Applikation,
die in einem Speicher eines Managementterminals 600 gespeichert
ist, das extern von dem Speicher 1 installiert ist. DLCM
ist die Abkürzung
für „Data Life
Cycle Manager".
Weil der DLCM 6001 von dem Managementterminal 600 ausgeführt wird,
erfasst der DLCM 6001 Managementinformationen, insbesondere
Informationen in der Volume-Managementtabelle 131 von dem
Speicher 1, so dass der DLCM 6001 die Konfiguration
des Speichers 1 kennen kann.
-
Hier
wird angenommen, dass zum Beispiel am 1. Februar 2003 der DLCM 6001 auf
dem Managementterminal 600 zuerst einen Ausführungsbefehl
an den CHN0 des Speichers 1 ausgibt, um PLDEV2 über die
Managementvorrichtung 18 zu erzeugen. Nach Empfang dieses
Befehls erzeugt der CHN0 LV1/LUN2/STR0/PLDEV2/PFS2 und startet einen
Dateidienst.
-
Als
Nächstes
setzt der DLCM 6001 das WORM-Attribut für die im vorherigen Monat erzeugten
Dateien, also „Januar
2003" nach der Betriebsstrategie,
und bestimmt, diese Dateien aus dem Speicher 1 in den heterogenen
Speicher 500 zu migrieren.
-
Insbesondere
stellt der DLCM 6001 basierend auf den Informationen in
der in 15A gezeigten Volume-Managementtabelle 131 fest,
dass die im „Januar
2003" erzeugten
Dateien in LV1/LUN1/STR0/PLDEV1/PFS1 gespeichert sind.
-
Danach
gibt der DLCM 6001 einen Ausführungsbefehl an den DKC 11 des
Speichers 1 aus, um über
die Managementvorrichtung 18 das WORM-Attribut für das LV1
zu setzen. Nach Empfang dieses Befehls setzt ein WORM-Attributprogramm 111095 des
CHD0 das WORM-Attribut für
das PLDEVl entsprechend dem LV1, das von der Managementvorrichtung 18 angewiesen
worden ist, das WORM-Attribut zu setzen, um neue Schreibzugriffe
zu verhindern. Während
das WORM-Attributprogramm 111095 bei der dritten Ausführungsform
neue Schreibzugriffe verhindert, ist die Erfindung nicht auf diese
spezielle Art und Weise wie bei der dritten Ausführungsform beschränkt, sondern
der CHN0 oder CHD0 kann mit einer Funktion zur Verhinderung neuer
Schreibzugriffe versehen sein.
-
Danach
bestimmt der DLCM 6001 das SLDEV1 in dem heterogenen Speicher 500 als
ein Ziel-LDEV für
die Migration. Ist zuvor noch kein LDEV erzeugt worden, wird über die
Managementvorrichtung 18 ein LDEV-Erzeugungsbefehl an den
DKC 11 des Speichers 1 ausgegeben. Wenn der CHD0
diesen Befehl empfängt,
erzeugt das heterogene Speicheranschlusssteuerprogramm 11101 das
SLDEV1.
-
Sodann
gibt der DLCM 6001 über
die Managementvorrichtung 18 einen Ausführungsbefehl an den DKC 11 des
Speichers 1 aus, um die Daten in dem PLDEV 1 auf
das SLDEV1 zu migrieren. Wenn der CHD0 diesen Befehl empfängt, kopiert
das LDEV-Migrationssteuerprogramm 11104 den Dateninhalt
in dem PLDEV1 auf das SLDEV1, das heißt den heterogenen Speicher 500 über das
heterogene Speicheranschluss-SAN 30. Nach Abschluss dieses Kopiervorgangs
löscht
das LDEV-Migrationssteuerprogramm 11104 die Daten in dem
PLDEV1. Nach Abschluss der Migration aktualisiert das Volume-Steuerprogramm 111093 des
CHD0 die Volume-Managementtabelle 131.
-
Hier
sind im Gegensatz zum Neuanlegen des Dateisystems SFS1 die Informationen
in dem PFS1 in unveränderter
Form auf das SLDEV verschoben worden, so dass der CHN0 das SFS1
erzeugen kann, indem er einfach den Namen des Dateisystems und nur
die anderen nötigen
Daten nach Bedarf aktualisiert.
-
Somit
ist die Migration für
das LV1 abgeschlossen, auf dem das im Januar erzeugte Dateisystem
PFSl gespeichert ist. Als Ergebnis ist die Volume-Managementtabelle 131 wie
in 15B gezeigt geändert
worden. Das LV1 ist durch LV1/LUN1/STR1/SLDEV1/SFS1 angegeben und
hat das WORM-Attribut.
-
Später erzeugt
der DLCM 6001 in ähnlicher Weise
Anfang März
2003 ein logisches Volume LV3 zum Speichern eines Dateisystems PFS3
für Dateien,
die im März
erzeugt werden, und migriert das LV2, auf dem das Dateisystem PFS2
im Februar gespeichert war, aus dem Speicher 1 in den heterogenen
Speicher 500. Als Ergebnis ist das LV2 durch LV2/LUN2/STR1/SLDEV2/SFS2
angegeben, wie in 15C ge zeigt, und hat das WORM-Attribut.
Als Ergebnis dieser Operationen ist die Konfiguration letztlich
definiert, wie in 14 gezeigt.
-
Somit
sind PLDEV1 und PLDEV2 auf SLDEV1 bzw. SLDEV2 migriert worden, wobei LV1/LU1
oder LV2/LU2 nicht geändert
worden sind. Weil das Dateisystem nach der Migration in dem Home-Dateisystem
PFS0 gemountet ist, wird die durchgeführte Migration von dem Host
nicht erkannt. Weil das LDEV-Migrationssteuerprogramm außerdem Adresszeiger
im Laufe der Migration verwaltet, würde ein eventuell während der
Migration erfolgender Zugriff von einem Host nicht unterbrochen
oder würde nicht
zur Übertragung
fehlerhafter Daten führen.
Als Folge sind eine perfekte Transparenz und eine einheitliche Ansicht über das
gesamte Dateisystem von dem Host sichergestellt. Eine solche Funktion
wird als „Single
View-Migration auf der Basis eines heterogenen Speicheranschluss-NAS" bezeichnet.
-
In
der vorstehenden Beschreibung werden das Erzeugen eines Volumes
und die Migration durch den DLCM 6001 auf dem Managementterminal 600 ausgeführt. Alternativ
kann die Funktion des DLCM 6001 in eine Applikation auf
dem Host eingebunden sein, oder der DLCM 6001 kann auf
dem Host oder auch auf der Managementvorrichtung 18 in
dem Speicher laufen. Insbesondere wenn die DLCM-Funktion in eine
Applikation auf dem Host eingebunden ist, kann eine genauere Steuerung
entsprechend den Merkmalen und der Funktionsweise der Applikation
erfolgen. In diesem Fall ist eine Schnittstelle zwischen dem DLCM 6001 und
dem Speicher 1 als API definiert, so dass die vorstehend beschriebene
individuelle Operation als API vorgesehen ist.
-
Die
vorstehende Beschreibung berücksichtigt
keine Unterschiede außer
denen in der Konfiguration des Controllers zwischen dem Speicher 1 und dem
heterogenen Speicher 500. Der Speicher 1 kann zum
Beispiel mit Hochleistungs-Platten 17xx arbeiten, die jeweils
eine FC-Schnittstelle aufweisen, während der heterogene Speicher 500 mit
preiswerten Platten 5170x arbeiten kann, die eine ATA-Schnittstelle
aufweisen, so dass die Hochleistungs-FC-Platten in einer Zeit genutzt
werden können,
in der für das
Anlegen eines Dateisystems häufig
Rückschreibeoperationen
durchgeführt
werden, während
die preiswerten ATA-Platten in einer Zeit genutzt werden können, in
der das Speichern ein Hauptzweck ist. Das so erhaltene Speichersystem
ermöglicht
durch diese gezielte Nutzung eine hohe Leistung bei günstigen
Kosten. Dies ist besonders effektiv beim Aufbau eines Speichersystems
mit preiswerten ATA-Platten zur Langzeitarchivierung von Daten.
Das Speichersystem kann für
eine Vielzahl von Anwendungen angepasst werden, zum Beispiel als
Backup für
ein Dateisystem oder zum Archivieren von E-Mails, Protokollen und Überwachungsbildern
und dergleichen, wodurch sich ein sehr hoher Gebrauchswert ergibt.
-
Mit
den vorstehenden Ausführungsformen können unabhängige Dateisysteme
auf mehreren logischen Speichervolumes erzeugt und in einem einzigen
Verzeichnisbaum zusammengefasst werden, so dass der Host mit einem „Single
View"-Dateisystem versehen
werden kann.
-
Außerdem kann
ein logisches Volume in einem Speicherbereich in einem heterogenen
Speicher erzeugt und ein ganzes Dateisystem mit einer Migrationsfunktion
einer heterogenen Speicheranschlussfunktion unter Beibehaltung der „Single View"-Eigenschaft migriert
werden.
-
Auch
kann im Falle der Migration das WORM-Attribut für ein logisches Volume gesetzt
werden, um ein erneutes Beschreiben des logischen Volumes zu verhindern.
-
Weiter
können
das Erzeugen eines Volumes und die Migration nach einer festgelegten
Strategie durch Steuerung von einem Managementterminal ausgeführt werden,
das extern von dem Speicher oder von dem Host installiert ist.
-
Obwohl
die vorstehende Beschreibung anhand von Ausführungsformen der Erfindung
gegeben worden ist, sollte für
den Fachmann zu erkennen sein, dass die Erfindung nicht hierauf
beschränkt
ist und dass verschiedene Änderungen
und Abwandlungen vorgenommen werden können, ohne vom Gedanken der
Erfindung und vom Umfang der anliegenden Ansprüche abzuweichen.