JP4877921B2 - ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法 - Google Patents

ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法 Download PDF

Info

Publication number
JP4877921B2
JP4877921B2 JP2006015880A JP2006015880A JP4877921B2 JP 4877921 B2 JP4877921 B2 JP 4877921B2 JP 2006015880 A JP2006015880 A JP 2006015880A JP 2006015880 A JP2006015880 A JP 2006015880A JP 4877921 B2 JP4877921 B2 JP 4877921B2
Authority
JP
Japan
Prior art keywords
data
file
search
restoration
storage
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.)
Active
Application number
JP2006015880A
Other languages
English (en)
Other versions
JP2007199889A (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 JP2006015880A priority Critical patent/JP4877921B2/ja
Priority to US11/369,943 priority patent/US7617255B2/en
Priority to EP06253549A priority patent/EP1814034A3/en
Publication of JP2007199889A publication Critical patent/JP2007199889A/ja
Application granted granted Critical
Publication of JP4877921B2 publication Critical patent/JP4877921B2/ja
Active 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

Description

本発明は、ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法に関する。
日々増大する多量のデータを効率的に管理するために、複数のコンピュータによって分散管理されている多数のデータを一カ所にまとめて管理するストレージシステムが利用されている。ここで、ユーザが誤ってデータを消去した場合等に備えて、ジャーナルデータを管理しておき、ジャーナルデータによって任意の時点までユーザデータを回復させる技術が知られている(特許文献1)。
特開2005−18738号公報
前記文献記載の従来技術では、データの回復を希望する時点をユーザが明確に把握している場合に有効であるが、回復を希望する時点をユーザが把握していない場合には、使い勝手が低い。ユーザが、回復を希望する時点を明確に認識している場合、その明示された回復希望時点までユーザデータを回復させることは容易である。
しかし、いったい何時の時点にデータを回復させれば良いのか、ユーザに見当のつかない場合も多い。今まで作業していたファイルを誤って消去してしまったような場合を除き、普段あまり使用しないファイルをユーザの希望する時点まで回復させるのは、手間がかかる。ボリュームを指定された時点に回復させるためには、基準となるデータ群に多数のジャーナルデータを順番に適用しなければならない。
ユーザは、希望する結果が得られるまで、回復時点を適当に繰り返し指定しながら、ボリューム全体の回復作業を何度も実行させる必要がある。このように、ユーザが、回復させたい内容について見当がつく場合でも、それが具体的に何時なのかまでを把握していることは少ない。従って、ユーザは、希望する結果が得られるまで、複数回の回復作業を実行させて、その結果を確認する必要があり、使い勝手が低い。
本発明は、上記の問題点に鑑みてなされたもので、その目的は、ユーザの希望条件を満たす時点を比較的容易に検出することができるようにしたストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法を提供することにある。本発明の他の目的は、ユーザの希望条件を満たす時点をユーザに提示し、ユーザに指定された時点までデータボリュームの記憶内容を回復させることができるようにしたストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法を提供することにある。本発明の別の目的は、後述の実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明の一つに観点に従うストレージシステムは、ホストコンピュータと、このホストコンピュータにデータボリュームを提供する記憶制御装置とを備えたストレージシステムであって、ホストコンピュータは、少なくとも復元対象範囲及び検索条件を指定する検索要求を発行する検索要求発行部を備えており、記憶制御装置は、データボリュームの更新履歴を管理するための更新履歴管理部と、検索要求を受領した場合には、データボリュームに記憶されているデータのうち復元対象範囲内のデータを、更新履歴毎に復元して、一時的復元領域に記憶させる第1復元部と、一時的復元領域内に復元されたデータが検索条件に合致するか否かを判定し、復元されたデータが検索条件に連続して合致する期間を検出してホストコンピュータに通知する検索部と、を備える。
本発明の実施形態では、ホストコンピュータは、検索部から通知された期間に含まれる所定時点を指定して、データボリュームの記憶内容を所定時点の状態に復元させるための復元要求を発行する復元要求発行部をさらに備え、記憶制御装置は、復元要求を受領した場合に、更新履歴を使用することにより、データボリュームの記憶内容を所定時点の状態に復元させる第2復元部をさらに備えている。
本発明の実施形態では、更新履歴管理部は、データボリュームの記憶内容を、指定された複数の世代毎にそれぞれ管理しており、第1復元部は、検索要求に復元対象期間が含まれている場合には、データボリュームのうち復元対象期間内における復元対象範囲内のデータを、更新履歴毎に復元して、一時的復元領域に記憶させる。
本発明の実施形態では、ホストコンピュータは、一時的復元領域内に復元されたデータにアクセス可能である。
本発明の実施形態では、記憶制御装置は、一時的復元領域内に復元されたデータをホストコンピュータに送信可能である。
本発明の実施形態では、検索部は、一時的復元領域内に復元されたデータが検索条件に初めて合致する始期及び検索条件に最後に合致する終期を、前記期間としてホストコンピュータに通知する。
本発明の実施形態では、検索部は、一時的復元領域内に復元されたデータが検索条件に連続して合致する期間を複数検出した場合、これら複数の期間を全てホストコンピュータに通知する。
本発明の実施形態では、第1復元部は、検索要求内に復元対象範囲が複数指定されている場合には、これら複数の復元対象範囲毎にそれぞれ一時的復元領域を用意し、複数の復元対象範囲内のデータをそれぞれ復元させる。
本発明の実施形態では、更新履歴管理部は、ホストコンピュータがデータボリュームに更新を行うたびに、更新前のデータを更新時刻に対応付けて管理する。
本発明の実施形態では、更新履歴管理部は、定期的に又は不定期に指定される少なくとも一つ以上のチェックポイントにおいて、データボリュームの記憶内容のイメージを記憶すると共に、チェックポイントから次のチェックポイントまでの間に行われた更新履歴を管理する。
本発明の実施形態では、更新履歴管理部は、ファイル単位で更新履歴を管理しており、復元対象範囲は、ファイル単位で指定可能である。
本発明の実施形態では、更新履歴管理部は、ファイル単位で更新履歴を管理しており、復元対象範囲は、ファイルのパス情報によってファイル単位で指定可能である。
本発明の実施形態では、更新履歴管理部は、ファイル単位で更新履歴を管理しており、復元対象範囲は、ファイルのパス情報に基づくハッシュ値によってファイル単位で指定可能である。
本発明の実施形態では、復元対象範囲は、論理ユニット番号とオフセット論理ブロックアドレス及びデータサイズによって指定可能である。
本発明の実施形態では、記憶制御装置は、ホストコンピュータからファイル単位でのアクセス要求を受け付けて、このファイル単位のアクセス要求をブロック単位の入出力要求に変換する第1コントローラと、この第1コントローラから入力されたブロック単位の入出力要求に基づいて、複数の記憶ドライブとの間でデータを送受信する第2コントローラとを備えており、第1コントローラには、第1復元部と、検索部と、第1復元部が更新履歴管理部により管理されている更新履歴を取得するための更新履歴取得部と、一時的復元領域とが設けられており、第2コントローラには、更新履歴管理部が設けられている。
本発明の他の観点に従う記憶制御装置は、ホストコンピュータにデータボリュームを提供する記憶制御装置であって、データボリュームの更新履歴を管理するための更新履歴管理部と、ホストコンピュータから少なくとも復元対象範囲及び検索条件を含む検索要求を受領した場合には、データボリュームのうち復元対象範囲内のデータを、更新履歴毎に復元して、一時的復元領域に記憶させる第1復元部と、一時的復元領域内に復元されたデータが検索条件に合致するか否かを判定し、復元されたデータが検索条件に連続して合致する期間を検出してホストコンピュータに通知する検索部と、を備える。
本発明のさらに別の観点に従う記憶制御装置は、ホストコンピュータにデータボリュームを提供する記憶制御装置であって、コントローラと、このコントローラによって制御され、データボリュームを設けるための記憶領域を提供する記憶ドライブとを備え、コントローラは、ホストコンピュータからのファイルアクセス要求に従って、データボリュームへのファイルアクセスを行うアクセス要求処理部と、ホストコンピュータがデータボリュームに記憶されたファイルの更新を要求した場合には、更新前のデータをジャーナルボリュームに記憶させ、さらに、その更新時刻及び更新前のデータがジャーナルボリュームに記憶されている位置をジャーナル管理情報として記憶することにより、更新履歴を管理するジャーナル作成処理部と、ホストコンピュータから少なくとも復元対象のファイルを特定する情報及び該復元対象のファイルが満たすべき検索条件を含む検索要求が発行された場合には、データボリュームに記憶されているファイル群のうち復元対象のファイルを、ジャーナル管理情報及びジャーナルボリュームに基づいて、更新履歴毎に復元し、この復元されたデータを一時的復元領域に記憶させる第1復元部と、一時的復元領域に復元されたファイルが検索条件に合致するか否かを判定し、復元されたファイルが検索条件に連続して合致する期間を検出してホストコンピュータに通知する検索部と、ホストコンピュータが、検索条件に連続して合致する期間に含まれる所定時点を指定してデータボリュームの記憶内容の復元を要求した場合には、ジャーナル管理情報及びジャーナルボリュームに基づいて、データボリュームの記憶内容を所定時点の状態に復元させる第2復元部と、を備える。
本発明の他の実施形態では、ホストコンピュータは、所定の場合に、検索要求を発行するものであり、所定の場合には、復元対象のファイルがコンピュータウイルスに感染した場合、復元対象のファイルが消失した場合、復元対象のファイルが更新された場合の、少なくともいずれか一つが含まれている。
本発明のさらに他の観点に従う記憶制御装置のリカバリポイント検出方法は、ホストコンピュータにデータボリュームを提供する記憶制御装置を用いてリカバリポイントを検出する方法であって、ホストコンピュータから少なくとも復元対象範囲及び検索条件を含む検索要求が発行されたか否かを判定する第1ステップと、第1ステップにより検索要求が発行されたと判定された場合には、記憶領域内に一時的復元領域を確保する第2ステップと、ホストコンピュータによるデータボリュームへの更新の履歴を管理する更新履歴情報を古い履歴から順番に取得し、この取得された更新履歴情報に関するデータが、復元対象範囲に含まれるか否かを判定する第3ステップと、取得された更新履歴情報に関するデータが復元対象範囲に含まれる場合には、更新履歴情報に関するデータを更新データ管理用ボリュームから読み出して一時的復元領域に記憶させる第4ステップと、一時的復元領域に記憶されたデータが検索条件に合致するか否かを判定する第5ステップと、一時的復元領域に記憶されたデータが検索条件に合致する場合には、当該データが更新された更新時刻を更新時刻記憶領域に記憶させる第6ステップと、更新時刻記憶領域に記憶された更新時刻を読み出し、この更新時刻をリカバリポイントとしてホストコンピュータに送信する第7ステップと、を含む。
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
図1は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態のストレージシステムは、それぞれ後述するように、ホストコンピュータ(以下「ホスト」)1と、記憶制御装置2とを備えている。
ホスト1は、例えば、サーバコンピュータやパーソナルコンピュータ等のように構成されるもので、通信ネットワークCNを介して、記憶制御装置2に双方向通信可能に接続されている。また、ホスト1は、例えば、アプリケーションプログラム1Aと、リカバリポイント検索要求発行部1Bと、リカバリ指示部1Cとを備えて構成可能である。
アプリケーションプログラム1Aは、例えば、データベース、電子メール管理プログラム、顧客管理プログラム、売上管理プログラム等のように、ユーザの各種業務に使用されるプログラムである。
リカバリポイント検索要求発行部(以下「検索要求発行部」と略す場合がある)1Bは、「検索要求発行部」に該当する。検索要求発行部1Bは、ユーザの希望するリカバリポイントを検索させるための検索要求D1を発行するものである。この検索要求D1には、例えば、リカバリ対象の範囲、リカバリ対象の期間、検索条件が含まれている。検索要求発行部1Bは、ユーザの希望するリカバリポイントを調査させるための要求を発行するものである。従って、検索要求発行部1Bは、例えば、「リカバリポイント調査要求部」と呼ぶこともできる。
リカバリ対象範囲としては、例えば、ファイル単位(ファイルにはディレクトリも含まれる)、ブロックデータ単位を挙げることができる。ユーザは、所望のファイル名をリストア対象として指定することにより、そのファイルについてのみ一時的にリストアさせて、リカバリポイントを調査させることができる。
リカバリ対象期間としては、更新履歴の管理単位を指定することができる。例えば、一日単位、一週間単位、一ヶ月単位等のような管理単位で、ユーザデータボリュームV1の更新履歴が管理されている場合、ユーザは、所望の期間または所望の日時を指定して、リカバリポイントの調査を要求することができる。
検索条件としては、例えば、キーワードやタイムスタンプ、ファイルの内容全体等の条件を挙げることができる。例えば、ユーザは、所定のキーワードを有する事を検索条件として指定することにより、リストア対象のファイルが所定のキーワードを含んでいる期間(リカバリポイント候補)を確認することができる。
リカバリ指示部1Cは、「復元要求発行部」に該当する。リカバリ指示部1Cは、リカバリポイントの検索結果(リカバリポイント候補)D2からいずれかのリカバリポイントを指定し、ユーザデータボリュームV1の記憶内容を復元させるものである。
記憶制御装置2は、例えば、ディスクアレイ装置のように構成される。記憶制御装置2は、例えば、R/W処理部2Aと、ジャーナル作成処理部2Bと、部分リストア処理部2Cと、検索処理部2Dと、リストア処理部2Eと、ユーザデータボリュームV1と、ジャーナルボリュームV2と、一時リストア領域V3と、リストア用ボリュームV4とを備えて構成することができる。
R/W処理部2Aは、ホスト1からのアクセス要求(リード要求及びライト要求)を処理するものである。ホスト1からリード要求が発行されると、R/W処理部2Aは、要求されたデータをユーザデータボリュームV1から読み出して、ホスト1に送信する。ホスト1からライト要求が発行されると、R/W処理部2Aは、ライトデータをユーザデータボリュームV1に書き込ませる。
ジャーナル作成処理部2Bは、「更新履歴管理部」に該当する。ジャーナル作成処理部2Bは、ユーザデータボリュームV1への更新履歴を管理するためのものである。ジャーナル作成処理部2Bは、ホスト1からライト要求が発行されたびに、ジャーナルデータをそれぞれ生成し、このジャーナルデータをジャーナルボリュームV2に記憶させる。例えば、ジャーナル作成処理部2Bは、更新前のデータをジャーナルボリュームV2に退避させると共に、このデータの退避時刻(即ち、更新時刻)と退避場所(ジャーナルボリュームV2における格納先アドレス)とを対応付けて管理する。
部分リストア処理部2Cは、「第1復元部」に該当する。部分リストア処理部2Cは、検索要求発行部1Bから発行された検索要求D1に基づいて、ユーザデータボリュームV1の記憶内容を部分的に復元させるものである。即ち、部分リストア処理部2Cは、検索要求D1中のリストア対象範囲に属するデータについてのみ、更新履歴毎に復元させ、その復元結果を一時リストア領域V3に記憶させる。例えば、リストア対象範囲として特定のファイルが指定されている場合、部分リストア処理部2Cは、履歴管理上の最古の状態、次の更新時の状態、さらに次の更新時の状態、履歴管理上の最新状態のように、その特定のファイルに関する各更新履歴毎に復元させる。
検索処理部2Dは、「検索部」に該当する。検索処理部2Dは、一時リストア領域V3に記憶された復元データについて、検索要求D1中の検索条件に合致するデータの更新時刻を検出する。検索処理部2Dは、検索条件に合致するデータの更新時刻に基づいて、リカバリポイント候補リストD2を作成し、ホスト1に送信する。検索処理部2Dは、リカバリ対象のファイルが検索要求D1中の検索条件に合致し続ける期間を特定し、この特定された期間をリカバリポイント候補リストD2として、ホスト1に通知する。
リストア処理部2Eは、「第2復元部」に該当する。リストア処理部2Eは、リカバリ指示部1Cによって指定されたリカバリポイントまで、ユーザデータボリュームV1の記憶内容を復元させる。リストア処理部2Eは、ユーザデータボリュームV1の記憶内容に、ジャーナルボリュームV2で管理されているジャーナルデータを順番に適用し、この適用結果をリストア用ボリュームV4に記憶させる。これにより、リストア用ボリュームV4には、指定されたリカバリポイントの記憶内容が復元される。そして、ホスト1のアクセス先をユーザデータボリュームV1からリストア用ボリュームV4に切り替えさせることにより、ホスト1のアプリケーションプログラム1Aは、ユーザの希望する時点に回復されたデータを利用することができる。
記憶制御装置2は、その筐体の内外いずれか又は両方に、複数の記憶ドライブを備えている(図2参照)。各記憶ドライブは、例えば、ハードディスクドライブや半導体メモリドライブ等のように構成される。各記憶ドライブの有する記憶領域を所定数集めることにより、仮想化された物理的な記憶デバイスを得ることができる。そして、この物理的な記憶デバイスに、論理的な記憶デバイスである各ボリュームV1,V2,V3,V4をそれぞれ設けることができる。
ユーザデータボリュームV1は、アプリケーションプログラム1Aによって利用されるユーザデータを記憶するものである。ジャーナルボリュームV2は、ユーザデータボリュームV1に対する更新履歴をジャーナルデータとして保存するものである。
一時リストア領域V3は、部分リストア処理部2Cによる部分的なリストア処理に使用されるものである。なお、一時リストア領域V3は、記憶ドライブの記憶領域を利用して生成することもできるし、記憶制御装置2が有するメモリの記憶領域を利用して生成することもできる。リストア用ボリュームV4は、リストア処理部2Eによって利用されるものである。リストア用ボリュームV4には、ユーザにより指定されたリカバリポイントにおけるユーザデータボリュームV1の記憶内容が再現される。
次に、本実施形態の作用を説明する。アプリケーションプログラム1AがユーザデータボリュームV1のデータを更新させると、ジャーナル作成処理部2Bは、この更新履歴を保管するためのジャーナルデータを生成する。生成されたジャーナルデータは、ジャーナルボリュームV2に記憶される。
ここで、ユーザが、過去の所定時点における記憶内容を希望する場合がある。例えば、ユーザが誤って必要なファイルを消去してしまうことがある。もしも、ユーザが、回復させるべきタイミング(ポイント)を明確に認識しているのであれば、そのタイミングをリカバリポイントとして指定し、リストア処理部2Eによってリストアさせればよい。
これに対し、ユーザが回復させるべきタイミングを明確に把握していない場合、ユーザは、別の情報を手がかりとして、回復させるべきタイミングを記憶制御装置2に調査させることができる。
即ち、ユーザは、リカバリ対象範囲(回復を希望するファイルの名称等)、リカバリ対象期間(リカバリポイントの調査期間)、検索条件を指定することにより、リカバリポイントの調査を要求することができる。このリカバリポイントの調査要求は、検索要求D1として記憶制御装置2に与えられる。
部分リストア処理部2Cは、ユーザデータボリュームV1の全体をリストアするのではなく、ユーザから指定されたファイルについてのみ、そのファイルの更新履歴毎にそれぞれリストアする。
リストアされた各ファイルは、一時リストア領域V3に記憶される。検索処理部2Dは、リストアされた各ファイルについて検索条件を満たすか否か判定し、検索条件に合致する期間を特定する。そして、検索処理部2Dは、検索条件に合致する期間をリカバリポイント候補リストD2として、ホスト1に報告する。ユーザは、報告されたリカバリポイント候補リストD2の中から、所望の時点をリカバリポイントとして選択し、リストア処理部2Eにリストアを要求することができる。リストア処理部2Eは、ユーザから指示されたリカバリポイントまで、ユーザデータボリュームV1の記憶内容を回復させる。
一例を挙げて説明する。例えば、ユーザが、「2005年下期報告書」という名称の文書ファイルを誤って削除してしまったとする。ユーザは、その文書ファイルの所属先ディレクトリ名が「ビジネス関係」であることは見当がついているが、その文書ファイルをいつ削除したのかまでは覚えていないとする。
この場合、ユーザは、「ビジネス関係」というディレクトリ名をリストア対象範囲に、「2005年上期報告書」というファイル名を含む事を検索条件に、それぞれ指定する。これにより、検索要求発行部1Bは、検索要求D1を発行させる。
部分リストア処理部2Cは、ユーザデータボリュームV1に記憶されている多数のファイルのうち、リストア対象範囲として指定された「ビジネス関係」というディレクトリに含まれるファイル群のみを、その更新履歴毎にそれぞれリストアさせる。リストアされたファイル群は、一時リストア領域V3に記憶される。
検索処理部2Dは、一時リストア領域V3に記憶されたファイル群のうち、「2005年上期報告書」というキーワードを含むファイルのみを検出する。そして、検索処理部2Dは、「2005年上期報告書」というキーワードを含むファイルが2005年10月1日に初出現し、2005年11月30日が最終出現であったことを検出することができる。検索処理部2Dは、この初出現の時点から最終出現の時点までをリカバリポイント候補リストD2として、ホスト1に報告する。
ユーザは、リカバリポイント候補リストD2を参照することにより、初出現時点から最終出現時点までの間のいずれかの時点をリカバリポイントとして指定し、ユーザデータボリュームV1のリストアを命じることができる。これにより、リストア処理部2Eは、ユーザの希望する時点の記憶内容をリストア用ボリュームV4に再現させる。
なお、後述の実施例に示すように、例えば、ユーザデータボリュームV1の全体をリストアさせる必要が無い場合、記憶制御装置2は、一時リストア領域V3に記憶されたファイルをホスト1に提供することもできる。
本実施形態では、このように構成されるため、リカバリさせるべきポイントをユーザが認識していない場合でも、ユーザが覚えている僅かな情報を手かがりとして、適切なリカバリポイントの候補を提示することができる。従って、ユーザは、試行錯誤しながらユーザデータボリュームV1の全体をリストアさせる必要がなく、比較的簡単かつ速やかに、所望のファイルを入手することができ、使い勝手が向上する。以下、本実施形態を詳細に説明する。
本発明の実施形態を詳細に説明する。図2は、ストレージシステムのハードウェア構成を簡略化して示す構成説明図である。このストレージシステムは、ホスト10と記憶制御装置20とを備えている。ホスト10と記憶制御装置20とは、例えば、スイッチ30を有する通信ネットワークCN1を介して、双方向通信可能に接続されている。
通信ネットワークCN1としては、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)を用いるLAN(Local Area Network)、FCP(Fibre Channel Protocol)を用いるSAN(Storage Area Network)等を挙げることができる。また、中継装置としてのスイッチ30を省略して、ホスト10と記憶制御装置20とを直接的に接続することもできる。
ホスト10は、例えば、CPU(Central Processing Unit)11,メモリ12,通信インターフェース(図中「I/F」)13,ユーザインターフェース(図中「UI」)14を備えたコンピュータ装置として構成される。
メモリ12は、例えば、ROM(Read Only Memory),RAM(Random Access Memory)、ローカルディスク等を含んで構成可能である。メモリ12には、例えば、OS(Operating System)やアプリケーションプログラム等のような各種プログラムが記憶される。CPU11は、メモリ12に記憶されたプログラムを読み出して実行することにより、各プログラムの機能を実現させる。ユーザインターフェース14は、例えば、ディスプレイ装置やスピーカー等の情報出力装置と、キーボードスイッチやポインティングデバイス、マイクロフォン等の情報入力装置とを備えることができる。
記憶制御装置20は、ファイルコントローラ100,ブロックコントローラ200,ディスクエンクロージャ300を備えて構成することができる。なお、後述の実施例に示すように、ファイルコントローラ100とブロックコントローラ200とを一つのコントローラに統合させることもできる。
ファイルコントローラ100は、「コントローラ」または「第1コントローラ」に対応する。ファイルコントローラ100は、ファイル単位でのデータ入出力を管理するコンピュータ装置として構成される。ファイルコントローラ100は、通信経路CN2を介して、ブロックコントローラ200と双方向通信可能に接続されている。この通信経路CN2は、例えば、FCPを用いるファイバケーブル(SAN)のように構成される。
ファイルコントローラ100は、例えば、MPU(Micro Processing Unit)110,メモリ120,フロントエンドインターフェース(以下、インターフェースを「I/F」と略記する場合がある)130,バックエンドI/F140及びメモリコントローラ150を備えて構成される。
メモリ120は、例えば、ROMやRAM等の半導体メモリから構成することができ、MPU110によって実行される各種プログラムを記憶している。また、メモリ120には、キャッシュ領域も備えており、このキャッシュ領域は、ホスト10やブロックコントローラ200との間のデータ通信等に使用される。
フロントエンドI/F130は、ホスト10との間で、ファイルレベルのデータ通信(ファイル単位のデータ通信)を行うものである。バックエンドI/F140は、ブロックコントローラ200との間で、ブロックレベルのデータ通信(ブロック単位のデータ通信)を行うものである。メモリコントローラ150は、MPU110,各フロントエンドI/F130,各バックエンドI/F140,メモリ120を互いに接続させるように、内部の通信経路を制御する。
ホスト10からフロントエンドI/F130を介して受信したライトデータは、メモリ120にいったん記憶される。そして、バックエンドI/F140は、ライトデータの書込み先アドレスを論理ブロックアドレス(LBA)に変換した後、ライトデータをブロックコントローラ200に送信する。なお、アドレス変換をフロントエンドI/F130で行った後で、メモリ120に記憶させてもよい。また、アドレス変換をMPU110が行う構成でもよい。
ブロックコントローラ200からバックエンドI/F140を介して受信されたブロックデータは、メモリ120にいったん記憶される。そして、フロントエンドI/F130は、論理ブロックアドレスをファイルレベルのアドレスに変換してファイルデータとしてまとめ、このデータをホスト10に送信する。なお、ブロックデータからファイルデータへの変換をバックエンドI/F140で行ってから、メモリ120に記憶させてもよい。また、ファイルデータへの変換処理をMPU210で行ってもよい。
ブロックコントローラ200は、「コントローラ」または「第2コントローラ」に対応する。ブロックコントローラ200は、通信経路CN3を介して、ディスクエンクロージャ300と双方向通信可能に接続される。この通信経路CN3は、CN2と同様に、FCPを用いたファイバケーブル(SAN)のように構成される。
ブロックコントローラ200は、ブロック単位でのデータ入出力を管理するコンピュータ装置である。ブロックコントローラ200は、ファイルコントローラ100と同様に、例えば、MPU210,メモリ220,フロントエンドI/F230,バックエンドI/F240及びメモリコントローラ250を備えて構成することができる。
メモリ220には、MPU210によって実行される各種プログラムが記憶されている。また、前記メモリ120と同様に、メモリ220は、キャッシュ領域も備えている。このキャッシュ領域は、ファイルコントローラ100やディスクエンクロージャ300との間のデータ授受に使用される。
フロントエンドI/F230は、ファイルコントローラ100との間でブロックレベルのデータ通信を行うものである。バックエンドI/F240は、ディスクドライブ310との間でブロックレベルのデータ通信を行うものである。メモリコントローラ250は、MPU210,各フロントエンドI/F230,各バックエンドI/F240,メモリ220を互いに接続させるように、内部の通信経路を制御する。
ファイルコントローラ100からフロントエンドI/F230を介して受信されたライトデータは、メモリ220にいったん記憶される。そして、バックエンドI/F240は、ライトデータの論理ブロックアドレスを各ディスクドライブ310の物理アドレスに変換し、所定のディスクドライブ310に書き込ませる。ディスクドライブ310から読み出されたデータは、バックエンドI/F240によって論理ブロックアドレスに変換され、メモリ220に記憶される。フロントエンドI/F230は、そのデータをメモリ220から読み出し、ファイルコントローラ100に転送する。
ディスクエンクロージャ300は、例えば、「記憶装置」または「ディスクアレイ記憶装置」等のように表現可能である。ディスクエンクロージャ300は、アレイ状に配設された複数のディスクドライブ310を備えている。これらディスクドライブ310は、「記憶デバイス」に該当する。
ディスクドライブ310は、例えば、ハードディスクドライブ、半導体メモリドライブ、光ディスクドライブ、光磁気ディスクドライブ、磁気テープドライブ等のような種々の記憶デバイスとして構成可能である。また、ハードディスクドライブの場合、例えば、FC(Fibre Channel)ディスク、SATA(Serial AT Attachment)ディスク、SCSI(Small Computer System Interface)ディスクのように、種々の種類のハードディスクドライブを利用することができる。さらに、ディスクエンクロージャ300内に、異なる種類の記憶デバイスを混在させることもできる。
例えば、4台や8台等のような所定数のディスクドライブ310によって、一つのグループが構成される。このグループをRAIDグループまたはパリティグループと呼ぶ。RAIDグループに参加する各ディスクドライブ310は、それぞれ物理的な記憶領域を提供し、これら物理的な記憶領域の集合体が形成される。従って、RAIDグループは、物理的記憶デバイスと呼ぶこともできる。RAIDレベルによっても相違するが、グループに参加する各ディスクドライブ310のうち、一つまたは複数のディスクドライブ310は、パリティデータの格納に使用される。
RAIDグループの物理的記憶領域には、一つまたは複数の論理ボリュームを設定することができる。論理ボリュームは、ファイルコントローラ100のフロントエンドI/F130が有するポートに割り当てられ、ホスト10によってアクセスされる対象となる。論理ボリュームは、論理的記憶デバイスと呼ぶことができる。
ストレージシステムの機能構成を説明する前に、図3,図4を参照して、ファイルコントローラ100とブロックコントローラ200等との配置関係を説明する。図3(a)に示すように、一つの制御用筐体内にファイルコントローラ100及びブロックコントローラ200を設け、ディスクエンクロージャ300は別筐体として構成し、これら各筐体間をファイバケーブル等で接続することができる。
図3(b)に示すように、同一筐体内に、ファイルコントローラ100,ブロックコントローラ200及びディスクエンクロージャ300をそれぞれ設けてもよい。図3(c)に示すように、ファイルコントローラ100を記憶制御装置20の筐体から分離させ、ファイルコントローラ100とブロックコントローラ200及びディスクエンクロージャ300をネットワークを介して接続してもよい。
図4(d)に示すように、ファイルコントローラ100を記憶制御装置20の筐体から分離し、スイッチ30内にファイルコントローラ100を設けてもよい。また、図4(e)に示すように、ファイルコントローラ100をホスト10内に設けてもよい。
図5を参照して、ストレージシステムの機能構成を説明する。ホスト10は、例えば、アプリケーションプログラム410と、リカバリポイント検索用インターフェース(以下、検索用インターフェースと略記する場合がある)420とを備えている。アプリケーションプログラム410は、図1中のアプリケーションプログラム1Aに対応する。アプリケーションプログラム410としては、例えば、データベースや顧客管理プログラム、文書作成プログラム等を挙げることができる。
検索用インターフェース420は、図1中のリカバリポイント検索要求発行部1B及びリカバリ指示部1Cに対応する。検索用インターフェース420は、リカバリポイントの調査を記憶制御装置20に指示すると共に、選択したリカバリポイントを指定してリカバリを命じることができる。リカバリポイントの調査は、検索要求600として、記憶制御装置20に与えられる。この検索要求600は、図1中の検索要求D1に対応する。また、リカバリポイントの調査結果は、リカバリポイントの候補リスト700として、ホスト10に送信される。この候補リスト700は、図1中の候補リストD2に対応する。
ファイルコントローラ100は、例えば、ファイルR/W処理部430,部分リストア処理部440,データ検索処理部450,ジャーナルリード機能460及び一時リストア領域540を、備えている。
ファイルR/W処理部430は、ホスト10からのアクセス要求に応じて、ファイルレベルのデータ読み書きを行うためのものである。部分リストア処理部440は、検索要求600で示されたリカバリ対象のファイルについてのみ更新履歴毎にそれぞれリストアし、リストアしたファイルを一時リストア領域540に記憶させる。データ検索処理部450は、一時的にリストアされた特定のファイル群について、検索要求600中の検索条件に合致するか否かを検査する。データ検索処理部450は、検索条件に合致する期間を特定し、この特定された期間をリカバリポイント候補リスト700として、ホスト10に送信する。ジャーナルリード機能460については、後述する。
一時リストア領域540は、「一時的復元領域」に該当し、図1中の一時リストア領域V3に対応する。この一時リストア領域540は、ユーザデータボリューム510の全範囲のうち、リカバリ対象として指定された範囲についての一時的なリストアを行うために使用される。一時リストア領域540は、上述の論理ボリュームとして構成することもできるし、ファイルコントローラ100のメモリ120内に仮想的なボリュームとして設けることもできる。
ブロックコントローラ200は、例えば、ブロックR/W処理部470,ジャーナル作成処理部480,リストア処理部490及びジャーナルアクセス機能461を備えることができる。ブロックR/W処理部470は、ブロックレベルのデータ読み書きを行うものである。ジャーナル作成処理部480は、ユーザデータボリューム510に記憶されているデータが更新された場合に、ジャーナルデータを作成して管理するものである。ジャーナルデータは、ジャーナルボリューム520に記憶される。リストア処理部490は、検索用インターフェース420から指示されたリカバリポイントまで、ユーザデータボリューム510の記憶内容を復元させるものである。復元された記憶内容は、リストア用ボリューム530に記憶される。
ジャーナルリード機能460及びジャーナルアクセス機能461は、ファイルコントローラ100がジャーナルボリューム520からジャーナルデータを取得するために設けられた機能である。ファイルコントローラ100内のジャーナルリード機能460は、ブロックコントローラ200内のジャーナルアクセス機能461を介して、ジャーナルボリューム520にアクセスすることができる。部分リストア処理部440は、ジャーナルリード機能460及びジャーナルアクセス機能461を介して、ジャーナルボリューム520から所定のジャーナルデータを取得し、部分的なリストアを行う。ジャーナルリード機能460及びジャーナルアクセス機能461は、例えば、「ファイルコントローラがジャーナルデータをブロックコントローラを介して取得するためのジャーナルデータ取得機能(取得部)」と呼ぶことができる。
ディスクエンクロージャ300は、例えば、ユーザデータボリューム510と、ジャーナルボリューム520及びリストア用ボリューム530を備えている。ユーザデータボリューム510は、「データボリューム」に該当し、図1中のユーザデータボリュームV1に対応する。ジャーナルボリューム520は、「ジャーナルボリューム」または「更新データ管理用ボリューム」に対応し、図1中のジャーナルボリュームV2に対応する。リストア用ボリューム530は、ユーザデータボリューム510の全体を、ユーザから指定されたリカバリポイントの状態に回復させるために使用される。
図6を参照して、ジャーナルボリューム520の構成を説明する。ジャーナルボリューム520は、ジャーナルレコード領域521と、データ領域522とに大別される。ジャーナルレコード領域521は、ジャーナルデータを管理するための管理領域である。データ領域522は、ジャーナルデータを記憶するための領域である。
ジャーナルレコード領域521の構成例を、図6中に表形式で示す。ジャーナルレコード領域521は、ユーザデータボリューム510の一回のデータ更新毎に、例えば、ジャーナル識別子と、記録日時と、パス名と、オフセットと、サイズと、データ記憶位置とを対応付けることにより、構成される。
ジャーナル識別子とは、記憶制御装置20内でデータ更新を一意に特定するための識別情報である。ジャーナル識別子は、例えば、連続番号あり、ユーザデータボリューム510が更新されるたびに、その番号が1つずつ増加する。記録日時とは、ジャーナルデータがジャーナルボリューム520に記憶された日時、即ち、ユーザデータボリューム510へのデータ更新が行われた日時を示す情報である。
パス名とは、更新されたファイルを特定するためのファイル識別情報である。パス名は、ルートディレクトリ(トップディレクトリ)から、更新されたファイルに辿り着くためのファイルシステム上の経路を示す。オフセットとは、そのファイルにおいて、更新されたデータの位置を示すアドレス情報である。サイズとは、更新されたデータのサイズを示す更新量情報である。データ記憶位置とは、更新されたデータ(更新される直前のデータ)がデータ領域522に記憶されている位置を示す格納先アドレス情報である。
図7は、ジャーナルデータを用いて、部分的なリストアを行う様子を模式的に示す説明図である。説明の便宜上、ここでは、リカバリ対象範囲として「FILE_D」が指定されているものとする。
部分リストア処理部440は、ジャーナルレコード領域521の先頭から終端に向けて、ジャーナルレコードの「パス名」を順番に検査していく。そして、ファイル名「FILE_D」に関するジャーナルレコードを発見した場合、そのデータ記憶位置を参照し、データ領域522からデータを読み出して一時リストア領域540に記憶させる。部分リストア処理部440は、読み出したデータを「オフセット」アドレスの位置に配置する。
図7に示す例では、ジャーナル識別子「0011」からデータ「B」が、ジャーナル識別子「0013」及び「0015」からそれぞれデータ「O」が、ジャーナル識別子「0016」からデータ「K」が、それぞれ読み出されて、一時リストア領域540にファイルのオフセットアドレスに従って配置される。これにより、一時リストア領域540には、「BOOK」という単語を有するファイル「FILE_D」が再現される。
一つ一つのジャーナルデータは、そのファイルについて更新されたデータのみを有するため、各ジャーナルデータそれ自体では、意味のあるキーワード等を発見することはできない。しかし、部分リストア処理部440によって、リカバリ対象として指定された目的のファイル単位で復元するため、後述のキーワード検索を行うことができる。
また、上述のように、部分リストア処理部440は、リカバリ対象として指定されたファイルについてのみ、ユーザデータボリューム510の内容を部分的にリストアする。この指定されたファイルが、ユーザデータボリューム510内の他のファイルと関連している場合でも、部分リストア処理部440は、ファイル間の関連性や依存関係を考慮することなく、リカバリ対象として指定された目的のファイルだけをリストアする。
なお、後述のように、検索要求600には、複数のリカバリ対象範囲を指定することができる。従って、特定のファイル間に関連性等がある場合、ユーザは、関連するファイルをそれぞれ指定して、それぞれリストアさせることもできる。
図8は、検索要求600の構成例を模式的に示す説明図である。図8(a)に示すように、検索要求600は、例えば、リカバリ対象範囲610と、リカバリ対象期間620と、検索条件630と、論理演算条件640とを備えることができる。なお、これ以外に、各検索要求600を識別するための検索要求識別情報や送信先アドレス等が設けられて、ホスト10から記憶制御装置20に送信される。
これら各情報610〜640の全てについて有意の値(有効な値、文字列)が設定されている必要はない。少なくともリカバリ対象範囲610及び検索条件630に意味のある値が設定されていればよい。その他の情報620,640は、それらを使用する場合に、有効な値が設定されていればよい。
リカバリ対象範囲610には、目的のファイル(ディレクトリを含む)を特定するためのパス名が設定される。リカバリ対象期間620は、後述の実施例で好適に用いられるもので、リカバリ対象のファイルの時期的条件を特定可能な場合に、その時期を示す値が設定される。検索条件630には、ユーザが選択または入力する任意の文字列やデータ、ファイルのタイムスタンプが設定される。論理演算条件640には、例えば、「AND」条件や「OR」条件等のような論理演算式が設定される。
図8(b)に示すように、リカバリ対象範囲610にファイルのパス名を設定し、検索条件630に任意のキーワードを設定することにより、検索要求600を生成することができる。このような検索要求600を発行することにより、目的のファイルが所定のキーワードを含んでいる時期を検出することができる。
図8(c)に示すように、リカバリ対象範囲610にディレクトリのパス名を設定し、検索条件630にファイル名を設定することもできる。このような検索要求600を発行することにより、所定のディレクトリ内に存在したはずの消失ファイルを検出することができる。
図8(d)に示すように、複数のリカバリ対象範囲610及び検索条件630のペアと、これらペア間の論理演算条件640とを設定することもできる。このような検索要求600を発行することにより、それぞれ異なるキーワードを含むファイル同士が所定の論理演算条件を満たしている期間を検出することができる。
図8(e)に示すように、複数のリカバリ対象範囲610とリカバリ対象期間620及び検索条件630のペアと、これらペア間の論理演算条件640とを設定してもよい。このような検索要求600を発行することにより、図8(d)で述べたと同様に、それぞれ異なるキーワードを含むファイル同士が所定の論理条件を満たしている期間を検出することができる。図8(e)に示す例では、リカバリ対象期間620を設定しているため、部分リストア処理部440による部分リストア処理の範囲を時期的に絞り込むことができ、より高速に部分リストア処理を行うことができる。
図9は、リカバリポイントの候補リスト700の構成例を示す説明図である。図9(a)に示すように、リカバリポイント候補リスト(以下、「候補リスト」と略す場合がある)700は、例えば、初出現時刻710と、最終出現時刻720とを含んで構成することができる。
初出現時刻710とは、リカバリ対象のファイルが検索条件を満たす最初のポイント(時点)を示す。最終出現時刻720とは、リカバリ対象のファイルが検索条件を最後に満たすポイントを示す。例えば、ある時刻Tfに作成されたファイルが時刻Tlに削除された場合、初出現時刻710はTfとなり、最終出現時刻720はTlとなる。一つの初出現時刻710と一つの最終出現時刻720とで、一つのペアを構成する。このペア710,720によって、リカバリ対象のファイルが検索条件を満たす期間が示される。
図9(b)に示すように、初出現時刻710及び最終出現時刻720は、西暦年月日及び時分秒の形式で表現することができる。この年月日時分秒の形式で表現することにより、ユーザは、直感的に理解することができる。
これに代えて、例えば、毎日所定量ずつカウントアップするカウンタタイマの値を用いてもよい。即ち、記憶制御装置20内のカウンタタイマの値を候補リスト700に設定することもできる。カウンタタイマの値を用いる場合でも、検索用インターフェース420に表示させる場合は、西暦年月日等の形式に変換することができる。
図9(c)に示すように、候補リスト700に、初出現時刻710及び最終出現時刻720のペアが複数含まれる場合もある。例えば、リカバリ対象のファイルが、ある時期に検索条件を満たした後、データ更新されて検索条件に合致しなくなり、さらに、その後のデータ更新によって再び検索条件を満たすような場合である。この場合、候補リスト700には、リカバリ対象のファイルが検索条件に合致する全ての期間が含まれる。
このように、候補リスト700は、初出現時刻710と最終出現時刻720とにより、リカバリ対象のファイルが検索条件を満たす始期(初出現時刻710)と終期(最終出現時刻720)とを特定し、検索条件に合致する期間を表現している。これにより、検索条件に合致する期間を比較的少ないデータ量で特定することができる。しかし、本発明はこれに限らず、リカバリ対象のファイルが検索条件に合致する全てのポイントを候補リスト700に含める構成でもよい。例えば、あるファイルが、時刻T1,T2,T3,T4,T5,...にそれぞれ更新され、このうち、時刻T1,T2,T3において、検索条件を満たしている場合、これらの時刻T1,T2,T3を全て候補リスト700に含むことができる。図9に示す例では、T1,T3のみが候補リスト700に含まれる。
図10は、リカバリポイント検索用インターフェース420がユーザに提供するユーザインターフェースの一例を示す説明図である。図10(a)は、リカバリポイント検索要求600を発行させるための画面G10である。この画面G10は、例えば、「リカバリポイント検索条件指定画面」または「リカバリポイント検索要求発行画面」等と呼ぶことができる。
検索条件指定画面G10には、例えば、リカバリ対象範囲指定部G11と、リカバリ対象期間指定部G12と、検索条件指定部G13と、論理演算条件指定部G14と、検索実行ボタンB11及びキャンセルボタンB12を含めることができる。
リカバリ対象範囲指定部G11は、ユーザがリカバリを希望するファイルを指定するためのものである。この指定部G11では、例えば、いわゆるプルダウンメニュー形式で、トップディレクトリ配下の各ディレクトリを表示させ、所望のファイルを選択できるようになっている。
リカバリ対象期間指定部G12は、リカバリ対象のファイルをリストアさせる時期を指定するものである。この指定部G11では、プルダウンメニュー形式で、調査対象の時期的範囲を選択することができる。
検索条件指定部G13は、リカバリ対象のファイルが有するべきキーワードやファイル名を指定するものである。ユーザは、任意の文字列(英数字や記号等)を入力することができる。ユーザは、プルダウンメニュー形式でファイル名を選択することにより、選択されたファイルのデータの全部または一部を、検索条件として指定することもできる。ファイルのデータそのものを検索条件として指定することにより、後述の実施例のように、コンピュータウイルスに感染したファイルについて、感染前のリカバリポイントを検索することもできる。
論理演算条件指定部G14は、ANDやOR等の論理演算条件を指定するためのものである。検索実行ボタンB11は、G11〜G14で指定された値を設定した検索要求600を発行させるためのものである。キャンセルボタンB12は、検索要求600の発行を取り消すためのものである。
図10(b)は、リカバリポイントの検索結果(調査結果)を表示するための画面G20を示す。この検索結果画面G20は、記憶制御装置20からホスト10に送信されたリカバリポイント候補リスト700に基づいて生成される。
検索結果画面G20は、例えば、リカバリ対象範囲表示部G21と、検索条件表示部G22と、初出現時刻表示部G23と、最終出現時刻G24と、リカバリポイント指定部G25と、リカバリ実行ボタンB21及びキャンセルボタンB22を備えて構成することができる。
リカバリ対象範囲表示部G21は、上述のリカバリ対象範囲指定部G11で指定されたファイル名を表示させるものである。検索条件表示部G22は、上述の検索条件指定部G13で指定された検索条件を表示させるものである。なお、リカバリ対象期間や論理演算条件も画面G10で指定されている場合、これらリカバリ対象期間及び論理演算条件がどのように指定されたかを、画面G20に表示させることができる。
初出現時刻表示部G23は、候補リスト700内の初出現時刻710に設定された値を表示させるものである。同様に、最終出現時刻表示部G24は、候補リスト700内の最終出現時刻720に設定された値を表示させるものである。
リカバリポイント指定部G25は、ユーザの希望するリカバリポイントを指定するためのものである。例えば、プルダウンメニュー形式で表示される複数のリカバリポイント候補の中から、ユーザは、所望のリカバリポイントをいずれか一つ選択できる。
リカバリ実行ボタンB21は、ユーザの指定したリカバリポイントまでユーザデータボリューム510の記憶内容をリストアさせるためのボタンである。キャンセルボタンB22は、リストアの実行を取り消すためのボタンである。なお、図10に示す画面及びその説明は一例であって、本発明は、上記の構成に限定されない。
次に、図11〜図13に基づいて、ストレージシステムの動作を説明する。以下に述べる各フローチャートは、処理の概要を示すもので、実際のコンピュータプログラムとは相違する。また、フローチャートの説明では、ステップを「S」と略記する。
図11は、ホスト10からのアクセス要求を記憶制御装置20が処理するためのコマンド処理を示すフローチャートである。ホスト10は、例えば、ライトコマンドを用いてデータの更新を要求したり(ライト要求)、リードコマンドを用いてデータの読み出しを要求することができる(リード要求)。上述のように、ファイルコントローラ100とブロックコントローラ200との協働作業によって、コマンド処理が行われるが、ここでは、説明の便宜上、記憶制御装置20を処理の主体として説明する。
記憶制御装置20は、ホスト10からのコマンドを受信すると、そのコマンドのタイプを判別する(S11)。受信したコマンドがリードコマンドの場合は、メモリのキャッシュ領域(以下、キャッシュメモリとも呼ぶ)に、ホスト10から要求されたデータが記憶されているか否かを判定する(S12)。
ホスト10から要求されたデータがキャッシュメモリに記憶されている場合(S12:YES)、記憶制御装置20は、キャッシュメモリからそのデータを読み出して、ホスト10に送信する(S15)。ホスト10から要求されたデータがキャッシュメモリに記憶されていない場合(S12:NO)、記憶制御装置20は、ホスト10から要求されたデータをディスクドライブ310から読み出す(S13)。記憶制御装置20は、この読み出されたデータをキャッシュメモリに記憶させた後(S14)、ホスト10に送信する(S15)。
ホスト10からライトコマンドを受信した場合、記憶制御装置20は、キャッシュメモリにライトデータを記憶させるための領域を確保し、この確保された領域にライトデータを記憶させる(S16)。記憶制御装置20は、ライトデータをキャッシュメモリに記憶させた後、ホスト10にライトコマンドの処理が完了した旨を通知する(S17)。
記憶制御装置20は、ライトコマンドによるデータ更新に基づいて、ジャーナルデータを生成し(S18)、生成したジャーナルデータをジャーナルボリューム520に記憶させる(S19)。即ち、ホスト10がユーザデータボリューム510の記憶内容を更新するたびに、ジャーナルデータが生成されて保存される。
記憶制御装置20は、適当なタイミングを見計らって、キャッシュメモリに記憶されたライトデータを、所定のディスクドライブ310に記憶させる(S20)。所定のディスクドライブ310とは、ライトコマンドで明示されたアドレスに対応する記憶領域を備えたディスクドライブである。
ライトデータをキャッシュメモリに記憶させた後、そのライトデータをディスクドライブ310に書き込むよりも前に、ホスト10にライトコマンドの処理完了を通知することにより、記憶制御装置20の応答性能を高めることができる。但し、これに限らず、ライトデータをディスクドライブ310に記憶させた後で、ホスト10にライトコマンドの処理が完了した旨を通知する構成でもよい。
ホスト10から受信したコマンドがライトコマンドまたはリードコマンドのいずれでも無い場合、記憶制御装置20は、そのコマンドに応じた処理を行う(S21)。その他のコマンドとしては、例えば、記憶制御装置20の状態を問い合わせるための照会コマンド等を挙げることができる。
図12は、リカバリポイントを検索する処理を示すフローチャートである。記憶制御装置20は、ホスト10からリカバリポイント検索要求600が発行されたか否かを判定している(S31)。検索要求600が発行された場合(S31:YES)、記憶制御装置20は、検索要求600で明示されたリカバリ対象のファイル毎に一時リストア領域540を確保し、各ファイルに1つずつ一時リストア領域540を割り当てる(S32)。
次に、記憶制御装置20は、リカバリポイントリストを初期化する(S33)。リカバリポイントリストは、初出現時刻及び最終出現時刻を検出するための一時的な作業用ファイルである。リカバリポイントリストは、一時リストア領域540毎に、それぞれ1つずつ用意される。
記憶制御装置20は、図6で述べたジャーナルレコード領域521の各ジャーナルレコードを先頭から終端に向けて、順番に以下の処理を繰り返す(S34,S39)。記憶制御装置20は、ジャーナルレコード領域521から読出した一つのジャーナルレコードについて、このジャーナルレコードに記録されているファイル名(パス名)と検索要求600で明示されたファイル名(パス名)とを比較する(S35)。
両方のファイル名が一致する場合(S35:YES)、そのジャーナルレコードによって管理されているジャーナルデータをデータ領域522から読み出して、一時リストア領域540に記憶させる(S36)。
記憶制御装置20は、一時リストア領域540にリストアされたファイルについて、検索要求600で明示された検索条件に合致するか否かを判定する(S37)。検索条件に合致する場合(S37:YES)、記憶制御装置20は、その一時的にリストアされたファイルの更新時刻(ジャーナルレコード中の記録日時)を、リカバリポイントリストに記憶させる(S38)。このリカバリポイントリストを更新させる処理については、図を改めて後述する。
このように、記憶制御装置20は、リカバリ対象のファイルだけをリストアさせながら、検索条件に合致するか否かを検査していく。なお、リカバリ対象のファイルを全てリストアさせた後で、検索条件に一致するか否かを検査する構成としてもよい。
記憶制御装置20は、リカバリ対象のファイルに関する全てのジャーナルレコードについて、リストア処理及び検索処理を終えた後、リカバリポイントリストの記録内容を候補リスト700として、ホスト10に送信する(S40)。
図13は、図12中にS38で示されたリカバリポイントリスト更新処理を示すフローチャートである。記憶制御装置20は、検索条件に合致するファイルを発見した場合、このファイルの更新時刻(即ち、リカバリポイント)が、初めて出現したか否かを判定する(S381)。その更新時刻が初めて出現した更新時刻である場合(S381:YES)、記憶制御装置20は、その更新時刻を初出現時刻としてリカバリポイントリストに記録する(S382)。これに対し、その更新時刻が初めて出現した時刻ではない場合(S381:NO)、記憶制御装置20は、その更新時刻を最終出現時刻としてリカバリポイントリストに記録する(S383)。リカバリポイントリストの最終出現時刻は、新たな更新時刻が発見されるたびに更新されていく。
本実施例は上述のように構成されるので、以下の効果を奏する。本実施例では、ホスト10に、検索要求600を発行するためのリカバリポイント検索用インターフェース420を設ける。そして、記憶制御装置20には、ユーザデータボリューム510の更新履歴を管理するためのジャーナル作成処理部480と、検索要求600に基づいてユーザデータボリューム510に記憶されている全ファイルのうちリカバリ対象のファイルのみを、更新履歴毎に復元して、一時リストア領域540に記憶させる部分リストア処理部440と、一時リストア領域540にリストアされたファイルが検索条件に合致するか否かを判定し、検索条件に合致する期間をリカバリポイント候補リスト700としてホスト10に通知するデータ検索処理部450を、設ける。従って、本実施例では、リカバリさせるべきポイントが不明なユーザに対して、リカバリポイントの候補を提示することができ、適切なリカバリポイントの選択を支援して使い勝手を向上させることができる。
本実施例では、リカバリポイント候補リスト700に基づいて、ユーザデータボリューム510のリカバリを要求できる構成とした。従って、ユーザは、比較的簡単な操作で、ユーザデータボリューム510の記憶内容を所望の時点に回復させることができ、使い勝手が向上する。
本実施例では、初出現時刻710と最終出現時刻720とによって、リカバリ対象のファイルが検索条件に合致する期間を特定する構成とした。従って、リカバリ対象のファイルに対するデータ更新の頻度が多い場合でも、リカバリポイント候補リスト700のデータ量を少なくすることができる。
図14,図15に基づいて、第2実施例を説明する。なお、以下に述べる各実施例は、第1実施例の変形例に該当する。本実施例では、ファイルを特定するための情報として、パス名に代えて、ファイルのハッシュ値を採用する。
図14は、ジャーナルレコードの構成を示す説明図である。本実施例では、ファイルのパス名に代えて、ファイル名(パスの最後に出現するファイルの名称そのもの)とハッシュ値の組合せを使用する。ファイルハッシュ値は、例えば、ファイルのパス名をハッシュ関数523に入力することにより得られる。異なるファイル同士が偶然同一のファイルハッシュ値を有する場合に備えて、単純なファイル名も参照できるようにしている。
図15は、本実施例によるリカバリポイント検索処理を示すフローチャートである。このフローチャートは、図12で述べたフローチャートと共通のステップを備える。そこで、共通するステップの説明を省略し、本実施例に特徴的なステップを中心に説明すると、本実施例では、ジャーナルレコードに記録されたファイルハッシュ値と、リカバリ対象として指定されたファイルから得られるハッシュ値とを比較し、両者が一致するか否かを判定する(S35A)。
このように構成される本実施例は、上述した第1実施例と同様の作用効果を得ることができる。これに加えて、本実施例では、ファイルを特定するための情報として、ファイルハッシュ値を使用するため、トップディレクトリから目的のファイルまでのパス名(いわゆるフルパス)を使用する場合に比べると、データ量を低減することができる。これにより、ジャーナルレコードのデータサイズを小さくすることができ、より効率的にジャーナルデータを管理することができる。
図16,図17に基づいて、第3実施例を説明する。本実施例では、ファイルコントローラ100とブロックコントローラ200とを、単一のコントローラ101に統合させている。
図16は、本実施例によるストレージシステムのハードウェア構成を示す構成説明図である。本実施例の記憶制御装置20Aは、単一のコントローラ101を備える。このコントローラ101は、上述したファイルコントローラ100及びブロックコントローラ200の機能を実現するもので、例えば、「統合コントローラ」と呼ぶことができる。
コントローラ101は、ファイルコントローラ100と同様に、MPU111と、メモリ121と、フロントエンドI/F131と、バックエンドI/F141と、メモリコントローラ151を備える。これら各部は、ファイルコントローラ100で述べた各部110〜150と略同様である。
しかし、このコントローラ101は、ホスト10との間ではファイルレベルのデータ通信を行い、ディスクエンクロージャ300との間では、ブロックレベルのデータ通信を行うようになっている。このため、バックエンドI/F141は、論理ブロックアドレスと物理アドレスとの相互変換を行う機能を備えている。
図17は、本実施例によるストレージシステムの機能構成を示す説明図である。本実施例の記憶制御装置20Aは、単一のコントローラ101を備えるため、第1実施例で述べた各処理部430,440,450,470,480,490は、コントローラ101内に設けられている。
また、本実施例では、単一のコントローラ101を用いるため、第1実施例のように、ファイルコントローラ100がブロックコントローラ200を介してジャーナルデータを取得するための機能460,461は、必要ない。
このように構成される本実施例でも、前記第1実施例と同様の作用効果を得る。これに加えて、本実施例では、単一のコントローラ101を用いるため、部品点数を少なくすることができ、また、記憶制御装置20Aを小型化することができる。
図18,図19に基づいて、第4実施例を説明する。本実施例では、リカバリ対象のデータをブロックレベルで指定できるようにしている。
図18は、ジャーナルレコードの構成を示す説明図である。本実施例では、ジャーナルデータをブロック単位で管理すべく、LUN(Logical Unit Number)と、オフセットを示す論理ブロックアドレス(LBA)と、サイズとで、ジャーナルデータを特定する。即ち、LUNは、ユーザデータボリューム510を特定するための情報であり、LBAは、そのボリュームの先頭アドレスからのオフセット値を示す。
図19は、検索要求600の構成例を示す説明図である。本実施例では、リカバリ対象範囲610を、LUN611と、オフセットを示すLBA612と、データサイズ613とによって構成する。これにより、ユーザデータボリューム510のうち、特定のブロックだけをリストアして、検索条件に合致するか否かを検査することができる。
このように構成される本実施例でも、前記第1実施例と同様の作用効果を奏する。これに加えて、本実施例では、ブロックレベルでリカバリ対象の範囲を指定できる。なお、本実施例と第1実施例とを結合させることにより、ファイルレベルまたはブロックレベルのいずれかで、リカバリ対象範囲を指定できる構成が得られる。
図20,図21に基づいて、第5実施例を説明する。本実施例では、所定周期毎に、ユーザデータボリューム510のスナップショット550を作成し、このスナップショット550とジャーナルボリューム520とを利用して、ユーザがリカバリ対象期間を指定できるようにしている。
ブロックコントローラ200は、スナップショット作成処理部481を備えている。このスナップショット作成処理部481は、スナップショットの作成を指示された時点におけるユーザデータボリューム510の記憶イメージを作成するものである。この記憶イメージは、スナップショット550として保管される。スナップショット550は、例えば、毎日、毎週のように予め設定された所定周期毎に作成できる。ユーザの指定した任意の時刻に、スナップショット550を作成することもできる。
図21は、本実施例によるリカバリポイント検索処理を示すフローチャートである。前記実施例と同様に、本実施例に特徴的な部分を中心に説明する。検索要求600には、リカバリ対象期間620に有効な値が設定されているものとする。
記憶制御装置は、リカバリポイントリストを初期化した後(S33)、ユーザから指定されたリカバリ対象期間に対応するスナップショット550を特定し、リカバリ対象期間内のジャーナルレコード群を検出する(S50)。以下は、第1実施例と同様に処理を進める。
このように構成される本実施例も前記第1実施例と同様の作用効果を得る。これに加えて、本実施例では、定期的または不定期に作成されるスナップショット550とジャーナルボリューム520とを結合させて、リカバリ対象のファイルをリストアさせる期間を特定することができる。これにより、部分リストア処理部440やデータ検索処理部450は、より少ないジャーナルレコードのみを対象とすればよく、リカバリポイント候補をより早く検出することができる。
図22に基づいて、第6実施例を説明する。本実施例では、一時リストア領域540に記憶されたリカバリ対象のファイルを、ホスト10が利用できるようにしている。図22は、リカバリポイント検索処理を示すフローチャートである。
記憶制御装置20は、リカバリポイントリストをホスト10に送信した後(S40)、一時リストア領域540内のデータ(ファイルデータまたはブロックデータ)を、ホスト10に送信する(S60)。従って、ユーザは、ユーザデータボリューム510の全体を希望のリカバリポイントまで回復させるよりも前に、リカバリ対象のデータを参照することができる。
このように構成される本実施例も前記第1実施例と同様の作用効果を奏する。これに加えて、本実施例では、ユーザデータボリューム510の全体をリストアさせることなく、一時リストア領域540内のデータを確認することができる。従って、例えば、ユーザが、リカバリ対象のデータの単なる参照だけを希望しているような場合、ユーザは、ユーザデータボリューム510の全体のリストアが完了するのを待つことなく、目的のデータを利用することができ、使い勝手が向上する。なお、記憶制御装置20からホスト10に一時リストア領域540内のデータを送信する構成に代えて、ホスト10から一時リストア領域540内のデータへアクセスできるようにした構成でもよい。例えば、メモリ上に仮想ボリュームとして構成された一時リストア領域540を、ホスト10に一時的にマウントし、参照専用で利用させる構成でもよい。
図23に基づいて、第7実施例を説明する。本実施例を含む以下の実施例では、第1実施例の具体的な応用例を示している。本実施例では、ユーザのファイルがコンピュータウイルス(以下「ウイルス」)に感染した場合に、そのファイルを感染前の状態に回復させる場合を示す。
図23は、ストレージシステムの全体動作の要部を示すフローチャートである。ホスト10に実装されたセキュリティ管理プログラムは、ホスト10が使用するファイル群について、ウイルスに感染しているか否かを検査する(S100)。この検査手法は公知であり、かつ、本発明の主題ではないため、その詳細な説明を省略する。
ファイルがウイルスに感染している場合、セキュリティ管理プログラムは、ホスト10に、ウイルスに感染しているファイル名を特定して警告を発する(S101)。ホスト10は、この警告を受領すると、ウイルスに感染しているファイルの存在を認識する(S102)。
ホスト10に設けられた検索用インターフェース420では、リカバリ対象範囲に、感染したファイルのパス名がユーザによって指定され(S103)、また、検索条件に、ウイルスに感染したファイルのデータが指定される(S104)。
ホスト10は、感染したファイルのパス名と感染したデータとを明示する検索要求600を発行する(S105)。記憶制御装置20は、第1実施例で述べたように、リカバリ対象として指定された範囲についてのみリストアを行い(S106)、リストアされたファイルに対して、検索条件に一致するか否かを判定する(S107)。ここでは、検索条件としてウイルスに感染したファイルデータそのものが設定されているため、検索条件に一致するファイルとは、ウイルスに感染しているファイルであることを意味する。
記憶制御装置20は、リカバリポイントリストを作成し(S108)、リカバリポイント候補リスト700をホスト10に送信する(S109)。ホスト10は、この候補リスト700に基づいて、リカバリポイント候補を表示させる(S110)。なお、リカバリポイント候補リスト700とリカバリポイントリストとを区別せずに、両方ともリカバリポイントリストを呼ぶこともできる。
ホスト10では、ユーザによって、初出現時刻よりも前の時刻がリカバリポイントとして選択される(S111)。初出現時刻よりも前の時刻であれば、目的のファイルはウイルスに感染していないためである。そこで、ホスト10は、初出現時刻よりも前のリカバリポイントを指定して、ユーザデータボリューム510のリストア(リカバリ)を要求する(S112)。
記憶制御装置20は、指定されたリカバリポイントまでユーザデータボリューム510の記憶内容を復元し(S113)、リストア用ボリューム530とホスト10との間にパスを設定する(S114)。そして、記憶制御装置20は、リカバリが完了した旨をユーザに通知する(S115)。これにより、ユーザは、ウイルス感染前の状態のファイルを利用することができる(S116)。
図24に基づいて、第8実施例を説明する。図24は、ユーザの誤操作等によって消失したファイルを復元させる場合の全体動作を示すフローチャートである。ユーザは、ファイルツリーから目的のファイルが消失していることに気づく。ユーザは、目的のファイルが存在したはずのディレクトリ名だけは、見当がついているものとする。
ユーザは、目的のファイルを利用するために、ファイル管理プログラムに対して、その目的のファイルが存在するはずの所定のディレクトリについてリスティングを要求する(S120)。ファイル管理プログラムは、指定された所定のディレクトリ内のエントリを、ホスト10のユーザインターフェース14に表示させる(S121)。
ホスト(ユーザ)10は、所定のディレクトリ内に目的とするファイルが見あたらないことを認識する(S122)。そこで、ホスト10は、リカバリ対象範囲に所定のディレクトリのパス名を、検索条件に消失したファイルのファイル名をそれぞれ設定して(S123,S124)、検索要求600を発行する(S125)。
ここで、検索条件に設定されるファイル名は、消失したファイルのパス名ではなく、単純なファイル名である。また、単純なファイル名の全体を完全に指定できるのが好ましいが、単純なファイル名の一部だけを指定してもよい。
記憶制御装置20は、指定された所定のディレクトリ内に含まれるファイル群だけをリストアし(S126)、検索条件に一致するか否かを検査する(S127)。そして、記憶制御装置20は、リカバリポイントリストを作成し(S128)、リカバリポイント候補リスト700をホスト10に送信する(S129)。
ホスト10は、リカバリポイント候補(リカバリポイントリスト)をユーザインターフェース14に表示させる(S130)。ユーザは、表示されたリカバリポイントのうち、最終出現時刻を選択して(S131)、ユーザデータボリューム510のリストアを要求する(S132)。ユーザの所望するファイルが最後に存在したのは、最終出現時刻であり、その直後にそのファイルが失われているためである。
記憶制御装置20は、ユーザデータボリューム510の記憶内容を、指定されたリカバリポイントまで復元し(S133)、リストア用ボリューム530とホスト10との間のパスを設定する(S134)。記憶制御装置20は、ホスト10に、リストアが完了した旨を通知する(S135)。これにより、ユーザは、消失前のファイルを利用することができる(S136)。
図25に基づいて、第9実施例を説明する。図25は、ホスト10への不正なアクセスを検出する場合の全体動作を示すフローチャートである。ホスト10は、一つまたは複数のセキュリティ関連ファイルを利用している。セキュリティ関連ファイルとしては、例えば、ユーザ認証情報(ユーザIDやパスワード)を記録した認証情報ファイル、ファイルへのアクセス権限を管理するためのアクセス制御リスト等を挙げることができる。これらのセキュリティ関連ファイルは、通常の場合、更新されることはなく、管理者権限を有するユーザが、必要に応じて時々参照等するだけである。
ホスト10に対する不正アクセスを監査する場合、ユーザは、リカバリ対象範囲にセキュリティ関連ファイルのファイル名(パス名)を設定し(S140)、検索条件にファイル更新時刻を設定する(S141)。ファイル更新時刻を指定するのは、セキュリティ関連ファイルが更新されたか否かを発見するためである。もしも、ホスト10に不正にアクセスした者がいた場合、その者は、不正アクセスの痕跡を隠すために、セキュリティ関連ファイルの一部を書き換えるためである。
ホスト10が検索要求600を発行すると、記憶制御装置20は、指定されたセキュリティ関連ファイルのみをリストアし(S143)、セキュリティ関連ファイルが更新されたか否かを検査する(S144)。そして、記憶制御装置20は、リカバリポイントリストを作成し(S145)、リカバリポイント候補リスト700をホスト10に送信する(S146)。
ホスト10は、検出されたリカバリポイントをユーザインターフェース14に表示させる(S147)。ホスト(ユーザ)10は、セキュリティ関連ファイルの更新時刻が不自然な時間帯に更新されているか否かを判断する(S148)。例えば、システム管理者が不在の時間帯にセキュリティ関連ファイルが更新されているような場合(S148:YES)、ホスト10が不正にアクセスされた可能性がある。そこで、ホスト10は、別のプログラムを用いて、より詳細なセキュリティ監査を行う(S149)。
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
本発明の実施形態の概要を示す説明図である。 ストレージシステムのハードウェア構成を示す説明図である。 ファイルコントローラの配置方法の変形例を示す説明図である。 ファイルコントローラの別の配置方法の変形例を示す説明図である。 ストレージシステムの機能構成を示す説明図である。 ジャーナルボリューム及びジャーナルレコードの構成を示す説明図である。 指定されたファイルのみをリストアする様子を模式的に示す説明図である。 リカバリポイント検索要求の構成を示す説明図である。 リカバリポイント候補リストの構成を示す説明図である。 リカバリポイント検索要求の発行画面(a)及びリカバリポイント候補リストの表示画面(b)を示す説明図である。 コマンド処理を示すフローチャートである。 リカバリポイント検索処理を示すフローチャートである。 図12中のリカバリポイントリスト更新処理を示すフローチャートである。 第2実施例に係る記憶制御装置により使用されるジャーナルレコードの構成を示す説明図である。 リカバリポイント検索処理を示すフローチャートである。 第3実施例に係るストレージシステムのハードウェア構成を示す説明図である。 ストレージシステムの機能構成を示す説明図である。 第4実施例に係る記憶制御装置により使用されるジャーナルレコードの構成を示す説明図である。 リカバリポイント検索要求の構成を示す説明図である。 第5実施例に係るストレージシステムの機能構成を示す説明図である。 リカバリポイント検索処理を示すフローチャートである。 第6実施例に係る記憶制御装置により実行されるリカバリポイント検索処理を示すフローチャートである。 本実施形態の応用例を示すフローチャートである。 本実施形態の別の応用例を示すフローチャートである。 本実施形態のさらに別の応用例を示すフローチャートである。
符号の説明
1…ホスト、1A…アプリケーションプログラム、1B…リカバリポイント検索要求発行部、1C…リカバリ指示部、2…記憶制御装置、2A…リード/ライト処理部、2B…ジャーナル作成処理部、2C…部分リストア処理部、2D…検索処理部、2E…リストア処理部、V1…ユーザデータボリューム、V2…ジャーナルボリューム、V3…一時リストア領域、V4…リストア用ボリューム、10…ホスト、11…CPU、12…メモリ、13…通信インターフェース、14…ユーザインターフェース、20,20A…記憶制御装置、30…スイッチ、100…ファイルコントローラ、101…コントローラ、110,111,210…MPU、120,121,220…メモリ、130,131,230…フロントエンドインターフェース、140,141,240…バックエンドインターフェース、150,151,250…メモリコントローラ、200…ブロックコントローラ、300…ディスクエンクロージャ、310…ディスクドライブ、410…アプリケーションプログラム、420…リカバリポイント検索用インターフェース、430…ファイルリード/ライト処理部、440…部分リストア処理部、450…データ検索処理部、460…ジャーナルリード機能、461…ジャーナルアクセス機能、470…ブロックリード/ライト処理部、480…ジャーナル作成処理部、481…スナップショット作成処理部、490…リストア処理部、510…ユーザデータボリューム、520…ジャーナルボリューム、521…ジャーナルレコード領域、522…データ領域、523…ハッシュ関数、530…リストア用ボリューム、540…一時リストア領域、550…スナップショット、600…リカバリポイント検索要求、700…リカバリポイント候補リスト

