JP2007219657A - ストレージシステム及びそのリカバリ方法 - Google Patents
ストレージシステム及びそのリカバリ方法 Download PDFInfo
- Publication number
- JP2007219657A JP2007219657A JP2006037101A JP2006037101A JP2007219657A JP 2007219657 A JP2007219657 A JP 2007219657A JP 2006037101 A JP2006037101 A JP 2006037101A JP 2006037101 A JP2006037101 A JP 2006037101A JP 2007219657 A JP2007219657 A JP 2007219657A
- Authority
- JP
- Japan
- Prior art keywords
- checkpoint
- storage
- recovery
- storage system
- volume
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Abstract
【課題】
本発明は、操作性を格段的に向上させ得るストレージシステムを提案する。
【解決手段】
データの送受信を行うホスト計算機と、それぞれホスト計算機から送信されるデータを格納するためのボリュームが設けられた複数のストレージ装置とを有するストレージシステムにおいて、複数のストレージ装置の各ボリュームをリカバリする際の目印でなるチェックポイントを設定するチェックポイント設定部と、チェックポイント設定部により設定されたチェックポイントを管理するチェックポイント管理部と、チェックポイント管理部により管理された各ボリュームについてのチェックポイントの状態までのボリュームのリカバリを、複数のストレージ装置に指示するリカバリ指示部とを備えるようにした。
【選択図】図1
本発明は、操作性を格段的に向上させ得るストレージシステムを提案する。
【解決手段】
データの送受信を行うホスト計算機と、それぞれホスト計算機から送信されるデータを格納するためのボリュームが設けられた複数のストレージ装置とを有するストレージシステムにおいて、複数のストレージ装置の各ボリュームをリカバリする際の目印でなるチェックポイントを設定するチェックポイント設定部と、チェックポイント設定部により設定されたチェックポイントを管理するチェックポイント管理部と、チェックポイント管理部により管理された各ボリュームについてのチェックポイントの状態までのボリュームのリカバリを、複数のストレージ装置に指示するリカバリ指示部とを備えるようにした。
【選択図】図1
Description
本発明は、ストレージシステム及びそのリカバリ方法に関する。特に、複数のストレージ装置を含むストレージシステムでのデータバックアップ及びリカバリ方法に関する。
ストレージシステムにおけるデータのバックアップ(保存)及びリカバリ(復元)方法として、アプリケーションがデータを保存するために使用する一群のデータボリュームのスナップショットと、それらデータボリュームに対する書き込みデータのジャーナルを使用する方法が知られており、一般にCDP(Continuous Data Protection)などと呼ばれている。
例えば、特許文献1には、スナップショットとジャーナルを使用した典型的な方法が開示されている。この特許文献1では、ストレージ装置がデータボリュームに対するホスト計算機のデータ書き込み毎にジャーナルを作成して蓄積し、また、適当な間隔でデータボリュームに対するスナップショットを取得し、リカバリ時には、管理者が指定した特定の時点においてデータボリュームが保持していたデータ(リカバリデータボリュームイメージ、あるいは、単にリカバリイメージ)を、取得されたジャーナルとスナップショットを使用して再現する。
また、そのようなリカバリイメージを再現する単位として、ジャーナルグループに関する技術が開示されている。これは、アプリケーションが使用するストレージ装置の複数のデータボリュームをひとまとめにして管理し、それら複数のデータボリュームのリカバリを一括して行うための、管理単位である。
一般に、アプリケーションは、いくつかのデータボリュームを使用してデータを保存する。そのため、個々のデータボリュームごとに異なる時点のリカバリイメージを再現するのではなく、アプリケーションが使用する一群のデータボリュームに対して、同じ時点のリカバリイメージを再現することが必要となる。
開示されたジャーナルグループ技術では、1つのストレージ装置に含まれる複数のデータボリュームをひとまとめにして、それら複数のデータボリュームに対する特定の時点のリカバリイメージを再現するようになされている。
また、特許文献1では、リカバリイメージの特定時点の指定方法として、「目標時刻」を使用する方法が開示されている。これは、リカバリ時に、管理者が特定時点として過去の特定の時刻を指定するリカバリ方法である。
このリカバリ方法では、アプリケーションが認識する、特定のデータをデータボリューム群に書き込んだ時点(以下、これをチェックポイント(CP(Check Point))と呼ぶ)を指定することにより、データボリューム群が保持していたデータが、リカバリイメージに再現される。また、このリカバリ方法では、時刻を指定することにより、データボリューム群が保持していたデータが、リカバリイメージに再現される。
これは、通常運用時には、アプリケーションや、アプリケーションのCPを認識可能なその他のプログラムやユーザが、一般にはストレージ装置を制御するプログラムなどを通じて、ストレージ装置にCPを通知する。また、ストレージ装置は、蓄積しているジャーナルの特殊なエントリとしてCPを記憶する。そして、リカバリ時には、管理者は、CPを指定する方法である。この方法では、指定されたCPが通知された時点でデータボリューム群が保持していたデータが、リカバリイメージに再現される。
特開2005−18738号公報
しかしながら、上述のようなストレージシステムでは、1つのストレージ装置に含まれる複数のデータボリュームに対する特定の時点のリカバリイメージを再現することができるが、アプリケーションが複数のストレージ装置に含まれる複数のデータボリュームを使用する場合、それら複数のストレージ装置にまたがるデータボリューム群に対する特定の時点のリカバリイメージを取得することができないという問題がある。
そこで、複数のストレージ装置にまたがるデータボリューム群に対する特定の時点のリカバリイメージを取得し、一括して管理することができれば、特定の時点のデータボリューム群に対するリカバリイメージを複数のストレージ装置に一括して指示することにより、複数のストレージ装置にまたがるデータボリューム群に対する特定の時点のリカバリイメージを再現することができるため、一段と操作性の高いストレージシステムを提供することができることとなる。
本発明は以上の点を考慮してなされたもので、操作性を格段的に向上させ得るストレージシステム及びそのリカバリ方法を提供するものである。
かかる課題を解決するため本発明においては、データの送受信を行うホスト計算機と、それぞれホスト計算機から送信されるデータを格納するためのボリュームが設けられた複数のストレージ装置とを有するストレージシステムにおいて、複数のストレージ装置の各ボリュームをリカバリする際の目印でなるチェックポイントを設定するチェックポイント設定部と、チェックポイント設定部により設定されたチェックポイントを管理するチェックポイント管理部と、チェックポイント管理部により管理された各ボリュームについてのチェックポイントの状態までのボリュームのリカバリを、複数のストレージ装置に指示するリカバリ指示部とを備えるようにした。
従って、ボリュームのリカバリイメージを再現するときには、1つのストレージ装置だけでなく、複数のストレージ装置にまたがるボリュームのチェックポイントを、複数のストレージ装置に一括して指示することで、複数のストレージ装置にまたがるボリュームのチェックポイントのリカバリイメージを再現することができる。
また、本発明においては、データの送受信を行うホスト計算機と、それぞれホスト計算機から送信されるデータを格納するためのボリュームが設けられた複数のストレージ装置とを有するストレージシステムのリカバリ方法において、複数のストレージ装置の各ボリュームをリカバリする際の目印でなるチェックポイントを設定する第1のステップと、第1のステップにおいて設定したチェックポイントを管理する第2のステップと、第2のステップにおいて管理した各ボリュームについてのチェックポイントの状態までのボリュームのリカバリを、複数のストレージ装置に指示する第3のステップとを備えるようにした。
従って、ボリュームのリカバリイメージを再現するときには、1つのストレージ装置だけでなく、複数のストレージ装置にまたがるボリュームのチェックポイントを、複数のストレージ装置に一括して指示することで、複数のストレージ装置にまたがるボリュームのチェックポイントのリカバリイメージを再現することができる。
本発明によれば、複数のストレージ装置の各ボリュームをリカバリする際の目印でなるチェックポイントを設定し、設定したチェックポイントを管理して、管理した各ボリュームについてのチェックポイントの状態までのボリュームのリカバリを、複数のストレージ装置に指示することにより、ボリュームのリカバリイメージを再現するときには、1つのストレージ装置だけでなく、複数のストレージ装置にまたがるボリュームのチェックポイントを、複数のストレージ装置に一括して指示することで、複数のストレージ装置にまたがるボリュームのチェックポイントのリカバリイメージを再現することができ、かくして操作性を格段的に向上させ得るストレージシステム及びそのリカバリ方法を実現できる。
以下、本発明の実施例を、図を用いて詳細に説明する。
(1)第1実施例
図1は、第1実施例におけるストレージシステム10の全体構成図である。ストレージシステム10は、1台以上のホスト計算機100と、複数台のストレージ装置300とがストレージネットワーク800により接続されて構成されている。図1では、構成の一例として、1台のホスト計算機100と3台のストレージ装置300を例示している。
図1は、第1実施例におけるストレージシステム10の全体構成図である。ストレージシステム10は、1台以上のホスト計算機100と、複数台のストレージ装置300とがストレージネットワーク800により接続されて構成されている。図1では、構成の一例として、1台のホスト計算機100と3台のストレージ装置300を例示している。
3台のストレージ装置300は、それぞれST1、ST2、ST3という識別子を有し、それぞれをストレージ装置300A、ストレージ装置300B、ストレージ装置300Cとする。本実施例では、全てのストレージ装置300は、同じ構成を有している。
それぞれのストレージ装置300は、管理装置310を有し、それぞれの管理装置310は、管理ネットワーク900に接続されて構成されている。また、ホスト計算機100も、管理ネットワーク900に接続されており、ホスト計算機100から管理装置310を制御することができるようになされている。
管理装置310は、ストレージ装置300に対してホスト計算機100からの指示を与える機能を有しており、ホスト計算機100は、直接的にストレージ装置300を制御することができると共に、管理ネットワーク900を通じて、管理装置310を制御することにより、間接的にストレージ装置300を制御できるようになされている。管理ネットワーク900は、例えば、LAN(Local Area network)等の所定のネットワーク技術を使用して構築することができるようになされている。
なお、本実施例では、ストレージ装置300A、ストレージ装置300B、ストレージ装置300Cがそれぞれ有する管理装置500を、管理装置500A、管理装置500B、管理装置500Cとする。
ホスト計算機100は、制御部110と、メモリ120と、I/Oポート130とを有する。制御部110は、CPU(Central Processing Unit)や内部メモリ等で構成されており、ホスト計算機100全体を制御する。
メモリ120には、アプリケーション140と、リカバリマネージャ150と、CTGテーブル160と、CPテーブル170とが格納されている。このうち、リカバリマネージャ150、CTGテーブル160及びCPテーブル170の詳細は後述する。
I/Oポート130は、ストレージネットワーク800と接続され、ストレージ装置300と指示やデータ等をやり取りすると共に、管理ネットワーク900と接続され、管理装置500と指示等をやり取りする。
なお、ホスト計算機100は、この他に、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)や、モニタディスプレイやスピーカ等の情報出力装置(図示せず)等を有する。
このホスト計算機100は、制御部110がアプリケーション140及びリカバリマネージャ150をメモリ120から呼び出して実行することによって、後述するCP取得処理や、リカバリイメージ再現処理等の各種の処理を行うようになされている。
図2は、第1実施例におけるストレージ装置300の構成図である。ストレージ装置300は、コントローラ320と、メモリ330と、I/Oポート340と、物理ボリューム350と、論理ボリューム360と、前述の管理装置310を有する。
コントローラ320は、CPUや内部メモリ等で構成されており、ストレージ装置300全体を制御する。メモリ330には、コントローラ320で実行されるプログラムや、それらプログラムで使用されるデータが格納されており、詳細は後述する。I/Oポート340は、ストレージネットワーク800と接続され、ホスト計算機100と指示やデータ等をやり取りすると共に、管理装置310と接続され、当該管理装置310と指示等をやり取りする。
物理ボリューム240は、ホスト計算機100から送られてくるデータを記憶するための物理的なハードウェアであり、ハードディスクドライブなどの不揮発性記憶デバイスが用いられる。
論理ボリューム250は、ホスト計算機100で実行されるアプリケーション110がデータの読み書きのために指定する記憶領域の単位である。本発明では、論理ボリューム250は、物理ボリューム240そのものとして実装される場合もあれば、RAID(Redundant Arrays of Inexpensive Disks)構成として複数の物理ボリューム240を用いて実装される場合もある。
管理装置260は、マイクロプロセッサ(図示せず)、内部メモリ(図示せず)及び通信インタフェース等を有するパーソナルコンピュータ等のコンピュータシステムとして構成されており、ストレージ装置300を保守、管理するための装置であると共に、ホスト計算機100からの指示に基づいて、間接的にストレージ装置300を制御するための装置である。
図3は、第1実施例におけるストレージ装置300のジャーナルグループ370の構成図である。ストレージ装置300は、1又は複数の論理ボリューム350から構成されるジャーナルグループ(JNLG)370を有する。ジャーナルグループ370は、データボリューム(データVOL)380と、ジャーナルボリューム(JNLVOL)390とを有する。また、ストレージ装置300は、1又は複数の論理ボリューム350から構成され、データボリューム380に対応するスナップショットボリューム(SSVOL)400を有する。
また、メモリ330には、ジャーナルグループ370を使用してジャーナルとスナップショットを取得するジャーナル作成プログラム(JNL作成PG)410と、当該ジャーナル作成プログラム410がジャーナルグループ370を管理するために使用する管理テーブル420が格納されている。
このストレージ装置300は、コントローラ320がプログラムや、それらプログラムで使用されるデータ、ジャーナル作成プログラム410をメモリ330から呼び出して実行することによって、ジャーナル作成処理等の各種の処理を行うようになされている。
この場合、コントローラ320は、アプリケーション140がデータボリューム380へ発行するライトを、ジャーナルとしてジャーナルボリューム390に蓄積し、アプリケーション140からの、又はユーザから情報入力装置等を介して取得したCP取得指示を、特殊なジャーナルとしてジャーナルボリューム390に蓄積し、適当な間隔でデータボリューム380のスナップショットをスナップショットボリューム400に取得する。
これにより、コントローラ320は、ジャーナルとスナップショットとを利用して、指示されたCPに対応するリカバリイメージを再現することができるようになされている。また、本実施例では、このような処理をリカバリという。
なお、CPとは、リカバリマネージャ150が認識する、特定のデータをデータボリューム群に書き込んだ時点でなるチェックポイントを示している。このチェックポイントについては、リカバリイメージを再現する際の目印である。
本実施例では、アプリケーション140は、複数のストレージ装置300に含まれるデータボリューム380を使用する。各ストレージ装置300のコントローラ320は、それぞれのストレージ装置300内のデータボリューム380を、ジャーナルグループ370によりひとまとめにすることにより、同じ時点のリカバリイメージを再現できる。
かかる構成に加えて、本実施例で開示するストレージシステム10では、リカバリマネージャ150により、複数のストレージ装置300に含まれるデータボリューム380をひとまとめにして、リカバリイメージを再現するようになされている。
具体的に、ストレージシステム10では、複数のストレージ装置300に含まれるデータボリューム380をひとまとめにして管理するために、それぞれのストレージ装置300に含まれるデータボリューム380をジャーナルグループ370によってひとまとめに管理し、それら複数のストレージ装置300に含まれるジャーナルグループ370をリカバリマネージャ150がひとまとめにして管理する。
このような、複数のジャーナルグループ370のまとまりを、コンシステンシグループ(以下、CTG(Consistency Group)と呼ぶ)と呼ぶ。リカバリマネージャ150は、CTGに対してCP取得やリカバリイメージ再現を指示する。なお、CTGを構成する物理ボリューム350については、ストレージ装置300に外部接続されていても良い。CTGを対象としたCP取得やリカバリイメージ再現については後述する。
図4は、第1実施例におけるCTGグループ160の構成図である。CTGテーブル160は、CTGに含まれるジャーナルグループ370を管理するためのテーブルである。
CTGテーブル160は、CTGを特定するための識別子を含むCTGID161と、当該CTGに含まれるジャーナルグループ370を示すJNLG−ID162(162A〜162D)と当該CTGに対して取得されたCPを管理するためのCPテーブル170へのポインタ情報163とからなる。ホスト計算機100は、CTGテーブル160により、CTGを特定するCTGIDから、当該CTGに含まれるジャーナルグループ370と、当該CTGに対して取得されたCPを管理するためのCPテーブル170を求めることが可能となる。
図4では、図1に示すような3台のストレージ装置300があるストレージシステムシステムの構成におけるCTGテーブル160を例示している。すなわち、CTG1という識別子で特定されるCTGは、ST1という識別子で特定されるストレージ装置300に含まれるJG1という識別子で特定されるジャーナルグループ370と、ST2という識別子で特定されるストレージ装置300に含まれるJG5という識別子で特定されるジャーナルグループ370と、ST3という識別子で特定されるストレージ装置300に含まれるJG2という識別子で特定されるジャーナルグループ370とを含むことを示している。
なお、CTG1という識別子で特定されるCTGは3つのジャーナルグループ370を含んでいるので、JNLG−ID162Dには対応するジャーナルグループ370がないことを示す無効値(NULL)が入る。さらに、CTG1という識別子で特定されるCTGに対して取得したCPを管理するためのCPテーブル170は、ポインタ情報163から求めることができる。
図5は、第1実施例におけるリカバリマネージャ120のCTG管理画面700である。本実施例では、CTGは複数のストレージ装置300に含まれる複数のジャーナルグループ370の集まりとして構成される。リカバリマネージャ150は、CTGテーブル160によりCTGを構成するジャーナルグループ370を特定するが、そのためには、CTGを構成するジャーナルグループ370を、あらかじめユーザが情報入力装置等を介して指定しなければならない。
図5に示すCTG管理画面700は、ユーザが情報入力装置等を介してCTGの構成を指定するときに、リカバリマネージャ150が表示する画面の一例である。リカバリマネージャ150は、ユーザから情報入力装置等を介してCTG構成指定の指示を受けると、CTG管理画面700を表示する。情報入力装置等を介してユーザはCTG管理画面700に含まれるフィールドやボタンなどにより、CTGの構成情報を設定し、実行ボタン701の押下によりリカバリマネージャ150に伝える。リカバリマネージャ150は、ユーザから情報入力装置等を介して受け取ったCTGの構成情報を、CTGテーブル160に反映する。
CTG管理画面700は、実行ボタン701と、CTGIDを指定するフィールド702と、CTG構成指示の種別を表すフィールド703と、CTGに追加するジャーナルグループを指定するフィールド704と、CTGに登録済みのジャーナルグループを表示するフィールド705とを有する。
実行ボタン701は、CTG管理画面700に設定したCTGの構成情報を確定し、リカバリマネージャ150に伝えるためのボタンである。CTGIDを指定するフィールド802は、CTG管理画面700により構成を指示するCTGを特定するために、CTGIDを設定するフィールドである。
リカバリマネージャ150は、フィールド802に設定されたCTGIDにより、CTGテーブル160の行を特定し、特定されたCTGテーブル160の行の各フィールドに、CTG管理画面700が含む各フィールドにユーザが設定した値を格納する。
CTG構成指示の種別を表すフィールド703は、CTG構成指示が追加か削除かを表すフィールドである。ユーザによるCTGの構成指示には2種類の指示があり、1つはCTGへのジャーナルグループ370の追加であり、もう1つはCTGからのジャーナルグループ370の削除である。
リカバリマネージャ150は、CTG構成指示の種別を表すフィールド703で「追加」指示が選択された場合、CTGに追加するジャーナルグループを指定するフィールド704に設定されたジャーナルグループ370を識別する情報、具体的には、ストレージ装置300の識別子とジャーナルグループ370の識別子の組を、CTGIDを指定するフィールド702に指定されたCTGIDで特定されるCTGテーブル160の行のJNLG−ID162に設定する。
これにより、リカバリマネージャ150は、当該CTGIDで特定されるCTGに、フィールド704で指定されたジャーナルグループ370が追加されたことを記憶する。なお、リカバリマネージャ150は、CTGに最初のジャーナルグループ370を追加するときには、上記のジャーナルグループ370のCTGへの追加に加えて、新規CPテーブル160の作成と、CTGテーブル160のポインタ情報163の設定を行う。
リカバリマネージャ150は、CTG構成指示の種別を表すフィールド703で「削除」指示が選択された場合、CTGに登録済みのジャーナルグループを表示するフィールド705に表示されているジャーナルグループ370のリストから、選択された行に表示されているジャーナルグループ370を識別する情報、具体的には、ストレージ装置300の識別子とジャーナルグループ370の識別子の組を、CTGIDを指定するフィールド702に指定されたCTGIDで特定されるCTGテーブル160の行のJNLG−ID162から削除する。
これにより、リカバリマネージャ150は、当該CTGIDで特定されるCTGから、フィールド705で指定されたジャーナルグループ370が削除されたことを記憶する。
図6は、第1実施例におけるCPテーブル170の構成図である。CPテーブル170は、それぞれのストレージ装置300が含むジャーナルグループ370に対応するCP−JID172(172A〜172C)と、当該CP−JID172をひとまとめにして一括に管理する一括チェックポイントを表すCP−CID171とからなる。図6では、図1に示すような3台のストレージ装置300があるシステム構成におけるCPテーブル170を例示している。
CP−CID171とCP−JID172が含む値やその設定方法について詳細は後述するが、本実施例では、1つのCP−CID171に対応して、3台のストレージ装置300に含まれるジャーナルグループ370ごとに、CP−JID172が存在することに注意されたい。例えば、本実施例では、図6のCP−JID172Aについては、ST1であるストレージ装置300AにおけるJG1のジャーナルグループ370に対応している。
本実施例では、このような、1つのCP−CID171と複数のストレージ装置300に含まれるジャーナルグループ370に対応するCP−JID172の組とを、CPテーブル170のエントリと呼ぶ。さらには、CPテーブル170は、十分な数の空きエントリを含む。
図7は、第1実施例におけるリカバリマネージャ150の、CP取得処理手順を示すフローチャートである。本実施例では、アプリケーション140は、CPの取得をリカバリマネージャ150に指示する。すなわち、CP取得処理は、リカバリマネージャ150が、CP取得指示を受けたときに制御部110により起動される処理である。
なお、アプリケーション140は、ユーザからの指定に応じたタイミング、又は任意のタイミングで、CPの取得をリカバリマネージャ150に指示するようになされている。
リカバリマネージャ150は、ステップS1000で、アプリケーション140からのCP取得指示を受領する。続いて、リカバリマネージャ150は、ステップS1010で、CPテーブル170の新規エントリを取得する。次に、リカバリマネージャ150は、ステップS1020で、前のステップSで取得したエントリのCP−CID171に一意の識別子を記録する。
続いて、リカバリマネージャ150は、全てのストレージ装置300にライト保留指示を出し(ステップS1030)、全てのストレージ装置300からライト保留指示完了通知が返るのを待ち受ける(ステップS1040)。続いて、リカバリマネージャ150は、ステップS1050で、全てのストレージ装置300に対して、ジャーナルグループ370にCP取得を指示する。
このとき、CP取得指示を受けたそれぞれのストレージ装置300は、それぞれのストレージ装置300が含むジャーナルグループ370にCPを記憶し、取得したCPを特定する識別子を、CP取得完了通知とともにリカバリマネージャ150に返す。
続いて、リカバリマネージャ150は、ステップS1060で、それぞれのストレージ装置300からCP取得完了通知を受けると、全てのストレージ装置300にライト保留解除を指示し(ステップS1060)、CP取得完了通知に含まれるそれぞれのジャーナルグループ370が取得したCPを示す識別子を、ステップS1010で取得したエントリの、ジャーナルグループ370に対応するCP−JID172に記録する(ステップS1080)。
最後に、リカバリマネージャ150は、ステップS1090で、アプリケーション140にCP取得完了通知とともに、複数のストレージ装置300の含むジャーナルグループ370が取得したCPをひとまとめにしたCPを示す識別子として、CP−CID171に記憶した識別子を返す。
ストレージシステム10では、このようなCP取得処理により、複数のストレージ装置300に含まれるジャーナルグループ370ごとに記憶されたCPを、CP−CID171に記憶された単一の識別子により一括して指定することができる。
図8は、第1実施例におけるリカバリマネージャ150の、リカバリイメージ再現処理手順を示すフローチャートである。本実施例では、アプリケーション140が、リカバリイメージの再現を、CP−CID171に記録された識別子を指定してリカバリマネージャ150に指示することにより実行する。リカバリイメージ再現処理は、リカバリマネージャ150が、リカバリイメージの再現を指示されたときに制御部110により起動される処理である。
リカバリマネージャ150は、ステップS1100で、リカバリイメージ再現指示を、識別子とともに受領する。続いて、リカバリマネージャ150は、ステップS1110で、受領した識別子と同じ識別子をCP−CID171に含むエントリを、CPテーブル170から探し、ステップS1120で、該当するエントリが存在するかどうかをチェックする。
そして、リカバリマネージャ150は、受領した識別子と同じ識別子をCP−CID171に含むエントリが存在しない場合、リカバリイメージ再現処理を異常終了する(ステップS1130)。これに対して、リカバリマネージャ150は、受領した識別子と同じ識別子をCP−CID171に含むエントリを見つけたら、ステップS1140に進み、当該エントリに含まれるCP−JID172から識別子を読み出し、対応するジャーナルグループ370を含むストレージ装置300にリカバリイメージ再現を指示する。
このとき、リカバリイメージ再現を指示されたそれぞれのストレージ装置300は、指示された識別子に対応するリカバリイメージを再現し、リカバリイメージ再現完了通知をリカバリマネージャ150に返す。
続いて、リカバリマネージャ150は、ステップS1150で、全てのストレージ装置300からリカバリイメージ再現完了通知が返されるのを待ち受ける。最後に、リカバリマネージャ150は、ステップS1160で、リカバリイメージ再現完了通知を、リカバリイメージ再現指示元に返す。
ストレージシステム10では、このようなリカバリイメージ再現処理により、単一の識別子に対応する複数のストレージ装置300のリカバリイメージを再現することができる。
このように、ストレージシステム10では、ホスト計算機100で実行されるリカバリマネージャ150が、複数のストレージ装置300で装置ごとに記録されるCP(CP−JID172)と、それら複数のストレージ装置300に記録されたCPをひとまとめにしたCP(CP−CID171)を関連付ける。
そして、アプリケーション140は、リカバリマネージャ150にCP取得を指示する。リカバリマネージャ150は、アプリケーション140からの指示を受け、それぞれのストレージ装置300にCP取得指示を発行する。それぞれのストレージ装置300がCPを取得し、当該CPを特定する識別子をリカバリマネージャ150に返すと、リカバリマネージャ150は、ストレージ装置300ごとのCPをCP−JID172としてひとまとめにし、それに新たに識別子を割り当ててCP−CID171とし,CP−CIDをアプリケーション140に返す。
一方、アプリケーション140は、リカバリイメージを再現するときには、CP−CID171を指定してリカバリマネージャ150にリカバリイメージ再現指示を出す。リカバリマネージャ150は、CP−CID171から各ストレージ装置300に対応するCP−JID172を求め、それぞれのストレージ装置300に対応するCP−JID172を指定してリカバリイメージ再現を指示する。
これにより、ストレージシステム10では、複数のストレージ装置をまたがって、CPを取得し、CPに対応するリカバリイメージを再現することが可能となる。
なお、本実施例では、リカバリマネージャ140がストレージネットワーク800を経由して、ストレージ装置300に様々な指示を与えた場合について述べてが、本発明はこれに限らず、管理装置310を制御することにより、管理ネットワーク900を経由して、複数のストレージ装置300指示するようにしても良い。これにより、ストレージシステム10では、ストレージネットワーク800のアクセス負荷を低減することができる。
(2)第2実施例
続いて、第2実施例について説明する。本実施例では、アプリケーションがデータボリュームに発行するライトに、個々のライトの発行順序を特定するに充分な精度の時刻情報が付与されるシステムにおける構成を開示する。
続いて、第2実施例について説明する。本実施例では、アプリケーションがデータボリュームに発行するライトに、個々のライトの発行順序を特定するに充分な精度の時刻情報が付与されるシステムにおける構成を開示する。
このような条件を満たすシステムとしてよく知られたものの一例として、例えば、IBM(International Business Machines Corporation)社製のz/OSが搭載されるシステムがある。このz/OSでは、ストレージ装置に発行するライトに時刻情報を付与することが可能であり、当該時刻情報は1〜10マイクロ秒の精度を有する。
一般に、ストレージ装置へのライトは数百マイクロ秒から数ミリ秒の時間を要するので、本時刻情報は、個々のライトの発行順序を特定するに充分な精度である。さらに、本実施例では、付与された時刻情報をジャーナルやスナップショットの管理情報として記録するシステムにおける構成を開示する。
本実施例は、前述のように、充分な精度の時刻情報が全てのライトに付与され、かつ、当該時刻情報がジャーナルやスナップショットの管理情報として記録されるストレージシステムを前提とする。なお、本実施例の説明では、第1実施例と共通の構成要素については同様であるため説明を省く。
図9は、第2実施例におけるストレージシステム20の全体構成図である。ストレージシステム20は、1台以上のホスト計算機100と、複数台のストレージ装置300と、ストレージネットワーク800とが接続されて構成されている様子は第1実施例と同様である。本実施例では、ホスト計算機100は、ストレージ装置300へライトを発行する際、必ず時刻情報を付与するようになされている。
ホスト計算機100の構成要素のうち、アプリケーション140及びCTGテーブル160は第1実施例と同様である。その他のリカバリマネージャ180及びCPテーブル190は第2実施例に独自の構成である。リカバリマネージャ180とCPテーブル190の詳細は後述する。また、ストレージ装置300の構成も、第1実施例と同様であり、ジャーナルグループ370を有し、リカバリイメージを再現可能であることも同様である。さらに、アプリケーション140が複数のストレージ装置300に含まれるデータボリューム380を使用することも第1実施例と同様である。
図10は、第2実施例におけるCPテーブル190の構成図である。CPテーブル190は、CP−CID191と、時刻情報を保持するCP−TOD192からなる。第1実施例のCPテーブル170とは異なり、図10では、ストレージシステムの構成に含まれるストレージ装置300の台数にかかわる要素は存在しない。
CP−CID191とCP−TOD192が含む値やその設定方法について詳細は後述するが、1つのCP−CID191に対応して、1つのCP−TOD192が存在することに注意されたい。
このような、1つのCP−CID191と一つのCP−TOD192の組を、CPテーブル190のエントリと呼ぶ。さらには、CPテーブル190は、十分な数の空きエントリを含む。
図11は、第2実施例におけるリカバリマネージャ180の、CP取得処理のフローチャートである。第1実施例と同様に、本実施例では、アプリケーション140は、CPの取得をリカバリマネージャ180に指示する。すなわち、CP取得処理は、リカバリマネージャ180が、CP取得指示を受けたときに制御部110により起動される処理である。
リカバリマネージャ180は、ステップS1200で、アプリケーション140からのCP取得指示を受領する。続いて、リカバリマネージャ180は、ステップS1210で、CPテーブルの新規エントリを取得する。次に、リカバリマネージャ180は、ステップS1220で、前のステップS1210で取得したエントリのCP−CID191に一意の識別子を記録する。
続いて、リカバリマネージャ180は、ステップS1230で、取得したエントリのCP−TOD192に現在時刻を記録する。最後に、リカバリマネージャ180は、ステップS1240で、アプリケーション140にCP取得完了通知とともに、複数のストレージ装置300の含むジャーナルグループ370におけるCPを示す識別子として、CP−CID191に記憶した識別子を返す。
本実施例では、CP取得処理がリカバリマネージャ140によるCPテーブル190への情報の記録だけにとどまり、ストレージ装置300への指示を含まないことに注意されたい。これにより、ストレージシステム40では、ストレージ装置300のアクセス負荷を低減することができる。
ストレージシステム20では、このようなCP取得処理で、複数のストレージ装置300に含まれるジャーナルグループ370にわたったCP取得を実現でき、この結果、CP−CID191に記憶された単一の識別子により、当該CPを指定したリカバリイメージを再現することができる。
図12は、第2実施例におけるリカバリマネージャ180の、リカバリイメージ再現処理のフローチャートである。本実施例では、アプリケーション140が、リカバリイメージの再現を、CP−CID191に記憶された識別子を指定してリカバリマネージャ180に指示することにより実行する。リカバリイメージ再現処理は、リカバリマネージャ180が、リカバリイメージの再現を指示されたときに制御部110により起動される処理である。
リカバリマネージャ180は、ステップS1300で、リカバリイメージ再現指示を、識別子とともに受領する。続いて、リカバリマネージャ180は、ステップS1310で、受領した識別子と同じ識別子をCP−CID191に含むエントリを、CPテーブル190から探し、ステップS1320で該当するエントリが存在するかどうかをチェックする。
そして、リカバリマネージャ180は、受領した識別子と同じ識別子をCP−CID191に含むエントリが存在しない場合、リカバリイメージ再現処理を異常終了する(ステップS1330)。これに対して、リカバリマネージャ180は、受領した識別子と同じ識別子をCP−CID191に含むエントリを見つけたら、ステップS1340に進み、当該エントリに含まれるCP−TOD192を読み出し、当該時刻を「目標時刻」としてジャーナルグループ370のリカバリイメージを再現するよう、全てのストレージ装置300に指示する。
このとき、リカバリイメージ再現を指示されたそれぞれのストレージ装置300は、指示された「目標時刻」のリカバリイメージを再現し、リカバリイメージ再現完了通知をリカバリマネージャ180に返す。
続いて、リカバリマネージャ180は、ステップS1350で全てのストレージ装置300からリカバリイメージ再現完了通知が返されるのを待ち受ける。最後に、リカバリマネージャ180は、ステップS1360で、リカバリイメージ再現完了通知を、リカバリイメージ再現指示元に返す。
ストレージシステム20では、このようなリカバリイメージ再現処理により、単一の識別子に対応する複数のストレージ装置300のリカバリイメージを再現することができる。
(3)第3実施例
続いて、第3実施例について説明する。前述の第1実施例及び第2実施例では、複数のストレージ装置をまたがったCPの管理をリカバリマネージャにより実施していた。本実施例では、リカバリマネージャではなくストレージ装置で、複数のストレージ装置をまたがるCPを管理する方法を開示する。なお、本実施例の説明では、第1実施例と共通の構成要素については説明を省く。
続いて、第3実施例について説明する。前述の第1実施例及び第2実施例では、複数のストレージ装置をまたがったCPの管理をリカバリマネージャにより実施していた。本実施例では、リカバリマネージャではなくストレージ装置で、複数のストレージ装置をまたがるCPを管理する方法を開示する。なお、本実施例の説明では、第1実施例と共通の構成要素については説明を省く。
図13は、第3実施例におけるストレージシステム30の全体構成図である。このストレージシステム30は、1台以上のホスト計算機100と、1台のマスタストレージ装置500と、複数台のスレーブストレージ装置600と、ストレージネットワーク800で接続されて構成されている。図13では、構成の一例として、1台のホスト計算機100と、1台のマスタストレージ装置500と、2台のスレーブストレージ装置600とを例示している。
2台のスレーブストレージ装置600は、それぞれST1、ST2という識別子を持つものとし、それぞれをストレージ装置600A、ストレージ装置600Bとする。1台のマスタストレージ装置500は、ST3という識別子を持つものとする。なお、スレーブストレージ装置600は、第1実施例及び第2実施例におけるストレージ装置300と同等の機能を有している。すなわち、ジャーナルグループ370を構成し、その機能を使用してリカバリイメージを再現することができる。本実施例では、全てのスレーブストレージ装置600は、同じ構成を有している。
なお、本実施例では、マスタストレージ装置500、スレーブストレージ装置600A、スレーブストレージ装置600Bがそれぞれ有する管理装置を、管理装置510、管理装置610A、管理装置610Bとする。
なお、マスタストレージ装置500は、後に述べるマスタに関する機能以外については、第1実施例及び第2実施例におけるストレージ装置300と同等の機能を有している。また、マスタストレージ装置500は、全てのスレーブストレージ装置600と適当な通信手段により通信できるように接続される。図13の構成例では、ストレージネットワーク800を通じてマスタストレージ装置500とスレーブストレージ装置600が通信することができる。無論、他の通信手段を用いうることは、当業者には明らかである。
ホスト計算機100は、アプリケーション140とリカバリマネージャ200を有する。第1実施例でホスト計算機100にあったCTGテーブル160及びCPテーブル170相当の要素は、本実施例におけるホスト計算機100には特に必要としない。また、本実施例におけるリカバリマネージャ200は、1台のマスタストレージ装置500のみに対して、CP取得やリカバリイメージ再現を指示する。
図14は、第3実施例におけるマスタストレージ装置500の構成図である。マスタストレージ装置500は、ストレージ装置300と同様の構成要素を多く含む。コントローラ320、メモリ330、I/Oポート340、物理ボリューム350、論理ボリューム360及び管理装置410は、ストレージ装置300のものと全く同等の機能を有している。
また、マスタストレージ装置500は、ジャーナルグループ370とそれに含まれるデータボリューム380及びジャーナルボリューム390、並びにデータボリューム380に対応するスナップショットボリューム400についても、ストレージ装置300のものと同等である。
さらに、マスタストレージ装置500は、ジャーナルグループ370を使用してジャーナル及びスナップショットを取得するジャーナル作成プログラム410、ジャーナル作成プログラム410がジャーナルグループ220を管理するために使用する管理テーブル420についても、ストレージ装置300のものと同様である。
さらに、マスタストレージ装置500は、これらの構成要素を使用して、アプリケーション140がデータボリューム380へ発行するライトを、ジャーナルとしてジャーナルボリューム390に蓄積し、アプリケーション140からの、又はユーザから情報入力装置を介して取得したCP取得指示を、特殊なジャーナルとしてジャーナルボリューム390に蓄積し、適当な間隔でデータボリューム380のスナップショットをスナップショットボリューム400に取得し、ジャーナルとスナップショットを利用して、指示されたCPに対応するリカバリイメージを再現することができることも、ストレージ装置300のものと同様である。
アプリケーション140は、1つのマスタストレージ装置500と複数のスレーブストレージ装置600とに含まれるデータボリューム380を使用する。マスタストレージ装置500と各スレーブストレージ装置600は、それぞれのストレージ装置内のデータボリューム380をジャーナルグループ370によりひとまとめにして同じ時点のリカバリイメージを再現できる。
かかる構成に加えて、マスタストレージ装置500は、当該マスタストレージ装置500のみに含まれる構成要素として、CPテーブル520と、CP取得プログラム(CP取得PG)530と、リカバリイメージ再現プログラム(リカバリイメージ再現PG)540とを有する。これらは、マスタストレージ装置500のメモリ330に格納され、CP取得プログラム530と、リカバリイメージ再現プログラム540は、コントローラ320により実行される。
なお、CTGテーブル160は、第1実施例で述べたホスト計算機100が有していたCTGテーブル160とまったく同じ構成を有している。本実施例では、CTGを管理するのはマスタストレージ装置500なので、マスタストレージ装置500がCTGテーブル160を有する。
これにより、このストレージシステム30では、マスタストレージ装置500が、全てのスレーブストレージ装置600と適切に通信することにより、リカバリマネージャ200が1つのマスタストレージ装置500へ指示するだけで、マスタストレージ装置500と複数のスレーブストレージ装置600に含まれるデータボリューム380をひとまとめにして、リカバリイメージを再現できる。
図15は、第3実施例におけるCPテーブル520の構成図である。CPテーブル520は、マスタストレージ装置500及びそれぞれのスレーブストレージ装置600が含むジャーナルグループ370に対応するCP−JID522(522A〜522C)と、当該CP−JID522をひとまとめにして一括に管理する一括チェックポイントを表すCP−CID521とからなる。図15では、図13に示すような1台のマスタストレージ装置500と2台のスレーブストレージ装置600とがあるストレージシステムの構成におけるCPテーブル520を例示している。
CP−CID521とCP−JID522とが含む値やその設定方法について詳細は後述するが、1つのCP−CID521に対応して、1台のマスタストレージ装置500と2台のスレーブストレージ装置600とに含まれるジャーナルグループ370ごとにCP−JID522が存在することに注意されたい。例えば、図15のCP−JID522Cについては、ST3であるマスタストレージ装置500におけるJG2のジャーナルグループ370に対応している。
本実施例では、このような、1つのCP−CID521と、マスタストレージ装置500及び複数のスレーブストレージ装置600に含まれるジャーナルグループ370に対応するCP−JID522との組を、CPテーブル520のエントリと呼ぶ。さらには、CPテーブル520は、十分な数の空きエントリを含む。
図16は、第3実施例におけるCP取得プログラム530の、CP取得処理手順を示すフローチャートである。本実施例では、アプリケーション140は、CPの取得をリカバリマネージャ200に指示する。リカバリマネージャ200は、CP取得をマスタストレージ装置500に指示する。すなわち、CP取得処理は、リカバリマネージャ200からマスタストレージ装置500のCP取得プログラム530が、CP取得指示を受けたときにコントローラ320により起動される処理である。
CP取得プログラム530は、ステップS1400で、リカバリマネージャ200からのCP取得指示を受領する。続いて、CP取得プログラム530は、ステップS1410でCPテーブル520の新規エントリを取得する。次に、CP取得プログラム530は、ステップS1420で、前のステップS1410で取得したエントリのCP−CID521に一意の識別子を記録する。
続いて、CP取得プログラム530は、当該マスタストレージ装置500及び全てのスレーブストレージ装置600にライト保留指示を出し(ステップS1430)、当該マスタストレージ装置500全てのスレーブストレージ装置600からライト保留指示完了通知が返るのを待ち受ける(ステップS1440)。
続いて、CP取得プログラム530は、ステップS1450で、全てのスレーブストレージ装置600に対してジャーナルグループ370にCP取得を指示する。
このとき、CP取得指示を受けたそれぞれのスレーブストレージ装置600は、それぞれのスレーブストレージ装置600が含むジャーナルグループ370にCPを記憶し、取得したCPを特定する識別子を、CP取得完了通知とともにCP取得プログラム530に返す。
続いて、CP取得プログラム530は、ステップS1460で、それぞれのスレーブストレージ装置600からCP取得完了通知を受け、CP取得完了通知に含まれるそれぞれのジャーナルグループ220が取得したCPを示す識別子を、ステップS1410で取得したエントリの、ジャーナルグループ370に対応するCP−JID522に記録する(ステップS1470)。
続いて、CP取得プログラム530は、ステップS1480で、マスタストレージ装置500自身の持つジャーナルグループ370のCPを取得し、当該CPを特定する識別子を、ステップS1410で取得したエントリの、マスタストレージ装置500が持つジャーナルグループ370に対応するCP−JID522に記録する。次に、CP取得プログラム530は、当該マスタストレージ装置500及び全てのスレーブストレージ装置600にライト保留解除を指示する(ステップS1490)。
最後に、CP取得プログラム530は、ステップS1500で、リカバリマネージャ200にCP取得完了通知とともに、当該マスタストレージ装置500及び全てのスレーブストレージ装置600のジャーナルグループ370が取得したCPをひとまとめにしたCPを示す識別子として、CP−CID521に記憶した識別子を返す。
ストレージシステム30では、このようなCP取得プログラム530の処理により、マスタストレージ装置500及び複数のスレーブストレージ装置600に含まれるジャーナルグループ370ごとに記憶されたCPを、CP−CID521に記憶された単一の識別子により一括して指定することができる。
図17は、第3実施例におけるリカバリイメージ再現プログラム540の、リカバリイメージ再現処理手順を示すフローチャートである。本実施例では、アプリケーション140が、リカバリイメージの再現を、CP−CID521に記録された識別子を指定してリカバリマネージャ200に指示することにより実行する。リカバリマネージャ200は、マスタストレージ装置500に当該識別子を指定して、リカバリイメージ再現を指示する。リカバリイメージ再現処理は、リカバリマネージャ200からマスタストレージ装置500のリカバリ再現プログラム540が、リカバリイメージ再現を指示されたときにコントローラ320により起動される処理である。
リカバリ再現プログラム540は、ステップS1600で、リカバリイメージ再現指示を、識別子とともに受領する。続いて、リカバリ再現プログラム540は、ステップS1610で、受領した識別子と同じ識別子をCP−CID521に含むエントリを、CPテーブル520から探し、ステップS1620で該当するエントリが存在するかどうかをチェックする。
そして、リカバリ再現プログラム540は、受領した識別子と同じ識別子をCP−CID521に含むエントリが存在しない場合、リカバリイメージ再現プログラム540は異常終了する(ステップS1630)。これに対して、リカバリ再現プログラム540は、受領した識別子と同じ識別子をCP−CID521に含むエントリを見つけたら、ステップS1640に進み、当該エントリに含まれるCP−JID522から識別子を読み出し、対応するジャーナルグループ370を含む全てのスレーブストレージ装置600にリカバリイメージ再現を指示する。
このとき、リカバリイメージ再現を指示されたそれぞれのスレーブストレージ装置600は、指示された識別子に対応するリカバリイメージを再現し、リカバリイメージ再現完了通知をリカバリイメージ再現プログラム540に返す。
続いて、リカバリイメージ再現プログラム540は、ステップS1650で全てのスレーブストレージ装置600からリカバリイメージ再現完了通知が返されるのを待ち受ける。続いて、リカバリイメージ再現プログラム540は、ステップS1660で、マスタストレージ装置500自身の持つジャーナルグループ370に対応するCP−JID522から識別子を読み出し、その識別子で特定されるCPのリカバリイメージを再現する。最後に、リカバリイメージ再現プログラム540は、ステップS1670で、リカバリイメージ再現完了通知を、リカバリマネージャ200に返す。
ストレージシステム30では、このようなリカバリイメージ再現プログラム540の処理により、単一の識別子に対応するマスタストレージ装置500と複数のスレーブストレージ装置600のリカバリイメージを再現することができる。
また、本実施例におけるリカバリマネージャ200は、マスタストレージ装置400にのみ指示を出していることに注意されたい。これにより、ストレージシステム30では、ホスト計算機100の負荷を低減することができる。
(4)第4実施例
続いて、第4実施例について説明する。本実施例では、第2実施例で述べた、充分な精度の時刻情報が全てのライトに付与され、かつ、当該時刻情報がジャーナルやスナップショットの管理情報として記録されるシステムを前提とする。さらに、本実施例では、第3実施例で述べた、リカバリマネージャではなく、ストレージ装置で複数のストレージ装置をまたがるCPを管理する方法を開示する。なお、本実施例の説明では、第3実施例と共通の構成要素については説明を省く。
続いて、第4実施例について説明する。本実施例では、第2実施例で述べた、充分な精度の時刻情報が全てのライトに付与され、かつ、当該時刻情報がジャーナルやスナップショットの管理情報として記録されるシステムを前提とする。さらに、本実施例では、第3実施例で述べた、リカバリマネージャではなく、ストレージ装置で複数のストレージ装置をまたがるCPを管理する方法を開示する。なお、本実施例の説明では、第3実施例と共通の構成要素については説明を省く。
本実施例のストレージシステム40の全体構成は、第3実施例と同等である。すなわち、図13に示されている。ただし、本実施例では、ホスト計算機100は、マスタストレージ装置500及びスレーブストレージ装置600へライトを発行する際、必ず時刻情報を付与することに注意されたい。
図18は、第4実施例におけるマスタストレージ装置500の構成図である。本実施例のマスタストレージ装置500は、基本的には、第3実施例のマスタストレージ装置500と同等である。マスタストレージ装置500は、本実施例特有の構成要素として、CPテーブル550と、CP取得プログラム560と、リカバリイメージ再現プログラム570とを有する。これらは、マスタストレージ装置500のメモリ330に格納され、CP取得プログラム560と、リカバリイメージ再現プログラム570は、コントローラ320により実行される。
第3実施例と同様に、アプリケーション140は、1つのマスタストレージ装置500と複数のスレーブストレージ装置600に含まれるデータボリューム380を使用する。マスタストレージ装置500と各スレーブストレージ装置600は、当該マスタストレージ装置500及びそれぞれのスレーブストレージ装置600内のデータボリューム380をジャーナルグループ370によりひとまとめにして同じ時点のリカバリイメージを再現できる。
さらに、本実施例では、マスタストレージ装置500が、全てのスレーブストレージ装置600と適切に通信することにより、リカバリマネージャ200が1つのマスタストレージ装置500へ指示するだけで、マスタストレージ装置500と複数のスレーブストレージ装置600に含まれるデータボリューム380をひとまとめにして、リカバリイメージを再現できることも、第3実施例と同様である。
図19は、第4実施例におけるCPテーブル550の構成図である。CPテーブル550は、CP−CID551と時刻情報を保持するCP−TOD552からなる。第3実施例のCPテーブル520とは異なり、図19では、システム構成に含まれるマスタストレージ装置500やスレーブストレージ装置600の台数にかかわる要素は存在しない。
CP−CID551とCP−TOD552とが含む値やその設定方法について詳細は後述するが、1つのCP−CID551に対応して、1つのCP−TOD552が存在することに注意されたい。
このような、1つのCP−CID551と1つのCP−TOD552の組を、CPテーブル550のエントリと呼ぶ。さらには、CPテーブル550は、十分な数の空きエントリを含む。
図20は、第4実施例におけるCP取得プログラム560のフローチャートである。第3実施例と同様に、本実施例では、アプリケーション140は、CPの取得をリカバリマネージャ200に指示する。リカバリマネージャ200は、CP取得をマスタストレージ装置500に指示する。
CP取得処理は、リカバリマネージャ200からマスタストレージ装置500のCP取得プログラム560が、CP取得指示を受けたときにコントローラ320により起動される処理である。この際、ライトに付与される時刻情報と同等の時刻情報を、指示に含める。
CP取得プログラム560は、ステップS1700で、リカバリマネージャ200からのCP取得指示を受領する。続いて、CP取得プログラム560は、ステップS1710で、CPテーブル550の新規エントリを取得する。次に、CP取得プログラム560は、ステップS1720で、前のステップS1710で取得したエントリのCP−CID551に一意の識別子を記録する。
続いて、CP取得プログラム560は、ステップS1730で、取得したエントリのCP−TOD552にリカバリマネージャ200から受領した時刻を記録する。最後に、CP取得プログラム560は、ステップS1740で、リカバリマネージャ200にCP取得完了通知とともに、当該マスタストレージ装置500及び複数のスレーブストレージ装置600の含むジャーナルグループ370におけるCPを示す識別子として、CP−CID551に記憶した識別子を返す。
本実施例では、CP取得処理がマスタストレージ装置500によるCPテーブル550への情報の記録だけにとどまり、スレーブストレージ装置600への指示を含まないことに注意されたい。これにより、ストレージシステム40では、スレーブストレージ装置600のアクセス負荷を低減することができる。
ストレージシステム40では、このようなCP取得処理で、マスタストレージ装置400と複数のスレーブストレージ装置600に含まれるジャーナルグループ370にわたったCP取得を実現でき、この結果、CP−CID551に記憶された単一の識別子により、当該CPを指定したリカバリイメージを再現することができる。
図21は、第4実施例におけるリカバリイメージ再現プログラム570の、リカバリイメージ再現手順を示すフローチャートである。本実施例では、アプリケーション140が、リカバリイメージの再現を、CP−CID551に記憶された識別子を指定してリカバリマネージャ200に指示することにより実行する。リカバリマネージャ200は、マスタストレージ装置500に当該識別子を指定して、リカバリイメージ再現を指示する。
リカバリイメージ再現処理は、リカバリマネージャ200からマスタストレージ装置500のリカバリイメージ再現プログラム570が、リカバリイメージ再現を指示されたときにコントローラ320により起動される処理である。
リカバリイメージ再現プログラム570は、ステップS1800で、リカバリイメージ再現指示を、識別子とともに受領する。続いて、リカバリイメージ再現プログラム570は、ステップS1810で、受領した識別子と同じ識別子をCP−CID551に含むエントリを、CPテーブル550から探し、ステップS1820で該当するエントリが存在するかどうかをチェックする。
そして、リカバリイメージ再現プログラム570は、受領した識別子と同じ識別子をCP−CID551に含むエントリが存在しない場合、リカバリイメージ再現プログラム570を異常終了する(ステップS1830)。これに対して、リカバリイメージ再現プログラム570は、受領した識別子と同じ識別子をCP−CID551に含むエントリを見つけたら、ステップS1840に進み、当該エントリに含まれるCP−TOD552を読み出し、当該時刻を「目標時刻」としてジャーナルグループ370のリカバリイメージを再現するよう、全てのスレーブトレージ装置600に指示する。
このとき、リカバリイメージ再現を指示されたそれぞれのスレーブストレージ装置600は、指示された「目標時刻」のリカバリイメージを再現し、リカバリイメージ再現完了通知をリカバリイメージ再現プログラム570に返す。
続いて、リカバリイメージ再現プログラム570は、ステップS1850で全てのスレーブストレージ装置600からリカバリイメージ再現完了通知が返されるのを待ち受ける。
やがて、リカバリイメージ再現プログラム570は、ステップS1860で、マスタストレージ装置500自身の持つジャーナルグループ370の、CP−TOD552の示す時刻を「目標時刻」としたリカバリイメージを再現する。最後に、リカバリイメージ再現プログラム570は、ステップS1870で、リカバリイメージ再現完了通知を、リカバリマネージャ200に返す。
ストレージシステム40では、このようなリカバリイメージ再現プログラム570の処理により、単一の識別子に対応するマスタストレージ装置500と複数のストレージ装置600とのリカバリイメージを再現することができる。
また、本実施例におけるリカバリマネージャ200は、マスタストレージ装置500にのみ指示を出していることに注意されたい。これにより、ストレージシステム40では、ホスト計算機100の処理負荷を低減することができる。
本発明は、複数のストレージ装置で構成された、データのリカバリを行うストレージシステムに適用できる。
10、20、30、40……ストレージシステム、100……ホスト計算機、110……制御部、120……メモリ、140……アプリケーション、150、180、200……リカバリマネージャ、160……CTGテーブル、170、190、520、550……CPテーブル、300……ストレージ装置、310、510、610……管理装置、320……コントローラ、330……メモリ、370……ジャーナルグループ、500……マスタストレージ装置、530、560……CP取得プログラム、540、570……リカバリイメージ再現プログラム、600……スレーブストレージ装置
Claims (16)
- データの送受信を行うホスト計算機と、それぞれ前記ホスト計算機から送信される前記データを格納するためのボリュームが設けられた複数のストレージ装置とを有するストレージシステムにおいて、
前記複数のストレージ装置の各前記ボリュームをリカバリする際の目印でなるチェックポイントを設定するチェックポイント設定部と、
前記チェックポイント設定部により設定された前記チェックポイントを管理するチェックポイント管理部と、
前記チェックポイント管理部により管理された各前記ボリュームについての前記チェックポイントの状態までの前記ボリュームのリカバリを、前記複数のストレージ装置に指示するリカバリ指示部と
を備えることを特徴とするストレージシステム。 - 前記チェックポイント設定部は、
任意のタイミングで前記チェックポイントを設定する
ことを特徴とする請求項1に記載のストレージシステム。 - 前記チェックポイント設定部は、
ユーザの指定に応じたタイミングで前記チェックポイントを設定する
ことを特徴とする請求項1に記載のストレージシステム。 - 前記チェックポイント設定部は、
前記ホスト装置が認識する、所定のデータが前記ボリュームに書き込まれた時点を前記チェックポイントとして設定する
ことを特徴とする請求項1に記載のストレージシステム。 - 前記チェックポイント設定部は、
コンシステンシグループによりまとめられた前記複数のストレージ装置に対して前記チェックポイントを設定する
ことを特徴とする請求項1に記載のストレージシステム。 - 前記チェックポイント設定部は、
前記複数のストレージ装置の前記ボリュームにそれぞれ前記チェックポイントを設定し、
前記チェックポイント管理部は、
前記チェックポイント設定部により設定された各前記チェックポイントをひとまとめにして一括管理し、
前記リカバリ指示部は、
前記チェックポイント管理部により管理された各前記ボリュームについての前記チェックポイントの状態までの前記ボリュームのリカバリを、前記チェックポイントに対応するストレージ装置に指示する
ことを特徴とする請求項1に記載のストレージシステム。 - 前記チェックポイント設定部は、
時刻を前記チェックポイントとして設定する
ことを特徴とする請求項1に記載のストレージシステム。 - 前記チェックポイント設定部、前記チェックポイント管理部及び前記リカバリ指示部が、前記ホスト装置に設けられた
ことを特徴とする請求項1に記載のストレージシステム。 - 前記チェックポイント管理部及び前記リカバリ指示部が、前記複数のストレージ装置のうちの、所定のストレージ装置であるマスタストレージ装置に設けられ、
前記リカバリ指示部は、
前記ホスト計算機からの指示に基づいて、前記チェックポイント管理部により管理された各前記ボリュームについての前記チェックポイントの状態までの前記ボリュームのリカバリを、前記複数のストレージ装置に指示する
ことを特徴とする請求項1に記載のストレージシステム。 - データの送受信を行うホスト計算機と、それぞれ前記ホスト計算機から送信される前記データを格納するためのボリュームが設けられた複数のストレージ装置とを有するストレージシステムのリカバリ方法において、
前記複数のストレージ装置の各前記ボリュームをリカバリする際の目印でなるチェックポイントを設定する第1のステップと、
前記第1のステップにおいて設定した前記チェックポイントを管理する第2のステップと、
前記第2のステップにおいて管理した各前記ボリュームについての前記チェックポイントの状態までの前記ボリュームのリカバリを、前記複数のストレージ装置に指示する第3のステップと
を備えることを特徴とするストレージシステムのリカバリ方法。 - 前記第1のステップでは、
任意のタイミングで前記チェックポイントを設定する
ことを特徴とする請求項10に記載のストレージシステムのリカバリ方法。 - 前記第1のステップでは、
ユーザの指定に応じたタイミングで前記チェックポイントを設定する
ことを特徴とする請求項10に記載のストレージシステムのリカバリ方法。 - 前記第1のステップでは、
前記ホスト装置が認識する、所定のデータが前記ボリュームに書き込まれた時点を前記チェックポイントとして設定する
ことを特徴とする請求項10に記載のストレージシステムのリカバリ方法。 - 前記第1のステップでは、
コンシステンシグループによりまとめられた前記複数のストレージ装置に対して前記チェックポイントを設定する
ことを特徴とする請求項10に記載のストレージシステムのリカバリ方法。 - 前記第1のステップでは、
前記複数のストレージ装置の前記ボリュームにそれぞれ前記チェックポイントを設定し、
前記第2のステップでは、
前記第1のステップにおいて設定した各前記チェックポイントをひとまとめにして一括管理し、
前記第3のステップでは、
前記第2のステップにおいて管理した各前記ボリュームについての前記チェックポイントの状態までの前記ボリュームのリカバリを、前記チェックポイントに対応するストレージ装置に指示する
ことを特徴とする請求項10に記載のストレージシステムのリカバリ方法。 - 前記第1のステップでは、
時刻を前記チェックポイントとして設定する
ことを特徴とする請求項10に記載のストレージシステムのリカバリ方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006037101A JP2007219657A (ja) | 2006-02-14 | 2006-02-14 | ストレージシステム及びそのリカバリ方法 |
US11/396,579 US7571350B2 (en) | 2006-02-14 | 2006-04-04 | Storage system and recovery method thereof |
DE602006003853T DE602006003853D1 (de) | 2006-02-14 | 2006-06-29 | Speichersystem und Wiederherstellungsverfahren dafür |
EP06253414A EP1818827B1 (en) | 2006-02-14 | 2006-06-29 | Storage system and recovery method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006037101A JP2007219657A (ja) | 2006-02-14 | 2006-02-14 | ストレージシステム及びそのリカバリ方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007219657A true JP2007219657A (ja) | 2007-08-30 |
Family
ID=36972740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006037101A Pending JP2007219657A (ja) | 2006-02-14 | 2006-02-14 | ストレージシステム及びそのリカバリ方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7571350B2 (ja) |
EP (1) | EP1818827B1 (ja) |
JP (1) | JP2007219657A (ja) |
DE (1) | DE602006003853D1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009087184A (ja) * | 2007-10-02 | 2009-04-23 | Nippon Telegr & Teleph Corp <Ntt> | データバックアップ方法、情報処理装置、復元処理装置、プログラム及び記録媒体 |
JP2009123187A (ja) * | 2007-10-24 | 2009-06-04 | Hitachi Ltd | ストレージシステム |
US8285953B2 (en) | 2007-10-24 | 2012-10-09 | Hitachi, Ltd. | Storage system group |
US9164941B2 (en) | 2007-10-24 | 2015-10-20 | Hitachi, Ltd. | Storage system group |
JP2015219708A (ja) * | 2014-05-16 | 2015-12-07 | 日本電気株式会社 | ストレージシステム、ストレージ方法、及び、プログラム |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007219657A (ja) * | 2006-02-14 | 2007-08-30 | Hitachi Ltd | ストレージシステム及びそのリカバリ方法 |
JP2008242744A (ja) * | 2007-03-27 | 2008-10-09 | Hitachi Ltd | Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法 |
US9495370B1 (en) * | 2007-07-19 | 2016-11-15 | American Megatrends, Inc. | Data recovery point review in a continuous data protection system |
US8543789B2 (en) * | 2008-05-05 | 2013-09-24 | Dell Products L.P. | System and method for managing a storage array |
US8037033B2 (en) * | 2008-09-22 | 2011-10-11 | Microsoft Corporation | Log manager for aggregating data |
US8694469B2 (en) * | 2009-12-28 | 2014-04-08 | Riverbed Technology, Inc. | Cloud synthetic backups |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5273543A (en) | 1992-12-14 | 1993-12-28 | Becton, Dickinson And Company | Safety needle syringe |
US5577222A (en) * | 1992-12-17 | 1996-11-19 | International Business Machines Corporation | System for asynchronously duplexing remote data by sending DASD data grouped as a unit periodically established by checkpoint based upon the latest time value |
GB2321322B (en) * | 1996-10-28 | 2001-10-10 | Altera Corp | Remote software technical support |
US6795966B1 (en) * | 1998-05-15 | 2004-09-21 | Vmware, Inc. | Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction |
US6594744B1 (en) * | 2000-12-11 | 2003-07-15 | Lsi Logic Corporation | Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository |
US6606690B2 (en) * | 2001-02-20 | 2003-08-12 | Hewlett-Packard Development Company, L.P. | System and method for accessing a storage area network as network attached storage |
JP3974538B2 (ja) | 2003-02-20 | 2007-09-12 | 株式会社日立製作所 | 情報処理システム |
US7366326B2 (en) * | 2003-06-24 | 2008-04-29 | University Of Maryland, Baltimore County | Real-time implementation of field programmable gate arrays (FPGA) design in hyperspectral imaging |
US20050015416A1 (en) | 2003-07-16 | 2005-01-20 | Hitachi, Ltd. | Method and apparatus for data recovery 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 |
JP4551096B2 (ja) | 2004-02-03 | 2010-09-22 | 株式会社日立製作所 | ストレージサブシステム |
US7162602B2 (en) | 2004-03-16 | 2007-01-09 | Hitachi, Ltd. | More granular and more efficient write protection for disk volumes |
US7290166B2 (en) * | 2004-07-28 | 2007-10-30 | Intel Corporation | Rollback of data |
JP2007219657A (ja) * | 2006-02-14 | 2007-08-30 | Hitachi Ltd | ストレージシステム及びそのリカバリ方法 |
-
2006
- 2006-02-14 JP JP2006037101A patent/JP2007219657A/ja active Pending
- 2006-04-04 US US11/396,579 patent/US7571350B2/en not_active Expired - Fee Related
- 2006-06-29 EP EP06253414A patent/EP1818827B1/en not_active Expired - Fee Related
- 2006-06-29 DE DE602006003853T patent/DE602006003853D1/de active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009087184A (ja) * | 2007-10-02 | 2009-04-23 | Nippon Telegr & Teleph Corp <Ntt> | データバックアップ方法、情報処理装置、復元処理装置、プログラム及び記録媒体 |
JP2009123187A (ja) * | 2007-10-24 | 2009-06-04 | Hitachi Ltd | ストレージシステム |
US8285953B2 (en) | 2007-10-24 | 2012-10-09 | Hitachi, Ltd. | Storage system group |
US8607012B2 (en) | 2007-10-24 | 2013-12-10 | Hitachi, Ltd. | Storage system group |
US9164941B2 (en) | 2007-10-24 | 2015-10-20 | Hitachi, Ltd. | Storage system group |
JP2015219708A (ja) * | 2014-05-16 | 2015-12-07 | 日本電気株式会社 | ストレージシステム、ストレージ方法、及び、プログラム |
Also Published As
Publication number | Publication date |
---|---|
US7571350B2 (en) | 2009-08-04 |
EP1818827B1 (en) | 2008-11-26 |
US20070220326A1 (en) | 2007-09-20 |
DE602006003853D1 (de) | 2009-01-08 |
EP1818827A1 (en) | 2007-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007219657A (ja) | ストレージシステム及びそのリカバリ方法 | |
JP4749112B2 (ja) | 記憶制御システム及び方法 | |
US8117168B1 (en) | Methods and systems for creating and managing backups using virtual disks | |
US7523149B1 (en) | System and method for continuous protection of working set data using a local independent staging device | |
US8117410B2 (en) | Tracking block-level changes using snapshots | |
JP4800031B2 (ja) | ストレージシステム及びスナップショット管理方法 | |
JP3410899B2 (ja) | 多重ボリューム・データ・セットを回復する方法 | |
US8412680B1 (en) | System and method for performing backup operations and reporting the results thereof | |
US20070079087A1 (en) | User interface for archival storage of data | |
US8082229B2 (en) | Methods for backing up a database | |
JP5984151B2 (ja) | データの復旧方法、プログラムおよびデータ処理システム | |
JP5222469B2 (ja) | 記憶システム及びデータ管理方法 | |
US6912630B1 (en) | Method and apparatus for computing file storage elements for backup and restore | |
US20070245107A1 (en) | System and method for processing a plurality kinds of event markers of a continuous data protection | |
US8260754B2 (en) | Computer system and restoration method | |
US20070043973A1 (en) | Isolating and storing configuration data for disaster recovery for operating systems providing physical storage recovery | |
JP2008226227A (ja) | アプリケーション情報に基づくボリューム間の整合性を管理するためのシステムおよび方法 | |
JP4845724B2 (ja) | バックアップ機能を備えたストレージシステム | |
JP2004287648A (ja) | 外部記憶装置及び外部記憶装置のデータ回復方法並びにプログラム | |
JPH09101912A (ja) | 差分バックアップ方式 | |
US20090172278A1 (en) | Method and System for Backing Up and Restoring Online System Information | |
US20070033361A1 (en) | Apparatus, system, and method for fastcopy target creation | |
US8285835B1 (en) | Graphical analysis of states in a computing system | |
US20070043969A1 (en) | Isolating and storing configuration data for disaster recovery for operating systems providing physical storage recovery | |
JP2002297427A (ja) | データのバックアップのための方法、装置、システム、プログラム及び記憶媒体 |