JP2022182577A - ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム - Google Patents

ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム Download PDF

Info

Publication number
JP2022182577A
JP2022182577A JP2021090208A JP2021090208A JP2022182577A JP 2022182577 A JP2022182577 A JP 2022182577A JP 2021090208 A JP2021090208 A JP 2021090208A JP 2021090208 A JP2021090208 A JP 2021090208A JP 2022182577 A JP2022182577 A JP 2022182577A
Authority
JP
Japan
Prior art keywords
directory
restore
file
object data
information
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.)
Pending
Application number
JP2021090208A
Other languages
English (en)
Inventor
燎 古橋
Ryo FURUHASHI
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2021090208A priority Critical patent/JP2022182577A/ja
Priority to US17/697,989 priority patent/US11880284B2/en
Publication of JP2022182577A publication Critical patent/JP2022182577A/ja
Pending legal-status Critical Current

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/1469Backup restoration techniques
    • 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/1448Management of the data involved in backup or backup restore
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ディレクトリ及びファイルの復元を高速に行うストレージリストアシステム、ストレージリストア方法及びストレージリストアプログラムを提供する。【解決手段】ストレージリストアシステム10は、プロセッサ及びメモリを有し、指定された記憶領域に記憶されていたファイル301又はディレクトリ302と、ファイル301又はディレクトリ302が属するディレクトリの情報である親ディレクトリ情報306とを含むオブジェクトデータ103によるファイル301又はディレクトリ302の復元先の記憶領域に、オブジェクトデータ103の親ディレクトリ情報306が示すディレクトリ302を生成し、生成したディレクトリ302の下に、オブジェクトデータ103が示すファイル301又はディレクトリ302を生成するリストア部102を備える。【選択図】図1

Description

本発明は、ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラムに関する。
NAS(Network Attached Storage)等の、ネットワーク間で共有されているファイルストレージに記憶されているディレクトリやファイルを、不測の事態に備えてクラウドストレージ等のバックアップシステムにバックアップすることが行われている(特許文献1、2)。
多くのバックアップシステムは、バックアップ対象のディレクトリ及びファイルをそれぞれオブジェクトデータとしてその識別情報と共に記憶し、その後、このオブジェクトデータに基づき、ディレクトリ及びファイルをファイルストレージに復元する。
このようなバックアップシステムのオブジェクトデータは、ファイルストレージ上のファイルシステムの構造、例えばディレクトリの階層構造をそのまま記憶することができない。そこで従来では、バックアップ時に、ディレクトリのオブジェクトデータに、そのディレクトリの子要素(そのディレクトリ内に存在する)のファイル名とそのファイルに対応するオブジェクトの識別情報とを併せて記憶しておき、これらの情報を用いて復元を行っている。そしてこの復元は、しばしば高速化のため複数のノードによる並列処理によって実現される。
特表2010-532526号公報 特表2012-524947号公報
しかしながら、このような方法によれば、ディレクトリの最上位の階層から下層に向かって順番に復元を行わなければならないため、下層に進むほど復元処理の順番が限定される。したがって、例えば複数のノードによる並列処理が可能な環境であっても、その並列処理のメリットが充分に活かされないという問題がある。
本発明はこのような事情に鑑みてなされたもので、その目的は、ディレクトリ及びファイルの復元を高速に行うことが可能なストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラムを提供することにある。
上記課題を解決するための本発明の一つは、プロセッサ及びメモリを有し、指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア部を備える、ストレージリストアシステム、とする。
また、上記課題を解決するための本発明の一つは、情報処理装置が、指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア処理を実行する、ストレージリストア方法、とする。
また、上記課題を解決するための本発明の一つは、情報処理装置に、指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア処理を実行させる、ストレージリストアプログラム、とする。
本発明によれば、ディレクトリ及びファイルの復元を高速に行うことができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
実施例1に係るストレージリストアシステムの構成の一例を示す図である。 ファイル管理装置、主ファイル管理装置、及びクラウドストレージが備えるハードウェアの一例を説明する図である。 バックアップ管理処理の概要を説明するフロー図である。 バックアップ実行処理の詳細を説明するフロー図である。 オブジェクトデータにおけるボディデータの具体例を示す図である。 オブジェクトデータにおけるメタデータのデータ構造の一例を示す図である。 リストア管理処理の一例を説明するフロー図である。 リストア処理の一例を説明するフロー図である。 分割管理情報の一例を示す図である。 リストアプログラム起動処理の詳細を説明するフロー図である。 リストア実行処理の一例を説明するフロー図である。 ファイル復元処理の詳細を説明するフロー図である。 ディレクトリ復元処理の詳細を説明するフロー図である。 リストア実行処理において出力されるログ情報の一例を示す図である。 リストア完了確認処理の一例を説明するフロー図である。 リストア生存確認処理の一例を説明するフロー図である。 リストア完了待機処理の一例を説明するフロー図である。 実施例2に係るストレージリストアシステムの構成の一例を示す図である。
[実施例1]
図1は、実施例1に係るストレージリストアシステム10の構成の一例を示す図である。ストレージリストアシステム10は、ファイル301及びディレクトリ302を記憶している記憶装置300と、記憶装置300のファイル301及びディレクトリ302のバックアップデータが記憶されるクラウドストレージ400と、記憶装置300のファイル
301及びディレクトリ302をクラウドストレージ400にバックアップすると共にクラウドストレージ400のバックアップデータ(ファイル301及びディレクトリ302)を記憶装置300にリストアする処理を行う複数のファイル管理装置100と、各ファイル管理装置100が行うバックアップ及びリストアを管理する主ファイル管理装置200とを含んで構成される。
記憶装置300、クラウドストレージ400、ファイル管理装置100、及び主ファイル管理装置200の間は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、又は専用線等の有線若しくは無線のネットワーク5、6に
より通信可能に接続される。
記憶装置300は、所定のファイルシステムを有しており、このファイルシステムの仕様に従って、複数のディレクトリ302及び複数のファイル301が記憶されている。
ディレクトリ302及びファイル301は、階層構造を形成している。例えば、ある階層のディレクトリ302には、1又は複数のファイル301又はディレクトリ302が属している。すなわち、後者のファイル301又はディレクトリ302は前者のディレクトリ302の直下の階層となり、逆に、前者のディレクトリ302の直上の階層は、後者のファイル301又はディレクトリ302となる。なお、以下では、あるファイル301又はディレクトリ302が属するディレクトリ302(直上の階層のディレクトリ302)を、親ディレクトリという。
なお、本実施形態でディレクトリとは、上記のように、ファイル又は他のディレクトリを階層的にグループ化する要素を指しており、その名称は、「フォルダ」等他の用語であってもよい。
次に、ファイル管理装置100は、バックアップ部101、及びリストア部102の各機能部(プログラム)を備える。
バックアップ部101は、バックアップ対象として指定された記憶装置300に記憶されているファイル301又はディレクトリ302と、そのファイル301又はディレクトリ302が属する親ディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータ103を生成する。
オブジェクトデータ103は、クラウドストレージ400に記憶されるバックアップデータである。オブジェクトデータ103は、クラウドストレージ400の仕様に沿ったデータ構造を有している。オブジェクトデータ103は、記憶装置300のファイルシステムとは構成が異なり、階層構造の情報を直接的にはサポートしていない。
オブジェクトデータ103は、後述するように、ファイル301又はディレクトリ302の実体部分であるボディデータと、当該ファイル301又はディレクトリ302に関する属性が設定されるメタデータとからなる。オブジェクトデータ103には、当該オブジェクトデータ103が生成される際に、固有の識別情報(オブジェクト名)が付与される。
リストア部102は、オブジェクトデータ103におけるファイル301又はディレクトリ302の復元先の記憶装置300に、まず、オブジェクトデータ103の親ディレクトリ情報が示す親ディレクトリを生成し、そして、生成した親ディレクトリの下の階層に、オブジェクトデータ103におけるファイル301又はディレクトリ302を記憶する。
ここで、本実施形態では、親ディレクトリ情報は、復元対象のファイル301又はディレクトリ302が属するディレクトリ(親ディレクトリ)に係るオブジェクトデータ103の識別情報(オブジェクト名)と、ファイル301又はディレクトリ302の、バックアップ対象の記憶装置300のファイルシステム上の名称(以下、パス名という)とを含む情報である。
次に、主ファイル管理装置200は、プログラム初期化処理部203、リストア管理処理部204、及び指示受信部205、及びリストアプログラム起動部206の各機能部(プログラム)を備える。
プログラム初期化処理部203は、オブジェクトデータ103によるファイル301及びディレクトリ302のリストアに必要な事前処理を行う。
リストア管理処理部204は、リストアに関する統括処理を行う。
リストアプログラム起動部206は、各ファイル管理装置100のリストア部102に、担当するオブジェクトデータの復元を指示する。
指示受信部205は、各ファイル管理装置100によるリストアの処理の実行をユーザから受け付ける。また、指示受信部205は、実行したリストアの処理が完了したか否かに関する確認の要求を受け付ける。
ここで、図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とを備えていてもよい。
ファイル管理装置100、主ファイル管理装置200、及びクラウドストレージ400の機能は、プロセッサ91が、主記憶装置92又は補助記憶装置93に格納されているプログラムを読み出して実行することにより実現される。また上記のプログラムは、例えば、記録媒体に記録して配布することができる。
次に、ストレージリストアシステム10が行う処理について説明する。
<バックアップ管理処理>
図3は、記憶装置300のデータをクラウドストレージ400にバックアップするバックアップ管理処理の概要を説明するフロー図である。バックアップ管理処理は、例えば、主ファイル管理装置200にユーザから所定の入力が行われたことを契機に開始される。
すなわち、バックアップ部101は、一定時間ごとに(s10)、記憶装置300のデータをクラウドストレージ400にバックアップするバックアップ実行処理s20を実行する。バックアップ実行処理s20の詳細は次述する。
<バックアップ実行処理>
図4は、バックアップ実行処理s20の詳細を説明するフロー図である。なお、主ファイル管理装置200は予め、バックアップを行うファイル301及びディレクトリ302(バックアップ対象)を、ユーザからの指定入力等に基づき記憶しているものとする。
バックアップ部101は、各バックアップ対象に対応するオブジェクトデータの名称(オブジェクト名)をそれぞれ設定する。そして、バックアップ部101は、バックアップ対象の一つを選択する(s201、s202)。
例えば、バックアップ部101は、バックアップ対象のそれぞれに対して、その固有の名称(例えば、object_001、object_002、object_003、・・・)である識別情報をオブジェクト名として設定する。オブジェクト名には、例えば、ファイル301又はディレクトリ302のメタデータにおけるinode属性の情報を用いることができる。
次に、バックアップ部101は、s202で選択したバックアップ対象に対応するオブジェクト名を取得する(s203)。
そして、バックアップ部101は、s202で選択したバックアップ対象が属するディレクトリ302(すなわち親ディレクトリ)のオブジェクト名を取得する(s204)。
ここで、バックアップ部101は、s202で選択したバックアップ対象がファイル301であるか否かを確認する(s205)。選択したバックアップ対象がファイル301である場合は(s205:Yes)、バックアップ部101はs207の処理を実行し、選択したバックアップ対象がファイル301でない場合(ディレクトリ302である場合)は(s205:No)、バックアップ部101はs206の処理を実行する。
s206においてバックアップ部101は、選択したバックアップ対象に属するファイル301又はディレクトリ302(すなわち親ディレクトリの子要素)の、記憶装置300のファイルシステム上の名称(パス名)の一覧と、当該ファイル301又はディレクトリ302のオブジェクト名の一覧とを、オブジェクトデータ103のボディデータとして取得する。その後はs208の処理が行われる。なお、このボディデータ(子要素及びそのオブジェクト名の一覧)は、クラウドストレージ400が要求するオブジェクトデータ103の仕様を満たすために取得するものである。
一方、s207ではバックアップ部101は、選択したバックアップ対象であるファイル301の実体部分を、オブジェクトデータ103のボディデータとして記憶装置300のファイルシステムから取得する。その後はs208の処理が実行される。
s208においてバックアップ部101は、記憶装置300のファイルシステム上の、選択したバックアップ対象のメタデータ(例えば、inode属性、ファイルのアクセス権限、更新時刻等)を、オブジェクトデータ103のメタデータとして取得する。
そして、バックアップ部101は、s208で取得したメタデータのうち識別情報たりうる情報(例えば、inode属性)をメタデータとし、s205又はs206で取得したデータをボディデータとしたオブジェクトデータ103を生成する(s209)。
さらに、バックアップ部101は、s202で選択したファイル301又はディレクトリ302の、記憶装置300のファイルシステム上の名称(パス名)と、s204で取得
した親ディレクトリのオブジェクト名とからなるデータである親ディレクトリ情報(path-info)を、オブジェクトデータ103のメタデータに追加する(s209)。
そして、バックアップ部101は、s209までの処理により生成したオブジェクトデータ103を、クラウドストレージ400に送信する(s210)。
バックアップ部101は、以上のs202~s210の処理を全てのバックアップ対象について実行し、バックアップ実行処理s20は終了する。
ここで、図5は、オブジェクトデータ103におけるボディデータの具体例を示す図である。同図に示すように、ファイルのボディデータ311は、ファイルの実体部分であるバイナリデータ等で構成される。ディレクトリのボディデータ312は、パスの名称の一覧313及びその子要素のオブジェクトの名称の一覧314からなる。
次に、図6は、オブジェクトデータ103におけるメタデータのデータ構造の一例を示す図である。同図に示すように、オブジェクトデータ103におけるメタデータ305は、ファイルのサイズ、ファイル又はディレクトリの最終更新時刻、ファイル又はディレクトリのパーミッション情報及び種別、所有者情報、グループ情報、及び、親ディレクトリ情報306を含む。なお、親ディレクトリ情報306は、親ディレクトリのオブジェクト名と、ファイル又はディレクトリの、記憶装置300のファイルシステム上での名称(パス名)とを含む。
続いて、ファイル301及びディレクトリ302を復元先の記憶装置300に復元するリストアの処理について説明する。
<リストア管理処理>
図7は、クラウドストレージ400に記憶されているオブジェクトデータ103を記憶装置300にリストアする処理であるリストア管理処理の一例を説明するフロー図である。リストア管理処理は、例えば、主ファイル管理装置200がユーザからリストアの指示の入力を受け付けたことを契機に開始される。
まず、リストア管理処理部204は、リストアの実行を開始するリストア処理s2を実行する。
その後、リストア管理処理部204は、リストア処理s2により開始されたリストアが完了したか否かを確認するリストア完了確認処理s3を実行する。リストアが完了した場合は(s5:Yes)、リストア管理処理は終了し(s6)、リストアが完了していない場合は(s5:No)、リストア管理処理部204はリストア完了確認処理s3を再び実行する。
もしくは、リストア管理処理部204は、リストア処理s2により開始されたリストアが完了するまで待機するリストア完了待機処理s4を実行する。リストアが完了すると、リストア管理処理は終了する(s6)。
なお、リストア完了確認処理s3とリストア完了待機処理s4は組み合わせて実行してもよい。
以下、リストア処理s2、ストア完了確認処理s3、及びリストア完了待機処理s4の詳細を説明する。
<リストア処理>
図8は、リストア処理s2の一例を説明するフロー図である。まず、主ファイル管理装置200のプログラム初期化処理部203は、リストアの指示の入力を受け付ける(s41)。例えば、プログラム初期化処理部203は、1又は複数のオブジェクトデータ103(復元オブジェクト)の指定をユーザから受け付ける。なお、復元オブジェクトは、プログラム初期化処理部203が自動的に決定してもよい。
また、プログラム初期化処理部203は、復元オブジェクトのリストアを並列実行するファイル管理装置100(具体的にはリストア部102。以下、リストア実行プログラムという。)の数(以下、並列度という)を決定する(s42)。例えば、プログラム初期化処理部203は、ユーザから、並列度の入力を受け付ける。もしくは、プログラム初期化処理部203は、並列度を、各ファイル管理装置100の性能(例えば、CPU又はメモリ等の性能)に基づき、並列実行が可能なファイル管理装置100の数を算出することで自動的に決定してもよい。
プログラム初期化処理部203は、各リストア実行プログラムに、1又は複数の復元オブジェクト(担当オブジェクト)を割り当てた上で、割り当てた担当オブジェクトのリストアを各リストア実行プログラムに実行させるリストアプログラム起動処理s44を実行する。リストアプログラム起動処理s44の詳細は後述する。
プログラム初期化処理部203は、s42で決定した並列度及び、各リストア実行プログラムの固有の番号を、後述する分割管理情報に記憶する(s45)。
なお、リストアプログラム起動部206は、s44及びs45の処理を、各リストア実行プログラムについて(並列度の数の分だけ)繰り返し実行する(s43)。以上でリストア処理s2は終了する。
(分割管理情報)
図9は、分割管理情報の一例を示す図である。分割管理情報400は、並列度401と、各リストア部102(リストア実行プログラム)の固有の番号402とを記憶している。
<リストアプログラム起動処理>
図10は、リストアプログラム起動処理s44の詳細を説明するフロー図である。主ファイル管理装置200のプログラム初期化処理部203は、クラウドストレージ400から、復元オブジェクトの一覧を取得する(s51)。
プログラム初期化処理部203は、取得したオブジェクトの一覧を所定のルール(例えば、名称の昇順)でソートする(s52)。
プログラム初期化処理部203は、ソートした復元オブジェクトの一覧を、並列度の数のグループに分割する(s53)。
プログラム初期化処理部203は、分割した各グループの構成要素(オブジェクトデータ)に基づき、各リストア実行プログラム(リストア部102)の担当オブジェクトを決定する(s54)。
例えば、プログラム初期化処理部203は、所定の順序(例えば、各グループの並び順)にしたがって、リストア実行プログラムが担当する自動的に担当オブジェクトを決定する。なお、プログラム初期化処理部203は、リストア実行プログラムの担当オブジェクトを、s53で分割したグループからユーザに選択させてもよい。
プログラム初期化処理部203は、s54で決定した、リストア実行プログラムの担当オブジェクトのリストアを、リストア部102に実行させる(s55)。この処理(リストア実行処理)の詳細は次述する。以上でリストアプログラム起動処理s44は終了する。
<リストア実行処理>
図11は、リストア実行処理の一例を説明するフロー図である。
まず、ファイル管理装置100のリストア部102は、担当オブジェクトの一つを選択し(s61)、選択した担当オブジェクトに係るオブジェクトデータ103をクラウドストレージ400から取得する(s62)。
リストア部102は、s62で取得したオブジェクトデータ103から、メタデータの親ディレクトリ情報(path-info)を抽出し、抽出した親ディレクトリ情報から親ディレクトリを特定し、そのオブジェクト名を取得する(s63)。
リストア部102は、s63で取得したオブジェクト名をその名称として有するディレクトリが、リストア先である記憶装置300のファイルシステム上に存在するか否かを判定する(s64)。
当該ディレクトリが記憶装置300のファイルシステム上に存在する場合は(s64:Yes)、リストア部102はs66の処理を実行し、当該ディレクトリが記憶装置300のファイルシステム上に存在しない場合は(s64:No)、リストア部102はs65の処理を実行する。
s65においてリストア部102は、s63で取得したオブジェクト名をその名称とするディレクトリ(親ディレクトリ)を、記憶装置300のファイルシステム上に作成する。その後はs66の処理が行われる。
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の詳細は後述する。
リストア部102は、以上の処理を担当オブジェクトにおける全オブジェクトデータ103について繰り返し、リストア実行処理は終了する。
なお、以上のリストア実行処理は、複数のリストア部102のそれぞれが並列実行する。
<ファイル復元処理>
図12は、ファイル復元処理s67の詳細を説明するフロー図である。リストア部102は、s61で取得したオブジェクトデータ103が示すファイル301を、記憶装置300のファイルシステム上に復元する(s71)。
具体的には、リストア部102は、オブジェクトデータ103の親ディレクトリ情報におけるパス名をそのファイル名とするファイル301を、s63で特定した又はs65で生成した親ディレクトリの下に生成する。以上でファイル復元処理s67は終了する。
<ディレクトリ復元処理>
図13は、ディレクトリ復元処理s68の詳細を説明するフロー図である。リストア部102は、復元先の記憶装置300に、s61で選択したオブジェクトデータ103(すなわちディレクトリ302)のオブジェクト名をそのディレクトリ名とするディレクトリ(仮復元ディレクトリ)が存在するか否かを確認する(s72)。
仮復元ディレクトリが存在する場合は(s72:Yes)、リストア部102はs74の処理を実行し、仮復元ディレクトリが存在しない場合は(s72:No)、リストア部102はs73の処理を実行する。
s73ではリストア部102は、s63で特定した又はs65で生成した親ディレクトリの下に、s62で取得したオブジェクトデータ103の親ディレクトリ情報におけるパス名をそのディレクトリ名とする、新たなディレクトリ302を生成する。これにより、s61で選択したオブジェクトデータ103に対応するディレクトリ302が復元される。その後、ディレクトリ復元処理s68は終了する。
一方、s74においてリストア部102は、仮復元ディレクトリの名称を、現在のオブジェクト名から、s62で取得したオブジェクトデータ103の親ディレクトリ情報におけるパス名に変更する。
そして、リストア部102は、s62で取得したオブジェクトデータ103のメタデータ(inode属性、最終更新時刻等)を、s74で名称を変更したディレクトリ302のメタデータに設定する(s75)。
リストア部102は、s74、s75により生成したディレクトリ302を、s64で特定した又はs65で生成した親ディレクトリの下にあるディレクトリ302として設定する(s76)。これにより、s61で選択したオブジェクトデータ103に対応するディレクトリ302とその親ディレクトリとがいずれもバックアップ時と同じ状態で復元される。以上でディレクトリ復元処理s68は終了する。
なお、ここで図14は、リストア実行処理において出力されるログ情報の一例を示す図である。このログ情報600は、各ファイル管理装置100が並列実行したリストア処理の内容を記憶している。例えば、ログ情報600は、各ファイル管理装置100が取得したオブジェクトデータ601、及びそのオブジェクトデータ601の親ディレクトリ情報602(親ディレクトリのオブジェクト名603及びオブジェクトたるファイル301又はディレクトリ302のパス名604)の復元の履歴を含む。また、ログ情報600には、ファイル管理装置100が仮復元ディレクトリを発見した場合は、仮復元ディレクトリの名称をオブジェクト名からパス名に変更した旨を示す情報605が含まれる。なお、ストレージリストアシステム10は、このログ情報600の内容をファイルに出力してもよいし、画面に表示してもよい。
<リストア完了確認処理>
次に、図15は、リストア完了確認処理の一例を説明するフロー図である。
まず、主ファイル管理装置200の指示受信部205は、ユーザから、所定の確認入力を待機する(s81)。
指示受信部205は、確認入力を受け付けると、リストアの実行を指示した各ファイル管理装置100について(s82、s85)、各ファイル管理装置100が現在、リストア実行処理を実行中であるか否かを確認するリストアプログラム生存確認処理s83を実行する。リストアプログラム生存確認処理s83の詳細は後述する。
いずれかのファイル管理装置100がリストア実行処理を実行中である場合は(s84:Yes)、指示受信部205は、リストアが未完了であることを示す画面を表示し(s86)、リストア完了確認処理は終了する。
全てのファイル管理装置100がリストア実行処理を実行中でない(全てのリストア実行処理の実行が完了した)場合は(s84:No)、指示受信部205は、リストアが完了したことを示す画面を表示し(s87)、リストア完了確認処理は終了する。
<リストア生存確認処理>
図16は、リストア生存確認処理s83の一例を説明するフロー図である。指示受信部205は、リストア実行処理を実行中であるか否かを確認する確認対象のファイル管理装置100に接続する(s91)。そして、指示受信部205は、接続したファイル管理装置100に対して、所定の確認信号を送信し、その後、応答信号の受信を待機する。例えば、指示受信部205は、当該ファイル管理装置100に対して、実行中のプロセスの一覧表示を要求するコマンドを送信する。
指示受信部205は、受信した応答信号に基づき、確認対象のファイル管理装置100がリストア実行処理を実行中であるか否かを確認する(s92)。以上でリストア生存確認処理s83は終了する。
<リストア完了待機処理>
図17は、リストア完了待機処理s4の一例を説明するフロー図である。
主ファイル管理装置200の指示受信部205は、リストアの実行を指示したファイル管理装置100の全てが、リストアを完了したか否かを確認する(s101、s102)。例えば、指示受信部205は、各ファイル管理装置100に対して、リストアプログラム起動処理s44の完了有無を問い合わせる信号を送信し、その後応答信号の受信を待機する。もしくは、例えば、指示受信部205は、各ファイル管理装置100がリストアを終了すると自発的に送信する完了信号の受信を待機する。
指示受信部205は、全てのファイル管理装置100がリストアを完了したことを確認すると(s101、s103)、リストアが完了したことを示す画面を表示し(s104)、リストア完了待機処理s4は終了する。
[実施例2]
図18は、実施例2に係るストレージリストアシステム20の構成の一例を示す図である。このストレージリストアシステム20は、実施例1における複数のファイル管理装置100及び主ファイル管理装置200を、一つのファイル管理装置500として構成している。ファイル管理装置500は、ファイル管理装置100に対応する複数の記憶領域に、バックアップ部101、リストア部102、及びオブジェクトデータ103を有している。このような構成であっても、実施例1と同様のバックアップ処理及びリストア処理を実現することができる。
以上のように、本実施形態のストレージリストアシステムは、バックアップ元として指定された記憶装置300のファイル301又はディレクトリ302のデータとその親ディ
レクトリ情報とを含むオブジェクトデータ103を生成し、オブジェクトデータ103によるファイル301又はディレクトリ302の復元先の記憶装置300に、オブジェクトデータ103の親ディレクトリ情報が示すファイル301又はディレクトリ302が属するディレクトリ302を設定し、設定したディレクトリ302にオブジェクトデータ103が示すファイル301又はディレクトリ302を記憶する。
すなわち、本実施形態のストレージリストアシステムは、バックアップ対象(ファイル301又はディレクトリ302)に親ディレクトリの情報を含ませたオブジェクトデータ103を生成してこれをバックアップ対象とし、復元の際は、この親ディレクトリと共にバックアップ対象のファイル301又はディレクトリ302を復元する。
これにより、従来のように、ファイルシステムにおける最上位階層(root)から下層へと順番にファイル及びディレクトリを復元させる必要がなく、その結果、例えば、バックアップ対象ごとに復元処理を複数の情報処理装置で並列実行しても、オブジェクトデータ103の処理順序に依存することなくリストアを高速に行うことができる。このように、本実施形態のストレージリストアシステムによれば、ディレクトリ及びファイルの復元を高速に行うことができる。
また、本実施形態の親ディレクトリ情報は、オブジェクトデータ103の識別情報及び、バックアップ対象(ファイル301又はディレクトリ302)の、バックアップ元の記憶装置300のファイルシステム上の名称を含んでおり、ストレージリストアシステムは、オブジェクトデータ103に係るディレクトリ302を生成する際に、オブジェクト名をディレクトリ名とするディレクトリが、復元先の記憶装置300に生成されている場合には、そのディレクトリ302の名称を、オブジェクト名から、オブジェクトデータ103の親ディレクトリ情報306中のパス名に変更する。
これにより、復元するオブジェクトデータ103であるディレクトリの名称を、バックアップ元の記憶装置300における元の正しい名称(パス名)に修正することができる。
また、本実施形態のストレージリストアシステムは、ディレクトリ302の名称の変更後、名称を変更したディレクトリの下に、オブジェクトデータ103が示すディレクトリ302を生成する。これにより、オブジェクトデータ103のディレクトリ302を、正しい名称の親ディレクトリの下に復元することができる。
また、本実施形態のストレージリストアシステムは、ディレクトリ302の名称を、オブジェクト名からパス名に変更したことを示すログ情報を出力することで、ユーザは、ファイルの復元プロセスを確認し、リストアが正しく行われたかを確認することができる。
また、本実施形態のストレージリストアシステムは、複数のオブジェクトデータ103のそれぞれを、複数のリストア部のそれぞれに割り当て、リストアの際はリストア部のそれぞれが、自身に割り当てられたオブジェクトデータ103に対して、リストアを行う。このように、リストアを複数の処理部により並列的に行わせることで、データのリストアをより高速に行うことができる。
また、本実施形態のストレージリストアシステムは、リストア部102を備える複数のファイル管理装置100と、ファイル管理装置と通信可能に接続された、プログラム初期化処理部203を備える主ファイル管理装置200とを含んで構成される。このようにすることで、ファイル管理装置100のそれぞれの性能等に応じてリストア処理を分担して処理させることができる。
また、本実施形態のストレージリストアシステムでは、複数のリストア部102が並列実行されるので、ファイル301及びディレクトリ302のリストアを高速に行うことができる。
また、本実施形態のストレージリストアシステムは、バックアップ対象の記憶装置300のファイル301及びディレクトリ302と親ディレクトリ情報とを含むオブジェクトデータ103を生成するバックアップ部101を備えることで、ファイル301及びディレクトリ302のバックアップからリストアまでをシームレスに行うことができる。
本発明は以上に説明した実施形態に限定されるものではなく、様々な変形例が含まれる。上記した実施形態は本発明のより良い理解のために詳細に説明したものであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。
例えば、各実施例の各装置が備える各機能の一部は他の装置に設けてもよいし、別装置が備える機能を同一の装置に設けてもよい。
また、本実施形態では、オブジェクトの識別情報はinode属性であるものとしたが、文字列等に変換してとしてもよいし、システム上のその他の固有の情報を割り当ててもよい。
また、本実施形態では、各ファイル管理装置100が担当するオブジェクトを決定する際、各ファイル管理装置100が担当するオブジェクトの数を均等に割り当てることを前提としたが、各ファイル管理装置100の担当するオブジェクトの数は、それぞれの装置の性能に応じて異なるものとしてもよい。
10 ストレージリストアシステム、301 ファイル、302 ディレクトリ、100
ファイル管理装置、102 リストア部、103 オブジェクトデータ、306 親ディレクトリ情報

