IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社日立製作所の特許一覧

特開2022-182577ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム
<>
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図1
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図2
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図3
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図4
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図5
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図6
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図7
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図8
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図9
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図10
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図11
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図12
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図13
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図14
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図15
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図16
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図17
  • 特開-ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022182577
(43)【公開日】2022-12-08
(54)【発明の名称】ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム
(51)【国際特許分類】
   G06F 16/185 20190101AFI20221201BHJP
   G06F 16/28 20190101ALI20221201BHJP
【FI】
G06F16/185
G06F16/28
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021090208
(22)【出願日】2021-05-28
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000176
【氏名又は名称】一色国際特許業務法人
(72)【発明者】
【氏名】古橋 燎
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA03
(57)【要約】      (修正有)
【課題】ディレクトリ及びファイルの復元を高速に行うストレージリストアシステム、ストレージリストア方法及びストレージリストアプログラムを提供する。
【解決手段】ストレージリストアシステム10は、プロセッサ及びメモリを有し、指定された記憶領域に記憶されていたファイル301又はディレクトリ302と、ファイル301又はディレクトリ302が属するディレクトリの情報である親ディレクトリ情報306とを含むオブジェクトデータ103によるファイル301又はディレクトリ302の復元先の記憶領域に、オブジェクトデータ103の親ディレクトリ情報306が示すディレクトリ302を生成し、生成したディレクトリ302の下に、オブジェクトデータ103が示すファイル301又はディレクトリ302を生成するリストア部102を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを有し、
指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア部を備える、
ストレージリストアシステム。
【請求項2】
前記親ディレクトリ情報は、前記ファイル又はディレクトリが属するディレクトリに係るオブジェクトデータの識別情報と、前記ファイル又はディレクトリの、前記指定された記憶領域上の名称とを含む情報であり、
前記オブジェクトデータは、前記指定された記憶領域に記憶されていたディレクトリと、当該ディレクトリに係る親ディレクトリ情報とを含み、
前記リストア部は、オブジェクトデータに係るディレクトリを生成する際に、前記オブジェクトデータの識別情報をその名称とするディレクトリが、前記復元先の記憶領域に生成されているか否かを判定し、当該ディレクトリが前記復元先の記憶領域に生成されていると判定した場合には、当該ディレクトリの名称を、前記オブジェクトデータの識別情報から、前記オブジェクトデータの親ディレクトリ情報における、前記指定された記憶領域上の名称に変更する、
請求項1に記載のストレージリストアシステム。
【請求項3】
前記リストア部は、前記ディレクトリの名称の変更後、名称を変更したディレクトリの下に、前記オブジェクトデータが示すディレクトリを生成する、
請求項2に記載のストレージリストアシステム。
【請求項4】
前記リストア部は、前記ディレクトリの名称を、前記オブジェクトデータの識別情報から、前記オブジェクトデータの親ディレクトリ情報における、前記指定された記憶領域上の名称に変更したことを示す情報を出力する、
請求項2に記載のストレージリストアシステム。
【請求項5】
複数の前記オブジェクトデータのそれぞれを、複数の前記リストア部のいずれかに割り当てるプログラム初期化処理部をさらに備え、
前記リストア部のそれぞれが、
自身に割り当てられたオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示す前記ファイル又はディレクトリが属するディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成する、
請求項1に記載のストレージリストアシステム。
【請求項6】
前記リストア部を備える複数のファイル管理装置と、
前記ファイル管理装置と通信可能に接続された前記プログラム初期化処理部を備える主ファイル管理装置と、
を含んで構成される、請求項5に記載のストレージリストアシステム。
【請求項7】
並列実行される複数の前記リストア部を備える、請求項1に記載のストレージリストアシステム。
【請求項8】
指定された記憶領域に記憶されているファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータを生成するバックアップ部をさらに備える、
請求項1に記載のストレージリストアシステム。
【請求項9】
情報処理装置が、
指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア処理を実行する、ストレージリストア方法。
【請求項10】
情報処理装置に、
指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア処理を実行させる、ストレージリストアプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラムに関する。
【背景技術】
【0002】
NAS(Network Attached Storage)等の、ネットワーク間で共有されているファイルストレージに記憶されているディレクトリやファイルを、不測の事態に備えてクラウドストレージ等のバックアップシステムにバックアップすることが行われている(特許文献1、2)。
【0003】
多くのバックアップシステムは、バックアップ対象のディレクトリ及びファイルをそれぞれオブジェクトデータとしてその識別情報と共に記憶し、その後、このオブジェクトデータに基づき、ディレクトリ及びファイルをファイルストレージに復元する。
【0004】
このようなバックアップシステムのオブジェクトデータは、ファイルストレージ上のファイルシステムの構造、例えばディレクトリの階層構造をそのまま記憶することができない。そこで従来では、バックアップ時に、ディレクトリのオブジェクトデータに、そのディレクトリの子要素(そのディレクトリ内に存在する)のファイル名とそのファイルに対応するオブジェクトの識別情報とを併せて記憶しておき、これらの情報を用いて復元を行っている。そしてこの復元は、しばしば高速化のため複数のノードによる並列処理によって実現される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2010-532526号公報
【特許文献2】特表2012-524947号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、このような方法によれば、ディレクトリの最上位の階層から下層に向かって順番に復元を行わなければならないため、下層に進むほど復元処理の順番が限定される。したがって、例えば複数のノードによる並列処理が可能な環境であっても、その並列処理のメリットが充分に活かされないという問題がある。
【0007】
本発明はこのような事情に鑑みてなされたもので、その目的は、ディレクトリ及びファイルの復元を高速に行うことが可能なストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するための本発明の一つは、プロセッサ及びメモリを有し、指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア部を備える、ストレージリストアシステム、とする。
【0009】
また、上記課題を解決するための本発明の一つは、情報処理装置が、指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア処理を実行する、ストレージリストア方法、とする。
【0010】
また、上記課題を解決するための本発明の一つは、情報処理装置に、指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア処理を実行させる、ストレージリストアプログラム、とする。
【発明の効果】
【0011】
本発明によれば、ディレクトリ及びファイルの復元を高速に行うことができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0012】
図1】実施例1に係るストレージリストアシステムの構成の一例を示す図である。
図2】ファイル管理装置、主ファイル管理装置、及びクラウドストレージが備えるハードウェアの一例を説明する図である。
図3】バックアップ管理処理の概要を説明するフロー図である。
図4】バックアップ実行処理の詳細を説明するフロー図である。
図5】オブジェクトデータにおけるボディデータの具体例を示す図である。
図6】オブジェクトデータにおけるメタデータのデータ構造の一例を示す図である。
図7】リストア管理処理の一例を説明するフロー図である。
図8】リストア処理の一例を説明するフロー図である。
図9】分割管理情報の一例を示す図である。
図10】リストアプログラム起動処理の詳細を説明するフロー図である。
図11】リストア実行処理の一例を説明するフロー図である。
図12】ファイル復元処理の詳細を説明するフロー図である。
図13】ディレクトリ復元処理の詳細を説明するフロー図である。
図14】リストア実行処理において出力されるログ情報の一例を示す図である。
図15】リストア完了確認処理の一例を説明するフロー図である。
図16】リストア生存確認処理の一例を説明するフロー図である。
図17】リストア完了待機処理の一例を説明するフロー図である。
図18】実施例2に係るストレージリストアシステムの構成の一例を示す図である。
【発明を実施するための形態】
【0013】
[実施例1]
図1は、実施例1に係るストレージリストアシステム10の構成の一例を示す図である。ストレージリストアシステム10は、ファイル301及びディレクトリ302を記憶している記憶装置300と、記憶装置300のファイル301及びディレクトリ302のバックアップデータが記憶されるクラウドストレージ400と、記憶装置300のファイル
301及びディレクトリ302をクラウドストレージ400にバックアップすると共にクラウドストレージ400のバックアップデータ(ファイル301及びディレクトリ302)を記憶装置300にリストアする処理を行う複数のファイル管理装置100と、各ファイル管理装置100が行うバックアップ及びリストアを管理する主ファイル管理装置200とを含んで構成される。
【0014】
記憶装置300、クラウドストレージ400、ファイル管理装置100、及び主ファイル管理装置200の間は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、又は専用線等の有線若しくは無線のネットワーク5、6に
より通信可能に接続される。
【0015】
記憶装置300は、所定のファイルシステムを有しており、このファイルシステムの仕様に従って、複数のディレクトリ302及び複数のファイル301が記憶されている。
【0016】
ディレクトリ302及びファイル301は、階層構造を形成している。例えば、ある階層のディレクトリ302には、1又は複数のファイル301又はディレクトリ302が属している。すなわち、後者のファイル301又はディレクトリ302は前者のディレクトリ302の直下の階層となり、逆に、前者のディレクトリ302の直上の階層は、後者のファイル301又はディレクトリ302となる。なお、以下では、あるファイル301又はディレクトリ302が属するディレクトリ302(直上の階層のディレクトリ302)を、親ディレクトリという。
【0017】
なお、本実施形態でディレクトリとは、上記のように、ファイル又は他のディレクトリを階層的にグループ化する要素を指しており、その名称は、「フォルダ」等他の用語であってもよい。
【0018】
次に、ファイル管理装置100は、バックアップ部101、及びリストア部102の各機能部(プログラム)を備える。
【0019】
バックアップ部101は、バックアップ対象として指定された記憶装置300に記憶されているファイル301又はディレクトリ302と、そのファイル301又はディレクトリ302が属する親ディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータ103を生成する。
【0020】
オブジェクトデータ103は、クラウドストレージ400に記憶されるバックアップデータである。オブジェクトデータ103は、クラウドストレージ400の仕様に沿ったデータ構造を有している。オブジェクトデータ103は、記憶装置300のファイルシステムとは構成が異なり、階層構造の情報を直接的にはサポートしていない。
【0021】
オブジェクトデータ103は、後述するように、ファイル301又はディレクトリ302の実体部分であるボディデータと、当該ファイル301又はディレクトリ302に関する属性が設定されるメタデータとからなる。オブジェクトデータ103には、当該オブジェクトデータ103が生成される際に、固有の識別情報(オブジェクト名)が付与される。
【0022】
リストア部102は、オブジェクトデータ103におけるファイル301又はディレクトリ302の復元先の記憶装置300に、まず、オブジェクトデータ103の親ディレクトリ情報が示す親ディレクトリを生成し、そして、生成した親ディレクトリの下の階層に、オブジェクトデータ103におけるファイル301又はディレクトリ302を記憶する。
【0023】
ここで、本実施形態では、親ディレクトリ情報は、復元対象のファイル301又はディレクトリ302が属するディレクトリ(親ディレクトリ)に係るオブジェクトデータ103の識別情報(オブジェクト名)と、ファイル301又はディレクトリ302の、バックアップ対象の記憶装置300のファイルシステム上の名称(以下、パス名という)とを含む情報である。
【0024】
次に、主ファイル管理装置200は、プログラム初期化処理部203、リストア管理処理部204、及び指示受信部205、及びリストアプログラム起動部206の各機能部(プログラム)を備える。
【0025】
プログラム初期化処理部203は、オブジェクトデータ103によるファイル301及びディレクトリ302のリストアに必要な事前処理を行う。
【0026】
リストア管理処理部204は、リストアに関する統括処理を行う。
【0027】
リストアプログラム起動部206は、各ファイル管理装置100のリストア部102に、担当するオブジェクトデータの復元を指示する。
【0028】
指示受信部205は、各ファイル管理装置100によるリストアの処理の実行をユーザから受け付ける。また、指示受信部205は、実行したリストアの処理が完了したか否かに関する確認の要求を受け付ける。
【0029】
ここで、図2は、ファイル管理装置100、主ファイル管理装置200、及びクラウドストレージ400が備えるハードウェアの一例を説明する図である。これらの情報処理装置は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、又はGPU(Graphics Processing Unit)等のプロセッサ91と、ROM(Read Only Memory)、又はRAM(Random Access Memory)等の主記憶装置92と、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、又はSSD(Solid State Drive)等の補助記憶装置93と、ネットワークインタフェースカード(Network Interface Card: NIC)、無線通信モジュール、USB(Universal Serial Interface)モジュー
ル、又はシリアル通信モジュール等の通信装置96とを備える。また、これらの情報処理装置は、キーボード、マウス、カードリーダ、又はタッチパネル等の入力装置94と、液晶ディスプレイ(Liquid Crystal Display: LCD)、音声出力装置(スピーカ)、又は印
字装置等の出力装置95とを備えていてもよい。
【0030】
ファイル管理装置100、主ファイル管理装置200、及びクラウドストレージ400の機能は、プロセッサ91が、主記憶装置92又は補助記憶装置93に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。
次に、ストレージリストアシステム10が行う処理について説明する。
【0031】
<バックアップ管理処理>
図3は、記憶装置300のデータをクラウドストレージ400にバックアップするバックアップ管理処理の概要を説明するフロー図である。バックアップ管理処理は、例えば、主ファイル管理装置200にユーザから所定の入力が行われたことを契機に開始される。
【0032】
すなわち、バックアップ部101は、一定時間ごとに(s10)、記憶装置300のデータをクラウドストレージ400にバックアップするバックアップ実行処理s20を実行する。バックアップ実行処理s20の詳細は次述する。
【0033】
<バックアップ実行処理>
図4は、バックアップ実行処理s20の詳細を説明するフロー図である。なお、主ファイル管理装置200は予め、バックアップを行うファイル301及びディレクトリ302(バックアップ対象)を、ユーザからの指定入力等に基づき記憶しているものとする。
【0034】
バックアップ部101は、各バックアップ対象に対応するオブジェクトデータの名称(オブジェクト名)をそれぞれ設定する。そして、バックアップ部101は、バックアップ対象の一つを選択する(s201、s202)。
【0035】
例えば、バックアップ部101は、バックアップ対象のそれぞれに対して、その固有の名称(例えば、object_001、object_002、object_003、・・・)である識別情報をオブジェクト名として設定する。オブジェクト名には、例えば、ファイル301又はディレクトリ302のメタデータにおけるinode属性の情報を用いることができる。
【0036】
次に、バックアップ部101は、s202で選択したバックアップ対象に対応するオブジェクト名を取得する(s203)。
【0037】
そして、バックアップ部101は、s202で選択したバックアップ対象が属するディレクトリ302(すなわち親ディレクトリ)のオブジェクト名を取得する(s204)。
【0038】
ここで、バックアップ部101は、s202で選択したバックアップ対象がファイル301であるか否かを確認する(s205)。選択したバックアップ対象がファイル301である場合は(s205:Yes)、バックアップ部101はs207の処理を実行し、選択したバックアップ対象がファイル301でない場合(ディレクトリ302である場合)は(s205:No)、バックアップ部101はs206の処理を実行する。
【0039】
s206においてバックアップ部101は、選択したバックアップ対象に属するファイル301又はディレクトリ302(すなわち親ディレクトリの子要素)の、記憶装置300のファイルシステム上の名称(パス名)の一覧と、当該ファイル301又はディレクトリ302のオブジェクト名の一覧とを、オブジェクトデータ103のボディデータとして取得する。その後はs208の処理が行われる。なお、このボディデータ(子要素及びそのオブジェクト名の一覧)は、クラウドストレージ400が要求するオブジェクトデータ103の仕様を満たすために取得するものである。
【0040】
一方、s207ではバックアップ部101は、選択したバックアップ対象であるファイル301の実体部分を、オブジェクトデータ103のボディデータとして記憶装置300のファイルシステムから取得する。その後はs208の処理が実行される。
【0041】
s208においてバックアップ部101は、記憶装置300のファイルシステム上の、選択したバックアップ対象のメタデータ(例えば、inode属性、ファイルのアクセス権限、更新時刻等)を、オブジェクトデータ103のメタデータとして取得する。
【0042】
そして、バックアップ部101は、s208で取得したメタデータのうち識別情報たりうる情報(例えば、inode属性)をメタデータとし、s205又はs206で取得したデータをボディデータとしたオブジェクトデータ103を生成する(s209)。
【0043】
さらに、バックアップ部101は、s202で選択したファイル301又はディレクトリ302の、記憶装置300のファイルシステム上の名称(パス名)と、s204で取得
した親ディレクトリのオブジェクト名とからなるデータである親ディレクトリ情報(path-info)を、オブジェクトデータ103のメタデータに追加する(s209)。
【0044】
そして、バックアップ部101は、s209までの処理により生成したオブジェクトデータ103を、クラウドストレージ400に送信する(s210)。
【0045】
バックアップ部101は、以上のs202~s210の処理を全てのバックアップ対象について実行し、バックアップ実行処理s20は終了する。
【0046】
ここで、図5は、オブジェクトデータ103におけるボディデータの具体例を示す図である。同図に示すように、ファイルのボディデータ311は、ファイルの実体部分であるバイナリデータ等で構成される。ディレクトリのボディデータ312は、パスの名称の一覧313及びその子要素のオブジェクトの名称の一覧314からなる。
【0047】
次に、図6は、オブジェクトデータ103におけるメタデータのデータ構造の一例を示す図である。同図に示すように、オブジェクトデータ103におけるメタデータ305は、ファイルのサイズ、ファイル又はディレクトリの最終更新時刻、ファイル又はディレクトリのパーミッション情報及び種別、所有者情報、グループ情報、及び、親ディレクトリ情報306を含む。なお、親ディレクトリ情報306は、親ディレクトリのオブジェクト名と、ファイル又はディレクトリの、記憶装置300のファイルシステム上での名称(パス名)とを含む。
【0048】
続いて、ファイル301及びディレクトリ302を復元先の記憶装置300に復元するリストアの処理について説明する。
<リストア管理処理>
図7は、クラウドストレージ400に記憶されているオブジェクトデータ103を記憶装置300にリストアする処理であるリストア管理処理の一例を説明するフロー図である。リストア管理処理は、例えば、主ファイル管理装置200がユーザからリストアの指示の入力を受け付けたことを契機に開始される。
【0049】
まず、リストア管理処理部204は、リストアの実行を開始するリストア処理s2を実行する。
【0050】
その後、リストア管理処理部204は、リストア処理s2により開始されたリストアが完了したか否かを確認するリストア完了確認処理s3を実行する。リストアが完了した場合は(s5:Yes)、リストア管理処理は終了し(s6)、リストアが完了していない場合は(s5:No)、リストア管理処理部204はリストア完了確認処理s3を再び実行する。
【0051】
もしくは、リストア管理処理部204は、リストア処理s2により開始されたリストアが完了するまで待機するリストア完了待機処理s4を実行する。リストアが完了すると、リストア管理処理は終了する(s6)。
【0052】
なお、リストア完了確認処理s3とリストア完了待機処理s4は組み合わせて実行してもよい。
【0053】
以下、リストア処理s2、ストア完了確認処理s3、及びリストア完了待機処理s4の詳細を説明する。
【0054】
<リストア処理>
図8は、リストア処理s2の一例を説明するフロー図である。まず、主ファイル管理装置200のプログラム初期化処理部203は、リストアの指示の入力を受け付ける(s41)。例えば、プログラム初期化処理部203は、1又は複数のオブジェクトデータ103(復元オブジェクト)の指定をユーザから受け付ける。なお、復元オブジェクトは、プログラム初期化処理部203が自動的に決定してもよい。
【0055】
また、プログラム初期化処理部203は、復元オブジェクトのリストアを並列実行するファイル管理装置100(具体的にはリストア部102。以下、リストア実行プログラムという。)の数(以下、並列度という)を決定する(s42)。例えば、プログラム初期化処理部203は、ユーザから、並列度の入力を受け付ける。もしくは、プログラム初期化処理部203は、並列度を、各ファイル管理装置100の性能(例えば、CPU又はメモリ等の性能)に基づき、並列実行が可能なファイル管理装置100の数を算出することで自動的に決定してもよい。
【0056】
プログラム初期化処理部203は、各リストア実行プログラムに、1又は複数の復元オブジェクト(担当オブジェクト)を割り当てた上で、割り当てた担当オブジェクトのリストアを各リストア実行プログラムに実行させるリストアプログラム起動処理s44を実行する。リストアプログラム起動処理s44の詳細は後述する。
【0057】
プログラム初期化処理部203は、s42で決定した並列度及び、各リストア実行プログラムの固有の番号を、後述する分割管理情報に記憶する(s45)。
【0058】
なお、リストアプログラム起動部206は、s44及びs45の処理を、各リストア実行プログラムについて(並列度の数の分だけ)繰り返し実行する(s43)。以上でリストア処理s2は終了する。
【0059】
(分割管理情報)
図9は、分割管理情報の一例を示す図である。分割管理情報400は、並列度401と、各リストア部102(リストア実行プログラム)の固有の番号402とを記憶している。
【0060】
<リストアプログラム起動処理>
図10は、リストアプログラム起動処理s44の詳細を説明するフロー図である。主ファイル管理装置200のプログラム初期化処理部203は、クラウドストレージ400から、復元オブジェクトの一覧を取得する(s51)。
【0061】
プログラム初期化処理部203は、取得したオブジェクトの一覧を所定のルール(例えば、名称の昇順)でソートする(s52)。
【0062】
プログラム初期化処理部203は、ソートした復元オブジェクトの一覧を、並列度の数のグループに分割する(s53)。
【0063】
プログラム初期化処理部203は、分割した各グループの構成要素(オブジェクトデータ)に基づき、各リストア実行プログラム(リストア部102)の担当オブジェクトを決定する(s54)。
【0064】
例えば、プログラム初期化処理部203は、所定の順序(例えば、各グループの並び順)にしたがって、リストア実行プログラムが担当する自動的に担当オブジェクトを決定する。なお、プログラム初期化処理部203は、リストア実行プログラムの担当オブジェクトを、s53で分割したグループからユーザに選択させてもよい。
【0065】
プログラム初期化処理部203は、s54で決定した、リストア実行プログラムの担当オブジェクトのリストアを、リストア部102に実行させる(s55)。この処理(リストア実行処理)の詳細は次述する。以上でリストアプログラム起動処理s44は終了する。
【0066】
<リストア実行処理>
図11は、リストア実行処理の一例を説明するフロー図である。
【0067】
まず、ファイル管理装置100のリストア部102は、担当オブジェクトの一つを選択し(s61)、選択した担当オブジェクトに係るオブジェクトデータ103をクラウドストレージ400から取得する(s62)。
【0068】
リストア部102は、s62で取得したオブジェクトデータ103から、メタデータの親ディレクトリ情報(path-info)を抽出し、抽出した親ディレクトリ情報から親ディレクトリを特定し、そのオブジェクト名を取得する(s63)。
【0069】
リストア部102は、s63で取得したオブジェクト名をその名称として有するディレクトリが、リストア先である記憶装置300のファイルシステム上に存在するか否かを判定する(s64)。
【0070】
当該ディレクトリが記憶装置300のファイルシステム上に存在する場合は(s64:Yes)、リストア部102はs66の処理を実行し、当該ディレクトリが記憶装置300のファイルシステム上に存在しない場合は(s64:No)、リストア部102はs65の処理を実行する。
【0071】
s65においてリストア部102は、s63で取得したオブジェクト名をその名称とするディレクトリ(親ディレクトリ)を、記憶装置300のファイルシステム上に作成する。その後はs66の処理が行われる。
【0072】
s66においてリストア部102は、s61で選択したオブジェクトデータ103がファイル301のオブジェクトデータ103であるか否かを判定する。当該オブジェクトデータ103がファイル301のオブジェクトデータ103である場合は(s66:Yes)、リストア部102は、そのファイル301を記憶装置300のファイルシステム上に復元するファイル復元処理s67を実行し、当該オブジェクトデータ103がファイル301のオブジェクトデータ103でない(ディレクトリ302のオブジェクトデータである)場合は(s66:No)、リストア部102は、そのディレクトリ302を記憶装置300のファイルシステム上に復元するディレクトリ復元処理s68を実行する。ファイル復元処理s67及びディレクトリ復元処理s68の詳細は後述する。
【0073】
リストア部102は、以上の処理を担当オブジェクトにおける全オブジェクトデータ103について繰り返し、リストア実行処理は終了する。
なお、以上のリストア実行処理は、複数のリストア部102のそれぞれが並列実行する。
【0074】
<ファイル復元処理>
図12は、ファイル復元処理s67の詳細を説明するフロー図である。リストア部102は、s61で取得したオブジェクトデータ103が示すファイル301を、記憶装置300のファイルシステム上に復元する(s71)。
【0075】
具体的には、リストア部102は、オブジェクトデータ103の親ディレクトリ情報におけるパス名をそのファイル名とするファイル301を、s63で特定した又はs65で生成した親ディレクトリの下に生成する。以上でファイル復元処理s67は終了する。
【0076】
<ディレクトリ復元処理>
図13は、ディレクトリ復元処理s68の詳細を説明するフロー図である。リストア部102は、復元先の記憶装置300に、s61で選択したオブジェクトデータ103(すなわちディレクトリ302)のオブジェクト名をそのディレクトリ名とするディレクトリ(仮復元ディレクトリ)が存在するか否かを確認する(s72)。
【0077】
仮復元ディレクトリが存在する場合は(s72:Yes)、リストア部102はs74の処理を実行し、仮復元ディレクトリが存在しない場合は(s72:No)、リストア部102はs73の処理を実行する。
【0078】
s73ではリストア部102は、s63で特定した又はs65で生成した親ディレクトリの下に、s62で取得したオブジェクトデータ103の親ディレクトリ情報におけるパス名をそのディレクトリ名とする、新たなディレクトリ302を生成する。これにより、s61で選択したオブジェクトデータ103に対応するディレクトリ302が復元される。その後、ディレクトリ復元処理s68は終了する。
【0079】
一方、s74においてリストア部102は、仮復元ディレクトリの名称を、現在のオブジェクト名から、s62で取得したオブジェクトデータ103の親ディレクトリ情報におけるパス名に変更する。
【0080】
そして、リストア部102は、s62で取得したオブジェクトデータ103のメタデータ(inode属性、最終更新時刻等)を、s74で名称を変更したディレクトリ302のメタデータに設定する(s75)。
【0081】
リストア部102は、s74、s75により生成したディレクトリ302を、s64で特定した又はs65で生成した親ディレクトリの下にあるディレクトリ302として設定する(s76)。これにより、s61で選択したオブジェクトデータ103に対応するディレクトリ302とその親ディレクトリとがいずれもバックアップ時と同じ状態で復元される。以上でディレクトリ復元処理s68は終了する。
【0082】
なお、ここで図14は、リストア実行処理において出力されるログ情報の一例を示す図である。このログ情報600は、各ファイル管理装置100が並列実行したリストア処理の内容を記憶している。例えば、ログ情報600は、各ファイル管理装置100が取得したオブジェクトデータ601、及びそのオブジェクトデータ601の親ディレクトリ情報602(親ディレクトリのオブジェクト名603及びオブジェクトたるファイル301又はディレクトリ302のパス名604)の復元の履歴を含む。また、ログ情報600には、ファイル管理装置100が仮復元ディレクトリを発見した場合は、仮復元ディレクトリの名称をオブジェクト名からパス名に変更した旨を示す情報605が含まれる。なお、ストレージリストアシステム10は、このログ情報600の内容をファイルに出力してもよいし、画面に表示してもよい。
【0083】
<リストア完了確認処理>
次に、図15は、リストア完了確認処理の一例を説明するフロー図である。
まず、主ファイル管理装置200の指示受信部205は、ユーザから、所定の確認入力を待機する(s81)。
【0084】
指示受信部205は、確認入力を受け付けると、リストアの実行を指示した各ファイル管理装置100について(s82、s85)、各ファイル管理装置100が現在、リストア実行処理を実行中であるか否かを確認するリストアプログラム生存確認処理s83を実行する。リストアプログラム生存確認処理s83の詳細は後述する。
【0085】
いずれかのファイル管理装置100がリストア実行処理を実行中である場合は(s84:Yes)、指示受信部205は、リストアが未完了であることを示す画面を表示し(s86)、リストア完了確認処理は終了する。
【0086】
全てのファイル管理装置100がリストア実行処理を実行中でない(全てのリストア実行処理の実行が完了した)場合は(s84:No)、指示受信部205は、リストアが完了したことを示す画面を表示し(s87)、リストア完了確認処理は終了する。
【0087】
<リストア生存確認処理>
図16は、リストア生存確認処理s83の一例を説明するフロー図である。指示受信部205は、リストア実行処理を実行中であるか否かを確認する確認対象のファイル管理装置100に接続する(s91)。そして、指示受信部205は、接続したファイル管理装置100に対して、所定の確認信号を送信し、その後、応答信号の受信を待機する。例えば、指示受信部205は、当該ファイル管理装置100に対して、実行中のプロセスの一覧表示を要求するコマンドを送信する。
【0088】
指示受信部205は、受信した応答信号に基づき、確認対象のファイル管理装置100がリストア実行処理を実行中であるか否かを確認する(s92)。以上でリストア生存確認処理s83は終了する。
【0089】
<リストア完了待機処理>
図17は、リストア完了待機処理s4の一例を説明するフロー図である。
【0090】
主ファイル管理装置200の指示受信部205は、リストアの実行を指示したファイル管理装置100の全てが、リストアを完了したか否かを確認する(s101、s102)。例えば、指示受信部205は、各ファイル管理装置100に対して、リストアプログラム起動処理s44の完了有無を問い合わせる信号を送信し、その後応答信号の受信を待機する。もしくは、例えば、指示受信部205は、各ファイル管理装置100がリストアを終了すると自発的に送信する完了信号の受信を待機する。
【0091】
指示受信部205は、全てのファイル管理装置100がリストアを完了したことを確認すると(s101、s103)、リストアが完了したことを示す画面を表示し(s104)、リストア完了待機処理s4は終了する。
【0092】
[実施例2]
図18は、実施例2に係るストレージリストアシステム20の構成の一例を示す図である。このストレージリストアシステム20は、実施例1における複数のファイル管理装置100及び主ファイル管理装置200を、一つのファイル管理装置500として構成している。ファイル管理装置500は、ファイル管理装置100に対応する複数の記憶領域に、バックアップ部101、リストア部102、及びオブジェクトデータ103を有している。このような構成であっても、実施例1と同様のバックアップ処理及びリストア処理を実現することができる。
【0093】
以上のように、本実施形態のストレージリストアシステムは、バックアップ元として指定された記憶装置300のファイル301又はディレクトリ302のデータとその親ディ
レクトリ情報とを含むオブジェクトデータ103を生成し、オブジェクトデータ103によるファイル301又はディレクトリ302の復元先の記憶装置300に、オブジェクトデータ103の親ディレクトリ情報が示すファイル301又はディレクトリ302が属するディレクトリ302を設定し、設定したディレクトリ302にオブジェクトデータ103が示すファイル301又はディレクトリ302を記憶する。
【0094】
すなわち、本実施形態のストレージリストアシステムは、バックアップ対象(ファイル301又はディレクトリ302)に親ディレクトリの情報を含ませたオブジェクトデータ103を生成してこれをバックアップ対象とし、復元の際は、この親ディレクトリと共にバックアップ対象のファイル301又はディレクトリ302を復元する。
【0095】
これにより、従来のように、ファイルシステムにおける最上位階層(root)から下層へと順番にファイル及びディレクトリを復元させる必要がなく、その結果、例えば、バックアップ対象ごとに復元処理を複数の情報処理装置で並列実行しても、オブジェクトデータ103の処理順序に依存することなくリストアを高速に行うことができる。このように、本実施形態のストレージリストアシステムによれば、ディレクトリ及びファイルの復元を高速に行うことができる。
【0096】
また、本実施形態の親ディレクトリ情報は、オブジェクトデータ103の識別情報及び、バックアップ対象(ファイル301又はディレクトリ302)の、バックアップ元の記憶装置300のファイルシステム上の名称を含んでおり、ストレージリストアシステムは、オブジェクトデータ103に係るディレクトリ302を生成する際に、オブジェクト名をディレクトリ名とするディレクトリが、復元先の記憶装置300に生成されている場合には、そのディレクトリ302の名称を、オブジェクト名から、オブジェクトデータ103の親ディレクトリ情報306中のパス名に変更する。
【0097】
これにより、復元するオブジェクトデータ103であるディレクトリの名称を、バックアップ元の記憶装置300における元の正しい名称(パス名)に修正することができる。
【0098】
また、本実施形態のストレージリストアシステムは、ディレクトリ302の名称の変更後、名称を変更したディレクトリの下に、オブジェクトデータ103が示すディレクトリ302を生成する。これにより、オブジェクトデータ103のディレクトリ302を、正しい名称の親ディレクトリの下に復元することができる。
【0099】
また、本実施形態のストレージリストアシステムは、ディレクトリ302の名称を、オブジェクト名からパス名に変更したことを示すログ情報を出力することで、ユーザは、ファイルの復元プロセスを確認し、リストアが正しく行われたかを確認することができる。
【0100】
また、本実施形態のストレージリストアシステムは、複数のオブジェクトデータ103のそれぞれを、複数のリストア部のそれぞれに割り当て、リストアの際はリストア部のそれぞれが、自身に割り当てられたオブジェクトデータ103に対して、リストアを行う。このように、リストアを複数の処理部により並列的に行わせることで、データのリストアをより高速に行うことができる。
【0101】
また、本実施形態のストレージリストアシステムは、リストア部102を備える複数のファイル管理装置100と、ファイル管理装置と通信可能に接続された、プログラム初期化処理部203を備える主ファイル管理装置200とを含んで構成される。このようにすることで、ファイル管理装置100のそれぞれの性能等に応じてリストア処理を分担して処理させることができる。
【0102】
また、本実施形態のストレージリストアシステムでは、複数のリストア部102が並列実行されるので、ファイル301及びディレクトリ302のリストアを高速に行うことができる。
【0103】
また、本実施形態のストレージリストアシステムは、バックアップ対象の記憶装置300のファイル301及びディレクトリ302と親ディレクトリ情報とを含むオブジェクトデータ103を生成するバックアップ部101を備えることで、ファイル301及びディレクトリ302のバックアップからリストアまでをシームレスに行うことができる。
【0104】
本発明は以上に説明した実施形態に限定されるものではなく、様々な変形例が含まれる。上記した実施形態は本発明のより良い理解のために詳細に説明したものであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。
【0105】
例えば、各実施例の各装置が備える各機能の一部は他の装置に設けてもよいし、別装置が備える機能を同一の装置に設けてもよい。
【0106】
また、本実施形態では、オブジェクトの識別情報はinode属性であるものとしたが、文字列等に変換してとしてもよいし、システム上のその他の固有の情報を割り当ててもよい。
【0107】
また、本実施形態では、各ファイル管理装置100が担当するオブジェクトを決定する際、各ファイル管理装置100が担当するオブジェクトの数を均等に割り当てることを前提としたが、各ファイル管理装置100の担当するオブジェクトの数は、それぞれの装置の性能に応じて異なるものとしてもよい。
【符号の説明】
【0108】
10 ストレージリストアシステム、301 ファイル、302 ディレクトリ、100
ファイル管理装置、102 リストア部、103 オブジェクトデータ、306 親ディレクトリ情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18