(57)【要約】      （修正有）【課題】バックアップ処理及びボリューム復元処理に対するメイン側のストレージ装置の処理負荷及び容量負荷を格段的に低減し得るストレージシステム及びデータ管理方法を提案する。【解決手段】第１のストレージ装置側において、第１のボリュームにデータの書き込みがあったときに、そのジャーナルを第２のストレージ装置に送信すると共に、第２のストレージ装置側において、第２のボリュームのスナップショット及び各ジャーナルを記憶し、第２のストレージ装置側において、復元命令に応じて、復元時刻における第１のボリュームを復元し、第２のストレージ装置側において、復元時刻以降に書き換えられたアドレスのデータを差分データとして第１のストレージ装置に送信し、第１のストレージ装置側において、差分データに基づいて、復元時刻における第１のボリュームを復元するようにした。【選択図】  図２
2006302015.tif 000002
【特許請求の範囲】
【請求項１】
上位装置に接続され、前記上位装置から送信されるデータを記憶するための第１のボリュームを提供する第１のストレージ装置と、前記第１のストレージ装置に接続され、前記第１のボリュームのバックアップデータを記憶するための第２のボリュームを提供する第２のストレージ装置とを有するストレージシステムであって、
前記第１のストレージ装置は、
前記第１のボリュームに前記データの書き込みがあったときに、当該書き込みの内容を表すジャーナルを生成するジャーナル生成部
を備え、
前記第２のストレージ装置は、
所定のタイミングで前記第２のボリュームのスナップショットを取得するスナップショット取得部と、
前記第１のストレージ装置から送信される各前記ジャーナル及び前記スナップショット取得部により取得された前記スナップショットを記憶する記憶デバイスと、
前記上位装置から与えられる復元時刻を指定した復元命令に応じて、前記記憶デバイスに記憶された対応する前記ジャーナル及び前記スナップショットを利用して、前記復元時刻における前記第１のボリュームを復元するボリューム復元部と、
復元された前記復元時刻における前記第１のボリュームに記憶された前記データのうち、前記復元時刻以降に書き換えられたアドレスの前記データを差分データとして出力する差分データ出力部と
を備え、
前記第１のストレージ装置は、第２のストレージ装置から送信される前記差分データに基づいて、前記復元時刻における前記第１のボリュームを復元する
ことを特徴とするストレージシステム。
【請求項２】
前記第１のストレージ装置は、
前記上位装置から前記復元命令が与えられたときに、前記第１のボリュームに対する書込みを禁止し、
前記第２のストレージ装置から送信される前記差分データを前記第１のボリュームに適用するようにして、前記復元時刻における前記第１のボリュームを復元する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記第１のストレージ装置は、
前記上位装置から前記復元命令が与えられたときに前記第１のボリュームのスナップショットを取得し、
前記第２のストレージ装置から送信される前記差分データを前記第１のボリュームのスナップショットに適用するようにして、前記復元時刻における前記第１のボリュームを復元する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記上位装置は、
前記第１のボリュームを復元するための復元処理モードとして、第１及び第２の復元処理モードのいずれかを択一的に選択して設定するための所定の設定画面を表示すると共に、前記設定画面を用いて設定された前記復元処理モードに応じた前記復元命令を前記第１のストレージ装置に送信し、
前記第１のストレージ装置は、
前記復元命令に基づいて、前記第１の復元処理モードが設定されたときには、前記上位装置から前記復元命令が与えられたときに、前記第１のボリュームに対する書込みを禁止し、前記第２のストレージ装置から送信される前記差分データを前記第１のボリュームに適用するようにして、前記復元時刻における前記第１のボリュームを復元し、前記第２の復元処理モードが設定されたときには、前記上位装置から前記復元命令が与えられたときに前記第１のボリュームのスナップショットを取得し、前記第２のストレージ装置から送信される前記差分データを前記第１のボリュームのスナップショットに適用するようにして、前記復元時刻における前記第１のボリュームを復元する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記第２のストレージ装置の前記差分データ出力部は、
前記復元時刻から前記復元命令が与えられるまでの各前記ジャーナルと、前記第２のボリュームとのうちの演算量が少なくなるいずれか一方を用いて、前記復元時刻以降に書き換えられたアドレスを検出する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記第２のストレージ装置のスナップショット取得部は、
一定時間間隔で前記第２のボリュームのスナップショットを取得する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項７】
上位装置に接続され、前記上位装置から送信されるデータを記憶するための第１のボリュームを提供する第１のストレージ装置と、前記第１のストレージ装置に接続され、前記第１のボリュームのバックアップデータを記憶するための第２のボリュームを提供する第２のストレージ装置とを有するストレージシステムにおけるデータ管理方法であって、
前記第１のストレージ装置側において、前記第１のボリュームに前記データの書き込みがあったときに、当該書き込みの内容を表すジャーナルを生成して前記第２のストレージ装置に送信し、前記第２のストレージ装置側において、所定のタイミングで前記第２のボリュームのスナップショットを取得し、当該スナップショット及び前記第１のストレージ装置から送信される各前記ジャーナルを記憶する第１のステップと、
前記第２のストレージ装置側において、前記上位装置から与えられる復元時刻を指定した復元命令に応じて、前記記憶デバイスに記憶された対応する前記ジャーナル及び前記スナップショットを利用して、前記復元時刻における前記第１のボリュームを復元する第２のステップと、
前記第２のストレージ装置側において、復元された前記復元時刻における前記第１のボリュームに記憶された前記データのうち、前記復元時刻以降に書き換えられたアドレスの前記データを差分データとして前記第１のストレージ装置に送信する第３のステップと、
前記第１のストレージ装置側において、前記差分データに基づいて、前記復元時刻における前記第１のボリュームを復元する第４のステップと
を備えることを特徴とするデータ管理方法。
【請求項８】
前記第１のストレージ装置は、
前記第２のステップにおいて、前記上位装置から前記復元命令が与えられたときに、前記第１のボリュームに対する書込みを禁止し、
前記第４のステップにおいて、前記第２のストレージ装置から送信される前記差分データを前記第１のボリュームに適用するようにして、前記復元時刻における前記第１のボリュームを復元する
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項９】
前記第１のストレージ装置は、
前記第２のステップにおいて、前記上位装置から前記復元命令が与えられたときに前記第１のボリュームのスナップショットを取得し、
前記第４のステップにおいて、前記第２のストレージ装置から送信される前記差分データを前記第１のボリュームのスナップショットに適用するようにして、前記復元時刻における前記第１のボリュームを復元する
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項１０】
前記上位装置は、
前記第１のボリュームを復元するための復元処理モードとして、第１及び第２の復元処理モードのいずれかを択一的に選択して設定するための所定の設定画面を表示すると共に、前記設定画面を用いて設定された前記復元処理モードに応じた前記復元命令を前記第１のストレージ装置に送信し、
前記第１のストレージ装置は、
前記第２のステップにおいて、前記復元命令に基づいて、前記第１の復元処理モードが設定されたときには、前記上位装置から前記復元命令が与えられたときに、前記第１のボリュームに対する書込みを禁止すると共に、前記第４のステップにおいて、前記第２のストレージ装置から送信される前記差分データを前記第１のボリュームに適用するようにして、前記復元時刻における前記第１のボリュームを復元する一方、前記第２の復元処理モードが設定されたときには、前記第２のステップにおいて、前記上位装置から前記復元命令が与えられたときに前記第１のボリュームのスナップショットを取得すると共に、前記第４のステップにおいて、前記第２のストレージ装置から送信される前記差分データを前記第１のボリュームのスナップショットに適用するようにして、前記復元時刻における前記第１のボリュームを復元する
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項１１】
前記第２のストレージ装置は、
前記第３のステップにおいて、前記復元時刻から前記復元命令が与えられるまでの各前記ジャーナルと、前記第２のボリュームとのうちの演算量が少なくなるいずれか一方を用いて、前記復元時刻以降に書き換えられたアドレスを検出する
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項１２】
前記第２のストレージ装置は、
前記第１のステップにおいて、一定時間間隔で前記第２のボリュームのスナップショットを取得する
ことを特徴とする請求項７に記載のデータ管理方法。
【請求項１３】
上位装置に接続され、前記上位装置から送信されるデータを記憶する第１のボリュームを備える第１のストレージ装置と、
前記第１のストレージ装置と接続され、前記第１のボリュームのバックアップデータを記憶する第２のボリュームを備える第２のストレージ装置と、を有するストレージシステムであって、
前記第１のストレージ装置は、
前記第１のボリュームに前記データの書き込みがあった場合に当該書き込みの内容を表すジャーナルと、前記ジャーナルを前記第２のストレージ装置に送信する送信部と、を備え、
前記第２のストレージ装置は、
所定のタイミングで前記第２のボリュームのスナップショットを取得するスナップショット取得部と、
前記第１のストレージ装置から送信される前記ジャーナル及び前記スナップショット取得部により取得された前記スナップショットを記憶する記憶デバイスと、
前記上位装置から与えられる復元時刻が指定された復元命令に応じて、前記記憶デバイスに記憶された前記スナップショットと、前記記憶デバイスに記憶され、前記復元命令と前記スナップショットに関係する前記ジャーナルと、を用いて前記復元時刻における前記第１のボリュームに記憶されたデータ内容を復元する復元部と、
前記データ内容のうち、前記復元時刻より後に前記上位装置から書き込まれたアドレスに該当するデータを差分データとして前記第１のストレージ装置に対して送信する差分データ出力部と、
を備え、
前記第１のストレージ装置は、第２のストレージ装置から送信される前記差分データと、前記第１のボリュームと、に基づいて、前記復元時刻における前記第１のボリュームに記憶されたデータ内容を復元する
ことを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びデータ管理方法に関し、例えばストレージシステムに適用して好適なものである。
【背景技術】
【０００２】
従来、ストレージシステムでは、記憶しているデータの管理方法として、ボリュームに保存されたデータをバックアップし、ボリューム（そのボリュームに記憶されたデータも含む）に障害が発生したときにはバックアップデータを用いてボリュームを障害前の状態に復元することが広く行われている。
【０００３】
このようなストレージシステムにおけるバックアップ方法として、従来、ホスト装置から正側のボリュームにデータの書き込みがあったときに、その書き込みの内容（データ自体やそのデータが書き込まれたアドレス等）を表すいわゆるジャーナルを正側から副側に転送し、副側においてこのジャーナルに従って副側のボリュームに同じデータを同じアドレスに書き込む方法がある。この方法によれば、正側のボリュームとまったく同じ内容のボリュームを副側において作成することが可能となる。
【０００４】
またストレージシステムにおけるボリュームの復元方法としては、かかるジャーナルとストレージシステムのスナップショット機能とを利用して、任意時点での正側のボリュームの状態を復元可能とする方法が提案されている（特許文献１参照。）なお、スナップショットとは、ある時点における正側のボリュームの記憶イメージをいう。
【０００５】
この方法は、ジャーナルを順次蓄積すると共に、一定時間ごとに正側のボリュームのスナップショットを取得してこれを蓄積し、ある時刻（以下、これを復元時刻と呼ぶ）におけるボリュームの内容を復元する場合に、その復元時刻よりも取得時刻が過去で、かつその取得時刻が復元時刻に最も近いスナップショットに対して、当該スナップショットを取得した時刻から復元時刻までのジャーナルを古いものから順番に順次適用するものである。また、かかる特許文献１には、ジャーナルの蓄積量に第１及び第２の限界値を設け、ジャーナルの蓄積量が常に第１及び第２の限界値内に収まるように制御することで、不要なジャーナルの蓄積による記憶容量の圧迫を未然に防止することも開示されている。
【０００６】
さらにバックアック及びボリュームの復元処理方法として、副側に、リモートコピーにより正側のボリュームと同一内容に保たれるボリュームと、ある時点の正側のボリュームのバックアップデータを保持するボリュームとを設け、正側のボリュームを回復させるときには、まず副側のバックアップデータを保持したボリュームを副側のもう１つのボリュームにコピーし、この後このボリュームを正側のボリュームにコピーする方法も提案されている（特許文献２参照）。
【特許文献１】特開２００５−１８７３８号公報
【特許文献２】特開２００３−２３３５１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、従来のストレージシステムでは、特許文献１に開示された方法のように、ホスト装置からのデータを記憶する正側のボリュームと、バックアップデータを記憶する副側のボリュームとが同じストレージ装置内に設けられている。このため従来のストレージシステムでは、ストレージ装置におけるバックアップ処理のための処理負荷や、バックアップデータを記憶するための容量負荷が大きく、バックアップ処理とホスト装置からのデータ入出力要求とが競合して当該データ入出力要求に対する応答性が悪化したり、ホスト装置からのデータを記憶するための記憶容量を圧迫するという問題があった。
【０００８】
上記特許文献１に開示された方法によっても、ストレージ装置におけるバックアップ処理のための処理負荷や容量負荷は依然として大きい問題であり、十分な解決方法とは言い得ない。
【０００９】
また上記特許文献２では、正側のボリュームをメイン側のストレージ装置に設けると共に副側のボリュームをサブ側のストレージ装置に設けることが開示されているものの、副側のボリュームをそのままコピーすることは、サブ側のストレージ装置と、ホスト装置からのデータを受け付けるメイン側のストレージ装置との間での転送負荷が大きくなる問題や、メイン側のストレージ装置の処理負荷が大きくなり、ホスト装置に対する応答性を悪化させる問題がある。
【００１０】
本発明は以上の点を考慮してなされたもので、バックアップ処理及びボリューム復元処理に対するメイン側のストレージ装置の処理負荷及び容量負荷を格段的に低減し得るストレージシステム及びデータ管理方法を提案しようとするものである。
【課題を解決するための手段】
【００１１】
かかる課題を解決するため本発明においては、上位装置に接続され、前記上位装置から送信されるデータを記憶するための第１のボリュームを提供する第１のストレージ装置と、前記第１のストレージ装置に接続され、前記第１のボリュームのバックアップデータを記憶するための第２のボリュームを提供する第２のストレージ装置とを有するストレージシステムであって、前記第１のストレージ装置は、前記第１のボリュームに前記データの書き込みがあったときに、当該書き込みの内容を表すジャーナルを生成するジャーナル生成部  を備え、前記第２のストレージ装置は、所定のタイミングで前記第２のボリュームのスナップショットを取得するスナップショット取得部と、前記第１のストレージ装置から送信される各前記ジャーナル及び前記スナップショット取得部により取得された前記スナップショットを記憶する記憶デバイスと、前記上位装置から与えられる復元時刻を指定した復元命令に応じて、前記記憶デバイスに記憶された対応する前記ジャーナル及び前記スナップショットを利用して、前記復元時刻における前記第１のボリュームを復元するボリューム復元部と、復元された前記復元時刻における前記第１のボリュームに記憶された前記データのうち、前記復元時刻以降に書き換えられたアドレスの前記データを差分データとして出力する差分データ出力部とを備え、前記第１のストレージ装置は、第２のストレージ装置から送信される前記差分データに基づいて、前記復元時刻における前記第１のボリュームを復元するようにした。
【００１２】
この結果、このストレージシステムでは、第１のストレージ装置がバックアップデータを保持することに起因する第１のストレージ装置の記憶容量の圧迫を有効に防止しながら、第１のストレージ装置に負担を与えることなく、第１のボリュームを復元することができる。
【００１３】
また本発明においては、上位装置に接続され、前記上位装置から送信されるデータを記憶するための第１のボリュームを提供する第１のストレージ装置と、前記第１のストレージ装置に接続され、前記第１のボリュームのバックアップデータを記憶するための第２のボリュームを提供する第２のストレージ装置とを有するストレージシステムにおけるボリューム復元方法であって、前記第１のストレージ装置側において、前記第１のボリュームに前記データの書き込みがあったときに、当該書き込みの内容を表すジャーナルを生成して前記第２のストレージ装置に送信し、前記第２のストレージ装置側において、所定のタイミングで前記第２のボリュームのスナップショットを取得し、当該スナップショット及び前記第１のストレージ装置から送信される各前記ジャーナルを記憶する第１のステップと、前記第２のストレージ装置側において、前記上位装置から与えられる復元時刻を指定した復元命令に応じて、前記記憶デバイスに記憶された対応する前記ジャーナル及び前記スナップショットを利用して、前記復元時刻における前記第１のボリュームを復元する第２のステップと、前記第２のストレージ装置側において、復元された前記復元時刻における前記第１のボリュームに記憶された前記データのうち、前記復元時刻以降に書き換えられたアドレスの前記データを差分データとして前記第１のストレージ装置に送信する第３のステップと、前記第１のストレージ装置側において、前記差分データに基づいて、前記復元時刻における前記第１のボリュームを復元する第４のステップとを備えるようにした。
【００１４】
この結果、このデータ管理方法によれば、第１のストレージ装置がバックアップデータを保持することに起因する第１のストレージ装置の記憶容量の圧迫を有効に防止しながら、第１のストレージ装置に負担を与えることなく、第１のボリュームを復元することができる。
【００１５】
さらに本発明においては、上位装置に接続され、前記上位装置から送信されるデータを記憶する第１のボリュームを備える第１のストレージ装置と、前記第１のストレージ装置と接続され、前記第１のボリュームのバックアップデータを記憶する第２のボリュームを備える第２のストレージ装置と、を有するストレージシステムであって、前記第１のストレージ装置は、前記第１のボリュームに前記データの書き込みがあった場合に当該書き込みの内容を表すジャーナルと、前記ジャーナルを前記第２のストレージ装置に送信する送信部と、を備え、前記第２のストレージ装置は、所定のタイミングで前記第２のボリュームのスナップショットを取得するスナップショット取得部と、前記第１のストレージ装置から送信される前記ジャーナル及び前記スナップショット取得部により取得された前記スナップショットを記憶する記憶デバイスと、前記上位装置から与えられる復元時刻が指定された復元命令に応じて、前記記憶デバイスに記憶された前記スナップショットと、前記記憶デバイスに記憶され、前記復元命令と前記スナップショットに関係する前記ジャーナルと、を用いて前記復元時刻における前記第１のボリュームに記憶されたデータ内容を復元する復元部と、前記データ内容のうち、前記復元時刻より後に前記上位装置から書き込まれたアドレスに該当するデータを差分データとして前記第１のストレージ装置に対して送信する差分データ出力部と、を備え、前記第１のストレージ装置は、第２のストレージ装置から送信される前記差分データと、前記第１のボリュームと、に基づいて、前記復元時刻における前記第１のボリュームに記憶されたデータ内容を復元するようにした。
【００１６】
この結果、このストレージシステムでは、第１のストレージ装置がバックアップデータを保持することに起因する第１のストレージ装置の記憶容量の圧迫を有効に防止しながら、第１のストレージ装置に負担を与えることなく、第１のボリュームを復元することができる。
【発明の効果】
【００１７】
本発明によれば、バックアップ処理及びボリューム復元処理に対するメイン側のストレージ装置である第１のストレージ装置の処理負荷及び容量負荷を格段的に低減することができる。
【発明を実施するための最良の形態】
【００１８】
以下図面について、本発明の一実施の形態を詳述する。
【００１９】
（１）第１の実施の形態
（１−１）本実施の形態によるストレージシステムの構成
図１は、本実施の形態によるストレージシステム１を示す。ストレージシステム１は、ホスト装置２がネットワーク３を介して第１のストレージ装置４と接続されると共に、この第１のストレージ装置４にデータバックアップ用の第２のストレージ装置５が接続されて構成されている。
【００２０】
ホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリを備えたコンピュータである。ホスト装置２が備えるＣＰＵにより各種プログラムが実行されることによって、様々な機能が実現される。ホスト装置２は、例えばパーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等により構成される。
【００２１】
ホスト装置２は、ネットワーク３を介して第１のストレージ装置４に対してデータの入出力を行うことができる。ネットワークとして３は、例えばＬＡＮ、ＳＡＮ、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。このネットワーク３を介したホスト装置２及び第１のストレージ装置４間の通信は、例えばネットワーク３がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク３がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００２２】
第１のストレージ装置４は、複数のチャネルアダプタ１０Ａ、複数のディスクアダプタ１１Ａ、キャッシュメモリ１２Ａ、共有メモリ１３Ａ及び複数の記憶デバイス１４Ａを備えて構成されている。
【００２３】
チャネルアダプタ１０Ａは、第１のストレージ装置４に接続された外部の装置（例えば、ホスト装置２や第２のストレージ装置５）との間でデータや各種コマンド等の送受信を行う送受信部としての機能を有するものであり、通信ポートを備えている。各チャネルアダプタ１０Ａは、それぞれマイクロプロセッサ（ＭＰ：Micro Processor）や内部メモリ等を備えたマイクロコンピュータシステムとして構成され、外部の装置から受信した各種コマンドを解釈して実行する。チャネルアダプタ１０Ａの各通信ポートには、それぞれを識別するためのネットワークアドレス（例えばＩＰ（Internet Protocol）アドレスやＷＷＮ（World Wide Name））が割り当てられており、その場合、チャネルアダプタ１０Ａは、それぞれが個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになっている。また、各チャネルアダプタ１０Ａは、かかる内部メモリに格納された制御プログラムを実行することで各種処理を行うことができ、これにより例えば後述のバックアップ処理や復元処理を実行することができる。
【００２４】
ディスクアダプタ１１Ａは、記憶デバイス１４Ａとの間のデータ授受を行うためのものであり、冗長性をもたせるため２つが一対となって同じ記憶デバイス１４Ａに接続されている。各ディスクアダプタ１１Ａは、ＣＰＵやメモリ等を備えたマイクロコンピュータシステムとして構成されている。
【００２５】
各ディスクアダプタ１１Ａは、チャネルアダプタ１０Ａからの指示に従って、記憶デバイス１４Ａにデータを書き込んだり、記憶デバイス１４Ａからデータを読み出す処理を行う。記憶デバイス１４Ａとの間でデータ入出力を行う場合、各ディスクアダプタ１１Ａは、ホスト装置２により指定される論理的なアドレスを物理的なアドレスに変換する。各ディスクアダプタ１１Ａは、記憶デバイス１４ＡがＲＡＩＤに従って管理されている場合は、ＲＡＩＤ構成に応じたデータアクセスを行う。
【００２６】
キャッシュメモリ１２Ａは、ホスト装置２から受信したデータや記憶デバイス１４Ａから読み出したデータ等を一時的に記憶するためのメモリである。共有メモリ１３Ａには、第１のストレージ装置４の動作を制御するための制御情報などが格納される。
【００２７】
これらチャネルアダプタ１０Ａ、ディスクアダプタ１１Ａ、キャッシュメモリ１２Ａ及び共有メモリ１３Ａは、ＬＡＮ１５Ａを通じて相互に接続されており、このＬＡＮ１５Ａを通じて必要なコマンドやデータを送受できるようになされている。
【００２８】
記憶デバイス１４Ａは、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスクドライブ、又はＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクデバイスから構成される。１又は複数のディスクデバイスにより提供される物理的な記憶領域上に、１又は複数の論理的なボリューム（以下、これを論理ボリュームと呼ぶ）が設定される。そしてデータは、この論理ボリュームに記憶される。
【００２９】
第２のストレージ装置５は、記憶デバイス１４Ｂとして、ＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクデバイスが用いられる点を除いて第１のストレージ装置４と同様に構成されている。図１では、第２のストレージ装置５の各構成要素について、第１のストレージ装置４の構成要素と同一部分に、同一符号に添え字「Ａ」に代えて添え字「Ｂ」を付している。第２のストレージ装置５は、第１のストレージ装置４とケーブル又はＬＡＮ等の信号線１６を介して接続されており、この信号線１６を通じて必要なコマンドやデータを第１のストレージ装置４との間で送受し得るようになされている。
【００３０】
第２のストレージ装置５においても、当該第２のストレージ装置５内の記憶デバイス１４Ｂにより提供される物理的な記憶領域上に１又は複数の論理ボリュームが設定され、後述のようにこの論理ボリュームに第１のストレージ装置４のバックアップデータ等の各種データが記憶される。
【００３１】
ここで、このストレージシステム１におけるホスト装置２及び第１のストレージ装置４間のデータの入出力の流れについて説明する。ホスト装置２は、ユーザ操作により第１のストレージ装置４内の論理ボリュームに対してデータを書き込むべき旨の指令が入力されると、これに応じたデータ書込み要求及び書込み対象のデータを第１のストレージ装置４の所定のチャネルアダプタ１０Ａに送信する。
【００３２】
このデータ書込み要求を受信したチャネルアダプタ１０Ａは、書込みコマンドを共有メモリ１３Ａに書き込むと共に、かかる書込み対象のデータをキャッシュメモリ１２Ａに書き込む。一方、ディスクアダプタ１１Ａは共有メモリ１３Ａを常時監視しており、共有メモリ１３Ａに書込みコマンドが書き込まれたことを検出すると、論理アドレス指定によるデータ書込み要求を物理アドレス指定によるデータ書込み要求に変換し、さらにキャッシュメモリ１２Ａから書込み対象のデータを読み出して、これを対応する記憶デバイス１４Ａの対応するアドレス位置に書き込む。
【００３３】
これに対して、ホスト装置２は、ユーザ操作により第１のストレージ装置４内の所定の論理ボリュームに記憶されているデータの読出し指令が入力されると、これに応じたデータ読出し要求を第１のストレージ装置４内の所定のチャネルアダプタ１０Ａに送信する。
【００３４】
このデータ読出し要求を受信したチャネルアダプタ１０Ａは、読出しコマンドを共有メモリ１２Ａに書き込む。またディスクアダプタ１１Ａは共有メモリ１２Ａに読出しコマンドが書き込まれたことを検出すると、論理アドレス指定によるデータ読出し要求を物理アドレス指定によるデータ読出し要求に変換して、このアドレスに基づいて対応する記憶デバイス１４Ａの対応するアドレス位置から指定されたデータを読み出させる。
【００３５】
またディスクアダプタ１１Ａは、この記憶デバイス１４Ａから読み出したデータをキャッシュメモリ１２Ａに書き込むと共に、読出しコマンドを共有メモリ１３Ａに書き込む。このとき、チャネルアダプタ１０Ａは共有メモリ１３Ａを常時監視しており、共有メモリ１３Ａに読出しコマンドが書き込まれたことを検出すると、この読出しコマンドに従ってキャッシュメモリ１２Ａから対応するデータを読み出し、これをネットワーク３を介して対応するホスト装置２に送信する。
【００３６】
（１−２）バックアップ処理及びボリューム復元処理
次に、かかるストレージシステム１におけるバックアップ処理及びボリューム復元処理に関するデータ管理方法について、図２〜図４を参照して説明する。本実施の形態によるストレージシステム１では、ある時刻における第１のストレージ装置４内の論理ボリュームの内容を復元するボリューム復元処理を第２のストレージ装置５内で行い、現在の論理ボリュームの内容との差分だけを第２のストレージ装置５から第１のストレージ装置４に与え、これに基づいて第１のストレージ装置５の論理ボリュームを指定された時刻の状態に復元することを特徴の１つとしている。
【００３７】
図２は、かかるバックアップ処理及びボリューム復元処理の内容を概略的に示した概念図である。また図３及び図４は、このストレージシステム１におけるバックアップ処理及びボリューム復元処理に関する第１及び第２のストレージ装置４，５の具体的な処理手順を示したフローチャートである。またなお、以下においては、第１のストレージ装置４内のデータを入出力するための論理ボリュームを正論理ボリュームＶＯＬP（図２）と呼び、そのバックアップ用として第２のストレージ装置５内に設けられた論理ボリュームを副論理ボリュームＶＯＬS（図２）と呼ぶものとする。
【００３８】
第１のストレージ装置４のチャネルアダプタ（以下、これを正側チャネルアダプタと呼ぶ）１０Ａは、初期時、図３に示すバックアップ・ボリューム復元処理手順ＲＴ１に従って、ホスト装置２から何らかの入出力（以下、これをホストＩ／Ｏと呼ぶ）を待機モードで待つ（ＳＰ１）。ホストＩ／Ｏには、データ入出力要求のほか、所望時刻における正論理ボリュームの復元命令である復元コマンドという本発明で使用する命令系コマンドも含まれる。
【００３９】
やがて正側チャネルアダプタ１０Ａは、ホスト装置２からのホストＩ／Ｏを受信すると（ＳＰ１；ＹＥＳ）、現在、第１のストレージ装置４が、対応する正論理ボリュームＶＯＬPに書き込みを許可する書込み許可モードに設定されているか否かをチェックする（ＳＰ２）。第１のストレージ装置４は、通常、書込み許可モードに設定されているが、後述のようにボリューム復元処理時にはその正論理ボリュームＶＯＬPに対する書き込みを禁止する書込み禁止モードに設定される。
【００４０】
そして正側チャネルアダプタ１０Ａは、その正論理ボリュームＶＯＬPに対するモードが書込み禁止モードに設定されていた場合には（ＳＰ２；ＮＯ）、ホスト装置２にその旨を通知するなどの所定のエラー処理を実行する（ＳＰ３）。これに対して、正側チャネルアダプタ１０Ａは、当該正論理ボリュームＶＯＬPに対するモードが書込み許可モードに設定されていた場合には（ＳＰ２；ＹＥＳ）、そのホストＩ／Ｏが復元コマンドであるか否かをチェックする（ＳＰ４）。
【００４１】
正側チャネルアダプタ１０Ａは、かかるホストＩ／Ｏが復元コマンドでない場合（ＳＰ４；ＮＯ）には、当該ホストＩ／Ｏがデータ書込み要求であるか否かをチェックする（ＳＰ５）。そして正側チャネルアダプタ１０Ａは、ホストＩ／Ｏがデータ書込み要求でない、例えばデータ読出し要求等のコマンドであった場合には（ＳＰ５；ＮＯ）、そのホストＩ／Ｏに応じた対応する所定の処理を実行し（ＳＰ６）、この後再びホスト装置２からのホストＩ／Ｏを待ち受ける待機モードに戻る（ＳＰ１）。
【００４２】
一方、正側チャネルアダプタ１０Ａは、ホストＩ／Ｏがデータ書込み要求であった場合には（ＳＰ５；ＹＥＳ）、このホストＩ／Ｏ（データ書込み要求コマンド）に従って通常の書込み処理を実行する（ＳＰ７）。具体的には、正側チャネルアダプタ１０Ａは、このホストＩ／Ｏに基づくデータ書込み要求コマンドを共有メモリ１３Ａに書き込むと共に、当該ホストＩ／Ｏと共にホスト装置２から送信される書込み対象のデータをキャッシュメモリ１２Ａに書き込む。これによりこのデータが上述のようにディスクアダプタ１１Ａによって対応する記憶デバイス１４Ａ内の対応するアドレス位置に書き込まれることとなる。
【００４３】
また正側チャネルアダプタ１０Ａは、この後、そのデータ書き込みに対する１エントリ分のジャーナル２０（図５）を作成する（ＳＰ８）。本実施の形態の場合、ジャーナル２０は、図５に示すように、シーケンス番号フィールド２１、アクセス時刻フィールド２２、書込み先アドレスフィールド２３及びデータフィールド２４から構成される。そしてジャーナルのシーケンスフィールド２１にはシーケンス番号が格納され、アクセス時刻フィールド２２にはそのデータの書き込みが行われた日時が格納され、書込み先アドレスフィールド２３にはそのデータの書き込み先の論理アドレスが格納され、データフィールド２４には実際に正論理ボリュームＶＯＬPに書き込まれたデータが格納される。
【００４４】
そして正側チャネルアダプタ１０Ａは、このジャーナル２０のデータでなるジャーナルデータを、予め第１のストレージ装置４内に設けられたジャーナル用の論理ボリューム（以下、これを正側ジャーナル論理ボリュームと呼ぶ）ＶＯＬMJ（図２）に格納する共に、この１エントリ分のジャーナルデータを第２のストレージ装置５に送信する（ＳＰ９）。なお、正側ジャーナル論理ボリュームＶＯＬMJは、例えば第１のストレージ装置４内の記憶デバイス１４Ａに設けることができる。
【００４５】
第２のストレージ装置５では、第１のストレージ装置４から送信されるジャーナルデータを対応するチャネルアダプタ（以下、これを副側チャネルアダプタと呼ぶ）１０Ｂにおいて受信する。そして、かかる副側チャネルアダプタ１０Ｂは、受信したジャーナルデータを、ジャーナル保存用に予め第２のストレージ装置５内に設けられた論理ボリューム（以下、これを副側ジャーナル論理ボリュームと呼ぶ）ＶＯＬRJ（図２）に格納する（ＳＰ１０）。なお、副側ジャーナル論理ボリュームＶＯＬRJは、例えば第２のストレージ装置５内の記憶デバイス１４Ｂに設けることができる。
【００４６】
また、かかる副側チャネルアダプタ１０Ｂは、このジャーナルデータに基づくジャーナル２０のデータフィールド２４（図５）に格納されたデータを、副論理ボリュームＶＯＬSにおける当該ジャーナル２０の書込み先アドレスフィールド２３（図５）に格納されているアドレス位置に書き込ませる（ＳＰ１１）。具体的に、副側チャネルアダプタ１０Ｂは、ステップＳＰ７について上述したデータ書込み処理と同様の処理を行う。これにより正論理ボリュームＶＯＬPに書き込まれたデータと同一のデータ、つまり正論理ボリュームＶＯＬPのバックアップデータが副論理ボリュームＶＯＬSに格納されることとなる。そしてこの副側チャネルアダプタ１０Ｂは、この後、かかるデータを書き終えた旨の通知を第１のストレージ装置４に送信する。
【００４７】
この通知を受けた第１のストレージ装置４の正側チャネルアダプタ１０Ａは、上述のステップＳＰ８において作成したそのデータについてのジャーナル２０のエントリを正側ジャーナル論理ボリュームＶＯＬMJから削除する（ＳＰ１２）。
【００４８】
またこの通知を送信した副側チャネルアダプタ１０Ｂは、副側ジャーナル論理ボリュームＶＯＬRJに格納されたジャーナル２０のデータ量（以下、これをジャーナルデータ量と呼ぶ）が予め設定された第１の限界値を超えたか否かをチェックする（ＳＰ１３）。
【００４９】
そして、副側チャネルアダプタ１０Ｂは、副側ジャーナル論理ボリュームＶＯＬRJに格納されたジャーナルデータ量が第１の限界値を超えていないときには（ＳＰ１３；ＮＯ）、再びホスト装置２からのホストＩ／Ｏを待ち受ける待受けモードに戻る（ＳＰ１）。これに対して副側チャネルアダプタ１０Ｂは、かかるジャーナルデータ量が第１の限界値を超えていたときには（ＳＰ１３；ＹＥＳ）、ジャーナルデータ量を減らすための所定のジャーナル削除処理を実行する（ＳＰ１４）。
【００５０】
具体的に、副側チャネルアダプタ１０Ｂには、図６（Ａ）に示すように、ジャーナルデータ量の限界値として第１の限界値とこれより少ない第２の限界値とが予め与えられている。そして副側チャネルアダプタ１０Ｂは、図６（Ｂ）に示すように、ジャーナルデータ量が第１の限界値に達した場合には、図６（Ｃ）に示すように、ジャーナルデータ量が第２の限界値に達するまでジャーナル２０のエントリを古いものから順番に削除する。
【００５１】
また、このとき副側チャネルアダプタ１０Ｂは、図７（Ａ）に示すように、後述するスナップショット論理ボリュームＶＯＬSS（図２）に格納された幾つかのスナップショット２５（図２）のうち、最古のスナップショット２５Ａに対して、削除しようとするジャーナル２０を古いエントリから順番に順次適用することにより、図７（Ｂ）に示すように、新たに最古のスナップショット２５Ｃを取得する。このようにして副側チャネルアダプタ１０Ｂは、復元のためのジャーナル２０のエントリを一定量確保しながら、不要なジャーナル２０のエントリを削除する。
【００５２】
そして副側チャネルアダプタ１０Ｂは、かかるジャーナル２０の削除処理を終えると、この後再びホスト装置２からのホストＩ／Ｏを待ち受ける待受けモードに戻り（ＳＰ１）、この後同様の処理を繰り返す（ＳＰ１〜ＳＰ１４−ＳＰ１）。
【００５３】
この際、副側チャネルアダプタ１０Ｂは、上述のようにして正論理ボリュームＶＯＬPと同じデータが格納された副論理ボリュームＶＯＬSを利用して、副論理ボリュームＶＯＬSのスナップショット２５を一定時間（例えば１又は数時間）ごとに取得し、そのデータを予め設定されたスナップショット用の論理ボリュームでなる上述のスナップショット論理ボリュームＶＯＬSSに順次格納する。
【００５４】
また、かかる副側チャネルアダプタ１０Ｂは、これと共に例えば図８に示すようなそのスナップショット２５のシーケンス番号と、そのスナップショット２５が取得された日時と、スナップショット論理ボリュームＶＯＬSSにおけるそのスナップショット２５のデータが格納されているアドレスとなどをスナップショット管理用に作成されたスナップショット管理テーブル２６（図）に登録し、このスナップショット管理テーブル２６をスナップショット論理ボリュームＶＯＬSSに保存する。
【００５５】
他方、正側チャネルアダプタ１０Ａ及び副側チャネルアダプタ１０Ｂは、やがてホスト装置２から復元コマンドが与えられると（ＳＰ５；ＹＥＳ）、指定された復元時刻の正論理ボリュームＶＯＬPを復元するボリューム復元処理を実行する（ＳＰ１５）。
【００５６】
具体的には、図４に示す第１のボリューム復元処理手順ＲＴ２に従って、まず正側チャネルアダプタ１０Ａが、自己及び他の正側チャネルアダプタ１０Ａに対して復元対象の正論理ボリュームＶＯＬPに対するデータの書込みを禁止するデータ書込み禁止モードを設定する（ＳＰ２０）。また、この正側チャネルアダプタ１０Ａは、この後復元時刻を指定したその正論理ボリュームＶＯＬPの復元命令と、当該正論理ボリュームＶＯＬPに最後に書き込みがあった時刻とを第２のストレージ装置５に送信する（ＳＰ２１）。
【００５７】
復元命令を受信した副側チャネルアダプタ１０Ｂは、スナップショット論理ボリュームＶＯＬSSに保存されているスナップショット管理テーブル２６を参照して、復元時刻よりも過去で、かつ復元時刻に最も近い時刻に取得されたスナップショット２５を選択する（ＳＰ２２）。また副側チャネルアダプタ１０Ｂは、この後選択したスナップショット２５の取得後、復元時刻までの間のすべてのジャーナル２０のエントリを取得時刻の早いものから順番に副側ジャーナル論理ボリュームＶＯＬRJから読み出し、これらをステップＳＰ２２において選択したスナップショット２６に順次適用（リストア）することにより、指定された復元時刻の正論理ボリュームＶＯＬPのスナップショットを取得する（ＳＰ２３）。なお、以下においては、このスナップショットを復元ボリュームＶＯＬRと呼ぶ。
【００５８】
さらにかかる副側チャネルアダプタ１０Ｂは、復元時刻から復元のジャーナル２０のエントリ数が正論理ボリュームＶＯＬP内のブロック数よりも大きいか否かを判断する（ＳＰ２４）。そして副側チャネルアダプタ１０Ｂは、否定結果を得た場合には（ＳＰ２４；ＮＯ）、かかる復元時刻以降の各ジャーナル２０の各エントリのデータを用いて、復元時刻以降に書き換えられた各ブロックのアドレスを抽出する（ＳＰ２５）。具体的には、副側チャネルアダプタ１０Ｂは、復元時刻以降の各ジャーナル２０の書込み先アドレスフィールド２３（図５）に格納されているアドレスを抽出する。
【００５９】
これに対して副側チャネルアダプタ１０Ｂは、ステップＳＰ１９において肯定結果を得た場合には（ＳＰ２４；ＹＥＳ）、復元ボリュームＶＯＬRを用いて、復元時刻以降に書き換えられた各ブロックのアドレスを抽出する（ＳＰ２６）。具体的には、副側チャネルアダプタ１０Ｂは、副論理ボリュームＶＯＬSに格納されている正論理ボリュームＶＯＬPのバックアップデータと、復元ボリュームＶＯＬRのデータとをブロック毎に順次比較してデータの異なるブロックを見つけ出すことで、かかるアドレスを抽出する。
【００６０】
そして副側チャネルアダプタ１０Ｂは、この後この抽出結果に基づいて、復元ボリュームＶＯＬRに記憶されたデータのうち、復元時刻以降に書き換えられたアドレス、つまり復元ボリュームＶＯＬR及び現在の正論理ボリュームＶＯＬP間でデータが異なる各ブロックのアドレスと、そのブロックの復元時刻におけるデータ、つまり復元ボリュームＶＯＬRのそのブロックのデータとを対応付けた図９に示すような差分データＤ１を生成し（ＳＰ２７）、これを第１のストレージ装置４に送信する（ＳＰ２８）。
【００６１】
この差分データＤ１を受信した正側チャネルアダプタ１０Ａは、この差分データＤ１に基づいて、指定された復元時刻の正論理ボリュームＶＯＬPを復元する（ＳＰ２９）。具体的に、正側チャネルアダプタ１０Ａは、正論理ボリュームＶＯＬPの各ブロックに格納されたデータのうち、差分データＤ１として復元時刻のデータが与えられた各ブロックについて、そのデータを現在の正論理ボリュームＶＯＬPの対応するアドレス位置に上書きする。これにより指定された復元時刻の正論理ボリュームＶＯＬP´を得ることができる。
【００６２】
そしてかかる正側チャネルアダプタ１０Ａは、この後自己及び他の正側チャネルアダプタ１０Ａに対して、復元した正論理ボリュームＶＯＬP´に対する書き込みを許可する書込み許可モードを再設定する（ＳＰ３０）。さらに正側チャネルアダプタは、この後このボリューム復元処理を終了して、再びホスト装置２からのホストＩ／Ｏを待ち受ける待受けモードに戻る（ＳＰ１）。
【００６３】
このようにこのストレージシステム１では、ある時刻における正論理ボリュームＶＯＬPの復元処理を第２のストレージ装置５内で行うようにしているため、バックアップ処理及びボリューム復元処理に対するメイン側のストレージ装置である第１のストレージ装置４の処理負荷を格段敵に低減させることができる。
【００６４】
またこのストレージシステム１では、第２のストレージ装置５において行ったボリューム復元処理の処理結果を正論理ボリュームＶＯＬPに反映させる際に、第２のストレージ装置５から現在の正論理ボリュームＶＯＬPとの差分のみを第１のストレージ装置５に送信するようにしているため、例えば第２のストレージ装置５において復元した正論理ボリュームＶＯＬPのデータをすべて第１のストレージ装置４に転送して現在の正論理ボリュームＶＯＬPのデータを置き換えるようにする場合に比べて、第１のストレージ装置４の処理負荷をより一層と低減することができる。
【００６５】
さらにこのストレージシステム１では、副論理ボリュームＶＯＬSや副側ジャーナル論理ボリュームＶＯＬRJを第２のストレージ装置５に配置すると共に、第１のストレージ装置４において作成したジャーナル２０についても、副論理ボリュームＶＯＬSへの反映が完了した後に直ちに削除するようにしているため、第１のストレージ装置４においてバックアップのために保持するデータを最低限度のものだけにすることができる。かくするにつきこのストレージシステム１では、バックアップ用の各種データを保持することに起因する第１のストレージ装置４の記憶容量の圧迫を未然かつ有効に防止して、バックアップ処理及びボリューム復元処理に関する第１のストレージ装置４の容量負荷を格段的に低減することができる。
【００６６】
さらにこのストレージシステム１では、第２のストレージ装置５において差分データＤ１を生成する際に、復元時刻以降の各ジャーナル２０と、第２のストレージ装置５において保持している副論理ボリュームＶＯＬSとのうち、演算量が少なくなる方のデータを用いるようにしているため、かかるボリューム復元処理における第２のストレージ装置５の処理負荷をも低減することができる。
【００６７】
（２）第２の実施の形態
図１との対応部分に同一符号を付して示す図１０は、第２の実施の形態によるストレージシステム３０を示す。このストレージシステム３０は、バックアップ処理及びボリューム復元処理に関する第１のストレージ装置３１の正側チャネルアダプタ３３Ａ及び第２のストレージ装置３２の副側チャネルアダプタ３３Ｂの処理内容が異なる点を除いて第１の実施の形態によるストレージシステム１（図１）と同様に構成されている。
【００６８】
実際上、このストレージシステム３０の場合、図１１に示すように、第１のストレージ装置３１は、ホスト装置２から復元コマンドが与えられたときに、その復元コマンドが与えられた時点の正論理ボリュームＶＯＬPのスナップショット３４を取得し、この後第１の実施の形態と同様にして得られた差分データＤ１をこのスナップショット３４に適用するようにして、指定された復元時刻の正論理ボリュームＶＯＬPのスナップショット３５を取得するようになされている。
【００６９】
図１２は、このようなバックアップ処理及びボリューム復元処理に関する第１及び第２のストレージ装置３１，３２の具体的な処理のうち、ボリューム復元処理の手順を示すフローチャートである。以下、図１１及び図１２を用いてこのストレージシステム３０におけるボリューム復元処理の処理手順について説明する。
【００７０】
第１のストレージ装置３１のチャネルアダプタである正側チャネルアダプタ３３Ａ及び第２のストレージ装置３２のチャネルアダプタである副側チャネルアダプタ３３Ｂは、通常時、第１の実施の形態の正側チャネルアダプタ１０Ａ（図１）及び副側チャネルアダプタ１０Ｂ（図１）と同様にして、図３について上述したバックアップ・ボリューム復元処理手順ＲＴ１のステップＳＰ１〜ステップＳＰ１４を繰り返し処理する。そして正側チャネルアダプタ３３Ａ及び副側チャネルアダプタ３３Ｂは、やがてホスト装置２から復元コマンドが与えられると（ＳＰ４；ＹＥＳ）、図１２に示す第２のボリューム復元処理手順ＲＴ３に従って、ボリューム復元処理を実行する（ＳＰ１５）。
【００７１】
すなわち正側チャネルアダプタ３３Ａは、まず復元コマンドがホスト装置２から与えられた時点の正論理ボリュームＶＯＬPのスナップショット３４を取得し、そのデータを予め設定された所定のスナップショット論理ボリュームＶＯＬMSSに格納する。また正側チャネルアダプタ３３Ａは、この後その正論理ボリュームＶＯＬPの復元時刻を指定した復元命令と、当該正論理ボリュームＶＯＬPに最後に書き込みがあった時刻とを第２のストレージ装置３２に送信する（ＳＰ４０）。
【００７２】
この後、正側チャネルアダプタ３３Ａ及び副側チャネルアダプタ３３Ｂは、この第２のボリューム復元処理手順ＲＴ３のステップＳＰ４１〜ステップＳＰ４８を、図４について上述した第１のボリューム復元処理手順ＲＴ２のステップＳＰ２１〜ステップＳＰ２８と同様に処理する。この結果、第２のストレージ装置３２側において図９について上述した差分データＤ１が生成され、これが第１のストレージ装置３１に送信される。
【００７３】
この差分データＤ１を受信した正側チャネルアダプタ３３Ａは、この差分データＤ１を、第１のストレージ装置３１のスナップショット論理ボリュームＶＯＬMSSに格納されている、この第２のボリューム復元処理手順ＲＴ３のステップＳＰ４０において取得したスナップショット３４に適用する（ＳＰ４９）。具体的に、正側チャネルアダプタ３３Ａは、差分データＤ１に含まれる各データをそれぞれスナップショット３４の対応するアドレスに上書きするようにする。また、正側チャネルアダプタ３３Ａは、かかるスナップショット３４にそのデータを上書きすべきデータが存在しないときには、差分データＤ１に含まれるデータを新たにそのスナップショット３４に登録するようにする。これにより指定された復元時刻の正論理ボリュームＶＯＬPのスナップショット３５を得ることができる。
【００７４】
そして正側チャネルアダプタ３３Ａは、この後この第２のボリューム復元処理手順ＲＴ３を終了して、再びホスト装置２からのホストＩ／Ｏを待ち受ける待機モードに戻る（図３のＳＰ１）。
【００７５】
このようにこのストレージシステム３０では、ホスト装置２から復元コマンドが与えられた時点での正論理ボリュームＶＯＬPのスナップショット３４を取得し、このスナップショット３４に差分データＤ１を適用して、指定された復元時刻の正論理ボリュームＶＯＬPのスナップショット３５を取得（正論理ボリュームＶＯＬPを復元）するようにしているため、ボリューム復元処理を行っている最中でも正論理ボリュームＶＯＬPに対するホスト装置２からのデータ書込み要求を禁止する必要がない。従って、このストレージシステム３０では、例えば上書きしたデータのある時刻の内容を確認したいといった要求にも、当該正論理ボリュームＶＯＬPへのデータ書込みを禁止することなく、容易に対応することができる。
【００７６】
（３）第３の実施の形態
図１との対応部分に同一符号を付して示す図１３は、第３の実施の形態によるストレージシステム４０を示す。このストレージシステム４０は、ボリューム復元処理のモードとして、第１の実施の形態のように正論理ボリュームＶＯＬP自体を復元時刻の状態に戻す第１のボリューム復元処理モードと、第２の実施の形態のように正論理ボリュームＶＯＬPの復元時刻のスナップショット３５（図１１）を取得する第２のボリューム復元処理モードとのいずれか一方を、ユーザが自由に選択できるようになされている点を除いて第１の実施の形態によるストレージシステム１（図１）と同様に構成されている。
【００７７】
実際上、このストレージシステム４０の場合、ユーザは、ホスト装置４１を操作することにより、所望する復元時刻を設定入力するための例えば図１４に示すようなボリューム復元処理モード設定画面５０を当該ホスト装置４１のディスプレイに表示させることができる。
【００７８】
このボリューム復元処理モード設定画面５０では、その中段位置にタイムライン５１及びカーソルバー５２が表示され、タイムライン５１の上側に復元時刻表示欄５３が表示される。そしてユーザは、タイムライン５１に表示された時刻を指標として、カーソルバー５２のカーソル５２Ａをマウス操作によりタイムライン５１上の所望する時刻に移動させることで、所望の復元時刻を指定することができる。このとき復元時刻表示欄５３には、カーソル５２Ａが指し示す正確な時刻、つまりその操作によりユーザが指定した復元時刻が表示される。
【００７９】
またボリューム復元処理モード設定画面５０では、カーソルバー５２の下側に、上述の第１のボリューム復元処理モードと対応付けられた第１のラジオスイッチ５４Ａと、第２のボリューム復元処理モードと対応付けられた第２のラジオスイッチ５４Ｂとが表示される。かくしてユーザは、マウス操作により第１又は第２のラジオスイッチ５４Ａ，５４Ｂのいずれかを選択することで、第１及び第２のボリューム復元処理モードのうちの所望するデータ処理モードを択一的に選択して設定することができる。そしてユーザは、所望のボリューム復元処理モードを選択後、復元ボタン５５をクリックするようにする。この結果、このときユーザが選択したボリューム復元処理モード（第１又は第２のボリューム復元処理モード）に応じた復元コマンドがそのホスト装置４１から第１のストレージ装置４２に送信される。
【００８０】
第１のストレージ装置４２のチャネルアダプタである正側チャネルアダプタ４４Ａ及び第２のストレージ装置４３のチャネルアダプタである副側チャネルアダプタ４４Ｂは、通常時、第１の実施の形態の正側チャネルアダプタ１０Ａ（図１）及び副側チャネルアダプタ１０Ｂ（図１）と同様にして、図３について上述したバックアップ・ボリューム復元処理手順ＲＴ１のステップＳＰ１〜ステップＳＰ１４を繰り返し処理する。そして正側チャネルアダプタ４４Ａ及び副側チャネルアダプタ４４Ｂは、ホスト装置４１から復元コマンドが与えられると（ＳＰ４；ＹＥＳ）、図１５に示す第３のボリューム復元処理手順ＲＴ４に従って、ボリューム復元処理を実行する（ＳＰ１５）。
【００８１】
すなわち正側チャネルアダプタ４４Ａは、まず復元コマンドに基づいて、ユーザがボリューム復元処理モードとして第１のボリューム復元処理モードを選択したか否かを判断する（ＳＰ５０）。そして正側チャネルアダプタ４４Ａは、この判断において肯定結果を得ると（ＳＰ５０；ＹＥＳ）、この後副側チャネルアダプタ４４Ｂと共に図４について上述した第１のボリューム復元処理手順ＲＴ２を実行することにより、指定された復元時刻の正論理ボリュームＶＯＬPを復元する（ＳＰ５１）。これに対して、正側チャネルアダプタ４４Ａは、かかる判断において否定結果を得ると（ＳＰ５０；ＮＯ）、この後副側チャネルアダプタ４４Ｂと共に図１２について上述した第２のボリューム復元処理手順ＲＴ３を実行することにより、指定された復元時刻における正論理ボリュームＶＯＬPのスナップショット３５（図１１）を取得する（ＳＰ５２）。
【００８２】
そして正側チャネルアダプタ４４Ａは、第１又は第２のボリューム復元処理手順ＲＴ２，ＲＴ３を終了すると、再びホスト装置４１からのホストＩ／Ｏを待ち受ける待受けモードに戻る（図３のＳＰ１）。
【００８３】
このようにこのストレージシステム４０では、ボリューム復元処理モードとして、正論理ボリュームＶＯＬP自体を指定された復元時刻の状態に戻す第１のボリューム復元処理モードと、指定された復元時刻の正論理ボリュームＶＯＬPのスナップショット３５（図１１）を取得する第２のボリューム復元処理モードとのいずれかをユーザが自由に選択することができる。従って、データが壊れているときには、第１のボリューム復元処理モードによって、データが壊れていない時刻にまで正論理ボリュームＶＯＬPを戻し、これに対して単に上書き前のデータ内容を確認したいときには、第２のボリューム復元処理モードによって、上書き前の正論理ボリュームＶＯＬPのスナップショット３５を取得するといった使い分けが可能となる。この結果として、ユーザから見たストレージシステム４０の使い勝手を格段的に向上させることができる。
【００８４】
（４）他の実施の形態
なお上述の第１〜第３の実施の形態においては、ボリューム復元処理時に復元時刻における正論理ボリュームＶＯＬPと復元ボリュームＶＯＬRとの差分を表す差分データＤ１を第２のストレージ装置５，３２，４３側において生成し、これを第１のストレージ装置４，３１，４２側に送信するようにした場合について述べたが、本発明はこれに限らず、例えばボリューム復元処理時に第２のストレージ装置５，３２，４３から復元時刻よりも過去で、かつ復元時刻に最も近い時刻に作成された副論理ボリュームＶＯＬSのデータ及び復元時刻以降のジャーナル２０の各エントリのデータを第１のストレージ装置４，３１，４２側に送信し、これらのデータに基づいて第１のストレージ装置４，３１，４２側において正論理ボリュームＶＯＬPの復元処理を行うようにしても良い。
【００８５】
また上述の第１〜第３の実施の形態においては、ジャーナル２０のデータとして対応するデータの書き込みがあった時刻を設けることで、この時刻に基づいて各エントリの順位性を確保するようにした場合について述べたが、本発明はこれに限らず、この時刻に加え又は代えて各エントリにシーケンス番号を付与し、このシーケンス番号に基づいて各エントリの順位性を確保するようにしても良い。なお、この場合には、各シーケンス番号と、対応するデータが書き込まれた時刻とを対応付けた管理テーブルが別途必要となる。
【００８６】
これと同様にして第２のストレージ装置５，３２，４３において一定時間ごとに取得される副論理ボリュームＶＯＬSのスナップショット２５の順位性についてもそのスナップショット２５が取得された時刻ではなくシーケンス番号で管理するようにしても良い。この場合には、各シーケンス番号とそのスナップショットが取得された時刻との対応付けを、例えばスナップショット管理テーブル２６において行うようにすれば良い。
【産業上の利用可能性】
【００８７】
本発明は、種々の形態のストレージシステムに広く適用することができる。
【図面の簡単な説明】
【００８８】
【図１】第１の実施の形態によるストレージシステムの構成を示すブロック図である。
【図２】第１の実施の形態によるバックアップ処理及びボリューム復元処理の内容を概略的に示した概念図である。
【図３】バックアップ・ボリューム復元処理手順を示すフローチャートである。
【図４】第１のボリューム復元処理手順を示すフローチャートである。
【図５】ジャーナルの説明に供する概念図である。
【図６】ジャーナル削除処理の説明に供する概念図である。
【図７】ジャーナル削除処理の説明に供する概念図である。
【図８】スナップショット管理テーブルを示す概念図である。
【図９】差分データを示す概念図である。
【図１０】第２の実施の形態によるストレージシステムの構成を示すブロック図である。
【図１１】第２の実施の形態によるバックアップ処理及びボリューム復元処理の内容を概略的に示した概念図である。
【図１２】第２のボリューム復元処理手順を示すフローチャートである。
【図１３】第３の実施の形態によるストレージシステムの構成を示すブロック図である。
【図１４】ボリューム復元処理モード設定画面を示す略線図である。
【図１５】第３のボリューム復元処理手順を示すフローチャートである。
【符号の説明】
【００８９】
１，３０，４０……ストレージシステム、２，４１……ホスト装置、４，５，３１，３２，４２，４３……ストレージ装置、１０Ａ，３３Ａ，４４Ａ……正側チャネルアダプタ、１０Ｂ，３３Ｂ，４４Ｂ……副側チャネルアダプタ、１４Ａ，１４Ｂ……記憶デバイス、２０……ジャーナル、２５，３４，３５……スナップショット、２６……スナップショット管理テーブル、Ｄ１……差分データ、ＶＯＬMSS，ＶＯＬSS……スナップショット論理ボリューム、ＶＯＬP……正論理ボリューム、ＶＯＬR……復元ボリューム、ＶＯＬS……副論理ボリューム。
【図１】
2006302015.tif 000003
【図２】
2006302015.tif 000004
【図３】
2006302015.tif 000005
【図４】
2006302015.tif 000006
【図５】
2006302015.tif 000007
【図６】
2006302015.tif 000008
【図７】
2006302015.tif 000009
【図８】
2006302015.tif 000010
【図９】
2006302015.tif 000011
【図１０】
2006302015.tif 000012
【図１１】
2006302015.tif 000013
【図１２】
2006302015.tif 000014
【図１３】
2006302015.tif 000015
【図１４】
2006302015.tif 000016
【図１５】
2006302015.tif 000017