JP5021929B2 - 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法 - Google Patents

計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法 Download PDF

Info

Publication number
JP5021929B2
JP5021929B2 JP2005330752A JP2005330752A JP5021929B2 JP 5021929 B2 JP5021929 B2 JP 5021929B2 JP 2005330752 A JP2005330752 A JP 2005330752A JP 2005330752 A JP2005330752 A JP 2005330752A JP 5021929 B2 JP5021929 B2 JP 5021929B2
Authority
JP
Japan
Prior art keywords
journal
snapshot
specific
data
release
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
JP2005330752A
Other languages
English (en)
Other versions
JP2007140698A (ja
Inventor
渡 岡田
雅英 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005330752A priority Critical patent/JP5021929B2/ja
Priority to US11/330,321 priority patent/US20070112894A1/en
Publication of JP2007140698A publication Critical patent/JP2007140698A/ja
Application granted granted Critical
Publication of JP5021929B2 publication Critical patent/JP5021929B2/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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ホスト計算機とストレージシステムと管理計算機とからなる計算機システムに関し、特に計算機システムの構成とこの構成におけるバックアップ管理方法に関する。
一般的に情報システムでは、バックアップを取得することで、ストレージ装置の障害、コンピュータウィルスによるデータ破壊、ユーザによる誤操作などによってデータが喪失した場合に喪失したデータをリカバリできるようにしている。
また、ジャーナリングを用いたバックアップ及びリカバリ技術が提案されている(例えば、特許文献1を参照)。この特許文献1には、一つ以上のデータボリュームで構成される論理的なグループ(以降、「ジャーナルグループ」と呼ぶ)の特定時点のスナップショット(フルバックアップ、あるいは差分バックアップなどの論理的なイメージ)を取得し、ジャーナルグループに属するデータボリュームへのそれ以降の書込みデータをジャーナル(「Afterジャーナル」又は「事後ジャーナル」と呼ばれる)として保持すること、及び、取得したスナップショットに対し、書き込まれた順序どおりに一連のAfterジャーナルを適用することで、特定時点のデータをリカバリすることが開示されている。これは一般にContinuous Data Protection(CDP)と呼ばれる技術の一例である。
また、上記Afterジャーナル適用によってリカバリしたデータが既に破壊されている場合に、Afterジャーナル適用を取り消す方法も提案されている(例えば、特許文献1)。この特許文献1には、Afterジャーナル適用によって上書きされる箇所のデータを退避させておき、Afterジャーナル適用を取り消す場合、Afterジャーナル適用後のスナップショットに前記退避させたデータをもとの箇所へ適用する(退避したデータを書き戻す)ことで、短時間でAfterジャーナル適用以前のスナップショットへ復元することが開示されている。なお、この退避させたデータを「Beforeジャーナル」と呼ぶ。また、AfterジャーナルとBeforeジャーナルを区別しない場合は「ジャーナル」と呼ぶ。
上記のようなジャーナル適用によるリカバリにかかる時間は、適用するジャーナルのデータ量に依存する。前記の特許文献1には、複数世代のスナップショットを周期的に取得し、特定時点のデータをリカバリする際、その時点の近傍で取得されたスナップショットを起点に一連のジャーナルを適用していくことで、リカバリ時間を短縮することが開示されている。
また、ジャーナリングを用いたバックアップでは、書き込まれたデータ量に依存して、保持すべきジャーナルが増える。一方、ジャーナルを格納しておくジャーナルボリュームの容量は有限であるため、いずれジャーナルボリュームを使い切ってしまう。このため、古いジャーナルを開放(削除)する技術が提案されている。前記の特許文献1には、不要なジャーナルを開放する際、その不要なジャーナルを直前のスナップショットに適用してから開放することで、不要なジャーナル以降のジャーナルをスナップショットに適用できる状態を維持するジャーナル開放方式が開示されている。
米国特許公開明細書2005/0015416
一般に、ジャーナリングによるバックアップでは、ジャーナルを用いたリカバリが可能な期間の長さ(たとえば、過去24時間など)に応じて保持すべきジャーナルが増大するため、ジャーナリングによるバックアップは中長期のバックアップには適さない。そこで、一定容量のジャーナルボリュームにジャーナルを格納しきれなくなった場合、古いジャーナルから開放し、リカバリ時には、残ったジャーナルによって可能な範囲においてのみジャーナルを用いたリカバリを行い、それ以前のデータのリカバリに関しては特定の時点に取得したスナップショットのみを利用して行うといった、フルバックアップや差分バックアップとの連携運用が望まれる。たとえば、10Gバイトの容量を持つジャーナルボリュームに格納できる範囲でジャーナルを用いたリカバリを行い、それ以前のデータは毎日12時に取得されたスナップショット(たとえば、フルバックアップ)によりリカバリを行うといった連携運用である。上記の特許文献1によるジャーナル開放方式は、特定の時点のジャーナルグループのスナップショットを他時点のスナップショットへ更新してしまうため、前記連携運用には適用できない。一方、スナップショットを更新せずにジャーナルを開放すると、開放対象ジャーナルが適用された後のスナップショットにのみ適用できるジャーナル(以降、「開放対象ジャーナルに依存するジャーナル」もしくは「開放対象ジャーナル依存ジャーナル」と呼ぶ)が利用不可能なジャーナルとなり、このようなジャーナルがジャーナルボリュームを無駄に占有してしまうという問題が発生する。
同様に、ジャーナリングを用いたバックアップでは、複数世代のスナップショットを周期的に取得するが、スナップショットを格納するボリュームは有限であるため、新規スナップショットを取得する際、古いスナップショットは開放される必要がある。しかし、単純に古いスナップショットを開放すると、そのスナップショットにのみ適用可能なジャーナル(以降、「開放対象スナップショットに依存するジャーナル」もしくは「開放対象スナップショット依存ジャーナル」と呼ぶ)は適用先を持たない利用不可能なジャーナルとなり、このようなジャーナルがジャーナルボリュームを無駄に占有してしまうという問題が発生する。
本発明は、前記の課題を解決するためになされたものであり、スナップショットもしくはジャーナルを開放する際、開放対象依存ジャーナル(開放対象ジャーナル依存ジャーナル又は開放対象スナップショット依存ジャーナル)を一緒に開放するか、もしくは、リカバリポイントを維持するために開放対象依存ジャーナルに対応するジャーナルを作成してから、開放対象依存ジャーナルを一緒に開放することで、効率的なジャーナルボリュームの利用を可能とする計算機システム及びバックアップ管理方法を提供することを目的とする。
本発明は、1または複数のホスト計算機と、該ホスト計算機がデータの読み書きを行うデータボリュームを有するディスク装置を備えるストレージシステムと、前記ホスト計算機及び前記ストレージシステムと接続する管理計算機とを具備する計算機システムにおいて、前記ストレージシステムは、前記データボリュームの特定の時点のスナップショットを取得し、前記特定時点以降の書込みをジャーナルとして保持し、リカバリ時にリカバリポイントの近傍の時点で取得されたスナップショットを基底にして、該スナップショットに前記ジャーナルを適用することでリカバリを行い、スナップショットもしくはジャーナルを開放する際に、リカバリ時に基底となるスナップショットとそれに適用するジャーナルの順序の決定に用いる順序関係を用いて、開放対象スナップショットもしくはジャーナルに依存するジャーナルを特定し、特定した依存するジャーナルを前記開放対象スナップショットもしくはジャーナルとともに開放する計算機システムである。
本発明によると、ジャーナルもしくはスナップショットを開放する際、利用不可能なジャーナルがジャーナルボリュームに残らなくなるため、効率的なジャーナルボリュームの利用が可能となる。
本発明を実施するための最良の形態を説明する。
以下、本発明の計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法の実施形態及び実施例について、図面を参照しながら説明する。なお、これにより本発明が限定されるものではない。
本発明の実施形態において、ジャーナリングを用いたバックアップ及びリストアを制御する制御部を有するストレージシステムに、スナップショット・JNL管理プログラムとリカバリポイント管理情報を搭載する。また、ジャーナリングを用いたバックアップ及びリストアを管理する管理計算機に設定プログラム、バックアッププログラム、JNL開放プログラムを搭載する。本発明のストレージシステムは、1または複数のストレージ装置からなり、以下、ストレージ装置で説明する場合がある。
前記設定プログラムによって、スナップショットもしくはジャーナル開放時に、開放対象に依存するジャーナルが持つリカバリポイントを維持するために対応するジャーナルを作成するかを判定するルールを前記リカバリポイント管理情報に登録する。
新規スナップショットを取得する際に、前記バックアッププログラムは前記スナップショット・JNL管理プログラムに既存のスナップショットの開放を要求する。前記スナップショット・JNL管理プログラムは、この要求を受け付け、リカバリ時に基底となるスナップショットとそれに適用するジャーナルの順序の決定に用いる順序関係を用いて、開放対象スナップショットに依存するジャーナルを特定し、前記リカバリポイント管理情報に登録されたルールに従いリカバリポイントを維持する場合は対応するジャーナルを作成し、開放対象スナップショットとともに依存するジャーナルを開放する。
また、ジャーナル開放時には、前記JNL開放プログラムは前記スナップショット・JNL管理プログラムにジャーナルの開放を要求する。前記スナップショット・JNL管理プログラムは、この要求を受け付け、リカバリ時に基底となるスナップショットとそれに適用するジャーナルの順序の決定に用いる順序関係を用いて、開放対象ジャーナルに依存するジャーナルを特定し、前記リカバリポイント管理情報に登録されたルールに従いリカバリポイントを維持する場合は対応するジャーナルを作成し、開放対象スナップショットとともに依存するジャーナルを開放する。
本発明の実施形態におけるジャーナルを開放する際の処理の一例について、図19を用いて説明する。図19(a)は、Beforeジャーナルを作成しない場合であり、開放対象のジャーナルに対し、依存するジャーナル(JNL)を特定し、同時に開放する。依存するジャーナルは、開放対象のジャーナルが開放されることで利用不可能となるジャーナルである。これにより、保持するジャーナル量を削減することができる。図19(b)は、Beforeジャーナルを作成する場合であり、開放対象のジャーナルに対し、依存するジャーナル(JNL)を特定し、開放する際に、Beforeジャーナルを作成する。その後、依存するジャーナル開放する。上記2つの処理は、ユーザのポリシーやジャーナルボリュームの空き容量などに応じて切り替えることもできる。
本発明の実施形態におけるスナップショットを開放する際の処理の一例について、図20を用いて説明する。図20(a)は、Beforeジャーナルを作成しない場合であり、開放対象のスナップショットに対し、依存するジャーナル(JNL)を特定し、同時に開放する。依存するジャーナルは、開放対象のスナップショットが開放されることで利用不可能となるジャーナルである。これにより、保持するジャーナル量を削減することができる。図20(b)は、Beforeジャーナルを作成する場合であり、開放対象のスナップショットに対し、依存するジャーナル(JNL)を特定し、開放する際に、Beforeジャーナルを作成する。その後、依存するジャーナル開放する。上記2つの処理は、ユーザのポリシーやジャーナルボリュームの空き容量などに応じて切り替えることもできる。開放対象スナップショットは、新しいスナップショットを作成する際などに開放される。
なお、実施例の説明では、特定時点のデータをリカバリする際に管理者が指定する時点のことを「リカバリポイント」と呼ぶ。また、スナップショットに一連のジャーナルを適用して指定されたリカバリポイントのデータをリカバリするときに、最後に適用するジャーナルと指定されたリカバリポイントとの関係を、「(前記)ジャーナルが(前記)リカバリポイントを持つ」と言う。スナップショットにジャーナルを適用せずにリカバリできる場合は、前記スナップショットと指定されたリカバリポイントの関係は、「(前記)スナップショットが(前記)リカバリポイントを持つ」と言う。さらに、特定のジャーナルを適用する際に、適用を取り消すために上書きされる箇所のデータを退避させて作成したジャーナルを、「対応するジャーナル」又は「退避ジャーナル」と呼ぶ。
(1)実施例1のシステム構成
図1は、本発明の第1の実施形態の計算機システムの構成を示すブロック図である。本システムでは、ストレージ装置1000とホスト計算機1100がデータネットワーク1300で互いに接続される。本実施例では、データネットワーク1300はストレージエリアネットワークとするが、IPネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。
ストレージ装置1000とホスト計算機1100は、管理ネットワーク1400を介して管理計算機1200と接続される。本実施例では、管理ネットワーク1400はIPネットワークとするが、ストレージエリアネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。また、データネットワーク1300と管理ネットワーク1400が同一ネットワークであってもよいし、管理計算機1200とホスト計算機1100は同一計算機であってもかまわない。なお、説明の都合上、図1では、ストレージ装置1000を1台、ホスト計算機1100を1台、管理計算機1200を1台としたが、本発明では、これらの数は問わない。
ストレージ装置1000は、データを格納するディスク装置1010、ストレージ内の制御を行うディスクコントローラ1020で構成されている。
ディスク装置1010は、ジャーナルグループ1014、SSVOLグループ1015、ジャーナルボリューム1013を備えている。
ジャーナルグループ1014は、一つ以上のデータボリューム1011により構成される。データボリューム1011は、ホスト計算機1100によって利用されるデータを格納する論理ボリュームである。ホスト計算機1100からジャーナルグループ1014に属するデータボリューム1011への書き込みは、後述するストレージマイクロプログラム1028により、書き込まれた順序に従い適切な順序番号を付与されたAfterジャーナルとして、ジャーナルグループ1014に関連付けられたジャーナルボリューム1013に格納される。
SSVOLグループ1015は、ある時点におけるジャーナルグループ1014の複製イメージ(スナップショット)を格納する。図1において、単一のジャーナルグループ1014に対して、SSVOLグループ1015は一つ(1世代)しか示されていないが、管理者の要求に応じて、単一のジャーナルグループ1014に対して複数個(複数世代)設置することができる。SSVOLグループ1015は、一つ以上のスナップショットボリューム1012で構成される。スナップショットボリューム1012は、ある時点におけるデータボリューム1011の複製イメージを格納する。なお、スナップショットボリューム1012に格納される複製イメージは、システムに対する要求や実装等に応じて、データボリューム1011のフルバックアップであっても、差分バックアップのような論理的なイメージでも良い。
ジャーナルボリューム1013は、Afterジャーナル及びBeforeジャーナルを格納するボリュームである。ジャーナルボリューム1013の構成は後述する。
なお、説明の都合上、図1では、ジャーナルグループ1014を一つ、ジャーナルボリューム1013を一つとしたが、本発明では、これらの数は問わない。
ディスクコントローラ1020には、ホストI/F1022、管理I/F1026、ディスクI/F1025、メインメモリ1021、CPU1023、タイマ1024が設けられている。
メインメモリ1021には、管理テーブル1029、ストレージマイクロプログラム1028、スナップショット・JNL管理プログラム1030、リカバリポイント管理情報1031が記憶されている。CPU1023は、メインメモリ1021に記憶された各種プログラムを実行する。
ストレージマイクロプログラム1028は、スナップショットの取得、AfterジャーナルとBeforeジャーナルの生成、ジャーナルを用いたリカバリ、ジャーナルの開放など従来技術で述べたジャーナリングを用いたバックアップ及びリカバリの各種機能を制御する。このとき、ストレージマイクロプログラム1028は、管理テーブル1029の情報を参照または更新しながら制御を行う。また、ストレージマイクロプログラム1028は、管理計算機1200やホスト計算機1100からの要求に基づき、ディスク装置1010に対するデータの入出力の制御、ストレージ装置1000内の制御情報の設定や提供などの各種制御を行う。なお、実施例において、プログラムを主語にして説明する場合が有るが、実際には、そのプログラムを実行する処理部(ストレージ装置1000におけるCPU1023、ホスト計算機1100のCPU1130、管理計算機1200のCPU1240)が処理を実行している。
タイマ1024は、現在時刻を提供する機能を持つ一般的なタイマである。Afterジャーナル作成時やスナップショット取得時に、ストレージマイクロプログラム1028によって参照される。
スナップショット・JNL管理プログラム1030は、後述するバックアッププログラム1263及びJNL開放プログラム1262の要求に応じて、スナップショットもしくはジャーナルを開放する。このとき、スナップショット・JNL管理プログラム1030は、開放対象に依存するジャーナルを特定し、後述するリカバリポイント管理情報1031に応じて、特定したジャーナルを開放対象と一緒に開放するか、リカバリポイントを維持するために特定したジャーナルに対応するジャーナルを作成した後に特定したジャーナルを開放対象と一緒に開放する。
ホストI/F1022は、データネットワーク1300に対するインタフェースであって、ホスト計算機1100とデータや制御命令の送受信を行う。管理I/F1026は、管理ネットワーク1400とのインタフェースであって、ホスト計算機1100及び管理計算機1200とデータや制御命令の送受信を行う。ディスクI/F1025は、ディスク装置1010に対するインタフェースであって、データや制御命令の送受信を行う。
管理テーブル1029の構成及びリカバリポイント管理情報1031の構成については後述する。
ホスト計算機1100は、キーボードやマウスなどの入力装置1140、CPU1130、CRTなどの表示装置1120、メモリ1160、ストレージI/F1110、管理I/F1150、及びローカルディスク1170からなる。
ストレージI/F1110は、データネットワーク1300に対するインタフェースであって、ストレージ装置1000とデータや制御命令の送受信を行う。管理I/F1150は、データネットワーク1300に対するインタフェースであって、システム管理のために管理計算機1200及びストレージ装置1000とデータや制御命令の送受信を行う。
メモリ1160には、アプリケーション1163、リカバリマネージャ1162、情報収集エージェント1161が搭載されており、CPU1130がこれらを実行する。
アプリケーション1163は、データボリューム1011に対してデータを読み書きするアプリケーションであり、たとえば、DBMSやファイルシステムなどである。
リカバリマネージャ1162は、ストレージマイクロプログラム1028に対するスナップショット取得の要求、ストレージマイクロプログラム1028に対する特定時点のデータのリカバリの要求、アプリケーション1163の静止化を行う。これらの機能は、管理者や他のプログラムから実行できるようにコマンドラインインターフェース(以降、「CLI」と呼ぶ)などで提供される。また、リカバリマネージャ1162は、ジャーナリングを用いたバックアップに関する設定を、データネットワーク1300を介して管理テーブル1029に設定する機能も有しており、管理者がこの機能を利用するためのCLIも提供する。
ローカルディスク1170は、ホスト計算機1100に直接接続されたハードディスクなどのディスク装置であり、図示していないシステム構成定義ファイルなどを格納している。このシステム構成定義ファイルは、アプリケーション1163がどのデータボリューム1011利用するか、データボリューム1011がどのジャーナルグループ1014に属すかといったシステムの構成定義が記述してある。このシステム構成定義ファイルは、管理者がシステム構築時に記述するものであり、たとえば、一般的なLinux(登録商標)オペレーティングシステムで用いられる/etc/fstabファイル等である。
情報収集エージェント1161は、ホスト計算機1100のシステム構成情報を収集するプログラムである。情報収集エージェント1161は、後述する管理計算機1200の設定プログラム1265の要求に応じて、前記ローカルディスク1170に格納されるシステム構成定義ファイルからアプリケーション1163が利用しているジャーナルグループ1014が属するストレージ装置1000とジャーナルグループ1014を特定し、特定したストレージ装置1000の識別子とジャーナルグループ1014の識別子を設定プログラム1265に返す。
なお、説明の都合上、図1では、アプリケーション1163を一つとしたが、本発明では、この数は問わない。
管理計算機1200は、キーボードやマウスなどの入力装置1240、CPU1230、CRTなどの表示装置1220、メモリ1250、ローカルディスク1260、システム管理のためにホスト計算機1200及びストレージ装置1000とデータや制御命令を送受信する管理I/F1210からなる。
管理計算機1200のメモリ1250には、設定プログラム1265、バックアップ管理情報1264、バックアッププログラム1263、JNL開放プログラム1262が記憶されている。CPU1230は、メモリ1250に記憶された各プログラムを実行することで各機能を実現する。
設定プログラム1265は、本システムの管理情報を設定するためのグラフィカルユーザインタフェース(GUI)を提供し、そこで入力された値を元に、リカバリポイント管理情報1031、バックアップ管理情報1264を設定するプログラムである。
バックアッププログラム1263は、従来のバックアップソフトウェアと同様に、管理者により定義されたバックアップスケジュールに従い、新規スナップショットを取得する。ただし、新規スナップショットの格納先となるSSVOLグループ1015に既にスナップショットが格納されている場合、バックアッププログラム1263は、格納されているスナップショットの開放をスナップショット・JNL管理プログラム1030に要求してから、新規スナップショットを取得する。
JNL開放プログラム1262は、周期的に、ストレージマイクロプログラム1028にジャーナルボリュームの利用量を問い合わせ、利用量が一定の閾値を超えていた場合、ジャーナルを開放するようスナップショット・JNL管理プログラム1030に要求する。
ローカルディスク1260は、管理計算機1200に直接接続されたハードディスクなどのディスク装置であり、図示していないルール定義ファイルなどを格納している。前記ルール定義ファイルは、スナップショットやジャーナルを開放する際に、リカバリポイントを維持するために開放対象に依存するジャーナルに対応するジャーナルを作成するか否かを決定するルールが定義されているファイルである。たとえば、「CDP適用時間=過去24時間」などと記述され、これは、「現在から見て過去24時間以内のリカバリポイントを持つジャーナルが開放対象に依存している場合、対応するジャーナルを作成する」ということを意味する。
バックアップ管理情報1264の構成は後述する。
図2は、本実施の形態におけるジャーナルボリューム1013の構成の一例である。ジャーナルボリューム1013は、論理的にジャーナルヘッダ領域2010とジャーナルデータ領域2020に分割される。
ジャーナルボリューム1013に格納される際、ジャーナルは、ジャーナルヘッダ2011とジャーナルデータ2021に分割され、ジャーナルボリューム1013に格納される。ジャーナルヘッダ2011はジャーナルヘッダ領域2010に格納され、ジャーナルデータ2021はジャーナルデータ領域2020に格納される。
ジャーナルデータ2021は、ジャーナルを適用する際にデータボリューム1011に書き込むデータであり、ジャーナルヘッダ2011は、このジャーナルデータ2021に関する情報を保持する。
ジャーナルヘッダ2011は、データボリュームID2101、書き込み先アドレス2102、データ長2103、生成時刻2104、順序番号2105、AJNLボリュームID2106、AJNL格納アドレス2107、BJNLボリュームID2108、BJNL格納アドレス2109を持つ。
データボリュームID2101は、ジャーナル適用時のジャーナルデータの書き込み先となるデータボリューム1011の識別子を保持する。書き込み先アドレス2102は、ジャーナル適用時のジャーナルデータの書き込み先となるアドレスを保持する。データ長2103は、書き込みデータの長さを保持する。これらの値は、ストレージマイクロプログラム1028が、ホスト計算機1100からの書込み要求を解析することで取得し、設定する値である。
生成時刻2104は、ホスト計算機1100からの書込み要求がストレージ装置1000に到着した時刻を保持する。生成時刻2104の値は、ストレージマイクロプログラム1028が、ディスクコントローラ1020のタイマ1024から取得し、設定するものである。生成時刻2104は、リカバリを行う際、管理者が指定するリカバリポイントとなる。なお、別の実施形態として、本値は書込み要求内に含まれる書込み発行時刻でも良い。たとえば、メインフレーム環境では、複数のメインフレームホストがタイマを共有しており、書き込みコマンドを発行する時刻を提供することができるため、これを利用することも可能である。
順序番号2105は、リカバリの際に、どのスナップショットにどのジャーナルを適用すべきかを決定するための順序番号を保持する。順序番号2105の値は、ホスト計算機1100からの書込みに対してAfterジャーナルを作成する際、ストレージマイクロプログラム1028が、後述するジャーナルグループテーブル3000の順序カウンタ3003が保持する値を取得し、設定するものである。
AJNLボリュームID2106は、Afterジャーナルのジャーナルデータを格納しているボリュームの識別子を保持する。AJNL格納アドレス2107は、Afterジャーナルのジャーナルデータが格納されているアドレスを保持する。これらの値は、Afterジャーナル作成時に、ストレージマイクロプログラム1028が設定するものである。また、Afterジャーナルのジャーナルデータを開放した場合、ストレージマイクロプログラム1028が、AJNLボリュームID2106にNULLを、AJNL格納アドレス2107にNULLを設定する。
BJNLボリュームID2108は、Beforeジャーナルのジャーナルデータを格納しているボリュームの識別子を保持する。BJNL格納アドレス2109は、Beforeジャーナルのジャーナルデータが格納されているアドレスを保持する。これらの値は、Beforeジャーナル作成時に、ストレージマイクロプログラム1028が設定するものである。また、Beforeジャーナルのジャーナルデータを開放した場合、ストレージマイクロプログラム1028が、BJNLボリュームID2108にNULLを、BJNL格納アドレス2109にNULLを設定する。
AJNLボリュームID2106、AJNL格納アドレス2107、BJNLボリュームID2108、BJNL格納アドレス2109の全てがNULLの場合、ストレージマイクロプログラム1028が当該ジャーナルヘッダを開放する。
ジャーナルヘッダ2011は、ホスト計算機1100から書込みに対して、後述するストレージマイクロプログラム1028がAfterジャーナルを作成した時にのみ作成される。すなわち、Beforeジャーナル作成時には、Beforeジャーナルのジャーナルデータ2021が格納されたボリュームの識別子をBJNLボリュームID2108に、格納されたアドレスをBJNL格納アドレス2109に設定することになる。同様に、一度開放したAfterジャーナルを再作成する場合、Afterジャーナルのジャーナルデータ2021が格納されたボリュームの識別子をAJNLボリュームID2106に、格納されたアドレスをAJNL格納アドレス2107に設定することとなる。
図3から図5は管理テーブル1029を構成するテーブル群である。図3は、管理テーブル1029を構成するジャーナルグループテーブル3000である。ジャーナルグループテーブル3000は、ジャーナルグループの識別子を保持するJNLグループID3001、順序カウンタ3003、最新のジャーナルヘッダの格納先ボリュームの識別子を保持する最新JNLヘッダ格納VOLID3004、最新のジャーナルヘッダの格納先アドレスを保持する最新JNLヘッダ格納アドレス3005、最古のジャーナルヘッダの格納先ボリュームの識別子を保持する最古JNLヘッダ格納VOLID3006、最古のジャーナルヘッダの格納先アドレスを保持する最古JNLヘッダ格納アドレス3007を持つ。
JNLグループID3001の値は、リカバリマネージャ1162が提供するCLIを用いて、管理者が設定するものである。たとえば、管理者は「CreateJG−id JNLG_01」のようなコマンドを発行する。これは、JNLG_01という識別子のジャーナルグループを作成するという要求になる。このJNLG_01という値がJNLグループID3001に格納される。
順序カウンタ3003は、ジャーナル及びスナップショット作成順序を管理するための番号である。順序カウンタ3003の値は、ホスト計算機1100からの書込みに対してAfterジャーナルが生成されるたびに、ストレージマイクロプログラム1028によって1だけ加算され、加算後の値が順序番号2105にコピーされる。また、順序カウンタ3003の値は、スナップショットを取得するたびに、ストレージマイクロプログラム1028によって、後述するスナップショットテーブル5000の順序番号5003にコピーされる。この処理により、スナップショットと各ジャーナルの順序関係が記録され、リカバリの際にスナップショットに適用すべきジャーナルが特定できる。具体的には、特定のスナップショットにAfterジャーナルを適用してリカバリを行う場合、スナップショットの順序番号より大きく且つ指定されたリカバリポイントを持つジャーナルの順序番号以下の順序番号を持つジャーナルを順序番号に従って適用することでリカバリが行われる。逆に、特定のスナップショットにBeforeジャーナルを適用する場合、スナップショットの順序番号以下且つ指定されたリカバリポイントを持つジャーナルの順序番号より大きな順序番号を持つジャーナルを順序番号の大きい順に適用することでリカバリが行われる。
最新JNLヘッダ格納VOLID3004、最新JNLヘッダ格納アドレス3005、最古JNLヘッダ格納VOLID3006、最古JNLヘッダ格納アドレス3007は、新規ジャーナルヘッダを格納するボリュームやアドレスの決定、削除するジャーナルの特定のために利用され、新規ジャーナルヘッダ作成時やジャーナル削除時にストレージマイクロプログラム1028によって更新される。
図4は、管理テーブル1029を構成するジャーナルボリュームテーブル4000の一例である。ジャーナルボリュームテーブル4000は、ジャーナルグループに関連付けられるジャーナルボリュームを示すテーブルである。ジャーナルボリュームテーブル4000は、ジャーナルグループの識別子を保持するJNLグループID4001、そのジャーナルグループに関連付けられたボリュームの識別子を保持するボリュームID4002、そのボリュームの記憶容量を保持する容量4003、順序4004からなる。
順序4004の値は、JNLグループID4001に対応付けられたジャーナルボリュームを利用する順序を規定している。図4のJNLG_01において、ストレージマイクロプログラム1028は、J−VOL_01を使い終わった後、次にJ−VOL_03を利用することになる。また、最後のボリュームを使い切った場合、ストレージマイクロプログラム1028は、最初のボリュームを再利用するようにして、循環して各ボリュームを使いまわす。
ボリュームID4002とJNLグループID4001は、リカバリマネージャ1162が提供するCLIを用いて、管理者が関連付ける。たとえば、管理者は「addJVOL−jgid JNLG_01 −jvolid J−VOL_01」のようなコマンドを発行する。これはJNLG_01という識別子のジャーナルグループにJ−VOL_01という識別子を持つボリュームを追加するという要求になる。このJNLG_01がJNLグループID4001に格納され、J−VOL_01の値がボリュームID4002に格納される。複数のボリュームを単一のジャーナルグループに関連付ける場合は、上記のコマンドをボリュームのIDを変えて複数回実行する。なお、順序4004の値は、ジャーナルグループ毎にボリュームを関連付けた(コマンドを発行した)順番どおりに、1、2、3・・・と1から順番に自然数が振り振られる。容量4003は、ボリュームID4002の値で識別されるボリュームの容量を、ストレージマイクロプログラム1028から取得することで、設定する。
図5は、管理テーブル1029を構成するスナップショットテーブル5000の一例である。スナップショットテーブル5000は、取得したスナップショットを管理するためのテーブルである。スナップショットテーブル5000は、取得対象のジャーナルグループの識別子を保持するJNLグループID5001、スナップショットを格納するSSVOLグループの識別子を保持するSSVOLグループID5002、スナップショットが取得された順序を示す順序番号5003、取得時刻5004を持つ。
JNLグループID5001とSSVOLグループID5002との対応関係は、リカバリマネージャ1162が提供するCLIを用いて、管理者が関連付ける。たとえば、管理者は「addSSVOLG−jgid JNLG_01−ssvolgid SS_01」のようなコマンドを発行する。これは、JNLG_01という識別子のジャーナルグループにSS_01という識別子を持つSSVOLグループを追加するという要求になる。このJNLG_01がJNLグループID5001に格納され、SS_01の値がSSVOLグループID5002に格納される。なお、複数世代のスナップショットを設定する場合は、上記コマンドを複数回実行する。順序番号5003は、スナップショットを取得するたびに、ストレージマイクロプログラム1028によってジャーナルグループテーブル3000の順序カウンタ3003からコピーされる。
取得時刻5004は、リカバリマネージャ1162からのスナップショット取得要求がストレージ装置1000に到着した時刻を保持する。取得時刻5004の値は、ジャーナルヘッダの生成時刻2104と同様に、ストレージマイクロプログラム1028が、ディスクコントローラ1020のタイマ1024から、あるいはスナップショット取得要求から取得し、設定するものである。
なお、スナップショットを開放する際には、ストレージマイクロプログラム1028が順序番号5003及び取得時刻5004にNULLを設定する。
以上が、管理テーブル1029を構成するテーブル群の一例である。
図6から図8は、バックアップ管理情報1264を構成するテーブル群の一例である。図6は、バックアップ管理情報1264を構成するアプリケーションテーブル6000である。アプリケーションテーブル6000は、バックアップ管理を行うための情報を格納するテーブルであり、バックアップ対象アプリケーションの識別子を保持するアプリケーションID6001、IPアドレスなどのアプリケーションが起動しているホスト計算機の識別子を保持するホストアドレス6002、アプリケーションが利用するジャーナルグループが属しているストレージの識別子を保持するストレージID6003、アプリケーションが利用するジャーナルグループの識別子を保持するJNLグループID6004、ジャーナルボリュームの使用量を監視する周期を保持するJVOL監視周期6005、ジャーナル開放を始めるジャーナルボリューム使用量を示す値を保持するJVOL閾値6006を持つ。
アプリケーションID6001、ホストアドレス6002、JVOL監視周期6005、JVOL閾値6006の値は、設定プログラム1265が提供するGUIを介して管理者によって設定される。
ストレージID6003及びJNLグループID6004は、アプリケーションが利用するジャーナルグループの対応関係を示しており、設定プログラム1265が情報収集エージェント1161から取得する情報である。ストレージID6003は、シリアル番号等のストレージ装置を一意に識別するためのIDである。
図7は、バックアップ管理情報1264を構成するスナップショット管理テーブル7000の一例である。スナップショット管理テーブル7000は、スナップショットの管理を行うための情報を格納するテーブルである。スナップショット取得対象となるアプリケーションの識別子を保持するアプリケーションID7004、IPアドレスなどのアプリケーションが起動しているホスト計算機を識別する識別子を保持するホストアドレス7001、スナップショットを格納するボリュームを示すSSVOLグループID7002、スナップショットの取得時刻7003を持つ。
アプリケーションID7004及びホストアドレス7001とSSVOLグループID7002の対応関係は、設定プログラム1265が設定する。
取得時刻7003の値は、バックアッププログラム1263が管理者指定のバックアップスケジュールに基づきスナップショットを取得した時に、バックアッププログラム1263によって設定される。なお、スナップショットが格納されていない場合(初期状態で)は、0が設定されている。
図8は、バックアップ管理情報1264を構成するストレージテーブル8000の一例である。ストレージテーブル8000は、ストレージID8001、IPアドレス8002からなる。ストレージID8001は、シリアルナンバーなどのストレージ装置を一意に識別するための識別子を保持する。IPアドレス8002は、管理I/Fのネットワークのアドレスを保持する。この二つの値はどちらとも、設定プログラム1265が提供するGUIを介して管理者によって設定される。
図9は、リカバリポイント管理情報1031を構成するルールテーブル9000の一例である。ルールテーブル9000は、JNLグループID9001、ルール9002からなる。JNLグループID9001は、ルールを適用するジャーナルグループの識別子を保持する。ルール9002は、ローカルディスク1260に格納されているルール定義ファイルの内容を表した文字列を保持する。これらの値は、設定プログラム1265によって設定される。
(2)実施例1の動作
まず、設定プログラム1265の動作について説明する。図10A及び図10Bは設定プログラム1265がシステム設定用に提供するGUIの一例である。図10Aのストレージ装置情報設定画面10100は、管理者がストレージ装置の情報を設定する際に、設定プログラム1265にCLIなどで要求し表示させる画面の一例である。ストレージ装置ID10101は、シリアルナンバーなどのストレージ装置を識別するIDを入力するフィールドである。IPアドレス10102は、ストレージ装置ID10101で示されるストレージ装置の管理I/Fに接続するためのIPアドレスを入力するフィールドである。
追加10110、削除10111、実行10112、取り消し10113は、ボタンである。
ストレージ装置情報設定画面10100において、ストレージ装置ID10101、IPアドレス10102、削除10111は三つで一つのカラムを構成する。削除10111を押下すると、押下された削除10111が属するカラムをストレージ装置情報設定画面10100から削除することができる。追加10110を押下すると、ストレージ装置情報設定画面10100上に前記カラムをストレージ装置情報設定画面10100上に増加させることができる。取り消し10113を押下すると、設定プログラム1265は何もせずに終了する。実行10112を押下すると、設定プログラム1265が、入力されているストレージ装置ID10101の値とIPアドレス10102の値の組を、ストレージテーブル8000のストレージID8001とIPアドレス8002に設定する。
図10Bのバックアップ対象アプリケーション情報設定画面10200は、管理者がバックアップ対象アプリケーションの情報を設定する際に、設定プログラム1265にCLIなどで要求し表示させる画面の一例である。アプリケーションID10201は、バックアップ対象となるアプリケーションを一意に識別するためのIDを入力するフィールドである。ホストアドレス10202は、バックアップ対象となるアプリケーションが起動しているホスト計算機のIPアドレスを入力するフィールドである。JVOL監視周期(秒)10203は、ジャーナルボリューム監視周期を入力するフィールドである。ここでは、単位を秒としているが、これ以外の単位であってもよい。JVOL利用量閾値10204は、ジャーナル開放を実行するトリガとなる閾値を入力するフィールドである。ルール10205は、前記ローカルディスク1260に格納されたルール定義ファイル名を入力するフィールドである。実行10210、取り消し10211は、ボタンである。
取り消し10211を押下すると、設定プログラム1265は何もせずに終了する。実行10210を押下すると、図11に示すフローで情報の設定を行う。
次に、図11を参照しながら、図10Bの画面において、実行10210ボタンを押下したときの設定プログラム1265と、設定プログラム1265によって途中で呼び出される情報収集エージェント1161の動作の一例を説明する。まず、設定プログラム1265は、アプリケーション10201の値をアプリケーションテーブル6000のアプリケーションID6001に、ホストアドレス10202の値をアプリケーションテーブル6000のホストアドレス6002に、JVOL監視周期(秒)10203の値をアプリケーションテーブル6000のJVOL監視周期(秒)6005に、JVOL利用量閾値10204の値をアプリケーションテーブル6000のJVOL閾値6006に設定する(ステップ11010)。
次に、設定プログラム1265は、ホストアドレス6002で示されるホスト計算機に接続し、情報収集エージェント1161にアプリケーションとジャーナルグループの対応情報を要求する(ステップ11020)。
情報収集エージェント1161は、前記ローカルディスク1170に格納されたシステム構成定義ファイルからアプリケーションが利用するデータボリュームを特定し、そのデータボリュームが属するジャーナルグループとそのジャーナルグループが属するストレージ装置を特定する。その後、アプリケーションの識別子、そのアプリケーションが利用するデータボリュームが属するジャーナルグループの識別子、そのジャーナルグループが属するストレージ装置の識別子を設定プログラム1265に返す(ステップ11030)。
設定プログラム1265は、そのアプリケーションが利用するデータボリュームが属するジャーナルグループの識別子をJNLグループID6004へ、そのジャーナルグループが属するストレージ装置をストレージID6003に設定する(ステップ11040)。
次に、ストレージID6003の値をキーにストレージテーブル8000から、ストレージ装置の管理I/FのIPアドレスを取得し、ルール10205で示されたルール定義ファイルの内容を、JNLグループID6004の値と対応させてルールテーブル9000に設定するようにストレージマイクロプログラム1028に要求する(ステップ11050)。
最後に、ストレージ装置へ接続し、スナップショットテーブル5000のジャーナルグループ5001とSSVOLグループID5002の対応関係をストレージマイクロプログラム1028から取得し、スナップショット管理テーブル7000に設定する(ステップ11060)。以上が、設定プログラムの動きである。
次に、図12を参照しながら、バックアッププログラム1263の動作の一例について説明する。まず、バックアッププログラム1263は、バックアップスケジュールに従い、スナップショット取得タイミングまで待機する(ステップ12010)。
スナップショット取得タイミングになると、バックアッププログラム1263は、バックアップスケジュールに定義されている新規スナップショット格納先SSVOLグループに既存のスナップショットが格納されているか判定する(ステップ12020)。ここでは、新規スナップショット格納先SSVOLグループの識別子を用いてスナップショット管理テーブル7000の取得時刻7003の値を取得し、この値が0であれば格納されておらず、0以外の場合格納されていると判定する。
既存のスナップショットが格納されている場合、スナップショット・JNL管理プログラム1030に対して既存のスナップショットの開放を要求する(ステップ12030)。このとき、接続先となるストレージ装置のIPアドレスは、アプリケーションテーブル6000及びストレージテーブル8000を利用して算出できることは明らかである。なお、本要求を受け付けたときのスナップショット・JNL管理プログラム1030の動作については後述する。一方、既存のスナップショットが格納されていない場合、ステップ12030をスキップする。
その後、バックアッププログラム1263は、新規スナップショットを取得する(ステップ12040)。ここでの処理は、リカバリマネージャ1162に対する、アプリケーションの静止化、新規スナップショットの取得、静止化の解除といった、従来のバックアッププログラムでも行われる一連の要求の発行となる。
新規スナップショット取得が終了すると、ステップ12010へ戻り、次のスナップショット取得タイミングまで待機する。以上が、バックアッププログラム1263の動作の説明である。
次に、図13を用いて、バックアッププログラム1263にスナップショット開放を要求されたときのスナップショット・JNL管理プログラム1030の動作の一例について説明する。
スナップショット開放要求を受け付けたスナップショット・JNL管理プログラム1030は、まず、開放対象スナップショットに依存するAfterジャーナルを特定する(ステップ13010)。開放対象スナップショットと同等のイメージを持つ他のスナップショットが存在する場合か、もしくは、開放対象スナップショットより一つ古いスナップショット(以降、「直前のスナップショット」と呼ぶ)にAfterジャーナルを適用することで開放対象スナップショットと同等のイメージを作成できる場合、開放処理によって利用不可能になるAfterジャーナルは存在しない。これら以外の場合は、開放対象スナップショット取得後から、開放対象スナップショット取得より一つ新しいスナップショット(以降、「直後のスナップショット」と呼ぶ)取得以前のリカバリポイントを持つAfterジャーナルは利用できなくなる。このようなAfterジャーナルが開放対象スナップショットに依存するAfterジャーナルとなる。
すなわち、開放対象のスナップショットと同一の順序番号5003を持つ他のスナップショットがある場合、依存するAfterジャーナルは存在しない。また、直前のスナップショットが存在し、且つ、開放対象のスナップショットの順序番号5003と同一の順序番号2105を持つAfterジャーナルが存在する場合、依存するAfterジャーナルは存在しない。これ以外の場合は、開放対象スナップショットの順序番号5003より大きく、直後のスナップショットの順序番号以下の順序番号5003以下の順序番号2105を持つAfterジャーナルは、開放対象スナップショットに依存するAfterジャーナルとなる。なお、本実施例では、直後のスナップショットが存在することを前提としているが、他の実施形態において直後のスナップショットが存在しない場合、開放対象のスナップショットの順序番号5003より大きな順序番号2105を持つ全Afterジャーナルは開放対象スナップショットに依存するAfterジャーナルとなる。
次に、開放対象スナップショットに依存するBeforeジャーナルを特定する(ステップ13020)。前記の考え方と同様に、開放対象スナップショットと同等のイメージを持つ他のスナップショットが存在する場合か、もしくは、直後のスナップショットにBeforeジャーナルを適用することで開放対象スナップショットと同等のイメージを作成できる場合、開放処理によって利用不可能になるBeforeジャーナルは存在しない。一方、これら以外の場合は、直前のスナップショット取得後から開放対象スナップショット取得以前のリカバリポイントを持つBeforeジャーナルは利用できなくなる。このようなBeforeジャーナルが、開放対象スナップショットに依存するBeforeジャーナルとなる。
すなわち、開放対象のスナップショットと同一の順序番号5003を持つスナップショットがある場合、依存するBeforeジャーナルは存在しない。また、直後のスナップショットが存在し、且つ、開放対象スナップショットの順序番号5003と同一の順序番号2105を持つBeforeが存在する場合、依存するBeforeジャーナルは存在しない。これ以外の場合は、開放対象スナップショットの順序番号5003以下で、直前のスナップショットの順序番号5003より大きい順序番号2105を持つBeforeジャーナルは、開放対象スナップショットに依存するジャーナルとなる。なお、直前のスナップショットが存在しない場合、開放対象スナップショットの順序番号5003以下の順序番号2105を持つ全Beforeジャーナルは開放対象スナップショットに依存するBeforeジャーナルとなる。
次に、特定した開放対象スナップショットに依存するジャーナルが持つリカバリポイントを維持するために対応するジャーナルを作成するかを、ルールテーブル9000のルール9002に設定されたルールを用いて判定する(ステップ13030)。この一例として、「CDP適用時間=過去24時間」と設定されていた場合の処理を図14に示す。この説明については後述する。
この判定において維持しないと判定した場合、開放対象スナップショットに依存するジャーナルを開放するように、ストレージマイクロプログラム1028へ要求する(ステップ13040)。この要求を受け付けたストレージマイクロプログラム1028は、開放対象スナップショットに依存するジャーナルのうちAfterジャーナルに関して、そのジャーナルの順序番号と等しい値を順序番号2105に持つジャーナルヘッダ2011のAJNLボリュームID2106及びAJNL格納アドレス2107にNULLを設定する。また、開放対象スナップショットに依存するジャーナルのうちBeforeジャーナルに関して、そのジャーナルの順序番号と等しい値を順序番号2105に持つジャーナルヘッダ2011のBJNLボリュームID2108及びBJNL格納アドレス2109にNULLを設定する。
この結果、AJNLボリュームID2106、AJNL格納アドレス2107、BJNLボリュームID2108、BJNL格納アドレス2109すべてがNULLとなった場合、ストレージマイクロプログラム1028はそのジャーナルヘッダ2011を開放する。その後、ジャーナルヘッダ2011の中で最も小さい順序番号2105を持つものを検索し、そのジャーナルヘッダ2011が格納されているボリュームのボリュームID4002を最古JNLヘッダ格納VOLID3006に設定する。さらに、前記ジャーナルヘッダ2011が格納されているアドレスを最古JNLヘッダ格納アドレス3007に設定する。
次に、開放対象スナップショットを開放するようにストレージマイクロプログラム1028へ要求し(ステップ13050)、処理を終了する。この要求を受け付けたストレージマイクロプログラム1028は、開放対象スナップショットの順序番号5003及び取得時刻5004にNULLを設定する。
一方、ステップ13030の判定において維持すると判定された場合、開放対象スナップショットに依存するAfterジャーナルに対応するジャーナルを作成するようにストレージマイクロプログラム1028へ要求する(ステップ13060)。この要求を受け付けたストレージマイクロプログラム1028は、開放対象スナップショットに依存するジャーナルのうちAfterジャーナルに関して、順序番号に従って、前記開放対象スナップショットに前記Afterジャーナルを適用し、上書きされるデータをジャーナルデータ領域2020に退避させる。その後、適用したAfterジャーナルごとに、前記退避データを格納したボリュームのボリュームID4002を前記Afterジャーナルのジャーナルヘッダ2011のBJNLボリュームID2108に設定する。また、前記退避データを格納したアドレスを前記Afterジャーナルのジャーナルヘッダ2011のBJNL格納アドレス2109に設定する。
次に、開放対象スナップショットに依存するAfterジャーナルのみを開放するようにストレージマイクロプログラム1028へ要求する(ステップ13070)。この要求を受け付けたストレージマイクロプログラム1028は、開放対象スナップショットに依存するジャーナルのうちAfterジャーナルに関して、そのジャーナルの順序番号と等しい値を順序番号2105に持つジャーナルヘッダ2011のAJNLボリュームID2106及びAJNL格納アドレス2107にNULLを設定する。
この結果、AJNLボリュームID2106、AJNL格納アドレス2107、BJNLボリュームID2108、BJNL格納アドレス2109すべてがNULLとなった場合、ストレージマイクロプログラム1028はそのジャーナルヘッダ2011を開放する。その後、ジャーナルヘッダ2011の中で最も小さい順序番号2105を持つものを検索し、そのジャーナルヘッダ2011が格納されているボリュームのボリュームID4002を最古JNLヘッダ格納VOLID3006に設定する。さらに、前記ジャーナルヘッダ2011が格納されているアドレスを最古JNLヘッダ格納アドレス3007に設定する。ここで開放対象スナップショットに依存するBeforeジャーナルを開放しないのは、ステップ13060で作成したジャーナルを直後のスナップショットに適用することで、開放対象スナップショットと同等のイメージを作成することができ、開放対象スナップショットに依存するBeforeジャーナルが再び利用可能となるためである。
最後に、開放対象スナップショットを開放するようにストレージマイクロプログラム1028へ要求し(ステップ13050)、処理を終了する。
以上が、バックアッププログラム1263にスナップショット開放を要求されたときのスナップショット・JNL管理プログラム1030の動作となる。なお、本動作のステップ13030において、依存するジャーナルが持つリカバリポイントを維持しないと判定した場合の模式図が図20(a)である。このようにストレージマイクロプログラム1028は、依存するジャーナルを開放対象と一緒に開放する。一方、本動作のステップ13030において、依存するジャーナルが持つリカバリポイントを維持すると判定した場合の模式図が図20(b)である。このようにストレージマイクロプログラム1028は、依存するBeforeジャーナルを作成した後に依存するAfterジャーナルを開放対象と一緒に開放する。
なお、本実施例では、直後のスナップショットが存在することを前提に動作するが、他の実施形態において前記前提が満たされない場合は、ステップ13060の直前に、直後のスナップショットが存在することを確認し、存在しなければステップ13040へジャンプする判定を追加することで対応することができる。
また、本実施例では、開放対象スナップショットを直後のスナップショットのイメージに更新できるようにAfterジャーナルを保持することを前提としているが、前記前提が満たされない場合は、二つのスナップショット間のAfterジャーナルの順序番号の連続性を確認し、連続性がない場合、13040にジャンプするような判定をステップ13060の直前に追加することで対応することができる。すなわち、開放対象スナップショットの順序番号に1を加算した値から直後のスナップショットの順序番号までの整数のうち一つでもAfterジャーナルの順序番号となっていない整数がある場合は、13040にジャンプする判定を追加することで対応できる。
次に、図14を用いて、図13のステップ13030において利用されるルールの一例を説明する。この例では、まず、現在時刻を取得し(ステップ14010)、その時刻から過去24時間以内のリカバリポイントが失われるかを確認し(ステップ14020)、失われない場合は維持せずに開放すると判定し(14030)、失われる場合はリカバリポイントを維持すると判定している(ステップ14040)。すなわち、過去24時間は可能な限りジャーナリングを用いたリカバリを有効にするというポリシーとなっている。
次に、図15を用いてJNL開放プログラム1262の動作の一例を説明する。JNL開放プログラム1262は、アプリケーションテーブル6000のJVOL監視周期(秒)6005に設定された間隔で、ジャーナル使用量の監視と開放を行う。このタイミングに達するまで、JNL開放プログラム1262は待機する(ステップ15010)。
監視のタイミングになると、JNL開放プログラム1262は、バックアップ対象アプリケーションが利用するストレージ装置のIPアドレスを、ストレージテーブル8000から取得する。JNL開放プログラム1262は、このIPアドレスを用いてストレージ装置に接続し、ストレージマイクロプログラム1028にジャーナルの使用率を問い合わせる(ステップ15020)。
取得した値が、アプリケーションテーブル6000のJVOL閾値6006を越えているか判定し(ステップ15030)、越えている場合、スナップショット・JNL管理プログラムに、全ジャーナルの中で最古のリカバリポイントを持つジャーナル(以降、「最古のジャーナル」と呼ぶ)を開放するように要求する(ステップ15040)。その後、ジャーナルの使用量がジャーナル開放処理により閾値を下回ったことを確認するために、再びステップ15020にジャンプする。
ステップ15030の判定の結果、越えていない場合は、次回の監視周期まで待機するためステップ14010にジャンプする。以上が、JNL開放プログラム1262の動作である。
なお、このJNL開放プログラムは周期的にジャーナルの利用量を取得し、閾値を越えた場合に最古のジャーナルの開放をスナップショット・JNL管理プログラム1030に要求するが、最古のジャーナルの開放要求をスナップショット・JNL管理プログラム1030に要求する機能のみをCLIなどの管理者に実行可能な形態で提供することもできる。管理者は、これを用いることでジャーナルの管理を行うことができる。
図16は、図15のステップ15040において、JNL開放プログラム1262から最古のジャーナルの開放処理を要求されたときのスナップショット・JNL管理プログラム1030の動作を示したフローの一例である。
スナップショット・JNL管理プログラム1030は要求を受け付けると、まず、開放対象ジャーナルである最古のジャーナルがAfterジャーナルであるかを判定する。(ステップ16010)。ここでは、最も小さな順序番号を持つジャーナルヘッダを特定し、Afterジャーナルのジャーナルデータを持つかを確認し、持つ場合、最古のジャーナルはAfterジャーナルであると判定する。持たない場合は、Beforeジャーナルであると判定する。
この判定の結果Afterジャーナルである場合、開放対象ジャーナルに依存するAfterジャーナルを特定する(ステップ16020)。開放対象ジャーナルの開放によって、最古のジャーナルが持つリカバリポイント以外で、且つ、最古のジャーナルが持つリカバリポイントより新しいリカバリポイントを持つ最初のスナップショット(以降、「次のスナップショット」と呼ぶ)取得以前のリカバリポイントを持つAfterジャーナルは利用できなくなる。このようなAfterジャーナルが、開放対象ジャーナルに依存するAfterジャーナルとなる。
すなわち、開放対象ジャーナルの順序番号2105に1だけ加算した値から次のスナップショットの順序番号5003までの整数を順序番号2015として持つ全てのAfterジャーナルは、開放対象ジャーナルに依存するAfterジャーナルとなる。
次に、特定したAfterジャーナルが持つリカバリポイントを維持するかを、ルールテーブル9000のルール9002に設定されたルールを用いて判定する(ステップ16030)。このルールの一例は、図14で既に説明したものである。
判定の結果、リカバリポイントを維持する場合、特定したAfterジャーナルに対応するジャーナルを作成する(ステップ16040)。ここでは、開放対象のジャーナルの直前のスナップショットに開放対象ジャーナル及び開放対象ジャーナルに依存するAfterジャーナルを適用することで対応するBeforeジャーナルを作成し、その後、作成したBeforeジャーナルを前記スナップショットに適用し、元の状態に戻すようにストレージマイクロプログラム1028へ要求する。この要求を受け付けたストレージマイクロプログラム1028は、開放対象ジャーナル及び開放対象スナップショットに依存するAfterジャーナルに関して、順序番号に従って、前記直前のスナップショットに前記Afterジャーナルを適用し、上書きされるデータをジャーナルデータ領域2020に退避させる。その後、適用したAfterジャーナルごとに、前記退避データを格納したボリュームのボリュームID4002を前記Afterジャーナルのジャーナルヘッダ2011のBJNLボリュームID2108に設定する。また、前記退避データを格納したアドレスを前記Afterジャーナルのジャーナルヘッダ2011のBJNL格納アドレス2109に設定する。これにより、開放対象ジャーナル及び開放対象ジャーナルに依存するAfterジャーナルに対応するBeforeジャーナルが利用可能となる。その後、前記利用可能となったBeforeジャーナルを前記直前のスナップショットに適用することで、前記スナップショットを元の状態に戻す。さらに、開放対象ジャーナルに対応するジャーナルを削除するようにストレージマイクロプログラム1028へ要求する。この要求を受け付けたストレージマイクロプログラム1028は、開放対象ジャーナルの順序番号2105を持つジャーナルヘッダ2011のBJNLボリュームID2108及びBJNL格納アドレス2109にNULLを設定する。
次に、開放対象ジャーナルに依存するジャーナルをすべて開放するようにストレージマイクロプログラム1028に要求する(ステップ16050)。
最後に、直前のスナップショットを更新せずに、最古のジャーナルを開放するようにストレージマイクロプログラム1028に要求する(ステップ16060)。この要求を受け付けたストレージマイクロプログラム1028は、開放対象スナップショットに依存するジャーナルのうちAfterジャーナルに関して、そのジャーナルの順序番号と等しい値を順序番号2105に持つジャーナルヘッダ2011のAJNLボリュームID2106及びAJNL格納アドレス2107にNULLを設定する。
この結果、AJNLボリュームID2106、AJNL格納アドレス2107、BJNLボリュームID2108、BJNL格納アドレス2109すべてがNULLとなった場合、ストレージマイクロプログラム1028はそのジャーナルヘッダ2011を開放する。その後、ジャーナルヘッダ2011の中で最も小さい順序番号2105を持つものを検索し、そのジャーナルヘッダ2011が格納されているボリュームのボリュームID4002を最古JNLヘッダ格納VOLID3006に設定する。さらに、前記ジャーナルヘッダ2011が格納されているアドレスを最古JNLヘッダ格納アドレス3007に設定する。
ステップ16010の判定において、最古のジャーナルがBeforeジャーナルである場合、開放対象ジャーナルに依存するジャーナルは存在し得ないため、ステップ16020〜16050をスキップし、このBeforeジャーナルのみを開放する。(ステップ16060)。
以上が、JNL開放プログラム1262から最古のジャーナル開放処理を要求されたときのスナップショット・JNL管理プログラム1030の動作の一例の説明である。なお、本動作のステップ16030において、依存するAfterジャーナルが持つリカバリポイントを維持しないと判定した場合の模式図が図19(a)である。このようにストレージマイクロプログラム1028は、依存するジャーナルを開放対象と一緒に開放する。一方、本動作のステップ16030において、依存するAfterジャーナルが持つリカバリポイントを維持すると判定した場合の模式図が図19(b)である。このようにストレージマイクロプログラム1028は、依存するBeforeジャーナルを作成した後に依存するAfterジャーナルを開放対象と一緒に開放する。
なお、最古のジャーナルを開放することにより、前のスナップショットが不必要となる場合は、ステップ15050において元の状態に戻さずに前のスナップショットを開放してもかまわない。ただし、この場合は、前のスナップショットが必要か不必要かを判断するフラグを、スナップショットテーブル5000に追加し、値を設定しておく必要がある。
また、本ジャーナル開放処理は従来方式と選択して利用してもよい。ただし、この場合は、どちらの方式でジャーナルを開放するかを判断するフラグをルールテーブル9000に追加し、値を設定しておく必要がある。そして、ステップ15010の前に従来方式を利用するかの判定を追加することで実現可能である。
また、本実施例では、開放対象ジャーナルの直前のスナップショットを次のスナップショットのイメージに必ず更新できるようなAfterジャーナルの保持方法を前提としているが、前記前提が満たされない場合は、ステップ16040の直前に、二つのスナップショット間のAfterジャーナルの順序番号の連続性を確認し、連続性がない場合、ステップ16050にジャンプするようにすることで対応することができる。すなわち、直前のスナップショットの順序番号に1を加算した値から直後のスナップショットの順序番号までの整数のうち一つでもAfterジャーナルの順序番号となっていないものがある場合は、ステップ16050にジャンプすることで対応できる。
以上、実施例1によれば、ジャーナルもしくはスナップショットを開放する際、利用不可能なジャーナルがジャーナルボリュームに残らなくなるため、効率的なジャーナルボリュームの利用が可能となる。
(1)実施例2のシステム構成
本発明の第2の実施形態のシステム構成図を図17に示す。本構成の大部分は実施例1の構成と同等であるため、以降は相違点を中心に説明する。本構成では、ストレージ装置1000のメインメモリ1201に書き込み監視プログラム1032が記憶されている。書き込み監視プログラム1032は、ホスト計算機1100からの書き込みを監視し、ストレージマイクロプログラム1028のジャーナル作成処理の直前にジャーナル格納領域の確保を行う。また、本構成では、管理計算機1200のメモリ1250にJNL開放プログラムは記憶されない。これに伴い、アプリケーションテーブル6000のJVOL監視周期(秒)6005及びJVOL閾値6006は利用しなくなるため、削除してよい。
(2)実施例2の動作
本実施例の動作の大部分は実施例1の動作と同じであるため、以降は相違点を中心に説明する。設定プログラム1265の動作では、バックアップ対象アプリケーション設定画面10200において、JVOL監視周期(秒)10203及びJVOL利用料閾値10204を表示する必要は無い。また、これに伴い、図11のステップ11010における、上記二つのフィールドの値をアプリケーションテーブル6000に設定するステップを省略することができる。
次に、図18を用いて、書き込み監視プログラム1032の動作の一例を説明する。まず、JNL作成監視プログラム1032は、ホスト計算機1100からの書き込みがストレージ装置1000に到達するまで待機する(ステップ18010)。書き込みが到達すると、JNL作成監視プログラム1032は、ストレージマイクロプログラム1028が新規ジャーナルを作成する前に制御を奪い、ストレージマイクロプログラム1028にジャーナルボリュームのジャーナルボリューム1013の総量と使用量を問い合わせる(ステップ18020)。ストレージマイクロプログラム1028がジャーナルボリュームテーブル4000及びジャーナルヘッダ2011からこれらの値を算出できることは明らかである。
次に、書き込まれるデータの長さを書き込み要求から取得し、ジャーナルヘッダ及びジャーナルデータを作成する余裕があるかを、上記ジャーナルボリュームの総量及び使用量から判定する(ステップ18030)。
判定の結果、余裕がある場合は、制御をストレージマイクロプログラム1028へ返し(ステップ18040)、次の書き込みが発生するまで待機する(ステップ18010)。
一方、余裕が無い場合は、スナップショット・JNL管理プログラム1030に最古のジャーナルを開放するように要求する(ステップ18050)。なお、この要求に応じたスナップショット・JNL管理プログラム1030の動作は、図16で説明したものと同等である。その後、開放の結果、ジャーナルを作成する余裕ができたかを確認するため、ステップ18020へ戻る。以上が、書き込み監視プログラム1032の動作の説明である。
以上、実施例2によれば、ホスト計算機からの書き込みに同期したジャーナルの開放、及び、スナップショットの開放において、利用不可能なジャーナルがジャーナルボリュームに残らなくなるため、効率的なジャーナルボリュームの利用が可能となる。
以上実施例で説明したが、本発明の他の実施形態1は、前記ストレージシステムは、前記依存するジャーナルが持つリカバリポイントを維持するか否を判断する計算機システムである。
本発明の他の実施形態2は、前記ストレージシステムは、前記依存するジャーナルが持つリカバリポイントを維持すると判断し、前記開放対象スナップショットに依存するジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させ、前記開放対象スナップショットに依存するジャーナルが持つリカバリポイントを維持する計算機システムである。
本発明の他の実施形態3は、前記ストレージシステムは、前記依存するジャーナルが持つリカバリポイントを維持すると判断し、前記開放対象ジャーナルが適用されるべきスナップショットに依存するジャーナルを前記スナップショットに適用する際に上書きされるデータを退避させ、前記開放対象ジャーナルが適用されるべきスナップショットに依存するジャーナルが持つリカバリポイントを維持する計算機システムである。
本発明の他の実施形態4は、前記管理計算機は、前記ジャーナルの使用量が所定の値を越えているか否かを判断し、越えている場合に、前記ストレージシステムに対し、最古のジャーナルの開放を要求する計算機システムである。
本発明の他の実施形態5は、前記管理計算機は、前記ストレージシステムに対し、スナップショットの取得と最古のスナップショットの開放を要求する計算機システムである。
本発明の他の実施形態6は、1または複数のホスト計算機がデータの読み書きを行うデータボリュームを有するディスク装置を備え、前記ホスト計算機及び管理計算機とで計算機システムを構成するストレージシステムにおいて、CPU、メモリ及び接続用のインタフェースを備え、前記データボリュームの特定の時点のスナップショットを取得し、前記特定時点以降の書込みをジャーナルとして保持し、リカバリ時にリカバリポイントの近傍の時点で取得されたスナップショットを基底にして、該スナップショットに前記ジャーナルを適用することでリカバリを行い、スナップショットもしくはジャーナルを開放する際に、リカバリ時に基底となるスナップショットとそれに適用するジャーナルの順序の決定に用いる順序関係を用いて、開放対象スナップショットもしくはジャーナルに依存するジャーナルを特定し、特定した依存するジャーナルを前記開放対象スナップショットもしくはジャーナルとともに開放するストレージシステムである。
本発明の他の実施形態7は、前記依存するジャーナルが持つリカバリポイントを維持するか否を判断するストレージシステムである。
本発明の他の実施形態8は、前記依存するジャーナルが持つリカバリポイントを維持すると判断し、前記開放対象スナップショットに依存するジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させ、前記開放対象スナップショットに依存するジャーナルが持つリカバリポイントを維持するストレージシステムである。
本発明の他の実施形態9は、前記依存するジャーナルが持つリカバリポイントを維持すると判断し、前記開放対象ジャーナルが適用されるべきスナップショットに依存するジャーナルを前記スナップショットに適用する際に上書きされるデータを退避させ、前記開放対象ジャーナルが適用されるべきスナップショットに依存するジャーナルが持つリカバリポイントを維持するストレージシステムである。
本発明の他の実施形態10は、1または複数のホスト計算機、及び該ホスト計算機がデータの読み書きを行うデータボリュームを有するディスク装置を備え、かつ、開放対象スナップショットもしくはジャーナルと依存するジャーナルを開放するストレージシステムに接続する管理計算機において、CPU、メモリ及び接続用のインタフェースを備え、前記ストレージシステムが保持するジャーナルの使用量が所定の値を越えているか否かを判断し、越えている場合に、前記ストレージシステムに対し、最古のジャーナルの開放を要求する管理計算機である。
本発明の他の実施形態11は、前記ストレージシステムに対し、スナップショットの取得と最古のスナップショットの開放を要求する管理計算機である。
本発明の他の実施形態12は、1または複数のホスト計算機と、該ホスト計算機がデータの読み書きを行うデータボリュームを有するディスク装置を備えるストレージシステムと、前記ホスト計算機及び前記ストレージシステムと接続する管理計算機とを具備する計算機システムにおけるバックアップを管理する方法において、スナップショットもしくはジャーナルを開放する際に、リカバリ時に基底となるスナップショットとそれに適用するジャーナルの順序の決定に用いる順序関係を用いて、開放対象スナップショットもしくはジャーナルに依存するジャーナルを特定することと、特定した依存するジャーナルを前記開放対象スナップショットもしくはジャーナルとともに開放することを有するバックアップ管理方法である。
本発明の他の実施形態13は、前記依存するジャーナルが持つリカバリポイントを維持するか否を判断することを有するバックアップ管理開放方法である。
本発明の他の実施形態14は、前記依存するジャーナルが持つリカバリポイントを維持すると判断することと、前記開放対象スナップショットに依存するジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させることと、前記開放対象スナップショットに依存するジャーナルが持つリカバリポイントを維持するバックアップ管理方法である。
本発明の他の実施形態15は、前記依存するジャーナルが持つリカバリポイントを維持すると判断することと、前記開放対象ジャーナルが適用されるべきスナップショットに依存するジャーナルを前記スナップショットに適用する際に上書きされるデータを退避させることと、前記開放対象ジャーナルが適用されるべきスナップショットに依存するジャーナルが持つリカバリポイントを維持することを有するバックアップ管理方法である。
本発明の他の実施形態16は、前記ジャーナルの使用量が所定の値を越えているか否かを判断することと、越えている場合に、前記ストレージシステムに対し、最古のジャーナルの開放を要求することを有するバックアップ管理方法である。
本発明の他の実施形態17は、前記ストレージシステムに対し、スナップショットの取得と最古のスナップショットの開放を要求することを有するバックアップ管理方法である。
実施例1におけるシステム構成を示す図。 実施例1におけるジャーナルボリュームの構成の一例を示す図。 実施例1におけるジャーナルグループテーブルの一例を示す図。 実施例1におけるジャーナルボリュームテーブルの一例を示す図。 実施例1におけるスナップショットテーブルの一例を示す図。 実施例1におけるアプリケーションテーブルの一例を示す図。 実施例1におけるスナップショット管理テーブルの一例を示す図。 実施例1におけるストレージテーブルの一例を示す図。 実施例1におけるルールテーブルの一例を示す図。 実施例1における設定プログラムが表示するストレージ装置情報設定画面の一例を示す図。 実施例1における設定プログラムが表示するバックアップ対象アプリケーション情報設定画面の一例を示す図。 実施例1における設定プログラムのバックアップ対象アプリケーション情報設定処理の動作を示す図。 実施例1におけるバックアッププログラム1263のスナップショット取得処理を示す図。 実施例1におけるスナップショット・JNL管理プログラム1030のスナップショット開放処理を示す図。 実施例1におけるリカバリポイント維持判定ルールの一例を示す図。 実施例1におけるJNL開放プログラム1262のジャーナル利用量監視処理を示す図。 実施例1におけるスナップショット・JNL管理プログラム1030の最古のジャーナル開放処理を示す図。 実施例2におけるシステム構成を示す図。 実施例2における書き込み監視プログラム1032のジャーナル格納領域確保処理を示す図。 本発明の実施形態における開放対象ジャーナルの開放処理の一例の説明図。 本発明の実施形態における開放対象スナップショットの開放処理の一例の説明図。
符号の説明
1000:ストレージ装置
1010:ディスク装置
1020:ディスクコントローラ
1100:ホスト計算機
1200:管理計算機

Claims (16)

  1. 1または複数のホスト計算機と、該ホスト計算機がデータの読み書きを行うデータボリューム、特定時点における前記データボリュームのスナップショットを格納するスナップショットボリューム及び前記データボリュームに書き込まれたデータの順序に従い順序番号が付与されるジャーナルを保持するジャーナルボリュームを有するディスク装置を備えるストレージシステムと、前記ホスト計算機及び前記ストレージシステムと接続し、特定時点のデータをリカバリする際に管理者により指定されるリカバリポイントを管理する管理計算機とを具備する計算機システムにおいて、
    前記ストレージシステムは、
    前記管理計算機から前記特定時点が指定されたとき、
    前記データボリュームの特定時点のスナップショットを取得し、前記スナップショットボリュームに保持し、前記特定時点以降の前記データボリュームへの書込みをジャーナルとして、前記ジャーナルボリュームに保持し
    前記特定時点のデータをリカバリするリカバリ時に、前記リカバリポイントの近傍の時点で取得された前記スナップショットを基底にして、該スナップショットに前記特定時点以降の前記データボリュームへの書込みジャーナルを適用して、前記特定時点のデータのリカバリを行い、
    前記スナップショットもしくは前記ジャーナルを開放する際に、前記リカバリ時に基底となる前記スナップショットとそれに適用するジャーナルの順序の決定に用いる順序関係を用いて、開放対象スナップショットもしくは開放対象ジャーナルに依存するジャーナルを特定し、
    特定した依存するジャーナルを、前記開放対象スナップショットもしくはジャーナルとともに開放し、更に
    前記開放対象スナップショットに依存する特定ジャーナルが持つ前記リカバリポイントを維持するか否かを判断し、
    前記リカバリポイントを維持すると判断した場合には、前記開放対象スナップショットに依存する前記特定したジャーナルに対応するジャーナルを作成してから前記依存する特定ジャーナルのみを開放し、
    また、前記開放対象スナップショットを開放すること特徴とする計算機システム。
  2. 請求項1記載の計算機システムにおいて、
    前記開放対象スナップショットに依存する前記特定したジャーナルがAfterジャーナルであり、該ジャーナルに対応するジャーナルがBeforeジャーナルである計算機システム。
  3. 請求項1記載の計算機システムにおいて、
    前記ストレージシステムは、
    前記開放対象スナップショットに依存する特定ジャーナルが持つ前記リカバリポイントを維持しないと判断した場合には、前記依存する特定ジャーナルを開放し、 維持すると判断した場合には、前記開放対象スナップショットに依存する特定ジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させ、前記
    開放対象スナップショットに依存するジャーナルが持つリカバリポイントを維持し、かつ前記データのジャーナルを作成してから、前記依存する特定ジャーナルを開放し、
    また、前記開放対象スナップショットを開放することを特徴とする計算機システム。
  4. 請求項1記載の計算機システムにおいて、
    前記ストレージシステムは、
    前記開放対象ジャーナルに依存する特定ジャーナルが持つ前記リカバリポイントを維持するか否かを判断し、
    前記リカバリポイントを維持しないと判断した場合には、前記開放対象ジャーナルに依存する特定ジャーナルを開放し、
    維持すると判断した場合には、前記開放対象ジャーナルに依存する特定ジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させ、前記対象スナップショットに依存する特定ジャーナルが持つリカバリポイントを維持し、かつ前記データに対応するジャーナルを作成してから、前記依存する特定ジャーナルを開放し、
    また、前記開放対象ジャーナルを開放することを特徴とする計算機システム。
  5. 請求項1記載の計算機システムにおいて、
    前記管理計算機は、前記ストレージシステムの前記ジャーナルの使用量が所定の値を越えているか否かを判断し、越えている場合に、前記ストレージシステムに対し、最古のリカバリポイントを持つジャーナルの開放を要求し、前記ストレージシステムは、この要求に基づき最古のジャーナルを開放することを特徴とする計算機システム。
  6. 請求項1記載の計算機システムにおいて、
    前記管理計算機は、前記ストレージシステムに対し、前記スナップショット取得タイミングのとき、前記ストレージ装置のディスク装置のスナップショットボリュームに既存のスナップショットが格納されているか否かを判断し、格納されていない場合、前記スナップショットを取得し、かつ前記ストレージシステムの前記ジャーナルの使用量が所定の値を越えているか否かを判断し、越えている場合に、最古のリカバリポイントを持つジャーナルの開放を要求し、
    前記ストレージシステムは、この要求に基づき最古のジャーナルを開放することを特徴とする計算機システム。
  7. 1または複数のホスト計算機と、ストレージ装置と、前記ホスト計算機及び前記ストレージ装置を管理する管理計算機と、これらを接続するネットワークで計算機システムを構成するストレージシステムにおいて、
    前記ホスト計算機が、リカバリマネージャを含むメモリ手段と、前記ディスクコントローラにスナップスナップショット取得の要求、特定時点のデータのリカバリ要求する手段を備え、
    前記ストレージ装置が、前記ホスト計算機のデータの読み書きを行うデータボリューム、ジャーナルボリュームを含むディスク装置及び該ディスク装置を制御するディスクコントローラを含み、
    前記ディスクコントローラが、前記特定時点のデータをリカバリする際に指定されるリカバリポイントを管理するリカバリポイント管理情報を持つメモリ手段及び前記ホスト計算機の要求を受け、前記ディスク装置のディスクボリュームの特定時点のスナップショットを取得し、前記ジャーナルボリュームに保持するように制御し、かつ前記特定時点以降の前記データボリュームへの書き込みジャーナルとして、前記ジャーナルボリュームに保持するように制御する手段を備え、
    前記ストレージシステムは、
    前記特定時点のデータをリカバリするリカバリ時に、前記リカバリポイントの近傍の時点で取得された前記スナップショットを基底にして、該スナップショットに前記特定時点以降の前記データボリュームへの書込みジャーナルを適用して、前記特定時点のデータのリカバリを行い、
    前記スナップショットもしくは前記ジャーナルを開放する際に、前記リカバリ時に基底となる前記スナップショットとそれに適用するジャーナルの順序の決定に用いる順序関係を用いて、開放対象スナップショットもしくは開放対象ジャーナルに依存するジャーナルを特定し、
    特定した依存するジャーナルを、前記開放対象スナップショットもしくはジャーナルとともに開放し、
    前記開放対象スナップショットに依存する特定ジャーナル(After又はBefore)が持つ前記リカバリポイントを維持するか否かを判断し、
    前記リカバリポイントを維持すると判断した場合には、前記開放対象スナップショットに依存する前記特定したジャーナルに対応するジャーナルを作成してから前記依存する特定ジャーナルのみを開放し、
    また、前記開放対象スナップショットを開放することを特徴とするストレージシステム。
  8. 請求項7記載のストレージシステムにおいて、
    前記開放対象スナップショットに依存する前記特定したジャーナルがAfterジャーナルであり、該ジャーナルに対応するジャーナルがBeforeジャーナルであるストレージシステム。
  9. 請求項7記載のストレージシステムにおいて、
    前記ストレージシステムは、更に
    前記リカバリポイントを維持しないと判断した場合には、前記依存する特定ジャーナルを開放し、
    維持すると判断した場合には、前記開放対象スナップショットに依存する特定ジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させ、前記開放対象スナップショットに依存するジャーナルが持つリカバリポイントを維持し、かつ前記データのジャーナルを作成してから、前記依存する特定ジャーナルを開放し、
    また、前記開放対象スナップショットを開放することを特徴とするストレージシステム。
  10. 請求項7記載のストレージシステムにおいて、
    前記ストレージシステムは、更に
    前記開放対象ジャーナルに依存する特定ジャーナルが持つ前記リカバリポイントを維持するか否かを判断し、
    前記リカバリポイントを維持しないと判断した場合には、前記開放対象ジャーナルに依存する特定ジャーナルを開放し、
    維持すると判断した場合には、前記開放対象ジャーナルに依存する特定ジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させ、前記対象スナップショットに依存する特定ジャーナルが持つリカバリポイントを維持し、かつ前記データに対応するジャーナルを作成してから、前記依存する特定ジャーナルを開放し、
    また、前記開放対象ジャーナルを開放することを特徴とするストレージシステム。
  11. 1または複数のホスト計算機と、該ホスト計算機がデータの読み書きを行うデータボリュームを有するディスク装置を備えるストレージシステムと、前記ホスト計算機及び前記ストレージシステムと接続し、特定時点のデータをリカバリする際に管理者により指定されるリカバリポイントを管理する管理計算機とを具備する計算機システムにおけるバックアップを管理する方法において、
    前記ストレージシステムが、
    前記管理計算機から前記特定時点が指定されたとき、
    前記データボリュームの特定時点のスナップショットを取得し、前記スナップショットボリュームに保持し、前記特定時点以降の前記データボリュームへの書込みをジャーナルとして、前記ジャーナルボリュームに保持し
    前記特定時点のデータをリカバリするリカバリ時に、前記リカバリポイントの近傍の時点で取得された前記スナップショットを基底にして、該スナップショットに前記特定時点以降の前記データボリュームへの書込みジャーナルを適用して、前記特定時点のデータのリカバリを行い、
    前記スナップショットもしくは前記ジャーナルを開放する際に、前記リカバリ時に基底となる前記スナップショットとそれに適用するジャーナルの順序の決定に用いる順序関係を用いて、開放対象スナップショットもしくは開放対象ジャーナルに依存するジャーナルを特定し、
    特定した依存するジャーナルを、前記開放対象スナップショットもしくはジャーナルとともに開放し、
    前記開放対象スナップショットに依存する特定ジャーナルが持つ前記リカバリポイントを維持するか否かを判断し、
    前記リカバリポイントを維持すると判断した場合には、前記開放対象スナップショットに依存する前記特定したジャーナルに対応するジャーナルを作成してから前記依存する特定ジャーナルのみを開放し、
    また、前記開放対象スナップショットを開放することを特徴とするバックアップ管理方法。
  12. 請求項11記載のバックアップ管理方法において、
    前記開放対象スナップショットに依存する前記特定したジャーナルがAfterジャーナルであり、該ジャーナルに対応するジャーナルがBeforeジャーナルであるバックアップ管理方法。
  13. 請求項11記載のバックアップ管理方法において、
    前記開放対象スナップショットに依存する特定ジャーナルが持つ前記リカバリポイントを維持しないと判断した場合には、前記依存する特定ジャーナルを開放し、
    維持すると判断した場合には、前記開放対象スナップショットに依存する特定ジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させ、前記開放対象スナップショットに依存するジャーナルが持つリカバリポイントを維持し、かつ前記データのジャーナルを作成してから、前記依存する特定ジャーナルを開放し、
    また、前記開放対象スナップショットを開放することを特徴とするバックアップ管理方法。
  14. 請求項11記載のバックアップ管理方法において、
    前記開放対象ジャーナルに依存する特定ジャーナルが持つ前記リカバリポイントを維持するか否かを判断し、
    前記リカバリポイントを維持すると判断した場合には、前記開放対象ジャーナルに依存する特定ジャーナルを前記開放対象スナップショットに適用する際に上書きされるデータを退避させ、前記対象スナップショットに依存する特定ジャーナルが持つリカバリポイントを維持し、かつ前記データに対応するジャーナルを作成してから、前記依存する特定ジャーナルを開放し、
    また、前記開放対象ジャーナルを開放することを特徴とするバックアップ管理方法。
  15. 請求項11記載のバックアップ管理方法において、
    前記ストレージシステムの前記ジャーナルの使用量が所定の値を越えているか否かを判断し、越えている場合に、前記ストレージシステムに対し、最古のリカバリポイントを持つジャーナルの開放を要求し、前記ストレージシステムは、この要求に基づき最古のジャーナルを開放することを特徴とするバックアップ管理方法。
  16. 請求項11記載のバックアップ管理方法において、
    前記ストレージシステムに対し、前記スナップショット取得タイミングのとき、前記ストレージ装置のディスク装置のスナップショットボリュームに既存のスナップショットが格納されているか否かを判断し、格納されていない場合、前記スナップショットを取得し、かつ前記ストレージシステムの前記ジャーナルの使用量が所定の値を越えているか否かを判断し、越えている場合に、最古のリカバリポイントを持つジャーナルの開放を要求し、この要求に基づき前記ストレージシステムが最古のジャーナルを開放することを特徴と
    するバックアップ管理方法。


JP2005330752A 2005-11-15 2005-11-15 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法 Expired - Fee Related JP5021929B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005330752A JP5021929B2 (ja) 2005-11-15 2005-11-15 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
US11/330,321 US20070112894A1 (en) 2005-11-15 2006-01-12 Computer system, storage system, management computer, and backup management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005330752A JP5021929B2 (ja) 2005-11-15 2005-11-15 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法

Publications (2)

Publication Number Publication Date
JP2007140698A JP2007140698A (ja) 2007-06-07
JP5021929B2 true JP5021929B2 (ja) 2012-09-12

Family

ID=38042213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005330752A Expired - Fee Related JP5021929B2 (ja) 2005-11-15 2005-11-15 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法

Country Status (2)

Country Link
US (1) US20070112894A1 (ja)
JP (1) JP5021929B2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536529B1 (en) 2005-06-10 2009-05-19 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for provisioning space in a data storage system
JP4704893B2 (ja) * 2005-11-15 2011-06-22 株式会社日立製作所 計算機システム及び管理計算機とストレージシステム並びにバックアップ管理方法
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US7971091B1 (en) 2006-05-02 2011-06-28 Emc Corporation Network configuration backup and restore operations using continuous data protection
US7509358B1 (en) * 2006-05-02 2009-03-24 Emc Corporation Performing replication operations on continuous data protection systems using pseudosnapshots
US7765190B1 (en) 2006-05-02 2010-07-27 Emc Corporation Pseudosnapshot creation and implementation using continuous data protection
US7689597B1 (en) 2006-05-02 2010-03-30 Emc Corporation Mirrored storage architecture using continuous data protection techniques
US7603395B1 (en) 2006-05-02 2009-10-13 Emc Corporation Using pseudosnapshots for continuous data protection systems to surface a copy of data
JP4236677B2 (ja) * 2006-09-20 2009-03-11 株式会社日立製作所 Cdpを用いたリカバリ方法
JP2008242744A (ja) * 2007-03-27 2008-10-09 Hitachi Ltd Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法
JP4906562B2 (ja) * 2007-04-02 2012-03-28 株式会社日立製作所 ストレージ装置及びボリューム復元方法
US8370597B1 (en) 2007-04-13 2013-02-05 American Megatrends, Inc. Data migration between multiple tiers in a storage system using age and frequency statistics
US8006061B1 (en) 2007-04-13 2011-08-23 American Megatrends, Inc. Data migration between multiple tiers in a storage system using pivot tables
US8554734B1 (en) * 2007-07-19 2013-10-08 American Megatrends, Inc. Continuous data protection journaling in data storage systems
US20090125692A1 (en) * 2007-10-24 2009-05-14 Masayuki Yamamoto Backup system and method
US8862633B2 (en) * 2008-05-30 2014-10-14 Novell, Inc. System and method for efficiently building virtual appliances in a hosted environment
US8543998B2 (en) * 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
US8706694B2 (en) * 2008-07-15 2014-04-22 American Megatrends, Inc. Continuous data protection of files stored on a remote storage device
JP5432596B2 (ja) * 2009-05-29 2014-03-05 日本電信電話株式会社 ログファイル管理装置、ログファイル管理システム、ログファイル管理方法及びそのプログラム
CN102012789B (zh) * 2009-09-07 2014-03-12 云端容灾有限公司 集中管理式备份容灾系统
US8244685B2 (en) * 2010-02-24 2012-08-14 Autonomy, Inc. Data restoration utilizing forward and backward deltas
US9582382B1 (en) * 2010-12-16 2017-02-28 EMC IP Holding Company LLC Snapshot hardening
US10387448B2 (en) 2012-05-15 2019-08-20 Splunk Inc. Replication of summary data in a clustered computing environment
US11003687B2 (en) 2012-05-15 2021-05-11 Splunk, Inc. Executing data searches using generation identifiers
US9130971B2 (en) 2012-05-15 2015-09-08 Splunk, Inc. Site-based search affinity
US8788459B2 (en) 2012-05-15 2014-07-22 Splunk Inc. Clustering for high availability and disaster recovery
JP5971420B2 (ja) * 2013-07-19 2016-08-17 富士通株式会社 状態復元プログラム、装置、及び支援方法
WO2015060991A1 (en) * 2013-10-21 2015-04-30 Ab Initio Technology Llc Checkpointing a collection of data units

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668262B1 (en) * 2000-11-09 2003-12-23 Cisco Technology, Inc. Methods and apparatus for modifying a database
US6981114B1 (en) * 2002-10-16 2005-12-27 Veritas Operating Corporation Snapshot reconstruction from an existing snapshot and one or more modification logs
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
US20040225689A1 (en) * 2003-05-08 2004-11-11 International Business Machines Corporation Autonomic logging support
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling

Also Published As

Publication number Publication date
JP2007140698A (ja) 2007-06-07
US20070112894A1 (en) 2007-05-17

Similar Documents

Publication Publication Date Title
JP5021929B2 (ja) 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
JP4704893B2 (ja) 計算機システム及び管理計算機とストレージシステム並びにバックアップ管理方法
US8135986B2 (en) Computer system, managing computer and recovery management method
JP4321705B2 (ja) スナップショットの取得を制御するための装置及び記憶システム
JP4483342B2 (ja) システム復旧方法
JP5008991B2 (ja) データのリカバリを制御する装置及び方法
JP4236677B2 (ja) Cdpを用いたリカバリ方法
CA2422176C (en) Method and apparatus for interrupting updates to a database to provide read-only access
US7650475B2 (en) Storage system and method for managing data using the same
JP3992427B2 (ja) ファイルシステム
JP2007141043A (ja) ストレージシステムにおける障害管理方法
JP5137476B2 (ja) 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法
JP2007226347A (ja) 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法
JPH11134117A (ja) コンピュータシステム
JP2008171387A (ja) 継続的データ保護を備えたバックアップシステム
AU2004237061A1 (en) Flashback database
US7290100B2 (en) Computer system for managing data transfer between storage sub-systems
US20110282843A1 (en) Method and system for data backup and replication
US20070033361A1 (en) Apparatus, system, and method for fastcopy target creation
JP2009146389A (ja) バックアップシステム及び方法
US8131958B2 (en) Storage system, storage device, and data updating method using a journal volume
JP2007141183A (ja) 記憶制御装置及び記憶制御方法
JP2002278818A (ja) データ管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111014

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120615

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees