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

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

Info

Publication number
JP5228466B2
JP5228466B2 JP2007324030A JP2007324030A JP5228466B2 JP 5228466 B2 JP5228466 B2 JP 5228466B2 JP 2007324030 A JP2007324030 A JP 2007324030A JP 2007324030 A JP2007324030 A JP 2007324030A JP 5228466 B2 JP5228466 B2 JP 5228466B2
Authority
JP
Japan
Prior art keywords
storage area
stored
data
change
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007324030A
Other languages
English (en)
Other versions
JP2009146228A (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 JP2007324030A priority Critical patent/JP5228466B2/ja
Priority to US12/230,390 priority patent/US8176273B2/en
Publication of JP2009146228A publication Critical patent/JP2009146228A/ja
Application granted granted Critical
Publication of JP5228466B2 publication Critical patent/JP5228466B2/ja
Active 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
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、バックアップ装置、バックアップ方法およびバックアッププログラムに関する。
従来より、ストレージ製品やコンピュータにおけるコピー元ボリュームをバックアップする手法の一つとして、OPC(One Point Copy)が知られている。OPCとは、バックアップ対象となるデータについて所定時点における(その後の更新等を含まない)データであるスナップショットを作成するものであり、具体的には、バックアップを作成する際に、当該作成時点における対象となるコピー元ボリュームの全データをバックアップする手法である。
例えば、OPCを実行するバックアップ装置は、ユーザからOPCを行う旨のOPC指示を受付けると、当該OPC指示を受付けた時点におけるコピー元ボリュームの全データを複製(コピー)する。そして、当該バックアップ装置は、当該OPC指示を受付けた時点におけるスナップショットとして、複製したデータ(バックアップデータ)を格納する。具体的な一例をあげて説明すると、当該バックアップ装置は、OPC指示を受付けた時刻や世代(セッション情報)に対応付けて、コピー元ボリューム全体を複製したデータであるバックアップデータを格納する。
また、上記したOPCの拡張機能の一つとして、SnapOPCという手法が知られている。SnapOPCとは、バックアップを作成する際に、コピー元ボリュームのデータの内、更新が行われた箇所における更新前のデータのみをバックアップする手法である。
例えば、SnapOPCを実行するバックアップ装置は、SnapOPCを行う旨のSnapOPC指示を受付けると、SnapOPC指示を受付けた時刻や世代(セッション情報)に対応付けて、所定の記憶領域を割り当てる。そして、当該SnapOPC指示を受付けた後にコピー元ボリュームに更新が行われた場合に、当該更新が行われた箇所における更新前のデータ(当該更新が行われることによって、コピー元ボリュームから失われるデータである差分データ)のみを複製して、当該記憶領域に格納する。なお、特許文献1には、差分データを保存する手法の一つについて開示されている。
特開2005−292865号公報(第1−4頁、第1図)
ところで、上記した従来の技術は、以下で説明するように、転送量を減少することができないという課題があった。
例えば、上記した従来のOPCにおいては、OPC指示を受付けた時点におけるコピー元ボリュームを、当該指示を受付けた時点各々について、コピー元ボリュームの全データをコピーする。このため、OPCを実行するバックアップ装置は、OPC指示が行われるごとに、当該コピー元ボリュームの全データをコピーして転送することになり、転送量が膨大となっていた。
また、例えば、上記した従来のSnapOPCにおいては、図27に示すように、SnapOPC指示が複数回行われた場合に、元データ内のある箇所において初めて更新があると、当該更新前に行われたセッションそれぞれに割り当てられた記憶領域各々に対して、当該箇所における更新前のデータを転送して格納するため、転送量が膨大となっていた。なお、図27は、従来のSnapOPCを説明するための図である。
具体的な一例として、従来のSnapOPCを実行するバックアップ装置において、ユーザによって三回SnapOPC指示が行われ、その後、元データ内のある箇所において初めて更新がある場合について説明する。従来のSnapOPCを実行するバックアップ装置は、SnapOPC指示が行われた時点におけるバックアップを格納するために、当該三回のSnapOPC指示毎に、セッション情報に対応付けて割り当てられた記憶領域各々(計3つの記憶領域各々)に対して、当該箇所における更新前のデータを転送して格納していた。なお、上記した特許文献1についても、転送量を減少するものではない。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、
転送量を減少することが可能であるバックアップ装置、バックアップ方法およびバックアッププログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、バックアップ装置は、バックアップ対象となる元データについて、バックアップを実行する時点における元データを示すスナップショットを、当該バックアップを実行する時点各々について作成するバックアップ装置であって、前記バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる割り当て手段と、前記指示によって示される時点より後に前記元データが更新されると、当該指示によって示される直前の時点における当該更新が行われた箇所に対応する元データが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として前記割り当て手段によって割り当てられた前記記憶領域に格納されているかを確認する確認手段と、前記確認手段によって格納されていないと確認されると、前記更新が行われた箇所に対応する更新直前の元データを、前記最新のスナップショットを格納する記憶領域にのみ格納する格納手段と、を備えたことを要件とする。
また、バックアップ装置は、さらに、前記割り当て手段は、前記指示によって示される時点を識別する情報である識別情報に対応付けて、当該時点について作成される前記スナップショットを格納する前記記憶領域を割り当て、前記格納手段は、前記更新が行われた箇所を示す位置情報と当該位置情報で示される箇所における更新直前の前記元データとを対応付けて、前記指示によって示される直前の時点を識別する前記識別情報に対応付けられた前記記憶領域に格納し、前記スナップショットからデータを読み出す旨の情報と前記識別情報と前記位置情報とを受付ける読出受付手段と、前記読出受付手段によって受付けられた前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第1の読出判別手段と、前記第1の読出判別手段によって格納されていないと判別された場合に、前記読出受付手段によって受付けられた前記識別情報によって識別される時点と比較して時間が経過した後の時点を示す当該識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第2の読出判別手段と、前記第1の読出判別手段によって格納されていると判別された場合には、受付けられた前記位置情報に対応づけられた前記元データを、当該第1の読出判別手段によって格納されていると判別された前記記憶領域から読み出し、前記第2の読出判別手段によって格納されていると判別された場合には、受付けられた前記位置情報に対応付けられた前記元データを、当該第2の読出判別手段によって格納されていると判別された前記記憶領域から読み出し、当該第2の読出判別手段によって格納されていないと判別された場合には、受付けられた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出す読出手段と、を備えたことを要件とする。
また、バックアップ装置は、前記読出手段は、前記第2の読出判別手段によって格納されていると判別された前記記憶領域が複数ある場合に、前記読出受付手段によって受付けられた前記識別情報によって識別される時点に最も近い時点を識別する前記識別情報に対応付けられた当該記憶領域から、受付けられた前記位置情報に対応付けられた前記元データを読み出すことを要件とする。
また、バックアップ装置は、さらに、前記スナップショットに変更を行う旨を示す情報、当該変更を行うスナップショットが格納された前記記憶領域を示す識別情報、および、当該変更を行う箇所を示す位置情報を受付ける変更受付手段と、前記変更受付手段によって受付けられた前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第1の変更判別手段と、前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して前の時点を示す前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第2の変更判別手段と、前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して時間が経過した後の時点を示す前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第3の変更判別手段と、前記第2の変更判別手段によって格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、当該第2の変更判別手段によって格納されていないと判別された前記記憶領域に、前記第1の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、受付けられた前記識別情報に対応付けられた前記記憶領域から読み出し、前記第1の変更判別手段によって格納されていないと判別され、かつ、前記第3の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、当該第3の変更判別手段によって格納されていると判別された前記記憶領域から読み出し、前記第1の変更判別手段によって格納されていないと判別され、かつ、前記第3の変更判別手段によって格納されていないと判別された際には、受付けた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出し、読み出したデータを当該位置情報と対応付けて格納する第1の変更前格納手段と、前記第1の変更判別手段によって格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、受付けられた前記識別情報に対応付けられた前記記憶領域に、前記第3の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、当該第3の変更判別手段によって格納されていると判別された前記記憶領域から読み出し、前記第3の変更判別手段によって格納されていないと判別された際には、受付けた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出し、読み出したデータを当該位置情報と対応付けて格納する第2の変更前格納手段と、を備えたことを要件とする。
また、バックアップ装置は、さらに、前記第1の変更前格納手段は、前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して前の時点を示す前記識別情報が複数ある場合に、受付けられた当該識別情報によって識別される時点に最も近い時点を識別する当該識別情報である直近識別情報に対応付けられた前記記憶領域に格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、当該直近識別情報に対応付けられた前記記憶領域に格納し、前記第2の変更前格納手段は、前記第3の変更判別手段によって格納されていると判別された前記記憶領域が複数ある場合に、当該複数ある記憶領域の内、前記直近識別情報に対応付けられた当該記憶領域から、受付けられた前記位置情報に対応付けられた前記元データを読み出すことを要件とする。
また、バックアップ装置は、さらに、前記割り当て手段によって割り当てられた前記記憶領域毎に、当該記憶領域それぞれの空き容量を監視する監視手段と、前記空き容量が所定の閾値以下になったという監視結果が前記監視手段によって得られた場合に、監視結果が得られた前記記憶領域に対応付けられた前記識別情報に対応付けて、新たに記憶領域を追加する追加手段と、を備えたことを要件とする。
また、バックアップ装置は、さらに、前記追加手段によって前記記憶領域が前記識別情報に対応付けて追加される場合に、当該識別情報によって識別される時点と当該時点と最も近い時点との間における時間間隔、および/または、当該識別情報に対応付けられた前記記憶領域にデータを格納してから経過した経過時間に対する当該記憶領域に格納したデータの容量から、追加する前記記憶領域の容量を決定する容量決定手段をさらに備え、前記追加手段は、前記容量決定手段によって決定された容量に従って、新たに記憶領域を追加することを要件とする。
また、バックアップ装置は、さらに、前記バックアップ装置は、所定の上限容量を有する複数の記憶媒体から構成される記憶装置を備え、当該記憶媒体各々は、それぞれ一意に識別されるものであって、前記追加手段は、前記空き容量が所定の閾値以下になったという監視結果が前記監視手段によって得られた場合に、前記記憶媒体から、新たに前記記憶領域を追加し、前記記憶媒体ごとに、前記追加手段によって追加された前記記憶領域の容量の合計を示す使用容量を記憶する容量テーブルを管理する管理手段と、前記管理手段によって管理される前記容量テーブルに記憶された前記記憶媒体ごとの前記使用容量が当該記憶媒体各々の所定の上限容量において占める割合を示す使用率を、当該記憶媒体各々について算出する算出手段と、前記算出手段によって算出された前記使用率の内、最も少ない当該使用率を示した前記記憶媒体から、前記追加手段によって追加される前記記憶領域を決定する決定手段と、を備えたことを要件とする。
このバックアップ装置は、スナップショットを作成する際に、元データから記憶領域へと格納されるデータの転送量を減少することが可能である。
また、このバックアップ装置は、更新が行われた箇所に対応する更新直前の元データを、最新のスナップショットを格納する記憶領域にのみ格納する手法において、スナップショット各々を構成するデータを確実に読み出すことが可能である。
また、このバックアップ装置は、複数の時点においてスナップショットが作成されている場合においても、適切なスナップショットを用いて処理を行うことが可能である。
また、このバックアップ装置は、変更を加えるスナップショット以外のスナップショットに対して影響を与えずに、指定されたスナップショットに変更を加えることが可能である。
また、このバックアップ装置は、複数の時点においてスナップショットが作成されている場合においても、適切なスナップショットを用いて処理を行うことが可能である。
また、このバックアップ装置は、容量あふれを防止することが可能である。
また、このバックアップ装置は、適切な容量の記憶容量を、追加することが可能である。
また、このバックアップ装置は、特定の記憶媒体の性能低下を防止することが可能である。
以下に添付図面を参照して、この発明に係るバックアップ装置、バックアップ方法およびバックアッププログラムの実施例を詳細に説明する。なお、以下では、実施例1に係るバックアップ装置の前提技術、実施例1で用いる主要な用語、実施例1に係るバックアップ装置の概要および特徴、バックアップ装置の構成および処理の流れを順に説明し、最後に実施例1に対するその他の実施例を説明する。
[前提技術]
まず最初に、図1および図2を用いて、実施例1に係るバックアップ装置の前提技術について説明する。具体的には、まず、前提となるOPC(One Point Copy)技術について説明し、その後、前提となる従来のSnapOPC技術について説明する。なお、図1および図2は、前提技術を説明するための図である。
[OPC]
OPCとは、ストレージ製品やコンピュータにおけるコピー元ボリュームをバックアップする手法の一つであり、バックアップ対象となるコピー元ボリュームのデータ(元データ)について、所定時点における(その後の更新等を含まない)データであるスナップショットを作成するものである。具体的には、OPCは、バックアップを作成する際に、当該作成時点におけるコピー元ボリュームの全データをバックアップする。
図1を用いて、OPCの動作について説明する。なお、図1の(1)は、コピー元ボリュームを構成するデータについて、当該データの位置と内容とを概念的に示すものであり、具体的には、パターンがデータの内容を示す。このため、例えば、同じ箇所においてパターンが異なる場合には、当該箇所において、データの更新があったことを示す。また、図1の(2)は、バックアップされたデータであるコピー先ボリュームを示すものである。
ここで、OPCを実行するバックアップ装置は、ユーザからOPCを行う旨のOPC指示を受付けると、当該OPC指示を受付けた時点におけるコピー元ボリュームの全データをコピー先ボリュームに複製(コピー)する。例えば、このバックアップ装置は、図1の(3)に示すように、OPC指示を受付けると、当該OPC指示を受付けた時点におけるコピー元ボリュームである図1の(4)に示すコピー元ボリュームについて、図1の(5)に示すように、OPC指示を受付けた時点のデータのみを複製する。つまり、このバックアップ装置は、図1の(6)に示すような、その後行われた更新内容を反映させずに、図1の(7)に示すように、図1の(4)に示すコピー元ボリュームの全データを複製する。なお、ここで、図1の(4)に示すコピー元ボリュームのデータと、図1の(7)に示すコピー先ボリュームのデータとは、同じである。
そして、OPCを実行するバックアップ装置は、図1の(8)に示すように、その後コピー元ボリュームに更新処理があったとしても、図1の(9)に示すように、当該更新処理の内容や有無に関係なく、内容を固定したまま(当該更新動作を反映させずに)保持する。
また、OPCを実行するバックアップ装置は、図1の(10)に示すように、再度OPC指示を受付けると、上述した図1の(5)と同様の処理を行い、図1の(8)に示すコピー元ボリュームの全データを複製して、図1の(11)に示すコピー先ボリュームを作成する。なお、ここで、図1の(8)に示すコピー元ボリュームのデータと、図1の(11)に示すコピー先ボリュームのデータとは、同じである。
なお、ここで、OPCを実行するバックアップ装置は、図1の(3)に示した「OPC指示」により作成された図1の(7)に示すコピー先ボリュームとは別に、図1の(11)に示した「OPC指示」により作成される図1の(13)に示すコピー先ボリュームを作成する。このため、このバックアップ装置は、OPC指示を受付けるごとに、当該コピー先ボリュームを作成し、OPC指示を受付けた時刻や世代(セッション情報)に対応付けて、コピー元ボリュームの全データを複製したコピー先ボリュームを格納する。
[従来のSnapOPC]
従来のSnapOPCとは、上述したOPCの拡張機能の一つであり、バックアップを実行する際に、コピー元ボリュームのデータの内、更新が行われた箇所における更新前のデータのみをバックアップする手法である。なお、従来のSnapOPCに関する記載において、OPCに関する説明と同様の説明に関しては、省略または簡潔におこなう。
図2を用いて、従来のSnapOPCの動作について説明する。図2の(1)は、コピー元ボリュームを構成するデータの状態を示すものであり、図2の(2)は、バックアップされたデータを示すものである。
ここで、従来のSnapOPCを実行するバックアップ装置は、図2の(3)に示すように、ユーザからSnapOPCを行う旨のSnapOPC指示を受付けると、SnapOPC指示を受付けた時刻や世代(セッション情報)と、当該SnapOPC指示を受付けた時点におけるスナップショットを格納する記憶領域との対応付けのみを行い、その時点では、当該記憶領域に何らデータを格納しない。
そして、図2の(4)に示すように、SnapOPC指示後に行われた更新について、当該更新が行われた箇所における更新前のデータのみを複製して、コピー先ボリュームに格納する。具体的な一例をあげて説明すると、このバックアップ装置は、SnapOPC指示が行われた後に、図2の(5)に示すように、コピー元ボリュームに対して更新が行われると、図2の(6)に示すように、当該更新が行われた箇所における更新前のデータのみを複製して、図2の(3)に示すSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域にコピー先ボリュームとして格納する。
ここで、従来のSnapOPCを実行するバックアップ装置の動作について、さらに説明する。このバックアップ装置は、SnapOPC指示を受付けるごとに、セッション情報と、当該SnapOPC指示を受付けた時点におけるスナップショットを格納する記憶領域との対応付けを作成する。そして、このバックアップ装置は、当該SnapOPC指示を受付けた後に更新が行われると、当該更新が行われた箇所における更新前のデータを、一つまたは複数の記憶領域各々に対して格納する。
例えば、図2の(3)に示すように、一度目のSnapOPC指示が行われ、図2の(7)に二度目のSnapOPC指示が行われ、その上で、図2の(5)、(8)、(9)および(10)に示す更新処理が行われた場合を例に説明する。まず、従来のSnapOPCを実行するバックアップ装置は、図2の(3)に示すSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域に、上述したように、図2の(5)と(8)とに示す更新処理によって更新された箇所についての更新前のデータを格納する。
次に、図2の(9)と(10)とに示す更新処理について説明する。従来のSnapOPCを実行するバックアップ装置は、図2の(3)に示すSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域に、当該指示後に行われた更新処理である、図2の(9)に示す更新処理によって更新された箇所についての更新前のデータを、格納しない。当該更新処理は、図2の(3)に示すSnapOPC指示後に行われたものではあるが、図2の(9)に示す更新箇所は、図2の(5)に示す更新箇所と同一であり、図2の(3)に行われたSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域に、図2の(3)に示すSnapOPC指示を受付けた時点におけるコピー元ボリュームのデータの内当該箇所に対応するデータがすでに格納されているからである。
また、従来のSnapOPCを実行するバックアップ装置は、図2の(3)に行われたSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域に、当該指示後に行われた更新処理である、図2の(10)に示す更新処理によって更新された箇所についての更新前のデータの内、図2の(10−2)に示す更新箇所についての更新前のデータのみを格納する。これは、図2の(10−1)に示す更新箇所は、図2の(8)に示す更新箇所と同一であり、図2の(3)に行われたSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域に、図2の(3)に示すSnapOPC指示を受付けた時点におけるコピー元ボリュームのデータの内当該箇所に対応するデータがすでに格納されているからである。一方、図2の(10−2)に示す更新箇所についての更新前のデータは、当該所定の記憶領域に、未だ格納されていないからである。
同様に、従来のSnapOPCを実行するバックアップ装置は、図2の(7)に行われたSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域に、当該指示後に行われた更新処理である、図2の(9)と(10)とに示す更新処理によって更新された箇所についての更新前のデータを、格納する。
つまり、従来のSnapOPCを実行するバックアップ装置は、複数のSnapOPC指示が行われ、その後、更新処理が行われた場合に、当該複数のSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域各々に、当該更新処理が行われた箇所における更新前のデータが格納されていなければ(例えば、初めて更新処理が行われる場合には)、更新処理によって更新された箇所についての更新前のデータを、SnapOPC指示が行われた回数格納する。
例えば、図2の(10−2)に示す更新箇所に行われた更新処理に対して、このバックアップ装置は、当図2の(11)に示すように、該箇所における更新前のデータを、図2の(3)に行われたSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域と、図2の(7)に行われたSnapOPC指示に対応するセッション情報に対応付けられた所定の記憶領域との両方に格納する。
[用語の説明]
次に、実施例1で用いる主要な用語を説明する。実施例1で用いる「バックアップ」とは、上述した[前提技術]において説明したSnapOPCを実行することを示し、具体的には、バックアップを作成する際に、コピー元ボリュームのデータの内、更新が行われた箇所における更新前のデータのみをバックアップすることがこれに該当する。
[バックアップ装置の概要および特徴]
続いて、図3を用いて、実施例1に係るバックアップ装置の概要および特徴を説明する。図3は、実施例1に係るバックアップ装置の概要および特徴を説明するための図である。
なお、図3の(1)は、コピー元ボリューム(特許請求の範囲に記載の「元データ」に対応する)を構成するデータについて、当該コピー元ボリュームを構成する他のデータから一意に識別する情報と、当該データの内容とを概念的に示すものであり、具体的には、コピー元ボリューム内における箇所(位置)が、識別する情報を示し、パターンが、データの内容を示す。このため、例えば、同じ箇所においてパターンが異なる場合には、当該箇所において、データの更新があったことを示す。また、図3の(2)と(3)とは、バックアップされたデータであるコピー先ボリュームを示すものである。
また、コピー元ボリュームとコピー先ボリュームとには、説明の便宜上、4つの箇所があるものとして説明する。例えば、コピー元ボリュームには、「A」と「B」と「C」と「D」という4つの箇所があるものとして説明する。
図3に示すように、実施例1に係るバックアップ装置は、バックアップ対象となるコピー元ボリュームについて、バックアップを実行する時点におけるコピー元ボリュームを示すスナップショットを、当該バックアップを実行する時点各々について作成することを概要とする。例えば、「1:00」および「4:00」にバックアップを行う場合には、「1:00」および「4:00」それぞれについて、スナップショットを作成する。そして、以下に説明するように、スナップショットを作成する際に、コピー元ボリュームから記憶領域へと格納されるデータの転送量(コピー先ボリュームとして格納されるデータの転送量)を減少することが可能である。
ここで、実施例1に係るバックアップ装置は、バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を割り当てる。例えば、このバックアップ装置は、「1:00」および「4:00」にバックアップを実行する指示を受付けると、図3の(4)や(5)に示すように、「1:00」および「4:00」それぞれについて作成されるスナップショット毎に、それぞれ所定の記憶領域を割り当てる。
なお、図3の(4)や(5)では、コピー元ボリューム内における更新されたデータが位置する箇所を示す便宜上、割り当てられる所定の記憶容量の大きさと、コピー元ボリュームの大きさとを、同じ大きさとして記載している。しかし本発明はこれに限定されるものではなく、[前提技術]にて記載したように、SnapOPCを実行するバックアップ装置は、一般的に、更新処理が行われた箇所における更新前のデータのみを格納するため、コピー元ボリュームの大きさよりも小さい容量を、所定の記憶容量として割り当てる。
そして、実施例1に係るバックアップ装置は、バックアップを実行する指示によって示される時点より後にコピー元ボリュームが更新されると、指示によって示される直前の時点における当該更新が行われた箇所に対応するコピー元ボリュームが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として割り当てられた記憶領域に格納されているかを確認する。
例えば、図3の「4:00」と「5:00」とにおけるコピー元ボリュームに示すように、「6:00」に、コピー元ボリュームの「C」において更新処理が行われた場合について説明する。バックアップを行う時点の内、当該更新処理が行われた「5:00」の直前に行われている時点は、「4:00」である。ここで、実施例1に係るバックアップ装置は、図3の(6)に示すように、当該「4:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(5)に示す記憶領域)に、当該「4:00」におけるコピー元ボリュームの「C」におけるデータを格納していないと確認する。
そして、実施例1に係るバックアップ装置は、格納されていないと確認されると、更新が行われた箇所に対応する更新直前のコピー元ボリュームを、最新のスナップショットを格納する記憶領域にのみ格納する。例えば、このバックアップ装置は、図3の(7)に示すように、コピー元ボリュームの「C」における更新直前のコピー元ボリュームを、最新のスナップショットを格納する記憶領域である「4:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(5)に示す記憶領域)にのみ格納する。
一方、例えば、図3の「5:00」と「6:00」とにおけるコピー元ボリュームに示すように、「5:00」に、コピー元ボリュームの「B」および「C」において再度更新処理が行われた場合について説明する。実施例1に係るバックアップ装置は、図3の(8)に示すように、コピー元ボリュームの「C」における更新直前のコピー元ボリュームを、「4:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(3)に示す記憶領域)に既に格納しているので、当該「4:00」におけるコピー元ボリュームの「C」におけるデータを格納したと確認し、当該「4:00」におけるコピー元ボリュームの「B」におけるデータを格納していないと確認する。そして、このバックアップ装置は、図3の(9)に示すように、格納していないと確認した当該「4:00」におけるコピー元ボリュームの「B」におけるデータのみを、「4:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(5)に示す記憶領域)にのみ格納する。
ここで、さらに、実施例1に係るバックアップ装置による格納処理について説明する。なお、以下の説明では、図3の(10)に示すように、実施例1に係るバックアップ装置は、「1:00」の時点について作成されるスナップショットを格納する所定の記憶領域に、コピー元ボリュームの「D」におけるデータのみ格納したものとして説明する。
ここで、従来のSnapOPCを実行するバックアップ装置は、[前提技術]において上述したように、更新が行われた箇所に対応する更新直前のコピー元ボリュームを、当該箇所に対応する更新直前のコピー元ボリュームを格納していない記憶領域各々に対して格納する。例えば、図3の「5:00」において行われた更新処理を例に説明すると、コピー元ボリュームの「C」における更新直前のコピー元ボリュームを、「4:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(5)に示す記憶領域)だけでなく、「1:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(4)に示す記憶領域)にも格納する。
これに対して、実施例1に係るバックアップ装置は、図3の(11)に示すように、コピー元ボリュームの「B」や「C」における更新直前のコピー元ボリュームを、「1:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(4)に示す記憶領域)に、当該コピー元ボリュームの「B」や「C」における更新直前のコピー元ボリュームが格納されていなくても、格納しない。
このようなことから、実施例1に係るバックアップ装置は、上記した主たる特徴の如く、スナップショットを作成する際に、コピー元ボリュームから記憶領域へと格納されるデータの転送量を減少することが可能である。
[バックアップ装置の構成]
次に、図4〜図14を用いて、図3に示したバックアップ装置の構成を説明する。なお、図4は、実施例1に係るバックアップ装置の構成を説明するためのブロック図である。図5は、実施例1におけるDiskを説明するための図である。図6は、実施例1におけるビットマップテーブルを説明するための図である。図7は、実施例1における世代管理テーブルを説明するための図である。図8は、実施例1におけるSDV管理テーブルを説明するための図である。図9は、実施例1における制御部を説明するための図である。図10は、実施例1における格納部を説明するための図である。図11は、実施例1における読出部を説明するための図である。図12は、実施例1における変更前格納部を説明するための図である。図13は、実施例1における変更前格納部による格納パターンの一例を説明するための図である。図14は、実施例1における変更前格納部による格納パターンの一例を説明するための図である。
ここで、図4に示すように、このバックアップ装置20は、CA100(Channel Adapter)と、CM300(Centralized Module)と、Disk200とから構成され、CA100を介してHost10と接続している。
ここで、Host10は、オペレータによって使用される装置であり、例えば、このバックアップ装置20を管理するユーザによって使用されるコンピュータ端末などが該当し、後述するCA100を経由して、バックアップ装置20に、スナップショット作成する旨の指示を送信する。
CA100は、Host10とのI/F制御部であり、Host10との間における情報の送受信を制御する。具体的には、Host10から、スナップショット作成する旨の指示を受信する処理を制御し、当該指示に対する応答をHost10に送信する処理を制御する。
Disk200は、バックアップ処理に必要なデータを記憶する記憶媒体であり、特に本発明に密接に関連するものとしては、スナップショット記憶部201と、当該スナップショット記憶部201内に、論理―物理変換テーブル202を備える。例えば、HDD(Hard Disk drive、ハードディスクドライブ)や、光磁気ディスク(Magneto Optical Disk、MOディスク)などのディスク装置等が該当する。なお、Disk200は、情報を記憶する記憶装置であればよく、「ディスク」を有する記憶装置に限定されるものではない。
また、Disk200は、バックアップ対象となるコピー元ボリュームを記憶する。なお、本発明は、バックアップ装置20内のDisk200に、バックアップ対象となるコピー元ボリュームを記憶する場合に限られるものではなく、例えば、ネットワークを経由して、コピー元ボリュームを記憶している記憶装置などに接続していてもよい。
スナップショット記憶部201は、バックアップを実行する時点における元データを示すスナップショットを記憶する。具体的には、スナップショット記憶部201は、後述する格納部333の指示によって、スナップショットとしてデータが格納され、後述する読出部336によって、記憶しているスナップショットのデータが読み出され、後述する変更前格納部339によって、記憶しているスナップショットのデータが変更される。
また、スナップショット記憶部201は、図5の(1)に示すように、バックアップを実行する時点各々について、当該指示によって示される時点それぞれに後述する割り当て部331によって割り当てられた記憶領域それぞれに、当該指示によって示される時点について作成されるスナップショットを記憶している。
例えば、図5の(1)に示す例では、スナップショット記憶部201は、第1世代(例えば、「1:00」の時点における)のスナップショットを記憶する記憶領域として、図5の(A)に示す記憶領域が、後述する割り当て部331によって割り当てられ、当該記憶領域に、第1世代のスナップショットを記憶する。
また、スナップショット記憶部201は、図5の(1)に示すように、後述する割り当て部331によって割り当てられた記憶領域それぞれに、当該記憶領域内に、当該指示によって示される時点について作成されるスナップショットに関する論理―物理変換テーブル202を記憶する。
例えば、スナップショット記憶部201は、図5の(1)に示す例では、図5の(A)に示す記憶領域の内、第1世代のスナップショットを構成するデータを記憶している領域の後に、第1世代のスナップショットに関する論理―物理変換テーブル202を記憶する。
論理―物理変換テーブル202は、コピー元ボリュームにおける箇所を特定する論理アドレスと、当該論理アドレスにおけるデータが格納されているDisk200内の箇所を示す物理アドレスとを対応付けて、スナップショットが作成される時点各々について記憶するテーブルである。具体的には、論理―物理変換テーブル202は、後述する格納部333によって、論理アドレスと物理アドレスとの対応付けを格納される。
例えば、論理―物理変換テーブル202は、図5の(2)に示すように、スナップショットが作成される世代ごとに、コピー元ボリュームに更新が行われてデータを格納した箇所各々について、物理アドレスを記憶する。なお、図5の(2)に示す論理―物理変換テーブル202は、コピー元ボリュームにおけるすべての箇所を、「bit」と「byte」との組み合わせにて示した論理―物理変換テーブル202であり、ここでは、第1世代のスナップショットに関するものであるとして説明する。例えば、図5の(2)に示す例では、論理―物理変換テーブル202は、コピー元ボリュームにおいてbit「0」byte「1」にて示される箇所における更新前のデータを、第1世代のスナップショットを格納する記憶領域において、物理アドレス「200」にてしめされる箇所に記憶していることを示す。
ここで、論理―物理変換テーブル202について、さらに説明をする。このバックアップ装置20は、コピー元ボリュームから、更新が行われる箇所におけるデータのみを、スナップショットとして格納するため、スナップショットを作成する時点各々について割り当てる記憶容量は、コピー元ボリュームの容量よりも小さい。このため、このバックアップ装置20は、コピー元データにおける箇所を反映させて割り当てられた記憶領域内の箇所に、更新が行われる箇所におけるデータを格納するのではなく、実際に格納された物理アドレスと、コピー元データにおける箇所を示す論理アドレスとの対応付けを記憶するものである。
なお、この対応付けは、例えば、論理―物理変換テーブル202の先頭エントリからのオフセット位置を論理アドレスと対応付け、論理―物理変換テーブル202は、物理アドレスのみを保持する手法を採用してもよい。
CM300は、OS(Operating System)などの制御プログラム、バックアップの処理手順などを規定したプログラムおよび所要データを格納するための記憶部320を有し、これらによって種々のバックアップ処理を実行する処理部であり、CM300は、特に本発明に密接に関連するものとしては、制御部330と、記憶部320と、DA310(Disk Adapter)とを備える。
なお、このバックアップ装置20は、一つまたは複数のCM300を備え、CM300それぞれは、担当する一つまたは複数のDisk200を有する。CM300は、担当するDisk200(担当するDisk200に格納されているスナップショット記憶部201)に記憶されているスナップショットについて、処理を行う。
DA310は、ディスクとのI/F制御部であり、Disk200との間における情報の送受信を制御する。例えば、後述する格納部333の指示に従って、Disk200に、スナップショットのデータを格納する処理を制御し、後述する読出部336の指示に従って、Disk200からスナップショットを読み出す処理を制御する。
記憶部320は、バックアップ処理に必要なデータを格納するための記憶媒体であり、例えば、キャッシュなどが該当する。図4に示すように、特に本発明に密接に関連するものとしては、ビットマップテーブル321と、世代管理テーブル322と、SDV管理テーブル323とから構成される。
ビットマップテーブル321は、後述する格納部333によってスナップショット記憶部201に格納されたデータのコピー元ボリュームにおける箇所(更新箇所)を記憶する。具体的には、後述する格納部333によって、データがスナップショット記憶部201に格納されると、後述する格納部333によって、更新箇所が入力され、ビットマップテーブル321は、コピー元ボリュームの更新箇所をビット制御で記憶する。
例えば、図6の(2)に示すように、コピー元ボリュームにおけるすべての箇所を、「bit」と「byte」との組み合わせにて管理し、データが格納された箇所(コピー元ボリュームに更新が行われた箇所)に対応付けて、「0」と記憶し、データが格納されていない箇所(コピー元ボリュームに更新が行われていない箇所)に対応付けて、「1」と記憶する。このビットマップテーブル321は、スナップショットが作成される時点ごとに、ビットマップテーブル321を記憶する。
例えば、図6の(1)に示す例では、ビットマップテーブル321は、スナップショットが作成される時点を示す「世代1」、「世代2」および「世代3」それぞれについてビットマップを記憶し、図6の(1)の「WriteI/O」に示すように、更新が行われるごとに、後述する格納部333によって、当該更新が行われた更新箇所を示す「bit」と「byte」との組み合わせについて、「1」を「0」に変更される。
世代管理テーブル322は、ビットマップが作成される時点を示す情報(セッション情報)を記憶する。例えば、図7に示すように、ビットマップが作成される時点を、他の時点から識別する情報である「世代」と対応付けて、当該時点をしめす「採取時刻」とを記憶する。例えば、図7に示す例では、世代「1」と対応付けて、採取時刻「1:00」を記憶する。
ここで、この世代管理テーブル322についてさらに説明すると、このバックアップ装置20は、後述する格納部333によってデータを格納する処理を行う際や、後述する変更前格納部339によってデータが格納される処理を行う際などに、当該スナップショットに世代を一意に識別する必要があり、世代管理テーブル322は、これらの処理を行う際に、世代を一意に識別するために用いられる。例えば、スナップショットを格納する際に、この世代管理テーブル322に記憶されている「世代」を確認することによって、最新の世代がどれかを確認する。
なお、実施例1では、世代管理テーブル322を用いる場合について説明するが、本発明の実施はこれに限定されるものではなく、例えば、記憶領域各々に対応付けて「世代」を記憶させることにより、このバックアップ装置20が、世代を一意に識別し、最新の世代を識別してもよい。
SDV管理テーブル323は、スナップショットを格納する記憶領域として割り当てられた記憶領域を管理する情報を、スナップショットを作成する時点ごとに記憶する。具体的には、SDV管理テーブル323は、管理する情報として、当該時点ごとに、割り当てられた記憶領域について使用された容量(または、残り容量)や、データを当該記憶領域に格納する際に、当該記憶領域におけるデータを格納する箇所を把握する情報を記憶する。
例えば、図8に示すように、SDV管理テーブル323は、世代各々に対応付けて、割り当てた記憶領域の容量(当該記憶領域を割り当てる際に、Disk200において使用された使用量)を示す「使用量(解像度)」と、記憶領域が割り当てられたDisk200において、当該記憶領域の開始アドレスを示す「開始物理アドレス」と、記憶領域においてデータを格納したアドレス(記憶領域内のアドレスの内、データを格納して使用されているアドレス)を示す「現在使用済みLBA(Logical Block Address)」とを記憶する。
例えば、図8の例では、「第1世代SDV」と対応付けて、使用量「5G」と、開始アドレス「200」と、現在使用済みLBA「200、210、…」とを記憶する。なお、SDV(Snap Date Volume)とは、後述する割り当て部331によって割り当てられた記憶領域を示す。
制御部330は、図4に示すように、特に本発明に密接に関連するものとしては、割り当て部331と、確認部332と、格納部333と、読出受付部334と、読出判別部335と、読出部336と、変更受付部337と、変更判別部338と、変更前格納部339とから構成される。
なお、ここで、割り当て部331は、特許請求の範囲に記載の「割り当て手段」に対応する。確認部332は、特許請求の範囲に記載の「確認手段」に対応する。格納部333は、特許請求の範囲に記載の「格納手段」に対応する。読出受付部334は、特許請求の範囲に記載の「読出受付手段」に対応する。読出判別部335は、特許請求の範囲に記載の「第1の読出判別手段」と「第2の読出判別手段」とに対応する。読出部336は、特許請求の範囲に記載の「読出手段」に対応する。変更受付部337は、特許請求の範囲に記載の「変更受付手段」に対応する。変更判別部338は、特許請求の範囲に記載の「第1の変更判別手段」と「第2の変更判別手段」と「第3の変更判別手段」とに対応する。変更前格納部339は、特許請求の範囲に記載の「第1の変更前格納手段」と「第2の変更前格納手段」とに対応する。
なお、制御部330を構成する各部を説明する際には、適宜、図9を参照して説明を行う。ここで、図9の(A)は、コピー元ボリュームを構成するデータについて、当該データの位置と内容とを概念的に示すものであり、具体的には、パターンがデータの内容を示す。このため、例えば、同じ箇所においてパターンが異なる場合には、当該箇所において、データの更新があったことを示す。また、図9の(B)は、「1:00」や「2:00」、「3:00」などの時点におけるスナップショットとして記憶されるコピー先ボリュームを示すものである。
また、図9に示したコピー元ボリュームとコピー先ボリュームとには、説明の便宜上、4つの箇所があるものとして説明する。例えば、コピー元ボリュームとコピー先ボリュームとには、「A」と「B」と「C」と「D」という4つの箇所があるものとして説明する。
具体的な一例をあげて説明すると、図9の(A)と(B)とに示すように、「1:00」から「2:00」までの間に、コピー元ボリュームの箇所である「A」と「C」とに更新が行われ、「1:00」の時点について作成されるスナップショットとして、「A」と「C」とにおける当該更新前のデータが格納されている。
割り当て部331は、バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる。具体的には、割り当て部331は、指示によって示される時点を識別する情報である識別情報に対応付けて、当該時点について作成されるスナップショットを格納する記憶領域を割り当てる。
例えば、割り当て部331は、Host10から、「1:00」と「2:00」と「3:00」とにバックアップを実行する旨の指示を受付けると、それぞれ、「第1世代」と「第2世代」と「第3世代」という識別情報に対応付けて、記憶領域をそれぞれ5Gバイト割り当てる。
また、例えば、割り当て部331は、その後、Host10から、「4:00」に、今の時点(指示を行った時点)におけるコピー元ボリュームのバックアップを実行する旨の指示を受付けると、「第4世代」という識別情報に対応付けて、記憶領域をそれぞれ5Gバイト割り当てる。
確認部332は、指示によって示される時点より後にコピー元ボリュームが更新されると、当該指示によって示される直前の時点における当該更新が行われた箇所に対応するコピー元ボリュームが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として割り当て部331によって割り当てられた記憶領域に格納されているかを確認する。
例えば、確認部332は、コピー元ボリュームに対して更新要求があると、最新世代のビットマップテーブル321を確認する。つまり、例えば、図9に示す例では、「5:50」の時点において、コピー元ボリュームの「B」と「D」とに更新が行われると、確認部332は、「5:00」の時点におけるスナップショットについてのビットマップテーブル321を確認する。
つまり、確認部332は、「5:00」の時点におけるスナップショットとして、「B」と「D」とについての更新前のデータが格納されているかを確認する。具体的な一例をあげて説明すると、確認部332は、「5:00」の時点におけるスナップショットについてのビットマップテーブル321に、「B」と「D」とに更新があった旨の情報が記憶されているか、されていないかを確認する。
なお、ここで、例えば、「5:00」以降「5:50」より前に、「「B」と「D」とに更新があり、「5:00」についてのスナップショットとして、「B」と「D」とについての更新前のデータが既に格納されている場合には、格納部333は、格納されていると確認する。一方、例えば、「5:00」以降「5:50」より前に、「B」と「D」とに更新がなく、「B」と「D」とについて、「5:50」に行われた更新が「5:00」以降初めて行われた更新である場合には、「5:00」についてのスナップショットとして、「B」と「D」とについての更新前のデータが既に格納されておらず、確認部332は、格納されていないと確認する。
格納部333は、確認部332によって格納されていないと確認されると、更新が行われた箇所に対応する更新直前の元データを、図10に示すように、最新のスナップショットを格納する記憶領域にのみ格納する。具体的には、格納部333は、更新が行われた箇所を示す位置情報と当該位置情報で示される箇所における更新直前の元データとを対応付けて、指示によって示される直前の時点を識別する識別情報に対応付けられた記憶領域に格納する。
なお、格納部333は、更新が行われる前に、当該更新が行われる箇所に対応する更新直前の元データを格納してもよい。
例えば、図10に示す例では、更新が行われた時点において、「世代1」と「世代2」と「世代3」とについて、スナップショットを作成している場合に、格納部333は、確認部332によって更新直前の元データを格納していないと確認されると、更新直前の元データを、図10の「(3)」に示すように、最新の時点である「世代3」についてのスナップショット記憶部201内の記憶領域にのみ、格納する。
具体的な一例をあげて説明すると、格納部333は、確認部332によって格納済みでないと確認されると、最新世代の記憶領域を担当するCM300に通信し、最新世代に割り当てられた記憶領域から容量を獲得する。つまり、例えば、図9に示す例では、「5:50」の時点において、更新がされると、最新の世代である「第5世代」を格納する記憶領域から、更新直前の元データを格納する記憶領域を取得(確保)する。
また、例えば、格納部333は、更新前データを格納する。つまり、例えば、図9に示す例では、「5:50」の時点において、「B」と「D」とに更新がされると、「B」と「D」とにおける更新直前の元データを、「第5世代」を格納する記憶領域から取得した記憶領域に格納する。
また、格納部333は、更新前データを格納すると、ビットマップテーブル321を「更新済み」に変更する。つまり、例えば、図9に示す例では、「B」と「D」とにおける更新直前の元データを格納すると、第5世代に関するビットマップテーブル321において、当該「B」と「D」とについて、「更新が行われた(更新あり)」旨の情報に変更する。具体的な一例をあげて説明すると、格納部333は、第5世代に関するビットマップテーブル321において、当該「B」と「D」とを示す位置の情報を、「1」から「0」に変更する。
変更部(図4には図示していない)は、コピー元ボリュームに対する更新を実行する。つまり、例えば、コピー元ボリュームに最新のデータを書き込む。そして、更新要求(例えば、Host10から送信された情報であって、コピー元ボリュームに対して変更を実行する旨の情報)に対して、応答する。例えば、変更部は、更新を行う指示を受付けると、更新を行う箇所について、格納部333によって、ビットマップテーブル321を「更新済み」に変更され、または、更新を行う箇所について、確認部332によって、格納済みであると確認されると、受付けた更新を実行する。
読出受付部334は、スナップショットからデータを読み出す旨の情報と識別情報と位置情報とを受付ける。例えば、読出受付部334は、Host10から送信された情報として、スナップショットからデータを読み出す旨の情報と、識別情報「第3世代」と、位置情報「A」、「B」および「C」とを受付ける。
読出判別部335は、読出受付部334によって受付けられた識別情報に対応付けられた記憶領域に、受付けられた位置情報に対応付けられた元データが格納されているかを判別する。具体的には、読出判別部335は、受付けられた識別情報に対応付けられた記憶領域に格納するスナップショットに関するビットマップテーブル321を確認し、受付けられた位置情報に対応付けられた元データが格納されているかを判別する。
例えば、読出受付部334によって、識別情報「第3世代」と、位置情報「A」、「B」および「C」とが受付けられた場合に、読出判別部335は、第3世代のビットマップテーブル321を確認し、「A」、「B」および「C」に対応付けられた情報が、「1」(未格納)か「0」(格納済み)かを確認する。図9の「第3世代」に示すコピー先ボリュームを用いて説明すると、読出受付部334は、位置情報「A」および「B」について、格納されていないと判別し、位置情報「C」について、格納されていると判別する。
また、読出判別部335は、読出受付部334によって受付けられた識別情報に対応付けられた記憶領域に格納されていないと判別された場合に、読出受付部334によって受付けられた識別情報によって識別される時点と比較して、時間が経過した後の時点を示す当該識別情報に対応付けられた記憶領域に、受付けられた位置情報に対応付けられた元データが格納されているかを判別する。
例えば、読出判別部335は、識別情報「第3世代」について、位置情報「A」および「B」について格納されていないと判別した場合に、「第3世代」と比較して、時間が経過した後の時点を示す「第4世代」および「第5世代」について、ビットマップテーブル321を確認し、「A」および「B」に対応付けられる情報が、「1」(未格納)か「0」(格納済み)かを確認する。図9の「第4世代」および「第5世代」に示すコピー先ボリュームを用いて説明すると、読出受付部334は、位置情報「A」について、格納されていないと判別し、位置情報「B」について、「第4世代」と「第5世代」とに格納されていると判別する。
読出部336は、読出受付部334によって格納されていると判別された場合には、受付けられた位置情報に対応付けられた元データを、読出受付部334によって格納されていると判別された記憶領域から読み出す(取得する)。例えば、読出受付部334によって、識別情報「第3世代」と位置情報「C」とが受付けられ、読出判別部335によって「第3世代」に格納されていると判別された場合には、読出部336は、読出し要求を受付けた世代である「第3世代」を選択し、選択した世代(「第3世代」)から、位置情報「C」に対応付けられた元データを読み出す。
具体的な一例をあげて説明すると、読出部336は、第3世代のスナップショットを格納しているスナップショット記憶部201の記憶領域にアクセスし、当該記憶領域の最後に記憶されている論理―物理変換テーブル202から、位置情報「C」(論理アドレス)に対応する物理アドレスを取得し、当該取得した物理アドレスに格納されている元データを読み出す。
また、読出部336は、読出判別部335によって格納されていると判別された記憶領域が複数ある場合に、読出受付部334によって受付けられた識別情報によって識別される時点に、最も近い時点を識別する識別情報に対応付けられた当該記憶領域から、受付けられた位置情報に対応付けられた元データを読み出す。
例えば、識別情報「第3世代」と位置情報「B」とが受付けられ、読出判別部335によって「第4世代」と「第5世代」とに格納されていると判別された場合には、読出部336は、「第4世代」と「第5世代」の内、受付けられた識別情報「第3世代」に最も近い世代である「第4世代」を選択し、「第4世代」の位置情報「B」に対応付けられた元データを読み出す。
また、読出部336は、読出判別部335によって格納されていないと判別された場合には、受付けられた位置情報によって示される箇所におけるデータを、現時点における元データから読み出す。例えば、識別情報「第3世代」と位置情報「A」とが受付けられ、読出判別部335によって格納されていないと判別された場合には、図9に示す例を用いて説明すると、現時点である「6:00」におけるコピー元ボリュームから、位置情報「A」に対応付けられた元データを読み出す。
ここで、読出部336による処理ついてさらに説明すると、図11に示すように、このバックアップ装置20は、例えば、「世代1」のスナップショットについてデータを読み出す旨の情報を受付けると、まず、読み出す箇所におけるデータが、「世代1」についてのスナップショットを記憶する記憶領域に格納されているかを確認する。ここで、このバックアップ装置20は、更新前のデータを、最新側の世代にのみ格納する。このため、このバックアップ装置20では、読出部336が、「世代1」に格納されていない場合には、最新側の世代に格納されているかを確認し、格納されている場合には、当該世代(例えば、図11の「(3)」に示す例では「世代2」)から、データを読み出す。また、最新側の世代いずれにも、読み出す箇所におけるデータが格納されていない場合には、このバックアップ装置20では、読出部336が、当該箇所において、一度も更新処理が行われていないということであり、今の時点(例えば、読み出す旨の情報を受付けた時点)のコピー元ボリュームにおける読み出す箇所のデータを、読み出す。
変更受付部337は、スナップショットに変更を行う旨を示す情報、当該変更を行うスナップショットが格納された記憶領域を示す識別情報、および、当該変更を行う箇所を示す位置情報を受付ける。例えば、変更受付部337は、Host10から、スナップショットのデータを変更する旨の情報と、識別情報「第3世代」と、位置情報「A」、「B」、「C」および「D」とを受付ける。
変更判別部338は、変更受付部337によって受付けられた識別情報に対応付けられた記憶領域に、受付けられた位置情報に対応付けられた元データが格納されているかを判別する。例えば、図9の例を用いて説明すると、変更受付部337によって、識別情報「第3世代」と、位置情報「B」と「C」とが受付けられると、変更判別部338は、位置情報「B」については、受付けられた識別情報「第3世代」に対応付けられた記憶領域に、格納されていないと判別し、「C」については、格納されていると判別する。
また、変更判別部338は、変更受付部337によって受付けられた識別情報によって識別される時点と比較して前の時点を示す識別情報に対応付けられた記憶領域に、受付けられた位置情報に対応付けられた元データが格納されているかを判別する。
例えば、図9の例を用いて説明すると、変更受付部337によって、識別情報「第3世代」と、位置情報「B」と「C」とが受付けられると、変更判別部338は、位置情報「B」については、「第3世代」より前の世代である「第2世代」にデータが格納されていないと判別し、「C」については、「第3世代」より前の世代である「第2世代」にデータが格納されていると判別する。
また、変更判別部338は、変更受付部337によって受付けられた識別情報によって識別される時点と比較して時間が経過した後の時点を示す識別情報に対応付けられた記憶領域に、受付けられた位置情報に対応付けられた元データが格納されているかを判別する。
例えば、図9の例を用いて説明すると、変更受付部337によって、識別情報「第3世代」と、位置情報「A」と「B」とが受付けられると、変更判別部338は、位置情報「A」については、「第3世代」より後の世代にデータが格納されていないと判別し、位置情報「B」については、「第3世代」より後の世代「第4世代」にデータが格納されていると判別する。
変更前格納部339は、変更判別部338による判別結果に基づいて、受付けられた識別情報に対応付けられた記憶領域および/または当該識別情報の直前の時点を示す識別情報に対応付けられた記憶領域に、データを格納する。具体的には、変更前格納部339は、変更受付部337によって受付けられた位置情報によって示される箇所の現時点における元データを格納する。または、変更前格納部339は、変更受付部337によって受付けられた識別情報よりも後の時点を示す識別情報に対応付けられた記憶領域に格納されているデータであって受付けられた位置情報によって示される箇所の元データを格納し、または、変更前格納部339は、変更受付部337によって受付けられた識別情報に対応付けられた記憶領域に格納されているデータであって受付けられた位置情報によって示される箇所の元データを格納する。
例えば、変更前格納部339は、図12に示すように、「世代1」、「世代2」および「世代3」についてのスナップショットが記憶されており、「世代2」に対して変更要求がきた場合に、変更要求を受付けた箇所におけるデータを、「世代1」が記憶していない際には、変更前格納部339は、「世代2」についてのスナップショットとして記憶している当該箇所におけるデータを、「世代1」に退避(格納)する。
ここで、変更前格納部339による動作の意義について説明する。このバックアップ装置20は、コピー元ボリュームに更新があった場合に、当該更新前のデータを、最新側の世代のスナップショットを格納する記憶領域にのみ、格納する。そして、例えば、このバックアップ装置20は、第X世代について、位置「Y」について読み出す際には、上述したように、まず、第X世代についてのスナップショットに、位置「Y」に対応付けられたデータが格納されているかどうかを確認し、格納されていない場合には、最新側の世代(または、読出し時点におけるコピー元ボリューム)から、位置「Y」に対応付けられたデータを取得し、第X世代における位置「Y」に対応付けられたデータとして読み出す。
このため、このバックアップ装置20が、「第Z世代」についてのスナップショットのデータを変更すると、この変更による影響は「第Z世代」についてだけにとどまらず、その後、「第Z世代」におけるデータを取得して、自己の世代のデータとして読み出す(読み出したい)他の世代に対しても影響を与えることになる。
このため、このバックアップ装置20では、変更前格納部339が、変更判別部338による判別結果と、図13に示すような予め用意するテーブル、または、予め保持するアルゴリズム等とを用いて決定される動作を実行することにより、例えば、「第Z世代」についてのスナップショットのデータを変更したとしても、この変更による影響が、他の世代についてのスナップショットに及ばないように動作するものである。
さらに具体的な一例をあげて、変更前格納部339による動作について説明すると、図13に示すように、変更前格納部339は変更判別部338によって得られた判別結果を、当該テーブルに代入し、得られた動作パタ−ンに基づいて処理を行う。例えば、図14を用いて、図13の「4」に示す例について説明する。ここで、図14の(B)に示すように、「第4世代」における「A」についてのスナップショットについて変更が行われる指示を受付けた場合について説明する。また、図14の(B)に示すように、受付けた「第4世代」、「第4世代」の後の世代である「第5世代」、「第4世代」の直前の世代である「第3世代」には、「A」に対応付けられた元データが格納されていない(未転送)であるものとして説明する。
ここで、変更前格納部339は、図14の(C)に示すように、「第4世代」に、現時点(例えば、「6:00」の時点)におけるコピーボリュームの「A」のデータを転送する。また、変更前格納部339は、「第4世代」の直前の世代である「第3世代」に、現時点(例えば、「6:00」の時点)におけるコピーボリュームの「A」のデータを転送する。そして、図14の(D)に示すように、受付けた変更を実行する。具体的な一例をあげて説明すると、変更部(図4には図示していない)が、変更受付部337によって受付けられた識別情報に対応付けられた記憶領域において、受付けられた位置情報に対応付けて格納されている元データを、受付けられた情報に基づき変更する。
なお、図18を用いて後述する「実施例1に係るバックアップ装置20による変更前格納処理の一例」は、図13に示した実施例1における変更前格納部339による格納パターンの一例を説明するものであり、実施例1に係るバックアップ装置20の構成において説明していない動作パターンの一例については、後述する「実施例1に係るバックアップ装置20による変更前格納処理の一例」において、図18を用いて説明するため、ここでは説明を省略する。
なお、このバックアップ装置20は、既知のパーソナルコンピュータ、ワークステーション、携帯電話、PHS端末、移動体通信端末またはPDA310などの情報処理装置に、上記した制御部330および記憶部320の各機能を搭載することによって実現することもできる。
[バックアップ装置による割り当て処理]
次に、図15を用いて、実施例1に係るバックアップ装置20による割り当て処理の一例を説明する。なお、図15は、実施例1に係るバックアップ装置20による割り当て処理の一例を説明するためのフローチャートである。
図15に示すように、割り当て部331は、バックアップを実行する指示を受付けると(ステップS101肯定)、例えば、Host10から、「1:00」と「2:00」と「3:00」とにバックアップを実行する旨の指示を受付けると、記憶領域を、当該指示によって示される時点それぞれに割り当てる(ステップS102)。例えば、受付けた「1:00」と「2:00」と「3:00」とに、記憶領域をそれぞれ5Gバイト割り当てる。
[バックアップ装置による格納処理]
次に、図16を用いて、実施例1に係るバックアップ装置20による格納処理の一例を説明する。なお、図16は、実施例1に係るバックアップ装置20による格納処理の一例を説明するためのフローチャートである。
図16に示すように、確認部332は、更新要求があると(ステップS201肯定)、つまり、例えば、指示によって示される時点より後にコピー元ボリュームが更新され、または、例えば、Host10から更新指示を受信すると、最新世代のビットマップテーブル321を確認する(ステップS202)。つまり、当該指示に対応するデータが、直前の時点についての記憶領域に格納されているかを確認する。
そして、格納部333は、確認部332によって格納済みでないと確認されると(ステップS203否定)、最新世代の記憶領域を担当するCM300に通信し(ステップS204)、最新世代に割り当てられた記憶領域から容量を獲得する(ステップS205)。その後、格納部333は、更新前データを格納する(ステップS206)。つまり、格納部333は、更新が行われた箇所に対応する更新直前の元データを、最新のスナップショットを格納する記憶領域にのみ格納する。
そして、格納部333は、ビットマップテーブル321を「格納済み」に変更する(ステップS207)。例えば、格納部333は、ビットマップテーブル321において、更新が行われた箇所に対応する情報を、「1」から「0」に変更する。
そして、変更部は、コピー元ボリュームに最新のデータを書き込む(ステップS208)。そして、更新要求に対して、応答する(ステップS209)。また、格納部333は、同様に、上記したステップS203において、確認部332によって格納済みであると確認されると(ステップS203肯定)、コピー元ボリュームに最新のデータを書き込む(ステップS208)。そして、更新要求に対して、応答する(ステップS209)。
[バックアップ装置による読出し処理]
次に、図17を用いて、実施例1に係るバックアップ装置20による読出し処理の一例を説明する。なお、図17は、実施例1に係るバックアップ装置20による読出し処理の一例を説明するためのフローチャートである。
図17に示すように、リード要求があると(ステップS301肯定)、つまり、読出受付部334が、スナップショットからデータを読み出す旨の情報と識別情報と位置情報とを受付けると、読出判別部335は、リード要求を受けた世代について、ビットマップテーブル321を確認する(ステップS302)。つまり、読出判別部335は、読出受付部334によって受付けられた識別情報に対応付けられた記憶領域に、受付けられた位置情報に対応付けられた元データが格納されているかを判別する。
そして、読出部336は、読出判別部335によって格納済みであると判別されると(ステップS303肯定)、リード要求を受けた世代を選択する(ステップS304)。つまり、読出受付部334によって受付けられた識別情報を選択する。
一方、読出判別部335は、格納済みではないと判別すると(ステップS303否定)最新世代側のビットマップテーブル321を確認する(ステップS305)。例えば、読出判別部335は、受付けられた識別情報が「第3世代」である場合に「第3世代」と比較して、時間が経過した後の時点を示す「第4世代」および「第5世代」について、ビットマップテーブル321を確認する。
そして、読出部336は、読出判別部335によって格納済みであると判別されると(ステップS306肯定)、格納されていると判別された最新世代側の最寄りの世代を選択する(ステップS307)。
そして、読出部336は、選択した世代からデータを取得する(ステップS308)。例えば、選択した世代が「第3世代」であり、位置情報が「C」である場合には、読出部336は、「第3世代」の位置情報「C」に対応付けられた元データを読み出す。
一方、読出部336は、読出判別部335によって格納済みでないと判別されると(ステップS306否定)、コピー元ボリュームからデータを取得する(ステップS309)。例えば、読み出すデータの箇所を示す位置情報が「C」であり、現時点が「6:00」である場合に、読出部336は、「6:00」におけるコピー元ボリュームから、位置情報「C」に対応付けられた元データを読み出す。
[バックアップ装置20による変更前格納処理]
次に、図18を用いて、実施例1に係るバックアップ装置20による変更前格納処理の一例を説明する。なお、図18は、実施例1に係るバックアップ装置20による変更前格納処理の一例を説明するためのフローチャートである。図18の文言においては、変更を行うスナップショットを示す識別情報を、「B世代(要求世代B)」とし、「B世代」の直前の世代を「A世代」とし、「B世代」の後の世代を「C世代(最新側世代C)」とし、現時点におけるコピー元ボリュームを、コピー元ボリューム「S」として記載する。
図18に示すように、変更(Write要求)を受付けると(ステップS401肯定)、つまり、変更受付部337によって、スナップショットに変更を行う旨を示す情報、識別情報(世代Bを示す)、および、位置情報が受付けられると、変更判別部338は、要求世代Bに元データが格納されているか否かを判別する(ステップS402)。
そして、変更判別部338は、要求世代Bに元データが格納されていると判別すると(ステップS403肯定)、前世代Aに元データが格納されているか否かを判別する(ステップS404)。
ここで、変更判別部338によって、前世代Aに元データが格納されていると判別されると(ステップS405肯定)、変更部は、要求世代Bの変更を行う(ステップS406)。例えば、受付けた変更を行う旨を示す情報に従って、変更を実行する。
一方、上記したステップS405において、変更判別部338によって、前世代Aに元データが格納されていないと判別されると(ステップS405否定)、変更前格納部339は、要求世代Bの元データを前世代Aに格納する(ステップS407)、具体的には、変更前格納部339は、受付けられた位置情報によって示される箇所に対して変更が実行される前に、格納されていないと判別された前世代Aの記憶領域に、受付けられた位置情報に対応付けられた元データを、世代Bの記憶領域から読み出して格納する。
そして、変更部は、要求世代Bの変更を行う(ステップS408)。
また、上記したステップS403において、変更判別部338は、要求世代Bに元データが格納されていないと判別すると(ステップS403否定)、最新側世代Cに元データが格納されているか否かを判別する(ステップS409)。
ここで、変更判別部338によって、最新側世代Cに元データが格納されていると判別されると(ステップS410肯定)、変更前格納部339は、最新側世代Cの元データを要求世代Bに格納する(ステップS411)。具体的には、変更前格納部339は、受付けられた位置情報によって示される箇所に対して変更が実行される前に、世代Bの記憶領域に、受付けられた位置情報に対応付けられた元データを、ステップS410にて格納されていると判別された最新側世代Cから読み出して格納する。
そして、変更判別部338は、前世代Aに元データが格納されているか否かを判別する(ステップS412)。
ここで、変更判別部338によって、前世代Aに元データが格納されていると判別されると(ステップS413肯定)、変更部は、要求世代Bの変更を行う(ステップS414)。
一方、上記したステップS413において、変更判別部338によって、前世代Aに元データが格納されていないと判別されると(ステップS413否定)、変更前格納部339は、最新側世代Cの元データを前世代Aに格納する(ステップS415)。具体的には、変更前格納部339は、受付けられた位置情報によって示される箇所に対して変更が実行される前に、変更判別部338によって格納されていないと判別された前世代Aの記憶領域に、受付けられた位置情報に対応付けられた元データを、変更判別部338によって格納されていると判別された最新側世代Cから読み出して格納する。
そして、変更部は、要求世代Bの変更を行う(ステップS416)。
一方、上記したステップS410において、変更判別部338によって、最新側世代Cに元データが格納されていないと判別されると(ステップS410否定)、変更前格納部339は、コピー元ボリュームSの元データを要求世代Bに格納する(ステップS417)。具体的には、変更前格納部339は、受付けられた位置情報によって示される箇所に対して変更が実行される前に、世代Bの記憶領域に、受付けた位置情報によって示される箇所におけるデータを、コピー元ボリュームSから読み出して格納する。
そして、変更判別部338は、前世代Aに元データが格納されているか否かを判別する(ステップS418)。
ここで、変更判別部338によって、前世代Aに元データが格納されていると判別されると(ステップS419肯定)、変更部は、要求世代Bの変更を行う(ステップS420)。
一方、上記したステップS419において、変更判別部338によって、前世代Aに元データが格納されていないと判別されると(ステップS419否定)、変更前格納部339は、コピー元ボリュームSの元データを前世代Aに格納する(ステップS421)。具体的には、変更前格納部339は、受付けられた位置情報によって示される箇所に対して変更が実行される前に、変更判別部338によって格納されていないと判別された前世代Aの記憶領域に、受付けた位置情報によって示される箇所におけるデータを、コピー元ボリュームSから読み出して格納する。
そして、変更部は、要求世代Bの変更を行う(ステップS422)。
なお、変更前格納部339は、変更受付部337によって受付けられた識別情報によって識別される時点と比較して前の時点を示す識別情報が複数ある場合に、受付けられた当該識別情報によって識別される時点に最も近い時点を識別する当該識別情報である直近識別情報に対応付けられた記憶領域に格納されていないと判別された場合に、受付けられた位置情報によって示される箇所に対して変更が実行される前に、当該直近識別情報に対応付けられた記憶領域に格納する。
例えば、図9の例を用いて説明すると、「第3世代」について変更が行われる場合には、変更前格納部339は、「第2世代」について、元データが格納されているかを判別し、格納されていないと判別した場合に、「第2世代」に格納する。言い換えると、変更前格納部339は、「第1世代」については、何ら処理を行わない。
また、変更前格納部339は、変更判別部338によって、変更受付部337によって受付けられた識別情報によって識別される時点と比較して後の時点を示す識別情報が複数ある場合に、当該複数ある記憶領域の内、直近識別情報に対応付けられた当該記憶領域から、受付けられた位置情報に対応付けられた元データを読み出す。
例えば、図9の例を用いて説明すると、「第3世代」の「B」について変更が行われる場合に、変更前格納部339は、当該「B」に対応付けられた元データが、「第3世代」の後の時点を示す「第4世代」と「第5世代」とに格納されている。この場合、変更前格納部339は、「第4世代」から元データを読み出す。
[実施例1の効果]
上記したように、このバックアップ装置20は、バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当て、指示によって示される時点より後に元データが更新されると、直前の時点における当該更新が行われた箇所に対応する元データが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として割り当てられた記憶領域に格納されているかを確認し、格納されていないと確認されると、更新が行われた箇所に対応する更新直前の元データを、最新のスナップショットを格納する記憶領域にのみ格納するので、スナップショットを作成する際に、元データから記憶領域へと格納されるデータの転送量を減少することが可能である。
例えば、従来のSnapOPCを実行するバックアップ装置20は、[前提技術]において上述したように、更新が行われた箇所に対応する更新直前のコピー元ボリュームを、当該箇所に対応する更新直前のコピー元ボリュームを格納していない記憶領域各々に対して格納する。
例えば、図3の例を用いて、「5:00」において行われた更新処理を例に説明すると、コピー元ボリュームの「C」における更新直前のコピー元ボリュームを、「4:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(5)に示す記憶領域)だけでなく、「1:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(4)に示す記憶領域)にも格納する。
これに対して、このバックアップ装置20は、図3の(11)に示すように、コピー元ボリュームの「B」や「C」における更新直前のコピー元ボリュームを、「1:00」の時点について作成されるスナップショットを格納する所定の記憶領域(図3の(4)に示す記憶領域)に、当該コピー元ボリュームの「B」や「C」における更新直前のコピー元ボリュームが格納されていなくても、格納しない。これにより、従来のSnapOPCと比較して、転送量を減少することが可能である。
また、このバックアップ装置20は、さらに、識別情報に対応付けて、記憶領域を割り当て、位置情報と当該位置情報で示される箇所における更新直前の元データとを対応付けて、識別情報に対応付けられた記憶領域に格納し、スナップショットからデータを読み出す旨の情報と識別情報と位置情報とを受付け、受付けられた識別情報に対応付けられた記憶領域に、受付けられた位置情報に対応付けられた元データが格納されているかを判別し、B世代に格納されていないと判別された場合に、受付けられた識別情報によって識別される時点と比較して時間が経過した後の時点を示す当該識別情報に対応付けられた記憶領域に、受付けられた位置情報に対応付けられた元データが格納されているかを判別し、B世代に格納されていると判別された場合には、受付けられた位置情報に対応づけられた元データを、格納されていると判別された記憶領域から読み出し、A世代に格納されていると判別された場合には、受付けられた位置情報に対応付けられた元データを、格納されていると判別された記憶領域から読み出し、A世代に格納されていないと判別された場合には、受付けられた位置情報によって示される箇所におけるデータを、現時点における元データから読み出すので、更新が行われた箇所に対応する更新直前の元データを、最新のスナップショットを格納する記憶領域にのみ格納する手法において、このバックアップ装置20は、スナップショット各々を構成するデータを確実に読み出すことが可能である。
例えば、従来のSnapOPCを実行するバックアップ装置20は、[前提技術]において説明したように、更新が行われた箇所に対応する更新直前の元データを、更新が行われている時点より前の時点について作成されるスナップショットを格納する記憶領域すべてに対して格納する。このため、従来のSnapOPCを実行するバックアップ装置20は、ユーザによって指定された時点について作成させたスナップショットを構成するデータを読み出す際に、当該時点におけるスナップショットを格納する記憶領域に当該データが格納されているかを確認し、なければ、元データから読み出しすればよい。
従来のSnapOPCを実行するバックアップ装置20による、このようなスナップショットを構成するデータを読み出す手法では、更新直前の元データを、最新のスナップショットを格納する記憶領域にのみ格納する手法において、正確なデータを読み出すことはできない。
このような手法に対して、このバックアップ装置20は、ユーザによって指定された時点について作成させたスナップショットを構成するデータを読み出す際に、当該時点におけるスナップショットを格納する記憶領域に当該データが格納されているかを確認し、なければ、当該時点よりも時間が経過した時点について作成されたスナップショットを格納している記憶領域に、データが格納されているかを判別し、格納されている場合には、そこからデータを読み出すので、スナップショット各々を構成するデータを確実に読み出すことが可能である。
また、このバックアップ装置20は、さらに、格納されていると判別されたA世代の記憶領域が複数ある場合に、受付けられた識別情報によって識別される時点に最も近い時点を識別する識別情報に対応付けられた当該記憶領域から、受付けられた位置情報に対応付けられた元データを読み出すので、複数の時点においてスナップショットが作成されている場合においても、適切なスナップショットを用いて処理を行うことが可能である。
また、このバックアップ装置20は、さらに、例えば、「第Z世代」についてのスナップショットのデータを変更したとしても、この変更による影響が、他の世代についてのスナップショットに及ばないように動作するので、変更を加えるスナップショット以外のスナップショットに対して影響を与えずに、指定されたスナップショットに変更を加えることが可能である。
また、このバックアップ装置20は、さらに、受付けられた識別情報によって識別される時点と比較して前の時点を示す識別情報が複数ある場合や、格納されていると判別されたC世代の記憶領域が複数ある場合も、適切なスナップショットを用いて処理を行うことが可能である。
実施例1では、スナップショットを作成する時点各々について割り当てられる記憶領域に、さらに別の記憶領域を追加する手法について言及しなかったが、本発明はこれに限定されるものではなく、記憶領域を追加してもよい。
すなわち、実施例2に係るバックアップ装置20は、図19に示すように、スナップショットを作成する時点各々に(例えば、「世代1」、「世代2」および「世代3」)予め割り当てる記憶領域について、当該記憶領域の論理容量をコピー元ボリュームと同等(または大きく)設定する一方、当該記憶領域の物理容量をコピー元ボリュームに比べ小さく設定する。上記したように、このバックアップ装置20は、更新が行われた箇所に対応する更新前のデータのみを格納するからである。このため、このバックアップ装置20は、コピー元ボリュームの更新量が見積もり以上に多い場合には、予め割り当てる記憶領域に、容量あふれを発生させる。
このため、実施例2に係るバックアップ装置20は、容量あふれが発生する場合には、あらかじめ定義した待機系の仮想ボリューム(予め用意した記憶媒体)から、記憶容量を追加し、当該容量あふれの発生を防止するものである。つまり、例えば、実施例2に係るバックアップ装置20は、図20の(1)に示すように、割り当て部によって割り当てられた記憶領域にデータを格納できない場合に、図20の(2)に示すように、予め追加した記憶領域に格納するものである。
以下では、図21〜図25を用いて、スナップショットを作成する時点各々について割り当てられる記憶領域に、記憶領域を追加する手法について説明する。なお、以下では、後述する追加部によって追加された記憶領域を、仮想ボリューム(または、仮想SDV)と記載する。
なお、ここで、図19は、実施例2に係るバックアップ装置の特長を説明するための図である。図20は、実施例2に係るバックアップ装置の特長を説明するための図である。図21は、実施例2におけるSDV管理テーブルを説明するための図である。図22は、実施例2における解像度決定用テーブルを説明するための図である。図23は、実施例2における負荷分散用テーブルを説明するための図である。図24は、実施例2に係るバックアップ装置による仮想ボリューム追加処理を説明するためのフローチャートである。図25は、実施例2に係るバックアップ装置による格納処理を説明するためのフローチャートである。
この実施例2に係るバックアップ装置20は、図4に示す実施例1に係るバックアップ装置20の構成に加えて、以下に説明するように、解像度決定用テーブルと、負荷分散用テーブルと、監視部と、容量決定部と、追加部と、管理部と、算出部と、決定部とを備える。なお、負荷分散用テーブルは、特許請求の範囲に記載の「容量テーブル」に対応し、監視部は、特許請求の範囲に記載の「監視手段」に対応し、追加部は、特許請求の範囲に記載の「追加手段」に対応する。
また、実施例2に係るバックアップ装置20は、所定の上限容量を有する複数の記憶媒体から構成される記憶装置を備える。例えば、複数のディスク装置(記憶媒体)から構成されるストレージ装置(記憶装置)を備える。ここで、当該記憶媒体各々は、それぞれ一意に識別されるものである。例えば、ディスク装置は、「Disk1」や「Disk2」、「Disk3」などの他のディスク装置と識別する情報が付与されている。
実施例2に係るバックアップ装置20のSDV管理テーブル323は、図21の(1)に示すように、割り当て部331によって割り当てられた記憶領域(SDV)を管理する情報を記憶するとともに、さらに、図21の(2)に示すように、スナップショットを格納する記憶領域として割り当てられた仮想ボリュームを管理する情報を、割り当てられた仮想ボリュームごとに記憶する。このバックアップ装置20のSDV管理テーブル323は、後述する追加部によって、当該追加部によって追加された仮想ボリュームについての情報を入力され、記憶する。
例えば、実施例2に係るバックアップ装置20のSDV管理テーブル323は、図21の(2)の例では、仮想ボリュームを一意に特定する情報である「仮想ボリューム特定番号」に対応付けて、「使用量」と「開始物理アドレス」と「現在使用済みLBA」とを記憶する。具体的な一例をあげて説明すると、このSDV管理テーブル323は、仮想ボリューム特定番号「1」に対応付けて、使用量「3G」と開始物理アドレス「100」と現在使用済みLBA「100、110、…」とを記憶する。
また、実施例2に係るバックアップ装置20のSDV管理テーブル323は、図21の(3)に示すように、割り当て部331によって割り当てられた記憶領域と、後述する追加部によって追加された仮想ボリュームとの関係を、記憶する。例えば、図21の(3)に示す例では、このSDV管理テーブル323は、割り当て部331によって割り当てられた記憶領域各々に対応付けて、仮想ボリューム特定番号を記憶する。具体的に例をあげて説明すると、図21の(3)に示す例では、第1世代のスナップショットを割り当てる記憶領域として割り当てられた「第1世代SDV」に対応付けて、仮想ボリューム特定番号「1、2」を記憶する。
また、実施例2に係るバックアップ装置20のSDV管理テーブル323は、図21の(4)に示すように、仮想ボリューム各々を、スナップショットを作成する時点(または、当該時点についてのスナップショットを格納する記憶領域(または、その識別情報))にリンクさせて(リンク構造により)記憶する。スナップショットを作成する時点各々に対して、それぞれ追加される仮想ボリュームを追加する時点においては、同時に割り当てられる仮想ボリュームの数は不定であるため、例えば、SDV管理テーブル323は、リンク構造によって記憶する。
実施例2に係るバックアップ装置20の解像度決定用テーブルは、割り当てる仮想ボリュームの容量を決定する際に用いられる情報を記憶する。具体的には、この解像度決定用テーブルは、後述する監視部と後述する容量決定部とによって用いられるデータを記憶し、何らかの処理が行われる毎に、後述する監視部によって、記憶している情報が更新されるものである。例えば、この解像度決定用テーブルは、格納部333によって、データが記憶領域に格納される処理が行われると、監視部によって、更新量の値が変更され、使用率と更新率とが更新される。
また、実施例2に係るバックアップ装置20の解像度決定用テーブルは、例えば、図22に示すように、スナップショットが作成される時点を示す「世代」に対応付けて、世代と世代との間隔を示す「バックアップ経過時間(h)」と、記憶領域(SDV)の容量の内使用されている容量の占める割合を示す「使用率(%)」と、更新されたデータの容量を示す「更新量(MB)」と、更新量と経過時間とにより算出される「更新率(MB/h)」とを記憶する。
例えば、実施例2に係るバックアップ装置20の解像度決定用テーブルは、図22に示す例では、世代「1」に対応付けて、バックアップ経過時間「経過時間1」と、使用率「使用率1」と、更新量「更新量1」と、更新率「更新率1」とを記憶する。なお、図22では、解像度決定用テーブルに記憶されている情報として、文言(例えば、「経過時間1」など)を用いて説明したが、実際には、数値として記憶する。
実施例2に係るバックアップ装置20の負荷分散用テーブルは、記憶媒体ごとに、後述する追加部によって追加された記憶領域の容量の合計を示す使用容量を記憶する。具体的には、この負荷分散用テーブルは、後述する管理部によって、記憶している情報を管理され、後述する算出部によって用いられる。
例えば、実施例2に係るバックアップ装置20の負荷分散用テーブルは、図23に示すように、「仮想ボリューム特定番号」と対応付けて、当該仮想ボリュームを追加する際に用いられた記憶媒体を示す「使用Disk」と、「仮想ボリューム特定番号」によって特定される仮想ボリュームとして使用した(後述する追加部によって追加された)容量を示す「使用量(MB)」とを記憶する。
具体的に例をあげて説明すると、実施例2に係るバックアップ装置20の負荷分散用テーブルは、図23に示す例では、仮想ボリューム特定番号「1」に対応付けて、使用Disk「Disk1、Disk2、Disk3」と使用量「使用量1」とを記憶する。
監視部は、割り当て部331によって割り当てられた記憶領域毎に、当該記憶領域それぞれの空き容量を監視する。具体的には、監視部は、解像度決定用テーブルを確認することにより、記憶領域(SDV)や仮想ボリュームそれぞれの空き容量を監視する。また、監視部による監視結果は、後述する追加部によって用いられる。
例えば、更新前のデータがスナップショット記憶部201に格納され、または、ビットマップテーブル321の値が変更(「1」から「0」に変更)され、解像度決定用テーブルが更新されると、監視部は、解像度決定用テーブルを更新する。そして、例えば、監視部は、更新された使用率が、予め設定されている閾値以上かを監視する。
具体的な一例をあげて説明すると、監視部は、解像度決定用テーブルにおいて、更新量の値を更新し、使用率と更新率とを更新する。そして、例えば、予め設定された閾値が「90%」である場合には、監視部は、使用率が「90%」以上かを監視する。
なお、監視部は、最新世代のスナップショットを格納する記憶領域についてのみ、空き容量を監視してもよい。容量あふれの懸念があるのは更新前のデータが転送される最新世代のスナップショットを格納する記憶領域であり、このバックアップ装置20は、監視対象を限定することによって、処理を迅速に、確実に行うことが可能である。
容量決定部は、後述する追加部によって記憶領域(仮想SDV)が識別情報に対応付けて追加される場合に、当該識別情報によって識別される時点と当該時点と最も近い時点との間における時間間隔や、当該識別情報に対応付けられた記憶領域にデータを格納してから経過した経過時間に対する当該記憶領域に格納したデータの容量から、追加する記憶領域(仮想SDV)の容量を決定する。具体的には、容量決定部は、解像度決定用テーブルを用いて、仮想ボリュームの適切な容量を決定する。
例えば、容量決定部は、最新側の世代のスナップショットを格納する記憶領域に、「5G」の記憶領域が割り当てられ、更新率が「10GB/h」である場合に、例えば、「5G〜10G」の仮想ボリュームを決定する。
また、上記したように、容量決定部は、世代と世代との間隔(世代バックアップの間隔)と、その間の更新量を考慮し、仮想ボリュームの追加単位を可変に決定する。また、容量決定部は、世代の削除等により不要となった仮想ボリュームを、解放して待機系に移す。これにより、無駄の少ない記憶容量の配分を実現する。
管理部は、記憶媒体ごとに、後述する追加部によって追加された記憶領域の容量の合計を示す使用容量を記憶する容量テーブルを管理する。具体的には、管理部は、負荷分散用テーブルに記憶されている情報を、関連する処理が行われると、更新する。例えば、後述する追加部によって仮想ボリュームが追加されると、追加された仮想ボリュームについて、「仮想ボリューム特定番号」と、「使用Disk」と、「使用量」とを、負荷分散テーブルに格納し、負荷分散用テーブルを更新する。
算出部は、管理部によって管理される負荷分散用テーブルに記憶された記憶媒体ごとの使用容量が当該記憶媒体各々の所定の上限容量において占める割合を示す使用率を、当該記憶媒体各々について算出する。具体的には、算出部は、記憶媒体各々について、使用率を算出する。
例えば、負荷分散テーブルに記憶されている「使用Disk」と「使用量」との対応付けを用いて、「使用Disk」ごとに、使用している容量を示す使用量の合計を算出する。また、算出した使用量と、使用Disk各々についての所定の上限容量とから、使用Disk各々についての使用率を算出する。
なお、実施例2では、図23に示すように複数の記憶媒体を一つの単位として使用するため、算出部は、当該一つの単位ごとに、使用率を算出する。例えば、RAID装置においては冗長化によるデータ保護のため、複数ディスクによって一つのRAIDグループを組み、その中にボリュームを作成するため、使用Diskが複数になるのが通常である。例えば、図23に示す例を用いて説明すると、算出部は、「Disk1、Disk2、Disk3」を一つの単位として使用率を算出し、「Disk5、Disk6」を一つの単位として使用率を算出し、「Disk7、Disk8、Disk9」を一つの単位として使用率を算出する。
決定部は、算出部によって算出された使用率の内、最も少ない当該使用率を示した記憶媒体から、後述する追加部によって追加される記憶領域を決定する。具体的には、記憶媒体が複数ある場合に、算出部によって、最も使用率が少ないと算出された記憶媒体を決定する。
例えば、決定部は、負荷分散用テーブルから、記憶媒体を選択する。具体的な一例をあげて説明すると、決定部は、算出部によって、「Disk1、Disk2、Disk3」の使用率が「20%」であり、「Disk5、Disk6」の使用率が「90%」であり、「Disk7、Disk8、Disk9」の使用率が「85%」であると算出された場合に、最も少ない使用率であると算出された「Disk1、Disk2、Disk3」を決定する。
追加部は、空き容量が所定の閾値以下になったという監視結果が監視部によって得られた場合に、監視結果が得られた記憶領域に対応付けられた識別情報に対応付けて、新たに記憶領域を追加する。具体的には、追加部は、空き容量が所定の閾値以下になったという監視結果が監視部によって得られた場合に、容量決定部によって決定された容量に従って、算出部によって決定された記憶媒体から、新たに記憶領域を追加する。
例えば、追加部は、負荷分散用テーブルに追加分を登録し、仮想ボリュームを追加する。具体的な一例をあげて説明すると、容量決定部によって、「5G」割り当てると決定され、算出部によって、「Disk1、Disk2、Disk3」が決定されると、追加部は、負荷分散用テーブルに、新たに付与する「仮想ボリューム特定番号(例えば、「6」)」に対応付けて、使用Disk「Disk1、Disk2、Disk3」と、使用量「5G」とを、管理部に格納させる。そして、追加部は、「Disk1、Disk2、Disk3」から、「5G」の記憶領域を、割り当てる。なお、追加部は、容量あふれが発生する前に、先行して、割り当てを実行する。
また、追加部は、仮想ボリュームの追加を自動的に行うことにより、ユーザが記憶領域の容量あふれについて特別な意識を持つ必要はなく、容量あふれを防ぐことが可能である。
格納部333は、割り当て部331によって割り当てられた記憶領域(SDV)や、追加部によって追加された仮想ボリュームに、データを格納する。例えば、格納部333は、確認部332によって更新直前の元データを格納していないと確認されると、コピー先容量が不足しているかを確認する。具体的な一例をあげて説明すると、格納部333は、割り当て部331によって割り当てられた記憶領域(SDV)に、データを格納する容量があるかを確認する。
例えば、格納部333は、コピー先容量が不足している場合には、仮想ボリュームの割り当て状況を確認し、仮想ボリュームの容量を獲得する。具体的な一例をあげて説明すると、格納部333は、SDV管理テーブル323から、データを格納する世代に(または、当該データを格納する記憶領域に)対応付けられた仮想ボリュームを確認し、当該仮想ボリュームにおいて、データを格納する容量を確保する。
読出部336は、割り当て部331によって割り当てられた記憶領域(SDV)や、追加部によって追加された仮想ボリュームから、データを読み出す。例えば、読出部336は、読み出す世代を選択すると、当該世代に対応付けられて仮想ボリュームが追加されているかを確認し、データを、記憶領域(SDV)か仮想ボリュームから読み出す。
変更前格納部339は、格納部333と同様に、スナップショットに対して変更が実行される前に、割り当て部331によって割り当てられた記憶領域(SDV)か、追加部によって追加された仮想ボリュームに、データを格納する。
[実施例2に係るバックアップ装置による仮想ボリューム追加処理]
次に、図24を用いて、実施例2に係るバックアップ装置20による仮想ボリューム追加処理を説明する。
図24に示すように、実施例2に係るバックアップ装置20では、更新前データの格納処理があると(ステップS501肯定)、監視部は、解像度決定用テーブルを更新する(ステップS502)。例えば、監視部は、解像度決定用テーブルにおいて、更新量の値を更新し、使用率と更新率とを更新する。
そして、監視部によって、使用率が閾値以上でないと監視されると(ステップS503否定)、処理を終了する。一方、監視部によって、使用率が閾値以上であると監視されると(ステップS503肯定)、容量決定部は、更新率から最適な解像度を選択する(ステップS504)。例えば、容量決定部は、「5G」の記憶領域が割り当てられ、更新率が「10GB/h」である場合に、「5G〜10G」の仮想ボリュームを追加する。
そして、決定部は、負荷分散用テーブルから、記憶媒体を選択する(ステップS505)。具体的には、決定部は、記憶媒体が複数ある場合に、算出部によって、最も使用率が少ないと算出された記憶媒体を決定する。
そして、追加部は、負荷分散用テーブルに追加分を登録し(ステップS506)、仮想ボリュームを割り当てる(ステップS507)。具体的には、追加部は、空き容量が所定の閾値以下になったという監視結果が監視部によって得られた場合に、容量決定部によって決定された容量に従って、算出部によって決定された記憶媒体から、新たに記憶領域を追加する。
[実施例2に係るバックアップ装置による格納処理]
次に、図25を用いて、実施例2に係るバックアップ装置20による格納処理を説明する。
実施例2に係るバックアップ装置20は、更新要求があり、格納済みであると確認されると(ステップS601〜S603肯定)、格納部333は、コピー先容量が不足しているかを確認する(ステップS604)。ここで、格納部333は、不足していないと確認すると、確認した記憶領域にデータを格納する(ステップS604否定、ステップS607〜ステップS612)。
一方、格納部333は、コピー先容量が不足していると確認すると(ステップS604肯定)、仮想ボリュームの割り当て状況を確認し(ステップS605)、仮想ボリュームの容量を獲得する(ステップS606)。例えば、格納部333は、SDV管理テーブル323から、データを格納する世代に対応付けられた仮想ボリュームを確認し、当該仮想ボリュームにおいて、データを格納する容量を確保する。そして、データを格納する(ステップS607〜ステップS612)。
なお、図25におけるステップS601〜ステップS603は、図16におけるステップS201〜ステップS203に対応し、図25におけるステップS607〜ステップS612は、図16におけるステップS204〜ステップS209に対応するため、説明を省略する。
[実施例2の効果]
上記したように、このバックアップ装置20は、割り当て部331によって割り当てられた記憶領域毎に、当該記憶領域それぞれの空き容量を監視し、空き容量が所定の閾値以下になったという監視結果が監視部によって得られた場合に、監視結果が得られた記憶領域に対応付けられた識別情報に対応付けて、新たに記憶領域を追加するので、容量あふれを防止することが可能である。
例えば、従来の手法では、コピー先ボリュームの論理容量はコピー元ボリュームと同等または大きく設定されているが、一方、実際の物理容量はコピー元ボリュームに比べ小さく設定されている。このため、コピー元ボリュームの更新量が見積もり以上に多い場合には、スナップショットを格納するために割り当てられた記憶領域において、容量あふれが発生していた。
このような従来の手法と比較して、このバックアップ装置20は、容量あふれが発生しそうな場合には、記憶容量をあらかじめ追加することによって、コピー元ボリュームの更新量が見積もり以上に多くなってしまった場合においても、容量あふれを防止することが可能である。
このようにこのバックアップ装置20は、世代バックアップにおけるバックアップデータ削減(実施例1において記載)と、仮想ボリュームによるコピー先ボリュームの容量最適化の両方の利点の組み合わせによって、より効率の良い世代バックアップを実現することが可能である。
また、このバックアップ装置20は、さらに、追加部によって記憶領域が識別情報に対応付けて追加される場合に、当該識別情報によって識別される時点と当該時点と最も近い時点との間における時間間隔や、当該識別情報に対応付けられた記憶領域にデータを格納してから経過した経過時間に対する当該記憶領域に格納したデータの容量から、追加する記憶領域の容量を決定し、容量決定部によって決定された容量に従って、新たに記憶領域を追加するので、適切な容量の記憶容量を、追加することが可能である。
例えば、世代バックアップの間隔や更新量を考慮し、追加する記憶容量を可変に決定することが可能である。
また、このバックアップ装置20は、さらに、所定の上限容量を有する複数の記憶媒体から構成される記憶装置を備え、当該記憶媒体各々は、それぞれ一意に識別されるものであって、空き容量が所定の閾値以下になったという監視結果が監視部によって得られた場合に、記憶媒体から、新たに記憶領域を追加し、負荷分散用テーブルに記憶された記憶媒体ごとの使用容量が当該記憶媒体各々の所定の上限容量において占める割合を示す使用率を、当該記憶媒体各々について算出し、算出された使用率の内、最も少ない当該使用率を示した記憶媒体から、追加する記憶領域を決定するので、特定の記憶媒体の性能低下を防止することが可能である。
例えば、特定の記憶媒体に偏って、追加の記憶容量を割り当てると、当該記憶媒体のみ使用率が上がってしまい性能低下を引き起こす可能性がある。
これに対して、このバックアップ装置20は、記憶媒体の一定単位ごと(例えば、磁気ディスクごとや、複数の磁気ディスク単位など)に、使用している記憶媒体と使用量とを制御テーブルとして管理し、記憶媒体ごとに使用量を算出し、最も使用量の少ない記憶媒体から記憶容量を割り当てることができ、特定の記憶媒体の性能低下を防止することが可能である。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[実施例の組み合わせ]
また、(1)最新の世代にのみ、元データを格納する手法、(2)読出要求を受付けた際に、識別情報により特定される世代になければ、最新側の世代から読み出す手法、(3)最新側の世代から読み出す際に、読み出す箇所を示す位置情報に対応付けられたデータが格納されているデータが複数の世代にある場合には、最寄の世代から読み出す手法、(4)スナップショットに変更を行う手法、(5)スナップショットに変更を行う際に、変更前格納処理を行う手法、(6)仮想ボリュームを追加する手法、(7)仮想ボリュームを追加する際に、更新率等から追加する容量を決定する手法、(8)記憶媒体への負荷を分散させる手法と、の組み合わせにおいて、実施例1においては、(1)〜(5)を実施し、実施例2においては、さらに、(6)〜(8)を実施する手法について説明したが、本発明はこれに限定されるものではなく、(1)に加えて、一つまたは複数の手法を組み合わせて実施してもよい。なお、その際には、(7)と(8)とは、(6)を実施することを前提とする。
[プログラム]
ところで、上記実施例1では、ハードウェアロジックによって各種の処理を実現する場合を説明したが、本発明はこれに限定されるものではなく、予め用意されたプログラムをコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図26を用いて、上記の実施例1に示したバックアップと同様の機能を有するバックアッププログラムを実行するコンピュータの一例を説明する。なお、図26は、実施例1に係るバックアップ装置のプログラムを説明するための図である。
同図に示すように、実施例1におけるバックアップ装置3000は、操作部3001、マイク3002、スピーカ3003、Disk3004、ディスプレイ3005、通信部3006、CPU3010、ROM3011、HDD3012、RAM3013をバス3009などで接続して構成されている。
ROM3011には、上記の実施例1で示した割り当て部331と、確認部332と、読出受付部334と、読出判別部335と、読出部336と、変更受付部337と、変更判別部338と、変更前格納部339と同様の機能を発揮する制御プログラム、つまり、同図に示すように、割り当てプログラム3011aと、確認プログラム3011bと、読出受付プログラム3011cと、読出判別プログラム3011dと、読出プログラム3011eと、変更受付プログラム3011fと、変更判別プログラム3011gと、変更前格納プログラム3011hとが予め記憶されている。なお、これらのプログラム3011a〜3011hについては、図4に示したバックアップの各構成要素と同様、適宜統合または分離してもよい。
そして、CPU3010が、これらのプログラム3011a〜3011hをROM3011から読み出して実行することにより、図26に示すように、各プログラム3011a〜3011hについては、割り当てプロセス3010aと、確認プロセス3010bと、読出受付プロセス3010cと、読出判別プロセス3010dと、読出プロセス3010eと、変更受付プロセス3010fと、変更判別プロセス3010gと、変更前格納プロセス3010hとして機能するようになる。なお、各プロセス3010a〜3010hは、図4に示した、割り当て部331と、確認部332と、読出受付部334と、読出判別部335と、読出部336と、変更受付部337と、変更判別部338と、変更前格納部339とにそれぞれ対応する。
そして、HDD3012には、ビットマップテーブル3012aと、世代管理テーブル3012bと、SDV管理テーブル3012cと、論理ー物理変換データテーブル3012dとが設けられている。なお、各テーブル3012a〜3010dは、図4に示した、ビットマップテーブル321と、世代管理テーブル322と、SDV管理テーブル323と、論理ー物理変換データテーブルとにそれぞれ対応する。
そして、CPU3010は、ビットマップテーブル3012aと、世代管理テーブル3012bと、SDV管理テーブル3012cと、論理ー物理変換データテーブル3012dとを読み出してRAM3013に格納し、RAM3013に格納されたビットマップデータ3013aと、世代管理データ3013bと、SDV管理データ3013cと、論理ー物理変換データデータ3013dとを用いて、バックアッププログラムを実行する。
[その他]
なお、本実施例で説明したバックアップ装置は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
(付記1)バックアップ対象となる元データについて、バックアップを実行する時点における元データを示すスナップショットを、当該バックアップを実行する時点各々について作成するバックアップ装置であって、
前記バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる割り当て手段と、
前記指示によって示される時点より後に前記元データが更新されると、当該指示によって示される直前の時点における当該更新が行われた箇所に対応する元データが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として前記割り当て手段によって割り当てられた前記記憶領域に格納されているかを確認する確認手段と、
前記確認手段によって格納されていないと確認されると、前記更新が行われた箇所に対応する更新直前の元データを、前記最新のスナップショットを格納する記憶領域にのみ格納する格納手段と、
を備えることを特徴とするバックアップ装置。
(付記2)前記割り当て手段は、前記指示によって示される時点を識別する情報である識別情報に対応付けて、当該時点について作成される前記スナップショットを格納する前記記憶領域を割り当て、
前記格納手段は、前記更新が行われた箇所を示す位置情報と当該位置情報で示される箇所における更新直前の前記元データとを対応付けて、前記指示によって示される直前の時点を識別する前記識別情報に対応付けられた前記記憶領域に格納し、
前記スナップショットからデータを読み出す旨の情報と前記識別情報と前記位置情報とを受付ける読出受付手段と、
前記読出受付手段によって受付けられた前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第1の読出判別手段と、
前記第1の読出判別手段によって格納されていないと判別された場合に、前記読出受付手段によって受付けられた前記識別情報によって識別される時点と比較して時間が経過した後の時点を示す当該識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第2の読出判別手段と、
前記第1の読出判別手段によって格納されていると判別された場合には、受付けられた前記位置情報に対応づけられた前記元データを、当該第1の読出判別手段によって格納されていると判別された前記記憶領域から読み出し、前記第2の読出判別手段によって格納されていると判別された場合には、受付けられた前記位置情報に対応付けられた前記元データを、当該第2の読出判別手段によって格納されていると判別された前記記憶領域から読み出し、当該第2の読出判別手段によって格納されていないと判別された場合には、受付けられた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出す読出手段と、
をさらに備えることを特徴とする付記1に記載のバックアップ装置。
(付記3)前記読出手段は、前記第2の読出判別手段によって格納されていると判別された前記記憶領域が複数ある場合に、前記読出受付手段によって受付けられた前記識別情報によって識別される時点に最も近い時点を識別する前記識別情報に対応付けられた当該記憶領域から、受付けられた前記位置情報に対応付けられた前記元データを読み出すことを特徴とする付記2に記載のバックアップ装置。
(付記4)前記スナップショットに変更を行う旨を示す情報、当該変更を行うスナップショットが格納された前記記憶領域を示す識別情報、および、当該変更を行う箇所を示す位置情報を受付ける変更受付手段と、
前記変更受付手段によって受付けられた前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第1の変更判別手段と、
前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して前の時点を示す前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第2の変更判別手段と、
前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して時間が経過した後の時点を示す前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第3の変更判別手段と、
前記第2の変更判別手段によって格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、当該第2の変更判別手段によって格納されていないと判別された前記記憶領域に、
前記第1の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、受付けられた前記識別情報に対応付けられた前記記憶領域から読み出し、
前記第1の変更判別手段によって格納されていないと判別され、かつ、前記第3の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、当該第3の変更判別手段によって格納されていると判別された前記記憶領域から読み出し、
前記第1の変更判別手段によって格納されていないと判別され、かつ、前記第3の変更判別手段によって格納されていないと判別された際には、受付けた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出し、
読み出したデータを当該位置情報と対応付けて格納する第1の変更前格納手段と、
前記第1の変更判別手段によって格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、受付けられた前記識別情報に対応付けられた前記記憶領域に、
前記第3の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、当該第3の変更判別手段によって格納されていると判別された前記記憶領域から読み出し、
前記第3の変更判別手段によって格納されていないと判別された際には、受付けた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出し、
読み出したデータを当該位置情報と対応付けて格納する第2の変更前格納手段と、
をさらに備えることを特徴とする付記1〜付記3のいずれか一つに記載のバックアップ装置。
(付記5)前記第1の変更前格納手段は、前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して前の時点を示す前記識別情報が複数ある場合に、受付けられた当該識別情報によって識別される時点に最も近い時点を識別する当該識別情報である直近識別情報に対応付けられた前記記憶領域に格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、当該直近識別情報に対応付けられた前記記憶領域に格納し、
前記第2の変更前格納手段は、前記第3の変更判別手段によって格納されていると判別された前記記憶領域が複数ある場合に、当該複数ある記憶領域の内、前記直近識別情報に対応付けられた当該記憶領域から、受付けられた前記位置情報に対応付けられた前記元データを読み出すことを特徴とする付記4に記載のバックアップ装置。
(付記6)前記割り当て手段によって割り当てられた前記記憶領域毎に、当該記憶領域それぞれの空き容量を監視する監視手段と、
前記空き容量が所定の閾値以下になったという監視結果が前記監視手段によって得られた場合に、監視結果が得られた前記記憶領域に対応付けられた前記識別情報に対応付けて、新たに記憶領域を追加する追加手段と、
をさらに備えたことを特徴とする付記1〜付記5のいずれか一つに記載のバックアップ装置。
(付記7)前記追加手段によって前記記憶領域が前記識別情報に対応付けて追加される場合に、当該識別情報によって識別される時点と当該時点と最も近い時点との間における時間間隔、および/または、当該識別情報に対応付けられた前記記憶領域にデータを格納してから経過した経過時間に対する当該記憶領域に格納したデータの容量から、追加する前記記憶領域の容量を決定する容量決定手段をさらに備え、
前記追加手段は、前記容量決定手段によって決定された容量に従って、新たに記憶領域を追加することを特徴とする付記6に記載のバックアップ装置。
(付記8)前記バックアップ装置は、所定の上限容量を有する複数の記憶媒体から構成される記憶装置を備え、当該記憶媒体各々は、それぞれ一意に識別されるものであって、
前記追加手段は、前記空き容量が所定の閾値以下になったという監視結果が前記監視手段によって得られた場合に、前記記憶媒体から、新たに前記記憶領域を追加し、
前記記憶媒体ごとに、前記追加手段によって追加された前記記憶領域の容量の合計を示す使用容量を記憶する容量テーブルを管理する管理手段と、
前記管理手段によって管理される前記容量テーブルに記憶された前記記憶媒体ごとの前記使用容量が当該記憶媒体各々の所定の上限容量において占める割合を示す使用率を、当該記憶媒体各々について算出する算出手段と、
前記算出手段によって算出された前記使用率の内、最も少ない当該使用率を示した前記記憶媒体から、前記追加手段によって追加される前記記憶領域を決定する決定手段と、
をさらに備えたことを特徴とする付記6または付記7に記載のバックアップ装置。
(付記9)バックアップ対象となる元データについて、バックアップを実行する時点における元データを示すスナップショットを、当該バックアップを実行する時点各々について作成するバックアップ方法であって、
前記バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる割り当てステップと、
前記指示によって示される時点より後に前記元データが更新されると、当該指示によって示される直前の時点における当該更新が行われた箇所に対応する元データが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として前記割り当てステップによって割り当てられた前記記憶領域に格納されているかを確認する確認ステップと、
前記確認ステップによって格納されていないと確認されると、前記更新が行われた箇所に対応する更新直前の元データを、前記最新のスナップショットを格納する記憶領域にのみ格納する格納ステップと、
を含んだことを特徴とするバックアップ方法。
(付記10)バックアップ対象となる元データについて、バックアップを実行する時点における元データを示すスナップショットを、当該バックアップを実行する時点各々について作成するバックアップ方法をコンピュータに実行させるバックアッププログラムであって、
前記バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる割り当て手順と、
前記指示によって示される時点より後に前記元データが更新されると、当該指示によって示される直前の時点における当該更新が行われた箇所に対応する元データが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として前記割り当て手順によって割り当てられた前記記憶領域に格納されているかを確認する確認手順と、
前記確認手順によって格納されていないと確認されると、前記更新が行われた箇所に対応する更新直前の元データを、前記最新のスナップショットを格納する記憶領域にのみ格納する格納手順と、
をコンピュータに実行させることを特徴とするバックアッププログラム。
前提技術を説明するための図である。 前提技術を説明するための図である。 実施例1に係るバックアップ装置の概要および特長を説明するための図である。 実施例1に係るバックアップ装置の構成を説明するためのブロック図である。 実施例1におけるDiskを説明するための図である。 実施例1におけるビットマップテーブルを説明するための図である。 実施例1における世代管理テーブルを説明するための図である。 実施例1におけるSDV管理テーブルを説明するための図である。 実施例1における制御部を説明するための図である。 実施例1における格納部を説明するための図である。 実施例1における読出部を説明するための図である。 実施例1における変更前格納部を説明するための図である。 実施例1における変更前格納部による格納パターンの一例を説明するための図である。 実施例1における変更前格納部による格納パターンの一例を説明するための図である。 実施例1に係るバックアップ装置による割り当て処理の一例を説明するためのフローチャートである。 実施例1に係るバックアップ装置による格納処理の一例を説明するためのフローチャートである。 実施例1に係るバックアップ装置による読出し処理の一例を説明するためのフローチャートである。 実施例1に係るバックアップ装置による変更前格納処理の一例を説明するためのフローチャートである。 実施例2に係るバックアップ装置の特長を説明するための図である。 実施例2に係るバックアップ装置の特長を説明するための図である。 実施例2におけるSDV管理テーブルを説明するための図である。 実施例2における解像度決定用テーブルを説明するための図である。 実施例2における負荷分散用テーブルを説明するための図である。 実施例2に係るバックアップ装置による仮想ボリューム追加処理を説明するためのフローチャートである。 実施例2に係るバックアップ装置による格納処理を説明するためのフローチャートである。 実施例1に係るバックアップ装置のプログラムを説明するための図である。 従来のSnapOPCを説明するための図である。
符号の説明
10 Host10
20 バックアップ装置
100 CA
200 Disk
201 スナップショット記憶部
202 論理―物理変換テーブル
300 CM
310 DA
320 記憶部
321 ビットマップテーブル
322 世代管理テーブル
323 SDV管理テーブル
330 制御部
331 割り当て部
332 確認部
333 格納部
334 読出受付部
335 読出判別部
336 読出部
337 変更受付部
338 変更判別部
339 変更前格納部

Claims (10)

  1. バックアップ対象となる元データについて、バックアップを実行する時点における元データを示すスナップショットを、当該バックアップを実行する時点各々について作成するバックアップ装置であって、
    前記バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる割り当て手段と、
    前記指示によって示される時点より後に前記元データが更新されると、当該指示によって示される直前の時点における当該更新が行われた箇所に対応する元データが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として前記割り当て手段によって割り当てられた前記記憶領域に格納されているかを確認する確認手段と、
    前記確認手段によって格納されていないと確認されると、前記更新が行われた箇所に対応する更新直前の元データを、前記最新のスナップショットを格納する記憶領域にのみ格納する格納手段と、
    を備えることを特徴とするバックアップ装置。
  2. 前記割り当て手段は、前記指示によって示される時点を識別する情報である識別情報に対応付けて、当該時点について作成される前記スナップショットを格納する前記記憶領域を割り当て、
    前記格納手段は、前記更新が行われた箇所を示す位置情報と当該位置情報で示される箇所における更新直前の前記元データとを対応付けて、前記指示によって示される直前の時点を識別する前記識別情報に対応付けられた前記記憶領域に格納し、
    前記スナップショットからデータを読み出す旨の情報と前記識別情報と前記位置情報とを受付ける読出受付手段と、
    前記読出受付手段によって受付けられた前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第1の読出判別手段と、
    前記第1の読出判別手段によって格納されていないと判別された場合に、前記読出受付手段によって受付けられた前記識別情報によって識別される時点と比較して時間が経過した後の時点を示す当該識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第2の読出判別手段と、
    前記第1の読出判別手段によって格納されていると判別された場合には、受付けられた前記位置情報に対応付けられた前記元データを、当該第1の読出判別手段によって格納されていると判別された前記記憶領域から読み出し、前記第2の読出判別手段によって格納されていると判別された場合には、受付けられた前記位置情報に対応付けられた前記元データを、当該第2の読出判別手段によって格納されていると判別された前記記憶領域から読み出し、当該第2の読出判別手段によって格納されていないと判別された場合には、受付けられた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出す読出手段と、
    をさらに備えることを特徴とする請求項1に記載のバックアップ装置。
  3. 前記読出手段は、前記第2の読出判別手段によって格納されていると判別された前記記憶領域が複数ある場合に、前記読出受付手段によって受付けられた前記識別情報によって識別される時点に最も近い時点を識別する前記識別情報に対応付けられた当該記憶領域から、受付けられた前記位置情報に対応付けられた前記元データを読み出すことを特徴とする請求項2に記載のバックアップ装置。
  4. 前記スナップショットに変更を行う旨を示す情報、当該変更を行うスナップショットが格納された前記記憶領域を示す識別情報、および、当該変更を行う箇所を示す位置情報を受付ける変更受付手段と、
    前記変更受付手段によって受付けられた前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第1の変更判別手段と、
    前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して前の時点を示す前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第2の変更判別手段と、
    前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して時間が経過した後の時点を示す前記識別情報に対応付けられた前記記憶領域に、受付けられた前記位置情報に対応付けられた前記元データが格納されているかを判別する第3の変更判別手段と、
    前記第2の変更判別手段によって格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、当該第2の変更判別手段によって格納されていないと判別された前記記憶領域に、
    前記第1の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、受付けられた前記識別情報に対応付けられた前記記憶領域から読み出し、
    前記第1の変更判別手段によって格納されていないと判別され、かつ、前記第3の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、当該第3の変更判別手段によって格納されていると判別された前記記憶領域から読み出し、
    前記第1の変更判別手段によって格納されていないと判別され、かつ、前記第3の変更判別手段によって格納されていないと判別された際には、受付けた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出し、
    読み出したデータを当該位置情報と対応付けて格納する第1の変更前格納手段と、
    前記第1の変更判別手段によって格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、受付けられた前記識別情報に対応付けられた前記記憶領域に、
    前記第3の変更判別手段によって格納されていると判別された際には、受付けられた前記位置情報に対応付けられた前記元データを、当該第3の変更判別手段によって格納されていると判別された前記記憶領域から読み出し、
    前記第3の変更判別手段によって格納されていないと判別された際には、受付けた前記位置情報によって示される箇所におけるデータを、現時点における前記元データから読み出し、
    読み出したデータを当該位置情報と対応付けて格納する第2の変更前格納手段と、
    をさらに備えることを特徴とする請求項1〜請求項3のいずれか一つに記載のバックアップ装置。
  5. 前記第1の変更前格納手段は、前記変更受付手段によって受付けられた前記識別情報によって識別される時点と比較して前の時点を示す前記識別情報が複数ある場合に、受付けられた当該識別情報によって識別される時点に最も近い時点を識別する当該識別情報である直近識別情報に対応付けられた前記記憶領域に格納されていないと判別された場合に、受付けられた前記位置情報によって示される箇所に対して変更が実行される前に、当該直近識別情報に対応付けられた前記記憶領域に格納し、
    前記第2の変更前格納手段は、前記第3の変更判別手段によって格納されていると判別された前記記憶領域が複数ある場合に、当該複数ある記憶領域の内、前記直近識別情報に対応付けられた当該記憶領域から、受付けられた前記位置情報に対応付けられた前記元データを読み出すことを特徴とする請求項4に記載のバックアップ装置。
  6. 前記割り当て手段によって割り当てられた前記記憶領域毎に、当該記憶領域それぞれの空き容量を監視する監視手段と、
    前記空き容量が所定の閾値以下になったという監視結果が前記監視手段によって得られた場合に、監視結果が得られた前記記憶領域に対応付けられて時点を識別する情報である識別情報に対応付けて、新たに記憶領域を追加する追加手段と、
    をさらに備えたことを特徴とする請求項1〜請求項5のいずれか一つに記載のバックアップ装置。
  7. 前記追加手段によって前記記憶領域が前記識別情報に対応付けて追加される場合に、当該識別情報によって識別される時点と当該時点と最も近い時点との間における時間間隔、および/または、当該識別情報に対応付けられた前記記憶領域にデータを格納してから経過した経過時間に対する当該記憶領域に格納したデータの容量から、追加する前記記憶領域の容量を決定する容量決定手段をさらに備え、
    前記追加手段は、前記容量決定手段によって決定された容量に従って、新たに記憶領域を追加することを特徴とする請求項6に記載のバックアップ装置。
  8. 前記バックアップ装置は、所定の上限容量を有する複数の記憶媒体から構成される記憶装置を備え、当該記憶媒体各々は、それぞれ一意に識別されるものであって、
    前記追加手段は、前記空き容量が所定の閾値以下になったという監視結果が前記監視手段によって得られた場合に、前記記憶媒体から、新たに前記記憶領域を追加し、
    前記記憶媒体ごとに、前記追加手段によって追加された前記記憶領域の容量の合計を示す使用容量を記憶する容量テーブルを管理する管理手段と、
    前記管理手段によって管理される前記容量テーブルに記憶された前記記憶媒体ごとの前記使用容量が当該記憶媒体各々の所定の上限容量において占める割合を示す使用率を、当該記憶媒体各々について算出する算出手段と、
    前記算出手段によって算出された前記使用率の内、最も少ない当該使用率を示した前記記憶媒体から、前記追加手段によって追加される前記記憶領域を決定する決定手段と、
    をさらに備えたことを特徴とする請求項6または請求項7に記載のバックアップ装置。
  9. バックアップ対象となる元データについて、バックアップを実行する時点における元データを示すスナップショットを、当該バックアップを実行する時点各々について作成するバックアップ方法であって、
    前記バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる割り当てステップと、
    前記指示によって示される時点より後に前記元データが更新されると、当該指示によって示される直前の時点における当該更新が行われた箇所に対応する元データが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として前記割り当てステップによって割り当てられた前記記憶領域に格納されているかを確認する確認ステップと、
    前記確認ステップによって格納されていないと確認されると、前記更新が行われた箇所に対応する更新直前の元データを、前記最新のスナップショットを格納する記憶領域にのみ格納する格納ステップと、
    を含んだことを特徴とするバックアップ方法。
  10. バックアップ対象となる元データについて、バックアップを実行する時点における元データを示すスナップショットを、当該バックアップを実行する時点各々について作成するバックアップ方法をコンピュータに実行させるバックアッププログラムであって、
    前記バックアップを実行する指示を受付けると、当該指示によって示される時点について作成されるスナップショットを格納する記憶領域を、当該指示によって示される時点それぞれに割り当てる割り当て手順と、
    前記指示によって示される時点より後に前記元データが更新されると、当該指示によって示される直前の時点における当該更新が行われた箇所に対応する元データが、当該直前の時点について作成される最新のスナップショットを格納する記憶領域として前記割り当て手順によって割り当てられた前記記憶領域に格納されているかを確認する確認手順と、
    前記確認手順によって格納されていないと確認されると、前記更新が行われた箇所に対応する更新直前の元データを、前記最新のスナップショットを格納する記憶領域にのみ格納する格納手順と、
    をコンピュータに実行させることを特徴とするバックアッププログラム。
JP2007324030A 2007-12-14 2007-12-14 バックアップ装置、バックアップ方法およびバックアッププログラム Active JP5228466B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007324030A JP5228466B2 (ja) 2007-12-14 2007-12-14 バックアップ装置、バックアップ方法およびバックアッププログラム
US12/230,390 US8176273B2 (en) 2007-12-14 2008-08-28 Backing-up apparatus, backing-up method, and backing-up program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007324030A JP5228466B2 (ja) 2007-12-14 2007-12-14 バックアップ装置、バックアップ方法およびバックアッププログラム

Publications (2)

Publication Number Publication Date
JP2009146228A JP2009146228A (ja) 2009-07-02
JP5228466B2 true JP5228466B2 (ja) 2013-07-03

Family

ID=40754814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007324030A Active JP5228466B2 (ja) 2007-12-14 2007-12-14 バックアップ装置、バックアップ方法およびバックアッププログラム

Country Status (2)

Country Link
US (1) US8176273B2 (ja)
JP (1) JP5228466B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201011540A (en) * 2008-09-12 2010-03-16 Acer Inc Data backup system and method thereof
JP5359295B2 (ja) * 2009-01-16 2013-12-04 富士通株式会社 負荷分散装置、負荷分散方法および負荷分散プログラム
JP5039891B2 (ja) 2009-10-19 2012-10-03 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースの複製を生成する装置及び方法
JP5581776B2 (ja) 2010-03-31 2014-09-03 富士通株式会社 バックアップ装置,バックアップ方法およびバックアッププログラム
US8676763B2 (en) 2011-02-08 2014-03-18 International Business Machines Corporation Remote data protection in a networked storage computing environment
GB2502929B (en) * 2011-03-08 2020-06-03 Ibm Deleting relations between sources and space-efficient targets in multi-target architectures
JP2013029911A (ja) * 2011-07-27 2013-02-07 Fujitsu Ltd 制御装置、制御方法およびストレージ装置
JP5776474B2 (ja) 2011-09-29 2015-09-09 富士通株式会社 ストレージ装置、ストレージ制御装置およびコピー先データアクセス方法
WO2014010011A1 (ja) * 2012-07-09 2014-01-16 富士通株式会社 プログラム、データ管理方法、および情報処理装置
WO2014010016A1 (ja) * 2012-07-09 2014-01-16 富士通株式会社 プログラム、データ管理方法、および情報処理装置
JP6202026B2 (ja) * 2015-03-19 2017-09-27 日本電気株式会社 データ管理装置、データ管理方法およびデータ管理プログラム
US10621049B1 (en) * 2018-03-12 2020-04-14 Amazon Technologies, Inc. Consistent backups based on local node clock

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3856855B2 (ja) 1995-10-06 2006-12-13 三菱電機株式会社 差分バックアップ方式
JP4292882B2 (ja) * 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
JP2005050024A (ja) * 2003-07-31 2005-02-24 Toshiba Corp 計算機システムおよびプログラム
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
JP2005292865A (ja) * 2004-03-31 2005-10-20 Hitachi Ltd ストレージシステム及びストレージシステムのバックアップ方法
JP4550541B2 (ja) 2004-10-06 2010-09-22 株式会社日立製作所 ストレージシステム
JP2006209636A (ja) * 2005-01-31 2006-08-10 Hitachi Ltd スナップショット維持方法
JP4667225B2 (ja) * 2005-12-19 2011-04-06 富士通株式会社 制御装置およびコピー制御方法
JP4890033B2 (ja) * 2006-01-19 2012-03-07 株式会社日立製作所 記憶装置システム及び記憶制御方法
JP2007334709A (ja) * 2006-06-16 2007-12-27 Fujitsu Ltd ストレージ制御装置、ストレージ制御プログラム、ストレージ制御方法

Also Published As

Publication number Publication date
US8176273B2 (en) 2012-05-08
JP2009146228A (ja) 2009-07-02
US20090157990A1 (en) 2009-06-18

Similar Documents

Publication Publication Date Title
JP5228466B2 (ja) バックアップ装置、バックアップ方法およびバックアッププログラム
JP5104817B2 (ja) ストレージシステム、ストレージ制御装置及び方法
JP6437656B2 (ja) ストレージ装置、ストレージシステム、ストレージシステムの制御方法
JP5124551B2 (ja) ボリューム割り当てを管理する計算機システム及びボリューム割り当て管理方法
JP4659526B2 (ja) ストレージシステムにインストールされるプログラムのライセンスを管理する管理計算機、計算機システム及び制御方法
CN101799742B (zh) 用于在存储系统之间转移精简配置卷的方法和装置
US8250327B2 (en) Storage apparatus and its control method
JP5315348B2 (ja) シン・プロビジョニングの移行および取り消しのための方法および装置
US8639898B2 (en) Storage apparatus and data copy method
JP5056747B2 (ja) 記憶領域管理装置、記憶領域管理方法
WO2012049711A1 (en) Data migration system and data migration method
US9122415B2 (en) Storage system using real data storage area dynamic allocation method
US20110185139A1 (en) Computer system and its control method
US20110191536A1 (en) Storage system, storage apparatus, and optimization method of storage areas of storage system
US11144202B2 (en) Volume management apparatus, volume management method, and volume management program
WO2014155555A1 (ja) 管理システム及び管理プログラム
US20190095132A1 (en) Computer system having data amount reduction function and storage control method
JP2020154587A (ja) 計算機システム及びデータ管理方法
WO2018158808A1 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
US7676644B2 (en) Data processing system, storage apparatus and management console
US20210173563A1 (en) Storage system and volume copying method
JP5435234B2 (ja) ストレージ装置及びこれを用いたデータ転送方法
WO2018116392A1 (ja) 情報処理システム、及び、情報処理方法
WO2018055751A1 (ja) 計算機システム及び記憶制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130304

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5228466

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150