JP2015527620A - 計算機システム、サーバ、及び、データ管理方法 - Google Patents

計算機システム、サーバ、及び、データ管理方法 Download PDF

Info

Publication number
JP2015527620A
JP2015527620A JP2015501968A JP2015501968A JP2015527620A JP 2015527620 A JP2015527620 A JP 2015527620A JP 2015501968 A JP2015501968 A JP 2015501968A JP 2015501968 A JP2015501968 A JP 2015501968A JP 2015527620 A JP2015527620 A JP 2015527620A
Authority
JP
Japan
Prior art keywords
data
deduplication
storage device
file
stored
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
JP2015501968A
Other languages
English (en)
Other versions
JP6133396B2 (ja
Inventor
仁志 亀井
仁志 亀井
崇元 深谷
崇元 深谷
智則 榎阪
智則 榎阪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2015527620A publication Critical patent/JP2015527620A/ja
Application granted granted Critical
Publication of JP6133396B2 publication Critical patent/JP6133396B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

計算機システムであって、サーバと、第1の記憶装置と、第2の記憶装置とを備え、前記第1の記憶装置は、重複排除データ、前記複数の重複排除データに共有される共有データ、及び、前記重複排除データ及び前記共有データを含む格納されたデータの種別を表す第1の種別データを格納し、前記重複排除データは、前記共有データと関連付けられ、前記共有データとの差を示す差分データを含み、前記サーバは、前記第2の記憶装置へ格納されたデータの種類を表す第2の種別データを、前記第1の種別データから生成し、前記第2の記憶装置は、シーケンシャルリードを行う場合に、前記重複排除データが読み出される位置より前の読み出し位置に、当該重複排除データに関連付けられた共有データを格納し、前記第2の種別データを格納する。【選択図】図6

Description

本発明は、ストレージへ格納されるデータの管理方法に関する。
近年、ファイルサーバへ保存されるデータ量が急増している。ファイルサーバのデータ保持コストを削減するため、ファイルサーバへ保存されたファイルデータ量を削減できるファイルレベル重複排除機能が注目されている。
ファイルレベル重複排除機能は、ファイルサーバのファイルシステムへ格納されたファイル群の中から重複データボディを持つ重複ファイル群を抽出し、データボディを一つだけ残してその他のデータボディを削除して参照情報へ置き換えることによって実現される。複数のファイルが一つのデータボディを共有することによって、ファイルシステムへ格納された冗長なデータボディを削除できる。このため、ファイルシステムへ格納されるデータ量を削減できる。
一方、ファイルサーバの障害対策や災害対策のため、これまでと同様に、ファイルレベル重複排除されたファイルシステムが管理するデータは、定期的にテープ装置へバックアップされる。このバックアップには、例えば、Network Data Management Protocolを用いることができる。
例えば、米国特許明細書第8204862号は、重複排除データを回復する方法を開示する。すなわち、該方法では、重複排除データのセット中の各データセグメントは、1以上の重複排除参照によって参照されており、重複排除データセグメントのセットをクライアントシステムにリストアする要求を受信することを含む。前記方法は、さらに、重複排除データのセット中の各データセグメント毎に、該データセグメントを指す重複排除参照の数を示す参照データを生成することを含む。前記方法は、さらに、クライアント側へキャッシュするために重複排除データのセットから1以上のデータセグメントを選択するために参照データを使うこと、クライアントシステムのキャッシュに1以上のデータセグメントをキャッシュすること、クライアントシステムのキャッシュから1以上のデータセグメントをリストアすること、を含む。
また、米国特許明細書第8200926号は、フルバックアップを生成するためにコンピュータに実装された方法を開示する。すなわち、コンピュータに実装された方法は、最初に、1セットのデータユニットの第一のフルバックアップを作成することを含む。コンピュータに実装された方法は、さらに、初回から変更されているデータユニットのセット中の1以上のデータユニットを識別することを含む。コンピュータに実装された方法は、初回から修正されている1以上のデータユニットのコピーの提供、及び、初回から修正されていない1以上のデータユニットのコピーへの参照によって、データユニットのセットの第二のフルバックアップを作成することを含む。該参照は、第二のフルバックアップが他のバックアップから独立した単体のバックアップとなるように、構成される。
以上に説明した従来の技術によると、ファイルサーバの管理者が、ファイルレベル重複排除が適用されたファイルシステムを、Network Data Management Protocolを用いて、ファイルレベルでテープへバックアップする場合、重複排除状態が解除されるため、バックアップデータが重複排除前の状態となる。
一方、米国特許明細書第8204862号に記載された技術を用いると、重複排除されたファイルシステムのファイルを重複排除した状態でバックアップ・リストアできる。しかし、米国特許明細書第8204862号に記載された技術はテープ装置の特性を考慮していない。そのため、テープ装置を用いたバックアップ・リストアへ米国特許明細書第8204862号を適用すると、ファイルのリストア時にテープ装置のシーク動作が多く発生する。テープのシーク動作とは、アクセスされるファイルを頭出しする処理である。テープ装置のシーク動作は長い時間が必要であるため、リストア時間が長くなる問題がある。
前述した先行技術は、テープへのバックアップを考慮したものではないため、この様な問題を解決することはできない。
そこで、本発明は、ファイルレベル重複排除を適用したファイルシステムにおいて、重複排除された状態でファイルをテープ装置へバックアップし、リストア時のテープ装置のシーク動作を抑えることを目的とする。
本願において開示される発明の代表的な一例は、テープ装置は、重複排除データより先に、当該重複排除データに関連付けられた共有データを格納する。
すなわち、本願において開示される発明の代表的な一例は、計算機システムであって、クライアント計算機へデータを提供するサーバと、前記クライアント計算機に提供するデータを格納する第1の記憶装置と、前記第1の記憶装置へ格納されたデータをバックアップする第2の記憶装置と、を備え、前記サーバは、プログラムを実行するプロセッサと、前記プロセッサで実行されるプログラムを格納するメモリと、を有し、前記第1の記憶装置は、一部又は全部のデータを他のデータと共有する重複排除データ、前記複数の重複排除データに共有される共有データ、及び、前記重複排除データ及び前記共有データを含む格納されたデータの種別を表す第1の種別データを格納し、前記重複排除データは、前記共有データへのポインタによって、前記共有データと関連付けられ、前記共有データとの差を示す差分データを含み、前記サーバは、前記第2の記憶装置へ格納されるデータの種類を表す第2の種別データを、前記第1の種別データから生成し、前記第2の記憶装置は、シーケンシャルリードを行う場合に、前記重複排除データが読み出される位置より前の読み出し位置に、当該重複排除データに関連付けられた共有データを格納し、前記生成された第2の種別データを格納することを特徴とする。
本発明の代表的な態様によれば、バックアップ及びリストアの時間を短縮できる。
本発明の第一の実施例におけるファイル共有システムの構成例を示す図である。 本発明の第一の実施例におけるクライアントの構成例を示すブロック図である。 本発明の第一の実施例におけるバックアップサーバの構成例を示すブロック図である。 本発明の第一の実施例における管理端末の構成例を示すブロック図である。 本発明の第一の実施例におけるファイルサーバの構成例を示すブロック図である。 本発明の第一の実施例におけるディスクストレージの構成例を示すブロック図である。 本発明の第一の実施例におけるテープ装置の構成例を示すブロック図である。 本発明の第一の実施例におけるディスクストレージへ格納される重複排除ファイル群の構成例を説明する図である。 本発明の第一の実施例におけるテープ装置のテープへ格納されるデータの構造を示す図である。 本発明の第一の実施例におけるテープへ格納されるバックアップデータの作成の概要を説明する図である。 本発明の第一の実施例における抽出ファイルリストの構成を示す図である。 本発明の第一の実施例におけるバックアップ処理のフローチャートである。 本発明の第一の実施例におけるリストア処理のフローチャートである。 本発明の第二の実施例におけるファイルサーバの構成例を示すブロック図である。 本発明の第二の実施例における共有データ保持ファイルバックアップ済みリストの構成を示す図である。 本発明の第二の実施例におけるテープ装置のテープへ格納されるデータ構造を示す図である。 本発明の第二の実施例におけるバックアップ処理のフローチャートである。 本発明の第二の実施例における重複排除ファイルバックアップ処理のフローチャートである。
まず、本発明の実施例の概要について説明する。
本発明の代表的な実施例では、ファイルレベルで重複排除されたファイル群(重複排除ファイル群)は共有データボディを保持するファイル(共有データ保持ファイル)を参照することによって、一つのデータボディを共有している。実施例では、まず、ファイルレベル重複排除機能が適用されたファイルシステムから、共有データ保持ファイルをテープ装置へ全てバックアップする。その後、重複排除ファイル群と通常のファイルをテープ装置へバックアップする。この際、共有データ保持ファイルへの参照情報を重複排除ファイルのヘッダ情報へ記録する。
リストア時には、共有データ保持ファイルを復元した後、重複排除ファイル及び通常のファイルを復元する。重複排除ファイルを復元する際、重複排除ファイルのヘッダ情報から共有データ保持ファイルの格納パスを取得し、取得したパスに基づいて復元された重複排除ファイルへ共有データ保持ファイルへの参照を設定する。
以上の処理によって、重複排除された状態でファイルをテープ装置へバックアップし、リストア時のテープ装置のシーク動作を抑えることができる。
また、本発明のシステムは、ファイル共有サービスをエンドユーザへ提供するファイルサーバ、ファイルサーバがファイルデータを格納するディスクストレージ、ファイルサーバがファイルデータをバックアップするテープ装置、ファイルサーバへバックアップ指示を行うバックアップサーバ、及び、システムを管理する管理端末を有する。システムは、エンドユーザが利用するクライアントと接続される。
ファイルサーバのバックアッププログラムは、バックアップサーバのバックアップサーバプログラムからバックアップ要求を受けると、ディスクストレージへ格納されたファイルシステムボリュームからファイルのデータを読み出す。そして、読み出したファイルのデータをテープ装置へ送信する。テープ装置は、受信したデータをテープへ書き込む。この時、バックアッププログラムは、共有データ保持ファイルを先にテープ装置へ送信し、ファイルシステムをテープへバックアップする。共有データ保持ファイルのバックアップが完了した後、バックアッププログラムは、重複排除ファイル及び通常ファイルのデータをテープ装置へ送信し、テープへバックアップする。
一方、ファイルサーバのバックアッププログラムは、バックアップサーバのバックアップサーバプログラムからリストア要求を受け付けると、テープ装置のテープからデータを読み出し、テープから読み出したファイルをディスクストレージへ格納されたファイルシステムへ書き込む。この際、バックアップ時に先にバックアップされた共有データ保持ファイル群のファイルがまず復元され、次に、重複排除ファイル及び通常ファイルが復元される。
以後、本発明の実施例について、ファイル単位でデータを管理するファイルシステムについて説明するが、本発明は、ファイル単位でデータを管理するファイルシステムに限らず、データをある塊(例えば、ブロック、セクタなど)で管理するシステムに適用することができる。
以後に説明する実施例は一例であって、本発明は、明細書に開示された形態に限定されるものではない。
(第一の実施例)
図1は、第一の実施例におけるファイル共有システムの構成例を示す図である。
第一の実施例におけるファイル共有システムは、バックアップサーバ1002、管理端末1003、ファイルサーバ1004、ディスクストレージ1005及びテープ装置1006を有し、ネットワーク1007を介してクライアント1001と接続されている。
クライアント1001は、ファイル共有システムが提供されるエンドユーザが使用する計算機であり、その構成及び処理は後述する(図2A)。バックアップサーバ1002は、バックアップ要求及びリストア要求をファイルサーバ1004へ送信する計算機であり、その構成及び処理は後述する(図2B)。
管理端末1003は、本実施例におけるファイル共有システムを管理する計算機であり、バックアップ及びリストアの時間なども管理する。管理端末1003の構成及び処理は後述する(図3A)。ファイルサーバ1004は、クライアント1001へファイル共有サービスを提供する計算機であり、その構成及び処理は後述する(図3B)。
クライアント1001、バックアップサーバ1002、管理端末1003及びファイルサーバ1004は、ネットワーク1007によって接続される。ネットワーク1007は、例えば、Local Area Networkであり、Ethernet(登録商標、以下同じ)及び無線通信回線などを用いて構成することができる。本実施例において、クライアント1001、バックアップサーバ1002、管理端末1003及びファイルサーバ1004間の接続形態は実施例として記載したものに限らない。
ディスクストレージ1005は、ファイルサーバ1004が管理するファイルデータを保持する記憶装置であり、その構成及び処理は後述する(図4A)。テープ装置1006は、ファイルサーバ1004が管理するファイルデータをテープへ書き込み、及びテープから読み出す装置であり、その構成及び処理は後述する(図4B)。
ファイルサーバ1004、ディスクストレージ1005及びテープ装置1006はネットワーク1008によって接続される。ネットワーク1008は、例えば、Fibre Channelプロトコルを用いたStorage Area Networkである。なお、iSCSIなどのプロトコルを用いたネットワークでもよい。ネットワーク1007及びネットワーク1008は、別のネットワークでも、一つのネットワークでもよい。本実施例において、ファイルサーバ1004、ディスクストレージ1005及びテープ装置1006間の接続形態は実施例として記載したものに限らない。
また、本実施例では、ファイルサーバ1004が、後述するバックアップ処理(図9。図14、図15)及びリストア処理(図10)を実行するが、ファイルサーバ1004以外の装置(例えば、バックアップサーバ1002)が、これらの処理を実行してもよい。
図2Aは、本実施例におけるクライアント1001の構成例を示すブロック図である。
クライアント1001は、プロセッサ(CPU)2001、メモリ2002及びネットワークインタフェース2005を有し、これらの装置は内部通信路によって相互に接続されている。
プロセッサ2001は、メモリ2002へ格納されたアプリケーションプログラム2003及びファイルアクセスプログラム2004を実行する。
アプリケーションプログラム2003は、クライアント1001を操作するエンドユーザが利用するプログラムであり、例えば、表計算プログラムである。ファイルアクセスプログラム2004は、ファイルサーバ1004が提供するファイル共有サービスを利用するためのプログラムである。
アプリケーションプログラム2003は、ファイルサーバ1004が管理するファイルを利用する場合、ファイルアクセスプログラム2004へファイルアクセスを要求する。ファイルアクセスプログラム2004は、ファイルアクセス要求を受信すると、ファイル共有サービスを利用するためのプロトコル(例えば、Common Internet File System(CIFS)プロトコル)を用いて、ネットワークインタフェース2005を通して、ファイルサーバ1004のファイルサーバプログラム3105へファイルアクセス要求を送信する。そして、ファイルアクセスプログラム2004は、ファイルアクセス結果をファイルサーバ1004のファイルサーバプログラム3105から受信し、結果をアプリケーションプログラム2003へ返す。
図2Bは、本実施例におけるバックアップサーバ1002の構成例を示すブロック図である。
バックアップサーバ1002は、プロセッサ(CPU)2101、メモリ2102及びネットワークインタフェース2105を有し、これらのデバイスは内部通信路によって相互に接続されている。
プロセッサ2101は、メモリ2102へ格納されたバックアップサーバプログラム2103を実行する。
バックアップサーバプログラム2103は、ファイルサーバ1004のバックアッププログラム3107へ、ネットワークインタフェース2105を通して、バックアップ要求及びリストア要求を送信するためのプログラムである。バックアップサーバ1002は、Network Data Management Protocol(NDMP)などのプロトコルを用いて、バックアップ要求及びリストア要求を送信するとよいが、要求の転送方法は実施例として記載したものに限らない。
また、バックアップサーバプログラム2103は、バックアップスケジュール2104に基づいて定期的にバックアップを生成してもよい。バックアップスケジュール2104はバックアップ取得間隔及びバックアップ取得日時などを保持する。バックアップスケジュール2104は、本実施例におけるファイル共有システムの管理者が、エディタ及び/又はGraphical User Interface(GUI)などを用いて設定する。なお、バックアップスケジュール2104の設定方法は実施例として記載したものに限らない。
図3Aは、本実施例における管理端末1003の構成例を示すブロック図である。
管理端末1003は、プロセッサ(CPU)3001、メモリ3002及びネットワークインタフェース3005を有し、これらのデバイスは内部通信路によって相互に接続されている。
プロセッサ3001は、メモリ3002へ格納されている管理インタフェースプログラム3003及び管理プログラム3004を実行する。
管理インタフェースプログラム3003は、本実施例のファイル共有システムを管理する管理者へ管理画面を提供するためのプログラムであり、管理者が入力した設定情報を管理プログラム3004へ送信する。
管理プログラム3004は、管理者が入力した設定情報をファイルサーバ1004及びバックアップサーバ1002へ設定するためのプログラムである。例えば、管理プログラム3004は、管理者が入力したバックアップ間隔情報をバックアップサーバ1002のバックアップスケジュール2104へ設定する。設定情報はSSH File Transfer Protocol(SFTP)などのプロトコルを用いて転送するとよいが、設定情報の転送方法は実施例として記載したものに限らない。
図3Bは、本実施例におけるファイルサーバ1004の構成例を示すブロック図である。
ファイルサーバ1004は、プロセッサ(CPU)3101、メモリ3102、ネットワークインタフェース3108及びストレージインタフェース3109を有し、これらのデバイスは内部通信路によって相互に接続されている。
プロセッサ3101は、メモリ3102へ格納されているファイルサーバプログラム3105、ファイルシステムプログラム3106及びバックアッププログラム3107を実行する。
ファイルサーバプログラム3105は、ファイル共有サービスをクライアント1001へ提供するためのプログラムである。ファイルサーバプログラム3105は、クライアント1001のファイルアクセスプログラム2004からファイルアクセス要求を受けると、ファイルシステムプログラム3106へファイルアクセスを要求する。そして、ファイルサーバプログラム3105は、ファイルアクセス結果をファイルシステムプログラム3106から受信し、受信した結果をクライアント1001のファイルアクセスプログラム2004へ返す。ファイルサーバプログラム3105は、例えば、NFSデーモンでよいが、実施例として記載したものに限らない。
ファイルシステムプログラム3106は、ディスクストレージ1005へ格納されたデータへアクセスするためのプログラムである。ファイルシステムプログラム3106は、ネットワークインタフェース3108を通して、ファイルサーバプログラム3105からファイルアクセス要求を受けると、ストレージインタフェース3109を通して、ディスクストレージ1005のディスク4005へ格納されたデータへアクセスする。そして、ファイルシステムプログラム3106は、アクセス結果をファイルサーバプログラム3105へ返す。
ファイルサーバ1004は、ファイルへアクセスするためのファイル管理情報3103、ファイルデータ3104及び抽出ファイルリスト3110を、メモリ3102に保持する。
ファイル管理情報3103は、ファイルの管理者の情報及びディスク4005へ格納されたファイルデータのブロックアドレスなどを含む管理情報である。ファイル管理情報3103はファイルシステムプログラム3106が作成する。なお、ファイル管理情報3103は、ディスクストレージ1005のディスク4005にも格納される。ファイルサーバ1004は、再起動の際に、ディスク4005へ格納されたファイル管理情報3103を読み出して、利用できる。
ファイルデータ3104は、ディスク4005へ格納されたファイルデータを読み出し、読み出されたデータをメモリ3102へ書き込んだデータである。ファイルデータ3104は、ファイルシステムプログラム3106が作成する。なお、ファイルデータ3104は、ディスクストレージ1005のディスク4005へ格納されている。ファイルサーバ1004は、再起動の際に、ディスク4005へ格納されたファイルデータ3104を読み出し、利用できる。
バックアッププログラム3107は、バックアップサーバ1002からの要求に基づいて、ディスク4005へ格納されたファイル群を複製するためプログラムである。
バックアッププログラム3107は、バックアップサーバ1002のバックアップサーバプログラム2103から、ネットワークインタフェース3108を通して、バックアップ要求を受信すると、ストレージインタフェース3109を通してディスク4005からファイル群を読み出し、読み出したデータをテープ装置1006のテープ4105へ格納する。バックアップ処理の詳細は後述する(図9)。
また、バックアッププログラム3107は、バックアップサーバ1002のバックアップサーバプログラム2103から、ネットワークインタフェース3108を通して、リストア要求を受信すると、ストレージインタフェース3109を通して、テープ装置1006のテープ4105からデータを読み出し、読み出したデータをディスク4005へ書き込む。これによって、バックアッププログラム3107は、ファイルを復元する。リストア処理の詳細は後述する(図10)。
抽出ファイルリスト3110は、バックアッププログラム3107が利用するデータである。抽出ファイルリスト3110は、後述する共有データ保持ファイル5002のリストを含む。抽出ファイルリスト3110は、バックアッププログラム3107がファイル群をバックアップする際に作成される。本実施例において、抽出ファイルリスト3110がどのように使用されるかは後述する。
本実施例では、バックアッププログラム3107は、ファイルレベル重複排除がされたファイルをテープ装置1006へバックアップする際に、後述する共有データ保持ファイル5002をバックアップした後に、重複排除されたファイル5001A及び5001Bをバックアップする。さらに、バックアッププログラム3107は、テープ装置1006へバックアップされるファイルのヘッダに、リストア時に使用する情報を設定する。
さらに、バックアッププログラム3107は、ファイルをディスクストレージ1005へリストアする際に、共有データ保持ファイル5002を復元した後、重複排除ファイル5001A及び5001Bを復元する。バックアッププログラム3107は、重複排除ファイル5001A及び5001Bを復元する際に、共有データ保持ファイル5002へ参照情報5006を設定する。
このように、重複排除ファイル5001Aなどをバックアップする前に、共有データ保持ファイル5002を先にテープ装置1006へバックアップすることによって、重複排除ファイル5001A及び5001Bを復元する際に必要となる共有データ保持ファイル5002への参照を設定できる。
また、重複排除ファイル5001Aをリストアする前に、共有データ保持ファイル5002をディスクストレージ1005へリストアすることによって、重複排除ファイル5001A及び5001Bから共有データ保持ファイル5002への参照を設定できる。
図4Aは、本実施例におけるディスクストレージ1005の構成例を示すブロック図である。
ディスクストレージ1005は、プロセッサ(CPU)4001、メモリ4002、ディスクコントローラ4004及びストレージインタフェース4006を有し、これらのデバイスは内部通信路によって相互に接続されている。
ディスクコントローラ4004は、ディスク4005と接続されており、ディスク4005を制御する。ディスクコントローラ4004は、RAID(Redundant Arrays of Inexpensive Disks)機能を有し、複数のディスク4005を冗長化することによって、ディスクストレージ1005の耐障害性を向上させる。
プロセッサ4001は、メモリ4002へ格納されたストレージ管理プログラム4003を実行する。ストレージ管理プログラム4003は、ディスクコントローラ4004のRAID機能を管理するプログラムであり、例えば、冗長化するディスクアレイを構成し、ディスク4005へのデータの入出力を制御する。
ディスク4005は、磁気ディスクドライブ又は半導体記憶装置(SSD)であるが、実施例として記載したものに限らない。
本実施例において、ディスクストレージ1005は、冗長化機能を有しないストレージ装置でもよく、ディスクストレージ1005の構成は実施例として記載したものに限らない。
図4Bは、本実施例におけるテープ装置1006の構成例を示すブロック図である。
テープ装置1006は、プロセッサ(CPU)4101、メモリ4102、テープコントローラ4104及びストレージインタフェース4106を有し、これらのデバイスは内部通信路によって相互に接続されている。
テープコントローラ4104は、テープ装置1006に装着されたテープ4105へのデータの入出力及びテープ4105のシーク動作を制御する。プロセッサ4101は、メモリ4102へ格納されたテープ管理プログラム4103を実行する。テープ管理プログラム4103はバックアップ及びリストアに必要なテープ4105をテープヘッドへローディングするプログラムである。
本実施例において、ファイルデータをバックアップする記憶装置は、実施例として記載したテープ装置1006に限らず、光ディスク装置などのストレージ装置でもよい。
なお、本実施例では、ディスクストレージ1005へ格納されたデータをテープ装置1006へバックアップし、テープ装置1006へバックアップされたデータをディスクストレージ1005にリストアする処理について説明する。しかし、本発明は、前述した構成に限らず、ディスクストレージ1005は、ファイルサーバ1004にファイルデータを提供するために、ランダムアクセス性能が高い(アクセス時間が短い)記憶装置であればよく、テープ装置1006は、ディスクストレージ1005へ格納されたデータをバックアップするシーケンシャルアクセス性能が高い(格納されたデータに記録された順にアクセスするのに適しており、ランダムアクセスのためのシーク動作時間が長い)記憶装置であれば効果を奏する。
図5は、本実施例におけるディスクストレージ1005へ格納される重複排除ファイル群の構成例を説明する図である。
重複排除ファイル群は、重複排除ファイル5001A、重複排除ファイル5001B及び共有データ保持ファイル5002を含む。重複排除ファイル5001A、5001B及び共有データ保持ファイル5002は、前述したファイル管理データ3103、ブロックポインタ5010及びデータブロック5008B等を含む。ファイル管理データ3103は、ユーザID(UID)5003、グループID(GID)5004などの管理データと、重複排除に必要なポインタ5006及びフラグ5007を含む。
図5に示すように、ポインタ5006は、重複排除ファイル5001が共有データ保持ファイル5002を参照するために用いる。ポインタ5006には、inode番号、ファイルパスなどを用いることができる。なお、ポインタ5006は、共有データ保持ファイル5002を参照できるデータであればよく、実施例として記載したものに限らない。
フラグ5007は、重複排除ファイル5001と、共有データ保持ファイル5002と、それ以外のファイルとを区別するために使用される。例えば、フラグ5007の第一ビットは重複排除ファイルであることを示し、第2ビット目は共有データ保持ファイルであることを示す定義をしてもよい。
ブロックポインタ5010は、ディスク4005上のファイルデータの格納位置を示すデータである。重複排除ファイル5001A、5001B及び共有データ保持ファイル5002が実データを有しない場合、ブロックポインタ5010は設定されない。
図5では、重複排除ファイル5001A及びBには、ブロックポインタ5010が設定されている。重複排除処理後に重複排除ファイル5001A及びBが更新されたため、ブロックポインタ5010は、更新による差分データを示す。差分データは、ディスク4005へ格納される(5008A、5008C)。図5では、重複排除ファイル5001A及び5001Bで、異なる差分データが格納される。
図5では、重複排除処理が実行される時点では、二つの重複排除ファイル5001A及び5001Bが同じファイルデータを有している、従って、重複排除処理が実行された結果、二つのファイル5001A及び5001Bは同じ共有データ保持ファイル5002を参照している。一方、他の重複排除ファイルが前記二つのファイルと同じファイルデータを有する場合、前記他のファイルが同じ共有データ保持ファイル5002を参照する。
重複排除ファイル5001A及び重複排除ファイル5001Bは、重複排除処理前は、同じファイルデータを保持している。重複排除処理時に、共有データ保持ファイル5002が作成される。共有データ保持ファイル5002には、重複排除ファイル5001A又は5001Bのファイルデータが設定される。そして、重複排除ファイル5001A及び5001Bは、共有データ保持ファイル5002を参照する。ファイルシステムプログラム3106が重複排除ファイル5001A又は5001Bへアクセスする際、ファイルシステムプログラム3106はフラグ5007に含まれる重複排除データファイルフラグを参照し、ファイルシステムプログラム3106はアクセス先のファイルが重複排除ファイルであるかを判定する。
図6は、本実施例におけるテープ装置1006のテープ4105へ格納されるデータの構造を示す図である。
各ファイルのテープデータ6000は、テープの先頭からファイルシステムボリュームに保持される。まず、共有データ保持ファイル5002がテープデータ6000の先頭から格納される。全ての共有データ保持ファイル5002がテープ4105へ格納された後、重複排除ファイル5001及び通常ファイルが格納される。このため、テープ4105の先頭から見て、共有データ保持ファイル5002の読み出し位置が重複排除ファイル5001の読み出し位置より手前になる。このため、データをテープ4105の先頭からシーケンシャルリードする際に、共有データ保持ファイル5002が重複排除ファイル5001より先に読み出される。
共有データ保持ファイル5002が格納されたテープ領域6101は、ヘッダ6001及びデータ6004を含む。ヘッダ6001は、ファイル管理データ3103の情報を保持する。テープデータ6000へ格納されるファイルが共有データ保持ファイル5002である場合に、ヘッダ6001の共有データフラグ6003が設定され、共有データ保持ファイル5002のデータがデータ6004へ格納される。複数の共有データ保持ファイルがある場合、テープ領域6101と同じデータ構造で、複数の共有データ保持ファイル5002が格納される。
共有データ保持ファイル5002のバックアップが終了した後、重複排除ファイル5001及び通常ファイルがテープ4105へ格納される。本実施例において、重複排除ファイル5001をテープ4105へバックアップするためのテープ領域6005は、ヘッダ6001及びデータ6004を含む。ヘッダ6001は、ファイル管理データ3103の情報を保持する。テープデータ6000へ格納されるファイルが重複排除ファイル5001である場合、ヘッダ6001の重複排除データフラグ6007が設定される。
共有データパス6002は、重複排除ファイル5001が参照している共有データ保持ファイル5002への参照情報を保持する。参照情報は、共有データ保持ファイル5002のファイルパスを用いることができる。なお、参照情報は、共有データ保持ファイル5002を一意に特定できる情報、例えばinode番号やファイルパスやブロックアドレスでもよく、実施例として記載したものに限らない。
テープ領域6005のデータ6004は、重複排除ファイル5001A、Bの差分データ5008A、Cを格納する。
本実施例における通常ファイルのテープ領域6011は、ヘッダ6001及びデータ6004を含む。ヘッダ6001は、ファイル管理データ3103の情報を格納する。またデータ6004は、ファイルのデータを格納する。
本発明のテープデータの構造において、重複排除ファイル5001と通常ファイルとの格納順序は図示したものに限らない。図6では、重複排除ファイル5001の後に通常ファイルを格納しているが、この順序は逆でもランダムでもよい。
図7は、本実施例におけるテープ4105へ格納されるバックアップデータの作成の概要を説明する図である。
ディスク4005は、四つの重複排除ファイル5001及び二つの共有データ保持ファイル5002を格納する。重複排除ファイル1(7007)及び重複排除ファイル2(7004)は共有データ保持ファイル1(7002)を参照し、重複排除ファイル3(7008)及び重複排除ファイル4(7005)は共有データ保持ファイル2(7003)を参照する。
本実施例のバックアップ方法では、まず、共有データ保持ファイル群7001をテープ4105へ格納する。共有データ保持ファイル群7001は、前述してテープデータ6000の構造で格納される。図7に示す例では、共有データ保持ファイル1(7002)がテープ4105の先頭から格納された後に、共有データ保持ファイル2(7003)が格納される。この例では、二つの共有データ保持ファイル5002がディスク4005へ格納されているため、二つの共有データ保持ファイル5002を格納した時点でバックアップが終了する。その後、重複排除ファイル5001群7006をテープ4105へ格納する。図7に示す例では、重複排除ファイル1(7007)、重複排除ファイル2(7004)、重複排除ファイル3(7008)及び重複排除ファイル4(7005)の順で格納される。なお、前述した通り、重複排除ファイルの格納順序は図示したものに限らない。
このように、共有データ保持ファイル群7001をテープ4105へ格納した後、重複排除ファイル群7006をテープ4105へ格納する。
図8は、本実施例における抽出ファイルリスト3110の構成を示す図である。
抽出ファイルリスト3110は、バックアッププログラム3107の実行時に作成される。又は、予め、抽出ファイルリスト3110を作成しておき、重複排除時やファイル作成時に随時更新するものでもよい。
抽出ファイルリスト3110は、共有データ保持ファイル5002のリスト12001、重複排除ファイル5001のリスト12002及び通常ファイルのリスト12003を含む。
共有データ保持ファイルのリスト12001は、その先頭から、各共有データ保持ファイルのファイルパス12004を示すリストの要素を含む。他のリストも、その先頭からファイルパス12004を示すリストの要素を含む。
なお、本実施例においては、共有データ保持ファイルと、それ以外のファイルとを区別できればよいので、重複排除ファイル5001のリスト12002及び通常ファイルのリストは一つのリストでもよい。また、共有データ保持ファイルのリスト12001のみでもよい。
図9は、本実施例におけるバックアップ処理のフローチャートである。ファイルサーバ1004のプロセッサ3101がバックアッププログラム3107実行することによって、図9に示すバックアップ処理が行われる。
バックアッププログラム3107は、バックアップサーバ1002のバックアップサーバプログラム2103からバックアップ要求を受信すると、ディスク4005を検索して共有データ保持ファイル5002と重複排除ファイル5001と通常ファイルとを分類する(ステップ8001)。具体的には、バックアッププログラム3107は、ファイル管理データ3103のフラグ5007を参照して、各ファイルの種類を特定する。そして、バックアッププログラム3107は、ファイルを分類した結果を、抽出ファイルリスト3110に保存する。
その後、バックアッププログラム3107は、抽出ファイルリスト3110の共有データ保持ファイルリスト12001からファイルを一つ選択する(ステップ8002)。
そして、バックアッププログラム3107は、ステップ8002で取り出したファイルのファイル管理データ3103を用いて、テープのデータ構造6000のヘッダ6001を作成する(ステップ8003)。具体的には、バックアッププログラム3107は、ヘッダ6001の共有データフラグ6003を設定する。
そして、バックアッププログラム3107は、共有データ保持ファイル5002のデータ5008Bを読み出し(ステップ8004)、ヘッダ6001及び読み出したデータをテープ4105へ格納する(ステップ8005)。
そして、バックアッププログラム3107は、全ての共有データ保持ファイル5002がバックアップされたかを判定する(ステップ8006)。判定の結果、一部の共有データ保持ファイル5002がテープ4105へ格納されていない場合(ステップ8006で「N」)、ステップ8002へ戻り、処理を続ける。一方、全ての共有データ保持ファイル5002をテープ4105へ格納した場合(ステップ8006で「Y」)、バックアッププログラム3107は、ステップ8007へ進み、重複排除ファイル5001及び通常ファイルをテープへ格納する。
バックアッププログラム3107は、抽出ファイルリスト3110の重複排除ファイルのリスト12002又は通常ファイルのリスト12003から一つファイルを選択する(ステップ8007)。
そして、バックアッププログラム3107は、取り出したファイルのファイルタイプを判定する(ステップ8008)。判定の結果、取り出したファイルが通常ファイルである場合、バックアッププログラム3107は、従来のバックアップ処理、すなわち従来と同様の方法でファイルをテープへ格納する(ステップ8013)。
一方、取り出したファイルが重複排除ファイル5001である場合、ステップ8009からステップ8011を実行する。まず、重複排除ファイル5001のファイル管理データ3103を用いてヘッダ6001を作成する(ステップ8009)。具体的には、バックアッププログラム3107は、ヘッダ6001の重複排除データフラグ6007を設定する。さらに、バックアッププログラム3107は、ファイル管理データ3103のポインタ5006を用いて共有データ保持ファイル5002のファイルパスを取得し、共有データ保持ファイル5002のファイルパスをヘッダ6001の共有データパス6002に設定する。次に、バックアッププログラム3107は、重複排除ファイル5001の差分データ5008A及び5008Bを読み込む(ステップ8010)。そして、バックアッププログラム3107は、作成したヘッダと差分データをテープ4105へ格納する(ステップ8011)。
その後、バックアッププログラム3107は重複排除ファイル5001及び通常ファイルが全てバックアップされたかを判定する(ステップ8012)。判定の結果、一部の重複排除ファイル5001又は通常ファイルがテープ4105へ格納されていない場合(ステップ8012で「N」)、ステップ8007に戻り、次のファイルの処理を続ける。一方、全ての重複排除ファイル5001及び通常ファイルのテープ4105への格納が完了した場合(ステップ8012で「Y」)、バックアッププログラム3107はバックアップ処理を終了する。
以上に説明したバックアッププログラム3107の動作によって、テープ4105の初めに共有データ保持ファイル5002が保存された後、重複排除ファイル5001及び通常ファイルが保存される。すなわち、図9に示すバックアップ処理では、テープ4105の先頭から見て、共有データ保持ファイル5002の読み出し位置が重複排除ファイル5001の読み出し位置より手前になる。このため、データをテープ4105の先頭からシーケンシャルリードする際に、重複排除ファイル5001より先に共有データ保持ファイル5002が読み出される。
次に、テープ4105へバックアップされたファイルのリストア処理について説明する。リストア処理において、テープへバックアップされたファイルをテープの先端から順次リストアする(シーケンシャルリードする)ことを前提とする。シーケンシャルリードによって、テープの読み出し性能を最大限に発揮できる。例えば、テープの半ばに保存されたファイルをリストアする場合、ファイルの頭出し処理(シーク処理)が必要となる。磁気ディスクドライブ(HDD)や半導体記憶装置(SSD)などと比べて、テープのシーク処理にかかる時間が非常に長いため、シーク処理を行うとテープの読み出し性能は大きく低下し、リストア時間が長くなる。
なお、シーケンシャルリードに向く特性を持つ記憶媒体には、テープの他に、CD−ROM、DVD−ROM、フロッピーディスクなどがある。本発明のリストア処理はこれらの記憶媒体に対しても有効である。つまり、本発明は順次読み出しと頭出しを伴う読み出し(ランダムリード)との性能差が大きい記憶媒体に有効である。
図10は、本実施例におけるリストア処理のフローチャートである。ファイルサーバ1004のプロセッサ3101がバックアッププログラム3107を実行することによって、図10に示すリストア処理が行われる。
バックアッププログラム3107は、バックアップサーバ1002のバックアップサーバプログラム2103からリストア要求を受信すると、テープ装置1006に装着されたテープ4105をロードし、テープ4105の先頭から末端に向かって、一つずつファイルを読み出し(ステップ9001)、読み出したファイルのヘッダ6001のフラグを調べる(ステップ9010)。
ヘッダ6001に共有データフラグ6003が設定されている場合、バックアッププログラム3107はファイル管理データ3103及びデータ6004をファイルとしてディスク4005に書き込む(ステップ9002)。そして、バックアッププログラム3107は、ファイル管理データ3103のフラグ5007に共有データ保持ファイル5002であることを示すフラグを設定する(ステップ9003)。
一方、ヘッダ6001に重複排除データフラグ6007が設定されている場合、バックアッププログラム3107は、ヘッダ6001から共有データパス6002を取得する(ステップ9004)。そして、バックアッププログラム3107は、データ6004をテープ4105から読み出し、ファイルとしてディスク4005に書き込む(ステップ9005)。そして、バックアッププログラム3107は、ファイル管理データ3103のフラグ5007に、リストアされたファイルが重複排除ファイル5001であることを示すフラグを設定する(ステップ9006)。
そして、バックアッププログラム3107は、ファイル管理データ3103のポインタ5006に参照情報を設定する(ステップ9007)。具体的には、バックアッププログラム3107は、ステップ9004で取得した共有データ保持ファイル5001のパスを用いて、参照情報を設定する。
一方、ステップ9010においてヘッダ6001にフラグが設定されていないと判定された場合、バックアッププログラム3107は、読み出したファイルを通常ファイルとしてリストアする(ステップ9008)。
その後、テープ4105へ格納された全てのファイルがリストアされたかを判定する(ステップ9020)。判定の結果、一部のファイルがリストアされていない場合(ステップ9020で「N」)、ステップ9001に戻り、次のファイルの処理を続ける。一方、全てのファイルのリストアが完了した場合(ステップ9020で「Y」)、バックアッププログラム3107は処理を終了する。
以上に説明したように、第一の実施例によると、図9で前述したバックアップ処理において、共有データ保持ファイル5002を重複排除ファイルより先の読み出し位置格納するようにテープ4105へ格納している。そのため、図10に示すシーケンシャルリードによってバックアップデータをリストアする処理においては、ステップ9002及び9003が先に実行され、共有データ保持ファイル5002がリストアされた後、重複排除ファイル5001がリストアされる。すなわち、重複排除ファイル5001をリストアする時点で共有データ保持ファイル5002が存在するので、ステップ9007でポインタ5006を設定することができる。なお、共有データ保持ファイル5002と重複排除ファイル5001との順序を考慮せずにリストアすると、重複排除ファイル5001をリストアする時点で共有データ保持ファイル5002が存在しないので、ステップ9007でポインタ5006を設定できない。
このため、第一の実施例によると、ファイルレベル重複排除を行ったファイルシステムにおいて、重複排除状態を維持ししたままバックアップ及びリストアが可能となる。このため、リストア時のテープ装置のシーク動作を抑制することができる。
(第二の実施例)
第二の実施例は、重複排除されたファイルシステムのファイルをテープ4105へバックアップする際に、第一の実施例のように共有データ保持ファイル5002を纏めて先にバックアップしない。このため、第二の実施例では、重複排除ファイル5001をバックアップする際に、関連する共有データ保持ファイル5002が未だバックアップされていなければ、共有データ保持ファイル5002を先にバックアップする。
なお、第二の実施例において、前述した第一の実施例と同じ構成には同じ符号を付し、それらの説明は省略する。
図11は、第二の実施例におけるファイルサーバ1004の構成例を示すブロック図である。
第二の実施例のファイルサーバ1004は、第一の実施例の抽出ファイルリスト3110の代わりに、共有データ保持ファイルバックアップ済みリスト13001をメモリ3102に保持する。
共有データ保持ファイルバックアップ済みリスト13001は、既にテープ4105へバックアップされた共有データ保持ファイル5002のリストであり、ファイルの参照情報(inode、ファイルパスなど)を含む。有データ保持ファイルバックアップ済みリスト13001は、バックアッププログラム3107がファイルをバックアップする際に作成される。
図12は、第二の実施例における共有データ保持ファイルバックアップ済みリスト13001の構成を示す図である。
共有データ保持ファイルバックアップ済みリスト13001は、共有データ保持ファイル5002のファイルパス14001を含む。共有データ保持ファイルバックアップ済みリスト13001がどのように使用されるかは後述する。
図13は、第二の実施例におけるテープ装置1006のテープ4105へ格納されるデータ構造を示す図である。
第二の実施例では、第一の実施例のように、テープの先頭から共有データ保持ファイル5002を配置するのではなく、参照元の重複排除ファイル5001より先に、参照先の共有データ保持ファイル5002を配置する。図13に示す例では、通常ファイル6011がテープの先頭に保存されている。また、テープに保存されている、重複排除ファイル5001は、共有データ保持ファイル5002を参照している。このため、バックアッププログラム3107は、バックアップ処理実行時に、共有データ保持ファイル5002をテープ4105に格納した後(6101)、参照元の重複排除ファイル5001をテープ4105に格納する(6005)。
図14は、第二の実施例におけるバックアップ処理のフローチャートである。
バックアッププログラム3107は、バックアップサーバ1002のバックアップサーバプログラム2103からバックアップ要求を受信すると、ディスク(ファイルシステムボリューム)4005からファイルを一つ選択する(ステップ11001)。
そして、バックアッププログラム3107は、選択したファイルのタイプを判定する(ステップ11002)。判定の結果、選択したファイルが通常ファイルである場合、バックアッププログラム3107は、従来のバックアップ処理、すなわち従来と同様の方法でファイルをテープ4105へ格納する(ステップ11003)。
一方、選択したファイルが共有データ保持ファイル5002である場合、バックアッププログラム3107は、共有データ保持ファイル5002のために、共有データフラグ6003が設定されたヘッダを作成する(ステップ11004)。そして、バックアッププログラム3107は、ファイルのデータを読み出し(ステップ11005)、作成されたヘッダ及び読み出したデータをテープ4105へ格納する(ステップ11006)。そして、バックアッププログラム3107は、共有データ保持ファイル5002のパスを共有データ保持ファイルバックアップ済みリスト13001へ登録する(ステップ11007)。
一方、選択したファイルが重複排除ファイル5001である場合、後述する重複排除ファイルバックアップ処理を実行する(ステップ15000)。
その後、バックアッププログラム3107は、ディスク4005へ格納されたファイルが全てバックアップされたかを判定する(ステップ11012)。判定の結果、ファイルがテープ4105へ格納されていない場合(ステップ11012で「N」)、ステップ11001に戻り、次のファイルの処理を続ける。一方、全てのファイルがテープ4105へ格納された場合(ステップ11012で「Y」)、バックアッププログラム3107は処理を終了する。
図15は、第二の実施例における重複排除ファイルバックアップ処理のフローチャートである。図15に示す重複排除ファイルバックアップ処理は、バックアップ処理(図14)のステップ15000において実行される。
まず、バックアッププログラム3107は、重複排除ファイル5001が参照している共有データ保持ファイル5002の参照情報を取得する(ステップ15001)。
そして、バックアッププログラム3107は、共有データ保持ファイルバックアップ済みリスト13001を検索し、共有データ保持ファイルが既にテープ4105に格納されているかを判定する(ステップ15002)。判定の結果、ステップ15001で取得した参照情報が共有データ保持ファイルバックアップ済みリスト13001に記録されていない場合、共有データ保持ファイル5002をバックアップする(ステップ15003)。この処理は、バックアップ処理(図14)のステップ11004からステップ11007の処理と同じである。
一方、取得したパスが共有データ保持ファイルバックアップ済みリスト13001に記録されている場合、ステップ15005に進み、バックアッププログラム3107は、重複排除ファイルのヘッダ6001を作成する。具体的には、バックアッププログラム3107は、重複排除データフラグ6007及び共有データ保持ファイル5002のパスを共有データパス6002へ格納する(ステップ15005)。
そして、バックアッププログラム3107は、重複排除ファイル5001の差分データ5008を読み出す(ステップ15006)。最後に、バックアッププログラム3107は、作成したヘッダ6001と読み出した重複排除ファイル5001の差分データをテープ4105へ格納する(ステップ15007)。
以上に説明したバックアッププログラム3107の動作によって、テープ4105の先頭から見て、共有データ保持ファイル5002の読み出し位置が、当該共有データ保持ファイル5002に対応する重複排除ファイル5001の読み出し位置より手前になる。このため、データをテープ4105の先頭からシーケンシャルリードする際に、重複排除ファイル5001より先に共有データ保持ファイル5002が読み出される。
以上に説明したように、本発明の第二の実施例によれば、重複排除ファイル5001をバックアップする際に、共有データ保持ファイル5002が既にテープ4105へ格納されているかを判定する。共有データ保持ファイル5002がテープ4105へ格納されていなければ、共有データ保持ファイル5002を重複排除ファイル5001より先にテープへ格納する。このため、リストア実行時に、共有データ保持ファイル5002が重複排除ファイル5001より先に復元されるので、重複排除ファイル5001が復元される際に参照先の共有データ保持ファイル5002が必ず存在する。
よって、テープの先頭に共有データ保持ファイル5002を格納しなくてよく、バックアップ時にファイルシステムボリュームの検索が不要になるため、高速にバックアップ可能となる。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。

Claims (15)

  1. 計算機システムであって、
    クライアント計算機へデータを提供するサーバと、
    前記クライアント計算機に提供するデータを格納する第1の記憶装置と、
    前記第1の記憶装置へ格納されたデータをバックアップする第2の記憶装置と、を備え、
    前記サーバは、プログラムを実行するプロセッサと、前記プロセッサで実行されるプログラムを格納するメモリと、を有し、
    前記第1の記憶装置は、一部又は全部のデータを他のデータと共有する重複排除データ、前記複数の重複排除データに共有される共有データ、及び、前記重複排除データ及び前記共有データを含む格納されたデータの種別を表す第1の種別データを格納し、
    前記重複排除データは、前記共有データへのポインタによって、前記共有データと関連付けられ、前記共有データとの差を示す差分データを含み、
    前記サーバは、前記第2の記憶装置へ格納されるデータの種類を表す第2の種別データを、前記第1の種別データから生成し、
    前記第2の記憶装置は、シーケンシャルリードを行う場合に、前記重複排除データが読み出される位置より前の読み出し位置に、当該重複排除データに関連付けられた共有データを格納し、前記生成された第2の種別データを格納することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記第2の記憶装置は、バックアップ対象に含まれる複数の前記共有データを格納し、前記複数の共有データが格納された読み出し位置より後に、前記複数の共有データに関連付けられる複数の重複排除データを格納することを特徴とする計算機システム。
  3. 請求項2に記載の計算機システムであって、
    前記サーバは、前記第1の種別データを参照して、前記第2の記憶装置に格納される前記共有データを抽出することを特徴とする計算機システム。
  4. 請求項1に記載の計算機システムであって、
    前記サーバは、
    前記第1の種別データを参照し、前記第2の記憶装置へバックアップされるデータが重複排除データであるかを判定し、
    当該データが重複排除データである場合、当該重複排除データに関連付けられる共有データが、前記第2の記憶装置へ格納されているかを判定し、
    前記第2の記憶装置は、前記共有データが前記第2の記憶装置へ格納されていない場合、当該共有データを格納した後、当該共有データの格納位置より後の読み出し位置に当該重複排除データを格納することを特徴とする計算機システム。
  5. 請求項1に記載の計算機システムであって、
    前記サーバは、
    前記第2の記憶装置に格納されたデータのシーケンシャルリードを実行し、
    前記読み出された第2の種別データを参照して、前記第1の記憶装置へ格納するデータの種別を判定し、
    前記第1の記憶装置へ格納されるデータが重複排除データである場合、前記重複排除データが関連付けられる共有データとの関連付けの情報を前記第2の記憶装置から取得し、
    前記取得した関連付けの情報から前記共有データへのポインタを生成し、
    前記第2の記憶装置から読み出したデータから前記重複排除データの差分データを生成し、
    前記第1の記憶装置は、前記生成した差分データを格納することを特徴とする計算機システム。
  6. クライアント計算機へデータを提供するサーバであって、
    プログラムを実行するプロセッサと、
    前記プロセッサで実行されるプログラムを格納するメモリと、を備え、
    前記クライアント計算機に提供するデータを格納する第1の記憶装置及び前記第1の記憶装置へ格納されたデータをバックアップする第2の記憶装置と接続され、
    前記第1の記憶装置は、
    一部又は全部のデータを他のデータと共有する重複排除データ、前記複数の重複排除データに共有される共有データ、及び、前記重複排除データ及び前記共有データを含む格納されたデータの種別を表す第1の種別データを格納し、
    前記重複排除データは、前記共有データへのポインタによって、前記共有データと関連付けられ、前記共有データとの差を示す差分データを含み、
    前記サーバは、
    前記第2の記憶装置へ格納されたデータの種類を表す第2の種別データを、前記第1の種別データから生成し、
    シーケンシャルリードを行う場合に、前記重複排除データが読み出される位置より前の読み出し位置に、当該重複排除データに関連付けられた共有データを前記第2の記憶装置へ格納し、
    前記生成された第2の種別データを第2の記憶装置へ格納することを特徴とするサーバ。
  7. 請求項6に記載のサーバであって、
    バックアップ対象に含まれる複数の前記共有データを前記第2の記憶装置へ格納し、前記複数の共有データが格納された読み出し位置より後に、前記複数の共有データに関連付けられる複数の重複排除データを前記第2の記憶装置へ格納することを特徴とするサーバ。
  8. 請求項7に記載のサーバであって、
    前記第1の種別データを参照して、前記共有データを抽出することを特徴とするサーバ。
  9. 請求項6に記載のサーバであって、
    前記第1の種別データを参照し、前記第2の記憶装置へバックアップされるデータが重複排除データであるかを判定し、
    当該データが重複排除データである場合、当該重複排除データに関連付けられる共有データが、前記第2の記憶装置へ格納されているかを判定し、
    前記共有データが前記第2の記憶装置へ格納されていない場合、当該共有データを前記第2の記憶装置へ格納した後、当該共有データの格納位置より後の読み出し位置に当該重複排除データを前記第2の記憶装置へ格納することを特徴とするサーバ。
  10. 請求項6に記載のサーバであって、
    請求項6に記載のサーバであって、
    前記第2の記憶装置に格納されたデータのシーケンシャルリードを実行し、
    前記読み出された第2の種別データを参照して、前記第1の記憶装置へ格納するデータの種別を判定し、
    前記第1の記憶装置へ格納されるデータが重複排除データである場合、前記重複排除データが関連付けられる共有データとの関連付けの情報を前記第2の記憶装置から取得し、
    前記取得した関連付けの情報から前記共有データへのポインタを生成し、
    前記第2の記憶装置から読み出したデータから前記重複排除データの差分データを生成し、
    前記生成した差分データを前記第1の記憶装置へ格納することを特徴とするサーバ。
  11. 計算機システムにおけるデータの管理方法であって、
    前記計算機システムは、クライアント計算機へデータを提供するサーバと、前記クライアント計算機に提供するデータを格納する第1の記憶装置と、前記第1の記憶装置へ格納されたデータをバックアップする第2の記憶装置と、を有し、
    前記サーバは、プログラムを実行するプロセッサと、前記プロセッサで実行されるプログラムを格納するメモリと、を有し、
    前記第1の記憶装置は、
    一部又は全部のデータを他のデータと共有する重複排除データ、前記複数の重複排除データに共有される共有データ、及び、前記重複排除データ及び前記共有データを含む格納されたデータの種別を表す第1の種別データを格納し、
    前記重複排除データは、前記共有データへのポインタによって、前記共有データと関連付けられ、前記共有データとの差を示す差分データを含み、
    前記方法は、
    前記サーバが、前記第2の記憶装置へ格納されたデータの種類を表す第2の種別データを、前記第1の種別データから生成し、
    前記第2の記憶装置が、
    シーケンシャルリードを行う場合に、前記重複排除データが読み出される位置より前の読み出し位置に、当該重複排除データに関連付けられた共有データを格納し、
    前記生成された第2の種別データを格納することを特徴とする方法。
  12. 請求項11に記載の方法であって、
    前記第2の記憶装置は、バックアップ対象に含まれる複数の前記共有データを格納し、前記複数の共有データが格納された読み出し位置より後に、前記複数の共有データに関連付けられる複数の重複排除データを格納することを特徴とする方法。
  13. 請求項12に記載の方法であって、
    前記サーバは、前記第1の種別データを参照して、前記共有データを抽出することを特徴とする方法。
  14. 請求項11に記載の方法であって、
    前記サーバは、前記第1の種別データを参照し、前記第2の記憶装置へバックアップされるデータが重複排除データであるかを判定し、
    前記サーバは、当該データが重複排除データである場合、当該重複排除データに関連付けられる共有データが、前記第2の記憶装置へ格納されているかを判定し、
    前記第2の記憶装置は、前記共有データが格納されていない場合、当該共有データを格納した後、当該共有データの格納位置より後の読み出し位置に当該重複排除データを格納することを特徴とする方法。
  15. 請求項11に記載の方法であって、
    前記第2の記憶装置に格納されたデータのシーケンシャルリードを実行し、
    前記サーバは、前記読み出された第2の種別データを参照して、前記第1の記憶装置へ格納するデータの種別を判定し、
    前記サーバは、前記第1の記憶装置へ格納されるデータが重複排除データである場合、前記重複排除データが関連付けられる共有データとの関連付けの情報を前記第2の記憶装置から取得し、
    前記サーバは、前記取得した関連付けの情報から前記共有データへのポインタを生成し、
    前記サーバは、前記第2の記憶装置から読み出したデータから前記重複排除データの差分データを生成し、
    前記第1の記憶装置は、前記生成した差分データを格納することを特徴とする方法。
JP2015501968A 2012-10-01 2012-10-01 計算機システム、サーバ、及び、データ管理方法 Expired - Fee Related JP6133396B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/006278 WO2014054065A1 (en) 2012-10-01 2012-10-01 Backup and restore system for a deduplicated file system and corresponding server and method

Publications (2)

Publication Number Publication Date
JP2015527620A true JP2015527620A (ja) 2015-09-17
JP6133396B2 JP6133396B2 (ja) 2017-05-24

Family

ID=47076325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015501968A Expired - Fee Related JP6133396B2 (ja) 2012-10-01 2012-10-01 計算機システム、サーバ、及び、データ管理方法

Country Status (5)

Country Link
US (2) US9201884B2 (ja)
EP (1) EP2864887A1 (ja)
JP (1) JP6133396B2 (ja)
CN (1) CN104583966B (ja)
WO (1) WO2014054065A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021114164A (ja) * 2020-01-20 2021-08-05 富士通株式会社 ストレージ装置及びストレージ制御方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843773B (zh) * 2017-02-16 2021-12-03 北京书生云科技有限公司 存储方法和分布式存储系统
JP6041839B2 (ja) * 2014-09-04 2016-12-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メタ情報を保管する方法、プログラム、及びそのテープ記録システム
CN105631042B (zh) * 2016-01-26 2019-02-22 北京京东尚科信息技术有限公司 一种数据验重的方法和装置
CN107526651A (zh) * 2016-06-21 2017-12-29 深圳中电长城信息安全系统有限公司 一种磁盘阵列备份的方法和系统
CN107870922B (zh) * 2016-09-23 2022-02-22 伊姆西Ip控股有限责任公司 一种用于数据去重的方法、设备和系统
JP6865868B1 (ja) * 2020-01-31 2021-04-28 ゼネラル・エレクトリック・カンパニイ 医用画像撮影装置、その制御プログラム及びシステム
CA3105553A1 (en) * 2021-01-11 2022-07-11 Walmart Apollo, Llc Cloud-based sftp server system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1055298A (ja) * 1995-10-04 1998-02-24 Stac Electron コンピュータのディスクボリュームをバックアップするシステム
JP2009238036A (ja) * 2008-03-27 2009-10-15 Nec Corp データバックアップ装置、データバックアップ方法およびプログラム
JP2012133768A (ja) * 2010-12-17 2012-07-12 Internatl Business Mach Corp <Ibm> 順次バックアップ・デバイス内に格納されたバックアップ・オブジェクトからファイルの復元セットを復元するためのコンピュータ・プログラム、システム、および方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4075203B2 (ja) * 1999-04-09 2008-04-16 株式会社日立製作所 データバックアップシステム
US7386752B1 (en) * 2004-06-30 2008-06-10 Symantec Operating Corporation Using asset dependencies to identify the recovery set and optionally automate and/or optimize the recovery
US7577786B2 (en) * 2005-12-08 2009-08-18 Quality Systems Associates, Inc. Restore accelerator for serial media backup systems
EP2102751B1 (en) * 2006-12-22 2013-11-20 Commvault Systems, Inc. System and method for storing redundant information
US8131924B1 (en) * 2008-03-19 2012-03-06 Netapp, Inc. De-duplication of data stored on tape media
US8060476B1 (en) * 2008-07-14 2011-11-15 Quest Software, Inc. Backup systems and methods for a virtual computing environment
US8578120B2 (en) * 2009-05-22 2013-11-05 Commvault Systems, Inc. Block-level single instancing
US8200926B1 (en) 2009-05-28 2012-06-12 Symantec Corporation Methods and systems for creating full backups
US8504529B1 (en) * 2009-06-19 2013-08-06 Netapp, Inc. System and method for restoring data to a storage device based on a backup image
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8204862B1 (en) 2009-10-02 2012-06-19 Symantec Corporation Systems and methods for restoring deduplicated data
US8606751B1 (en) * 2009-12-21 2013-12-10 Emc Corporation System and method for backup by inode number

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1055298A (ja) * 1995-10-04 1998-02-24 Stac Electron コンピュータのディスクボリュームをバックアップするシステム
JP2009238036A (ja) * 2008-03-27 2009-10-15 Nec Corp データバックアップ装置、データバックアップ方法およびプログラム
JP2012133768A (ja) * 2010-12-17 2012-07-12 Internatl Business Mach Corp <Ibm> 順次バックアップ・デバイス内に格納されたバックアップ・オブジェクトからファイルの復元セットを復元するためのコンピュータ・プログラム、システム、および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021114164A (ja) * 2020-01-20 2021-08-05 富士通株式会社 ストレージ装置及びストレージ制御方法

Also Published As

Publication number Publication date
JP6133396B2 (ja) 2017-05-24
EP2864887A1 (en) 2015-04-29
US9201884B2 (en) 2015-12-01
CN104583966A (zh) 2015-04-29
US20160062844A1 (en) 2016-03-03
CN104583966B (zh) 2018-06-08
WO2014054065A1 (en) 2014-04-10
US20140095440A1 (en) 2014-04-03
US9569311B2 (en) 2017-02-14

Similar Documents

Publication Publication Date Title
JP6133396B2 (ja) 計算機システム、サーバ、及び、データ管理方法
US8706694B2 (en) Continuous data protection of files stored on a remote storage device
US9135119B1 (en) System and method for data management
US8473462B1 (en) Change tracking for shared disks
US8370302B2 (en) Method and apparatus for block based volume backup
JP4515132B2 (ja) ストレージシステム、ストレージ装置及びリモートコピー方法
US9996421B2 (en) Data storage method, data storage apparatus, and storage device
US8700570B1 (en) Online storage migration of replicated storage arrays
US20130311429A1 (en) Method for controlling backup and restoration, and storage system using the same
US20110238625A1 (en) Information processing system and method of acquiring backup in an information processing system
US20190188309A1 (en) Tracking changes in mirrored databases
CN106528338A (zh) 一种远程数据复制方法、存储设备及存储系统
US10678759B2 (en) Systems and methods of providing data protection for hyper-converged infrastructures
CN110121694A (zh) 一种日志管理方法、服务器和数据库系统
US8595454B1 (en) System and method for caching mapping information for off-host backups
JP6967010B2 (ja) 異種ストレージシステム間の複製
US11003541B2 (en) Point-in-time copy on a remote system
CN116339609A (zh) 一种数据处理方法以及存储设备
US11256716B2 (en) Verifying mirroring of source data units to target data units
US11531644B2 (en) Fractional consistent global snapshots of a distributed namespace
US10936424B1 (en) Smart file level restore with RP4VM
WO2016098152A1 (ja) 情報システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161013

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170419

R150 Certificate of patent or registration of utility model

Ref document number: 6133396

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees