JP2007323507A - 記憶システム並びにこれを用いたデータの処理方法 - Google Patents

記憶システム並びにこれを用いたデータの処理方法 Download PDF

Info

Publication number
JP2007323507A
JP2007323507A JP2006154935A JP2006154935A JP2007323507A JP 2007323507 A JP2007323507 A JP 2007323507A JP 2006154935 A JP2006154935 A JP 2006154935A JP 2006154935 A JP2006154935 A JP 2006154935A JP 2007323507 A JP2007323507 A JP 2007323507A
Authority
JP
Japan
Prior art keywords
data
time information
volume
snapshot
host
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.)
Withdrawn
Application number
JP2006154935A
Other languages
English (en)
Inventor
Yoshimasa Kanda
佳昌 神田
Hiroshi Wake
寛 和家
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 JP2006154935A priority Critical patent/JP2007323507A/ja
Priority to US11/493,657 priority patent/US20070294568A1/en
Publication of JP2007323507A publication Critical patent/JP2007323507A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ホスト装置を基準とした時刻が指定された復元要求に従って、データの復元を行えるようにする。
【解決手段】 本発明は、記憶部と、これを制御する制御部とを備えるストレージ装置である。記憶部上には、データボリュームと、ジャーナルボリュームと、スナップショットボリュームとが形成される。ストレージ装置は、ホスト装置から送られる書き込み要求に従い、書き込み要求に基づく所定のデータをデータボリュームに記憶する一方、ホスト装置から送られるホスト時刻情報を含む復元ポイント設定要求に対しては、当該ホスト時刻情報と関連付けられたバックアップデータを所定のボリュームに記憶する。データの復元に際しては、ストレージ装置は、ホスト装置から送られる復元要求に含まれるホスト時刻情報に基づいて、データボリュームにスナップショットデータを適用するとともに、ジャーナルデータをさらに適用することにより、データを復元する。
【選択図】図1

Description

コンピュータシステムにおけるデータの消失を防止するため、ストレージ装置を用いたデータのバックアップおよび復元・復旧が行われる。このような復元・復旧を目的としたデータのバックアップとして、例えば、スナップショットやジャーナリングと呼ばれる技術がある。スナップショットは、ある時点におけるファイルシステムについてのデータイメージを保存する技術である。例えば、障害によりデータが失われた場合であっても、保存されたスナップショットデータを参照することによって、失われる前のデータを復元することができる。また、ジャーナリングは、データの書き込み時に、書き込まれるデータおよびその時刻をジャーナルエントリ(ジャーナルデータ)として保存する技術である。近年では、ジャーナリング技術およびスナップショット技術を融合した高速なデータ復元機構を実装したストレージ装置が注目されている。
一つの例として、下記特許文献1に示されるように、ストレージ装置は、ホスト装置からの書き込み要求に基づき、データボリュームに保存されるアプリケーションデータについてジャーナルエントリを保存するとともに、該データボリュームに対するスナップショットデータを保存する。この場合、ジャーナルエントリおよびスナップショットデータには、生成された順に固有の番号を割り当ててておく。これにより、データを復元する際には、所定のスナップショットデータが適用されるジャーナルエントリを容易に特定することができ、高速なデータの復元を実現している。
特開2005-18738号公報
従来のストレージ装置は、データを復元するためにユーザによって指定される時刻として、ストレージ装置における時刻を基準にしてデータを復元するように設計されていた。しかしながら、一般的に、障害は、例えば、ホスト装置におけるユーザの作業ミス等のように、ホスト装置側で発生することが多い。ホスト装置において障害が発生した場合、ホスト装置は、障害内容および障害発生時刻等を含む障害情報をユーザに提供するが、この障害発生時刻はホスト装置内の時計機構に依存している。ユーザは、この障害発生時刻を参考にして、データを復元しようとする時刻を指定することになるが、ストレージ装置におけるデータの復元は、ストレージ装置内の時計機構に依存した時刻を基準にして行われる。したがって、ホスト装置内の時計機構とストレージ装置内の時計機構との間に、時間的なずれ(時間差)がある場合、ユーザが期待した時刻におけるデータを復元できないという課題がある。
また、複数のホスト装置が相互に連携しているシステムの場合、個々のホスト装置内の時計機構が示す時刻が異なっていることが想定される。したがって、このようなシステムにおいては基準となる時刻を一意に定めることができず、システム全体で基準時刻に同期したデータの復元を行うことは難しかった。
本発明のある観点によれば、データを適宜にバックアップし、ホスト装置からの復元要求に基づいて、バックアップされた当該データの復元を行うストレージ装置である。ストレージ装置は、データボリュームとバックアップボリュームとが形成された記憶部と、この記憶部を制御する制御部とを備える。バックアップボリュームは、典型的には、ジャーナルボリュームと、スナップショットボリュームと、コマンド管理ボリュームとからなる。これらのボリュームは、典型的には、ボリューム管理テーブルによって管理される。そして、制御部は、ホスト装置から送られる書き込み要求に従い、書き込み要求に基づく所定のデータをデータボリュームに記憶する一方、ホスト装置から送られるホスト時刻情報を含む復元ポイント設定要求に対しては、当該ホスト時刻情報と関連付けられた所定のバックアップデータをバックアップボリュームに記憶する。
また、制御部は、ホスト装置から送られるホスト時刻情報が指定された復元要求を受け取った場合であって、ホスト時刻情報を持たない時点におけるデータの復元を行おうとする場合には、まず、ボリューム管理テーブルにおけるスナップショットボリューム管理テーブルに相互に関連付けられて記憶されたストレージ時刻情報およびホスト時刻情報に基づいて差分時間を求める。そして、制御部は、当該差分時間に基づくオフセット時刻情報に基づいて、復元要求に含まれるホスト時刻情報に直近するストレージ時刻情報に従うスナップショットデータを特定し、さらに、当該特定したスナップショットデータをデータボリュームに適用する。
これによって、ストレージ装置は、ホスト装置からホスト時刻情報を含む復元要求を受けた場合には、格納したホスト時刻情報を利用しながらデータを復元することができ、ホスト時刻情報が格納されていない場合であっても、他の格納されたホスト時刻情報を利用して、復元要求に含まれるホスト時刻情報に可能な限り近い時刻情報でデータを復元することができる。
本発明によれば、ストレージ装置は、ホスト装置内の時刻を基準にした、ユーザが本来期待した通りのデータの復元を行うことができるようになる。
次に、本発明の実施の形態について、図面を参照しつつ説明する。
図1は、本発明の一実施形態に係る記憶システムの概略を示している。記憶システム1は、上位装置として機能するホスト装置2が、ネットワークシステム3を介して、下位装置として機能するストレージ装置4と接続されることにより構成されている。
ホスト装置2は、典型的には、パーソナルコンピュータやワークステーション、メインフレーム等が該当する。ホスト装置2は、CPU(Central Processing Unit)21、メインメモリ22、インターフェースユニット23およびローカル入出力装置24、時計機構25等のハードウェア資源を備え、これらは内部バス26により相互に接続されている。ホスト装置2はまた、デバイスドライバおよびオペレーティングシステム(OS)等のソフトウェア資源を備えている。これによって、ホスト装置2は、CPU21の制御の下、各種のプログラムを実行して、ハードウェア資源との協働作用により、所望の処理を実現する。例えば、ホスト装置2は、CPU21の制御の下、OS上でアプリケーションプログラムを実行する。アプリケーションプログラムは、ホスト装置2が本来的に遂行しようとする処理を実現するためのプログラムである。アプリケーションプログラムは、その実行に際して、ストレージ装置4に対してデータの読み込みや書き込み等のアクセスを要求する。このため、ホスト装置2には、ストレージマネージャが実装されている。ストレージマネージャは、ストレージ装置4に対するアクセスを管理するための管理プログラムである。ストレージマネージャは、OSとは独立に設計されてもよいし、またはその一部として組み込まれていてもよい。各種のプログラムは、1つのモジュールとして構成されてもよいし、複数のモジュールとして構成されてもよい。
図2は、本発明の一実施形態に係る記憶システムのホスト装置におけるプログラムスタック構造の一例を示している。ストレージマネージャは、アプリケーションプログラムによるストレージ装置4に対するアクセス要求があると、ストレージ装置4に対して所定のコマンドを発行する。例えば、ストレージマネージャは、データの読み込みまたは書き込み要求に対しては、読み込み要求または書き込み要求コマンドを発行する。これらの読み込み要求コマンドおよび書き込み要求コマンドは、通常のI/O要求コマンドとして処理される。本実施形態のストレージマネージャは、さらに、復元ポイントの設定処理および復元処理に関する制御をも行っている。ストレージマネージャによるこれらの処理の詳細については後述する。
図1に戻り、ネットワーク3は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。このネットワーク3を介したホスト装置2とストレージ装置4との間の通信は、例えばネットワーク3がSANである場合にはファイバーチャネルプロトコルに従って行われる。また、ネットワーク3がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
ストレージ装置4は、複数の物理的なディスクデバイスからなる記憶部41と、該ディスデバイス部41を制御する制御部42とを備えている。
ディスクデバイスは、例えばFC(Fibre Channel)ディスク、FATA(Fibre Attached Technology Adapted)や、SATA(Serial AT Attachment)ディスク、光ディスクドライブ等から構成される。1又は複数のディスクデバイスが提供する記憶領域上には、1又は複数の論理的なボリューム(以下、「論理ボリューム」という。)が定義される。
論理ボリュームには、例えば利用目的に応じた属性が与えられ、それぞれに割り当てられた固有の識別子(LUN:Logical Unit Number)によって管理される。本実施形態では、ディスクデバイス部41上に、データボリューム41aと、ジャーナルボリューム41bと、スナップショットボリューム41cと、コマンド管理ボリューム41dとが定義されている。ここで、ジャーナルボリューム41bと、スナップショットボリューム41cと、コマンド管理ボリューム41dとは、データのバックアップ用のボリュームとして機能する。
データボリューム41aは、アプリケーションプログラムがデータを読み書きするために使用するボリュームである。ジャーナルボリュームは、データボリューム41aの更新履歴情報であるジャーナルデータを格納するためのボリュームである。ジャーナルデータは、典型的には、データボリューム41aに書き込まれたデータと、当該データが書き込まれたデータボリューム41a上のアドレスおよび当該データが書き込まれた時刻等の管理情報とから構成される。スナップショットボリューム41cは、ある時点におけるデータボリューム41aのスナップショットデータ(イメージ)を格納するためのボリュームである。コマンド管理ボリューム41dは、ホスト装置2から送られる所定のコマンドを一時的に保持するためのボリュームである。
論理ボリュームに対するアクセスは、所定サイズのブロックを単位として行われる。各ブロックには、論理ブロックアドレス(LBA:Logical Block Address)が割り当てられている。したがって、ホスト装置2は、上述した識別子および論理ブロックアドレスに基づくアドレスをストレージ装置4の制御部42に対して指定することにより、論理ボリュームに対するアクセスを行う。
制御部42は、CPU421、メモリ422、キャッシュ機構423および時計機構424を備えたシステム回路であり、ホスト装置2と記憶部41との間の入出力を統括的に制御する。また、制御部42は、典型的には、チャネルアダプタおよびディスクアダプタとを備える(図示せず)。メモリ422は、CPU421のメインメモリとして機能する。例えば、メモリ422は、CPU421の利用に供するため、図3に示すように、各種の制御プログラムやシステム構成情報、管理テーブル等を記憶する。図示はしていないが、制御部2は、その稼働中、ストレージ装置4内の障害の有無を監視しており、障害が発生したときにこれをユーザ(システム管理者)に通知する等の処理をモジュールを実装している。これら制御プログラムや各種の情報等は、例えば、ストレージ装置4に電源が投入された時点で、CPU421の制御の下、所定のディスクデバイスから読み出され、メモリ422上に展開される。または、メモリ422が再書き込み可能な不揮発性メモリを含んで構成されている場合には、当該不揮発性メモリに恒常的に保持されていてもよい。
キャッシュ機構423はキャッシュメモリを備え、ホスト装置2と記憶部41との間の入出力データを一時的に記憶するために利用される。つまり、ホスト装置2から送られるコマンドは、キャッシュメモリに保持される。また、記憶部42のデータボリューム41aから読み出されたデータは、ホスト装置2に送り出すに際して、キャッシュメモリに保持される。
また、時計機構424は、時刻を計時しており、必要に応じてCPU421に時刻情報(タイムスタンプ)を提供する。各種の制御プログラムは、CPU421の制御の下、時刻情報を利用する。
本実施形態に係る記憶システム1は、ホスト装置内の時計機構が示す時刻を基準にした時刻情報(以下、「ホスト時刻情報」という。)およびストレージ装置内の時計機構が示す時刻を基準にした時刻情報(以下、「ストレージ時刻情報」という。)のそれぞれにおいてデータを復元できるように設計されている。具体的には、ホスト装置2は、取得したホスト時刻情報を所定のコマンドに含めてストレージ装置4に送出し、ストレージ装置4は、送られてきたホスト時刻情報を所定の領域に格納しておき、ホスト時刻を基準とした復元要求に対しては、格納したホスト時刻情報を利用しながらデータを復元する。
図4は、本発明の一実施形態に係る記憶システムにおけるホスト装置の処理の流れを説明するための図である。具体的には、図4は、ホスト装置2上で実行されるストレージマネージャの処理の流れを説明している。ストレージマネージャは、例えば、ホスト装置2の起動に伴って起動され、ローカルメモリ22上に常駐する。
すなわち、同図に示すように、ストレージマネージャは、アプリケーションプログラムによるストレージ装置4に対するI/O要求の発生を監視する(STEP401)。I/O要求は、ここでは、通常のデータ読み込みまたはデータ書き込み要求である。ストレージマネージャは、例えば、データ書き込み要求を受けると、ストレージ装置4に書き込まれるべき実データを含む書き込み要求コマンドを生成して、ストレージ装置4に対して送出する(STEP402)。図5(a)は、書き込み要求コマンドのデータフォーマットを示している。同図に示すように、書き込み要求コマンドは、制御コードフィールドと、データ長フィールドと、実データフィールドとからなる。実データフィールドは、実際に書き込まれるべきデータが入る可変長フィールドである。
ストレージマネージャはさらに、ホスト装置2上のシステム条件が復元ポイント設定条件を満たすか否かを監視する(STEP403)。復元ポイント設定条件テーブルは、復元ポイントが設定されるべき条件を条件項目ごとに定義したテーブルである。図6は、本実施形態における復元ポイント設定条件テーブルの一例を説明するための図である。同図では、復元ポイントが設定されるべき条件として、ホスト装置2上の所定のジョブが完了したか、ホスト装置2における時刻が所定の時間になったか、所定のファイルがクローズされたか等が定義されている。また、アクションは、条件が満たされたときのバックアップ手法を定義しており、本実施形態では、ジャーナリングによるバックアップであるか、またはスナップショットによるバックアップであるかを示している。したがって、同図の復元ポイント設定条件テーブルによれば、例えば、ジョブが完了した場合およびファイルがクローズされた場合には、ジャーナリングによるバックアップが行われ、時刻が毎時00分になった場合には、スナップショットによるバックアップが行われることになる。復元ポイント設定条件テーブルは、編集可能であり、例えば、ストレージマネージャが提供するダイアログボックスにより、システム管理者は、条件を変更し、または新たな条件を定義することもできる。
図4に戻り、ストレージマネージャは、ホスト装置2上のシステム条件が復元ポイント設定条件テーブルにおけるいずれかの条件を満たすと判断した場合(STEP403のYes)、当該条件に対応する復元管理要求コマンドを生成し、ストレージ装置4に対して送出する(STEP404)。本実施形態では、復元管理要求コマンドは、復元ポイント設定要求または復元要求のいずれかのコマンドであり、後述するように、ストレージ装置4においてコマンド管理ボリュームに書込まれる。
図5(b)は、復元管理要求コマンドのデータフォーマットの一例を示すである。同図に示すように、復元管理要求コマンドは、制御コードフィールドと、データ長フィールドと、データフィールドとからなる。データフィールドは、さらに、コマンドフィールド、オプションフィールド、ホスト時刻情報フィールドおよびコメントフィールドからなる。コマンドフィールドは、復元ポイント設定要求または復元要求のいずれかが指定される。復元ポイント設定条件テーブルにおけるいずれかの条件を満たすと判断された場合、コマンドフィールドには復元ポイント設定要求が設定される。オプションフィールドは、スナップショットを行うか否かが指定される。「スナップショットなし」が指定された場合、ジャーナリングが指定されたことを意味する。コマンドフィールドに復元ポイント設定要求が設定された復元管理要求コマンドを、単に復元ポイント設定要求コマンドということもある。コメントフィールドは、ジャーナルボリュームに対して格納されるジャーナルデータの一部となる。
ストレージマネージャはまた、復元要求が与えられたか否かを監視する(STEP405)。復元要求は、例えば、ストレージマネージャが提供するダイアログボックスを介してユーザから与えられる。復元要求を受け取ると、ストレージマネージャは、復元管理要求コマンドを生成し、ストレージ装置4に対してこれを送出する(STEP406)。復元管理要求コマンドは、上述したように、コマンドフィールドに復元要求が設定されている。コマンドフィールドに復元要求が設定された復元管理要求コマンドを、単に復元要求コマンドということもある。
図7は、本発明の一実施形態に係る記憶システムにおけるストレージ装置4の処理の流れを説明するための図である。具体的には、同図は、ストレージ装置4の制御部42上で実行される制御プログラムの処理の流れを説明している。なお、制御プログラムは、図3に示したように、各種の制御モジュールから構成されており、メインモジュール(図3において図示せず)から、適宜、対応する制御モジュールを呼び出すことによって、必要な処理を遂行している。
同図に示すように、ホスト装置2から送られた要求コマンドがキャッシュ機構423のキャッシュメモリに格納されると(STEP701)、制御部42は、時計機構を参照して時刻情報を取得するとともに(STEP702)、当該要求コマンドを解釈する(STEP703)。要求コマンドが読み込み要求である場合(STEP704のYes)、制御部42は、指定されたアドレスに基づいてデータボリューム41aからデータを読み出す(STEP705)。この場合、データボリューム41aは、実質的に変更されないので、ジャーナリングは行われない。これに対して、要求コマンドが書き込み要求である場合(STEP706のYes)、制御部42は、指定されたアドレスに基づいてデータボリューム41aにデータを書き込み(STEP707)、続けてジャーナリングを行う(STEP708)。ジャーナリングは、ジャーナルボリュームに対して、指定されたアドレスを含む書き込みデータと取得した時刻情報とを関連付けたジャーナルデータを格納することにより行われる。なお、ここでいう時刻情報とは、ストレージ時刻情報を意味している。
また、要求コマンドが復元管理要求である場合(STEP709のYes)、制御部42は、取得した時刻情報を関連付けた当該復元管理要求コマンドをコマンド管理ボリューム41dに書き込む(STEP709)。復元管理要求コマンドが復元ポイント設定要求である場合、ホスト時刻情報を含んでいる。詳細は後述するが、制御部42は、コマンド管理ボリューム41dを監視しており、コマンド管理ボリューム41dに要求コマンドが存在する場合に、当該要求コマンドに応じた処理をさらに実行する。
図8は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによるコマンド管理ボリュームの制御に関する処理の流れを説明するための図である。具体的には、同図は、制御部42上の制御プログラムから呼び出されたコマンド管理制御モジュールの処理の流れを示している。
同図に示すように、制御部42は、コマンド管理ボリューム41dに要求コマンドが書き込まれたか否かを監視している(STEP801)。コマンド管理ボリューム41dにコマンドがある場合(STEP801のYes)、制御部42は、コマンドに対応したサブルーチン処理を実行する(STEP802)。そして、制御部42は、実行されたコマンドをコマンド管理ボリューム41dから削除する(STEP803)。
図9は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによるスナップショット処理の流れを説明するための図である。スナップショット処理は、復元ポイント設定要求コマンドにおいて「スナップショットを行う」が設定された場合に、スナップショット制御モジュールにより実行される処理である。
同図に示すように、制御部42は、まず、ボリューム管理テーブルのスナップショットボリュームリストの終端に、ストレージ時刻情報およびホスト時刻情報等を含むスナップショット情報を登録する(STEP901)。初期状態のように、スナップショットボリュームリスト等が存在していない場合には、制御部42は、スナップショットボリュームリストを生成する。続いて、制御部42は、データボリューム41aに対するスナップショットデータを取得し、これをスナップショットボリュームに格納する(STEP902)。
図10は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で管理されるボリューム管理テーブルの一例を説明するための図である。
同図に示すように、ボリューム管理テーブルは、リスト構造を有するテーブルであって、記憶部41上の論理ボリュームを管理するためのテーブルである。同図では、データボリューム41aリスト、ジャーナルボリュームリスト、およびスナップショットボリュームリストが示されている。スナップショットボリュームリストにおける一つのノードは、一回のスナップショット処理に対応するスナップショット情報を格納する。制御部42は、
図11は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによるジャーナリングの処理の流れを説明するための図である。ここでいうジャーナリングは、復元ポイント設定要求コマンドにおいて「スナップショットを行わない」が設定された場合に、ジャーナル制御モジュールにより実行される処理である。
同図に示すように、制御部42は、まず、ボリューム管理テーブルのジャーナルボリュームリストを参照して、ジャーナルデータを格納すべきジャーナルボリュームを特定する(STEP1101)。具体的には、これは、ジャーナルボリュームリストにおけるJVOL−DVOLを参照することにより特定される。次に、制御部42は、特定されたジャーナルボリュームのジャーナルヘッダ領域にジャーナル管理情報を格納する(STEP1102)。ジャーナル管理情報は、例えば、ジャーナルアドレス、ホスト時刻情報、およびストレージ時刻情報を含んでいる。そして、制御部42は、当該ジャーナルボリュームのジャーナルデータ領域にジャーナルデータを格納する(STEP1103)。復元管理要求コマンドに基づくジャーナリング処理においては、ジャーナルデータは、コメントフィールドに格納されたコメントを含んでいる。
図12は、本発明の一実施形態に係る記憶システムにおけるストレージ装置上のジャーナルボリュームの構成を説明するための図である。同図に示すように、ジャーナルボリュームは、ジャーナルヘッダ領域とジャーナルデータ領域とから構成されている。ジャーナルヘッダ領域には、例えば、ジャーナルアドレスやストレージ時刻情報、ホスト時刻情報等、ジャーナル管理に必要な情報が格納される。
図13および図14は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによる復元処理の流れを説明するための図である。復元処理は、復元ポイント設定要求コマンドにおいて復元処理要求コマンドが設定された場合に、復元制御モジュールにより実行される処理である。
同図に示すように、復元処理においては、制御部42は、ホスト装置2からの復元要求がホスト装置2における時刻を基準にデータを復元するものであるのか、ストレージ装置4における時刻を基準にデータを復元するものであるのかを判断する(STEP1301)。
具体的には、制御部42は、復元要求コマンドに含まれる時刻情報が、ホスト時刻基準またはストレージ時刻基準のいずれであるかを判断する。復元要求コマンドにおける時刻情報は、データを復元したい時点を示す時刻情報であり、ホスト時刻を基準にデータを復元するのか、ストレージ時刻を基準にデータを復元するのかが指定されている。このような時刻情報は、例えば、リカバリマネージャが提供するダイアログボックスを介してユーザによって与えられる。リカバリマネージャは、制御部42に復元可能な時点を問い合わせ、その結果をユーザに提供することによって、ユーザが選択できるように設計されてもよい。復元要求コマンドに含まれる時刻情報がホスト時刻基準でない場合(STEP1301のNo)、制御部42は、これをストレージ時刻基準であるものとみなし、STEP1302からSTEP1307までの処理を行う。これに対して、指定された時刻情報がホスト時刻基準である場合(STEP1301のYes)、制御部42は、図14に示すSTEP1401からSTEP1414までの処理を行う。
すなわち、指定された時刻情報がホスト時刻基準でない場合、当該指定された時刻情報をストレージ時刻基準であるとみなし、制御部42は、指定された時刻情報に対して、ストレージ時刻を基準とした直近のスナップショット時刻情報を取得する。より具体的には、制御部42は、ボリューム管理テーブルのスナップショットボリュームリストを参照して、スナップショット処理が行われた時刻を示す時刻情報(スナップショット時刻情報)SS−TIME(i)を一つ抽出する(STEP1302)。次に、制御部42は、指定された時刻情報と抽出したスナップショット時刻情報SS−TIME(i)とを比較して、指定された時刻情報がスナップショット時刻情報SS−TIME(i)よりも前であるか否かを判断する(STEP1303)。なお、指定された時刻情報と抽出したスナップショット時刻情報SS−TIMEiとが一致する場合には、当該抽出したスナップショット時刻情報SS−TIMEiに従うスナップショットデータをデータボリュームに適用する。この場合、システム管理者が意図した時点におけるデータが復元されることになる。
指定された時刻情報がスナップショット時刻情報SS−TIMEiよりも前でない場合(STEP1303のNo)、制御部42は、スナップショットボリュームリストから次のスナップショット時刻情報SS−TIME(i=i+1)を抽出し(STEP1302)、同様に比較する(STEP1303)。この抽出・比較ステップは、該当するスナップショット時刻情報SS−TIMEiが見つかるまで繰り返される。すべてのスナップショット時刻情報SS−TIME(i; 0<i<n+1)について比較して見つからなかった場合には、制御部42は、ホスト装置2にエラーを返して、処理を終了する。指定された時刻情報がスナップショット時刻情報よりも前である場合(STEP1303のYes)、制御部42は、現在参照しているスナップショット時刻情報SS−TIMEiよりも1つ前に遡ったスナップショット時刻情報SS−TIME(S=i-1)を選択して、当該選択したスナップショット時刻情報SS−TIME(S)に従うスナップショットデータに基づいてデータボリューム41aを復元する(STEP1304)。これによって、指定された時刻情報に対して、ストレージ時刻を基準とした直近のスナップショット時刻情報に従うスナップショットデータを用いてデータが復元されることになる。
さらに、制御部42は、ジャーナルボリューム41bのジャーナルヘッダ領域を参照して、ジャーナリングが行われた時刻を示す時刻情報(ジャーナル時刻情報)JH−TIME(i)を抽出する(STEP1305)。次に、制御部42は、指定された時刻情報と抽出したジャーナル時刻情報JH−HTIME(i)とを比較して、指定された時刻情報がジャーナル時刻情報JH−HTIMEiよりも前であるか否かを判断する(STEP1306)。指定された時刻情報がジャーナル時刻情報JH−HTIME(s)iよりも古くない場合(STEP1306のNo)、制御部42は、次のジャーナル時刻情報JH−HTIME(i=i+1)を抽出し(STEP1305)、同様に、判断する(STEP1306)。指定された時刻情報がジャーナル時刻情報JH−HTIME(i)よりも前である場合(STEP1306のYes)、制御部42は、現在参照しているジャーナル時刻情報JH−HTIME(i)よりも1つ過去に遡ったジャーナル時刻情報JH−HTIME(J=i-1)を選択し、復元に用いたスナップショット時刻情報SS−TIME(S)に示される時刻以降であって当該選択したジャーナル時刻情報JH−HTIME(J)までのジャーナル時刻情報に従うジャーナルデータを抽出し、順次、データボリューム41aに適用することによって、データボリューム41aを復元する(STEP1307)。これにより、指定された時刻情報に対して、ストレージ時刻を基準としたジャーナル時刻情報に従うジャーナルデータを用いてデータが復元されることになる。したがって、上記のスナップショットデータによる復元と組み合わせることによって、データの復元が高速に行われる。
一方、STEP1301において指定された時刻情報がホスト時刻基準である場合、制御部42は、まず、ボリューム管理テーブルのスナップショットボリュームリストを参照して、スナップショットが行われた、ホスト時刻基準のスナップショット時刻情報SS−HTIME(i)を一つ抽出する(図14のSTEP1401)。次に、制御部42は、指定された時刻情報と抽出したスナップショット時刻情報SS−HTIME(i)とを比較して、指定された時刻情報がスナップショット時刻情報SS−HTIME(i)より前であるか否かを判断する(STEP1402)。指定された時刻情報がスナップショット時刻情報SS−HTIME(i)よりも古くない場合(STEP1402のNo)、制御部42は、次のスナップショット時刻情報SS−HTIME(i=i+1)を抽出し(STEP1401)、同様に判断する(STEP1402)。この抽出ステップは、該当するスナップショット時刻情報SS−HTIME(i)が見つかるまで繰り返される。これによって、指定された時刻情報に対して、ホスト時刻を基準にした直近のスナップショット時刻情報SS−HTIMEiが取得されることになる。すべてのスナップショット時刻情報SS−HTIME(i)について比較して見つからなかった場合には、制御部42は、ホスト装置2に対してエラーを返して、終了する。
指定された時刻情報がスナップショット時刻情報SS−HTIME(i)よりも前である場合(STEP1402のYes)、制御部42は、1つ過去に遡ったホスト時刻基準のスナップショット時刻情報SS−HTIME(S=i-1)を抽出して、当該2つのスナップショット時刻情報SS−HTIME(i)とSS−HTIME(S)の間に、他のスナップショット時刻情報SS−TIME(p)が一つ以上あるか否かをさらにチェックする(STEP1403)。ここでいう他のスナップショット時刻情報SS−TIME(p)とは、ストレージ時刻基準で行われたスナップショットの時刻を示す時刻情報である。このようなスナップショット時刻情報SS−TIME(p)は、ストレージ装置4がホスト装置2に依存することなく(つまり、ホスト装置2の要求に基づかないで)スナップショットが行われた場合や、ホスト時刻情報を含まないスナップショット要求に基づいてスナップショットが行われた場合に、スナップショットボリュームリストに格納される。
他のスナップショット時刻情報SS−TIME(p)がない場合(STEP1403のNo)、当該スナップショット時刻情報SS−HTIME(S)に従うスナップショットデータに基づいてデータボリューム41aを復元する(STEP1407)。一方、他のスナップショット時刻情報SS−TIME(p)がある場合、制御部42は、指定されたホスト時刻基準の時刻情報に対応するストレージ時刻基準のスナップショット時刻情報SS−TIME(S')を抽出するため、STEP1404〜1406の処理を行う。
すなわち、他のスナップショット時刻情報SS−TIME(p)が一つ以上ある場合(STEP1403のYes)、制御部42は、ホスト時刻基準のスナップショット時刻情報SS−HTIME(S)とストレージ時刻基準のスナップショット時刻情報SS−TIME(S)との差分時間δTを求める(STEP1404)。つまり、図10に示したコマンド管理ボリュームのスナップショットボリュームリストにおける同一ノード内のリストデータ、スナップショット時刻情報SS−TIMEおよびSS−HTIMEが参照される。
次に、制御部42は、ストレージ時刻基準のスナップショット時刻情報SS−TIME(S)を差分時間δTによりオフセットしたオフセット時刻情報に対応するスナップショット時刻情報SS−TIME(S.offset)を抽出する(STEP1405)。制御部42は、オフセットされたスナップショット時刻情報SS−TIME(S.offset)とストレージ時刻基準のスナップショット時刻情報SS−TIME(p)とを比較して、オフセットされたスナップショット時刻情報SS−TIME(S.offset)がストレージ時刻基準のスナップショット時刻情報SS−TIME(p)よりも後であるか否かを判断する(STEP1406)。制御部42は、スナップショット時刻情報SS−TIME(S.offset)がスナップショット時刻情報SS−TIME(p)よりも後でない場合、次のオフセットされたスナップショット時刻情報SS−TIME(S.offset=S.offset+1)を抽出して(STEP1405)、同様に判断する(STEP1406)。スナップショット時刻情報SS−TIME(S.offset)がスナップショット時刻情報SS−TIME(p)よりも後である場合、制御部42は、現在参照しているスナップショット時刻情報SS−HTIME(S.offset)に従うスナップショットデータに基づいてデータボリューム41aを復元する(STEP1407)。
さらに、制御部42は、ジャーナルボリューム41bのジャーナルヘッダ領域を参照して、ジャーナリングが行われた、ホスト時刻基準のジャーナル時刻情報JH−HTIME(j)を抽出する(STEP1408)。次に、制御部42は、指定された時刻情報と抽出したジャーナル時刻情報JH−HTIME(j)を比較して、指定された時刻情報がジャーナル時刻情報JH−HTIME(j)よりも前であるか否かを判断する(STEP1409)。指定された時刻情報がジャーナル時刻情報JH−HTIMEiよりも古くない場合(STEP1409のNo)、制御部42は、次のジャーナル時刻情報JH−HTIME(j=j+1を抽出し(STEP1408)、同様に、判断する(STEP1409)。一方、指定された時刻情報がジャーナル時刻情報JH−HTIME(j)よりも古い場合(STEP1409のYes)、制御部42は、1つ過去に遡ったホスト時刻を基準にしたジャーナル時刻情報JH−HTIME(J=j-1)を抽出して、当該2つのジャーナル時刻情報JH−HTIME(j)とJH−HTIME(J)の間に、他のジャーナル時刻情報JH−TIME(q)が一つ以上あるか否かをさらにチェックする(STEP1410)。ここでいう他のジャーナル時刻情報とは、ストレージ時刻基準で行われたジャーナリングの時刻を示す時刻情報である。
他のジャーナル時刻情報JH−TIME(q)がない場合(STEP1410のNo)、データボリューム41aに反映するために用いたスナップショット時刻情報SS−TIME以降のジャーナル時刻情報であって、1つ過去に遡ったジャーナル時刻情報JH−HTIME(J)までのジャーナルデータを、順次に、データボリューム41aに適用することによって、データボリューム41aを復元する(STEP1414)。
一方、他のジャーナル時刻情報JH−TIME(q)が一つ以上ある場合、制御部42は、指定されたホスト時刻基準の時刻情報に対応するストレージ時刻基準のジャーナル時刻情報を抽出するため、STEP1410〜1413の処理を行う。
すなわち、他のジャーナル時刻情報JH−TIME(q)が一つ以上ある場合(STEP1410のYes)、制御部42は、ホスト時刻基準の1つ前のジャーナル時刻情報JH−HTIME(J)と、これに対応するストレージ時刻基準のジャーナル時刻情報JH−TIME(J)との差分時間δTを求める(STEP1411)。次に、制御部42は、ストレージ時刻基準のジャーナル時刻情報JH−TIME(J)を差分時間δTによりオフセットしたオフセット時刻情報に対応するジャーナル時刻情報JH−TIME(J.offset)を抽出する(STEP1412)。そして、制御部42は、オフセットされたジャーナル時刻情報SS−TIME(J.offset)とストレージ時刻基準のジャーナル時刻情報JH−TIME(j)とを比較して、オフセットされたジャーナル時刻情報JH−TIME(J.offset)がストレージ時刻基準のジャーナル時刻情報JH−TIME(j)よりも前であるか否かを判断する(STEP1413)。制御部42は、ジャーナル時刻情報SS−TIME(J.offset)がジャーナル時刻情報JH−TIME(j)よりも前でない場合、次のオフセットされたジャーナル時刻情報JH−TIME(J.offset=J.offset+1を抽出して、同様に判断する。ジャーナル時刻情報JH−TIME(J.offset)がジャーナル時刻情報JH−TIME(j)よりも古い場合、制御部42は、データボリューム41aを復元するために用いたスナップショット時刻情報SS−TIME(S)以降のジャーナル時刻情報であって、直近のジャーナル時刻情報JH−HTIME(J.offset)までのジャーナルデータを、順次に、データボリューム41aに適用することによって、データボリューム41aを復元する(STEP1414)。これによって、システム管理者が意図した通りのホスト時刻基準の時刻におけるデータが復元されることになる。
図15は、本発明の一実施形態に係る記憶システムにおけるデータのバックアップおよび復元処理を説明するための図であり、ホスト時刻およびストレージ時刻に基づくタイムシーケンスが示されている。
同図において、ストレージ時刻情報およびホスト時刻情報は、ストレージ装置4内に格納される時刻情報である。上述したように、例えば、スナップショット時刻情報であれば、スナップショットが行われる際にスナップショットボリュームリストに格納され、ジャーナル時刻情報であれば、ジャーナリングが行われる際にジャーナルボリュームのヘッダ領域に格納される。ホスト装置2からホスト時刻情報を含むコマンドが送られてきた場合にのみ、ストレージ装置4はホスト時刻情報を認識できるので、ホスト時刻情報を格納することができる。したがって、ホスト時刻情報を含むコマンドが送られてこなかった場合、ホスト時刻情報はnullとして扱われる。
「通常書き込み」に関わるタイムシーケンスは、通常の書き込み要求コマンドが発行された時刻を示している。同図は、ストレージ時刻基準において、9:50、10:10、10:20、10:45および11:10に書き込み要求コマンドが発行され、これに基づいて書き込みが行われたことを示している。通常の書き込み要求コマンドは、ホスト時刻情報を含んでいないので、ホスト時刻情報はnullとなっている。
「復元ポイント設定」に関わるタイムシーケンスは、復元ポイント設定要求コマンドが発行された時刻を示している。上述したように、復元ポイント設定要求コマンドは、復元管理要求コマンドにおいて復元ポイント設定が指定された場合のコマンドである。復元ポイント設定要求コマンドは、オプションとしてスナップショットの有無を指定することができる。同図では、「スナップショットあり」の場合を黒矢印、「スナップショットなし」の場合を白矢印で示している。
「ジャーナリング」に関わるタイムシーケンスは、ストレージ装置4においてジャーナリングが行われた時刻を示している。ジャーナリングは、通常の書き込み要求コマンドに基づく書き込み処理に付随して行われるものと、復元ポイント設定要求コマンドに基づいて行われるものとがある。すなわち、復元ポイント設定要求コマンドにおいて、「スナップショットなし」が指定された場合、ストレージ装置4においてはジャーナリングのみが行われる。同図では、ストレージ時刻基準において、9:50、10:10、10:20、10:30、10:45分および11:10にジャーナリングが行われたことが示されている。
「スナップショット」に関わるタイムシーケンスは、ストレージ装置4においてスナップショットが行われた時刻を示している。スナップショットは、ホスト装置2依存して行われるものと、ストレージ装置4が主体的に行うものとがある。ホスト装置2に依存したスナップショットは、復元ポイント設定要求コマンドに基づいて行われるものである。同図では、ストレージ時刻基準において、10時00分および11時00分にホスト依存のスナップショットが行われたことが示されている。
以上を前提にして、ホスト装置2上のユーザが、ホスト時刻基準で10時40分のデータを復元しようとする場合、ストレージマネージャのダイアログボックスにおいて10:40のホスト時刻基準の時刻情報を指定する。
ストレージマネージャは、この指示に基づいて、ホスト時刻基準の時刻情報“10:40”を含む復元要求コマンドを生成し、ストレージ装置4に送出する。
ストレージ装置4の制御部42は、復元要求コマンドを受けて、スナップショットボリュームリストを参照し、ホスト時刻基準で、スナップショット時刻情報を古いものから順に検索し、10:40に対して直近のスナップショット時刻情報を抽出する。本例の場合、10:30を示すスナップショット時刻情報が抽出される。
次に、制御部42は、ジャーナルボリュームのジャーナルヘッダ領域を参照し、ホスト時刻基準で、ジャーナル時刻情報を古いものから検索する。しかしながら、本例の場合、ホスト時刻情報を含むジャーナル時刻情報は、11:00を示すジャーナル時刻情報までない。そこで、制御部42は、ホスト時刻情報とストレージ時刻情報とが一対で格納されたリストデータに基づいて、ホスト時刻とストレージ時刻との差分時間δTを求める。したがって、本例では、ホスト時刻がストレージ時刻に対して30分の遅れがあることが認識される。制御部42は、ストレージ時刻基準のストレージ時刻情報に差分時間+30分をオフセットしたジャーナル時刻情報であって、10:40までのジャーナル時刻情報を検索する。したがって、本例では、ホスト時刻基準で10:40(ストレージ時刻基準で10:10)のジャーナル時刻情報が抽出される。
そして、制御部42は、抽出した直近のスナップショット時刻情報に従うスナップショットデータ(すなわち、ホスト時刻基準で10:30のスナップショットデータ)をデータボリューム41aに適用し、その後、抽出したジャーナル時刻情報に従うジャーナルデータ(すなわち、ストレージ時刻基準で10:10のジャーナルデータ)を、スナップショットデータを適用したデータボリューム41aにさらに適用して、最終的なデータボリューム41aを得る。これにより、ホスト時刻基準のデータが復元されることになる。
本実施形態に係る記憶システムによれば、すでに述べたようなまたは以下に述べるような効果ないしは利点を奏する。
すなわち、本実施形態に係る記憶システム1においては、ホスト装置2は、ストレージ装置4に対して所定のアクセスを行う場合には、内部で取得したホスト時刻情報を所定のコマンドに含めてストレージ装置4に送出し、ストレージ装置4は、送られてきたホスト時刻情報を所定の領域に格納しておく。ストレージ装置4は、ホスト装置2からホスト時刻を基準にした復元要求を受けた場合には、格納したホスト時刻情報を利用しながらデータを復元する。したがって、本実施形態によれば、システム管理者は、ホスト時刻を基準にしてデータを復元することができるようになる。
また、本実施形態に係る記憶システム1においては、復元要求に際して、ホスト時刻を基準に復元するのか、またはストレージ時刻を基準に復元するのかが指定される。したがって、本実施形態によれば、システム管理者は、障害の原因や内容に応じた適切な時刻を基準にしてデータを復元することができるようになる。
さらに、本実施形態に係る記憶システム1においては、ホスト時刻を基準に復元要求がされた場合であって、ストレージ装置4内に、対応するホスト時刻情報が格納されていない場合であっても、ホスト時刻とストレージ時刻との時間差を考慮して、可能な限り、復元要求されたホスト時刻に近い時刻で、データを復元することができる。
以上のように、本実施形態によれば、システム管理者は、本来期待した通りのデータの復元を行うことができるようになる。
上記各実施形態は、本発明を説明するための例示であり、本発明をこれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱しない限り、さまざまな形態で実施することができる。例えば、上述した処理はシーケンシャルに説明されているが、特にこれにこだわるものではない。従って、動作に矛盾が生じない限り、処理の順序を入れ替えまたは並行動作するように構成されても良い。
また、本実施形態に係る記憶システムでは、管理プログラムとしてのストレージマネージャがストレージ装置4に対して各種のコマンドを発行するように設計されているが、特にこれに限定されるものではない。例えば、ストレージマネージャの機能の全部または一部をアプリケーションプログラムに組み込むことによって、アプリケーションプログラムがストレージ装置4に対して各種のコマンドを発行するようにしてもよい。
さらに、本実施形態に係る記憶システムでは、バックアップボリュームの一部としてコマンド管理ボリュームが記憶部上に形成されているが、特にこれに限定されるものではない。例えば、コマンド管理ボリュームは、制御部のローカルメモリ上に形成されていてもよい。
本発明は、コンピュータ上で処理されるデータを記憶する記憶装置に幅広く適用することができる。
図1は、本発明の一実施形態に係る記憶システムの概略を示す図である。 図2は、本発明の一実施形態に係る記憶システムのホスト装置におけるプログラムスタック構造の一例を示す図である。 図3は、本発明の一実施形態に係るストレージ装置における制御部のメモリを説明するための図である。 図4は、本発明の一実施形態に係る記憶システムにおけるホスト装置の処理の流れを説明するための図である。 図5は、本発明の一実施形態に係る記憶システムにおける要求コマンドのデータフォーマットの一例を示す図である。 図6は、本発明の一実施形態に係る記憶システムにおける復元ポイント設定条件テーブルの一例を示す図である。 図7は、本発明の一実施形態に係る記憶システムにおけるストレージ装置4の処理の流れを説明するための図である。 図8は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによるコマンド管理ボリュームの制御に関する処理の流れを説明するための図である。 図9は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによるスナップショット処理の流れを説明するための図である。 図10は、発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で管理されるボリューム管理テーブルの一例を説明するための図である。 図11は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによるジャーナリングの処理の流れを説明するための図である。 図12は、本発明の一実施形態に係る記憶システムにおけるストレージ装置上のジャーナルボリュームの構成を説明するための図である。 図13は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによる復元処理の流れを説明するための図である。 図14は、本発明の一実施形態に係る記憶システムにおけるストレージ装置の制御部上で実行される制御プログラムによる復元処理の流れを説明するための図である。 図15は、本発明の一実施形態に係る記憶システムにおけるデータのバックアップおよび復元処理を説明するための図である。
符号の説明
1…記憶システム
2…ホスト装置
21…CPU
22…ローカルメモリ
23…インターフェース部
24…ローカル入出力装置
25…時計機構
3…ネットワークシステム
4…ストレージ装置
41…記憶部
41a…データボリューム
41b…ジャーナルボリューム
41c…スナップショットボリューム
41d…コマンド管理ボリューム
42…制御部
421…CPU
422…ローカルメモリ
423…キャッシュ機構
424…時計機構

Claims (20)

  1. データをバックアップし、ホスト装置からの復元要求に基づいて、バックアップされた前記データの復元を行うストレージ装置において、
    前記ストレージ装置は、
    データボリュームとバックアップボリュームとが形成された記憶部と、
    前記記憶部を制御する制御部と、を備え、
    前記制御部は、前記ホスト装置から送られる書き込み要求に従い、前記書き込み要求に基づく所定のデータを前記データボリュームに記憶する一方、前記ホスト装置から送られるホスト時刻情報を含む復元ポイント設定要求に従い、前記ホスト時刻情報と関連付けられた所定のバックアップデータを前記バックアップボリュームに記憶することを特徴とするストレージ装置。
  2. 前記バックアップボリュームは、ジャーナルボリュームを含み、
    前記制御部は、前記復元ポイント設定要求に含まれるホスト時刻情報と前記ストレージ装置の時刻を基準とするストレージ時刻情報とを関連付けて前記ジャーナルボリュームに記憶することを特徴とする請求項1に記載のストレージ装置。
  3. 前記制御部は、前記復元ポイント設定要求に含まれるホスト時刻情報と前記復元ポイント設定要求に基づくジャーナルデータとを関連付けて前記ジャーナルボリュームに記憶することを特徴とする請求項2に記載のストレージ装置。
  4. 前記バックアップボリュームは、スナップショットボリュームを含み、
    前記制御部は、前記復元ポイント設定要求がスナップショットに関する要求を含む場合に、前記データボリュームに対するスナップショットにより得られるスナップショットデータを前記スナップショットボリュームに記憶することを特徴とする請求項3のいずれかに記載のストレージ装置。
  5. 前記ストレージ装置は、前記スナップショットボリュームを管理するためのスナップショットボリュームテーブルを備え、
    前記制御部は、前記復元ポイント設定要求に含まれるホスト時刻情報を前記スナップショットボリュームテーブルに記憶することを特徴とする請求項4に記載のストレージ装置。
  6. 前記制御部は、前記復元ポイント設定要求に従い、前記ストレージ時刻情報を前記ホスト時刻情報と関連付けて前記スナップショットボリュームテーブルに記憶することを特徴とする請求項5に記載のストレージ装置。
  7. 前記制御部は、前記ホスト装置から送られるストレージ時刻情報が指定された復元要求に基づいて、前記スナップショットボリュームに記憶されたスナップショットデータを特定し、前記特定したスナップショットデータを前記データボリュームに適用するとともに、前記ジャーナルボリュームに記憶されたジャーナルデータを特定し、前記特定したスナップショットデータが適用された前記データボリュームに対して、前記特定したジャーナルデータをさらに適用することによって、データを復元することを特徴とする請求項6に記載のストレージ装置。
  8. 前記制御部は、前記ホスト装置から送られるホスト時刻情報が指定された復元要求に基づいて、前記スナップショットボリュームに記憶されたスナップショットデータを特定し、前記特定したスナップショットデータを前記データボリュームに適用することによって、データを復元することを特徴とする請求項6に記載のストレージ装置。
  9. 前記制御部は、前記ホスト装置から送られるホスト時刻情報が指定された復元要求に基づいて、前記ジャーナルボリュームに記憶されたジャーナルデータを特定し、前記特定したスナップショットデータが適用された前記データボリュームに対して、前記特定したジャーナルデータをさらに適用することによって、データを復元することを特徴とする請求項8に記載のストレージ装置。
  10. 前記制御部は、前記ホスト装置から送られるホスト時刻情報が指定された復元要求に従い、前記スナップショットボリューム管理テーブルに相互に関連付けられて記憶されたストレージ時刻情報およびホスト時刻情報に基づいて差分時間を求め、前記差分時間に基づくオフセット時刻情報に基づいた前記復元要求に含まれるホスト時刻情報に直近するストレージ時刻情報に従うスナップショットデータを特定し、前記特定したスナップショットデータを前記データボリュームに適用することによって、データを復元することを特徴とする請求項7に記載のストレージ装置。
  11. ホスト装置に接続されたストレージ装置におけるデータのバックアップ方法であって、
    前記ホスト装置から送られるアクセス要求を解釈する解釈ステップと、
    該解釈の結果、前記アクセス要求が復元ポイント設定要求である場合に、前記復元ポイント設定要求に含まれるホスト時刻情報と関連付けられた所定のバックアップデータを前記バックアップボリュームに記憶するバックアップステップと、を備えることを特徴とするデータの処理方法。
  12. 前記バックアップステップは、前記復元ポイント設定要求に含まれるホスト時刻情報と前記ストレージ装置の時刻を基準とするストレージ時刻情報とを関連付けて、前記ストレージ装置におけるジャーナルボリュームに記憶するステップを含むことを特徴とする請求項11に記載のデータの処理方法。
  13. 前記バックアップステップは、前記復元ポイント設定要求に含まれるホスト時刻情報と前記復元ポイント設定要求に基づくジャーナルデータとを関連付けて前記ジャーナルボリュームに記憶するステップを含むことを特徴とする請求項12に記載のデータバックアップ方法。
  14. 前記バックアップステップは、前記復元ポイント設定要求がスナップショットに関する要求を含む場合に、前記データボリュームに対するスナップショットにより得られるスナップショットデータを、前記ストレージ装置におけるスナップショットボリュームに記憶するステップを含むことを特徴とする請求項13に記載のデータバックアップ方法。
  15. 前記バックアップステップは、前記復元ポイント設定要求に含まれるホスト時刻情報を、前記スナップショットボリュームテーブルに記憶するステップを含むことを特徴とする請求項14に記載のデータの処理方法。
  16. 前記バックアップステップは、前記復元ポイント設定要求に従い、前記ストレージ時刻情報を前記ホスト時刻情報と関連付けて前記スナップショットボリュームテーブルに記憶することを特徴とする請求項15に記載のデータの処理方法。
  17. 前記解釈ステップによる解釈の結果、前記アクセス要求が復元要求である場合に、前記復元要求に含まれるストレージ時刻情報に基づいて、前記スナップショットボリュームに記憶されたスナップショットデータを特定し、前記特定したスナップショットデータを前記データボリュームに適用するとともに、前記ジャーナルボリュームに記憶されたジャーナルデータを特定し、前記特定したスナップショットデータが適用された前記データボリュームに対して、前記特定したジャーナルデータをさらに適用することによって、データを復元するステップをさらに含むことを特徴とする請求項16に記載のデータの処理方法。
  18. 前記解釈ステップによる解釈の結果、前記アクセス要求が復元要求である場合に、前記復元要求に含まれるホスト時刻情報に基づいて、前記スナップショットボリュームに記憶されたスナップショットデータを特定し、前記特定したスナップショットデータを前記データボリュームに適用することによって、データを復元することを特徴とする請求項16に記載のデータの処理方法。
  19. 前記解釈ステップによる解釈の結果、前記アクセス要求が復元要求である場合に、前記復元要求に含まれるホスト時刻情報に基づいて、前記ジャーナルボリュームに記憶されたジャーナルデータを特定し、前記特定したスナップショットデータが適用された前記データボリュームに対して、前記特定したジャーナルデータをさらに適用することによって、データを復元することを特徴とする請求項18に記載のデータの処理方法。
  20. 前記解釈ステップによる解釈の結果、前記アクセス要求が復元要求である場合に、前記復元要求に含まれるホスト時刻情報に基づいて、前記スナップショットボリューム管理テーブルに相互に関連付けられて記憶されたストレージ時刻情報およびホスト時刻情報に基づいて差分時間を求め、前記差分時間に基づくオフセット時刻情報に基づいた前記復元要求に含まれるホスト時刻情報に直近するストレージ時刻情報に従うスナップショットデータを特定し、前記特定したスナップショットデータを前記データボリュームに適用することによって、データを復元することを特徴とする請求項16に記載のデータの処理方法。

JP2006154935A 2006-06-02 2006-06-02 記憶システム並びにこれを用いたデータの処理方法 Withdrawn JP2007323507A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006154935A JP2007323507A (ja) 2006-06-02 2006-06-02 記憶システム並びにこれを用いたデータの処理方法
US11/493,657 US20070294568A1 (en) 2006-06-02 2006-07-27 Storage system and method of managing data using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006154935A JP2007323507A (ja) 2006-06-02 2006-06-02 記憶システム並びにこれを用いたデータの処理方法

Publications (1)

Publication Number Publication Date
JP2007323507A true JP2007323507A (ja) 2007-12-13

Family

ID=38856245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006154935A Withdrawn JP2007323507A (ja) 2006-06-02 2006-06-02 記憶システム並びにこれを用いたデータの処理方法

Country Status (2)

Country Link
US (1) US20070294568A1 (ja)
JP (1) JP2007323507A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015053092A (ja) * 2013-09-06 2015-03-19 株式会社東芝 データストレージ装置およびデータ消去方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685378B2 (en) * 2007-02-15 2010-03-23 Hitachi, Ltd. Methods and apparatus for adjusting a journal area for continuous data protection
US8352784B2 (en) * 2007-12-17 2013-01-08 Microsoft Corporation Device settings restore point
US8028194B2 (en) * 2008-07-25 2011-09-27 Inmage Systems, Inc Sequencing technique to account for a clock error in a backup system
US9256599B1 (en) * 2008-12-23 2016-02-09 Symantec Corporation Programmatically receiving and storing transaction information in support of a database recovery engine
US8924700B1 (en) * 2011-05-06 2014-12-30 Symantec Corporation Techniques for booting from an encrypted virtual hard disk
US20140201149A1 (en) * 2013-01-16 2014-07-17 Ca, Inc. Consistent bookmark
US9280296B2 (en) * 2013-05-23 2016-03-08 Globalfoundries Inc. Recovery from failure of primary storage volumes by using mirrored data maintained with host timestamps
CA2855772C (en) * 2013-07-04 2021-06-15 Acpana Business Systems Inc. System and method of performing continuous backup of a data file on a computing device
WO2015010327A1 (zh) 2013-07-26 2015-01-29 华为技术有限公司 数据发送方法、数据接收方法和存储设备
US11169958B2 (en) 2014-02-07 2021-11-09 International Business Machines Corporation Using a repository having a full copy of source data and point-in-time information from point-in-time copies of the source data to restore the source data at different points-in-time
US11194667B2 (en) * 2014-02-07 2021-12-07 International Business Machines Corporation Creating a restore copy from a copy of a full copy of source data in a repository that is at a different point-in-time than a restore point-in-time of a restore request
US10599530B2 (en) * 2015-11-04 2020-03-24 Hitachi, Ltd. Method and apparatus for recovering in-memory data processing system
CN110851302B (zh) * 2019-10-31 2021-06-18 上海爱数信息技术股份有限公司 一种数据库信息的备份方法及恢复方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US7363444B2 (en) * 2005-01-10 2008-04-22 Hewlett-Packard Development Company, L.P. Method for taking snapshots of data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015053092A (ja) * 2013-09-06 2015-03-19 株式会社東芝 データストレージ装置およびデータ消去方法

Also Published As

Publication number Publication date
US20070294568A1 (en) 2007-12-20

Similar Documents

Publication Publication Date Title
JP2007323507A (ja) 記憶システム並びにこれを用いたデータの処理方法
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
EP2731013B1 (en) Backing up method, device, and system for virtual machine
JP4809040B2 (ja) ストレージ装置及びスナップショットのリストア方法
US9317373B2 (en) Snapshots in a hybrid storage device comprising a magnetic disk and a solid state disk
JP4839091B2 (ja) データベース回復方法及び計算機システム
EP2879040B1 (en) Data storage method, data storage apparatus, and storage device
JP5107462B2 (ja) タイムスナップショットにおけるポイントのランク付及び優先順位付システム
US10860447B2 (en) Database cluster architecture based on dual port solid state disk
JP2005100373A (ja) 複数世代の回復スナップショットのバックアップと修復のマッピング装置
JP2007140746A (ja) 計算機システム及び管理計算機並びにリカバリ管理方法
JP2007207063A (ja) データベースを有するストレージシステムの記憶制御方法
US8555009B1 (en) Method and apparatus for enabling and managing application input/output activity while restoring a data store
JP2008217209A (ja) 差分スナップショット管理方法、計算機システム及びnas計算機
JP2006195712A (ja) ストレージ制御装置、論理ボリューム管理方法及びストレージ装置
JP2008065392A (ja) ストレージ装置及びこれを用いたデータのバックアップ方法
JP2007183763A (ja) システム、サーバ装置及びスナップショットの形式変換方法
JP2012507788A (ja) ストレージ・エリア・ネットワークを使用してコンピュータシステムを復旧するための方法およびシステム
JP2009064224A (ja) ウィルススキャン方法及びその方法を用いた計算機システム
US20240231651A1 (en) Maintaining Control Information for Storage Devices
CN108604201B (zh) 一种快照回滚方法、装置、存储控制器和系统
US20170269847A1 (en) Method and Device for Differential Data Backup
JP2008033527A (ja) ストレージ装置、ディスク装置及びデータ復元方法
US7587466B2 (en) Method and computer system for information notification
JPWO2006085357A1 (ja) ディスクアレイ装置の記憶制御装置および冗長性復旧方法

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090512

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110708