JP6671708B2 - Backup restore system and backup restore method - Google Patents
Backup restore system and backup restore method Download PDFInfo
- Publication number
- JP6671708B2 JP6671708B2 JP2016022712A JP2016022712A JP6671708B2 JP 6671708 B2 JP6671708 B2 JP 6671708B2 JP 2016022712 A JP2016022712 A JP 2016022712A JP 2016022712 A JP2016022712 A JP 2016022712A JP 6671708 B2 JP6671708 B2 JP 6671708B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- backup
- target
- metadata
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、概して、バックアップ及びリストアのうちの少なくとも一方、例えば、その両方に関する。 The present invention generally relates to backup and / or restore, for example, both.
耐災害性を向上させるため、ネットワークを通してバックアップ及びリストアを行うシステムが構築されている。非特許文献1に示されている通り、正サイトが、遠隔にあるデータセンタにデータをバックアップする。正サイトに災害が起きて正サイトが復旧されると、復旧した正サイトが、バックアップされたデータをデータセンタからリストアする。
In order to improve disaster resistance, a system for backing up and restoring through a network has been constructed. As shown in Non-Patent
また、バックアップ及びリストアをファイルの更新差分データに基づき処理することによって効率化する技術が知られている。例えば、特許文献1に示される通り、更新差分の管理のため、更新のあったファイルデータブロックが、差分データとしてバックアップされる。
Further, there is known a technology for improving efficiency by processing backup and restore based on update difference data of a file. For example, as disclosed in
非特許文献1に開示の技術によれば、データをリストアするリストア処理に時間がかかる。具体的には、災害によって損壊した正サイトが物理的に復旧した後、遠隔データセンタから復旧した正サイトへデータが送信される。この時、ネットワークの帯域の制約により、データ転送に時間がかかる。
According to the technology disclosed in Non-Patent
特許文献1に開示の技術でも、差分データが大きい場合は非特許文献1と同様の問題が発生する。更に、リストアのために、差分の元となるベーススナップショットを復旧した正サイトに初めに送る必要があり、データ転送時間が長くなる。
Even with the technique disclosed in
また、ベーススナップショットが失われると、差分を用いたリストアが不可能になるため、遠隔データサイトが複数のベーススナップショットを保存することで対災害性を向上する必要がある。しかし、そうすると、バックアップデータ容量が大きくなってしまう。 Further, if the base snapshot is lost, restoration using the difference becomes impossible, so that it is necessary for the remote data site to store a plurality of base snapshots to improve disaster resistance. However, doing so increases the backup data capacity.
それぞれがファイル又はディレクトリである1以上のバックアップ対象オブジェクトを複数のバックアップサーバの少なくとも1つにバックアップする第1オブジェクトサーバと、それぞれがファイル又はディレクトリである1以上のリストア対象オブジェクトを複数のバックアップサーバの少なくとも1つからリストアする第2オブジェクトサーバとのうちの少なくとも1つが備えられる。1以上のリストア対象オブジェクトは、バックアップされた1以上のバックアップ対象オブジェクトでよい。1以上のバックアップ対象オブジェクトの各々、及び、1以上のリストア対象オブジェクトの各々は、オブジェクトデータとそのオブジェクトデータについてのメタデータとで構成されている。 A first object server for backing up one or more backup objects each of which is a file or a directory to at least one of a plurality of backup servers, and a first object server of one or more backup objects each of which is a file or a directory for a plurality of backup servers At least one of a second object server to be restored from at least one is provided. The one or more objects to be restored may be one or more objects to be backed up. Each of the one or more objects to be backed up and each of the one or more objects to be restored are composed of object data and metadata about the object data.
第1オブジェクトサーバは、1以上のバックアップ対象オブジェクトの各々におけるオブジェクトデータ及びメタデータの各々について、
当該データでありオブジェクトデータ又はメタデータである対象データが第1条件と第2条件のいずれの条件に該当するかを判断し、
対象データが第1条件に該当する場合、対象データの1以上の複製データを2以上のバックアップサーバにバックアップし、
対象データが第2条件に該当する場合、対象データのEC(Erasure Coding)に従う冗長度Vの断片データ(Vは1より大きい値)である2以上のデータを、2以上のバックアップサーバにバックアップする。なお、対象データの冗長度Vの断片データは、ECに従う断片データでなくてもよい。例えば、断片データの複製データが2以上のデータに含まれていれば、断片データが失われてもそれの複製データに代替可能なため、その断片データの冗長性が実現される。
The first object server, for each of the object data and metadata in each of the one or more objects to be backed up,
Determine whether the target data, which is the data and the object data or the metadata, satisfies the first condition or the second condition,
When the target data satisfies the first condition, one or more replicated data of the target data is backed up to two or more backup servers,
When the target data satisfies the second condition, two or more pieces of data that are fragment data (V is a value greater than 1) of the redundancy V according to EC (Erasure Coding) of the target data are backed up to two or more backup servers. . Note that the fragment data having the redundancy V of the target data may not be fragment data complying with EC. For example, if the duplicate data of the fragment data is included in two or more pieces of data, even if the fragment data is lost, it can be replaced with the duplicate data, so that the redundancy of the fragment data is realized.
第1オブジェクトサーバは、1以上のバックアップ対象オブジェクトの各々について、第1ファイルシステム空間におけるそのバックアップ対象オブジェクトの位置とそのバックアップ対象オブジェクトのバックアップ先とに関する情報を、複数のバックアップサーバのうちの少なくとも1つにおける管理情報に登録する。第1ファイルシステム空間は、1以上のバックアップ対象オブジェクトを含んだファイルシステム空間(例えばネームスペース)である。管理情報は、複数のバックアップサーバ以外の共有記憶領域(第1及び第2オブジェクトサーバのいずれもアクセス可能な記憶領域)に格納されてもよい。 The first object server, for each of the one or more backup target objects, stores information on the position of the backup target object in the first file system space and the backup destination of the backup target object in at least one of the plurality of backup servers. Registration in the management information in one. The first file system space is a file system space (for example, a name space) including one or more backup target objects. The management information may be stored in a shared storage area other than the plurality of backup servers (a storage area accessible by both the first and second object servers).
第2オブジェクトサーバは、1以上のリストア対象オブジェクトの各々について、そのリストア対象オブジェクトの第2ファイルシステム空間における位置と、そのリストア対象オブジェクトのバックアップ先とを、上述の管理情報を参照することにより特定する。第2ファイルシステム空間は、1以上のリストア対象オブジェクトを含んだファイルシステム空間であり、例えば、リストア対象の上記第1ファイルシステム空間であってよい。 The second object server specifies, for each of the one or more objects to be restored, the position of the object to be restored in the second file system space and the backup destination of the object to be restored by referring to the management information described above. I do. The second file system space is a file system space including one or more objects to be restored, and may be, for example, the first file system space to be restored.
第2オブジェクトサーバは、1以上のリストア対象オブジェクトの各々について、
当該オブジェクトである対象オブジェクトのメタデータとして、そのメタデータの少なくとも1つの複製データ、又は、そのメタデータの断片データを複数のバックアップサーバのうちの少なくとも1つから受信し、
対象オブジェクトのオブジェクトデータとして、そのオブジェクトデータの少なくとも1つの複製データ、又は、そのオブジェクトデータの断片データを複数のバックアップサーバのうちの少なくとも1つから受信し、
受信したメタデータと受信したオブジェクトデータとに基づき、対象オブジェクトの第2ファイルシステム空間における位置に対象オブジェクトをリストアする。
The second object server, for each of the one or more objects to be restored,
As metadata of a target object that is the object, at least one copy of the metadata or fragment data of the metadata is received from at least one of the plurality of backup servers,
Receiving, as object data of the target object, at least one copy of the object data or fragment data of the object data from at least one of the plurality of backup servers;
The target object is restored to the position in the second file system space of the target object based on the received metadata and the received object data.
なお、第2オブジェクトサーバは、第1オブジェクトサーバのリプレース後(復旧後)のオブジェクトサーバでもよいし、第1オブジェクトサーバのスケールアウト等の目的で追加されたオブジェクトサーバでもよい。 The second object server may be an object server after replacement (after restoration) of the first object server, or may be an object server added for the purpose of scaling out the first object server.
高いリストア性能とバックアップデータ容量削減を両立できる。具体的には、第1条件に該当するデータ(例えば、メタデータのような一般的に小サイズのデータ)についてはその複製がバックアップされ、第2条件に該当するデータ(例えば、オブジェクトデータのような大サイズとなり得るデータ)については複数の断片データに分割されてバックアップされるので、複数のバックアップサーバから1以上のリストア対象オブジェクトを転送するのに要する時間を短縮できる。また、第2条件に該当するデータの分割はEC(Erasure Coding)に従うエンコードのため、冗長性を保ちつつデータ容量削減を実現できる。 High restore performance and backup data capacity reduction can both be achieved. More specifically, a copy of data that satisfies the first condition (for example, generally small-sized data such as metadata) is backed up, and data that satisfies the second condition (for example, object data such as object data). Data that can be large in size) is divided into a plurality of fragmented data and backed up, so that the time required to transfer one or more objects to be restored from a plurality of backup servers can be reduced. In addition, since the data that satisfies the second condition is encoded according to EC (Erasure Coding), the data capacity can be reduced while maintaining redundancy.
以下、幾つかの実施例を説明する。 Hereinafter, some embodiments will be described.
なお、以下の説明では、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。 In the following description, information may be described in an expression such as “xxx table” in the following description, but the information may be expressed in any data structure. That is, "xxx table" can be referred to as "xxx information" to indicate that the information does not depend on the data structure. Further, in the following description, the configuration of each table is an example, and one table may be divided into two or more tables, or even if all or some of the two or more tables are one table. Good.
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェイスデバイス(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理としてもよい。また、プロセッサは、処理の一部または全部を行うハードウエア回路を含んでもよい。プログラムは、プログラムソースから各コントローラにインストールされてもよい。プログラムソースは、例えば、プログラム配布計算機または計算機が読み取り可能な記憶メディアであってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。 Further, in the following description, processing may be described with “program” as the subject, but the program is stored in a processor (for example, a CPU (Central Processing Unit)) so that the determined processing is appropriately stored. The processing may be performed using a resource (for example, a memory) and / or a communication interface device (for example, a communication port), or the like, and the subject of the processing may be a processor. The processor may include a hardware circuit that performs part or all of the processing.The program may be installed in each controller from a program source. Program distribution computer or computer readable憶 may be media. In the following description, to 2 or more programs may be implemented as a single program, a single program may be implemented as two or more programs.
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号(又は参照符号における共通部分)を使用し、同種の要素を区別して説明する場合は、要素のID(又は要素の参照符号)を使用することがある。例えば、ファイルサーバを特に区別しないで説明する場合には、「ファイルサーバ105」と記載し、個々のファイルサーバを区別して説明する場合には、「ファイルサーバ105A」、「ファイルサーバ105B」のように記載することがある。
In the following description, reference numerals (or common parts in reference numerals) are used when describing the same kind of elements without distinguishing them, and when discriminating and describing the same kind of elements, the element IDs (or Element reference number). For example, when the file server is described without particular distinction, it is described as “
図1は、実施例1に係るバックアップリストアシステムの構成を示す。 FIG. 1 illustrates a configuration of the backup / restore system according to the first embodiment.
バックアップリストアシステム100は、クライアント101、正サイト103、正サイト103にある管理サーバ104、ファイルサーバ105A、バックアップサイト106、バックアップサイト106にあるバックアップサーバ107、リカバリサイト108、及び、リカバリサイト108にあるファイルサーバ105Bを有する。複数のバックアップサーバ107が存在する。バックアップリストアシステム100は、計算機システムの一例であり、ファイルサーバ105A及び105Bを含んでいるため、バックアップリストアシステムと呼ばれる。ファイルサーバ105Bが無い場合、ファイルサーバ105Aを含んだ計算機システムは、バックアップシステムと呼ばれてよい。一方、ファイルサーバ105Aが無い場合、ファイルサーバ105Bを含んだ計算機システムは、リストアシステムと呼ばれてよい。
The backup / restore
クライアント101と正サイト103とバックアップサイト106とリカバリサイト108は通信路102によって相互に接続されている。通信路102は、例えば、LAN(Local Area Network)やインターネットのような通信ネットワークでよい。
The
クライアント101は、ファイルサーバ105A又はファイルサーバ105Bを利用する端末(計算機)である。クライアント101を使用するエンドユーザは、クライアント101のファイルアクセスプログラム110を用いてファイルサーバ105A又はファイルサーバ105Bへ接続し、ファイルサーバ105A又はファイルサーバ105Bに格納されているファイルを読み書きする。
The
正サイト103は、災害発生前に、クライアント101へファイルアクセスサービスを提供するサイトである。
The
正サイト103の管理サーバ104は、バックアップリストアシステム100の全体を管理する端末(計算機)である。バックアップリストアシステム100の管理者は、管理サーバ104を用いて、バックアップリストアシステム100の設定を行う。例えば、管理者は、管理サーバ104を用いてバックアップサイト106AのIPアドレスをファイルサーバ105Aに設定する。なお、管理サーバ104は、バックアップサイト106やリカバリサイト108のような任意の位置に配置されてよい。
The
正サイト103内のファイルサーバ105Aは、クライアント101へファイルアクセスサービスを提供する計算機である。ファイルサーバ105Aは、第1オブジェクトサーバの一例である。ファイルアクセスサービスは、いずれの種別でもよく、例えば、NFS(Network File System)又はCIFS(Common Internet File System)である。正サイト103のファイルサーバ105Aは、例えば、災害が発生する前に運用されるサーバである。
The
バックアップサイト106は、バックアップデータを保持するサイトである。バックアップサイト106のバックアップサーバ107に、ファイルサーバ105が保持するオブジェクト(ファイル又はディレクトリ)のオブジェクトデータ(例えばファイルデータ)とそれのメタデータとのうちの少なくとも一部に関するデータ(具体的には、後述するように、複製データ、断片データ及びパリティデータのうちの少なくとも1つ)がバックアップされる。バックアップサーバ107は、ファイルサーバ105Aからデータを定期的又は不定期的に受信し、受信したデータを、バックアップサーバ107のディスクデバイス(不揮発記憶デバイスの一例)へ格納する。ファイルサーバ105とバックアップサーバ107の動作は後に詳述する。また、1つのバックアップサイト106に1つのバックアップサーバ107が存在するため、本実施例では、バックアップサイト106とバックアップサーバ107は実質的に同義である。
The backup site 106 is a site that stores backup data. The
リカバリサイト108は、災害発生後に、クライアント101へファイルアクセスサービスを提供するサイトである。
The
リカバリサイト108のファイルサーバ105Bは、災害発生後に、クライアント101へファイルアクセスサービスを提供する計算機である。ファイルサーバ105Bは、第2オブジェクトサーバの一例である。災害によって、正サイト103が物理的に損壊した場合、リカバリサイト108のファイルサーバ105Bがサービスを引き継ぐ。そのため、正サイト103のファイルサーバ105Aが、ファイルサーバ105Aが保持するデータをバックアップサイト106のバックアップサーバ107へ定期的に又は不定期的にバックアップする(保存する)。災害発生後、リカバリサイト108のファイルサーバ105Bは、バックアップサーバ107からデータ(バックアップされたデータ)を取得し、ファイルアクセスサービスを再開する。クライアント101は、再開したファイルサービスを利用する。
The
バックアップリストアシステム100において、正サイト103のファイルサーバ105Aは、1以上のバックアップ対象オブジェクトの各々におけるオブジェクトデータ及びメタデータの各々について、そのデータのバックアップ方式を決定する、具体的には、そのデータが第1条件と第2条件のいずれに該当するかを判断する。
In the backup / restore
メタデータのような一般的に小サイズのデータは、第1条件に該当する。この場合、ファイルサーバ105Aは、データを、複数のバックアップサーバ107に多重複製する。
Generally, small-sized data such as metadata satisfies the first condition. In this case, the
一方、オブジェクトデータのような一般的に大サイズとなり得るデータは、第2条件に該当する。この場合、ファイルサーバ105Aは、データを分割することにより得られた複数の断片データを複数のバックアップサーバ107にバックアップする。データ分割として、耐災害性を向上させるため、EC(Erasure Coding)に従うエンコードが採用される。
On the other hand, data that can be generally large in size, such as object data, corresponds to the second condition. In this case, the
データのリストア時には、第1条件に該当したデータについては、少なくとも1つのバックアップサーバ107から複製データがファイルサーバ105Bに転送される。複製データを用いてリストアが行われる。本実施例では、第1条件は、データがメタデータであることである。メタデータはファイルデータより優先的にリストアされる。つまり、メタデータを発災後早急にリストアできる。また、メタデータは、一般的に小サイズのデータ(例えば数キロバイト程度のデータ)のため、容量オーバヘッドが小さい。
When data is restored, at least one
第2条件に該当したデータについては、複数のバックアップサーバ107からファイルサーバ105Bに並列に断片データが転送される。このため、1つのバックアップサーバ107からデータ(典型的にはファイルデータ)が転送されることに比べてデータ転送時間が短縮される。また、データ分割にECが採用されていることで、バックアップ及びリストアで広帯域化が実現され、且つ、容量オーバヘッドを抑えることができる。複数の断片データを用いたデコードによりデータがリストアされる。
For data that satisfies the second condition, fragment data is transferred from the plurality of
以下、実施例1を詳述する。 Hereinafter, Example 1 will be described in detail.
図2は、ファイルサーバ105の構成を示す。
FIG. 2 shows the configuration of the
ファイルサーバ105は、ネットワークI/F(インターフェース)201と、CPU202と、ディスクデバイス203と、メモリ205とを有する。それらは内部通信路204によって相互に接続されている。
The
ネットワークI/F201は、通信路102と相互に接続されており、クライアント101からのファイルアクセス要求を受け付ける場合に用いられるデバイスである。CPU202は、メモリ205に格納されたプログラムを実行するデバイスであり、プロセッサの一例である。ディスクデバイス203は、プログラムファイルやエンドユーザが作成したファイルを格納する記憶デバイスである。メモリ205は、プログラムやデータ構造を保持するデバイスである。プログラムはディスクデバイス203に格納されており、CPU202がそれを実行する際に、それをメモリ205へ読み込む。以降、特に明示しない限り、プログラムはCPUによって実行されるものとする。また、プログラムはディスクデバイスからメモリに読み込まれて実行されるものとする。
The network I /
ファイル共有サーバプログラム206は、クライアント101のファイルアクセスプログラム110のファイルアクセス要求を処理するプログラムである。ファイルアクセス要求とは、例えば、ファイルの読み込み(READ)やファイルへのデータ書き込み(WRITE)である。ファイルアクセス要求によって受信したファイルデータは、ディスクデバイス203へ格納される。そのファイルデータは、バックアップサーバ107へバックアップされる。
The file
ファイルシステムプログラム207は、ディスクデバイス203に格納されたファイルのデータや管理情報(メタデータ)を管理するプログラムである。ファイル共有サーバプログラム206は、クライアント101から送られてきたファイルデータをファイルシステムプログラム207へ受け渡し、ファイルシステムプログラム207がディスクデバイス203へ格納して管理する。
The
バックアップ決定プログラム208は、バックアップ先のバックアップサーバ107やバックアップ方式を決めるプログラムである。バックアップ決定プログラム208の処理動作は後に詳述する。
The
バックアップデータ送受信プログラム209は、バックアップデータをバックアップサーバ107へ通信路102を通して送信するプログラムである。バックアップデータの送受信に用いるプロトコルは、例えば、REST(Representational State Transfer)プロトコル又はSMB(Server Message Block)プロトコルである。
The backup data transmission /
複製データ作成プログラム210は、バックアップするファイルのバックアップデータを作成するプログラムである。複製データ作成プログラム210は、バックアップ対象となったファイルのメタデータとデータを分離したバックアップデータを作成する。更に、複製データ作成プログラム210は、データをECに従い冗長符号化する。EC(Erasure Coding)とは、データをあるサイズの断片データに分割し、その断片データのパリティデータを作成する符号化方式である。パリティデータ数の断片データを失っても、元のデータを復元できる。例えば、複製データ作成プログラム210は、或るファイルのバックアップデータとして、10個の複製データ(単純複製メタデータ)と10個の断片データと2個のパリティデータとを作成したとする。複製データ作成プログラム210は、これらを複数のバックアップサーバ107へバックアップ(分散)する。これにより、バックアップリストアシステム100の耐災害性が向上する。ECにはReed Solomon符号化など様々な方式があるが、ECの方式としていずれの方式が採用されてもよい。
The copy
複製データ復元プログラム211は、複製データ作成プログラム210が作成したバックアップデータを用いて元のファイルを復元するプログラムである。バックアップデータがECによって冗長化されている場合は、デコード処理を行って元のデータを計算によって求める。
The copy
管理プログラム212は、複製データ作成プログラム210などのプログラムが用いる管理情報を作成又は管理するプログラムである。例えば、管理プログラム212は、ECの方式や単純複製数などを設定又は管理する。管理プログラム212は、管理サーバ104を通して管理者によって実行される。管理者は、管理サーバ104からファイルサーバ105へ任意のプロトコル(例えばSSH(Secure Shell)プロトコル)を用いて接続し、管理プログラム212を動作させる。
The
バックアップ設定テーブル213は、管理プログラム212によって生成されるバックアップ方式などを定めたテーブルである。バックアップ設定テーブル213は後に詳述する。
The backup setting table 213 is a table that defines a backup method and the like generated by the
図3は、バックアップサーバ107の構成を示す。
FIG. 3 shows the configuration of the
バックアップサーバ107は、ネットワークI/F301と、CPU302と、メモリ303と、ディスクデバイス310とを有する。それらは内部通信路307によって相互に接続されている。
The
ネットワークI/F301は、外部通信路102と接続されるデバイスである。CPU302は、メモリ303に格納されたプログラムを実行するデバイスである。ディスクデバイス310は、プログラム、バックアップ管理テーブル308、断片データ309(309A、309B、…)、パリティデータ311及び複製データ312を保持するデバイスである。断片データ309は、データの一部分であり、データECに従いエンコードすることにより得られた部分データである。パリティデータ311は、1以上の断片データ309のうちの1つを生成するために使用されるデータである。複製データは、データ(例えばメタデータ)の複製である。ファイルシステムプログラム304は、バックアップデータをファイルとして管理するプログラムである。
The network I /
バックアップデータ送受信プログラム305は、ファイルサーバ105(105A)から送られてくるバックアップデータをファイルとしてディスクデバイス310へ保存すると共に、ファイルサーバ105(105B)からのバックアップデータ取得要求に対してバックアップデータをファイルサーバ105(105B)に送信するプログラムである。なお、上述の通り、バックアップデータの送受信には、RESTなどのプロトコルが用いられてよい。
The backup data transmission /
管理プログラム306は、バックアップサーバ107の設定を行うプログラムである。例えば、管理プログラム306は、バックアップサーバ107のIPアドレスなどを設定する。
The
ディスクデバイス310に格納されるバックアップ管理テーブル308は、バックアップデータの格納先のバックアップサーバ107やEC方式などを管理するテーブルである。バックアップ管理テーブル308の内容や利用法は後に詳述する。バックアップ管理テーブル308は、少なくとも1つのバックアップサーバ107、又は、ファイルサーバ105A及び105Bがアクセス可能な他の共有記憶領域に格納されてよい。
The backup management table 308 stored in the
図4は、バックアップ設定テーブル213の構成を示す。 FIG. 4 shows the configuration of the backup setting table 213.
バックアップ設定テーブル213は、複数のバックアップサーバ107(バックアップサイト106)の各々についてレコードを有する。各レコードが、サイトID401、サイト名402及びURL403を格納する。また、バックアップ設定テーブル213は、EC設定410及びレプリケーション設定411を格納する。
The backup setting table 213 has a record for each of the plurality of backup servers 107 (backup site 106). Each record stores a
サイトID401は、バックアップサイト106のID(例えば通番)である。サイト名402は、バックアップサイト106の名称である。URL403は、ファイルサーバ105からバックアップサーバ107(バックアップサーバ107内のストレージ)へのアクセスパスである。ファイルサーバ105は、断片データ309やパリティデータ311へアクセスするためURL403に基づいてアクセスパスを生成し、それらのデータを取得又は送信する。URL403に代えて他種のアクセスパスが採用されてもよい。EC設定410は、ECに従うエンコードのポリシーに関する情報、例えば、断片データ数、パリティデータ数及びEC方式を表す情報を含む。レプリケーション設定411は、レプリケーション方式で複製する場合のレプリケーション数(複製データ数)を表す情報を含む。例えば、レプリケーション設定411に従ってメタデータの複製データ数(レプリケーション数)が決定される。
The
図5は、バックアップ管理テーブル308の構成を示す。 FIG. 5 shows the configuration of the backup management table 308.
バックアップ管理テーブル308は、1以上のバックアップ対象オブジェクト(リストア対象オブジェクト)の各々についてレコードを有する。各レコードが、パス501、ID502、種別503、Meta504、Data505、MetaBUP506、DataBUP507、ParityBUP508を格納する。
The backup management table 308 has a record for each of one or more backup target objects (restore target objects). Each record stores a
パス501は、ファイルシステム空間におけるオブジェクトへのパス(バス名)を表す。パス501は、ファイルシステム空間におけるオブジェクトの位置情報の一例である。リストア時には、パス501と同じパス(位置)にファイル又はディレクトリがリストアされる。ID502は、オブジェクトのIDである。種別503は、オブジェクトの種別(ファイル又はディレクトリ)を示す情報である。
A
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つのレコードが、上述の共有記憶領域に格納されてよい。
The backup management table 308 may be divided into a plurality of record groups (one or more records), and the plurality of record groups may be distributed to the plurality of
以下、本実施例で行われる処理を説明する。 Hereinafter, processing performed in the present embodiment will be described.
図6は、リストア処理の模式図である。 FIG. 6 is a schematic diagram of the restore processing.
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つ)がバックアップされている。
Using the
ファイルサーバ105Bが、一時ディレクトリ「TMP」を、第2ファイルシステム空間(オブジェクトのリストア先のファイルシステム空間)に生成する。一時ディレクトリ「TMP」は、例えば、ルートディレクトリ「Root」の子ディレクトリとして生成される。
The
ファイルサーバ105Bが、バックアップ管理テーブル308を参照することで、3つのオブジェクトの各々について、そのオブジェクトの第2ファイルシステム空間における位置と、そのオブジェクトのバックアップ先サイト名とを特定する。
By referring to the backup management table 308, the
その後、まず、ファイルサーバ105Bが、オブジェクトデータよりもメタデータを優先的にリストアする。具体的には、ファイルサーバ105Bが、バックアップサーバ107A及び107Bから、並行して、3つのオブジェクトにそれぞれ対応した3つの複製データ312(メタデータ複製)を取得し、一時ディレクトリ「TMP」に、3つの複製データをそれぞれ仮復旧する。メタデータの仮復旧とは、そのメタデータのみを有しオブジェクトデータを有さないオブジェクトである仮オブジェクトを生成することである。これにより、一時ディレクトリ「TMP」に、3つの仮オブジェクトが生成される。なお、ディレクトリは一般にオブジェクトデータを有さないため、ディレクトリ「HOME」については、メタデータの仮復旧により一時的にリストアされたことになる。
After that, first, the
次に、ファイルサーバ105Bが、バックアップサーバ107A及び107Bから、並行して、ファイルX及びYに対応した複数の断片データ及び複数のパリティデータを取得する。ファイルサーバ105Bが、取得したそれらのデータを用いたデコードを行うことにより、ファイルX及びYにそれぞれ対応した2つのファイルデータを算出する。ファイルサーバ105Bが、その2つのファイルデータの各々を仮復旧する。ファイルデータの仮復旧とは、そのファイルデータをそのファイルデータに対応する仮オブジェクトに格納することである。これにより、一時ディレクトリ「TMP」に、ファイルX及びYの各々がリストアされる。
Next, the
最後に、ファイルサーバ105Bが、3つのオブジェクトの各々を、一時ディレクトリ「TMP」から、第2ファイルシステム空間における該当位置に移動する。具体的には、例えば、ディレクトリ「HOME」が、ルートディレクトリ「Root」の子ディレクトリとして配置される(パス「/Root/HOME」に従う位置に移動される)。そして、ディレクトリ「HOME」内にファイルX及びファイルYが移動される(ファイルXが、パス「/Root/HOME/FileX」に従う位置に移動され、ファイルYが、パス「/Root/HOME/FileY」に従う位置に移動される)。3つのオブジェクトの移動後(つまりリストア処理の完了後)、一時ディレクトリ「TMP」がファイルサーバ105Bにより削除されてよい。
Finally, the
一時ディレクトリ「TMP」があれば、複数のリストア対象オブジェクトのうちの上位のリストア対象オブジェクトがリストアされるのを待つことなく下位のリストア対象オブジェクトを先に一時的にリストアすることができる。これにより、リストア処理を高速に実行できる。 With the temporary directory “TMP”, the lower-level restoration target object can be temporarily restored first without waiting for the higher-level restoration target object of the plurality of restoration target objects to be restored. As a result, restore processing can be executed at high speed.
図7は、バックアップ処理のフローを示す。 FIG. 7 shows a flow of the backup process.
災害前に正サイト103のファイルサーバ105Aがバックアップ処理を実行する。バックアップ処理は、ファイルサーバ105Aのプログラムとバックアップサーバ107のプログラムが連携して動作する。ファイルシステムプログラム304がクライアント101のファイルアクセスプログラム110から受信したファイルは、一旦ディスクデバイス203へ格納される。そのファイルのファイルデータが、一定期間が経過すると、ECに従い2以上の断片データ309と1以上のパリティデータ311とされ、それらのデータと、メタデータ(複製データ)とが、複数のバックアップサーバ107のうちの2以上のバックアップサーバ107へ送られることになる。
Before the disaster, the
まず、バックアップ処理において、バックアップ決定プログラム208が、バックアップ方式決定処理を実行する(ステップ701)。具体的には、実施例1では、バックアップ決定プログラム208は、バックアップ設定テーブル213のEC設定410に従い、バックアップ対象オブジェクトのオブジェクトデータについて、断片データ数とパリティデータ数を決める。さらに、バックアップ決定プログラム208は、バックアップ設定テーブル213のレプリケーション設定411に従い、バックアップ対象データのメタデータについて、複製データ数を決定する。なお、バックアップ対象がディレクトリの場合、オブジェクトデータが無いため、ディレクトリのバックアップについては、レプリケーション設定411のみ使用される。以下、図7の説明では、バックアップ対象オブジェクトはファイルであるとする。
First, in the backup process, the
次に、バックアップ決定プログラム208は、バックアップ対象ファイルのファイルデータについて、断片データ数とパリティデータ数の合計のバックアップサイト106をバックアップ設定テーブル213から選定する(ステップ702)。バックアップ先(バックアップサイト106)は、サイトIDの番号に基づいてラウンドロビンで決定されてよい。このステップ702で、複製データのバックアップ先のバックアップサイト106が選定されてもよい。そのバックアップサイト106は、断片データ及びパリティデータのバックアップ先と異なるバックアップサイト106(バックアップサーバ107)でよい。
Next, the
次に、複製データ作成プログラム210が、バックアップ対象ファイルのファイルデータをECに従いエンコードする(ステップ703)。この時、複製データ作成プログラム210は、バックアップ決定プログラム208から断片データ数とパリティデータ数を受け、その断片データ数分の断片データ309と、そのパリティデータ数分のパリティデータ311を生成する。なお、バックアップ対象オブジェクトがディレクトリの場合は、このステップ703はスキップされる。
Next, the copy
バックアップデータ送受信プログラム209が、生成された断片データ309とパリティデータ311を、ステップ702で選定されたバックアップサーバ107へそれぞれバックアップ(送信)する(ステップ704)。具体的には、バックアップデータ送受信プログラム209は、断片データ309とパリティデータ311のバックアップ先のバックアップサーバ107のリストをバックアップ決定プログラム208から受け取り、そのリストに従ってそれらのデータを送信する。なお、バックアップ対象オブジェクトがディレクトリの場合、このステップ704はスキップされる。
The backup data transmission /
次に、バックアップデータ送受信プログラム209は、バックアップ対象ファイルのメタデータをバックアップサーバ107へ送信する(ステップ705)。この時、バックアップデータ送受信プログラム209は、メタデータ送信先となるバックアップサーバ107のリストをバックアップ決定プログラム208から受け取り、そのリストに従ってメタデータを送信する。
Next, the backup data transmission /
次に、バックアップデータ送受信プログラム209は、バックアップ管理テーブル308にレコードを追加する(ステップ706)。バックアップデータ送受信プログラム209は、その追加したレコードに、下記を登録する(ステップ707)。
・バックアップ対象ファイルのパスを表すパス501。
・バックアップ対象ファイルのID(通番)502。
・種別503「FILE」。
・Meta504「Rep.」(メタデータの複製データがバックアップされたため)。
・Data505「(p,q)」(p=断片データ数、q=パリティデータ数)。
・MetaBUP506(複製データ(メタデータ複製)の送信先のバックアップサイト106のサイト名)。
・DataBUP507(断片データの送信先のバックアップサイト106のサイト名)。
・ParityBUP508(パリティデータの送信先のバックアップサイト106のサイト名)。
Next, the backup data transmission /
A
An ID (serial number) 502 of the file to be backed up;
-
MetaBUP 506 (the site name of the backup site 106 to which duplicate data (metadata duplication) is transmitted).
DataBUP 507 (site name of backup site 106 to which fragment data is transmitted).
ParityBUP 508 (site name of backup site 106 to which parity data is transmitted).
図8は、リストア処理のフローを示す。 FIG. 8 shows a flow of the restore processing.
リストア処理は、災害発生後にリカバリサイト108のファイルサーバ105Bにより実行される。
The restoration process is executed by the
ファイルサーバ105Bのバックアップデータ送受信プログラム209は、バックアップ設定テーブル213に記述されたバックアップサーバ107に接続し、バックアップ管理テーブル308を取得する(ステップ801)。なお、全てのバックアップサーバ107にバックアップ管理テーブル308が格納されていない場合、全てのバックアップサーバ107からバックアップ管理テーブル308を取得できるまで、順次、バックアップサーバ107へアクセスが行われてもよい。また、バックアップ設定テーブル213には、バックアップ管理テーブル308が格納されるバックアップサーバ107のURLが記述されていてよく、そのURLを用いて、バックアップ管理テーブル308の取得(参照)が行われてもよい。
The backup data transmission /
次に、複製データ復元プログラム211は、バックアップ管理テーブル308のレコード520を1つ選択し(ステップ802)、そのレコードのMeta504とData505から、バックアップ方式を特定する(ステップ803)。これにより、複製データ復元プログラム211は、各リストア対象オブジェクトのリストア方式がわかる。そして、複製データ復元プログラム211は、リストア元とするバックアップサーバ107を特定する(ステップ804)。ここでは、例えば、ネットワーク接続をpingコマンドによって確認し、その結果に基づいてバックアップサーバ107を決定することが行われてよい。この時、オブジェクトデータの取得のためには、DataBUP507に基づきバックアップサーバ107が特定される。DataBUP507に記述されたバックアップサーバ107が停止している場合、複製データ復元プログラム211は、ParityBUP508から1つの代替サイト(バックアップサーバ107)を選択する。
Next, the copy
次に、複製データ復元プログラム211は、バックアップデータ送受信プログラム209を通して、選定したバックアップサーバ107からメタデータをリストアする(ステップ805)。この時、前述の通り、複製データ復元プログラム211は、メタデータを仮復旧するため、一時ディレクトリへ仮ファイルを生成する(ステップ806)。
Next, the copy
そして、複製データ復元プログラム211は、バックアップデータ送受信プログラム209を通して、選定したバックアップサーバ107から、断片データ又はパリティデータを受信する(ステップ807)。そして、複製データ復元プログラム211は、受信したデータを用いて、ECに従うデコードを行い、ファイルを一時ディレクトリへ仮復旧する(ステップ808)。複製データ復元プログラム211は、仮復旧したファイル又はディレクトリ(つまり、一時的にリストアされたファイル又はディレクトリ)を、バックアップ管理テーブル308のパス501に基づいて、本来のパスに従う位置に移動する(ステップ809)。これにより、1つのファイル又はディレクトリのリストアが完了する。
Then, the copy
次に、複製データ復元プログラム211は、未リストアのファイル又はディレクトリの有無を確認する(ステップ810)。未リストアのファイル又はディレクトリがあれば(ステップ810:N)、ステップ802から処理が再開される。一方、無ければ(ステップ810:Y)、処理が終了する。
Next, the copy
ここで、図6を用いて説明したリストアの並列処理について、並列処理される区間は、ステップ803からステップ809である。この区間は、ファイル又はディレクトリを個別に処理できるため、並列化可能である。並列化する場合は、複数のスレッド又はプロセスによって、該当の区間に属するステップが実行される。
Here, in the parallel processing of the restoration described with reference to FIG. 6, the section where the parallel processing is performed is from
以上、実施例1によれば、メタデータとオブジェクトデータでバックアップ方式が異なる。具体的には、メタデータはレプリケーションバックアップを行い、オブジェクトデータはECに従う分散バックアップを行う。オブジェクトデータをリストアするには、メタデータのリストア完了が必要である。よって、本実施例により、メタデータを格納するバックアップサイトさえ回復すればすぐにメタデータをリストアする前提条件を整えることが可能となる。更に、その後、複数のバックアップサイトが順次回復するのに合わせて、メタデータに比して時間のかかるオブジェクトデータを実行することとなり、何れか単一の方法を用いるのに比べて効率よく短い時間での回復を可能とすることができる。 As described above, according to the first embodiment, the backup method differs between metadata and object data. Specifically, the metadata performs a replication backup, and the object data performs a distributed backup according to EC. To restore object data, metadata restoration must be completed. Therefore, according to the present embodiment, it is possible to prepare the precondition for restoring the metadata as soon as the backup site storing the metadata is restored. Further, thereafter, as the plurality of backup sites are sequentially recovered, the object data, which takes longer time than the metadata, is executed, and a shorter time is efficiently used than in the case of using any one method. Recovery can be made possible.
以下、実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する。 Hereinafter, a second embodiment will be described. At this time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.
実施例2では、バックアップ対象オブジェクトの属性(具体的には、オブジェクト中のデータのサイズ、オブジェクトのパス深度(後述))によって、バックアップ方式やバックアップ冗長度(複製データ数、断片データ数及びパリティデータ数のうちの少なくとも1つ)が異なる。これにより、オブジェクトの属性に最適なバックアップ及びリストアが期待できる。 In the second embodiment, depending on the attributes of the backup target object (specifically, the size of the data in the object, the path depth of the object (described later)), the backup method and the backup redundancy (the number of duplicate data, the number of fragment data, and the parity data) At least one of the numbers). As a result, backup and restoration optimal for the attributes of the object can be expected.
例えば、バックアップ対象オブジェクトがファイルデータであっても、ファイルデータのデータサイズが閾値未満の場合、ECに代えてレプリケーションバックアップが採用される。サイズが小さいデータをECに従い分割してバックアップしても、リストア時の並列化効果が低い。そこで、データサイズが閾値未満のファイルデータについてはレプリケーションバックアップを採用することでECに従うデコード(ステップ808)を省略することができる。これにより、リストア処理の更なる高速化が期待できる。 For example, even if the object to be backed up is file data, if the data size of the file data is smaller than the threshold, replication backup is adopted instead of EC. Even if small data is divided and backed up according to EC, the parallelization effect at the time of restoration is low. Therefore, for the file data whose data size is less than the threshold, decoding according to EC (step 808) can be omitted by employing replication backup. This can be expected to further speed up the restore processing.
図9は、実施例2に係るバックアップ方式テーブルの構成を示す。 FIG. 9 illustrates a configuration of a backup mode table according to the second embodiment.
バックアップ方式テーブル900は、ファイルサーバ105の記憶部(メモリ及びディスクデバイスのうちの少なくとも1つ)に格納される。バックアップ方式テーブル900は、パラメータ901及び値902を1つの組としたレコードを有する。本実施例では、パラメータ901として、「メタデータ」、「オブジェクトデータ(サイズ大)」、「オブジェクトデータ(サイズ小)」、及び「サイズ閾値」がある。ここで例として示す値は管理者によって適切な値が設定される。従って、本発明はこの例に限定されるものではない。
The backup method table 900 is stored in a storage unit (at least one of a memory and a disk device) of the
パラメータ901「メタデータ」の値902、パラメータ901「オブジェクトデータ(サイズ大)」の値902、及び、パラメータ901「オブジェクトデータ(サイズ小)」の値902のいずれも、(x,y,z)、すなわち、パス深度(x)と、バックアップ方式(y)と、冗長度(z)との関係を示す。
The
オブジェクトの「パス深度」とは、ファイルシステム空間におけるオブジェクトの深さ、言い換えれば、ルートディレクトリからそのオブジェクトへ至るまでに経由するリンクの数である。例えば、パスが「/DIR1/DIR2/FileX」の場合、ルートディレクトリからファイルXに至るまでに3つのリンク(ルートディレクトリからディレクトリ「DIR1」までのリンク、ディレクトリ「DIR1」からディレクトリ「DIR2」までのリンク、及び、ディレクトリ「DIR2」から「FileX」までのリンク)を経由するため、パス深度は3である。本実施例では、パス深度の範囲として、1以上4以下の範囲と、5以上の範囲とが設けられている。従って、図9において、パス深度「1」は、パス深度が1以上4以下であることを意味し、パス深度「5」は、パス深度が5以上であることを意味する。パス深度の範囲は、本実施例に限られない。 The "path depth" of an object is the depth of the object in the file system space, in other words, the number of links that go from the root directory to the object. For example, when the path is “/ DIR1 / DIR2 / FileX”, three links (a link from the root directory to the directory “DIR1” and a link from the directory “DIR1” to the directory “DIR2”) from the root directory to the file X are provided. The path depth is 3 through the link and the directory “DIR2” to “FileX”. In the present embodiment, a range of 1 or more and 4 or less and a range of 5 or more are provided as ranges of the path depth. Accordingly, in FIG. 9, the path depth “1” means that the path depth is 1 or more and 4 or less, and the path depth “5” means that the path depth is 5 or more. The range of the path depth is not limited to the present embodiment.
「バックアップ方式」は、複製とECのいずれかである。バックアップ方式「Rep」は、複製を意味し、バックアップ方式「EC」は、ECを意味する。 The “backup method” is either a copy or EC. The backup method “Rep” means duplication, and the backup method “EC” means 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の値を高くすることが好ましい。 The meaning of “redundancy” differs depending on whether the backup method is “Rep” or “EC”. When the backup method is “Rep”, “redundancy” is the number of duplicate data. When the backup method is “EC”, “redundancy” is EC redundancy. Here, the EC redundancy V is defined as (p + q) / p. p is the number of fragment data generated as described above, and q is the number of parity data generated as described above. Specifically, for example, when one piece of parity data is generated for two pieces of fragment data, the EC redundancy V is (2 + 1) /2=1.5. The reason why the value of the EC redundancy V is changed depending on the path depth is that an object having a small path depth (that is, a shallow object) is considered to have a high importance. For example, below the directory "DIR1", other directories and other files may be stored in addition to the directories "DIR2" and "FileX" described above. That is, the directory “DIR1” depends on these objects. Unless restoration of the directory "DIR1" is completed, restoration of these objects cannot be completed. Therefore, it is preferable that a relatively shallow object has a higher EC redundancy value V than a relatively deep object.
パラメータ901「サイズ閾値」は、オブジェクトデータのサイズの閾値である。図9によれば、「サイズ閾値」の値902は、「1MB」である。また、「オブジェクトデータ(サイズ大)」は、サイズ閾値以上のサイズのオブジェクトデータであり、「オブジェクトデータ(サイズ小)」は、サイズ閾値未満のサイズのオブジェクトデータである。従って、本実施例では、「オブジェクトデータ(サイズ大)」は、1MB以上のサイズのオブジェクトデータであり、「オブジェクトデータ(サイズ小)」は、1MB未満のサイズのオブジェクトデータである。なお、「サイズ閾値」は、1つでもよいし、複数あってもよい。また、サイズ閾値として、メタデータ用のサイズ閾値があってもよい。
The
図10は、実施例2に係るバックアップ方式決定処理のフローを示す。なお、図10では、図9のテーブルに従う値が記述されている。 FIG. 10 illustrates a flow of a backup method determination process according to the second embodiment. In FIG. 10, values according to the table of FIG. 9 are described.
バックアップ方式決定処理は、バックアップ決定プログラム208によって実行される処理である。実施例1では、バックアップ方式決定処理では、メタデータについてはレプリケーションバックアップが採用され、オブジェクトデータについてはEC分割バックアップ(ECに従いデータを分割してバックアップするバックアップ方式)が採用される。
The backup mode determination process is a process executed by the
実施例2では、実施例1の観点に代えて又は加えて、バックアップ方式決定処理では、バックアップ方式テーブル900に基づき下記が行われる。 In the second embodiment, instead of or in addition to the viewpoint of the first embodiment, in the backup method determination processing, the following is performed based on the backup method table 900.
バックアップ決定プログラム208は、バックアップ対象オブジェクト中の処理対象データ(対象データ)がメタデータかオブジェクトデータかを判断する(ステップ1000)。
The
対象データがメタデータの場合、バックアップ決定プログラム208は、メタデータを含んだオブジェクト(この段落において「オブジェクトA」)のパス深度に基づき、冗長度を決定する(ステップ1001)。図9のテーブル900によれば、オブジェクトAのパス深度が1以上4以下の場合、冗長度=20(20個の複製データ(メタデータ複製)を生成すること)とされる(ステップ1002)。一方、オブジェクトAのパス深度が5以上の場合、冗長度=10(10個の複製データを生成すること)とされる(ステップ1008)。
If the target data is metadata, the
一方、対象データがオブジェクトデータの場合、バックアップ決定プログラム208は、そのオブジェクトデータのサイズがサイズ閾値(1MB)以上か否かを判断する(ステップ1003)。
On the other hand, if the target data is object data, the
ステップ1003の判断結果が否定の場合、バックアップ決定プログラム208は、5個の複製データをバックアップすることを決定する(ステップ1004)。5個の複製データは、1以上の複製データの一例である。この場合にEC分割バックアップが採用されない理由は、データサイズが閾値未満であるとEC分割の効果が低いからである。
If the result of the determination in
ステップ1003の判断結果が肯定の場合、バックアップ決定プログラム208は、対象データを含んだオブジェクト(この段落において「オブジェクトB」)のパス深度に基づきEC冗長度Vを決定する(ステップ1005)。図9のテーブル900によれば、オブジェクトBのパス深度が1以上4以下の場合、EC冗長度V=10とされる(ステップ1006)。一方、オブジェクトBのパス深度が5以上の場合、EC冗長度V=5とされる(ステップ1007)。
If the result of the determination in
以上、実施例2によれば、バックアップ対象オブジェクトの属性に最適なバックアップ方式及び冗長度(複製データ数、断片データ数及びパリティデータ数のうちの少なくとも1つ)を決定することができる。 As described above, according to the second embodiment, it is possible to determine the backup method and the redundancy (at least one of the number of replicated data, the number of fragmented data, and the number of parity data) that are optimal for the attribute of the backup target object.
なお、実施例2は、上述したように実施例1との組合せが可能である。例えば、対象データがオブジェクトデータの場合、EC分割バックアップが採用されるが、EC冗長度Vの値は、対象データを含んだオブジェクトのパス深度に従い決定される。 Note that the second embodiment can be combined with the first embodiment as described above. For example, when the target data is object data, EC division backup is adopted, but the value of EC redundancy V is determined according to the path depth of the object including the target data.
また、実施例2において、図10に示したバックアップ方式決定処理では、ステップ1003及び1005のうちの一方は無くてもよい。
In the second embodiment, one of
以下、実施例3を説明する。その際、実施例1及び2との相違点を主に説明し、実施例1及び2との共通点については説明を省略又は簡略する。 Hereinafter, a third embodiment will be described. At this time, differences from the first and second embodiments will be mainly described, and descriptions of common points with the first and second embodiments will be omitted or simplified.
実施例3では、災害(例えば大規模災害)が発生した後のバックアップサイトの回復率に基づいてバックアップ方式やバックアップ冗長度(複製データ数、断片データ数及びパリティデータ数のうちの少なくとも1つ)が決定される。これにより、実施例3に係るバックアップリストアシステムを運用する地域に合わせた最適なバックアップ及びリストアが期待できる。 In the third embodiment, the backup method and the backup redundancy (at least one of the number of replicated data, the number of fragmented data, and the number of parity data) are based on the recovery rate of the backup site after a disaster (for example, a large-scale disaster) occurs. Is determined. Thereby, it is possible to expect an optimal backup and restore according to the region where the backup / restore system according to the third embodiment is operated.
図11は、実施例3に係るバックアップ方式テーブルの構成を示す。 FIG. 11 illustrates a configuration of a backup mode table according to the third embodiment.
バックアップ方式テーブル1100は、図9に示したテーブル900に代えて又は加えて用意されたテーブルであり、ファイルサーバ105の記憶部(メモリ及びディスクデバイスのうちの少なくとも1つ)に格納される。
The backup method table 1100 is a table prepared instead of or in addition to the table 900 shown in FIG. 9, and is stored in the storage unit (at least one of the memory and the disk device) of the
バックアップ方式テーブル1100は、災害が発生してからの経過時間と回復率との関係を表している。具体的には、例えば、バックアップ方式テーブル1100の1日後回復率1101とは、災害発生後1日目の回復率を表す。3日後回復率1102は、災害発生後3日目の回復率を表す。回復率は、バックアップサーバ数に対する、回復したバックアップサーバ(動作可能なバックアップサーバ)107の数の割合である。例えば、100台のバックアップサーバ107が導入されている場合の回復率「30%」は、30台のバックアップサーバ107が動作可能な状態である。一般的に、災害発生からの時間経過に伴い、回復率は上昇する。
The backup method table 1100 indicates the relationship between the elapsed time since the occurrence of the disaster and the recovery rate. Specifically, for example, the one-
図12は、実施例3に係るバックアップ方式決定処理のフローを示す。 FIG. 12 illustrates a flow of a backup method determination process according to the third embodiment.
まず、バックアップ決定プログラム208は、1日後回復率1101の値が、1日後回復率用の閾値(例えば20%)以下か否かを判断する(ステップ1201)。
First, the
ステップ1201の判断結果が肯定の場合、回復が比較的遅い地域にバックアップサイトが存在するという定義がされているということである。このため、各バックアップ対象オブジェクトについて、メタデータ及びオブジェクトデータの各々について、レプリケーションバックアップが採用される。具体的には、例えば、バックアップ決定プログラム208は、メタデータ及びオブジェクトデータの各々について、10個の複製データを生成することを決定する(ステップ1205)。10個の複製データは、1以上の複製データの一例である。複製データ数が多い程、少しでも多くのバックアップサーバ107が回復することで、リストアできる確率が高まる。
If the result of the determination in
ステップ1201の判断結果が否定の場合、バックアップ決定プログラム208は、3日後回復率1102の値が、3日後回復率用の閾値(例えば50%)以下か否かを判断する(ステップ1202)。
If the determination result in
ステップ1202の判断結果が肯定の場合、回復率が少し悪いため、バックアップ決定プログラム208は、メタデータについてはレプリケーションバックアップ(10個の複製データを生成)を決定し、オブジェクトデータについてはEC冗長度V=3(p(断片データ数)=2、q(パリティデータ数)=4)のEC分割バックアップを決定する(ステップ1204)。
If the determination result in
ステップ1202の判断結果が否定の場合、回復が比較的早い地域にバックアップサイトが存在するという定義がされているということである。バックアップ決定プログラム208は、メタデータについてはレプリケーションバックアップ(5個の複製データを生成)を決定し、オブジェクトデータについてはEC冗長度V=2(p=4、q=4)のEC分割バックアップを決定する(ステップ1203)。
If the determination result in
ステップ1203〜1205において決定されたバックアップ方式及びバックアップ冗長度は、バックアップ決定プログラム208により、バックアップ管理テーブル308に登録される。そのバックアップ方式及びバックアップ冗長度に基づいてリストア処理が行われる。
The backup method and the backup redundancy determined in
以上、実施例3によれば、バックアップサイト全体の復旧状況(災害発生からの経過時間と回復率との関係)を想定してバックアップ方式やバックアップ冗長度を変えることで、バックアップ容量を抑えたり、リストア性能を上げたりといった、効率的なバックアップ及びリストアが期待できる。 As described above, according to the third embodiment, the backup capacity is suppressed by changing the backup method and the backup redundancy assuming the recovery status of the entire backup site (the relationship between the elapsed time after the occurrence of the disaster and the recovery rate). Efficient backup and restore, such as improving restore performance, can be expected.
なお、実施例3は、上述したように実施例1及び2のうちの少なくとも1つとの組合せが可能である。例えば、1日後回復率1101の値が20%以下であり、且つ、対象データのサイズが1MB未満の場合、レプリケーションバックアップが採用されてもよい。また、例えば、1日後回復率1101の値が20%以下であっても、対象データのサイズが1MB以上なら、EC分割バックアップが採用されてもよい。
Note that the third embodiment can be combined with at least one of the first and second embodiments as described above. For example, when the value of the one-
以上、幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実行することが可能である。 Although some embodiments have been described above, these are examples for describing the present invention, and are not intended to limit the scope of the present invention only to these embodiments. The present invention can be implemented in various other forms.
101:クライアント、103:正サイト、105:ファイルサーバ、106:バックアップサイト、107:バックアップサーバ、108:リカバリサイト 101: Client, 103: Primary Site, 105: File Server, 106: Backup Site, 107: Backup Server, 108: Recovery Site
Claims (9)
それぞれがファイル又はディレクトリである1以上のオブジェクトを前記複数のバックアップサーバの少なくとも1つにバックアップする第1オブジェクトサーバと、
前記バックアップされた1以上のオブジェクトを前記複数のバックアップサーバの少なくとも1つからリストアする第2オブジェクトサーバと
を備え、
前記1以上のオブジェクトの中のファイルは、オブジェクトデータであるファイルデータとそのオブジェクトデータについてのメタデータとで構成され、前記1以上のオブジェクトの中のディレクトリは、オブジェクトについてのメタデータで構成されており、
前記第1オブジェクトサーバのプロセッサは、前記1以上のオブジェクトにおけるオブジェクトデータ及びメタデータの各々について、
(B1)当該データでありオブジェクトデータ又はメタデータである対象データが第1条件と第2条件のいずれの条件に該当するかを判断する機能と、
(B2)(B1)の結果、前記対象データが前記第1条件に該当する場合、前記対象データの複製データを2以上のバックアップサーバにバックアップする機能と、
(B3)(B1)の結果、前記対象データが前記第2条件に該当する場合、前記対象データのEC(Erasure Coding)に従う冗長度Vの断片データ(Vは、(p+q)/pに基づく値、pは、断片データの数であり、qは、パリティデータの数)である2以上のデータを2以上のバックアップサーバにバックアップする機能と、を有し、
前記第1オブジェクトサーバの前記プロセッサは、前記1以上のオブジェクトの各々について、第1オブジェクトサーバにおける第1ファイルシステム空間におけるそのオブジェクトの位置とそのオブジェクトのバックアップ先とに関する情報を、前記複数のバックアップサーバのうちの少なくとも1つにおける記憶デバイスに格納された管理情報に登録する機能を有し、
前記第2オブジェクトサーバのプロセッサは、
(R1)前記1以上のオブジェクトの各々について、そのオブジェクトの前記第2オブジェクトサーバの第2ファイルシステム空間における位置と、そのオブジェクトのバックアップ先とを、前記管理情報を参照することにより特定する機能と、
(R2)前記1以上のオブジェクトの各々についての機能として、
(R21)当該オブジェクトである対象オブジェクトのメタデータとして、そのメタデータの複製データ、又は、そのメタデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信する機能と、
(R22)前記対象オブジェクトがファイルである場合に、前記対象オブジェクトのオブジェクトデータとして、そのオブジェクトデータの複製データ、又は、そのオブジェクトデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信する機能と、
(R23)前記対象オブジェクトがディレクトリである場合において前記受信したメタデータ、又は前記対象オブジェクトがファイルである場合において前記受信したメタデータと前記受信したオブジェクトデータとに基づき、前記対象オブジェクトの前記第2ファイルシステム空間における位置に前記対象オブジェクトを生成して配置する機能とを有し、
前記第1条件は、前記対象データがメタデータであることであり、且つ、前記第2条件は、前記対象データがオブジェクトデータであること、又は、
前記第1条件は、前記対象データがメタデータであること、及び、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが閾値未満であることであり、且つ、前記第2条件は、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが前記閾値以上であることである、
バックアップリストアシステム。 Multiple backup servers,
A first object server for backing up one or more objects, each of which is a file or directory, to at least one of the plurality of backup servers;
A second object server that restores the backed up one or more objects from at least one of the plurality of backup servers;
The file in the one or more objects includes file data that is object data and metadata about the object data, and the directory in the one or more objects includes metadata about the object. Yes,
The processor of the first object server, for each of the object data and metadata in the one or more objects,
(B1) a function of determining which of the first condition and the second condition the target data, which is the data and is object data or metadata,
(B2) as a result of (B1), when the target data satisfies the first condition, a function of backing up duplicate data of the target data to two or more backup servers;
(B3) As a result of (B1), when the target data satisfies the second condition, fragment data of redundancy V according to EC (Erasure Coding) of the target data (V is a value based on (p + q) / p , P is the number of fragment data, and q is the number of parity data), and has a function of backing up two or more data to two or more backup servers.
The processor of the first object server, for each of the one or more objects, information on a position of the object in a first file system space in the first object server and a backup destination of the object, the plurality of backup servers Has a function of registering in the management information stored in the storage device in at least one of
The processor of the second object server,
(R1) for each of the one or more objects, a function of specifying the position of the object in the second file system space of the second object server and the backup destination of the object by referring to the management information; ,
(R2) As a function for each of the one or more objects,
(R21) a function of receiving, from at least one of the plurality of backup servers, duplicate data of the metadata or fragment data of the metadata as metadata of the target object which is the object;
(R22) When the target object is a file, receiving, as object data of the target object, a copy of the object data or a fragment of the object data from at least one of the plurality of backup servers. Function and
(R23) the second metadata of the target object based on the received metadata when the target object is a directory, or the received metadata and the received object data when the target object is a file. Generating and arranging the target object at a position in a file system space,
The first condition is that the target data is metadata, and the second condition is that the target data is object data, or
The first condition is that the target data is metadata, the target data is object data, and the data size of the object data is smaller than a threshold, and the second condition is: The target data is object data, and the data size of the object data is equal to or larger than the threshold.
Backup and restore system.
請求項1記載のバックアップリストアシステム。 The processor of the second object server is configured to execute a process according to (R21) prior to a process according to (R22) for at least one of the one or more objects.
The backup / restore system according to claim 1.
(R2)による処理の開始前に、前記第2ファイルシステム空間に一時ディレクトリを設け、
前記1以上のオブジェクトについて並行して(R21)による処理及び(R22)による処理を実行し、
(R23)による処理により、前記1以上のオブジェクトにおけるディレクトリについて、(R21)による処理で取得したメタデータに基づいて、前記一時ディレクトリに生成し、前記1以上のオブジェクトにおけるファイルについて、(R21)による処理で取得したメタデータ及び(R22)による処理で取得したオブジェクトデータに基づいて、前記一時ディレクトリに生成し、前記一時ディレクトリから、前記第2ファイルシステム空間における該当位置に、前記ディレクトリ及び前記ファイルを移動する、ように構成されている
請求項1又は2記載のバックアップリストアシステム。 The processor of the second object server,
Before starting the processing by (R2), a temporary directory is provided in the second file system space,
The processing according to (R21) and the processing according to (R22) are executed in parallel for the one or more objects,
By the processing in (R23), a directory in the one or more objects is generated in the temporary directory based on the metadata acquired in the processing in (R21), and a file in the one or more objects is generated according to (R21). Based on the metadata obtained in the process and the object data obtained in the process of (R22), the temporary directory is generated in the temporary directory, and the directory and the file are transferred from the temporary directory to a corresponding position in the second file system space. 3. The backup / restore system according to claim 1, wherein the backup / restore system is configured to move.
前記対象データを含んだオブジェクトのパス深度は、前記第1ファイルシステム空間のルートディレクトリからそのオブジェクトに至るまでに経由するリンクの数である、
請求項1乃至3のうちのいずれか1項に記載のバックアップリストアシステム。 When the target data satisfies the second condition, the value of the redundancy V is a value according to a path depth of an object including the target data;
The path depth of the object including the target data is the number of links that pass from a root directory of the first file system space to the object.
The backup / restore system according to any one of claims 1 to 3.
前記1以上のオブジェクトの中のファイルは、オブジェクトデータであるファイルデータとそのオブジェクトデータについてのメタデータとで構成され、前記1以上のオブジェクトの中のディレクトリは、オブジェクトについてのメタデータで構成されており、
前記オブジェクトサーバが、
(R1)前記1以上のオブジェクトの各々について、そのオブジェクトの前記オブジェクトサーバのファイルシステム空間における位置と、そのオブジェクトのバックアップ先とを特定し、
(R2)前記1以上のオブジェクトの各々について、
(R21)当該オブジェクトである対象オブジェクトのメタデータとして、そのメタデータの複製データ、又は、そのメタデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信し、
(R22)前記対象オブジェクトのオブジェクトデータとして、そのオブジェクトデータの複製データ、又は、そのオブジェクトデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信し、
(R23)前記対象オブジェクトがディレクトリである場合において前記受信したメタデータ、又は前記対象オブジェクトがファイルである場合において前記受信したメタデータと前記受信したオブジェクトデータとに基づき、前記対象オブジェクトの前記ファイルシステム空間における位置に前記対象オブジェクトを生成して配置し、
バックアップ元のオブジェクトサーバが、
前記1以上のオブジェクトにおけるオブジェクトデータ及びメタデータの各々について、
(B1)当該データでありオブジェクトデータ又はメタデータである対象データが第1条件と第2条件のいずれの条件に該当するかを判断し、
(B2)(B1)の結果、前記対象データが前記第1条件に該当する場合、前記対象データの複製データを2以上のバックアップサーバにバックアップし、
(B3)(B1)の結果、前記対象データが前記第2条件に該当する場合、前記対象データのECに従う冗長度Vの断片データである2以上のデータを2以上のバックアップサーバにバックアップし、
前記第1条件は、前記対象データがメタデータであることであり、且つ、前記第2条件は、前記対象データがオブジェクトデータであること、又は、
前記第1条件は、前記対象データがメタデータであること、及び、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが閾値未満であることであり、且つ、前記第2条件は、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが前記閾値以上であることである、バックアップリストア方法。 A replication backup in which each of the object data and metadata in one or more objects, each of which is a file or a directory, is to backup duplicate data to two or more backup servers of a plurality of backup servers; and EC (Erasure Coding). )), Two or more pieces of data that are fragment data (V is a value based on (p + q) / p, p is the number of fragment data, and q is the number of parity data) are backed up by two or more. backup accordance selected backup method of the distributed backup is to backup the server, a backup restoration method for generating a plurality of backup servers that are backed up to the one or more objects to restore the object to the server of the
The file in the one or more objects includes file data that is object data and metadata about the object data, and the directory in the one or more objects includes metadata about the object. Yes,
The object server is:
(R1) For each of the one or more objects, specify a position of the object in the file system space of the object server and a backup destination of the object;
(R2) for each of the one or more objects:
(R21) receiving, from at least one of the plurality of backup servers, duplicate data of the metadata or fragment data of the metadata as metadata of the target object which is the object;
(R22) receiving, as object data of the target object, duplicate data of the object data or fragment data of the object data from at least one of the plurality of backup servers;
(R23) the file system of the target object based on the received metadata when the target object is a directory or the received metadata and the received object data when the target object is a file; Generating and placing the target object at a position in space ,
If the backup source object server is
For each of the object data and metadata in the one or more objects,
(B1) determining whether the target data, which is the data and is object data or metadata, satisfies the first condition or the second condition;
(B2) As a result of (B1), if the target data satisfies the first condition, backup the duplicate data of the target data to two or more backup servers;
(B3) As a result of (B1), when the target data satisfies the second condition, two or more data that are fragment data of the redundancy V according to the EC of the target data are backed up to two or more backup servers,
The first condition is that the target data is metadata, and the second condition is that the target data is object data, or
The first condition is that the target data is metadata, the target data is object data, and the data size of the object data is smaller than a threshold, and the second condition is: A backup / restoration method, wherein the target data is object data, and the data size of the object data is equal to or larger than the threshold.
前記複数のバックアップサーバに接続されたインターフェースと、
前記インターフェースに接続されたプロセッサと
を有し、
前記1以上のバックアップ対象オブジェクトの中のファイルは、オブジェクトデータであるファイルデータとそのオブジェクトデータについてのメタデータとで構成され、前記1以上のオブジェクトの中のディレクトリは、オブジェクトについてのメタデータで構成されており、
前記プロセッサは、それぞれがファイル又はディレクトリである1以上のバックアップ対象オブジェクトにおけるオブジェクトデータ及びメタデータの各々について、
(B1)当該データでありオブジェクトデータ又はメタデータである対象データが第1条件と第2条件のいずれの条件に該当するかを判断する機能と、
(B2)(B1)の結果、前記対象データが前記第1条件に該当する場合、前記対象データの複製データを2以上のバックアップサーバにバックアップする機能と、
(B3)(B1)の結果、前記対象データが前記第2条件に該当する場合、前記対象データのEC(Erasure Coding)に従う冗長度Vの断片データ(Vは、(p+q)/pに基づく値、pは、断片データの数であり、qは、パリティデータの数)である2以上のデータを2以上のバックアップサーバにバックアップする機能と、を有し、
前記プロセッサは、更に、前記1以上のバックアップ対象オブジェクトの各々について、第1ファイルシステム空間におけるそのバックアップ対象オブジェクトの位置とそのバックアップ対象オブジェクトのバックアップ先とに関する情報を、前記複数のバックアップサーバのうちの少なくとも1つにおける記憶デバイスに格納された管理情報に登録し、
前記第1ファイルシステム空間は、前記1以上のバックアップ対象オブジェクトを含んだファイルシステム空間であり、
前記プロセッサは、
(R1)それぞれがファイル又はディレクトリである1以上のリストア対象オブジェクトの各々について、そのリストア対象オブジェクトの第2ファイルシステム空間における位置と、そのオブジェクトのバックアップ先とを、前記管理情報を参照することにより特定する機能を有し、
前記第2ファイルシステム空間は、前記1以上のリストア対象オブジェクトを含んだファイルシステム空間であり、
(R2)前記1以上のリストア対象オブジェクトの各々についての機能として、
(R21)当該リストア対象オブジェクトである対象オブジェクトのメタデータとして、そのメタデータの複製データ、又は、そのメタデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信する機能と、
(R22)前記対象オブジェクトがファイルである場合に、前記対象オブジェクトのオブジェクトデータとして、そのオブジェクトデータの複製データ、又は、そのオブジェクトデータの断片データを前記複数のバックアップサーバのうちの少なくとも1つから受信する機能と、
(R23)前記対象オブジェクトがディレクトリである場合において前記受信したメタデータ、又は前記対象オブジェクトがファイルである場合において前記受信したメタデータと前記受信したオブジェクトデータとに基づき、前記対象オブジェクトの前記第2ファイルシステム空間における位置に前記対象オブジェクト生成して配置する機能とを有し、
前記第1条件は、前記対象データがメタデータであることであり、且つ、前記第2条件は、前記対象データがオブジェクトデータであること、又は、
前記第1条件は、前記対象データがメタデータであること、及び、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが閾値未満であることであり、且つ、前記第2条件は、前記対象データがオブジェクトデータであり且つそのオブジェクトデータのデータサイズが前記閾値以上であることである、オブジェクトサーバ。 An object server for backing up one or more backup target objects, each of which is a file or a directory, to at least one of a plurality of backup servers,
An interface connected to the plurality of backup servers;
A processor connected to the interface,
The file in the one or more objects to be backed up comprises file data as object data and metadata about the object data, and the directory in the one or more objects comprises metadata about the object. Has been
The processor, for each of the object data and metadata in one or more objects to be backed up, each being a file or a directory,
(B1) a function of determining which of the first condition and the second condition the target data, which is the data and is object data or metadata,
(B2) as a result of (B1), when the target data satisfies the first condition, a function of backing up duplicate data of the target data to two or more backup servers;
(B3) As a result of (B1), when the target data satisfies the second condition, fragment data of redundancy V according to EC (Erasure Coding) of the target data (V is a value based on (p + q) / p , P is the number of fragment data, and q is the number of parity data), and has a function of backing up two or more data to two or more backup servers.
The processor further includes, for each of the one or more backup objects, information on a position of the backup object in the first file system space and a backup destination of the backup object, among the plurality of backup servers. Registering in the management information stored in at least one storage device,
The first file system space is a file system space including the one or more backup target objects,
The processor comprises:
(R1) For each of one or more objects to be restored each of which is a file or a directory, the location of the object to be restored in the second file system space and the backup destination of the object are referred to by referring to the management information. Has a function to specify,
The second file system space is a file system space including the one or more objects to be restored,
(R2) As a function for each of the one or more objects to be restored,
(R21) a function of receiving, as metadata of the target object being the restore target object, duplicate data of the metadata or fragment data of the metadata from at least one of the plurality of backup servers;
(R22) When the target object is a file, receiving, as object data of the target object, a copy of the object data or a fragment of the object data from at least one of the plurality of backup servers. Function and
(R23) the second metadata of the target object based on the received metadata when the target object is a directory, or the received metadata and the received object data when the target object is a file. A function of generating and arranging the target object at a position in a file system space,
The first condition is that the target data is metadata, and the second condition is that the target data is object data, or
The first condition is that the target data is metadata, the target data is object data, and the data size of the object data is smaller than a threshold, and the second condition is: An object server, wherein the target data is object data, and a data size of the object data is equal to or larger than the threshold.
請求項6記載のオブジェクトサーバ。 The processor is configured to execute a process of (R21) prior to a process of (R22) for at least one of the one or more restore target objects.
The object server according to claim 6 .
(R2)による処理の開始前に、前記第2ファイルシステム空間に一時ディレクトリを設け、
前記1以上のリストア対象オブジェクトについて並行して(R21)による処理及び(R22)による処理を実行し、
(R23)による処理により、前記1以上のリストア対象オブジェクトにおけるディレクトリを、(R21)による処理で取得したメタデータに基づいて、前記一時ディレクトリに生成し、前記1以上のオブジェクトにおけるファイルを、(R21)による処理で取得したメタデータ及び(R22)による処理で取得したオブジェクトデータに基づいて、前記一時ディレクトリに生成し、前記一時ディレクトリから、前記第2ファイルシステム空間における該当位置に、前記対象オブジェクトを移動する、ように構成されている
請求項6又は7記載のオブジェクトサーバ。 The processor comprises:
Before starting the processing by (R2), a temporary directory is provided in the second file system space,
The processing according to (R21) and the processing according to (R22) are executed in parallel with respect to the one or more objects to be restored,
By the processing in (R23), a directory in the one or more objects to be restored is generated in the temporary directory based on the metadata acquired in the processing in (R21), and a file in the one or more objects is written in (R21). ) Is generated in the temporary directory based on the metadata acquired in the process of (R22) and the object data acquired in the process of (R22), and the target object is stored from the temporary directory to a corresponding position in the second file system space. claim 6 or 7 object server according is configured to move to, so.
前記対象データを含んだバックアップ対象オブジェクトのパス深度は、前記第1ファイルシステム空間のルートディレクトリからそのバックアップ対象オブジェクトに至るまでに経由するリンクの数である、
請求項6乃至8のうちのいずれか1項に記載のオブジェクトサーバ。 When the target data satisfies the second condition, the value of the redundancy V is a value according to the path depth of the backup target object including the target data;
The path depth of the backup target object including the target data is the number of links from the root directory of the first file system space to the backup target object.
An object server according to any one of claims 6 to 8 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016022712A JP6671708B2 (en) | 2016-02-09 | 2016-02-09 | Backup restore system and backup restore method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016022712A JP6671708B2 (en) | 2016-02-09 | 2016-02-09 | Backup restore system and backup restore method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017142605A JP2017142605A (en) | 2017-08-17 |
JP6671708B2 true JP6671708B2 (en) | 2020-03-25 |
Family
ID=59628622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016022712A Active JP6671708B2 (en) | 2016-02-09 | 2016-02-09 | Backup restore system and backup restore method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6671708B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426587B (en) * | 2017-08-25 | 2020-08-28 | 杭州海康威视数字技术股份有限公司 | Data recovery method and device |
CN112527552A (en) * | 2019-09-18 | 2021-03-19 | 中兴通讯股份有限公司 | Disaster recovery method, device, local point and storage medium |
CN111666179B (en) * | 2020-06-12 | 2023-03-28 | 重庆云海时代信息技术有限公司 | Intelligent replication system and server for multi-point data disaster tolerance |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007073004A (en) * | 2005-09-09 | 2007-03-22 | Canon Inc | Data integrity information apparatus, distributed storage system and method thereof |
US7992037B2 (en) * | 2008-09-11 | 2011-08-02 | Nec Laboratories America, Inc. | Scalable secondary storage systems and methods |
US8504535B1 (en) * | 2010-12-20 | 2013-08-06 | Amazon Technologies, Inc. | Erasure coding and redundant replication |
JP5647058B2 (en) * | 2011-04-19 | 2014-12-24 | 佐藤 美代子 | Information processing system and data backup method |
US8799746B2 (en) * | 2012-06-13 | 2014-08-05 | Caringo, Inc. | Erasure coding and replication in storage clusters |
US20140081919A1 (en) * | 2012-09-20 | 2014-03-20 | Hitachi, Ltd. | Distributed backup system for determining access destination based on multiple performance indexes |
-
2016
- 2016-02-09 JP JP2016022712A patent/JP6671708B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017142605A (en) | 2017-08-17 |
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 | |
CN110169040B (en) | Distributed data storage method and system based on multilayer consistent hash | |
US10956601B2 (en) | Fully managed account level blob data encryption in a distributed storage environment | |
CN103944981B (en) | Cloud storage system and implement method based on erasure code technological improvement | |
US7529785B1 (en) | Efficient backups using dynamically shared storage pools in peer-to-peer networks | |
CN106233259B (en) | Method and system for retrieving multi-generational stored data in a decentralized storage network | |
CN107885612B (en) | Data processing method, system and device | |
US10659225B2 (en) | Encrypting existing live unencrypted data using age-based garbage collection | |
US9250811B1 (en) | Data write caching for sequentially written media | |
US9092441B1 (en) | Archival data organization and management | |
US9405776B2 (en) | Remote backup and restore | |
CN102598020B (en) | Apparatus, system and method for improved data deduplication | |
US20190007206A1 (en) | Encrypting object index in a distributed storage environment | |
WO2018001110A1 (en) | Method and device for reconstructing stored data based on erasure coding, and storage node | |
CN104902009B (en) | A kind of distributed memory system based on erasable coding and chain type backup | |
JP2007202146A (en) | Method and apparatus for distributed data replication | |
US8954793B2 (en) | Method and a storage server for data redundancy | |
WO2024148824A1 (en) | Data processing method, system and apparatus, storage medium, and electronic device | |
JP2007073004A (en) | Data integrity information apparatus, distributed storage system and method thereof | |
JP6671708B2 (en) | Backup restore system and backup restore method | |
JP2018524705A (en) | Method and system for processing data access requests during data transfer | |
KR101589122B1 (en) | Method and System for recovery of iSCSI storage system used network distributed file system | |
WO2017039538A1 (en) | Systems and methods for unified storage services |
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |