JP5581776B2 - バックアップ装置,バックアップ方法およびバックアッププログラム - Google Patents

バックアップ装置,バックアップ方法およびバックアッププログラム Download PDF

Info

Publication number
JP5581776B2
JP5581776B2 JP2010081686A JP2010081686A JP5581776B2 JP 5581776 B2 JP5581776 B2 JP 5581776B2 JP 2010081686 A JP2010081686 A JP 2010081686A JP 2010081686 A JP2010081686 A JP 2010081686A JP 5581776 B2 JP5581776 B2 JP 5581776B2
Authority
JP
Japan
Prior art keywords
backup
generation
area
volume
update
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.)
Expired - Fee Related
Application number
JP2010081686A
Other languages
English (en)
Other versions
JP2011215750A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010081686A priority Critical patent/JP5581776B2/ja
Priority to US13/025,759 priority patent/US8862844B2/en
Publication of JP2011215750A publication Critical patent/JP2011215750A/ja
Application granted granted Critical
Publication of JP5581776B2 publication Critical patent/JP5581776B2/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/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/1456Hardware arrangements for backup
    • 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

Description

本件はバックアップ装置,バックアップ方法およびバックアッププログラムに関する。
一般に、ストレージ製品やコンピュータにおけるコピー元ボリューム、例えば業務ボリュームをバックアップする手法の一つとしてOPC(One Point Copy)が知られている。OPCとは、バックアップ対象となるデータについて所定時点におけるデータであるスナップショットを作成するものである。OPCを実行するバックアップ装置は、ユーザからOPC指示を受けると、当該OPC指示を受けた時点における業務ボリュームの全データをコピーしてスナップショット(バックアップデータ)として格納することにより、業務ボリュームのバックアップを行なう。
このようなOPCの拡張機能としては、差分コピーを実現する機能としてバックグラウンドコピー方式を用いたQOPC(Quick One Point Copy)や、複数世代コピーを実現する機能としてコピーオンライト方式を用いたSnapOPC+(Snapshot One Point Copy+)などがある。
以下、これらのQOPCおよびSnapOPC+について説明する。
QOPCは、OPCと同様、ある時点における業務ボリュームのバックアップボリュームを作成する機能である。このQOPCによれば、QOPC起動指示に対する応答と同時にバックアップボリュームの作成を完了したかのように、業務ボリュームおよびバックアップボリュームともに瞬時に参照・更新が可能となる。
QOPCでは、QOPC起動指示完了後にコピー処理がバックグラウンドで動作する。ただし、バックグランドコピーが未完了であるバックアップボリュームの領域への参照・更新の要求があった場合には、その参照・更新よりも先に該当領域に対するコピー処理を行なってから参照・更新を行なう。また、QOPCでは、OPCと異なり、バックグラウンドコピー完了後、前回のバックアップ取得時からの更新箇所が記憶される。そのため、QOPCでは、差分データのみをバックグラウンドでコピーするだけで、2度目以降のバックアップボリュームの作成が可能となる。
SnapOPC+は、バックアップボリュームの領域として、業務ボリュームと同容量の割当てを行なわずに、業務ボリュームのコピーを実現する機能である。このような機能により、ボリューム全体を更新しないことが見込まれるユーザ環境において、バックアップに必要なディスク容量の縮小化を実現することができ、コピーに要するコストの削減が可能になる。SnapOPC+は、主に、テープバックアップ向けのボリューム生成に使用されることを想定している。バックアップボリュームには、業務ボリュームの容量よりも小さいディスク容量である仮想ボリュームが用意される。この仮想ボリュームは、サーバからは論理的に通常のボリュームと同様にアクセス可能なものとする。
SnapOPC+では、業務ボリュームの全面コピーは行なわず、業務ボリュームの更新があった場合に、更新対象箇所の更新前のデータ(旧データ)を、コピー先であるバックアップボリュームにコピーすることで、SnapOPC+が実現される。サーバからコピー先のバックアップボリュームへのアクセスがあった場合、アクセス対象領域が未コピーであれば、サーバには、アクセス対象領域の代わりに、業務ボリュームにおける、当該アクセス対象領域に対応する領域のデータを参照させる。また、バックアップボリュームを複数用意することによって、複数の世代でのバックアップボリュームを作成することが可能である。
特開2006−107162号公報 特開2006−048300号公報 特開2007−334709号公報 特開2009−146228号公報
上述した現状のアドバンストコピー機能、即ちQOPCおよびSnapOPC+を用いて、複数世代のバックアップを実現しようとすると、以下のような課題がある。
QOPCによって複数世代のバックアップを実現しようとすると、業務ボリュームと同容量のボリュームが世代数分だけ必要となってしまう。そのため、多くのディスク容量、ひいては多大なコストが必要となってしまう。
また、SnapOPC+では、業務ボリュームにおいて更新が行なわれた領域の更新前データはバックアップボリュームにコピーされるが、更新が行なわれていない領域のデータについてはバックアップボリュームにコピーされずバックアップが行なわれない。つまり、業務ボリュームの全領域におけるデータがコピー先のバックアップボリュームにコピーされてバックアップされているわけではない。このため、業務ボリュームが被災した場合は、被災前に、業務ボリューム全領域のデータに対する更新が行なわれ全領域の更新前データがバックアップボリュームにコピーされていない限り、全ての世代のバックアップボリュームの参照・更新が不可能となる。そのため、バックアップボリュームにコピーされたデータは、バックアップとしての意味をなさなくなってしまう。
本件の目的の一つは、バックアップボリュームの容量を増大させることなくバックアップ対象ボリュームについての複数世代のバックアップを確実に実現することである。
なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本件の他の目的の一つとして位置付けることができる。
本件のバックアップ装置は、バックアップ対象ボリュームについて、複数世代のバックアップボリュームを作成するものであって、以下の記憶部,第1作成部,第1監視部第2作成部および第2監視部を備えることを要件としている。ここで、前記記憶部は、前記複数世代のバックアップボリュームを格納する。前記第1作成部は、第1世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームのデータを前記記憶部の第1世代用領域にコピーして第1世代のバックアップボリュームを作成する。前記第1監視部は、第i−1世代(iは2以上の自然数)のバックアップボリュームの作成指示後に前記バックアップ対象ボリュームにおいて更新されたデータの属する領域を第1更新領域として監視する。前記第2監視部は、前記第i−1世代のバックアップボリュームの作成指示後に当該第i−1世代のバックアップボリュームにおいて更新されたデータの属する領域を第2更新領域として監視する。前記第2作成部は、第i世代のバックアップボリュームの作成指示を受けると、前記第1監視部によって監視された前記第1更新領域と前記第2監視部によって監視された前記第2更新領域とを参照し、前記第1更新領域および前記第2更新領域の容量に応じた容量の第i世代用領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームにおける前記第1更新領域のデータと前記第2更新領域に対応する領域のデータとを前記第i世代用領域にコピーして第i世代のバックアップボリュームを作成する。
また、本件のバックアップ方法は、バックアップ対象ボリュームについて、複数世代のバックアップボリュームを記憶部に作成するものであって、以下の第1作成ステップ,第1監視ステップ,第2監視ステップおよび第2作成ステップを備えることを要件としている。ここで、前記第1作成ステップでは、第1世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームのデータを前記記憶部の第1世代用領域にコピーして第1世代のバックアップボリュームを作成する。前記第1監視ステップでは、第i−1世代(iは2以上の自然数)のバックアップボリュームの作成指示後に前記バックアップ対象ボリュームにおいて更新されたデータの属する領域を第1更新領域として監視する。前記第2監視ステップでは、前記第i−1世代のバックアップボリュームの作成指示後に当該第i−1世代のバックアップボリュームにおいて更新されたデータの属する領域を第2更新領域として監視する。前記第2作成ステップでは、第i世代のバックアップボリュームの作成指示を受けると、前記第1監視ステップにおいて監視された前記第1更新領域と前記第2監視ステップにおいて監視された前記第2更新領域とを参照し、前記第1更新領域および前記第2更新領域の容量に応じた容量の第i世代用領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームにおける前記第1更新領域のデータと前記第2更新領域に対応する領域のデータとを前記第i世代用領域にコピーして第i世代のバックアップボリュームを作成する。
さらに、本件のバックアッププログラムは、バックアップ対象ボリュームについて、複数世代のバックアップボリュームを記憶部に作成するバックアップ装置として、コンピュータを機能させるもので、上述した第1作成部,第1監視部,第2監視部および第2作成部として、前記コンピュータを機能させることを要件としている。
開示の技術では、バックアップボリュームの容量を増大させることなく、バックアップ対象ボリュームについての複数世代のバックアップが確実に実現される。これにより、万一、バックアップ対象ボリュームが被災しても、全ての世代のバックアップボリュームの参照・更新が可能なシステムを低コストで実現することができる。
本実施形態のバックアップ装置を適用されるストレージシステムの構成を示すブロック図である。 本実施形態のバックアップ装置の機能構成を示すブロック図である。 本実施形態の業務ボリューム構成およびバックアップボリューム構成を示すブロック図である。 本実施形態のバックアップボリューム作成処理を説明するためのフローチャートである。 本実施形態のバックアップボリューム参照処理を説明するためのフローチャートである。 本実施形態のバックアップボリューム更新処理を説明するためのフローチャートである。 本実施形態のバックアップボリューム削除処理を説明するためのフローチャートである。 本実施形態における業務ボリュームの初期状態の例を示す図である。 (A),(B)は本実施形態の第1世代のバックアップボリューム作成動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)は第1世代のバックアップボリュームの内容を示す図である。 図9(A)に示す業務ボリュームに対応する第1ビットマップテーブルの内容を示す図である。 図9(B)に示す第1世代のバックアップボリュームに対応する、第1世代用マッピングテーブル,第1世代の仮想ボリュームおよび第2ビットマップテーブルの内容を示す図である。 (A),(B)は本実施形態の業務ボリュームに対する更新動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)は第1世代のバックアップボリュームの内容を示す図である。 図12(A)に示す業務ボリュームに対応する第1ビットマップテーブルの内容を示す図である。 (A),(B)は本実施形態の業務ボリュームに対する更新動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)は第1世代のバックアップボリュームの内容を示す図である。 図14(A)に示す業務ボリュームに対応する第1ビットマップテーブルの内容を示す図である。 (A),(B)は本実施形態の第1世代のバックアップボリュームに対する参照動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)は第1世代のバックアップボリュームの内容を示す図である。 (A),(B)は本実施形態の第1世代のバックアップボリュームに対する更新動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)は第1世代のバックアップボリュームの内容を示す図である。 図17(B)に示す第1世代のバックアップボリュームに対応する、第1世代用マッピングテーブル,第1世代の仮想ボリュームおよび第2ビットマップテーブルの内容を示す図である。 (A)〜(C)は本実施形態の第2世代のバックアップボリューム作成動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B),(C)はそれぞれ第1および第2世代のバックアップボリュームの内容を示す図である。 図19(A)に示す業務ボリュームに対応する第1ビットマップテーブルの内容を示す図である。 図19(B)に示す第2世代のバックアップボリュームに対応する、第2世代用マッピングテーブル,第2世代の仮想ボリュームおよび第2ビットマップテーブルの内容を示す図である。 (A)〜(C)は本実施形態の業務ボリュームに対する更新動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B),(C)はそれぞれ第1および第2世代のバックアップボリュームの内容を示す図である。 図22(A)に示す業務ボリュームに対応する第1ビットマップテーブルの内容を示す図である。 (A)〜(C)は本実施形態の第2世代のバックアップボリュームに対する参照動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B),(C)はそれぞれ第1および第2世代のバックアップボリュームの内容を示す図である。 (A)〜(C)は本実施形態の第2世代のバックアップボリュームに対する更新動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B),(C)はそれぞれ第1および第2世代のバックアップボリュームの内容を示す図である。 図25(C)に示す第2世代のバックアップボリュームに対応する、第2世代用マッピングテーブル,第2世代の仮想ボリュームおよび第2ビットマップテーブルの内容を示す図である。 (A)〜(C)は本実施形態の第1世代のバックアップボリュームに対する更新動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B),(C)はそれぞれ第1および第2世代のバックアップボリュームの内容を示す図である。 図27(B)に示す第1世代のバックアップボリュームに対応する、第1世代用マッピングテーブルおよび第1世代の仮想ボリュームの内容を示す図である。 図27(C)に示す第2世代のバックアップボリュームに対応する、第2世代用マッピングテーブル,第2世代の仮想ボリュームおよび第2ビットマップテーブルの内容を示す図である。 (A)〜(D)は本実施形態の第3世代のバックアップボリューム作成動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)〜(D)はそれぞれ第1〜第3世代のバックアップボリュームの内容を示す図である。 図30(A)に示す業務ボリュームに対応する第1ビットマップテーブルの内容を示す図である。 図30(D)に示す第3世代のバックアップボリュームに対応する、第3世代用マッピングテーブル,第3世代の仮想ボリュームおよび第2ビットマップテーブルの内容を示す図である。 (A)〜(D)は本実施形態の第3世代のバックアップボリュームに対する参照動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)〜(D)はそれぞれ第1〜第3世代のバックアップボリュームの内容を示す図である。 (A)〜(D)は本実施形態の第2世代のバックアップボリュームに対する更新動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)〜(D)はそれぞれ第1〜第3世代のバックアップボリュームの内容を示す図である。 図34(C)に示す第2世代のバックアップボリュームに対応する、第2世代用マッピングテーブルおよび第2世代の仮想ボリュームの内容を示す図である。 図34(D)に示す第3世代のバックアップボリュームに対応する、第3世代用マッピングテーブル,第3世代の仮想ボリュームおよび第2ビットマップテーブルの内容を示す図である。 (A)〜(D)は本実施形態の第1世代のバックアップボリュームの削除動作を説明するもので、(A)は業務ボリュームの内容を示す図、(B)〜(D)はそれぞれ第1〜第3世代のバックアップボリュームの内容を示す図である。 図37(C)に示す第2世代のバックアップボリュームに対応する、第2世代用マッピングテーブルおよび第2世代の仮想ボリュームの内容を示す図である。
以下、図面を参照して実施の形態を説明する。
〔1〕本実施形態の構成
〔1−1〕ストレージシステムの構成
図1は、本実施形態のバックアップ装置100(図2参照)を適用されるストレージシステム1の構成を示すブロック図である。
この図1に示すように、ストレージシステム1は、ホストコンピュータ(Host)としての業務サーバ2に接続され、業務サーバ2からの各種要求を受け、その要求に応じた各種処理を行なう。そして、ストレージシステム1は、4つのCA(Channel Adapter)11,2組のCM(Centralized Module)12および4つのディスク(HDD;Disk)13を同一筐体内にそなえて構成されている。なお、本実施形態のストレージシステム1では、記憶装置として、ディスク(HDD)13が用いられているが、SSD(Solid State Device)等の他の記憶装置が用いられてもよい。
各CA11は、業務サーバ2とのインタフェース制御を行ない、この業務サーバ2との間でデータ通信を行なう。
各CM12は、2つのCA11,11および2つのディスク13,13に接続され、本ストレージシステム1における資源管理を行なう。そして、各CM12は、業務サーバ2や他のCM12からの要求に応じ、2つのディスク13,13に対する各種処理(データ書込処理,データ更新処理,データ読出処理,データコピー処理など)を行なう。また、2組のCM12は、バスなどによって相互に接続され、他のCM12に収容されたディスク13に対するアクセスが可能に構成されている。
各ディスク13は、ユーザデータや制御情報など格納・記憶する。本実施形態のストレージシステム1では、一方のCM12に収容される一のディスク13に、業務サーバ2によってアクセスされる業務ボリューム13aがバックアップ対象ボリュームとして格納される。また、他方のCM12に収容される一のディスク13のバックアップボリューム用領域13bに、業務ボリューム13aについての複数世代のバックアップボリューム13b−1〜13b−i(iは2以上の自然数;図3参照)が格納される。
なお、業務ボリューム13aは、一のディスク13の全てのデータ領域であってもよいし、一のディスク13の一部のデータ領域であってもよい。同様に、バックアップボリューム13bも、一のディスク13の全てのデータ領域であってもよいし、一のディスク13の一部のデータ領域であってもよい。また、本実施形態において、業務ボリューム13aおよびバックアップボリューム13b−1〜13b−iは、それぞれ異なるCM12,12に接続されたディスク13,13に格納されているが、同じCM12に接続された異なるディスク13,13に格納されてもよいし、同じディスク13に格納されてもよい。さらに、本実施形態において、業務ボリューム13aおよびバックアップボリューム13b−1〜13b−iは、同一筐体内にそなえられているが、それぞれ異なる筐体にそなえられてもよい。
各CM12は、CPU(Central Processing Unit)21,キャッシュメモリ22,DA(Device Adapter)23およびバックアップ制御部24を有する。2つのDA23,23は、それぞれ当該CM12に収容される2つのディスク13,13とのインタフェース制御を行ない、各ディスク13との間でデータ通信を行なう。キャッシュメモリ(Chache)22は、ユーザデータや制御データなどを格納するほか、業務サーバ2から各ディスク13へ書き込まれるデータや各ディスク13から業務サーバ2や他のCM12へ読み出されるデータを一時的に格納する。CPU21は、キャッシュメモリ22,DA23および後述するバックアップ制御部24を管理する。
〔1−2〕バックアップ装置100の構成/動作
図2は、本実施形態のバックアップ装置100の機能構成を示すブロック図、図3は、本実施形態の業務ボリューム構成およびバックアップボリューム構成を示すブロック図である。
図2に示すように、本実施形態のバックアップ装置100は、業務ボリューム13aについて、複数世代のバックアップボリューム13b−1〜13b−i(図3参照)を、バックアップボリューム用領域13bに作成する。このバックアップ装置100は、業務ボリューム13a,バックアップボリューム用領域(記憶部)13bおよびバックアップ制御部(Backup)24を含んでいる。
〔1−2−1〕業務ボリューム構成およびバックアップボリューム構成
ここで、図3に示すように、コピー元となる業務ボリューム13aとしては通常ボリュームが用いられ、コピー先となるバックアップボリューム13b−1〜13b−iとしては仮想ボリュームが用いられる。仮想ボリュームは、世代毎に、物理的な領域131−1〜131−iとして確保され割り当てられる。第1世代用領域131−1は、後述する第1作成部241によって、業務ボリューム13aの容量と同じ容量の領域としてバックアップボリューム用領域13bに確保される。また、第2〜第i世代用領域131−2〜131−iは、それぞれ、後述する第2作成部244によって、業務ボリューム13aの容量よりも小さい容量の領域としてバックアップボリューム用領域13bに確保される。第2作成部244によって確保される各領域131−2〜131−iの具体的な容量については後述する。なお、本実施形態では、バックアップ装置100が、業務ボリューム13aの全体を更新しないことの見込まれるユーザ環境に適用されることが前提となっている。
そして、業務サーバ2は、バックアップ装置100の各世代のバックアップボリューム13−1〜13−iに対し、論理アドレスを用いてアクセスすることで、各世代用の物理領域131−1〜131−iに対し物理的にアクセスを行なっているように見えている。実際には、業務サーバ2からの論理アドレスは、後述するマッピングテーブル132−1〜132−iによって物理アドレスに変換され、その物理アドレスを用いて、各世代用の物理領域131−1〜131−iに対する物理的なアクセスが実行される。
つまり、複数世代のバックアップボリューム13−1〜13−iのそれぞれには、第1〜第i世代用マッピングテーブル132−1〜132−iがそなえられている。これらの第1〜第i世代用マッピングテーブル132−1〜132−iは、それぞれ、上記論理アドレスと各物理領域131−1〜131−iにおけるデータ領域の物理アドレスとを対応付ける。各マッピングテーブル132−1〜132−iは、業務サーバ2からの要求に含まれる論理アドレスを、対象世代のバックアップボリュームにおける物理アドレスに変換するためのアドレス変換テーブルである。なお、第1世代用マッピングテーブル132−1は、後述する第1作成部241によって作成され、第2〜第i世代用マッピングテーブル132−2〜132−iは、後述する第2作成部244によって作成される。
これらのマッピングテーブル132−1〜132−iを用いて、論理的な領域を仮想ボリューム131−1〜131−iの物理的な領域にそれぞれマッピングすることにより、論理的なバックアップボリューム(論理ボリューム)が実現される。つまり、各世代のバックアップボリューム13−1〜13−iにおける論理ボリュームは、物理的には実在していないが、業務サーバ2からは実在しているように見える。業務サーバ2から各世代の論理ボリュームを見た場合、図8〜図38を参照しながら具体的に後述するごとく、対象世代の業務ボリュームの全データが対象世代の論理ボリュームにバックアップされているように見える。従って、本実施形態では、上述のような複数の仮想ボリューム131−1〜131−iを用意することで、複数世代の仮想的なバックアップボリューム13b−1〜13b−iの作成が可能になる。なお、図3中に示す論理ボリュームは、業務サーバ2から仮想的に見えるものとして図示しただけであって、各バックアップボリューム13b−1〜13b−iに実際にそなえられてはいない。
〔1−2−2〕バックアップ制御部24の構成/機能/動作
さて、バックアップ制御部24は、業務サーバ2からの各種要求を受け、図4〜図38を参照しながら後述するように、業務ボリューム13aやバックアップボリューム13b−1〜13b−iに係る各種処理を実行する。このバックアップ制御部24は、図2に示すように、第1作成部241,第1監視部242,第2監視部243,第2作成部244,参照処理部245,更新処理部246および削除処理部247を有する。
〔A1〕第1作成部241
第1作成部241は、業務サーバ2から第1世代のバックアップボリュームの作成指示を受けた時点での業務ボリューム13aの全データを、バックアップボリューム用領域13bの第1世代用物理領域131−1にコピーして、第1世代のバックアップボリューム13b−1を作成する。このとき、第1作成部241は、上述のOPCと同様の手法によって第1世代のバックアップボリューム13b−1を作成する。また、第1作成部241は、業務ボリューム13aと同じ容量の物理領域131−1をバックアップボリューム用領域13bに確保し、確保した物理領域131−1に、業務ボリューム13aの全データを物理アドレス順に上詰めでコピーする(図11参照)。さらに、第1作成部241は、論理アドレスと物理領域131−1におけるデータの物理アドレスとを対応付ける第1世代用テーブル132−1も作成する(図11参照)。
なお、テーブル132−1は、業務ボリューム13aの容量に応じたサイズを有している。つまり、第1作成部241は、そのサイズの領域をバックアップボリューム用領域13bに確保し、確保した領域にテーブル132−1を作成する。
上述のような第1作成部241による、第1世代のバックアップボリュームの具体的な作成処理については、例えば、図4のステップS2の処理や、図9〜図11を参照しながら後述する。
〔A2〕第1監視部242
第1監視部242は、ある世代(第i−1世代)のバックアップボリュームの作成指示を受けてから次の世代(第i世代)のバックアップボリュームの作成指示を受けるまでの間に、業務ボリューム13aにおいて更新されたデータの属する領域を、第1更新領域として監視する。このとき、第1監視部242は、業務ボリューム13aの容量に応じたサイズの第1ビットマップテーブル242aを用いて、上記第1更新領域を監視する(図13,図15,図23参照)。
第1ビットマップテーブル242aは、業務ボリューム13aの更新状況を監視すべく、業務ボリューム13aまたは第1監視部242にそなえられる。この第1ビットマップテーブル242aには、業務ボリューム13aの各領域に対応するビットが設定される。そして、各領域に属するデータが更新されていない場合には対応ビットに“0”が設定される一方、各領域に属するデータが更新されている場合には対応ビットに“1”が設定される。なお、第1ビットマップテーブル242aは、業務ボリューム13aや第1監視部242以外における記憶領域にそなえられてもよい。
また、第1監視部242は、各世代のバックアップボリュームの作成指示を受けた後に、第1ビットマップテーブル242aの各ビットを全て“0”にクリアする(図10,図20,図31参照)。
上述のような第1監視部242による、業務ボリューム13aの具体的な更新監視処理については、例えば、図12〜図15,図22,図23を参照しながら後述する。
〔A3〕第2監視部243
第2監視部243は、ある世代(第i−1世代)のバックアップボリュームの作成指示を受けてから次の世代(第i世代)のバックアップボリュームの作成指示を受けるまでの間に、第i−1世代のバックアップボリューム13b−(i−1)において更新されたデータの属する領域を、第2更新領域として監視する。このとき、第2監視部243は、第i−1世代のバックアップボリューム13b−(i−1)の容量に応じたサイズの第2ビットマップテーブル243aを用い、上記第2更新領域を監視する(図18,図26参照)。
第2ビットマップテーブル243aは、最新世代バックアップボリュームの更新状況を監視すべく、バックアップボリューム用領域13bまたは第2監視部243にそなえられる。この第2ビットマップテーブル243aには、最新世代バックアップボリュームの各領域に対応するビットが設定される。そして、各領域に属するデータが更新されていない場合には対応ビットに“0”が設定される一方、各領域に属するデータが更新されている場合には対応ビットに“1”が設定される。なお、第2ビットマップテーブル243aは、バックアップボリューム用領域13bや第2監視部243以外における記憶領域にそなえられてもよい。
また、第2監視部243は、各世代のバックアップボリュームの作成指示を受けた後に、前世代用の第2ビットマップテーブル243aをクリアし、作成対象世代のバックアップボリュームの容量に応じたサイズの第2ビットマップテーブル243aの領域を確保する(図11,図21,図32参照)。
上述のような第2監視部243による、最新世代バックアップボリュームの具体的な更新監視処理については、例えば、図17,図18,図25,図26を参照しながら後述する。
〔A4〕第2作成部244
第2作成部244は、第i世代のバックアップボリュームの作成指示を受けると、第1監視部242および第2監視部243による監視結果に基づいて、第i世代のバックアップボリューム13b−iを作成する。
その際、第2作成部244は、第1ビットマップテーブル242aを参照して業務ボリューム13aにおける第1更新領域を認識し、この第1更新領域の容量に応じた容量の第i世代用物理領域131−iを、バックアップボリューム用領域13bに確保する。そして、第2作成部244は、第i世代のバックアップボリュームの作成指示を受けた時点での、業務ボリューム13aにおける第1更新領域のデータを、物理領域131−iに、物理アドレス順に上詰めでコピーして第i世代のバックアップボリューム13b−iを作成する。
また、第2作成部244は、第2ビットマップテーブル243aを参照して最新世代バックアップボリュームにおける第2更新領域を認識し、この第2更新領域の容量に応じた容量の第i世代用物理領域131−iを、バックアップボリューム用領域13bに確保する。なお、第1更新領域が有り第2更新領域が無ければ、第1更新領域の容量と同じ容量の物理領域131−iが確保され、第2更新領域が有り第1更新領域が無ければ、第2更新領域の容量と同じ容量の物理領域131−iが確保される。また、第1および第2更新領域がいずれも有れば、第1更新領域の容量と第2更新領域の容量との合計容量と同じ容量の物理領域131−iが確保される。
そして、第2作成部244は、第i世代のバックアップボリュームの作成指示を受けた時点での、業務ボリューム13aにおける、第2更新領域に対応する領域のデータを、物理領域131−iに物理アドレス順に上詰めでコピーして第i世代のバックアップボリューム13b−iを作成する。なお、第1更新領域が有り第2更新領域が無ければ、第1更新領域のデータのみが物理領域131−iにコピーされ、第2更新領域が有り第1更新領域が無ければ、第2更新領域に対応する領域のデータのみが物理領域131−iにコピーされる。また、第1および第2更新領域がいずれも有れば、第1更新領域の領域および第2更新領域に対応する領域のデータが物理領域131−iに物理アドレス順に上詰めでコピーされる。
さらに、第2作成部244は、第i世代のバックアップボリューム13b−iの作成時に、論理アドレスと物理領域131−iにおけるデータの物理アドレスとを対応付ける第i世代用テーブル132−iも作成する(図21,図32参照)。このテーブル132−iは、作成対象世代のバックアップボリューム13b−iの容量に応じたサイズを有している。つまり、第2作成部244は、そのサイズの領域をバックアップボリューム用領域13bに確保し、確保した領域にテーブル132−iを作成する。なお、テーブル132−iは、バックアップボリューム用領域13b以外における記憶領域に作成してもよい。
上述のような第2作成部244による、業務サーバ2からの要求に応じた、第i世代のバックアップボリューム13b−iの具体的な作成処理については、例えば、図4のステップS4,S6や、図19〜図21,図30〜図32を参照しながら後述する。
〔A5〕バックアップボリューム作成処理
ここで、図4に示すフローチャート(ステップS1〜S6)に従って、第1作成部241,第1監視部242,第2監視部243および第2作成部244の機能・動作、つまり本実施形態のバックアップボリューム作成処理[a1]〜[a7]について説明する。
[a1] バックアップ制御部24は、業務サーバ2からバックアップボリューム作成指示を受けると、作成対象のバックアップボリュームが第1世代(世代1)であるか否かを判断する(ステップS1)。このとき、作成対象のバックアップボリュームが世代1であるか否かの判断は、バックアップボリューム用領域13bにバックアップボリュームが既に作成されているか否かに基づいて行なうことができる。つまり、業務サーバ2からバックアップボリューム作成指示を受けた時にバックアップボリューム用領域13bにバックアップボリュームが一つも作成されていなければ、バックアップ制御部24は、作成対象のバックアップボリュームは世代1であると判断する。また、上記判断は、業務サーバ2からの上記バックアップ作成指示に含まれる、作成対象世代を指示する情報を参照することによっても行なうことができる。
[a2] 第1世代であると判断した場合(ステップS1のYESルート)、第1作成部241は、業務ボリューム13aと同容量の第1世代用仮想ボリューム(物理領域)131−1をバックアップボリューム用領域13bに確保する。そして、第1作成部241は、今回の作成指示を受けた時点での業務ボリューム13aの全データを、確保した物理領域131−1にコピーする(ステップS2)。このとき、第1作成部241は、論理アドレスと物理領域131−1におけるデータの物理アドレスとを対応付ける第1世代用テーブル132−1も作成する。この後、バックアップ制御部24(第1作成部241)は、処理を終了する。
[a3] 第1世代ではないと判断した場合(ステップS1のNOルート)、即ち、作成対象のバックアップボリュームの世代が第2世代以降である場合、バックアップ制御部24は、直前世代のバックアップボリュームにおいて更新があったか否かを判断する(ステップS3)。このとき、作成対象のバックアップボリュームの世代を第i世代とすると、バックアップ制御部24は、第2ビットマップテーブル243aを参照して、直前世代つまり第i−1世代のバックアップボリュームにおけるデータ更新の有無を判断する。第2ビットマップテーブル243aにおいて“1”に設定されたビットが一つでも存在する場合には、直前世代のバックアップボリュームでデータ更新が行なわれていると判断される。また、第2ビットマップテーブル243aにおける全てのビットに“0”が設定されている場合には、直前世代のバックアップボリュームにおいてデータ更新が行なわれていないと判断される。
[a4] 直前世代のバックアップボリュームにおいて更新があると判断した場合(ステップS3のYESルート)、第2作成部244は、第2ビットマップテーブル243aを参照して最新世代バックアップボリュームにおける第2更新領域を認識する。そして、第2作成部244は、第2更新領域と同容量の第i世代用仮想ボリューム(物理領域)131−iを、バックアップボリューム用領域13bに確保する。ついで、第2作成部244は、第2ビットマップテーブル243aに基づき、今回の作成指示を受けた時点での、業務ボリューム13aにおける第2更新領域に対応する領域のデータを、確保した物理領域131−iに物理アドレス順に上詰めでコピーする(ステップS4)。このとき、第i−1世代のバックアップボリューム13b−(i−1)における第2更新領域に対応する、業務ボリューム13aの領域は、第2ビットマップテーブル243aおよび第i−1世代用テーブル132−(i−1)に基づいて特定可能である。また、第2作成部244は、ここで作成したバックアップボリューム13b−iの容量に応じたサイズの領域を、バックアップボリューム用領域13bに確保し、その領域に、論理アドレスと物理領域131−iにおけるデータの物理アドレスとを対応付ける第i世代用テーブル132−iを作成する。
[a5] ステップS4の処理後、もしくは、直前世代のバックアップボリュームにおいて更新がないと判断した場合(ステップS3のNOルート)、バックアップ制御部24は、業務ボリューム13aにおいて更新があったか否かを判断する(ステップS5)。このとき、バックアップ制御部24は、第1ビットマップテーブル242aを参照して、業務ボリューム13aにおけるデータ更新の有無を判断する。第1ビットマップテーブル242aにおいて“1”に設定されたビットが一つでも存在する場合には、業務ボリューム13aでデータ更新が行なわれていると判断される。また、第1ビットマップテーブル242aにおける全てのビットに“0”が設定されている場合には、業務ボリューム13aでデータ更新は行なわれていないと判断される。
[a6] 業務ボリューム13aにおいて更新があると判断した場合(ステップS5のYESルート)、第2作成部244は、第1ビットマップテーブル242aを参照して業務ボリューム13aにおける第1更新領域を認識する。そして、第2作成部244は、第1更新領域と同容量の第i世代用仮想ボリューム(物理領域)131−iを、バックアップボリューム用領域13bに確保する。ついで、第2作成部244は、第1ビットマップテーブル242aに基づき、業務ボリューム13aにおける第1更新領域のデータを、確保した物理領域131−iに物理アドレス順に上詰めでコピーする(ステップS6)。このとき、第2作成部244は、ステップS4と同様、ここで作成したバックアップボリューム13b−iの容量に応じたサイズの領域を、バックアップボリューム用領域13bに確保し、その領域に、論理アドレスと物理領域131−iにおけるデータの物理アドレスとを対応付ける第i世代用テーブル132−iを作成する。
[a7] ステップS6の処理後、もしくは、業務ボリューム13aにおいて更新がないと判断した場合(ステップS3のNOルート)、バックアップ制御部24(第2作成部242)は、処理を終了する。
本実施形態の第1作成部241および第2作成部244は、上述のようにして、それぞれ、第1世代のバックアップボリューム13b−1、および、第i世代のバックアップボリューム13b−iを作成する。
これにより、バックアップボリューム用領域13bにおいて、第1世代のボリューム13b−1は、業務ボリューム13aと同容量を有し業務ボリューム13aの全てのデータを保存する。また、第2世代以降のボリュームは、更新領域の容量に応じた容量を有し、更新領域のデータのみを保存する。これにより、第2世代以降のボリュームで用いられる物理領域の容量は必要最小限となるほか、各世代用のマッピングテーブルや、第2ビットマップテーブル243aのサイズも必要最小限とすることができる。
なお、ステップS1〜S6の実行順序は、図4に示す例に限定されるものではない。例えば、ステップS1のNOルート以降の処理において、ステップS5,S6を先に実行してからステップS3,S4を実行してもよい。また、ステップS3,S5を一つのステップにまとめて実行した後、ステップS4,S6を一つのステップにまとめて実行してもよい。
〔A6〕参照処理部245
参照処理部245は、業務サーバ2から、複数世代のうちの特定世代のバックアップボリュームにおけるデータの参照要求を受けると、特定世代のバックアップボリュームに対する参照処理を、以下のように実行する。ここでは、図5に示すフローチャート(ステップS11〜S15)に従って、参照処理部245の機能・動作、つまり本実施形態のバックアップ参照処理[b1]〜[b4]について説明する。また、特定世代を例えば第k世代(kは1〜iの自然数)とする。
[b1] 参照処理部245は、当該参照要求によって参照対象領域として指定される、特定世代のバックアップボリュームにおける該当領域に、第1作成部241または第2作成部244によるデータコピーが行なわれているか否か、つまり該当領域がコピー済みか否かを判断する(ステップS11)。このとき、参照処理部245は、当該参照要求に含まれる、参照対象領域を指定する論理アドレスによって、特定世代用テーブル132−kを検索し、当該論理アドレスに対応する物理アドレスが登録されている場合に、該当領域がコピー済みであると判断する。
[b2] 該当領域がコピー済みであると判断した場合(ステップS11のYESルート)、参照処理部245は、該当領域のデータを、特定世代用仮想ボリューム(物理領域)131−kから参照データとして読み出し業務サーバ2に参照させ(ステップS12)、参照処理を終了する。このとき、参照処理部245は、物理領域131−kから、特定世代用テーブル132−kに登録された上記物理アドレス([b1]参照)で指定される領域のデータを、上記参照データとして読み出す。
[b3] 該当領域がコピー済みでない、つまり未コピーであると判断した場合(ステップS11のNOルート)、参照処理部245は、当該特定世代よりも一つ古い世代のバックアップボリュームについて、当該参照要求によって参照対象領域として指定される該当領域を参照する(ステップS13)。そして、参照処理部245は、当該特定世代よりも一つ古い世代のバックアップボリュームの該当領域に第1作成部241または第2作成部244によるデータコピーが行なわれているか否か、つまり該当領域がコピー済みか否かを判断する(ステップS14)。このときも、参照処理部245は、上記参照対象領域を指定する論理アドレスによって、第k−1世代用テーブル132−(k−1)を検索し、当該論理アドレスに対応する物理アドレスが登録されている場合に、該当領域がコピー済みであると判断する。
[b4] 参照処理部245は、ステップS14で該当領域がコピー済みであると判断するまで、世代を一つずつ遡ってステップS13,S14の処理を繰り返し実行する。その結果、ここでは、参照処理部245が、第j世代(jは1≦j<kの自然数)のバックアップボリュームで該当領域がコピー済みであると判断したとする(ステップS14のYESルート)。つまり、第j世代用テーブル132−jに、当該論理アドレスに対応する物理アドレスが登録されていたものとする。この場合、参照処理部245は、該当領域のデータを、第j世代用仮想ボリューム(物理領域)131−jから参照データとして読み出し業務サーバ2に参照させ(ステップS15)、参照処理を終了する。なお、このとき、参照処理部245は、物理領域131−jから、特定世代用テーブル132−jに登録された上記物理アドレスで指定される領域のデータを、上記参照データとして読み出す。これにより、参照処理部245は、旧世代のバックアップボリュームにおける該当領域を順に遡って参照し、該当領域がコピー済みであると判断した時点における、該当領域のデータを参照データとして読み出す。
なお、上述のような参照処理部245による、業務サーバ2からの参照要求に応じた、特定世代バックアップボリュームに対する具体的な参照処理については、例えば図16,図24,図33を参照しながら後述する。
〔A7〕更新処理部246
更新処理部246は、業務サーバ2から、複数世代のうちの特定世代のバックアップボリュームにおけるデータの更新要求を受けると、特定世代のバックアップボリュームに対する更新処理を、以下のように実行する。ここでは、図6に示すフローチャート(ステップS21〜S27)に従って、更新処理部246の機能・動作、つまり本実施形態のバックアップボリューム更新処理[c1]〜[c5]について説明する。また、ここでも、特定世代を例えば第k世代(kは1〜iの自然数)とする。
[c1] 更新処理部246は、業務サーバ2からバックアップボリューム更新要求を受けると、当該更新要求によって指定される特定世代(第k世代)が最新世代(第i世代)であるか否か、つまりk=iであるか否かを判断する(ステップS21)。
[c2] 特定世代が最新世代(k=i)であると判断した場合(ステップS21のYESルート)、更新処理部246は、当該更新要求によって更新対象領域として指定される、最新世代用仮想ボリューム131−iにおける該当領域のデータを、当該更新要求によって指示される更新データに更新し(ステップS22)、更新処理を終了する。このとき、更新処理部246による更新処理に伴い、第2監視部243は、第2ビットマップテーブル243aの対応ビットを“1”に設定し、当該領域でデータ更新が行なわれたことを記録する(図17,図18参照)。また、更新処理部246による更新処理に伴い、最新世代バックアップボリューム13b−iに新たな領域が追加される場合、第2ビットマップテーブル243a,最新世代用仮想ボリューム131−iおよび最新世代用テーブル132−iに新たな領域が確保され、対応情報が登録される(図25,図26参照)。
[c3] 特定世代が最新世代以外(k<i)であると判断した場合(ステップS21のNOルート)、更新処理部246は以下の処理を行なう。つまり、更新処理部246は、当該特定世代の次の世代のバックアップボリューム13b−(k+1)について、当該更新要求によって更新対象領域として指定される該当領域を参照する。そして、更新処理部246は、次の世代のバックアップボリューム13b−(k+1)における該当領域に、第1作成部241または第2作成部244によるデータコピーが行なわれているか否か、つまり該当領域がコピー済みか否かを判断する(ステップS23)。このとき、更新処理部246は、当該更新要求に含まれる、更新対象領域を指定する論理アドレスによって、テーブル132−(k+1)を検索し、当該論理アドレスに対応する物理アドレスが登録されている場合に該当領域がコピー済みであると判断する。
[c4] 次の世代のバックアップボリュームにおける該当領域がコピー済みであると判断した場合(ステップS23のYESルート)、更新処理部246は以下の処理を行なう。つまり、更新処理部246は、特定世代(更新対象世代)のバックアップボリュームにおける該当領域のデータを、当該更新要求によって指示される更新データに更新し(ステップS24)、更新処理を終了する。この場合、次の世代のバックアップボリュームに、該当領域の更新前データが保存されているので、特別な保存処理等を行なうことなく、特定世代のバックアップボリュームに対するデータ更新が行なわれる。
[c5] 次の世代のバックアップボリュームにおける該当領域がコピー済みでない、つまり未コピーであると判断した場合(ステップS23のNOルート)、更新処理部246は以下の処理を行なう。つまり、更新処理部246は、当該特定世代のバックアップボリューム13b−kについて、該当領域を参照対象領域として指定する参照要求を、参照処理部245に対して行なう(ステップS25)。そして、更新処理部246は、当該参照要求に応じ参照処理部245の処理(図5参照)によって読み出されたデータを受けると、その読み出されたデータを、次の世代のバックアップボリューム13b−(k+1)における該当領域にコピーする(ステップS26)。この後、更新処理部246は、当該特定世代のバックアップボリューム13b−kにおける該当領域のデータを、当該更新要求によって指示される更新データに更新し(ステップS27)、更新処理を終了する。このとき、更新処理部246による更新処理に伴い、特定世代のバックアップボリューム13b−kや次の世代のバックアップボリューム13b−(k+1)に新たな領域が追加される場合、第2ビットマップテーブル243a,物理領域131−k,131−(k+1)およびテーブル132−k,132−(k+1)に新たな領域が確保され、対応情報が登録される(図27〜図29,図34〜図36参照)。上述のような更新処理により、更新データは特定世代のバックアップボリューム13b−kの該当領域でのみ参照可能になる一方、特定世代よりも新しい世代のバックアップボリューム13b−m(mはk<m≦iの自然数)の該当領域では、更新前データを参照可能になる。
なお、上述のような更新処理部246による、業務サーバ2からの更新要求に応じた、特定世代バックアップボリュームに対する具体的な更新処理については、例えば図17,図18,図25〜図29,図34〜図36を参照しながら後述する。
〔A8〕削除処理部247
削除処理部247は、業務サーバ2から、複数世代のうちの特定世代のバックアップボリュームの削除要求を受けると、特定世代のバックアップボリュームの削除処理を、以下のように実行する。ここでは、図7に示すフローチャート(ステップS31〜S35)に従って、削除処理部247の機能・動作、つまり本実施形態のバックアップボリューム削除処理[d1]〜[d6]について説明する。また、ここでも、特定世代を例えば第k世代(kは1〜iの自然数)とする。
[d1] 削除処理部247は、業務サーバ2からバックアップボリューム削除要求を受けると、当該削除要求によって指定される特定世代(第k世代)よりも新しい世代のバックアップボリュームがあるか否かを判断する(ステップS31)。
[d2] 特定世代よりも新しい世代のバックアップボリュームが無いと判断した場合(k=i;ステップS31のNOルート)、削除処理部247は、以下の処理を行なう。つまり、削除処理部247は、特定世代のバックアップボリュームにおける仮想ボリューム131−kと業務ボリューム13aとの関連性を削除することで、特定世代のバックアップボリューム13b−kを削除し(ステップS32)、削除処理を終了する。ここで、削除される関連性は、例えば、特定世代用のマッピングテーブル132−kなどである。このような関連性の削除を行なうことにより、業務サーバ2は、特定世代バックアップボリューム13b−kに対するアクセスを行なえなくなり、実質的に特定世代のバックアップボリューム13b−kが削除された状態になる。
[d3] 特定世代よりも新しい世代のバックアップボリュームがあると判断した場合(k<i;ステップS31のYESルート)、削除処理部247は、以下の処理を行なう。つまり、削除処理部247は、特定世代のバックアップボリューム13b−kにおけるコピー済み領域と、特定世代の次の世代のバックアップボリューム13b−(k+1)における未コピー領域とを検索する(ステップS33)。ここで、コピー済み領域は、特定世代のバックアップボリュームの物理領域131−kにおいて、第1作成部241または第2作成部244によるデータコピーが行なわれている領域である。また、未コピー領域は、次の世代のバックアップボリュームの物理領域131−(k+1)において、第1作成部241または第2作成部244によるデータコピーが行なわれていない領域である。物理領域131−kにおけるコピー済み領域は、テーブル132−kを参照することによって検索可能であり、同様に、物理領域131−(k+1)における未コピー領域は、テーブル132−(k+1)を参照することによって検索可能である。
[d4] 削除処理部247は、検索されたコピー済み領域と未コピー領域とを比較することにより、特定世代のバックアップボリューム13b−kではデータコピーが行なわれているが次の世代のバックアップボリューム13b−(k+1)ではデータコピーが行なわれていない領域の有無を判断する(ステップS34)。
[d5] ステップS34で上述のような領域が無いと判断した場合(NOルート)、削除処理部247は、[d2]で上述したステップS32の処理へ移行し、特定世代のバックアップボリューム13b−kを削除し(ステップS32)、削除処理を終了する。
[d6] ステップS34で上述のような領域が有ると判断した場合(YESルート)、削除処理部247は、以下の処理を行なう。つまり、削除処理部247は、特定世代のバックアップボリュームの物理領域131−kにおける該当領域(コピー済み領域)のデータを、次の世代のバックアップボリュームの物理領域131−(k+1)における該当領域(未コピー領域)にコピーする(ステップS35)。このとき、ステップS35でのコピー処理に伴い、次の世代のバックアップボリューム13b−(k+1)に新たな領域が追加される場合、さらに以下の処理が行なわれる。つまり、仮想ボリューム131−(k+1)およびテーブル132−(k+1)に新たな領域が確保されるとともに、次の世代が最新世代であれば第2ビットマップテーブル243aにも新たな領域が確保され、対応情報が登録される(図37,図38参照)。この後、削除処理部247は、[d2]で上述したステップS32の処理へ移行し、特定世代のバックアップボリューム13b−kを削除し(ステップS32)、削除処理を終了する。
上述のように、ステップS35のコピー処理後に削除を行なうことにより、特定世代(削除対象世代)では保存されていたが次の世代では保存されていなかったデータが、特定世代の削除前に、次の世代のバックアップボリュームに保存される。これにより、特定世代のバックアップボリュームを削除したとしても、削除によってデータがバックアップボリューム用領域13bから消えるのを防止でき、バックアップボリューム用領域13bには、全てのデータが参照・復元可能な状態で維持される。
なお、上述のような削除処理部247による、業務サーバ2からの削除要求に応じた、特定世代バックアップボリュームの削除処理については、例えば図37,図38を参照しながら後述する。
〔A9〕その他
なお、図1および図2では、2つのバックアップ制御部24,24のうちコピー元側のものを符号24aで示し、コピー先側のものを符号24bで示している。これらのコピー元バックアップ制御部24aおよびコピー先バックアップ制御部24bは、いずれも、図2に示すバックアップ制御部24と同一に構成されていてもよい。また、コピー元バックアップ制御部24aおよびコピー先バックアップ制御部24bのいずれか一方が、図2に示したバックアップ制御部24と同一の機能を有していてもよい。また、図2に示したバックアップ制御部24と同一の構成が、2つのコピー元バックアップ制御部24aおよびコピー先バックアップ制御部24bにまたがってそなえられていてもよい。
〔2〕本実施形態の具体的な動作
次に、上述のごとく構成された本実施形態のバックアップ装置100(バックアップ制御部24)の具体的な動作について、図8〜図38を参照しながら説明する。なお、以下の説明では「バックアップボリューム」を単に「バックアップ」と記載する場合がある。同様に、「ビットマップテーブル」を単に「ビットマップ」と記載する場合がある。
ここでは、図8に示すような初期状態の業務ボリューム13aについて、時刻00:00,01:00,02:00にそれぞれバックアップ13b−1〜13b−3を作成するほか、業務ボリューム13aに対する更新や、各世代のバックアップ13b−1〜13b−3に対する参照/更新/削除を行なう場合を説明する。
〔2−1〕業務ボリューム13aの初期状態
図8に示すように、初期状態の業務ボリューム13aでは、物理アドレスA1〜A9によってそれぞれ指定される9個の領域があり、これらの9個の領域にそれぞれデータ1〜9が格納されている。図8では、各領域を指定する物理アドレスA1〜A9が括弧付きで示されている。なお、業務サーバ2は、業務ボリューム13aの各データ1〜9にアクセスする際、例えば、論理アドレスa1〜a9によってデータ1〜9をそれぞれ指定する。このため、論理アドレスa1〜a9と物理アドレスA1〜A9とがアドレス変換テーブルによって対応付けられている。
〔2−2〕世代1(第1世代)のバックアップ作成から世代2(第2世代)のバックアップ作成直前までの動作(時刻00:00〜01:00の動作)
(11) 時刻00:00に、業務サーバ2からの世代1のバックアップボリュームの作成指示に応じて、図9(A)に示す業務ボリューム13aについての世代1のバックアップ13b−1が、第1作成部241によって、図9(B)に示すように、取得・作成される。
つまり、第1作成部241によって、業務サーバ2から第1世代のバックアップボリュームの作成指示を受けた時点での業務ボリューム13aの全データ1〜9が、仮想ボリューム131−1にコピーされる(図9(B)の網掛け部参照;図4のステップS1のYESルートからステップS2参照)。
このとき、業務ボリューム13aと同じ容量の物理領域(仮想ボリューム)131−1が確保される。そして、図9(B)や図11に示すように、業務ボリューム13aの物理アドレスA1〜A9におけるデータ1〜9が、確保された物理領域131−1において物理アドレスA11〜A19で指定される領域に、上詰めでコピーされる。
また、図11に示すように、論理アドレスa1〜a9と物理領域131−1におけるデータの物理アドレスA11〜A19とをそれぞれ対応付けるマッピングテーブル132−1が作成される。このマッピングテーブル132−1を用いてアドレス変換を行なうことで、業務サーバ2は、論理アドレスa1〜a9を用いバックアップ13b−1を参照した場合、業務サーバ2は、バックアップ13b−1を、図9(B)に示すような論理ボリュームとして参照することができる。
さらに、図9(A)に示す業務ボリューム13aの更新状況を第1監視部242によって監視すべく、図10に示すような第1ビットマップ242aが作成される。この第1ビットマップ242aは、業務ボリューム13aの9個の領域にそれぞれ対応する9ビットから構成され、初期状態では全てのビットに“0”が設定されている。図10では、第1ビットマップ242aが、論理アドレスa1〜a9,物理アドレスA1〜A9およびデータ1〜9に対応付けて図示されている。
また、図9(B)に示す仮想ボリューム131−1の更新状況を第2監視部243によって監視すべく、図11に示すような第2ビットマップ243aが作成される。この第2ビットマップ243aは、仮想ボリューム131−1の9個の領域にそれぞれ対応する9ビットから構成され、初期状態では全てのビットに“0”が設定されている。なお、図11では、第2ビットマップ243aが、マッピングテーブル132−1(論理アドレスa1〜a9/物理アドレスA11〜A19)、および、仮想ボリューム131−1のデータ1〜9に対応付けて図示されている。
なお、図9(B)や以下の図中に示される論理ボリュームは、業務サーバ2から論理的に見えるバックアップボリュームの状態を図示化したもので、各バックアップボリュームに実際にそなえられるものではない。また、図9(B)や以下の図中に示される仮想ボリューム131−1〜131−3の各領域には、その領域に格納されるデータが示されるとともに、対応する物理アドレスが括弧付きで示される。さらに、図9(B)や以下の図中に示される論理ボリュームの各領域には、その領域で業務サーバ2から見える実際のデータが示されるとともに、対応する論理アドレスa1〜a9が括弧付きで示されている。
(12) 時刻00:10に、業務サーバ2からの業務ボリューム13aに対する更新要求に応じて、業務ボリューム13aのデータ1が、図12(A)に示すように、データ1’に更新される。業務ボリューム13aの更新が行なわれた場合、その更新状況が第1監視部242によって監視されており、第1監視部242によって、第1ビットマップ242aが更新される。つまり、図12(A)では、業務ボリューム13aにおいて、物理アドレスA1のデータ1がデータ1’に更新されているため、図13に示すように、第1ビットマップ242aにおいて、物理アドレスA1に対応するビットが“0”から“1”に書き換えられる(網掛け部参照)。このとき、コピー処理等は行なわれない。また、図12(B)に示すように、バックアップ13b−1に何ら変化はない。なお、業務ボリューム13aに対する更新処理は、例えばCPU21(図1参照)によって実行される。
(13) 時刻00:20に、業務サーバ2からの業務ボリューム13aに対する更新要求に応じて、業務ボリューム13aのデータ2が、図14(A)に示すように、データ2’に更新される。この場合も、上記(12)と同様、その更新状況が第1監視部242によって監視されており、第1監視部242によって、第1ビットマップ242aが更新される。つまり、図14(A)では、業務ボリューム13aにおいて、物理アドレスA2のデータ2がデータ2’に更新されているため、図15に示すように、第1ビットマップ242aにおいて、物理アドレスA2に対応するビットが“0”から“1”に書き換えられる(網掛け部参照)。このとき、コピー処理等は行なわれない。また、図14(B)に示すように、バックアップ13b−1に何ら変化はない。
(14) 時刻00:30に、業務サーバ2から、バックアップ13b−1の論理アドレスa7におけるデータの参照要求を受け、参照処理が実行される。この場合、参照要求に応じ、論理アドレスa7が、マッピングテーブル132−1(図11参照)によって物理アドレスA17に変換される。つまり、バックアップ13b−1において論理アドレスa7に対応する領域はコピー済みである。そのため、図16(B)に示すように、バックアップ13b−1の物理アドレスA17におけるデータ7が読み出され、業務サーバ2によって参照される。このような参照処理は、上述した参照処理部245によって実行される(図5のステップS11のYESルートからステップS12参照)。このとき、コピー処理等は行なわれない。また、図16(A),(B)に示すように、業務ボリューム13aやバックアップ13b−1に何ら変化はない。
(15) 時刻0:40に、業務サーバ2から、バックアップ13b−1の論理アドレスa8におけるデータ8を、データAに更新する更新要求を受け、更新処理が実行される。この場合、更新要求に応じ、論理アドレスa8が、マッピングテーブル132−1(図11参照)によって物理アドレスA18に変換される。また、この時点でバックアップ13b−1は最新世代であるので、図17(B)に示すように、バックアップ13b−1の物理アドレスA18におけるデータ8が、データAに更新される(網掛け部参照)。このような更新処理は、上述した更新処理部246によって実行される(図6のステップS21のYESルートからステップS22参照)。
このようにバックアップ13b−1の更新が行なわれた場合、その更新状況が第2監視部243によって監視されており、第2監視部243によって、第2ビットマップ243aが更新される。つまり、図17(B)では、バックアップ13b−1において、物理アドレスA18のデータ8がデータAに更新されているため、図18に示すように、第2ビットマップ243aにおいて、物理アドレスA18に対応するビットが“0”から“1”に書き換えられる(網掛け部参照)。
このとき、更新処理は、この時点で最新世代のバックアップ13b−1に対し行なわれているため、コピー処理等は行なわれない。また、図17(A)に示すように、業務ボリューム13aに何ら変化はない。
〔2−3〕世代2のバックアップ作成から世代3(第3世代)のバックアップ作成直前までの動作(時刻01:00〜02:00の動作)
(21) 時刻01:00に、業務サーバ2からの世代2のバックアップボリュームの作成指示に応じ、図19(A)に示す業務ボリューム13aについての世代2のバックアップ13b−2が、第2作成部244によって、図19(C)に示すように取得・作成される(図4のステップS1のNOルートからステップS3〜S6参照)。
つまり、ここでは、第2作成部244によって、図15に示す第1ビットマップ242aおよび図18に示す第2ビットマップ243aが参照され、業務ボリューム13aにおける第1更新領域A1,A2とバックアップ13b−1における第2更新領域A18とが認識される。そして、これらの更新領域の容量(ここでは領域3個分の容量)に対応する容量の物理領域(仮想ボリューム)131−2が確保される。この物理領域131−2は、例えば物理アドレスA21〜A23で指定される、連続する3個の領域からなる。
このように確保された物理領域131−2の各領域には、図19(C)や図21に示すように、業務ボリューム13aの第1更新領域A1,A2のデータ1’,2’と、第2更新領域A18に対応する、業務ボリューム13aの領域A8のデータ8とが、物理アドレス順に上詰めでコピーされる。このとき、バックアップ13b−1の第2更新領域A18に対応する、業務ボリューム13aの領域A8は、図18に示す第2ビットマップ243aおよびマッピングテーブル132−1と、業務ボリューム13aのアドレス変換テーブル(上記〔2−1〕参照)とに基づいて特定される。
さらに、図21に示すように、更新領域A1,A2,A18に対応する論理アドレスa1,a2,a8と、物理領域131−2におけるデータ1’,2’,8の物理アドレスA21,A22,A23とをそれぞれ対応付けるマッピングテーブル132−2が作成される。このとき、物理領域131−2の容量(ここでは領域3個分の容量)に応じたサイズの領域が、バックアップボリューム用領域13bに確保され、その領域にマッピングテーブル132−2が作成される。
このように作成されたマッピングテーブル132−2と、図18や図19(B)に示すマッピングテーブル132−1とを用いて、仮想ボリューム131−1と131−2とが連携される。これにより、業務サーバ2は、論理アドレスa1〜a9を用いバックアップ13b−2を参照した場合、バックアップ13b−2を、図19(C)に示すような論理ボリュームとして参照することができる。
ついで、図19(A)に示す業務ボリューム13aにおける、世代2のバックアップ作成指示後の更新状況を第1監視部242によって監視すべく、図20に示すように、第1ビットマップ242aの各ビットが全て“0”にクリアされる。
また、図19(C)に示す仮想ボリューム131−2の更新状況を第2監視部243によって監視すべく、図18に示す第2ビットマップ243aに代え、図21に示すような第2ビットマップ243aが新たに作成される。この第2ビットマップ243aは、仮想ボリューム131−2の3個の領域にそれぞれ対応する3ビットから構成され、初期状態では全てのビットに“0”が設定されている。なお、図21では、第2ビットマップ243aが、マッピングテーブル132−2(論理アドレスa1,a2,a8/物理アドレスA21〜A23)、および、仮想ボリューム131−2のデータ1’,2’,8に対応付けて図示されている。
なお、ここでは、図19(A),(B)に示すように、業務ボリューム13aや世代1のバックアップ13b−1に何ら変化はない。
(22) 時刻01:10に、業務サーバ2からの業務ボリューム13aに対する更新要求に応じて、業務ボリューム13aのデータ3が、図22(A)に示すように、データ3’に更新される。この場合も、上記(12)と同様、その更新状況が第1監視部242によって監視されており、第1監視部242によって、第1ビットマップ242aが更新される。つまり、図22(A)では、業務ボリューム13aにおいて、物理アドレスA3のデータ3がデータ3’に更新されているため、図23に示すように、第1ビットマップ242aにおいて、物理アドレスA3に対応するビットが“0”から“1”に書き換えられる(網掛け部参照)。このとき、コピー処理等は行なわれない。また、図22(B),(C)に示すように、バックアップ13b−1,13b−2に何ら変化はない。
(23) 時刻01:20に、業務サーバ2から、世代2のバックアップ13b−2の論理アドレスa7におけるデータの参照要求を受け、参照処理が実行される。この場合、参照要求に応じ、バックアップ13b−2が参照され、論理アドレスa7によって、バックアップ13b−2のマッピングテーブル132−2(図21参照)が検索される。しかし、図21に示すマッピングテーブル132−2には、論理アドレスa7が登録されていない。つまり、バックアップ13b−2において論理アドレスa7に対応する領域は未コピーである。
このため、世代2から世代1に遡って、バックアップ13b−1が参照され、論理アドレスa7が、マッピングテーブル132−1(図18参照)によって物理アドレスA17に変換される。そして、図24(B),(C)に示すように、バックアップ13b−1の物理アドレスA17におけるデータ7が読み出されて業務サーバ2によって参照される。
以上のような参照処理は、上述した参照処理部245によって実行される(図5のステップS11のNOルートからステップS13〜S15参照)。
このとき、コピー処理等は行なわれない。また、図24(A)〜(C)に示すように、業務ボリューム13aやバックアップ13b−1,13b−2に何ら変化はない。
(24) 時刻01:30に、業務サーバ2から、世代2のバックアップ13b−2の論理アドレスa9におけるデータ9を、データBに更新する更新要求を受け、更新処理が実行される。この時点でバックアップ13b−2は最新世代であるので、バックアップ13b−2において更新が行なわれる。ただし、当該更新要求を受けた時点では、図21に示すバックアップ13b−2のマッピングテーブル132−2には、論理アドレスa9およびこの論理アドレスa9に対応する物理アドレスが登録されていない。つまり、バックアップ13b−2において論理アドレスa9に対応する領域は未コピーである。
このため、仮想ボリューム131−2に、データB(データ9)の容量に対応する容量の物理領域が新たに且つ連続的に追加確保され、この物理領域に更新後データBがコピーされる(図25(C)や図26の網掛け部参照)。ここで、仮想ボリューム131−2に追加された物理領域の物理アドレスはA24であるとする。
以上のような更新処理は、上述した更新処理部246によって実行される(図6のステップS21のYESルートからステップS22参照)。
このとき、新たな物理領域の追加に伴い、図26に示すように、マッピングテーブル132−2および第2ビットマップ243aに、物理領域の追加分に対応する新たな領域が追加確保され、対応情報が登録される。つまり、マッピングテーブル132−2においては、データBがコピーされた領域の物理アドレスA24と論理アドレスa9とを対応付ける情報の格納領域が追加確保される(網掛け部参照)。また、第2ビットマップ243aにおいては、追加された物理アドレスA24の領域における更新状況を監視するための1ビットが追加確保される(網掛け部参照)。
このように最新世代のバックアップ13b−2の更新が行なわれた場合、その更新状況が第2監視部243によって監視されており、第2監視部243によって、第2ビットマップ243aが更新される。つまり、図25(C)では、バックアップ13b−2において、物理アドレスA24の領域がデータBに更新されているため、図26に示すように、第2ビットマップ243aにおいて、物理アドレスA24に対応するビットが“0”から“1”に書き換えられる(網掛け部参照)。
このとき、更新処理は、この時点で最新世代のバックアップ13b−2に対し行なわれているため、コピー処理等は行なわれない。また、図25(A),(B)に示すように、業務ボリューム13aやバックアップ13b−1に何ら変化はない。
(25) 時刻01:40に、業務サーバ2から、世代1のバックアップ13b−1の論理アドレスa4におけるデータ4を、データCに更新する更新要求を受け、更新処理が実行される。ここで、更新対象のバックアップ13b−1は最新世代ではないため、次の世代である世代2のバックアップ13b−2において、論理アドレスa4に対応する領域がコピー済みか否かが確認される。つまり、バックアップ13b−2が参照され、論理アドレスa4によって、バックアップ13b−2のマッピングテーブル132−2(図26参照)が検索される。しかし、図26に示すマッピングテーブル132−2には、論理アドレスa4が登録されていないため、バックアップ13b−2において、論理アドレスa4に対応する領域は、未コピーであると判断される。
この場合、バックアップ13b−1の論理アドレスa4におけるデータが参照される。つまり、論理アドレスa4が、マッピングテーブル132−1(図23参照)によって物理アドレスA14に変換される。そして、バックアップ13b−1の物理アドレスA14におけるデータ4が読み出され、このデータ4が、世代2のバックアップ13b−2にコピーされる。このとき、仮想ボリューム131−2に、データ4の容量に対応する容量の物理領域が新たに且つ連続的に追加確保され、この物理領域に、論理アドレスa4のオリジナルデータ4がコピーされる(図27(C)や図29の網掛け部参照)。ここで、仮想ボリューム131−2に追加された物理領域の物理アドレスはA25であるとする。
このとき、新たな物理領域の追加に伴い、図29に示すように、マッピングテーブル132−2および第2ビットマップ243aに、物理領域の追加分に対応する新たな領域が追加確保され、対応情報が登録される。つまり、マッピングテーブル132−2においては、データ4がコピーされた領域の物理アドレスA25と論理アドレスa4とを対応付ける情報の格納領域が追加確保される(網掛け部参照)。また、第2ビットマップ243aにおいては、追加された物理アドレスA25の領域における更新状況を監視するための1ビットが追加確保される(網掛け部参照)。
なお、今回の更新処理は、バックアップ13b−1に対して行なわれたもので、この更新処理に伴い、最新世代のバックアップ13b−2に対しオリジナルデータ4のコピー処理が行なわれている。このため、最新世代のバックアップ13b−2の領域A25に対する今回のコピー処理は、更新処理と見なされず、図29に示すように、第2ビットマップ243aにおいて、物理アドレスA25に対応するビットは“0”に維持される(網掛け部参照)。
この後、図27(B)および図28に示すように、世代1のバックアップ13b−1の物理アドレスA14におけるデータ4が、データCに更新される(網掛け部参照)。
以上のような更新処理により、更新データCは、更新対象の世代1のバックアップボリューム13b−1の論理アドレスa4でのみ参照可能になる一方、世代1よりも新しい世代のバックアップの論理アドレスa4では、更新前のデータ4を参照することが可能になる。
また、以上のような更新処理は、上述した更新処理部246によって実行される(図6のステップS21のNOルートおよびステップS23のNOルートからステップS25〜S27参照)。
なお、ここで、図27(A)に示すように、業務ボリューム13aに何ら変化はない。
〔2−4〕世代3のバックアップ作成から世代1のバックアップ削除直前までの動作(時刻02:00〜03:00の動作)
(31) 時刻02:00に、業務サーバ2からの世代3のバックアップボリュームの作成指示に応じ、図30(A)に示す業務ボリューム13aについての世代3のバックアップ13b−3が、第2作成部244によって、図30(D)に示すように取得・作成される(図4のステップS1のNOルートからステップS3〜S6参照)。
つまり、ここでは、第2作成部244によって、図23に示す第1ビットマップ242aおよび図29に示す第2ビットマップ243aが参照され、業務ボリューム13aにおける第1更新領域A3とバックアップ13b−2における第2更新領域A24とが認識される。そして、これらの更新領域の容量(ここでは領域2個分の容量)に対応する容量の物理領域(仮想ボリューム)131−3が確保される。この物理領域131−3は、例えば物理アドレスA31,A32で指定される、連続する2個の領域からなる(図32参照)。
このように確保された物理領域131−3の各領域には、図30(D)や図32に示すように、業務ボリューム13aの第1更新領域A3のデータ3’と、第2更新領域A24に対応する、業務ボリューム13aの領域A9のデータ9とが、物理アドレス順に上詰めでコピーされる。このとき、バックアップ13b−2の第2更新領域A24に対応する、業務ボリューム13aの領域A9は、図29に示す第2ビットマップ243aおよびマッピングテーブル132−2と、業務ボリューム13aのアドレス変換テーブル(上記〔2−1〕参照)とに基づいて特定される。
さらに、更新領域A3,A24に対応する論理アドレスa3,a9と、物理領域131−2におけるデータ3’,9の物理アドレスA31,A32とをそれぞれ対応付けるマッピングテーブル132−3が、図32に示すように作成される。このとき、物理領域131−3の容量(ここでは領域2個分の容量)に応じたサイズの領域がバックアップボリューム用領域13bに確保され、その領域にマッピングテーブル132−3が作成される。
このように作成されたマッピングテーブル132−3と、図29や図30(C)に示すマッピングテーブル132−2と、図28や図30(B)に示すマッピングテーブル132−1とを用いて、仮想ボリューム131−1〜131−3が連携される。これにより、業務サーバ2は、論理アドレスa1〜a9を用いバックアップ13b−3を参照した場合、バックアップ13b−3を、図30(D)に示すような論理ボリュームとして参照することができる。
ついで、図30(A)に示す業務ボリューム13aにおける、世代3のバックアップ作成指示後の更新状況を第1監視部242によって監視すべく、図31に示すように、第1ビットマップ242aの各ビットが全て“0”にクリアされる。
また、図30(D)に示す仮想ボリューム131−3の更新状況を第2監視部243によって監視すべく、図29に示す第2ビットマップ243aに代え、図32に示すような第2ビットマップ243aが新たに作成される。この第2ビットマップ243aは、仮想ボリューム131−3の2個の領域にそれぞれ対応する2ビットから構成され、初期状態では全てのビットに“0”が設定されている。なお、図32では、第2ビットマップ243aが、マッピングテーブル132−3(論理アドレスa3,a9/物理アドレスA31,A32)、および、仮想ボリューム131−2のデータ3’,9に対応付けて図示されている。
なお、ここでは、図30(A)〜(C)に示すように、業務ボリューム13aやバックアップ13b−1,13b−2に何ら変化はない。
(32) 時刻02:10に、業務サーバ2から、世代3のバックアップ13b−3の論理アドレスa7におけるデータの参照要求を受け、参照処理が実行される。この場合、参照要求に応じ、バックアップ13b−3が参照され、論理アドレスa7によって、バックアップ13b−3のマッピングテーブル132−3(図32参照)が検索される。しかし、図32に示すマッピングテーブル132−3には、論理アドレスa7が登録されていない。つまり、バックアップ13b−3において論理アドレスa7に対応する領域は未コピーである。
このため、世代3から世代2に遡って、バックアップ13b−2が参照され、論理アドレスa7によって、バックアップ13b−2のマッピングテーブル132−2(図28参照)が検索される。しかし、図28に示すマッピングテーブル132−2には、論理アドレスa7が登録されていない。つまり、バックアップ13b−2において論理アドレスa7に対応する領域は未コピーである。
このため、さらに世代2から世代1に遡って、バックアップ13b−1が参照され、論理アドレスa7が、マッピングテーブル132−1(図28参照)によって物理アドレスA17に変換される。そして、図33(B)〜(D)に示すように、バックアップ13b−1の物理アドレスA17におけるデータ7が読み出されて業務サーバ2によって参照される。このような参照処理は、上述した参照処理部245によって実行される(図5のステップS11のNOルートからステップS13〜S15参照)。
このとき、コピー処理等は行なわれない。また、図33(A)〜(D)に示すように、業務ボリューム13aやバックアップ13b−1〜13b−3に何ら変化はない。
(33) 時刻02:30に、業務サーバ2から、世代2のバックアップ13b−2の論理アドレスa5におけるデータ5を、データDに更新する更新要求を受け、更新処理が実行される。ここで、更新対象のバックアップ13b−2は最新世代ではないため、次の世代である世代3のバックアップ13b−3において、論理アドレスa5に対応する領域がコピー済みか否かが確認される。つまり、バックアップ13b−3が参照され、論理アドレスa5によって、バックアップ13b−3のマッピングテーブル132−3(図32参照)が検索される。しかし、図32に示すマッピングテーブル132−3には、論理アドレスa4が登録されていないため、バックアップ13b−3において、論理アドレスa5に対応する領域は、未コピーであると判断される。
この場合、バックアップ13b−2の論理アドレスa5におけるデータが参照される。つまり、バックアップ13b−2が参照され、論理アドレスa5によって、バックアップ13b−2のマッピングテーブル132−2(図29参照)が検索される。しかし、図29に示すマッピングテーブル132−2には、論理アドレスa5が登録されていない。つまり、バックアップ13b−2において論理アドレスa5に対応する領域は未コピーである。このため、世代2から世代1に遡って、バックアップ13b−1が参照され、論理アドレスa5が、マッピングテーブル132−1(図28参照)によって物理アドレスA15に変換される。そして、バックアップ13b−1の物理アドレスA15におけるデータ5が読み出されて参照される。なお、ここで実行される参照処理は、上述した参照処理部245によって実行される(図5のステップS11のNOルートからステップS13〜S15参照)。
上述のように読み出されたデータ5は、世代3のバックアップ13b−3にコピーされる。このとき、仮想ボリューム131−3に、データ5の容量に対応する容量の物理領域が新たに且つ連続的に追加確保され、この物理領域に、論理アドレスa5のオリジナルデータ5がコピーされる(図34(D)や図36の網掛け部参照)。ここで、仮想ボリューム131−3に追加された物理領域の物理アドレスはA33であるとする。
このとき、新たな物理領域の追加に伴い、図36に示すように、マッピングテーブル132−3および第2ビットマップ243aに、物理領域の追加分に対応する新たな領域が追加確保され、対応情報が登録される。つまり、マッピングテーブル132−3においては、データ5がコピーされた領域の物理アドレスA33と論理アドレスa5とを対応付ける情報の格納領域が追加確保される(網掛け部参照)。また、第2ビットマップ243aにおいては、追加された物理アドレスA33の領域における更新状況を監視するための1ビットが追加確保される(網掛け部参照)。
なお、今回の更新処理は、バックアップ13b−2に対して行なわれるもので、この更新処理に伴い、最新世代のバックアップ13b−3に対しオリジナルデータ5のコピー処理が行なわれている。このため、最新世代のバックアップ13b−3の領域A33に対する今回のコピー処理は、更新処理と見なされず、図36に示すように、第2ビットマップ243aにおいて、物理アドレスA33に対応するビットは“0”に維持される(網掛け部参照)。
この後、世代2のバックアップ13b−2の論理アドレスa5におけるデータ5を、データDに更新する。ただし、当該更新要求を受けた時点では、図29に示すバックアップ13b−2のマッピングテーブル132−2には、論理アドレスa5およびこの論理アドレスa5に対応する物理アドレスが登録されていない。つまり、バックアップ13b−2において論理アドレスa5に対応する領域は未コピーである。
このため、仮想ボリューム131−2に、データD(データ5)の容量に対応する容量の物理領域が新たに且つ連続的に追加確保され、この物理領域に更新後データDがコピーされ(図34(C)や図35の網掛け部参照)、今回の更新処理を完了する。
なお、仮想ボリューム131−2に追加された物理領域の物理アドレスはA26であるとする。また、新たな物理領域の追加に伴い、図35に示すように、マッピングテーブル132−2に、物理領域の追加分に対応する新たな領域が追加確保され、対応情報が登録される。つまり、マッピングテーブル132−2においては、データDがコピーされた領域の物理アドレスA26と論理アドレスa5とを対応付ける情報の格納領域が追加確保される(網掛け部参照)。
以上のような更新処理により、更新データDは、更新対象の世代2のバックアップボリューム13b−2の論理アドレスa5でのみ参照可能になる一方、世代2よりも新しい世代のバックアップの論理アドレスa5では、更新前のデータ5を参照することが可能になる。
また、以上のような更新処理は、上述した更新処理部246によって実行される(図6のステップS21のNOルートおよびステップS23のNOルートからステップS25〜S27参照)。
このとき、図34(A),(B)に示すように、業務ボリューム13aやバックアップ13b−1に何ら変化はない。
〔2−5〕世代1のバックアップ削除動作(時刻03:00の動作)
(41) 時刻03:00に、業務サーバ2から、世代1のバックアップ13b−1の削除要求を受け、削除処理が実行される。このとき、削除対象のバックアップ13b−1は世代1であるため、世代1よりも新しい世代2,3のバックアップ13b−2,13b−3が存在する。そのため、まず、世代1のバックアップ13b−1におけるコピー済み領域と、世代2のバックアップボリューム13b−2における未コピー領域とが検索される。
ここでは、図28に示す世代1のマッピングテーブル132−1を参照することで、世代1のバックアップ13b−1の全ての領域(論理アドレスa1〜a9/物理アドレスA11〜A19)がコピー済み領域として検索される。また、図35に示す世代2のマッピングテーブル132−2を参照することで、世代2のバックアップ13b−2のうち3つの領域(論理アドレスa3,a6,a7)が未コピー領域として検索される。
そして、検索されたコピー済み領域と未コピー領域とを比較することで、世代1のバックアップ13b−1ではコピー済みであるが世代2のバックアップ13b−2では未コピーの領域(論理アドレスa3,a6,a7)が見い出される。
この後、論理アドレスa3,a6,a7が、図28に示す世代1のマッピングテーブル132−1によって、それぞれ物理アドレスA13,A16,A17に変換される。そして、バックアップ13b−1の物理アドレスA13,A16,A17におけるデータ3,6,7がそれぞれ読み出される。
これらのデータ3,6,7は、世代2のバックアップ13b−2にコピーされる。このとき、仮想ボリューム131−2に、データ3,6,7の容量に対応する容量の物理領域が新たに且つ連続的に追加確保され、この物理領域に、論理アドレスa3,a6,a7のオリジナルデータ3,6,7がコピーされる(図37(C)や図38の網掛け部参照)。ここで、仮想ボリューム131−2に追加された物理領域の物理アドレスはA27〜A29であるとする。
このとき、新たな物理領域の追加に伴い、図38に示すように、マッピングテーブル132−2に、物理領域の追加分に対応する新たな領域が追加確保され、対応情報が登録される。つまり、マッピングテーブル132−2においては、データ3,6,7がコピーされた領域の物理アドレスA27〜A29と論理アドレスa3,a6,a7とを対応付ける情報の格納領域が追加確保される(網掛け部参照)。
上述のようにして、世代2のバックアップ13b−2における未コピー領域へのコピー処理を完了すると、業務ボリューム13aと、削除対象の世代1のバックアップ13b−1における仮想ボリューム131−1との関係が削除される。これにより、図38(B)に示すように、世代1のバックアップ13b−1がバックアップ13bから削除される。ここで、削除される関係は、例えば、世代1のマッピングテーブル132−1(図28参照)などである。このような関係の削除を行なうことにより、業務サーバ2は、世代1のバックアップ13b−1に対するアクセスを行なえなくなり、実質的に世代1のバックアップ13b−1が削除された状態になる。
以上のような削除処理では、削除対象の世代1のバックアップ13b−1では保存されていたが次の世代のバックアップ13b−2では保存されていなかったデータが、削除前に、バックアップ13b−2に保存される。これにより、世代1のバックアップ13b−1を削除したとしても、削除によってデータがバックアップボリューム用領域13bから消えるのを防止でき、バックアップボリューム用領域13bには、全てのデータが参照・復元可能な状態で維持される。
なお、以上のような削除処理は、上述した削除処理部247によって実行される(図7のステップS31のYESルートからステップS33〜S35およびS32参照)。
また、このとき、図37(A),(D)に示すように、業務ボリューム13aやバックアップ13b−3に何ら変化はない
〔3〕本実施形態の効果
本実施形態によれば、世代1のバックアップ13b−1の作成時には、業務ボリューム13aの全てが保存される。また、世代2以降のバックアップ13b−kの作成時には、業務ボリューム13aおよび直前世代のバックアップ13b−(k−1)の更新状況を確認し、差分データのコピーが行なわれる。つまり、世代2以降のバックアップ13b−kでは、業務ボリューム13aでの更新領域のデータと、作成対象世代直前のバックアップ13b−(k−1)の更新領域に対応する、業務ボリューム13aにおける元データとがコピーされる。
このとき、世代2以降のバックアップ13b−2〜13b−iでは、各世代での更新領域の容量と同じ容量が確保され、更新領域のデータのみが保存される。また、マッピングテーブル132−2〜132−iも、各世代での更新領域の容量に応じたサイズの領域が確保され、更新領域に対応する部分のアドレス変換情報(論理アドレス/物理アドレス)のみが保存される。
これにより、第2世代以降のバックアップ13b−2〜13b−iで用いられる物理領域の容量は必要最小限となるほか、各世代用のマッピングテーブル132−2〜132−iや、第2ビットマップ243aのサイズも必要最小限とすることができる。
また、上述したように、世代1のバックアップ13b−1では、業務ボリューム13aの全てが保存されているほか、バックアップボリュームが更新された場合には更新前の元データが保存されている。このため、万一、業務ボリューム13aが被災して参照不能となっても、バックアップ13b−1〜13b−iに基づいて、世代1〜iでの業務ボリューム13aのデータが可能な限り復元され、複数世代分取得したバックアップのデータが13b−1〜13b−i失われない。
従って、バックアップボリューム13bの容量を増大させることなく、業務ボリューム13aについての複数世代のバックアップが確実に実現される。
また、例えば図6,図17,図18,図25〜図29,図34〜図36を参照しながら説明した、特定世代のバックアップ13b−kに対する更新処理によれば、更新データは特定世代のバックアップ13b−kの該当領域でのみ参照可能になる。一方、特定世代よりも新しい世代のバックアップ13b−m(mはk<m≦iの自然数)の該当領域では、更新前のオリジナルデータを参照することが可能になる。
さらに、例えば図7,図37,図38を参照しながら説明した、特定世代のバックアップボリュームの削除処理によれば、削除対象世代のバックアップ13b−kでは保存されていたが次の世代では保存されていなかったデータが、特定世代の削除前に、次の世代のバックアップ13b−(k+1)に保存される。これにより、バックアップ13b−kを削除したとしても、削除によってデータがバックアップボリューム用領域13bから消えるのを防止でき、バックアップボリューム用領域13bには、全てのデータが参照・復元可能な状態に維持される。
〔4〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
また、上述したバックアップ制御部24の各部241〜247(全部もしくは一部の機能)は、コンピュータ(CPU,情報処理装置,各種端末を含む)が所定のアプリケーションプログラム(バックアッププログラム)を実行することによって実現される。
そのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RWなど),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD−RW,DVD+R,DVD+RW,ブルーレイディスクなど)等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。
ここで、コンピュータとは、ハードウエアとOS(オペレーティングシステム)とを含む概念であり、OSの制御の下で動作するハードウエアを意味している。また、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウエアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取る手段とをそなえている。上記バックアッププログラムは、上述のようなコンピュータに、上記各部241〜247の機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくOSによって実現されてもよい。
〔5〕付記
以上の本実施形態を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
バックアップ対象ボリュームについて、複数世代のバックアップボリュームを作成するバックアップ装置であって、
前記複数世代のバックアップボリュームを格納する記憶部と、
第1世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームのデータを前記記憶部の第1世代用領域にコピーして第1世代のバックアップボリュームを作成する第1作成部と、
第i−1世代(iは2以上の自然数)のバックアップボリュームの作成指示後に前記バックアップ対象ボリュームにおいて更新されたデータの属する領域を第1更新領域として監視する第1監視部と、
第i世代のバックアップボリュームの作成指示を受けると、前記第1監視部によって監視された前記第1更新領域を参照し、前記第1更新領域の容量に応じた容量の第i世代用領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームにおける前記第1更新領域のデータを前記第i世代用領域にコピーして第i世代のバックアップボリュームを作成する第2作成部と、を備えたことを特徴とするバックアップ装置。
(付記2)
前記第1監視部は、前記バックアップ対象ボリュームの容量に応じたサイズの第1ビットマップテーブルを用いて前記第1更新領域を監視することを特徴とする請求項1記載のバックアップ装置。
(付記3)
前記第i−1世代のバックアップボリュームの作成指示後に当該第i−1世代のバックアップボリュームにおいて更新されたデータの属する領域を第2更新領域として監視する第2監視部をさらに備え、
前記第2作成部は、前記第i世代のバックアップボリュームの作成指示を受けると、前記第1監視部によって監視された前記第1更新領域と前記第2監視部によって監視された前記第2更新領域とを参照し、前記第i世代用領域として、前記第1更新領域および前記第2更新領域の容量に応じた容量の領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での、前記バックアップ対象ボリュームにおける前記第1更新領域のデータと前記第2更新領域に対応する領域のデータとを前記第i世代用領域にコピーして前記第i世代のバックアップボリュームを作成することを特徴とする付記1または付記2に記載のバックアップ装置。
(付記4)
前記第2監視部は、前記第i−1世代のバックアップボリュームの容量に応じたサイズの第2ビットマップテーブルを用いて前記第2更新領域を監視することを特徴とする付記3記載のバックアップ装置。
(付記5)
前記第1作成部は、前記第1世代のバックアップボリュームの作成時に、論理アドレスと前記第1世代用領域におけるデータの物理アドレスとを対応付ける第1世代用テーブルを作成することを特徴とする付記1〜付記4のいずれか一項に記載のバックアップ装置。
(付記6)
前記第2作成部は、前記第i世代のバックアップボリュームの作成時に、論理アドレスと前記第i世代用領域におけるデータの物理アドレスとを対応付ける第i世代用テーブルを作成することを特徴とする付記1〜付記5のいずれか一項に記載のバックアップ装置。
(付記7)
前記複数世代のうちの特定世代のバックアップボリュームにおけるデータの参照要求を受けると、当該参照要求によって参照対象領域として指定される、当該特定世代のバックアップボリュームにおける該当領域に、前記第1作成部または前記第2作成部によるデータコピーが行なわれているか否かを判断し、該当領域に対するデータコピーが行なわれていると判断した場合、該当領域のデータを参照データとして読み出す参照処理部をさらに備えたことを特徴とする付記1〜付記6のいずれか一項に記載のバックアップ装置。
(付記8)
前記参照処理部は、該当領域に対するコピーが行なわれていないと判断した場合、当該特定世代よりも古い世代のバックアップボリュームについて、当該参照要求によって前記参照対象領域として指定される該当領域を、順に参照し、該当領域に前記第1作成部または前記第2作成部によるデータコピーが行なわれているか否かを判断し、該当領域に対するデータコピーが行なわれていると判断した時点における、該当領域のデータを参照データとして読み出すことを特徴とする付記7記載のバックアップ装置。
(付記9)
前記複数世代のうちの特定世代のバックアップボリュームにおけるデータの更新要求を受けると、当該特定世代が最新世代であるか否かを判断し、当該特定世代が最新世代であると判断した場合、当該更新要求によって更新対象領域として指定される、当該特定世代のバックアップボリュームにおける該当領域のデータを、当該更新要求によって指示される更新データに更新する更新処理部をさらに備えたことを特徴とする付記1〜付記8のいずれか一項に記載のバックアップ装置。
(付記10)
前記更新処理部は、当該特定世代が最新世代以外であると判断した場合、当該特定世代の次の世代のバックアップボリュームについて、当該更新要求によって前記更新対象領域として指定される該当領域を参照し、前記次の世代のバックアップボリュームにおける該当領域に、前記第1作成部または前記第2作成部によるデータコピーが行なわれているか否かを判断し、前記次の世代のバックアップボリュームにおける該当領域に対するデータコピーが行なわれていると判断した場合、当該特定世代のバックアップボリュームにおける該当領域のデータを、当該更新要求によって指示される更新データに更新することを特徴とする付記9記載のバックアップ装置。
(付記11)
前記更新処理部は、前記次の世代のバックアップボリュームにおける該当領域に対するデータコピーが行なわれていないと判断した場合、当該特定世代のバックアップボリュームについて、該当領域を参照対象領域として指定する参照要求を行ない、当該参照要求によって読み出されたデータを前記次の世代のバックアップボリュームにおける該当領域にコピーしてから、当該特定世代のバックアップボリュームにおける該当領域のデータを、当該更新要求によって指示される更新データに更新することを特徴とする付記10記載のバックアップ装置。
(付記12)
前記複数世代のうちの特定世代のバックアップボリュームの削除要求を受けると、当該特定世代よりも新しい世代のバックアップボリュームがあるか否かを判断し、当該特定世代よりも新しい世代のバックアップボリュームが無いと判断した場合、当該特定世代のバックアップボリュームを削除する一方、当該特定世代よりも新しい世代のバックアップボリュームがあると判断した場合、当該特定世代のバックアップボリュームにおいて前記第1作成部または前記第2作成部によるデータコピーが行なわれている領域と、当該特定世代の次の世代のバックアップボリュームにおいて前記第1作成部または前記第2作成部によるデータコピーが行なわれていない領域とを検索し、当該特定世代のバックアップボリュームではデータコピーが行なわれているが前記次の世代のバックアップボリュームではデータコピーが行なわれていない領域の有無を判断し、無いと判断した場合、当該特定世代のバックアップボリュームを削除し、有ると判断した場合、当該特定世代のバックアップボリュームではデータコピーが行なわれている領域を、前記次の世代のバックアップボリュームにおける該当領域にコピーしてから、当該特定世代のバックアップボリュームを削除する削除処理部をさらに備えたことを特徴とする付記1〜付記11のいずれか一項に記載のバックアップ装置。
(付記13)
バックアップ対象ボリュームについて、複数世代のバックアップボリュームを記憶部に作成するバックアップ方法であって、
第1世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームのデータを前記記憶部の第1世代用領域にコピーして第1世代のバックアップボリュームを作成する第1作成ステップと、
第i−1世代(iは2以上の自然数)のバックアップボリュームの作成指示後に前記バックアップ対象ボリュームにおいて更新されたデータの属する領域を第1更新領域として監視する第1監視ステップと、
第i世代のバックアップボリュームの作成指示を受けると、前記第1監視ステップにおいて監視された前記第1更新領域を参照し、前記第1更新領域の容量に応じた容量の第i世代用領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームにおける前記第1更新領域のデータを前記第i世代用領域にコピーして第i世代のバックアップボリュームを作成する第2作成ステップと、を備えたことを特徴とするバックアップ方法。
(付記14)
前記第1監視ステップにおいて、前記バックアップ対象ボリュームの容量に応じたサイズの第1ビットマップテーブルを用いて前記第1更新領域を監視することを特徴とする付記13記載のバックアップ方法。
(付記15)
前記第i−1世代のバックアップボリュームの作成指示後に当該第i−1世代のバックアップボリュームにおいて更新されたデータの属する領域を第2更新領域として監視する第2監視ステップをさらに備え、
前記第2作成ステップにおいて、前記第i世代のバックアップボリュームの作成指示を受けると、前記第1監視ステップによって監視された前記第1更新領域と前記第2監視ステップによって監視された前記第2更新領域とを参照し、前記第i世代用領域として、前記第1更新領域および前記第2更新領域の容量に応じた容量の領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での、前記バックアップ対象ボリュームにおける前記第1更新領域のデータと前記第2更新領域に対応する領域のデータとを前記第i世代用領域にコピーして前記第i世代のバックアップボリュームを作成することを特徴とする付記13または付記14に記載のバックアップ方法。
(付記16)
前記第2監視ステップにおいて、前記第i−1世代のバックアップボリュームの容量に応じたサイズの第2ビットマップテーブルを用いて前記第2更新領域を監視することを特徴とする付記15記載のバックアップ方法。
(付記17)
バックアップ対象ボリュームについて、複数世代のバックアップボリュームを記憶部に作成するバックアップ装置として、コンピュータを機能させるバックアッププログラムであって、
第1世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームのデータを前記記憶部の第1世代用領域にコピーして第1世代のバックアップボリュームを作成する第1作成部、
第i−1世代(iは2以上の自然数)のバックアップボリュームの作成指示後に前記バックアップ対象ボリュームにおいて更新されたデータの属する領域を第1更新領域として監視する第1監視部、および、
第i世代のバックアップボリュームの作成指示を受けると、前記第1監視部によって監視された前記第1更新領域を参照し、前記第1更新領域の容量に応じた容量の第i世代用領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームにおける前記第1更新領域のデータを前記第i世代用領域にコピーして第i世代のバックアップボリュームを作成する第2作成部として、前記コンピュータを機能させることを特徴とするバックアッププログラム。
(付記18)
前記コンピュータを前記第1監視部として機能させる際、前記バックアップ対象ボリュームの容量に応じたサイズの第1ビットマップテーブルを用いて前記第1更新領域を監視することを特徴とする付記17記載のバックアッププログラム。
(付記19)
前記第i−1世代のバックアップボリュームの作成指示後に当該第i−1世代のバックアップボリュームにおいて更新されたデータの属する領域を第2更新領域として監視する第2監視部として、前記コンピュータを機能させ、
前記コンピュータを前記第2作成部として機能させる際、前記第i世代のバックアップボリュームの作成指示を受けると、前記第1監視部によって監視された前記第1更新領域と前記第2監視部によって監視された前記第2更新領域とを参照し、前記第i世代用領域として、前記第1更新領域および前記第2更新領域の容量に応じた容量の領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での、前記バックアップ対象ボリュームにおける前記第1更新領域のデータと前記第2更新領域に対応する領域のデータとを前記第i世代用領域にコピーして前記第i世代のバックアップボリュームを作成することを特徴とする付記17または付記18に記載のバックアッププログラム。
(付記20)
前記コンピュータを前記第2監視部として機能させる際、前記第i−1世代のバックアップボリュームの容量に応じたサイズの第2ビットマップテーブルを用いて前記第2更新領域を監視することを特徴とする付記19記載のバックアッププログラム。
1 ストレージシステム
100 バックアップ装置
2 業務サーバ(ホストコンピュータ)
11 CA(Channel Adapter)
12 CM(Centralized Module)
13 ディスク(HDD;Disk)
13a 業務ボリューム(バックアップ対象ボリューム)
13b バックアップボリューム用領域(記憶部)
13b−1〜13b−i 第1〜第i世代のバックアップボリューム
131−1〜131−i 第1〜第i世代用仮想ボリューム(物理領域)
132−1〜132−i 第1〜第i世代用マッピングテーブル
21 CPU(Central Processing Unit)
22 キャッシュメモリ
23 DA(Disk Adapter)
24 バックアップ制御部
24a コピー元バックアップ制御部
24b コピー先バックアップ制御部
241 第1作成部
242 第1監視部
242a 第1ビットマップテーブル
243 第2監視部
243a 第2ビットマップテーブル
244 第2作成部
245 参照処理部
246 更新処理部
247 削除処理部

Claims (6)

  1. バックアップ対象ボリュームについて、複数世代のバックアップボリュームを作成するバックアップ装置であって、
    前記複数世代のバックアップボリュームを格納する記憶部と、
    第1世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームのデータを前記記憶部の第1世代用領域にコピーして第1世代のバックアップボリュームを作成する第1作成部と、
    第i−1世代(iは2以上の自然数)のバックアップボリュームの作成指示後に前記バックアップ対象ボリュームにおいて更新されたデータの属する領域を第1更新領域として監視する第1監視部と、
    前記第i−1世代のバックアップボリュームの作成指示後に当該第i−1世代のバックアップボリュームにおいて更新されたデータの属する領域を第2更新領域として監視する第2監視部と、
    第i世代のバックアップボリュームの作成指示を受けると、前記第1監視部によって監視された前記第1更新領域と前記第2監視部によって監視された前記第2更新領域とを参照し、前記第1更新領域および前記第2更新領域の容量に応じた容量の第i世代用領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームにおける前記第1更新領域のデータと前記第2更新領域に対応する領域のデータとを前記第i世代用領域にコピーして第i世代のバックアップボリュームを作成する第2作成部と、を備えたことを特徴とするバックアップ装置。
  2. 前記第1監視部は、前記バックアップ対象ボリュームの容量に応じたサイズの第1ビットマップテーブルを用いて前記第1更新領域を監視することを特徴とする請求項1記載のバックアップ装置。
  3. 前記第2監視部は、前記第i−1世代のバックアップボリュームの容量に応じたサイズの第2ビットマップテーブルを用いて前記第2更新領域を監視することを特徴とする請求項1または請求項2に記載のバックアップ装置。
  4. 前記第1作成部は、前記第1世代のバックアップボリュームの作成時に、論理アドレスと前記第1世代用領域におけるデータの物理アドレスとを対応付ける第1世代用テーブルを作成するとともに、
    前記第2作成部は、前記第i世代のバックアップボリュームの作成時に、論理アドレスと前記第i世代用領域におけるデータの物理アドレスとを対応付ける第i世代用テーブルを作成することを特徴とする請求項1〜請求項のいずれか一項に記載のバックアップ装置。
  5. バックアップ対象ボリュームについて、複数世代のバックアップボリュームを記憶部に作成するバックアップ方法であって、
    第1世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームのデータを前記記憶部の第1世代用領域にコピーして第1世代のバックアップボリュームを作成する第1作成ステップと、
    第i−1世代(iは2以上の自然数)のバックアップボリュームの作成指示後に前記バックアップ対象ボリュームにおいて更新されたデータの属する領域を第1更新領域として監視する第1監視ステップと、
    前記第i−1世代のバックアップボリュームの作成指示後に当該第i−1世代のバックアップボリュームにおいて更新されたデータの属する領域を第2更新領域として監視する第2監視ステップと、
    第i世代のバックアップボリュームの作成指示を受けると、前記第1監視ステップにおいて監視された前記第1更新領域と前記第2監視ステップにおいて監視された前記第2更新領域とを参照し、前記第1更新領域および前記第2更新領域の容量に応じた容量の第i世代用領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームにおける前記第1更新領域のデータと前記第2更新領域に対応する領域のデータとを前記第i世代用領域にコピーして第i世代のバックアップボリュームを作成する第2作成ステップと、を備えた
    ことを特徴とするバックアップ方法。
  6. バックアップ対象ボリュームについて、複数世代のバックアップボリュームを記憶部に作成するバックアップ装置として、コンピュータを機能させるバックアッププログラムであって、
    第1世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームのデータを前記記憶部の第1世代用領域にコピーして第1世代のバックアップボリュームを作成する第1作成部、
    第i−1世代(iは2以上の自然数)のバックアップボリュームの作成指示後に前記バックアップ対象ボリュームにおいて更新されたデータの属する領域を第1更新領域として監視する第1監視部、
    前記第i−1世代のバックアップボリュームの作成指示後に当該第i−1世代のバックアップボリュームにおいて更新されたデータの属する領域を第2更新領域として監視する第2監視部、および、
    第i世代のバックアップボリュームの作成指示を受けると、前記第1監視部によって監視された前記第1更新領域と前記第2監視部によって監視された前記第2更新領域とを参照し、前記第1更新領域および前記第2更新領域の容量に応じた容量の第i世代用領域を前記記憶部に確保し、前記第i世代のバックアップボリュームの作成指示を受けた時点での前記バックアップ対象ボリュームにおける前記第1更新領域のデータと前記第2更新領域に対応する領域のデータとを前記第i世代用領域にコピーして第i世代のバックアップボリュームを作成する第2作成部として、前記コンピュータを機能させることを特徴とするバックアッププログラム。
