-
Technisches Gebiet
-
Die
vorliegende Erfindung bezieht sich auf ein HSM-Steuerprogramm, eine
HSM-Steuervorrichtung und ein HSM-Steuerverfahren, die eine hierarchische
Speichervorrichtung verwalten.
-
Stand der Technik
-
HSM
(Hierarchisches Speichermanagement) ist eine Technik, die eine langsame
Speichervorrichtung (Sekundärspeicher), wie zum Beispiel eine
Magnetbandbibliothek, und eine schnelle Speichervorrichtung (Primärspeicher),
wie zum Beispiel eine Festplatte, kombiniert, um ein kostengünstiges und
hochleistungsfähiges Dateisystem zu bilden.
-
Eine
HSM-Steuervorrichtung benötigt eine Funktion zur Identifizierung
von Dateien, auf die in dem Primärspeicher über
eine lange Zeit nicht zugegriffen wurde, Auslagerung der Dateien
auf den Sekundärspeicher und, wenn eine Zugriffsanforderung darauf
ausgeführt wird, Zurückverlagerung der Dateien
in den Primärspeicher. Um diese Funktion zu realisieren,
verwendet die HSM-Steuervorrichtung konventionell ein Verfahren
zur Durchsuchung des gesamten Namensraums in einem Dateisystem,
das eine hierarchische Struktur aufweist, und nimmt Bezug auf die
Zugriffszeit, die das Dateisystem für jede Datei speichert,
um dadurch die auf den Sekundärspeicher auszulagernde Datei
zu identifizieren.
-
Als
für die vorliegende Erfindung relevanter Stand der Technik
ist eine Patentschrift 1 bekannt, die im Folgenden beschrieben wird.
Ein in der Patentschrift 1 offenbarter Datenprozessor sammelt jedes Mal
Protokolldaten, wenn der Inhalt von Metadaten aktualisiert wird,
und verwendet die gesammelten Protokolldaten, um Unstimmigkeiten
in dem Dateisystem zu korrigieren.
- Patentschrift 1: Japanische offen gelegte Patentanmeldung,
Veröffentlichungsnummer 2000-484995
-
Offenbarung der Erfindung
-
Durch die Erfindung zu lösende
Aufgaben
-
Es
bestehen jedoch die folgenden Probleme bei der HSM-Steuervorrichtung,
die das obige Durchsuchungsverfahren des gesamten Namensraums verwendet.
-
Das
erste Problem ist der durch das Durchsuchen des Dateisystems verursachte
Overhead. Das heißt, das konventionelle HSM durchsucht
periodisch den gesamten Dateinamensraum, der eine hierarchische
Struktur aufweist, wodurch ein großer Overhead verursacht
wird.
-
Das
zweite Problem ist ein Ausschlussproblem des Namensraums. Wenn eine
Dateinamenänderungsoperation, wie zum Beispiel eine „Umbennen"-Operation,
an einer bestimmten Datei während der Durchsuchung des
gesamten Namensraums durchgeführt wird, wird ein Pfadname
der bei der Durchsuchung erhaltenen Datei ungültig, da
er tatsächlich nicht vorhanden ist. Daher führt
die HSM-Steuervorrichtung wahrscheinlich eine Datenmigration im
Widerspruch zu einer Richtlinie durch, die ein Anwender festgelegt
hat. Angenommen zum Beispiel, dass ein oberes Verzeichnis mitten
während der Durchsuchung in einen Papierkorb migriert wird, dann
werden wahrscheinlich alle Elemente in dem Papierkorb als zu migrierendes
Objekt festgelegt. Um dies zu verhindern, ist es erforderlich, dass
die HSM-Steuervorrichtung häufig Unstimmigkeiten während
der Durchsuchung des gesamten Namensraums überprüft
und, wenn Unstimmigkeiten gefunden werden, die Durchsuchung von
Beginn an erneut gestartet wird, wodurch die Logik sehr kompliziert wird
und der Overhead wesentlich zunimmt.
-
Das
dritte Problem ist die Flexibilität bei der HSM-Richtliniensteuerung.
Da der Namensraum mit einer hierarchischen Struktur allgemein die
Eigenschaft von gespeicherten Dateien darstellt, ist es naturgemäß,
die HSM-Richtlinie basierend auf dem Namensraum festzulegen (HSM-Richtlinie
aller Dateien unter einem bestimmten Verzeichnis usw.). Das oben erwähnte
Ausschlussproblem des Namensraums macht es jedoch schwierig, eine
komplizierte Richtliniensteuerung basierend auf dem Namensraum zu realisieren.
-
Das
vierte Problem ist der Mangel an Eigenschaftsinformationen der in
dem Sekundärspeicher gespeicherten Daten. Ferner ist es
schwierig, den in dem Sekundärspeicher gespeicherten Daten
einen korrekten Pfadnamen aufgrund des Ausschlussproblems des Namensraums
hinzuzufügen. Daher kann auf die in dem Sekundärspeicher
gespeicherten Daten lediglich unter Verwendung der Metadaten des Dateisystems
zugegriffen werden. Wenn folglich die Metadaten in dem Dateisystem
beschädigt werden, werden die Assoziationen zwischen den
Metadaten und dem Pfadnamen der in dem Sekundärspeicher gespeicherten
Daten ungültig. Folglich können in diesem Fall
die Dateidaten nicht zurückgeholt werden, obwohl sie auf
dem Sekundärspeicher vorhanden sind.
-
Die
vorliegende Erfindung wurde durchgeführt, um die obigen
Aufgaben zu lösen und ein Ziel davon ist, ein HSM-Steuerprogramm,
eine HSM-Steuervorrichtung und ein HSM-Steuerverfahren bereitzustellen,
die den Namensraum effizient replizieren können, um eine
komplizierte Richtliniensteuerung basierend auf dem Namensraum zu
realisieren.
-
Mittel zur Lösung
der Aufgaben
-
Um
die Aufgabe zu lösen, wird gemäß dem ersten
Gesichtspunkt der vorliegenden Erfindung ein HSM-Steuerprogramm
bereitgestellt, das einem Computer gestattet, eine Steuerung für
eine HSM-Vorrichtung unter Verwendung von Primär- und Sekundärspeichern
auszuführen, wobei das Programm dem Computer gestattet
auszuführen: einen Ereignisdatenaufzeichnungsschritt, der
eine Dateioperation für den Primärspeicher oder
eine Archivzustandsänderung als Ereignisdaten aufzeichnet;
einen Namensraumreplikationsschritt, der eine Namensraumreplikationsdatenbank
erzeugt, die durch Replikation des Namensraums des Primärspeichers
erhalten wird; einen Namensraumfolgeschritt, der es der Namensraumreplikationsdatenbank
gestattet, dem Namensraum des Primärspeichers basierend
auf den Ereignisdaten zu folgen; und einen Dateimigrationsanweisungsschritt,
der eine Dateimigration zwischen dem Primär- und dem Sekundärspeicher
basierend auf der Namensraumreplikationsdatenbank anordnet.
-
Bei
dem HSM-Steuerprogramm gemäß der vorliegenden
Erfindung ermittelt der Dateimigrationsanweisungsschritt eine von
dem Primärspeicher auf den Sekundärspeicher zu
migrierende Datei basierend auf der Namensraumreplikationsdatenbank.
-
Bei
dem HSM-Steuerprogramm gemäß der vorliegenden
Erfindung aktualisiert der Namensraumfolgeschritt die Namensraumreplikationsdatenbank
basierend auf Ereignisdaten, die nach dem Abschluss der Erstreplikation
der Namensraumreplikationsdatenbank vorhanden sind.
-
Bei
dem HSM-Steuerprogramm gemäß der vorliegenden
Erfindung aktualisiert der Namensraumreplikationsschritt die Namensraumreplikationsdatenbank
basierend auf Ereignisdaten, die während der Erzeugung
der Namensraumreplikationsdatenbank vorhanden sind.
-
Bei
dem HSM-Steuerprogramm gemäß der vorliegenden
Erfindung gestattet das Programm dem Computer in dem Fall ferner,
in dem ein System, auf dem das HSM-Steuerprogramm läuft,
beendet wird, einen Systembeendigungsschritt auszuführen,
der Ereignisdaten, die durch den Ereignisdatenaufzeichnungsschritt
aufgezeichnet wurden, auf die Namensraumreplikationsdatenbank spiegelt.
-
Bei
dem HSM-Steuerprogramm gemäß der vorliegenden
Erfindung gestattet das Programm dem Computer in dem Fall ferner,
in dem ein System, auf dem das HSM-Steuerprogramm läuft,
nach einer abnormalen Systembeendigung gestartet wird, den Namensraumreplikationsschritt
auszuführen.
-
Bei
dem HSM-Steuerprogramm gemäß der vorliegenden
Erfindung gestattet der Ereignisdatenaufzeichnungsabschnitt in dem
Fall, in dem die Menge der aufgezeichneten Ereignisdaten einen vorherbestimmten
Wert erreicht oder nachdem eine vorherbestimmte Zeitdauer verstrichen
ist, dass der Namensraumfolgeschritt basierend auf den in dem Speicher
aufgezeichneten Ereignisdaten ausgeführt wird.
-
Bei
dem HSM-Steuerprogramm gemäß der vorliegenden
Erfindung beinhalten die Ereignisdaten die Art und Eintrittszeit
einer Dateioperation oder einer Archivzustandsänderung.
-
Bei
dem HSM-Steuerprogramm gemäß der vorliegenden
Erfindung beinhaltet die Namensraumreplikationsdatenbank ein Dateiattribut
und einen Archivzustand.
-
Gemäß einem
zweiten Gesichtspunkt der vorliegenden Erfindung wird eine HSM-Steuervorrichtung
bereitgestellt, die die Steuerung für eine HSM-Vorrichtung
unter Verwendung von Primär- und Sekundärspeichern
ausführt, umfassend: einen Ereignisdatenaufzeichnungsabschnitt,
der eine Dateioperation für den Primärspeicher
oder eine Archivzustandsänderung als Ereignisdaten aufzeichnet;
einen Namensraumreplikationsabschnitt, der eine Namensraumreplikationsdatenbank
erzeugt, die durch Replikation des Namensraums des Primärspeichers erhalten
wird; einen Namensraumfolgeabschnitt, der es der Namensraumreplikationsdatenbank
gestattet, dem Namensraum des Primärspeichers basierend auf
den Ereignisdaten zu folgen; und einen Dateimigrationsanweisungsabschnitt,
der die Dateimigration zwischen dem Primär- und dem Sekundärspeicher basierend
auf der Namensraumreplikationsdatenbank anordnet.
-
Bei
der HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung ermittelt der Dateimigrationsanweisungsabschnitt eine
von dem Primärspeicher auf den Sekundärspeicher
zu migrierende Datei basierend auf der Namensraumreplikationsdatenbank.
-
Bei
der HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung aktualisiert der Namensraumfolgeabschnitt die Namensraumreplikationsdatenbank
basierend auf Ereignisdaten, die nach dem Abschluss der Erstreplikation
der Namensraumreplikationsdatenbank vorhanden sind.
-
Bei
der HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung aktualisiert der Namensraumreplikationsabschnitt die Namensraumreplikationsdatenbank
basierend auf Ereignisdaten, die während der Erzeugung
der Namensraumreplikationsdatenbank vorhanden sind.
-
Bei
der HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung spiegelt der Ereignisdatenaufzeichnungsabschnitt in dem
Fall, in dem ein mit der HSM-Steuervorrichtung bereitgestelltes
System beendet wird, aufgezeichnete Ereignisdaten auf die Namensraumreplikationsdatenbank.
-
Bei
der HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung wird der Namensraumreplikationsabschnitt in dem Fall aktiviert,
in dem ein mit der HSM-Steuervorrichtung bereitgestelltes System nach
einer abnormalen Systembeendigung gestartet wird.
-
Bei
der HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung wird die Funktion des Namensraumfolgeabschnitts basierend
auf den aufgezeichneten Ereignisdaten in dem Fall ausgeführt,
in dem die Menge der aufgezeichneten Ereignisdaten einen vorherbestimmten
Wert erreicht oder nachdem eine vorherbestimmte Zeitdauer verstrichen
ist.
-
Bei
der HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung beinhalten die Ereignisdaten die Art und Eintrittszeit
einer Dateioperation oder einer Archivzustandsänderung.
-
Bei
der HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung beinhaltet die Namensraumreplikationsdatenbank ein Dateiattribut
und einen Archivzustand.
-
Gemäß einem
dritten Gesichtspunkt der vorliegenden Erfindung wird ein HSM-Steuerverfahren bereitgestellt,
das die Steuerung für eine HSM-Vorrichtung unter Verwendung
von Primär- und Sekundärspeichern ausführt,
umfassend: einen Ereignisdatenaufzeichnungsschritt, der eine Dateioperation
für den Primärspeicher oder eine Archivzustandsänderung
als Ereignisdaten aufzeichnet; einen Namensraumreplikationsschritt,
der eine Namensraumreplikationsdatenbank erzeugt, die durch Replikation
des Namensraums des Primärspeichers erhalten wird; einen
Namensraumfolgeschritt, der es der Namensraumreplikationsdatenbank
gestattet, dem Namensraum des Primärspeichers basierend
auf den Ereignisdaten zu folgen; und einen Dateimigrationsanweisungsschritt,
der die Dateimigration zwischen dem Primär- und dem Sekundärspeicher
basierend auf der Namensraumreplikationsdatenbank anordnet.
-
Kurzbeschreibung der Zeichnungen
-
1 ist
ein Blockdiagramm, das ein Beispiel eines Aufbaus eines HSM-Systems
gemäß der vorliegenden Erfindung darstellt;
-
2 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Dateiinformationserfassungsverarbeitung
gemäß der vorliegenden Erfindung darstellt;
-
3 ist
eine Ansicht, die ein Beispiel einer hierarchischen Struktur eines
Verzeichnisses in dem Namensraum darstellt;
-
4 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Dateiinformationserfassungsverarbeitung
gemäß der vorliegenden Erfindung darstellt;
-
5 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Ereignisdatenspiegelungsverarbeitung gemäß der
vorliegenden Erfindung darstellt; und
-
6 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Migrationsermittlungsverarbeitung
gemäß der vorliegenden Erfindung darstellt.
-
Beste Art zur Ausführung
der Erfindung
-
Eine
Ausführungsform der vorliegenden Erfindung wird im Folgenden
mit Bezug auf die beigefügten Zeichnungen beschrieben.
-
In
der vorliegenden Ausführungsform wird ein Server, der als
eine HSM-Steuervorrichtung gemäß der vorliegenden
Erfindung dient, beschrieben.
-
Zuerst
wird ein Aufbau eines HSM-Systems mit dem Server gemäß der
vorliegenden Erfindung beschrieben.
-
1 ist
ein Blockdiagramm, das einen Aufbau des HSM-Systems gemäß der
vorliegenden Erfindung darstellt. Das HSM-System beinhaltet einen Primärspeicher 1,
der eine schnelle Speichervorrichtung, wie zum Beispiel ein Plattenlaufwerk,
ist, der kürzlich aufgerufene Dateien speichert, einen
Sekundärspeicher 2, der eine langsame Speichervorrichtung,
wie zum Beispiel eine Magnetbandbibliothek, ist, der Dateidaten
speichert, auf die über eine lange Zeit nicht zugegriffen
wurde, und einen Server 3, der eine HSM-Steuervorrichtung
gemäß der vorliegenden Erfindung ist, auf dem
ein Anwendungsprogramm für den Zugriff auf Dateidaten läuft.
-
Der
Server 3 beinhaltet einen Anwendungsabschnitt 11,
eine Dateisystemsteuerung 12, einen Namensraumreplikationsabschnitt 13,
einen Namensraumfolgeabschnitt 14, eine Namensraumreplikations-DB
(Datenbank) 15 und einen Migrationsermittlungsabschnitt 16.
Die Dateisystemsteuerung 12 beinhaltet einen Ereignisdatenaufzeichnungsabschnitt 21.
-
Die
Funktionen der jeweiligen Abschnitte, die den Server 3 ausmachen,
werden als nächstes beschrieben.
-
Der
Ereignisdatenaufzeichnungsabschnitt 21 ist ein Programm,
das in der Dateisystemsteuerung 12 bereitgestellt ist und
eine Funktion zur Speicherung der Vorgeschichte der Dateioperationsanforderungen
als Ereignisdaten aufweist, die durch ein Anwendungsprogramm ausgegeben
wurden. Der Ereignisdatenaufzeichnungsabschnitt 21 wandelt
die Inhalte der durch den Anwendungsabschnitt 11 ausgegebenen
Dateioperationsanforderungen in eine Form von Ereignisdaten um,
um diese so in einem Speicher zu speichern, und, wenn die Menge
der Ereignisdaten ein vorherbestimmtes Niveau erreicht, diese an
den Namensraumreplikationsabschnitt 13 und den Namensraumfolgeabschnitt 14 zu
senden. Die Ereignisdaten können über eine Datenübertragungsleitung
oder unter Verwendung einer dedizierten Datei gesendet werden.
-
Der
Namensraumreplikationsabschnitt 13 ist ein Programm mit
einer Replikationsfunktion des Namensraums eines Dateisystems parallel
zu dem Betrieb des Anwendungsabschnitts 11. Der Namensraumreplikationsabschnitt 13 durchläuft
den Namensraum eines Dateisystems, um die Dateiinformationen der
vorhandenen Dateien zu erfassen. Der Namensraumreplikationsabschnitt 13 verknüpft
die erfassten Dateiinformationen und die von dem Ereignisdatenaufzeichnungsabschnitt 21 erhaltenen
Ereignisdaten während des Dateiinformationserfassungsvorgangs,
um die Namensraumerstreplikation in Form einer Namensraumreplikations-DB 15 abzuschließen.
-
Der
Namensraumfolgeabschnitt 14 aktualisiert die Replikation
nach der Namensraumerstreplikation gemäß den von
dem Ereignisdatenaufzeichnungsabschnitt 21 empfangenen
Ereignisdaten, um so die Namensraumreplikations-DB 15 aktuell
zu halten. Ferner spielt der Namensraumfolgeabschnitt 14 ebenfalls
eine Rolle bei der Spiegelung eines gemeldeten Dateizugriffs oder
Archivzustands auf die Namensraumreplikations-DB 15.
-
Der
Migrationsermittlungsabschnitt 16 ist ein Programm mit
einer Ausgabefunktion einer Anweisung als Richtliniensteuerung an
die Dateisystemsteuerung 12, um Dateien, auf die in dem
Primärspeicher 1 über eine lange Zeit
nicht zugegriffen wurde, auf den Sekundärspeicher 2 gemäß Dateizugriffsdatensätzen,
die durch den Namensraumreplikationsabschnitt 13 festgelegt
sind, und einer durch einen Benutzer festgelegten Richtlinie auszulagern
(zu migrieren). Wenn allgemein auf eine bestimmte Datei unter den
migrierten Dateien in dem Sekundärspeicher 2 durch
den Anwendungsabschnitt 11 zugegriffen wird, wird die aufgerufene
Datei durch die Dateisystemsteuerung 12 zurück
in den Primärspeicher 1 migriert (zurückgerufen).
Ferner werden jedes Mal, wenn eine Dateiaktualisierungsoperation
ausgeführt wird, Daten (Archivdaten) auf dem Sekundärspeicher 2 durch
die Dateisystemsteuerung 12 für ungültig
erklärt. Die Daten auf dem Sekundärspeicher 2 werden zu
dieser Zeit nicht gelöscht, sondern als Sicherungsdaten
gespeichert, solange es die Kapazität des Sekundärspeichers 2 zulässt,
um so verwendet zu werden, den Zustand nach einem Systemausfall
wiederherzustellen, falls dieser auftritt.
-
Details
der Ereignisdaten, der Dateiinformationen und der Namensraumreplikations-DB 15 werden
als nächstes beschrieben.
-
Zuerst
werden die Ereignisdaten beschrieben.
-
Die
durch den Ereignisdatenaufzeichnungsabschnitt 21 erstellten
Ereignisdaten (Ereignis), stellen den Inhalt von Dateioperationen,
wie zum Beispiel das Erstellen/Löschen einer Datei oder
eines Verzeichnisses, eine Dateinamenänderung, einen Dateizugriff
oder eine Archivzustandsänderung, dar. Die jedem Vorgang
entsprechenden Ereignisdaten beinhalten die Vorgangsbezeichnung
und die Vorgangszeit, zu der ein der Vorgangsbezeichnung entsprechender
Vorgang ausgeführt wird, sowie die folgenden Daten. Der
hier verwendete Begriff „Archivzustandsänderung"
beinhaltet Ereignisse, wie zum Beispiel die Validierung/Ungültigkeitserklärung
von Archivdaten, die Migration und das Zurückrufen.
-
(1) Erstellen einer Datei oder eines Verzeichnisses
-
- event.rectype = Erstellen
- event.m_inode# = Inode-Zahl des Vaterverzeichnisses
- event.ftype = Verzeichnis (zur mkdir-Zeit) oder Datei (zur Erstellungszeit)
- event.fname = Name der erstellten Datei
- event.inode# = Inode-Zahl der erstellten Datei oder des Verzeichnisses
- event.time = Zeit, wenn dieses Ereignis auftritt
-
(2) Löschen einer Datei oder
eines Verzeichnisses
-
- event.rectype = Löschen
- event.m_inode# = Inode-Zahl des Vaterverzeichnisses
- event.ftype = Verzeichnis (zur rmdir-Zeit) oder Datei (zur Löschungszeit)
- event.inode# = Inode-Zahl der gelöschten Datei oder des
Verzeichnisses
- event.time = Zeit, wenn dieses Ereignis auftritt
-
(3) Dateinamenänderung
-
- event.rectype = Umbenennen
- event.m_inode# = Inode-Zahl des Vaterverzeichnisses
- event.ftype = Verzeichnis (in dem Fall, in dem das Ziel ein
Verzeichnis ist) oder Datei (in dem Fall, in dem das Ziel eine Datei
ist)
- event.inode# = Inode-Zahl der Zieldatei oder des Zielverzeichnisses
- event.target.m_inode# = Inode-Zahl des Migrationszielverzeichnisses
- event.target.fname = Name der Datei oder des Verzeichnisses
nach dem Umbenennen
- event.time = Zeit, wenn dieses Ereignis auftritt
-
(4) Dateizugriff (Anwendungsprogramm liest/schreibt Datei)
-
- event.rectype = Zugreifen
- event.inode# = Inode-Zahl der Datei
- event.time = Zeit, wenn dieses Ereignis auftritt
-
(5) Archivzustandsänderung
-
- event.rectype = Archivieren
- event.inode# = Inode-Zahl der Datei
- event.migrate = Ein (migrierter Zustand) oder Aus (Zurückrufen
ist aktiv, um den migrierten Zustand aufzulösen)
- event.archive = Ein (Dateidaten wurden auf den Sekundärspeicher 2 geschrieben,
um Archivdaten zu validieren) oder Aus (Datei wurde aktualisiert,
um Archivdaten für ungültig zu erklären)
- event.time = Zeit, wenn dieses Ereignis auftritt
-
Als
nächstes werden die Dateiinformationen beschrieben.
-
Die
von dem Dateisystem während der Namensraumreplikation erfassten
Dateiinformationen (fstat) beinhalten das Folgende.
fstat.m_inode#
= Inode-Zahl des Vaterverzeichnisses
fstat.ftype = Verzeichnis
(in dem Fall, in dem das Ziel ein Verzeichnis ist) oder Datei (in
dem Fall, in dem das Ziel eine Datei ist)
fstat.fname = Name
der Datei oder des Verzeichnisses
fstat.inode# = Inode-Zahl
der Datei oder des Verzeichnisses
fstat.archive = Ein (Archivdaten
sind gültig) oder Aus (Archivdaten sind ungültig)
fstat.migrate
= Ein (migrierter Zustand) oder Aus (nichtmigrierter Zustand)
fstat.atime
= Zeit, zu der auf die Datei zuletzt zugegriffen wurde
fstat.time
= Dateiinformationserfassungszeit
-
Als
nächstes wird ein Aufbau der Namensraumreplikations-DB 15 beschrieben.
-
Die
Namensraumreplikations-DB 15 ist eine relationale Datenbank
mit im Folgenden dargestellten Spalten (dbe), von denen jede ein
Tupel für jedes Dateielement, das in einem Verzeichnis
liegt, oder Verzeichniselement aufweist.
dbe.m_inode# = Inode-Zahl
des Vaterverzeichnisses
dbe.ftype = Verzeichnis (in dem Fall,
in dem dieses Tupel ein Verzeichnis bezeichnet) oder Datei (in dem Fall,
in dem dieses Tupel eine Datei bezeichnet)
dbe.fname = Name
der Datei oder des Verzeichnisses
dbe.inode# = Inode-Zahl der
Datei oder des Verzeichnisses
dbe.archive = Ein (Archivdaten
sind gültig) oder Aus (Archivdaten sind ungültig)
dbe.migrate
= Ein (migrierter Zustand) oder Aus (nichtmigrierter Zustand)
dbe.atime
= Zeit, zu der auf die Datei zuletzt zugegriffen wurde
dbe.active
= Ein (Dateiinformationen wurden erfasst) oder Aus (Dateiinformationen
wurden noch nicht erfasst)
-
Der
Betrieb des Servers 3 wird als nächstes beschrieben.
-
2 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Dateiinformationserfassungsverarbeitung
gemäß der vorliegenden Erfindung darstellt. Der Server 3 führt
die Namensraumreplikationsverarbeitung (S11), die Namensraumfolgeverarbeitung
(S12) und die Migrationsverarbeitung (S13) aus.
-
Details
des durch den Server 3 ausgeführten Vorgangs werden
beschrieben.
-
Zuerst
wird die Namensraumreplikationsverarbeitung beschrieben.
-
Die
Namensraumreplikationsverarbeitung wird zur Erstellung der Erstreplikation
des Namensraums durchgeführt und beinhaltet die Dateiinformationserfassungsverarbeitung
und die Ereignisdatenspiegelungsverarbeitung. Ferner wird die Namensraumreplikationsverarbeitung
ebenso zum Zweck der Wiederherstellung der Namensraumreplikations-DB 15,
zum Beispiel zur Zeit eines Serverneustarts nach dem Auftreten einer
Betriebsstörung, durchgeführt, wenn in dem Speicher
gespeicherte Ereignisdaten verloren sind und dadurch der Inhalt
der Namensraum-DB 15 nicht den letzten Zustand des Dateisystems
widerspiegeln kann. Bei einer solchen Konstellation, in der die
Namensraumreplikations-DB 15 dynamisch neu erstellt wird,
ist es nicht erforderlich, die Ereignisdaten zur Eintrittszeit des
Ereignisses nichtflüchtig zu machen, sondern es ist lediglich
erforderlich, die Ereignisdaten in einem Speicher mit kleiner Kapazität
zu speichern, wodurch der Overhead verringert wird, der die anschließende
Namensraumreplikations-DB-Folgeverarbeitung umfasst.
-
Als
Dateiinformationserfassungsverarbeitung öffnet der Namensraumreplikationsabschnitt 13 ein
Vaterverzeichnis, bestimmt einen Kinddateinamen oder Kindverzeichnisnamen
als Argument und gibt eine Informationserfassungsfunktion (getinfo) des
Dateisystems aus, wodurch die Dateiinformationen erhalten werden.
Ferner folgt der Namensraumreplikationsabschnitt 13 dem
Namensraum in aufsteigender (oder absteigender) Reihenfolge eines
Pfadnamens, um die Informationen aller Verzeichnisse und aller Dateien,
die in dem Dateisystem vorhanden sind, vollständig zu erhalten.
Da bei diesem Vorgang entgangene Verzeichnisse oder Dateien als
Ereignisdaten aufgezeichnet werden, kann eine Korrektur später
durchgeführt werden.
-
3 ist
eine Ansicht, die ein Beispiel einer hierarchischen Struktur eines
Verzeichnisses in dem Namensraum darstellt. Der in 3 dargestellte
Namensraum wird durch Sortieren der Namen der Verzeichnisse und
Dateien in der hierarchischen Verzeichnisstruktur in aufsteigender
Reihenfolge von links nach rechts erhalten. 4 ist ein
Flussdiagramm, das ein Ablaufbeispiel der Dateiinformationserfassungsverarbeitung
gemäß der vorliegenden Erfindung darstellt.
-
Der
Namensraumreplikationsabschnitt 13 durchläuft
die hierarchische Struktur in die Richtung nach links unten (in
der aufsteigenden Reihenfolge des Verzeichnisnamens), beginnt bei
dem Wurzelverzeichnis des Zieldateisystems und findet das unterste
Verzeichnis ganz links. Der Namensraumreplikationsabschnitt 13 legt
dann das unterste Verzeichnis ganz links als ein Zielverzeichnis
fest und legt den Pfadnamen des während der Zielverzeichnissuche erfassten
Zielverzeichnisses als einen Zielverzeichnispfadnamen fest (S201).
Der Namensraumreplikationsabschnitt 13 erfasst dann die
Dateiinformationen des Zielverzeichnisses und die Dateiinformationen aller
sich in dem Zielverzeichnis befindenden Dateien eine nach der anderen
in aufsteigender Reihenfolge des Dateinamens und schreibt diese
sequentiell an das Ende einer Dateiinformationsaufzeichnungsdatei (S202).
Dann ermittelt der Namensraumreplikationsabschnitt 13,
ob das Zielverzeichnis das Wurzelverzeichnis ist oder nicht (S203).
Wenn festgestellt wird, dass das Zielverzeichnis das Wurzelverzeichnis
ist (J in S203), was bedeutet, dass alle Dateien verarbeitet worden
sind, beendet der Namensraumreplikationsabschnitt 13 daher
diesen Ablauf.
-
Wenn
auf der anderen Seite festgestellt wird, dass das Zielverzeichnis
nicht das Wurzelverzeichnis ist (N in S203), erfasst der Namensraumreplikationsabschnitt 13 den
Pfadnamen des Verzeichnisses eine Ebene über dem Zielverzeichnis,
das heißt, legt einen Pfadnamen, der durch Entfernen des
letzten Verzeichnisnamens, der den Pfadnamen bildet, erhalten wird,
als einen neuen Pfadnamen fest. Der Namensraumreplikationsabschnitt 13 durchsucht
dann erneut die hierarchische Struktur nach dem erfassten Verzeichnispfadnamen
von dem Wurzelverzeichnis aus in die Richtung nach unten. Das letzte
Verzeichnis, dessen Vorhandensein durch die Suche bestätigt wurde,
wird als das Ausgangsverzeichnis festgelegt (S205). In dem Fall,
in dem ein Verzeichnis in der Mitte des Pfads an eine andere Stelle
in dem Namensraum durch eine Umbenennungsoperation oder dergleichen
migriert wurde, kann das migrierte Verzeichnis im Verlauf der Suche
nicht gefunden werden. Der fehlende Teil wird jedoch bei der anschließenden Dateiinformationserfassungsverarbeitung
gefunden oder in den Ereignisdaten aufgezeichnet und daher wird
der Namensraum sicher später korrigiert werden. Folglich
kann der fehlende Teil zu diesem Zeitpunkt ignoriert werden.
-
Der
Namensraumreplikationsabschnitt 13 liest dann den Inhalt
des Ausgangsverzeichnisses und ermittelt, ob irgendein unverarbeitetes
Verzeichnis in dem Ausgangsverzeichnis vorhanden ist (S206). Wenn
festgestellt wird, dass irgendein unverarbeitetes Verzeichnis in
dem Ausgangsverzeichnis vorhanden ist (J in S206), legt der Namensraumreplikationsabschnitt 13 das
unterste Verzeichnis ganz links unter den unverarbeiteten Verzeichnissen
in dem Ausgangsverzeichnis als ein neues Zielverzeichnis fest (S207)
und wechselt zu Schritt S202. In dem Fall, in dem kein unverarbeitetes
Verzeichnis vorhanden ist, das heißt, in dem Fall, in dem
es kein Verzeichnis mit einem Namen gibt, der alphabetisch größer
ist als ein Zielverzeichnispfadname in dem Ausgangsverzeichnis (N
in S206), legt der Namensraumreplikationsabschnitt 13 den
Pfadnamen des Ausgangsverzeichnisses als den Zielverzeichnispfadnamen
fest (S208) und wechselt zu Schritt S202.
-
Nach
Abschluss der Dateiinformationserfassungsverarbeitung für
das Zieldateisystem führt der Namensraumreplikationsabschnitt 13 eine
Ereignisdatenspiegelungsverarbeitung zur Spiegelung von Ereignisdaten
durch, die während der Informationserfassungsverarbeitung
der Dateiinformationen erzeugt worden sind. Bei der Ereignisdatenspiegelungsverarbeitung
liest der Namensraumreplikationsabschnitt 13 sequentiell
den Inhalt der Dateiinformationsaufzeichnungsdateien von Beginn
an, um die gesamten, in der Dateiinformationsaufzeichnungsdatei
aufgezeichneten Dateiinformationen zu verarbeiten.
-
5 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Ereignisdatenspiegelungsverarbeitung gemäß der
vorliegenden Erfindung darstellt. Der Namensraumreplikationsabschnitt 13 entfernt
unverarbeitete Dateiinformationen (S302) und entfernt dann sequentiell
Ereignisdaten, die eine Zeit aufweisen, die vor der in den Dateiinformationen
gesetzten Informationserfassungszeit liegt, und spiegelt diese auf die
Namensraumreplikations-DB 15 (S303).
-
Hierin
nachstehend wird die Spiegelung der Ereignisdaten auf die Namensraumreplikations-DB 15 für
jede Dateioperationsart (Datei löschen, Datei erstellen,
Dateinamen ändern, Dateizugriff und Archivzustandsänderung)
beschrieben.
-
In
dem Fall, in dem die Ereignisdaten die Dateilöschungsoperation
(Datei löschen oder Verzeichnis löschen) darstellen,
löscht der Namensraumreplikationsabschnitt 13 eine
Löschzieldatei oder ein -verzeichnis, wenn sie/es in der
Namensraumreplikations-DB 15 registriert ist und ignoriert
diese Ereignisdaten, wenn sie/es nicht registriert ist. In dem Fall,
in dem ein Eintrag vorhanden ist, der alle folgenden Bedingungen
erfüllt, wird hier die entsprechende Datei oder das Verzeichnis
als registriert betrachtet.
dbe.inode# == event.inode#
dbe.m_inode#
== event.m_inode#
dbe.fname == event.fname
-
In
dem Fall, in dem die Ereignisdaten die Dateierstellungsoperation
(Datei erstellen oder Verzeichnis erstellen) darstellen, registriert
der Namensraumreplikationsabschnitt 13 eine erstellte Datei
oder Verzeichnis, wenn sie/es nicht in der Namensraumreplikations-DB 15 registriert
war und ignoriert diese Ereignisdaten als „Informationserfassungsbeendigungszustand",
wenn sie/es registriert ist. In dem Fall, in dem ein Eintrag vorhanden
ist, der alle folgenden Bedingungen erfüllt, wird die entsprechende
Datei oder das Verzeichnis als registriert betrachtet.
dbe.inode#
== event.inode#
dbe.m_inode# == event.m_inode#
dbe.fname
== event.fname
-
Der
zu der Zeit gesetzte Inhalt, wenn die Zieldatei oder das Zielverzeichnis
nicht registriert war, wird im Folgenden dargestellt.
dbe.m_inode#
= event.m_inode#
dbe.ftype = event.ftype
dbe.fname = event.fname
dbe.inode#
= event.inode#
dbe.archive = Aus
dbe.migrate = Aus
dbe.atime
= event.time
dbe.active = Ein
-
In
dem Fall, in dem die Ereignisdaten die Dateinamenänderungsoperation
(event.rectype == Umbenennen) darstellen, verarbeitet der Namensraumreplikationsabschnitt 13 dieses
Ereignis in der folgenden Prozedur. In dem Fall, in dem eine Datei
oder ein Verzeichnis mit demselben Namen wie einer, der nach der
Umbenennungsverarbeitung erhalten wurde, registriert ist (ausgewertet
nach dem Dateinamen und der Vater-Inode-Zahl), löscht der
Namensraumreplikationsabschnitt 13 den entsprechenden Eintrag aus
der Namensraumreplikations-DB 15. In dem Fall, in dem ein
Eintrag vorhanden ist, der alle folgenden Bedingungen erfüllt,
wird die entsprechende Datei oder das Verzeichnis als registriert
betrachtet.
dbe.name == event.target.fname
dbe.m_inode#
== event.target.m_inode#
dbe.fname == event.target.fname
-
In
dem Fall, in dem eine Zieldatei in der Namensraumreplikations-DB 15 registriert
ist, ändert der Namensraumreplikationsabschnitt 13 die
Vaterinformation und den Dateinamen des entsprechenden Eintrags.
In dem Fall, in dem ein Eintrag vorhanden ist, der alle folgenden
Bedingungen erfüllt, wird die entsprechende Datei als registriert
betrachtet.
dbe.inode# == event.inode#
dbe.m_inode# ==
event.m_inode#
dbe.fname == event.fname
-
Der
zu dieser Zeit zu ändernde Inhalt wird im Folgenden dargestellt.
dbe.m_inode#
= event.target.m_inode#
dbe.name = event.target.fname
-
In
dem Fall, in dem eine Zieldatei nicht in der Namensraumreplikations-DB 15 registriert
ist, registriert der Namensraumreplikationsabschnitt 13 eine umbenannte
Datei in der Namensraumreplikations-DB 15 als einen neuen
Eintrag.
dbe.inode# = event.inode#
dbe.m_inode# = event.target.m_inode#
dbe.name
= event.target.fname
dbe.active = Aus
-
In
dem Fall, in dem die Ereignisdaten den Dateizugriff (event.rectype
== Zugreifen) darstellen, ignoriert der Namensraumreplikationsabschnitt 13 diese
Ereignisdaten, wenn der Ziel-Inode nicht registriert ist. Andernfalls
aktualisiert der Namensraumreplikationsabschnitt 13 (da „feste
Verknüpfungen" vorhanden sind) die letzte Dateizugriffszeit,
Archivinformationen und Zurückrufinformationen aller registrierten
Einträge. In dem Fall, in dem ein Eintrag vorhanden ist,
der alle folgenden Bedingungen erfüllt, wird der entsprechende
Inode als registriert betrachtet.
dbe.inode# == event.inode#
-
Der
zu dieser Zeit zu ändernde Inhalt wird im Folgenden dargestellt.
dbe.atime
= event.time
-
In
dem Fall, in dem die Ereignisdaten die Archivzustandsänderung
(event.rectype == Archivieren) darstellen, ignoriert der Namensraumreplikationsabschnitt 13 diese
Ereignisdaten, wenn der Ziel-Inode nicht registriert ist. Andernfalls
aktualisiert der Namensraumreplikationsabschnitt 13 (da „feste Verknüpfungen" vorhanden
sind) die Archivinformationen aller registrierten Einträge.
In dem Fall, in dem ein Eintrag vorhanden ist, der alle folgenden
Bedingungen erfüllt, wird der entsprechende Inode als registriert
betrachtet.
dbe.inode# == event.inode#
-
Der
zu dieser Zeit zu ändernde Inhalt wird im Folgenden dargestellt.
dbe.archive
= event.archive
dbe.migrate = event.migrate
-
Dann
registriert der Namensraumreplikationsabschnitt 13 den
Inhalt der Dateiinformationen in der Namensraumreplikations-DB 15,
falls sie nicht darin als „Informationserfassungsbeendigungszustand"
registriert sind (S305). In dem Fall, in dem die Tupel mit derselben
Inode-Zahl registriert sind, ändert der Namensraumreplikationsabschnitt 13 den
Inhalt aller registrierten Einträge. In dem Fall, in dem ein
Eintrag vorhanden ist, der alle folgenden Bedingungen erfüllt,
werden die entsprechenden Dateiinformationen als registriert betrachtet.
dbe.inode#
== fstat.inode#
dbe.fname == fstat.fname
dbe.m_inode#
== fstat.m_Inode#
-
Der
Inhalt eines neu gesetzten Eintrags in dem Fall, in dem kein entsprechender
Eintrag vorhanden ist, ist im Folgenden dargestellt.
dbe.m_inode#
= fstat.m_inode#
dbe.ftype = fstat.ftype
dbe.fname = fstat.fname
dbe.inode#
= fstat.inode#
dbe.archive = fstat.archive
dbe.migrate
= fstat.migrate
dbe.atime = fstat.atime
dbe.active = Ein
-
Der
in dem Fall gesetzte Inhalt, in dem dieselbe Inode-Zahl registriert
ist (d. h. dbe.inode# = fstat.inode#), ist im Folgenden dargestellt.
dbe.archive
= fstat.archive
dbe.migrate = fstat.migrate
dbe.atime
= fstat.atime
dbe.active = Ein
-
Wenn
die Verarbeitung aller aufgezeichneten Dateiinformationen beendet
ist, ermittelt der Namensraumreplikationsabschnitt 13,
ob irgendein Segment (Verzeichnis, dessen Information nicht erfasst
wurde) des Namensraums, das bei der Informationserfassungsverarbeitung
aufgrund eines Verarbeitungskonflikts mit der den Namensraum ändernden
Dateioperation ausgelassen wurde, vorhanden ist oder nicht (S311).
Wenn festgestellt wird, dass kein Verzeichnis vorhanden ist, dessen
Informationen nicht erfasst wurden (N in S311), beendet der Namensraumreplikationsabschnitt 13 diesen
Ablauf. Wenn auf der anderen Seite festgestellt wird, dass ein Verzeichnis
vorhanden ist, dessen Informationen nicht erfasst wurden (J in S311),
führt der Namensraumreplikationsabschnitt 13 die
Dateiinformationserfassungsverarbeitung mit dem relevanten, als
Wurzel festgelegten Verzeichnis durch, spiegelt Ereignisdaten, die
während der obigen Dateiinformationserfassungsverarbeitung
aufgetreten sind, auf die erfassten Dateiinformationsereignisse
(S312) und kehrt zu Schritt S311 zurück, wo der Namensraumreplikationsabschnitt 13 die
obige Verarbeitung für ein weiteres Verzeichnis, dessen
Informationen nicht erfasst wurden, wiederholt.
-
Die
Namensraumfolgeverarbeitung wird als nächstes beschrieben.
-
Der
Namensraumfolgeabschnitt 14 empfängt Ereignisdaten,
die nach Abschluss der Namensraumreplikationsverarbeitung erzeugt
wurden, von dem Ereignisdatenaufzeichnungsabschnitt 21 und
spiegelt die Ereignisdaten sequentiell auf die Namensraumreplikations-DB 15.
Die Ereignisdatenspiegelungsverarbeitung ist fast dieselbe wie die Namensraumreplikationsverarbeitung,
außer dass sie keine Dateiinformationen verwendet und daher entsprechend
einfacher ist als die Namensraumreplikationsverarbeitung.
-
In
dem Fall, in dem die Ereignisdaten das Dateilöschungsoperationsereignis
(Datei löschen oder Verzeichnis löschen) darstellen,
löscht der Namensraumfolgeabschnitt 14 den Eintrag,
der die Inode-Zahl, die Vater-Inode-Zahl und den Dateinamen beinhaltet,
die durch die Ereignisdaten angegebenen sind, aus der Namensraumreplikations-DB 15.
-
In
dem Fall, in dem die Ereignisdaten die Dateierstellungsoperation
(Datei erstellen oder Verzeichnis erstellen) darstellen, registriert
der Namensraumfolgeabschnitt 14 den Eintrag, der die durch
die Ereignisdaten angegebene Inode-Zahl beinhaltet, in der Namensraumreplikations-DB 15 und
setzt das Attribut (Art) und die Vater-Inode-Zahl, die durch die Ereignisdaten
angezeigt werden.
-
In
dem Fall, in dem die Ereignisdaten die Dateinamenänderungsoperation
(Umbenennen) darstellen, löscht der Namensraumfolgeabschnitt 14, wenn
eine Datei mit demselben Namen wie eine Zieldatei vorhanden ist,
diesen. Ferner ändert der Namensraumfolgeabschnitt 14 das
Vaterattribut der Quelle.
-
In
dem Fall, in dem die Ereignisdaten das Dateizugriffsereignis darstellen,
ermittelt der Namensraumfolgeabschnitt 14 die durch die
Ereignisdaten angezeigte Zugriffszeit mit der Inode-Zahl und setzt
diese in die Namensraumreplikations-DB 15.
-
In
dem Fall, in dem die Ereignisdaten die Archivzustandsänderung
darstellen, aktualisiert der Namensraumfolgeabschnitt 14 die
Archivinformationen.
-
Die
Migrationsverarbeitung wird als nächstes beschrieben.
-
Der
Migrationsermittlungsabschnitt 16 verwendet einen Befehl
oder dergleichen, der durch das Dateisystem bereitgestellt wird,
um periodisch die verfügbare Menge des freien Platzes auf
dem Primärspeicher 1 zu überprüfen.
Wenn die verfügbare Menge des freien Platzes kleiner als
ein durch einen Benutzer bestimmter Wert wird, verwendet der Migrationsermittlungsabschnitt 16 die
in der Namensraumreplikations-DB 15 eingestellte Information,
um eine Migrationszieldatei zu bestimmen und fordert von der Dateisystemsteuerung 12,
die Migrationsverarbeitung auszuführen. Zu dieser Zeit
liefert der Migrationsermittlungsabschnitt 16 der Dateisystemsteuerung 12 den
Pfadnamen einer Datei, die aus der Namensraumreplikations-DB 15 erhalten
wurde, so dass die Dateisystemsteuerung 12 den Pfadnamen und
die entsprechenden Dateidaten auf den Sekundärspeicher 2 schreibt.
Die Migrationsermittlungsverarbeitung kann auf verschiedene Weisen
gemäß einer Benutzerrichtlinie durchgeführt
werden und das Folgende ist ein Beispiel davon.
-
6 ist
ein Flussdiagramm, das ein Ablaufbeispiel der Migrationsermittlungsverarbeitung
gemäß der vorliegenden Erfindung darstellt. Der
Migrationsermittlungsabschnitt 16 ermittelt, ob die Knappheit
des Primärspeichers 1 gravierend ist oder nicht (S401).
-
In
dem Fall, in dem die Knappheit des Primärspeichers 1 gravierend
ist (J in S401) durchsucht der Migrationsermittlungsabschnitt 16 die
Namensraumreplikations-DB 15, um Dateien zu finden, die archiviert
und nicht migriert worden sind (S411), und führt die folgende
Freigabeverarbeitung für alle gefundenen Dateien aus. Dann
ermittelt der Migrationsermittlungsabschnitt 16, ob irgendeine
unverarbeitete Datei unter den gefundenen Dateien vorhanden ist (S412).
-
In
dem Fall, in dem keine unverarbeitete Datei vorhanden ist (N in
S412), beendet der Migrationsermittlungsabschnitt 16 diesen
Ablauf. In dem Fall auf der anderen Seite, in dem eine unverarbeitete Datei
vorhanden ist (J in S412), fordert der Migrationsermittlungsabschnitt 16 von
der Dateisystemsteuerung 12, die Freigabe des Primärspeichers
durchzuführen, d. h. die Zieldatei unter Verwendung der
in der Namensraumreplikations-DB 15 gesetzten Inode-Zahl
als Argument freizugeben (S413). Nach dem Empfang einer Antwort
von der Dateisystemsteuerung 12 kehrt der Migrationsermittlungsabschnitt 16 dann
zu Schritt S412 zurück, wo er die Verarbeitung für
die nächste Datei durchführt.
-
Da
die Namensraumreplikations-DB 15 dem Dateisystem hinterherhinkt,
kann der Fall auftreten, in dem eine Zieldatei tatsächlich
modifiziert wurde, dass sein Archivzustand in der Namensraumreplikations-DB 15 ungültig
wurde und auf den Migrationsermittlungsabschnitt 16 reagiert.
In einem solchen Fall gibt die Dateisystemsteuerung 12 eine
Fehlerantwort zurück. In dem Fall, in dem sich eine Zieldatei
in einem Archivzustand befunden hat, gibt die Dateisystemsteuerung 12 dem
Primärspeicherbereich frei, der für die Speicherung
der Datei vergeben war und gibt eine normale Antwort zurück.
-
In
dem Fall auf der anderen Seite, in dem die Knappheit des Primärspeichers 1 nicht
gravierend ist (N in S401), archiviert der Migrationsermittlungsabschnitt 16 Dateien,
auf die über eine bestimmte Zeitdauer nicht zugegriffen
wurde, um so sofort auf eine gravierende Knappheit reagieren zu
können, wenn diese auftritt. Zu diesem Zweck durchsucht
der Migrationsermittlungsabschnitt 16 die Namensraumreplikations-DB 15,
um so Dateien mit einer letzten Zugriffszeit, die vor einer vorherbestimmten
Zeit (z. B. aktuelle Zeit minus ein Tag) liegt, zu finden und sich in
einem ungültigen Archivzustand befinden (Dateien, die nicht
archiviert wurden) (S421). Anschließend ermittelt der Migrationsermittlungsabschnitt 16,
ob eine unverarbeitete Datei unter den gefundenen Dateien vorhanden
ist (422).
-
In
dem Fall, in dem keine unverarbeitete Datei vorhanden ist (N in
S422), beendet der Migrationsermittlungsabschnitt 16 diesen
Ablauf. In dem Fall auf der anderen Seite, in dem eine unverarbeitete Datei
vorhanden ist (J in S422), verwendet der Migrationsermittlungsabschnitt 16 die
in der Namensraumreplikations-DB 15 gesetzte Vater-Inode-Zahl als
einen Schlüssel, um die Namensraumreplikations-DB 15 wiederholt
zu durchsuchen, um die Pfadnamen der unverarbeiteten Dateien zu
finden (S423). Dann gibt der Migrationsermittlungsabschnitt 16 eine Archivanforderung
zusammen mit der Inode-Zahl und dem Dateipfadnamen als Argumente
an die Dateisystemsteuerung 12 aus (S424). Nach Empfang
der Anforderung schreibt die Dateisystemsteuerung 12 gemeinsam
die Daten, den Dateipfadnamen und die Inode-Zahl einer angegebenen
Datei auf den Sekundärspeicher und kehrt zu Schritt S422
zurück, wo sie die Verarbeitung für die nächste
Zieldatei durchführt. Wenn in Schritt S424 die angeforderte Datei
nicht mehr vorhanden ist, gibt die Dateisystemsteuerung 12 dem
Migrationsermittlungsabschnitt 16 eine Fehlerantwort zurück
und ignoriert die Anforderung.
-
Es
wird eine Beschreibung der Funktion der anderen Abschnitte gegeben.
-
Zuerst
wird die Funktion der Dateisystemsteuerung 12 beschrieben.
-
Wenn
eine Freigabeanforderung von dem Migrationsermittlungsabschnitt 16 erhalten
wird, führt die Dateisystemsteuerung 12 die Freigabeanforderung
aus und, wenn Kopien der Zieldateidaten in dem Sekundärspeicher
vorhanden sind (archiviert wurden), gibt den Primärspeicher
frei, wodurch die Zieldateien in einen migrierten Zustand gesetzt
werden. Zu dieser Zeit erzeugt der Ereignisdatenaufzeichnungsabschnitt 21 ein
Archivzustandsänderungsereignis wie folgt.
event.rectype
= Archivieren
event.archive = Ein
event.migrate = Ein
-
Wenn
eine Archivanforderung von dem Migrationsermittlungsabschnitt 16 erhalten
wird, führt die Dateisystemsteuerung 12 die Freigabeanforderung aus,
beginnt das Schreiben der Dateidaten auf den Sekundärspeicher 2 und
gibt die Verarbeitungssteuerung dem Migrationsermittlungsabschnitt 16 zurück. Zu
dieser Schreibzeit fügt die Dateisystemsteuerung 12 den
von dem Migrationsermittlungsabschnitt 16 angezeigten Dateipfadnamen
dem Kopfabschnitt der zu schreibenden Daten hinzu. Nach Abschluss
des Schreibens auf den Sekundärspeicher 2 erzeugt
der Ereignisdatenaufzeichnungsabschnitt 21 ein Archivzustandsänderungsereignis
wie folgt.
event.rectype = Archivieren
event.archive =
Ein
event.migrate = Aus
-
In
dem Fall, in dem der Anwendungsabschnitt 11 versucht, auf
die migrierte Datei zuzugreifen, reserviert die Dateisystemsteuerung 12 einen neuen
Bereich auf dem Primärspeicher 1 zu der Zeit, wenn
der Anwendungsabschnitt 11 versucht, auf die migrierte
Datei zuzugreifen, und liest die Zieldaten auf dem Sekundärspeicher 2 in
diesen Bereich. Danach erzeugt der Ereignisdatenaufzeichnungsabschnitt 21 ein
Archivzustandsänderungsereignis, das den Abschluss des
Zurückrufens darstellt, wie folgt.
event.rectype =
Archivieren
event.archive = Ein
event.migrate = Aus
-
In
dem Fall, in dem der Anwendungsabschnitt 11 eine Dateioperation
anfordert (Datei erstellen/löschen, Verzeichnis erstellen/löschen,
Datei lesen/schreiben), verarbeitet die Dateisystemsteuerung 12 die
Anforderung. Nachdem die Dateisystemsteuerung 12 die Anforderung
normal verarbeitet hat, erzeugt der Ereignisdatenaufzeichnungsabschnitt 21 entsprechende
Ereignisdaten.
-
In
dem Fall, in dem die Dateiinformationen von dem Namensraumreplikationsabschnitt 13 mittels
getinfo angefordert werden, bestätigt die Dateisystemsteuerung 12,
dass die angegebene Datei in dem Vaterverzeichnis vorhanden ist
und gibt die Dateiinformationen der angegebenen Datei zurück. Wenn
die angegebene Datei nicht vorhanden ist, gibt die Dateisystemsteuerung 12 eine
Fehlerantwort zurück. Wenn die Fehlerantwort erhalten wird,
stellt der Namensraumreplikationsabschnitt 13 fest, dass
die angegebene Datei nicht vorhanden war und wechselt zu der anschließenden
Verarbeitung.
-
Die
Funktion des Ereignisdatenaufzeichnungsabschnitts 21 wird
als nächstes beschrieben.
-
Der
Ereignisdatenaufzeichnungsabschnitt 21 ist in der Dateisystemsteuerung 12 vorhanden
und weist eine Funktion zur Erstellung von Ereignisdaten zu dem
in der Erläuterung der Funktion der Dateisystemsteuerung 12 beschriebenen
Zeitpunkt auf und speichert sie in einem Speicher. Ferner benachrichtigt
der Ereignisdatenaufzeichnungsabschnitt 21 gemeinsam den
Namensraumfolgeabschnitt 14 oder den Namensraumreplikationsabschnitt 13 über
die in einem Speicher gespeicherten Ereignisdaten, wenn die Menge
der Ereignisdaten in dem Speicher größer wird
als ein bestimmter Wert oder nachdem eine bestimmte Zeitdauer nach
der vorherigen Benachrichtigung verstrichen ist. Ferner führt
der Ereignisdatenaufzeichnungsabschnitt 21 ebenfalls, wenn
das System normal beendet wird, eine Systembeendigungsverarbeitung
aus, um den Namensraumfolgeabschnitt 14 über die
darin gespeicherten Ereignisdaten zu benachrichtigen, um dadurch
dem Namensraumfolgeabschnitt 14 zu ermöglichen,
alle Ereignisdaten auf die Namensraumreplikations-DB 15 zu
spiegeln.
-
Ferner
führt, um die Menge der zu benachrichtigenden Daten zu
verringern, der Ereignisdatenaufzeichnungsabschnitt 21 eine
Optimierung wie folgt aus. In dem Fall, in dem der Ereignisdatenaufzeichnungsabschnitt 21 ein
Dateizugriffsereignis erstellt, verwirft der Ereignisdatenaufzeichnungsabschnitt 21,
wenn ein Dateizugriffsereignis für dieselbe Datei in nicht benachrichtigten
Ereignisdaten in dem Speicher beinhaltet ist, die nachfolgenden
Dateizugriffsereignisse, das heißt, speichert sie nicht
in dem Speicher. In dem Fall, in dem der Ereignisdatenaufzeichnungsabschnitt 21 gefordert
ist, ein Dateilöschungsereignis zu erstellen, erklärt
der Ereignisdatenaufzeichnungsabschnitt 21, wenn ein entsprechendes
Dateierstellungsereignis als nicht benachrichtigte Ereignisdaten
beinhaltet ist, das Dateierstellungsereignis in dem Speicher für
ungültig, um es aus dem zu benachrichtigenden Objekt zu
entfernen.
-
Als
nächstes wird die Systemstartverarbeitung in dem Server 3 beschrieben.
-
Wenn
das System normal beendet wird, führt der Namensraumfolgeabschnitt 14 eine
normale Beendigungsverarbeitung durch, um die Ereignisdaten in dem
Speicher gemeinsam auf die Namensraumreplikations-DB 15 zu
spiegeln, wie oben beschrieben ist, so dass es nicht erforderlich
ist, dass der Namensraumreplikationsabschnitt 13 bei dem
nächsten Start wirksam wird. In dem Fall auf der anderen
Seite, in dem ein Fehler aufgetreten ist, wird der Namensraumreplikationsabschnitt 13 aktiviert,
um nach einer abnormalen Systembeendigung eine Startverarbeitung
durchzuführen, um die Namensraumreplikations-DB 15 wieder
mit dem aktuellen Namensraum in dem Primärspeicher zu synchronisieren.
Da die Namensrauminformationen unmittelbar vor dem Fehler selbst
in einem solchen Fall zurückbleiben, wenn ein Migrationsziel
bestimmt werden muss, bis die Neuinitialisierung der Namensraumreplikation
abgeschlossen ist, kann der Migrationsermittlungsabschnitt die Verarbeitung
unter Verwendung der in der Namensraumreplikations-DB 15 gespeicherten
Daten fortführen.
-
Obwohl
der Migrationsermittlungsabschnitt 16 die Richtliniensteuerung
basierend auf der Namensraumreplikations-DB 15 in der vorliegenden
Erfindung durchführt, kann eine andere Anordnung einer
Richtliniensteuerung bei der HSM- Steuerung basierend auf der Namensraumreplikations-DB 15 durchgeführt
werden.
-
Ferner
ist es möglich, ein Programm bereitzustellen, dass es dem
die HSM-Steuervorrichtung bildenden Computer gestattet, die obigen
Schritte als HSM-Steuerprogramm auszuführen. Durch Speichern
des obigen Programms auf einem computerlesbaren Speichermedium ist
es möglich, dem die HSM-Steuervorrichtung bildenden Computer
zu gestatten, das Programm auszuführen. Das hier genannte
computerlesbare Medium beinhaltet: eine interne, in einem Computer
angebrachte Speichervorrichtung, wie zum Beispiel ROM oder RAM,
ein portables Speichermedium, wie zum Beispiel eine CD-ROM, einen
flexiblen Datenträger, eine DVD, einen magnetooptischen
Datenträger oder eine IC-Karte; eine Datenbank, die ein
Computerprogramm enthält; einen anderen Computer und eine Datenbank
davon; und ein Übertragungsmedium in einer Netzwerkverbindung.
-
Ein
Dateimigrationsanweisungsabschnitt entspricht dem Migrationsermittlungsabschnitt
in der Ausführungsform. Ein Ereignisdatenaufzeichnungsschritt
entspricht der Verarbeitung, die in der Ausführungsform
durch den Ereignisdatenaufzeichnungsabschnitt durchgeführt
wird. Ein Namensraumreplikationsschritt entspricht der Namensraumreplikationsverarbeitung
in der Ausführungsform. Ein Namensraumfolgeschritt entspricht
der Namensraumfolgeverarbeitung in der Ausführungsform.
Ein Dateimigrationsanweisungsschritt entspricht der Verarbeitung,
die in der Ausführungsform durch den Migrationsermittlungsabschnitt
durchgeführt wird. Ein Systembeendigungsschritt entspricht
der Systembeendigungsverarbeitung in der Ausführungsform.
Ein Startschritt nach einer abnormalen Systembeendigung entspricht
der Startverarbeitung nach einer abnormalen Systembeendigung in
der Ausführungsform.
-
Industrielle Anwendbarkeit
-
Wie
oben beschrieben ist, gestattet die vorliegende Erfindung, dass
der Namensraum der Namensraumreplikations-DB mit weniger Arbeitsbelastung
folgt, selbst während ein Anwendungsprogramm läuft,
solange die Namensraumreplikations-DB einmal erzeugt ist, wodurch
die Leistung der gesamten HSM-Vorrichtung verbessert wird. Ferner gestattet
die Erstellung und Verwendung der Namensraumreplikations-DB, dass
eine komplizierte Richtliniensteuerung basierend auf einem konsistenten
Namensraum in einer von dem Betrieb des Dateisystems getrennten
Weise ausgeführt wird. Ferner ist es nicht erforderlich,
die Ereignisdaten zur Eintrittszeit des Ereignisses nichtflüchtig
zu machen, sondern es ist lediglich erforderlich, die Ereignisdaten
in einem Speicher mit kleiner Kapazität zu speichern, wodurch
der Overhead verringert wird, der die anschließende Namensraumreplikations-DB-Folgeverarbeitung
umfasst.
-
ZUSAMMENFASSUNG
-
Ein
HSM-Programm gestattet einem Computer, eine Steuerung für
eine HSM-Vorrichtung auszuführen. Das Programm gestattet
dem Computer auszuführen: einen Ereignisdatenaufzeichnungsschritt, der
eine Dateioperation für den Primärspeicher oder eine
Archivzustandsänderung als Ereignisdaten aufzeichnet; einen
Namensraumreplikationsschritt, der eine Namensraumreplikationsdatenbank
erzeugt, die durch Replikation des Namensraums des Primärspeichers
erhalten wird; einen Namensraumfolgeschritt, der es der Namensraumreplikationsdatenbank
gestattet, dem Namensraum des Primärspeichers basierend
auf den Ereignisdaten zu folgen; und einen Dateimigrationsanweisungsschritt,
der eine Dateimigration zwischen dem Primär- und dem Sekundärspeicher
basierend auf der Namensraumreplikationsdatenbank anordnet.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-