JP6675944B2 - ファイル管理システム、ファイル管理装置およびファイル管理プログラム - Google Patents

ファイル管理システム、ファイル管理装置およびファイル管理プログラム Download PDF

Info

Publication number
JP6675944B2
JP6675944B2 JP2016137399A JP2016137399A JP6675944B2 JP 6675944 B2 JP6675944 B2 JP 6675944B2 JP 2016137399 A JP2016137399 A JP 2016137399A JP 2016137399 A JP2016137399 A JP 2016137399A JP 6675944 B2 JP6675944 B2 JP 6675944B2
Authority
JP
Japan
Prior art keywords
medium
index information
information
file management
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016137399A
Other languages
English (en)
Other versions
JP2018010398A (ja
Inventor
大介 富井
大介 富井
亮一 旭
亮一 旭
昌樹 池亀
昌樹 池亀
智也 山下
智也 山下
草野 哲也
哲也 草野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Fujitsu Broad Solution and Consulting Inc
Original Assignee
Fujitsu Ltd
Fujitsu Broad Solution and Consulting Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Broad Solution and Consulting Inc filed Critical Fujitsu Ltd
Priority to JP2016137399A priority Critical patent/JP6675944B2/ja
Priority to US15/646,516 priority patent/US20180018238A1/en
Publication of JP2018010398A publication Critical patent/JP2018010398A/ja
Application granted granted Critical
Publication of JP6675944B2 publication Critical patent/JP6675944B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Description

本発明はファイル管理システム、ファイル管理装置およびファイル管理プログラムに関する。
現在、データの保存に磁気テープを有するテープ媒体が利用されている。例えば、ホストサーバのバックアップデータを磁気テープに書込む磁気テープライブラリ装置が提案されている。この提案では、バックアップデータのインデックス(具体的にはバックアップの作成日時)と記録先媒体情報と記録位置情報とを磁気テープ以外の記憶装置に格納することで、リストア時に、バックアップデータのインデックスによる検索を高速化する。
また、近年では、LTFS(Linear Tape File System)と呼ばれるファイルシステムが利用されることがある。LTFSでは、テープ媒体の一部領域をファイルシステム用のインデックス情報を記録する領域(インデックスパーティション)として利用し、テープ媒体に記録されたデータをファイル単位で取り扱えるようにする。
例えば、LTFSを用いるシステムで、インデックスパーティションの更新頻度を減らす提案がある。この提案では、テープライブラリにおけるテープの通常のアンマウント時には、メタ情報を、インデックスパーティションに記録する代わりに、HDD(Hard Disk Drive)など別のローカルのストレージに記録しておく。そして、テープカートリッジをライブラリから取り出すときのみ、インデックスパーティションを更新する。
なお、第1のデータ格納媒体および第2のデータ格納媒体を備えるデバイスにおいて、第1のデータ格納媒体についてのファイルシステム情報のコピーを、バックアップとして第2のデータ格納媒体に格納する提案もある。
特開2014−67113号公報 特開2015−90655号公報 特開2014−182818号公報
上記のように、可換型の記憶媒体(例えば、テープ媒体)の所定領域にファイルシステム用のインデックス情報を格納することがある。この場合、情報処理装置(例えば、サーバコンピュータ)は、複数の記憶媒体を収納するファイル管理装置(例えば、ライブラリ装置)から、各記憶媒体に格納されたインデックス情報を取得し、当該インデックス情報によりファイルを識別する。情報処理装置は、自身の記憶装置にインデックス情報を保持しておくことで、各記憶媒体上のインデックス情報を直接参照しなくても、自身で保持するインデックス情報により、各記憶媒体内のファイルやディレクトリ構造などを識別できる。
ここで、情報処理装置に障害が発生し、情報処理装置上のインデックス情報を利用できなくなることがある。この場合、全記憶媒体のインデックス情報を順次読出して、情報処理装置上のインデックス情報を復元することが考えられる。しかし、記憶媒体の読出しを行うドライブには限りがあり、また、ドライブに対する記憶媒体の入替えも伴うため、全記憶媒体からインデックス情報を読出すには時間がかかる。このため、情報処理装置上のインデックス情報の復元の所要時間が、システムで許容される障害発生から復旧までの目標復旧時間を超過するおそれがあるという問題がある。
1つの側面では、本発明は、目標復旧時間内での復旧を可能にすることを目的とする。
1つの態様では、ファイル管理システムが提供される。このファイル管理システムは、ファイル管理装置と情報処理装置とを有する。ファイル管理装置は、ファイルシステムで用いられるインデックス情報を記憶する複数の可換型記憶媒体を収納可能であり、可換型記憶媒体に対するデータの読出しおよび書込みを行う。情報処理装置は、複数の可換型記憶媒体それぞれに記憶されたインデックス情報をファイル管理装置から取得して保持し、インデックス情報を用いて複数の可換型記憶媒体それぞれに記憶されたファイルを識別する。ファイル管理装置は、システム障害に対する目標復旧時間に基づいて、情報処理装置により保持されるインデックス情報のバックアップを取得するタイミングを決定し、当該タイミングを情報処理装置に通知する。情報処理装置は、通知されたタイミングで、ファイル管理装置を用いて、所定の可換型記憶媒体にバックアップを取得する。
また、1つの態様では、ファイル管理装置が提供される。このファイル管理装置は、媒体収納部とドライブと演算部とを有する。媒体収納部は、ファイルシステムで用いられるインデックス情報を記憶する複数の可換型記憶媒体を収納可能である。ドライブは、可換型記憶媒体に対するデータの読出しおよび書込みを行う。演算部は、ドライブを用いて複数の可換型記憶媒体それぞれに記憶されたインデックス情報を読出して情報処理装置に送信し、システム障害に対する目標復旧時間に基づいて、情報処理装置により保持されるインデックス情報のバックアップを取得するタイミングを決定し、当該タイミングを情報処理装置に通知する。
また、1つの態様では、ファイル管理プログラムが提供される。このファイル管理プログラムは、コンピュータに、ファイルシステムで用いられるインデックス情報を記憶する可換型記憶媒体に対するデータの読出しおよび書込みを行うドライブを用いて、複数の可換型記憶媒体それぞれからインデックス情報を読出して情報処理装置に送信し、システム障害に対する目標復旧時間に基づいて、情報処理装置により保持されるインデックス情報のバックアップを取得するタイミングを決定し、当該タイミングを情報処理装置に通知する、処理を実行させる。
1つの側面では、目標復旧時間内での復旧を可能にする。
第1の実施の形態のファイル管理システムを示す図である。 第2の実施の形態の情報処理システムを示す図である。 ライブラリのハードウェア例を示す図である。 サーバのハードウェア例を示す図である。 テープ媒体の例を示す図である。 LTFSによるファイル管理例を示す図である。 テープ媒体のパーティション例を示す図である。 情報処理システムの機能例を示す図である。 CMに格納される更新フラグの例を示す図である。 更新管理テーブルの例を示す図である。 専用媒体のCMに格納されるビットマップ例を示す図である。 ライブラリによる読込み媒体巻数決定例を示すフローチャートである。 サーバによるデータ更新例を示すフローチャートである。 ライブラリによる媒体管理例を示すフローチャートである。 サーバによるインデックスバックアップ例を示すフローチャートである。 ライブラリによるリストア用媒体ロード例を示すフローチャートである。 サーバによるリストア例を示すフローチャートである。 テープ媒体に対するデータ更新時のシーケンス例である。 インデックス情報のリストア時のシーケンス例である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のファイル管理システムを示す図である。第1の実施の形態のファイル管理システムは、ファイル管理装置1および情報処理装置2を有する。
ファイル管理装置1は、複数の可換型記憶媒体を収納可能である。可換型記憶媒体は、例えば、(Linear Tape-Open、LTOは登録商標)などのテープ媒体である。なお、可換型記憶媒体は、Blu−ray(登録商標)などの光ディスクカートリッジでもよい。
複数の可換型記憶媒体それぞれは、ファイルシステムで用いられるインデックス情報を記憶する。例えば、ファイルシステムとしては、可換型記憶媒体としてテープ媒体を用いる場合、LTFSが考えられる。ただし、可換型記憶媒体として光ディスクカートリッジを用いる場合、LTFS以外のファイルシステム(例えば、ベンダ独自のファイルシステムなど)でもよい。
ファイル管理装置1は、可換型記憶媒体に対するデータの読出しおよび書込みを行う。ファイル管理装置1は、可換型記憶媒体のライブラリ装置またはライブラリと呼ばれるものでもよい。
情報処理装置2は、複数の可換型記憶媒体それぞれに記憶されたインデックス情報をファイル管理装置1から取得して保持する。情報処理装置2は、ファイルシステム(例えば、LTFS)の機能を有する。情報処理装置2は、取得したインデックス情報を用いて複数の可換型記憶媒体それぞれに記憶されたファイルを識別する。
ここで、ファイル管理装置1は、記憶部1a、演算部1b、ドライブ1c、ロボット1dおよび媒体収納部1eを有する。
記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDDやフラッシュメモリなどの不揮発性記憶装置でもよい。記憶部1aは、目標復旧時間情報D11および更新テーブルD12を記憶する。
目標復旧時間情報D11は、システム障害に対する目標復旧時間(RTO:Recovery Time Objective)を示す情報であり、記憶部1aに対して予め格納される。例えば、目標復旧時間(RTO)=Tである。システム障害に対する目標復旧時間は、情報処理装置2における障害で、情報処理装置2が保持するインデックス情報を利用できなくなった場合に、障害発生から、情報処理装置2上のインデックス情報を復元するまでに許容される時間である。
更新テーブルD12は、ファイル管理装置1に収納された複数の可換型記憶媒体それぞれにおけるインデックス情報の更新有無を示す更新情報である。例えば、更新テーブルD12は、媒体ID(IDentifier)および更新フラグの項目を有する。媒体IDは、可換型記憶媒体を識別するための識別情報であり、媒体収納部1eにおける可換型記憶媒体の収納位置(セル位置)を示す情報(セルID)でもよい。更新フラグは、情報処理装置2によるインデックス情報の前回のバックアップからの更新有無を示すフラグである。例えば、更新フラグ=“FALSE”は更新なしを示す。更新フラグ=“TRUE”は更新ありを示す。例えば、更新テーブルD12には、媒体ID“1”に対して、更新フラグ“FALSE”が登録されている。また、更新テーブルD12には、媒体ID“2”に対して更新フラグ“TRUE”が登録されている。更新テーブルD12には、他の媒体IDに対しても同様に更新フラグが登録されている。
演算部1bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。演算部1bはプログラムを実行するプロセッサであってもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)でもよい。
演算部1bは、システム障害に対する目標復旧時間に基づいて、情報処理装置2によるインデックス情報のバックアップのタイミングを決定する。また、演算部1bは、更新テーブルD12における更新フラグの更新を行う。
ドライブ1cは、可換型記憶媒体に対するデータの読出しおよび書込みを行うデバイスである。ファイル管理装置1は、ドライブ1cを複数備えてもよい。ロボット1dは、媒体収納部1eに収納された可換型記憶媒体のドライブ1cへの搬送や、ドライブ1cに収納された可換型記憶媒体の媒体収納部1eへの搬送を行う。
媒体収納部1eは、複数の可換型記憶媒体を収納する収納棚である。例えば、媒体収納部1eには、可換型記憶媒体C1,C2,C3,・・・が収納されている。可換型記憶媒体C1,C2,C3,・・・それぞれは、ファイルおよび当該ファイルを識別するためのインデックス情報を記憶する。例えば、可換型記憶媒体C1はインデックス情報X1を記憶する。可換型記憶媒体C2は、インデックス情報X2を記憶する(他の可換型記憶媒体もインデックス情報を記憶する)。媒体収納部1eには、可換型記憶媒体E1も収納されている。可換型記憶媒体E1は、情報処理装置2によるインデックス情報のバックアップ(インデックスバックアップと称することがある)を記録するための専用の記録媒体である。ここで、可換型記憶媒体C1の媒体IDは“1”である。可換型記憶媒体C2の媒体IDは“2”である。他の可換型記憶媒体も同様に媒体IDにより識別される。
情報処理装置2は、記憶部2aおよび演算部2bを有する。
記憶部2aは、記憶部1aと同様に、RAMなどの揮発性記憶装置でもよいし、HDDやフラッシュメモリなどの不揮発性記憶装置でもよい。記憶部2aは、インデックス管理テーブルD21を記憶する。インデックス管理テーブルD21は、可換型記憶媒体C1,C2,C3,・・・それぞれから読出されたインデックス情報の集合である。例えば、インデックス管理テーブルD21は媒体IDおよびインデックス情報の項目を有する。媒体IDは、可換型記憶媒体の識別情報であり、前述のように媒体収納部1eにおける可換型記憶媒体の収納位置を示す情報でもよい。インデックス情報は、各可換型記憶媒体から読出されたインデックス情報である。例えば、インデックス管理テーブルD21には、媒体ID“1”(可換型記憶媒体C1)に対して、インデックス情報X1が登録されている。例えば、情報処理装置2は、システムの運用開始前に、可換型記憶媒体C1,C2,C3,・・・の各インデックス情報をファイル管理装置1から取得し、インデックス管理テーブルD21に登録しておいてもよい。すなわち、演算部1bは、システムの運用開始前に、可換型記憶媒体C1,C2,C3,・・・の各インデックス情報を、ドライブ1cを用いて読出し、情報処理装置2に送信しておいてもよい。あるいは、演算部1bは、ある可換型記憶媒体をファイルシステム(例えば、LTFS)により利用可能になるよう設定した際に、該当の可換型記憶媒体のインデックス情報を、情報処理装置2に送信してもよい。
演算部2bは、演算部1bと同様に、CPU、DSP、ASIC、FPGAなどを含み得る。演算部2bは、プログラムを実行するプロセッサであってもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)でもよい。
演算部2bは、記憶部2aに記憶された所定のプログラムを実行することでファイルシステム(例えば、LTFS)の機能を発揮する。演算部2bは、インデックス管理テーブルD21に登録されたインデックス情報に基づいて、可換型記憶媒体C1,C2,C3,・・・に記録されたファイルを識別する。具体的には、演算部2bは、インデックス情報X1を参照して、可換型記憶媒体C1に格納されているディレクトリ構造やファイルの属性(ファイル名、更新日時およびサイズなど)を認識できる。演算部2bは、可換型記憶媒体C1のファイルにアクセスする場合、可換型記憶媒体C1をドライブ1cに搬送するようファイル管理装置1に指示し、インデックス情報X1に基づいて、該当のファイルに対する操作を、ファイル管理装置1に指示する。演算部2bは、ある可換型記憶媒体に対してファイルの追加、更新、削除などを行うと、当該可換型記憶媒体に格納されたインデックス情報を更新する。この場合、演算部2bは、記憶部2aに記憶されたインデックス管理テーブルD21における当該可換型記憶媒体のインデックス情報も更新する。
演算部2bは、ファイル管理装置1から通知されたタイミングで、記憶部2aに記憶されたインデックス管理テーブルD21のバックアップ(前述のインデックスバックアップに相当)を取得する。
ここで、ファイル管理装置1の演算部1bは、前述のように、システムの目標復旧時間Tに基づいて当該バックアップのタイミングを決定する。演算部1bは、情報処理装置2の障害復旧の際に、インデックス情報の読込みの対象となる各可換型記憶媒体からの読込みの所要時間の合計が目標復旧時間T以下になるようにバックアップのタイミングを決定する。より具体的には、目標復旧時間Tと、障害復旧の際に情報処理装置2へのインデックス情報のリストア対象として許容される可換型記憶媒体の数の上限値Kとの関係は、式(1)で表される。
T=(t×K)/D・・・(1)
ここで、tは可換型記憶媒体1巻当たりのインデックス情報の読出しの所要時間である(ロボット1dによるドライブ1cへの可換型記憶媒体の搬送時間も含む)。Dはファイル管理装置1が備えるドライブの数である。演算部1bは、式(1)を変形した式(2)により求める。
K=(T/t)×D・・・(2)
なお、演算部1bは、式(2)の右辺の計算結果が小数を含む場合、小数点以下を切り捨てて、Kを整数化する。
すると、可換型記憶媒体E1および可換型記憶媒体C1,C2,C3,・・・のうち、K巻については、障害復旧時に、該当の可換型記憶媒体からインデックス情報を読出して、情報処理装置2上のインデックス情報をリストアしても目標復旧時間Tに間に合うことになる。
このため、演算部1bは、可換型記憶媒体E1の1巻分を除く可換型記憶媒体C1,C2,C3,・・・のうち、K−1巻についてインデックス情報が更新されたタイミングを、情報処理装置2によるインデックス情報のバックアップを実行するタイミングとする。Kから可換型記憶媒体E1の1巻分を差し引いてK−1巻とする理由は、障害復旧時には可換型記憶媒体E1に格納されたインデックスバックアップのリストアを常に行うからである(可換型記憶媒体E1を含めてK巻とするため)。
演算部1bは、前述のように、記憶部1aに記憶された更新テーブルD12を用いて、可換型記憶媒体C1,C2,C3,・・・のインデックス情報の更新状況を管理する。例えば、演算部1bは、情報処理装置2による何れかの可換型記憶媒体のファイル操作によって、当該可換型記憶媒体のインデックス情報が更新されると、更新テーブルD12における該当の可換型記憶媒体の媒体IDに対して更新フラグ“TRUE”を設定する。演算部1bは、更新テーブルD12において、更新フラグ“TRUE”の数をカウントする。演算部1bは、カウント数がK−1に達すると、更新テーブルD12の更新フラグを全て“FALSE”に設定し、情報処理装置2にバックアップの実行を通知する。
演算部2bは、当該通知に応じて、可換型記憶媒体E1のドライブ1cへの搬送をファイル管理装置1に指示し、インデックス管理テーブルD21のバックアップ(インデックスバックアップ)を可換型記憶媒体E1に取得する。演算部2bは、バックアップが完了すると、バックアップ完了をファイル管理装置1に通知する。
その後、情報処理装置2で障害が発生し、記憶部2aに記憶されたインデックス管理テーブルD21を使用できなくなった場合を考える。この場合、演算部2bは、記憶部2aまたはスペアの記憶装置にインデックス管理テーブルD21を復元する。具体的には、ファイル管理装置1を用いて、可換型記憶媒体E1に格納されたインデックスバックアップを復元する。
このとき、ファイル管理装置1の演算部1bは、更新テーブルD12に基づいて、可換型記憶媒体E1に加えてインデックス情報を読出すべき可換型記憶媒体(数は、K−1巻以下となる)を、情報処理装置2に通知する。演算部2bは、通知された各可換型記憶媒体からインデックス情報を、ファイル管理装置1を用いて順次読出し、自身が保持するインデックス管理テーブルD21を障害直前の状態に復元する。ただし、インデックス情報を読出すべき(可換型記憶媒体E1以外の)可換型記憶媒体がないこともある。その場合、演算部2bは、可換型記憶媒体E1のみを用いた復元を行うことになる。
このように、ファイル管理装置1は、目標復旧時間Tに基づいて、障害復旧の際にインデックス情報の読出し対象として許容される可換型記憶媒体の数の上限値K−1を求める。ファイル管理装置1は、前回のバックアップ後にインデックス情報が更新された可換型記憶媒体の数と、上限値K−1との比較に応じて次回のバックアップのタイミングを決定する。すると、インデックス管理テーブルD21の復元時、情報処理装置2が読出し対象とする可換型記憶媒体の数を、可換型記憶媒体E1を含めてK巻以下に抑えられる。このため、情報処理装置2は、インデックス管理テーブルD21の復元を、障害発生後から目標復旧時間T内に終えることができる。
ここで、インデックスバックアップを取得しない運用も考えられる。この場合、情報処理装置2のインデックス管理テーブルD21を復元するために、可換型記憶媒体C1,C2,C3,・・・の全てからインデックス情報を読出すことになる。しかし、各可換型記憶媒体の読出しには、ロボット1dにより可換型記憶媒体をドライブ1cに搬送したり、ドライブ1cを用いてインデックス情報を読出したりする動作を伴う。また、ドライブ1cの数も有限である。したがって、全ての可換型記憶媒体からインデックス情報の読出しを行うには時間がかかる。例えば、ファイル管理装置1に収納された可換型記憶媒体の数が700巻程度の場合、情報処理装置2におけるファイルシステムの再構築に2日程度を要することもある。このため、障害発生から復元までの時間が、予め定められた目標復旧時間Tに間に合わなくなる。この問題は、可換型記憶媒体の数が増すほど深刻となる。
一方、可換型記憶媒体C1,C2,C3,・・・のインデックス情報の変更があるたびに、可換型記憶媒体E1にインデックスバックアップを取得する方法も考えられる。しかし、この方法では、バックアップの取得頻度が過大となり、バックアップ用にドライブ1cを占有する頻度および時間も増すため、通常の業務運用に支障をきたすおそれがある。
そこで、ファイル管理装置1は、前回バックアップからインデックス情報が更新された可換型記憶媒体の数が、式(2)で求めた上限値K−1に達したタイミングをインデックス情報のバックアップ取得タイミングとする。これにより、可換型記憶媒体E1および他の可換型記憶媒体を用いた情報処理装置2によるインデックス管理テーブルD21の復元を、障害発生から目標復旧時間T内に終えることができる。また、インデックス情報の変更があるたびにバックアップを取得するよりも、バックアップの取得頻度を抑えることができ、通常の業務運用への影響を抑えることができる。更に、バックアップを可換型記憶媒体E1に取得することで、情報処理装置2で障害が発生しても、ファイル管理装置1内の各可換型記憶媒体を用いて、障害前に使用していたファイルシステムを適切に復旧させることができる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、ライブラリ100およびサーバ200を有する。
ライブラリ100は、複数のテープ媒体を収納する。ライブラリ100は、テープライブラリやライブラリ装置などと呼ばれることもある。ライブラリ100は、所定のインタフェース(例えば、ファイバチャネル)によりサーバ200に接続されている。ライブラリ100は、ファイル管理装置1の一例である。また、テープ媒体は、可換型記憶媒体の一例である。
サーバ200は、業務サービスの提供に用いられるサーバコンピュータである。サーバ200は、ネットワーク10に接続されている。ネットワーク10は、LAN(Local Area Network)でもよいし、インターネットなどの広域ネットワークでもよい。サーバ200は、ネットワーク10を介して接続されたクライアントコンピュータ(図示を省略している)に対して業務サービスを提供してもよい。サーバ200は、情報処理装置2の一例である。
サーバ200は、LTFSの機能を有する。サーバ200は、LTFSの機能により、ライブラリ100に収納された各テープ媒体に格納されたデータをファイルとして扱う。例えば、サーバ200は、テープ媒体に対して、業務サービスに用いられるファイルの追加、更新および削除などのファイル操作を行える。
LTFSでは、テープ媒体のうちの所定の領域をインデックスパーティションとする。インデックスパーティションは、LTFS用のインデックス情報を格納する領域である。インデックス情報は、該当のテープ媒体におけるデータパーティションに格納されたファイルの属性やディレクトリ構造などを示す情報である。ファイルの属性は、例えば、ファイル名、サイズおよび作成/更新日時などを含む。
ここで、テープ媒体からデータの読出しを行う場合、ライブラリ100内でテープ媒体をテープドライブ(単にドライブと称する)に搬送する、ドライブを用いてテープ媒体からデータを読取る、といった動作が発生し、時間がかかる。このため、サーバ200は、各テープ媒体が保持するインデックス情報をサーバ200が保持する不揮発性の補助記憶装置上にキャッシュし、各テープ媒体に格納されたファイルの管理に用いる。すると、例えば、サーバ200の再起動時などに各テープ媒体の再読込みが不要となり、サーバ200は、短時間でファイルアクセスを開始できる。
ところが、サーバ200で障害が発生し、サーバ200の補助記憶装置が故障するなどして、サーバ200上にキャッシュされた各テープ媒体のインデックス情報を利用できなくなることがある。情報処理システムでは、システムの重要性に応じて、障害からの目標復旧時間が予め定められていることがある。この場合、サーバ200の上記障害に対しても、障害発生から目標復旧時間内に、サーバ200上にインデックス情報を復元して、LTFSを用いた業務運用を復旧させることが求められる。そこで、ライブラリ100は、障害発生から目標復旧時間内に当該復元が完了するように、情報処理装置2によるインデックス情報のバックアップ取得を制御する機能を提供する。
図3は、ライブラリのハードウェア例を示す図である。ライブラリ100は、プロセッサ101、RAM102、NVRAM(Non-Volatile RAM)103、媒体リーダ104、接続IF(InterFace)105、テープシェルフ106、ロボット107およびドライブ群108を有する。各ユニットは、ライブラリ100のバスに接続されている。
プロセッサ101は、ライブラリ100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、ライブラリ100の主記憶装置である。RAM102は、プロセッサ101に実行させるファームウェアのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
NVRAM103は、ライブラリ100の補助記憶装置である。NVRAM103は、内蔵の記憶素子に対して、電気的にデータの書込みおよび読出しを行う。NVRAM103は、ファームウェアのプログラム、アプリケーションプログラム、および各種データを記憶する。ライブラリ100は、NVRAM103として、フラッシュメモリを備えてもよい。
媒体リーダ104は、記録媒体11に記録されたプログラムやデータを読み取る装置である。記録媒体11として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することができる。媒体リーダ104は、例えば、プロセッサ101からの命令に従って、記録媒体11から読み取ったプログラムやデータをRAM102またはNVRAM103に格納する。
接続IF105は、サーバ200と接続するホストインタフェースである。接続IF105としては、例えば、ファイバチャネルを用いることができる。
テープシェルフ106は、複数のテープ媒体を収納する収納棚である。テープシェルフ106は、セルと呼ばれる収納スペースを複数有し、1つのセルに1つのテープ媒体を収めることができる。また、セルと当該セルに収納されるテープ媒体とは1対1に対応しており、セルのIDによってテープ媒体を識別することもできる。
ここで、テープ媒体は、磁気テープおよび磁気テープを収容したカートリッジを有する。磁気テープは、磁性体が蒸着または塗布されたテープ状のフィルムである。カートリッジは、磁気テープを収めるための所定形状のケースである。
例えば、テープシェルフ106には、テープ媒体C11,C12,C13,C14,・・・が収納されている。また、テープシェルフ106には、テープ媒体E11も収納されている。各テープ媒体として、例えば、LTO規格に準拠したものを使用することができる。
ここで、テープ媒体C11,C12,C13,C14,・・・は、業務運用で用いられる各種のファイルを記憶するために使用されるテープ媒体である。一方、テープ媒体E11は、サーバ200によるインデックス情報のバックアップ取得専用のテープ媒体である。以下の説明では、テープ媒体E11を他のテープ媒体と区別し、バックアップ専用であることを表すために、「専用媒体E11」と表記することがある。
ロボット107は、プロセッサ101からの指示に応じて、テープシェルフ106に収納されたテープ媒体をドライブ群108に属するドライブに搬送する。また、ロボット107は、プロセッサ101からの指示に応じて、ドライブに収納されたテープ媒体を、テープシェルフ106に搬送する。
ドライブ群108は、複数のドライブの集合である。第2の実施の形態の例では、ドライブ群108は、ドライブD1,D2の2つのドライブを有する。なお、ライブラリ100が備えるドライブ数は1でもよいし、3以上でもよい。ドライブD1,D2は、プロセッサ101からの指示に応じて、テープ媒体C11,C12,C13,C14,・・・および専用媒体E11に対するデータの書込みや読出しを行うテープドライブである。ドライブD1には、1つのテープ媒体を収納して、磁気テープに対するデータの書込みや読出しを行える。ドライブD2にも、同様に、1つのテープ媒体を収納して、磁気テープに対するデータの書込みや読出しを行える。
図4は、サーバのハードウェア例を示す図である。サーバ200は、プロセッサ201、RAM202、HDD203、画像信号処理部204、入力信号処理部205、媒体リーダ206、接続IF207および通信IF208を有する。各ユニットはサーバ200のバスに接続されている。
プロセッサ201は、サーバ200の情報処理を制御する。プロセッサ201は、マルチプロセッサであってもよい。プロセッサ201は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ201は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM202は、サーバ200の主記憶装置である。RAM202は、プロセッサ201に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM202は、プロセッサ201による処理に用いる各種データを記憶する。
HDD203は、サーバ200の補助記憶装置である。HDD203は、内蔵した磁気ディスクに対して、磁気的にデータの書込みおよび読出しを行う。HDD203は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。サーバ200は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
画像信号処理部204は、プロセッサ201からの命令に従って、サーバ200に接続されたディスプレイ21に画像を出力する。ディスプレイ21としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部205は、サーバ200に接続された入力デバイス22から入力信号を取得し、プロセッサ201に出力する。入力デバイス22としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
媒体リーダ206は、記録媒体23に記録されたプログラムやデータを読み取る装置である。記録媒体23として、例えば、HDDなどの磁気ディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)およびBlu−rayなどの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体23として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ206は、例えば、プロセッサ201からの命令に従って、記録媒体23から読み取ったプログラムやデータをRAM202またはHDD203に格納する。
接続IF207は、ライブラリ100と接続するインタフェースである。接続IF207としては、例えば、ファイバチャネルを用いることができる。
通信IF208は、ネットワーク10を介して他の装置と通信を行う。通信IF208は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。
図5は、テープ媒体の例を示す図である。テープ媒体C11は、カートリッジC11a、磁気テープC11bおよびカートリッジメモリC11cを有する。
カートリッジC11aは、前述のように、磁気テープC11bを収納するためのケースである。磁気テープC11bは、業務処理用の各種データの記録に用いられる。カートリッジメモリC11cは、非接触型のEEPROM(Electrically Erasable Programmable Read-Only Memory)である。カートリッジメモリC11cは、ライブラリ100におけるテープ媒体C11の管理情報の記録に用いられる。
ドライブD1,D2は、カートリッジメモリC11cと非接触通信するRF(Radio Frequency)インタフェースを有し、カートリッジメモリC11cに対して、情報の書込み/読出しや、記録された情報の消去を行える。
また、ロボット107も、カートリッジメモリC11cと非接触通信するRFインタフェースを有し、カートリッジメモリC11cに対して、情報の書込み/読出しや、記録した情報の消去を行える。
ここで、カートリッジメモリC11cを、CM(Cartridge Memory)と略記することがある。他のテープ媒体も、テープ媒体C11と同様に、カートリッジ、磁気テープおよびカートリッジメモリを有する。
図6は、LTFSによるファイル管理例を示す図である。例えば、LTFSは、FUSE(Filesystem in USErspace)と呼ばれるサーバ200のOSが提供するソフトウェアインタフェースを用いて利用される。例えば、サーバ200は、OSのカーネル空間(OSカーネルが存在するRAM202のアドレス空間)を用いて、仮想ファイルシステム、FUSEおよびデバイスドライバを実行する。また、サーバ200は、ユーザ空間(ユーザ向けのソフトウェアが存在するRAM202のアドレス空間)を用いて、業務用のアプリケーションおよびLTFSを実行する。ユーザ空間のアプリケーションは、仮想ファイルシステムおよびFUSEを介して、LTFSにファイル操作の指示を行える。LTFSは、サーバ200が保持するインデックス情報を参照して、該当のファイルを保持するテープ媒体を特定する。LTFSは、該当のテープ媒体の所定のドライブへの搬送、および、該当のファイルの書込みや読出しを、デバイスドライバを介してライブラリ100に指示する。
図7は、テープ媒体のパーティション例を示す図である。磁気テープC11bの記憶領域は、インデックスパーティションP1およびデータパーティションP2に区分されている。インデックスパーティションP1は、インデックス情報を記録するための領域である。インデックス情報は、データパーティションP2に記録されたファイルを識別するための情報である。前述のように、インデックス情報は、データパーティションP2におけるディレクトリ構造やファイル属性の情報を含む。また、インデックス情報は、データパーティションP2における各ファイルの記録位置(アドレス)を示すファイルポインタを含む。
図8は、情報処理システムの機能例を示す図である。ライブラリ100は、記憶部110、媒体巻数決定部120、バックアップ指示部130およびリストア媒体指示部140を有する。記憶部110は、RAM102やNVRAM103に確保された記憶領域として実現される。媒体巻数決定部120、バックアップ指示部130およびリストア媒体指示部140は、RAM102に記憶されたプログラムをプロセッサ101が実行することで実現される。
記憶部110は、各テープ媒体におけるインデックス情報の更新状況を管理するための更新管理テーブルを記憶する。また、記憶部110は、サーバ200により保持されたインデックス情報が障害により利用できなくなってから当該インデックス情報を復元するまでの目標復旧時間を予め記憶する。
媒体巻数決定部120は、記憶部110に記憶された目標復旧時間に基づいて、サーバ200のインデックス情報の復元時に読込み対象として許容されるテープ媒体の数(読込み媒体巻数と称する)を決定し、記憶部110に格納する。
バックアップ指示部130は、媒体巻数決定部120により決定された読込み媒体巻数に基づいて、サーバ200で保持されるインデックス情報のバックアップを取得するタイミングを決定する。バックアップ指示部130は、当該バックアップのタイミングを決定するために、各テープ媒体におけるインデックス情報の更新状況を、記憶部110に記憶された更新管理テーブルを用いて管理する。バックアップ指示部130は、当該タイミングをサーバ200に通知し、サーバ200によるインデックス情報のバックアップ取得を指示する。
リストア媒体指示部140は、サーバ200によりインデックス情報のリストアが行われる際に、記憶部110に記憶された更新管理テーブルに基づいて、読込み対象のテープ媒体をサーバ200に指示する。
サーバ200は、記憶部210、データ更新部220、バックアップ処理部230およびリストア処理部240を有する。記憶部210は、HDD203に確保された記憶領域として実現される。データ更新部220、バックアップ処理部230およびリストア処理部240は、RAM202に記憶されたプログラムをプロセッサ201が実行することで実現される。
記憶部210は、各テープ媒体に格納されたインデックス情報を、各テープ媒体のIDに対応付けて記憶する。各テープ媒体のIDは、各テープ媒体のカートリッジに付与されたバーコードによって識別される識別情報でもよいし、テープシェルフ106におけるセルIDでもよいし、その両方でもよい。
データ更新部220は、各テープ媒体のインデックス情報をライブラリ100から取得し、各テープ媒体のIDに対応付けて記憶部210に格納する。例えば、システムの運用開始前に、ライブラリ100のプロセッサ101は、ドライブD1,D2を用いてテープ媒体C11,C12,C13,C14,・・・それぞれからインデックス情報を読出し、サーバ200に送信しておいてもよい。あるいは、プロセッサ101は、あるテープ媒体をLTFSにより利用可能になるよう設定した際に、該当のテープ媒体のインデックス情報を、サーバ200に送信してもよい。データ更新部220は、ライブラリ100により送信された各テープ媒体のインデックス情報を受信し、記憶部210に格納する。
また、データ更新部220は、各テープ媒体の磁気テープに対するファイルの書込みや読出し、および、各テープ媒体のカートリッジメモリに対するデータの書込みや読出しをライブラリ100に指示する。データ更新部220は、テープ媒体の磁気テープに対するファイルの書込みを行った場合、記憶部210に記憶された該当のテープ媒体のインデックス情報を更新する。データ更新部220は、該当のテープ媒体のインデックスパーティションに格納されたインデックス情報にも当該更新を反映させる。
バックアップ処理部230は、ライブラリ100から指示されたタイミングで、記憶部210に記憶された各テープ媒体のインデックス情報のバックアップを、専用媒体E11に取得する。バックアップ処理部230は、ライブラリ100を用いて、当該バックアップの処理を実行する。
リストア処理部240は、HDD203が故障すると、サーバ200が備えるスペアのHDDなどに、記憶部210に記憶されていた故障直前のインデックス情報を復元し、LTFSによるファイル運用を復旧させる。具体的には、リストア処理部240は、専用媒体E11およびライブラリ100から通知された読込み対象のテープ媒体を用いて、インデックス情報のローカルストレージへの復旧を行う。
図9は、CMに格納される更新フラグの例を示す図である。テープ媒体C11のカートリッジメモリ(CM)C11cは、更新フラグを記憶する。更新フラグのデフォルト値は、“FALSE”であり、テープ媒体C11のインデックス情報の更新がないことを示す(図9(A))。更新フラグは、データ更新部220によりテープ媒体C11のインデックス情報が更新されたとき、データ更新部220により“TRUE”に設定される(図9(B))。更新フラグ“TRUE”は、テープ媒体C11のインデックス情報が更新されたことを示す。更新フラグは、サーバ200の運用開始時、および、バックアップ取得時に、全てのテープ媒体について“FALSE”に設定される。
バックアップ指示部130は、ロボット107を用いて、テープ媒体C11のカートリッジメモリC11cの情報を読取り、テープ媒体C11におけるインデックス情報の更新状況を更新管理テーブルに記録する。
他のテープ媒体も、テープ媒体C11と同様に、カートリッジメモリ内に更新フラグを記憶する。
図10は、更新管理テーブルの例を示す図である。更新管理テーブル111は、記憶部110に記憶される。更新管理テーブル111は、IDおよび更新フラグの項目を含む。
IDの項目には、テープ媒体を識別するためのIDが登録される。前述のように、IDは、テープ媒体のカートリッジに付与されたバーコードによって識別される識別情報でもよいし、テープシェルフ106におけるセルIDでもよいし、その両方でもよい。更新フラグの項目には、該当のテープ媒体におけるインデックス情報の更新有無を示す更新フラグが登録される。
例えば、更新管理テーブル111には、IDが“0001”、更新フラグが“TRUE”という情報が登録される。これは、ID“0001”で識別されるテープ媒体C11の更新フラグが“TRUE”であること(インデックス情報の更新あり)を示す。
また、更新管理テーブル111には、IDが“0002”、更新フラグが“FALSE”という情報が登録される。これは、ID“0002”で識別されるテープ媒体C12の更新フラグが“FALSE”であること(インデックス情報の更新なし)を示す。
図11は、専用媒体のCMに格納されるビットマップ例を示す図である。専用媒体E11は、カートリッジメモリE11cを有する。専用媒体E11を用いてリストアを行う際、リストア媒体指示部140は、カートリッジメモリE11cに、ビットマップB1を格納する。ビットマップB1は、サーバ200におけるインデックス情報の復旧のために読込み対象とするテープ媒体を表す情報である。ビットマップB1は、サーバ200の障害復旧の際に、ライブラリ100により専用媒体E11が備えるカートリッジメモリE11cに格納される。
ビットマップB1は、更新管理テーブル111に基づいて作成される。ビットマップB1は、前回バックアップ(専用媒体E11に格納されている最新のバックアップ)の取得時点後の各テープ媒体のインデックス情報の更新有無を示す更新情報といえる。
ビットマップB1のビット位置とテープシェルフ106におけるセル位置とは、1対1に対応している。例えば、テープシェルフ106のセル数が700個であれば、ビットマップB1は700ビットのデータとなる。
例えば、ビットマップB1のあるビットが“0”の場合、当該ビットに対応するセル位置に収納されたテープ媒体は、リストア時の読込み対象ではない。また、ビットマップB1のあるビットが“1”の場合、当該ビットに対応するセル位置に収納されたテープ媒体は、リストア時の読込み対象である。リストア処理部240は、ドライブD1,D2を用いて、専用媒体E11からビットマップB1を取得し、読込み対象とするテープ媒体を特定することができる。
次に、ライブラリ100およびサーバ200による処理手順を説明する。
図12は、ライブラリによる読込み媒体巻数決定例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(S1)媒体巻数決定部120は、記憶部110に格納された目標復旧時間Tを取得する。媒体巻数決定部120は、目標復旧時間Tのユーザによる入力を受け付けることで、目標復旧時間Tを取得してもよい。
(S2)媒体巻数決定部120は、テープ媒体1巻当たりのインデックス読出しの所要時間tを取得する。所要時間tは、ロボット107によるドライブD1(あるいは、ドライブD2)へのテープ媒体の搬送時間も含む。例えば、媒体巻数決定部120は、あるテープ媒体を用いて、所要時間tを実測してもよい。あるいは、媒体巻数決定部120は、幾つかのテープ媒体を用いたインデックス情報の読出しの所要時間の平均を、所要時間tとしてもよい。
(S3)媒体巻数決定部120は、ライブラリ100内のドライブ数Dを取得する。ライブラリ100の例では、D=2である。
(S4)媒体巻数決定部120は、故障中のドライブがあるか否かを判定する。故障中のドライブがある場合、処理をステップS5に進める。故障中のドライブがない場合、処理をステップS6に進める。
(S5)媒体巻数決定部120は、故障中のドライブ数をドライブ数Dから減算する。これにより、ドライブ数Dから、故障中のドライブ数が除去される。
(S6)媒体巻数決定部120は、第1の実施の形態で例示した式(2)により読込み媒体巻数Kを算出する。具体的には、媒体巻数決定部120は、K=(T/t)×Dとする。なお、左辺が小数を含む場合、媒体巻数決定部120は、小数点以下を切り捨てて、Kを整数値化する。
なお、上記の式(1)(2)では、ロボット数が1の場合を想定している。一方、ライブラリによっては、複数のロボットを有することも考えられる。その場合、媒体巻数決定部120は、ステップS2において、テープ媒体からのインデックス情報の読出し動作を、N(Nは2以上の整数)個のテープ媒体に対し、複数のロボットを用いて連続して試行する。そして、媒体巻数決定部120は、N個のテープ媒体全てから読出しを完了するまでの所要時間を計測する。すると、媒体巻数決定部120は、計測した所要時間をNで割ることで、複数のロボットを用いた場合の1つのテープ媒体当たりのインデックス情報の読出しの所要時間tを求めることができる。
また、式(2)は、ドライブの数も含んでおり、媒体巻数決定部120は、ドライブの数に基づいて、K(およびK−1)を算出しているともいえる。
図13は、サーバによるデータ更新例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。なお、ステップS11の直前において、テープ媒体C11はドライブD1に収納されており、テープ媒体C11のデータパーティションP2においてファイルが更新されたものとする。
(S11)データ更新部220は、テープ媒体C11のインデックス情報を更新する。この場合、データ更新部220は、記憶部210に保持されているテープ媒体C11のインデックス情報、および、テープ媒体C11のインデックスパーティションに記録されたインデックス情報の両方を更新する。
(S12)データ更新部220は、カートリッジメモリC11cの更新フラグを“TRUE”に設定する。
(S13)データ更新部220は、テープ媒体C11の媒体排出命令をライブラリ100に送信する。
なお、テープ媒体C11から単にファイルの読出しを行う場合、テープ媒体C11に記録されたファイルの更新は生じない。ファイルの読出しのみを行った場合は、データ更新部220は、カートリッジメモリC11cの更新フラグの設定変更を行わない。
図14は、ライブラリによる媒体管理例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
(S21)バックアップ指示部130は、ステップS13でサーバ200により送信された媒体排出命令を受信する。
(S22)バックアップ指示部130は、ロボット107を用いて、テープ媒体C11を、テープシェルフ106の所定のセルに搬送する。搬送の際、バックアップ指示部130は、ロボット107を用いて、カートリッジメモリC11cに記憶された更新フラグを参照する。
(S23)バックアップ指示部130は、カートリッジメモリC11cに記憶された更新フラグに基づいて、テープ媒体C11におけるインデックス情報の更新があるか否かを判定する。更新がある(すなわち、更新フラグ=“TRUE”)の場合、処理をステップS24に進める。更新がない(すなわち、更新フラグ=“FALSE”)の場合、処理を終了する。
(S24)バックアップ指示部130は、テープ媒体C11のインデックス情報の更新ありを更新管理テーブル111に記録する。具体的には、バックアップ指示部130は、テープ媒体C11のID“0001”に対して、更新フラグ“TRUE”を更新管理テーブル111に記録する。
(S25)バックアップ指示部130は、更新媒体数=K−1であるか否かを判定する。更新媒体数=K−1の場合、処理をステップS26に進める。更新媒体数<K−1の場合、処理を終了する。ここで、更新媒体数とは、前回バックアップ時から(あるいは、運用開始時から)インデックス情報が更新されたテープ媒体の数を意味する。バックアップ指示部130は、更新管理テーブル111の更新フラグ“TRUE”が設定されているレコードの合計を更新媒体数として求めることができる。
(S26)バックアップ指示部130は、ロボット107を用いて、専用媒体E11を使用していたドライブ(例えば、ドライブD1)に搬送する(専用媒体E11のLoad)。
(S27)バックアップ指示部130は、ロボット107を用いて、バックアップ情報を専用媒体E11のカートリッジメモリE11cに記録する。ここで、バックアップ情報は、更新管理テーブル111の内容を示す情報である。例えば、更新管理テーブル111の内容から、サーバ200は、前回バックアップ時からインデックス情報が更新されたテープ媒体を特定でき、前回バックアップからの差分としてバックアップすべきインデックス情報を得ることができる。
(S28)バックアップ指示部130は、更新管理テーブル111をクリアする。具体的には、バックアップ指示部130は、更新管理テーブル111における各IDの更新フラグを全て“FALSE”に設定する。
(S29)バックアップ指示部130は、ステップS21の媒体排出命令に対する媒体の排出完了をサーバ200に通知する。
図15は、サーバによるインデックスバックアップ例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
(S31)バックアップ処理部230は、ライブラリ100から媒体の排出完了を受信すると、ドライブD1内に専用媒体があるか否かを判定する。専用媒体がある場合、処理をステップS32に進める。専用媒体がない場合、処理を終了する。例えば、バックアップ処理部230は、ドライブD1に収納されたテープ媒体に付与されたバーコードを読み取り、バーコードで示される識別情報が、予め保持している専用媒体E11の識別情報に一致するかを確認することで、ステップS31の判定を行える。
(S32)バックアップ処理部230は、記憶部210に記憶されたインデックス情報のバックアップを専用媒体E11に取得する。ここで、バックアップ処理部230は、ドライブD1を用いて、カートリッジメモリE11cからバックアップ情報を取得し、前回のバックアップに対して更新されたインデックス情報の差分を得ることができる。このため、バックアップ処理部230は、当該差分のインデックス情報についてバックアップを取得すればよい。ただし、バックアップ処理部230は、記憶部210に記憶されている全てのテープ媒体のインデックス情報についてフルバックアップを取得してもよい。
(S33)バックアップ処理部230は、専用媒体E11の媒体搬出命令をライブラリ100に送信する。
ライブラリ100は、ステップS33の媒体搬出命令を受信すると、ロボット107を用いて、ドライブD1からテープシェルフ106の所定のセルに専用媒体E11を搬送する。こうして、サーバ200のインデックス情報のバックアップが、専用媒体E11に記録される。
ここで、ステップS31のようにバックアップ処理部230は、ライブラリ100からの媒体の排出完了の通知に応じてドライブD1の専用媒体E11の有無を確認する。このため、バックアップ指示部130は、専用媒体E11をドライブD1に収納することで、サーバ200にバックアップの取得タイミングを通知しているといえる。あるいは、バックアップ指示部130は、図14のステップS29において、媒体の排出完了と共に、専用媒体E11を所定のドライブに収納したこと、および、バックアップの取得を開始する旨の明示的な指示をサーバ200に通知してもよい。
次に、専用媒体E11に保存されたバックアップを用いたリストアの手順を説明する。例えば、サーバ200のHDD203の故障などで、サーバ200が保持する各テープ媒体のインデックス情報を利用できなくなった場合、サーバ200は、交換後のHDD203やスペアのHDDなどに対するインデックス情報のリストアを行う。
図16は、ライブラリによるリストア用媒体ロード例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
(S41)リストア媒体指示部140は、専用媒体E11のLOAD命令をサーバ200から受信する。
(S42)リストア媒体指示部140は、記憶部110に記憶された更新管理テーブル111を参照して、未バックアップのインデックス情報があるか否かを判定する。未バックアップのインデックス情報がある場合、処理をステップS43に進める。未バックアップのインデックス情報がない場合、処理をステップS45に進める。ここで、リストア媒体指示部140は、更新管理テーブル111を参照して、更新フラグ“TRUE”のレコードがある場合に、未バックアップのインデックス情報があると判定する。更新フラグ“TRUE”のレコードがない場合に、未バックアップのインデックス情報がないと判定する。
(S43)リストア媒体指示部140は、テープシェルフ106に収納された媒体巻数分のビットマップB1を専用媒体E11のカートリッジメモリE11cに格納する。媒体巻数には、専用媒体E11を含まなくてよい。ビットマップB1の全てのビットのデフォルト値は“0”である。
(S44)リストア媒体指示部140は、カートリッジメモリ(CM)E11cに格納されたビットマップB1のうち、未バックアップのテープ媒体に対応するビットに“1”を設定する。具体的には、更新管理テーブル111において、更新フラグ“TRUE”が設定されているIDに対応するテープ媒体が、未バックアップのテープ媒体である。
(S45)リストア媒体指示部140は、専用媒体E11をLOAD命令で指定されたドライブ(ここでは、ドライブD1とする)に搬送する。
図17は、サーバによるリストア例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(S51)リストア処理部240は、専用媒体E11のLOAD命令をライブラリ100に送信する。例えば、リストア処理部240は、入力デバイス22を用いたユーザによるリストア開始指示の入力を受け付けた後に、当該LOAD命令の送信を行う。ステップS51のLOAD命令の送信は、図16で説明したステップS41に対応する(当該LOAD命令に応じてライブラリ100により専用媒体E11がドライブD1に搬送される)。
(S52)リストア処理部240は、ドライブD1内の専用媒体E11を検出する。
(S53)リストア処理部240は、専用媒体E11のカートリッジメモリ(CM)E11cにビットマップB1があるか否かを判定する。ビットマップB1がない場合、処理をステップS54に進める。ビットマップB1がある場合、処理をステップS55に進める。
(S54)リストア処理部240は、専用媒体E11からインデックス情報をリストアする。具体的には、リストア処理部240は、ライブラリ100を用いて専用媒体E11からのインデックス情報の読出しを行う。リストア処理部240は、ローカルストレージ(交換後のHDD203やスペアのHDDなど)に当該インデックス情報を格納する(リストア)。ビットマップB1がない場合、インデックス情報を未バックアップであるテープ媒体がないことになるので、専用媒体E11のみによってインデックス情報のリストアは完了する。そして、リストア処理部240は、専用媒体E11の媒体搬出命令をライブラリ100に送信して、処理を終了する。
(S55)リストア処理部240は、専用媒体E11からインデックス情報をリストアする。具体的には、リストア処理部240は、ライブラリ100を用いて専用媒体E11からのインデックス情報の読出しを行う。リストア処理部240は、ローカルストレージ(交換後のHDD203やスペアのHDDなど)に当該インデックス情報を格納する。
(S56)リストア処理部240は、カートリッジメモリE11cに格納されたビットマップB1を基にテープ媒体からインデックス情報をリストアする。リストア処理部240は、ビットマップB1に基づいて、インデックス情報の読出し対象とするテープ媒体を特定できる。具体的には、ビットマップB1で“1”が設定されたビットに対応するセルに収納されたテープ媒体がインデックス情報の読出し対象である。リストア処理部240は、ドライブD1,D2に収納された読出し対象のテープ媒体を順次交換させ、各テープ媒体からのインデックス情報の読出しを行い、インデックス情報のリストアを行う。また、リストア処理部240は、ビットマップB1のうち、インデックス情報の読出しおよびリストアが完了したテープ媒体に対応するビットを“1”から“0”に変更することで、リストアの進捗管理を行える。リストア処理部240は、ビットマップB1をRAM202やHDD203に複製してリストアの進捗管理に用いてもよい。リストア処理部240は、こうしてリストアが完了すると、ドライブに収納されているテープ媒体の媒体排出命令をライブラリ100に送信して、処理を終了する。
次に、以上で説明した手順に関して、ライブラリ100とサーバ200との間の通信のシーケンスの具体例を説明する。まず、テープ媒体C11に対してファイル更新が発生した後、インデックス情報のバックアップ取得を行う場合のシーケンスを例示する。
図18は、テープ媒体に対するデータ更新時のシーケンス例である。以下、図18に示す処理をステップ番号に沿って説明する。
(ST1)サーバ200は、ライブラリ100にテープ媒体C11のLOAD命令(搬送先ドライブ=ドライブD1)を送信する。ライブラリ100は、LOAD命令を受信する。
(ST2)ライブラリ100は、テープ媒体C11のLOADを実行する。具体的には、ライブラリ100は、ロボット107を用いてテープシェルフ106からテープ媒体C11を取り出し、ドライブD1に搬送する。
(ST3)ライブラリ100は、テープ媒体C11のLOAD成功をサーバ200に送信する。サーバ200は、LOAD成功を受信する。
(ST4)サーバ200は、ライブラリ100を用いてドライブD1に収納されたテープ媒体C11へのデータの書込みを実行する。具体的には、サーバ200は、テープ媒体C11のデータパーティションP2に対するファイルの追加、更新または削除を行う。また、サーバ200は、インデックスパーティションP1に対するインデックス情報の更新を行う。このとき、サーバ200は、記憶部210に記憶されたテープ媒体C11のインデックス情報の更新も行う(サーバ200とテープ媒体C11とでインデックス情報は同期される)。
(ST5)サーバ200は、ライブラリ100を用いて、テープ媒体C11のカートリッジメモリ(CM)11cに格納された更新フラグに“TRUE”を設定する。
(ST6)ライブラリ100は、ドライブD1による書込み完了を検出し、サーバ200に書込み成功を送信する。サーバ200は、書込み成功を受信する。
(ST7)サーバ200は、テープ媒体C11のUNLOAD命令(媒体排出命令)をライブラリ100に送信する。ライブラリ100は、UNLOAD命令を受信する。
(ST8)ライブラリ100は、ロボット107を用いて、ドライブD1に収納されたテープ媒体C11を取り出し、テープシェルフ106の所定のセルに搬送する。このとき、ライブラリ100は、ロボット107を用いて、カートリッジメモリE11cに格納された更新フラグを読取り、テープ媒体C11に対するインデックス情報の更新あり(更新フラグ“TRUE”)を更新管理テーブル111に記録する。
(ST9)ライブラリ100は、更新管理テーブル111を参照して、更新媒体数をカウントし、閾値K−1と比較する。そして、ライブラリ100は、更新媒体数=K−1であることを検出する。
(ST10)ライブラリ100は、専用媒体E11のLOADを実行する。具体的には、ライブラリ100は、ロボット107を用いてテープシェルフ106から専用媒体E11を取り出し、ドライブD1に搬送する。このとき、ライブラリ100は、専用媒体E11のカートリッジメモリE11cに更新管理テーブル111の内容を書込む。また、ライブラリ100は、当該更新管理テーブル111の書込みが完了すると、記憶部110に記憶された更新管理テーブル111の更新フラグを全て“FALSE”に設定する(更新管理テーブル111のリセット)。
(ST11)ライブラリ100は、テープ媒体C11のUNLOAD成功をサーバ200に送信する。サーバ200は、UNLOAD成功を受信する。
(ST12)サーバ200は、ドライブD1に専用媒体E11がLOADされていることを確認する。
(ST13)サーバ200は、ライブラリ100を用いて、記憶部210に記憶された各テープ媒体のインデックス情報を、専用媒体E11に書込む。例えば、サーバ200は、ステップST10でカートリッジメモリE11cに書込まれた更新管理テーブル111の内容に基づいて、インデックス情報のバックアップ対象とするテープ媒体(前回バックアップからの差分)を特定することもできる。
(ST14)ライブラリ100は、ドライブD1によるインデックス情報の書込み完了を検出する。ライブラリ100は、インデックス情報の書込み成功をサーバ200に送信する。サーバ200は、インデックス情報の書込み成功を受信する。
(ST15)サーバ200は、専用媒体E11のUNLOAD命令をライブラリ100に送信する。ライブラリ100は、UNLOAD命令を受信する。
(ST16)ライブラリ100は、ロボット107を用いて、ドライブD1に収納された専用媒体E11を取り出し、テープシェルフ106の所定のセルに搬送する。
(ST17)ライブラリ100は、専用媒体E11のUNLOAD成功をサーバ200に送信する。サーバ200は、UNLOAD成功を受信する。
続いて、サーバ200のローカルストレージにインデックス情報をリストアする際のシーケンス例を説明する。
図19は、インデックス情報のリストア時のシーケンス例である。以下、図19に示す処理をステップ番号に沿って説明する。
(ST21)サーバ200は、ライブラリ100にリストア開始の通知を送信する。ライブラリ100は、リストア開始の通知を受信する。
(ST22)ライブラリ100は、1ドライブ占有依頼をサーバ200に送信する。サーバ200は、1ドライブ占有依頼を受信する。
(ST23)サーバ200は、1ドライブ占有依頼に応じて、ライブラリ100に1ドライブの占有を指示する。ライブラリ100は、当該指示を受信し、ドライブD1をリストア処理に用いるドライブとして占有する。
(ST24)ライブラリ100は、ドライブD1の占有成功を検出すると、1ドライブの占有OKの通知をサーバ200に送信する。サーバ200は、占有OKの通知を受信する。
(ST25)サーバ200は、専用媒体E11のLOAD命令(搬送先ドライブ=ドライブD1)をライブラリ100に送信する。ライブラリ100は、LOAD命令を受信する。
(ST26)ライブラリ100は、専用媒体E11のLOADを実行する。具体的には、ライブラリ100は、ロボット107を用いてテープシェルフ106から専用媒体E11を取り出し、ドライブD1に搬送する。
(ST27)ライブラリ100は、専用媒体E11のカートリッジメモリE11cにビットマップB1を書込む。ビットマップB1の各ビットのデフォルト値は“0”である。ライブラリ100は、記憶部110に記憶された更新管理テーブル111に基づいて、ビットマップB1のうち、リストア時の読出し対象とするテープ媒体に対応するビットを“1”に設定する。なお、ライブラリ100は、ステップST27を、ステップST26の前に実行してもよいし、ステップST26の最中に実行してもよい。
(ST28)ライブラリ100は、専用媒体E11のLOAD成功をサーバ200に送信する。サーバ200は、LOAD成功を受信する。
(ST29)サーバ200は、ライブラリ100を用いて、専用媒体E11のカートリッジメモリE11cに格納されたビットマップB1の読出しを行う。
(ST30)ライブラリ100は、ドライブD1によるビットマップB1の読出し完了を検出し、ビットマップB1の読出し結果および読出し成功をサーバ200に送信する。サーバ200は、ビットマップB1の読出し結果および読出し成功を受信する。
(ST31)サーバ200は、ライブラリ100を用いて、専用媒体E11の磁気テープに記録されたインデックス情報のバックアップの読出しを行う。
(ST32)ライブラリ100は、ドライブD1によるバックアップ(インデックス情報)の読出し完了を検出し、バックアップの読出し結果および読出し成功をサーバ200に送信する。サーバ200は、バックアップの読出し結果および読出し成功を受信する。サーバ200は、専用媒体E11から読出したインデックス情報を、ローカルストレージに書込む(リストア)。
(ST33)サーバ200は、専用媒体E11のUNLOAD命令をライブラリ100に送信する。ライブラリ100は、UNLOAD命令を受信する。
(ST34)ライブラリ100は、専用媒体E11のUNLOADを実行する。具体的には、ライブラリ100は、ロボット107を用いて、ドライブD1に収納された専用媒体E11を取り出し、テープシェルフ106の所定のセルに搬送する。
(ST35)ライブラリ100は、専用媒体E11のUNLOAD成功をサーバ200に送信する。サーバ200は、UNLOAD成功を受信する。
(ST36)サーバ200は、ステップST29,ST30で読出したビットマップB1に基づいて、読出し対象のテープ媒体を特定する。例えば、サーバ200は、読出し対象のテープ媒体として、テープ媒体C11を特定する。サーバ200は、テープ媒体C11のLOAD命令(搬送先ドライブ=ドライブD1)をライブラリ100に送信する。ライブラリ100は、LOAD命令を受信する。
(ST37)ライブラリ100は、テープ媒体C11のLOADを実行する。具体的には、ライブラリ100は、ロボット107を用いてテープシェルフ106から専用媒体E11を取り出し、ドライブD1に搬送する。
(ST38)ライブラリ100は、テープ媒体C11のLOAD成功をサーバ200に送信する。サーバ200は、LOAD成功を受信する。
(ST39)サーバ200は、ライブラリ100を用いて、テープ媒体C11のインデックスパーティションP1に記録されたインデックス情報の読出しを行う。
(ST40)ライブラリ100は、ドライブD1によるインデックス情報の読出し完了を検出し、インデックス情報の読出し結果および読出し成功をサーバ200に送信する。サーバ200は、インデックス情報の読出し結果および読出し成功を受信する。サーバ200は、テープ媒体C11から読出したインデックス情報を、ステップST32でリストアされた内容に差分として追加する。
(ST41)サーバ200は、テープ媒体C11のUNLOAD命令をライブラリ100に送信する。ライブラリ100は、UNLOAD命令を受信する。
(ST42)ライブラリ100は、テープ媒体C11のUNLOADを実行する。具体的には、ライブラリ100は、ロボット107を用いて、ドライブD1に収納されたテープ媒体C11を取り出し、テープシェルフ106の所定のセルに搬送する。
(ST43)ライブラリ100は、テープ媒体C11のUNLOAD成功をサーバ200に送信する。サーバ200は、UNLOAD成功を受信する。
ここで、リストアの読出し対象とするテープ媒体が複数ある場合、ライブラリ100およびサーバ200は、ステップST36〜ST43を、対象のテープ媒体数の分だけ繰り返し実行する。その場合、ライブラリ100およびサーバ200は、互いに連携し、ドライブD1,D2の両方を並行して用いて(ドライブD2もリストア用に占有して)、各テープ媒体からインデックス情報の読出しを行える。
(ST44)サーバ200は、ライブラリ100に1ドライブ占有解除を指示する。ライブラリ100は、当該指示を受信し、ドライブD1の占有を解除する。
(ST45)ライブラリ100は、ドライブD1の占有の解除成功を検出すると、1ドライブの占有解除OKの通知をサーバ200に送信する。サーバ200は、占有解除OKの通知を受信する。前述のように、リストア用に、複数のドライブが占有されることもある。その場合、サーバ200は、各ドライブの占有解除をライブラリ100に指示する。そして、ライブラリ100は、各ドライブに対する占有解除の指示をサーバ200から受け付け、各ドライブの占有を解除する。サーバ200は、リストア用に占有された全てのドライブの占有が解除されたことを確認して、ステップST46を実行する。
(ST46)サーバ200は、リストア終了の通知をライブラリ100に送信する。ライブラリ100は、リストア終了の通知を受信する。
このようにして、ライブラリ100およびサーバ200は、各テープ媒体に記録されたインデックス情報のバックアップの取得、および、サーバ200におけるインデックスの復元を行う。このとき、ライブラリ100は、図12で例示したように、目標復旧時間Tに基づいて、リストア時に読込み対象とするテープ媒体の巻数Kを決定する。そして、ライブラリ100は、前回バックアップから更新媒体数が閾値K−1に達したタイミングをインデックス情報のバックアップの取得タイミングとする。これにより、サーバ200におけるインデックス情報の復元時には、サーバ200が読出し対象とするテープ媒体の数を、専用媒体E11を含めてK巻以下に抑えることができる。このため、サーバ200は、ローカルストレージへの各テープ媒体のインデックス情報の復元を、障害発生後から目標復旧時間T内に終えることができる。
ここで、インデックスバックアップを取得しない運用も考えられる。この場合、障害復旧時、サーバ200ではインデックス情報を復元するために、テープ媒体C11,C12,C13,・・・の全てからインデックス情報を読出すことになる。しかし、各テープ媒体の読出しには、ロボット107によりテープ媒体をドライブD1,D2に搬送したり、ドライブD1,D2を用いてインデックス情報を読出したりする動作を伴う。また、ドライブD1,D2の数も有限である。したがって、全てのテープ媒体からインデックス情報の読出しを行うには時間がかかる。例えば、ライブラリ100に収納されたテープ媒体の数が700巻程度の場合、サーバ200におけるファイルシステムの再構築に2日程度を要することもある。このため、障害発生から復元までの時間が、予め定められた目標復旧時間Tに間に合わなくなる。この問題は、テープ媒体の数が増すほど深刻となる。
一方、テープ媒体C11,C12,C13,・・・それぞれのインデックス情報が更新されるたびに、専用媒体E11にインデックスバックアップを取得する方法も考えられる。しかし、この方法では、バックアップの取得頻度が過大となり、バックアップ用にドライブD1,D2を占有する頻度および時間も増すため、通常の業務運用に支障をきたすおそれがある。
そこで、ライブラリ100は、前回バックアップからインデックス情報が更新されたテープ媒体の数が、式(2)で求めた上限値K−1に達したタイミングをインデックス情報のバックアップ取得タイミングとする。これにより、専用媒体E11および他のテープ媒体を用いたサーバ200によるインデックス情報の復元を、障害発生から目標復旧時間T内に終えることができる。また、インデックス情報の変更があるたびにバックアップを取得するよりも、バックアップの取得頻度を抑えることができ、通常の業務運用への影響を抑えることができる。
更に、バックアップを専用媒体E11に取得することで、サーバ200で障害が発生し、サーバ200が利用できなくなっても、ライブラリ100内の各テープ媒体を用いて、障害前に使用していたファイルシステムを適切に復旧させることができる。例えば、リストアの実行主体を、サーバ200以外のサーバコンピュータとしてもよい。すなわち、サーバ200が故障した場合、別のサーバコンピュータが、専用媒体E11を用いてファイルシステムを復旧することもできる。
なお、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101,201にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体11,23に記録できる。ここで、ライブラリ100は、プロセッサ101およびRAM102を備えるコンピュータを含むと考えてもよい。同様に、サーバ200は、プロセッサ201およびRAM202を備えるコンピュータを含むと考えてもよい。
例えば、プログラムを記録した記録媒体11,23を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。例えば、ライブラリ100に対応するコンピュータは、記録媒体11に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やNVRAM103などの記憶装置に格納する(インストールする)。また、サーバ200に対応するコンピュータは、記録媒体23に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM202やHDD203などの記憶装置に格納する(インストールする)。コンピュータは、インストール先の記憶装置からプログラムを読み込んで実行してもよい。
1 ファイル管理装置
1a,2a 記憶部
1b,2b 演算部
1c ドライブ
1d ロボット
1e 媒体収納部
2 情報処理装置
C1,C2,C3,E1 可換型記憶媒体
D11 目標復旧時間情報
D12 更新テーブル
D21 インデックス管理テーブル

Claims (8)

  1. ファイルシステムで用いられるインデックス情報を記憶する複数の可換型記憶媒体を収納可能であり、可換型記憶媒体に対するデータの読出しおよび書込みを行うファイル管理装置と、
    前記複数の可換型記憶媒体それぞれに記憶された前記インデックス情報を前記ファイル管理装置から取得して保持し、前記インデックス情報を用いて前記複数の可換型記憶媒体それぞれに記憶されたファイルを識別する情報処理装置と、を有し、
    前記ファイル管理装置は、システム障害に対する目標復旧時間に基づいて、前記情報処理装置により保持される前記インデックス情報のバックアップを取得するタイミングを決定し、前記タイミングを前記情報処理装置に通知し、
    前記情報処理装置は、通知された前記タイミングで、前記ファイル管理装置を用いて、所定の可換型記憶媒体に前記バックアップを取得する、
    ファイル管理システム。
  2. 前記ファイル管理装置は、前記情報処理装置の障害復旧の際に、前記インデックス情報の読込みの対象となる各可換型記憶媒体からの前記読込みの所要時間の合計が前記目標復旧時間以下になるように前記タイミングを決定する、請求項1記載のファイル管理システム。
  3. 前記ファイル管理装置は、前記目標復旧時間に基づいて、障害復旧の際に前記インデックス情報の読出し対象として許容される前記可換型記憶媒体の数の上限値を計算し、前回のバックアップ後に前記インデックス情報が更新された前記可換型記憶媒体の数と前記上限値との比較に応じて前記タイミングを決定する、請求項1または2記載のファイル管理システム。
  4. 前記ファイル管理装置は、前記可換型記憶媒体に対するデータの読出しおよび書込みを行うドライブの数に基づいて前記上限値を計算する、請求項3記載のファイル管理システム。
  5. 前記ファイル管理装置は、前記可換型記憶媒体を前記ドライブから搬送するたびに、当該可換型記憶媒体の前記インデックス情報が更新されたか否かを確認し、前回のバックアップ後に前記インデックス情報が更新された前記可換型記憶媒体の数が前記上限値に達すると、前記インデックス情報の前記バックアップの取得を前記情報処理装置に通知する、請求項4記載のファイル管理システム。
  6. 前記ファイル管理装置は、前回のバックアップ後からの前記複数の可換型記憶媒体それぞれの前記インデックス情報の更新有無を記録し、前記情報処理装置の障害復旧の際に、前記所定の可換型記憶媒体が備えるメモリに前記更新有無を示す更新情報を格納し、
    前記情報処理装置は、前記メモリに格納された前記更新情報に基づいて、前記所定の可換型記憶媒体に加えて前記インデックス情報の読出し対象とする前記可換型記憶媒体を選択する、
    請求項1乃至5の何れか1項に記載のファイル管理システム。
  7. ファイルシステムで用いられるインデックス情報を記憶する複数の可換型記憶媒体を収納可能な媒体収納部と、
    可換型記憶媒体に対するデータの読出しおよび書込みを行うドライブと、
    前記ドライブを用いて複数の可換型記憶媒体それぞれに記憶された前記インデックス情報を読出して情報処理装置に送信し、システム障害に対する目標復旧時間に基づいて、前記情報処理装置により保持される前記インデックス情報のバックアップを取得するタイミングを決定し、前記タイミングを前記情報処理装置に通知する演算部と、
    を有するファイル管理装置。
  8. コンピュータに、
    ファイルシステムで用いられるインデックス情報を記憶する可換型記憶媒体に対するデータの読出しおよび書込みを行うドライブを用いて、複数の可換型記憶媒体それぞれから前記インデックス情報を読出して情報処理装置に送信し、
    システム障害に対する目標復旧時間に基づいて、前記情報処理装置により保持される前記インデックス情報のバックアップを取得するタイミングを決定し、
    前記タイミングを前記情報処理装置に通知する、
    処理を実行させるファイル管理プログラム。
JP2016137399A 2016-07-12 2016-07-12 ファイル管理システム、ファイル管理装置およびファイル管理プログラム Active JP6675944B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016137399A JP6675944B2 (ja) 2016-07-12 2016-07-12 ファイル管理システム、ファイル管理装置およびファイル管理プログラム
US15/646,516 US20180018238A1 (en) 2016-07-12 2017-07-11 System and apparatus for managing files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016137399A JP6675944B2 (ja) 2016-07-12 2016-07-12 ファイル管理システム、ファイル管理装置およびファイル管理プログラム

Publications (2)

Publication Number Publication Date
JP2018010398A JP2018010398A (ja) 2018-01-18
JP6675944B2 true JP6675944B2 (ja) 2020-04-08

Family

ID=60941070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016137399A Active JP6675944B2 (ja) 2016-07-12 2016-07-12 ファイル管理システム、ファイル管理装置およびファイル管理プログラム

Country Status (2)

Country Link
US (1) US20180018238A1 (ja)
JP (1) JP6675944B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204891B2 (en) * 2016-11-04 2021-12-21 International Business Machines Corporation Identifying partial update for tape file system
CN108062200B (zh) * 2016-11-08 2019-12-20 杭州海康威视数字技术股份有限公司 一种磁盘数据读写方法及装置
KR102468737B1 (ko) * 2017-12-19 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN111868705B (zh) 2018-03-22 2024-03-01 富士胶片株式会社 记录装置、读取装置、记录方法、读取方法及磁带
CN110764946B (zh) * 2019-11-12 2021-04-02 焦点科技股份有限公司 一种基于文件的索引数据失败补偿的方法
US11886724B2 (en) * 2020-12-01 2024-01-30 International Business Machines Corporation Copying data from a linear tape file system (LTFS)-based storage system to a random access nonvolatile memory (RANVM) drive in units of blocks of the drive
US11971853B2 (en) * 2022-09-30 2024-04-30 International Business Machines Corporation Optimizing removable media library file removal

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0567372A (ja) * 1991-09-06 1993-03-19 Nec Corp ライブラリ型光デイスク記憶装置
JP4267420B2 (ja) * 2003-10-20 2009-05-27 株式会社日立製作所 ストレージ装置及びバックアップ取得方法
GB0424488D0 (en) * 2004-11-05 2004-12-08 Ibm A method apparatus computer program and computer program product for adjusting the frequency at which data is backed up
JP2014067113A (ja) * 2012-09-25 2014-04-17 Hitachi Ltd 磁気テープライブラリ装置
US20150378642A1 (en) * 2013-03-15 2015-12-31 Seagate Technology Llc File system back-up for multiple storage medium device
US9684475B2 (en) * 2014-02-28 2017-06-20 Dell Products, L.P. Multi-mode hybrid storage drive
JP5975473B2 (ja) * 2014-08-29 2016-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation バックアップ方法、リストア方法、ストレージ・システムおよびプログラム

Also Published As

Publication number Publication date
JP2018010398A (ja) 2018-01-18
US20180018238A1 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
JP6675944B2 (ja) ファイル管理システム、ファイル管理装置およびファイル管理プログラム
US6557073B1 (en) Storage apparatus having a virtual storage area
US7913045B2 (en) Storage system comprising backup function
US20140075240A1 (en) Storage apparatus, computer product, and storage control method
US6539402B1 (en) Using periodic spaces of block ID to improve additional recovery
US7664910B2 (en) Data management method and apparatus, hierarchical storage apparatus and computer-readable storage medium
US20140379983A1 (en) Storage system, control apparatus, and control method
KR101369813B1 (ko) 광 디스크 저장 시스템에 저장된 미디어에의 액세스, 압축 및 추적
US20060077726A1 (en) Data transfer method, storage apparatus and computer-readable storage medium
CN111506251A (zh) 数据处理方法、装置、smr存储系统及存储介质
US20130054727A1 (en) Storage control method and information processing apparatus
US9081506B2 (en) Tape apparatus, storage control apparatus, and storage control method
JP2009238036A (ja) データバックアップ装置、データバックアップ方法およびプログラム
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
JP6542152B2 (ja) オブジェクトストレージ、コントローラおよびプログラム
US9858963B2 (en) Storage device, computer-readable nonvolatile storage medium to store control program of storage device, and control method of storage device
JP2006040065A (ja) データ記憶装置およびデータ記憶方法
JP6810353B2 (ja) 情報処理システム、情報処理装置およびプログラム
CN114442942B (zh) 一种数据迁移方法、系统、设备及存储介质
KR101442145B1 (ko) 데이터 관리 장치 및 방법
US11687268B2 (en) Object migration system using tape medium, object migration source storage device, and object migration destination storage device
CN114442941B (zh) 一种数据迁移方法、系统、存储介质及设备
CN116483284B (zh) 一种读写虚拟硬盘的方法、装置、介质及电子设备
JP2018025839A (ja) バックアップ/リストアプログラム、版数管理装置およびバックアップ/リストア方法
US20230281167A1 (en) Hybrid synchronization using a shadow component

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190402

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190402

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200311

R150 Certificate of patent or registration of utility model

Ref document number: 6675944

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350