Claims (6)

  1. ホストコンピュータと、このホストコンピュータにデータボリュームを提供する記憶制御装置とを備えたストレージシステムであって、
    前記ホストコンピュータは、
    少なくとも復元対象のファイルを特定するパス名及び検索条件として所定のキーワードを指定する検索要求を発行する検索要求発行部を備えており、
    前記記憶制御装置は、
    前記データボリュームの更新履歴を管理するための更新履歴管理部と、
    前記検索要求を受領した場合には、前記データボリュームに記憶されているデータのうち前記復元対象のファイルのデータを、前記更新履歴毎に復元して、一時的復元領域に記憶させる第1復元部と、
    前記一時的復元領域内に復元された前記データが前記検索条件に合致するか否かを判定し、復元された前記データが前記検索条件に連続して合致する期間を検出して前記ホストコンピュータに通知する検索部であって、前記一時的復元領域内に復元された前記データが前記検索条件に初めて合致する始期及び前記検索条件に最後に合致する終期を、前記期間として前記ホストコンピュータに通知する検索部と、
    を備え
    前記ホストコンピュータは、前記検索部から通知された前記期間に含まれる所定時点を指定して、前記データボリュームの記憶内容を前記所定時点の状態に復元させるための復元要求を発行する復元要求発行部をさらに備え、
    前記記憶制御装置は、前記復元要求を受領した場合に、前記更新履歴を使用することにより、前記データボリュームの記憶内容を前記所定時点の状態に復元させる第2復元部をさらに備えている、
    ストレージシステム。
  2. 前記更新履歴管理部は、前記データボリュームの記憶内容を、指定された複数の世代毎にそれぞれ管理しており、
    前記第1復元部は、前記検索要求に復元対象期間が含まれている場合には、前記データボリュームのうち前記復元対象期間内における前記復元対象のファイルのデータを、前記更新履歴毎に復元して、前記一時的復元領域に記憶させる、請求項1に記載のストレージシステム。
  3. 前記ホストコンピュータは、前記一時的復元領域内に復元された前記データにアクセス可能である請求項1に記載のストレージシステム。
  4. 前記記憶制御装置は、前記一時的復元領域内に復元された前記データを前記ホストコンピュータに送信可能である請求項1に記載のストレージシステム。
  5. 前記検索部は、前記一時的復元領域内に復元された前記データが前記検索条件に連続して合致する期間を複数検出した場合、これら複数の期間を全て前記ホストコンピュータに通知する請求項1に記載のストレージシステム。
  6. 前記第1復元部は、前記検索要求内に前記復元対象のファイルを特定するパス名が複数指定されている場合には、これら複数の復元対象ファイル毎にそれぞれ前記一時的復元領域を用意し、前記複数の復元対象ファイルのデータをそれぞれ復元させる請求項1に記載のストレージシステム。
JP2006015880A 2006-01-25 2006-01-25 ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法 Active JP4877921B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006015880A JP4877921B2 (ja) 2006-01-25 2006-01-25 ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法
US11/369,943 US7617255B2 (en) 2006-01-25 2006-03-08 Storage system, storage control device and recovery point detection method for storage control device
EP06253549A EP1814034A3 (en) 2006-01-25 2006-07-06 Storage system, storage control device and recovery point detection method for storage control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006015880A JP4877921B2 (ja) 2006-01-25 2006-01-25 ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法

Publications (2)

Publication Number Publication Date
JP2007199889A JP2007199889A (ja) 2007-08-09
JP4877921B2 true JP4877921B2 (ja) 2012-02-15

Family

ID=38043064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006015880A Active JP4877921B2 (ja) 2006-01-25 2006-01-25 ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法

Country Status (3)

Country Link
US (1) US7617255B2 (ja)
EP (1) EP1814034A3 (ja)
JP (1) JP4877921B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765400B2 (en) * 2004-11-08 2010-07-27 Microsoft Corporation Aggregation of the knowledge base of antivirus software
KR100679413B1 (ko) * 2006-05-17 2007-02-07 삼성전자주식회사 이동 통신 단말기의 선택적 데이터 복구 방법 및 장치
WO2007138460A2 (en) * 2006-05-31 2007-12-06 Pankaj Anand Local data retrieval and restoration method and system thereof
US8375005B1 (en) * 2007-03-31 2013-02-12 Emc Corporation Rapid restore
US7853571B2 (en) * 2007-09-28 2010-12-14 Symantec Corporation Techniques for file system recovery
JP5046863B2 (ja) 2007-11-01 2012-10-10 株式会社日立製作所 情報処理システム及びデータ管理方法
JP5699732B2 (ja) * 2011-03-25 2015-04-15 富士ゼロックス株式会社 情報処理装置、プログラム
CN102984418A (zh) * 2011-09-06 2013-03-20 株式会社东芝 图像形成装置以及数据管理方法
US8776236B2 (en) * 2012-04-11 2014-07-08 Northrop Grumman Systems Corporation System and method for providing storage device-based advanced persistent threat (APT) protection
JP2013061994A (ja) * 2013-01-07 2013-04-04 Fujitsu Ltd ウイルス検出プログラム、ウイルス検出方法、監視プログラム、監視方法、及びコンピュータ
KR101674176B1 (ko) * 2014-07-24 2016-11-08 성균관대학교산학협력단 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법
US20160026941A1 (en) * 2014-07-26 2016-01-28 International Business Machines Corporation Updating and synchronizing existing case instances in response to solution design changes
KR101744685B1 (ko) * 2015-12-31 2017-06-09 한양대학교 산학협력단 파일의 메타데이터에 대한 보호 방법 및 보호 장치
CN106534328B (zh) * 2016-11-28 2020-01-31 网宿科技股份有限公司 节点连接方法及分布式计算系统
US10621047B2 (en) * 2017-04-06 2020-04-14 International Business Machines Corporation Volume group structure recovery in a virtualized server recovery environment
CN111324483B (zh) * 2018-12-13 2023-04-18 腾讯科技(深圳)有限公司 一种数据恢复方法、装置以及相关设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175700A (ja) * 1993-12-20 1995-07-14 Fujitsu Ltd データベース管理方式
JPH08314973A (ja) * 1995-05-17 1996-11-29 Fuji Xerox Co Ltd 情報単位群操作装置
JPH11134234A (ja) * 1997-08-26 1999-05-21 Reliatec Ltd バックアップ・リストア方法およびその制御装置,並びにバックアップ・リストアプログラムを記録したコンピュータ読み取り可能な記録媒体
US5991772A (en) * 1997-10-31 1999-11-23 Oracle Corporation Method and apparatus for restoring a portion of a database
JP4363676B2 (ja) * 1997-10-31 2009-11-11 株式会社東芝 コンピュータシステム
US6920537B2 (en) * 1998-12-31 2005-07-19 Emc Corporation Apparatus and methods for copying, backing up and restoring logical objects in a computer storage system by transferring blocks out of order or in parallel
EP1182822B1 (en) * 2000-02-21 2013-02-13 Kabushiki Kaisha Toshiba Network Management Equipment
US7114184B2 (en) * 2001-03-30 2006-09-26 Computer Associates Think, Inc. System and method for restoring computer systems damaged by a malicious computer program
JP2003006225A (ja) * 2001-06-27 2003-01-10 Nec Corp 情報提供方法及びそれに用いる情報提供装置並びに端末
JP2003058534A (ja) * 2001-08-09 2003-02-28 Casio Comput Co Ltd データ処理装置およびプログラム
JP2003162438A (ja) * 2001-11-27 2003-06-06 Ricoh Co Ltd データベース管理システム
JP4154893B2 (ja) * 2002-01-23 2008-09-24 株式会社日立製作所 ネットワークストレージ仮想化方法
EP1369773A2 (en) * 2002-05-27 2003-12-10 Hitachi, Ltd. A storage system and storage subsystem
JP3896077B2 (ja) * 2002-09-11 2007-03-22 株式会社東芝 計算機システムおよびファイル管理方法
JP4199993B2 (ja) * 2002-11-27 2008-12-24 株式会社日立製作所 スナップショット取得方法
JP3974538B2 (ja) * 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
JP4165747B2 (ja) 2003-03-20 2008-10-15 株式会社日立製作所 記憶システム、制御装置及び制御装置のプログラム
JP2004348193A (ja) * 2003-05-20 2004-12-09 Hitachi Ltd 情報処理システムおよびそのバックアップ方法
US20040254964A1 (en) 2003-06-12 2004-12-16 Shoji Kodama Data replication with rollback
US7412460B2 (en) * 2003-06-19 2008-08-12 International Business Machines Corporation DBMS backup without suspending updates and corresponding recovery using separately stored log and data files
US7111136B2 (en) 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US20050086192A1 (en) 2003-10-16 2005-04-21 Hitach, Ltd. Method and apparatus for improving the integration between a search engine and one or more file servers
JP2005309727A (ja) * 2004-04-21 2005-11-04 Hitachi Ltd ファイルシステム
JP4476683B2 (ja) * 2004-04-28 2010-06-09 株式会社日立製作所 データ処理システム

Also Published As

Publication number Publication date
EP1814034A3 (en) 2009-08-12
EP1814034A2 (en) 2007-08-01
US7617255B2 (en) 2009-11-10
US20070174354A1 (en) 2007-07-26
JP2007199889A (ja) 2007-08-09

Similar Documents

Publication Publication Date Title
JP4877921B2 (ja) ストレージシステム、記憶制御装置及び記憶制御装置のリカバリポイント検出方法
US7730071B2 (en) Data management system and data management method
US7647360B2 (en) System and method for managing a consistency among volumes in a continuous data protection environment
US8135677B2 (en) File management system and method
JP4741371B2 (ja) システム、サーバ装置及びスナップショットの形式変換方法
JP4799936B2 (ja) 条件別スナップショット取得方法及びシステム
JP5454715B2 (ja) 仮想マシン運用システム、仮想マシン運用方法およびプログラム
US7870104B2 (en) Storage system and storage device archive control method
JP4411929B2 (ja) バックアップ方法、システム、及びプログラム
JP5320557B2 (ja) ストレージシステム
JP2008033912A (ja) Nas向けのcdpの方法および装置
JP2009070143A (ja) Nas装置の差分リモートバックアップにおけるデータ復旧方法及び計算機システム
JP2006293834A (ja) 記憶装置システム、ストレージ装置およびログの記録方法
JP2006309483A (ja) ストレージ装置及びストレージシステム
US20110231452A1 (en) Storage system and resource management method for storage system
US7346599B2 (en) Storage system and method of managing data stored in a storage system
JP2008242744A (ja) Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法
US20060047924A1 (en) Server and method for managing volume storing digital archive
JP4914821B2 (ja) 電子割符処理に伴うファイル管理方法、およびファイル管理装置
US8032490B2 (en) Storage system operable to perform LU auditing
JP5159777B2 (ja) 情報及びメタデータを管理し記憶する装置及び方法
JP4502748B2 (ja) デジタルアーカイブを保存するボリュームを管理するサーバ及び方法
US20160124666A1 (en) Computer system and management method for computer system
JP5303172B2 (ja) 情報処理装置、ファイル制御システム、制御方法及びプログラム
JP2006119829A (ja) 記憶制御装置及び記憶制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111005

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: 20111122

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: 20111124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4877921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250