JP2017142605A - バックアップリストアシステム及びリストア方法 - Google Patents

バックアップリストアシステム及びリストア方法 Download PDF

Info

Publication number
JP2017142605A
JP2017142605A JP2016022712A JP2016022712A JP2017142605A JP 2017142605 A JP2017142605 A JP 2017142605A JP 2016022712 A JP2016022712 A JP 2016022712A JP 2016022712 A JP2016022712 A JP 2016022712A JP 2017142605 A JP2017142605 A JP 2017142605A
Authority
JP
Japan
Prior art keywords
data
backup
target
metadata
objects
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.)
Granted
Application number
JP2016022712A
Other languages
English (en)
Other versions
JP6671708B2 (ja
Inventor
仁志 亀井
Hitoshi Kamei
仁志 亀井
隆喜 中村
Takayoshi Nakamura
隆喜 中村
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.)
Tohoku University NUC
Hitachi Ltd
Original Assignee
Tohoku University NUC
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 Tohoku University NUC, Hitachi Ltd filed Critical Tohoku University NUC
Priority to JP2016022712A priority Critical patent/JP6671708B2/ja
Publication of JP2017142605A publication Critical patent/JP2017142605A/ja
Application granted granted Critical
Publication of JP6671708B2 publication Critical patent/JP6671708B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】バックアップサーバからオブジェクトサーバへのオブジェクトのリストアのためのデータ転送に要する時間が、ネットワーク帯域の制限により長くなることがある。
【解決手段】第1オブジェクトサーバが、オブジェクトのオブジェクトデータ及びそれのメタデータの各々について、そのデータが第1条件に該当する場合、そのデータの複製データをバックアップサーバにバックアップし、そのデータが第2条件に該当する場合、そのデータの複数の断片データを2以上のバックアップサーバにバックアップする。第2オブジェクトサーバが、複数のバックアップサーバから複製データ及び複数の断片データのうちの少なくとも1つを取得しオブジェクトをリストアする。
【選択図】図1

Description

本発明は、概して、バックアップ及びリストアのうちの少なくとも一方、例えば、その両方に関する。
耐災害性を向上させるため、ネットワークを通してバックアップ及びリストアを行うシステムが構築されている。非特許文献1に示されている通り、正サイトが、遠隔にあるデータセンタにデータをバックアップする。正サイトに災害が起きて正サイトが復旧されると、復旧した正サイトが、バックアップされたデータをデータセンタからリストアする。
また、バックアップ及びリストアをファイルの更新差分データに基づき処理することによって効率化する技術が知られている。例えば、特許文献1に示される通り、更新差分の管理のため、更新のあったファイルデータブロックが、差分データとしてバックアップされる。
WO2007/131190 US6604118
非特許文献1に開示の技術によれば、データをリストアするリストア処理に時間がかかる。具体的には、災害によって損壊した正サイトが物理的に復旧した後、遠隔データセンタから復旧した正サイトへデータが送信される。この時、ネットワークの帯域の制約により、データ転送に時間がかかる。
特許文献1に開示の技術でも、差分データが大きい場合は非特許文献1と同様の問題が発生する。更に、リストアのために、差分の元となるベーススナップショットを復旧した正サイトに初めに送る必要があり、データ転送時間が長くなる。
また、ベーススナップショットが失われると、差分を用いたリストアが不可能になるため、遠隔データサイトが複数のベーススナップショットを保存することで対災害性を向上する必要がある。しかし、そうすると、バックアップデータ容量が大きくなってしまう。
それぞれがファイル又はディレクトリである1以上のバックアップ対象オブジェクトを複数のバックアップサーバの少なくとも1つにバックアップする第1オブジェクトサーバと、それぞれがファイル又はディレクトリである1以上のリストア対象オブジェクトを複数のバックアップサーバの少なくとも1つからリストアする第2オブジェクトサーバとのうちの少なくとも1つが備えられる。1以上のリストア対象オブジェクトは、バックアップされた1以上のバックアップ対象オブジェクトでよい。1以上のバックアップ対象オブジェクトの各々、及び、1以上のリストア対象オブジェクトの各々は、オブジェクトデータとそのオブジェクトデータについてのメタデータとで構成されている。
第1オブジェクトサーバは、1以上のバックアップ対象オブジェクトの各々におけるオブジェクトデータ及びメタデータの各々について、
当該データでありオブジェクトデータ又はメタデータである対象データが第1条件と第2条件のいずれの条件に該当するかを判断し、
対象データが第1条件に該当する場合、対象データの1以上の複製データを2以上のバックアップサーバにバックアップし、
対象データが第2条件に該当する場合、対象データのEC(Erasure Coding)に従う冗長度Vの断片データ(Vは1より大きい値)である2以上のデータを、2以上のバックアップサーバにバックアップする。なお、対象データの冗長度Vの断片データは、ECに従う断片データでなくてもよい。例えば、断片データの複製データが2以上のデータに含まれていれば、断片データが失われてもそれの複製データに代替可能なため、その断片データの冗長性が実現される。
第1オブジェクトサーバは、1以上のバックアップ対象オブジェクトの各々について、第1ファイルシステム空間におけるそのバックアップ対象オブジェクトの位置とそのバックアップ対象オブジェクトのバックアップ先とに関する情報を、複数のバックアップサーバのうちの少なくとも1つにおける管理情報に登録する。第1ファイルシステム空間は、1以上のバックアップ対象オブジェクトを含んだファイルシステム空間(例えばネームスペース)である。管理情報は、複数のバックアップサーバ以外の共有記憶領域(第1及び第2オブジェクトサーバのいずれもアクセス可能な記憶領域)に格納されてもよい。
第2オブジェクトサーバは、1以上のリストア対象オブジェクトの各々について、そのリストア対象オブジェクトの第2ファイルシステム空間における位置と、そのリストア対象オブジェクトのバックアップ先とを、上述の管理情報を参照することにより特定する。第2ファイルシステム空間は、1以上のリストア対象オブジェクトを含んだファイルシステム空間であり、例えば、リストア対象の上記第1ファイルシステム空間であってよい。
第2オブジェクトサーバは、1以上のリストア対象オブジェクトの各々について、
当該オブジェクトである対象オブジェクトのメタデータとして、そのメタデータの少なくとも1つの複製データ、又は、そのメタデータの断片データを複数のバックアップサーバのうちの少なくとも1つから受信し、
対象オブジェクトのオブジェクトデータとして、そのオブジェクトデータの少なくとも1つの複製データ、又は、そのオブジェクトデータの断片データを複数のバックアップサーバのうちの少なくとも1つから受信し、
受信したメタデータと受信したオブジェクトデータとに基づき、対象オブジェクトの第2ファイルシステム空間における位置に対象オブジェクトをリストアする。
なお、第2オブジェクトサーバは、第1オブジェクトサーバのリプレース後(復旧後)のオブジェクトサーバでもよいし、第1オブジェクトサーバのスケールアウト等の目的で追加されたオブジェクトサーバでもよい。
高いリストア性能とバックアップデータ容量削減を両立できる。具体的には、第1条件に該当するデータ(例えば、メタデータのような一般的に小サイズのデータ)についてはその複製がバックアップされ、第2条件に該当するデータ(例えば、オブジェクトデータのような大サイズとなり得るデータ)については複数の断片データに分割されてバックアップされるので、複数のバックアップサーバから1以上のリストア対象オブジェクトを転送するのに要する時間を短縮できる。また、第2条件に該当するデータの分割はEC(Erasure Coding)に従うエンコードのため、冗長性を保ちつつデータ容量削減を実現できる。
実施例1に係るバックアップリストアシステムの構成を示す。 ファイルサーバの構成を示す。 バックアップサーバの構成を示す。 バックアップ設定テーブルの構成を示す。 バックアップ管理テーブルの構成の一例を示す。 リストア処理の模式図である。 バックアップ処理のフローを示す。 リストア処理のフローを示す。 実施例2に係るバックアップ方式テーブルの構成を示す。 実施例2に係るバックアップ方式決定処理のフローを示す。 実施例3に係るバックアップ方式テーブルの構成を示す。 実施例3に係るバックアップ方式決定処理のフローを示す。
以下、幾つかの実施例を説明する。
なお、以下の説明では、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェイスデバイス(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。また、プロセッサは、処理の一部または全部を行うハードウエア回路を含んでもよい。プログラムは、プログラムソースから各コントローラにインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記憶メディアであってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号(又は参照符号における共通部分)を使用し、同種の要素を区別して説明する場合は、要素のID(又は要素の参照符号)を使用することがある。例えば、ファイルサーバを特に区別しないで説明する場合には、「ファイルサーバ105」と記載し、個々のファイルサーバを区別して説明する場合には、「ファイルサーバ105A」、「ファイルサーバ105B」のように記載することがある。
図1は、実施例1に係るバックアップリストアシステムの構成を示す。
バックアップリストアシステム100は、クライアント101、正サイト103、正サイト103にある管理サーバ104、ファイルサーバ105A、バックアップサイト106、バックアップサイト106にあるバックアップサーバ107、リカバリサイト108、及び、リカバリサイト108にあるファイルサーバ105Bを有する。複数のバックアップサーバ107が存在する。バックアップリストアシステム100は、計算機システムの一例であり、ファイルサーバ105A及び105Bを含んでいるため、バックアップリストアシステムと呼ばれる。ファイルサーバ105Bが無い場合、ファイルサーバ105Aを含んだ計算機システムは、バックアップシステムと呼ばれてよい。一方、ファイルサーバ105Aが無い場合、ファイルサーバ105Bを含んだ計算機システムは、リストアシステムと呼ばれてよい。
クライアント101と正サイト103とバックアップサイト106とリカバリサイト108は通信路102によって相互に接続されている。通信路102は、例えば、LAN(Local Area Network)やインターネットのような通信ネットワークでよい。
クライアント101は、ファイルサーバ105A又はファイルサーバ105Bを利用する端末(計算機)である。クライアント101を使用するエンドユーザは、クライアント101のファイルアクセスプログラム110を用いてファイルサーバ105A又はファイルサーバ105Bへ接続し、ファイルサーバ105A又はファイルサーバ105Bに格納されているファイルを読み書きする。
正サイト103は、災害発生前に、クライアント101へファイルアクセスサービスを提供するサイトである。
正サイト103の管理サーバ104は、バックアップリストアシステム100の全体を管理する端末(計算機)である。バックアップリストアシステム100の管理者は、管理サーバ104を用いて、バックアップリストアシステム100の設定を行う。例えば、管理者は、管理サーバ104を用いてバックアップサイト106AのIPアドレスをファイルサーバ105Aに設定する。なお、管理サーバ104は、バックアップサイト106やリカバリサイト108のような任意の位置に配置されてよい。
正サイト103内のファイルサーバ105Aは、クライアント101へファイルアクセスサービスを提供する計算機である。ファイルサーバ105Aは、第1オブジェクトサーバの一例である。ファイルアクセスサービスは、いずれの種別でもよく、例えば、NFS(Network File System)又はCIFS(Common Internet File System)である。正サイト103のファイルサーバ105Aは、例えば、災害が発生する前に運用されるサーバである。
バックアップサイト106は、バックアップデータを保持するサイトである。バックアップサイト106のバックアップサーバ107に、ファイルサーバ105が保持するオブジェクト(ファイル又はディレクトリ)のオブジェクトデータ(例えばファイルデータ)とそれのメタデータとのうちの少なくとも一部に関するデータ(具体的には、後述するように、複製データ、断片データ及びパリティデータのうちの少なくとも1つ)がバックアップされる。バックアップサーバ107は、ファイルサーバ105Aからデータを定期的又は不定期的に受信し、受信したデータを、バックアップサーバ107のディスクデバイス(不揮発記憶デバイスの一例)へ格納する。ファイルサーバ105とバックアップサーバ107の動作は後に詳述する。また、1つのバックアップサイト106に1つのバックアップサーバ107が存在するため、本実施例では、バックアップサイト106とバックアップサーバ107は実質的に同義である。
リカバリサイト108は、災害発生後に、クライアント101へファイルアクセスサービスを提供するサイトである。
リカバリサイト108のファイルサーバ105Bは、災害発生後に、クライアント101へファイルアクセスサービスを提供する計算機である。ファイルサーバ105Bは、第2オブジェクトサーバの一例である。災害によって、正サイト103が物理的に損壊した場合、リカバリサイト108のファイルサーバ105Bがサービスを引き継ぐ。そのため、正サイト103のファイルサーバ105Aが、ファイルサーバ105Aが保持するデータをバックアップサイト106のバックアップサーバ107へ定期的に又は不定期的にバックアップする(保存する)。災害発生後、リカバリサイト108のファイルサーバ105Bは、バックアップサーバ107からデータ(バックアップされたデータ)を取得し、ファイルアクセスサービスを再開する。クライアント101は、再開したファイルサービスを利用する。
バックアップリストアシステム100において、正サイト103のファイルサーバ105Aは、1以上のバックアップ対象オブジェクトの各々におけるオブジェクトデータ及びメタデータの各々について、そのデータのバックアップ方式を決定する、具体的には、そのデータが第1条件と第2条件のいずれに該当するかを判断する。
メタデータのような一般的に小サイズのデータは、第1条件に該当する。この場合、ファイルサーバ105Aは、データを、複数のバックアップサーバ107に多重複製する。
一方、オブジェクトデータのような一般的に大サイズとなり得るデータは、第2条件に該当する。この場合、ファイルサーバ105Aは、データを分割することにより得られた複数の断片データを複数のバックアップサーバ107にバックアップする。データ分割として、耐災害性を向上させるため、EC(Erasure Coding)に従うエンコードが採用される。
データのリストア時には、第1条件に該当したデータについては、少なくとも1つのバックアップサーバ107から複製データがファイルサーバ105Bに転送される。複製データを用いてリストアが行われる。本実施例では、第1条件は、データがメタデータであることである。メタデータはファイルデータより優先的にリストアされる。つまり、メタデータを発災後早急にリストアできる。また、メタデータは、一般的に小サイズのデータ(例えば数キロバイト程度のデータ)のため、容量オーバヘッドが小さい。
第2条件に該当したデータについては、複数のバックアップサーバ107からファイルサーバ105Bに並列に断片データが転送される。このため、1つのバックアップサーバ107からデータ(典型的にはファイルデータ)が転送されることに比べてデータ転送時間が短縮される。また、データ分割にECが採用されていることで、バックアップ及びリストアで広帯域化が実現され、且つ、容量オーバヘッドを抑えることができる。複数の断片データを用いたデコードによりデータがリストアされる。
以下、実施例1を詳述する。
図2は、ファイルサーバ105の構成を示す。
ファイルサーバ105は、ネットワークI/F(インターフェース)201と、CPU202と、ディスクデバイス203と、メモリ205とを有する。それらは内部通信路204によって相互に接続されている。
ネットワークI/F201は、通信路102と相互に接続されており、クライアント101からのファイルアクセス要求を受け付ける場合に用いられるデバイスである。CPU202は、メモリ205に格納されたプログラムを実行するデバイスであり、プロセッサの一例である。ディスクデバイス203は、プログラムファイルやエンドユーザが作成したファイルを格納する記憶デバイスである。メモリ205は、プログラムやデータ構造を保持するデバイスである。プログラムはディスクデバイス203に格納されており、CPU202がそれを実行する際に、それをメモリ205へ読み込む。以降、特に明示しない限り、プログラムはCPUによって実行されるものとする。また、プログラムはディスクデバイスからメモリに読み込まれて実行されるものとする。
ファイル共有サーバプログラム206は、クライアント101のファイルアクセスプログラム110のファイルアクセス要求を処理するプログラムである。ファイルアクセス要求とは、例えば、ファイルの読み込み(READ)やファイルへのデータ書き込み(WRITE)である。ファイルアクセス要求によって受信したファイルデータは、ディスクデバイス203へ格納される。そのファイルデータは、バックアップサーバ107へバックアップされる。
ファイルシステムプログラム207は、ディスクデバイス203に格納されたファイルのデータや管理情報(メタデータ)を管理するプログラムである。ファイル共有サーバプログラム206は、クライアント101から送られてきたファイルデータをファイルシステムプログラム207へ受け渡し、ファイルシステムプログラム207がディスクデバイス203へ格納して管理する。
バックアップ決定プログラム208は、バックアップ先のバックアップサーバ107やバックアップ方式を決めるプログラムである。バックアップ決定プログラム208の処理動作は後に詳述する。
バックアップデータ送受信プログラム209は、バックアップデータをバックアップサーバ107へ通信路102を通して送信するプログラムである。バックアップデータの送受信に用いるプロトコルは、例えば、REST(Representational State Transfer)プロトコル又はSMB(Server Message Block)プロトコルである。
複製データ作成プログラム210は、バックアップするファイルのバックアップデータを作成するプログラムである。複製データ作成プログラム210は、バックアップ対象となったファイルのメタデータとデータを分離したバックアップデータを作成する。更に、複製データ作成プログラム210は、データをECに従い冗長符号化する。EC(Erasure Coding)とは、データをあるサイズの断片データに分割し、その断片データのパリティデータを作成する符号化方式である。パリティデータ数の断片データを失っても、元のデータを復元できる。例えば、複製データ作成プログラム210は、或るファイルのバックアップデータとして、10個の複製データ(単純複製メタデータ)と10個の断片データと2個のパリティデータとを作成したとする。複製データ作成プログラム210は、これらを複数のバックアップサーバ107へバックアップ(分散)する。これにより、バックアップリストアシステム100の耐災害性が向上する。ECにはReed Solomon符号化など様々な方式があるが、ECの方式としていずれの方式が採用されてもよい。
複製データ復元プログラム211は、複製データ作成プログラム210が作成したバックアップデータを用いて元のファイルを復元するプログラムである。バックアップデータがECによって冗長化されている場合は、デコード処理を行って元のデータを計算によって求める。
管理プログラム212は、複製データ作成プログラム210などのプログラムが用いる管理情報を作成又は管理するプログラムである。例えば、管理プログラム212は、ECの方式や単純複製数などを設定又は管理する。管理プログラム212は、管理サーバ104を通して管理者によって実行される。管理者は、管理サーバ104からファイルサーバ105へ任意のプロトコル(例えばSSH(Secure Shell)プロトコル)を用いて接続し、管理プログラム212を動作させる。
バックアップ設定テーブル213は、管理プログラム212によって生成されるバックアップ方式などを定めたテーブルである。バックアップ設定テーブル213は後に詳述する。
図3は、バックアップサーバ107の構成を示す。
バックアップサーバ107は、ネットワークI/F301と、CPU302と、メモリ303と、ディスクデバイス310とを有する。それらは内部通信路307によって相互に接続されている。
ネットワークI/F301は、外部通信路102と接続されるデバイスである。CPU302は、メモリ303に格納されたプログラムを実行するデバイスである。ディスクデバイス310は、プログラム、バックアップ管理テーブル308、断片データ309(309A、309B、…)、パリティデータ311及び複製データ312を保持するデバイスである。断片データ309は、データの一部分であり、データECに従いエンコードすることにより得られた部分データである。パリティデータ311は、1以上の断片データ309のうちの1つを生成するために使用されるデータである。複製データは、データ(例えばメタデータ)の複製である。ファイルシステムプログラム304は、バックアップデータをファイルとして管理するプログラムである。
バックアップデータ送受信プログラム305は、ファイルサーバ105(105A)から送られてくるバックアップデータをファイルとしてディスクデバイス310へ保存すると共に、ファイルサーバ105(105B)からのバックアップデータ取得要求に対してバックアップデータをファイルサーバ105(105B)に送信するプログラムである。なお、上述の通り、バックアップデータの送受信には、RESTなどのプロトコルが用いられてよい。
管理プログラム306は、バックアップサーバ107の設定を行うプログラムである。例えば、管理プログラム306は、バックアップサーバ107のIPアドレスなどを設定する。
ディスクデバイス310に格納されるバックアップ管理テーブル308は、バックアップデータの格納先のバックアップサーバ107やEC方式などを管理するテーブルである。バックアップ管理テーブル308の内容や利用法は後に詳述する。バックアップ管理テーブル308は、少なくとも1つのバックアップサーバ107、又は、ファイルサーバ105A及び105Bがアクセス可能な他の共有記憶領域に格納されてよい。
図4は、バックアップ設定テーブル213の構成を示す。
バックアップ設定テーブル213は、複数のバックアップサーバ107(バックアップサイト106)の各々についてレコードを有する。各レコードが、サイトID401、サイト名402及びURL403を格納する。また、バックアップ設定テーブル213は、EC設定410及びレプリケーション設定411を格納する。
サイトID401は、バックアップサイト106のID(例えば通番)である。サイト名402は、バックアップサイト106の名称である。URL403は、ファイルサーバ105からバックアップサーバ107(バックアップサーバ107内のストレージ)へのアクセスパスである。ファイルサーバ105は、断片データ309やパリティデータ311へアクセスするためURL403に基づいてアクセスパスを生成し、それらのデータを取得又は送信する。URL403に代えて他種のアクセスパスが採用されてもよい。EC設定410は、ECに従うエンコードのポリシーに関する情報、例えば、断片データ数、パリティデータ数及びEC方式を表す情報を含む。レプリケーション設定411は、レプリケーション方式で複製する場合のレプリケーション数(複製データ数)を表す情報を含む。例えば、レプリケーション設定411に従ってメタデータの複製データ数(レプリケーション数)が決定される。
図5は、バックアップ管理テーブル308の構成を示す。
バックアップ管理テーブル308は、1以上のバックアップ対象オブジェクト(リストア対象オブジェクト)の各々についてレコードを有する。各レコードが、パス501、ID502、種別503、Meta504、Data505、MetaBUP506、DataBUP507、ParityBUP508を格納する。
パス501は、ファイルシステム空間におけるオブジェクトへのパス(バス名)を表す。パス501は、ファイルシステム空間におけるオブジェクトの位置情報の一例である。リストア時には、パス501と同じパス(位置)にファイル又はディレクトリがリストアされる。ID502は、オブジェクトのIDである。種別503は、オブジェクトの種別(ファイル又はディレクトリ)を示す情報である。
Meta504は、オブジェクト内のメタデータのバックアップ方式を示す情報である。Meta504が「Rep.」の場合、メタデータの複製データがバックアップされる。メタデータをECに従いバックアップする場合、後述のように、「(p,q)」が設定される。Data505は、オブジェクト内のオブジェクトデータのバックアップ方式を示す情報である。オブジェクトデータがECに従いバックアップされる場合、Data505として、「(p,q)」が設定される。pは、断片データ数であり、qは、パリティデータ数である。
MetaBUP506は、メタデータのバックアップ先(バックアップサイト106)のサイト名を表す。DataBUP507は、オブジェクトデータのバックアップ先(バックアップサイト106)のサイト名を表す。ParityBUP508は、メタデータ及びオブジェクトデータのうちの少なくとも1つについて1以上のパリティデータ311がバックアップされた場合、その1以上のパリティデータ311のバックアップ先(バックアップサイト106)のサイト名を表す。ParityBUP508は、メタデータについてのパリティデータ311のバックアップ先サイト名と、オブジェクトデータについてのパリティデータ311のバックアップ先サイト名のように2種類のサイト名を区別して保持してもよい。
バックアップ管理テーブル308が複数のレコード群(1以上のレコード)に分割され、それら複数のレコード群が複数のバックアップサーバ107に分散していてもよい。また、バックアップ管理テーブル308のうちの少なくとも1つのレコードが、上述の共有記憶領域に格納されてよい。
以下、本実施例で行われる処理を説明する。
図6は、リストア処理の模式図である。
2つのバックアップサーバ107A及び107B(バックアップサイト106A及び106B)の2つのディスクデバイス310に格納されている断片データ309、複製データ312及びパリティデータ311を用いて、リカバリサイト108のファイルサーバ105に3つのオブジェクト(ディレクトリ「HOME」、ファイルX及びファイルY)をリストアすることを例に取る。1つのオブジェクトデータについての2以上のデータ(2以上の断片データ及び1以上のパリティデータ)は、データ数がバックアップサーバ数以下の場合、その2以上のデータはそれぞれ異なる2以上のバックアップサーバ107にバックアップされている。データ数がバックアップサーバ数より多い場合、1台のバックアップサーバ107に、1つのオブジェクトデータについて複数のデータ(断片データ及びパリティデータのうちの少なくとも1つ)がバックアップされている。
ファイルサーバ105Bが、一時ディレクトリ「TMP」を、第2ファイルシステム空間(オブジェクトのリストア先のファイルシステム空間)に生成する。一時ディレクトリ「TMP」は、例えば、ルートディレクトリ「Root」の子ディレクトリとして生成される。
ファイルサーバ105Bが、バックアップ管理テーブル308を参照することで、3つのオブジェクトの各々について、そのオブジェクトの第2ファイルシステム空間における位置と、そのオブジェクトのバックアップ先サイト名とを特定する。
その後、まず、ファイルサーバ105Bが、オブジェクトデータよりもメタデータを優先的にリストアする。具体的には、ファイルサーバ105Bが、バックアップサーバ107A及び107Bから、並行して、3つのオブジェクトにそれぞれ対応した3つの複製データ312(メタデータ複製)を取得し、一時ディレクトリ「TMP」に、3つの複製データをそれぞれ仮復旧する。メタデータの仮復旧とは、そのメタデータのみを有しオブジェクトデータを有さないオブジェクトである仮オブジェクトを生成することである。これにより、一時ディレクトリ「TMP」に、3つの仮オブジェクトが生成される。なお、ディレクトリは一般にオブジェクトデータを有さないため、ディレクトリ「HOME」については、メタデータの仮復旧により一時的にリストアされたことになる。
次に、ファイルサーバ105Bが、バックアップサーバ107A及び107Bから、並行して、ファイルX及びYに対応した複数の断片データ及び複数のパリティデータを取得する。ファイルサーバ105Bが、取得したそれらのデータを用いたデコードを行うことにより、ファイルX及びYにそれぞれ対応した2つのファイルデータを算出する。ファイルサーバ105Bが、その2つのファイルデータの各々を仮復旧する。ファイルデータの仮復旧とは、そのファイルデータをそのファイルデータに対応する仮オブジェクトに格納することである。これにより、一時ディレクトリ「TMP」に、ファイルX及びYの各々がリストアされる。
最後に、ファイルサーバ105Bが、3つのオブジェクトの各々を、一時ディレクトリ「TMP」から、第2ファイルシステム空間における該当位置に移動する。具体的には、例えば、ディレクトリ「HOME」が、ルートディレクトリ「Root」の子ディレクトリとして配置される(パス「/Root/HOME」に従う位置に移動される)。そして、ディレクトリ「HOME」内にファイルX及びファイルYが移動される(ファイルXが、パス「/Root/HOME/FileX」に従う位置に移動され、ファイルYが、パス「/Root/HOME/FileY」に従う位置に移動される)。3つのオブジェクトの移動後(つまりリストア処理の完了後)、一時ディレクトリ「TMP」がファイルサーバ105Bにより削除されてよい。
一時ディレクトリ「TMP」があれば、複数のリストア対象オブジェクトのうちの上位のリストア対象オブジェクトがリストアされるのを待つことなく下位のリストア対象オブジェクトを先に一時的にリストアすることができる。これにより、リストア処理を高速に実行できる。
図7は、バックアップ処理のフローを示す。
災害前に正サイト103のファイルサーバ105Aがバックアップ処理を実行する。バックアップ処理は、ファイルサーバ105Aのプログラムとバックアップサーバ107のプログラムが連携して動作する。ファイルシステムプログラム304がクライアント101のファイルアクセスプログラム110から受信したファイルは、一旦ディスクデバイス203へ格納される。そのファイルのファイルデータが、一定期間が経過すると、ECに従い2以上の断片データ309と1以上のパリティデータ311とされ、それらのデータと、メタデータ(複製データ)とが、複数のバックアップサーバ107のうちの2以上のバックアップサーバ107へ送られることになる。
まず、バックアップ処理において、バックアップ決定プログラム208が、バックアップ方式決定処理を実行する(ステップ701)。具体的には、実施例1では、バックアップ決定プログラム208は、バックアップ設定テーブル213のEC設定410に従い、バックアップ対象オブジェクトのオブジェクトデータについて、断片データ数とパリティデータ数を決める。さらに、バックアップ決定プログラム208は、バックアップ設定テーブル213のレプリケーション設定411に従い、バックアップ対象データのメタデータについて、複製データ数を決定する。なお、バックアップ対象がディレクトリの場合、オブジェクトデータが無いため、ディレクトリのバックアップについては、レプリケーション設定411のみ使用される。以下、図7の説明では、バックアップ対象オブジェクトはファイルであるとする。
次に、バックアップ決定プログラム208は、バックアップ対象ファイルのファイルデータについて、断片データ数とパリティデータ数の合計のバックアップサイト106をバックアップ設定テーブル213から選定する(ステップ702)。バックアップ先(バックアップサイト106)は、サイトIDの番号に基づいてラウンドロビンで決定されてよい。このステップ702で、複製データのバックアップ先のバックアップサイト106が選定されてもよい。そのバックアップサイト106は、断片データ及びパリティデータのバックアップ先と異なるバックアップサイト106(バックアップサーバ107)でよい。
次に、複製データ作成プログラム210が、バックアップ対象ファイルのファイルデータをECに従いエンコードする(ステップ703)。この時、複製データ作成プログラム210は、バックアップ決定プログラム208から断片データ数とパリティデータ数を受け、その断片データ数分の断片データ309と、そのパリティデータ数分のパリティデータ311を生成する。なお、バックアップ対象オブジェクトがディレクトリの場合は、このステップ703はスキップされる。
バックアップデータ送受信プログラム209が、生成された断片データ309とパリティデータ311を、ステップ702で選定されたバックアップサーバ107へそれぞれバックアップ(送信)する(ステップ704)。具体的には、バックアップデータ送受信プログラム209は、断片データ309とパリティデータ311のバックアップ先のバックアップサーバ107のリストをバックアップ決定プログラム208から受け取り、そのリストに従ってそれらのデータを送信する。なお、バックアップ対象オブジェクトがディレクトリの場合、このステップ704はスキップされる。
次に、バックアップデータ送受信プログラム209は、バックアップ対象ファイルのメタデータをバックアップサーバ107へ送信する(ステップ705)。この時、バックアップデータ送受信プログラム209は、メタデータ送信先となるバックアップサーバ107のリストをバックアップ決定プログラム208から受け取り、そのリストに従ってメタデータを送信する。
次に、バックアップデータ送受信プログラム209は、バックアップ管理テーブル308にレコードを追加する(ステップ706)。バックアップデータ送受信プログラム209は、その追加したレコードに、下記を登録する(ステップ707)。
・バックアップ対象ファイルのパスを表すパス501。
・バックアップ対象ファイルのID(通番)502。
・種別503「FILE」。
・Meta504「Rep.」(メタデータの複製データがバックアップされたため)。
・Data505「(p,q)」(p=断片データ数、q=パリティデータ数)。
・MetaBUP506(複製データ(メタデータ複製)の送信先のバックアップサイト106のサイト名)。
・DataBUP507(断片データの送信先のバックアップサイト106のサイト名)。
・ParityBUP508(パリティデータの送信先のバックアップサイト106のサイト名)。
図8は、リストア処理のフローを示す。
リストア処理は、災害発生後にリカバリサイト108のファイルサーバ105Bにより実行される。
ファイルサーバ105Bのバックアップデータ送受信プログラム209は、バックアップ設定テーブル213に記述されたバックアップサーバ107に接続し、バックアップ管理テーブル308を取得する(ステップ801)。なお、全てのバックアップサーバ107にバックアップ管理テーブル308が格納されていない場合、全てのバックアップサーバ107からバックアップ管理テーブル308を取得できるまで、順次、バックアップサーバ107へアクセスが行われてもよい。また、バックアップ設定テーブル213には、バックアップ管理テーブル308が格納されるバックアップサーバ107のURLが記述されていてよく、そのURLを用いて、バックアップ管理テーブル308の取得(参照)が行われてもよい。
次に、複製データ復元プログラム211は、バックアップ管理テーブル308のレコード520を1つ選択し(ステップ802)、そのレコードのMeta504とData505から、バックアップ方式を特定する(ステップ803)。これにより、複製データ復元プログラム211は、各リストア対象オブジェクトのリストア方式がわかる。そして、複製データ復元プログラム211は、リストア元とするバックアップサーバ107を特定する(ステップ804)。ここでは、例えば、ネットワーク接続をpingコマンドによって確認し、その結果に基づいてバックアップサーバ107を決定することが行われてよい。この時、オブジェクトデータの取得のためには、DataBUP507に基づきバックアップサーバ107が特定される。DataBUP507に記述されたバックアップサーバ107が停止している場合、複製データ復元プログラム211は、ParityBUP508から1つの代替サイト(バックアップサーバ107)を選択する。
次に、複製データ復元プログラム211は、バックアップデータ送受信プログラム209を通して、選定したバックアップサーバ107からメタデータをリストアする(ステップ805)。この時、前述の通り、複製データ復元プログラム211は、メタデータを仮復旧するため、一時ディレクトリへ仮ファイルを生成する(ステップ806)。
そして、複製データ復元プログラム211は、バックアップデータ送受信プログラム209を通して、選定したバックアップサーバ107から、断片データ又はパリティデータを受信する(ステップ807)。そして、複製データ復元プログラム211は、受信したデータを用いて、ECに従うデコードを行い、ファイルを一時ディレクトリへ仮復旧する(ステップ808)。複製データ復元プログラム211は、仮復旧したファイル又はディレクトリ(つまり、一時的にリストアされたファイル又はディレクトリ)を、バックアップ管理テーブル308のパス501に基づいて、本来のパスに従う位置に移動する(ステップ809)。これにより、1つのファイル又はディレクトリのリストアが完了する。
次に、複製データ復元プログラム211は、未リストアのファイル又はディレクトリの有無を確認する(ステップ810)。未リストアのファイル又はディレクトリがあれば(ステップ810:N)、ステップ802から処理が再開される。一方、無ければ(ステップ810:Y)、処理が終了する。
ここで、図6を用いて説明したリストアの並列処理について、並列処理される区間は、ステップ803からステップ809である。この区間は、ファイル又はディレクトリを個別に処理できるため、並列化可能である。並列化する場合は、複数のスレッド又はプロセスによって、該当の区間に属するステップが実行される。
以上、実施例1によれば、メタデータとオブジェクトデータでバックアップ方式が異なる。具体的には、メタデータはレプリケーションバックアップを行い、オブジェクトデータはECに従う分散バックアップを行う。オブジェクトデータをリストアするには、メタデータのリストア完了が必要である。よって、本実施例により、メタデータを格納するバックアップサイトさえ回復すればすぐにメタデータをリストアする前提条件を整えることが可能となる。更に、その後、複数のバックアップサイトが順次回復するのに合わせて、メタデータに比して時間のかかるオブジェクトデータを実行することとなり、何れか単一の方法を用いるのに比べて効率よく短い時間での回復を可能とすることができる。
以下、実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する。
実施例2では、バックアップ対象オブジェクトの属性(具体的には、オブジェクト中のデータのサイズ、オブジェクトのパス深度(後述))によって、バックアップ方式やバックアップ冗長度(複製データ数、断片データ数及びパリティデータ数のうちの少なくとも1つ)が異なる。これにより、オブジェクトの属性に最適なバックアップ及びリストアが期待できる。
例えば、バックアップ対象オブジェクトがファイルデータであっても、ファイルデータのデータサイズが閾値未満の場合、ECに代えてレプリケーションバックアップが採用される。サイズが小さいデータをECに従い分割してバックアップしても、リストア時の並列化効果が低い。そこで、データサイズが閾値未満のファイルデータについてはレプリケーションバックアップを採用することでECに従うデコード(ステップ808)を省略することができる。これにより、リストア処理の更なる高速化が期待できる。
図9は、実施例2に係るバックアップ方式テーブルの構成を示す。
バックアップ方式テーブル900は、ファイルサーバ105の記憶部(メモリ及びディスクデバイスのうちの少なくとも1つ)に格納される。バックアップ方式テーブル900は、パラメータ901及び値902を1つの組としたレコードを有する。本実施例では、パラメータ901として、「メタデータ」、「オブジェクトデータ(サイズ大)」、「オブジェクトデータ(サイズ小)」、及び「サイズ閾値」がある。ここで例として示す値は管理者によって適切な値が設定される。従って、本発明はこの例に限定されるものではない。
パラメータ901「メタデータ」の値902、パラメータ901「オブジェクトデータ(サイズ大)」の値902、及び、パラメータ901「オブジェクトデータ(サイズ小)」の値902のいずれも、(x,y,z)、すなわち、パス深度(x)と、バックアップ方式(y)と、冗長度(z)との関係を示す。
オブジェクトの「パス深度」とは、ファイルシステム空間におけるオブジェクトの深さ、言い換えれば、ルートディレクトリからそのオブジェクトへ至るまでに経由するリンクの数である。例えば、パスが「/DIR1/DIR2/FileX」の場合、ルートディレクトリからファイルXに至るまでに3つのリンク(ルートディレクトリからディレクトリ「DIR1」までのリンク、ディレクトリ「DIR1」からディレクトリ「DIR2」までのリンク、及び、ディレクトリ「DIR2」から「FileX」までのリンク)を経由するため、パス深度は3である。本実施例では、パス深度の範囲として、1以上4以下の範囲と、5以上の範囲とが設けられている。従って、図9において、パス深度「1」は、パス深度が1以上4以下であることを意味し、パス深度「5」は、パス深度が5以上であることを意味する。パス深度の範囲は、本実施例に限られない。
「バックアップ方式」は、複製とECのいずれかである。バックアップ方式「Rep」は、複製を意味し、バックアップ方式「EC」は、ECを意味する。
「冗長度」の意味は、バックアップ方式が「Rep」であるか「EC」であるかによって異なる。バックアップ方式が「Rep」の場合、「冗長度」は、複製データの数である。バックアップ方式が「EC」の場合、「冗長度」は、EC冗長度である。ここで、EC冗長度Vは、(p+q)/pと定義される。pは、上述したように、生成された断片データの数であり、qは、上述したように、生成されたパリティデータの数である。具体的には、例えば、2個の断片データに対して1個のパリティデータが生成された場合、EC冗長度Vは、(2+1)/2=1.5である。パス深度によってEC冗長度Vの値を変える理由として、パス深度が小さいオブジェクト(つまり浅いオブジェクト)は重要度が高いと考えられるためである。例えば、上記ディレクトリ「DIR1」の下位には、上述のディレクトリ「DIR2」及び「FileX」の他に、他のディレクトリ及び他のファイルが格納され得る。つまり、ディレクトリ「DIR1」はこれらのオブジェクトに依存される。ディレクトリ「DIR1」のリストアが完了しないと、これらのオブジェクトのリストアは完了できない。従って、比較的浅いオブジェクトは比較的深いオブジェクトよりもEC冗長度Vの値を高くすることが好ましい。
パラメータ901「サイズ閾値」は、オブジェクトデータのサイズの閾値である。図9によれば、「サイズ閾値」の値902は、「1MB」である。また、「オブジェクトデータ(サイズ大)」は、サイズ閾値以上のサイズのオブジェクトデータであり、「オブジェクトデータ(サイズ小)」は、サイズ閾値未満のサイズのオブジェクトデータである。従って、本実施例では、「オブジェクトデータ(サイズ大)」は、1MB以上のサイズのオブジェクトデータであり、「オブジェクトデータ(サイズ小)」は、1MB未満のサイズのオブジェクトデータである。なお、「サイズ閾値」は、1つでもよいし、複数あってもよい。また、サイズ閾値として、メタデータ用のサイズ閾値があってもよい。
図10は、実施例2に係るバックアップ方式決定処理のフローを示す。なお、図10では、図9のテーブルに従う値が記述されている。
バックアップ方式決定処理は、バックアップ決定プログラム208によって実行される処理である。実施例1では、バックアップ方式決定処理では、メタデータについてはレプリケーションバックアップが採用され、オブジェクトデータについてはEC分割バックアップ(ECに従いデータを分割してバックアップするバックアップ方式)が採用される。
実施例2では、実施例1の観点に代えて又は加えて、バックアップ方式決定処理では、バックアップ方式テーブル900に基づき下記が行われる。
バックアップ決定プログラム208は、バックアップ対象オブジェクト中の処理対象データ(対象データ)がメタデータかオブジェクトデータかを判断する(ステップ1000)。
対象データがメタデータの場合、バックアップ決定プログラム208は、メタデータを含んだオブジェクト(この段落において「オブジェクトA」)のパス深度に基づき、冗長度を決定する(ステップ1001)。図9のテーブル900によれば、オブジェクトAのパス深度が1以上4以下の場合、冗長度=20(20個の複製データ(メタデータ複製)を生成すること)とされる(ステップ1002)。一方、オブジェクトAのパス深度が5以上の場合、冗長度=10(10個の複製データを生成すること)とされる(ステップ1008)。
一方、対象データがオブジェクトデータの場合、バックアップ決定プログラム208は、そのオブジェクトデータのサイズがサイズ閾値(1MB)以上か否かを判断する(ステップ1003)。
ステップ1003の判断結果が否定の場合、バックアップ決定プログラム208は、5個の複製データをバックアップすることを決定する(ステップ1004)。5個の複製データは、1以上の複製データの一例である。この場合にEC分割バックアップが採用されない理由は、データサイズが閾値未満であるとEC分割の効果が低いからである。
ステップ1003の判断結果が肯定の場合、バックアップ決定プログラム208は、対象データを含んだオブジェクト(この段落において「オブジェクトB」)のパス深度に基づきEC冗長度Vを決定する(ステップ1005)。図9のテーブル900によれば、オブジェクトBのパス深度が1以上4以下の場合、EC冗長度V=10とされる(ステップ1006)。一方、オブジェクトBのパス深度が5以上の場合、EC冗長度V=5とされる(ステップ1007)。
以上、実施例2によれば、バックアップ対象オブジェクトの属性に最適なバックアップ方式及び冗長度(複製データ数、断片データ数及びパリティデータ数のうちの少なくとも1つ)を決定することができる。
なお、実施例2は、上述したように実施例1との組合せが可能である。例えば、対象データがオブジェクトデータの場合、EC分割バックアップが採用されるが、EC冗長度Vの値は、対象データを含んだオブジェクトのパス深度に従い決定される。
また、実施例2において、図10に示したバックアップ方式決定処理では、ステップ1003及び1005のうちの一方は無くてもよい。
以下、実施例3を説明する。その際、実施例1及び2との相違点を主に説明し、実施例1及び2との共通点については説明を省略又は簡略する。
実施例3では、災害(例えば大規模災害)が発生した後のバックアップサイトの回復率に基づいてバックアップ方式やバックアップ冗長度(複製データ数、断片データ数及びパリティデータ数のうちの少なくとも1つ)が決定される。これにより、実施例3に係るバックアップリストアシステムを運用する地域に合わせた最適なバックアップ及びリストアが期待できる。
図11は、実施例3に係るバックアップ方式テーブルの構成を示す。
バックアップ方式テーブル1100は、図9に示したテーブル900に代えて又は加えて用意されたテーブルであり、ファイルサーバ105の記憶部(メモリ及びディスクデバイスのうちの少なくとも1つ)に格納される。
バックアップ方式テーブル1100は、災害が発生してからの経過時間と回復率との関係を表している。具体的には、例えば、バックアップ方式テーブル1100の1日後回復率1101とは、災害発生後1日目の回復率を表す。3日後回復率1102は、災害発生後3日目の回復率を表す。回復率は、バックアップサーバ数に対する、回復したバックアップサーバ(動作可能なバックアップサーバ)107の数の割合である。例えば、100台のバックアップサーバ107が導入されている場合の回復率「30%」は、30台のバックアップサーバ107が動作可能な状態である。一般的に、災害発生からの時間経過に伴い、回復率は上昇する。
図12は、実施例3に係るバックアップ方式決定処理のフローを示す。
まず、バックアップ決定プログラム208は、1日後回復率1101の値が、1日後回復率用の閾値(例えば20%)以下か否かを判断する(ステップ1201)。
ステップ1201の判断結果が肯定の場合、回復が比較的遅い地域にバックアップサイトが存在するという定義がされているということである。このため、各バックアップ対象オブジェクトについて、メタデータ及びオブジェクトデータの各々について、レプリケーションバックアップが採用される。具体的には、例えば、バックアップ決定プログラム208は、メタデータ及びオブジェクトデータの各々について、10個の複製データを生成することを決定する(ステップ1205)。10個の複製データは、1以上の複製データの一例である。複製データ数が多い程、少しでも多くのバックアップサーバ107が回復することで、リストアできる確率が高まる。
ステップ1201の判断結果が否定の場合、バックアップ決定プログラム208は、3日後回復率1102の値が、3日後回復率用の閾値(例えば50%)以下か否かを判断する(ステップ1202)。
ステップ1202の判断結果が肯定の場合、回復率が少し悪いため、バックアップ決定プログラム208は、メタデータについてはレプリケーションバックアップ(10個の複製データを生成)を決定し、オブジェクトデータについてはEC冗長度V=3(p(断片データ数)=2、q(パリティデータ数)=4)のEC分割バックアップを決定する(ステップ1204)。
ステップ1202の判断結果が否定の場合、回復が比較的早い地域にバックアップサイトが存在するという定義がされているということである。バックアップ決定プログラム208は、メタデータについてはレプリケーションバックアップ(5個の複製データを生成)を決定し、オブジェクトデータについてはEC冗長度V=2(p=4、q=4)のEC分割バックアップを決定する(ステップ1203)。
ステップ1203〜1205において決定されたバックアップ方式及びバックアップ冗長度は、バックアップ決定プログラム208により、バックアップ管理テーブル308に登録される。そのバックアップ方式及びバックアップ冗長度に基づいてリストア処理が行われる。
以上、実施例3によれば、バックアップサイト全体の復旧状況(災害発生からの経過時間と回復率との関係)を想定してバックアップ方式やバックアップ冗長度を変えることで、バックアップ容量を抑えたり、リストア性能を上げたりといった、効率的なバックアップ及びリストアが期待できる。
なお、実施例3は、上述したように実施例1及び2のうちの少なくとも1つとの組合せが可能である。例えば、1日後回復率1101の値が20%以下であり、且つ、対象データのサイズが1MB未満の場合、レプリケーションバックアップが採用されてもよい。また、例えば、1日後回復率1101の値が20%以下であっても、対象データのサイズが1MB以上なら、EC分割バックアップが採用されてもよい。
以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。
101:クライアント、103:正サイト、105:ファイルサーバ、106:バックアップサイト、107:バックアップサーバ、108:リカバリサイト

Claims (15)

  1. 複数のバックアップサーバと、
    それぞれがファイル又はディレクトリである1以上のオブジェクトを前記複数のバックアップサーバの少なくとも1つにバックアップする第1オブジェクトサーバと、
    前記バックアップされた1以上のオブジェクトを前記複数のバックアップサーバの少なくとも1つからリストアする第2オブジェクトサーバと
    を備え、
    前記1以上のオブジェクトの各々は、オブジェクトデータとそのオブジェクトデータについてのメタデータとで構成されており、
    前記第1オブジェクトサーバは、前記1以上のオブジェクトの各々におけるオブジェクトデータ及びメタデータの各々について、
    (B1)当該データでありオブジェクトデータ又はメタデータである対象データが第1条件と第2条件のいずれの条件に該当するかを判断し、
    (B2)前記対象データが前記第1条件に該当する場合、前記対象データの1以上の複製データを2以上のバックアップサーバにバックアップし、
    (B3)前記対象データが前記第2条件に該当する場合、前記対象データのEC(Erasure Coding)に従う冗長度Vの断片データ(Vは1より大きい値)である2以上のデータを2以上のバックアップサーバにバックアップし、
    前記第1オブジェクトサーバは、前記1以上のオブジェクトの各々について、ファイルシステム空間におけるそのオブジェクトの位置とそのオブジェクトのバックアップ先とに関する情報を、前記複数のバックアップサーバのうちの少なくとも1つにおける管理情報に登録し、
    前記第2オブジェクトサーバは、
    (R1)前記1以上のオブジェクトの各々について、そのオブジェクトの前記ファイルシステム空間における位置と、そのオブジェクトのバックアップ先とを、前記管理情報を参照することにより特定し、
    (R2)前記1以上のオブジェクトの各々について、
    (R21)当該オブジェクトである対象オブジェクトのメタデータとして、そのメタデータの少なくとも1つの複製データ、又は、そのメタデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信し、
    (R22)前記対象オブジェクトのオブジェクトデータとして、そのオブジェクトデータの少なくとも1つの複製データ、又は、そのオブジェクトデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信し、
    (R23)前記受信したメタデータと前記受信したオブジェクトデータとに基づき、前記対象オブジェクトの前記ファイルシステム空間における位置に前記対象オブジェクトをリストアする、
    バックアップリストアシステム。
  2. 前記第2オブジェクトサーバは、前記1以上のオブジェクトのうちの少なくとも1つについて、(R22)より先に(R21)を実行する、
    請求項1記載のバックアップリストアシステム。
  3. 前記第2オブジェクトサーバは、
    (R2)の開始前に、前記ファイルシステム空間に一時ディレクトリを設け、
    前記1以上のオブジェクトについて並行して(R21)及び(R22)を実行することで、前記一時ディレクトリに前記1以上のオブジェクトを並行してリストアし、
    前記1以上のオブジェクトの各々について、(R23)で、前記一時ディレクトリから、前記ファイルシステム空間における該当位置に、前記対象オブジェクトを移動する、
    請求項1又は2記載のバックアップリストアシステム。
  4. 前記第1条件は、前記対象データがメタデータであることであり、
    前記第2条件は、前記対象データがオブジェクトデータであることである、
    請求項1乃至3のうちのいずれか1項に記載のバックアップリストアシステム。
  5. 前記第1条件は、前記対象データがメタデータであること、及び、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが閾値未満であること、のいずれかであり、
    前記第2条件は、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが前記閾値以上であることである、
    請求項1乃至3のうちのいずれか1項に記載のバックアップリストアシステム。
  6. 前記対象データが前記第2条件に該当する場合、前記冗長度Vの値は、前記対象データを含んだオブジェクトのパス深度に従う値であり、
    前記対象データを含んだオブジェクトのパス深度は、前記ファイルシステム空間のルートディレクトリからそのオブジェクトに至るまでに経由するリンクの数である、
    請求項1乃至5のうちのいずれか1項に記載のバックアップリストアシステム。
  7. 前記第1条件、前記複製データの数、前記第2条件、前記冗長度Vの値のうちの少なくとも1つが、災害が発生してからの経過時間と回復率との関係に基づいており、
    前記回復率は、バックアップデータ数に対する、回復したバックアップサーバの数の割合である、
    請求項1乃至6のうちのいずれか1項に記載のバックアップリストアシステム。
  8. それぞれがファイル又はディレクトリである1以上のオブジェクトの各々におけるオブジェクトデータ及びメタデータの各々が、1以上の複製データを複数のバックアップサーバのうちの2以上のバックアップサーバにバックアップすることであるレプリケーションバックアップと、EC(Erasure Coding)に従う冗長度Vの断片データ(Vは1以上の値)である2以上のデータを2以上のバックアップサーバにバックアップすることである分散バックアップとのうちの選択されたバックアップ方式に従いバックアップされた複数のバックアップサーバから前記1以上のオブジェクトをリストアするリストア方法であって、
    (R1)前記1以上のオブジェクトの各々について、そのオブジェクトのファイルシステム空間における位置と、そのオブジェクトのバックアップ先とを特定し、
    (R2)前記1以上のオブジェクトの各々について、
    (R21)当該オブジェクトである対象オブジェクトのメタデータとして、そのメタデータの少なくとも1つの複製データ、又は、そのメタデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信し、
    (R22)前記対象オブジェクトのオブジェクトデータとして、そのオブジェクトデータの少なくとも1つの複製データ、又は、そのオブジェクトデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信し、
    (R23)前記受信したメタデータと前記受信したオブジェクトデータとに基づき、前記対象オブジェクトの前記ファイルシステム空間における位置に前記対象オブジェクトをリストアする、
    リストア方法。
  9. 前記1以上のオブジェクトの各々におけるオブジェクトデータ及びメタデータの各々について、
    (B1)当該データでありオブジェクトデータ又はメタデータである対象データが第1条件と第2条件のいずれの条件に該当するかを判断し、
    (B2)前記対象データが前記第1条件に該当する場合、前記対象データの1以上の複製データを2以上のバックアップサーバにバックアップし、
    (B3)前記対象データが前記第2条件に該当する場合、前記対象データのECに従う冗長度Vの断片データである2以上のデータを2以上のバックアップサーバにバックアップする、
    請求項8記載のリストア方法。
  10. 複数のバックアップサーバに接続されたインターフェースと、
    前記インタフェースに接続されたプロセッサと
    を有し、
    前記プロセッサは、それぞれがファイル又はディレクトリである1以上のバックアップ対象オブジェクトの各々におけるオブジェクトデータ及びメタデータの各々について、
    (B1)当該データでありオブジェクトデータ又はメタデータである対象データが第1条件と第2条件のいずれの条件に該当するかを判断し、
    (B2)前記対象データが前記第1条件に該当する場合、前記対象データの1以上の複製データを2以上のバックアップサーバにバックアップし、
    (B3)前記対象データが前記第2条件に該当する場合、前記対象データのEC(Erasure Coding)に従う冗長度Vの断片データ(Vは1以上の値)である2以上のデータを2以上のバックアップサーバにバックアップし、
    前記プロセッサは、前記1以上のバックアップ対象オブジェクトの各々について、第1ファイルシステム空間におけるそのバックアップ対象オブジェクトの位置とそのバックアップ対象オブジェクトのバックアップ先とに関する情報を、前記複数のバックアップサーバのうちの少なくとも1つにおける管理情報に登録し、
    前記第1ファイルシステム空間は、前記1以上のバックアップ対象オブジェクトを含んだファイルシステム空間であり、
    前記プロセッサは、
    (R1)それぞれがファイル又はディレクトリである1以上のリストア対象オブジェクトの各々について、そのリストア対象オブジェクトの第2ファイルシステム空間における位置と、そのオブジェクトのバックアップ先とを、前記管理情報を参照することにより特定し、前記第2ファイルシステム空間は、前記1以上のリストア対象オブジェクトを含んだファイルシステム空間であり、
    (R2)前記1以上のリストア対象オブジェクトの各々について、
    (R21)当該リストア対象オブジェクトである対象オブジェクトのメタデータとして、そのメタデータの少なくとも1つの複製データ、又は、そのメタデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信し、
    (R22)前記対象オブジェクトのオブジェクトデータとして、そのオブジェクトデータの少なくとも1つの複製データ、又は、そのオブジェクトデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信し、
    (R23)前記受信したメタデータと前記受信したオブジェクトデータとに基づき、前記対象オブジェクトの前記第2ファイルシステム空間における位置に前記対象オブジェクトをリストアする、
    オブジェクトサーバ。
  11. 前記プロセッサは、前記1以上のリストア対象オブジェクトのうちの少なくとも1つについて、(R22)より先に(R21)を実行する、
    請求項10記載のオブジェクトサーバ。
  12. 前記プロセッサは、
    (R2)の開始前に、前記第2ファイルシステム空間に一時ディレクトリを設け、
    前記1以上のリストア対象オブジェクトについて並行して(R21)及び(R22)を実行することで、前記一時ディレクトリに前記1以上のリストア対象オブジェクトを並行してリストアし、
    前記1以上のリストア対象オブジェクトの各々について、(R23)で、前記一時ディレクトリから、前記第2ファイルシステム空間における該当位置に、前記対象オブジェクトを移動する、
    請求項9又は10記載のオブジェクトサーバ。
  13. 前記第1条件は、前記対象データがメタデータであることであり、
    前記第2条件は、前記対象データがオブジェクトデータであることである、
    請求項10乃至12のうちのいずれか1項に記載のオブジェクトサーバ。
  14. 前記第1条件は、前記対象データがメタデータであること、及び、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが閾値未満であることであり、
    前記第2条件は、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが前記閾値以上であることである、
    請求項10乃至13のうちのいずれか1項に記載のオブジェクトサーバ。
  15. 前記対象データが前記第2条件に該当する場合、前記冗長度Vの値は、前記対象データを含んだバックアップ対象オブジェクトのパス深度に従う値であり、
    前記対象データを含んだバックアップ対象オブジェクトのパス深度は、前記第1ファイルシステム空間のルートディレクトリからそのバックアップ対象オブジェクトに至るまでに経由するリンクの数である、
    請求項10乃至14のうちのいずれか1項に記載のオブジェクトサーバ。

JP2016022712A 2016-02-09 2016-02-09 バックアップリストアシステム及びバックアップリストア方法 Active JP6671708B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016022712A JP6671708B2 (ja) 2016-02-09 2016-02-09 バックアップリストアシステム及びバックアップリストア方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016022712A JP6671708B2 (ja) 2016-02-09 2016-02-09 バックアップリストアシステム及びバックアップリストア方法

Publications (2)

Publication Number Publication Date
JP2017142605A true JP2017142605A (ja) 2017-08-17
JP6671708B2 JP6671708B2 (ja) 2020-03-25

Family

ID=59628622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016022712A Active JP6671708B2 (ja) 2016-02-09 2016-02-09 バックアップリストアシステム及びバックアップリストア方法

Country Status (1)

Country Link
JP (1) JP6671708B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426587A (zh) * 2017-08-25 2019-03-05 杭州海康威视数字技术股份有限公司 一种数据恢复方法及装置
CN111666179A (zh) * 2020-06-12 2020-09-15 重庆云海时代信息技术有限公司 一种多点数据容灾的智能复制系统及服务器
WO2021052416A1 (zh) * 2019-09-18 2021-03-25 中兴通讯股份有限公司 容灾方法、装置、局点和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007073004A (ja) * 2005-09-09 2007-03-22 Canon Inc データ保全情報装置、分散ストレージシステム及びその方法
JP2010079886A (ja) * 2008-09-11 2010-04-08 Nec Lab America Inc 拡張可能な2次ストレージシステムと方法
JP2012226544A (ja) * 2011-04-19 2012-11-15 Clickbenefit Co Ltd 情報処理システムおよびデータバックアップ方法
US8504535B1 (en) * 2010-12-20 2013-08-06 Amazon Technologies, Inc. Erasure coding and redundant replication
JP2015519674A (ja) * 2012-06-13 2015-07-09 カリンゴ・インコーポレーテッドCaringo Incorporated ストレージクラスタにおける消失符号付加および複製
JP2015529861A (ja) * 2012-09-20 2015-10-08 株式会社日立製作所 複数の性能指標に基づきアクセス先を決定する分散バックアップシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007073004A (ja) * 2005-09-09 2007-03-22 Canon Inc データ保全情報装置、分散ストレージシステム及びその方法
JP2010079886A (ja) * 2008-09-11 2010-04-08 Nec Lab America Inc 拡張可能な2次ストレージシステムと方法
US8504535B1 (en) * 2010-12-20 2013-08-06 Amazon Technologies, Inc. Erasure coding and redundant replication
JP2012226544A (ja) * 2011-04-19 2012-11-15 Clickbenefit Co Ltd 情報処理システムおよびデータバックアップ方法
JP2015519674A (ja) * 2012-06-13 2015-07-09 カリンゴ・インコーポレーテッドCaringo Incorporated ストレージクラスタにおける消失符号付加および複製
JP2015529861A (ja) * 2012-09-20 2015-10-08 株式会社日立製作所 複数の性能指標に基づきアクセス先を決定する分散バックアップシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426587A (zh) * 2017-08-25 2019-03-05 杭州海康威视数字技术股份有限公司 一种数据恢复方法及装置
WO2021052416A1 (zh) * 2019-09-18 2021-03-25 中兴通讯股份有限公司 容灾方法、装置、局点和存储介质
CN111666179A (zh) * 2020-06-12 2020-09-15 重庆云海时代信息技术有限公司 一种多点数据容灾的智能复制系统及服务器
CN111666179B (zh) * 2020-06-12 2023-03-28 重庆云海时代信息技术有限公司 一种多点数据容灾的智能复制系统及服务器

Also Published As

Publication number Publication date
JP6671708B2 (ja) 2020-03-25

Similar Documents

Publication Publication Date Title
US10860432B2 (en) Cloud data backup storage manager
US11256558B1 (en) Prioritized data rebuilding in a dispersed storage network based on consistency requirements
JP6483746B2 (ja) データ記憶アプリケーションプログラミングインターフェース
US7529785B1 (en) Efficient backups using dynamically shared storage pools in peer-to-peer networks
US9250811B1 (en) Data write caching for sequentially written media
US9092441B1 (en) Archival data organization and management
JP6725742B2 (ja) ファイルストレージ、オブジェクトストレージ、およびストレージシステム
US9563681B1 (en) Archival data flow management
US10659225B2 (en) Encrypting existing live unencrypted data using age-based garbage collection
JP2017518565A (ja) 散在ストレージ・ネットワークにおける多世代記憶されたデータの読取り
US8954793B2 (en) Method and a storage server for data redundancy
JP2016513306A (ja) データ格納方法、データストレージ装置、及びストレージデバイス
JP5292351B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
US8315986B1 (en) Restore optimization
US11768624B2 (en) Resilient implementation of client file operations and replication
CN103593264A (zh) 远距离广域网络容灾备份系统及方法
WO2019080370A1 (zh) 一种数据读写方法、装置和存储服务器
JP6133396B2 (ja) 計算機システム、サーバ、及び、データ管理方法
JP6671708B2 (ja) バックアップリストアシステム及びバックアップリストア方法
US20160139996A1 (en) Methods for providing unified storage for backup and disaster recovery and devices thereof
JP5292350B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
JP2018524705A (ja) データ転送中にデータアクセス要求を処理するための方法及びシステム
JP6376626B2 (ja) データ格納方法、データストレージ装置、及びストレージデバイス
US10067998B2 (en) Distributed sync list
US11567832B1 (en) Using copied data in a distributed storage network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180628

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200106

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: 20200128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200221

R150 Certificate of patent or registration of utility model

Ref document number: 6671708

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150