JP2007141043A - ストレージシステムにおける障害管理方法 - Google Patents

ストレージシステムにおける障害管理方法 Download PDF

Info

Publication number
JP2007141043A
JP2007141043A JP2005335614A JP2005335614A JP2007141043A JP 2007141043 A JP2007141043 A JP 2007141043A JP 2005335614 A JP2005335614 A JP 2005335614A JP 2005335614 A JP2005335614 A JP 2005335614A JP 2007141043 A JP2007141043 A JP 2007141043A
Authority
JP
Japan
Prior art keywords
data
journal
volume
recovery point
snapshot
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
JP2005335614A
Other languages
English (en)
Inventor
Hironori Emaru
裕教 江丸
Masahide Sato
雅英 佐藤
Wataru Okada
渡 岡田
Hiroshi Wake
寛 和家
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005335614A priority Critical patent/JP2007141043A/ja
Priority to US11/334,625 priority patent/US20070115738A1/en
Publication of JP2007141043A publication Critical patent/JP2007141043A/ja
Priority to US12/232,061 priority patent/US20090024871A1/en
Pending legal-status Critical Current

Links

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0748Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a remote unit communicating with a single-box computer node experiencing an error/fault
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

【課題】ジャーナリングを用いたデータのバックアップ、リカバリと障害時の管理方法に関する。
【解決手段】所定の時刻を示すリカバリポイントを設定する第1のステップと、設定されたリカバリポイント時点のデータを復元するために必要なスナップショットとジャーナルデータとの対応情報を作成する第2のステップと、ディスク装置の障害の発生を検出する第3のステップと、ディスク装置の障害によって、データの復元が不可能となったリカバリポイントを検出する第4のステップと、を備える
【選択図】図1

Description

本発明はストレージシステムに関し、特に、ジャーナリングを用いたデータのバックアップ、リカバリと障害時の管理方法に関する。
従来、一般的に、情報資源を格納するストレージシステムは、バックアップを取得することで、装置の障害、コンピュータウィルスによるデータ破壊、ユーザによる誤操作等によるデータの喪失をリカバリできるようにしている。
データのリカバリの1つの手段として、ジャーナリングによるバックアップ及びリカバリ技術が提案されている。ジャーナリングとは、ストレージシステムで一般に使用されているバックアップ及びリストアの技術である。具体的には、ストレージシステムに格納されているバックアップの対象となるデータからデータイメージを取得する。そして、ホストからの要求によってデータが更新される毎に、更新データをジャーナルとして格納する。ストレージシステムは、このジャーナルから、ある指定時点におけるデータボリュームのデータイメージをリカバリすることが可能となる。
なお、ある指定時点におけるデータボリュームのデータイメージのことをスナップショットと称呼する。また、前述のジャーナリングを実現するために、いくつかのデータボリュームをまとめて運用する事が一般的に行われる。この運用の最小単位をジャーナルグループと呼称する。ストレージシステムは、リカバリが必要になった際には、ジャーナルをスナップショットに適用することで、任意の時点のデータを回復させることが可能である。
このような技術には次のようなものが知られている。あるジャーナルグループの特定時点のスナップショットを取得して、そのジャーナルグループに対するそれ以降の書き込みデータをジャーナルとして保持すること、及び、障害の発生などによりリカバリが必要になった際には、取得したスナップショットに対し、書き込まれた順序どおりにジャーナルを適用することで、特定時点のデータをリカバリできる(特許文献1参照)。
なお、データリカバリする際に、ユーザ等によって指定される特定の時点を、リカバリポイントと呼称する。
米国特許出願公開第2005/0015416号明細書
前述したようなジャーナリングを用いたバックアップ運用を用いる場合は、例えば、物理ディスクの障害等によってスナップショットが格納されるボリュームや、ジャーナルが格納されたボリュームにデータ損失が発生する場合がある。
このような障害が発生した場合は、ユーザは、バックアップ運用を停止して、障害の要因を取り除いた後、再度運用を開始する必要がある。これは、データ障害によって、リカバリポイントの無効による影響範囲がわからないためである。
ユーザの指定したリカバリポイントでのデータをリカバリするためには、指定されたリカバリポイントの直近の時点で取得されたスナップショットに対して、ユーザが指定したリカバリポイントに対応するジャーナルまでの全てのジャーナルを、書き込まれた順序どおりに適用する必要がある。従って、あるジャーナルを格納しているボリュームに障害が発生すると、そのジャーナルを利用してリカバリされる全てのリカバリポイントが失われる。しかしながら、それ以外のリカバリポイントは有効である。
本発明は、このような課題を鑑みてなされたものであり、スナップショット又はジャーナルを格納しているボリュームにデータ損失が発生した場合にも、バックアップ運用を停止せずに、データ損失によって無効になったリカバリポイント以外のリカバリポイントによってバックアップ運用を継続できる運用方法を提供することを目的とする。
本発明による一実施形態によると、所定の時刻を示すリカバリポイントを設定する第1のステップと、設定されたリカバリポイント時点のデータを復元するために必要なスナップショットとジャーナルデータとの対応情報を作成する第2のステップと、ディスク装置の障害の発生を検出する第3のステップと、ディスク装置の障害によって、データの復元が不可能となったリカバリポイントを検出する第4のステップと、を備えることを特徴とする。
本発明によると、スナップショット又はジャーナルを格納しているボリュームに障害が発生し、データの損失が発生した場合に、データ損失によって無効になったリカバリポイントを知ることができるので、バックアップ運用を停止せずに、無効となったリカバリポイント以外のリカバリポイントを用いてバックアップ運用を継続することが可能となる。
以下に、本発明の実施形態について図面を参照しながら説明する。なお、これによって本発明が限定されるものではない。
(第1実施形態)
図1は、本発明の第1の実施形態の計算機システムの構成ブロック図である。
本実施形態の計算機システムは、ストレージシステム1000と、ホスト計算機1100と、管理計算機1200とを備える。
ストレージシステム1000とホスト計算機1100とは、データネットワーク1300で互いに接続される。データネットワーク1300はSAN(ストレージエリアネットワーク)が用いられる。なお、データネットワーク1300は、これに限らず、IPネットワークであっても、それ以外のデータ通信用ネットワークであってもよい。
ストレージシステム1000及びホスト計算機1100は、管理ネットワーク1400を介して管理計算機1200と接続される。管理ネットワーク1400はIPネットワークが用いられる。なお、管理ネットワーク1400は、ストレージエリアネットワークであっても、それ以外のデータ通信用ネットワークであってもよい。また、データネットワーク1300と管理ネットワーク1400とが、物理的又は論理的に同一のネットワークであってもよい。また、管理計算機1200とホスト計算機1100とが、同一の計算機上で実現されていてもよい。
なお、説明の都合上、図1では、ストレージシステム1000を1つ、ホスト計算機1100を1つ、管理計算機1200を1つ示したが、これらの数は問わない。
ストレージシステム1000は、データを格納するディスク装置1010と、ディスク装置1010へのデータの入出力を制御するディスクコントローラ1020とを備える。
ディスク装置1010は、データの格納領域である複数のデータボリューム1011を備える。なお、RAID構成によってデータボリューム1011を構成してもよい。また、データボリューム1011が物理ディスクドライブであってもよく、本実施の形態ではデータボリューム1011の種類を問わない。
このデータボリューム1011によって、ジャーナルグループ1014、SSVOLグループ1015及びジャーナルボリューム1013が構成される。
ジャーナルグループ1014は、一つ以上のデータボリューム1011を含んだデータを格納する領域である。このジャーナルグループ1014のデータボリューム1011は、ホスト計算機1100からの書き込みデータを格納する。
なお、ジャーナルグループ1041は、論理的な記憶領域で、ジャーナリングを実現するためにいくつかのデータボリューム1011をまとめたものである。また、ジャーナルグループ1014は、複数の論理的な記憶領域である運用ボリュームの集合で、運用ボリュームをホスト計算機のアプリケーションのデータを格納するために提供する場合もある。その場合は、運用ボリュームは一以上のデータボリュームで構成される。
ホスト計算機1100からのアクセスによって生成されるジャーナルを用いたスナップショット及びリカバリを実現するために、いくつかのデータボリューム1011をまとめて運用する必要がある。この運用の最小単位をジャーナルグループと呼称する。図1では、ジャーナルグループ1014には二つのデータボリュームが示されているがその数は問わない。また、ジャーナルグループ1014の数も問わない。
スナップショットボリュームグループ(SSVOLグループ)1015は、ジャーナルグループ1014の複製イメージを格納する領域である。SSVOLグループ1015は、ある時点におけるジャーナルグループ1014の複製イメージ(スナップショットと呼ぶ)を格納する領域であるスナップショットボリューム1012を含む。このスナップショットボリューム1012は、データボリューム1011によって構成される。
スナップショットとは、ジャーナルグループ1014の、ある指定時点でのデータイメージである。なお、管理者の要求によって、一つのジャーナルグループ1014に対して、複数世代のスナップショットボリューム1012を設定できる。例えば、あるジャーナルグループ1014に対して、特定の時刻、具体的には、12:00の時点、18:00の時点及び24:00の時点、の三つのスナップショットを、それぞれ別個のスナップショットボリューム1012として、SSVOLグループ1015に格納することができる。なお、図1では、スナップショットボリューム1012には二つのデータボリュームが示されているが、その数は問わない。
なお、スナップショットボリューム1012に格納される複製イメージは、システムに対する要求や実装等に応じてさまざまな形態を用いることができる。例えば、スナップショットボリューム1012に、ジャーナルグループ1014の全てのデータボリューム1011に対応するバックアップイメージを格納してもよいし、スナップショットボリューム1012に、各データボリューム1011に対応する差分バックアップのような論理的なデータイメージを格納してもよい。
ジャーナルボリューム1013は、ジャーナルグループ1014に対するジャーナルを格納する格納領域である。ジャーナルボリューム1013は、一つ以上のデータボリューム1011を含む。このデータボリューム1011にジャーナルが格納される。なお、図1では、二つのジャーナルグループ1014それぞれに対応する二つのジャーナルボリューム1013が示されているが、その数は問わない。
ディスクコントローラ1020は、ホスト計算機1100からジャーナルグループ1014に含まれるデータボリューム1011に書き込み要求があった場合は、そのデータボリューム1011に書き込みを処理する。このとき、書き込みに要求に対応する適切な順序番号を付与したジャーナルを生成して、ジャーナルグループ1014に関連付けられたジャーナルボリューム1013に格納する。また、ホスト計算機1100からの要求に従って、ジャーナルグループ1014とジャーナルボリューム1013とから、スナップショットボリューム1012を生成する。
ディスクコントローラ1020は、ホストI/F1022、管理I/F1026、ディスクI/F1025、メインメモリ1021、CPU1023、タイマ1024及びローカルディスク1027を備える。
メモリ1021は、各種プログラムや管理データ等を格納する記憶装置である、例えばRAM等によって構成される。
ホストI/F1022は、データネットワーク1300に接続するインターフェースである。ホストI/F1022は、ホスト計算機1100とデータや制御命令を送受信する。
CPU1023は、ローカルディスク1027に格納されているプログラムをメモリ1021に読み込んで、そのプログラムを実行することによって、そのプログラムに規定された処理を実行する。
タイマ1024は、現在時刻を提供する機能を備える。タイマ1024は、ディスクコントローラ1020おいて、例えば、ジャーナルの作成やスナップショットの取得のときに、ストレージマイクロプログラム1028によってその現在時刻が参照される。
ディスクI/F1025は、ディスク装置1010に接続するインターフェースである。ディスクI/F1025は、ディスク装置1010とデータや制御命令を送受信する。
管理I/F1026は、管理ネットワーク1400に接続するインターフェースである。管理I/F1026は、ホスト計算機1100及び管理計算機1200とデータや制御命令を送受信する。
ローカルディスク1027は、例えばハードディスクなどの記憶装置である。このローカルディスク1027は、ストレージマイクロプログラム1028、障害管理プログラム1035等を格納する。
ストレージマイクロプログラム1028は、スナップショットの取得、ジャーナルの生成、ジャーナルを用いたリカバリ、ジャーナルの開放といった、ジャーナリングによる機能を制御する。ストレージマイクロプログラム1028は、この制御のときに、管理テーブル1029の情報を参照及び更新する。また、ストレージマイクロプログラム1028は、管理計算機1200やホスト計算機1100からの要求に基づいて、ディスク装置1010に対するデータの入出力の制御、ストレージ装置内の制御情報の設定、及び、制御情報の提供、等の各種制御を実行する。
管理テーブル1029は、ストレージマイクロプログラム1028によって管理される情報である。管理テーブル1029には、ジャーナルグループ1014、ジャーナルボリューム1013及びSSVOLグループ1015に関する情報、ディスク装置1010の障害に関する情報等が格納される。
障害管理プログラム1035は、ディスク装置1010の障害を監視する。障害管理プログラム1035は、ディスク装置1010のデータボリューム1011の障害を検知すると、ボリューム障害テーブル2000を作成する。そして、管理計算機1200に対して、ボリューム障害テーブル2000を、ボリューム障害イベントとして通知する。
なお、ストレージマイクロプログラム1028及び障害管理プログラム1035は、ローカルディスク1027ではなく、ディスク装置1010内の任意のボリューム1011に格納してもよい。また、ディスクコントローラ1020にフラッシュメモリ等の記憶装置を設け、そこに格納してもよい。
ホスト計算機1100は、ストレージI/F1110、表示装置1120、CPU1130、入力装置1140、管理I/F1150、メモリ1160及びローカルディスク1170を備える。
ストレージI/F1110はデータネットワーク1300に接続するインターフェースである。ストレージI/F1110は、ストレージシステム1000とデータや制御命令を送受信する。
表示装置1120は、CRTディスプレイ装置等によって構成され、ホスト計算機1100で実行される処理の内容を表示する。
CPU1130は、ローカルディスク1170に格納されているプログラムをメモリ1160に読み込んで、そのプログラムを実行することによって、そのプログラムに規定された処理を実行する。
入力装置1140は、キーボードやマウス等の入力デバイスによって構成され、管理者の操作によって、ホスト計算機1100に指示や情報を入力する。
管理I/F1150は、管理ネットワーク1400に接続するインターフェースである。管理I/F1150は、ストレージシステム1000及び管理計算機1200とデータや制御命令を送受信する。
メモリ1160は、各種プログラムや管理データ等を格納する記憶装置である、例えばRAM等によって構成される。
ローカルディスク1170は、例えばハードディスクなどの記憶装置である。ローカルディスク1170は、システム構成定義ファイル1171、アプリケーション1163、リカバリマネージャ1162、情報収集エージェント1161等を格納する。
システム構成定義ファイル1171は、アプリケーション1163がどのデータボリューム1011利用するか、データボリューム1011がどのジャーナルグループ1014に属するか等のシステムの構成定義を格納する。システム構成定義ファイル1171は、システム構築時に管理者によって設定される。例えば、Linuxオペレーティングシステムのシステム構築時に用いられる/etc/fstabファイルが、システム構成定義ファイルに該当する。
アプリケーション1163、リカバリマネージャ1162及び情報収集エージェント1161はプログラムであって、CPU1130によってメモリ1160に読み込まれ、それぞれに規定された機能が実行される。
アプリケーション1163は、データボリューム1011にデータの読み書きを要求する。アプリケーション1163は、例えば、DBMSやファイルシステムである。なお、ホスト計算機1100において、複数のアプリケーション1163が同時に実行されていてもよい。
リカバリマネージャ1162は、ストレージマイクロプログラム1028に対するスナップショット取得、ストレージマイクロプログラム1028に対する特定時点のデータのリカバリ、及び、アプリケーション1163の静止化を要求する。また、リカバリマネージャ1162は、データネットワーク1300を介して、ストレージシステム1000の管理テーブル1029に、ジャーナリングを用いたバックアップに関する設定をする。これらの機能は、管理者や他のプログラムから実行されるように、コマンドラインインターフェース(Command Line Interface:以降、「CLI」と呼ぶ)によって提供される。
情報収集エージェント1161は、ホスト計算機1100のシステム構成情報を収集するプログラムである。情報収集エージェント1161は、管理計算機1200の要求に応じて、ローカルディスク1170に格納されているシステム構成定義ファイル1171から、アプリケーション1163が利用しているジャーナルグループ1014が属するストレージシステム1000及びジャーナルグループ1014を特定する。そして、特定したストレージシステム1000の識別子とジャーナルグループの識別子1014を、管理計算機1200に送信する。
管理計算機1200は、管理I/F1210、表示装置1220、CPU1230、入力装置1240、メモリ1250及びローカルディスク1260を含む。
管理I/F1210は、管理ネットワーク1400に接続するインターフェースである。管理I/F1210は、ストレージシステム1000及びホスト計算機1100とデータや制御命令を送受信する。
表示装置1220は、CRTディスプレイ装置等によって構成され、管理計算機1200で実行される処理の内容を表示する。
CPU1230は、ローカルディスク1260に格納されているプログラムをメモリ1250に読み込んで、そのプログラムを実行することによって、そのプログラムに規定された処理を実行する。
入力装置1240は、キーボードやマウス等の入力デバイスによって構成され、管理者の操作によって、管理計算機1200に指示や情報を入力する。
メモリ1250は、各種プログラムや管理データ等を格納する記憶装置である、例えばRAM等によって構成される。
ローカルディスク1260は、例えばハードディスクなどの記憶装置である。ローカルディスク1260は、管理プログラム1265、バックアッププログラム1263を格納する。
バックアップ管理情報1264は、バックアップ管理を行うための情報、スナップショット及びリカバリポイントを格納するテーブルである。バックアップ管理情報1264は、管理プログラム1265によってメモリ1250に作成される。
管理プログラム1265は、本実施の形態の計算機システム全体の管理情報を設定する。管理プログラム1265は、グラフィカルユーザインタフェース(GUI)を備え、ユーザから設定の指示を受ける。また、バックアッププログラム1263から情報を受け取って、バックアップ管理情報1264を設定する。
バックアッププログラム1263は、ストレージシステム1000のディスク装置1010にリカバリポイントを作成し、また、スナップショットによるリストアに関する機能を制御する。
次に、ボリューム障害テーブル2000について説明する。
図2は、ボリューム障害テーブル2000の一例の説明図である。
ボリューム障害テーブル2000は、障害管理プログラム1035によって生成されて、管理計算機1200に送信される情報である。ボリューム障害テーブル2000は、発生時刻フィールド2001及び障害ボリュームIDフィールド2002を含むエントリ2003を含む。
発生時刻フィールド2001は、障害が発生した時刻を格納する。障害ボリュームIDフィールド2002は、障害が発生したデータボリューム1011の識別子(ボリュームID)を格納する。
ストレージシステム1000において、障害管理プログラム1035は、ディスク装置1010の障害を監視している。障害管理プログラム1035がディスク装置1010内のボリュームの障害を検知すると、その時点の時刻をタイマ1024からから取得して、エントリ2003の発生時刻フィールド2001に設定する。そして、障害が発生したデータボリュームのボリュームIDを取得して、障害ボリュームIDフィールド2002に設定する。
なお、ディスク装置内のボリューム障害としては、ディスクドライブの物理的な障害や、論理ボリュームの論理的な障害、例えば、構成情報に異常がありデータの読み書き正常でない場合など、さまざまな障害が考えられる。
そして、障害管理プログラム1035は、ボリューム障害テーブル2000を、管理計算機1200の管理プログラム1265に対して、ボリューム障害イベントとして通知する。なお、通知の方法には、SNMP(Simple Network Management Protocol)トラップを用いるが、これ以外の方法を用いてもよい。
次に、ストレージシステム1000に格納される管理テーブル1029について説明する。
管理テーブル1029は、図3のジャーナルグループテーブル3000、図4のジャーナルボリュームテーブル4000及び図5のスナップショットテーブル5000を含んだテーブル群である。
図3は、管理テーブル1029に含まれるジャーナルグループテーブル3000の一例の説明図である。
ジャーナルグループテーブル3000は、ジャーナルグループの識別子を格納する。ジャーナルグループテーブル3000は、JNLグループIDフィールド3001、順序カウンタフィールド3002及びボリュームIDフィールド3003を含むエントリ3004を含む。
JNLグループIDフィールド3001は、ジャーナルグループ1014の識別子(JNLグループID)を格納する。順序カウンタフィールド3002は、ジャーナル及びスナップショット作成順序を管理するための番号を格納する。ボリュームIDフィールド3003は、ジャーナルグループ1014に含まれるデータボリューム1011のボリュームIDを格納する。
JNLグループIDフィールド3001及びボリュームIDフィールド3003は、計算機システム構築時に、管理者が、ホスト計算機1100のリカバリマネージャ1162が提供するCLIを用いて設定する。これによって、ジャーナルグループ1014がどのデータボリューム1011によって構成されるかを管理する。
順序カウンタフィールド3002に格納される値は、ストレージマイクロプログラム1028がホスト計算機1100からの書き込みに対してジャーナルを生成するたびに、ストレージマイクロプログラム1028によって1が加算される。ストレージマイクロプログラム1028は、加算された値を、ジャーナルボリュームテーブル4000(図4参照)の順序番号フィールド4002にコピーする。
また、順序カウンタフッィールド3002に格納される値は、ストレージマイクロプログラム1028がスナップショットを取得するたびに、ストレージマイクロプログラム1028によってスナップショットテーブル5000(図5参照)の順序番号5002にコピーされる。これによって、スナップショットテーブル5000に、スナップショットと各ジャーナルの順序関係が記録され、リカバリの際にスナップショットに適用すべきジャーナルが特定できる。具体的には、ストレージマイクロプログラム1028は、特定のスナップショットにジャーナルを適用してリカバリをする場合は、特定のスナップショットの順序番号より大きい順序番号のジャーナルのうち、指定されたリカバリポイントを持つジャーナルの順序番号以下の順序番号を持つジャーナルを、順序番号に従って適用する。
図4は、管理テーブル1029に含まれるジャーナルボリュームテーブル4000の一例の説明図である。
ジャーナルボリュームテーブル4000は、ジャーナルグループ1014に対して取得したジャーナルデータを管理するためのテーブルである。
ジャーナルボリュームテーブル4000は、JNLグループIDフィールド4001、順序番号フィールド4002、ボリュームIDフィールド4003、JNLヘッダ格納アドレスフィールド4004及び生成時刻フィールド4005を含むエントリ4006を含む。
ストレージマイクロプログラム1028は、ホスト計算機1100からジャーナルグループ1014に対する書き込みがあるたびに、ジャーナルを生成してジャーナルボリューム1013のデータボリューム1011に格納する。このとき、ストレージマイクロプログラム1028は、生成したジャーナルデータに対応するエントリ4006を生成して、ジャーナルグループテーブル4000に追加する。
JNLグループIDフィールド4001は、ホスト計算機1100からの書き込みがあったジャーナルグループ1014の識別子であるJNLグループIDを格納する。ストレージマイクロプログラム1028は、書き込みがあったデータボリューム1011のボリュームIDを取得し、ジャーナルグループテーブル3000を参照して、このボリュームIDからJNLグループIDを取得する。そして、取得したJNLグループIDをJNLグループIDフィールド4001に格納する。
順序番号フィールド4002は、順序番号を格納する。この順序番号は、リカバリの際に、どのスナップショットにどのジャーナルを適用すべきかを決定するために用いられる。ストレージマイクロプログラム1028は、ホスト計算機1100からの書き込みに対してジャーナルを作成するときに、ジャーナルグループテーブル3000の順序カウンタ3003に順序番号を設定する。そして、この順序番号取得して、順序番号フィールド4002に設定する。
ボリュームIDフィールド4003は、ジャーナルが格納されているジャーナルボリューム1013のデータボリューム1011の識別子であるボリュームIDを格納する。
JNLヘッダ格納アドレスフィールド4004は、ジャーナルヘッダが格納されているデータボリューム内のアドレスを格納する。
ストレージマイクロプログラム1028は、ジャーナルをジャーナルボリューム1013に書き込む際に、ジャーナルの書き込みに領域の識別子であるボリュームID及びJNLヘッダ格納アドレスを取得して、これらの値をボリュームIDフィールド4003及びJNLヘッダ格納アドレスフィールド4004に格納する。
生成時刻フィールド4005は、ホスト計算機1100からの書き込み要求がストレージシステム1000に到着した時刻を格納する。ストレージマイクロプログラム1028は、ホスト計算機1100からの書き込み要求がストレージシステム1000に到着したときに、ディスクコントローラ1020のタイマ1024から時刻を取得して、生成時刻フィールド4005に格納する。
この生成時刻は、リカバリの際に、管理者が指定するリカバリポイントとなる。なお、ホスト計算機1100からの書き込み要求に含まれる書き込み発行時刻を生成時刻に設定してもよい。例えば、メインフレーム環境では、メインフレームホストがタイマを有しており、書き込み要求内に書き込みコマンドを発行する時刻を含める。そのため、この時刻を生成時刻として利用してもよい。
図5は、管理テーブル1029に含まれるスナップショットテーブル5000の一例の説明図である。
スナップショットテーブル5000は取得したスナップショットを管理するためのテーブルである。
スナップショットテーブル5000は、JNLグループIDフィールド5001、順序番号フィールド5002、ボリュームIDフィールド5003、スナップショットボリュームIDフィールド5004及び生成時刻5005フィールドを含むエントリ5006を含む。
JNLグループIDフィールド5001は、取得対象のジャーナルグループ1014の識別子であるJNLグループIDを格納する。順序番号フィールド5002は、スナップショットが取得された順序を示す順序番号を格納する。ボリュームIDフィールド5003は、スナップショットが格納されているスナップショットボリューム1012のデータボリューム1011の識別子であるボリュームIDを格納する。スナップショットボリュームIDフィールド5004、は、スナップショットを格納するスナップショットボリュームの識別子であるスナップショットボリュームIDを格納する。生成時刻5005フィールドは、生成時刻を格納する。
JNLグループIDとスナップショットボリュームIDとは、ホスト計算機1100において、管理者が、リカバリマネージャ1162が提供するCLIを用いてこれらを関連付ける。例えば、管理者が次のようなコマンドを発行する。
addSSVOL ?jgid JNLG_01 ?ssvolid SS_01
このコマンドは、ジャーナルグループIDが「JNLG_01」であるジャーナルグループ1014にスナップショットボリュームIDが「SS_01」であるスナップショットボリューム1012を関連付ける要求である。
このコマンドによって、JNLグループIDフィールド5001に「JNLG_01」が格納され、スナップショットボリュームIDフィールド5004に「SS_01」が格納される。なお、複数世代のスナップショットを設定する場合は、このようなコマンドを複数回実行する。
順序番号フィールド5002は、ストレージマイクロプログラム1028が、スナップショットを取得するたびに、ジャーナルグループテーブル3000の順序カウンタフィールド3003に格納された順序番号をコピーすることによって格納される。
生成時刻フィールド5005は、ストレージマイクロプログラム1028が、リカバリマネージャ1162からのスナップショット取得要求がストレージシステム1000に到着した時刻、タイマ1024から取得することによって格納される。なお、前述のように、ホスト計算機1100からのスナップショット取得要求に含まれる要求発行時刻を生成時刻に設定してもよい。
以上が、管理テーブル1029に含まれるテーブル群である。
次に、ジャーナルボリューム1013の構成を説明する。
図6は、ジャーナルボリューム1013の構成の説明図である。
ジャーナルボリューム1013は、論理的に、ジャーナルヘッダ領域6010とジャーナルデータ領域6020とに分割されている。
ストレージシステム1000において、ジャーナルをジャーナルボリューム1013に格納するときに、ストレージマイクロプログラム1028は、ジャーナルをジャーナルヘッダ6011とジャーナルデータ6021とに分割する。ジャーナルヘッダ6011はジャーナルヘッダ領域6010に格納し、ジャーナルデータ6021はジャーナルデータ領域6020に格納する。
ジャーナルデータ6021は、データボリューム1011に書き込まれるデータであり、ジャーナルヘッダ6011は、このジャーナルデータ6021に関する情報を保持するデータである。
ジャーナルヘッダ6011は、データボリュームID6101、書き込み先アドレス6102、データ長6103、JNLボリュームID6106及びJNL格納アドレス6107を含むエントリ6008を含む。
データボリュームID6101は、ジャーナル適用時のジャーナルデータの書き込み先となるデータボリューム1011の識別子であるボリュームIDを格納する。書き込み先アドレス6102は、ジャーナル適用時のジャーナルデータの書き込み先となるアドレスを格納する。データ長6103は書き込みデータの長さを格納する。これらの値は、ストレージマイクロプログラム1028が、ホスト計算機1100からの書き込み要求を解析して取得し、ジャーナルヘッダ6011に設定する。
JNLボリュームID6106は、ジャーナルデータを格納しているボリュームの識別子であるボリュームIDを格納する。
JNL格納アドレス6107は、ボリューム内のジャーナルデータが格納されているアドレスを格納する。これらの値は、ジャーナル作成時に、ストレージマイクロプログラム1028が設定するものである。また、ジャーナルデータを開放した場合、ストレージマイクロプログラム1028がJNLボリュームID6106及びJNL格納アドレス6107に“NULL”を格納する。
次に、リカバリポイントテーブル7000について説明する。
図7は、リカバリポイントテーブル7000の一例の説明図である。
リカバリポイントテーブル7000は、バックアッププログラム1263がリカバリポイントを取得するときに作成される。バックアッププログラム1263は、管理プログラム1265に対して、作成したリカバリポイントテーブル7000をリカバリポイント作成イベントとして通知する。
リカバリポイントテーブル7000は、JNLグループIDフィールド7001、取得時刻フィールド7002及びスナップショット取得フラグフィールド7003を含むエントリ7004を含む。
JNLグループIDフィールド7001は、リカバリポイント取得の対象であるジャーナルグループ1014の識別子であるJNLグループIDを格納する。
取得時刻フィールド7002は、リカバリポイントを取得した時刻を格納する。この時刻は、ストレージシステム1000のタイマ1024から取得する。なお、管理計算機1200にタイマを備え、このタイマから時刻を取得してもよい。
スナップショットフラグフィールド7003には、リカバリポイント取得のタイミングでスナップショットを取得したか否かを示す識別子を格納する。スナップショットを取得した場合は、「On」を格納する。スナップショットを取得しなかった場合は「Off」を格納する。
次に、管理計算機1200に格納されるバックアップ管理情報1264について説明する。
バックアップ管理情報1264は、図8のアプリケーションテーブル8000及び図9の状態管理テーブル9000を含んだテーブル群である。
図8は、バックアップ管理情報1264に含まれるアプリケーションテーブル8000の一例の説明図である。
アプリケーションテーブル8000は、バックアッププログラム1263によって管理される、バックアップの管理のための情報を格納するテーブルである。
アプリケーションテーブル8000は、アプリケーションIDフィールド8001、ホストアドレスフィールド8002、ストレージIDフィールド8003及びJNLグループIDフィールド8004を含むエントリ8005を含む。
アプリケーションIDフィールド8001は、バックアップ対象のジャーナルグループのデータを利用するアプリケーション1163の識別子を格納する。
ホストアドレスフィールド8002は、アプリケーション1163が実行されているホスト計算機1100のネットワーク上での識別子を格納する。識別子にはIPアドレス等が用いられる。
ストレージIDフィールド8003は、アプリケーションが1163利用するジャーナルグループが属しているストレージシステム1000の識別子を格納する。
JNLグループIDフィールド8004は、アプリケーション1163が利用するジャーナルグループの識別子であるJNLグループIDを格納する。
アプリケーションIDフィールド8001及びホストアドレスフィールド8002は、管理者が、管理計算機1200の管理プログラム1265が提供するGUIを介して設定する。
ストレージIDフィールド8003及びJNLグループIDフィールド8004は、アプリケーションとそのアプリケーションが利用するジャーナルグループとの対応関係を示す。これらは、管理プログラム1265が、情報収集エージェント1161に問い合わせて取得し、取得した値を設定する。なお、ストレージIDフィールド8003は、シリアル番号等のストレージ装置を一意に識別するためのIDを格納する。
図9は、バックアップ管理情報1264に含まれる状態管理テーブル9000の一例の説明図である。
状態管理テーブル9000は、一つのジャーナルグループに対して一つ生成される。複数のジャーナルグループが存在する場合には複数生成される。
状態管理テーブル9000は、対象JNLグループID9001、リカバリポイントヘッダフィールド9010及びSnap/JNLフィールド9020によって構成されるテーブルである。
対象JNLグループID9001は、その状態管理テーブル9000が、どのジャーナルグループに対するテーブルであるかを示すJNLグループIDを格納する。
リカバリポイントヘッダフィールド9010は、リカバリポイントID及びその状態を格納する。
Snap/JNLヘッダフィールド9020は、各々のリカバリポイントをリカバリするために必要なスナップショット又はジャーナルの、識別子及びその状態を格納する。
リカバリポイントヘッダフィールド9010を構成する各リカバリポイントヘッダは、リカバリポイントID9011及びリカバリポイント有効性フラグ9012を含む。リカバリポイントID9011は、リカバリポイントを取得した時刻を格納する。リカバリポイント有効性フラグ9012は、リカバリポイントIDによって示されるリカバリポイントが、有効であるか、障害などによって無効となっているか示すフラグが格納される。リカバリポイント有効フラグ9012は、管理プログラム1265が、スナップショット又はジャーナルの状態から「有効」又は「無効」を設定する。
Snap/JNLヘッダフィールド9020を構成する各Snap/JNLヘッダは、識別子9021及びデータ有効性フラグ9022を含む。識別子9021は、対象がスナップショットである場合はスナップショットテーブル5000に格納されているスナップショットボリュームIDを格納する。また、対象がジャーナルの場合は、ジャーナルボリュームテーブル4000に格納されている順序番号4002を格納する。データ有効性フラグ9022は、管理プログラム1265が、スナップショット又はジャーナルの状態から「有効」又は「無効」を設定する。
テーブルを構成する各セルは、必要性フラグ9031及び有効性フラグ9032を含む。
必要性フラグ9031は、その行のリカバリポイントヘッダによって示されるリカバリポイントをリカバリするために、どのスナップショット又はジャーナルが必要かを示すフラグである。必要性フラグ9031は、管理プログラム1265によって、そのリカバリポイントには、Snap/JNLヘッダによって示されるスナップショット又はジャーナルが必要である場合には「必要」が格納される。必要でなければ「不必要」が格納される。
有効性フラグ9032は、各セルに対応するスナップショット又はジャーナルが有効か、もしくは障害などによって無効になってしまったかを表す。本フラグは、必要性フラグに「必要」という値がセットされているときにのみセットされ、該当するSnap/JNLフィールドのデータ有効性フラグが「有効」であれば有効が、「無効」であれば無効が、管理プログラム1265によりセットされる。
図9において、列9010Aを例に説明する。
リカバリポイントヘッダ9010Aを含む列は、リカバリポイント「2005/9/1 10:10」に関する情報が各セルに格納されている。各セル9030は、リカバリポイント「2005/9/1 10:10」をリカバリするためには、どのスナップショット又はジャーナルが必要であるかを示す。具体的には、必要性フラグ9031が「必要」となっているのは、スナップショット「SS_01」、ジャーナル「101」及びジャーナル「102」の三つが示されている。さらに、ジャーナル「101」の有効性フラグ9022は「無効」が設定されているため、これに対応するセルの有効性フラグ9032にも「無効」が設定される。この結果、リカバリポイント「2005/9/1 10:10」は無効と設定される。
管理者はこの管理情報テーブルの情報から、有効又は無効であるリカバリポイントを知ることができる。
次に、本発明の第1の実施形態の動作について説明する。
まず、管理計算機1200の管理プログラム1265の動作を説明する。
管理プログラム1265は、バックアップ対象アプリケーションの設定、リカバリポイント作成時に状態管理テーブル9000の更新及びボリューム障害イベント受信時に状態管理テーブル9000の更新を実行する。
まず、バックアップ対象アプリケーションの設定について説明する。
図10は、管理プログラム1265が提供するGUIであるバックアップ対象アプリケーション情報設定画面10000の説明図である。
バックアップ対象アプリケーション情報設定画面10000は、バックアップ対象アプリケーションの情報を設定するときに、管理者が、CLI等によって管理プログラム1265に要求することによって、表示装置1220に表示される。
バックアップ対象アプリケーション情報設定画面10000は、アプリケーションID入力フィールド10010、ホストアドレス入力フィールド10020、実行ボタン10030及び取り消しボタンを含む。
アプリケーションID入力フィールド10010は、バックアップ対象として設定するアプリケーションの識別子であるアプリケーションIDを入力するためのフィールドである。
ホストアドレス入力フィールド10020は、バックアップ対象として設定するアプリケーションが実行されるホスト計算機1100の識別子を入力するためのフィールドである。この識別子は、IPアドレスを用いる。なお、ホスト名など別の識別子を使用してもよい。
管理者が、アプリケーションID入力フィールド10010及びホストアドレス入力フィールド10020に必要な情報を入力した後、実行ボタン10030を押下すると、図11に説明する管理プログラム1265の処理が実行される。なお、取り消しボタン10040を押下した場合は、管理プログラム1265は何もせずに終了する。
図11は、バックアップ対象アプリケーションの設定のフローチャートである。
このフローチャートは、図10の画面において、実行10030ボタンが押下されたときに、管理プログラム1265によって実行される。
まず、管理プログラム1265は、アプリケーションID入力フィールド10010に設定された値をアプリケーションテーブル8000のアプリケーションIDフィールド8001に格納する。そして、ホストアドレス入力フィールド10020に設定された値をアプリケーションテーブル8000のホストアドレスフィールド8002に格納する(ステップS11010)。
次に、管理プログラム1265は、ホストアドレスフィールド8002に格納されている識別子に対応するホスト計算機1100に接続して、情報収集エージェント1161にアプリケーションIDを送信して、アプリケーションとジャーナルの対応情報の取得を要求する(ステップS11020)。
管理プログラム1265からの要求を受け取ると、情報収集エージェント1161は、システム構成定義ファイル1171を参照して、受け取ったアプリケーションIDが利用するデータボリューム1011を取得する。そして、取得したデータボリューム1011が属するジャーナルグループ1014の識別子と、そのジャーナルグループ1014が属するストレージシステムの識別子とを取得する。そして、取得したデータボリュームが属するジャーナルグループの識別子と、そのジャーナルグループが属するストレージシステムの識別子とを、管理計算機1200の管理プログラム1265に応答する(ステップS11030)。
情報収集エージェント1161からの応答を受け取ると、管理プログラム1265は、受け取ったジャーナルグループの識別子を、アプリケーションテーブル8000のJNLグループID8004に格納する。また、受け取ったストレージシステムの識別子を、アプリケーションテーブル8000のストレージID8003に格納する(ステップ11040)。
このフローチャートの処理によって、バックアップ対象アプリケーションと、ストレージシステム及びジャーナルグループの情報とが対応付けられて、アプリケーションテーブル8000に設定される。
次にリカバリポイント作成時の処理を説明する。
図12は、リカバリポイント作成時の処理のフローチャートである。
バックアッププログラム1263は、管理者によって設定されたポリシーに基づいて、リカバリポイントの作成処理を開始する。このポリシーは、一般的には、時間間隔が指定される。すなわち、バックアッププログラム1263は、指定された時間間隔となったときに、リカバリポイントの作成処理を実行する
まず、バックアッププログラム1263は、リカバリポイント作成処理を実行するときに、管理プログラム1265に対してリカバリポイント作成イベントを通知する。具体的には、バックアッププログラム1263が、リカバリポイントテーブル7000を管理プログラム1265に送信することによって、リカバリポイント作成イベントが通知される(ステップS12010)。
管理プログラム1265は、このリカバリポイント作成イベントを受信すると(ステップS12020)、以降の処理を実行する。
まず、管理プログラム1265は、状態管理テーブル9000に新規行を追加し、追加した行をカレント行に設定する。
管理プログラム1265は、追加した新規行のリカバリポイントヘッダのリカバリポイントID9011には初期値として、リカバリポイントテーブル7000の取得時刻7002を格納する。また、有効性フラグ9012に、初期値として「有効」を設定する。また、追加した新規行の各セルは、必要性フラグ9013に、初期値として「不必要」を設定する。また、有効性フラグ9032は空欄(なお、状態管理テーブル9000では「−」と表記する)とする(ステップS12030)。
次に、管理プログラム1265は、ジャーナルボリュームテーブル4000及びスナップショットテーブル5000を参照して、前回本処理によって生成されたジャーナルよりも後に生成されたジャーナルを、新規列として状態管理テーブル9000に追加する。管理プログラム1265は、追加した各列のSnap/JNLヘッダに、ジャーナルボリュームテーブル4000に格納されている順序番号フィールド4002の値を、ジャーナルIDとして設定する。また、有効性フラグに、初期値として「有効」を設定する。また、追加された新規列の各セルには、必要性フラグに、初期値として「不必要」を設定する。また、有効性フラグに、初期値として空欄を設定する(ステップS12040)。
このステップの処理によって、新たに記録されたジャーナルに対応するエントリが、状態管理テーブル9000に格納される。
次に、管理プログラム1265は、スナップショットテーブル5000及びリカバリポイントテーブル7000を参照して、カレント行のリカバリポイントでスナップショットが取得されたか否かを判定する(ステップS12050)。
カレント行のリカバリポイントでスナップショットが取得されたと判定した場合は、管理プログラム1265は、取得したスナップショットを新規列として状態管理テーブル9000に追加する。この新規列のSnap/JNLヘッダは、スナップショットテーブル5000に格納されているスナップショットボリュームIDを設定し、データ有効性フラグには、初期値として「有効」を設定する。追加された列の各セルには、必要性フラグに、初期値として「不必要」を設定し、有効性フラグに、初期値として空欄を設定する(ステップS12060)。
このとき、本処理の契機となったリカバリポイント作成イベントに係るリカバリポイントは、ステップS12050で判定したようにスナップショットが取得されている。従って、本リカバリポイントをリカバリするために必要なデータは、取得されたスナップショットのみで充分となる。そこで、管理プログラム1265は、カレント行のうちステップS12060で追加された最新のスナップショットに対応するセルに関して、必要性フラグを「必要」に、有効性フラグを「有効」に変更する(ステップS12070)。その後、処理を終了する。
一方、ステップ12050において、スナップショットを取得していないと判定した場合は、管理プログラム1265は、本リカバリポイントをリカバリするために必要なデータは、最も新しいスナップショットと、そのスナップショットを取得してから本リカバリポイントを取得するまでの間に取得されたまでの全てのジャーナルと、が必要となる。そこで、管理プログラム1265は、カレント行において、最も新しいスナップショットから今回作成されたリカバリポイントに対応するジャーナルの範囲にあるセルの、必要性フラグ9031を「必要」に変更し、有効性フラグ9032を「有効」に設定する(ステップS12080)。その後、処理を終了する。
このフローチャートの処理によって、リカバリポイントが作成されたときに、対応するスナップショット及びジャーナルの情報が状態管理テーブル9000に設定される。特に、リカバリポイントに対して、どのスナップショット又はジャーナルが必要であるかを示す情報(必要性フラグ9031)を設定する。
次に、ボリューム障害イベント受信時の処理を説明する。
図13は、ボリューム障害イベント受信時の処理のフローチャートである。
管理プログラム1265は、ストレージシステム1000の障害管理プログラム1035からボリューム障害イベントを受信すると(ステップS13010)、状態管理テーブル9000を更新する処理を開始する。
なお、管理プログラム1265は、このボリューム障害イベントを非同期で受信する。なお、イベントの受信方法として、例えば、管理プログラム1265からストレージシステム1000の障害管理プログラム1035に対して定期的にポーリングを行って、ボリューム障害イベントを取得してもよい。
次に、管理プログラム1265は、ボリューム障害イベントに含まれるボリューム障害テーブル2000から障害ボリュームID2002を取得する。そして、ジャーナルボリュームテーブル4000を参照して、ボリュームIDフィールド4003に障害ボリュームID2002と同じボリュームIDが存在するか否かを判定する(ステップ13020)。
障害ボリュームID2002と同じボリュームIDが存在すると判定した場合は、管理プログラム1265は、ジャーナルボリュームテーブル4000の各エントリ4006を順次参照する。そして、参照したエントリ4006のボリュームIDフィールド4003に格納されているボリュームIDが、障害ボリュームIDと同じ場合は、その行の順序番号フィールド4002に格納されている順序番号を取得する。次に、管理プログラム1265は、状態管理テーブル9000を参照して、Snap/JNLヘッダフィールド9020のうち、取得した順序番号と同じ値を持つSnap/JNLヘッダがあれば、そのSnap/JNLヘッダの有効性フラグ9022を「無効」に設定する(ステップS13030)。
この処理によって、状態管理テーブル9000において、障害ボリュームIDに対応する順序番号のジャーナルが「無効」に設定される。その後、ステップS13040に移行する。
なお、ステップS15020において、障害ボリュームIDと同じボリュームIDが存在しないと判定した場合は、管理プログラム1265は、ステップS13030の処理を実行することなく、ステップS13040に移行する。
ステップS13040において、管理プログラム1265は、障害ボリュームID2002と同じボリュームIDが、スナップショットテーブル5000のボリュームIDフィールド5003に格納されているか否かを判定する。
障害ボリュームIDと同じボリュームIDが、スナップショットテーブル5000のボリュームIDフィールド5003に格納されている場合は、管理プログラム1265は、スナップショットテーブルの各エントリ5006を順次参照する。そして、参照したエントリ5006のボリュームIDフィールド5003に格納されているボリュームIDが、障害ボリュームID2002と同じ場合は、そのエントリ5006のスナップショットボリュームIDフィールド5004に格納されているスナップショットボリュームIDを取得する。次に、状態管理テーブル9000を参照して、Snap/JNLヘッダフィールド9020のうち、取得したスナップショットボリュームIDと同じ値を持つSnap/JNLヘッダがあれば、そのSnap/JNLヘッダの有効性フラグ9022を「無効」に設定する(ステップS13050)。
この処理によって、状態管理テーブル9000において、障害ボリュームIDに対応するスナップショットボリュームIDのスナップショットが「無効」に設定される。その後、ステップS13060に移行する。
なお、ステップS13040において、障害ボリュームIDと同じボリュームIDが存在しないと判定した場合は、管理プログラム1265は、ステップ13050の処理を実行することなく、ステップS13060に移行する。
ステップS13060では、管理プログラム1265は、状態管理テーブル9000のSnap/JNLヘッダフィールド9020に含まれるSnap/JNLヘッダを順次参照する。そして、参照したSnap/JNLヘッダの有効性フラグ9022が「無効」であれば、その列に含まれる各セルを順次参照する。そして、参照したセルの必要性フラグ9031が「必要」である場合は、当該セルの有効性フラグ9032を「無効」に変更する。管理プログラム1265は、この処理を、Snap/JNLヘッダフィールド9020の全てのSnap/JNLヘッダについて実行する(ステップS15060)。
次に、管理プログラム1265は、リカバリポイントヘッダフィールド9010の各リカバリポイントヘッダの内容を更新する。具体的には、管理プログラム1265は、まず、状態管理テーブル9000のリカバリポイントヘッダフィールド9010に含まれるリカバリポイントヘッダを順次参照する。そして、参照したリカバリポイントヘッダに対応するセルのうち、有効性フラグ9032が「無効」に設定されているセルがあるかを判定する。そして、有効性フラグ9032が「無効」に設定されているセルがあれば、そのリカバリポイントヘッダのリカバリポイント有効性フラグ9012を「無効」に更新する。この処理を、リカバリポイントヘッダフィールド9010の全てのリカバリポイントヘッダに実行する(ステップS13070)。
この処理によって、状態管理テーブル9000において、リカバリポイントをリカバリするために必要なスナップショットボリュームIDのスナップショットが「無効」に設定されている場合は、そのリカバリポイントが無効に設定される。その後、ステップS13080に移行する。
最後に、管理プログラム1265は、更新された状態管理テーブル9000の内容に基づいて、ユーザに通知する(ステップS13080)。
次に、このユーザへの通知を説明する。
管理計算機1200の管理プログラム1265は、前述した図13のフローチャートのステップS13080において、管理計算機1200のユーザに対して、障害ボリュームの発生、障害ボリュームの発生によるアプリケーション又はリカバリポイントへの影響範囲を通知する。管理プログラム1265は、図14乃至図16に例示するGUIによって通知する。
図14は、ユーザへの通知のGUIの一例の説明図である。
リカバリポイント表示GUI14000は、管理プログラム1265が、表示装置1220に、リカバリポイントの一覧と、そのリカバリポイントが有効であるか無効であるかを表示するためのGUIである。
リカバリポイント表示GUI14000は、リカバリポイントフィールド14001、有効性フィールド14002及びアプリケーション名14003を含む。
リカバリポイントフィールド14001は、リカバリポイントの識別子であるリカバリポイントIDを表示する。
有効性フィールド14002は、リカバリポイントIDによって示されるリカバリポイントが、有効であるか無効であるかを表示する。
アプリケーション名14003は、バックアップ対象となるアプリケーションの識別子であるアプリケーションIDを表示する。管理プログラム1265は、状態管理テーブル9000のJNLグループIDフィールド9001の値を用いてアプリケーションテーブル8000を参照することによってアプリケーションID8001を取得して、これをアプリケーション名14003に表示する。
なお、図14の例では、文字列によって有効又は無効を表示しているが、アイコン等の図形によって有効又は無効である旨の表示でもよい。
また、有効性フィールド14002が「有効」である場合は、管理者が、入力装置1240に備えられているマウス等によって該当箇所をクリックすることによって、バックアッププログラム1263を起動し、バックアッププログラム1263のリストア機能を実行させることもできる。
また、有効性フィールド14002が「無効」の場合は、管理者が、入力装置1240に備えられているマウス等によって該当箇所をクリックすることによって、ホスト計算機1170のリカバリマネージャ1162の機能を実行させて、ホスト計算機1170のローカルディスク1170に格納されているシステム構成定義ファイル1171に含まれる情報から、アプリケーションとデータボリュームと障害が発生したボリュームとの関係を、管理プログラム1265によって表示させることもできる。
図14に示したGUIは、一つのアプリケーションに対する表示であった。これに対して、複数のアプリケーションについて同時に表示するようにしてもよい。
図15は、ユーザへの通知のGUIの他の例の説明図である。
図15では、計算機システムにおいて、三つのアプリケーションが稼動している場合のアプリケーションステータス表示GUI15000の表示例である。
このアプリケーションステータス表示GUI15000は、ホストアイコン15001、アプリケーションアイコン15002及びステータスアイコン15003を含む。
ホストアイコン15001は、アプリケーションが実行されえているホスト計算機1100を、ホストIDと共に模式的に表示する。ホストIDは、ホスト名やIPアドレス等を用いる。
アプリケーションアイコン15002は、ホスト計算機1100で実行されているアプリケーションを模式的に表示する。アプリケーションが実行されているホストアイコンの内に、アプリケーションアイコン1502を、アプリケーションIDと共に表示する。
このアプリケーションアイコン15003を、管理者が、入力装置1240に備えられているマウス等によってクリックすることによって、そのアプリケーションが使用するデータボリューム及びジャーナルボリュームの詳細を表示できる。
ステータスアイコン15003は、アプリケーションの状態を模式的に表示する。ステータスアイコン15003は、アプリケーションアイコン15002の近傍に表示され、そのアプリケーションのステータスを示す図を表示する。ステータスは、有効又は無効を示すアイコンを表示する。例えば、アプリケーションの全てのリカバリポイントが有効である場合は、有効であることを示す「○」を模したアイコンを表示する。また、アプリケーションの一部にでも無効なリカバリポイントがあれば、無効であることを示す「×」を模したアイコンを表示する。なお、有効である場合はアイコンを表示せず、無効を示すアイコンのみを表示してもよい。
この図15のアプリケーションステータス表示GUI15000を用いることによって、複数のアプリケーションを用いてジャーナリングによるバックアップを運用している場合に、ユーザが、アプリケーションステータス表示GUI15000を参照することによって、どのアプリケーションに障害が発生したのかを一目で知ることができる。
図16はアプリケーションステータス表示GUI15000に表示されているアプリケーションアイコン15002を、管理者が、入力装置1240に備えられているマウス等によってクリックしたときに表示される物理ビューGUI16000である。
物理ビューGUI16000は、ホストアイコン16001、アプリケーションアイコン16002、ストレージシステムアイコン16010、ジャーナルボリュームアイコン16011、ジャーナルグループアイコン16012、スナップショットボリュームアイコン16013及びステータスアイコン16014を含む。
ホストアイコン16001及びアプリケーションアイコン16002は、アプリケーションステータス表示GUI15000が表示するホストアイコン15001及びアプリケーションアイコン15002と同様に、アプリケーションを実行しているホスト計算機1100のホストID及びホスト計算機で実行されているアプリケーションIDを表示する。
ストレージシステムアイコン16010は、アプリケーションがジャーナリングによるバックアップ運用のために使用するストレージシステム1000を表示する。なお、図16では、ストレージシステムが一つのみ表示されているが、複数のストレージシステムを表示するようにしてもよい。
ジャーナルボリュームアイコン16011は、ストレージシステム1000に構成されるジャーナルボリューム1013を、ジャーナルボリューム1013の識別子であるボリュームIDと共に表示する。ジャーナルグループアイコン16012は、ストレージシステム1000に構成されるジャーナルグループ1014を、ジャーナルグループ1014の識別子であるJNLグループIDと共に表示する。スナップショットボリュームアイコン16013は、ストレージシステム1000に構成されるスナップショットボリューム1012を、スナップショットボリューム1012のスナップショットボリュームIDと共に表示する。
ステータスアイコン16014は、障害が発生したことを示すアイコンであり、障害が発生した部分に表示される。
なお、管理プログラム1265は、物理ビューGUI16000とリカバリポイント表示GUI14000とを切り替えて表示する機能を提供してもよい。切り替えて表示することにより、ユーザは、どこに障害が発生したのか、どのリカバリポイントが無効になったのかを知ることができる。また、物理ビューGUI16000とリカバリポイント表示GUI14000とを同一の表示画面上に同時に表示してもよい。
このように、管理プログラム1265は、ユーザに障害発生の通知をGUIによって行う。これによって、ユーザは、どのプログラムが使用しているどのボリュームに障害が発生したのかを、一目で知ることができる。
なお、図14乃至図16では、ユーザへの通知をGUIによって行ったが、これに限定されるものではない。例えば、管理プログラム1265が、SNMPトラップ等を用いて、無効となったリカバリポイントをユーザに通知してもよい。また、SNMPトラップ等を用いて、ユーザにボリューム障害が発生したことを通知し、GUIによる表示を参照するように促してもよい。
以上のように、本発明の第1の実施形態によれば、スナップショット又はジャーナルを構成するボリュームに障害が発生した場合に、その障害によって無効となってしまったリカバリポイントを自動的に検出でき、それ以外のリカバリポイントで運用を継続することが可能となる。
(第2実施形態)
前述した第1の実施の形態の計算機システムにおいて、管理計算機1200の管理プログラム1265は、リカバリポイントを作成するたびに、前回リカバリポイントを作成した後に発生したジャーナルの情報を全て状態管理テーブル9000の列に格納する。一般的に、ジャーナルはホスト計算機1100から書き込みがあるたびに作成されるので、時間が経過すると、状態管理テーブル9000のエントリの数が非常に多くなる。そのため、管理計算機1200は、膨大なデータを管理しなければならない。そこで、管理計算機1200が管理するデータ量を削減するために、次のような方法を用いる。
なお、第1の実施の形態と同一の作用の構成には同一の符号を付し、その説明は省略する。
図17は、本発明の第2の実施の形態のバックアップ管理情報1264に含まれる状態管理テーブル17000の一例の説明図である。
状態管理テーブル17000において、Snap/JNLヘッダフィールド9020を構成する各Snap/JNLヘッダの構成が、第1の実施の形態と異なる。すなわち、識別子17021は、スナップショットID又は複数の連続したジャーナルの識別子を格納する。複数の連続したジャーナルとは、あるリカバリポイントから次のリカバリポイントまでの間に取得されたジャーナルを一つのグループとしたジャーナル群である。
次に、第2の実施の形態の計算機システムの動作を説明する。
管理プログラム1265は、図17の状態管理テーブル17000を作成するリカバリポイント作成時の処理を実行する。
この処理は前述した図12のフローチャートとほぼ同じである。ただし、図12のステップS12040において、管理プログラム1265は、スナップショット毎に列を作成するのではなく、前回のリカバリポイントから今回取得したリカバリポイントまでの全てのスナップショットを一つのグループとしてまとめる。具体的には、管理プログラム1265は、前回リカバリポイントを取得した直後に取得したジャーナルの順序番号を始点、今回取得したリカバリポイントの順序番号を終点とした識別子17021を格納する。
例えば、図17の例では、識別子101から150が一つのグループに、識別子151から220が一つのグループに、そして、識別子221から300が一つのグループにまとめられて格納されている。
例えば、管理プログラム1265は、順序番号100においてスナップショットSS_01が取得された後、順序番号が150であるジャーナルでリカバリポイントが取得された場合は、識別子17021を「101から150」と設定する。なお、管理プログラム1265は、追加したSnap/JNLヘッダフィールド9020の有効性フラグ9022は、初期値を「有効」に設定する。また、追加された各列の各セルは、必要性フラグ9031の初期値を「不必要」と設定し、有効性フラグ9032の初期値は空欄とする。
その他の処理は、図12のフローチャートと同様である。
また、管理プログラム1265は、ボリューム障害イベント受信時の処理を実行する。この処理は前述した、図13とほぼ同様であるが、図13のステップS13030において、次のような処理を実行する。
ジャーナルボリュームを構成している何れかのボリュームに障害が発生していることは判明しているので、管理プログラム1265は、障害が発生しているボリュームに格納されているジャーナルの順序番号をジャーナルボリュームテーブル4000から取得する。そして、管理プログラム1265は、状態管理テーブル17000のSnap/JNLヘッダフィールド9020のうち、取得した順序番号が含まれるSnap/JNLヘッダを検索する。そして、そのSnap/JNLヘッダのデータ有効性フラグを「無効」に設定する。
例えば、順序番号「125」のジャーナルに障害が発生した場合は、図17において、この順序番号「125」を含む「101から150」であるセルの有効性フラグ9022を無効に設定する。管理プログラム1265は、この処理をジャーナルボリュームテーブルの各行に対して実行する。
なお、その他の処理は図13のフローチャートと同様である。
このように、本発明の第2の実施の形態によれば、前述した第1の実施形態に挙げた効果に加えて、管理計算機が管理しなければならない管理データを削減することが可能である。
(第3実施形態)
次に第3の実施の形態を説明する。
前述した第1及び第2の実施の形態では、あるリカバリポイントをリカバリする方法は1つであった。しかし、実際には、一つのリカバリポイントのリカバリ方法は一つに限られない。
例えば次のような方法がある
まず、Beforeジャーナルを使用する方法である。
前述した特許文献1に記載の発明のように、ジャーナルを適用することによって上書きされるデータを、異なる領域に退避させておく。そして、ジャーナル適用を取り消す場合、ジャーナル適用後のスナップショットに、前記退避させたデータを元の箇所に書き戻す。これによって、短時間でジャーナル適用以前のデータイメージを復元することができる。この場合のジャーナルを「Afterジャーナル」と呼び、退避させたデータを「Beforeジャーナル」と呼ぶ。なお、前述の第1及び第2の実施の形態は、Afterジャーナルを用いた処理である。
AfterジャーナルとBeforeジャーナルとを同時に管理する場合は、あるリカバリポイントをリカバリするために、二つの方法を用いることができる。一つ目は、リカバリポイントから時間軸を過去の方向に遡ったときの最初のスナップショットを基底として、このスナップショットにAfterジャーナルを適用してリカバリする方法である。もう一方は、リカバリポイントから時間軸方向を未来の方向に下ったときの最初のスナップショットを基底として、このスナップショットにBeforeジャーナルを適用してリカバリする方法である。
このように、AfterジャーナルとBeforeジャーナルとを用いて二種類のリカバリ方法を用いることで、AfterジャーナルとBeforeジャーナルとの双方が無効でない限り、そのリカバリポイントは有効である。従って、ディスク装置の障害が発生したとしても、無効となるリカバリポイントが減り、バックアップ運用に対する耐障害性が高くなる。
また、Beforeジャーナルの利用とは別に、スナップショット時点のリカバリを、そのスナップショットを使用せずに行う方法である。通常、スナップショットを取得した時点にリカバリするには、そのスナップショットのみを使用すればよい。しかし、そのスナップショットを格納しているボリュームに障害が発生した場合には、リカバリができない。そのため、障害の発生したスナップショットの直前のスナップショットに対して、障害の発生したスナップショットまでのジャーナルを適用することによって、障害の発生したスナップショットと同じ時点のデータをリカバリすることが可能である。
このように、あるリカバリポイントにおいてリカバリするための方法が複数存在する場合のリカバリポイントの有効性の管理方法を以降に説明する。
図18は、第3の実施の形態のジャーナルボリューム1013の構成の説明図である。
前述のように、ジャーナルボリューム1013は、論理的に、ジャーナルヘッダ領域6010とジャーナルデータ領域6020とに分割されている。
本実施の形態では、ジャーナルヘッダのエントリ6008に、さらに、BJNLボリュームID6108及びBJNL格納アドレス6109を含む。
BJNLボリュームID6108は、Beforeジャーナルのジャーナルデータを格納しているボリュームの識別子を格納する。BJNL格納アドレス6109はBeforeジャーナルのジャーナルデータが格納されているアドレスを格納する。
これらの値は、ストレージマイクロプログラム1028が、Beforeジャーナル作成時に設定する。また、ストレージマイクロプログラム1028は、Beforeジャーナルのジャーナルデータを開放する場合は、BJNLボリュームID6108に「NULL」を、BJNL格納アドレス6109に「NULL」を、それぞれ設定する。
また、AJNLボリュームID6106、AJNL格納アドレス6107、BJNLボリュームID6108、BJNL格納アドレス6109の全てがNULLの場合は、ストレージマイクロプログラム1028は、当該ジャーナルヘッダを開放する。
ストレージマイクロプログラム1028は、ホスト計算機1100から書き込みがあったときに、Afterジャーナルを作成したときにのみジャーナルヘッダを作成する。すなわち、Beforeジャーナルの作成時には、Beforeジャーナルのジャーナルデータ6021が格納されたボリュームの識別子をBJNLボリュームID6108に、格納されたアドレスをBJNL格納アドレス6109に設定する。同様に、一度開放したAfterジャーナルを再作成する場合、Afterジャーナルのジャーナルデータ6021が格納されたボリュームの識別子をAJNLボリュームID6106に、格納されたアドレスをAJNL格納アドレス6107に設定する。
図19は、管理テーブル1029に含まれるジャーナルボリュームテーブル18000の一例の説明図ある。
ストレージマイクロプログラム1028は、ホスト計算機1100からジャーナルグループ1014に対する書き込みがあるたびに、Afterジャーナル又はBeforeジャーナルを生成してジャーナルボリューム1012に格納する。このとき、ストレージマイクロプログラム1028は、生成したジャーナルデータに対応するエントリ4006を生成して、ジャーナルグループテーブル18000に追加する。
ジャーナルボリュームテーブル18000は、前述した図4のジャーナルグループテーブル4000に加え、ジャーナルがAfterジャーナルであるかBeforeジャーナルであるかを示す種別フィールド18006、ジャーナルヘッダが格納されているボリュームの識別子を格納するJNLヘッダ格納VOLフィールド18004が追加された構成である。
順序番号フィールド4002は、順序番号を保持する。順序番号の値は、ストレージマイクロプログラム1028は、ホスト計算機1100からの書き込みに対してAfterジャーナルを作成するときに、ジャーナルグループテーブル3000の順序カウンタ3003に順序番号を設定する。そして、この順序番号取得して、順序番号フィールド4002に設定する。
又は、バックアッププログラム1263は、Beforeジャーナルの生成を指示するときにBeforeジャーナルを元となったAfterジャーナルを取得し、取得したAfterジャーナルの順序番号を取得して、順序番号フィールド4002に設定する。
ボリュームIDフィールド4003、JNLヘッダ格納VOLフィールド18004及びJNLヘッダ格納アドレスフィールド4004は、ストレージマイクロプログラム1028が、ジャーナルをジャーナルボリューム1013に書き込む際に、ジャーナルヘッダ及びジャーナルを書き込む先のボリュームID及びJNLヘッダ格納アドレスを取得して、取得した値をそれぞれのフィールドに設定する。
図20は、本実施の形態におけるBeforeJNL作成通知テーブル19000の構成である。
Beforeジャーナル作成通知テーブル19000は、JNLグループIDフィールド19001、取得時刻フィールド19002及びスナップショットボリュームIDフィールド19003を含む。
バックアッププログラム1263は、任意のタイミングで、Beforeジャーナルを生成する。このとき、あるスナップショットボリュームから時間軸方向に次のスナップショットボリュームまでのBeforeジャーナルを生成する。
このときバックアッププログラム1263は、生成したBeforeジャーナルに対して、Beforeジャーナル取得の対象であるJNLグループの識別子をJNLグループIDフィールド19001に設定し、その時点の時刻をタイマ1024からから取得して発生時刻フィールド19002に設定する。そして、取得したスナップショットボリュームに対する一意の識別子を生成して、スナップショットボリュームIDフィールド19003に設定する。
バックアッププログラム1263は、BeforeJNL作成通知テーブル19000を作成すると、管理プログラム1265に対して、作成したBeforeJNL作成通知テーブル19000をBeforeジャーナル作成イベントとして通知する。なお、この通知は、前述のようにSNMPトラップを用いるが、その他の通知方法でもよい。
図21A及び図21Bは、バックアップ管理情報1264に含まれる状態管理テーブル20000の一例の説明図である。
状態管理テーブル20000は、前述した状態管理テーブル9000と同様の構成である。ただしAfterジャーナル及びBeforeジャーナルそれぞれについて必要性フラグ及び有効性フラグを設定する。
リカバリポイントヘッダフィールド20010はリカバリポイントID及びその状態を格納する。Snap/JNLヘッダフィールド20020は各々のリカバリポイントをリカバリするために必要なスナップショットの識別子及びジャーナルの識別子及びその状態を格納する。
リカバリポイントヘッダフィールド20010の各リカバリポイントヘッダは、リカバリポイントID9011、リカバリポイント有効性フラグ(After)20012及びリカバリポイント有効性フラグ(Before)20013を含む。
各リカバリポイントはAfterジャーナルによってリカバリする方法と、Beforeジャーナルによってリカバリする方法があるため、有効性フラグをそれぞれの方法について用意する。
Snap/JNLヘッダフィールド20020を構成する各Snap/JNLヘッダは、識別子9021、有効性フラグを含む。
有効性フラグは、そのセルがスナップショットを示す場合は、スナップショット有効性フラグ20022を格納する。また、そのセルがジャーナルを示す場合はAfterJNL有効性フラグ20023及びBeforeJNL有効性フラグ20024の二つが格納される。
図21Bは、テーブルを構成する各セルの構成の一例の説明図である。
セル20030は、必要性フラグ(After)20031、有効性フラグ(After)20033、必要性フラグ(Before)20032及び有効性フラグ(Before)20034を含む。
前記したように、各行のリカバリポイントをリカバリするために、Afterジャーナルを用いた方法と、Beforeジャーナルを用いた方法とがある。
そのため、セル20030は、Afterジャーナルのための必要性フラグ20031及び有効性フラグ20033と、Beforeジャーナルのための必要性フラグ20032及び20034とを含む。
図21Aにおいて、リカバリポイント「2005/9/1 10:10」を示す行20030Aでは、リカバリポイント「2005/9/1 10:10」をAfterジャーナルによってリカバリするために必要なジャーナル及びスナップショットは、必要性フラグが「必要」に設定されている、「SS_01」、「101」及び「102」の三つであることがわかる。また、ジャーナル「101」は無効になっていることがわかる。一方、Beforeジャーナルによってリカバリするために必要なジャーナル及びスナップショットは、「SS_02」、「103」の三つであり、全てが有効であることがわかる。
従って、このリカバリポイント「2005/9/1 10:10」は、Afterジャーナルでのリカバリは「無効」であるが、Beforeジャーナルでのリカバリは「有効」である。
次に第3の実施の形態の計算機システムの動作を説明する。
管理プログラム1265は、前述のように、システム設定時の情報の設定、バックアッププログラムからのイベント受信時の状態管理テーブルの更新及びボリューム障害イベント受信時の状態管理テーブルの更新の3つの処理を実行する。
システム設定時の情報の設定は前述の第1の実施形態の図11のフローチャートと同一である。
図22は、第3の実施の形態のリカバリポイント作成時の処理のフローチャートである。
バックアッププログラム1263は、リカバリポイントを作成するタイミングで、管理プログラム1265に対してリカバリポイント作成イベント発行する。また、あるスナップショットまで作成したタイミングで、管理プログラム1265に対してBeforeJNL作成通知イベントを発行する。
管理プログラム1265は、バックアッププログラム1263が発行したリカバリポイント作成イベント、又は、BeforeJNL作成通知イベントを受信したときに、本フローチャートの処理を開始する。
まず、管理プログラム1206は、受信したイベントの種別が、リカバリポイント作成イベントであるか、Beforeジャーナル作成通知イベントであるかを判定する(ステップ21010)。
まず、リカバリポイント作成イベントである場合の処理を説明する。
ステップS21100において、管理プログラム1265は、状態管理テーブル9000に新規行を追加し、追加した行をカレント行に設定する(ステップS21110)。
このとき、管理プログラム1265は、追加した行のリカバリポイントヘッダのリカバリポイントIDには初期値として、リカバリポイントテーブル7000の取得時刻7002を格納する。また、管理プログラム1265は、有効性フラグ20012に、初期値として「有効」を設定し、有効性フラグ20014に、初期値として空欄とする。また、追加した新規行の各セルは、必要性フラグ(After)20031に、初期値として「不必要」を設定する。また、有効性フラグ(After)20033は空欄とする。必要性フラグ(Before)20032は空欄とする。また、有効性フラグ(Before)20034は空欄とする。
次に、管理プログラム1265は、ジャーナルボリュームテーブル18000及びスナップショットテーブル5000を参照して、前回本処理によって生成されたジャーナルよりも後に生成されたジャーナルを、新規列として状態管理テーブル18000に追加する。管理プログラム1265は、追加した各列のSnap/JNLヘッダに、ジャーナルボリュームテーブル18000に格納されている順序番号フィールド4002の値を、ジャーナルIDとして設定する。また、有効性フラグに、初期値として「有効」及び「−」を設定する。また、追加した新規行の各セルは、必要性フラグ(After)20031に、初期値として「不必要」を設定する。また、有効性フラグ(After)20033は空欄とする。必要性フラグ(Before)20032は空欄とする。また、有効性フラグ(Before)20034は空欄とする(ステップS21110)。
続いて、カレント行のフラグの設定を行う。最新のスナップショットから今回作成されたリカバリポイントまでのセルの必要性フラグ(After)に「必要」を、有効性フラグ(After)に「有効」をセットする。(ステップ21120)
次に、管理プログラム1265は、スナップショットテーブル5000及びリカバリポイントテーブル7000を参照して、カレント行のリカバリポイントでスナップショットが取得されたか否かを判定する(ステップ21130)。
スナップショットが取得されていなければ処理を終了する。
カレント行のリカバリポイントでスナップショットが取得されたと判定した場合は、管理プログラム1265は、取得したスナップショットを新規列として状態管理テーブル20000に追加する(ステップS21140)
続いて、管理プログラム1265は、ステップ21140において追加されたスナップショットのセルの必要性フラグ(Before)20032に「必要」を設定し、有効性フラグ(Before)20034に「有効」を設定する。なお、スナップショットは、Beforeジャーナルを用いなくてもリカバリ可能であるが、スナップショットのみのリカバリの有効性を表すためにBeforeのフィールドを設定する(ステップS21150)
次に、BeforeJNL作成通知イベントであった場合処理を説明する。
管理プログラム1265は、Snap/JNLヘッダフィールドにおいて、受信したイベントに含まれているスナップショットボリュームIDと同じ識別子のSnap/JNLヘッダと、そのSnap/JNLヘッダよりも一つ前に取得されたスナップショットボリュームIDを識別子としてSnap/JNLヘッダとの間に存在する、ジャーナルを示すSnap/JNLヘッダを取得する。そして、取得したジャーナルを示すSnap/JNLヘッダのBeforeJNL有効性フラグを、全て「有効」にセットする(ステップS21200)。
次に、管理プログラム1265は、各リカバリポイントヘッダフィールド20010の必要性フラグ(After)20012を順次参照する。そして、必要性フラグ(After)20012が有効であるリカバリポイントヘッダがあり、その次のリカバリポイントヘッダが無効である場合に、その次の列に含まれるセルから、次のスナップショットボリュームに含まれるセルの必要性フラグ(Before)20032を、「必要」に設定し、有効性フラグ(Before)20034を、BeforeJNLの有効性フラグと同じ値を設定する(ステップ21210)。
次にボリューム障害イベント受信処理を説明する。
管理プログラム1265は、ストレージシステム1000内の障害管理プログラム1035からボリューム障害イベントを受信すると、状態管理テーブル20000を更新する。この処理は前述した図13のフローチャートとほぼ同じであるが、以下の処理が異なる。
ステップS13030において、障害ボリュームID2002と同じボリュームIDが存在すると判定した場合は、管理プログラム1265は、ジャーナルボリュームテーブル18000の各エントリ4006を順次参照する。そして、参照したエントリ4006のボリュームIDフィールド4003に格納されているボリュームIDが、障害ボリュームIDと同じ場合は、その行の種別フィールド18006及び順序番号4002に格納されている値を取得する。
次に、管理プログラム1265は、状態管理テーブル9000を参照して、Snap/JNLヘッダフィールド20020のうち、取得した順序番号と同じ値を持つSnap/JNLヘッダがあれば、取得した種別フィールドの値に応じて、そのSnap/JNLヘッダのAfterJNL有効性フラグ20023又はBeforeJNL有効性フラグ20024を、「無効」に設定する。
この処理によって、状態管理テーブル18000において、障害ボリュームIDに対応するスナップショットボリュームIDのスナップショットが「無効」に設定される。
そして、ステップS13060において、管理プログラム1265は、状態管理テーブル20000のSnap/JNLヘッダフィールド9020に含まれるSnap/JNLヘッダを順次参照する。そして、参照したSnap/JNLヘッダの有効性フラグ200022が「無効」であれば、その列に含まれる各セルを順次参照する。そして、参照したセルの必要性フラグ(After)20031が「必要」である場合は、当該セルの有効性フラグ(After)20033を「無効」に変更する。また、参照したセルの必要性フラグ(Before)20032が「必要」である場合は、当該セルの有効性フラグ(Before)20034を「無効」に変更する。管理プログラム1265は、この処理を、Snap/JNLヘッダフィールド20020の全てのSnap/JNLヘッダについて実行する
そして、ステップS13070において、管理プログラム1265は、まず、状態管理テーブル20000のリカバリポイントヘッダフィールド20010に含まれるリカバリポイントヘッダを順次参照する。そして、参照したリカバリポイントヘッダに対応するセルのうち、有効性フラグ(After)20032が「無効」に設定されているセルがあるかを判定する。そして、有効性フラグ(After)20032が「無効」に設定されているセルがあれば、そのリカバリポイントヘッダのリカバリポイント有効性フラグ(After)20012を「無効」に更新する。
さらに、参照したリカバリポイントヘッダに対応するセルのうち、有効性フラグ(Before)20034が「無効」に設定されているセルがあるかを判定する。そして、有効性フラグ(Before)20034が「無効」に設定されているセルがあれば、そのリカバリポイントヘッダのリカバリポイント有効性フラグ(Before)20013を「無効」に更新する。この処理を、リカバリポイントヘッダフィールド20010の全てのリカバリポイントヘッダに実行する
そして、ステップ13080は、更新された状態管理テーブル20000に基づいて、ユーザに通知する。このとき、管理プログラム1265は、リカバリポイントヘッダフィールド20010の各セルを参照し、リカバリポイント有効性フラグ(After)20012、リカバリポイント有効性フラグ(Before)20013の何れかが「有効」であれば、そのリカバリポイントは有効であると判定する。
なお、通知手段として、第1の実施の形態と同様に、図14乃至図16のGUIを使用する。
このように本発明の第3の実施の形態では、リカバリポイントをリカバリする手段が複数ある場合に、障害の発生によって、そのうちのいくつかの手段が失われたとしても、一つでも有効な手段が残っていれば、そのリカバリポイントは有効であるものとして、運用を継続することが可能になる。
本発明の第1の実施の形態の計算機システムの構成ブロック図である。 本発明の第1の実施の形態のボリューム障害テーブル2000の一例の説明図である。 本発明の第1の実施の形態のジャーナルグループテーブル3000の一例の説明図である。 本発明の第1の実施の形態のジャーナルボリュームテーブル4000の一例の説明図である。 本発明の第1の実施の形態のスナップショットテーブル5000の一例の説明図である。 本発明の第1の実施の形態のジャーナルボリューム1013の構成の説明図である。 本発明の第1の実施の形態のリカバリポイントテーブル7000の一例の説明図である。 本発明の第1の実施の形態のアプリケーションテーブル8000の一例の説明図である。 本発明の第1の実施の形態の状態管理テーブル9000の一例の説明図である。 本発明の第1の実施の形態のバックアップ対象アプリケーション情報設定画面10000の説明図である。 本発明の第1の実施の形態のバックアップ対象アプリケーションの設定のフローチャートである。 本発明の第1の実施の形態のリカバリポイント作成時の処理のフローチャートである。 本発明の第1の実施の形態のボリューム障害イベント受信時の処理のフローチャートである。 本発明の第1の実施の形態のユーザへの通知のGUIの一例の説明図である。 本発明の第1の実施の形態のユーザへの通知のGUIの他の例の説明図である。 本発明の第1の実施の形態の物理ビューGUI16000である。 本発明の第2の実施の形態の状態管理テーブル17000の一例の説明図である。 本発明の第3の実施の形態のジャーナルボリューム1013の構成の説明図である。 本発明の第3の実施の形態のジャーナルボリュームテーブル18000の一例の説明図である。 本発明の第3の実施の形態のBefore JNL作成通知テーブル19000の一例の説明図である。 本発明の第3の実施の形態の状態管理テーブル20000の一例の説明図である。 本発明の第3の実施の形態の状態管理テーブル20000の一例の説明図である。 本発明の第3の実施の形態のリカバリポイント作成時の処理のフローチャートである。
符号の説明
1000:ストレージ装置
1010:ディスク装置
1020:ディスクコントローラ
1100:ホスト計算機
1200:管理計算機
1300:データネットワーク
1400:管理ネットワーク

Claims (15)

  1. データを格納するディスク装置と、前記ディスク装置への前記データの読み書きを制御する制御装置とを備えたストレージシステムと、
    前記ストレージシステムにネットワークを介して接続され、前記ディスク装置に格納されたデータの読み書きを要求するホスト計算機と、
    前記ストレージシステム及び前記ホスト計算機の少なくとも一方に接続され、前記ホスト計算機及び前記ストレージシステムを管理する管理計算機と、
    を備える計算機システムで実行されるデータの管理方法であって、
    前記ディスク装置は、前記ホスト計算機によって読み書きされるデータを格納するデータボリュームと、前記ホスト計算機によって書き込まれたデータの差分であるジャーナルデータを書き込み要求毎に格納するジャーナルボリュームと、前記データボリュームの過去の所定の時刻での復元データであるスナップショットを提供するスナップショットボリュームと、を備え、
    前記所定の時刻を示すリカバリポイントを設定する第1のステップと、
    前記設定されたリカバリポイント時点のデータを復元するために必要な前記スナップショットと前記ジャーナルデータとの対応情報を作成する第2のステップと、
    前記ディスク装置の障害の発生を検出する第3のステップと、
    前記ディスク装置の障害によって、データの復元が不可能となったリカバリポイントを検出する第4のステップと、を備えることを特徴とするデータ管理方法
  2. 前記第4のステップは、さらに、データの復元が不可能となったリカバリポイントをユーザに通知するステップを備えることを特徴とする請求項1に記載のデータ管理方法。
  3. 前記ホスト計算機は、前記ディスク装置に格納されたデータの読み書きを要求する複数のアプリケーションを実行しており、前記アプリケーションはそれぞれ、異なるデータボリューム、ジャーナルボリューム及びスナップショットボリュームを利用しており、
    前記第4のステップは、さらに、データ復元が不可能となったリカバリポイントを利用している前記アプリケーションを特定するステップし、データの復元が不可能となったリカバリポイントと当該リカバリポイントに関係するアプリケーションとを関連付けてユーザに通知するステップを備えることを特徴とする請求項1に記載のデータ管理方法。
  4. 前記第4のステップは、前記ディスク装置の障害によってジャーナルボリューム及びスナップショットボリュームの少なくとも一つに障害が発生したときに、前記障害が発生したジャーナルボリュームに格納されているジャーナルデータ又は前記障害が発生したスナップショットボリュームに格納されているスナップショットが、前記作成した対応情報に含まれているときは、前記対応情報に係るリカバリポイントはデータの復元が不可能となったことを検出することを特徴とする請求項1に記載のデータ管理方法。
  5. 前記第2のステップは、所定のリカバリポイント時点のデータを復元するために必要となる、前記ジャーナルデータと前記スナップショットとの対応関係を作成するときに、そのリカバリポイントの直前のリカバリポイント時点以降、かつ、そのリカバリポイント時点以前に格納されたジャーナルデータを一つのグループとして、前記対応情報を作成することを特徴とする請求項1に記載のデータ管理方法
  6. データを格納するディスク装置を備えたストレージシステムと、前記前記ディスク装置に格納されたデータの読み書きを要求するホスト計算機と、にネットワークを介して接続されるインターフェースと、前記インターフェースに接続されたプロセッサと、プログラム及び情報を格納するメモリと、ユーザに情報を表示する表示装置と、を備える管理計算機であって、
    前記ディスク装置は、前記ホスト計算機によって読み書きされるデータを格納するデータボリュームと、前記ホスト計算機によって書き込まれたデータの差分であるジャーナルデータを書き込み要求毎に格納するジャーナルボリュームと、前記データボリュームの過去の所定の時刻での復元データであるスナップショットを提供するスナップショットボリュームと、を備え、
    前記プロセッサは、
    前記ストレージシステムに、前記所定の時刻を示すリカバリポイントの設定を要求し、
    前記ストレージシステムに、前記設定されたリカバリポイント時点のデータを復元するために必要な、前記スナップショット及び前記ジャーナルデータの情報を要求し、
    前記要求の結果取得した前記スナップショットと前記ジャーナルデータとの対応情報を前記メモリに格納し、
    前記ストレージシステムから前記ディスク装置の障害の発生が通知されたときに、当該ストレージシステムに、前記障害が発生した前記ジャーナルボリューム又は前記スナップショットボリュームを問い合わせ、
    前記問い合わせの結果取得した前記ジャーナルボリューム又は前記スナップショットボリュームが前記対応情報に含まれているときは、前記対応情報に係るリカバリポイントはデータの復元が不可能となったことを検出することを特徴とする管理計算機。
  7. 前記プロセッサは、データの復元が不可能となったリカバリポイントを前記表示装置に表示することによって、ユーザに通知することを特徴とする請求項6に記載の管理計算機。
  8. 前記ホスト計算機は、前記ディスク装置に格納されたデータの読み書きを要求する複数のアプリケーションを実行しており、前記アプリケーションはそれぞれ、異なるデータボリューム、ジャーナルボリューム及びスナップショットボリュームを利用しており、
    前記プロセッサは、
    前記ホスト計算機に、データの復元が不可能となったリカバリポイントを利用している前記アプリケーションを問い合わせ、
    前記問い合わせの結果、データの復元が不可能となったリカバリポイントと、当該リカバリポイントに関係するアプリケーションとを関連付けて前記表示装置に表示することによって、ユーザに通知することを特徴とする請求項6に記載の管理計算機。
  9. 前記プロセッサは、
    前記ストレージシステムから前記ディスク装置の障害が通知されたときに、当該ストレージシステムに、前記障害が発生したジャーナルボリュームを問い合わせ、
    前記問い合わせの結果と前記対応関係とを参照して、前記障害が発生したジャーナルボリュームに格納されたジャーナルデータ又は前記障害が発生した前記スナップショットボリュームに格納されているスナップショットが前記対応関係に含まれているときに、前記対応情報に係るリカバリポイントはデータの復元が不可能となったことを検出することを特徴とする請求項6に記載の管理計算機。
  10. 前記プロセッサは、前記要求の結果取得された前記スナップショットと前記ジャーナルデータとの対応関係を前記メモリに格納するときに、そのリカバリポイントの直前のリカバリポイント時点以降、かつ、そのリカバリポイント時点以前に格納されたジャーナルデータを一つのグループとして、前記対応情報を作成することを特徴とする請求項6に記載の管理計算機。
  11. データを格納するディスク装置に接続されるディスクインターフェースと、ホスト計算機及び管理計算機に接続される第1のインターフェースと、前記ディスク装置への前記データの読み書きを制御する第1のプロセッサと、プログラム及び情報を格納する第1のメモリと、を含む制御装置と、ディスク装置と、を備えたストレージシステムと、
    前記ストレージシステム及び管理計算機にネットワークを介して接続される第2のインターフェースと、前記ディスク装置に格納されたデータの読み書きを要求する第2のプロセッサと、プログラム及び情報を格納する第2のメモリを備えるホスト計算機と、
    前記ストレージシステム及び前記ホスト計算機の少なくとも一方にネットワークを介して接続される第3のインターフェースと、前記インターフェースに接続される第3のプロセッサと、プログラム及び情報を格納する第3のメモリと、表示装置と、を備える管理計算機と、
    を備える計算機システムであって、
    前記ディスク装置は、前記ホスト計算機によって読み書きされるデータを格納するデータボリュームと、前記ホスト計算機によって書き込まれたデータの差分であるジャーナルデータを書き込み要求毎に格納するジャーナルボリュームと、前記データボリュームの過去の所定の時刻での復元データであるスナップショットを提供するスナップショットボリュームと、を備え、
    前記第3のプロセッサは、
    前記ストレージシステムに、前記所定の時刻を示すリカバリポイントの設定を要求し、
    前記ストレージシステムに、前記設定されたリカバリポイント時点のデータを復元するために必要な、前記スナップショット及び前記ジャーナルデータの情報の取得を要求し、
    前記要求の結果取得された前記スナップショットと前記ジャーナルデータとの対応情報を前記第3のメモリに格納し、
    前記第1のプロセッサは、
    前記ディスク装置の障害の発生を検出し、
    前記検出された障害を前記管理計算機に通知し、
    前記第3のプロセッサは、
    前記ストレージシステムから前記ディスク装置の障害の発生が通知されたときに、当該ストレージシステムに、前記障害が発生している前記ジャーナルボリューム及び前記スナップショットボリュームを問い合わせ、
    前記問い合わせの結果取得した前記ジャーナルボリューム及び前記スナップショットボリュームが前記対応情報に含まれているときは、前記対応関係に係るリカバリポイントはデータの復元が不可能となったことを検出することを特徴とする計算機システム。
  12. 前記第3のプロセッサは、データの復元が不可能となったリカバリポイントを前記表示装置に表示することによって、ユーザに通知することを特徴とする請求項11に記載の計算機システム。
  13. 前記第2のプロセッサは、前記ディスク装置に格納されたデータの読み書きを要求する複数のアプリケーションを実行しており、前記アプリケーションはそれぞれ、異なるデータボリューム、ジャーナルボリューム及びスナップショットボリュームを利用しており、
    前記第3のプロセッサは、
    前記ホスト計算機に、データの復元が不可能となったリカバリポイントを利用する前記アプリケーションを問い合わせ、
    前記問い合わせの結果、データの復元が不可能となったリカバリポイントと、当該リカバリポイントに関係するアプリケーションとを関連付けて前記表示装置に表示することによって、ユーザに通知することを特徴とする請求項11に記載の計算機システム。
  14. 前記第3のプロセッサは、
    前記ストレージシステムから前記ディスク装置の障害が通知されたときに、当該ストレージシステムに、前記障害が発生している前記ジャーナルボリューム又はスナップショットボリュームを問い合わせ、
    前記問い合わせの結果と前記対応関係とを参照して、前記障害の発生したジャーナルボリュームに格納されたジャーナルデータ又は前記障害の発生したスナップショットボリュームに格納されているスナップショットが前記対応関係に含まれているときに、前記対応情報に係るリカバリポイントはデータの復元が不可能となったことを検出することを特徴とする請求項11に記載の計算機システム。
  15. 前記第3のプロセッサは、前記要求の結果取得された前記スナップショットと前記ジャーナルデータとの対応関係を前記メモリに格納するときに、そのリカバリポイントの直前のリカバリポイント時点以降、かつ、そのリカバリポイント時点以前に格納されたジャーナルデータを一つのグループとして、前記対応情報を作成することを特徴とする請求項11に記載の計算機システム。
JP2005335614A 2005-11-21 2005-11-21 ストレージシステムにおける障害管理方法 Pending JP2007141043A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005335614A JP2007141043A (ja) 2005-11-21 2005-11-21 ストレージシステムにおける障害管理方法
US11/334,625 US20070115738A1 (en) 2005-11-21 2006-01-19 Failure management method for a storage system
US12/232,061 US20090024871A1 (en) 2005-11-21 2008-09-10 Failure management method for a storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005335614A JP2007141043A (ja) 2005-11-21 2005-11-21 ストレージシステムにおける障害管理方法

Publications (1)

Publication Number Publication Date
JP2007141043A true JP2007141043A (ja) 2007-06-07

Family

ID=38053293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005335614A Pending JP2007141043A (ja) 2005-11-21 2005-11-21 ストレージシステムにおける障害管理方法

Country Status (2)

Country Link
US (2) US20070115738A1 (ja)
JP (1) JP2007141043A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193208A (ja) * 2008-02-13 2009-08-27 Hitachi Ltd リモートコピーシステム及びリモートコピーシステムにおける目標復旧時点の決定方法
JP2020518059A (ja) * 2017-04-28 2020-06-18 ベリタス テクノロジーズ エルエルシー バックアップ失敗後のバックアップ性能の改善

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961804B2 (en) * 2001-07-20 2005-11-01 International Business Machines Corporation Flexible techniques for associating cache memories with processors and main memory
WO2005050386A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
JP4704893B2 (ja) * 2005-11-15 2011-06-22 株式会社日立製作所 計算機システム及び管理計算機とストレージシステム並びにバックアップ管理方法
JP4487978B2 (ja) * 2006-06-28 2010-06-23 セイコーエプソン株式会社 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法
US9501492B2 (en) * 2006-10-24 2016-11-22 Marvell World Trade Ltd. Combination journaling/non-journaling file system
US8151060B2 (en) 2006-11-28 2012-04-03 Hitachi, Ltd. Semiconductor memory system having a snapshot function
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US7870110B2 (en) * 2008-02-27 2011-01-11 International Business Machines Corporation Method and system for generating a transaction-bound sequence of records in a relational database table
US8229945B2 (en) 2008-03-20 2012-07-24 Schooner Information Technology, Inc. Scalable database management software on a cluster of nodes using a shared-distributed flash memory
US8732386B2 (en) 2008-03-20 2014-05-20 Sandisk Enterprise IP LLC. Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory
JP2011039804A (ja) * 2009-08-12 2011-02-24 Hitachi Ltd 障害内容に基づくバックアップ管理方法
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US8725951B2 (en) 2010-04-12 2014-05-13 Sandisk Enterprise Ip Llc Efficient flash memory-based object store
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US8954385B2 (en) 2010-06-28 2015-02-10 Sandisk Enterprise Ip Llc Efficient recovery of transactional data stores
US8694733B2 (en) 2011-01-03 2014-04-08 Sandisk Enterprise Ip Llc Slave consistency in a synchronous replication environment
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US10387448B2 (en) 2012-05-15 2019-08-20 Splunk Inc. Replication of summary data in a clustered computing environment
US11003687B2 (en) 2012-05-15 2021-05-11 Splunk, Inc. Executing data searches using generation identifiers
US8788459B2 (en) 2012-05-15 2014-07-22 Splunk Inc. Clustering for high availability and disaster recovery
US9130971B2 (en) 2012-05-15 2015-09-08 Splunk, Inc. Site-based search affinity
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9246752B2 (en) * 2013-06-18 2016-01-26 International Business Machines Corporation Ensuring health and compliance of devices
US9244774B2 (en) * 2013-11-15 2016-01-26 Dell Products L.P. Storage device failure recovery system
JP6194784B2 (ja) * 2013-12-13 2017-09-13 富士通株式会社 ストレージ制御装置、制御方法および制御プログラム
US9665307B1 (en) * 2013-12-19 2017-05-30 EMC IP Holding Company LLC Incremental continuous data protection
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
CN109522154B (zh) * 2015-09-10 2023-02-03 华为技术有限公司 数据恢复方法及相关设备与系统
US10599530B2 (en) * 2015-11-04 2020-03-24 Hitachi, Ltd. Method and apparatus for recovering in-memory data processing system
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US10839852B2 (en) 2016-09-21 2020-11-17 International Business Machines Corporation Log snapshot control on an automated data storage library
US10782890B2 (en) 2016-09-21 2020-09-22 International Business Machines Corporation Log snapshot procedure control on an automated data storage library
US10210048B2 (en) 2016-10-25 2019-02-19 Commvault Systems, Inc. Selective snapshot and backup copy operations for individual virtual machines in a shared storage
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62121555A (ja) * 1985-11-22 1987-06-02 Hitachi Ltd 履歴情報の管理方式
JP2004038934A (ja) * 2002-05-07 2004-02-05 Hitachi Ltd ボリュームの正常性チェックと回復のためのシステム及び方法
JP2005242729A (ja) * 2004-02-27 2005-09-08 Hitachi Ltd システム復旧方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668262B1 (en) * 2000-11-09 2003-12-23 Cisco Technology, Inc. Methods and apparatus for modifying a database
US6877109B2 (en) * 2001-11-19 2005-04-05 Lsi Logic Corporation Method for the acceleration and simplification of file system logging techniques using storage device snapshots
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
US6959369B1 (en) * 2003-03-06 2005-10-25 International Business Machines Corporation Method, system, and program for data backup
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US20050015416A1 (en) * 2003-07-16 2005-01-20 Hitachi, Ltd. Method and apparatus for data recovery using storage based journaling
US7549027B1 (en) * 2004-07-01 2009-06-16 Emc Corporation System and method for managing replication of data in a data storage environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62121555A (ja) * 1985-11-22 1987-06-02 Hitachi Ltd 履歴情報の管理方式
JP2004038934A (ja) * 2002-05-07 2004-02-05 Hitachi Ltd ボリュームの正常性チェックと回復のためのシステム及び方法
JP2005242729A (ja) * 2004-02-27 2005-09-08 Hitachi Ltd システム復旧方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009193208A (ja) * 2008-02-13 2009-08-27 Hitachi Ltd リモートコピーシステム及びリモートコピーシステムにおける目標復旧時点の決定方法
JP2020518059A (ja) * 2017-04-28 2020-06-18 ベリタス テクノロジーズ エルエルシー バックアップ失敗後のバックアップ性能の改善
JP7041168B2 (ja) 2017-04-28 2022-03-23 ベリタス テクノロジーズ エルエルシー バックアップ失敗後のバックアップ性能の改善

Also Published As

Publication number Publication date
US20070115738A1 (en) 2007-05-24
US20090024871A1 (en) 2009-01-22

Similar Documents

Publication Publication Date Title
JP2007141043A (ja) ストレージシステムにおける障害管理方法
JP4704893B2 (ja) 計算機システム及び管理計算機とストレージシステム並びにバックアップ管理方法
JP5021929B2 (ja) 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
JP4800046B2 (ja) ストレージシステム
JP5224240B2 (ja) 計算機システム及び管理計算機
JP4321705B2 (ja) スナップショットの取得を制御するための装置及び記憶システム
JP4668763B2 (ja) ストレージ装置のリストア方法及びストレージ装置
JP4405509B2 (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
US7725776B2 (en) Method for displaying pair state of copy pairs
US7979905B2 (en) Storage system, virus infection spreading prevention method, and virus removal support method
JP4483342B2 (ja) システム復旧方法
US8661215B2 (en) System and method of acquiring and copying snapshots
US8103840B2 (en) Snapshot mechanism and method thereof
JP2004287648A (ja) 外部記憶装置及び外部記憶装置のデータ回復方法並びにプログラム
JP2007280323A (ja) 記憶システム及びデータ管理方法
JP2006525599A (ja) フラッシュバックデータベース
JP2006514374A (ja) 障害からデータ・リポジトリを回復するための方法、データ処理システム、回復コンポーネント、記録媒体およびコンピュータ・プログラム
JP2008171387A (ja) 継続的データ保護を備えたバックアップシステム
JP2005242403A (ja) 計算機システム
US20090013012A1 (en) Journal management method in cdp remote configuration
JP2008077264A (ja) Cdpを用いたリカバリ方法
JP2007219609A (ja) スナップショット管理装置及び方法
JP2007200114A (ja) データベース回復方法及び計算機システム
US20110282843A1 (en) Method and system for data backup and replication
JP2008507777A (ja) データレプリカのリモート記憶

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111004