JP2007317186A - バックアップデータおよびジャーナルを管理するための方法および装置 - Google Patents

バックアップデータおよびジャーナルを管理するための方法および装置 Download PDF

Info

Publication number
JP2007317186A
JP2007317186A JP2007129231A JP2007129231A JP2007317186A JP 2007317186 A JP2007317186 A JP 2007317186A JP 2007129231 A JP2007129231 A JP 2007129231A JP 2007129231 A JP2007129231 A JP 2007129231A JP 2007317186 A JP2007317186 A JP 2007317186A
Authority
JP
Japan
Prior art keywords
backup
data
journal
volume
storage system
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
Application number
JP2007129231A
Other languages
English (en)
Inventor
Junichi Hara
純一 原
Akira Yamamoto
山本  彰
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
Priority claimed from US11/439,610 external-priority patent/US20070276884A1/en
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2007317186A publication Critical patent/JP2007317186A/ja
Pending 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
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】バックアップストレージシステムの中に格納されたスナップショットおよび関連するジャーナルエントリのバックアップを包括的に管理する。
【解決手段】システムは、ホストと、ストレージシステムと、バックアップストレージシステムとを含む。ホストによって発行された命令に応答して、ストレージシステムは、指定された時点における、または指定された期間内のデータのイメージを復元するのに必要とされるスナップショットおよびジャーナルエントリを選択し、バックアップストレージシステムにそのスナップショットおよびジャーナルエントリのバックアップをとる。ストレージシステムは、そのバックアップを管理して、後の時点で元のデータが復元されることが可能であるようにする。
【選択図】図1

Description

関連出願の相互参照
本願明細書は、参照により開示の全体が本願明細書に組み込まれている、2006年5月23日に出願した米国特許出願第11/439610号の一部継続出願である。
また、本願明細書は、参照により開示の全体が本願明細書に組み込まれている、本願明細書と同一の日付に出願した、「System and Method for Migration of CDP Volumes Between Storage Subsystems」(整理番号CA1530)という名称の、本願明細書と所有者が共通である同時係属の米国特許出願第 号にも関連する。
本発明は、コンピュータストレージシステムに関し、詳細には、データのバックアップおよび回復に関する。
従来、様々な方法が、データストレージボリュームの中のデータが失われるのを防止するのに使用されてきた。通常の従来の方法は、定期的に(例えば、1日に1回)、バックアップ媒体(例えば、磁気テープ)にデータのバックアップを行うことである。データが、復元される必要がある場合、バックアップ媒体の中に保存されたデータが、読み取られて、新たなボリュームに書き込まれる。しかし、以上の方法は、バックアップがとられた時点におけるデータのイメージを復元することだけしかできない。したがって、復元されたデータも壊れていた場合、前の期間、または次の期間にとられたバックアップデータ全体が、復元される必要がある。
最近、ジャーナリング能力を有するストレージシステムが、開発されている。ジャーナリングは、データが失われるのを防止する方法の1つである。ジャーナリング法では、ある時点におけるストレージボリュームの中のすべてのデータのイメージ(通常、スナップショットと呼ばれる)が、作成され、格納される。スナップショットが作成され、格納された後、スナップショットの時点より後にボリュームに行われた変更の履歴(つまり、ジャーナル)が、保持される。データを復元することは、ジャーナルをスナップショットに適用することによって達せられる。したがって、データは、様々な時点におけるイメージに復元されることが可能である。参照により本願明細書に組み込まれている米国特許出願公開第2004/0268067A1号、「Method and Apparatus for Backup and Recovery System Using Storage Based Journaling」が、そのようなストレージシステムを開示する。開示されるストレージシステムは、ボリュームの定期的なスナップショットをとり、スナップショットがとられた後のボリュームに対する変更のジャーナルを保持する。スナップショットおよびジャーナルエントリは、データボリュームとは別に格納される。そのようなストレージシステムは、従来のバックアップ方法に取って代わることができるように思われるが、依然、ストレージシステム障害が起きた場合にバックアップデータを保全するために、バックアップデータコピーをバックアップ媒体に移す必要性がある。
米国特許出願第11/439610号、「Method and Apparatus of Managing Backup Data and Journal」が、ある時点、またはある期間内のスナップショットおよびジャーナルエントリのバックアップをとって、その時点、またはその期間内のデータが、そのバックアップデータから復元されることが可能であるようにするための方法を開示する。前述の特許出願は、バックアップ媒体(例えば、磁気テープ)の中に格納されたバックアップを管理するための方法をさらに開示する。しかし、バックアップ媒体の代わりに、従来のストレージシステムと同一のインタフェース(Fibre Channel)を有するストレージシステムが、最近、バックアップデータを格納するのに、しばしば、使用される。それらのストレージシステムは、通常、SATAハードドライブまたは磁気テープなどの安価な媒体を含み、媒体の費用を抑えている。本発明では、それらのストレージシステムを、「バックアップストレージシステム」と呼び、特に、磁気テープを含むバックアップストレージシステムは、VDL(仮想ディスクライブラリ)と呼ばれる。バックアップストレージシステムでは、データ記憶領域は、ボリュームごとに管理され、ボリュームの中のデータには、従来のストレージシステム(ランダムにアクセスされることが可能な)と同じようにアクセスが行われることが可能である。
したがって、必要とされているのは、バックアップストレージシステムの中に格納されたスナップショット、および関連するジャーナルエントリのバックアップをとり、それらのバックアップを包括的に管理する方法を提供する技術である。
本発明の方法論は、データのバックアップおよび回復のための従来の技術に関連する以上、およびその他の問題の1つまたは複数を未然に防ぐ方法およびシステムを対象とする。
本発明の方法論の一態様によれば、ネットワーク相互接続を介してホストに結合されたストレージシステムを含むコンピュータ化されたシステムが、提供される。ホストは、バックアップコントローラモジュールを含む。ストレージシステムは、ホストからの少なくとも1つの書き込みコマンドに応答して、ホストデータを格納するように動作可能な少なくとも1つのデータボリュームと、その少なくとも1つのデータボリュームの中に格納されたホストデータの、ある時点にとられた少なくとも1つのスナップショットイメージを格納するように動作可能な少なくとも1つのスナップショットボリュームと、少なくとも1つのジャーナルレコードを格納するように動作可能な少なくとも1つのジャーナルボリュームとを含む。前述のジャーナルレコードは、その少なくとも1つのスナップショットがとられた時点以来の、データボリュームの中のホストデータの更新に関する情報を含む。ストレージシステムは、コントローラをさらに含む。本発明のコンピュータ化されたシステムは、バックアップボリュームを組み込んだバックアップストレージシステムをさらに含み、バックアップボリュームは、ストレージシステムに結合されて、ストレージシステムからバックアップデータを受け取り、コントローラから命令を受け取ると、そのバックアップデータをバックアップボリュームに書き込むように構成される。バックアップデータは、前述の少なくとも1つスナップショットと、少なくとも1つのジャーナルレコードとを含む。
本発明の方法論の別の態様によれば、第1のストレージシステムを含むコンピュータ化されたシステムが、提供される。ストレージシステムは、ネットワーク相互接続を介してホストに結合され、ホストからの少なくとも1つの書き込みコマンドに応答して、ホストデータを格納するように動作可能な少なくとも1つのデータボリュームと、その少なくとも1つのデータボリュームの中に格納されたホストデータの少なくとも1つのスナップショットイメージを格納するように動作可能な少なくとも1つのスナップショットボリュームと、少なくとも1つのジャーナルレコードを格納するように動作可能な少なくとも1つのジャーナルボリュームとを含む。スナップショットイメージは、ある時点でとられる。ジャーナルレコードは、その少なくとも1つのスナップショットがとられた時点以来の、データボリュームの中のホストデータの更新に関する情報を含む。ホストは、バックアップコントローラモジュールを含む。本発明のコンピュータ化されたシステムは、バックアップ管理ホストと、バックアップボリュームを含むバックアップストレージシステムとをさらに含む。バックアップストレージシステムは、第1のストレージシステム、および第2のストレージシステムに動作上、結合され、ストレージシステムからバックアップデータを受け取り、バックアップ管理ホストから命令を受け取ると、そのバックアップデータをバックアップボリュームに書き込み、バックアップボリュームからのバックアップデータの少なくとも一部分を第2のストレージシステムに復元するように動作可能である。バックアップデータは、前述の少なくとも1つのスナップショットと、少なくとも1つのジャーナルレコードとを含む。
本発明のさらに別の態様によれば、コンピュータによって実施される方法、および前述の方法を実施するコンピュータプログラムを具現化するコンピュータ可読媒体が、提供される。本発明の方法によれば、ホストからの書き込みコマンドは、ストレージシステムにおいて受け取られ、その書き込みコマンドに関連するホストデータが、データボリュームに書き込まれる。データボリュームの中に格納されたホストデータの少なくとも1つのスナップショットイメージがとられ、そのスナップショットがとられた時点以来の、データボリュームの中のホストデータの更新に関する情報を含む少なくとも1つのジャーナルレコードが、格納される。時刻を指定するバックアップ命令が、ホストから受信されると、その指定された時刻におけるデータボリュームの中のデータを回復するのに必要な、少なくとも1つのスナップショットイメージ、および少なくとも1つのジャーナルレコードが、選択されて、バックアップボリュームに書き込まれる。
本発明の方法論のさらに別の態様によれば、コンピュータによって実施される方法、および前述の方法を実施するコンピュータプログラムを具現化するコンピュータ可読媒体が、提供される。本発明の方法によれば、バックアップ目標が、バックアップ管理ホストにおいて指定される。前述のバックアップ目標は、ジャーナルグループ情報、バックアップボリューム情報、および時刻情報によって指定される。その後、スナップショットおよびジャーナルエントリが、ストレージシステムにおいて選択されて、時刻情報によって識別されたデータの回復、ならびに選択されたスナップショットおよびジャーナルエントリのバックアップが、指定されたバックアップボリュームに実行されることを確実にする。前述の方法は、バックアップ管理ホストに、最高の使用中のバックアップボリュームアドレス、およびジャーナルエントリのフォーマットを戻すこと、ならびに戻された最高の使用中のバックアップボリュームアドレス、およびジャーナルエントリのフォーマットをバックアップ管理ホストにおいて格納することをさらに含む。
本発明に関連するさらなる態様は、一部は、以下の説明で陳述され、一部は、その説明から明白となり、あるいは本発明の実施から知ることができる。本発明の諸態様は、以下の詳細な説明、および添付の特許請求の範囲において特に指摘される様々な要素および態様の諸要素および組み合わせによって実現され、得られることが可能である。
以上、および以下の説明は、単に例示および説明のためであり、主張される発明、または発明の応用をいかなる形でも限定することを意図するものではないことを理解されたい。
本願明細書に組み込まれ、その一部を成す添付の図面は、本発明の諸実施形態を例示し、説明とともに、本発明の技術の諸原理を説明し、例示する役割をする。
以下の詳細な説明では、同一の機能要素が同一の符号で示されている添付の図面を参照する。前述の添付の図面は、例として、限定としてではなく、本発明の諸原理と合致する特定の実施形態およびインプリメンテーションを示す。それらのインプリメンテーションは、当業者が、本発明を実施できるようにするだけ十分に詳細に説明され、他のインプリメンテーションが利用されてもよいこと、および本発明の趣旨および範囲を逸脱することなく、様々な要素の構造上の変更および/または代替が行われてもよいことを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されてはならない。さらに、説明される本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェアの形態で実施されても、専用のハードウェアの形態で実施されても、あるいはソフトウェアとハードウェアの組み合わせで実施されてもよい。
第1の実施形態
図1は、本発明の概念によるバックアップ回復システムの例示的な実施形態の高レベルの一般化されたブロック図を提供する。ストレージシステム100がアクティブにされると、プロダクションデータボリューム204のスナップショットが、とられる。この文脈における「スナップショット」という用語は、所与の時点におけるデータボリュームのデータイメージを慣例的に指す。システム要件およびインプリメンテーションとともに、その他の要因にも応じて、スナップショットは、データボリューム全体のものであることも、データボリュームの一部、またはいくつかの部分のものであることも可能である。ストレージシステム100の通常の動作の間に、ホスト140からデータボリューム204に書き込み動作が発行されるごとに、ジャーナルエントリが、行われる。以下に説明するとおり、適切なスナップショットに一連のジャーナルエントリを適用することにより、任意の時点に関して、将来、データが回復されることが可能である。さらに、ストレージシステム100は、ホスト140からの要求に応答して、磁気テープライブラリシステム120内の磁気テープ126にスナップショットおよびジャーナルエントリのバックアップをとるように構成される。
システム構成
図2は、本発明の方法が実施されることが可能なシステムの例示的な構成を示す。図2に示されるとおり、ホスト140が、SAN150を介してストレージシステム100に接続される。SAN150は、スイッチとケーブルとから成り、ホスト140とストレージシステム100の間で、FC−SW(Fibre Channel Switched Fabric)標準に準拠する通信を確立することができるようになっている。
ホスト140は、例えば、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータなどに基づいて実施されることが可能である。ホスト140は、CPU141と、メモリ142と、FCアダプタ143とを含む。ホスト140は、FC(ファイバチャネル)アダプタ143を介してストレージシステム100に接続される。本発明の概念を実現するプログラムのいくつかが、CPU141を使用してホスト140によって実行される。
ストレージシステム100は、コントローラ101と、ディスクハウジング102とを含むことが可能である。コントローラ101は、CPU103と、メモリ104と、キャッシュメモリ106と、チャネル制御部108と、データコントローラ107と、ディスク制御部110と、不揮発性メモリ105とを含む。ディスクハウジング102は、複数のハードディスクドライブ112と、スイッチ111とを含む。図19に示されるとおり、各ハードディスクドライブ112は、当業者には周知のFC−SW標準に準拠する通信機能を提供するFCアダプタ1505を使用して実施されるファイバチャネルインタフェースを有する。ディスクハウジング102内のハードディスクドライブ112は、ディスク制御部110と通信を確立することができるように、ケーブル160およびスイッチ111を介してディスク制御部110に接続される。やはり図19に示されるとおり、各ハードディスクドライブ112は、ディスク制御部110からのデータ入力/出力要求を処理するCPU1500およびメモリ1501とともに、様々な管理情報および管理テーブルを格納する不揮発性メモリ1502も有する。最後に、各ディスクドライブ112は、データを物理的に格納する磁気媒体を含む、物理ディスク1504を含む。以上の構成要素は、内部バス1503で互いに接続される。ディスク制御部110は、CPU103からの命令に従ってハードディスクドライブ112とデータを交換するためのインタフェースである。ディスク制御部110は、当業者には周知のFC−SW(Fibre Channel Switched Fabric)標準に準拠して、ハードディスクドライブ112にデータ入力/出力要求を伝送するように構成される。前述の入力/出力要求は、ハードディスクドライブ112を制御する。CPU103は、ストレージシステム100の全体的な機能を制御する。その目的で、CPU103は、メモリ104の中に格納されているマイクロプログラムを実行して、チャネル制御部108、ディスク制御部110、データコントローラ107、およびその他のシステム構成要素を制御するようにする。キャッシュメモリ106は、各チャネル制御部108とディスク制御部110の間で交換されるデータを一時的に格納する役割をする。データコントローラ107は、CPU103の制御下で、各チャネル制御部108とキャッシュメモリ106の間、またはキャッシュメモリ106とディスク制御部110の間におけるデータ転送を実行する。不揮発性メモリ105は、様々な管理情報および管理テーブルを格納する役割をする。コントローラ101は、いわゆるRAID(Redundant Arrays of Inexpensive Disks)技術による特定のRAIDレベル(例えば、0、1、または5)に従ってハードディスクドライブ112を制御する。複数のハードディスクドライブ112から構築されたRAIDシステムは、1つのディスクグループ(以降、RAIDグループと呼ぶ)として管理される。ホスト140からアクセス可能な別々のデータストレージユニットの役割をする論理ボリュームが、各RAIDグループ内に形成される。LUN(論理ユニット番号)と呼ばれる識別子が、各論理ボリュームに割り当てられて、そのような論理ボリュームが、入力/出力操作の際にアドレス指定されることが可能であるようになる。RAID構成情報は、メモリ104の中に格納され、CPU103が、データREAD命令またはデータWRITE命令を実行する際に、CPU103によって使用される。さらに、説明される実施形態では、コントローラ101は、書き込み動作のジャーナリングとデータボリューム204のスナップショットのコーディネータの役割をするように構成される。ディスク制御部110は、当業者には周知のFC−SW標準に準拠して、ケーブル113およびスイッチ111を介して、複数のハードディスクドライブ112に接続される。ファイバチャネルハードディスクドライブ112は、複数のケーブル160によってスイッチ111に接続される。本発明の概念を実現するプログラムのいくつかが、CPU103を使用してストレージシステム100によって実行される。
やはり図2に示されるとおり、ストレージシステム100が、SAN(ストレージエリアネットワーク)150を介して磁気テープライブラリシステム120に接続される。磁気テープライブラリシステム120は、バックアップデータを格納するためのデータストレージユニットライブラリシステムの一例に過ぎない。当業者には認められるように、他の適切なストレージシステムを使用して、データのバックアップコピーを格納することもでき、本発明は、いずれの特定のバックアップストレージシステムにも限定されない。
磁気テープライブラリシステム120は、光ディスクとともに、バックアップデータストレージユニットの例である、磁気テープ126に、また磁気テープ126から、高位レベルストレージシステム(第1の実施形態では、高位レベルシステムは、ストレージシステム100である)によって使用される情報を書き込むため、また読み取るための読み取り/書き込み装置125を含む。ストレージライブラリシステム120は、磁気テープ126を保持する、ラック、ホルダ、またはシェルフ127も含むことが可能である。ハンドラ128および129が、レール130上を移動して、読み取り/書き込み装置125とシェルフ127の間でテープを搬送する。コントローラ121が、読み取り/書き込み装置125、ならびにハンドラ128および129の動作を、前述の高位レベルストレージシステムからのコマンドまたは要求に応じて、制御する。コントローラ121は、CPU122と、メモリ123とを含むことが可能である。
機能図
図3は、本発明の概念の第1の実施形態によるストレージシステムの例示的な機能図を示す。図3に示されるとおり、ホスト140が、バックアップコントローラ210を含み、コントローラ210は、ホスト140のユーザ(または管理者)から受け取られた入力に応じて、ある時点、またはある期間を指定するバックアップ要求をストレージシステム100に送信する。
ストレージシステム100の構成要素は、ジャーナルマネージャ200と、ジャーナル管理テーブル202と、バックアップマネージャ201と、バックアップ管理テーブル203とを含む。ジャーナルマネージャ200は、ストレージボリュームスナップショットをとり、ジャーナル管理テーブル202を使用してジャーナルエントリを保つ。バックアップマネージャ201は、以下に詳細に説明するとおり、スナップショットとジャーナルエントリのセットのバックアップを、磁気テープライブラリシステム120内の磁気テープ126上に作成する。
スナップショットおよびジャーナルエントリ
データボリューム204は、ジャーナルグループ205に編成され、ジャーナルグループ205は、ホスト140からデータボリューム204への書き込み動作のジャーナリングが保証される、データボリューム204の最小単位である。関連するジャーナルレコードは、ホスト140からデータボリューム204への書き込み動作の適切な順序を反映する。本発明のストレージシステムのジャーナリング機能によって生成されるジャーナルデータは、1つまたは複数のジャーナルボリューム208の中に格納されることが可能である。
ストレージシステム100は、ジャーナルグループ205を含むデータボリューム204のスナップショット207を作成する。例えば、スナップショット207は、そのスナップショットがとられた時点におけるジャーナルグループ205の中のデータボリューム204のコンテンツを反映する。当業者には周知である、スナップショットイメージを作成するためのいくつかの方法が、存在する。スナップショットデータを含む1つまたは複数のスナップショットボリューム206が、ストレージシステム100内で提供される。生成されたスナップショットは、1つまたは複数のスナップショットボリューム206の中に格納されることが可能である。さらに、ジャーナルグループ205、スナップショット207、およびジャーナルボリューム208と関連する情報を格納するジャーナル管理テーブル202が、提供される。
図4は、ジャーナルの例示的なインプリメンテーションにおいて使用される例示的な情報を示す。ジャーナルは、ストレージシステム100によってホスト140から受信された書き込み要求に応答して、生成される。ジャーナルは、ジャーナルヘッダ309と、ジャーナルデータ310とを含む。ジャーナルヘッダ309は、ジャーナルヘッダに関連付けられた、対応するジャーナルデータ310についての情報を含む。ジャーナルデータ310は、書き込み動作の対象であるデータ(書き込みデータ)を含む。このタイプのジャーナルは、「AFTERジャーナル」とも呼ばれる。
図4に示されるとおり、ジャーナルヘッダ309は、オフセット番号(JNL_OFS)320と、アドレス(JNL_ADR)303と、データ長(JNL_LEN)304と、書き込み時刻(JNL_TIME)305と、シーケンス番号(JNL_SEQ)306と、ジャーナルボリューム識別子(JNL_JVOL)307と、ジャーナルデータアドレス(JNL_JADR)308とを含む。
オフセット番号JNL_OFS302により、ジャーナルグループ205の中の特定のデータボリューム204が識別される。データボリュームには、第0番のデータボリュームから始まり、第1番のデータボリューム、第2番のデータボリュームといった具合に番号が付けられる。オフセット番号は、0、1、2などであることが可能である。JNL_OFS302により、書き込み動作の対象であったのが、ジャーナルグループ205の中のデータボリューム204であるかが識別される。オフセット番号は、図5のDVOL_OFFS420に対応し、書き込み動作に応答してジャーナルエントリが行われると、決定される。
JNL_ADR303により、データが書き込まれるべきデータボリューム204における開始アドレスが識別される。例えば、アドレスは、ブロック番号(LBA、論理ブロックアドレス)として表されることが可能である。
JNL_LEN304は、書き込みデータのデータ長を表す。通常、JNL_LEN304は、ブロック数として表される。
JNL_TIME305は、書き込み要求がストレージシステム100に到着した時刻を表す。書き込み時刻は、暦日、時、分、秒、およびミリ秒さえ含むことが可能である。この時刻は、コントローラ101またはホスト140によって与えられることが可能である。
JNL_SEQ306は、各書き込み要求に割り当てられる番号である。所与のジャーナルグループ205内のすべてのシーケンス番号は、固有である。シーケンス番号は、ジャーナルエントリが作成された際に、ジャーナルエントリに割り当てられる。
JNL_JVOL307により、ジャーナルデータ310に関連するジャーナルボリューム208が識別される。この識別子は、ジャーナルデータ310を含むジャーナルボリュームを示す。ジャーナルデータ310は、ジャーナルヘッダ309を含むジャーナルボリュームとは異なるジャーナルボリュームの中に格納されている可能性があることに留意されたい。
JNL_JADR308は、ジャーナルデータ310を含む、関連するジャーナルボリューム208の中のジャーナルデータ310の開始アドレスを含む。
図4は、ジャーナルボリューム208が、2つのデータ領域、すなわち、ジャーナルヘッダ領域300およびジャーナルデータ領域311を含むことを示す。ジャーナルヘッダ領域300は、ジャーナルヘッダ309だけを含み、ジャーナルデータ領域311は、ジャーナルデータ310だけを含む。ジャーナルヘッダ309は、固定サイズのデータ構造である。ジャーナルヘッダ309は、ジャーナルヘッダエリア300の先頭から、順次に割り当てられる。この順次の編成は、ジャーナルエントリの時間的な順序に対応する。後述するとおり、「最も古い」ジャーナルエントリである、リストの中の最初のジャーナルエントリを指し示すデータが、提供される。通常、所与のシーケンス番号(シーケンス番号フィールド、JNL_SEQ306の中に格納された)、または所与の書き込み時刻(時刻フィールド、JNL_TIME305の中に格納された)に関するジャーナルヘッダ309を探し出すことが必要である。
ジャーナルヘッダ309およびジャーナルデータ310は、時間的な順序で、ジャーナルボリューム208のそれぞれの領域の中に格納される。このため、ジャーナルヘッダ309およびジャーナルデータ310が、ジャーナルボリューム208の中に格納される順序は、割り当てられたシーケンス番号と同一である。ジャーナル情報309、310は、それぞれの領域300、311の範囲内でラップする。
ジャーナル管理テーブル
図5は、ジャーナル管理テーブル202の詳細を示す。ジャーナルヘッダ領域300およびジャーナルデータ領域311を管理するため、各領域に関するポインタが、必要とされる。前述したとおり、ジャーナル管理テーブルは、ジャーナルグループ205の構成情報、およびジャーナルグループの間の関係、関連するジャーナルボリューム208、およびスナップショットイメージ207を保持する。
図5に示されるジャーナル管理テーブル202は、例示的な管理テーブル、およびテーブルのコンテンツを示す。ジャーナル管理テーブル202は、ジャーナルグループID(GRID)400と、ジャーナルグループ名(GRNAME)401と、ジャーナル属性(GRATTR)402と、ジャーナルステータス(GRSTS)403と、シーケンス番号(SEQ)404と、データボリュームの数(NUM_DVOL)405と、データボリュームのリスト(DVOL_LIST)406と、ジャーナルボリュームの数(NUM_JVOL)407と、JI_HEAD_VOL408と、JI_HEAD_ADR409と、JO_HEAD_VOL410と、JO_HEAD_ADR411と、JI_DATA_VOL412と、JI_DATA_ADR413と、JO_DATA_VOL414と、JO_DATA_ADR415と、ジャーナルボリュームのリスト(JVOL_LIST)416と、スナップショットイメージのリスト(SS_LIST)417とを格納する。
GRID400は、ストレージシステム100における特定のジャーナルグループ205を示す。このIDは、ストレージシステム100内のジャーナルマネージャ200によって、ストレージシステム100のユーザまたは管理者が、その特定のジャーナルグループ205を定義した際に、割り当てられる。
GRNAME401は、人間が認識できる識別子でジャーナルグループ205を識別する。この名前は、ストレージシステム100のユーザまたは管理者によって入力され、ユーザまたは管理者が、その特定のジャーナルグループ205を定義すると、ジャーナルマネージャ200によってフィールドの中に保存される。
GRATTR402は、ジャーナルグループ205に関連する。GRATTR402は、2つの属性、すなわち、MASTERおよびRESTOREを示すことが可能である。MASTER属性は、ジャーナルグループ205が、ジャーナリングされていることを示す。RESTORE属性は、ジャーナルグループが、ジャーナルから復元されていることを示す。
GRSTS403は、ジャーナルグループ205に関連する。GRSTS403は、2つのステータス、すなわち、ACTIVEおよびINACTIVEを示すことが可能である。
SEQ404は、ジャーナルヘッダ309の中で使用されるシーケンス番号のソースの役割をするカウンタである。新たなジャーナルを作成する際、SEQフィールド404が、読み取られて、その新たなジャーナルに割り当てられる。次に、SEQ404は、増分されて、ジャーナル管理テーブル202に再び書き込まれる。
NUM_DVOL405は、所与のジャーナルグループ205の中に含まれるデータボリューム204の数を示す。
DVOL_LIST406は、ジャーナルグループ205の中のデータボリューム204をリストアップする。特定のインプリメンテーションでは、DVOL_LIST406は、図5に見られるデータボリューム情報を保持するデータ構造の最初のエントリに対するポインタである。各データボリューム情報は、オフセット番号(DVOL_OFFS)420を含む。例えば、ジャーナルグループ205が、3つのデータボリューム204を含む場合、オフセット値は、0、1、および2であることが可能である。オフセット値は、ストレージシステム100のユーザまたは管理者によってデータボリューム204が、ジャーナルグループ205に追加されると、ジャーナルマネージャ200によって各データボリューム204に割り当てられる。データボリューム識別子(DVOL_ID)421により、ストレージシステム100全体の中でデータボリュームが一意に識別される。また、ストレージシステム100のユーザまたは管理者が、データボリューム204を追加する場合も、ユーザまたは管理者は、データボリューム識別子を使用して、そのデータボリューム204を指定する。ポインタ(DVOL_NEXT)422が、ジャーナルグループ205の中の次のデータボリューム204に関する情報を保持するデータ構造をポイントし、さもなければ、ポインタ(DVOL_NEXT)422は、NULL値である。
NUM_JVOL407は、ジャーナルグループ205に関連するジャーナルデータヘッダ309およびジャーナルデータ310を包含するのに使用されるジャーナルボリューム208の数を示す。
JI_HEAD_VOL408により、次の新たなジャーナルヘッダ309を格納するジャーナルヘッダ領域300を含むジャーナルボリューム208が識別される。
JI_HEAD_ADR409により、次のジャーナルヘッダ309が格納されるジャーナルボリューム208上のロケーションのアドレスが識別される。
JO_HEAD_VOL410により、最も古いジャーナルヘッダ309を含むジャーナルヘッダ領域300を格納するジャーナルボリューム208が識別される。
JO_HEAD_ADR411により、最も古いジャーナルを含むジャーナルヘッダ領域300内のジャーナルヘッダ309のロケーションのアドレスが識別される。
JI_DATA_VOL412により、次のジャーナルデータ310が格納されるジャーナルデータ領域311が識別される。
JI_DATA_ADR413により、次のジャーナルデータ310が格納されるジャーナルデータ領域311の中の特定のアドレスが識別される。
JO_DATA_VOL414により、最も古いジャーナルのデータを含むジャーナルデータ領域311を格納するジャーナルボリューム208が識別される。
JO_DATA_ADR415により、ジャーナルデータ領域311内の最も古いジャーナルデータ310のロケーションのアドレスが識別される。
JVOL_LIST416は、特定のジャーナルグループ205に関連するジャーナルボリューム208のリストを含む。特定のインプリメンテーションでは、JVOL_LIST416は、ジャーナルボリューム208に関する情報のデータ構造に対するポインタである。図5に示されるとおり、各データ構造は、所与のジャーナルグループ205に関連する特定のジャーナルボリューム208を識別するオフセット番号(JVOL_OFS)203を含む。例えば、あるジャーナルグループが、2つのジャーナルボリューム208に関連している場合、各ジャーナルボリュームは、0または1によって識別される可能性がある。ジャーナルボリューム識別子(JVOL_ID)424により、ストレージシステム100内のジャーナルボリューム208が一意に識別される。最後に、ポインタ(JVOL_NEXT)425が、ジャーナルグループに関連する次のジャーナルボリュームに関係する次のデータ構造エントリをポイントし、さもなければ、ポインタ(JVOL_NEXT)425は、NULL値である。
SS_LIST417は、所与のジャーナルグループ205に関連するスナップショットイメージ207のリストである。この特定のインプリメンテーションでは、SS_LIST417は、図5に示されるとおり、スナップショット情報データ構造に対するポインタである。各スナップショット情報データ構造は、スナップショットがとられた際に割り当てられたシーケンス番号(SS_SEQ)426を含む。時刻値(SS_TIME)427が、スナップショットがとられた時刻を示す。ステータス(SS_STS)428が、各スナップショットに関連し、有効な値は、VALIDおよびINVALIDを含む。ポインタ(SS_NEXT)429が、次のスナップショット情報データ構造をポイントし、さもなければ、ポインタ(SS_NEXT)429は、NULL値である。また、各スナップショット情報データ構造は、スナップショットイメージ207を格納するのに使用されるスナップショットボリュームのリスト(SS_LIST)417も含む。図5に示されるとおり、スナップショットボリューム情報データ構造に対する(SVOL_LIST)430に対するポインタが、各スナップショット情報データ構造の中に格納される。各スナップショットボリューム情報データ構造は、スナップショットイメージの少なくとも一部分を含むスナップショットボリュームを識別するオフセット番号(SVOL_OFFS)431を含む。スナップショットイメージが、セグメント化され、または別の形で分割されて、複数のスナップショットボリュームの中に格納されることが可能である。その特定のインプリメンテーションでは、オフセットにより、第i番のスナップショットボリュームの中に格納されていることが可能なスナップショットイメージの一部分(セグメント、パーティションなど)を含む第i番のスナップショットボリュームが識別される。各スナップショットボリューム情報データ構造は、ストレージシステム100内のスナップショットボリュームを一意に識別するスナップショットボリューム識別子(SVOL_ID)432と、所与のスナップショットイメージに関する次のスナップショットボリューム情報データ構造をポイントするポインタ(SVOL_NEXT)433とをさらに含む。
ジャーナルエントリとスナップショットの間の関係
図6は、ジャーナルエントリとスナップショットの間の関係を示す。スナップショット502は、ジャーナルグループ205に属するデータボリューム204の第1のスナップショットイメージを表す。シーケンス番号SEQ0およびSEQ1を有するジャーナルエントリ501が行われており、2つの書き込み動作に関するジャーナルエントリであることに留意されたい。それらのエントリは、ジャーナリングが、スナップショットがとられるのに先立つ時点で開始されていることを示す。このため、シーケンス番号SEQ2に対応する時点で、バックアップコントローラ210が、スナップショットをとることを開始し、ジャーナリングが開始されて以来、スナップショットがとられている間に行われたあらゆる書き込み動作が、ジャーナリングされる。このため、シーケンス番号SEQ3以上に関連する書き込み動作500は、それらの動作がジャーナリングされていることを示す。所見として、シーケンス番号SEQ0およびSEQ1によって識別されるジャーナルエントリは、破棄される、またはそれ以外で無視されることが可能である。
スナップショットおよびジャーナルエントリから復元すること
データを復元することは、通常、特定の時点におけるデータボリューム204の少なくとも一部分のデータ状態を回復することを要求する。一般に、これは、1つまたは複数のジャーナルエントリを、それらのジャーナルエントリより時間的に前にとられたスナップショットに適用する(または1つまたは複数のジャーナルエントリに従って、そのスナップショットの一部を更新する、または上書きする)ことによって達せられる。この特定のインプリメンテーションでは、SEQ404は、毎回、増分されて、ジャーナルエントリまたはスナップショットに割り当てられる。したがって、いずれのジャーナルエントリが、選択されたスナップショットに適用されることが可能であるかを識別するのは、簡単なことである。すなわち、関連するシーケンス番号(JNL_SEQ)306が、選択されたスナップショットに関連するシーケンス番号(SS_SEQ)426より大きいジャーナルエントリ。
例えば、管理者が、何らかの時点、多分、データボリューム204の中のデータが、失われた、またはそれ以外で壊れた時点より早期の時点を指定することが可能である。各スナップショットに関する時刻フィールドSS_TIME427が、目標時刻より早期の時刻が見つかるまで、探索される。次に、ジャーナルヘッダ領域300内のジャーナルヘッダ309が、「最も古い」ジャーナルヘッダ309から始めて、探索される。最も古いジャーナルヘッダは、ジャーナル管理テーブル202の中の「JO_」フィールド410、411、414、および415によって識別されることが可能である。ジャーナルヘッダは、シーケンス番号JNL_SEQ306が、選択されたスナップショットに関連するシーケンス番号SS_SEQ426より大きい最初のヘッダを求めて、領域300内で順次に探索される。選択されたスナップショットは、各ジャーナルエントリを1つずつ、スナップショットに順番に適用して、書き込み動作の順序を再現することにより、増分更新される。これは、ジャーナルエントリの時刻フィールドJNL_TIME305が、目標時刻より前である限り、続けられる。更新は、時刻フィールド305が、目標時刻を過ぎている最初のジャーナルエントリで止まる。
この特定のインプリメンテーションの一態様によれば、単一のスナップショットがとられる。その後、そのスナップショットの後に続くすべてのジャーナルエントリが、所与の時点におけるデータ状態を再構成するように適用されることが可能である。この特定のインプリメンテーションの別の態様によれば、複数のスナップショット502’がとられる。各スナップショットおよび各ジャーナルエントリに、シーケンス番号が、その対象(スナップショットまたはジャーナルエントリ)が記録される順序で、割り当てられる。通常、各スナップショット502’間で記録される多数のジャーナルエントリ501が存在するので、複数のスナップショットを有することにより、データを復元するより迅速な回復時間が可能になることが理解できよう。目標回復時刻に時間的に最も近いスナップショットが、選択される。次に、そのスナップショットの後に続いて行われたジャーナルエントリが適用されて、所望されるデータ状態が復元されることが可能である。
バックアップするスナップショットおよびジャーナルエントリを選択すること
スナップショット207とジャーナルエントリのバックアップをとる際、ホスト140上のユーザまたは管理者は、特定の時点、または特定の期間を有するジャーナルグループ205のバックアップ要求を送信する。ジャーナルグループ205は、GRID400と同一のIDで、またはGRNAME401と同一の名前で指定される。バックアップコマンドに応答して、ストレージシステム100は、スナップショット207およびジャーナルエントリを選択して、ホスト140によって指定された時点における、またはホスト140によって指定された期間内のジャーナルグループ205のイメージを復元することができるようにする。
図8は、ホスト140からのバックアップ要求に応答してスナップショットおよびジャーナルエントリを選択したことの結果を示す。このケースでは、ホスト140が、時点600を、ジャーナルグループ205のイメージが保証されなければならない時点として指定した。スナップショット602、ならびにジャーナルエントリ603および604のバックアップが、とられる。
図9は、特定の時点を有するバックアップ要求に応答してスナップショットおよびジャーナルエントリを選択することの流れ図を示す。
ステップ700:バックアップマネージャ201が、最も早い時点と最も遅い時点のスナップショットおよびジャーナルを獲得する。これは、すべてのスナップショットおよびジャーナルエントリのSS_TIME427フィールドおよびJNL_TIME305フィールドを調べることによってアーカイブされることが可能である。
ステップ701:バックアップマネージャ201が、ホスト140によって指定された時点が、ステップ700で獲得された最も早い時点と最も遅い時点の間であるかどうかを調べる。指定された時点が、その最も早い時点と、その最も遅い時点の間である場合、マネージャ201は、ステップ704に進む。そうではない場合、マネージャ201は、ステップ702に進む。
ステップ702:バックアップマネージャ201は、ホスト140によって指定された時点が、将来であるか否かを調べる。これは、指定された時点を、コントローラ101によって管理される現在時刻と比較することによってアーカイブされる。指定された時点が、将来である場合、マネージャ201は、ステップ703に進む。将来ではない場合、マネージャ201は、その指定された時点におけるデータイメージを保証するスナップショットまたはジャーナルが、ストレージシステム100の中に保持されていないため、エラーを戻す。
ステップ703:バックアップマネージャ201が、指定された時刻が来るのを待つ。
ステップ704:バックアップマネージャ201が、ホスト140によって指定された時点より前の最後のスナップショットを選択する。
ステップ705:バックアップマネージャ201が、ステップ704で選択されたスナップショットの時点と、指定された時点との間に行われたジャーナルエントリが存在するかどうかを調べる。存在する場合、マネージャ201は、ステップ706に進む。存在しない場合、マネージャ201は、プロセスを終了する。
ステップ706:バックアップマネージャ201は、ステップ704で選択されたスナップショットの時点と、ホスト140によって指定された時点との間のすべてのジャーナルエントリを選択する。
図11は、ホスト140からのバックアップ要求に応答してスナップショットおよびジャーナルエントリを選択したことの結果を示す。このケースでは、ホスト140は、期間800を、データボリューム204の中のイメージが保証されなければならない期間として指定した。図11で、期間800は、時点801で始まり、時点802で終わる。期間800中の任意の時点におけるボリューム204のイメージを再現するのに必要とされるスナップショットおよびジャーナルデータは、図11において符号803で示されている。したがって、図11に示されるとおり、スナップショット804、805、およびジャーナルエントリ806、807、808のバックアップがとられる。
図12は、特定の期間を有するバックアップ要求に応答してスナップショットおよびジャーナルエントリを選択することの流れ図を示す。
ステップ900:バックアップマネージャ201は、最も早い時点と最も遅い時点のスナップショットおよびジャーナルを獲得する。これは、すべてのスナップショットおよびジャーナルエントリのSS_TIME427およびJNL_TIME305を調べることによってアーカイブされることが可能である。
ステップ901:バックアップマネージャ201は、ホスト140によって指定された期間が、ステップ900で獲得された最も早い時点と最も遅い時点の範囲内にあるかどうかを調べる。指定された期間が、その最も早い時点と、その最も遅い時点との範囲内にある場合、マネージャ201は、ステップ904に進む。範囲内にはない場合、マネージャ201は、ステップ902に進む。
ステップ902:バックアップマネージャ201は、ホスト140によって指定された期間の終了時刻が、将来であるか否かを調べ、ホスト140によって指定された期間の開始時刻が、最も早い時点より遅いかどうかを調べる。これは、終了時刻を、コントローラ101によって管理される現在時刻と比較し、開始時刻を、最も早い時点と比較することによってアーカイブされることが可能である。終了時刻が、将来である場合、マネージャ201は、ステップ903に進む。将来ではない場合、マネージャ201は、その指定された期間内のデータイメージを保証するスナップショットまたはジャーナルが、ストレージシステム100の中に保持されていないため、エラーを戻す。
ステップ903:バックアップマネージャ201は、指定された期間の終わりが来るまで、待つ。
ステップ904:バックアップマネージャ201は、ホスト140によって指定された期間の開始より前の最後のスナップショットを選択する。
ステップ905:バックアップマネージャ201は、ステップ904で選択されたスナップショットの時点と、ホスト140によって指定された期間の終了時刻との間にとられたスナップショットが存在するかどうかを調べる。存在する場合、マネージャ201は、ステップ906に進む。存在しない場合、マネージャ201は、ステップ907に進む。
ステップ906:バックアップマネージャ201は、ステップ904で選択されたスナップショットの時点と、ホスト140によって指定された期間の終了時刻との間にとられたすべてのスナップショットを選択する。
ステップ907:バックアップマネージャ201は、ステップ904で選択されたスナップショットの時刻と、ホスト140によって指定された期間の終了時刻との間に行われたジャーナルエントリが存在するかどうかを調べる。存在する場合、マネージャ201は、ステップ908に進む。存在しない場合、マネージャ201は、プロセスを終了する。
ステップ908:バックアップマネージャ201は、ステップ904で選択されたスナップショットの時刻と、ホスト140によって指定された期間の終了時刻との間に行われたすべてのジャーナルエントリを選択する。
磁気テープへのバックアップ
従来の磁気テープ126は、データを順次に格納するため、ジャーナルヘッダ309およびジャーナルデータ310は、磁気テープ126に書き込まれるために特定の順序で配列される必要がある。図20は、ジャーナルヘッダ309およびジャーナルデータ310の例示的な配列を示す。
ジャーナルヘッダ1600は、第1の実施形態に関連して説明したジャーナルヘッダ309と非常に似通っている。しかし、ヘッダ情報の一部は、バックアップに必要とされない。以下のリストは、各ジャーナルエントリのバックアップの中に含められる情報を指定する。すなわち、
JNL_OFS1602:JNL_OFS302と同一
JNL_ADR1603:JNL_ADR303と同一
JNL_LEN1604:JNL_LEN304と同一
JNL_TIME1605:JNL_TIME305と同一
JNL_SEQ1606:JNL_SEQ306と同一
JNL_END1607:このフィールドは、ジャーナルデータの終わりを示す。特定のインプリメンテーションでは、このフィールドは、ジャーナルデータの終わりを示すためのマジックナンバで埋められる。
ジャーナルデータ1601:ジャーナルデータ310と同一
第1の実施形態では、コントローラが、ジャーナルヘッダ309およびジャーナルデータ310を配列して、配列されたデータを磁気テープライブラリシステム120に送信し、次いで、磁気テープライブラリシステム120が、そのデータを磁気テープ125に書き込む。磁気テープライブラリシステム120に対する書き込み要求に応答して、磁気テープライブラリシステム120は、磁気テープ125のIDを戻して、後に、磁気テープ125が、他の磁気テープから区別されることが可能であるようにする。
バックアップマネージャ201は、スナップショットおよびジャーナルエントリのバックアップをとることを、最古のものから最新のものまで、スナップショットおよびジャーナルエントリの時点の順序で行う。図13は、選択されたスナップショットおよびジャーナルエントリのバックアップをとることの流れ図を示す。
ステップ1000:バックアップマネージャ201は、図9または図12の処理フローの結果として選択されたスナップショットの中の最も早期のスナップショットのバックアップをとる。
ステップ1001:バックアップマネージャ201は、図9または図12の処理フローの結果として選択された、その他のスナップショットが存在するかどうかを調べる。存在する場合、マネージャ201は、ステップ1002に進む。存在しない場合、マネージャ201は、ステップ1004に進む。
ステップ1002:バックアップマネージャ201は、ステップ1001でバックアップされたスナップショットの時刻と、次に早期のスナップショットとの間に行われたジャーナルエントリが存在するかどうかを調べる。存在する場合、マネージャ201は、ステップ1003に進む。存在しない場合、マネージャ201は、ステップ1004に進む。
ステップ1003:バックアップマネージャ201は、ステップ1001でバックアップされたスナップショットの時刻と、次に早期のスナップショットの時刻との間に行われたジャーナルエントリのバックアップをとる。
ステップ1004:バックアップマネージャ201は、次に早期のスナップショットのバックアップをとる。
ステップ1005:バックアップマネージャ201は、ジャーナルエントリの残りの部分のバックアップをとる。
バックアップ管理テーブル
スナップショットおよびジャーナルエントリのバックアップをとる際、バックアップマネージャ201は、各スナップショット、および一連のジャーナルエントリに関するエントリ(行710ないし713)を、図10のバックアップ管理テーブル202上で行う。
ジャーナルグループID701:GRID400と同一のID
ジャーナルグループ名707:GRNAME401と同一の名前
開始時刻702:エントリが、スナップショットのバックアップに関する場合、そのスナップショットがとられた時点が、このフィールドに書き込まれる。エントリが、一連のジャーナルエントリのバックアップに関する場合、その一連のジャーナルエントリがバックアップされた最も早い時点の直前のスナップショットの時点が、このフィールドに書き込まれる。
終了時刻703:エントリが、スナップショットのバックアップに関する場合、NULLが、このフィールドに書き込まれる。エントリが、一連のジャーナルエントリのバックアップに関する場合、その一連のジャーナルエントリがバックアップされた最も遅い時点が、このフィールドに書き込まれる。それらのジャーナルエントリの後にバックアップされるべき別のスナップショットが存在する場合、そのスナップショットの時点が、このフィールドに書き込まれて、最後のジャーナルエントリと次のスナップショットの間にバックアップされていないジャーナルエントリは存在しないことを示すことが可能である。
媒体ID704:スナップショット、または一連のジャーナルエントリを保存するのに使用される磁気テープ126のID。このIDは、磁気テープライブラリシステム120から戻される。
オフセット705:スナップショットまたは一連のジャーナルエントリの格納が始められる磁気テープ126内のオフセット
長さ:706:磁気テープ126の中に保存される、スナップショットまたは一連のジャーナルエントリのデータの長さ(通常、ブロック数またはバイト数)
スナップショットおよびジャーナルエントリのバックアップからの復元
磁気テープの中に格納されているスナップショットおよびジャーナルエントリのバックアップから復元する際、ホスト140のユーザまたは管理者は、ジャーナルグループIDまたはジャーナルグループ名、および復元されるべきジャーナルグループのデータイメージの時点を伴う復元要求をストレージシステム100に送信する。その要求に応答して、ストレージシステム100内のバックアップマネージャ201は、スナップショットおよびジャーナルエントリのバックアップからデータイメージを復元する。図14は、スナップショットおよびジャーナルエントリのバックアップからジャーナルグループのデータイメージを復元することの流れ図を示す。
ステップ1100:バックアップマネージャ201は、スナップショットおよびジャーナルエントリがバックアップされた期間を獲得する。これは、開始時刻702フィールドおよび終了時刻703フィールドを探索することによって達せられることが可能である。時間ギャップが存在する場合、そのことは、その時間ギャップ内のデータが、バックアップされていない(その時間ギャップ内のデータイメージが、バックアップデータによって保証されていない)ことを意味する。
ステップ1101:バックアップマネージャ201は、ホスト140によって指定された時点が、ステップ1100で獲得された期間に入っているかどうかを調べる。入っている場合、マネージャ201は、ステップ1102に進む。入っていない場合、マネージャ201は、指定された時刻におけるデータイメージが、復元されることが不可能なため、エラーを戻す。
ステップ1102:バックアップマネージャ201は、ホスト140によって指定された時点より前の最後のスナップショットを復元する。
ステップ1103:バックアップマネージャ201は、ステップ1102で復元されたスナップショットの時点と、ホスト140によって指定された時点との間に行われたジャーナルエントリが存在するかどうかを調べる。存在する場合、マネージャ201は、ステップ1104に進む。存在しない場合、マネージャ201は、プロセスを終了する。
ステップ1104:バックアップマネージャ201は、ステップ1102で復元されたスナップショットの時点と、ホスト140によって指定された時点との間に行われたジャーナルエントリを、最も早いものから最も遅いものまで時刻順に適用する。
第2の実施形態
図15は、本発明の別の態様によるバックアップ−回復システムの別の例示的な実施形態の高レベルの一般化されたブロック図を提供する。第1の実施形態と第2の実施形態の主要な違いは、バックアップ要求が、バックアップ管理ホスト1205から送信され、受信されたバックアップ要求に応答して、ストレージシステム1200が、適切なスナップショットおよびジャーナルエントリをバックアップ管理ホスト1205に戻すことである。第1の実施形態の場合と同様に、ストレージシステム1200によって戻されるスナップショットおよびジャーナルエントリは、バックアップ管理ホスト1205によって指定された時点における、またはホスト1205によって指定された期間内のストレージボリュームの中のデータの回復を確実にすることである。次に、バックアップ管理ホスト1205は、戻されたデータを磁気テープライブラリシステム1201内の磁気テープ126に保存し、バックアップ管理テーブル1303を使用してバックアップデータを管理する。ネットワークに接続されたバックアップ管理ホスト1205上にバックアップデータを格納して、管理することにより、データは、ジャーナリング能力を有さない、異なるストレージシステム1203に復元されることが可能である。さらに、バックアップ管理ホストからの要求に応答して、ストレージシステム1200が、ジャーナルエントリのフォーマットを戻し、バックアップ管理ホスト1205は、そのフォーマット情報を保存して、管理し、これにより、ホスト1205が、ジャーナルエントリを、様々なストレージシステムから送信された様々なフォーマットで管理することができるようになる。
システム構成
図16は、本発明の方法が適用されるシステムの例示的な構成を示す。図16に示されるとおり、ホスト1204は、SAN1211を介してストレージシステム1 1200に接続される。SAN1211は、第1の実施形態と同じようにスイッチおよびケーブルから成る。ホスト1204およびストレージシステム1 1200は、第1の実施形態におけるホスト140およびストレージシステム100と同一の構成要素を有する。
第2の実施形態では、バックアップ管理ホスト1205は、SAN1211を介して、やはりストレージシステム1200に接続される。バックアップ管理ホスト1205は、CPU1206と、メモリ1207と、FCアダプタ1210とを含む。また、磁気ディスクライブラリシステム1201も存在し、バックアップ管理ホスト1205に接続される。磁気ディスクライブラリシステム1201は、第1の実施形態におけるシステム120と同一の構成要素を有する。第2の実施形態では、ストレージシステム1 1200とは異なるストレージシステム2 1203およびストレージシステム3 1212も存在する。ストレージシステム2 1203は、ストレージシステム1 1200と同一の構成要素を有するが、ジャーナリング能力を有さない。ストレージシステム3 1212は、ストレージシステム1 1200と同一の構成要素およびジャーナリング能力を有するが、ジャーナルエントリのフォーマットは、ストレージシステム1 1200とは異なる。
機能図
図17は、第2の実施形態におけるシステムの機能図を示す。
バックアップ管理ホスト1205内には、バックアップ管理ホスト1302におけるユーザ(または管理者)から受信された回復要求に応じて、適切な時点または期間を選択して、ストレージシステム1200にデータの回復を保証するバックアップマネージャ1302が存在する。また、バックアップマネージャ1302は、ユーザが、バックアップデータを使用して、後の時点でデータを復元することができるように、バックアップ管理テーブル1303を使用して磁気テープライブラリシステム1201の中に格納されたバックアップデータを管理する。
ストレージシステム1200は、ジャーナルマネージャ1300と、ジャーナル管理テーブル1301とを含む。ジャーナルマネージャ1300は、第1の実施形態の場合と同じように、スナップショットをとり、ジャーナル管理テーブル1301を使用してボリュームのジャーナルを保持する。
バックアップするスナップショットおよびジャーナルエントリを選択すること
スナップショット207およびジャーナルエントリのバックアップをとる際、バックアップ管理ホスト1205を使用するユーザまたは管理者が、ジャーナルグループ205のバックアップ要求を発行する。バックアップ要求には、特定の時点情報、または特定の時期情報が付随する。ジャーナルグループ205は、第1の実施形態に関連して詳細に説明した、GRID400と同一のID、GRNAME401と同一の名前で指定される。バックアップコマンドに応答して、ストレージシステム1200は、スナップショット207、および対応するジャーナルエントリを選択し、それらをバックアップ管理ホスト1205に戻して、バックアップ管理ホスト1205が、選択された時点における、または選択された期間内のジャーナルグループ205のイメージを復元することができるようにする。ジャーナルエントリを戻す前に、ストレージシステム1200は、各ジャーナルエントリを、図20に示されるフォーマットに再フォーマットする。また、ジャーナルエントリを戻す際、ストレージシステム1200は、図21に示される、各ジャーナルエントリのフォーマットに関する情報も戻す。これに応答して、バックアップマネージャ1302は、フォーマットに任意の名前を割り当てて、その名前をバックアップ管理ホスト1204の中に保存する。
スナップショットおよびジャーナルエントリを選択し、バックアップをとるためのプロセス、およびバックアップデータを復元するためのプロセスの動作フローは、第1の実施形態の場合と同一である。しかし、スナップショットおよびジャーナルエントリを選択するためのプロセスは、ストレージシステム1200上のジャーナルマネージャ1300によって実行され、スナップショットおよびジャーナルエントリのバックアップをとり、復元するためのプロセスは、バックアップ管理ホスト1303上のバックアップマネージャ1302によって実行される。また、スナップショットおよびジャーナルエントリを復元する際、バックアップマネージャ1302は、各ジャーナルエントリが各磁気テープ126上に格納されているロケーションを認識するために、バックアップ管理ホスト1204の中に保存されたフォーマット情報を参照する。
バックアップ管理テーブル
図18は、第2の実施形態におけるバックアップ管理テーブル1302の例示的なインプリメンテーションを示す。第2の実施形態のバックアップ管理テーブル1303は、第1の実施形態におけるテーブル203とはわずかに異なる。バックアップマネージャ1302は、他のストレージシステムのスナップショットおよびジャーナルエントリのバックアップをとる可能性があるため、ジャーナルエントリの各バックアップに関して、ジャーナルエントリのフォーマット(図21参照)を管理する必要がある。バックアップマネージャ1302は、バックアップ要求に対する応答としてストレージシステム1200から戻されたフォーマット情報を保存し、そのフォーマットに関して任意の名前(タイプ1404)を付けることにより、そのフォーマット情報を管理する。
ジャーナルグループ名1401:第1の実施形態におけるジャーナルグループ名707と同一
開始時刻1402:第1の実施形態における開始時刻702と同一
終了時刻1403:第1の実施形態における終了時刻703と同一
タイプ1404:ジャーナルエントリのフォーマットの任意の名前。この任意の名前は、ストレージシステム1200が、バックアップ管理ホスト1204からのバックアップ要求に応答して、図21に示されるジャーナルエントリのフォーマットを戻すと、バックアップマネージャ1302によって割り当てられる。
媒体ID1405:第1の実施形態における媒体ID704と同一
オフセット1406:第1の実施形態におけるオフセット705と同一
長さ1407:第1の実施形態における長さ706と同一
テーブル1303の行1410〜1413は、例示的なバックアップレコードを含む。
図21は、ストレージシステム1200からバックアップ管理ホスト1205に戻される情報の例示的なフォーマットを示すテーブル1700を表す。
OFFSET1701は、フィールドが始まる各ジャーナルエントリの開始からのオフセットを表す。
SIZE1702は、フィールドのサイズをバイト数で表す。
タイプ1703は、フィールドのデータタイプを表す。
コンテンツ1704は、フィールドに何が書き込まれるかを示す。
テーブル1700の行1710〜1715は、ストレージシステム1200からバックアップ管理ホスト1205に戻される情報フォーマットデータの例を含む。
第3の実施形態
図22は、本発明の第3の実施形態によるバックアップ−回復システムの例示的なインプリメンテーションの高レベルの一般化されたブロック図である。前述の第1の実施形態との違いは、バックアップマネージャ2001が、スナップショットおよびジャーナルエントリのバックアップを、磁気テープライブラリシステム120内の磁気テープ126にではなく、バックアップストレージシステム2203内のバックアップボリューム2009に格納することである。
システム構成
図23は、本発明の方法が実施されるシステムの例示的な構成を示す。この実施形態によるシステムの構成の態様のほとんどは、第1の実施形態のシステムの場合と同一である。しかし、ストレージシステム2200を構成する構成要素にいくつかの違いが存在し、さらに、図23に示されるシステムは、磁気テープライブラリシステムではなく、バックアップストレージシステム2203を含む。
より詳細には、ストレージシステム2200は、ストレージシステム2200が、SAN2208に接続され、バックアップストレージシステム2203にアクセスするディスク制御部2210を組み込むこと以外は、前述した第1の実施形態のストレージシステム100と同一の構成要素から成る。
図24に示されるとおり、バックアップストレージシステム2203は、コントローラ2204と、ディスクハウジング2205と、磁気テープライブラリシステム2206とを含む。ディスクハウジング2205および磁気テープライブラリシステム2206はそれぞれ、前述した第1の実施形態におけるディスクハウジング102および磁気テープライブラリシステム120と同一の構成要素から成る。コントローラ2204は、コントローラ2204が、ディスクハウジング2205内のハードディスクドライブと、磁気テープライブラリシステム2206内の磁気テープの両方にアクセスするための2つのディスク制御部2308および2309を有すること以外は、前述した第1の実施形態におけるストレージシステム100のコントローラ101と同一の構成要素から成る。
機能図
図25は、第3の実施形態によるストレージシステムの機能図を示す。図示される実施形態の構成要素の大半は、前述した第1の実施形態の対応する構成要素と同一である。しかし、図25に示されるシステムは、ストレージシステム2200にバックアップリソーステーブル2010を組み込み、このテーブル2010を使用して、バックアップマネージャ2001は、バックアップストレージシステム2203内のバックアップボリューム2009を管理する。
第3の実施形態において、スナップショットおよびジャーナルエントリ、ジャーナル管理テーブル、ジャーナルエントリとスナップショットの間の関係、スナップショットおよびジャーナルエントリからの復元動作、ならびにバックアップのためにスナップショットおよびジャーナルエントリを選択することは、前述した第1の実施形態の対応する特徴と同様であることに留意されたい。
バックアップストレージシステム
従来のストレージシステムと同一のインタフェース(Fibre Channel)を有するバックアップストレージシステムが、しばしば、バックアップデータを格納するのに使用される。それらのストレージシステムは、通常、SATAハードドライブまたは磁気テープなどの比較的安価な媒体に基づき、媒体の費用を抑えている。本願明細書では、それらのタイプのストレージシステムを、「バックアップストレージシステム」と呼ぶ。バックアップストレージシステムにおいて、データ記憶領域は、従来のストレージシステムと同様のボリュームを使用して管理され、ボリュームの中のデータも、従来のストレージシステムと同様に、ランダムにアクセスされることが可能である。
特に、磁気テープを含むバックアップストレージシステムは、VDL(仮想ディスクライブラリ)と呼ばれる。VDLは、ホストが、従来のストレージシステムと同一のインタフェース(Fibre Channel)を使用して、磁気テープの中のデータを読み取り、書き込むことを可能にする。本発明の概念の一実施形態におけるバックアップストレージシステム2203は、VDLの構成を表している。図24に示されるとおり、VDLは、通常、物理的記憶媒体としてハードディスクドライブと磁気テープをともに有する。磁気テープにデータの読み取りおよび書き込みを行うことは、ハードディスクドライブよりもはるかに遅いため、VDLは、ハードディスクドライブをバッファとして使用する。ホストが、データをVDLの中のボリュームに書き込む際、VDLは、そのデータをハードディスクドライブ上にまず格納する。次に、例えば、その書き込まれたデータに、ある期間にわたってアクセスが行われなかった場合、VDLは、そのデータを磁気テープに移す。
バックアップリソーステーブル
バックアップマネージャ2001は、バックアップリソーステーブル2010を作成して、管理する。バックアップリソーステーブル2010は、バックアップストレージシステム2203内の利用可能なバックアップボリュームに関する情報、およびそれらのボリュームの使用ステータスを格納する。図26は、バックアップリソーステーブル2010の例示的な実施形態を示す。
バックアップボリュームID2601が、バックアップストレージシステム2203内のそれぞれの利用可能なバックアップボリューム2009に割り当てられる。このIDは、ユーザまたは管理者が、バックアップストレージシステム2203を接続し、バックアップマネージャ2001が、バックアップストレージシステム2203、およびシステム2203内のバックアップボリューム2009を見出すと、バックアップマネージャ2001によって割り当てられる。
WWN2602は、特定のバックアップストレージシステム2203のポートのWWNを示す。一般に、WWNは、SANに接続された各システムの各ポートに割り当てられる一意の番号である。したがって、WWNを使用して、バックアップマネージャ2001は、バックアップボリュームがいずれのバックアップストレージシステム上にあるかを識別することができる。
LUN2603は、バックアップストレージシステム2203内のバックアップボリューム2009の特定のLUNを示す。一般に、LUNは、特定のバックアップストレージシステム2203によってエクスポートされる各ボリュームに割り当てられる。LUNは、各ポート内に限って固有である。バックアップストレージシステム2203は、複数のバックアップストレージシステムが存在する場合、WWN2602およびLUN2603を使用して、特定のバックアップボリュームを識別することができる。
最低の未使用のLBA2604は、バックアップボリューム2009の中でデータがまだ格納されていない最低のLBAを示す。このフィールドは、バックアップマネージャ2001が、スナップショット、または一連のジャーナルエントリをバックアップボリューム2009にバックアップすることを完了した後に更新される。
最高のLBA2605は、バックアップボリューム2009の最大のLBAを示す。このフィールドは、バックアップマネージャ2001が、バックアップストレージシステム2203内でバックアップボリューム2009を見出した際に、マネージャ2001によって埋められる。
バックアップストレージシステムへのバックアップ
前述した第1の実施形態において使用される磁気テープは、ホストが、データを順次に読み取る、または書き込むことを可能にするが、バックアップストレージシステム223は、ホストが、従来のストレージシステムのように、バックアップボリューム2009内であればどこでもデータの読み取り、または書き込みを行うことを可能にする。しかし、バックアップデータを管理するのを容易にするのに、バックアップマネージャ2001は、バックアップボリューム2009を順次に使用する。つまり、バックアップマネージャ2001は、バックアップボリューム2009にスナップショットおよびジャーナルエントリのバックアップをとる際、最低の未使用のLBAからのバックアップデータを、より高いLBAに書き込む。その結果、一連のジャーナルエントリのバックアップが、図27に示されるとおり、バックアップボリューム2009の中に格納される。ジャーナルエントリのバックアップをとる際、バックアップマネージャ2001は、図20に示される、前述した第1の実施形態と同一のフォーマットに、各ジャーナルエントリを再フォーマットすることに留意されたい。
バックアップ管理テーブル
バックアップマネージャ2001は、前述した第1の実施形態におけるバックアップ管理テーブル203と同一の行と列から成るバックアップ管理テーブル2003を使用して、スナップショットおよび一連のジャーナルエントリのバックアップを管理する。
しかし、媒体ID704フィールドの中には、スナップショットまたは一連のジャーナルエントリをバックアップするのに使用されたバックアップボリューム2009のバックアップボリュームID2601が、入れられる。また、オフセット705フィールドの中には、バックアップボリューム2009内でバックアップデータの格納が始められたLBAが、入れられる。
この実施形態のシステムにおけるスナップショットおよびジャーナルエントリのバックアップから復元を行うための手続きは、前述した第1の実施形態の対応する手続きと同一であることに留意されたい。
第4の実施形態
図28は、本発明によるバックアップ回復システムの例示的な実施形態の高レベルの一般化されたブロック図である。前述した第2の実施形態との違いは、バックアップマネージャ3002が、磁気テープライブラリシステム1201内の磁気テープ126ではなく、バックアップストレージシステム2901内のバックアップボリューム2009に、スナップショットおよびジャーナルエントリのバックアップを格納することである。
システム構成
図29は、本発明の方法が適用されるシステムの例示的な構成を示す。構成のほとんどは、前述した第2の実施形態と同一である。しかし、磁気テープライブラリシステム1201の代わりに、バックアップストレージシステム2901が存在する。バックアップストレージシステム2901は、前述した第3の実施形態におけるバックアップストレージシステム2203と同一の構成要素を含む。
機能図
図30は、第4の実施形態におけるシステムの機能図を示す。構成要素のほとんどは、前述した第2の実施形態と同一である。しかし、バックアップ管理ホスト2904上にバックアップリソーステーブル3004が存在し、バックアップマネージャ3002は、このテーブル3004を使用して、バックアップストレージシステム2901内のバックアップボリューム2009を管理する。
バックアップリソーステーブル3004は、第3の実施形態におけるバックアップリソーステーブル2010と同一の行と列から成る。
バックアップのためにスナップショットおよびジャーナルエントリを選択するための手続きは、前述した第2の実施形態によるシステムにおいて使用される対応する手続きと同一である。
バックアップリソーステーブル
バックアップリソーステーブル3004は、前述した第3の実施形態におけるバックアップリソーステーブル2010と同一の行と列から成り、第3の実施形態におけるバックアップマネージャ2001が管理を行うのと同じように、バックアップ管理ホスト2904上のバックアップマネージャ3002によって管理される。
バックアップ管理テーブル
バックアップマネージャ3002は、前述した第2の実施形態におけるバックアップ管理テーブル1303と同一の行と列から成るバックアップ管理テーブル3003を使用して、スナップショットおよび一連のジャーナルエントリのバックアップを管理する。
しかし、媒体ID1405フィールドの中には、スナップショットおよび一連のジャーナルエントリをバックアップするのに使用されたバックアップリソーステーブル3004の中のバックアップボリューム2009のバックアップボリュームID2601が、入れられる。
また、オフセット1406フィールドの中には、バックアップボリューム2009内でバックアップデータの格納が始められたLBAが、入れられる。
第4の実施形態のシステムにおけるスナップショットおよびジャーナルエントリのバックアップからデータを復元するための手続きは、前述した第2の実施形態の対応する手続きと同一である。
第5の実施形態
図31は、本発明によるバックアップ回復システムの例示的な実施形態の高レベルの一般化されたブロック図である。第4の実施形態では、ジャーナルマネージャ3000が、バックアップマネージャ3002からの命令に応じて、スナップショットおよびジャーナルエントリのデータをバックアップ管理ホスト2904に戻し、次に、バックアップマネージャ3002が、スナップショットおよびジャーナルエントリのバックアップデータを、バックアップストレージシステム2901内のバックアップボリューム2009に格納する。しかし、このケースでは、バックアップデータのデータフローは、バックアップデータが、2回(ストレージシステム1 2900からバックアップ管理ホスト2904に、さらに、バックアップ管理ホスト2904からバックアップストレージシステム2901に)送信されるため、SAN2906のトラフィックを増大させる。
第5の実施形態では、バックアップマネージャ3102は、スナップショットおよびジャーナルエントリのバックアップをとるよう、ストレージシステム1 2900に命令するだけであり、ストレージシステム1 2900は、バックアップストレージシステム2901に直接にバックアップをとる。
システム構成
この実施形態に関するシステムの構成は、第4の実施形態と同一である。
機能図
図31は、第5の実施形態におけるシステムの機能図を示す。構成要素のほとんどは、第4の実施形態と同一である。しかし、ストレージシステム2200内にバックアップエージェント3105が存在し、バックアップマネージャ3102の役割は、第4の実施形態における役割とは異なる。
第4の実施形態とは異なり、バックアップマネージャ3102は、特定の時点、または特定の期間、ならびにスナップショット2006およびジャーナルエントリのバックアップが格納されるべき特定のバックアップボリューム2009を有するバックアップ要求を、ストレージシステム1 2900に送信するだけである。バックアップボリューム2009は、ボリューム2009のWWN2602およびLUN2603によって指定される。ジャーナルエントリに関して、バックアップマネージャ3102は、最低の未使用のLBAフィールド2604を参照する開始LBAも指定する。また、バックアップエージェント3105が、以下に説明するとおり、バックアップボリュームの中にスナップショットおよびジャーナルエントリを格納するのに使用された最高のLBAを戻すと、バックアップマネージャ3102は、最高のLBAを増分し、バックアップリソーステーブル3104の最低の未使用のLBAフィールド2604を、その増分された値で更新する。
バックアップエージェント3105は、指定された時点または期間におけるデータを保証するのに必要とされるスナップショット2006およびジャーナルエントリを選択し、図20に示されるとおり、各ジャーナルエントリを再フォーマットする。また、バックアップエージェント3105は、選択されたスナップショットおよびジャーナルエントリを、バックアップストレージシステム2901内の指定されたバックアップボリューム2009に格納し、ジャーナルエントリを格納するのに使用された最高のLBAをバックアップ管理ホスト2904に戻す。
バックアップボリュームを見出すこと
ユーザまたは管理者が、バックアップストレージシステム2901を接続すると、バックアップエージェント3102が、バックアップストレージシステム2901内のバックアップボリューム2009を見出す。次に、バックアップエージェント3102は、バックアップボリューム2009についての情報をバックアップ管理ホスト2904に送信する。
バックアップエージェント3102は、各バックアップボリューム2009に関するWWN2602、LUN2603、最低の未使用のLBA2604、および最高のLBA2605をバックアップ管理ホスト2904に送信して、バックアップ管理ホスト2904が、バックアップリソーステーブル3004を作成することができるようにする。バックアップ管理ホスト2904は、その情報を受信すると、バックアップボリュームID2601を各バックアップボリューム2009に割り当てて、バックアップリソーステーブル3004を作成する。
バックアップストレージシステムへのバックアップ
スナップショット2006およびジャーナルエントリのバックアップをとる際、バックアップ管理ホスト2904上のユーザまたは管理者は、特定の時点、または特定の期間、ならびにスナップショット2006およびジャーナルエントリのバックアップが格納されるべきバックアップボリューム2009を有する、ジャーナルグループ2005のバックアップ要求を送信する。ジャーナルグループ2005は、GRID400と同一のID、またはGRNAME401と同一の名前で指定される。バックアップコマンドに応答して、ストレージシステム2900は、スナップショット2600およびジャーナルエントリを選択し、スナップショット2006およびジャーナルエントリを、バックアップストレージシステム2901内のバックアップボリューム2009の中に格納する。スナップショット2006およびジャーナルエントリを格納することを完了すると、ストレージシステム2900は、ジャーナルエントリを格納するのに使用された最高のLBAをバックアップ管理ホスト2904に戻す。ジャーナルエントリを格納する際、ストレージシステム2900は、格納を行う前に、図20に示されるフォーマットに各ジャーナルエントリを再フォーマットする。また、最高のLBAをバックアップ管理ホスト2904に戻す際、ストレージシステム2900は、図20に示される各ジャーナルエントリのフォーマット自体を戻す。これに応答して、バックアップマネージャ3102は、フォーマットに任意の名前を割り当て、その名前をバックアップ管理ホスト2904上に保存する。
図32は、バックアップストレージシステムへのバックアップのフローを示す。
ステップ3300:バックアップ管理ホスト2904上のバックアップマネージャ3102が、特定の時点、または特定の期間、目標ジャーナルグループ2005の情報、使用されるべきバックアップボリューム2009を有するバックアップ要求を送信する。ジャーナルエントリに関するバックアップボリューム2009に関して、マネージャ3102は、ジャーナルエントリを格納する開始LBAを指定する。
ステップ3301:ストレージシステム1 2900上のバックアップエージェント3105が、指定された時点、または指定された期間におけるデータを保証するのに必要とされるスナップショットおよびジャーナルエントリを選択する。スナップショットおよびジャーナルエントリを選択することのフローは、前述した第1の実施形態と同一である。
ステップ3302:ストレージシステム1 2900上のバックアップエージェント3105が、ステップ3301で選択されたスナップショットおよびジャーナルエントリを、ステップ3300のバックアップマネージャ3102によるバックアップボリューム2009に保存する。
ステップ3303:バックアップエージェント3105が、バックアップボリューム2009の中にジャーナルエントリを格納するのに使用される最高のLBAをバックアップ管理ホスト2904に戻す。また、エージェント3105は、各ジャーナルエントリのフォーマットも戻す。
ステップ3304:バックアップ管理ホスト2904が、バックアップ管理テーブル3103およびバックアップリソーステーブル3104を更新する。
第5の実施形態におけるスナップショットおよびジャーナルエントリのバックアップからデータを復元するための手続きは、前述した第2の実施形態の対応する手続きと同一である。
ハードウェアプラットフォーム実施例
図34は、本発明の方法論の一実施形態が実施されることが可能なコンピュータ/サーバシステム3400の一実施形態を示すブロック図である。システム3400は、コンピュータ/サーバプラットフォーム3401と、周辺デバイス3402と、ネットワークリソース3403とを含む。
コンピュータプラットフォーム3401は、コンピュータプラットフォーム3401の様々な部分にわたり、それらの部分の間で情報を通信するためのデータバス3404または他の通信機構と、情報を処理するため、ならびに他の計算タスクおよび制御タスクを実行するための、バス3401に結合されたプロセッサ3405とを含むことが可能である。また、コンピュータプラットフォーム3401は、様々な情報、およびプロセッサ3405によって実行されるべき命令を格納するための、バス3404に結合された、ランダムアクセスメモリ(RAM)または他のダイナミックストレージデバイスなどの、揮発性ストレージ3406も含む。また、揮発性ストレージ3406は、プロセッサ3405による命令の実行中に、一時変数、または他の中間情報を格納するために使用されることも可能である。コンピュータプラットフォーム3401は、BIOS(基本入出力システム)などの、プロセッサ3405のための静的情報および命令、ならびに様々なシステム構成パラメータを格納するための、バス3404に結合された読み取り専用メモリ(ROMまたはEPROM)3407、または他のスタティックストレージデバイスをさらに含むことが可能である。磁気ディスク、光ディスク、またはソリッドステートフラッシュメモリデバイスなどの、永続ストレージデバイス3408が、情報および命令を格納するために提供され、バス3401に結合される。
コンピュータプラットフォーム3401は、コンピュータプラットフォーム3401のシステム管理者またはユーザに情報を表示するために、CRT(陰極線管)、プラズマディスプレイ、またはLCD(液晶ディスプレイ)などの、ディスプレイ3409に、バス3404を介して結合されることが可能である。英数キー、およびその他のキーを含む入力デバイス3410が、情報およびコマンド選択をプロセッサ3405に通信するためにバス3401に結合される。別のタイプのユーザ入力デバイスが、情報およびコマンド選択をプロセッサ3404に通信するため、およびディスプレイ3409上のカーソルの動きを制御するための、マウス、トラックボール、またはカーソル方向キーなどの、カーソル制御デバイス3411である。この入力デバイスは、デバイスが、平面における位置を指定することを可能にする、2つの軸、第1の軸(例えば、x)および第2の軸(例えば、y)における2つの自由度を通常、有する。
外部ストレージデバイス3412が、バス3404を介してコンピュータプラットフォーム3401に接続されて、コンピュータプラットフォーム3401に追加の、または取り外し可能なストレージ能力をもたらすことが可能である。コンピュータシステム3400の一実施形態では、外部の取り外し可能なストレージデバイス3412が、他のコンピュータシステムとのデータの交換を円滑にするのに使用されることが可能である。
本発明は、本願明細書で説明する諸技術を実施するためのコンピュータシステム3400の使用に関する。一実施形態では、本発明のシステムは、コンピュータプラットフォーム3401などのマシン上に存在することが可能である。本発明の一実施形態によれば、本願明細書で説明する諸技術は、プロセッサ3405が、揮発性メモリ3406の中に含まれる1つまたは複数の命令の1つまたは複数のシーケンスを実行することに応答して、コンピュータシステム3400によって実行される。そのような命令は、永続ストレージデバイス3408などの、別のコンピュータ可読媒体から揮発性メモリ3406に読み込まれることが可能である。揮発性メモリ3406の中に含まれる命令シーケンスの実行により、プロセッサ3405が、本願明細書で説明するプロセスステップを実行するようにさせられる。代替の諸実施形態では、ハードワイヤド回路が、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、本発明を実施するのに使用されてもよい。このため、本発明の諸実施形態は、ハードウェア回路とソフトウェアのいずれの特定の組み合わせにも限定されない。
本願明細書で使用される「コンピュータ可読媒体」という用語は、実行のためにプロセッサ3405に命令を供給することに参加する任意の媒体を指す。コンピュータ可読媒体は、本願明細書で説明される諸方法および/または諸技術のいずれかを実施するための命令を担持することができる、マシン可読媒体の一例に過ぎない。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むが、以上には限定されない、多くの形態をとることが可能である。不揮発性媒体には、例えば、ストレージデバイス3408のような、光ディスクまたは磁気ディスクが含まれる。揮発性媒体には、揮発性ストレージ3406のような、ダイナミックメモリが含まれる。伝送媒体には、データバス3404を含む配線を含む、同軸ケーブル、銅線、および光ファイバが含まれる。また、伝送媒体は、無線波データ通信中、および赤外線データ通信中に生成されるような、音波または光波の形態をとることも可能である。
コンピュータ可読媒体の一般的な形態には、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、CD−ROM、他の任意の光媒体、パンチカード、紙テープ、孔のパターンを有する他の任意の物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、フラッシュドライブ、メモリカード、他の任意のメモリチップまたはメモリカートリッジ、後段で説明する搬送波、またはコンピュータが読み取ることができる他の任意の媒体が含まれる。
コンピュータ可読媒体の様々な形態が、実行のためにプロセッサ3405に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与することが可能である。例えば、命令は、リモートコンピュータから磁気ディスク上で、最初、搬送されることが可能である。代替として、リモートコンピュータが、コンピュータのダイナミックメモリに命令を読み込み、それらの命令を、モデムを使用して電話線を介して送信することができる。コンピュータシステム3400にローカルのモデムが、電話線上でデータを受信し、赤外線送信機を使用して、そのデータを赤外線信号に変換することができる。赤外線ディテクタが、赤外線信号の中で伝送されるデータを受信し、適切な回路が、そのデータをデータバス3404に乗せることができる。バス3404は、データを揮発性ストレージ3406まで伝送し、ストレージ3406から、プロセッサ3405は、命令を取り出して、実行する。揮発性メモリ3406によって受け取られる命令は、オプションとして、プロセッサ3405による実行の前に、または後に、永続ストレージデバイス3408上に格納されてもよい。また、命令は、当技術分野で周知の様々なネットワークデータ通信プロトコルを使用して、インターネットを介してコンピュータプラットフォーム3401にダウンロードされてもよい。
また、コンピュータプラットフォーム3401は、データバス3404に結合されたネットワークインタフェースカード3413のような、通信インタフェースも含む。通信インタフェース3413は、ローカルネットワーク3415に接続されたネットワークリンク3414に対する双方向データ通信結合を提供する。例えば、通信インタフェース3413は、対応するタイプの電話線に対するデータ通信接続をもたらすISDN(デジタル総合サービス網)カードまたはモデムであることが可能である。別の例として、通信インタフェース3413は、適合するLANに対するデータ通信接続をもたらすローカルエリアネットワークインタフェースカード(LAN NIC)であることが可能である。また、周知の802.11a、802.11b、802.11g、およびBluetoothなどの無線リンクも、ネットワークインプリメンテーションのために使用されることが可能である。そのようないずれのインプリメンテーションにおいても、通信インタフェース3413は、様々なタイプの情報を表すデジタルデータストリームを伝送する電気信号、電磁信号、または光信号を送受信する。
ネットワークリンク3413は、通常、1つまたは複数のネットワークを介して、他のネットワークリソースに対するデータ通信をもたらす。例えば、ネットワークリンク3414は、ローカルネットワーク3415を介して、ホストコンピュータ3416またはネットワークストレージ/サーバ3422に対する接続をもたらすことができる。さらに、または代替として、ネットワークリンク3413は、ゲートウェイ/ファイアウォール3417を介して、インターネットなどの、ワイドエリアネットワークまたはグローバルネットワーク3418に接続することができる。このため、コンピュータプラットフォーム3401は、リモートネットワークストレージ/サーバ3419のような、インターネット3418上のいずれの場所に位置するネットワークリソースにもアクセスすることができる。他方、コンピュータプラットフォーム3401も、ローカルエリアネットワーク3415上、および/またはインターネット3418上のいずれの場所に位置するクライアントによってもアクセスされることが可能である。ネットワーククライアント3420および3421は、それら自体、プラットフォーム3401と同様のコンピュータプラットフォームに基づいて実装されることが可能である。
ローカルネットワーク3415とインターネット3418はともに、デジタルデータストリームを伝送する電気信号、電磁信号、または光信号を使用する。コンピュータプラットフォーム3401に、またプラットフォーム3401からデジタルデータを伝送する、様々なネットワークを介する信号、およびネットワークリンク3414上の、通信インタフェース3413を介する信号は、情報をトランスポートする搬送波の例示的な形態である。
コンピュータプラットフォーム3401は、インターネット3418およびLAN3415を含む様々なネットワーク、ネットワークリンク3414、および通信インタフェース3413を介して、プログラムコードを含め、メッセージを送信し、データを受信することができる。インターネットの例では、システム3401は、ネットワークサーバとして動作する場合、インターネット3418、ゲートウェイ/ファイアウォール3417、ローカルエリアネットワーク3415、および通信インタフェース3413を介して、クライアント3420および/または3421上で実行されるアプリケーションプログラム向けの要求されたコードまたはデータを送信することが可能である。同様に、システム3401は、他のネットワークリソースからコードを受信することもできる。
受信されるコードは、受信されるにつれ、プロセッサ3405によって実行され、かつ/または永続ストレージデバイス3408または揮発性ストレージデバイス3406の中に、または他の不揮発性ストレージの中に、後の実行のために格納されることが可能である。このようにして、コンピュータシステム3401は、搬送波の形態でアプリケーションコードを獲得することができる。
最後に、本願明細書で説明するプロセスおよび技術は、いずれの特定の装置にも本来的に関連しておらず、構成要素の任意の適切な組み合わせによって実施されることが可能であることを理解されたい。さらに、様々なタイプの汎用デバイスが、本願明細書で説明する教示に従って使用されることが可能である。また、本願明細書で説明する方法ステップを実行する専用の装置を構築することが有利であると判明する可能性もある。本発明は、すべての点で、限定的ではなく、例示的であるものとされる特定の実施例に関連して説明してきた。ハードウェア、ソフトウェア、およびファームウェアの多くの異なる組み合わせが、本発明を実施することに適していることが、当業者には認められよう。例えば、説明するソフトウェアは、アセンブラ、C/C++、perl、shell、PHP、Java(登録商標)などの、多種多様なプログラミング言語またはスクリプト言語で実施されることが可能である。
さらに、本発明の他のインプリメンテーションが、本願明細書で開示する本発明の仕様および実施の考慮から、当業者には明白となろう。説明する諸実施形態の様々な態様および/または構成要素は、コンピュータ化されたストレージシステムにおいて単独で使用されても、任意の組み合わせで使用されてもよい。仕様および実施例は、単に例示的であると考えられるものされ、本発明の真の範囲および趣旨は、添付の特許請求の範囲によって示される。
本発明の概念の第1の例示的な実施形態を示す図である。 本発明の概念の第1の実施形態の例示的なシステム構成を示す図である。 本発明の概念の第1の実施形態の例示的な機能図である。 ジャーナルデータの例示的な実施形態を示す図である。 ジャーナル管理テーブルの例示的な実施形態を示す図である。 スナップショットとジャーナルの間の関係を示す図である。 複数のスナップショットとジャーナルの間の関係を示す図である。 指定された時刻におけるデータを復元するのに必要とされるスナップショットおよびジャーナルデータを示す図である。 指定された時刻におけるデータを復元するのに必要とされるスナップショットおよびジャーナルデータを選択するための手続きの例示的な流れ図である。 バックアップ管理テーブルの例示的な実施形態を示す図である。 指定された期間内のデータを復元するのに必要とされるスナップショットおよびジャーナルデータを示す図である。 指定された期間内のデータを復元するのに必要とされるスナップショットおよびジャーナルデータを選択するための手続きの例示的な流れ図である。 選択されたスナップショットおよびジャーナルデータのバックアップをとるための手続きの例示的な流れ図である。 指定された時刻におけるデータをバックアップデータから復元するための手続きの例示的な流れ図である。 本発明の概念の第2の例示的な実施形態を示す図である。 本発明の概念の第2の実施形態の例示的なシステム構成を示す図である。 本発明の概念の第2の実施形態の例示的な機能図である。 ]本発明の概念の第2の例示的な実施形態によるバックアップ管理テーブルの例示的な実施形態を示す図である。 ハードディスクドライブの例示的な実施形態を示す図である。 磁気テープ上のジャーナルヘッダおよびジャーナルデータの例示的な配列を示す図である。 ジャーナルエントリの例示的なフォーマットを示す図である。 本発明の概念の第3の例示的な実施形態を示す図である。 本発明の概念の第3の実施形態の例示的なシステム構成を示す図である。 バックアップストレージシステムの例示的な実施形態を示す図である。 本発明の概念の第3の例示的な実施形態の例示的な機能図である。 バックアップリソーステーブルの例示的な実施形態を示す図である。 バックアップボリューム上のジャーナルヘッダおよびジャーナルデータの例示的な配列を示す図である。 本発明の概念の第4の例示的な実施形態を示す図である。 本発明の概念の第4の実施形態の例示的なシステム構成を示す図である。 本発明の概念の第4の例示的な実施形態の例示的な機能図である。 本発明の概念の第5の例示的な実施形態を示す図である。 本発明の概念の第5の例示的な実施形態の例示的な機能図である。 本発明のシステムの第5の例示的な実施形態においてスナップショットおよびジャーナルエントリをバックアップすることの例示的な流れ図である。 本発明のシステムが実装されることが可能なコンピュータプラットフォームの例示的な実施形態を示す図である。

Claims (41)

  1. a.ネットワーク相互接続を介して、バックアップコントローラモジュールを含むホストに結合されたストレージシステムであって、
    i.前記ホストからの少なくとも1つの書き込みコマンドに応答して、ホストデータを格納するように動作可能な少なくとも1つのデータボリュームと、
    ii.ある時点でとられた、前記少なくとも1つのデータボリュームの中に格納されたホストデータの少なくとも1つのスナップショットイメージを格納するように動作可能な少なくとも1つのスナップショットボリュームと、
    iii.前記少なくとも1つのスナップショットがとられた時点以来の前記データボリュームの中の前記ホストデータの更新についての情報を含む少なくとも1つのジャーナルレコードを格納するように動作可能な少なくとも1つのジャーナルボリュームと、
    iv.コントローラとを含むストレージシステムと、
    b.少なくとも1つのバックアップボリュームを含み、前記ストレージシステムに動作上、結合され、前記ストレージシステムから、前記少なくとも1つのスナップショットと、前記少なくとも1つのジャーナルレコードとを含むバックアップデータを受信し、前記コントローラから命令を受信すると、前記バックアップデータを前記少なくとも1つのバックアップボリュームに書き込むように動作可能なバックアップストレージシステムとを含むコンピュータ化されたシステム。
  2. 前記バックアップストレージシステムは、コントローラと、前記バックアップデータを格納するように動作可能な磁気テープライブラリシステムと、前記バックアップデータをキャッシュするように動作可能なディスクシステムとを含む、請求項1に記載のコンピュータ化されたシステム。
  3. 前記少なくとも1つのバックアップボリュームは、前記ディスクシステムおよび前記磁気テープライブラリシステムのストレージリソースから割り当てられた仮想ボリュームである、請求項2に記載のコンピュータ化されたシステム。
  4. 前記バックアップストレージシステムは、前記ストレージシステムと同一のインタフェースを含む、請求項1に記載のコンピュータ化されたシステム。
  5. 前記バックアップストレージシステムは、VDL(仮想ディスクライブラリ)を含む、請求項1に記載のコンピュータ化されたシステム。
  6. 前記バックアップ命令は、バックアップ時点を指定し、前記コントローラは、前記バックアップデータの前記少なくとも1つのスナップショットと、前記バックアップデータの前記少なくとも1つのジャーナルレコードとを選択して、前記バックアップ時点における前記ホストデータが、前記バックアップデータから回復されることが可能であるようにする、請求項1に記載のコンピュータ化されたシステム。
  7. 前記バックアップ命令は、バックアップ期間を指定し、前記コントローラは、前記バックアップデータの前記少なくとも1つのスナップショットと、前記バックアップデータの前記少なくとも1つのジャーナルレコードとを選択して、前記バックアップ期間中の前記ホストデータが、前記バックアップデータから回復されることが可能であるようにする、請求項1に記載のコンピュータ化されたシステム。
  8. 前記コントローラは、前記少なくとも1つのバックアップボリュームの利用可能性および使用ステータスについての情報を含むバックアップリソーステーブルを含む、請求項1に記載のコンピュータ化されたシステム。
  9. 前記バックアップリソーステーブルは、前記少なくとも1つのバックアップボリュームのそれぞれに関するボリューム識別子を含む、請求項8に記載のコンピュータ化されたシステム。
  10. 前記データボリュームは、少なくとも1つのジャーナルグループにグループ化され、前記コントローラは、前記ジャーナルグループ、および各ジャーナルグループ間の関係についての構成情報と、前記ジャーナルグループに関連するジャーナルボリュームと、前記ジャーナルグループに関連するスナップショットイメージとを格納するジャーナル管理テーブルを含む、請求項1に記載のコンピュータ化されたシステム。
  11. 前記コントローラは、前記ホストからバックアップ命令を受信して、前記バックアップデータのバックアップをとるよう、前記データバックアップシステムに命令するように動作可能なバックアップマネージャを含む、請求項1に記載のコンピュータ化されたシステム。
  12. 前記データバックアップシステムは、指定された時点における前記データボリュームの状態を回復するように動作可能である、請求項1に記載のコンピュータ化されたシステム。
  13. 前記回復中、前記データバックアップシステムは、前記バックアップボリュームから少なくとも1つのスナップショットイメージと、少なくとも1つのジャーナルレコードとを読み取り、前記読み取られたスナップショットイメージ、および前記ジャーナルレコードを前記コントローラに転送するように動作可能であり、前記コントローラは、前記読み取られたジャーナルレコードを前記スナップショットイメージに適用して、前記指定された時点における前記データボリュームの状態を獲得するように動作可能である、請求項12に記載のコンピュータ化されたシステム。
  14. 前記バックアップストレージシステムは、前記指定された時点における前記データボリュームの状態を、前記ストレージシステムとは異なる第2のストレージシステムに回復するように動作可能である、請求項12に記載のコンピュータ化されたシステム。
  15. バックアップマネージャと、バックアップ管理テーブルと、バックアップリソーステーブルとを含み、前記スナップショットボリュームのコンテンツ、および前記ジャーナルボリュームのコンテンツが、前記バックアップストレージシステムに書き込まれるようにし、前記指定された時点における前記データボリュームの状態が、前記ストレージシステムとは異なる第2のストレージシステムに回復されるようにするように動作可能なバックアップ管理ホストをさらに含む請求項12に記載のコンピュータ化されたシステム。
  16. 前記ストレージシステムは、前記スナップショットボリュームの前記コンテンツ、および前記ジャーナルボリュームの前記コンテンツを前記バックアップストレージシステムに直接に転送するように動作可能である、請求項12に記載のコンピュータ化されたシステム。
  17. 前記ストレージシステムは、前記スナップショットボリュームの前記コンテンツ、および前記ジャーナルボリュームの前記コンテンツを、前記バックアップ管理ホストを介して、前記バックアップストレージシステムに転送するように動作可能である、請求項12に記載のコンピュータ化されたシステム。
  18. 前記コントローラは、前記少なくとも1つのバックアップボリュームに書き込まれた前記バックアップデータの各スナップショットおよび各グループジャーナルレコードに対応する少なくとも1つのエントリを含むバックアップ管理テーブルを含む、請求項1に記載のコンピュータ化されたシステム。
  19. 前記バックアップ管理テーブルの前記少なくとも1つのエントリは、
    a.前記バックアップデータに対応するジャーナルグループを識別するジャーナルグループ識別子と、
    b.前記バックアップデータに対応する前記ジャーナルグループのジャーナルグループ名と、
    c.スナップショットイメージ時刻、または前記ジャーナルエントリグループの開始時刻を示す開始時刻と、
    d.前記ジャーナルエントリグループの終了時刻を示す終了時刻と、
    e.前記バックアップデータを格納している前記バックアップ媒体を識別する媒体識別子と、
    f.前記少なくとも1つのバックアップボリューム上の前記バックアップデータのロケーションを示すアドレスと、
    g.前記バックアップデータの長さとを含む、請求項18に記載のコンピュータ化されたシステム。
  20. a.ネットワーク相互接続を介して、バックアップコントローラモジュールを含むホストに結合された第1のストレージシステムであって、
    i.前記ホストからの少なくとも1つの書き込みコマンドに応答して、ホストデータを格納するように動作可能な少なくとも1つのデータボリュームと、
    ii.ある時点でとられた、前記少なくとも1つのデータボリュームの中に格納されたホストデータの少なくとも1つのスナップショットイメージを格納するように動作可能な少なくとも1つのスナップショットボリュームと、
    iii.前記少なくとも1つのスナップショットがとられた時点以来の前記データボリュームの中の前記ホストデータの更新についての情報を含む少なくとも1つのジャーナルレコードを格納するように動作可能な少なくとも1つのジャーナルボリュームとを含む第1のストレージシステムと、
    b.バックアップ管理ホストと、
    c.少なくとも1つのバックアップボリュームを含み、前記第1のストレージシステム、および第2のストレージシステムに動作上、結合されたバックアップストレージシステムであって、
    i.前記第1のストレージシステムから、前記少なくとも1つのスナップショットと、前記少なくとも1つのジャーナルレコードとを含むバックアップデータを受信し、
    ii.前記バックアップ管理ホストから命令を受信すると、前記バックアップデータを前記少なくとも1つのバックアップボリュームに書き込み、
    iii.前記少なくとも1つのバックアップボリュームからの前記バックアップデータの少なくとも一部分を、前記第2のストレージシステムに復元するように動作可能なバックアップストレージシステムとを含むコンピュータ化されたシステム。
  21. 前記第1のストレージシステムは、前記バックアップ管理ホストから、バックアップ時点を指定するバックアップ命令を受信するように動作可能であり、前記受信されたバックアップ命令に応答して、前記第1のストレージシステムは、前記バックアップデータの前記少なくとも1つのスナップショットと、前記バックアップデータの前記少なくとも1つのジャーナルレコードとを選択して、前記バックアップ時点における前記ホストデータが、前記バックアップデータから回復されることが可能であるようにし、前記バックアップデータを前記バックアップ管理ホストに供給するように動作可能である、請求項20に記載のコンピュータ化されたシステム。
  22. 前記第1のストレージシステムは、前記少なくとも1つのジャーナルレコードのフォーマット情報を前記バックアップ管理ホストに供給するようにさらに動作可能である、請求項21に記載のコンピュータ化されたシステム。
  23. 前記バックアップ管理ホストは、
    a.前記第1のストレージシステムから前記バックアップデータを受信し、
    b.前記受信されたバックアップデータを前記バックアップストレージシステムに供給し、
    c.前記第1のストレージシステムから前記少なくとも1つのジャーナルレコードの前記フォーマット情報を受信して、前記受信されたフォーマット情報を格納するようにさらに動作可能である、請求項22に記載のコンピュータ化されたシステム。
  24. 前記バックアップストレージシステムは、
    i.前記バックアップ管理ホストから、バックアップ時点を指定する復元コマンドを受信し、
    ii.前記バックアップボリュームの中に格納されているバックアップデータを選択して、前記バックアップ時点における前記ホストデータが、前記バックアップデータから回復されることが可能であるようにし、前記バックアップデータを前記バックアップ管理ホストに供給するように動作可能である、請求項20に記載のコンピュータ化されたシステム。
  25. 前記バックアップ管理ホストは、前記バックアップストレージシステムから前記バックアップデータを受信して、前記受信されたバックアップデータを前記第2のストレージシステムに供給するように動作可能である、請求項20に記載のコンピュータ化されたシステム。
  26. 前記バックアップ管理ホストは、前記受信されたバックアップデータの前記ジャーナルレコードを、前記第1のストレージシステムの第1のジャーナルレコードフォーマットから、前記第2のストレージシステムの第2のジャーナルレコードフォーマットに変換するようにさらに動作可能である、請求項25に記載のコンピュータ化されたシステム。
  27. 前記バックアップストレージシステムは、前記バックアップ管理ホストから命令を受信すると、前記第1のストレージシステムから前記バックアップデータを直接に受信するように動作可能である、請求項20に記載のコンピュータ化されたシステム。
  28. 前記バックアップ管理ホストは、前記少なくとも1つのバックアップボリュームの利用可能性および使用ステータスについての情報を含むバックアップリソーステーブルを含む、請求項20に記載のコンピュータ化されたシステム。
  29. 前記バックアップリソーステーブルは、前記少なくとも1つのバックアップボリュームのそれぞれに関するボリューム識別子を含む、請求項28に記載のコンピュータ化されたシステム。
  30. a.第1のストレージシステムにおいて、ホストから少なくとも1つの書き込みコマンドを受信すること、
    b.前記少なくとも1つの受信された書き込みコマンドに関連するホストデータをデータボリュームに書き込むこと、
    c.前記データボリュームに格納されたホストデータの少なくとも1つのスナップショットイメージをとること、
    d.前記少なくとも1つのスナップショットがとられた時点以来の前記データボリュームの中の前記ホストデータの更新についての情報を含む少なくとも1つのジャーナルレコードを格納すること、
    e.前記ホストから、時刻を指定するバックアップ命令を受信すること、
    f.前記指定された時刻における前記データボリュームの中のデータを回復するのに必要な少なくとも1つのスナップショットイメージと、少なくとも1つのジャーナルレコードとを選択すること、および
    g.前記選択されたスナップショットイメージ、および少なくとも1つのジャーナルレコードをバックアップボリュームに書き込むことを含む方法。
  31. 前記指定された時刻は、ある時点である、請求項30に記載の方法。
  32. 前記指定された時刻は、ある期間である、請求項30に記載の方法。
  33. 前記バックアップボリュームから少なくとも1つのスナップショットイメージと、少なくとも1つのジャーナルレコードとを読み取り、前記少なくとも1つのジャーナルエントリを前記少なくとも1つのスナップショットイメージに適用することを含む、指定された回復時刻における前記データボリュームの中の前記ホストデータの少なくとも一部分を回復することをさらに含む請求項30に記載の方法。
  34. 前記回復されたホストデータを前記データボリュームに書き込むことをさらに含む請求項33に記載の方法。
  35. 前記ホストデータの少なくとも一部分を前記回復することは、前記第1のストレージシステムとは異なる第2のストレージシステムに行われる、請求項33に記載の方法。
  36. 前記選択されたスナップショットイメージ、および少なくとも1つのジャーナルレコードは、前記第1のストレージシステムから前記バックアップボリュームに直接に送信される、請求項35に記載の方法。
  37. 前記バックアップボリュームから読み取られた前記ジャーナルレコードを、前記第1のストレージシステムの第1のジャーナルレコードフォーマットから、前記第2のストレージシステムの第2のジャーナルレコードフォーマットに変換することをさらに含む請求項55に記載の方法。
  38. 前記選択することは、
    i.スナップショットイメージおよびジャーナルエントリの最も早い時刻と最も遅い時刻を特定すること、
    ii.前記指定された時刻が、前記最も早い時刻と前記最も遅い時刻の間にあるかどうかを調べること、
    iii.前記指定された時刻が、前記最も遅い時刻より後であり、前記指定された時刻が将来にある場合、前記指定された時刻が来るまで待つこと、
    iv.前記指定された時刻が、前記最も早い時刻と前記最も遅い時刻の間にある場合、前記指定された時刻より前の最後のスナップショットイメージを選択すること、および
    v.前記選択されたスナップショットイメージの時点と、前記指定された時刻との間にジャーナルエントリが存在する場合、それらすべてのジャーナルエントリをさらに選択することを含む、請求項31に記載の方法。
  39. 前記選択することは、
    i.スナップショットイメージおよびジャーナルエントリの最も早い時刻と最も遅い時刻を特定すること、
    ii.前記指定された期間が、前記最も早い時刻と前記最も遅い時刻の間にあるかどうかを調べること、
    iii.前記指定された期間の終了時刻が、前記最も遅い時刻より後であり、前記指定された期間の前記終了時刻が、将来にある場合、前記指定された期間の前記終了時刻が来るまで待つこと、
    iv.前記指定された期間が、前記最も早い時刻と前記最も遅い時刻の間にある場合、前記指定された期間の開始時刻より前の最後のスナップショットイメージを選択すること、
    v.前記選択されたスナップショットイメージの前記時刻と、前記指定された期間の前記終了時刻との間にスナップショットイメージが存在する場合、それらすべてのスナップショットイメージをさらに選択すること、および
    vi.ivで選択された前記スナップショットイメージの前記時刻と、前記指定された期間の前記終了との間にジャーナルエントリが存在する場合、それらすべてのジャーナルエントリをさらに選択することを含む、請求項32に記載の方法。
  40. 前記バックアップボリュームに書き込まれる各スナップショット、および各ジャーナルレコードセットに関して、
    i.前記バックアップデータに対応するジャーナルグループを識別するジャーナルグループ識別子と、
    ii.前記バックアップデータに対応する前記ジャーナルグループの名前と、
    iii.スナップショットイメージ時刻または前記ジャーナルエントリグループの開始時点を示す開始時刻と、
    iv.前記ジャーナルエントリグループの終了時点を示す終了時刻と、
    v.前記バックアップデータを格納する前記バックアップ媒体を識別する媒体識別子と、
    vi.前記バックアップボリューム上の前記バックアップデータのロケーションを示すアドレスと、
    vii.前記バックアップデータの長さとを含む少なくとも1つのエントリをバックアップ管理テーブルに挿入することをさらに含む請求項30に記載の方法。
  41. a.バックアップ管理ホストにおいて、ジャーナルグループ、バックアップボリューム、および時刻情報によって指定されるバックアップ目標を指定すること、
    b.ストレージシステムにおいて、前記時刻情報によって識別されたデータの回復を保証するスナップショットおよびジャーナルエントリを選択すること、
    c.前記指定されたバックアップボリュームに、前記選択されたスナップショットおよびジャーナルエントリのバックアップを実行すること、
    d.前記バックアップ管理ホストに、前記バックアップボリュームの最高の使用中のアドレス、およびジャーナルエントリのフォーマットを戻すこと、および
    e.前記バックアップボリュームの前記戻された最高の使用中のアドレス、およびジャーナルエントリの前記フォーマットを前記バックアップ管理ホストにおいて格納することを含む方法。
JP2007129231A 2006-05-23 2007-05-15 バックアップデータおよびジャーナルを管理するための方法および装置 Pending JP2007317186A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/439,610 US20070276884A1 (en) 2006-05-23 2006-05-23 Method and apparatus for managing backup data and journal
US11/546,073 US20070277012A1 (en) 2006-05-23 2006-10-10 Method and apparatus for managing backup data and journal

Publications (1)

Publication Number Publication Date
JP2007317186A true JP2007317186A (ja) 2007-12-06

Family

ID=38850950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007129231A Pending JP2007317186A (ja) 2006-05-23 2007-05-15 バックアップデータおよびジャーナルを管理するための方法および装置

Country Status (2)

Country Link
US (1) US20070277012A1 (ja)
JP (1) JP2007317186A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011083507A1 (en) 2010-01-05 2011-07-14 Hitachi,Ltd. Replication system and its control method
JP2012519318A (ja) * 2009-05-25 2012-08-23 株式会社日立製作所 計算機システムとそのデータ制御方法
JP2017509958A (ja) * 2014-02-07 2017-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
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
JP2022501747A (ja) * 2018-11-30 2022-01-06 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 データバックアップ方法、装置、サーバ及びコンピュータプログラム
KR102477051B1 (ko) * 2022-07-01 2022-12-13 삼성전자주식회사 네트워크를 이용한 스토리지 장치의 데이터 복구 방법 및 이를 수행하는 스토리지 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4938328B2 (ja) * 2006-03-28 2012-05-23 株式会社日立製作所 記憶システム及びその電源制御方法並びにストレージ装置
JP4890160B2 (ja) * 2006-09-06 2012-03-07 株式会社日立製作所 ストレージシステム及びバックアップ/リカバリ方法
JP2009217404A (ja) * 2008-03-07 2009-09-24 Hitachi Ltd ストレージシステム
US8006116B1 (en) * 2008-03-31 2011-08-23 Symantec Corporation Systems and methods for storing health information with computing-system backups
JP5366480B2 (ja) * 2008-08-27 2013-12-11 株式会社日立製作所 計算機システム及びそのバックアップ方法
US9588858B2 (en) * 2010-11-29 2017-03-07 Ca, Inc. Periodic data replication
US9600376B1 (en) * 2012-07-02 2017-03-21 Veritas Technologies Llc Backup and replication configuration using replication topology
US9063967B2 (en) 2013-01-10 2015-06-23 Pure Storage, Inc. Performing copies in a storage system
US10157014B1 (en) * 2013-12-16 2018-12-18 EMC IP Holding Company LLC Maintaining backup snapshots on deduplicated storage using continuous replication
US9619342B2 (en) * 2014-06-24 2017-04-11 International Business Machines Corporation Back up and recovery in virtual machine environments
US20170123657A1 (en) * 2015-11-02 2017-05-04 Dell Products L.P. Systems and methods for back up in scale-out storage area network
JP2021033671A (ja) * 2019-08-26 2021-03-01 株式会社日立製作所 ストレージシステムおよびリストア方法
US11347427B2 (en) * 2020-06-30 2022-05-31 EMC IP Holding Company LLC Separation of dataset creation from movement in file replication
US11531498B2 (en) * 2020-11-20 2022-12-20 Western Digital Technologies, Inc. Peer storage device messaging over control bus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3537281B2 (ja) * 1997-01-17 2004-06-14 株式会社日立製作所 共有ディスク型多重系システム
US6618794B1 (en) * 2000-10-31 2003-09-09 Hewlett-Packard Development Company, L.P. System for generating a point-in-time copy of data in a data storage system
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
JP4454342B2 (ja) * 2004-03-02 2010-04-21 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US7318134B1 (en) * 2004-03-16 2008-01-08 Emc Corporation Continuous data backup using distributed journaling
JP2007094578A (ja) * 2005-09-27 2007-04-12 Fujitsu Ltd ストレージシステム及びその構成部品交換処理方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012519318A (ja) * 2009-05-25 2012-08-23 株式会社日立製作所 計算機システムとそのデータ制御方法
US9075534B2 (en) 2009-05-25 2015-07-07 Hitachi, Ltd. Computer system and its data control method
WO2011083507A1 (en) 2010-01-05 2011-07-14 Hitachi,Ltd. Replication system and its control method
US8219768B2 (en) 2010-01-05 2012-07-10 Hitachi, Ltd. System and method for establishing a copy pair relationship between source and destination volumes
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
US10372546B2 (en) 2014-02-07 2019-08-06 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
US11150994B2 (en) 2014-02-07 2021-10-19 International Business Machines Corporation Creating a restore copy from a copy of source data in a repository having source data at different point-in-times
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
JP2017509958A (ja) * 2014-02-07 2017-04-06 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 異なるポイント・イン・タイムにおけるソース・データを有するリポジトリのソース・データのコピーからのリストア・コピーの生成
US10387446B2 (en) 2014-04-28 2019-08-20 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
US11630839B2 (en) 2014-04-28 2023-04-18 International Business Machines Corporation Merging multiple point-in-time copies into a merged point-in-time copy
JP2022501747A (ja) * 2018-11-30 2022-01-06 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 データバックアップ方法、装置、サーバ及びコンピュータプログラム
JP7395227B2 (ja) 2018-11-30 2023-12-11 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 データバックアップ方法、装置、サーバ及びコンピュータプログラム
US12001297B2 (en) 2018-11-30 2024-06-04 Tencent Technology (Shenzhen) Company Limited Data backup method and apparatus, server, and computer-readable storage medium
KR102477051B1 (ko) * 2022-07-01 2022-12-13 삼성전자주식회사 네트워크를 이용한 스토리지 장치의 데이터 복구 방법 및 이를 수행하는 스토리지 장치

Also Published As

Publication number Publication date
US20070277012A1 (en) 2007-11-29

Similar Documents

Publication Publication Date Title
JP2007317186A (ja) バックアップデータおよびジャーナルを管理するための方法および装置
US20070276884A1 (en) Method and apparatus for managing backup data and journal
US7197615B2 (en) Remote copy system maintaining consistency
CN100416538C (zh) 动态修改通信路径的方法
US6950915B2 (en) Data storage subsystem
JP4324616B2 (ja) ストレージシステムにおけるデータ処理方法
US7225307B2 (en) Apparatus, system, and method for synchronizing an asynchronous mirror volume using a synchronous mirror volume
CN102652423B (zh) 用于集群选择和协作复制的方法和系统
EP1179770B1 (en) File system
US7313663B2 (en) Storage system and data processing system
US7594072B2 (en) Method and apparatus incorporating virtualization for data storage and protection
US6643671B2 (en) System and method for synchronizing a data copy using an accumulation remote copy trio consistency group
US20020194529A1 (en) Resynchronization of mirrored storage devices
CN101755257B (zh) 管理在不同的网络上将写入从首要存储器拷贝到次要存储器
JPH0981432A (ja) 分散記憶コントローラのためのソフトウエア指示されたマイクロコード状態保管システム
US7761431B2 (en) Consolidating session information for a cluster of sessions in a coupled session environment
JP2003162439A (ja) ストレージシステム及びその制御方法
US20070294314A1 (en) Bitmap based synchronization
US20080195827A1 (en) Storage control device for storage virtualization system
JP2007179342A (ja) ストレージシステム及びスナップショット管理方法
JP2003233467A (ja) ストレージベースリモートコピーでのパス選択方式
US20080281876A1 (en) Methods and apparatus to recover data and configuration of storage system
JP2008171387A (ja) 継続的データ保護を備えたバックアップシステム
JP2005031716A (ja) データバックアップの方法及び装置
JP4783076B2 (ja) ディスクアレイ装置及びその制御方法

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090216