JP2010081686A 2010-03-31 2010-03-31 バックアップ装置,バックアップ方法およびバックアッププログラム Expired - Fee Related JP5581776B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010081686A JP5581776B2 (ja) 2010-03-31 2010-03-31 バックアップ装置,バックアップ方法およびバックアッププログラム
US13/025,759 US8862844B2 (en) 2010-03-31 2011-02-11 Backup apparatus, backup method and computer-readable recording medium in or on which backup program is recorded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010081686A JP5581776B2 (ja) 2010-03-31 2010-03-31 バックアップ装置,バックアップ方法およびバックアッププログラム

Publications (2)

Publication Number Publication Date
JP2011215750A JP2011215750A (ja) 2011-10-27
JP5581776B2 true JP5581776B2 (ja) 2014-09-03

Family

ID=44710986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010081686A Expired - Fee Related JP5581776B2 (ja) 2010-03-31 2010-03-31 バックアップ装置,バックアップ方法およびバックアッププログラム

Country Status (2)

Country Link
US (1) US8862844B2 (ja)
JP (1) JP5581776B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103415843B (zh) * 2011-03-08 2016-12-21 国际商业机器公司 删除多目标体系结构中的源和省空间的目标之间的关系
WO2013083130A1 (en) * 2011-12-09 2013-06-13 Vestas Wind Systems A/S Wind turbine including blades with suction side winglet
JP6003610B2 (ja) * 2012-12-17 2016-10-05 日本電気株式会社 情報処理装置
JP6064608B2 (ja) * 2013-01-17 2017-01-25 富士通株式会社 ストレージ装置、バックアッププログラム、およびバックアップ方法
JP2015026112A (ja) * 2013-07-24 2015-02-05 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法
JP6197488B2 (ja) * 2013-08-28 2017-09-20 日本電気株式会社 ボリューム管理装置、ボリューム管理方法及びボリューム管理プログラム
JP6277878B2 (ja) * 2014-06-16 2018-02-14 富士通株式会社 ストレージ装置の制御装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
JP6604115B2 (ja) * 2015-09-25 2019-11-13 富士通株式会社 ストレージ装置およびストレージ制御プログラム
JP6782331B1 (ja) * 2019-05-16 2020-11-11 株式会社日立製作所 バックアップシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4267420B2 (ja) 2003-10-20 2009-05-27 株式会社日立製作所 ストレージ装置及びバックアップ取得方法
JP2006048300A (ja) 2004-08-03 2006-02-16 Hitachi Ltd ディスクアレイ装置群およびそのコピー処理方法
JP4550541B2 (ja) 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
JP2007334709A (ja) 2006-06-16 2007-12-27 Fujitsu Ltd ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法
US20090125692A1 (en) * 2007-10-24 2009-05-14 Masayuki Yamamoto Backup system and method
JP5228466B2 (ja) * 2007-12-14 2013-07-03 富士通株式会社 バックアップ装置、バックアップ方法およびバックアッププログラム
JP2009146169A (ja) * 2007-12-14 2009-07-02 Fujitsu Ltd ストレージシステム、ストレージ装置、データバックアップ方法

Also Published As

Publication number Publication date
JP2011215750A (ja) 2011-10-27
US8862844B2 (en) 2014-10-14
US20110246736A1 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
JP5581776B2 (ja) バックアップ装置,バックアップ方法およびバックアッププログラム
US8156165B2 (en) Transaction-safe FAT files system
US10430286B2 (en) Storage control device and storage system
US7363540B2 (en) Transaction-safe FAT file system improvements
US6460054B1 (en) System and method for data storage archive bit update after snapshot backup
US8117410B2 (en) Tracking block-level changes using snapshots
US7054960B1 (en) System and method for identifying block-level write operations to be transferred to a secondary site during replication
US7634627B1 (en) System and method for performing extent level backups that support single file restores
US8924664B2 (en) Logical object deletion
US9582213B2 (en) Object store architecture for distributed data processing system
US20140075240A1 (en) Storage apparatus, computer product, and storage control method
US20070011418A1 (en) Snapshot creating method and apparatus
US20100049930A1 (en) Managing Backups Using Virtual Machines
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US8732411B1 (en) Data de-duplication for information storage systems
JP4825433B2 (ja) 比較的限られた記憶スペースを備えたコンピューティング装置およびそのオペレーティングシステム/ファイルシステム
US20080320258A1 (en) Snapshot reset method and apparatus
US7383465B1 (en) Undoable volume using write logging
JP2007525765A (ja) データベース内の回復ユニット(recoveryunit)のためのシステムおよび方法
US7549029B2 (en) Methods for creating hierarchical copies
US20070106868A1 (en) Method and system for latency-directed block allocation
US9128973B1 (en) Method and system for tracking re-sizing and re-creation of volumes using modification time
US10459807B2 (en) Determining modified portions of a RAID storage array
US7676644B2 (en) Data processing system, storage apparatus and management console
US7526622B1 (en) Method and system for detecting and correcting data errors using checksums and replication

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140630

R150 Certificate of patent or registration of utility model

Ref document number: 5581776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees