特許第5984151号(P5984151)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特許5984151データの復旧方法、プログラムおよびデータ処理システム
<>
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000002
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000003
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000004
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000005
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000006
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000007
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000008
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000009
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000010
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000011
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000012
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000013
  • 特許5984151-データの復旧方法、プログラムおよびデータ処理システム 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5984151
(24)【登録日】2016年8月12日
(45)【発行日】2016年9月6日
(54)【発明の名称】データの復旧方法、プログラムおよびデータ処理システム
(51)【国際特許分類】
   G06F 12/00 20060101AFI20160823BHJP
【FI】
   G06F12/00 531R
   G06F12/00 520P
【請求項の数】21
【全頁数】23
(21)【出願番号】特願2014-171687(P2014-171687)
(22)【出願日】2014年8月26日
(65)【公開番号】特開2016-45869(P2016-45869A)
(43)【公開日】2016年4月4日
【審査請求日】2016年1月5日
【早期審査対象出願】
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
(74)【代理人】
【識別番号】100108501
【弁理士】
【氏名又は名称】上野 剛史
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】宮村 剛志
(72)【発明者】
【氏名】渡邊 輝江
(72)【発明者】
【氏名】山本 紀子
(72)【発明者】
【氏名】松井 壮介
(72)【発明者】
【氏名】岩崎 礼江
【審査官】 小林 哲雄
(56)【参考文献】
【文献】 特開2005−190139(JP,A)
【文献】 米国特許出願公開第2011/0238906(US,A1)
【文献】 特開2005−018757(JP,A)
【文献】 特開2005−018758(JP,A)
【文献】 特開2014−123254(JP,A)
【文献】 長谷川徹、大石豊、今井直樹、神谷昌範、平田崇将,テープ用ファイルシステムでのファイル・リストアの高速化,ProVISION,日本アイ・ビー・エム,2012年,No.72,pp.97-103,[平成28年4月19日検索]、インターネット<URL:https://www-304.ibm.com/connections/blogs/ProVISION71_75/resource/no72/72_paper4.pdf?lang=ja>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
複数のデータをデータ処理システムに復旧する方法であって、
前記データ処理システムが、
前記複数のデータの各々に関連付けられた記録媒体を識別するための媒体識別情報を含む該複数のデータを複数のファイルとして管理するための管理情報を、前記データ処理システムが備える記憶装置に記憶して該管理情報を復旧するステップと、
前記複数のファイルと該複数のファイルに関する情報とが記憶された複数の前記記録媒体の接続を受け付けるステップと、
1以上の前記媒体識別情報を含む前記複数のファイルのうちの1以上のファイルに関する情報を、前記記憶装置に記憶するステップと、
前記複数の記録媒体に記憶されている前記複数のファイルに関する情報に代えて、前記記憶装置に記憶された前記1以上のファイルに関する情報を使用してファイルを読み出す設定に切り替えるステップと、
前記1以上のファイルに関する情報に基づき、ファイルを読み出す1以上の記録媒体を特定し、特定した該1以上の記録媒体から1以上のファイルを前記記憶装置へ読み出すステップと、
前記1以上のファイルに関する情報を前記記憶装置から削除するステップとを含む、データの復旧方法。
【請求項2】
前記複数の記録媒体に記憶されている前記複数のファイルに関する情報を使用してファイルを読み出す設定へ切り替えるステップをさらに含む、請求項1に記載のデータの復旧方法。
【請求項3】
前記記録媒体は、ファイルに関する情報を記憶するための第1のパーティションと、ファイルを記憶するための第2のパーティションとを有する磁気テープ媒体である、請求項1に記載のデータの復旧方法。
【請求項4】
前記1以上のファイルに関する情報は、前記1以上のファイルの属性情報を含み、該1以上のファイルの属性情報が複数である場合、前記媒体識別情報毎に、前記磁気テープ媒体に記憶されるファイルの位置を示すブロック情報に従って並べられている、請求項3に記載のデータの復旧方法。
【請求項5】
前記読み出すステップでは、前記データ処理システムが処理を実行するために使用する記憶領域に前記1以上のファイルの属性情報を読み出し、該記憶領域に読み出した該属性情報を使用して前記特定した1以上の記録媒体から前記1以上のファイルを読み出す、請求項4に記載のデータの復旧方法。
【請求項6】
前記削除するステップでは、前記記憶領域に読み出した前記1以上のファイルの属性情報を削除する、請求項5に記載のデータの復旧方法。
【請求項7】
前記複数のファイルを保持し、該複数のファイルを前記複数の記録媒体へ書き込む処理を実行する第2データ処理システムが、
予め設定された選択ポリシーに基づき、前記複数のファイルから1以上のファイルを抽出し、該1以上のファイルのリストを生成するステップと、
前記リストに基づき、前記複数の記録媒体に前記複数のファイルとともに記憶された該複数のファイルに関する情報または前記第2データ処理システムが処理を実行するために使用する記憶領域に読み出した前記複数のファイルの属性情報を使用して、前記複数の記録媒体の少なくとも1つを識別するための媒体識別情報を含む前記1以上のファイルに関する情報を生成するステップとをさらに含む、請求項1に記載のデータの復旧方法。
【請求項8】
前記記録媒体は、ファイルに関する情報を記憶するための第1のパーティションと、ファイルを記憶するための第2のパーティションとを有する磁気テープ媒体であり、
前記1以上のファイルが複数である場合、前記リストを生成するステップでは、複数の該ファイルを、前記媒体識別情報毎に、前記磁気テープ媒体に記憶されるファイルの位置を示すブロック情報に従って並べることにより該リストを生成する、請求項7に記載のデータの復旧方法。
【請求項9】
前記1以上のファイルに関する情報は、前記複数の記録媒体の少なくとも1つもしくは該複数の記録媒体とは別の記録媒体またはネットワークを介して前記データ処理システムへ送られる、請求項7に記載のデータの復旧方法。
【請求項10】
バックアップ要求を受け付けるステップと、
前記バックアップ要求を受け付けた時点の前記第2データ処理システムが保持する前記複数のファイルを管理するファイルシステムのスナップショットを取るステップと、
得られた前記スナップショットに基づき、バックアップ対象の複数のファイルを決定するステップと、
決定した前記バックアップ対象の複数のファイルを管理するための管理情報をバックアップするステップとをさらに含む、請求項7に記載のデータの復旧方法。
【請求項11】
複数のデータを復旧する処理をデータ処理システムに実行させるためのプログラムであって、
前記複数のデータの各々に関連付けられた記録媒体を識別するための媒体識別情報を含む該複数のデータを複数のファイルとして管理するための管理情報を、前記データ処理システムが備える記憶装置に記憶して該管理情報を復旧するステップと、
前記複数のファイルと該複数のファイルに関する情報とが記憶された複数の前記記録媒体の接続を受け付けるステップと、
1以上の前記媒体識別情報を含む前記複数のファイルのうちの1以上のファイルに関する情報を、前記記憶装置に記憶するステップと、
前記複数の記録媒体に記憶されている前記複数のファイルに関する情報に代えて、前記記憶装置に記憶された前記1以上のファイルに関する情報を使用してファイルを読み出す設定に切り替えるステップと、
前記1以上のファイルに関する情報に基づき、ファイルを読み出す1以上の記録媒体を特定し、特定した該1以上の記録媒体から1以上のファイルを前記記憶装置へ読み出すステップと、
前記1以上のファイルに関する情報を前記記憶装置から削除するステップとを実行させる、プログラム。
【請求項12】
前記複数の記録媒体に記憶されている前記複数のファイルに関する情報を使用してファイルを読み出す設定へ切り替えるステップをさらに実行させる、請求項11に記載のプログラム。
【請求項13】
前記記録媒体は、ファイルに関する情報を記憶するための第1のパーティションと、ファイルを記憶するための第2のパーティションとを有する磁気テープ媒体である、請求項11に記載のプログラム。
【請求項14】
前記1以上のファイルに関する情報は、前記1以上のファイルの属性情報を含み、該1以上のファイルの属性情報が複数である場合、前記媒体識別情報毎に、前記磁気テープ媒体に記憶されるファイルの位置を示すブロック情報に従って並べられている、請求項13に記載のプログラム。
【請求項15】
前記読み出すステップでは、前記データ処理システムが処理を実行するために使用する記憶領域に前記1以上のファイルの属性情報を読み出し、該記憶領域に読み出した該属性情報を使用して前記特定した1以上の記録媒体から前記1以上のファイルを読み出す処理を実行させる、請求項14に記載のプログラム。
【請求項16】
前記削除するステップでは、前記記憶領域に読み出した前記1以上のファイルの属性情報を削除する処理を実行させる、請求項15に記載のプログラム。
【請求項17】
複数のデータを保持し、複数の記録媒体へ該複数のデータを複数のファイルとして書き込むデータ処理システムに実行させるためのプログラムであって、
予め設定された選択ポリシーに基づき、前記複数のファイルから1以上のファイルを抽出し、該1以上のファイルのリストを生成するステップと、
前記リストに基づき、前記複数の記録媒体に前記複数のファイルとともに記憶された該複数のファイルに関する情報または前記データ処理システムが処理を実行するために使用する記憶領域に読み出した前記複数のファイルの属性情報を使用して、前記複数の記録媒体の少なくとも1つを識別するための媒体識別情報を含む前記1以上のファイルに関する情報を生成するステップとを実行させる、プログラム。
【請求項18】
前記記録媒体は、ファイルに関する情報を記憶するための第1のパーティションと、ファイルを記憶するための第2のパーティションとを有する磁気テープ媒体であり、
前記1以上のファイルが複数である場合、前記リストを生成するステップでは、複数の該ファイルを、前記媒体識別情報毎に、前記磁気テープ媒体に記憶されるファイルの位置を示すブロック情報に従って並べることにより該リストを生成する処理を実行させる、請求項17に記載のプログラム。
【請求項19】
バックアップ要求を受け付けるステップと、
前記バックアップ要求を受け付けた時点の前記データ処理システムが保持する前記複数のファイルを管理するファイルシステムのスナップショットを取るステップと、
得られた前記スナップショットに基づき、バックアップ対象の複数のファイルを決定するステップと、
決定した前記バックアップ対象の複数のファイルを管理するための管理情報をバックアップするステップとをさらに実行させる、請求項17に記載のプログラム。
【請求項20】
複数のデータを復旧する処理を行うデータ処理システムであって、
前記複数のデータを複数のファイルとして処理を実行する1以上の処理装置と、
前記1以上の処理装置の各々が前記複数のファイルに対して処理を実行するための1以上の記憶領域を提供する1以上のメモリと、
請求項11〜16のいずれか1項に記載の前記1以上の処理装置により実行されるプログラムを記憶し、作成された前記1以上のファイルに関する情報および前記1以上のファイルを記憶することが可能な記憶装置と、
前記1以上の処理装置からの命令に基づき、前記複数のファイルが記憶された複数の記録媒体の少なくとも1つに対してファイルの読み書きを行うドライブ装置とを含む、データ処理システム。
【請求項21】
複数のデータを保持し、前記複数の記録媒体へ該複数のデータを書き込むデータ処理システムであって、
前記複数のデータを複数のファイルとして処理を実行する1以上の処理装置と、
前記1以上の処理装置の各々が前記複数のファイルに対して処理を実行するための1以上の記憶領域を提供する1以上のメモリと、
請求項17〜19のいずれか1項に記載の前記1以上の処理装置により実行されるプログラムと、前記複数のファイルとを記憶する記憶装置と、
前記1以上の処理装置からの命令に基づき、前記複数の記録媒体の少なくとも1つに対してファイルの読み書きを行うドライブ装置とを含む、データ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のデータをデータ処理システムに復旧する方法、その方法をコンピュータに実行させるためのプログラムおよびデータ処理システムに関する。
【背景技術】
【0002】
データを作成し、提供する運用サイトでは、作成したデータを運用サイトに保存するほか、記録媒体にバックアップを取ることにより、万一の災害に備えている。記録媒体としては、例えば、低コストの磁気テープ媒体(テープ・メディア)が使用される。
【0003】
テープ・メディアは、データのバックアップを取った後、運用サイトから遠く離れた災害時復旧用のサイト(復旧サイト)へ運搬され、そこに保管される。復旧サイトには、運用サイトと同様の機器から構成されるデータ処理システムが予め構築される。したがって、運用サイトで災害が発生しても、遠隔地にある復旧サイトで、保管しているテープ・メディアから運用サイトと同じ状態までデータを復旧(リストア)し、バックアップを取った時点に遡って業務を再開することができる。
【0004】
従来のデータのリストアは、テープ・メディアに保存されたファイルをすべて読み出し、復旧サイトのHDDやSSD等に書き込むことにより行われていた。このため、ファイル数が多い場合やデータ・サイズが大きい場合、復旧に相当の時間がかかってしまい、業務を早期に再開することができなかった。
【0005】
運用サイトでは、複数のコンピュータを連結し、1台のコンピュータが障害等により停止しても全体が停止することなく、処理を継続して行うことができ、その間に障害等が発生したコンピュータの修理や交換を行うことができるクラスタ・システムが採用されている。このクラスタ・システムでは、個々のコンピュータはノードと呼ばれ、各ノードが管理する記憶装置(ディスク)へのデータの分散保存やバックアップは、GPFS(General Parallel File System)等のソフトウェア・コンポーネントを使用して行われている。
【0006】
GPFSを利用したデータのバックアップおよびリストアは、図1に示すような方法で実施される(例えば、特許文献1、2参照)。図1に示すように、運用サイトは、GPFSであるファイルシステム10と、高速で読み書きが行われる記憶装置であるディスク11と、低速で読み書きが行われるテープ・プール12とを備えるシステム構成とされる。復旧サイトは、運用サイトと同じ、ファイルシステム13と、ディスク14と、テープ・プール15とを備えるシステム構成として構築される。
【0007】
通常の業務において、運用サイトでデータを保存する際、ファイルシステム10がディスク11のほか、テープ・プール12内のテープ・メディア16にそのコピーをファイルとして保存する。バックアップ時には、ファイルの属性情報(メタ情報)を有するinode情報のみを保存する。このときのファイルがディスク11とテープ・メディア16の両方にある状態は、pre-migrated状態と呼ばれる。
【0008】
復旧サイトでは、ファイルシステム13にinode情報をリストアしてファイルのメタ情報を復旧し、ファイルの状態を、テープ・メディアにのみファイルがある状態(migrated状態)に変更して復旧を完了する。このデータの復旧方法では、テープ・メディア16からファイルをすべて読み出し、復旧サイトのディスク14に書き込む必要がなくなるため、リストアに時間を要することなく、早期に業務を再開することができる。
【0009】
しかしながら、業務を再開した後は、すべてのファイルがテープ・メディア16にしかないので、各ファイルへ最初にアクセスする際は、テープ・メディア16から読み出す必要があり、ユーザは大きなストレスを感じることなる。テープ・メディア16からデータを読み出すのに、ディスク14と比較して時間がかかるからである。
【0010】
そこで、図2に示すように、復旧後にすぐに使用すると考えられるファイルを、予め設定された規則に基づき選択するファイル・リストを作成しておき、そのファイル・リストに含まれるファイルを予めディスク14に読み出しておく仕組みが提供されている。この仕組みは、preferred recallと呼ばれる。復旧後にすぐに使用するファイルは、テープ・メディア16からではなく、高速に読み出すことが可能なディスク14から読み出すことができるので、ユーザのストレスを軽減することができる。
【0011】
ところで、大容量、高速の読み書きを目的とした磁気テープ記憶装置の規格としてLTO(登録商標)という規格がある。現在、最新のLTO(登録商標)は、LTO-6で、容量が2.5TB、転送レートが160MB/sとなり、各社共通のファイルシステム(LTFS)をサポートし、USBメモリやSDカードのように、複数のOS環境でその共通のファイルシステムを扱えるようになっている。LTFSは、図3に示すように、テープ17上の領域をインデックス・パーティション18と、データ・パーティション19の2つに分け、ファイルのメタ情報(ファイルの属性、パス、物理位置、サイズ、アクセス制御リスト、拡張属性等)をインデックスとして持つことにより、テープ17上のデータをOSにファイルとして認識させている(例えば、特許文献3参照)。
【0012】
LTFSは、インデックス・パーティション18上のインデックス・ファイルに書かれたメタ情報を、テープ17が磁気テープ・ドライブ装置15によりロードされるときに読み出し、ノードが備えるCPUがメモリ上に展開した上で、OSからのファイルシステム情報の要求に応答する。図4には、インデックス・パーティション18上のインデックス・ファイルの例を示す。インデックス・ファイルは、図4に示すように、ファイルを階層構造(ディレクトリ)で管理し、そのディレクトリに属するファイルはxml(Extensible Markup Language)形式で記述される。ここでは、ファイルのファイル名、サイズ等がテキスト形式で記述されている。
【0013】
LTFSは、個々のテープ・メディア16に保存されたファイルを管理するファイルシステムであるが、GPFSのような複数のノード間でファイルシステムを共有する環境で使用できるように拡張されたLTFS EE(Enterprise Edition)が提供されている。このLTFS EEは、図5に示す共有ディスク20にテープ・メディア16に保存されたファイルのメタ情報を格納することにより、ノード1とノード2との間でこのメタ情報を共有することを可能にする。LTFS EEは、共有ディスク20にノード1およびノード2が有するユーザ・ファイルと同じディレクトリ構成をもった、データは持たないdentriesファイル21を作成し、そのdentriesファイル21にファイル属性を付加してメタ情報を管理する。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2005−18757号公報
【特許文献2】特開2005−18758号公報
【特許文献3】特開2014−123254号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
GPFSは、ストリーミング・データ等のサイズが大きいファイルを多数管理することを目的として作成され、メタ情報のような小さいサイズのファイルを多数扱うように構成されてはいない。
【0016】
ここで、図6に、共有ディスク20上にdentriesファイルをインデックス・ファイルから生成するのにかかる時間と、バックアップしたメタ情報をdcacheファイルとして共有ディスク20上に書き込む時間とを比較した図を示す。図6を参照すると、dcacheファイルを書き込む時間の方が、時間はかかるが、いずれもファイル数に比例してその時間が増加している。この図6では、2万ファイルについてdentriesファイルを生成するには、約9分かかり、これが10億ファイルであれば、300日以上かかることが分かる。したがって、小さいサイズのファイルとはいえ、その数が多ければ膨大な処理時間がかかる。
【0017】
preferred recallでリストア時に読み出すファイルは、全テープ・メディア16に保存されている一部のファイルである。共有ディスク20上に展開が必要なメタ情報は、当該一部のファイルのメタ情報のみである。全テープ・メディア16のインデックス・ファイルから全ファイルについてdentriesファイルを生成等するには、上記のような膨大な時間が必要となるが、当該一部のファイルについてdentriesファイルを生成等するだけであれば、大幅に処理時間を短縮することができる。
【0018】
そこで、preferred recallで復旧時に読み出すファイルを特定のテープ・メディア16にまとめる方法を使用することができる。必要なテープ・メディア16のみをロードし、そのテープ・メディア16からインデックス・ファイルを読み出せばよいからである。
【0019】
しかしながら、LTFS EEでは、pre-migrated状態にするための操作(premigration)を行うファイルが書き込まれる先は、テープ・メディア16毎ではなく、ある個数のテープ・メディア16から構成されるプール単位で指定するため、その全てのファイルがプール内の特定のテープ・メディア16に書き込まれることは稀であり、プール内のテープ・メディア16に分散して書き込まれることになる。テープ内のほとんど全てのテープ・メディア16に分散して書き込まれた場合、復旧時には、preferred recall対象のファイルを読み出すために、そのプール内のほとんど全てのテープ・メディア16をロードするとともに、そのテープ・メディア16に保存されたpreferred recall対象以外のファイルを含む全てのファイルのメタ情報を共有ディスク20上に展開した上で、preferred recallを実行することになる。これでは、メタ情報を共有ディスク20に展開する処理だけで膨大な時間がかかってしまうといった問題があった。
【0020】
したがって、短時間でデータを復旧して、早期に業務を再開することを可能にする方法等の提供が望まれている。
【課題を解決するための手段】
【0021】
本発明は、上記課題に鑑み、複数のデータをデータ処理システムに復旧する方法であって、データ処理システムが、複数のデータの各々に関連付けられた記録媒体を識別するための媒体識別情報を含む複数のデータを複数のファイルとして管理するための管理情報を、データ処理システムが備える記憶装置に記憶して管理情報を復旧するステップと、複数のファイルと複数のファイルに関する情報(メタ情報)とが記憶された複数の記録媒体の接続を受け付けるステップと、1以上の媒体識別情報を含む複数のファイルのうちの1以上のファイルに関する情報を、記憶装置に記憶するステップと、複数の記録媒体に記憶されている複数のファイルに関する情報に代えて、記憶装置に記憶された1以上のファイルに関する情報を使用してファイルを読み出す設定に切り替えるステップと、1以上のファイルに関する情報に基づき、ファイルを読み出す1以上の記録媒体を特定し、特定した該1以上の記録媒体から1以上のファイルを記憶装置へ読み出すステップと、1以上のファイルに関する情報を記憶装置から削除するステップとを含む、データの復旧方法が提供される。
【発明の効果】
【0022】
本発明によれば、短時間でデータを復旧して、早期に業務を再開することができる。
【図面の簡単な説明】
【0023】
図1】データのバックアップおよびリストアの1つの方法を説明する図。
図2】データのバックアップおよびリストアの別の方法を説明する図。
図3】テープ・メディアのパーティショニングの利用例を示した図。
図4図3に示すテープ・メディアのインデックス・パーティションに書き込まれるインデックス・ファイルの例を示した図。
図5】複数のノード間でファイルシステムを共有する例を示した図。
図6】ファイル数と、インデックス・ファイルからdentriesファイル生成するのにかかる時間およびバックアップしたdcacheファイルを共有ディスクに書き込む時間との関係を示した図。
図7】複数のデータをバックアップまたはリストアするデータ処理システムの構成例を示した図。
図8図7に示すデータ処理システムに実装されるプログラムを構成するコンポーネントの例を示した図。
図9】データ処理システムが行うバックアップの流れを説明する図。
図10図9に示す処理の流れを示したフローチャート。
図11】データ処理システムが行うデータをリストアする処理の流れを説明する図。
図12図11に示す処理の流れを示したフローチャート。
図13】テープ・メディア上のファイルへのアクセスを説明する図。
【発明を実施するための形態】
【0024】
以下、本発明を図面に示した具体的な実施の形態に沿って説明するが、本発明は、後述する実施の形態に限定されるものではない。図7は、複数のデータをバックアップまたはリストアするデータ処理システムの構成例を示した図である。データ処理システム30は、コンテンツ配信や映像配信等の業務を行う運用サイトと、その運用サイトから遠く離れた遠隔地にあるその業務を復旧するための復旧サイトとに同じ構成で構築される。運用サイトのデータ処理システムは、複数のデータを保持し、複数の記録媒体へ複数のデータを書き込んでバックアップを取るために、復旧サイトのデータ処理システムは、バックアップを取った複数のデータをリストアするために使用される。
【0025】
データ処理システム30は、複数のノード31と、複数のテープ・メディア32をロードすることができる複数のドライブ装置33とを含んで構成される。複数のノード31は、例えばN個のサーバ装置等のコンピュータとされ、互いに接続され、それぞれが各ドライブ装置33と接続されている。このデータ処理システム30は、各ノードが分散して並列に処理を実行するクラスタ・システムとされている。図7では、クラスタ・システムを例示したが、これに限られるものではなく、1つのサーバ装置と1つのドライブ装置とから構成されるシステムであってもよい。
【0026】
各ノード31は、処理装置としてのCPU34と、RAM等のメモリ35と、HDD等の記憶装置36と、入出力インタフェース(I/F)37を含む。CPU34は、データをファイルとして所定の処理を実行する。所定の処理には、ファイルの読み出し、ファイルの書き込み、ファイルの加工等が含まれる。ファイルの読み出し、書き込みには、データのバックアップ、データのリストアが含まれる。メモリ35は、CPU34が処理を行うために読み出したファイルを記憶するための記憶領域を提供する。したがって、CPU34は、ファイルを一度メモリ35に読み出し、その読み出したファイルに対して処理を実行する。
【0027】
記憶装置36は、CPU34が所定の処理を実行するためのプログラムを記憶し、バックアップするデータまたはリストアしたデータをファイルとして記憶することができる。記憶装置36は、各ノードがアクセス可能な記憶装置36の一部の記憶領域を共有ディスクとして構成することができる。複数のノード31が備える共有ディスクをネットワークで接続したものは、ネットワーク共有ディスク(NSD)と呼ばれる。なお、記憶装置36は、HDDに限られるものではなく、SSD等を使用することもできる。
【0028】
記憶装置36が記憶することができるファイルは、文書ファイル、画像ファイル、映像ファイル等、いかなるファイルであってもよい。ファイルには、ファイルに関する情報として、属性情報(メタ情報)が含まれる。また、記憶装置36は、上記プログラムやファイルのほか、各種の設定値、OS、ドライバ等も記憶することができる。OSは、UNIX(登録商標)、LINUX(登録商標)、Windows(登録商標)、MacOS(登録商標)等を用いることができ、入出力装置、メモリ35、記憶装置36の管理や、ネットワークを介した通信の制御等を行う。ドライバは、ノード31内の装置やノード31に接続された機器の制御、操作を行う。
【0029】
入出力I/F37は、ノード31をドライブ装置33と接続し、ドライブ装置33との間でファイルのやりとりを行う。各ノード31は、そのほか、装置を起動するためのブート・プログラム等を記憶するROM、外部記憶メディアを接続するための外部記憶I/F、ネットワークに接続するための通信I/F、ユーザからの入力を受け付けるユーザI/F、処理状況やエラー等を表示するための表示装置等を備えることができる。
【0030】
記録媒体は、USBメモリ、SDカード、CD-ROM等を用いることもできるが、テープ・メディア32を使用することができる。以下、記録媒体をテープ・メディア32として説明する。テープ・メディア32は、例えば、リールに多重に巻かれたテープをカートリッジ内に収納したものとされ、ドライブ装置33は、そのカートリッジを挿入する挿入口を備え、その挿入口へカートリッジを挿入することにより、テープ・メディア32をセットすることができる。また、ドライブ装置33は、CPU34からの命令に基づき、ドライブ装置33内にセットしたテープ・メディア32に対してファイルの読み書きを行う。なお、複数のテープ・メディア32の管理、操作、各ドライブ装置33へのテープ・メディア32の挿入等は、テープ・ライブラリ39により行われる。このため、複数のドライブ装置33は、テープ・ライブラリ39に組み込まれている。
【0031】
ドライブ装置33は、例えば、上記の入出力I/F37と接続し、ノード31のOSからテープ・メディア32へのファイルの書き込みや読み出しを指示する命令を受け付ける入出力I/Fと、書き込むべきファイルや読み出したファイルを蓄積するメモリと、実際にテープ・メディア32へのファイルの書き込みや読み出しを行うヘッドと、リールを一定の回転数で回転させる駆動部と、ドライブ装置33全体の制御を行うコントローラとを含んで構成することができる。
【0032】
図8は、データ処理システム30に実装されるプログラムを構成するコンポーネントの例を示した図である。データ処理システム30は、複数のノード31により共有される複数のディスクから構成されるNSD等の共有ディスク38と、複数のテープ・メディア32とドライブ装置とを含んで構成されるテープ・ライブラリ39と、共有ディスク38およびテープ・ライブラリ39内の複数のファイルを管理するための、複数のノード31により使用される複数のコンポーネントからなる管理システム40とを含んで構成することができる。
【0033】
コンポーネントとしては、複数のノード31で共有するファイル、例えば共有ディスク38に記憶されるファイル等を管理するGPFS等の分散共有ファイルシステム41と、個々のテープ・メディア32に記憶されるファイルを管理するLTFS等のテープ用ファイルシステム42とを用いることができる。これらは、ファイルとともにファイルのメタ情報を管理する。分散共有ファイルシステム41は、共有するファイルへのアクセス、テープ用ファイルシステム42は、個々のテープ・メディア32に記憶されるファイルへのアクセスを提供する。
【0034】
また、コンポーネントとしては、上記のテープ用ファイルシステム42と、階層ディスク記憶管理部43と、管理部44とを含み、テープ・メディア32上のファイルを、複数のノード31で共有することを可能にする機能が拡張されたテープ用ファイルシステム(拡張ファイルシステム)45を用いることができる。階層ディスク記憶管理部43は、共有ディスク38を上位層とし、テープ・ライブラリ39を下位層とした階層ディスク構造を構築し、上位層から下位層へファイルを移行する。管理部44は、テープ・ライブラリ39のどのテープ・メディア32へファイルを保存するかを判断し、ファイルの振り分けを行う。また、管理部44は、テープ・メディア32からファイルを読み出し、読み出したファイルの共有ディスク38への書き込みも行う。さらに、コンポーネントとしては、バックアップを取るためのバックアップ・ドライバ46を用いることができる。
【0035】
テープ・ライブラリ39は、複数のテープ・メディア32を、アーカイブ用のテープ・プールと、バックアップ用のテープ・プールとに分けて使用する。アーカイブ用のテープ・プールは、主に2つの目的で使用される。1つは、共有ディスク38に保存された重要なファイルをコピーし、そのコピーを冗長的にテープ・メディア32に格納する目的である。もう1つは、migrationポリシーに基づき、長時間使用されていないファイルをテープ・メディア32に書き込み、共有ディスク38上から削除するアーカイブ目的である。migrationポリシーは、例えば、ファイルが30日未使用である場合にテープに移行するといったファイルの移行に関して設定された規則である。
【0036】
バックアップ用のテープ・プールは、遠隔地にある復旧サイトで業務を復旧するためのバックアップ目的で使用される。このバックアップ用テープ・プールのテープ・メディア32へのファイルの書き込みも、migrationポリシーに基づき行うことができる。
【0037】
データ処理システム30が扱うファイルには、文書ファイル、画像ファイル、映像ファイル等のユーザ・ファイルに加え、ファイル名、パス、ファイルの物理位置、ファイルのサイズ、アクセス制御リスト、拡張属性等のメタ情報が含まれる。このため、データ処理システム30では、ユーザ・ファイルに加え、メタ情報も各ノード31間で共有される。メタ情報に含まれるパスは、ディレクトリの最上層(ルート・ディレクトリ)から目的のファイルまでの道筋を記述したものである。アクセス制御リストは、そのファイルへのアクセスを許可するか否かを記述した制御情報である。拡張属性は、ユーザによって追加して記述することができる情報である。
【0038】
このデータ処理システム30を使用した通常の業務では、ユーザが定義したmigrationポリシーに基づき、高速ストレージとしての共有ディスク38に書き込まれたファイルを、低速ストレージとしてのアーカイブ用およびバックアップ用のテープ・プールのテープ・メディア32に書き込む。ファイルを書き込んだとき、共有ディスク38からそのファイルは削除されないので、同じファイルが3箇所に存在する状態、すなわち共有ディスク38にも、テープ・メディア32にも存在するpre-migrated状態になる。
【0039】
アーカイブ用のテープ・プールを有する環境では、共有ディスク38の空き領域を確保し、共有ディスク38を有効に利用するために、その共有ディスク38からアーカイブ用のテープ・プールにコピーしたファイルは削除することができる。このため、アーカイブ用のテープ・プールにのみファイルが存在するmigrated状態もサポートすることが可能となっている。
【0040】
共有ディスク38は、ファイルを構成するデータの実体に加えて、ファイルを管理するための管理情報として、ファイルのメタ情報を有するinode情報も格納している。分散共有ファイルシステム41は、inode情報を管理し、このinode情報から管理するファイルのディレクトリ情報やメタ情報をファイルシステム情報として取得し、OSからのファイルシステム情報の要求に応答して、OSにファイルを認識させる。ファイルシステム情報は、パスや物理位置等を含むため、OSの制御の下、ノード31がそのファイルへアクセスし、そのファイルを読み出すことができる。
【0041】
分散共有ファイルシステム41は、inodeバックアップ・コンポーネントを備え、このinodeバックアップ・コンポーネントにより上記のinode情報のバックアップを取ることができる。
【0042】
テープ用ファイルシステム42は、ファイルに関する情報としてのメタ情報をインデックスとしたインデックス・ファイルを使用してテープ・メディア32上のファイルを管理する。また、テープ用ファイルシステム42は、個々のノード31に接続されているドライブ装置33をマウントする。共有ディスク38からテープ・メディア32にファイルをコピーする場合は、そのコピーを実行するノード31上で、分散共有ファイルシステム41からテープ用ファイルシステム42にそのファイルがコピーされる。これと同時に、テープ用ファイルシステム42のメタ情報が分散共有ファイルシステム41に書き込まれる。分散共有ファイルシステム41に書き込まれたメタ情報は、他のノードからも参照可能であるため、そのテープ用ファイルシステム42が複数のノード31で共有されているように見える。
【0043】
拡張ファイルシステム45は、テープ用ファイルシステム42が管理するインデックス・ファイルのメタ情報を、テープ・メディア32がロードされる際に該テープ・メディア32から読み出し、メモリ上に展開してOSからのファイルシステム情報の要求に応答する。そして、テープ・メディア32上のファイルを、ファイルシステム情報によりOSに認識させる。これにより、ノード31は、OSの制御の下で、読み出しを要求されたファイルを、特別なプログラムを使用することなく、テープ・メディア32から読み出すことができる。
【0044】
inode情報には、拡張属性が含まれ、その拡張属性には、ファイルの実体が保存されているテープ・メディア32を識別するための媒体識別情報、すなわちテープ識別情報としてのテープIDが含まれている。拡張ファイルシステム45は、ファイルのinodeに書かれているテープIDの情報を基に、どのテープ・メディア32からファイルを読み出せばよいかを判断する。これにより、特定したテープ・メディア32をマウントして、そのテープ・メディア32からファイルを読み出すことができる。
【0045】
バックアップ・ドライバ46は、バックアップ要求を受け付けて、その要求を受け付けた時点の分散共有ファイルシステム41のスナップショットを取り、そのスナップショットが示すファイルシステムをスキャンする。ここで、スキャンとは、ファイルシステム内の全てのファイルの属性を走査することを意味する。このスキャン時に、ユーザが定義した選択ポリシーに合致するファイルを検出し、ファイル・リストにそのファイルのパス名を追記する。選択ポリシーは、バックアップ要求を受け付けたときに指定することができるため、バックアップ後48時間以内に書き込まれたファイルについてpreferred recallを実行する等、復旧時に読み出すデータを、柔軟性をもって指定することができる。
【0046】
選択ポリシーは、業務再開後にすぐに使用することが予想されるファイルを選択するといったファイル選択に関して設定された規則とすることができる。上記のほか、例えば、1週間以内に保存したファイルを選択する、特定の種類のファイルを選択するという規則とすることができる。ユーザが行う業務に応じて選択ポリシーを設定することができる。また、バックアップ・ドライバ46は、選択したファイルのリストを生成し、そのリストに基づき、後述するpreferred recall用インデックス・ファイルを生成する。
【0047】
図9を参照して、データ処理システム30が行うバックアップについて説明する。バックアップは、運用サイトに構築されたデータ処理システム30により予め設定されたスケジュールに従って、またはユーザからの指示により実施される。データ処理システム30は、バックアップ・ドライバ46を使用して、最初に、バックアップ対象のファイルを管理するファイルシステムのスキャンを行う。ファイルシステムをスキャンするのは、ファイルシステムが管理する全てのファイルを検出することができるからである。ファイルシステムは、図8に示すコンポーネントでいう分散共有ファイルシステム41である。
【0048】
データ処理システム30は、バックアップを行う対象のファイルを決定する。バックアップを行う対象のファイルは、バックアップ要求を受け付けた時点でmigrated状態またはpre-migrated状態に既に移行しているファイルとすることができる。
【0049】
データ処理システム30は、上記のスキャンと同時に、選択ポリシーに基づき、復旧サイトに構築された運用サイトと同じ構成のデータ処理システムで最初に読み出してpre-migrated状態にするファイル、すなわち復旧サイトですぐに使用するファイルを選択し、その選択したファイルのリスト(preferred recallリスト)を作成する。
【0050】
なお、preferred recallリストを作成する際、ファイルが保存されているテープ・メディア32を識別するためのテープIDでソート(並べ替え)しておくことが望ましい。リストアする際の読み出し時のパフォーマンスを向上させることができるからである。また、テープ・メディア32上でファイルが保存されている位置を示すブロック情報(ブロック番号)でソートしておくことがさらに望ましい。ブロック番号の順に読み出しを行うことにより、ファイルの頭出しに要する時間を最小限にすることができるからである。preferred recallリストは、1つのリストとし、テープID毎にグループ化してもよいし、テープID毎にリストをもつようにしてもよい。これらのソートも、バックアップ・ドライバ46により行うことができる。
【0051】
次に、符号(1)に示すように、ファイルシステムが備えるinodeバックアップ・コンポーネントにより、全inode情報のバックアップを取る。バックアップ先は、テープ・メディア32であってもよいし、USBメモリ等の別の記録媒体であってもよい。テープ・メディア32を用いる場合、1つのテープ・メディア32のみを使用してもよいし、2以上のテープ・メディア32を使用してもよい。また、バックアップ先は、記録媒体に限らず、ネットワークを介して復旧サイトへ直接送信し、復旧サイトの共有ディスク47にバックアップしてもよい。
【0052】
inode情報のバックアップを取った後、符号(2)に示すように、上記で作成したpreferred recallリストに列挙されているファイルに関するインデックス情報を、共有ディスク38にあるインデックス・ファイルから抽出する。
【0053】
抽出したインデックス情報を使用して、preferred recall用インデックス・ファイルを作成する。preferred recall用インデックス・ファイルは、例えば、共有ディスク38にあるインデックス・ファイルの、preferred recallリストにないファイルの記述を削除することにより作成することができる。
【0054】
preferred recall用インデックス・ファイルは、preferred recall対象のファイルのパス名を含み、そのインデックス・ファイル名にテープIDを含めておくことができる。これにより、どのテープ・メディア用のインデックス情報かを区別することができる。このpreferred recall用インデックス・ファイルも、inode情報と同様に記録媒体にバックアップし、またはネットワークを介して復旧サイトへ直接送信し、復旧サイトの共有ディスク47にバックアップすることができる。
【0055】
ここでは、バックアップ側のデータ処理システムを、データ処理システム30としているので、共有ディスク38、共有ディスク47と区別して示している。
【0056】
preferred recall用インデックス・ファイルを作成した後、符号(3)に示すように、バックアップを取った全ファイルを格納した全てのテープ・メディア32、inode情報であるinodeのバックアップ・ファイル、preferred recall用インデックス・ファイルを復旧サイトへ移動する。復旧サイトでは、これらを使用してリストアを行い、ファイルの復旧を行う。記録媒体にバックアップを取った場合は、inode情報、preferred recall用インデックス・ファイルを格納した記録媒体を、復旧サイトへ持っていき、復旧サイトの共有ディスク47にリストアを行う。
【0057】
このバックアップ処理の流れを、図10を参照して詳細に説明する。ユーザからの指示により発行されたバックアップ要求またはスケジュールに従って発行されたバックアップ要求を受け付けることにより、ステップ1000からバックアップを開始する。データ処理システム30は、通常の業務において、各ノード31からファイルの読み書きを行い、ファイルを更新する。このため、ファイルシステムの内容は、常時変化する。そこで、バックアップ対象のファイルを確定するために、最初に、ファイルシステムのスナップショットを取る。
【0058】
ステップ1005では、スナップショットを取ったファイルシステムのスキャンを行い、バックアップ対象のファイルを確定する。ファイルシステムのスキャンでは、上記で取ったスナップショット内のファイルの属性を比較し、上記のいずれかの状態にあるファイルをバックアップ対象とする。
【0059】
ステップ1010では、ステップ1005のスキャンと同時に、選択ポリシーに基づき、業務再開後に復旧サイトでテープ・メディア32から読み出してpre-migrated状態にするファイルを決定し、その決定したファイルを並べて記述したpreferred recallリストを作成する。
【0060】
ステップ1015では、preferred recallリストを作成する際、ファイルが保存されているテープ・メディア32のテープID毎にファイルをソートする。すなわち、テープID毎にファイルをまとめ、グループ化する。また、テープ・メディア32毎にファイルが保存されている位置を示すブロック番号でもソートを行う。すなわち、ブロック番号に従ってファイルを並べ替える。このように、テープID毎にファイルをまとめ、ブロック番号順に並べ替えておくことで、ファイルを読み出す際の読み出し速度を改善し、パフォーマンスを向上させることができる。
【0061】
ステップ1020では、ファイルシステムが備えるinodeバックアップ・コンポーネントを使用して、inode情報のバックアップを取る。バックアップは、記録媒体にinode情報のバックアップ・ファイルを格納することにより行うこともできるし、そのファイルを、ネットワークを介して復旧サイトへ直接送信し、復旧サイトの共有ディスク47に保存することにより行うこともできる。なお、記録媒体にバックアップを取った場合は、その記録媒体を復旧サイトへ持ち運び、復旧サイトの共有ディスク47へリストアすることができる。
【0062】
データの実体は、通常の業務において作成したバックアップ用のテープ・プールにあるテープ・メディア32群を、復旧サイトへ持ち運び、そのまま使用する。
【0063】
ステップ1025では、共有ディスク38においてノード間で共有されているインデックス・ファイルから、preferred recallリストに含まれるファイルの情報を抽出し、ステップ1030では、抽出したファイルの情報からpreferred recall用インデックス・ファイルを作成する。preferred recall用インデックス・ファイルは、バックアップ対象のファイルが格納された全てのテープ・メディア32につき作成される。
【0064】
ノード間で共有されているインデックス・ファイルは、xml形式のファイルとされ、ファイルの情報が記述されており、その記述には、上記のリストに含まれないファイルの情報も含まれる。このステップ1030では、ノード間で共有されているインデックス・ファイルから、対象のファイルの情報のみを抜き出して作成することもできるし、対象ではないファイルの情報を削除して作成することもできる。メモリ上に展開されているメタ情報、すなわちdentry情報がある場合は、このdentry情報を基づき、新規にpreferred recall対象のファイルについてのインデックス・ファイルを作成してもよい。
【0065】
また、ステップ1030では、作成するインデックス・ファイルのファイル名にテープIDを含める。これにより、復旧サイトでインデックス・ファイルを、対応するファイルを保存したテープ・メディア32と関連付けることが容易になる。ここでは、ファイル名により、インデックス・ファイルとテープ・メディア32とを関連付けているが、これに限定されるものではなく、他の方法により関連付けてもよい。
【0066】
上記のインデックス・ファイルとテープ・メディア32との関連付けが終了したところで、ステップ1035へ進み、バックアップを終了する。復旧する場合は、復旧サイトへ、ステップ1020でバックアップを取ったinode情報と、ステップ1025で作成したpreferred recall用のインデックス・ファイルと、バックアップ用のテープ・プールにある全てのテープ・メディア32とを持っていく。
【0067】
次に、復旧サイトで行われるリストアについて、図11を参照して説明する。復旧サイトには、バックアップを取った業務の運用サイトと同じ複数のノードから構成されるクラスタ・システムとしてのデータ処理システム30が構築される。したがって、復旧サイトのデータ処理システム30も、複数のノードから読み書き可能な共有ディスク38と、テープ・ライブラリ39と、管理システム40とを備える。テープ・ライブラリ39は、アーカイブ用のテープ・プールのみを少なくとも備え、必要に応じて、バックアップ用のテープ・プールを備えることができる。テープ・ライブラリ39に、運用サイトからのバックアップ用のテープ・プールにあった全てのテープ・メディア32をセットする。
【0068】
復旧サイトでは、最初に、符号(1)に示すように、運用サイトで取得したinode情報のバックアップ・ファイルを共有ディスク38に保存し、inode情報のリストアを行う。次に、符号(2)に示すように、テープ・メディア32をドライブ装置33に入れ、ロードする。また、作成したpreferred recall用インデックス・ファイルを使用して、preferred recall対象のファイルのメタ情報をメモリ上に展開する。この時点で、preferred recallリストにあるファイルのうち、テープ・メディア32上にあるファイルは、テープ・ボリューム上のファイルとして認識される。これに対して、preferred recallリストにないファイルは、ファイルシステムに認識されていない。これらのファイルは、メモリ上にメタ情報が展開されていないからである。
【0069】
テープ・ライブラリ39にセットされたテープ・メディア32に格納されているファイルは、preferred recallリストにおいてテープIDによりグループ化され、ブロック番号の順に並べられている。テープIDは、preferred recall用インデックス・ファイルのファイル名に含まれているため、そのファイル名から取得することができる。
【0070】
次に、符号(3)に示すように、取得したテープIDに基づき、テープ・メディア32を特定し、preferred recall用インデックス・ファイルに基づき、特定したテープ・メディア32の先頭から順にファイルを調べ、該当するファイルを読み出す。このファイルの読み出しにより、テープがロードされる。その該当するmigrated状態のファイルは、拡張ファイルシステム45の管理部44によりテープから読み出されると、該管理部44により共有ディスク38に書き込まれ、pre-migrated状態になる。この処理は、preferred recall用インデックス・ファイルにある1つのテープIDにつき、ファイルの読み出しが終了したところで、次のテープIDにつき、ファイルの読み出しを行う。これを、最後のテープIDにつき完了するまで繰り返す。なお、複数のドライブ装置33が使用可能な場合は、テープID毎に並列に読み出しを行うことができ、これにより、処理を高速化することができる。
【0071】
最後に、符号(4)に示すように、preferred recall用インデックス・ファイルは、preferred recall対象のファイルが全て共有ディスク38上に読み出されたところで、不要になるため削除する。また、メモリ上に展開したメタ情報も削除する。
【0072】
実際には、テープ用ファイルシステム42をマウントし、preferred recall対象のファイルのメタ情報をメモリ上に展開し、そのファイルを共有ディスク38に読み出した後、テープ用ファイルシステム42を一旦アンマウントし、再びテープ用ファイルシステム42をマウントする。このアンマウントおよび再度のマウントにより上書きされてpreferred recall用インデックス・ファイルも、メモリ上に展開したメタ情報も削除されるため、それらを削除するための特別な操作は不要である。
【0073】
このリストア処理の流れを、図12を参照して詳細に説明する。復旧サイトでは、上述したように、運用サイトと同等のデータ処理システム30を予め構築しておく。そして、ノード間で共有する共有ディスク38上にファイルシステム(分散共有ファイルシステム)を作成しておく。また、テープ用ファイルシステム42をノードのローカルに作成しておく。復旧サイトは、共有ディスク38、アーカイブ用テープ・プールは必須であるが、バックアップ用テープ・プールは任意で設けることができる。
【0074】
ステップ1200からこの処理を開始し、ステップ1205では、運用サイトでバックアップ・コンポーネントを使用してバックアップしたinode情報を含むバックアップ・ファイルを共有ディスク38に保存し、ファイルシステムに組み込まれたリストア・コンポーネントによりinode情報のリストアを行う。inode情報をリストアすることで、ファイルシステム上のファイルは、migrated状態として復旧される。すなわち、ファイルがテープ・メディア32のみにある状態として復旧される。
【0075】
復旧サイトのテープ・ライブラリ39に業務サイトのバックアップ用テープ・プールにあったテープ・メディア32をセットする。これにより、データ処理システム30は、テープ・メディア32の接続を受け付ける。この時点では業務を再開しない。この時点では、まだpreferred recall対象のファイルが共有ディスク38に読み出されていないからである。ちなみに、この時点で業務を再開し、ファイルシステム上のファイルにアクセスすると、inode情報に書かれているテープIDのテープ・メディア32からファイルを読み出すことになる。
【0076】
preferred recall用インデックス・ファイルを共有ディスク38上にコピーする。1つのノードのみからpreferred recallを行う場合は、共有ディスク38にコピーする必要はないが、ワークロードを分散するために複数のノードで並列に処理を行う場合は、共有ディスク38にコピーする必要がある。ステップ1210では、preferred recall用インデックス・ファイルのファイル名からテープIDを取得する。
【0077】
ステップ1215では、取得したテープIDをもつテープ・メディア32が保存するファイルを管理するテープ用ファイルシステム42をマウントする。このとき、オプションを指定する。通常、テープ用ファイルシステム42は、そのテープ・メディア32をロードすると、共有ディスク38上にコピーしたインデックス・ファイルと、テープ・メディア32上のインデックス・ファイルとを読み込み、メモリ上にdentryファイルを構築する。このとき、両者が一致しない場合、テープ・メディア32上のインデックス・ファイルを優先して使用し、マウントを行ってしまう。すると、テープ・メディア32上のインデックス・ファイルを使用して、そのテープ・メディア32上の全てのファイルのdentryファイルを生成することになる。
【0078】
そこで、オプションで、コピーしたインデックス・ファイルを使用してマウントを行うように指定し、テープ・メディア32上のインデックス・ファイルを使用してマウントを行う設定からコピーしたインデックス・ファイルを使用してマウントを行う設定に切り替える。これにより、テープ・メディア32上のインデックス・ファイルを無視し、これに代えて、共有ディスク38上にコピーしたインデックス・ファイルでメモリ上にdentryファイルを構築するようになる。このため、preferred recall対象のファイルのうち、そのテープIDをもつテープ・メディア32に格納されたファイルについてのdentryファイルのみをメモリ上に構築する。
【0079】
テープ用ファイルシステム42は、共有ディスク38上にdcacheファイルを構築せずにマウントするオプションを用意している。通常の業務においては、ファイルを読み出す際等にノード間でdcacheファイルを共有する必要があるが、preferred recallでは、ノード間でdcacheファイルを共有する必要がないので、このオプションを指定して、テープ用ファイルシステム42をマウントする。これにより、必要なdentryファイルの生成のみを行い、dcacheファイルは構築しないようにすることができる。
【0080】
ステップ1220では、管理システム40が備える拡張ファイルシステム45を起動し、preferred recall対象のファイルのうち、そのテープIDをもつテープ・メディア32に保存されたファイルのメタ情報、すなわちdentry情報をメモリ上に展開し、そのファイルをそのテープ・メディア32から読み出すことにより、共有ディスク38に書き込まれる。これにより、そのファイルをrecallし、pre-migrated状態にする。このとき、拡張ファイルシステム45がメタ情報の拡張属性として持っている、テープ・メディア32上でファイルが存在している位置情報を考慮し、読み出す順番を決定することで、高速に読み出すことができる。
【0081】
ファイルは、preferred recall用インデックス・ファイルにおいて、グループ化されたテープID毎にソートされている。ステップ1225では、拡張ファイルシステム45は、全てのテープIDにつき、preferred recallが完了したかを判断する。まだ完了していない場合は、ステップ1210へ戻り、次のテープIDをもつテープ・メディア32についてpreferred recallを実行する。複数のノード31からpreferred recallを行う場合、テープIDのグループの区切りで分割し、各ノード31で各テープIDにつき並列して実行することができる。このように並列して実行することにより、より短時間に復旧することができ、早期に業務を再開することが可能になる。
【0082】
ここで、migrated状態にあるファイルへのアクセスについて、図13を参照して説明する。ファイルシステム上のファイルは、ファイルシステムとしてGPFSを使用する場合、「/gpfs」というディレクトリの下位層にファイルが示される。テープ用ファイルシステム42としてLTFSを使用する場合、テープ・ライブラリ39を作成したディレクトリ「/ltfs」をマウント・ポイントとしてマウントし、テープIDをもつディレクトリの下に、そのテープ上のファイルが示される。
【0083】
migrated状態にあるファイルは、上位層のGPFSにinodeのみがあり、ファイルの実体は、テープ上に存在している状態である。このファイルにアクセスすると、inodeの属性に書かれているテープ上のファイルの実体のみが読み出され、GPFSのファイルシステム上にコピーされてpre-migrated状態になる。
【0084】
例えば、ユーザがGPFSのファイル「/gpfs/dir1/file3」にアクセスするものとする。すると、データ処理システム30は、preferred recall用インデックス・ファイルにおいてファイル名からテープIDを取得する。テープIDが「tapeA」である場合、「tapeA」をもつテープ・メディア32の「/ltfs/tapeA/dir1/file3」にアクセスする。図13に示す例では、このファイルが、別名であるシンボリック・リンクになっているため、そのファイルの実体が存在するtapeAのフォルダ「.LTFSEE_DATA」にあるファイルから読み出しが行われる。
【0085】
再び図12を参照して、ステップ1225で完了したと判断した場合、ステップ1230へ進み、拡張ファイルシステム45を停止し、テープ用ファイルシステム42をアンマウントする。このアンマウントにより、インデックス・ファイルからメモリ上に展開したメタ情報が消滅する。
【0086】
テープ用ファイルシステム42を、dcacheファイルを構築せずにマウントするオプションを指定せずにマウントし、拡張ファイルシステム45を起動し、ステップ1235でリストアを終了する。すなわち、テープ・メディア32上のインデックス・ファイルを使用してマウントを行う設定に切り替える。テープ用ファイルシステム42をマウントした後、preferred recallされていないファイルにアクセスされたとき、そのファイルが格納されているテープ・メディア32上のインデックス・ファイルから、そのファイルのメタ情報をメモリ上に展開する。共有ディスク38上には、dcacheファイルが構築されるので、そのファイルへのアクセスが可能になる。アクセスが可能になった時点で、通常の業務を再開することができる。
【0087】
このリストア後は、preferred recall対象のファイルも、非対象のファイルも読み出すことができる。preferred recall対象のファイルは、すでに共有ディスク38上にあり、pre-migrated状態になっているので、共有ディスク38からファイルを読み出すことができる。
【0088】
非対象のファイルは、テープ・メディア32から一旦共有ディスク38に読み出し、共有ディスク38に書き込まれた上で、共有ディスク38から読み出される。inode情報の拡張属性には、そのファイルが保存されているテープ・メディア32のテープIDが書かれている。拡張ファイルシステム45は、このテープIDをもつテープ・メディア32から読み出しを行うが、この時点ではまだメタ情報がメモリ上に展開されていない。このため、そのテープ・メディア32をマウントし、そのテープ・メディア32のインデックス・パーティションからメタ情報を読み出し、それをメモリ上に展開し、それと同時に、共有ディスク38上にインデックス・ファイルを構築する。
【0089】
テープ・メディア32は、ノード31からファイルへのアクセスが発生した場合にロードされ、テープ用ファイルシステム42は、そのテープのインデックス情報を読み出し、マウントされる。このため、バックアップの時点では、インデックス全体を予めバックアップとして取っておく必要はない。
【0090】
アクセスされたファイルは、テープ・メディア32から読み出され、共有ディスク38上に保存される。そして、ファイルの状態が、pre-migrated状態に変更される。ここで、ファイルへの書き込みが行われると、ファイルの状態はresidentに遷移する。resident状態とは、ドライブ装置33上のファイルが削除されて、共有ディスク38上にのみファイルの実体が存在している状態である。
【0091】
なお、バックアップでは、preferred recall対象のファイルのインデックスを保存しているが、これに限られるものではなく、dentry情報を保存してもよい。実際にシミュレーションを実施し、検証を行ってみると、インデックス・ファイルからリストアしたほうが早く復旧することができることが分かった。したがって、preferred recall用インデックス・ファイルを保存するほうが望ましい。
【0092】
以上に説明してきたように、本発明のデータの復旧方法、その方法をデータ処理システムに実行させるためのプログラムおよびデータ処理システムを提供することにより、復旧後にすぐに使用すると予想されるファイル以外のファイルのメタ情報をメモリ上に展開する必要がないため、その分の時間を短縮することができる。また、dcacheファイルを共有ディスク上に作成する必要もないため、その分の時間も短縮することができる。したがって、復旧サイトにおいて業務を再開するまでにかかる時間を短縮することができる。
【0093】
具体例で説明すると、共有ディスク38上にdcacheファイルを構築する時間は、メタ情報をメモリ上に展開する時間に比べて10倍以上の時間がかかることが知られている。例えば、100万のファイルが保存されているテープ・メディア32をマウントする場合、共有ディスク38上にdcacheファイルを構築するには数時間かかるのに対し、メタ情報をメモリ上に展開する時間は10分程度で済む。本発明では、この共有ディスク38上にdcacheファイルを構築する必要がないので、この時間分短縮することができる。
【0094】
本発明では、メタ情報をメモリ上に展開するが、全ファイルのメタ情報ではなく、preferred recall対象のファイルのメタ情報のみである。preferred recall対象のファイルは、例えば、全体の0.1%のファイルといったように全ファイルに比較して大幅に少ない数のファイルである。したがって、100万ファイルでは10分程度かかるが、100万ファイルの0.1%では1000ファイルであり、そのメモリ上への展開には1秒以下の時間しかかからない。
【0095】
上記の例では、全ファイルの0.1%をpreferred recall対象としたが、仮に全ファイルをpreferred recall対象とした場合であっても、メタ情報のメモリ上への展開は必要であるが、その展開より10倍以上の時間がかかる共有ディスク38上へのdcacheファイルの構築が不要であるため、業務再開までにかかる時間を大幅に短縮することができる。
【0096】
これまで、本発明のデータの復旧方法、プログラムおよびデータ処理システムについて、図面を参照して詳細に説明してきたが、他の実施形態や、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【0097】
10、13…ファイルシステム、11、14…ディスク、12、15…テープ・プール、16…テープ・メディア、17…テープ、18…インデックス・パーティション、19…データ・パーティション、20…共有ディスク、21…dentriesファイル、30…データ処理システム、31…ノード、32…テープ・メディア、33…ドライブ装置、34…CPU、35…メモリ、36…記憶装置、37…入出力I/F、38…共有ディスク、39…テープ・ライブラリ、40…管理システム、41…分散共有ファイルシステム、42…テープ用ファイルシステム、43…階層ディスク記憶管理部、44…管理部、45…拡張ファイルシステム、46…バックアップ・ドライバ、47…共有ディスク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13