Claims (10)

  1. プロセッサ及びメモリを有し、
    指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア部を備える、
    ストレージリストアシステム。
  2. 前記親ディレクトリ情報は、前記ファイル又はディレクトリが属するディレクトリに係るオブジェクトデータの識別情報と、前記ファイル又はディレクトリの、前記指定された記憶領域上の名称とを含む情報であり、
    前記オブジェクトデータは、前記指定された記憶領域に記憶されていたディレクトリと、当該ディレクトリに係る親ディレクトリ情報とを含み、
    前記リストア部は、オブジェクトデータに係るディレクトリを生成する際に、前記オブジェクトデータの識別情報をその名称とするディレクトリが、前記復元先の記憶領域に生成されているか否かを判定し、当該ディレクトリが前記復元先の記憶領域に生成されていると判定した場合には、当該ディレクトリの名称を、前記オブジェクトデータの識別情報から、前記オブジェクトデータの親ディレクトリ情報における、前記指定された記憶領域上の名称に変更する、
    請求項1に記載のストレージリストアシステム。
  3. 前記リストア部は、前記ディレクトリの名称の変更後、名称を変更したディレクトリの下に、前記オブジェクトデータが示すディレクトリを生成する、
    請求項2に記載のストレージリストアシステム。
  4. 前記リストア部は、前記ディレクトリの名称を、前記オブジェクトデータの識別情報から、前記オブジェクトデータの親ディレクトリ情報における、前記指定された記憶領域上の名称に変更したことを示す情報を出力する、
    請求項2に記載のストレージリストアシステム。
  5. 複数の前記オブジェクトデータのそれぞれを、複数の前記リストア部のいずれかに割り当てるプログラム初期化処理部をさらに備え、
    前記リストア部のそれぞれが、
    自身に割り当てられたオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示す前記ファイル又はディレクトリが属するディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成する、
    請求項1に記載のストレージリストアシステム。
  6. 前記リストア部を備える複数のファイル管理装置と、
    前記ファイル管理装置と通信可能に接続された前記プログラム初期化処理部を備える主ファイル管理装置と、
    を含んで構成される、請求項5に記載のストレージリストアシステム。
  7. 並列実行される複数の前記リストア部を備える、請求項1に記載のストレージリストアシステム。
  8. 指定された記憶領域に記憶されているファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータを生成するバックアップ部をさらに備える、
    請求項1に記載のストレージリストアシステム。
  9. 情報処理装置が、
    指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア処理を実行する、ストレージリストア方法。
  10. 情報処理装置に、
    指定された記憶領域に記憶されていたファイル又はディレクトリと、前記ファイル又はディレクトリが属するディレクトリの情報である親ディレクトリ情報とを含むオブジェクトデータによる前記ファイル又はディレクトリの復元先の記憶領域に、前記オブジェクトデータの親ディレクトリ情報が示すディレクトリを生成し、生成したディレクトリの下に、前記オブジェクトデータが示すファイル又はディレクトリを生成するリストア処理を実行させる、ストレージリストアプログラム。
JP2021090208A 2021-05-28 2021-05-28 ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム Pending JP2022182577A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021090208A JP2022182577A (ja) 2021-05-28 2021-05-28 ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム
US17/697,989 US11880284B2 (en) 2021-05-28 2022-03-18 Storage restore system, storage restore method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021090208A JP2022182577A (ja) 2021-05-28 2021-05-28 ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム

Publications (1)

Publication Number Publication Date
JP2022182577A true JP2022182577A (ja) 2022-12-08

Family

ID=84192990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021090208A Pending JP2022182577A (ja) 2021-05-28 2021-05-28 ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム

Country Status (2)

Country Link
US (1) US11880284B2 (ja)
JP (1) JP2022182577A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117435384A (zh) * 2023-12-14 2024-01-23 中电云计算技术有限公司 目录修复方法、装置、设备及可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022182577A (ja) * 2021-05-28 2022-12-08 株式会社日立製作所 ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452821B2 (en) 2007-06-29 2013-05-28 Microsoft Corporation Efficient updates for distributed file systems
US8560639B2 (en) 2009-04-24 2013-10-15 Microsoft Corporation Dynamic placement of replica data
US10838821B2 (en) * 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US11226871B2 (en) * 2019-06-19 2022-01-18 EMC IP Holding Company, LLC Efficient targeted file-level restore from cloud snapshots
US11669403B2 (en) * 2021-01-15 2023-06-06 EMC IP Holding Company LLC Intelligent re-tiering of incremental backup data stored on a cloud-based object storage
US20220283902A1 (en) * 2021-03-05 2022-09-08 EMC IP Holding Company LLC Writing data blocks directly to object storage
US11809280B2 (en) * 2021-03-05 2023-11-07 EMC IP Holding Company LLC Synchronizing expirations for incremental backup data stored on a cloud-based object storage
JP2022182577A (ja) * 2021-05-28 2022-12-08 株式会社日立製作所 ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム
US11977451B2 (en) * 2021-05-28 2024-05-07 EMC IP Holding Company LLC Application-based packing for storing backup data to an object storage
US11693742B2 (en) * 2021-09-27 2023-07-04 Hewlett Packard Enterprise Development Lp Backing up data for a namespace assigned to a tenant

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117435384A (zh) * 2023-12-14 2024-01-23 中电云计算技术有限公司 目录修复方法、装置、设备及可读存储介质
CN117435384B (zh) * 2023-12-14 2024-04-16 中电云计算技术有限公司 目录修复方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
US11880284B2 (en) 2024-01-23
US20220382653A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US11829256B2 (en) Data storage management system for holistic protection of cloud-based serverless applications in single cloud and across multi-cloud computing environments
KR102240557B1 (ko) 데이터 저장 방법, 장치 및 시스템
US10540235B2 (en) Single index to query multiple backup formats
JP5731000B2 (ja) 差分バックアップからのデータベースの個別復元を実行する方法及びシステム
US11461270B2 (en) Shard splitting
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
JP2004287572A (ja) ファイルストレージサービスシステム、ファイル管理装置、ファイル管理方法、id指定型nasサーバ、および、ファイル読出方法
Mundkur et al. Disco: a computing platform for large-scale data analytics
JP2022182577A (ja) ストレージリストアシステム、ストレージリストア方法、及びストレージリストアプログラム
JP2011065546A (ja) ファイル検索システム及びプログラム
US10649955B2 (en) Providing unique inodes across multiple file system namespaces
US10657102B2 (en) Storage space management in union mounted file systems
CN104881466A (zh) 数据分片的处理以及垃圾文件的删除方法和装置
CN110851143B (zh) 源码部署方法、装置、设备及存储介质
US9262219B2 (en) Distributed processing system, distributed processing method, and distributed processing program
EP3844937B1 (en) Synchronizing in-use source data and an unmodified migrated copy thereof
JP2011215835A (ja) 全文検索機能を備えるストレージ装置
US20190377809A1 (en) Resolving versions in an append-only large-scale data store in distributed data management systems
US20180189310A1 (en) Space management for a hierarchical set of file systems
US9684668B1 (en) Systems and methods for performing lookups on distributed deduplicated data systems
US11663166B2 (en) Post-processing global deduplication algorithm for scaled-out deduplication file system
JP2009289122A (ja) サーバ装置、カタログ処理方法及びプログラム
US10678813B2 (en) Scaling quorum based replication systems
Verma et al. Big data analytics: performance evaluation for high availability and fault tolerance using mapreduce framework with hdfs
CN112181899A (zh) 一种元数据的处理方法、装置及计算机可读存储介质