JP4236677B2 - Cdpを用いたリカバリ方法 - Google Patents

Cdpを用いたリカバリ方法 Download PDF

Info

Publication number
JP4236677B2
JP4236677B2 JP2006253787A JP2006253787A JP4236677B2 JP 4236677 B2 JP4236677 B2 JP 4236677B2 JP 2006253787 A JP2006253787 A JP 2006253787A JP 2006253787 A JP2006253787 A JP 2006253787A JP 4236677 B2 JP4236677 B2 JP 4236677B2
Authority
JP
Japan
Prior art keywords
recovery
journal
data
point
time
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.)
Expired - Fee Related
Application number
JP2006253787A
Other languages
English (en)
Other versions
JP2008077264A (ja
Inventor
渡 岡田
山本  政行
雅英 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006253787A priority Critical patent/JP4236677B2/ja
Priority to US11/598,187 priority patent/US7467165B2/en
Publication of JP2008077264A publication Critical patent/JP2008077264A/ja
Priority to US12/270,389 priority patent/US8082232B2/en
Application granted granted Critical
Publication of JP4236677B2 publication Critical patent/JP4236677B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Description

本発明は、データのリカバリのための技術に関する。
一般に、情報システムでは、定期的にバックアップを取得することで、ストレージシステムの障害、コンピュータウィルスによるデータ破壊、ユーザによる誤操作などによってデータが喪失した場合に、喪失したデータをリカバリできるようにする。
このバックアップ及びリカバリ技術の一つとして、ジャーナリングを用いたバックアップ及びリカバリ技術が提案されている(たとえば、文献1(米国特許公開明細書2005/0015416号)を参照)。この文献1には、一つ以上のデータボリュームで構成される論理的なグループ(以降、「ジャーナルグループ」と呼ぶ)の特定時点のスナップショット(フルバックアップあるいは、差分バックアップなどの論理的なイメージ)を取得し、それ以降の前記データボリュームへの書き込みデータをジャーナル(「Afterジャーナル」と呼ばれる)として前記ジャーナルグループに関連付けられたジャーナルボリュームに格納することと、取得したスナップショットに対して書き込まれた順序どおりに一連のAfterジャーナルを適用することで、特定の時点のデータをリカバリすることと、が開示されている。これは一般に「Continuous Data Protection」又はそれを略して「CDP」と呼ばれる技術の一例である。
また、特許文献1には、上記Afterジャーナル適用によってリカバリしたデータが既に破壊されている場合に、Afterジャーナル適用を取り消す方法も提案されている。この文献1には、Afterジャーナル適用によって上書きされる箇所のデータを前記ジャーナルボリュームへ退避させておき、Afterジャーナル適用を取り消す場合、Afterジャーナル適用後のスナップショットに前記退避させたデータを元の箇所へ適用する(退避したデータを書き戻す)ことで、短時間でAfterジャーナル適用以前のスナップショットへリカバリすることが開示されている。なお、この退避させたデータを「Beforeジャーナル」と呼ぶ。
文献2(特開2004−252686号公報)では、ホスト計算機からの書き込み時にAfterジャーナルとBeforeジャーナルを同時に取得する技術も開示されている。これにより、運用中のデータボリュームにBeforeジャーナルを適用することで、過去のデータをリカバリすることができる。なお、Afterジャーナル、Beforeジャーナル及び当該ジャーナルの管理用のメタデータを纏めて、単に「ジャーナル」と呼ぶ。また、リカバリ時にジャーナルの適用対象となるスナップショットを「基底スナップショット」と呼ぶ。
米国特許公開明細書2005/0015416号 特開2004−252686号公報
一般的に、計算機システムのリカバリでは、リカバリにかかる時間(リカバリ時間)を可能な限り短くしたいという要求がある。
また、計算機システムのリカバリでは、二つ以上の時点のいずれかの時点のデータをリカバリすればよい場合がある。たとえば、ユーザの誤操作により削除してしまったファイルを復元したい場合は、当該ファイルの作成時点から当該ファイルの削除直前までであれば、いずれの時点のデータを復旧してもよい。また、復元対象のファイルの存在期間がわからない場合など、どの時点のデータをリカバリすれば良いかが不明な場合、おおよその見当をつけて特定の時点のデータをリカバリし、そのデータの妥当性を検証することがある。この場合も、厳密に決定された時点のデータをリカバリするわけではなく、ある程度の時間範囲(たとえば、10:00付近など)のいずれかの時点のデータをリカバリすることになる。あるいは、データベース(DB)の全データの中で、日次のバッチ処理によってのみ更新されるデータを復元する場合も、前記バッチ処理間のいずれかの時点のデータをリカバリすればよい。つまり、アプリケーションや業務のイベント間のいずれかの時点のデータをリカバリすればよい場合がある。さらには、データ障害等により停止したシステムを再稼動させる場合も、データ障害以前のいずれかの時点のデータを復旧すればよい。ただし、この場合は、最新のデータが再稼動に必要が無い場合に限られる。たとえば、メールサーバであれば、再稼動に最新のメールデータは必要ないのでこの例に当てはまる(別途、最新のメールデータを復元する必要があってもよい)。
ところで、上述した文献1および2で開示されている技術では、特定時点(リカバリポイント)のデータをリカバリするのに要する時間長(以下、リカバリ時間)は、リカバリ時に基底スナップショットへ適用するジャーナルの数とそのサイズに依存する。つまり、各時点のデータのリカバリ時間はそれぞれ異なっている。しかし、文献1及び2では、どの時点のデータをリカバリするかをユーザが選択するときに、リカバリ時間に関する情報を提示していない。このため、二つ以上の時点のいずれかの時点のデータをリカバリすればよい場合、必要以上に長いリカバリ時間を必要とするデータをリカバリしてしまう場合があるという課題がある。
本発明の目的は、リカバリ時間を短く抑えられるリカバリポイントをユーザが正確に選択できるようにすることにある。
本発明の他の目的は、後述の説明から明らかになるであろう。
本発明に従う制御装置は、CDPを用いたリカバリを実行することができるストレージシステムの制御装置である。
ストレージシステムが、第一の記憶域と、第二の記憶域と、第三の記憶域と、リカバリ実行部とを備えている。前記第一の記憶域は、上位装置(例えばホスト計算機或いは他のストレージシステム)から送信されたデータが格納されるデータ記憶装置の複数のスナップショット取得時点を表す第一の情報を記憶する。前記第二の記憶域は、前記データ記憶装置に対するデータの書込み時点と該データの書込みについてのジャーナルのサイズとを含んだ第二の情報であるジャーナル管理データを各ジャーナルについて記憶する。第三の記憶域は、前記データ記憶装置のリカバリ可能な複数の時点である複数のリカバリポイントを表す第三の情報を記憶する。前記リカバリ実行部は、前記複数のリカバリポイントのうちリカバリ実行要求で指定されたリカバリポイントにおける前記データ記憶装置内のデータ群をリカバリする。具体的には、前記リカバリ実行部は、前記複数のスナップショット取得時点のうち前記指定されたリカバリポイントに対応したスナップショット取得時点における前記データ記憶装置のデータ群に、該対応したスナップショット取得時点と前記指定されたリカバリポイントとの間が書込み時点となっているジャーナル管理データに対応したジャーナルを適用することで、前記複数のリカバリポイントのうちの前記指定されたリカバリポイントにおける前記データ記憶装置内のデータ群をリカバリするように構成されている。
ここで、「前記指定されたリカバリポイントに対応したスナップショット取得時点」とは、例えば、該リカバリポイントにおけるデータ群をリカバリするための基底となるデータ群(以下、基底データ群)が一つだけのケースでは、該基底データ群に対応したスナップショット取得時点である。このケースは、例えば、リカバリの際に適用されるジャーナルが、AfterジャーナルとBeforeジャーナルとのうちいずれか一方のみの場合に該当し得る。一方、別のケースとして、指定されたリカバリポイントにおけるデータ群をリカバリするための基底データ群が複数個あるケースでは、「前記指定されたリカバリポイントに対応したスナップショット取得時点」とは、それら複数の基底データ群のうちリカバリ負荷が最も少なくて済む基底データ群に対応したスナップショット取得時点である。この別のケースは、例えば、ストレージシステムが、AfterジャーナルとBeforeジャーナルとのいずれか一方を選択してリストア可能な構成となっている場合に該当し得る。
また、前述したデータ記憶装置は、前記ストレージシステムに存在しても良いし、該ストレージシステムに他のストレージシステムが接続されておりストレージシステム間でリモートコピーが行われるようになっている場合には、該他のストレージシステムに存在しても良い。
このようなストレージシステムに対し、制御装置が、取得部と、算出部と、リカバリポイント選択受付部と、リカバリ要求部とを備えている。前記取得部は、前記複数のスナップショット取得時点を表す第一の情報と、各ジャーナルについての前記各ジャーナル管理データと、前記複数のリカバリポイントを表す第三の情報とを取得する。前記算出部は、前記取得した第一の情報が表す複数のスナップショット取得時点と、前記各ジャーナル管理データにおける各書込み時点及び各ジャーナルサイズと、前記取得した第三の情報が表す複数のリカバリポイントとに基づいて、各リカバリポイント毎に、そのリカバリポイントにおける前記データ記憶装置のデータ群をリカバリするために転送すべき一以上のデータのトータル転送データサイズを算出する。前記表示部は、前記各リカバリポイントと、該各リカバリポイントについて算出されたトータル転送データサイズを基に表したリカバリ負荷を表す各リカバリ負荷情報との対応関係を可視化した表示画面を表示する表示部と、ユーザ所望のリカバリポイントの選択をユーザから受け付けるリカバリポイント選択受付部と、前記ユーザにより選択されたリカバリポイントを指定したリカバリ実行要求を前記リカバリ実行部に送信するリカバリ要求部とを備える。なお、前記トータル転送データサイズには、例えば、前記対応したスナップショット取得時点における前記データ記憶装置のデータ群に適用すべき一以上のジャーナルのトータルジャーナルサイズが含まれる。また、例えば、リカバリ負荷とは、リカバリ時間の長短に関わるものであり、リカバリ負荷が大きければ、リカバリ時間が長く、リカバリ負荷が小さければ、リカバリ時間は短い。
この制御装置は、ストレージシステムの中に組み込まれたコントローラであっても良いし、ストレージシステムと通信可能な計算機であっても良い。また、制御装置が備える複数の構成要素の一部が、ストレージシステムのコントローラが備え、他の一部が、計算機にあっても良い。
上述した各記憶域は、例えば、記憶資源(例えばメモリ或いはハードディスクなど)に設けることができる。また、各部は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ(例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること)により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD−ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
本発明によれば、リカバリ時間を短く抑えられるリカバリポイントをユーザが正確に選択できる。
以下、本発明の幾つかの実施例について、図面を参照しながら説明する。なお、これにより本発明が限定されるものではない。
(1)実施例1のシステム構成。
図1は、本発明の実施例1に係る計算機システムの構成例を示すブロック図である。
本システムでは、ストレージシステム1000とホスト計算機1100は、データネットワーク1300を介して互いに接続される。本実施例では、データネットワーク1300はストレージエリアネットワークとするが、IPネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。
ストレージシステム1000とホスト計算機1100と管理計算機1200は、管理ネットワーク1400を介して互いに接続される。本実施例では、管理ネットワーク1400はIPネットワークとするが、ストレージエリアネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。また、データネットワーク1300と管理ネットワーク1400が同一ネットワークであってもよいし、ホスト計算機1100と管理計算機1200が同一計算機であってもかまわない。
なお、説明の都合上、図1では、ストレージシステム1000を1台、ホスト計算機1100を1台、管理計算機1200を1台としたが、本発明ではこれら以上の台数を設置しても良い。
ストレージシステム1000は、データを格納する複数の記憶装置1010と、ストレージシステム1000内の制御を行うコントローラ1020とで構成されている。
記憶装置1010として、ハードディスクドライブ、フラッシュメモリデバイスなど、種々の記憶装置を採用することができる。異なる種類の記憶装置1010がストレージシステム1000に混在してもよい。二以上の記憶装置1010により、RAID(Redundant Array of Independent (or Inexpensive) Disks)の規則に従うグループ(RAIDグループ)を構成することができる。RAIDグループの記憶空間により、一以上の論理ボリュームを用意することができる。複数の記憶装置1010には、この論理ボリュームを一又は複数個備えたものとして、例えば、ジャーナルグループ1014、SSVOLグループ1015、ジャーナルボリューム1013を備えることができる。なお、記憶装置1010は一つでもよい。
ジャーナルグループ1014は、一つ以上のデータボリューム1011により構成される。データボリューム1011は、ホスト計算機1100が利用するデータを格納する論理ボリュームである。また、ジャーナルグループ1014には、一つ以上のジャーナルボリューム1013及び一つ以上のSSVOLグループ1015が関連付けられる。ジャーナルボリューム1013は、ジャーナル及びマーカーを格納する論理ボリュームである。マーカーとは、各種イベントの発生時点を記録するためのデータであり、リカバリ時にリカバリポイント選択の指標として利用される。SSVOLグループ1015については後述する。
データボリューム1011へのホスト計算機1100からの書き込み要求は、後述する制御プログラム1028を実行するCPU1023により処理され、該書込み要求に従うデータが、データボリューム1011に書込まれる。このとき、CPU1023は、書き込むデータをAfterジャーナル、上書きされる箇所のデータをBeforeジャーナルとし、送信されてきた順序に従って順序番号を割り振るなど、適切な管理用メタデータを付与してジャーナルを作成する。そして、CPU1023は、当該ジャーナルを、データボリューム1011が属するジャーナルグループ1014に関連付けられたジャーナルボリューム1013に格納する。前記メタデータや順序番号については、後にジャーナルの構成と併せて説明する。なお、新規ジャーナルの格納領域が不足した場合、前記CPU1023は、最古のジャーナルをジャーナルボリューム1013から削除して空き領域を作成した後に、ジャーナルを格納することができる。また、一変形例として、ホスト計算機1100からの書き込み要求の処理の際は、CPU1023はAfterジャーナルとBeforeジャーナルのどちらか一方のみを持つジャーナルを作成する構成にしてもよい。
SSVOLグループ1015は、一つ以上のスナップショットボリューム1012で構成される。スナップショットボリューム1012は、ある時点におけるデータボリューム1011の複製イメージ(スナップショット)を格納する論理ボリュームである。なお、本実施例において、スナップショットボリューム1012に格納されるスナップショットは、データボリューム1011のフルバックアップであっても、差分バックアップのような論理的なイメージであっても良い。
なお、これらの構成情報は、後述するコントローラ1020の制御プログラム1028を実行するCPU1023によって、管理情報群1029で管理される。
コントローラ1020は、管理I/F1021、データI/F1022、ストレージI/F1025、メインメモリ1026、CPU1023及びタイマ1024を備えている。
メインメモリ1026には、管理情報群1029及び制御プログラム1028が記憶されている。CPU1023は、メインメモリ1026に記憶されたコンピュータプログラムである制御プログラム1028を実行する。
制御プログラム1028がCPU1023に実行されることにより、種々の処理、例えば、スナップショットの取得、ジャーナルの生成、ジャーナルを用いたリカバリ、ジャーナルの開放などが行われる。以下、コンピュータプログラムが主語になる場合は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われるものとする。制御プログラム1028は、管理計算機1200やホスト計算機1100からの要求に応じて記憶装置1010に対するデータの入出力を処理することや、ストレージシステム1000の構成の設定を行うことができる。ストレージシステム1000の構成の設定としては、例えば、どの論理ボリュームがどの記憶装置1010から提供されるかなどを表す情報を設定することがある。該構成の設定を表した情報は、管理情報群1029に含まれる。制御プログラム1028は、管理情報群1029を参照し、該管理情報群1029中の情報を基に、上述した種々の処理を実行することができる。情報群1029の構成については後述する。
タイマ1024は、現在時刻を提供する機能を持つ一般的なタイマとすることができる。ジャーナル作成時やスナップショット取得時に、制御プログラム1028によって参照される。
データI/F1022は、データネットワーク1300に対するインタフェース装置であって、一つ以上の通信用ポートを持つ。コントローラ1020は、このポートを介して、ホスト計算機1100(及び/又は他のストレージシステム)とデータや制御命令の送受信を行う。管理I/F1021は、管理ネットワーク1400とのインタフェース装置であって、ホスト計算機1100や管理計算機1200とデータや制御命令の送受信を行う。ストレージI/F1025は、記憶装置1010に対するインタフェース装置であって、データや制御命令の送受信を行う。
ホスト計算機1100は、入力装置(例えばキーボードやマウス)1140や、CPU1130や、表示装置(例えばCRT(Cathode Ray Tube)或いは液晶ディスプレイ)1120や、メモリ1160や、データI/F1110や、管理I/F1150を備える。
データI/F1110は、データネットワーク1300に対するインタフェース装置であって、一つ以上の通信ポートを持つ。このポートを介して、ホスト計算機1100は、ストレージシステム1000とデータや制御命令の送受信を行う。管理I/F1150は、管理ネットワーク1400に対するインタフェース装置であって、システム管理のために(システム管理のために限らなくて良い)管理計算機1200及びストレージシステム1000とデータや制御命令の送受信を行う。
メモリ1160には、複数のコンピュータプログラム、例えば、アプリケーション1161やリカバリマネージャ1162が記憶されている。CPU1130は、メモリ1160に記憶された各種プログラムを実行することで各機能を実現することができる。
アプリケーション1161は、データボリューム1011を利用するアプリケーションプログラムであり、例えば、DBMS(データベースマネジメントシステム)やファイルシステムである。
リカバリマネージャ1162は、例えば、アプリケーション1161の静止化、ストレージシステム1000に対するスナップショット取得の要求や特定時点のデータのリカバリ要求等を行う。また、リカバリマネージャ1162は、アプリケーションの静止化やその他のイベントや管理者の指示に応じて、ストレージシステム1000にマーカーの挿入を要求する。当該マーカーは、リカバリを行う際にリカバリポイント選択のための指標として用いられる。リカバリポイントとは、過去の或る時点におけるデータをリカバリする際の該過去の或る時点を意味する。つまり、リカバリポイントを選択することは、どの時点におけるデータをリカバリするかを選択することである。マーカーは、制御プログラム1028により、データ長0のジャーナルとしてジャーナルと同等のデータ構成でジャーナルボリューム1013内に保存される。この構成についてはジャーナルの構成と共に後述する。リカバリマネージャ1162は、管理者や他のプログラムがこれらの機能を実行できるように、インタフェースとしてコマンドラインインタフェース(以降、「CLI」と呼ぶ)などを提供する。
なお、説明の都合上、図1では、アプリケーション1163を一つとしたが、本実施例ではこれ以上存在してもよい。
管理計算機1200は、入力装置(例えばキーボードやマウス)1240、CPU1230、表示装置(例えばCRT或いは液晶ディスプレイ)1220、メモリ1250及び管理I/F1210を備える。
管理I/F1210は、システム管理のために(システム管理に限らなくて良い)ホスト計算機1100及びストレージシステム1000とデータや制御命令を送受信する。
メモリ1250には、複数のコンピュータプログラム、例えば、設定プログラム1251やリカバリ指示プログラム1252が記憶されている。CPU1230はメモリ1250に記憶された各種プログラムを実行することで各機能を実現することができる。
設定プログラム1251は、管理情報群1029の値を設定させるためのプログラムである。なお、管理情報群1029の値を設定する場合、該設定プログラム1251を実行するCPU1230が、制御プログラム1028を実行するCPU1023と通信を行うことができる。
リカバリ指示プログラム1252は、リカバリ時に管理者の指示に従い、ジャーナルやマーカーの蓄積情報と基底スナップショットの取得時刻とをストレージシステム1000から収集し、各種イベント発生時点を含む各時点と当該時点のデータのリカバリに必要なジャーナル適用量の関係性を可視化したインタフェースを提供し、当該可視化したインタフェースを用いてユーザが選択したリカバリポイントのデータを復元するようにストレージシステム1000に指示を出す。本処理の詳細は後述する。
なお、上記2つのプログラム1251及び1252は、管理者や他のプログラムがこのプログラムを実行できるように、インタフェースとしてCLIなどを提供することができる。
図2から図7は管理情報群1029に含まれる種々のテーブル或いはデータの構成例を示す。なお、各図のテーブルにおいて、参照番号が付されているのは、カラム或いはフィールドを指し、カラム或いはフィールドに格納される値それ自体を指してはいない。従って、以下の説明では、カラム或いはフィールドを指す場合には、参照番号を付して説明し、カラム或いはフィールドを指しているわけではない場合には、参照番号を付さずに説明することにする。
図2は、ジャーナルグループテーブル2000の構成例を示す。
ジャーナルグループテーブル2000には、ジャーナルグループ1014に関する情報が記録される。本テーブル2000には、例えば、各ジャーナルグループ1014毎に、該ジャーナルグループのID(JNLG_ID)と、順序カウンタとが記録される。具体的には、例えば、本テーブル2000には、JNLG_ID2001及び順序カウンタ2002がある。
JNLG_ID2001は、ジャーナルグループの識別子(ID)が格納されるカラムである。この識別子は、設定プログラム1251が提供するCLIを管理者が用いてジャーナルグループ1014を作成することで、設定される。たとえば、管理者は、「CreateJG -jgid JNLG_1」のようなコマンドを発行できる。これは、ストレージシステム1000に対する「ジャーナルグループJNLG_1を作成せよ」という命令になる。このJNLG_1という値が、JNLG_ID2001に格納される。
なお、この設定を行うために、設定プログラム1251に従い動作するCPU1230は、制御プログラム1028に従い動作するCPU1023と通信を行うことができる。この通信は、例えば、設定プログラム1251の設定情報(図示せず)に接続先として登録されているIPアドレスを用いて確立される。以下、前記CPU1230が各種プログラムを実行する上で、制御プログラム1028に従い動作するCPU1023と通信を行う場合は、上記と同様に通信を確立してから行うものとし、説明を省略する。また、リカバリ指示プログラム1252に従って動作する場合も同様である。
順序カウンタ2002は、ジャーナル作成の順序を管理するための番号(順序カウント値)が格納されるカラムである。順序カウンタ2002に格納される各順序カウント値の初期値は0だが、ホスト計算機1100からの書込み要求に対してジャーナルを生成するたびに、制御プログラム1028によって、順序カウント値は、所定値分更新、例えば1加算される。そして、この加算後の順序カウント値が後述するジャーナルの順序番号7005にコピーされる。なお、ジャーナルの順序番号は、スナップショットを取得するたびに、制御プログラム1028によって、後述するSSVOLグループ管理テーブルの順序番号5005にコピーされる。この処理により、各ジャーナル作成タイミングとスナップショット取得タイミングの順序関係が記録される。リカバリの際は、制御プログラム1028は、この順序関係を用いて、基底スナップショットに適用すべきジャーナルとその適用順序を特定することができる。具体的には、例えば、特定のスナップショットにAfterジャーナルを適用してリカバリを行う場合、制御プログラム1028は、当該スナップショットの取得時のジャーナル順序番号より大きく且つ指定されたリカバリポイントのジャーナル順序番号以下のジャーナル順序番号を持つジャーナルを、該ジャーナルのジャーナル順序番号に従って適用する。逆に、特定のスナップショットにBeforeジャーナルを適用する場合、制御プログラム1028は、当該スナップショットの取得時のジャーナル順序番号より小さく且つ指定されたリカバリポイントのジャーナル順序番号以上のジャーナル順序番号を持つ各ジャーナルを、該ジャーナルのジャーナル順序番号の大きい順に適用する。
図3は、データボリュームテーブル3000の構成例を示す。
データボリュームテーブル3000には、ジャーナルグループ1014を構成するデータボリュームに関する情報が記録される。例えば、データボリュームテーブル3000には、各ジャーナルグループ1014毎に、JNLG_ID、該ジャーナルグループに属するデータボリュームのID、及び該データボリュームのボリュームサイズが記録される。具体的には、例えば、本テーブル3000には、JNLG_ID3001、データボリュームID3002及びサイズ3003がある。
JNLG_ID3001は、ジャーナルグループの識別子が格納されるカラムである。
データボリュームID3002は、論理ボリューム(データボリューム)の識別子が格納されるカラムである。該カラムの各エントリ(セル)には、該エントリが対応するJNLG_IDが割り当てられたジャーナルグループに属する論理ボリュームのIDが格納される。
サイズ3003は、論理ボリュームのサイズが格納されるカラムである。該カラムの各エントリ(セル)には、該エントリが対応するデータボリュームIDが割り当てられた論理ボリュームのボリュームサイズが格納される。
これらの値は、例えば、設定プログラム1251が提供するCLIを管理者が用いて、ジャーナルグループにデータボリュームを追加することで、設定することが可能である。たとえば、管理者は、「addDataVOL -jgid JNLG_1 -datavolid LU_11」というコマンドを発行できる。これは、ストレージシステム1000に対する「ジャーナルグループJNLG_1にデータボリュームLU_11を追加せよ」という命令になる。このJNLG_1がJNLG_ID6001に格納され、LU_11がデータボリュームID6002に格納される。また、このとき、制御プログラム1028に従い動作するCPU1023が管理しているLU_11のサイズが、サイズ3003に設定される。なお、単一のジャーナルグループに複数のデータボリュームを設定する場合は、上記のコマンドを複数回実行することができる。
図4は、スナップショットボリューム管理テーブル4000の構成例を示す。
スナップショットボリューム管理テーブル4000には、SSVOLグループ1015を構成するスナップショットに関する情報が記録される。例えば、各SSVOLグループ(スナップショットボリュームグループ)1015毎に、該SSVOLグループのID、該SSVOLグループに属するスナップショットボリュームのID、及び該SSVOLグループに対応付けられたデータボリュームのIDが格納される。具体的には、例えば、本テーブルには、SSVOLグループID4001、スナップショットボリュームID4002及び対応データボリュームID4003がある。
SSVOLグループID4001は、管理対象となるSSVOLグループの識別子が格納されるカラムである。
スナップショットボリュームID4002は、論理ボリューム(スナップショットボリューム)の識別子が格納されるカラムである。該カラムの各エントリ(セル)には、該エントリが対応するSSVOLグループIDが割り当てられたSSVOLグループに属するスナップショットボリュームのIDが格納される。
対応データボリュームID4003は、スナップショット取得対象のデータボリュームの識別子を格納する。該カラムの各エントリ(セル)には、該エントリが対応するSSVOLグループIDが割り当てられたSSVOLグループに対応付けられたデータボリュームのIDが格納される。
これらの値は、例えば、設定プログラム1251が提供するCLIを管理者が用いて、SSVOLグループにスナップショットボリュームとなる論理ボリュームを追加することで設定することが可能である。たとえば、管理者は、「addSSVOL -ssvolgid SSG_1 -ssvolid LU_21 -source LU_11」というコマンドを発行する。これは、ストレージシステム1000に対する「SSVOLグループSSG_1に、データボリュームLU_11のスナップショットを格納するためのスナップショットボリュームLU_21を追加せよ」という命令になる。このSSG_1がSVOLグループID4001に格納され、LU_21がスナップショットボリュームID4002に格納され、LU_11が対応データボリュームID4003に格納される。
図5は、SSVOLグループ管理テーブル5000の構成例を示す。
SSVOLグループ管理テーブル5000には、ジャーナルグループ1014とSSVOLグループ1015の関連付けに関する情報が記録される。例えば、各ジャーナルグループ1014毎に、該ジャーナルグループのIDと、該ジャーナルグループに対応するSSVOLグループのIDと、該SSVOLグループに対応したスナップショットの順序番号と、該スナップショットの取得時刻とが記録される。具体的には、例えば、本テーブル5000には、JNLG_ID5001、SSVOLグループID5002、順序番号5003及び取得時刻5004がある。
JNLG_ID5001は、管理対象となるジャーナルグループの識別子が格納されるカラムである。
SVOLグループID5002は、JNLG_ID5001で示されるジャーナルグループのスナップショットを格納するSSVOLグループの識別子が格納される。
これらの値は、例えば、設定プログラム1251が提供するCLIを管理者が用いて、ジャーナルグループにSSVOLグループを関連付けることにより設定することが可能である。たとえば、管理者は、「addSSVOLG -jgid JNLG_1 -ssvolgid SSG_1」のようなコマンドを発行する。これは、ストレージシステム1000に対する「ジャーナルグループJNLG_1にSSVOLグループSSG_1を関連付けよ」という命令になる。このJNLG_1がJNLグループID5001に格納され、SSG_1の値がSSVOLグループID5002に格納される。なお、上記コマンドのSSVOLグループの識別子を変更させて複数回実行することで、複数のSSVOLグループをジャーナルグループに関連付けることができる。
順序番号5003は、SSVOLグループID5002で示されるSSVOLグループに格納したスナップショットの取得タイミングと、ジャーナル作成タイミングとの順序関係を示す番号(スナップショット順序番号)が格納されるカラムである。制御プログラム1028が、スナップショットを格納する場合に、順序カウンタ2002の順序カウント値を順序番号5003に設定する。すなわち、順序番号5003に格納されるスナップショット取得番号は、どのジャーナル順序番号を有するジャーナルまで格納された場合のスナップショットであるかを表す番号となる。
取得時刻5004は、スナップショット取得要求がストレージシステム1000に到着した時刻(スナップショット取得時刻)が格納されるカラムである。制御プログラム1028が、タイマ1024から現在時刻を取得し、取得した現在時刻を、取得時刻5004に設定する。なお、変形例として、取得時刻5004には、スナップショット取得要求内に含まれる要求発行時刻としても良い。たとえば、メインフレーム環境では、複数のメインフレームホストがタイマを共有しており、スナップショット取得要求を発行する時刻を提供することができるため、これを利用してもよい。
図6は、ジャーナルボリュームテーブル6000の構成例を示す。
ジャーナルボリュームテーブル6000には、ジャーナルグループに対応付けられたジャーナルボリュームに関する情報が記録される。例えば、各ジャーナルグループ1014毎に、該ジャーナルグループのIDと、該ジャーナルグループに対応付けられたJNLボリュームのIDと、該JNLボリュームの使用順序とが記録される。具体的には、例えば、本テーブル6000には、JNLG_ID6001、JNLボリュームID6002及び使用順序6003がある。
JNLG_ID6001は、ジャーナルグループの識別子が格納されるカラムである。
JNLボリュームID6002は、JNLG_ID6001で示されるジャーナルグループで利用されるジャーナルボリュームの識別子が格納されるカラムである。
使用順序6003は、JNLボリュームID6002で示されるジャーナルボリュームがジャーナルを格納するために使用される順番が格納されるカラムである。
これらの値は、例えば、設定プログラム1254が提供するCLIを管理者が用いて、ジャーナルグループにジャーナルボリュームを追加することにより設定することが可能である。たとえば、管理者は、「addJVOL -jgid JNLG_1 -jvolid LU_31」のようなコマンドを発行する。これは、ストレージシステム1000に対する「ジャーナルグループJNLG_1にジャーナルボリュームLU_31を追加せよ」という命令になる。このJNLG_1がJNLG_ID6001に格納され、LU_31がJNLボリュームID6002に格納される。また、使用順序6003には、この命令により設定されたJNLG_ID6001の値と同一の値を持つレコードの使用順序6003の最大値に1を加えたものが格納される。このとき、同一の値を持つレコードが無い場合は、1が格納される。なお、上記コマンドのジャーナルボリュームとなる論理ボリュームの識別子を変更させて複数回実行することで、複数のジャーナルボリュームをジャーナルグループに追加することができる。
図7は、ジャーナル管理データ7000の構成例を示した図である。
ジャーナル管理データ7000は、ジャーナルを管理するためのデータである。ジャーナル管理データ7000は、一つのジャーナルにつき一つ存在し、新たにジャーナルが作成される都度に新たに作成される。本実施例では、マーカーがジャーナルの一種のため、マーカーが作成される場合にも、該マーカーに対応したジャーナル管理データ7000が作成される。ジャーナル管理データ7000には、例えば、データボリュームID7001、適用先アドレス7002、データ長7003、生成時刻7004、順序番号7005、Afterジャーナル格納ボリュームID7006、Afterジャーナル格納アドレス7007、Beforeジャーナル格納ボリュームID7008、Beforeジャーナル格納アドレス7009及びコメント7010がある。
データボリュームID7001は、ジャーナルの適用先となるデータボリュームの識別子が格納されるフィールドである。
適用先アドレス7002は、データボリュームID7001で示されるデータボリューム内での適用先アドレスが格納されるフィールドである。
データ長7003は適用するデータの長さ、すなわちAfterジャーナル及び/又はBeforeジャーナルの長さが格納されるフィールドである。
これらの値は、制御プログラム1028に従って動作するCPU1023がジャーナルを作成する際に、ホスト計算機1100の書込み要求に応じて設定する値である。なお、ジャーナルがマーカーを意味する場合は、データボリュームID7001と適用先アドレス7002には、NULLが設定される。また、データ長7003には0が設定される。
生成時刻7004は、ホスト計算機1100の書き込み要求がストレージシステム1000に到着した時刻を保持する。生成時刻7004の値は、制御プログラム1028に従って動作するCPU1023が、コントローラ1020のタイマ1024から取得し、設定するものである。なお、変形例として、生成時刻7004には、書込み要求内に含まれる書込み発行時刻(タイムスタンプ)が格納されても良い。
順序番号7005は、スナップショットの取得タイミングとジャーナル作成タイミングとの順序関係を示す番号が格納されるフィールドである。制御プログラム1028が、ジャーナルを作成する時に、順序カウンタ5002の順序カウント値に1だけ加算した値を順序番号として設定する。
Afterジャーナル格納ボリュームID7006は、Afterジャーナルを格納している論理ボリューム(ジャーナルボリューム)の識別子が格納されるフィールドである。
Afterジャーナル格納アドレス7007は、Afterジャーナル格納ボリュームID7006で示される論理ボリュームにおけるアドレス(Afterジャーナルを格納しているアドレス)が格納されるフィールドである。制御プログラム1028が、ジャーナルを作成する時に、Afterジャーナルを格納した場所に応じて、これらの値を設定する。なお、ジャーナルがマーカーを意味する場合は、Afterジャーナル格納ボリュームID7006とAfterジャーナル格納アドレス7007には、NULLが設定される。
Beforeジャーナル格納ボリュームID7008は、Beforeジャーナルを格納している論理ボリューム(ジャーナルボリューム)の識別子が格納されるフィールドである。
Beforeジャーナル格納アドレス7009は、Beforeジャーナル格納ボリュームID7008で示される論理ボリュームにおけるアドレス(Beforeジャーナルを格納しているアドレス)が格納されるフィールドである。制御プログラム1028が、ジャーナルを作成する時に、Beforeジャーナルを格納した場所に応じて、これらの値を設定する。なお、ジャーナルがマーカーを意味する場合は、Beforeジャーナル格納ボリュームID7008とBeforeジャーナル格納アドレス7009には、NULLが設定される。
コメント7010は、特定のイベントを示す文字列が格納されるフィールドである。本値は、例えば、ジャーナルがマーカーである場合のみに設定され、リカバリマネージャ1162の要求に応じて設定される。ジャーナルがマーカーで無い場合は、コメント7010には、NULLが設定される。勿論、これに限定することなく、例えば、ジャーナルがマーカーではない場合に、コメントとして、特定のイベントを示す文字列が格納されても良い。
(2)実施例1の動作。
次に、本実施例の動作の説明を行う。
図8は、リカバリ指示プログラム1252が管理者の指示に従いストレージシステム1000へリカバリの指示を行う際の処理の流れである。
管理者は、リカバリ指示プログラム1252が提供するCLIを用いて、本処理を起動する。たとえば、管理者は「showRecoveryConsole -jnlgid JNLG_1」のようなコマンドを発行する。これは、「ジャーナルグループJNLG_1のデータをリカバリするためのコンソールを開け」という命令になる。
本処理が起動された場合、リカバリ指示プログラム1252が、制御プログラム1028から、管理者から指定されたジャーナルグループ(上記コマンド例ではJNLG_1)に関するジャーナル及びマーカーの蓄積情報と、スナップショットの取得タイミングとを取得する(ステップ8010)。ここで取得する情報は、具体的には、SSVOLグループ管理テーブル5000の情報と、ジャーナル管理データ7000の情報となる。なお、本ステップでは、通信を行うために、前述した設定プログラム1251の設定情報に接続先として登録されていたIPアドレスを用いて予めストレージシステム1000との通信を確立する。
次に、リカバリ指示プログラム1252は、各種イベント発生時点を含む各時点(リカバリポイント)のデータのリカバリに必要なジャーナル適用量を算出する(ステップ8020)。本実施例では、BeforeジャーナルもAfterジャーナルの適用可能なので、この処理では、各リカバリポイントの直前のスナップショットを基底スナップショットとしてリカバリを行った場合に適用するジャーナルのデータ長の総計と、直後のスナップショット(存在しなければデータボリューム)を基底スナップショットとしてリカバリを行った場合に適用するジャーナルのデータ長の総計を比較する(データ長は、データ長7003に格納されている値)。そして、データ値の総計の小さい方を、データのリカバリに必要なジャーナル適用量とする。なお、変形例として、ジャーナルとしてAfterジャーナルのみを保持する計算機システムである場合は、各リカバリポイントの直前のスナップショットを基底スナップショットとしてリカバリを行った場合に適用するジャーナルのデータ長の総計が、データのリカバリに必要なジャーナル適用量となる。同様に、別の変形例において、ジャーナルとしてBeforeジャーナルのみを保持する計算機システムである場合は、各時点の直後のスナップショット(存在しなければデータボリューム)を基底スナップショットとしてリカバリを行った場合に適用するジャーナルのデータ長の総計が、データのリカバリに必要なジャーナル適用量となる。さらに、また別の変形例として、制御プログラム1028が、リカバリ時に基底スナップショットの同一のアドレスに複数のジャーナルを適用する必要がある場合に、最後に適用するジャーナル以外のジャーナルの適用をスキップすることができる。この場合は、本ステップのデータのリカバリに必要なジャーナル適用量の算出時も同様に、最後に適用するジャーナル以外のジャーナルのデータ長の加算をスキップすることができる。
次に、リカバリ指示プログラム1252は、ステップ8020で各時点間のデータのリカバリに必要なジャーナル適用量の関係を可視化したインタフェースを表示装置1220に表示する(ステップ8030)。このインタフェースは、例えばGUI(グラフィカルユーザインタフェース)である。詳細は、後述する。
次に、管理者は、表示されたインタフェース上でリカバリポイントを選択する(ステップ8040)。リカバリ指示プログラム1252は、この選択を受け付ける(ステップ8050)。
次に、リカバリ指示プログラム1252は、受け付けたリカバリポイントのデータをリカバリすることの要求(リカバリ実行要求)を、制御プログラム1028に送信する(ステップ8060)。リカバリ実行要求を受け付けた制御プログラム1028は、リカバリを実施する。具体的には、制御プログラム1028は、リカバリ実行要求で指定されたリカバリポイントに対応したスナップショット取得時刻におけるスナップショットに、該対応したスナップショット取得時刻と上記指定されたリカバリポイントとの間が生成時刻となっているジャーナル管理データに対応したジャーナルを適用することで、上記指定されたリカバリポイントにおけるデータ群をリカバリする。リカバリ実行要求では、スナップショット取得時刻を指定しても良い。
以上が、リカバリ指示プログラム1252が、ストレージシステム1000へリカバリの指示を行う際の処理の流れである。なお、本実施例では、ジャーナル適用量をリカバリ指示プログラム1252が算出しているが、変形例として、制御プログラム1028が算出し、それをリカバリ指示プログラム1252がステップ8010において収集しても良い。この場合は、ステップ8020の処理は省略可能である。
図9Aは、ステップ8030において表示される第一種のGUIの第一の例である。
このGUIは、リカバリ指示プログラム1252によって生成され表示される前述のインタフェースの一例である。以下、各リカバリポイントを含む各時点とジャーナル適用量との関係を二次元グラフで表現したGUIを、「第一種のGUI」と呼ぶことにする。それに対し、各時点とジャーナル適用量との関係をバーで表現したGUIを、「第二種のGUI」と呼ぶことにする。これは、リカバリ負荷情報が、ジャーナル適用量以外の場合にも同様とする。
9010は、各リカバリポイントを含む各時点でのデータのリカバリに必要なジャーナル適用量の関係を示した2次元グラフである。当該グラフ9010の縦軸は、ジャーナル適用量を示し、横軸は、時刻を示している。9011は、ステップ8020で算出した各リカバリポイントにおけるデータのリカバリに必要なジャーナル適用量をプロットした点を線で結んだものである。9012は、マーカーが挿入された時刻、つまりリカバリポイントを示すアイコンである。本アイコンは、マーカーに含まれているコメント7000に応じて形や色を変更しても良い。マーカーは、ユーザからの指示や、エラーが発生した場合などの所定のイベント発生時に挿入される。9013は、マウス等の入力装置によって移動するポインタである。ステップ8040において、ユーザがリカバリポイントの選択を行う際に移動させる。
9021は、マーカーに含まれているコメントがテキストで表示されるテキストフィールドである。管理者が、9010の横軸上の9012に9013を移動させ、クリックすると、リカバリ指示プログラム1252が、当該9012に対応するマーカーに含まれているコメントを9021に表示する。なお、9012が存在しない横軸上の点をクリックすると、9021には何も表示されなくてよい。
9022は、リカバリポイントがテキストで表示されるテキストフィールドである。管理者が9010の横軸上の一点に9013を移動させ、クリックすると、リカバリ指示プログラム1252が、当該点に対応する時刻をテキストで9022に表示する。
9023はリカバリに必要なジャーナル適用量がテキストで表示されるテキストフィールドである。管理者が、9010の横軸上の一点に9013を移動させ、クリックすると、リカバリ指示プログラム1252が、当該点に対応するリカバリに必要なジャーナル適用量をテキストで9023に表示する。
9031は、リカバリポイントの選択を確定するためのボタンである。管理者が、本ボタンを押下すると、9022に表示された時点のデータをリカバリすることを、リカバリ指示プログラム1252に要求したことになる。9032は、図8を用いて説明した処理を終了するためのボタンである。管理者が本ボタンを押下すると、図8を用いて説明した処理を終了することを、リカバリ指示プログラム1252に要求したことになる。本要求を受け取ったCPU1230は処理を強制終了する。
以上が、ステップ8030において表示する第一種のGUIの第一の例である。なお、第一種のGUIの第二の例として、ジャーナルとしてAfterジャーナルのみを保持している場合は、9010は、図9Bのような形となる。つまり、第一のスナップショット取得時刻と次の第二のスナップショット取得時刻との中間付近には、リカバリ時間のピークは存在せず、第二のスナップショット取得時刻に最も近い時点が、リカバリ時間のピークとなる。逆に、例えば、ジャーナルとしてBeforeジャーナルのみを保持している場合は、9010は、例えば、図22Aに例示するようになる。つまり、第一のスナップショット取得時刻と次の第二のスナップショット取得時刻との中間付近には、リカバリ時間のピークは存在せず、第一のスナップショット取得時刻に最も近い時点が、リカバリ時間のピークとなる。
なお、線9011において、各時点間での傾きは、その時点間で書き込まれたジャーナルのデータ長の総計によって異なる。つまり、同一の長さの時点間において、該総計が大きい場合には、傾きは大きくなり、該総計が小さい場合には、傾きは小さくなる。
図10Aは、ステップ8030において表示する第二種のGUIの第一の例である。なお、本GUIにおいて、各リカバリポイントとジャーナル適用量との関係性の表示態様以外は、第一種のGUIと同じであるため、以下では、該関係性の表示態様のみを説明する。
本GUIでは、2次元グラフ9010の代わりに、表示エリア10010が表示される。当該表示エリア10010では、各時点のデータのリカバリに必要なジャーナル適用量を示すバー10011が含まれる。当該バーの横軸は時刻を示し、内部の色がジャーナルの適用量を示している。当該バーの着色方法は、例えば次の通りである。リカバリ指示プログラム1252が、ステップ8020において算出した各時点のデータリカバリに必要なジャーナル適用量の最大値を検索する。この最大値を256として、各時点のデータリカバリに必要なジャーナル適用量の比率K1を求める。そして各時点の色を、(R,G,B)=(256,256−K1,256−K1)として着色する(RGBは、光の三原色である赤、緑、青の略)。これにより、ジャーナル適用量が多いものほど赤くなるバーが作成できる。なお、着色方法は、この方法に限らず、他種の方法を採用することができる。また、色に限らず、テクスチャやパターンなど他種の態様での表示が行われても良い。表示エリア10010において、9012、9013に関しては図9Aと同等である。
以上が、ステップ8030において表示する第二種のGUIの第一の例である。なお、第二種のGUIの第二の例として、ジャーナルとしてAfterジャーナルのみを保持している場合は、10010は図10Bのようになる。すなわち、第一のスナップショット取得時刻と次の第二のスナップショット取得時刻との間では、第二のスナップショット取得時刻により近くなれば、第一のスナップショット取得時刻で取得された第一のスナップショットに適用すべきジャーナルの適用量はより多くなるので、より赤色になる。
以上、図9A、図9B、図10A、図10B及び図22Aに、第一種及び第二種のGUIの例を示したが、各リカバリポイントとジャーナル適用量との関係を示す方法はこれに限定されるものではない。
以上が、実施例1の説明である。当該実施例1によれば、各リカバリポイントとジャーナル適用量との関係性を可視化したインタフェースを管理者に提供することができる。このため、管理者は、どのリカバリポイントを選択すればより短いリカバリ時間でリカバリが可能であるかを把握することができるので、正確に、リカバリ時間を短く抑えられるリカバリポイントを選択できる。
次に第2の実施例について説明する。なお、以下の説明では、実施例1との相違点を主に説明し、実施例1との共通点については、説明を省略或いは簡略する(これは、後の実施例3以降についても同様である)。
実施例1では、各リカバリポイントを含む各時点と当該時点のデータのリカバリに必要なジャーナル適用量との関係性を可視化する例を示した。本実施例では、ジャーナル適用の性能が取得できる場合に、各時点とリカバリ時間との関係性を可視化する例を示す。
(1)実施例2のシステム構成。
本実施例のシステム構成の大部分は実施例1のものと同じであるため、以降は差分を主に説明する。
図11は、実施例2でのデータボリュームテーブル3000の一例である。
本実施例では、新たにWrite性能11004が追加されている。Write性能11004は、データボリュームID3002で示される論理ボリュームの書き込み性能が格納されるカラムである。管理者は、例えば、予め書き込み性能テストを行い、その平均値をWrite性能として入力することができる。変形例としては、当該論理ボリュームの性能をモニタリングし、本値をリアルタイムに変更しても良い。
本値は、例えば、設定プログラム1251が提供するCLIを管理者が用いることにより、設定することが可能である。たとえば、管理者は、「setDataVOLPerformance -datavolid LU_11 -performance 200Mbps」というコマンドを発行できる。これは、ストレージシステム1000に対する「データボリュームLU_11のWrite性能を200Mbpsとして設定せよ」という命令になる。この200MbpsがWrite性能11004に格納される。
図12は、実施例2でのスナップショットボリューム管理テーブル4000の一例である。
本実施例では、新たにWrite性能12004が追加されている。Write性能12004は、スナップショットボリュームID4002で示される論理ボリュームの書き込み性能が格納されるカラムである。管理者は、例えば、予め書き込み性能テストを行い、その平均値をWrite性能として入力することができる。変形例としては、当該論理ボリュームの性能をモニタリングし、本値をリアルタイムに変更しても良い。
本値は、例えば、設定プログラム1251が提供するCLIを管理者が用いることにより、設定することが可能である。たとえば、管理者は、「setSSVOLPerformance -ssvolid LU_21 -performance 200Mbps」というコマンドを発行できる。これは、ストレージシステム1000に対する「スナップショットボリュームLU_21のWrite性能を200Mbpsとして設定せよ」という命令になる。この200MbpsがWrite性能12004に格納される。
図13は、実施例2でのジャーナルボリューム管理テーブル6000の一例である。
本実施例では、新たにRead性能13004が追加されている。Read性能13004は、JNLボリュームIDID6002で示される論理ボリュームの読み込み性能が格納されるカラムである。管理者は、例えば、予め読み込み性能テストを行い、その平均値をRead性能として入力することができる。変形例としては、当該論理ボリュームの性能をモニタリングし、本値をリアルタイムに変更しても良い。
本値は、例えば、設定プログラム1251が提供するCLIを管理者が用いることにより、設定することが可能である。たとえば、管理者は、「setJNLVOLPerformance -ssvolid LU_31 -performance 400Mbps」というコマンドを発行できる。これは、ストレージシステム1000に対する「ジャーナルボリュームボリュームLU_31のRead性能を400Mbpsとして設定せよ」という命令になる。この400MbpsがRead性能13004に格納される。
(2)実施例2の動作。
次に、本実施例の動作の説明を行う。本実施例の動作の大部分は、実施例1の動作と同じであるため、以降は差分を主に説明する。具体的には、例えば、リカバリ指示プログラム1252の処理の流れは実施例1とほぼ同じであるため、図8を用いて処理の流れを説明する。
ステップ8010では、SSVOLグループ管理テーブル5000の情報とジャーナル管理データ7000の情報に加え、リカバリ指示プログラム1252は、データボリュームテーブル3000、スナップショットボリューム管理テーブル4000、SSVOLグループ管理テーブル5000、ジャーナルボリュームテーブル6000を、制御プログラム1028から取得する。
次に、ステップ8020では、リカバリ指示プログラム1252は、ジャーナル適用量ではなく、各リカバリポイントを含む各時点のデータのリカバリにかかる時間(リカバリ時間)を算出する。
この処理では、まず、リカバリ指示プログラム1252は、各時点の直前のスナップショットを基底スナップショットとしてリカバリを行った場合に適用するジャーナル管理データを列挙する。そして、リカバリ指示プログラム1252は、各ジャーナル管理データに関して、適用先論理ボリュームの書き込み性能でデータ長を割り、ジャーナル書き込み時間を算出する。また、リカバリ指示プログラム1252は、ジャーナルを格納しているボリュームの読み込み性能でデータ長を割り、ジャーナル読み込み時間を算出する。そして、この二つの値の大きい方が、当該ジャーナルの適用時間とする。二つの値のうち大きい方としているのは、ジャーナルボリュームからのジャーナルの読み出しと、読み出したジャーナルを適用先論理ボリュームに適用することとを、並行して行うことができるためである。この各ジャーナルの適用時間の総計が、Afterジャーナルによるリカバリ時間となる。
次に、リカバリ指示プログラム1252は、直後のスナップショット(存在しなければデータボリューム)を基底スナップショットとしてリカバリを行った場合に適用するジャーナル管理データを列挙する。そして、リカバリ指示プログラム1252は、各ジャーナル管理データに関して、適用先論理ボリュームの書き込み性能でデータ長を割り、ジャーナル書き込み時間を算出する。また、リカバリ指示プログラム1252は、ジャーナルを格納しているボリュームの読み込み性能でデータ長を割り、ジャーナル読み込み時間を算出する。そして、この二つの値の大きいものを当該ジャーナルの適用時間とする。この各ジャーナルの適用速度の総計がBeforeジャーナルによるリカバリ時間となる。
最後に、上記Afterジャーナルによるリカバリ時間とBeforeジャーナルによるリカバリ時間を比較し、値の小さいものを、リカバリポイントに対応したリカバリ時間とする。
なお、変形例として、ジャーナルとしてAfterジャーナルのみを保持する計算機システムである場合は、Afterジャーナルによるリカバリ時間が、リカバリポイントに対応したリカバリ時間となる。同様に、別の変形例において、ジャーナルとしてBeforeジャーナルのみを保持する計算機システムである場合は、Beforeジャーナルによるリカバリ時間が、リカバリポイントに対応したリカバリ時間となる。さらに、また別の変形例として、制御プログラム1028が、リカバリ時に基底スナップショットの同一のアドレスに複数のジャーナルを適用する必要がある場合には、最後に適用するジャーナル以外のジャーナル適用をスキップすることができる。この場合は、本ステップのデータのリカバリにかかる時間の算出時も同様に、最後に適用するジャーナル以外のジャーナル適用時間の加算をスキップする。
次に、リカバリ指示プログラム1252は、ステップ8020で各時点間のリカバリ時間の関係を可視化したインタフェースを表示する(ステップ8030)。このインタフェース例は後述する。
以降の処理は実施例1と同じであるため、説明を省略する。
以上が、リカバリ指示プログラム1252が、ストレージシステム1000へリカバリの指示を行う際の処理の流れである。
なお、本実施例では、ジャーナルボリュームからジャーナルの読み込み処理と、基底スナップショットへの書き込み処理とが並行して行われることを前提としてジャーナル適用速度を算出したが、変形例として、この二つの処理が逐次的に行われる場合は、ステップ8020のジャーナルの適用時間は、ジャーナル書き込み時間とジャーナル読み込み時間の和として算出することができる。
さらに、別の変形例では、ジャーナル適用速度自体をモニタリングしておき、その平均値で適用するジャーナルのデータ長の総和を割ることでデータのリカバリにかかる時間を算出しても良い。
図14Aは、実施例2における第一種のGUIの第一の例である。
本GUIは、実施例1の図9Aとほぼ同等であるため、以下では、差分を主に説明する。
本実施例では、2次元グラフ9010の代わりに、各リカバリポイントを含む各時点とリカバリ時間との関係を示した2次元グラフ14010が表示される。当該グラフの縦軸は、リカバリ時間を示し、横軸は、時刻を示している。9011は、ステップ8020で算出した各時点におけるリカバリ時間をプロットした点を線で結んだものである。9012と9013は実施例1の図9Aと同じである。
また、本GUIでは、リカバリに必要なジャーナル適用量を表示するテキストフィールド9023の代わりに、リカバリ時間がテキストで表示されるテキストフィールド14023が表示される。管理者が、9010の横軸上の一点に9013を移動させ、クリックすると、リカバリ指示プログラム1252が、当該点に対応するリカバリ時間をテキストで14023に表示する。
以上が、ステップ8030において表示するGUIの例である。なお、変形例として、ジャーナルとしてAfterジャーナルのみを保持している場合は、14010は、例えば、図14Bに例示するようになる。別の変形例として、ジャーナルとしてBeforeジャーナルのみを保持している場合は、格別図示しないが、14010では、9011が、例えば、図14Bに例示した9011を左右反転したような形となる。
図15Aは、実施例2における第二種のGUIの第一の例ある。なお、本GUIの大部分は図14Aと同等であるため、以下では差分を主に説明する。
本GUIでは2次元グラフ14010の代わりに、各リカバリポイントを含む各時点とリカバ時間との関係を示す表示エリア15010が表示される。当該表示エアリア15010では、各時点でのリカバリ時間を示すバー15011が含まれる。当該バーの横軸は、時刻を示し、内部の色が、リカバリ時間を示している。当該バーの着色方法は、例えば次の通りである。ステップ8020において算出した各時点のリカバリ時間の最大値を検索する。この最大値を256として、各時点のリカバリ時間の比率K2を求める。そして各時点の色を、(R,G,B)=(256、256−K2、256−K2)として着色する。これにより、リカバリ時間が長いものほど赤くなるバーが作成できる。なお、9012、9013に関しては図14Aと同等である。
以上が、ステップ8030において表示する第二種のGUIの第一の例である。
なお、変形例において、ジャーナルとしてAfterジャーナルのみを保持している場合は、15010は、例えば図15Bに例示するようになる。
以上、図14A、図14B、図15A、図15Bで本実施例におけるインタフェースの例を示したが、各リカバリポイントを含む各時点とリカバリ時間との関係を示す方法はこれに限定されるものではない。
以上が実施例2の説明である。当該実施例2によれば、ジャーナル適用の性能が取得できる場合に、各時点とリカバリ時間との関係性を可視化したインタフェースを管理者に提供することができる。このため、管理者は、所望のデータをリカバリするためのリカバリポイントが複数個ある場合には、それら複数個のリカバリポイントの中から、リカバリ時間が最も短くて済むリカバリポイントを正確に選択することができる。そのため、リカバリ時間を短く抑えることができる。
次に第3の実施例について説明する。実施例1では、リカバリの際に基底スナップショットへ直接ジャーナル適用をしていた。本実施例では、リカバリの際に基底スナップショットの複製を他のボリュームに作成し、その複製にジャーナルを適用する場合の適用例を示す。
(1)実施例3のシステム構成。
本実施例のシステム構成の大部分は実施例1のものと同じであるため、以下では差分を主に説明する。
本実施例の計算機システムの構成は、実施例1とほぼ同じなので、図1を用いて構成を説明する。
本実施例では、制御プログラム1028は、特定時点(リカバリポイント)のデータをリカバリする際に、スナップショット取得元のデータボリュームへ、基底スナップショットの複製を作成する。このとき、制御プログラム1028は、基底スナップショットが通常のフルバックアップである場合は、全データをデータボリュームへコピーする。ただし、制御プログラム1028が、基底スナップショットとデータボリュームとの差分を管理している場合は、差分のみをコピーして基底スナップショットの複製を作成する。基底スナップショットが、スナップショット取得以降のデータボリュームへの書き込みにより上書きされた箇所のスナップショット取得時点のデータ(上書き時に退避させておいたもの)の集合と、データボリュームのデータを組み合わせて作成した仮想的なイメージである場合は、退避させたデータをデータボリュームへ書き戻すことで基底スナップショットの複製を作成する。この場合、該データボリューム内のデータを別の論理ボリュームにコピーし、該別の論理ボリュームに、退避させたデータを書き戻しても良い。
上記のように、複製を作成した後に、制御プログラム1028は、その複製に対してジャーナルを適用することでリカバリを行う。
図16は、実施例3でのSSVOLグループ管理テーブル5000の一例である。
本実施例では、スナップショット16005が追加されている。スナップショット16005は、スナップショットのタイプを示す文字列が格納されるカラムである。具体的には、例えば、「フルバックアップ」という文字列が格納されている場合は、SSVOLグループID5002で示されるSSVOLグループには、フルバックアップが格納されていることを意味する。「差分管理フルバックアップ」が格納されている場合は、SSVOLグループID5002で示されるSSVOLグループには、基底スナップショットとデータボリュームとの差分の管理を行うフルバックアップが格納されていることを意味する。「スナップショット」が格納されている場合は、SSVOLグループID5002で示されるSSVOLグループには、スナップショット取得以降のデータボリュームへの書き込みにより上書きされた箇所のスナップショット取得時点のデータの集合と、データボリュームのデータを組み合わせて作成した仮想的なイメージが格納されていることを意味する。
この値は、例えば、設定プログラム1251が提供するCLIを管理者が用いて、ジャーナルグループにSSVOLグループを関連付けることにより、設定することが可能である。たとえば、管理者は、「addSSVOLG -jgid JNLG_1 -ssvolgid SSG_1 -type フルバックアップ」のようなコマンドを発行する。これは、ストレージシステム1000に対する「ジャーナルグループJNLG_1にフルバックアップを格納するSSVOLグループSSG_1を関連付けよ」という命令になる。このJNLG_1がJNLグループID8001に格納され、SSG_1の値がSSVOLグループID8002に格納され、フルバックアップがスナップショットタイプ16005に格納される。なお、上記コマンドのSSVOLグループの識別子を変更させて複数回実行することで、複数のSSVOLグループをジャーナルグループに関連付けることができる。
また、本実施例では、リカバリ時コピー量16006が追加されている。リカバリ時コピー量16006は、リカバリの際に基底スナップショットの複製をデータボリュームに作成する際に発生するデータコピー量が格納されるカラムである。本値は、スナップショット取得時点に設定され、スナップショットタイプに応じて、適宜更新される。スナップショットタイプが、「フルバックアップ」である場合、制御プログラム1028は、スナップショット取得時にSSVOLグループIDで示されるSSVOLグループに属するスナップショットボリュームのサイズの総計を本値に設定する。その後のこの値の更新は、行わない。スナップショットタイプが、「差分管理フルバックアップ」あるいは「スナップショット」である場合、制御プログラム1028は、スナップショット取得時には0を設定する。その後、データボリュームへの書き込みにより、スナップショット取得時点のデータが上書きされる毎に上書きされたサイズの総計が設定される。
いずれのスナップショットタイプであっても、本実施例では、ジャーナルの適用によるデータ転送のみならず、複製作成のためのデータ転送が発生する。本実施例では、複製作成のために転送されるデータの総量が、ジャーナル適用容量に加味される。以下、詳述する。
(2)実施例3の動作。
次に、本実施例の動作の説明を行う。
本実施例の動作の大部分は実施例1の動作と同じであるため、以降は差分を主に説明する。
リカバリ指示プログラム1252が、管理者の指示に従いストレージシステム1000へリカバリの指示を行う際の本実施例における処理の流れは実施例1とほぼ同じであるため、図8を用いて処理の流れを説明する。
ステップ8010は実施例1と同じであるため、説明を省略する。
次に、ステップ8020では、リカバリ指示プログラム1252が、各時点のデータをリカバリする際に基底スナップショットの複製をデータボリュームへ作成する際のデータコピー量と、ジャーナル適用量との総和(以下、トータル転送データ量)を求める(ステップ8020)。つまり、実施例1で算出方法を示したジャーナル適用量とリカバリ時コピー量の総和となる。従って、例えば、実施例3において、第一種のGUIの第一の例は、図22Bに例示するように、9011は、図9Aに例示した9011よりも全体的に上がる。各ジャーナル適用量にデータコピー量が加算されたためである。
ステップ8030以降は、実施例1と同じであるため、説明を省略する。
以上が実施例3の説明である。当該実施例3によれば、リカバリの際に基底スナップショットの複製を他のボリュームに作成し、その複製にジャーナルを適用する場合において、各時点とトータル転送データ量とを可視化したインタフェースを管理者に提供することができる。このため、管理者は、所望のデータをリカバリするためのリカバリポイントが複数個ある場合には、それら複数個のリカバリポイントの中から、リカバリ時間が最も短くて済むリカバリポイントを正確に選択することができる。そのため、リカバリ時間を短く抑えることができる。
次に第4の実施例について説明する。実施例1から実施例3では、各リカバリポイントを含む連続した各時点とリカバリ負荷(具体的には、ジャーナル適用量、リカバリ時間、トータル転送データ量)との関係を示すGUIが表示された。本実施例では、複数のリカバリポイントの中から、管理者の指示従って絞り込まれたリカバリポイント候補をリストアップし、該リストアップされたリカバリポイント候補から、最終的にリカバリポイントを選択する。以下、詳細に説明する。
(1)実施例4のシステム構成。
本実施例のシステム構成の大部分は実施例1のものと同じであるため、以下では差分を主に説明する。
本実施例では、管理計算機1200のメモリ1250は、リカバリポリシー1253を記憶している。リカバリポリシー1253は、リカバリ指示プログラム1252が管理者の指示に従いリカバリポイントをリストアップする際に、リカバリ指示プログラム1252に利用される情報である。本実施例では、リカバリポリシー1253は、テキストファイル形式で記憶されているものとする。ただし、変形例として別の形式で記憶されていても良い。
リカバリ指示プログラム1252は、リカバリポリシー1253及び管理者が指定するリカバリポイント候補を基に、リカバリポイント候補をリストアップして管理者に提示する。以下、管理者が指定するリカバリポイント候補を「第一のリカバリポイント候補」と呼び、該第一のリカバリポイント候補とリカバリポリシー1253とに基づいてリストアップされるリカバリポイント候補を、単に「リカバリポイント候補」と呼ぶ。
図18は、リカバリポリシー1253としてのテキストファイルの一例である。
リカバリポリシー1253には、一以上の条件が記述される。各条件において、行頭が「#」で始まっている条件は、コメントとして無視される。つまり、条件を表す文字列の頭に「#」を付けるか否かで、その条件を有効とするか無効とするかが選択可能である。
行頭から「JNLG ID」で始まっている行は、ポリシーを設定するジャーナルグループを示している。そして次の「JNLG ID」で始まる行が現れるまでが、当該ジャーナルグループのポリシー(条件の集合)となる。
「データ未更新による最大データ損失量(時間)」で始まる行は、リカバリポイントとして許容可能な時点の範囲を示す。特に、当該行では、管理者が指定した第一のリカバリポイント候補に対して相対的な過去の時間の範囲を示す。具体的には、例えば、「データ未更新による最大データ損失量(時間) = 30min」と登録してある場合は、管理者が指定した第一のリカバリポイント候補から過去30分前の時点までが許容範囲となる。
「データ更新による最大データ損失量(時間)」で始まる行は、リカバリポイントとして許容可能な時点の範囲を示す。特に当該行では、管理者が指定した第一のリカバリポイント候補に対して相対的な未来の時間の範囲を示す。具体的には、例えば、「データ更新による最大データ損失量(時間) = 30min」と登録してある場合は、管理者が指定した第一のリカバリポイント候補から30分後の時点までが許容範囲となる。
「データ未更新による最大データ損失量(データ量)」で始まる行は、リカバリポイントとして許容可能なデータそれ自体の損失量を示す。特に当該行では、管理者が指定した第一のリカバリポイント候補に対して相対的に未更新なデータの損失量の範囲を示す。具体的には、例えば、「データ未更新による最大データ損失量(データ量) = 30Gb」と登録してある場合は、管理者が指定した第一のリカバリポイント候補のデータから30Gbのデータ更新分遡るまでの各データの存在時点がリカバリポイントの許容範囲となる。
「データ更新による最大データ損失量(データ量)」で始まる行は、リカバリポイントとして許容可能なデータそれ自体の損失量を示す。特に当該行では、管理者が指定した第一のリカバリポイント候補に対して相対的に更新済みのデータ量の範囲を示す。具体的には、例えば、「データ更新による最大データ損失量(データ量) = 30Gb」と登録してある場合は、管理者が指定した第一のリカバリポイント候補のデータから30Gbのデータ更新を行うまでの各データの存在時点がリカバリポイントの許容範囲となる。
「最大ジャーナル適用量」で始まる行は、リカバリ処理において許容可能なジャーナルの適用量を示す。具体的には、例えば、「最大ジャーナル適用量= 30Gb」と登録してある場合は、リカバリ処理において許容可能なジャーナルの適用量が30Gbとなる。
なお、以上のポリシーを示す行(つまり、ポリシーに含まれる条件)は、管理者が選択的に指定することが可能である。また、変形例として、それぞれのポリシーの優先順位を決定しても良い。なお、本ポリシーは一例であり、システムの実装に応じてこれら以外のポリシーも設定可能である。
(2)実施例4の動作。
次に、本実施例の動作の説明を行う。
本実施例の動作の大部分は実施例1の動作と同じであるため、以降は差分を主に説明する。
図19は、実施例4において、リカバリ指示プログラム1252が管理者の指示に従いストレージシステム1000へリカバリの指示を行う際の処理の流れである。本処理の流れは実施例1とほぼ同じであるため、差分を主に説明する。
ステップ8020までは、実施例1と同じであるため、説明を省略する。
ステップ19030では、リカバリ指示プログラム1252が、取得したジャーナル及びマーカーの蓄積情報から、リカバリ可能な時点の範囲(つまり、選択可能な複数のリカバリポイント)を表示する。本インタフェースについては後述する。
次に、管理者は、表示されたインタフェース上で、第一のリカバリポイント候補を選択する(ステップ19033)。
次に、リカバリ指示プログラム1252は、この選択された第一のリカバリポイント候補とリカバリポリシー1253とに基づき、リカバリポリシー1253に記述された条件にマッチする各リカバリポイントをリカバリポイント候補として表示する(ステップ19036)。本インタフェースについては後述する。
次に、管理者は、ステップ19036において表示されたインタフェースから、所望のリカバリポイントを選択する(ステップ8040)。以降は実施例1と同じであるため説明を省略する。
図20は、ステップ19030において表示されるインタフェースの例である。
本インタフェースの大部分は、図9Aと同じであるため、以降、差分を主に説明する。
本インタフェース(GUI)では、2次元グラフ9010の代わりに、リカバリ可能な時点の範囲を示す数直線20010が表示される。当該数直線20010の横軸は、時刻を示す。9012及び9013に関しては、図9Aと同じであるため説明を省略する。また、本GUIでは、テキストフィールド9023は必要ないため、表示されなくてよい。
9031は、第一のリカバリポイント候補の選択を確定するためのボタンである。管理者が、本ボタン9031を押下すると、9022に表示された時点を第一のリカバリポイント候補とすることを、リカバリ指示プログラム1252へ指示したことになる。
図21は、ステップ19036において表示されるインタフェースの例である。
21019は、マウス等の入力装置によって移動するポインタである。ステップ8040において、管理者が、リカバリポイントの選択を行う際等に移動させる。
21010は、管理者が指定した第一のリカバリポイント候補とリカバリポリシー1253とに基づきリストアップされたリカバリポイント候補の一覧である。21011は、どの候補をリカバリポイントとするかを示す列である。本列は、管理者がリカバリポイントとして指定したいリカバリポイント候補の行を、ポインタ21019を用いて選択すると、チェックマークが記される。本列のチェックマークは、リカバリポイント候補間で排他的に表示される。
21012は、リカバリポイント候補の時刻がテキストで表示される列である。21013は、リカバリポイント候補に対応したマーカー中のコメントがテキストで表示される列である。マーカーが挿入されていない場合は、何も表示されない。つまり、本発明において、リカバリポイントは、マーカーが挿入された時点に代えて又は加えて、マーカーが挿入されていない時点でも良い。つまり、マーカーが無くても、CDPが作動することができる。言い換えれば、ジャーナルを保持している期間のうちいずれの時点もリカバリポイントとなり得る。21014は、リカバリポイント候補に対応したジャーナル適用量がテキストで表示される列である。21015は、リカバリポイント候補のデータが、管理者が選択した第一のリカバリポイント候補のデータから相対的に失っているデータ量を示す列である。21016は、管理者が選択した第一のリカバリポイント候補を示す列である。管理者が選択した第一のリカバリポイント候補である場合は「○」が表示される。それ以外は何も表示されない。
21021は、リカバリポイントの選択を確定するためのボタンである。管理者が本ボタンを押下すると、21011にチェックマークが表示されているリカバリポイント候補のデータをリカバリすることを、リカバリ指示プログラム1252に要求したことになる。21022は、図19を用いて説明した処理を終了するためのボタンである。管理者が本ボタンを押下すると、図19を用いて説明した処理を終了することを、リカバリ指示プログラム1252に従って動作するCPU1230へ要求したことになる。本要求を受け取ったCPU1230は処理を強制終了する。
以上が実施例4の説明である。当該実施例4によれば、まず、複数のリカバリポイントが選択可能に表示され、管理者は、それら複数のリカバリポイントの中から、基準としてのリカバリポイント(第一のリカバリポイント候補)を選択する。その後、第一のリカバリポイント候補を基準とした条件に合致するリカバリポイント候補であって、リカバリポリシー1253に記述されている有効の条件に合致するリカバリポイント候補が、複数のリカバリポイントの中から絞り込まれ、リストアップされる。リストアップされたリカバリポイント候補が表示されたGUIでは、各リカバリポイント候補とジャーナル適用量との関係が可視化されている。このため、管理者は、第一のリカバリポイント候補を基準とした所望の条件に合致するリカバリポイント候補が複数個ある場合には、それら複数個のリカバリポイント候補の中から、リカバリ時間が短くて済むリカバリポイント候補を正確に選択することができる。そのため、リカバリ時間を短く抑えることができる。
以上、本発明の幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
実施例1に係る計算機システムの構成例を示す図である。 実施例1におけるジャーナルグループテーブルの一例を示す図である。 実施例1におけるデータボリュームテーブルの一例を示す図である。 実施例1におけるスナップショットボリューム管理テーブルの一例を示す図である。 実施例1におけるSSVOLグループ管理テーブルの一例を示す図である。 実施例1におけるジャーナルボリュームテーブルの一例を示す図である。 実施例1におけるジャーナル管理データの一例を示す図である。 実施例1においてリカバリ指示プログラムが実行する処理の流れの一例を示す図である。 図9Aは、実施例1で表示される第一種のGUIの第一の例を示す図である。図9Bは、該第一種のGUIの第二の例を示す図である。 図10Aは、実施例1で表示される第二種のGUIの第一の例を示す図である。図10Bは、該第二種のGUIの第二の例を示す図である。 実施例2におけるデータボリュームテーブルの一例を示す図である。 実施例2におけるスナップショットボリューム管理テーブルの一例を示す図である。 実施例2におけるジャーナルボリュームテーブルの一例を示す図である。 図14Aは、実施例2で表示される第一種のGUIの第一の例を示す図である。図14Bは、該第一種のGUIの第二の例を示す図である。 図15Aは、実施例2で表示される第二種のGUIの第一の例を示す図である。図15Bは、該第二種のGUIの第二の例を示す図である。 実施例3におけるSSVOLグループ管理テーブルの一例を示す図である。 実施例4における計算機システムの構成例を示す図である。 実施例4におけるリカバリポリシーの一例を示す図である。 実施例4におけるリカバリ指示プログラムの処理の流れの一例を示す図である。 実施例4で表示される、選択可能な複数のリカバリポイントを表したGUIの例を示す図である。 実施例4で表示される、複数のリカバリポイントが絞り込まれた選択可能な一以上のリカバリポイント候補とジャーナル適用量との関係を表したGUIの例を示す図である。 図22Aは、実施例1で表示される第一種のGUIの第三の例を示す図である。図22Bは、実施例3で表示される第一種のGUIの第一の例を示す図である。
符号の説明
1000…ストレージシステム、1100…ホスト計算機、1200…管理計算機

Claims (15)

  1. ストレージシステムの制御装置において、
    前記ストレージシステムが、
    データが格納されるデータ記憶装置の複数のリカバリポイントを記憶する記憶域と、
    前記複数のリカバリポイントのうちリカバリ実行要求で指定されたリカバリポイントにおいてデータをリカバリするリカバリ実行部と
    を備え、
    前記制御装置が、
    リカバリの指示が入力される入力装置と、
    前記リカバリの指示を受けた際、前記ストレージ装置から、前記複数のリカバリポイントを取得する取得部と、
    前記複数のリカバリポイントを取得した後に、各リカバリポイントにおいて、リカバリする際の負荷を算出する算出部と、
    前記各リカバリポイントと、前記各リカバリポイントについて算出されたリカバリ負荷との対応関係を可視化した表示画面を表示する表示部と、
    ユーザ所望のリカバリポイントの選択を受け付ける前記入力装置と、
    前記リカバリ実行要求と、前記選択されたリカバリポイントと、を前記リカバリ実行部に送信するリカバリ要求部と
    を備える制御装置。
  2. 前記リカバリ実行部は、前記制御装置から前記リカバリ要求を受信すると、複数のスナップショットのうち、前記選択されたリカバリポイントに対応するスナップショットに、ジャーナルを適用することで、データのリカバリを実行する、
    請求項1記載の制御装置。
  3. 前記各リカバリポイントにおける前記リカバリ負荷は、当該リカバリポイントでのデータをリカバリするために転送するデータの合計サイズであるトータル転送データサイズであり、該トータル転送データサイズには、前記選択されたリカバリポイントに対応するスナップショットに適用する一以上のジャーナルのデータ量が含まれる、
    請求項記載の制御装置。
  4. 前記リカバリ実行部が、前記選択されたリカバリポイントに対応するスナップショットの一部又は全部を、該一部又は全部が記憶されている記憶装置とは別の記憶装置にコピーするように構成されており、
    前記各リカバリポイントに対応した前記トータル転送データサイズが、前記選択されたリカバリポイントに対応するスナップショットに適用するジャーナルのデータ量と、前記コピーされるスナップショットの一部又は全部のデータ量との和である、
    請求項記載の制御装置。
  5. 前記リカバリ負荷情報は、リカバリに要する時間長であるリカバリ時間である、
    請求項1記載の制御装置。
  6. 前記リカバリ実行部が、リカバリの際、ジャーナルが記憶されているジャーナル記憶装置から、ジャーナルを読出し、前記リカバリポイントにおけるデータ群のリカバリ先となるリカバリ先記憶装置に、該読み出したジャーナルを書込み、
    前記算出部が、前記ジャーナル記憶装置の読出し性能と、前記リカバリ先記憶装置の書込み性能と、前記トータル転送データサイズとに基づいて前記リカバリ時間を算出し、
    前記表示部が、前記各リカバリポイントについて前記算出されたリカバリ時間と、前記各リカバリポイントとの対応関係を可視化した前記表示画面を表示する、
    請求項5記載の制御装置。
  7. 前記表示画面では、前記複数のリカバリポイントが時系列に並べられ、前記複数のリカバリポイントの各々に、該リカバリポイントに対応したリカバリ負荷を表す値が対応付けられている、
    請求項1記載の制御装置。
  8. 前記ジャーナルには、前記データ記憶装置に書込まれるデータであるAfterジャーナルと、該データによって上書きされるデータであるBeforeジャーナルとの少なくとも一種類があり、
    前記リカバリ実行部が、Afterジャーナル及びBeforeジャーナルの少なくとも一方を適用することによりリカバリを実行するように構成されており、
    前記算出部が、第一のスナップショット取得時点と該第一のスナップショット取得時点の次のスナップショット取得時点である第二のスナップショット取得時点との間が書込み時点である各ジャーナルのジャーナルサイズと、前記リカバリ実行部が適用するジャーナル種類とに基づいて、前記第一のスナップショット取得時点と前記第二のスナップショット取得時点との間にあるリカバリポイントでの前記トータル転送データサイズを算出する、
    請求項記載の制御装置。
  9. 前記ジャーナルの種類として、前記Afterジャーナルと前記Beforeジャーナルとの両方があり、
    前記表示部が、前記第一のスナップショット取得時点と前記第二のスナップショット取得時点との間に属するリカバリポイントについて、前記Afterジャーナルと前記Beforeジャーナルの両方を適用した場合にリカバリ負荷の小さくなる方を、該リカバリポイントに対応したリカバリ負荷として前記表示画面を表示する、
    請求項記載の制御装置。
  10. リカバリポイントの絞込みのための一以上の条件が記述されたポリシーを記憶する記憶域を備え、
    前記表示部が、前記複数のリカバリポイントのうち前記ポリシーに記述された一以上の条件の全部又は一部に合致する一以上のリカバリポイントを前記表示画面に表示する、
    請求項1記載の制御装置。
  11. 前記入力装置が、複数のリカバリポイントからリカバリポイント候補の選択を前記ユーザから受け付け、該選択されたリカバリポイントを含む、前記ポリシーに記述された前記一以上の条件に合致する一以上のリカバリポイントを絞り込み、
    前記表示部が、前記絞り込まれた一以上のリカバリポイントと該一以上のリカバリポイントにそれぞれ対応した一以上のリカバリ負荷情報との対応関係を可視化した前記表示画面を表示し、
    前記入力装置が、前記絞り込まれた一以上のリカバリポイントの中から前記ユーザ所望のリカバリポイントの選択を受け付ける、
    請求項10記載の制御装置。
  12. 前記ポリシーに記述される前記一以上の条件には、前記ユーザに選択されるリカバリポイント候補を基準とした他の各リカバリポイントでの各差分許容値が含まれ、
    前記差分許容値は、前記リカバリポイント候補と他の各リカバリポイントとの時間及び/又はデータサイズの差分である、
    請求項10記載の制御装置。
  13. 前記各リカバリポイントにおける前記リカバリ負荷は、前記データ記憶装置のデータ群をリカバリするために転送する際のデータの合計サイズであるトータル転送データサイズであり、前記トータル転送データサイズには、前記選択されたリカバリポイントに対応するスナップショットに適用する一以上のジャーナルのデータ量が含まれ、
    前記表示画面では、前記複数のリカバリポイントが時系列に並べられ、前記複数のリカバリポイントの各々に、該リカバリポイントに対応したリカバリ負荷を表す値が対応付けられ、
    前記ジャーナルには、前記データ記憶装置に書込まれるデータであるAfterジャーナルと、該データによって上書きされるデータであるBeforeジャーナルとの少なくとも一種類があり、
    前記リカバリ実行部が、Afterジャーナル及びBeforeジャーナルの少なくとも一方を適用することによりリカバリを実行するように構成されており、
    前記算出部が、第一のスナップショット取得時点と該第一のスナップショット取得時点の次のスナップショット取得時点である第二のスナップショット取得時点との間が書込み時点である各ジャーナルのジャーナルサイズと、前記リカバリ実行部が適用するジャーナル種類とに基づいて、前記第一のスナップショット取得時点と前記第二のスナップショット取得時点との間にあるリカバリポイントでの前記トータル転送データサイズを算出する、
    請求項1記載の制御装置。
  14. ストレージシステムと計算機とを備えた計算機システムにおいて、
    前記ストレージシステムが、
    データが格納されるデータ記憶装置の複数のリカバリポイントを記憶する記憶域と、
    前記複数のリカバリポイントのうちリカバリ実行要求で指定されたリカバリポイントにおいてデータをリカバリするリカバリ実行部と
    を備え、
    前記計算機が、
    リカバリの指示が入力される入力装置と、
    前記リカバリの指示を受けた際、前記ストレージ装置から、前記複数のリカバリポイントを取得する取得部と、
    前記複数のリカバリポイントを取得した後に、各リカバリポイントにおいて、リカバリする際の負荷を算出する算出部と、
    前記各リカバリポイントと、前記各リカバリポイントについて算出されたリカバリ負荷との対応関係を可視化した画面を表示する表示部と、
    ユーザ所望のリカバリポイントの選択を受け付ける前記入力装置と、
    前記リカバリ実行要求と、前記選択されたリカバリポイントと、を前記リカバリ実行部に送信するリカバリ要求部と
    を備える、
    計算機システム。
  15. データが格納されるデータ記憶装置の複数のリカバリポイントを取得し、
    各リカバリポイントにおいて、リカバリする際の負荷を算出し、
    前記各リカバリポイントと、前記各リカバリポイントについて算出されたリカバリ負荷との対応関係を可視化した表示画面を表示し、
    ユーザから所望のリカバリポイントの選択を受け、
    複数のスナップショット取得時点のうち前記選択されたリカバリポイントに対応するスナップショットにジャーナルを適用することで、データをリカバリする、
    リカバリ方法。
JP2006253787A 2006-09-20 2006-09-20 Cdpを用いたリカバリ方法 Expired - Fee Related JP4236677B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006253787A JP4236677B2 (ja) 2006-09-20 2006-09-20 Cdpを用いたリカバリ方法
US11/598,187 US7467165B2 (en) 2006-09-20 2006-11-08 Recovery method using CDP
US12/270,389 US8082232B2 (en) 2006-09-20 2008-11-13 Recovery method using CDP

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006253787A JP4236677B2 (ja) 2006-09-20 2006-09-20 Cdpを用いたリカバリ方法

Publications (2)

Publication Number Publication Date
JP2008077264A JP2008077264A (ja) 2008-04-03
JP4236677B2 true JP4236677B2 (ja) 2009-03-11

Family

ID=39189939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006253787A Expired - Fee Related JP4236677B2 (ja) 2006-09-20 2006-09-20 Cdpを用いたリカバリ方法

Country Status (2)

Country Link
US (2) US7467165B2 (ja)
JP (1) JP4236677B2 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711989B2 (en) * 2005-04-01 2010-05-04 Dot Hill Systems Corporation Storage system with automatic redundant code component failure detection, notification, and repair
US7523350B2 (en) * 2005-04-01 2009-04-21 Dot Hill Systems Corporation Timer-based apparatus and method for fault-tolerant booting of a storage controller
US7536529B1 (en) 2005-06-10 2009-05-19 American Megatrends, Inc. Method, system, apparatus, and computer-readable medium for provisioning space in a data storage system
US8290910B2 (en) * 2005-09-21 2012-10-16 Infoblox Inc. Semantic replication
US8533169B1 (en) 2005-09-21 2013-09-10 Infoblox Inc. Transactional replication
US8250030B2 (en) 2005-09-21 2012-08-21 Infoblox Inc. Provisional authority in a distributed database
JP2008242744A (ja) * 2007-03-27 2008-10-09 Hitachi Ltd Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法
US7925630B1 (en) * 2007-03-30 2011-04-12 Symantec Corporation Method of inserting a validated time-image on the primary CDP subsystem in a continuous data protection and replication (CDP/R) subsystem
US8006061B1 (en) 2007-04-13 2011-08-23 American Megatrends, Inc. Data migration between multiple tiers in a storage system using pivot tables
US8370597B1 (en) 2007-04-13 2013-02-05 American Megatrends, Inc. Data migration between multiple tiers in a storage system using age and frequency statistics
US9495370B1 (en) * 2007-07-19 2016-11-15 American Megatrends, Inc. Data recovery point review in a continuous data protection system
US8245078B1 (en) * 2007-12-21 2012-08-14 American Megatrends, Inc. Recovery interface
US7877360B2 (en) * 2008-01-15 2011-01-25 International Business Machines Corporation Recovery point identification in CDP environments
US8005839B2 (en) * 2008-02-28 2011-08-23 International Business Machines Corporation Method and apparatus for aggregation in uncertain data
US8706694B2 (en) * 2008-07-15 2014-04-22 American Megatrends, Inc. Continuous data protection of files stored on a remote storage device
US8250031B2 (en) 2008-08-26 2012-08-21 Hitachi, Ltd. Low traffic failback remote copy
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
JP4717923B2 (ja) * 2008-12-17 2011-07-06 株式会社日立製作所 ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8782361B2 (en) 2010-08-31 2014-07-15 Hitachi, Ltd. Management server and data migration method with improved duplicate data removal efficiency and shortened backup time
US20130138615A1 (en) * 2011-11-29 2013-05-30 International Business Machines Corporation Synchronizing updates across cluster filesystems
US9372762B2 (en) * 2011-12-08 2016-06-21 Veritas Technologies Llc Systems and methods for restoring application data
JP6183876B2 (ja) * 2012-03-30 2017-08-23 日本電気株式会社 レプリケーション装置、レプリケーション方法及びプログラム
US9411717B2 (en) 2012-10-23 2016-08-09 Seagate Technology Llc Metadata journaling with error correction redundancy
JP5475085B1 (ja) * 2012-10-24 2014-04-16 日本電信電話株式会社 データ整合装置、データ整合方法およびデータ整合プログラム
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140196039A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine categorization system and method
US9383937B1 (en) * 2013-03-14 2016-07-05 Emc Corporation Journal tiering in a continuous data protection system using deduplication-based storage
US10311028B2 (en) * 2013-05-16 2019-06-04 Oracle International Corporation Method and apparatus for replication size estimation and progress monitoring
WO2015008377A1 (ja) * 2013-07-19 2015-01-22 富士通株式会社 状態復元プログラム、装置、及び支援方法
US20150074536A1 (en) 2013-09-12 2015-03-12 Commvault Systems, Inc. File manager integration with virtualization in an information management system, including user control and storage management of virtual machines
US10255137B1 (en) * 2013-12-16 2019-04-09 EMC IP Holding Company LLC Point-in-time recovery on deduplicated storage
US9665307B1 (en) * 2013-12-19 2017-05-30 EMC IP Holding Company LLC Incremental continuous data protection
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US20160292055A1 (en) * 2015-04-02 2016-10-06 Infinidat Ltd. Failure recovery in an asynchronous remote mirroring process
US10083086B2 (en) * 2016-04-22 2018-09-25 Unisys Corporation Systems and methods for automatically resuming commissioning of a partition image after a halt in the commissioning process
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US20180276022A1 (en) 2017-03-24 2018-09-27 Commvault Systems, Inc. Consistent virtual machine replication
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US10860607B2 (en) 2018-07-27 2020-12-08 EMC IP Holding Company LLC Synchronization of metadata-based system snapshots with a state of user data
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
JP7164175B2 (ja) * 2018-12-10 2022-11-01 Necソリューションイノベータ株式会社 分散ファイル装置、フェイルオーバ方法、プログラム及び記録媒体
US11334521B2 (en) * 2018-12-21 2022-05-17 EMC IP Holding Company LLC System and method that determines a size of metadata-based system snapshots
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11194666B2 (en) * 2019-04-26 2021-12-07 EMC IP Holding Company LLC Time addressable storage in a content addressable storage system
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
US20050015416A1 (en) * 2003-07-16 2005-01-20 Hitachi, Ltd. Method and apparatus for data recovery using storage based journaling
JP4267420B2 (ja) 2003-10-20 2009-05-27 株式会社日立製作所 ストレージ装置及びバックアップ取得方法
JP5021929B2 (ja) * 2005-11-15 2012-09-12 株式会社日立製作所 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
JP4704893B2 (ja) * 2005-11-15 2011-06-22 株式会社日立製作所 計算機システム及び管理計算機とストレージシステム並びにバックアップ管理方法
JP2007226347A (ja) * 2006-02-21 2007-09-06 Hitachi Ltd 計算機システム、計算機システムの管理装置、及びデータのリカバリー管理方法

Also Published As

Publication number Publication date
JP2008077264A (ja) 2008-04-03
US20080071841A1 (en) 2008-03-20
US20090070390A1 (en) 2009-03-12
US8082232B2 (en) 2011-12-20
US7467165B2 (en) 2008-12-16

Similar Documents

Publication Publication Date Title
JP4236677B2 (ja) Cdpを用いたリカバリ方法
US7444545B2 (en) Computer system, managing computer and recovery management method
JP5021929B2 (ja) 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
JP3974538B2 (ja) 情報処理システム
US7769721B2 (en) Data recovery method in differential remote backup for a NAS system
US8255647B2 (en) Journal volume backup to a storage device
JP4704893B2 (ja) 計算機システム及び管理計算機とストレージシステム並びにバックアップ管理方法
JP4800031B2 (ja) ストレージシステム及びスナップショット管理方法
US7725776B2 (en) Method for displaying pair state of copy pairs
JP5137476B2 (ja) 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法
JP5224240B2 (ja) 計算機システム及び管理計算機
US20070198604A1 (en) Computer system, computer system management console, and data recovery management method
JP2004259079A (ja) データ処理システム
JP2007334877A (ja) 継続的データ保護環境においてボリューム間の整合性を管理するためのシステムおよび方法
JP2007241486A (ja) 記憶装置システム
US7290100B2 (en) Computer system for managing data transfer between storage sub-systems
US20110231452A1 (en) Storage system and resource management method for storage system
JP2009146389A (ja) バックアップシステム及び方法
JP2008225616A (ja) ストレージシステム、リモートコピーシステム、及びデータ復元方法
JP2008242744A (ja) Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法
US7801859B1 (en) Tracking filesystem backups
JP5275691B2 (ja) ストレージシステム
JP4431022B2 (ja) コンピュータシステム及びその制御方法
JP4294692B2 (ja) 情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081216

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees