JP2007310631A - ストレージシステム及びそのリカバリボリューム作成方法 - Google Patents

ストレージシステム及びそのリカバリボリューム作成方法 Download PDF

Info

Publication number
JP2007310631A
JP2007310631A JP2006138712A JP2006138712A JP2007310631A JP 2007310631 A JP2007310631 A JP 2007310631A JP 2006138712 A JP2006138712 A JP 2006138712A JP 2006138712 A JP2006138712 A JP 2006138712A JP 2007310631 A JP2007310631 A JP 2007310631A
Authority
JP
Japan
Prior art keywords
journal
recovery
volume
snapshot
storage area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006138712A
Other languages
English (en)
Other versions
JP4842703B2 (ja
Inventor
Kentetsu Eguchi
賢哲 江口
Takashi Arakawa
敬史 荒川
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 JP2006138712A priority Critical patent/JP4842703B2/ja
Priority to US11/485,041 priority patent/US7840766B2/en
Priority to EP09010585A priority patent/EP2131284B1/en
Priority to DE602006017756T priority patent/DE602006017756D1/de
Priority to EP06255755A priority patent/EP1860559B8/en
Priority to DE602006009634T priority patent/DE602006009634D1/de
Priority to CN2006101643494A priority patent/CN101075203B/zh
Publication of JP2007310631A publication Critical patent/JP2007310631A/ja
Priority to US12/942,955 priority patent/US8131962B2/en
Application granted granted Critical
Publication of JP4842703B2 publication Critical patent/JP4842703B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • 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

Abstract

【課題】本発明は、記憶領域の運用効率を格段的に向上させ得る信頼性の高いストレージシステムを提案するものである。
【解決手段】リカバリボリュームを作成するときに、指定されたリカバリボリュームに対応するリカバリポイントジャーナルより前で、かつ当該リカバリポイントジャーナルに一番近いスナップショットジャーナルに対応するスナップショットの管理テーブルを複製するスナップショット管理テーブル複製部と、スナップショット管理テーブル複製部により複製されたスナップショットの管理テーブルを、スナップショットジャーナルから、指定されたリカバリボリュームに対応するリカバリポイントジャーナルまでの、第2の記憶領域に書き込まれたジャーナルデータに基づいて更新することにより、リカバリボリュームを作成するリカバリボリューム作成部とを備える。
【選択図】図16

Description

本発明は、スナップショット機能及びジャーナル機能を有するストレージシステムに適用して好適なものである。
企業情報システムのデータを格納するストレージシステムは、従来からデータ保護という役割を担っている。データ保護へのニーズなどから、ストレージシステムの分野では、企業情報システムを停止することなく、データのコピーであるレプリケーションを取得し、災害やオペレーションミスが発生した場合に、瞬時にレプリケーションからデータを修復し、ある過去の運用状態に再形成(以下、この処理を「リカバリ」と呼ぶ)するためのスナップショット機能やジャーナル機能などが提案されている。
スナップショット機能とは、ストレージシステムが、ホスト計算機からスナップショット指示を受領すると、その時刻の記憶領域のデータを別の記憶領域へコピーすることによって、レプリケーションを作成する機能である。ストレージシステムでは、定期的にスナップショット機能を実行することにより、データのレプリケーションを間欠的に取得しておくことが可能となる。また、スナップショット機能を用いた場合、ユーザは、スナップショットを取得したポイントにおいてリカバリを行なうことが可能となる。
ジャーナル機能とは、ストレージシステムがホスト計算機から書込み要求を受領すると、書込みに関する制御情報や書込み対象のデータからなるジャーナルを作成し、保存する機能である。特許文献1には、スナップショット機能によって取得したスナップショットに、ジャーナル内の書込み対象のデータを書き込むことによって、スナップショットを作成したポイント以外のポイントにおいて実行されるリカバリ処理について開示されている。このように、ジャーナル機能とスナップショット機能を併用することで、少数のスナップショットから多数のポイントにおけるリカバリが可能となる。
特開2005−18738号公報
しかしながら、特許文献1のストレージシステムでは、ホスト計算機から指定されたポイントへのリカバリ処理を実行する際に、ホスト計算機から指定されたポイントまでのリカバリを実現するために、リカバリ対象のすべてのデータを書き込むための物理的な記憶領域を確保しなければならず、この結果、膨大な記憶領域が必要となるという問題がある。
また、特許文献1のストレージシステムでは、ホスト計算機から指定されたポイントへのリカバリ処理を実行する際に、スナップショットに対して、ホスト計算機から指定されたポイントまで直接リカバリ処理を実行するため、当該スナップショットを破壊することとなると共に、同一のスナップショットから、リカバリ処理を実行することができなくなるという問題がある。
本発明は以上の点を考慮してなされたもので、記憶領域の運用効率を格段的に向上させ得る信頼性の高いストレージシステム及びそのリカバリボリューム作成方法を提案するものである。
かかる課題を解決するために本発明においては、ホスト計算機から送信されるデータを記憶領域に書き込むストレージシステムであって、ホスト計算機から送信されるデータを書き込むための第1の記憶領域、第1の記憶領域に書き込まれたデータをジャーナルデータとして時系列に識別可能に書き込むための第2の記憶領域、第1の記憶領域のデータに対するホスト計算機からの書込み要求があったときに、当該第1の記憶領域のデータを書き込むための第3の記憶領域を設定する記憶領域設定部と、所定のタイミングで、第1の記憶領域に対するスナップショットを取得し、スナップショットのスナップショットジャーナルを第2の記憶領域に書き込むと共に、スナップショットの管理テーブルを管理するスナップショット取得管理部と、ホスト計算機から指定されたリカバリボリュームを作成するときのリカバリポイントジャーナルを取得し、リカバリポイントジャーナルを第2の記憶領域に書き込むリカバリポイント取得部と、リカバリボリュームを作成するときに、指定されたリカバリボリュームに対応するリカバリポイントジャーナルより前で、かつ当該リカバリポイントジャーナルに一番近いスナップショットジャーナルに対応するスナップショットの管理テーブルを複製するスナップショット管理テーブル複製部と、スナップショット管理テーブル複製部により複製されたスナップショットの管理テーブルを、スナップショットジャーナルから、指定されたリカバリボリュームに対応するリカバリポイントジャーナルまでの、第2の記憶領域に書き込まれたジャーナルデータに基づいて更新することにより、リカバリボリュームを作成するリカバリボリューム作成部とを備える。
従って、第1の記憶領域及び第3の記憶領域に書き込まれているデータ分の物理的な記憶領域を確保することなく、スナップショットジャーナルから、指定されたリカバリボリュームまでの第2の記憶領域に書き込まれているデータ分の物理的な記憶領域を確保することで、リカバリボリュームを作成することができると共に、スナップショットの管理テーブルを破壊することなく、同一のスナップショットの管理テーブルから、何度でもリカバリボリュームを作成することができる。
また、本発明においては、ホスト計算機から送信されるデータを記憶領域に書き込むストレージシステムのリカバリボリューム作成方法であって、ホスト計算機から送信されるデータを書き込むための第1の記憶領域、第1の記憶領域に書き込まれたデータをジャーナルデータとして時系列に識別可能に書き込むための第2の記憶領域、第1の記憶領域のデータに対するホスト計算機からの書込み要求があったときに、当該第1の記憶領域の前記データを書き込むための第3の記憶領域を設定する第1のステップと、所定のタイミングで、第1の記憶領域に対するスナップショットを取得し、スナップショットのスナップショットジャーナルを第2の記憶領域に書き込むと共に、スナップショットの管理テーブルを管理する第2のステップと、ホスト計算機から指定されたリカバリボリュームを作成するときのリカバリポイントジャーナルを取得し、リカバリポイントジャーナルを第2の記憶領域に書き込む第3のステップと、リカバリボリュームを作成するときに、指定されたリカバリボリュームに対応するリカバリポイントジャーナルより前で、かつ当該リカバリポイントジャーナルに一番近いスナップショットジャーナルに対応するスナップショットの管理テーブルを複製する第4のステップと、第4のステップにおいて複製したスナップショットの管理テーブルを、スナップショットジャーナルから、指定されたリカバリボリュームに対応するリカバリポイントジャーナルまでの、第2の記憶領域に書き込まれたジャーナルデータに基づいて更新することにより、リカバリボリュームを作成する第5のステップとを備える。
従って、第1の記憶領域及び第3の記憶領域に書き込まれているデータ分の物理的な記憶領域を確保することなく、スナップショットジャーナルから、指定されたリカバリボリュームまでの第2の記憶領域に書き込まれているデータ分の物理的な記憶領域を確保することで、リカバリボリュームを作成することができると共に、スナップショットの管理テーブルを破壊することなく、同一のスナップショットの管理テーブルから、何度でもリカバリボリュームを作成することができる。
本発明によれば、リカバリボリュームを作成するときに、指定されたリカバリボリュームに対応するリカバリポイントジャーナルより前で、かつ当該リカバリポイントジャーナルに一番近いスナップショットジャーナルに対応するスナップショットの管理テーブルを複製し、複製したスナップショットの管理テーブルを、スナップショットジャーナルから、指定されたリカバリボリュームに対応するリカバリポイントジャーナルまでの、第2の記憶領域に書き込まれたジャーナルデータに基づいて更新することにより、リカバリボリュームを作成することにより、第1の記憶領域及び第3の記憶領域に書き込まれているデータ分の物理的な記憶領域を確保することなく、スナップショットジャーナルから、指定されたリカバリボリュームまでの第2の記憶領域に書き込まれているデータ分の物理的な記憶領域を確保することで、リカバリボリュームを作成することができると共に、スナップショットの管理テーブルを破壊することなく、同一のスナップショットの管理テーブルから、何度でもリカバリボリュームを作成することができ、かくして、記憶領域の運用効率を格段的に向上させ得る信頼性の高い記憶システム並びにストレージシステム及びそのリカバリボリューム作成方法を実現できる。
以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による記憶システムの構成
図1は、本実施の形態による記憶システム1の構成を示す。この記憶システム1は、複数のホスト計算機2がネットワーク3を介してストレージシステム4に接続されることにより構成されている。また、記憶システム1は、複数のホスト計算機2、管理端末5及び管理サーバ6が第2のネットワーク7を介して接続されることにより構成されている。
上位装置としてのホスト計算機2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームコンピュータなどから構成される。ホスト計算機2は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置(図示せず)と、モニタディスプレイやスピーカ等の情報出力装置(図示せず)とを備えている。
第1のネットワーク3は、例えば、SAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。この第1のネットワーク3を介したホスト計算機2及びストレージシステム4間の通信は、例えば、第1のネットワーク3がSANである場合には、ファイバーチャネルプロトコルに従って行われ、第1のネットワーク3がLANである場合には、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。第2のネットワーク7は、例えば、LAN、インターネット、公衆回線又は専用回線などから構成される。この第2のネットワーク7を介したホスト計算機2、管理端末5及び管理サーバ6間の通信は、例えば、第2のネットワーク7がLANである場合には、TCP/IPプロトコルに従って行われる。
ストレージシステム4は、データの入出力を制御するコントロール部10と、データを記憶する複数のディスクデバイス21からなる記憶デバイス部20とを備えて構成されている。
コントロール部10は、複数のチャネルアダプタ11、接続部12、共有メモリ13、キャッシュメモリ14及び複数のディスクアダプタ15を備えて構成されている。
各チャネルアダプタ11は、それぞれマイクロプロセッサ、メモリ及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、それぞれ第1のネットワーク3や他のストレージシステム等に接続するためのポートを備える。チャネルアダプタ11は、ホスト計算機2から第1のネットワーク3を介して送信される各種コマンドを解釈して対応する処理を実行する。各チャネルアダプタ11のポートには、それぞれを識別するためのネットワークアドレス(例えば、IPアドレスやWWN)が割り当てられており、これにより各チャネルアダプタ11がそれぞれ個別にNAS(Network Attached Storage)として振る舞うことができるようになされている。
接続部12は、チャネルアダプタ11、共有メモリ13、キャッシュメモリ14及びディスクアダプタ15と接続されている。チャネルアダプタ11、共有メモリ13、キャッシュメモリ14及びディスクアダプタ15間でのデータやコマンドの授受は、この接続部12を介して行われる。接続部12は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ等で構成されている。
共有メモリ13及びキャッシュメモリ14は、チャネルアダプタ11及びディスクアダプタ15により共有される記憶メモリである。共有メモリ13には、図2に示すように、ストレージシステム4全体の構成に関する種々のシステム構成情報、各種プログラムや各種テーブルを記憶されている。また、共有メモリ13は、書込み要求や読出し要求等のコマンドを記憶するために利用される。なお、本実施の形態において、共有メモリ13に記憶されている各種プログラムや各種テーブルについては、後述する。また、キャッシュメモリ14は、主に、ストレージシステム4に入出力する書込み対象や読出し対象のデータを一時的に記憶するために利用される。
各ディスクアダプタ15は、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成され、記憶デバイス部20内のディスクデバイス21との通信時におけるプロトコル制御を行うインタフェースとして機能する。これらディスクアダプタ15は、例えば、ファイバーチャネルケーブルを介して記憶デバイス部20内の対応するディスクデバイス21と接続されており、ファイバーチャネルプロトコルに従って、これらディスクデバイス21との間のデータの授受を行う。
一方、記憶デバイス部20のディスクデバイス21としては、例えば、SCSI(Small Computer System Interface)ディスク等の高価なディスク、又はSATA(Serial AT Attachment)ディスクや光ディスク等の安価なディスクが適用される他、ディスクデバイス以外のフラッシュメモリ等の半導体メモリにも適用することもできる。
記憶デバイス部20の各ディスクデバイス21は、コントロール部10によりRAID(Redundant Array of Independent Disks)方式で運用される。1又は複数のディスクデバイス21により提供される物理的な記憶領域上に、1又は複数の論理的なボリューム(以下、これを論理ボリュームと呼ぶ)が設定される。そしてデータは、この論理ボリューム内に所定大きさのブロック(以下、これを論理ブロックと呼ぶ)単位で記憶される。また、1又は複数の論理ボリューム上に、さらに、1又は複数の論理ボリュームが設定されることもある。
各論理ボリュームには、それぞれ固有の識別子(以下、これをLUN(Logical Unit Number)と呼ぶ)が付与される。本実施の形態の場合、データの入出力は、このLUNと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号(LBA:Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
管理端末5は、ストレージシステム4全体の動作を制御する端末装置であり、例えば、ノート型のパーソナルコンピュータから構成される。管理端末5は、LAN16を介して各チャネルアダプタ11及び各ディスクアダプタ15とそれぞれ接続されている。オペレータは、管理端末5を用いてシステム構成情報を定義することができ、またこの定義したシステム構成情報を、チャネルアダプタ11又はディスクアダプタ15と接続部12とを経由して、共有メモリ13に書き込むことができる。
管理サーバ6は、ホスト計算機2、及び管理端末5を介してストレージシステム4の状態や構成変更等を管理するコンピュータシステムである。管理サーバ6は、ホスト計算機2及び管理端末16と第2のネットワーク7を介して接続されており、ホスト計算機2、及び管理端末5を介してストレージシステム4の各制御状態を示す情報を取得し、また、ホスト計算機2、及び管理端末5を介してストレージシステム4に各種の指示を与えるようになされている。
ここで、この記憶システム1におけるホスト計算機2及びストレージシステム4間のデータの入出力の流れについて説明する。ホスト計算機2は、ユーザ操作によりストレージシステム4に設定された論理ボリュームに対してデータを書き込むべき旨の指令が入力されると、これに応じた書込み要求及び書込み対象のデータを、ストレージシステム4の所定のチャネルアダプタ11に送信する。かかる書込み要求には、ストレージシステム4がそれぞれ提供する記憶領域上に設定された各論理ボリュームにそれぞれ付与された仮想的なLUと、当該記憶領域内の全ての論理ブロックに通し番号で付与された仮想的なLBAとを組み合わせでなる、書込み対象のデータを書き込むべき仮想的なアドレスが含まれる。
この書込み要求を受信したストレージシステム4のチャネルアダプタ11は、当該書込み要求において指定された、データを書き込むべき仮想的なアドレスを、ストレージシステム4が認識している実際のアドレスに変更する。そのための手段として、ストレージシステム4の共有メモリ13には、ストレージシステム4が提供する記憶領域の実際のアドレスと、ホスト計算機2が認識している当該記憶領域の仮想的なアドレスとを対応付けたアドレス変換テーブル(図示せず)が格納されている。そしてチャネルアダプタ11は、このアドレス変換テーブルを参照して、書込み要求に含まれる、データを書き込むべき仮想的なアドレスを、ストレージシステム4が認識する実際のアドレスに書き換える。
そして、かかるチャネルアダプタ11は、この書き換えたデータ書込み要求を、共有メモリ13に書き込む。また、チャネルアダプタ11は、データを書き込むべきスロット領域をキャッシュメモリ14に確保して、書込み対象のデータをキャッシュメモリ14に書き込む。
このときディスクアダプタ15は、共有メモリ13を常時監視しており、適当なタイミングで、仮想的な論理アドレス指定による書込み要求を、実際の物理アドレス指定による書込み要求に変換し、さらにキャッシュメモリ14から書込み対象のデータを読み出して、これを対応するディスクデバイス21の対応するアドレス位置に書き込む。
一方、ホスト計算機2は、ユーザ操作によりストレージシステム4内の所定の論理ボリュームに記憶されているデータを読み出すべき旨の指令が入力されると、これに応じた読出し要求を、ストレージシステム4内の所定のチャネルアダプタ11に送信する。この場合にも、かかる読出し要求には、読出し対象のデータが書き込まれている位置の仮想的なアドレスが含まれる。
このデータ読出し要求を受信したストレージシステム4のチャネルアダプタ11は、当該読出し要求に含まれる、データを読み出すべき仮想的なアドレスを、上述のアドレス変換テーブルを用いて、ストレージシステム4が認識している実際のアドレスに書き換える。
そして、かかるチャネルアダプタ11は、この書き換えた読出し要求を、共有メモリ13に書き込む。また対応するディスクアダプタ15は、共有メモリ13に読出しコマンドが書き込まれたことを検出すると、キャッシュメモリ14内に読出し対象のデータが書き込まれているか否かを判断し、読出し対象のデータが書き込まれている場合には、読出し要求完了応答を共有メモリ13に書き込む。これに対して、ディスクアダプタ15は、読出し対象のデータが書き込まれていない場合には、論理アドレス指定による読出し要求を物理アドレス指定による読出し要求に変換して、このアドレスに基づいて、対応するディスクデバイス20の対応するアドレス位置から指定された読出し対象のデータを読み出す。
また、かかるディスクアダプタ15は、このディスクデバイス21から読み出した読出し対象のデータをキャッシュメモリ14に書き込むと共に、読出し要求完了応答を共有メモリ13に書き込む。
そして、チャネルアダプタ11は、共有メモリ13を常時監視しており、共有メモリ13に読出し要求完了応答が書き込まれたことを検出すると、この読出し要求完了応答に従って、キャッシュメモリ14から読出し対象のデータを読み出し、第1のネットワーク3を介して対応するホスト計算機2に送信する。
このようにしてこの記憶システム1では、ホスト計算機2から送信された書込み要求又は読出し要求に応じて、ホスト計算機2から送信されるデータを、ストレージシステム4が提供する記憶領域に読み書きし得るようになされている。
(2)本実施の形態によるリカバリボリュームへの読書き処理
次に、本実施の形態の論理ボリュームの構成について説明する。図3は、本実施の形態における論理ボリュームの構成を示している。この場合、ストレージシステム4には、当該ストレージシステム4内のあるホスト計算機2から送信される書込み対象のデータが書き込まれる論理ボリューム41(以下、「データボリューム」と呼ぶ)と、ジャーナルが書き込まれる論理ボリューム42(以下、「ジャーナルボリューム」と呼ぶ)と、ある時刻のデータボリューム41のデータが書き込まれる論理ボリューム43(以下、「スナップショットボリューム」と呼ぶ)と、ホスト計算機2から指定される任意の時点の論理ボリューム44(以下、「リカバリボリューム」と呼ぶ)が設定される。この場合、ジャーナルボリューム42、スナップショットボリューム43及びリカバリボリューム44については、プールボリューム45上に設定される。また、データボリューム41及びプールボリューム45については、複数のディスクデバイス21により提供される物理的な記憶領域上に設定される。
ストレージシステム4は、ホスト計算機2から書込み要求を受信すると、データボリューム41に書込み対象のデータを書き込んで、データボリューム41に書き込まれたデータをジャーナルボリューム42にジャーナルとして書き込み、ホスト計算機2からスナップショット作成要求を受信すると、データボリューム41のスナップショットボリューム43を取得する(後述)。また、ストレージシステム4は、リカバリボリューム作成要求に基づいて、リカバリボリューム44を作成し、書込み要求及び読出し要求に基づいて、データボリューム41、ジャーナルボリューム42及びスナップショットボリューム43からデータを読み出して、当該リカバリボリューム44への読書きをする(後述)。
このとき、ストレージシステム4では、ホスト計算機2から指定されたリカバリボリューム44を作成するときに、指定されたリカバリポイントジャーナル230(後述)より前で、かつ当該指定されたリカバリポイントジャーナル230に一番が近いスナップショットジャーナル220(後述)に対応するスナップショット管理テーブル33(後述)を複製し、スナップショット管理テーブル33を、スナップショットジャーナル220から、指定されたリカバリポイントジャーナル230までのジャーナルボリューム42に書き込まれたジャーナルデータ214(後述)に基づいて更新することにより、リカバリボリューム44を作成する。
次に、本実施の形態のリカバリボリューム44を構成するための構成情報について説明する。図4は、本実施の形態におけるリカバリボリューム構成情報31を示している。リカバリボリューム構成情報31は、図2に示すように、共有メモリ13に書き込まれている。リカバリボリューム構成情報31は、図4のようにリカバリボリュームグループ番号51、データボリューム情報52、ジャーナルボリューム情報53、スナップショットボリューム情報54、リカバリボリューム情報55、プールボリューム情報56及びリカバリ可能時間57を有している。
リカバリボリュームグループ番号51は、各リカバリボリューム44が使用する論理ボリュームのグループその他の構成情報を一意に識別するための識別番号を有している。データボリューム情報52は、リカバリボリューム44が使用するデータボリューム41を一意に識別するための識別番号を示すデータボリューム番号等を有している。ジャーナルボリューム情報53は、リカバリボリューム44が使用するジャーナルボリューム42を一意に識別するための識別番号を示すジャーナルボリューム番号等を有している。
スナップショットボリューム情報54は、図5に示すように、リカバリボリューム44が使用するスナップショットボリューム43を一意に識別するための識別番号を示すスナップボリューム番号61、スナップショットボリューム43のプールボリューム45の使用容量を示すプールボリューム使用容量62、スナップショットボリューム43を作成した時間を示すスナップショット作成時間63及びスナップショットボリューム43のスナップショットジャーナルのアドレスを示すスナップショットジャーナルアドレス64を有している。
リカバリボリューム情報55は、図6に示すように、リカバリボリューム44を一意に識別するための識別番号を示すリカバリボリューム番号71、リカバリボリューム44がスナップショットボリューム、記憶領域を動的に割り当てるボリューム、ホスト計算機2により任意の時点に指定されたボリューム等、どのような用途のボリュームとして使用されているかを示すボリューム使用用途72、リカバリボリューム44のプールボリューム45の使用容量を示すプールボリューム使用容量73、リカバリボリューム44を使用するホスト計算機2のエミュレーションタイプを示すエミュレーションタイプ74、リカバリボリューム44がスナップショットボリュームである場合にはスナップショットボリューム番号、リカバリボリューム44がホスト計算機2により任意の時点に指定されたボリュームである場合には指定された時間等、用途の詳細に示すボリューム用途詳細75を有している。
プールボリューム情報56は、リカバリボリューム44が使用するプールボリューム45を一意に識別するための識別番号を示すプールボリューム番号等を有している。リカバリ可能時間57は、リカバリボリューム44を作成することが可能な一番古い時間を有している。
(2−1)本実施の形態による各種機能
次に、本実施の形態の各種機能について説明する。図7は、本実施の形態におけるスナップショット機能、ジャーナル機能及びリカバリポイントを用いたバックアップ方法について模式的に述べ、本実施の形態の基本概要を示している。
図7の矢印100は、ジャーナルボリューム42の内容を時系列で示しており、矢印110はスナップショット取得状況を時系列に示している。
矢印100に重ねて示しているブロック101、102及び103は、ジャーナルを示しており、1つのブロックが1つのジャーナルに対応する。ブロック101の中に示している「JNL」は、あるデータボリューム41に対して、その時点でホスト計算機2からの書込み要求に対して作成したジャーナルであることを意味する。ブロック102の中に示している「SS」は、その時点で、あるデータボリューム41に対するスナップショットを取得した場合に、スナップショットに関する情報として、スナップショットボリューム43の識別情報などを格納する特殊なジャーナル(以下、「スナップショットジャーナル」と呼ぶ)であることを意味する。ブロック103の中に示している「RP」は、その時点で、あるデータボリューム41に対するリカバリポイントを取得した場合に、リカバリポイントの情報として、リカバリボリューム44の識別情報などを格納する特殊なジャーナル(以下、「リカバリポイントジャーナル」と呼ぶ)であることを意味する。なお、ジャーナル、スナップショットジャーナル、リカバリポイントジャーナルに格納される情報の詳細については、図9を用いて後述する。
また、図7の各ブロックにおいて、「SS」、「JNL」、「RP」の前に示す数字は、それぞれのジャーナルに付与された連続番号であるシーケンス番号(以下、「SEQ番号」と呼ぶ)の値を示す。ホスト計算機2及びストレージシステム4は、SEQ番号によって、各ジャーナルを一意に識別することが可能となる。
次に、図7の矢印110に重ねて示しているスナップショットボリューム111、113(43)及びリカバリボリューム112(44)について説明する。スナップショットボリューム111、113(43)は、それぞれ、そのポイントにおいて、あるデータボリューム41に対するスナップショットを取得済みであり、この時刻のデータボリューム41のデータイメージを再形成できることを意味している。つまり、スナップショットボリューム111(43)は、SEQ番号が「1」のスナップショットジャーナルに対応してスナップショットが取得され、作成される論理ボリュームであり、スナップショットボリューム113(43)は、SEQ番号が「6」のスナップショットジャーナルに対応してスナップショットが取得され、作成される論理ボリュームであることを意味する。
そして、矢印110に重ねて示しているリカバリボリューム112(44)は、そのポイントでのリカバリ処理に備えてリカバリポイントを取得済みであり、リカバリ処理においてこのリカバリボリューム44のデータイメージを再形成できることを意味している。つまり、リカバリボリューム112(44)は、SEQ番号が「4」のリカバリポイントジャーナルに対応して、そのポイントでデータを復元する場合に作成される論理ボリュームである。例えば、ホスト計算機2のユーザ等からリカバリ処理の要求を受けた場合、当該リカバリポイントのデータ(リカバリボリューム112(44))は、スナップショットボリューム111(43)に対してSEQ番号が「2」及び「3」にジャーナルされているジャーナルデータを順次書き込むことによって生成される。
次に、本実施の形態のソフトウェア機能であるスナップショット機能について説明する。図8は、スナップショット機能の詳細について示している。スナップショット機能は、前述のように、ストレージシステム4が、データボリューム41に含まれるデータを、スナップショットボリューム43へコピーすることによって、ある時刻のデータボリュームのレプリケーションを作成する機能である。このレプリケーションのことを単にスナップショットと呼ぶこともある。
図8に示すスナップショット作成に関する概念図を用いて、スナップショット作成の動作を簡単に説明する。ストレージシステム4は、図8に示すように、スナップショットを作成するスナップショット作成プログラム32、作成したスナップショット情報を管理するスナップショット管理テーブル33及びコピー済みビットマップ34を有している。コピー済みビットマップとは、データボリューム41内のアドレスごとに、当該アドレスに格納されているデータがスナップショットボリューム43にコピー済みか否かを示す情報である。ここでは、あるアドレスのコピー済みビットマップの値が「オフ(OFF)」の場合はコピー済み、「オン(ON)」の場合は未コピーを表すものとする。この場合、スナップショット作成プログラム32及びスナップショット管理テーブル33及びコピー済みビットマップ34は、図2に示すように、共有メモリ13に書き込まれている。
ここで、スナップショットを取得する動作について説明する。ストレージシステム4は、ホスト計算機2から、データボリューム41とコピー対象となるスナップショットボリューム43とが指定されたスナップショット作成要求を受信すると、コピー済みビットマップ34の内容を全て「オン」とする。次に、ストレージシステム4は、データボリューム41からスナップショットボリューム43へデータをコピーするとき、コピーが完了したアドレスに対するコピー済みビットマップの値を「オフ」へと変更する。さらに、ストレージシステム4は、ホスト計算機2から書込み要求受信したときにも、コピー済みビットマップ34を参照し、書込み対象のアドレスに対するコピー済みビットマップの値が「オン」であれば、その時点でデータボリューム41からスナップショットボリューム43へ書込み対象のアドレスに書き込まれているデータをコピーし、コピー済みビットマップを「オフ」へ変更する。ストレージシステム4は、そのコピー完了後、ホスト計算機2からの書込み対象のデータをデータボリューム41に書き込む。
これにより、ストレージシステム4は、ホスト計算機2からの書込み要求を受信しつつ、スナップショット作成要求を受信した時刻におけるデータボリューム41のスナップショットを作成することができる。
また、ストレージシステム4は、ホスト計算機2からのスナップショット作成要求に基づきスナップショット作成したが、当該ストレージシステム4からのスナップショット作成要求に基づいてスナップショットを作成することも可能である。
また、ストレージシステム4は、コピー済みビットマップ34をスナップショットボリューム情報54として有してもよい。これにより、ストレージシステム4では、1つのデータボリューム41から複数のスナップショットボリューム43を作成する場合、コピー済みビットマップ34をそれぞれのスナップショットが保持することで、コピー済みビットマップ34の管理を単純化することができる。
図8は、スナップショット管理テーブル33を示している。スナップショット管理テーブル33は、スナップショットボリュームのアドレスを示すスナップショットアドレス121及びスナップショットアドレス121のデータが実際に書き込まれているアドレスを示すデータ書込みアドレス122を有している。これにより、ストレージシステム4では、例えば、所定のスナップショットボリューム43に対する読出し要求があった場合には、スナップショット管理テーブル33を参照し、データボリューム41又はプールボリューム45からデータを読み出すことによって、ホスト計算機2に対して、当該スナップショットボリューム43を提供することができるようになされている。
次に、本実施の形態のソフトウェア機能であるジャーナル機能の詳細について説明する。ストレージシステム4では、スナップショット機能を用いると、スナップショットを作成したポイントのデータ(スナップショットボリューム43)のみをリカバリできるが、ジャーナル機能をスナップショット機能と併用することで、少数のスナップショットから多数のポイントのデータ(リカバリボリューム44)をリカバリすることができる。以下に、実現方法の概要を述べる。
ストレージシステム4は、ホスト計算機2から書込み要求を受信すると、ジャーナル機能によって、書き込みに関する制御情報(時刻や書込み対象のアドレスなど)及び書込み対象のデータからなるジャーナルを作成し、記憶しておく。そして、ストレージシステム4は、データをリカバリする際には、スナップショットに対してジャーナルデータを書き込むことで(以後、スナップショットにジャーナルを適用すると表現する)、スナップショットを作成したポイント以外のデータのリカバリも行なうことができる。
さらに、ストレージシステム4では、例えば、ホスト計算機2が有するアプリケーションにエラーが検出された場合やホスト計算機2のユーザにより、特定のリカバリポイントを作成するように指示される場合がある。これに対して、ストレージシステム4では、ストレージシステム4が検出したイベントに基づいて、特定のリカバリポイントを作成する場合がある。このように、ストレージシステム4では、ホスト計算機2からの書込み要求以外のポイントにおいて、ホスト計算機2又は当該ストレージシステム4がリカバリポイントの取得を要求する場合について説明する。(詳細については、図13を用いて後述する)。
まず、ホスト計算機2は、ストレージシステム4に対して、リカバリポイント作成要求を発行する。そして、ストレージシステム4は、当該リカバリポイント作成要求に基づき、リカバリポイントを管理し、当該リカバリポイントへのリカバリを制御する。
ストレージシステム4は、図7において説明したように、書込み要求に対応するジャーナル、スナップショット作成要求を受信したポイントにおいて作成したスナップショットジャーナル、リカバリポイント作成要求を受信したポイントにおいて作成したリカバリポイントジャーナルに対してシーケンシャル番号(SEQ番号)を付与する。以上の処理によって、例えば、スナップショットは、10時、11時のように1時間おきにしか取得しないが、10時30分にリカバリポイントを作成しておけば、10時に取得しておいたスナップショットボリューム43に対して、10時のスナップショットジャーナルの直後のジャーナル(SEQ番号が次のジャーナル)から10時30分のリカバリポイントジャーナルの直前のジャーナルまでを適用することで10時30分のデータボリューム41のデータをリカバリすることが可能となる。
ストレージシステム4は、ジャーナル機能によるリカバリのため、次のプログラム及び管理情報を有する。ストレージシステム4は、書込み要求に対してジャーナル、スナップショット作成要求に対してスナップショットジャーナル及びリカバリポイント作成要求に対してリカバリポイントジャーナルの作成を制御し、ジャーナル、スナップショットジャーナル及びリカバリポイントジャーナルの削除を制御するジャーナル制御プログラム35、リカバリポイントを管理するリカバリポイント管理テーブル36、ジャーナルが有するシーケンシャルな番号を管理するSEQ番号管理テーブル37、リカバリポイントに割り当てられる番号を管理するリカバリポイント番号管理テーブル38及びホスト計算機2からのリカバリボリューム作成要求に基づいてリカバリ処理を制御し、リカバリボリューム44への読書き処理を制御するリカバリ制御プログラム39を有している。この場合、ジャーナル制御プログラム35、リカバリポイント管理テーブル36、SEQ番号管理テーブル37、リカバリポイント番号管理テーブル38及びリカバリ制御プログラム39は、図2に示すように、共有メモリ13に書き込まれている。
次に、ジャーナルのフォーマットに関して説明する。図10は、本実施の形態によるジャーナルフォーマットの構成を示している。ジャーナルには、上述のように、書込み要求に対するジャーナル、スナップショット作成要求に対するスナップショットジャーナル、リカバリポイント作成要求に対するリカバリポイントジャーナルの3種類があるが、いずれのジャーナルについてもフォーマットは同様である。ジャーナルフォーマットは、図10(A)に示すように、ジャーナル200の属性として、SEQ番号201、時刻202、種別203、データ204、ボリューム番号205、アドレス206、データ長207及びコメント208を有している。
SEQ番号201は、書込み要求に対応するジャーナル、スナップショットジャーナル、リカバリポイントジャーナルに対して一意に付与される連続番号であるシーケンス番号が格納である。時刻202は、それぞれのジャーナルに対して、ストレージシステム4が書込み要求に対応する書込み対象のデータを更新した時刻情報、ストレージシステム4がスナップショットを取得した時刻情報、ストレージシステム4がリカバリポイントを作成した時刻情報である。
種別203は、ジャーナル、スナップショットジャーナル、リカバリポイントジャーナルのいずれであるかを識別するための情報である。データボリューム番号205には、それぞれのジャーナルに対して、書込み要求の対象となるデータボリューム31の識別情報、スナップショットを作成する対象のデータボリューム31の識別情報、リカバリポイントを作成する対象のリカバリボリューム44の識別情報である。
データ204、アドレス206及びデータ長207は、書込み要求に対応するジャーナルを作成する場合、それぞれ、書込み要求によって更新されたデータ、データボリューム31に書き込まれたデータのアドレス情報、当該データのデータ長である。なお、種別203がスナップショットジャーナル、リカバリポイントジャーナルの場合には、データ204、アドレス206及びデータ長207は、何も書き込まれない。コメント208は、例えば、ホスト計算機2のユーザにより入力されたコメント等である。
ジャーナルフォーマットには、前述の属性以外にも、例えば、スナップショットジャーナルに対してコピー先のスナップショットボリューム43の識別情報を付与しても良い。
図6(B)、(C)、(D)は、書込み要求に対するジャーナル210、スナップショットジャーナル220及びリカバリポイントジャーナル230の具体例を示している。例えば、図6(C)のスナップショットジャーナル220は、SEQ番号201が「100」のスナップショットジャーナルであり、「2005/10/21 14:50:46」の時刻において、ボリューム番号205が「2」であるデータボリューム31に対して、スナップショットを取得したことを示している。これらのジャーナルは、ジャーナル制御プログラム35が作成し、ジャーナルボリューム42に書き込まれる。
次に、本実施の形態におけるストレージシステム4のホスト計算機2からの書込み要求に基づいてジャーナルを作成するジャーナル作成処理について説明する。図11は、このストレージシステム4におけるジャーナル作成処理に関する具体的な処理手順を示したフローチャートである。
ストレージシステム4のチャネルアダプタ11は、初期時、ジャーナル制御プログラム35を実行することにより、図11に示すジャーナル作成処理手順RT1に従って、ホスト計算機2から書込み要求を受信するのを待機モードで待ち受ける(S1)。
やがて、チャネルアダプタ11は、ホスト計算機2から書込み要求を受信する(S1:YES)と、書込み要求に対応する書込み対象のデータを、データボリューム41に書き込む(S2)。
続いて、チャネルアダプタ11は、SEQ番号管理テーブル37からSEQ番号を取得し、その後、後続のジャーナル作成のためのSEQ番号を用意しておくため、当該取得したSEQ番号に「1」を加えて、SEQ番号管理テーブル37を更新する(S3)。
続いて、チャネルアダプタ11は、取得したSEQ番号及びデータボリューム41に書き込んだデータ等に基づいてジャーナルを作成し、ジャーナルボリューム42に書き込む(S4)。続いて、チャネルアダプタ11は、書込み要求完了応答をホスト計算機2に送信する(S5)。やがて、チャネルアダプタ11は、この後、図11に示すジャーナル成処理手順RT1を終了する(S6)。
次に、本実施の形態におけるストレージシステム4のホスト計算機2からのリカバリポイント作成要求に基づいてリカバリポイントジャーナルを作成するリカバリポイントジャーナル作成処理について説明する。ストレージシステム4では、ホスト計算機2からのリカバリポイント作成要求に基づいて、リカバリポイントジャーナルを作成する場合と、ホスト計算機2からのリカバリポイント作成要求を伴わずに(ストレージシステム4が検出したイベントに基づいて)リカバリポイントを作成する場合とに分かれている。
図12は、リカバリポイント管理テーブル36を示している。リカバリポイント管理テーブル36は、リカバリポイントを一意に識別するための識別番号を示すリカバリポイント番号241、ストレージシステム4がリカバリポイントを作成した時刻を示す作成時刻242、リカバリポイントジャーナルが対象とするリカバリボリュームを一意に識別するための識別番号を示すリカバリボリューム番号243、リカバリポイントジャーナルのSEQ番号を示すリカバリポイントジャーナルSEQ番号244及びストレージシステム4が検出したイベントを示すイベント245を有している。なお、ホスト計算機2からのリカバリポイント作成要求に基づいて、リカバリポイントジャーナルを作成する場合には、「ホスト計算機要求」と書き込まれる。
これにより、ストレージシステム4では、いつ、どのようなイベントを契機として、どのリカバリボリューム44のリカバリポイントを作成したかを認識することができるようになされている。なお、リカバリボリューム44の作成前には、リカバリボリューム番号243は、何も書き込まれない。
ここで、本実施の形態におけるストレージシステム4のホスト計算機2からの書込み要求、又はイベントの検出に基づいてリカバリポイントジャーナルを作成するリカバリポイントジャーナル作成処理について説明する。図13は、このストレージシステム4におけるリカバリポイントジャーナル作成処理に関する具体的な処理手順を示したフローチャートである。
チャネルアダプタ11は、初期時、ジャーナル制御プログラム35を実行することにより、図13に示すリカバリポイントジャーナル作成処理手順RT2に従って、ホスト計算機2からリカバリポイント作成要求を受信、又はイベントを検出するのを待機モードで待ち受ける(S11)。
やがて、チャネルアダプタ11は、ホスト計算機2からリカバリポイント作成要求を受信、又はイベントを検出する(S11:YES)と、作成するリカバリポイントに割り当てるリカバリポイント番号をリカバリポイント番号管理テーブル38から取得し、その後、後続のリカバリポイントジャーナル作成のためのリカバリポイント番号を用意しておくため、当該取得したリカバリポイント番号に「1」を加えて、リカバリポイント番号管理テーブル38を更新する(S12)。
続いて、チャネルアダプタ11は、SEQ番号管理テーブル37からSEQ番号を取得し、その後、後続のジャーナル作成のためのSEQ番号を用意しておくため、当該取得したSEQ番号に「1」を加えて、SEQ番号管理テーブル37を更新する(S13)
続いて、チャネルアダプタ11は、取得したSEQ番号等に基づいてリカバリポイントジャーナルを作成し、ジャーナルボリューム42に書き込む(S14)。続いて、チャネルアダプタ11は、取得したリカバリポイント番号等に基づいて図12に示したリカバリポイントの情報をリカバリポイント管理テーブル36に追加する(S15)。続いて、チャネルアダプタ11は、ホスト計算機2からリカバリポイント作成要求を受信した場合には、リカバリポイント作成要求完了応答をホスト計算機2に送信する(S16)。やがて、チャネルアダプタ11は、この後、図13に示すリカバリポイントジャーナル作成処理手順RT2を終了する(S17)。
(2−2)本実施の形態によるリカバリボリューム作成処理
次に、本実施の形態におけるストレージシステム4のホスト計算機2からのリカバリボリューム作成要求に基づいてリカバリボリューム44を作成するリカバリボリューム作成処理について説明する。図14及び図15は、このストレージシステム4におけるリカバリボリューム作成処理に関する具体的な処理手順を示したフローチャートである。また、図16は、かかるリカバリボリューム作成処理の内容を概略的に示した概念図である。
チャネルアダプタ11は、初期時、リカバリ制御プログラム39を実行することにより、図14及び図15に示すリカバリボリューム作成処理手順RT3に従って、ホスト計算機2からリカバリボリューム作成要求を受信するのを待機モードで待ち受ける(S21)。
やがて、チャネルアダプタ11は、ホスト計算機2からリカバリボリューム作成要求を受信する(S21:YES)と、リカバリボリューム作成要求により指定されたリカバリボリューム番号が正常であるか否かをチェックする(S22)。そして、チャネルアダプタ11は、リカバリボリューム作成要求により指定されたリカバリボリューム番号が正常である場合(S22:YES)には、リカバリボリューム作成要求により指定されたリカバリポイントジャーナル230がリカバリボリューム構成情報31のリカバリ可能時間57の範囲内であるか否かをチェックする(S23)。そして、チャネルアダプタ11は、リカバリボリューム44の作成する時間が、リカバリボリューム構成情報31のリカバリ可能時間57の範囲内である場合(S23:YES)には、リカバリボリューム作成要求のその他のパラメータが正常であるか否かをチェックする(S24)。
そして、チャネルアダプタ11は、リカバリボリューム作成要求のその他のパラメータが正常である場合(S24:YES)には、リカバリボリューム作成要求により指定されたリカバリポイントジャーナル230より前で、かつ当該指定されたリカバリポイントジャーナル230に一番位置が近いスナップショットジャーナル220のスナップショット管理テーブル33を、リカバリボリューム管理テーブル40として複製する(S25)。この場合、リカバリボリューム管理テーブル40は、図2及び図16に示すように、共有メモリ13に書き込まれる。
図17は、リカバリボリューム管理テーブル40を示している。リカバリボリューム管理テーブル40は、リカバリボリューム44のアドレスを示すリカバリボリュームアドレス301及びスナップショットアドレス301のデータが実際に書き込まれているアドレスを示すデータ書込みアドレス302を有している。なお、リカバリボリューム管理テーブル40は、スナップショット管理テーブル33を複製しているため、リカバリボリュームアドレス301及びデータ書込みアドレス302の対応については、スナップショットボリュームアドレス121及びデータ書込みアドレス122の対応と変わらないこととなる。
続いて、チャネルアダプタ11は、リカバリボリューム作成要求完了応答をホスト計算機2に送信する(S26)。このように、チャネルアダプタ11は、リカバリボリューム管理テーブル40として複製した後に、リカバリボリューム作成要求完了応答をホスト計算機2に送信し、その後、実際のリカバリボリューム作成処理を実行することにより、リカバリボリューム44を迅速に作成することができ、かくして、ホスト計算機2に対する応答性を向上することができる。
これに対して、チャネルアダプタ11は、リカバリボリューム作成要求により指定されたリカバリボリューム番号が正常でない場合(S22:NO)、リカバリボリューム44の作成する時間が、リカバリボリューム構成情報31のリカバリ可能時間57の範囲内でない場合(S23:NO)又はリカバリボリューム作成要求のその他のパラメータが正常でない場合(S24:NO)には、リカバリボリューム作成要求エラー応答をホスト計算機2に送信し(S35)、この後、図14及び図15に示すリカバリボリューム作成処理手順RT3を終了する(S36)。
続いて、チャネルアダプタ11は、リカバリボリューム作成要求により指定されたリカバリポイントジャーナル230より前で、かつ当該指定されたリカバリポイントジャーナル230に一番位置が近いスナップショットポイントジャーナル220より後のジャーナルを検索し、ジャーナル210のジャーナルデータ214をジャーナルボリューム42から読み出す(S27)。
続いて、チャネルアダプタ11は、ジャーナルボリューム42から読み出したジャーナル210のジャーナルデータ214を書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されているか否かをチェックする(S28)。そして、チャネルアダプタ11は、ジャーナル210のジャーナルデータ214を書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されていない場合(S28:NO)には、ジャーナル210のジャーナルデータ214を書き込むためのリカバリボリューム44のスロット領域をプールボリューム45に確保する(S29)。
これに対して、チャネルアダプタ11は、ジャーナル210のジャーナルデータ214を書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されている場合(S28:YES)、又はジャーナル210のジャーナルデータ214を書き込むためのリカバリボリューム44のスロット領域をプールボリューム45に確保した場合(S29)には、プールボリューム45に確保されたリカバリボリューム44のスロット領域に対応させて、リカバリボリューム44のスロット領域をキャッシュメモリ14に確保する(S30)。
続いて、チャネルアダプタ11は、ジャーナルボリューム42から読み出したジャーナル210のジャーナルデータ214を、キャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込む(S31)。
続いて、チャネルアダプタ11は、リカバリボリューム管理テーブル40のデータ書込みアドレス302を、書き込まれたキャッシュメモリ14の領域に対応するリカバリボリューム44のスロット領域におけるプールボリューム45のアドレスに変更することにより、リカバリボリューム管理テーブル40を更新する(S32)。
例えば、書き込まれたキャッシュメモリ14の領域に対応するリカバリボリューム44のスロット領域のリカバリボリュームアドレス301が「2」であり、書き込まれたキャッシュメモリ14の領域に対応するリカバリボリューム44のスロット領域におけるプールボリューム45のアドレスが「プールボリューム「4」」である場合、リカバリボリューム管理テーブル40のデータ書込みアドレス302の「プールボリューム「20」」を「プールボリューム「4」」に変更することにより、リカバリボリューム管理テーブル40を更新するようになされている。
これにより、チャネルアダプタ11は、リカバリボリューム44のリカバリボリュームアドレス301が「2」のデータに対する読出し要求があった場合には、リカバリボリューム管理テーブル40を参照し、リカバリボリューム44のスロット領域に対応して確保したデータ書込みアドレス302が「プールボリューム「4」」のプールボリューム45からデータを読み出すことができるようになされている。
続いて、チャネルアダプタ11は、ジャーナルデータ214を読み出したジャーナル210の次のジャーナルを検索し、次のジャーナルがリカバリボリューム作成要求により指定されたリカバリポイントジャーナル230であるか否かをチェックする(S33)。
そして、チャネルアダプタ11は、次のジャーナルがリカバリボリューム作成要求により指定されたリカバリポイントジャーナル230でない場合(S33:NO)には、次のジャーナル210のジャーナルデータ214をジャーナルボリューム42から読み出し(S34)、この後、再び、ジャーナルボリューム42から読み出したジャーナル210のジャーナルデータ214を書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されているか否かをチェックし(S28)、この後、同様の処理を繰り返す(S28〜S34−S28)。
これに対して、チャネルアダプタ11は、次のジャーナルがリカバリボリューム作成要求により指定されたリカバリポイントジャーナル230である場合(S33:YES)には、リカバリボリューム44の作成が完了し、この後、図14及び図15に示すリカバリボリューム作成処理手順RT3を終了する(S36)。
(2−3)本実施の形態によるリカバリボリュームへの書込み処理
次に、本実施の形態におけるストレージシステム4のホスト計算機2からのリカバリボリューム44への書込み要求に基づいて、書込み対象のデータをリカバリボリューム44に書き込むリカバリボリューム書込み処理について説明する。図19及び図20は、このストレージシステム4におけるリカバリボリューム書込み処理に関する具体的な処理手順を示したフローチャートである。また、図21は、かかるリカバリボリューム書込み処理の内容を概略的に示した概念図である。
チャネルアダプタ11は、初期時、リカバリ制御プログラム39を実行することにより、図19及び図20に示すリカバリボリューム書込み処理手順RT4に従って、ホスト計算機2からリカバリボリューム44への書込み要求を受信するのを待機モードで待ち受ける(S41)。
やがて、チャネルアダプタ11は、ホスト計算機2からリカバリボリューム44への書込み要求を受信する(S41:YES)と、書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されているか否かをチェックする(S42)。そして、チャネルアダプタ11は、書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されていない場合(S42:NO)には、書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域をプールボリューム45に確保する(S43)。
これに対して、チャネルアダプタ11は、書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されている場合(S42:YES)、又は書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域をプールボリューム45に確保した場合(S43)には、プールボリューム45に確保されたリカバリボリューム44のスロット領域に対応させて、リカバリボリューム44のスロット領域をキャッシュメモリ14に確保する(S44)。
続いて、チャネルアダプタ11は、リカバリボリューム管理テーブル40を参照し、リカバリボリューム44のスロット領域に対応するデータがデータボリューム41に書き込まれているか否かをチェックする(S45)。そして、チャネルアダプタ11は、リカバリボリューム44のスロット領域に対応するデータがデータボリューム41に書き込まれている場合(S45:YES)には、対応するデータボリューム41のデータを読み出して、キャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込む(S46)。
これに対して、チャネルアダプタ11は、リカバリボリューム44のスロット領域に対応するデータがデータボリューム41に書き込まれていない場合(S45:NO)、又は対応するデータボリューム41のデータをキャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込んだ場合(S46)には、リカバリボリューム管理テーブル40を参照し、リカバリボリューム44のスロット領域に対応するデータがプールボリューム45に書き込まれているか否かをチェックする(S47)。そして、チャネルアダプタ11は、リカバリボリューム44のスロット領域に対応するデータがプールボリューム45に書き込まれている場合(S47:YES)には、対応するプールボリューム45のデータを読み出して、キャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込む(S48)。
これに対して、チャネルアダプタ11は、リカバリボリューム44のスロット領域に対応するデータがプールボリューム45に書き込まれていない場合(S47:NO)、又は対応するプールボリューム45のデータをキャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込んだ場合(S48)には、リカバリボリューム44のスロット領域に対応するジャーナル210のジャーナルデータ214を、ジャーナルボリューム42からキャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込む(S49)。
続いて、チャネルアダプタ11は、ジャーナルデータ214を読み出したジャーナル210の次のジャーナルを検索し、次のジャーナルがリカバリボリューム作成要求により指定されたリカバリポイントジャーナル230であるか否かをチェックする(S50)。
そして、チャネルアダプタ11は、次のジャーナルがリカバリボリューム作成要求により指定されたリカバリポイントジャーナル230でない場合(S50:NO)には、ジャーナルボリューム42に次のジャーナルがあるか否かをチェックする(S51)。そして、チャネルアダプタ11は、ジャーナルボリューム42に次のジャーナルがある場合(S51:YES)には、この後、再び、次のリカバリボリューム44のスロット領域に対応するジャーナル210のジャーナルデータ214を、ジャーナルボリューム42からキャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込み(S49)、この後、同様の処理を繰り返す(S49〜S51−S49)。
これに対して、チャネルアダプタ11は、書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されている場合(S42:YES)には、リカバリボリューム44が作成中であり、書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域について、リカバリ処理を終了しているか否かをチェックする(S52)。
そして、チャネルアダプタ11は、書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域について、リカバリ処理を終了していない場合(S52:NO)には、プールボリューム45に確保されたリカバリボリューム44のスロット領域に対応させて、リカバリボリューム44のスロット領域をキャッシュメモリ14に確保し(S44)、この後、同様の処理を繰り返す(S44〜S51−S49)。
これに対して、チャネルアダプタ11は、書込み対象のデータを書き込むためのリカバリボリューム44のスロット領域について、リカバリ処理を終了している場合(S52:YES)には、リカバリボリューム44のスロット領域がキャッシュメモリ14に確保されているか否かをチェックする(S53)。そして、チャネルアダプタ11は、リカバリボリューム44のスロット領域がキャッシュメモリ14に確保されていない場合(S53:NO)には、リカバリボリューム44のスロット領域をキャッシュメモリ14に確保する(S54)。
これに対して、チャネルアダプタ11は、リカバリボリューム44のスロット領域がキャッシュメモリ14に確保されている場合(S53:YES)、又はリカバリボリューム44のスロット領域をキャッシュメモリ14に確保した場合(S54)には、リカバリボリューム管理テーブル40を参照し、リカバリボリューム44のスロット領域に対応するプールボリューム45のデータをキャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込む(S55)。
そして、チャネルアダプタ11は、次のジャーナルがリカバリボリューム作成要求により指定されたリカバリポイントジャーナル230である場合(S50:YES)、ジャーナルボリューム42に次のジャーナルがない場合(S51:NO)、又はリカバリボリューム44のスロット領域に対応するプールボリューム45のデータをキャッシュメモリ14に書き込んだ場合(S55)には、ホスト計算機2から送信された書込み対象のデータをキャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込む(S56)。
続いて、チャネルアダプタ11は、リカバリボリューム管理テーブル40のデータ書込みアドレス302を、書き込まれたキャッシュメモリ14の領域に対応するリカバリボリューム44のスロット領域におけるプールボリューム45のアドレスに変更することにより、リカバリボリューム管理テーブル40を更新する(S57)。
続いて、チャネルアダプタ11は、リカバリボリューム44への書込み要求完了応答をホスト計算機2に送信する(S58)。やがて、チャネルアダプタ11は、この後、図19及び図20に示すリカバリボリューム書込み処理手順RT4を終了する(S59)。
(2−4)本実施の形態によるリカバリボリュームへの読出し処理
次に、本実施の形態におけるストレージシステム4のホスト計算機2からのリカバリボリューム44への読出し要求に基づいて、読出し対象のデータをリカバリボリューム44から読み出すリカバリボリューム読出し処理について説明する。図22及び図23は、このストレージシステム4におけるリカバリボリューム読出し処理に関する具体的な処理手順を示したフローチャートである。また、図24は、かかるリカバリボリューム読出し処理の内容を概略的に示した概念図である。
チャネルアダプタ11は、初期時、リカバリ制御プログラム39を実行することにより、図22及び図23に示すリカバリボリューム読出し処理手順RT5に従って、ホスト計算機2からリカバリボリューム44への読出し要求を受信するのを待機モードで待ち受ける(S61)。
やがて、チャネルアダプタ11は、ホスト計算機2からリカバリボリューム44への読出し要求を受信する(S61:YES)と、読出し対象のデータを書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されているか否かをチェックする(S42)。そして、チャネルアダプタ11は、読出し対象のデータを書き込むためのリカバリボリューム44のスロット領域がプールボリューム45に確保されていない場合(S42:NO)には、図19及び図20において上述したリカバリボリューム書込み処理手順RT4のステップS43〜ステップS55と同様の処理を実行する(S63〜SP75)。
そして、チャネルアダプタ11は、次のジャーナルがリカバリボリューム作成要求により指定されたリカバリポイントジャーナル230である場合(S50:YES)、ジャーナルボリューム42に次のジャーナルがない場合(S51:NO)、又はリカバリボリューム44のスロット領域に対応するプールボリューム45のデータをキャッシュメモリ14に書き込んだ場合(S75)には、キャッシュメモリ14のリカバリボリューム44のスロット領域に対応する領域に書き込まれた読出し対象のデータをキャッシュメモリ14からホスト計算機2に送信する(S76)。
続いて、チャネルアダプタ11は、リカバリボリューム44への読出し要求完了応答をホスト計算機2に送信する(S77)。やがて、チャネルアダプタ11は、この後、図22及び図23に示すリカバリボリューム読出し処理手順RT5を終了する(S78)。
(2−4)本実施の形態によるジャーナル削除処理
次に、本実施の形態におけるストレージシステム4のジャーナルボリューム42内のジャーナルを削除するジャーナル削除処理について説明する。図25は、このストレージシステム4におけるジャーナル削除処理に関する具体的な処理手順を示したフローチャートである。
チャネルアダプタ11は、初期時、ジャーナル制御プログラム35を実行することにより、図25に示すジャーナル削除処理手順RT6に従って、ジャーナルボリューム42の使用容量が所定の閾値を越えるのを待機モードで待ち受ける(S81)。この場合、チャネルアダプタ11は、ジャーナルボリューム42内のジャーナル210、スナップショットジャーナル220、リカバリポイントジャーナル230の合計使用容量を認識することができ、予め所定の閾値を設定することができるようになされている。
やがて、チャネルアダプタ11は、ジャーナルボリューム42の使用容量が所定の閾値を越える(S81:YES)と、リカバリポイント管理テーブル36を参照し、リカバリボリューム構成情報31のリカバリ可能時間57の時間に対応するリカバリポイントジャーナル230が、ホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230であるか否かをチェックする(S82)。
そして、チャネルアダプタ11は、リカバリボリューム構成情報31のリカバリ可能時間57の時間に対応するリカバリポイントジャーナル230が、ホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230でない場合(S82:NO)には、次のリカバリポイントジャーナル230が、ホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230であるか否かをチェックする(S83)。
そして、チャネルアダプタ11は、次のリカバリポイントジャーナル230が、ホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230でない場合(S83:NO)には、ジャーナルボリューム42に次のリカバリポイントジャーナル230があるか否かをチェックする(S84)。そして、チャネルアダプタ11は、ジャーナルボリューム42に次のリカバリポイントジャーナル230がある場合(S84:YES)には、この後、再び、次のリカバリポイントジャーナル230が、ホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230であるか否かをチェックし(S83)、この後、同様の処理を繰り返す(S83、S84)。
これに対して、チャネルアダプタ11は、ジャーナルボリューム42に次のリカバリポイントジャーナル230がない場合(S84:NO)には、リカバリボリューム構成情報31のリカバリ可能時間57の時間に対応するリカバリポイントジャーナル230以前のジャーナルを削除する(S85)。
これに対して、チャネルアダプタ11は、リカバリボリューム構成情報31のリカバリ可能時間57の時間に対応するリカバリポイントジャーナル230が、ホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230である場合(S82:YES)、又は次のリカバリポイントジャーナル230が、ホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230でない場合(S83:YES)には、当該リカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230以前のジャーナルを削除する(S86)。
続いて、チャネルアダプタ11は、リカバリボリューム構成情報31のリカバリ可能時間57を、対応するリカバリポイントジャーナル230の時間に更新する(S87)。やがて、チャネルアダプタ11は、この後、図25に示すジャーナル削除処理手順RT6を終了する(S88)。
このように、チャネルアダプタ11では、予め設定された所定の閾値を越えたときに、ホスト計算機2からのリカバリポイント作成要求に基づいて作成されたリカバリポイントジャーナル230及びホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230を識別し、ホスト計算機2からのリカバリポイント作成要求を伴わずに作成されたリカバリポイントジャーナル230であり、かつリカバリボリューム構成情報31のリカバリ可能時間57以降であるリカバリポイントジャーナル230以前のジャーナルを削除することにより、リカバリボリューム構成情報31のリカバリ可能時間57において、ホスト計算機2からのリカバリポイント作成要求に基づいて作成されたリカバリポイントジャーナル230を取得することができないといったことを未然かつ有効に防止すると共に、ジャーナルボリューム42の容量を解放することができ、かくして、ホスト計算機2に対して一段と信頼性の高いストレージステム4を提供することができる。
このようにして、記憶システム1では、ホスト計算機2から指定されたリカバリボリューム44を作成するときに、指定されたリカバリポイントジャーナル230より前で、かつ当該指定されたリカバリポイントジャーナル230に一番近いスナップショットジャーナル220に対応するスナップショット管理テーブル33を複製し、スナップショット管理テーブル33を、スナップショットジャーナル220から、指定されたリカバリポイントジャーナル230までのジャーナルボリューム42に書き込まれたジャーナルデータ214に基づいて更新することにより、リカバリボリューム44を作成する。
従って、記憶システム1では、データボリューム41及びスナップショットボリューム43に書き込まれているデータ分の物理的な記憶領域を確保することなく、スナップショットジャーナル220から、指定されたリカバリポイントジャーナル230までのジャーナルボリューム42に書き込まれているジャーナルデータ分の物理的な記憶領域を確保することで、リカバリボリューム44を作成することができる。
また、記憶システム1では、指定されたリカバリポイントジャーナル230より前で、かつ当該指定されたリカバリポイントジャーナル230に一番近いスナップショットジャーナル220に対応するスナップショット管理テーブル33を複製するため、当該スナップショット管理テーブル33を破壊することなく、同一のスナップショット管理テーブル33から、何度でもリカバリボリューム44を作成することができる。
なお本実施の形態においては、データボリューム41に書き込まれたデータをジャーナルボリューム42にジャーナルを書き込み、データボリューム41のスナップショットボリューム43を取得した場合について述べたが、本発明はこれに限らず、この他様々な形態の記憶システム1に適用することができる。
例えば、記憶システム1では、図26に示すように、ジャーナルボリューム42のジャーナル210に含まれるジャーナルデータ214をベースボリューム46へコピーすることによって、データボリュームのレプリケーションを作成し、ホスト計算機2からスナップショット作成要求を受信すると、データボリューム41に代えて、ベースボリューム46スナップショットボリューム43を取得するようにしても良い。これにより、記憶システム1では、データボリューム41へのアクセスを低減することができるため、ホスト計算機2に対しての応答性を向上すると共に、ストレージシステム4の信頼性を向上することができる。
また、記憶システム1では、1つのストレージシステム4内で本発明を適用する場合に限らず、2つのストレージシステム4間においても、本発明を適用することができる。例えば、記憶システム1では、図27に示すように、一方のストレージシステム4に、データボリューム41を有し、他方のストレージシステム4に、ジャーナルボリューム42、スナップショットボリューム43、リカバリボリューム44、プールボリューム45及びベースボリューム有するようになされている。この場合、記憶システム1では、データボリューム41に書き込まれたデータ等を、リモートコピー機能等によって転送し、ジャーナルボリューム42にジャーナルとして書き込むことにより、本発明を実現することができるようになされている。なお、リモートコピー機能とは、一方のストレージシステムの論理ボリュームに書き込まれているデータを、他方のストレージシステムの論理ボリュームにコピーし、データを2重化する機能である。
また、例えば、記憶システム1では、図28に示すように、一方のストレージシステム4に、データボリューム41、ジャーナルボリューム42及びプールボリューム45を有し、他方のストレージシステム4に、ジャーナルボリューム42、スナップショットボリューム43、リカバリボリューム44、プールボリューム45及びベースボリューム有するようになされている。この場合、記憶システム1では、一方のストレージシステム4のジャーナルボリューム42に書き込まれたデータ等を、リモートコピー機能等によって転送し、他方のストレージシステム4のジャーナルボリューム42にジャーナルとして書き込むことにより、本発明を実現することができるようになされている。これにより、記憶システム1では、データボリューム41に書込み対象のデータを書き込んで、データボリューム41に書き込まれたデータ等をジャーナルボリューム42にジャーナルとして書き込む一連の処理を、一方のストレージシステム4において完結することができるため、ホスト計算機2に対しての応答性を向上することができる。
本発明は、スナップショット機能及びジャーナル機能を有する種々の装置に適用することができる。
本実施の形態による記憶システムの構成を示す略線図である。 共有メモリの構成の内容を概略的に示す概念図である。 論理ボリュームの構成の説明に供する概念図である。 リカバリボリューム構成情報の説明に供する概念図である。 スナップショットボリューム情報の説明に供する概念図である。 リカバリボリューム情報の説明に供する概念図である。 スナップショット機能、ジャーナル機能及びリカバリポイントを用いたバックアップ方法の説明に供する概念図である。 スナップショット機能を概略的に示す概念図である。 スナップショット管理テーブルの構成の説明に供する概念図である。 ジャーナルフォーマットの説明に供する概念図である。 ジャーナル作成処理の説明に供するフローチャートである。 リカバリポイント管理テーブルの構成の説明に供する概念図である。 リカバリポイント作成処理の説明に供するフローチャートである。 リカバリボリューム作成処理の説明に供するフローチャートである。 リカバリボリューム作成処理の説明に供するフローチャートである。 リカバリボリューム作成処理の内容を概略的に示す概念図である。 リカバリボリューム管理テーブルの構成の説明に供する概念図である。 リカバリボリューム管理テーブルの構成の説明に供する概念図である。 リカバリボリューム書込み処理の説明に供するフローチャートである。 リカバリボリューム書込み処理の説明に供するフローチャートである。 リカバリボリューム書込み処理の内容を概略的に示す概念図である。 リカバリボリューム読出し処理の説明に供するフローチャートである。 リカバリボリューム読出し処理の説明に供するフローチャートである。 リカバリボリューム読出し処理の内容を概略的に示す概念図である。 ジャーナル削除処理の説明に供するフローチャートである。 他の実施の形態による論理ボリュームの構成の説明に供する概念図である。 他の実施の形態による論理ボリュームの構成の説明に供する概念図である。 他の実施の形態による論理ボリュームの構成の説明に供する概念図である。
符号の説明
1……記憶システム、2……ホスト計算機、4……ストレージシステム、5……管理端末、6……管理サーバ、10……コントロール部、11……チャネルアダプタ、12……接続部、13……共有メモリ、14……キャッシュメモリ、15……ディスクアダプタ、20……記憶デバイス部、21……ディスクデバイス、31……リカバリボリューム構成情報、32……スナップショット作成テーブル、33……スナップショット管理テーブル、34……コピー済みビットマップ、35……ジャーナル制御プログラム、36……リカバリポイント管理テーブル、37……SEQ番号管理テーブル、38……リカバリポイント番号管理テーブル、39……リカバリ制御プログラム、40……リカバリボリューム管理テーブル、41……データボリューム、42……ジャーナルボリューム、43……スナップショットボリューム、44……リカバリボリューム、45……プールボリューム、46……ベースボリューム

Claims (14)

  1. ホスト計算機から送信されるデータを記憶領域に書き込むストレージシステムであって、
    前記ホスト計算機から送信される前記データを書き込むための第1の記憶領域、前記第1の記憶領域に書き込まれた前記データをジャーナルデータとして時系列に識別可能に書き込むための第2の記憶領域、前記第1の記憶領域の前記データに対する前記ホスト計算機からの書込み要求があったときに、当該第1の記憶領域の前記データを書き込むための第3の記憶領域を設定する記憶領域設定部と、
    所定のタイミングで、前記第1の記憶領域に対するスナップショットを取得し、前記スナップショットのスナップショットジャーナルを前記第2の記憶領域に書き込むと共に、前記スナップショットの管理テーブルを管理するスナップショット取得管理部と、
    前記ホスト計算機から指定されたリカバリボリュームを作成するときのリカバリポイントジャーナルを取得し、前記リカバリポイントジャーナルを前記第2の記憶領域に書き込むリカバリポイント取得部と、
    前記リカバリボリュームを作成するときに、前記指定されたリカバリボリュームに対応するリカバリポイントジャーナルより前で、かつ当該リカバリポイントジャーナルに一番近い前記スナップショットジャーナルに対応する前記スナップショットの管理テーブルを複製するスナップショット管理テーブル複製部と、
    前記スナップショット管理テーブル複製部により複製された前記スナップショットの管理テーブルを、前記スナップショットジャーナルから、前記指定されたリカバリボリュームに対応するリカバリポイントジャーナルまでの、前記第2の記憶領域に書き込まれた前記ジャーナルデータに基づいて更新することにより、前記リカバリボリュームを作成するリカバリボリューム作成部と
    を備えることを特徴とするストレージシステム。
  2. 前記リカバリボリューム作成部は、
    前記スナップショットの管理テーブルが管理するアドレスを、前記スナップショットジャーナルから、前記指定されたリカバリボリュームまでの前記第2の記憶領域に書き込まれた前記ジャーナルデータが書き込まれたアドレスに変更することにより、前記スナップショットの管理テーブルを更新する
    ことを特徴とする請求項1に記載のストレージシステム。
  3. 前記リカバリボリューム作成部は、
    前記ホスト計算機から前記リカバリボリュームへの書込み要求があった場合には、新たに前記リカバリボリュームの記憶領域を割り当てて、前記ホスト計算機から送信される前記データを書き込む
    ことを特徴とする請求項1に記載のストレージシステム。
  4. 前記リカバリボリューム作成部は、
    前記リカバリボリュームの作成中に前記リカバリボリュームへの書込み要求があった場合には、当該書込み要求があったアドレスに対応する前記第2の記憶領域に書き込まれた前記ジャーナルデータを前記アドレスに対応する記憶領域に順次書き込み、当該アドレスに対応する前記第2の記憶領域に書き込まれた前記ジャーナルデータを書き込み終わった後に、前記ホスト計算機から送信される前記データを前記アドレスに対応する記憶領域に書き込む
    ことを特徴とする請求項1に記載のストレージシステム。
  5. 前記リカバリボリューム作成部は、
    前記リカバリボリュームの作成中に前記リカバリボリュームへの読出し要求があった場合には、当該書込み要求があったアドレスに対応する前記第2の記憶領域に書き込まれた前記ジャーナルデータを前記アドレスに対応する記憶領域に順次書き込み、当該アドレスに対応する前記第2の記憶領域に書き込まれた前記ジャーナルデータを書き込み終わった後に、前記アドレスに対応する記憶領域に書き込まれている前記ジャーナルデータを前記ホスト計算機に読み出す
    ことを特徴とする請求項1に記載のストレージシステム。
  6. 前記スナップショット管理テーブル複製部は、
    前記スナップショットの管理テーブルを複製すると、前記ホスト計算機に前記リカバリボリュームの作成を完了した旨の応答を送信し、
    前記リカバリボリューム作成部は、
    前記スナップショット管理テーブル複製部により前記ホスト計算機に前記リカバリボリュームの作成を完了した旨の応答を送信した後、前記リカバリボリュームを作成する
    ことを特徴とする請求項1に記載のストレージシステム。
  7. 前記リカバリポイント取得部は、
    前記ホスト計算機からの要求に基づいて作成される第1のリカバリジャーナル及び前記ホスト計算機からの要求を伴わずに作成される第2のリカバリポイントジャーナルを識別して取得し、
    自システム内に、
    前記第2の記憶領域の使用容量の閾値を予め所定の閾値に設定する閾値設定部と、
    前記リカバリボリュームを作成することが可能な一番古い時間であるリカバリ可能時間を管理するリカバリ可能時間管理部と、
    前記閾値設定部により設定された前記閾値を越えたときに、前記リカバリ可能時間の一番近くであり、かつ前記第2のリカバリポイントジャーナル以前の前記ジャーナルデータ、前記スナップショットジャーナル及び前記リカバリポイントジャーナルを前記第2の記憶領域から削除するジャーナル削除部と
    を備えることを特徴とする請求項1に記載のストレージシステム。
  8. ホスト計算機から送信されるデータを記憶領域に書き込むストレージシステムのリカバリボリューム作成方法であって、
    前記ホスト計算機から送信される前記データを書き込むための第1の記憶領域、前記第1の記憶領域に書き込まれた前記データをジャーナルデータとして時系列に識別可能に書き込むための第2の記憶領域、前記第1の記憶領域の前記データに対する前記ホスト計算機からの書込み要求があったときに、当該第1の記憶領域の前記データを書き込むための第3の記憶領域を設定する第1のステップと、
    所定のタイミングで、前記第1の記憶領域に対するスナップショットを取得し、前記スナップショットのスナップショットジャーナルを前記第2の記憶領域に書き込むと共に、前記スナップショットの管理テーブルを管理する第2のステップと、
    前記ホスト計算機から指定されたリカバリボリュームを作成するときのリカバリポイントジャーナルを取得し、前記リカバリポイントジャーナルを前記第2の記憶領域に書き込む第3のステップと、
    前記リカバリボリュームを作成するときに、前記指定されたリカバリボリュームに対応するリカバリポイントジャーナルより前で、かつ当該リカバリポイントジャーナルに一番近い前記スナップショットジャーナルに対応する前記スナップショットの管理テーブルを複製する第4のステップと、
    前記第4のステップにおいて複製した前記スナップショットの管理テーブルを、前記スナップショットジャーナルから、前記指定されたリカバリボリュームに対応するリカバリポイントジャーナルまでの、前記第2の記憶領域に書き込まれた前記ジャーナルデータに基づいて更新することにより、前記リカバリボリュームを作成する第5のステップと
    を備えることを特徴とするストレージシステムのリカバリボリューム作成方法。
  9. 前記第5のステップでは、
    前記スナップショットの管理テーブルが管理するアドレスを、前記スナップショットジャーナルから、前記指定されたリカバリボリュームまでの前記第2の記憶領域に書き込まれた前記ジャーナルデータが書き込まれたアドレスに変更することにより、前記スナップショットの管理テーブルを更新する
    ことを特徴とする請求項8に記載のストレージシステムのリカバリボリューム作成方法。
  10. 前記第5のステップでは、
    前記ホスト計算機から前記リカバリボリュームへの書込み要求があった場合には、新たに前記リカバリボリュームの記憶領域を割り当てて、前記ホスト計算機から送信される前記データを書き込む
    ことを特徴とする請求項8に記載のストレージシステムのリカバリボリューム作成方法。
  11. 前記第5のステップでは、
    前記リカバリボリュームの作成中に前記リカバリボリュームへの書込み要求があった場合には、当該書込み要求があったアドレスに対応する前記第2の記憶領域に書き込まれた前記ジャーナルデータを前記アドレスに対応する記憶領域に順次書き込み、当該アドレスに対応する前記第2の記憶領域に書き込まれた前記ジャーナルデータを書き込み終わった後に、前記ホスト計算機から送信される前記データを前記アドレスに対応する記憶領域に書き込む
    ことを特徴とする請求項8に記載のストレージシステムのリカバリボリューム作成方法。
  12. 前記第5のステップでは、
    前記リカバリボリュームの作成中に前記リカバリボリュームへの読出し要求があった場合には、当該書込み要求があったアドレスに対応する前記第2の記憶領域に書き込まれた前記ジャーナルデータを前記アドレスに対応する記憶領域に順次書き込み、当該アドレスに対応する前記第2の記憶領域に書き込まれた前記ジャーナルデータを書き込み終わった後に、前記アドレスに対応する記憶領域に書き込まれている前記ジャーナルデータを前記ホスト計算機に読み出す
    ことを特徴とする請求項8に記載のストレージシステムのリカバリボリューム作成方法。
  13. 前記第4のステップでは、
    前記スナップショットの管理テーブルを複製すると、前記ホスト計算機に前記リカバリボリュームの作成を完了した旨の応答を送信し、
    前記第5のステップでは、
    前記第4のステップにおいて前記ホスト計算機に前記リカバリボリュームの作成を完了した旨の応答を送信した後、前記リカバリボリュームを作成する
    ことを特徴とする請求項8に記載のストレージシステムのリカバリボリューム作成方法。
  14. 前記第3のステップでは、
    前記ホスト計算機からの要求に基づいて作成される第1のリカバリジャーナル及び前記ホスト計算機からの要求を伴わずに作成される第2のリカバリポイントジャーナルを識別して取得し、
    自システム内において、
    前記第2の記憶領域の使用容量の閾値を予め所定の閾値に設定する閾値設定ステップと、
    前記リカバリボリュームを作成することが可能な一番古い時間であるリカバリ可能時間を管理するリカバリ可能時間管理ステップと、
    前記閾値設定ステップにおいて設定した前記閾値を越えたときに、前記リカバリ可能時間の一番近くであり、かつ前記第2のリカバリポイントジャーナル以前の前記ジャーナルデータ、前記スナップショットジャーナル及び前記リカバリポイントジャーナルを前記第2の記憶領域から削除するジャーナル削除ステップと
    を備えることを特徴とする請求項8に記載のストレージシステムのリカバリボリューム作成方法。
JP2006138712A 2006-05-18 2006-05-18 ストレージシステム及びそのリカバリボリューム作成方法 Expired - Fee Related JP4842703B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2006138712A JP4842703B2 (ja) 2006-05-18 2006-05-18 ストレージシステム及びそのリカバリボリューム作成方法
US11/485,041 US7840766B2 (en) 2006-05-18 2006-07-11 Storage system and method of producing recovery volume
DE602006017756T DE602006017756D1 (de) 2006-05-18 2006-11-09 Speichersystem und Verfahren zur Erstellung eines Wiederherstellungsträgers
EP06255755A EP1860559B8 (en) 2006-05-18 2006-11-09 Storage system and method of producing recovery volume
EP09010585A EP2131284B1 (en) 2006-05-18 2006-11-09 Storage system and method of producing recovery volume
DE602006009634T DE602006009634D1 (de) 2006-05-18 2006-11-09 Speichersystem und Verfahren zur Erstellung eines Wiederherstellungsträgers
CN2006101643494A CN101075203B (zh) 2006-05-18 2006-12-19 存储装置以及其恢复卷生成方法
US12/942,955 US8131962B2 (en) 2006-05-18 2010-11-09 Storage system and method of producing recovery volume

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006138712A JP4842703B2 (ja) 2006-05-18 2006-05-18 ストレージシステム及びそのリカバリボリューム作成方法

Publications (2)

Publication Number Publication Date
JP2007310631A true JP2007310631A (ja) 2007-11-29
JP4842703B2 JP4842703B2 (ja) 2011-12-21

Family

ID=38462030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006138712A Expired - Fee Related JP4842703B2 (ja) 2006-05-18 2006-05-18 ストレージシステム及びそのリカバリボリューム作成方法

Country Status (5)

Country Link
US (2) US7840766B2 (ja)
EP (2) EP2131284B1 (ja)
JP (1) JP4842703B2 (ja)
CN (1) CN101075203B (ja)
DE (2) DE602006017756D1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055420A (ja) * 2008-08-28 2010-03-11 Fujitsu Ltd バックアップ装置、バックアップ方法およびバックアッププログラム
JP2010123066A (ja) * 2008-11-21 2010-06-03 Hitachi Ltd オンラインボリュームと性能/障害独立かつ容量効率の高いスナップショットを実現するストレージシステム及び方法
US8161008B2 (en) 2008-10-06 2012-04-17 Hitachi, Ltd. Information processing apparatus and operation method thereof
KR101544899B1 (ko) * 2013-02-14 2015-08-17 주식회사 케이티 가상화 환경 백업 시스템 및 그 방법
JP2021117719A (ja) * 2020-01-27 2021-08-10 株式会社日立製作所 ストレージシステムおよびリストア制御方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007265270A (ja) * 2006-03-29 2007-10-11 Hitachi Ltd ストレージシステム及び記憶領域割当て方法
US8250031B2 (en) 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
JP5366480B2 (ja) * 2008-08-27 2013-12-11 株式会社日立製作所 計算機システム及びそのバックアップ方法
US8055869B2 (en) * 2009-03-26 2011-11-08 Inventec Corporation Data manipulation method of logical volume manager
JP2013134606A (ja) * 2011-12-26 2013-07-08 Ricoh Co Ltd 制御装置および電子機器
US9087008B1 (en) * 2013-06-24 2015-07-21 Emc International Company Replicating a volume using snapshots
US9367260B1 (en) * 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
CN104994135B (zh) * 2015-05-25 2018-09-21 华为技术有限公司 存储系统中融合san及nas存储架构的方法及装置
US10599530B2 (en) * 2015-11-04 2020-03-24 Hitachi, Ltd. Method and apparatus for recovering in-memory data processing system
CN107453845B (zh) * 2016-03-31 2021-01-15 阿里巴巴集团控股有限公司 应答确认方法及设备
CN106294007B (zh) * 2016-08-05 2020-03-24 联想(北京)有限公司 一种数据恢复方法及装置
US11126505B1 (en) * 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
US11182081B2 (en) * 2018-09-06 2021-11-23 International Business Machines Corporation Performing a recovery copy command to restore a safeguarded copy backup to a production volume
US10789132B2 (en) 2018-09-06 2020-09-29 International Business Machines Corporation Performing a recovery copy command to create a recovery volume for a consistency group
US11182094B2 (en) * 2018-09-06 2021-11-23 International Business Machines Corporation Performing a recovery copy command using a recovery copy data structure for a backup volume lookup
US10909073B2 (en) * 2019-04-18 2021-02-02 EMC IP Holding Company LLC Automatic snapshot and journal retention systems with large data flushes using machine learning
US11354268B2 (en) * 2020-01-08 2022-06-07 EMC IP Holding Company LLC Optimizing snapshot creation
WO2022106977A1 (en) * 2020-11-18 2022-05-27 Ownbackup Ltd. Continuous data protection using retroactive backup snapshots
US11797600B2 (en) 2020-11-18 2023-10-24 Ownbackup Ltd. Time-series analytics for database management systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287648A (ja) * 2003-03-20 2004-10-14 Hitachi Ltd 外部記憶装置及び外部記憶装置のデータ回復方法並びにプログラム
JP2005018738A (ja) * 2003-06-26 2005-01-20 Hitachi Ltd ストレージベースのジャーナリングを用いてバックアップ及びリカバリを行う方法と装置
JP2005332067A (ja) * 2004-05-18 2005-12-02 Hitachi Ltd バックアップ取得方法及びディスクアレイ装置
JP2006107162A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd ストレージシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0373037A (ja) * 1989-05-26 1991-03-28 Hitachi Ltd データベース障害回復方法
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
US7043504B1 (en) * 2000-04-10 2006-05-09 International Business Machines Corporation System and method for parallel primary and secondary backup reading in recovery of multiple shared database data sets
KR100390853B1 (ko) * 2000-06-07 2003-07-10 차상균 주 메모리 트랜잭션 처리 시스템에서 병렬적 회복 연산을 위한 디퍼런셜 로깅 방법 및 장치
JP4256600B2 (ja) * 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
US20050022213A1 (en) * 2003-07-25 2005-01-27 Hitachi, Ltd. Method and apparatus for synchronizing applications for data recovery using storage based journaling
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
JP4551096B2 (ja) * 2004-02-03 2010-09-22 株式会社日立製作所 ストレージサブシステム
JP4483342B2 (ja) * 2004-02-27 2010-06-16 株式会社日立製作所 システム復旧方法
US7167880B2 (en) * 2004-04-14 2007-01-23 Hitachi, Ltd. Method and apparatus for avoiding journal overflow on backup and recovery system using storage based journaling
JP4477950B2 (ja) * 2004-07-07 2010-06-09 株式会社日立製作所 リモートコピーシステム及び記憶装置システム
US7627712B2 (en) * 2005-03-22 2009-12-01 Sigmatel, Inc. Method and system for managing multi-plane memory devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287648A (ja) * 2003-03-20 2004-10-14 Hitachi Ltd 外部記憶装置及び外部記憶装置のデータ回復方法並びにプログラム
JP2005018738A (ja) * 2003-06-26 2005-01-20 Hitachi Ltd ストレージベースのジャーナリングを用いてバックアップ及びリカバリを行う方法と装置
JP2005332067A (ja) * 2004-05-18 2005-12-02 Hitachi Ltd バックアップ取得方法及びディスクアレイ装置
JP2006107162A (ja) * 2004-10-06 2006-04-20 Hitachi Ltd ストレージシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055420A (ja) * 2008-08-28 2010-03-11 Fujitsu Ltd バックアップ装置、バックアップ方法およびバックアッププログラム
US8756386B2 (en) 2008-08-28 2014-06-17 Fujitsu Limited Backup apparatus, backup method and computer readable medium having a backup program
US8161008B2 (en) 2008-10-06 2012-04-17 Hitachi, Ltd. Information processing apparatus and operation method thereof
JP2010123066A (ja) * 2008-11-21 2010-06-03 Hitachi Ltd オンラインボリュームと性能/障害独立かつ容量効率の高いスナップショットを実現するストレージシステム及び方法
US8316203B2 (en) 2008-11-21 2012-11-20 Hitachi, Ltd. Storage system and method implementing online volume and snapshot with performance/failure independence and high capacity efficiency
US8725981B2 (en) 2008-11-21 2014-05-13 Hitachi, Ltd Storage system and method implementing online volume and snapshot with performance/failure independence and high capacity efficiency
KR101544899B1 (ko) * 2013-02-14 2015-08-17 주식회사 케이티 가상화 환경 백업 시스템 및 그 방법
JP2021117719A (ja) * 2020-01-27 2021-08-10 株式会社日立製作所 ストレージシステムおよびリストア制御方法
JP7093799B2 (ja) 2020-01-27 2022-06-30 株式会社日立製作所 ストレージシステムおよびリストア制御方法

Also Published As

Publication number Publication date
US7840766B2 (en) 2010-11-23
CN101075203B (zh) 2010-06-16
US20070271429A1 (en) 2007-11-22
EP1860559B1 (en) 2009-10-07
DE602006009634D1 (de) 2009-11-19
JP4842703B2 (ja) 2011-12-21
CN101075203A (zh) 2007-11-21
US20110055506A1 (en) 2011-03-03
EP1860559A2 (en) 2007-11-28
EP1860559A3 (en) 2008-01-23
EP1860559B8 (en) 2009-12-02
US8131962B2 (en) 2012-03-06
EP2131284B1 (en) 2010-10-20
EP2131284A1 (en) 2009-12-09
DE602006017756D1 (de) 2010-12-02

Similar Documents

Publication Publication Date Title
JP4842703B2 (ja) ストレージシステム及びそのリカバリボリューム作成方法
JP6344798B2 (ja) データ送信方法、データ受信方法、及びストレージデバイス
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
CN101799743B (zh) 用于逻辑卷管理的方法和装置
JP4405509B2 (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
JP4800056B2 (ja) ストレージシステム及びその制御方法
JP4993913B2 (ja) 記憶制御装置及びそのデータ管理方法
US8448167B2 (en) Storage system, and remote copy control method therefor
JP4422519B2 (ja) 情報処理システム
CN103793271B (zh) 用于在镜像卷之间进行切换的方法和系统
EP1873645A1 (en) Storage system and data replication method
JP2003517651A (ja) 高度利用可能ファイルサーバ
JP2008171387A (ja) 継続的データ保護を備えたバックアップシステム
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
JP2004252686A (ja) 情報処理システム
JP4508798B2 (ja) ストレージリモートコピー方式
US20190317872A1 (en) Database cluster architecture based on dual port solid state disk
JP2008225616A (ja) ストレージシステム、リモートコピーシステム、及びデータ復元方法
JP2007199920A (ja) ストレージ装置及びその制御方法
WO2015085529A1 (zh) 数据复制方法、数据复制装置和存储设备
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
US8583884B2 (en) Computing system and backup method
JP2006072684A (ja) ストレージネットワークシステム及び管理サーバ、ホストとストレージ装置
JP2005234860A (ja) バージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置
JP2024030968A (ja) 情報処理システム及びバックアップ方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees