JP2007293828A - 継続的データ保護の複数種類のイベントマーカを処理するシステムと方法 - Google Patents

継続的データ保護の複数種類のイベントマーカを処理するシステムと方法 Download PDF

Info

Publication number
JP2007293828A
JP2007293828A JP2007081499A JP2007081499A JP2007293828A JP 2007293828 A JP2007293828 A JP 2007293828A JP 2007081499 A JP2007081499 A JP 2007081499A JP 2007081499 A JP2007081499 A JP 2007081499A JP 2007293828 A JP2007293828 A JP 2007293828A
Authority
JP
Japan
Prior art keywords
volume
journal
storage
data
computer
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
JP2007081499A
Other languages
English (en)
Inventor
Yoshiki Kano
義樹 加納
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
Publication of JP2007293828A publication Critical patent/JP2007293828A/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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

【課題】継続的データ保護に対するコンピュータ化されたシステムを提供する。
【解決手段】ストレージサブシステムはストレージコントローラとストレージコントローラに接続されるストレージディスクを含む。ストレージディスクは論理パーティションに割り当てられる。ストレージサブシステムはさらにユーザアプリケーションに関連する現在のデータを保存する一次ボリューム、ユーザアプリケーションに関連するデータの時点コピーを保存するベースボリューム、ユーザアプリケーションに関連するデータを保存するジャーナルボリューム、およびホストによってストレージサブシステムに送られたデータ書き込み要求を止めて、止められた要求に関連するデータを一次ボリュームとベースボリュームに書き込み、およびユーザアプリケーションに関連する第二のデータをジャーナルボリュームに書き込むために構成されたジャーナルマネジャを含む。
【選択図】図2

Description

本発明は、一般的にはデータストレージシステムに、および、より具体的には、ストレージサブシステムを使用した継続的データ保護に関係する。
継続的データ保護(Continuos Data Protection;CDP)技術はユーザアプリケーションによって実行される全ての書き込み入力―出力(IO)オペレーションをジャーナル処理することによってユーザデータに対する継続的保護を提供する。ログはストレージデバイス上に保存され、これは一次システムストレージから独立している。近代的CDPシステムは、イベントのタイミングチェックポイントまたはアプリケーションの設置のような、ターゲットソフトウエアアプリケーションの多様な動作を検出する。次に、CDPシステムは、それぞれのログレコードのヘッダ内にマーカ情報を書き込んで、ターゲットの動作に関する情報を保存する。
典型的なストレージベースのCDPシステムは米国公開特許出願 No.US20040268067A1,タイトル“Method and apparatus for backup and recovery system using storage based journaling as a reference”に説明されており、これは参考のためにここに組み込まれている。説明されたシステムは書き込みジャーナル処理能力にコピーを提供し、アプリケーションデータのジャーナルログとスナップショットイメージに対する固有のシーケンス番号を保持する。
さらに、いくつかの市販の製品がある。一つの主要企業の製品はREVIO CPS 1200iである。この製品の説明はhttp:www.revivio.com/index.asp?p=prod_CPS_1200iで見つけることが可能であり、ここでは参考のために組み込まれている。前述の製品はホストシステムによって実行される入力―出力(IO)オペレーションをミラーリングするために動作する。データのミラーリングは装置によって実行され、これはミラーリングされたIOデータを受信し、ジャーナルフォーマットで受信データを保存し、さらに後続のリストアオペレーションに対してインデックス処理情報を提供する。
他のCDP製品は、これはソフトウエアアプリケーションの振る舞いを調べることが可能であるが、XOSoftの Enterprise Rewinder User Guide製品であり、その説明内容はhttp:www.xosoft.com/documentation/EnterpriseRewinder_User_Guide.pdfからダウンロードでき、ここでは参考のために組み込まれている。この製品は、Microsoft(R)Exchange(R)に対して特別にデザインされており、ユーザアプリケーションの振る舞いをベースにしてそれ自身のオペレーションを適応させる。
上記の進歩にもかかわらず、新しい技術がストレージサブシステム内の更なる知能と同じくCDPの振る舞いの更なる効率を提供することを求められ、これはターゲットアプリケーションの振る舞いのより良い理解を必要とする。
本発明の方法は継続的データ保護に対する従来の技術に関連する上記のおよび他の問題の一つ以上を実質的に取り除く方法とシステムに向けられている。
本発明の技術の一つの側面に従うと、継続的データ保護に対するコンピュータ化されたシステムと関連の方法とコンピュータプログラミングプロダクトが提供される。本発明のシステムはユーザアプリケーションを実行するホストとネットワーク相互接続を経由してホストに接続されるストレージサブシステムを含む。ストレージサブシステムはストレージコントローラとストレージコントローラに接続される少なくとも一つのストレージディスクを含む。ストレージディスクは論理パーティションに割り当てられる。本発明のストレージシステムはさらにユーザアプリケーションに関連した現在のデータを保存可能な一次ボリューム、ユーザアプリケーションに関連した第一のデータを保存するベースボリューム、ユーザアプリケーションに関連した第二のデータを保存するジャーナルボリューム、ホストによってストレージサブシステムに送られたデータ書き込み要求を止めて、止められた要求に関連したデータを一次ボリュームとベースボリュームに書き込み、ユーザアプリケーションに関連した第二のデータをジャーナルボリュームに書き込み可能なジャーナルマネジャ、およびホストからコマンド属性を受信し、受信したコマンド属性をベースにジャーナルマネジャを構成可能なコマンドデバイスを含む。
本発明の技術の他の側面に従うと、コンピュータ実施の方法と関連のシステムとコンピュータプログラミングプロダクトが提供される。本発明の方法は、アフタジャーナル処理モードを特定するコマンド属性をストレージサブシステムで受信すること、ユーザアプリケーションによって発行されたストレージアクセスコマンドをストレージサブシステムで止めること、止められたストレージアクセスコマンドが書き込みオペレーションを含むかを決定すること、もしも止められたストレージアクセスコマンドが書き込みオペレーションを含まないと、一次ストレージボリュームで止められたストレージアクセスコマンドを処理し、オペレーションを終了させること、もしも止められたストレージアクセスコマンドが書き込みオペレーションを含むと、ストレージアクセスコマンドに関連したデータを一次ボリュームに書き込むこと、およびストレージアクセスコマンドに関連した増加変化データをジャーナルボリュームに書き込むこと含む。
本発明の技術のさらに他の側面に従うと、コンピュータ実施の方法と関連のシステムとコンピュータプログラミングプロダクトが提供される。本発明の方法は、ビフォアジャーナル処理モードを特定するコマンド属性をストレージサブシステムで受信すること、ユーザアプリケーションによって発行されたストレージアクセスコマンドをストレージサブシステムで止めること、止められたストレージアクセスコマンドが書き込みオペレーションを含むかを決定すること、もしも止められたストレージアクセスコマンドが書き込みオペレーションを含まないと、一次ストレージボリュームで止められたストレージアクセスコマンドを処理し、オペレーションを終了させること、もしも止められたストレージアクセスコマンドが書き込みオペレーションを含むと、ストレージアクセスコマンドに関連したデータを一次ボリュームに書き込むこと、古いデータをベースボリュームからジャーナルボリュームにコピーすること、およびストレージアクセスコマンドに関連したデータをベースボリュームに書き込むこと含む。
本発明に関係する追加の側面は後続の説明で部分的に述べられ、説明から部分的には明かになり、または本発明の実施によって学ぶことができる。本発明の側面は、後続の詳細な説明と添付の特許請求項において特に指摘される要素と多様な要素の組み合わせと側面によって実現され達成されることができる。
前述のおよび後述の説明は典型的および説明的だけであり、いかなる態様においても請求された発明またはその応用を限定する意図がないことは理解される。
添付の図面は、この明細書に組み入れられ、部分を構成し、本発明の実施例を示し、説明と共に、本発明の技術の原理を説明し図示するのに役に立つ。
後述の詳細な説明において、添付の図面が参照され、これにおいて同一の機能要素は同じ番号で示される。前述の添付の図面は、図示のためであるが、限定するものではなく、本発明の原理と一致する特定の実施例と具体化を示す。これらの具体化はこの技術に精通する人達が本発明を実施することを可能にするために充分に詳細に説明されており、および、他の具体化の利用、および構造的な変更および/または多様な要素の置き換えが本発明の範囲と精神から離れることなく実現されることができることが理解される。従って、後述の詳細な説明は限定的な意味で解釈されるべきでない。さらに、説明される本発明の多様な実施例は汎用コンピュータ上で動作するソフトウエアの形式で、特別のハードウエア、またはソフトウエアとハードウエアの組み合わせの形式で具体化されることができる。
最初に、後続の詳細な説明の前に、前述の説明の中で使用されたある特別の用語が説明される。特に、ここで使用されているように、論理ユニット(LU)はストレージサブシステム上のSCSIコマンドを使用してホストからデータをアクセスするために使用される単位である。LUは少なくとも一つの論理デバイス(LDEV)にマッピングされる必要がある。論理ユニット番号(LUN)は各LUの識別番号であり、これはSCSIコマンドを使用して論理ユニットを特定するために使用される。各LUはLUNとワールドワイドネーム(World Wide Name;WWN)の関連するセットを有する。
論理デバイス(LDEV)はストレージサブシステム内にデータを保存するために構成されたストレージ領域である。これは少なくとも一つの物理ディスクを含むことができる。イメージはジャーナルデータが適用されるLDEVである。仮想LUはそのLUに関連したLDEVの存在に関係なくホストからアクセス可能なLUである。マーカはホストのエージェントからストレージサブシステムに送られる。最後に、ヘッダ/フッタ情報はデータとマーカを保持するために提供されるジャーナルに対するメタデータを含む場合があり、これはホストから送られる。
第一の実施例
本発明の第一の実施例は、ストレージサブシステム上に配置されたCDPが属性と動作のテーブルを使用して属性をベースにしたアプリケーションの動作を選択する能力を提供する方法を示す。本発明のシステムのCDPはビフォアとアフタの両方のジャーナル処理モードで動作できる。本発明の概念を使用して達成されることのできる利点の一つは、アプリケーションの状態が変化する時に、アプリケーションがCDP動作モードを制御可能であり、それによって、アプリケーションが開始される時に、ストレージサブシステムのCDP上のジャーナルデータの長さが短くされることが可能であることである。さらに、もしもデータベースアプリケーションのようなアプリケーションがオンラインバックアップモードに入るか、またはリカバリオペレーションに入り込んでさえも、アプリケーションは“ビフォア”イメージを保持可能である。
物理的構成
図1は本発明の第一の典型的な実施例の多様なハードウエア構成部分、およびこれらの構成部分の間の相互接続を示す図である。図1に示される本発明の実施例は少なくとも一つのストレージサブシステム30に実効的に接続される少なくとも一つのホスト10を含む。ホスト10はホスト10のハードウエアプラットホーム上で動作するオペレーティングシステム(OS)を含むことができる。ホスト10のハードウエアは標準的ワークステーションまたはパーソナルコンピュータの形で具体化されることができる。ホストは中央処理装置(CPU)11、メモリ12、および内部ストレージディスクドライブ13を含むことができる。ホストはまたファイバチャネル(FC)またはイーサネット(登録商標)スイッチ400にホスト10を接続可能なホストバスアダプタ(HBA)14を含むことができる。各ホスト10はストレージサブシステム30によって提供される一つ以上の論理ユニット(LU)上にそのデータを保存することができる。
ストレージサブシステム30は後述の能力を有することができる。特に、ストレージサブシステム30はストレージサブシステム30のストレージリソース内に割り当てられた論理ストレージユニット(LU)上にファイバチャネルプロトコル(FCP)を通してSCSI−2,3コマンドを使用してデータを保存するために構成されることができる。ストレージサブシステム30はさらに一つ以上のRAIDコントローラ(CTL)20と一つ以上のストレージディスクドライブ32を組み込むことができる。コントローラ20は一つ以上の中央処理装置、一つ以上のメモリユニット、および一つ以上のネットワークインタフェース(NIC)を含むことができ、これはイーサネット(登録商標)および/またはFCポート21と22を含むことができる。前述のポートは、SCSII/Oオペレーションの処理を可能にするためにストレージエリアネットワーク(SAN)に、またはディスク32にシステムを接続するために提供されることができる。ストレージサブシステム30のRAID構成はストレージサブシステム内に存在するいくつかのディスク32を使用することができる。コントローラ20は好適には不揮発性ランダムアクセスメモリ(NVRAM)を含み、データキャッシュデバイスまたは、例えば、電源不良からデータを保護するためのデバイスとして前述のNVRAMを利用するために構成される。
コントローラ20は、SCSIワールド内のターゲットIDを特定し、およびファイバチャネル(FC)ポート上の論理ユニット番号(LUN)を含み、関連するWWN(World Wide Name)を有するポートをストレージサブシステムに提供する。ストレージサブシステムはさらに管理コンソール23を含み、これは内部相互接続を経由してストレージサブシステム30に接続されることができる。ストレージサブシステム30はさらにスイッチ/ハブ401を経由してシステム30に接続されるコンソール402を通してアクセスされることができる。コンソール402は、ストレージサブシステム30を管理するために用意された汎用ウェブベースのPCまたは同様のワークステーションシステムを使用して具体化されることができる。コンソール23はストレージサブシステム30の保守者によって利用されるために構成される。コンソール402はストレージシステム管理者による使用のために提供され、ストレージシステムの筐体の外に配置されることができ、および前述のスイッチ/ハブ401を通してアクセス可能である。
論理構成
図2は本発明のシステムの説明される実施例の多様なソフトウエア構成部分の論理的構成とこれらの構成部分の中の相互動作を示す構成図である。
SAN400
ストレージエリアネットワーク(SAN)400はホスト10とストレージサブシステム30の間の論理データ接続を提供する。SAN400は、例えば、スイッチまたはハブを使用して具体化されることができ、例えば、ファイバチャネル(FC)および/またはイーサネット(登録商標)プロトコルにより動作し、この技術に精通した人に良く知られている。この技術に精通した人に理解されるように、本発明は何らかの特定のプロトコルに限定されることはなく、他の適切なプロトコルがSAN400を具体化するのに使用されることができる。SANの機能は、例えば、適切なファイバチャネル(FC)スイッチまたはハブ、またはイーサネット(登録商標)スイッチまたはハブによって提供されることができる。
LAN/WAN401
LAN/WAN401は、例えば、イーサネット(登録商標)、FDDI,またはトークンリングスイッチ等のような多様なネットワークスイッチを使用して、コンソール402とストレージサブシステム30の間の論理接続を提供する。ストレージサブシステム30はストレージサブシステム30を管理する目的のために他のホストからここへのアクセスを可能にするためにLAN/WAN401に接続される。
ホスト10
ホスト10はオペレーティングシステム(OS)(図には示されていない)、データベースアプリケーション(DB)のようなアプリケーション16、およびエージェント15を含むことができる。OSは、限定することなく、UNIX(R),Microsoft Windows(R),SUN(TM)Solaris(TM),IBM(R)のZ/OS(R)またはAIX(R)を含む任意の適切なオペレーティングシステムであることができる。この技術に精通した人に理解されるように、多くの他のタイプのオペレーティングシステムが、この技術に精通した人に知られており、使用されることができる。アプリケーションは、データベース(DB)または任意の他の種類のオフィスータイプのアプリケーションのようなトランザクションタイプのアプリケーションであることができる。
エージェント15はストレージサブシステム30とコミュニケーションを行う。エージェントとストレージサブシステムの間のコミュニケーションに対して利用されるコミュニケーション方法に関して、本発明の一つの実施例はSCSIコマンドセットを使用してストレージデバイスを制御する技術を使用する。この技術はこの技術に精通した人に良く知られており、例えば、ヨーロッパ特許No.EP1246050に説明されており、これはここで参考のために組み入れられる。エージェント15は一般的にEP1246050で説明されているシステムのホストコンピュータ上のオペレーションAPI(RMLIM)に対応することを注意すべきである。一方で、本発明のコマンドデバイス(CMDDEV)36は一般的にEP1246050に説明されているコマンドデバイス(CM)と同じである。
エージェント15はストレージサブシステム30内に配置されたCDPを制御するために構成された、いくつかのアプリケーションプログラミングインタフェース(API)を有することができる。特に、図3はそれぞれのAPIの典型的なリストを示す。エージェント15のAPIセット内の各機能コールはインスタンス番号を有する。このインスタンスはコミュニケーションパスがエージェント15とCMDDEV36の間で確立された後に生成される。各機能コールはストレージサブシステムにアプリケーションとストレージサブシステムの間のコミュニケーションを特定することを可能にするために生成されたインスタンスを使用する。後述の説明は特定の機能の役割に関する詳細な情報を提供する。
CreateCTG機能はストレージサブシステム30内のCTGGroupNameの名前を使用して図2に示されるグループ39のようなコンシステンシグループを生成する。コンシステンシグループは論理ユニット(LU)の中の入力と出力(IO)の連続性を提供し、これはストレージサブシステム30のコンシステンシグループ内のターゲット論理デバイス(LDEV)とCMDDEV36を含む。コンシステンシグループ内で、アフタジャーナル(JNL)とビフォアJNLメカニズム(以下で詳細に説明される)は一緒に使用可能である。新しいコンシステンシグループが生成される時に、新しい行が図5に示されるリスト33に追加される。
AddLDEVtoCTG機能は、ターゲットLUとCMDDEVを含み、論理ユニット(LU)マッピングされた論理デバイス(LDEV)を定義されたコンシステンシグループ内に追加することを要求する。ストレージサブシステムは図5に示されるテーブル33のLDEV列62内で、適切なコンシステンシグループに対応する行内に追加されたLDEVを保存する。
DelLDEVtoCTG機能はコンシステンシグループ内に以前追加されたLDEVを定義されたコンシステンシグループから削除する。このコマンドを受け取ると、ストレージサブシステムは図5のテーブル33の列62内のLDEVのリストから特定されたLDEVを削除する。
InsertMarker機能はアプリケーション属性を有するコンシステンシグループに対応するマーカを発行する。前述のアプリケーション属性はアプリケーションの振る舞いをベースにストレージシステムのオペレーションを制御する。アプリケーション属性とCDP動作の間のマッピングはストレージサブシステム30内で定義され保存される。前述の定義はエージェントまたはコンソールからコントローラにロードされる。アプリケーション属性およびCDP動作はCDPアーキテクチャをベースにしており、以下で詳細に説明される。
ListMarker機能はAPIによって特定されるJNLマーカのリストを示す。機能がストレージサブシステム上で実行される時に、JNLマネジャはマーカを読み出す。ジャーナル処理の性能を最善にするために、マーカはキャッシュを使用して保存される場合がある。この機能の実行の結果はマーカ処理された時刻およびマーカに対応する属性を含む。
SearchMarker機能はJNLのヘッダのユーザ特定フィールド内の一つ以上のキーをベースにマーカを検索することを本発明のシステムに要求する。ストレージサブシステムは検索の結果を返し、これはシーケンス番号#、検索されたフィールド名、およびJNLマーカの値を含む。
CreateVirtualLU機能は以下で詳細に説明される仮想LUを生成することを要求する。DeleteVirtualLU機能は特定のポートから生成された仮想LUを削除することを要求する。仮想LUの削除の後で、ストレージサブシステム30は、選択されたポートに対応する行において、図5に示されるDEV列84からその仮想LUに対応するエントリを削除する。
CreateVLUG機能は仮想LUのグループを生成することを要求する。ストレージサブシステム30は新しい仮想LUグループを生成し、図19に示されるテーブル330内に新しい行を挿入する。挿入された行は生成された仮想LUグループの仮想LUグループ識別子331とニックネーム332を含む。ニックネーム332は対応する機能コールから入力される。図19のテーブル330内の仮想LUN番号333は機能コールで特定されたLUNを使用して繰り返し実行されるCreateVirtualLU機能を使用して生成される。
MapCTGtoVLUG機能は時刻とシーケンス#によって特定されたJNLからコンシステンシグループのイメージのセットを生成することを要求し、生成され名前をつけられた仮想LUグループにセットをマッピングする。ストレージサブシステムがコンシステンシグループ上のイメージのセットをマッピングする時に、ストレージサブシステムはMapImageToVLU機能を実行する。各MapImageToVLUオペレーション上のターゲットVLUを選択する順序はコンシステンシグループ上のソースLUNの増加順である。例えば、コンシステンシグループ上にLUN1、2、3、および4があり、仮想LUコンシステンシグループ上に仮想LUN20、21、22、23がある。最初に、LUN1に対するイメージは仮想LUN20にマッピングされ、増加順にLUN2に対するイメージは仮想LUN21にマッピングされる。これはLUN4まで続く。
UnMapCTGfromVLUG機能は生成され名前をつけられた仮想LUグループからセットを非マップ化することを要求する。ストレージサブシステムは各イメージに対して繰り返しUnMapImageFromVLUを使用して図19上の仮想LUグループ内の仮想LUN番号333に説明されているイメージのセットを非マップ化する。
MapImageToVLU機能は特定のLDEVに適用されるジャーナルレコードを表すイメージを生成することを要求する。適用されるジャーナルの部分は時刻とシーケンス#によって特定される。次に、システムはユーザアプリケーションにアクセス可能な仮想LUに生成されたイメージをマッピングする。ストレージサブシステムは、特定された時刻とシーケンス#と一致するヘッダ情報を有するJNLからレコードを選択し、ボリュームを生成する。本発明のこの特徴はビフォア/アフタJNLメカニズムの説明に関連して以下に説明される。イメージが生成された後で、このイメージは図15内に示されるテーブル25のDEV列84を使用してLUにマッピングされる。
UnMapImageFromVLU機能は仮想LUの生成されたグループからイメージを非マップ化することを要求する。ストレージサブシステムは図15のDEV列84から選択されたイメージに対応するエントリを削除する。
LoadApplicationAttributesTable機能はアプリケーションと動作テーブル60の情報を説明する構成ファイルをホストにロードする。フォーマットは、各列はカンマで区切られ、行は改行で区切られるCSVフォーマットをコントローラ20に対して使用可能である。コントローラ20はフォーマットを60のようなそれらのメモリフォーマットに変換する。
ActivateTable機能はマーカオペレーションの後続の使用に対してアプリケーション属性と動作テーブル60をアクティブにする。DeactivateTable機能はマーカオペレーションを不使用にするためにアプリケーション属性と動作テーブル60を非アクティブにする。本発明の実施例において、前述のAPIオペレーションに対するコマンドラインインタフェースが提供され、パラメータも上記の機能コールとして提供さる。
APIの振る舞いはCDPアーキテクチャをベースにしており、以下で詳細に説明される。ホストも構成ファイル17を保持し、これはLoadApplicationAttributesTable機能に関して説明される。
ストレージサブシステム30
本発明の一つの実施例において、ストレージサブシステム30のモジュールは、コントローラ(CTL)上で実行され、光媒体、FD,および/または他の取り外し可能なデバイスのようなプログラムコードのインストールフォームとして提供されるマイクロコードで可能になる。マイクロコードはパリティグループマネジャ、物理ディスクからIO処理に論理ストレージを提供するために論理デバイスを生成する論理デバイスマネジャ(LDEVマネジャ)23、ポート22およびジャーナル(JNL)24を含む。以下の説明は前述のモジュールに関する追加の詳細を提供する。
パリティグループマネジャ(このモジュールは図2内には記述されていない)
このモジュールはマイクロコードの一部分であり、RAID0/1/2/3/4/5/6技術を使用するディスクからのパリティグループを含む。RAID6はRAID5技術をベースにしており、保存されたデータの2重パリティ保護を含む。生成されたパリティグループは図4に示されるLDEV構成テーブル29内にリスト化され、ストレージサブシステム30内のパリティグループを特定するためのパリティグループ番号列51、RAIDのリソースから生成される使用可能容量サイズ列52、RAID構成列53、およびディスク列54を有する。
LDEVマネジャ23
LDEVマネジャ23はLDEVの構造とLUのIOからの振る舞いを管理する。LDEVは、LUがデータを保存しホストから/へ提供するための論理ストレージ領域を提供する。LDEVはパリティグループの一部分であり、管理者はLDEVの数を追加するLDEVの範囲を定義し初期的にフォ−マッティングする。LDEVとパリティグループの間のマッピングはLDEV構成29(図4)内に保存される。パリティグループ番号51において、LDEV構成のレコードはストレージサブシステム内の論理デバイスを特定するためのLDEV番号55、パリティグループ上のLDEVの開始アドレスを表すための開始論理ブロックアドレス(LBA)56、パリティグループ上のLDEVの最終アドレスを表すための最終LBA57、およびLDEVのサイズを表すためのサイズ58を有する。初期フォーマットは管理者によって要求される。フォーマットデータのデフォルト値は0である。フォーマットデータはコンソール402経由で管理者によってNULLまたは他の文字で再構成可能である。
ポート22
ポート22はWWN上の論理ユニット経由でLDEVをSAN400に提供する。図15はLUとLDEV LUN(論理ユニット番号)83とLDEV84の間のマッピングテーブルを示す。ハードウエアポート81列内の各値は図1のポート22の一つに対応する。各ポート22はホストから特定されるそれ自身のWWNを有する。複数のLUはポート22上に割り当て可能である。LUはWWN82とLUN83のセットで特定される。ポート上のLUの最大数はFC−SCSI仕様をベースにして256である。さらに、各LUはホスト10からのデータを保存するためにLDEVにマッピングされる。このマッピング情報をベースに、CTL20はポート22からSCSIコマンドを受信し、適切なLDEVをアクセスするためにWWN82とLUN83のセットをLDEV84に変換する。
いくつかのLUはCMDDEVとして構成可能である。LUがコンソール402によってCMDDEVとして定義される時に、図15のCMDDEV85の行がチェックされる。ストレージ管理者はLUを生成し、コンソール402を使用してCMDDEVをLUに設定する。各LUにおいて、たとえLUがLDEVまたはイメージを有していなくても、管理者はホストに対してLUを表すために仮想LUとしてLUを構成可能である。管理者が仮想LUとしてLUを設定する時に、ストレージサブシステムはVLUビット86をオンにする。このモードで、ストレージサブシステムはいつもLU上のLDEVの割り当てに関係なくLUをホストに提供する。
仮想LU&仮想LUグループ(図には示されていない)
仮想LUは最初ポートに関連するLDEVに非マップ化される;ストレージサブシステム上の仮想LUのケースにおいて、仮想LUに対するLUは機能コールのパラメータの一つである論理ユニット番号を有する。従って、ホストは標準SCSIコマンドを使用してLUをアクセス可能である。例えば、ホストからのSCSIのinquiryに応答して、LDEVが非マップ化されている事実を考慮して、仮想LUは標準の応答で応答する。SCSIのinquiryの結果として、LUのサイズは最大可能ストレージ容量または任意のストレージサブシステム特定のサイズ、例えば2GBである。しかし仮想LUは何らの関連LDEVを有さない。従って、イニシエータから来るSCSI読み出し/書き込みオペレーションが仮想LU上で実行される時に、仮想LUはエラーまたはサイズ0のような他のタイプの応答でイニシエータに応答する。
CreateVLU機能において、JNLマネジャはポート上のLUNに対応する図15のVLU86のエントリをマーキングする。もしもLDEVであり適用されたジャーナルであるイメージ(後で説明される)が仮想LUにマッピングされると、inquiryはマッピングされたLDEVのサイズであるサイズを返す。SCSI読み出し/書き込みオペレーションが実行される時に、ボリュームは読み出し可能である。追加の情報として、いくつかのオペレーティングシステムは接続された新しいLUの後にデバイス名を混ぜるので、この仮想LUはデバイス名の番号の順序を固定するのに役に立つ。仮想LUグループはコンシステンシグループ上のイメージのセットを仮想LUのセットにリストアするのに役に立つ。
図19は仮想LUグループのテーブル330を示す。テーブル330は仮想LUグループ(VLUG)番号331、ニックネーム332、および仮想LUN(論理ユニット番号)#1333を含み、コントローラのメモリ上に配置される。テーブルはエージェント15のAPIおよび特にMapImageToVLUとUnMapImageFromVLUコールによって保持され、これはここより前で詳細に説明されている。コンソール402は仮想LUグループの値を設定することができる。
ジャーナルマネジャ24
ジャーナルマネジャはターゲットLDEVがアプリケーションマーカオペレーションを含むことに対してアフタジャーナル(JNL)とビフォアジャーナルメカニズムを管理する。ビフォアおよびアフタジャーナルメカニズムが詳細に論議される前に、ボリューム構成が最初に説明される。
[構成]
ターゲットLDEVとアフタJNL/ビフォアJNLメカニズムのボリュームの間のマッピングはCDP構成テーブル33内のレコードとして図5に表されている。テーブルの各レコードはコンシステンシグループ番号(C.G.#)61,CDP保護されたターゲットLDEV番号62、コマンドデバイス(CMDDEV)のLDEV番号63、およびアフタJNLLDEV64とビフォアJNLLDEV65を含むCDP保護モードを含む。もしも保護モードが可能であると、関係するボリューム情報もレコード66から69内に保存される。アフタJNLメカニズムが可能であるケースでは、ベースLDEV66とJNLLDEV67が特定される。また、ビフォアJNLメカニズムが可能であるケースでは、ベースLDEV68とJNLLDEV69が特定される。コンシステンシグループの設定はサーバ管理者またはDBAによってそれらのAPIまたはコンソールを通してホストエージェント15経由で行われることができる。64から69の設定はコンソール402を経由してストレージ管理者によって行われる。
LDEVの割り当てにおいて、LDEVマネジャはLDEVプール(図6)からLDEVを提供する。そしてストレージ管理者はLDEVプール内のフリーLDEV68からLDEVを取得する。もしもLDEVがベースLDEVまたはJNLLDEVに割り当てられると、LDEVはLDEVプール内の“使用されている” LDEV69として扱われる。
[アフタJNLメカニズム]
図7はアフタJNLメカニズムの図を示す。アフタJNLメカニズムはホストからの書き込みIOの履歴を作成する。この構成には、一次LDEV(一次VOL)35、ベースLDEV(ベースVOL)37、JNLLDEV(JNLVOL)38およびコマンドデバイス(CMDDEV)36がある。一次LDEVはCDPに対するターゲットボリュームである。ベースLDEVはJNLLDEV38上のジャーナル処理の開始におけるコピーデータの時点、および各ジャーナルオペレーションでカウントされるシーケンス番号を有しており、PITコピーの生成の後に番号を残す。JNLLDEVはIOジャーナルとマーカのような関係するCDP情報とIOオペレーションの情報を有する。CMDDEVはSCSIインバンドコミュニケーションを使用した、ホストとストレージサブシステムの間のコミュニケーション方法を提供する。オペレーションはCMDDEVに対してLDEV上の論理デバイスの範囲に対するSCSI読み出し/書き込みコマンドによって行われる。
JNLマネジャはJNLLDEV上の現在の書き込み位置を見つけるためのJNLポインタ50を有する。JNLポインタは0から開始し、論理ブロックアドレス(LBA)によって管理する。もしもJNLボリュームがVTOCまたはMBR領域のような管理領域を有するならば、開始アドレスは管理領域のサイズだけシフトされる。
図8はターゲットLDEVに向けられた書き込みコマンドを扱うための処理手順を示し、これは図7に示されるシステムによって扱われる。以下は前述の処理手順の特定のステップの詳細な説明である。
処理手順の開始
ステップ111:JNLマネジャはホストから送られるSCSICMDを受信する。(図7の処理手順1)
ステップ112:JNLマネジャはコマンドがWRITE6,WRITE10等のようなSCSI WRITEコマンドであるか、またはそうでないかをチェックする。もしもコマンドがWRITEコマンドであると、処理手順はステップ113に進む。もしもそうでないと、処理手順はステップ117に進む。
ステップ113:JNLマネジャはイニシエータのSCSIコマンドをベースにターゲット一次LDEVに対するデータを一次LDEVに書き込む。(図7の処理手順2)
ステップ114:JNLマネジャはJNLLDEV38上のJNLポインタのLBAから開始するジャーナルに対する、ヘッダ(HD)情報(後で詳細)、データ、フッタ(FT)情報を書き込む。(図7の処理手順3)
ステップ115:JNLマネジャはヘッダ、データ、フッタの合計サイズだけポインタを増やす。
ステップ116:JNLマネジャはSCSIコンディションステートを使用して書き込みの結果をホストに返す。
ステップ117:JNLマネジャは一次LDEV上でREAD6オペレーションのような他のSCSIコマンドを実行する。
処理手順の終了
ヘッダ/フッタ情報はヘッダ/フッタビット、システム内のIOを特定するためのシーケンス#、ジャーナルデータ、マーカ等のようなどんなタイプのヘッダ/フッタであるかを示すためのヘッダ/フッタに対するCMDタイプ、もしもCMDタイプがジャーナルデータならばCMD,もしもCMDタイプがマーカ等ならばCDP動作、CDP動作に対する属性と属性に対するコメント、JNLマネジャがJNLマネジャ内のIOを受信する時刻、ホストから受信されるSCSIコマンド、ジャーナルデータに対する開始アドレスとサイズ、もしも情報がフッタならばヘッダシーケンス番号を含む。
シーケンス#はヘッダ/フッタの挿入ごとに増やされる。もしもシーケンス#がその最大の番号より上であると、番号は0に戻ることができる。CDP動作、属性、およびコメントは文字または2進符号データとして保つ。CDP動作は図13のリストをベースにしたCDP動作の名前を保持し、属性は属性のリスト61をベースにマーカ上の属性の名前を保持し、コメントはアプリケーションとジャーナルマネジャ入力コメントを保持する。
ヘッダ/フッタ情報のサイズは、本発明では4掛けるLBAの2KBである。ヘッダ/フッタのサイズはより大きい容量であるため拡大できる。
ホストからのMapImageToVLUをベースにしたリストアオペレーションに関して、ストレージサブシステムはMapImageToVLU内の時刻または“イメージを生成する”属性内の時刻とシーケンス番号によって特定されるイメージを生成する。
オペレーションの前に、このオペレーションは仮想LUを使用するので、JNLマネジャは、仮想LUがストレージサブシステム内で働くMapImageToVLU機能を使用してジャーナルがLDEVに適用するイメージをマッピングするかどうかをチェックする。もしも他のイメージが仮想LU上にマッピングされていて、読み出し/書き込みアクセスが最後の1分以内に実行されていたならば、このオペレーションは、仮想LUが使用されているので省かれる。もしもそうでないと、イメージはUnMapImagefromVLU機能の働きを使用して非マップ化され、フリーに戻る。以下は図14(a)に示される処理手順のステップの詳細な説明である。
処理手順の開始
ステップ140:JNLマネジャは時刻またはシーケンス番号と時刻で要求されるヘッダを捜す。もしもヘッダがあると、処理はステップ141へ続く。もしもヘッダがないと、処理は処理の終了に進む。
ステップ141:JNLマネジャはLDEVプールから同じサイズのLDEVを割り当てる。同じボリュームのサイズを見つけるために、JNLマネジャはLDEVマネジャテーブル29上のサイズ列58内を捜す。
ステップ142:JNLマネジャはベースLDEVから新しいLDEVへのコピーを生成する。
ステップ143:JNLマネジャはベースLDEVに対する第一のジャーナルデータからジャーナルデータを見つけられたヘッダに適用する。
ステップ144:JNLマネジャは仮想LUを通してLDEVを送り出す。
処理手順の終了
[ビフォアJNLメカニズム]
図9はビフォアJNLメカニズムの図を示す。ビフォアJNLメカニズムは同じデータが一次LDEVに保存されているベースボリュームに対するJNLの履歴を生成する。この構成は一次LDEV(一次LDEV)35、ベースLDEV(ベースVOL)357、JNLLDEV(JNLVOL)358およびコマンドデバイス(CMDDEV)36を含む。一次LDEVはCDPに対するターゲットボリュームである。ベースLDEV357はホストの書き込みオペレーションによって一次LDEVに書き込まれた同じデータを保存し、各ジャーナルオペレーションでカウントされるシーケンス番号を有する。
JNLボリュームはベースLDEVに対するコピーオンライトジャーナルとマーカのような関係したCDP情報と入力―出力(IO)情報を有する。CMDDEVはまたアフタJNLメカニズムと同じく提供される。
JNLマネジャはまたJNLLDEV内の現在の書き込み位置を特定するJNLポインタ359を有する。
この開示内容において、一次LDEVとベースLDEVはバックアップの目的で複製がとられることが仮定されている。しかし、ベースボリューム無しでターゲットLDEVだけを使用することも可能である。従って、ベースLDEVが取り除かれる場合がある。このケースにおいて、JNLマネジャはベースLDEV357の代わりにターゲット一次LDEV上にコピーオンライトジャーナルを保持し、JNLLDEV358上にジャーナルデータを保存する。従って、図9の処理手順はステップ1,3および4を実行するが、ステップ2は実行しない。
図10は図9に示される構成に対応するターゲットLDEVに対する書き込みコマンドの処理手順を示す。示される処理手順の特定のステップは以下で説明される。
処理手順の開始
ステップ121:JNLマネジャはホストから送られるSCSICMDを受信する。(図9の処理手順1)
ステップ122:JNLマネジャはコマンドがWRITE6,WRITE10のようなSCSI WRITEコマンドであるか、またはそうでないかをチェックする。もしもコマンドがWRITEコマンドであると、処理手順はステップ123に進む。もしもそうでないと、処理手順はステップ128に進む。
ステップ123:JNLマネジャはSCSIコマンドが送られたデータをSCSIコマンドをベースにターゲット一次LDEVに書き込む。(図9の処理手順2)
ステップ124:JNLマネジャはWRITEオペレーションのLBAとサイズで示される古いデータをベースLDEV357から読み出し、JNLポインタのLBAから開始するジャーナルに対するヘッダ(HD)情報(後で詳細に)、古いデータ、フッタ(FT)情報をJNLLDEV358に書き込む。(図9の処理手順3)
ステップ125:JNLマネジャはSCSIコマンドが送られたデータを送られたSCSIコマンドをベースにベースLDEV5に書き込む。(図9の処理手順4)
ステップ126:JNLマネジャはヘッダ、データ、フッタのサイズをポインタに加算する。
ステップ127:JNLマネジャはSCSIコンディションステートを使用して書き込みの結果をホストへ返す。
ステップ128:JNLマネジャは一次LDEV上でREAD6のような他のSCSIコマンドを実行する。
処理手順の終了
ベースLDEVを取り除くケースでは、処理手順はステップ123を省略し、ステップ125のベースLDEVの代わりに一次ボリューム上にデータを書き込む。
ホストからのMapImageToVLUをベースにしたリストアオペレーションに関して、ストレージサブシステムはMapImageToVLU内の時刻または“イメージを生成する”属性内の時刻とシーケンス番号によって特定されるイメージを生成する。以下は図14(b)に示される処理手順の特定のステップの説明である。
処理手順の開始
ステップ145:JNLマネジャはJNLVOL上の時刻またはシーケンス番号と時刻をベースにしたヘッダを捜す。もしもヘッダがあると、処理はステップ146へ続く。もしもヘッダがないと、処理は処理手順の終了に進む。
ステップ146:JNLマネジャは同じサイズのLDEVをLDEVプールから割り当てる。ボリュームの同じサイズを見つけるために、JNLマネジャは図6上のフリーLDEVプール68をベースにLDEVマネジャテーブル29上のサイズ列58内で一次LDEVと同じサイズのボリュームを捜す。
ステップ147:JNLマネジャは新しいLDEVへのベースLDEVに対するデータの時点を生成し、LDEVのシーケンス番号上にジャーナルの現在のシーケンス番号を残す。
ステップ148:JNLマネジャは要求されたシーケンス番号から新しいLDEV上のシーケンス番号にジャーナルデータを適用する。
ステップ149:JNLマネジャは仮想LUを通してLDEVを送り出す。
処理手順の終了
[マーカ]
アフタ/ビフォアJNLメカニズムの前に、JNLマネジャ24はコンシステンシグループ内のCMDDEVに対するSCSIオペレーションを監視する。コンシステンシグループはCDP構成33内で定義されるグループ内のCMDDEVを含むLUの中でIOを連続させる。図11はJNLマネジャの働きを示す。
処理手順の開始
ステップ131:JNLマネジャはポート22からSCSICMDを受信する。
ステップ132:JNLマネジャは、SCSICMDがファイバチャネルフレーム内の見つけられたFCP_LUNであるLUNをベースにしたCMDDEVに対するものであるかをチェックする。LUとCMDDEVの間の関係の定義はテーブル25内のCMDDEV85上に記載されている。もしもSCSICMDのターゲットLUNがCMDDEVに対するものであると、処理手順はステップ134に進む。もしもSCSICMDのターゲットLUNがそれに対するものでないと、処理手順はステップ133に進む。
ステップ133:JNLマネジャは一次LDEVに対するSCSIコマンドを処理する。処理手順は図5内の各保護モード64,65をチェックして図8内のステップ110と図10内のステップ120へ続く。
ステップ134:JNLマネジャはSCSICMDが上記で説明されたAPIオペレーションをベースにしたCDPに対するものか、またはそうでないかをチェックする。もしもCMDがCDPに対するものであると、処理手順はステップ136に進む。もしもCMDがそれに対するものでないと、処理手順はステップ135に進む。
ステップ135:JNLマネジャはShadowImage(R)のようなローカルミラーおよびTrueCopyのようなリモートミラーオペレーションを含むCMDDEVに対する他のコマンドを処理する。
ステップ136:JNLマネジャはCMDがホストからのInsertMarkerオペレーションに対するものであるかをチェックする。もしもオペレーションがInsertMarkerであると、処理手順はステップ137に進む。もしもオペレーションがInsertMarkerに対するものでないと、処理手順はステップ138に進む。
ステップ137:JNLマネジャはマーカの属性をベースにしてマーカ上のアプリケーション属性と動作テーブルからCDP動作を選択する。我々は後でアプリケーション属性と動作に対する関係について論議する。およびJNLマネジャは選択された動作を実行する。
ステップ138:JNLマネジャはCDP上のオペレーションを選択し、オペレーションを実行する。
処理手順の終了
ステップ137に関して、JNLマネジャはアプリケーション属性と動作テーブルからCDP動作を選択する。テーブルは図12に示される。テーブルはコンソール402またはアプリケーションエージェントによって定義される。テーブルはコンソールアプリケーションエージェントからファイルとしてまたは他の種類の配置方法からロードされることができる。テーブルはInsertMarker機能内の示された属性パラメータである属性およびストレージサブシステム内のCDPオペレーションを実行するCDP動作を含む。CDP動作の例、図13は動作のリストを示す。以下は動作の詳細である。
(a)“ビフォアJNLを開始する”(601)
“ビフォアJNLを開始する”動作のケースにおいて、JNLマネジャは一次LDEVからベースLDEVへの時点コピー(PIT)データを作成する。PITの後で、JNLマネジャはホストからのIOを中断し、図5内の保護モード65をオンにし、CDP動作としての“ビフォアJNLを開始する”、属性、アプリケーションからのコメントを含むマーカとしてヘッダとフッタ情報を書き込む。JNLマネジャはまた、もしもJNLLDEVへのヘッダとフッタ情報内にあるならばCMDタイプ、CDP動作、属性、およびコメントを増やしたシーケンス番号で書き込む。次に、JNLマネジャはベースLDEVからJNLLDEVへのコピーオンライトジャーナルを開始し、IO処理を再開する。もしも一次LDEVとベースLDEVが同じボリュームであると、PITオペレーションは必要でない。
(b)“ビフォアJNLを終了する”(602)
“ビフォアJNLを終了する”動作のケースにおいて、JNLマネジャはIOジャーナル処理を中断し、一次LDEVとベースLDEVの間の書き込みを複製した。JNLマネジャは図5内の保護モード65をオフにし、JNLLDEV上のアプリケーションからの“ビフォアJNLを終了する”、属性、およびコメントを含むマーカとしてヘッダとフッタ情報を書き込む。JNLマネジャはまた、もしもJNLLDEVへのヘッダとフッタ情報内にあるならばCMDタイプ、CDP動作、属性、およびコメントを増やしたシーケンス番号で書き込む。もしも一次LDEVとベースLDEVが同じボリュームであると、一次LDEVとベースLDEVの間の中断または複製されるIOオペレーションは必要でない。
(c)“アフタJNLを開始する”(603)
“アフタJNLを開始する” 動作のケースにおいて、JNLマネジャは一次LDEVとベースLDEVの間のPITボリュームを作成する。PITオペレーションの後で、JNLマネジャは図5内の保護モード64をオンにし、“アフタJNLを開始する”を含むマーカとしてヘッダとフッタ情報を書き込み、次にアプリケーションからJNLLDEVへのIO書き込みジャーナル、属性およびコメントを開始する。JNLマネジャはまた、もしもヘッダとフッタ情報内にあるならば、CMDタイプ、CDP動作、属性、およびコメントを増やしたシーケンス番号で書き込む。
(d)“アフタJNLを終了する”(604)
“アフタJNLを終了する” 動作のケースにおいて、JNLマネジャはIOジャーナル処理を止める。JNLマネジャは図5内の保護モード64をオフにし、JNLLDEV上の“アフタJNLを終了する”であるマーカとしてヘッダとフッタ情報を書き込む。JNLマネジャはまた、もしもJNLLDEVへのヘッダとフッタ情報内にあるならば、CMDタイプ、CDP動作、属性、およびコメントを増やしたシーケンス番号で書き込む。
(e)“イメージを生成する”(605)
オペレーションは同時にマーカを挿入した後にボリュームのイメージを生成する。働きについて、JNLマネジャは最初にJNLLDEVに“イメージを生成する”であるアプリケーション提供属性を示すヘッダとフッタ情報を書き込む。JNLマネジャは、既に上記で説明された各JNLメカニズムをベースにイメージを生成する。
(f)“アプリケーションマーカ”(606)
アプリケーションはJNLLDEV上のコメントにトランザクションIDを含むアプリケーションの属性として残されるアプリケーションマーカを使用する。JNLマネジャはJNLLDEVに“アプリケーションマーカ”であるアプリケーション提供属性を示すヘッダとフッタ情報を書き込む。
JNLマネジャはまた、もしもJNLLDEVへのヘッダとフッタ情報内にあるならば、CMDタイプ、CDP動作、属性、およびコメントを増やしたシーケンス番号で書き込む。
(f)“システムマーカ”(607)
JNLマネジャはJNLLDEV上のコメント内にPITイベントのようなJNLマネジャのイベントを残すために“システムマーカ”を使用する。
JNLマネジャはまた、もしもJNLLDEVへのヘッダとフッタ情報内にあるならば、CMDタイプ、CDP動作、属性、およびコメントを増やしたシーケンス番号で書き込む。
同時にアフタとビフォアJNLメカニズムとの働き
アフタとビフォアJNLは独立に同時に働くことが可能である。しかしマーカは各メカニズムへのフィルタであることができる。本特許において、図12内の動作の63はJNLメカニズムを区別するために役に立つ。各属性に対応するJNLメカニズム63のエントリがビフォアであると、JNLマネジャはホストからのマーカをベースにビフォアJNLLDEVにヘッダ/フッタ情報を書き込む。またもしもアフタであると、JNLマネジャはホストからのマーカをベースにアフタJNLLDEVにヘッダ/フッタ情報を書き込み、またもしもアフタとビフォアであると、JNLマネジャはホストからのマーカをベースにアフタJNLLDEVとビフォアJNLLDEVの双方にヘッダ/フッタ情報を書き込む。
イメージの生成において、ストレージサブシステム30はソースJNLメカニズムを選択することができる。例えば、もしもDBが時刻または時刻とシーケンスによってイメージを生成することをJNLマネジャに要求するならば、JNLマネジャはアフタJNLメカニズムのイメージ生成を選ぶ。もしもDBがHBSからHBEへの属性の間のイメージを生成することをストレージサブシステムに要求するならば、ストレージサブシステムはビフォアJNLメカニズムのイメージ生成を選ぶ。コントローラはこの設定を有する。
コンソール402
コンソール402は管理者がLAN/WAN401を経由してストレージサブシステムを管理するための能力を提供する。コンソールはLDEVの生成、LDEVから論理ユニット(LU)へのマッピンッグ、LDEVプールの生成、LDEVからLUへのマッピンッグ等のためのGUIを提供する。
特に、アプリケーション属性と動作の間のリンクを作るために、コンソールはGUIを提供する。図16はGUIの例を示す。二つの列がある。一つはアプリケーション属性221である。アプリケーション属性はAPIにおいて定義され、使用される。他はCDP動作である。各属性はCDP動作を有する。ストレージ管理者またはDBAは動作のリストから動作を選択する。もしも管理者またはDBAが他の行を加えるかまたは行を削除することを欲するならば、ボタン223は最後の行に行を増やすことが可能であり、ボタン224は最後の行から行を減らすことが可能である。
設定の後で、管理者またはDBAは適用ボタン225を押す。テーブル情報はLoadApplicationAttributesTable機能を使用してストレージサブシステム30内のアプリケーション属性―動作テーブル60上にロードされ、次にActivateTable機能を使用してコントローラ上のテーブルをアクティブにする。
アプリケーションを有する本発明のシステムを使用するための構成
アプリケーション属性と動作テーブルが使用可能である前に、システム設定は完成されていなければならない。この構成で、ビフォアとアフタ双方のJNLメカニズムがターゲット一次LDEVに対して使用されることが仮定されている。構成は後述のようである。
図21はストレージに対する構成を示す。ストレージ管理者はターゲット一次LDEV35、CMDDEV36、アフタJNLに対する二つのベースLDEV37、ビフォアJNLに対する357、アフタJNLLDEV38,およびビフォアJNLLDEV358を割り当て、ターゲット一次LDEVとCMDデバイスをポート22に接続されたホスト上のLUにマッピングし、およびターゲット一次LDEV、ベースLDEVおよび図5内においてコンソール402を経由してCDP構成33を構成するJNLLDEVの間の関係を作成する。サーバ管理者はコンシステンシグループを生成する。
ストレージ管理者はまたコンソール50またはエージェント16を経由してコンシステンシグループに対する仮想LUと仮想LUグループを生成し、データをリスアするためにLDEVプール68上の一次LDEVと同じサイズを有するフリーLDEVを準備する。
サーバシステム管理者はホスト10上にOSをインストールし、ターゲットLDEVとCMDDEVを含むLUを発見する。続いて、DBAまたはサーバ管理者はホスト上にエージェント15をインストールし、CMDデバイスとの接続を確立する。
その後で、DBAは、アプリケーションのイベントをベースにエージェント15のAPIにコールを発行可能な、データベース(DB)アプリケーションのようなアプリケーションをホスト15内にインストールする。
アプリケーション属性―動作テーブル60は二つの方法を使用して定義されることができる。この一つの方法に従って、管理者はデータベース(DB)提供構成ファイル17をベースにしてこのテーブルを定義する。DBAまたはストレージ管理者はデータベースによって提供される構成ファイル17をベースにしてコンソール402のGUIまたはホスト10のエージェント15のコマンドラインインタフェースを使用してアプリケーション属性―動作テーブル60を生成する。もしもホスト10が使用されると、テーブル情報はLoadApplicationAttributeTable機能ベースのコマンドを使用してコントローラ20にロードされ、次にテーブルはActivateTable機能ベースのコマンドを使用してアクティブにされる。他の方法はLoadApplicationAttributeTable機能を使用して構成テーブルをロードし、次にActivateTable機能を使用してそれをアクティブにすることを含む。
属性に関して、この説明において、属性はDBの内部コマンドであることが仮定されている。もしも他の内部コマンドがあると、適切なコマンド属性マッピングが生成されることが可能である。対応するマッピングテーブルが図20内に示される。
システムの振る舞い
図17と図18は、アプリケーションがCDPに対する属性機能を使用する時の使用ケースを示す。
特に、図17は、このアプリケーションがノーマルオペレーションの間に後述のオペレーションを実施するバックアップの振る舞いの例を示す。
振る舞いの開始
ステップ301:DBAはターゲット一次LDEV上に保存されるマウントテーブルスペースオペレーションをDBに発行する。
ステップ302:DBはマーカを経由してマウントの属性(MT)を発行する。
ステップ303:ストレージサブシステムはアプリケーション属性と動作テーブルをベースにアフタJNLを開始する動作(603)を実行する。
ステップ304:ストレージサブシステムのACKの後で、DBはテーブルスペースをマウント処理する。DBのクライアントアプリケーションはマウントオペレーションの後でSQLコマンドセットを実行する。
ステップ305:DBは、DBがデータベーステーブルに対するコンシステンシステートを示し、それらのオペレーションを止めるチェックポイントを実行し、DBはテーブル335をベースにマーカを経由してCPの属性を発行する。
ステップ306:ストレージサブシステムはテーブルをベースにイメージを生成するオペレーションを実行する。
ステップ307:ストレージサブシステムのACKの後で、DBはSQLコマンドセットを実行し続ける。
ステップ308:DBAはDBへのホットバックアップモードを開始する。
ステップ309:DBはホットバックアップモードを開始した後でマーカを経由してHBS属性を発行する。
ステップ310:ストレージサブシステムはテーブル60をベースにビフォアJNLを開始する動作(601)を実行する。
ステップ311:ストレージサブシステムのACKの後で、DBはホットバックアップモードになる。
ステップ312:DBはDBAにプロンプトを返す。
ステップ313:DBは、エージェントInsertMarkerAPI経由のトランザクションの各コミットの後でシステムコミット番号のようなトランザクション番号を有するアプリケーションマーカを挿入することを要求する。トランザクション番号はマーカ内のコメントフィールド上に保存される。
ステップ314:ストレージサブシステムはアプリケーションマーカオペレーションを実行する。
ステップ315:ストレージサブシステムのACKの後で、DBはそれらのトランザクションを処理し続ける。
ステップ316:DBAはホットバックアップモードの終了を要求する。
ステップ317:DBはテーブル335をベースにホットバックアップモードの後でマーカを経由してHBE属性を発行する。
ステップ318:ストレージサブシステムはテーブル60をベースにビフォアJNLを終了する動作(602)を実行する。
ステップ319:ストレージサブシステムのACKの後で、DBはホットバックアップモードを終了し、SQLコマンドセットを実行し続ける。
ステップ320:DBAはそれらのプロンプトを受信する。
ステップ321:DBAはテーブルスペースをアンマウント処理する。
ステップ322:DBはテーブルスペースをアンマウント処理し、テーブル335をベースにマーカ経由でMTE属性を発行する。
ステップ323:ストレージサブシステムはテーブル60をベースにアフタJNLを終了する動作(604)を実行する。
ステップ324:ストレージサブシステムのACKの後で、DBはDBAに結果を返す。
ステップ325:DBAはそれらのプロンプトを受信する。
振る舞いの終了
リストアオペレーションに関して、DBAはエージェントのAPIを経由してストレージサブシステムへのホットバックアップモードに取り入れられるイメージを要求する。DB経由のDBAからの要求はSerchMarkerのAPIを使用してHBS属性を検索し、HBSマーカのリストを受信し、MapImageToVLUまたはMapCTGtoVLUGのAPIを使用してHBSマーカのリストから選択されるシーケンスと時刻によって特定されるイメージを要求することである。DBAはVLUからのバックアップデータを使用可能である。DB上のデータをリカバリするために、DBAは、CDPはほんのわずかな中断でDBログとテーブルスペースを取るので、DBのロールフォワード処理を使用してDBのログをDBのテーブルスペースに適用する。
もしもDBAがトランザクション番号にロールバック処理とロールフォワード処理をする必要があると、DBのログとテーブルスペースはロールバック情報を有しない。この状況において、本発明はロールバックをリカバリするために役に立つ。もしもイメージが修正されてないと、ストレージはユーザ要求属性のシーケンスを有するヘッダからイメージのシーケンス番号までジャーナルデータを適用する。ビフォアまたはアフタジャーナルを選択するために、もしも要求された番号がイメージのシーケンス番号より下ならば、JNLマネジャはビフォアJNLを選択する。またもしも要求された番号がそれより上ならば、JNLマネジャはアフタJNLを選択する。
例えば(図21)、VLUにマッピングされシーケンス番号として26を有するイメージ341がある。もしもDBAがSCN11内にシーケンス番号として40をリストアすることを欲すると、JNLマネジャはアフタJNLを選択する。一方で、もしもDBAがSCN9内にシーケンス番号として23をリストアすることを欲すると、JNLマネジャはビフォアJNLを選択する。
利点を考慮したアプリケーションの振る舞いは以下のようである。
ステップ301と315を使用するマウント処理/アンマウト処理オペレーションに関して、ジャーナルの長さはDBの非アティブの間に削除可能である。
ステップ306であるチェックポイントオペレーションに関して、管理者は前に生成されたボリュームイメージを使用可能である。
ステップ309と312であるバックアップを開始する/終了するオペレーションに関して、DBはアフタJNLメカニズムを使用してロールバックイメージを生成可能である。
リカバリに関して、もしもDBがバックアップモードに入っても、DBはリストアに関するデータをロールバック処理することが可能である。
図18は他の例を示し、これはリカバリ処理手順の間に以下のオペレーションを実行するアプリケーションを含む。この例で、データベースまたは関係の情報が失われると、DBAが責任を引き受ける。
振る舞いの開始
ステップ341:DBAはRECOVER TABLESPACEのようにテーブルスペースをリカバすることをデータベースに示す。
ステップ342:オペレーションの後で、DBはエージェントInsertMarkerのAPIを経由してテーブル335をベースにRTS属性を含むマーカを挿入する。
ステップ343:ストレージサブシステムはテーブル60をベースにしたRTS属性をベースにビフォアJNLを開始する動作(601)を実行する。
ステップ344:ストレージサブシステムのACKの後で、DBはそれらのログからトランザクションに対するリカバリオペレーションを処理することを開始する。
ステップ345:DBは、エージェントInsertMarkerのAPIを経由してジャーナル上に書き込まれるトランザクションの各コミットの後にシステムチェンジ番号(SCN)のようなトランザクション番号を有するマーカを挿入する。トランザクション番号はマーカ内のコメントフィールド上に保存される。
ステップ346:ストレージサブシステムはアプリケーションマーカオペレーションを実行する。
ステップ347:ストレージサブシステムのACKの後で、DBはそれらのログからトランザクションに対するリカバリオペレーションを処理することを続ける。
ステップ348:DBAはDBからのリカバリに関する現在の実行トランザクション番号を受信する。
ステップ349:DBがすべてのログを適用した後で、DBはリカバリテーブルスペースの終了を知らせるマーカRTEを発行する。
ステップ350:ストレージサブシステムはテーブル60をベースにビフォアJNLを終了する動作(602)を実行する。
ステップ351:ストレージサブシステムのACKの後で、DBは結果をDBAに返す。
ステップ352:DBはDBAに対してプロンプトを返す。
振る舞いの終了
DBAがロールフォワードオペレーションの後にデータのリストア処理を終了した時に、もしもDBAがJNLのコメントフィールド内のSCN番号によってマーカを検索することをSearchMarker機能コールによってDBに要求すると、ストレージサブシステムはヘッダの一部分として書き込まれたマーカのリストを提供する。マーカのリストから、DBAはコメント内に現れるSCNに対応するイメージを回復するためのシーケンス#と時刻を選択する。次にDBAはシーケンス#によって特定されたボリュームを取得することをMapCTGtoVLUG機能コールを使用してDBに要求する。ストレージサブシステムは仮想LUグループ上で特定される仮想LU上のイメージのセットを提供する。DBは仮想LUマッピングの後にテーブルスペースをマウント処理することができる。
最後に、ここで説明された処理と技術はいかなる特定の装置に本来的に関係しているものではなく、構成要素の任意の適切な組み合わせによって具体化されることができることは理解されるべきである。さらに、多様なタイプの一般目的のデバイスはここで説明された教えに従って使用されることができる。ここで説明された方法のステップを実行するために特別の装置を構築することはまた有益である。本発明は特定の例に関係して説明され、これはあらゆる点で限定的よりも説明的であることを意図している。この技術に精通する人達はハードウエア、ソフトウエア、およびファームウエアの多くの異なる組み合わせが本発明を実施するために適切であることを理解する。例えば、説明されたソフトウエアはアセンブラ、C/C++,perl、shell、PHP,Java(登録商標)等の多種類のプログラミングまたはスクリプティング言語で具体化できる。
さらに、本発明の他の具体化は明細書の考察およびここで開示された本発明の実施からこの技術に精通する人達に明かである。説明された実施例の多様な側面および/または構成要素はデータ複製機能を有するコンピュータ化されたストレージシステム内で単独にまたは任意の組み合わせで使用されることができる。仕様と例は典型的なものとしてだけと考えられ、本発明の真の範囲と精神は後述の請求項によって示されることを意図している。
図1は本発明の実施例による典型的なシステムアーキテクチャを表す。 図2は本発明のシステムの多様なソフトウエア構成要素の典型的な論理構成とそれらの間の相互動作を示す図である。 図3はエージェントアプリケーションの典型的なアプリケーションプログラミングインタフェースを示す。 図4は典型的な論理デバイスマネジャテーブルを示す。 図5は本発明のCDPシステムの典型的な構成を示す。 図6は本発明のシステム内の論理デバイスのプールを示す。 図7はアフタジャーナルモニタの典型的な振る舞いを示す。 図8はターゲット論理デバイスに向けられた書き込みコマンドを扱うための処理手順を示す。 図9はビフォアジャーナルモニタの典型的な振る舞いを示す。 図10はターゲット論理デバイスに対する書き込みコマンドを扱うための典型的な処理手順を示す。 図11は本発明のジャーナルマネジャのオペレーションを示す。 図12は特定の属性に対応する動作を示す典型的なアプリケーション属性と動作テーブルを表す。 図13は本発明のCDPシステムの動作のリストを提供する。 図14はビフォアとアフタジャーナルを使用したリストア処理の典型的な動作シーケンスを示す。 図15は論理ユニットから論理デバイスへのマッピングテーブルの典型的な実施例を示す。 図16は本発明のCDPシステムの典型的なグラフィカルユーザインタフェースを示す。 図17と図18は本発明の属性機能によってアプリケーションと相互に作用する本発明のCDPシステムのオペレーションを示す。 図17と図18は本発明の属性機能によってアプリケーションと相互に作用する本発明のCDPシステムのオペレーションを示す。 図19は仮想論理ユニットグループに関する情報を保存するテーブルの典型的な実施例を示す。 図20はデータベースアプリケーションの内部イベントと本発明のCDPシステムの対応する属性の間のマッピングを提供する。 図21は本発明の実施例に従ったストレージシステムの典型的な構成を示す。

Claims (51)

  1. a. ユーザアプリケーションを実行するホストと、
    b. 少なくとも一つのストレージコントローラと、少なくとも一つの論理パーティションに割り当てられ前記のストレージコントローラに効果的に接続される少なくとも一つのディスクを備え、ネットワーク相互接続を経由して前記のホストに接続されるストレージサブシステムから構成される、継続的データ保護に対するコンピュータ化されたシステムにおいて、前記ストレージサブシステムは、
    i. 前記のユーザアプリケーションに関連する現在のデータを保存することが可能な一次ボリュームと、
    ii. 前記のユーザアプリケーションに関連する第一のデータを保存することが可能なベースボリュームと、
    iii. 前記のユーザアプリケーションに関連する第二のデータを保存することが可能なジャーナルボリュームと、
    iv. 前記のホストによって前記のストレージサブシステムに送られたデータ書き込み要求を止めて、前記の止められた要求に関連するデータを前記の一次ボリュームと前記のベースボリュームに書き込み、前記のユーザアプリケーションに関連する前記の第二のデータを前記のジャーナルボリュームの中に書き込むことが可能なジャーナルマネジャと、
    v. 複数のコマンド属性から選択されたコマンド属性を前記のホストから受信し、前記の受信されたコマンド属性をベースに前記のジャーナルマネジャを構成することが可能なコマンドデバイスと、
    をさらに備えることを特徴とするシステム。
  2. 前記のコマンドデバイスによって受信されたアフタジャーナルコマンドを開始する属性に応答して、前記のジャーナルマネジャが前記のデータ書き込み要求に関連する増加変化データを含む前記の第二のデータを前記のジャーナルボリューム内に保存することが可能であることを特徴とする請求項1に記載のコンピュータ化されたシステム。
  3. 前記のコマンドデバイスによって受信されたビフォアジャーナルコマンドを開始する属性に応答して、前記のジャーナルマネジャが前記のベースボリュームから前記のジャーナルボリュームに前記のデータの前の時点コピーをコピーすることが可能であることを特徴とする請求項1に記載のコンピュータ化されたシステム。
  4. 前記のストレージサブシステムがさらに前記のジャーナルボリューム内に次の使用可能な位置を特定するポインタ値を保存することが可能なジャーナルポインタ保管部を含み、前記のジャーナルマネジャが前記のジャーナルボリューム内に前記のデータを書き込むことが完了する毎に前記のポインタ値を増やすことがさらに可能であることを特徴とする請求項1に記載のコンピュータ化されたシステム。
  5. 前記のジャーナルマネジャが
    a.ヘッダと
    b.前記のユーザアプリケーションに関連した前記の第二のデータと
    c.フッタと
    を含むレコードを前記のジャーナルボリューム内に書き込むことが可能であることを特徴とする請求項1に記載のコンピュータ化されたシステム。
  6. 前記のヘッダが前記のユーザアプリケーションに関連したマーカ情報を含み、前記のストレージサブシステムが前記のホストから前記のマーカ情報を受信することが可能であることを特徴とする請求項5に記載のコンピュータ化されたシステム。
  7. 前記のフッタが前記のユーザアプリケーションに関連したマーカ情報を含むことを特徴とする請求項5に記載のコンピュータ化されたシステム。
  8. 前記のストレージシステムによって前記のホストから受信されたイメージコピーコマンド属性に応答して、前記のジャーナルマネジャが前記のベースボリューム内の前記のユーザアプリケーションに関連した前記のデータの時点コピーを生成することが可能であり、前記のデータの前記の生成された時点コピーが前記のジャーナルボリューム内のレコードの開始に対応することを特徴とする請求項2に記載のコンピュータ化されたシステム。
  9. 前記のジャーナルマネジャが、前記の止められた要求に関連した前記のデータを前記の一次ボリュームに書き込んだ後に前記の止められた要求に関連した前記のデータを前記のジャーナルボリュームに書き込むことが可能であることを特徴とする請求項2に記載のコンピュータ化されたシステム。
  10. 前記のジャーナルマネジャが前記のデータ書き込み要求の結果を前記のホストに返すことがさらに可能であることを特徴とする請求項1に記載のコンピュータ化されたシステム。
  11. 前記の受信されたコマンド属性が前記のジャーナルマネジャのオペレーションの前記のジャーナル処理モード上の命令を含むことを特徴とする請求項1に記載のコンピュータ化されたシステム。
  12. 前記のコマンドデバイス、前記の一時ボリューム、前記のベースボリューム、および前記のジャーナルボリュームがコンシステンシグループに関連していることを特徴とする請求項11に記載のコンピュータ化されたシステム。
  13. 前記のストレージサブシステムがさらに前記のコンシステンシグループに関する情報を保存することが可能な構成テーブルを含むことを特徴とする請求項12に記載のコンピュータ化されたシステム。
  14. 前記の構成テーブルがさらに前記のユーザアプリケーションに関連した前記のデータがアフタJNLモードまたはビフォアJNLモードを使用して保護されるべきかについての情報を含むことを特徴とする請求項12に記載のコンピュータ化されたシステム。
  15. 前記のジャーナルマネジャが、前記の止められた要求に関連した前記のデータを前記の一次ボリュームに書き込んだ後に前記のデータの前記の前の時点コピーを前記のベースボリュームから前記のジャーナルボリュームにコピーし、前記のコピー処理の後で前記の止められた要求に関連した前記のデータを前記のベースボリュームに書き込むことが可能であることを特徴とする請求項3に記載のコンピュータ化されたシステム。
  16. 前記のベースボリュームからの前記のデータの前記の前の時点コピーがジャーナルヘッダとジャーナルフッタの少なくとも一つを有する前記のジャーナルボリュームに書き込まれることを特徴とする請求項15に記載のコンピュータ化されたシステム。
  17. 前記のベースボリュームが前記の一次ボリューム内にデータのミラーコピを保存することを特徴とする請求項3に記載のコンピュータ化されたシステム。
  18. 前記のストレージサブシステムが、イメージを作り出すために、少なくとも一つの論理パーティション内に保存されたデータに前記のジャーナルボリューム内に保存された少なくとも一つのレコードを適用し、前記の結果のイメージを前記のホストによってアクセス可能な仮想論理ユニットにマッピングすることが可能であることを特徴とする請求項1に記載のコンピュータ化されたシステム。
  19. 前記のジャーナルボリュームの前記の適用されたレコードが時刻とシーケンス番号の少なくとも一つによって特定されることを特徴とする請求項18に記載のコンピュータ化されたシステム。
  20. 前記のマッピングの前に、前記の仮想論理ユニットがいかなる論理ストレージデバイスにも関連していないことを特徴とする請求項18に記載のコンピュータ化されたシステム。
  21. さらに少なくとも一つの仮想論理ユニットを含み、前記のストレージサブシステムが
    i. 前記の仮想論理ユニットのサイズに対する要求を受信し、
    ii. もしも前記の仮想論理ユニットに関連する論理デバイスがあると、前記の論理デ
    バイスの前記のサイズを返し、
    iii. もしも前記の仮想論理ユニットに関連する論理デバイスがないと、0またはエラ
    ーを返す
    ことが可能であることを特徴とする請求項1に記載のコンピュータ化されたシステム。
  22. コンピュータで具体化される方法において、
    a. アフタジャーナル処理モードを特定するコマンド属性をストレージサブシステムにおいて受信するステップと、
    b. ユーザアプリケーションによって発行されたストレージアクセスコマンドをストレージサブシステムにおいて止めるステップと、
    c. 前記の止められたストレージアクセスコマンドが書き込みオペレーションを含むかを決定するステップと、
    d. もしも前記の止められたストレージアクセスコマンドが前記の書き込みオペレーションを含まないと、一次ストレージボリュームにおいて前記の止められたストレージアクセスコマンドを処理し、前記のオペレーションを終了するステップと、
    e. もしも前記の止められたストレージアクセスコマンドが前記の書き込みオペレーションを含むと、前記のストレージアクセスコマンドに関連したデータを前記の一次ボリュームに書き込むステップと、
    f. 前記のストレージアクセスコマンドに関連した増加変化データをジャーナルボリュームに書き込むステップと、
    から成ることを特徴とする方法。
  23. 前記のジャーナルボリューム内の次の使用可能な位置を特定するジャーナルポインタを増やすステップをさらに含むことを特徴とする請求項22に記載のコンピュータで具体化される方法。
  24. 前記のストレージアクセスコマンドの結果を前記のユーザアプリケーションに返すステップをさらに含むことを特徴とする請求項22に記載のコンピュータで具体化される方法。
  25. 前記のジャーナルボリュームにデータを書き込むステップがヘッダとフッタを前記のジャーナルボリュームに書き込むステップをさらに含むことを特徴とする請求項22に記載のコンピュータで具体化される方法。
  26. 前記のユーザアプリケーションからマーカ情報を受信するステップと前記のマーカ情報を前記のヘッダに組み入れるステップをさらに含むことを特徴とする請求項25に記載のコンピュータで具体化される方法。
  27. 前記のユーザアプリケーションからマーカ情報を受信するステップと前記のマーカ情報を前記のフッタに組み入れるステップをさらに含むことを特徴とする請求項25に記載のコンピュータで具体化される方法。
  28. イメージを作り出すために前記のジャーナルボリューム内に保存された少なくとも一つのレコードを論理ストレージデバイス内に保存されたデータに適用するステップと、前記の結果のイメージをホストによってアクセス可能な仮想論理ユニットにマッピングするステップをさらに含むことを特徴とする請求項22に記載のコンピュータで具体化される方法。
  29. 前記のジャーナルボリュームの前記の適用されたレコードが時刻とシーケンス番号の少なくとも一つによって特定されることを特徴とする請求項28に記載のコンピュータで具体化される方法。
  30. 前記のマッピングの前に、前記の仮想論理ユニットがいかなる論理ストレージデバイスにも関連していないことを特徴とする請求項28に記載のコンピュータで具体化される方法。
  31. i. 前記の仮想論理ユニットのサイズに対する要求を受信するステップと、
    ii. もしも前記の仮想論理ユニットに関連する論理デバイスがあると、前記の論理デバイスの前記のサイズを返すステップと、
    iii. もしも前記の仮想論理ユニットに関連する論理デバイスがないと、0またはエラーを返すステップと、
    をさらに含むことを特徴とする請求項28に記載のコンピュータで具体化される方法。
  32. コンピュータで具体化される方法において、
    a. ビフォアジャーナル処理モードを特定するコマンド属性をストレージサブシステムにおいて受信するステップと、
    b. ユーザアプリケーションによって発行されたストレージアクセスコマンドをストレージサブシステムにおいて止めるステップと、
    c. 前記の止められたストレージアクセスコマンドが書き込みオペレーションを含むかを決定するステップと、
    d. もしも前記の止められたストレージアクセスコマンドが前記の書き込みオペレーションを含まないと、一次ストレージボリュームにおいて前記の止められたストレージアクセスコマンドを処理し、前記のオペレーションを終了するステップと、
    e. もしも前記の止められたストレージアクセスコマンドが前記の書き込みオペレーションを含むと、前記のストレージアクセスコマンドに関連したデータを前記の一次ボリュームに書き込むステップと、
    f. 古いデータをベースボリュームからジャーナルボリュームにコピーするステップと、
    g. 前記のストレージアクセスコマンドに関連したデータを前記のベースボリュームに書き込むステップと、
    から成ることを特徴とする方法。
  33. 前記のジャーナルボリューム内の次の使用可能な位置を特定するジャーナルポインタを増やすステップをさらに含むことを特徴とする請求項32に記載のコンピュータで具体化される方法。
  34. 前記のストレージアクセスコマンドの結果を前記のユーザアプリケーションに返すステップをさらに含むことを特徴とする請求項32に記載のコンピュータで具体化される方法。
  35. 前記のジャーナルボリュームにデータを書き込むステップがヘッダとフッタを前記のジャーナルボリュームに書き込むステップをさらに含むことを特徴とする請求項32に記載のコンピュータで具体化される方法。
  36. 前記のユーザアプリケーションからマーカ情報を受信するステップと前記のマーカ情報を前記のヘッダに組み入れるステップをさらに含むことを特徴とする請求項35に記載のコンピュータで具体化される方法。
  37. 前記のユーザアプリケーションからマーカ情報を受信するステップと前記のマーカ情報を前記のフッタに組み入れるステップをさらに含むことを特徴とする請求項35に記載のコンピュータで具体化される方法。
  38. イメージを作り出すために前記のジャーナルボリューム内に保存された少なくとも一つのレコードを論理ストレージデバイス内に保存されたデータに適用するステップと、前記の結果のイメージをホストによってアクセス可能な仮想論理ユニットにマッピングするステップをさらに含むことを特徴とする請求項32に記載のコンピュータで具体化される方法。
  39. 前記のジャーナルボリュームの前記の適用されたレコードが時刻とシーケンス番号の少なくとも一つによって特定されることを特徴とする請求項38に記載のコンピュータで具体化される方法。
  40. 前記のマッピングの前に、前記の仮想論理ユニットがいかなる論理ストレージデバイスにも関連していないことを特徴とする請求項38に記載のコンピュータで具体化される方法。
  41. i. 前記の仮想論理ユニットのサイズに対する要求を受信するステップと、
    ii. もしも前記の仮想論理ユニットに関連する論理デバイスがあると、前記の論理デバイスの前記のサイズを返すステップと、
    iii. もしも前記の仮想論理ユニットに関連する論理デバイスがないと、0またはエラーを返すステップと、
    をさらに含むことを特徴とする請求項38に記載のコンピュータで具体化される方法。
  42. a. アフタジャーナル処理モードを特定するコマンド属性をストレージサブシステムにおいて受信し、
    b. ユーザアプリケーションによって発行されたストレージアクセスコマンドをストレージサブシステムにおいて止めて、
    c. 前記の止められたストレージアクセスコマンドが書き込みオペレーションを含むかを決定し、
    d. もしも前記の止められたストレージアクセスコマンドが前記の書き込みオペレーションを含まないと、一次ストレージボリュームにおいて前記の止められたストレージアクセスコマンドを処理し、前記のオペレーションを終了し、
    e. もしも前記の止められたストレージアクセスコマンドが前記の書き込みオペレーションを含むと、前記のストレージアクセスコマンドに関連したデータを前記の一次ボリュームに書き込み、
    f. 前記のストレージアクセスコマンドに関連した増加変化データをジャーナルボリュームに書き込む、
    ことを、一つ以上のプロセッサによって実行される時に、前記の一つ以上のプロセッサに行わせ、コンピュータで読み出し可能な命令を具象化する、コンピュータで読み出し可能な媒体。
  43. 前記のコンピュータで読み出し可能な命令がさらに、イメージを作り出すために前記のジャーナルボリューム内に保存された少なくとも一つのレコードを論理ストレージデバイス内に保存されたデータに適用し、前記の結果のイメージをホストによってアクセス可能な仮想論理ユニットにマッピングすることを前記の一つ以上のプロセッサに行わせることを特徴とする請求項42に記載のコンピュータで読み出し可能な媒体。
  44. 前記のジャーナルボリュームの前記の適用されたレコードが時刻とシーケンス番号の少なくとも一つによって特定されることを特徴とする請求項43に記載のコンピュータで読み出し可能な媒体。
  45. 前記のマッピングの前に、前記の仮想論理ユニットがいかなる論理ストレージデバイスにも関連していないことを特徴とする請求項43に記載のコンピュータで読み出し可能な媒体。
  46. 前記のコンピュータで読み出し可能な命令がさらに
    i. 前記の仮想論理ユニットのサイズに対する要求を受信し、
    ii. もしも前記の仮想論理ユニットに関連する論理デバイスがあると、前記の論理デバイスの前記のサイズを返し、
    iii. もしも前記の仮想論理ユニットに関連する論理デバイスがないと、0またはエラーを返す
    ことを前記の一つ以上のプロセッサに行わせることを特徴とする請求項43に記載のコンピュータで読み出し可能な媒体。
  47. a. ビフォアジャーナル処理モードを特定するコマンド属性をストレージサブシステムにおいて受信し、
    b. ユーザアプリケーションによって発行されたストレージアクセスコマンドをストレージサブシステムにおいて止めて、
    c. 前記の止められたストレージアクセスコマンドが書き込みオペレーションを含むかを決定し、
    d. もしも前記の止められたストレージアクセスコマンドが前記の書き込みオペレーションを含まないと、一次ストレージボリュームにおいて前記の止められたストレージアクセスコマンドを処理し、前記のオペレーションを終了し、
    e. もしも前記の止められたストレージアクセスコマンドが前記の書き込みオペレーションを含むと、前記のストレージアクセスコマンドに関連したデータを前記の一次ボリュームに書き込み、
    f. 古いデータをベースボリュームからジャーナルボリュームにコピーし、
    g. 前記のストレージアクセスコマンドに関連したデータを前記のベースボリュームに書き込む
    ことを、一つ以上のプロセッサによって実行される時に、前記の一つ以上のプロセッサに行わせ、コンピュータで読み出し可能な命令を具象化する、コンピュータで読み出し可能な媒体。
  48. 前記のコンピュータで読み出し可能な命令がさらに、イメージを作り出すために前記のジャーナルボリューム内に保存された少なくとも一つのレコードを論理ストレージデバイス内に保存されたデータに適用し、前記の結果のイメージをホストによってアクセス可能な仮想論理ユニットにマッピングすることを前記の一つ以上のプロセッサに行わせることを特徴とする請求項47に記載のコンピュータで読み出し可能な媒体。
  49. 前記のジャーナルボリュームの前記の適用されたレコードが時刻とシーケンス番号の少なくとも一つによって特定されることを特徴とする請求項48に記載のコンピュータで読み出し可能な媒体。
  50. 前記のマッピングの前に、前記の仮想論理ユニットがいかなる論理ストレージデバイスにも関連していないことを特徴とする請求項48に記載のコンピュータで読み出し可能な媒体。
  51. 前記のコンピュータで読み出し可能な命令がさらに
    i. 前記の仮想論理ユニットのサイズに対する要求を受信し、
    ii. もしも前記の仮想論理ユニットに関連する論理デバイスがあると、前記の論理デバイスの前記のサイズを返し、
    iii. もしも前記の仮想論理ユニットに関連する論理デバイスがないと、0またはエラーを返す
    ことを前記の一つ以上のプロセッサに行わせることを特徴とする請求項48に記載のコンピュータで読み出し可能な媒体。
JP2007081499A 2006-04-14 2007-03-27 継続的データ保護の複数種類のイベントマーカを処理するシステムと方法 Pending JP2007293828A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/404,190 US20070245107A1 (en) 2006-04-14 2006-04-14 System and method for processing a plurality kinds of event markers of a continuous data protection

Publications (1)

Publication Number Publication Date
JP2007293828A true JP2007293828A (ja) 2007-11-08

Family

ID=38330029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007081499A Pending JP2007293828A (ja) 2006-04-14 2007-03-27 継続的データ保護の複数種類のイベントマーカを処理するシステムと方法

Country Status (3)

Country Link
US (1) US20070245107A1 (ja)
EP (1) EP1845449A3 (ja)
JP (1) JP2007293828A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055314A (ja) * 2008-08-27 2010-03-11 Hitachi Ltd 計算機システム及びそのバックアップ方法
JP2010072746A (ja) * 2008-09-16 2010-04-02 Hitachi Ltd ストレージシステム、及びストレージシステムの運用方法
JP2010170402A (ja) * 2009-01-23 2010-08-05 Howa Mach Ltd データバックアップシステム
KR20180012436A (ko) * 2016-07-27 2018-02-06 (주)선재소프트 테이블 재구성시 트랜잭션의 성능저하를 최소화하는 온라인 데이터 베이스 관리 시스템 및 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765190B1 (en) * 2006-05-02 2010-07-27 Emc Corporation Pseudosnapshot creation and implementation using continuous data protection
US7603395B1 (en) * 2006-05-02 2009-10-13 Emc Corporation Using pseudosnapshots for continuous data protection systems to surface a copy of data
US7509358B1 (en) * 2006-05-02 2009-03-24 Emc Corporation Performing replication operations on continuous data protection systems using pseudosnapshots
US7689597B1 (en) * 2006-05-02 2010-03-30 Emc Corporation Mirrored storage architecture using continuous data protection techniques
US7971091B1 (en) 2006-05-02 2011-06-28 Emc Corporation Network configuration backup and restore operations using continuous data protection
US9495370B1 (en) * 2007-07-19 2016-11-15 American Megatrends, Inc. Data recovery point review in a continuous data protection system
JP5046863B2 (ja) * 2007-11-01 2012-10-10 株式会社日立製作所 情報処理システム及びデータ管理方法
US7996718B1 (en) * 2009-02-12 2011-08-09 Symantec Corporation Techniques for continuous data protection
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US8225146B2 (en) * 2009-09-01 2012-07-17 Lsi Corporation Method for implementing continuous data protection utilizing allocate-on-write snapshots
US8392680B1 (en) * 2010-03-30 2013-03-05 Emc International Company Accessing a volume in a distributed environment
US8271447B1 (en) * 2010-06-18 2012-09-18 Emc International Company Mirroring metadata in a continuous data protection environment
US8433869B1 (en) * 2010-09-27 2013-04-30 Emc International Company Virtualized consistency group using an enhanced splitter
US8335771B1 (en) 2010-09-29 2012-12-18 Emc Corporation Storage array snapshots for logged access replication in a continuous data protection system
US8600945B1 (en) * 2012-03-29 2013-12-03 Emc Corporation Continuous data replication
US9785510B1 (en) 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
US10324905B1 (en) * 2015-08-21 2019-06-18 Amazon Technologies, Inc. Proactive state change acceptability verification in journal-based storage systems
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
US11126505B1 (en) 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
US11176017B2 (en) * 2018-12-19 2021-11-16 International Business Machines Corporation Measurement of simulated mirroring in a data storage system
CN111159119A (zh) * 2019-12-29 2020-05-15 北京浪潮数据技术有限公司 一种san存储系统的日志管理方法、系统及相关组件
US11055017B1 (en) 2020-01-27 2021-07-06 International Business Machines Corporation Throttling a point-in-time snapshot copy operation within a data consistency application
US20240129122A1 (en) * 2021-02-24 2024-04-18 Nebulon, Inc. Efficient encryption in storage providing data-at-rest encryption and data mirroring

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7036043B2 (en) * 2001-12-28 2006-04-25 Storage Technology Corporation Data management with virtual recovery mapping and backward moves
US20040141498A1 (en) * 2002-06-28 2004-07-22 Venkat Rangan Apparatus and method for data snapshot processing in a storage processing device
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
JP4165747B2 (ja) * 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
US20050022213A1 (en) * 2003-07-25 2005-01-27 Hitachi, Ltd. Method and apparatus for synchronizing applications for data recovery using storage based journaling
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
JP4168277B2 (ja) * 2004-01-22 2008-10-22 日本電気株式会社 論理ユニット数拡張装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055314A (ja) * 2008-08-27 2010-03-11 Hitachi Ltd 計算機システム及びそのバックアップ方法
JP2010072746A (ja) * 2008-09-16 2010-04-02 Hitachi Ltd ストレージシステム、及びストレージシステムの運用方法
JP2010170402A (ja) * 2009-01-23 2010-08-05 Howa Mach Ltd データバックアップシステム
KR20180012436A (ko) * 2016-07-27 2018-02-06 (주)선재소프트 테이블 재구성시 트랜잭션의 성능저하를 최소화하는 온라인 데이터 베이스 관리 시스템 및 방법
KR101875763B1 (ko) * 2016-07-27 2018-08-07 (주)선재소프트 테이블 재구성시 트랜잭션의 성능저하를 최소화하는 온라인 데이터 베이스 관리 시스템 및 방법

Also Published As

Publication number Publication date
US20070245107A1 (en) 2007-10-18
EP1845449A2 (en) 2007-10-17
EP1845449A3 (en) 2008-09-10

Similar Documents

Publication Publication Date Title
JP2007293828A (ja) 継続的データ保護の複数種類のイベントマーカを処理するシステムと方法
EP2731013B1 (en) Backing up method, device, and system for virtual machine
US7647360B2 (en) System and method for managing a consistency among volumes in a continuous data protection environment
JP4920976B2 (ja) データ移動方法及びストレージシステム
US8473462B1 (en) Change tracking for shared disks
JP4526329B2 (ja) 複数世代の回復スナップショットに関する情報処理システム
US6978282B1 (en) Information replication system having automated replication storage
US7831565B2 (en) Deletion of rollback snapshot partition
US20120072685A1 (en) Method and apparatus for backup of virtual machine data
EP1912116A2 (en) System and method for migration of CDP journal data between storage subsystems
US20030065780A1 (en) Data storage system having data restore by swapping logical units
JP2008226227A (ja) アプリケーション情報に基づくボリューム間の整合性を管理するためのシステムおよび方法
US20080320258A1 (en) Snapshot reset method and apparatus
JP2008282382A (ja) 仮想化されたストレージ領域に関するデータのバックアップおよび復元を行う方法および装置
JP2004252686A (ja) 情報処理システム
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
US9934243B2 (en) System, method and computer program product for partially synchronous and partially asynchronous mounts/unmounts in a media library
JP2008065525A (ja) 計算機システム、データ管理方法及び管理計算機
JP2005135408A (ja) 階層記憶システム
US20070192553A1 (en) Backup apparatus and backup method
US8140886B2 (en) Apparatus, system, and method for virtual storage access method volume data set recovery
US10620843B2 (en) Methods for managing distributed snapshot for low latency storage and devices thereof
US20070033361A1 (en) Apparatus, system, and method for fastcopy target creation
US8041910B2 (en) Storage apparatus and control method thereof
US20090228672A1 (en) Remote copy system and check method

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090216