(57)【要約】【課題】本発明は、物理記憶デバイスの運用効率を格段的に向上させ得る計算機システムを提案する。【解決手段】第一の計算機からリードライトされ、ライトデータを書き込む第一のボリュームと、第一のボリュームのジャーナルデータを所定時点ごとに区切って格納する第二のボリュームと、仮想ボリュームである第三のボリュームと、所定時点の第一のボリュームのバックアップ指示を受信すると、第二の計算機が前記ジャーナルデータをリードライト可能な第三のボリュームを作成する仮想ボリューム作成部と、第三のボリュームにジャーナルデータをマッピングするマッピング部と、ライトデータを第二の計算機を介して記憶装置に転送し、又はマッピング部によりマッピングされた第三のボリュームを通じてジャーナルデータを、第二の計算機を介して記憶装置に転送して、ライトデータ及びジャーナルデータをバックアップするバックアップ部とを備える。【選択図】図１
2010055314.tif 000002
【特許請求の範囲】
【請求項１】
第一の計算機と、
第二の計算機と、
記憶装置と、
ストレージシステムと
を備え、
前記ストレージシステムは、
前記第一の計算機からリードライトされ、ライトデータを書き込む第一のボリュームと、
前記第一のボリュームのジャーナルデータを所定時点ごとに区切って格納する第二のボリュームと、
仮想ボリュームである第三のボリュームと、
前記第一の計算機から送信される所定時点の前記第一のボリュームのバックアップ指示を受信すると、前記第二の計算機が前記ジャーナルデータをリードライト可能な前記第三のボリュームを作成する仮想ボリューム作成部と、
前記仮想ボリューム作成部により作成された前記第三のボリュームに前記ジャーナルデータをマッピングするマッピング部と、
前記ライトデータを前記第二の計算機を介して前記記憶装置に転送し、又は前記マッピング部によりマッピングされた前記第三のボリュームを通じて前記ジャーナルデータを、前記第二の計算機を介して前記記憶装置に転送して、前記ライトデータ及び前記ジャーナルデータをバックアップするバックアップ部と
を備えることを特徴とする計算機システム。
【請求項２】
前記仮想ボリューム作成部は、
前記第三のボリュームを前記第二の計算機のオペレーティングシステムの種類に応じて作成し、
前記第二の計算機は、
前記仮想ボリューム作成部により作成された前記第三のボリュームを介して前記第二のボリュームにアクセスする
ことを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記第一の計算機、前記第二の計算機及び前記ストレージシステムを管理する第三の計算機
を備え、
前記第三の計算機は、
前記第二のボリュームのジャーナルデータと前記第一のボリュームのライトデータが格納されている前記記憶装置の記憶装置番号を管理する管理情報
を備えることを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記ストレージシステムは、
前記第二のボリュームのジャーナルデータと前記第一のボリュームのライトデータが格納されている前記記憶装置の記憶装置番号を管理する管理情報
を備えることを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記第二の計算機は、
前記第二のボリュームのジャーナルデータと前記第一のボリュームのライトデータが格納されている前記記憶装置の記憶装置番号を管理する管理情報
を備えることを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記ストレージシステムは、
複数の前記第二の計算機のオペレーティングシステムの種類毎に、前記第三のボリュームを使用する
ことを特徴とする請求項１に記載の計算機システム。
【請求項７】
前記ストレージシステムは、
前記第三のボリュームに使用する複数の前記第二の計算機のオペレーティングシステムに応じたものをマッピングして使用する
ことを特徴とする請求項１に記載の計算機システム。
【請求項８】
前記ストレージシステムは、
リストア用の第四のボリュームと、
所定時点の第一のボリュームを復元するリストア部と
を備え、
前記仮想ボリューム作成部は、
前記第一の計算機から所定時点の前記第１のボリュームのリストア指示を受信すると、前記第三のボリュームを作成し、
前記リストア部は、
前記リストア指示を受信すると、前記第四のボリュームを作成し、前記第三のボリュームを通じて受信する前記ジャーナルデータを格納する領域を前記第二のボリュームに確保して、前記記憶装置から前記データ及び前記ジャーナルデータを受信して前記データを前記第四のボリュームに格納し、前記ジャーナルデータを前記第二のボリュームに格納して、前記第四のボリュームに前記ジャーナルデータを反映させることにより前記所定時点の第一のボリュームを復元する
ことを特徴とする請求項１に記載の計算機システム。
【請求項９】
第一の計算機と、
第二の計算機と、
記憶装置と、
ストレージシステムと
を備え、
前記ストレージシステムは、
当該ストレージシステム内で独自に形成され、第一の計算機と第二の計算機からリードライトできない第一のデータを保持する第一のボリュームと、
仮想ボリュームである第二のボリュームと、
前記第二の計算機が第一のデータをリードライト可能な前記第二のボリュームを作成する仮想ボリューム作成部と、
前記第一のデータを前記第二のボリュームにマッピングするマッピング部と、
前記第一のデータを前記第二の計算機を介して前記記憶装置にバックアップするバックアップ部と
を備えることを特徴とする計算機システム。
【請求項１０】
第一の計算機と、第二の計算機と、記憶装置と、ストレージシステムとを有する計算機システムのバックアップ方法において、
前記ストレージシステムが、前記第一の計算機からリードライトされ、ライトデータを書き込む第一のボリュームと、前記第一のボリュームのジャーナルデータを所定時点ごとに区切って格納する第二のボリュームと、仮想ボリュームである第三のボリュームとを有し、
前記ストレージシステムが、前記第一の計算機から送信される所定時点の前記第一のボリュームのバックアップ指示を受信すると、前記第二の計算機が前記ジャーナルデータをリードライト可能な前記第三のボリュームを作成する第一のステップと、
前記ストレージシステムが、前記第一のステップにおいて作成した前記第三のボリュームに前記ジャーナルデータをマッピングする第二のステップと、
前記ストレージシステムが、前記ライトデータを前記第二の計算機を介して前記記憶装置に転送し、又は前記マッピング部によりマッピングされた前記第三のボリュームを通じて前記ジャーナルデータを、前記第二の計算機を介して前記記憶装置に転送して、前記ライトデータ及び前記ジャーナルデータをバックアップする第三のステップと
を備えることを特徴とする計算機システムのバックアップ方法。
【請求項１１】
前記第一のステップでは、
前記第三のボリュームを前記第二の計算機のオペレーティングシステムの種類に応じて作成し、
前記第二の計算機が、前記仮想ボリューム作成部により作成された前記第三のボリュームを介して前記第二のボリュームにアクセスする
ことを特徴とする請求項１０に記載の計算機システムのバックアップ方法。
【請求項１２】
前記第一の計算機、前記第二の計算機及び前記ストレージシステムを管理する第三の計算機を有し、
前記第三の計算機が、前記第二のボリュームのジャーナルデータと前記第一のボリュームのライトデータが格納されている前記記憶装置の記憶装置番号を管理する管理情報を有する
ことを特徴とする請求項１０に記載の計算機システムのバックアップ方法。
【請求項１３】
前記ストレージシステムが、前記第二のボリュームのジャーナルデータと前記第一のボリュームのライトデータが格納されている前記記憶装置の記憶装置番号を管理する管理情報を有する
ことを特徴とする請求項１０に記載の計算機システムのバックアップ方法。
【請求項１４】
前記第二の計算機が、前記第二のボリュームのジャーナルデータと前記第一のボリュームのライトデータが格納されている前記記憶装置の記憶装置番号を管理する管理情報を有する
ことを特徴とする請求項１０に記載の計算機システムのバックアップ方法。
【請求項１５】
前記ストレージシステムが、複数の前記第二の計算機のオペレーティングシステムの種類毎に、前記第三のボリュームを使用する
ことを特徴とする請求項１０に記載の計算機システムのバックアップ方法。
【請求項１６】
前記ストレージシステムが、前記第三のボリュームに使用する複数の前記第二の計算機のオペレーティングシステムに応じたものをマッピングして使用する
ことを特徴とする請求項１０に記載の計算機システムのバックアップ方法。
【請求項１７】
前記ストレージシステムが、リストア用の第四のボリュームを有し、
前記ストレージシステムが、所定時点の第一のボリュームを復元する第四のステップを備え、
前記第一のステップでは、
前記第一の計算機から所定時点の前記第１のボリュームのリストア指示を受信すると、前記第三のボリュームを作成し、
前記第四のステップでは、
前記リストア指示を受信すると、前記第四のボリュームを作成し、前記第三のボリュームを通じて受信する前記ジャーナルデータを格納する領域を前記第二のボリュームに確保して、前記記憶装置から前記データ及び前記ジャーナルデータを受信して前記データを前記第四のボリュームに格納し、前記ジャーナルデータを前記第二のボリュームに格納して、前記第四のボリュームに前記ジャーナルデータを反映させることにより前記所定時点の第一のボリュームを復元する
ことを特徴とする請求項１０に記載の計算機システムのバックアップ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム及びそのバックアップ方法に関し、例えば、ライトデータを格納するボリュームのバックアップを実施する計算機システムに適用して好適なものである。
【背景技術】
【０００２】
従来、例えば、ストレージシステムが有する機能として、スナップショット機能やジャーナル機能が知られている。
【０００３】
スナップショット機能とは、ある時点（例えば、ホスト計算機からスナップショット取得要求を受けた時点）のある論理ボリュームのイメージを保持する機能である。ストレージシステムでは、定期的にスナップショット機能を実行することにより、論理ボリューム内のデータのレプリケーション（バックアップ）を間欠的に取得しておくことが可能となる。また、ストレージシステムでは、スナップショット機能を用いた場合、スナップショット取得時点の論理ボリュームをリストアすることが可能である。
【０００４】
ジャーナル機能とは、ホスト計算機からのライトコマンドで指定されている論理ボリュームにライトデータを書き込む場合に、そのライトデータ及びその書込みに関する制御情報を含んだデータ（ジャーナルデータ）を作成し、作成したジャーナルデータをジャーナルボリュームに保存する機能である。
【０００５】
特許文献１には、スナップショット機能によって取得したスナップショットに、ジャーナルボリューム内のジャーナルデータを書き込むことによって、スナップショットを作成したポイント以外のポイントにおいて実行されるリカバリ処理について開示されている。また、特許文献２には、スナップショットとジャーナルの切り替えについての開示がされている。特許文献３には、スナップショットのリストアボリュームの運用についての開示がされている。
【特許文献１】特開２００５−１８７３８号公報
【特許文献２】特開２００７−８０１３１号公報
【特許文献３】特開２００７−１３３４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、一般的に、バックアップサーバでは、ジャーナルデータの格納されたジャーナルボリュームをターゲットの論理ボリュームとして認識することができない。バックアップサーバが認識することができるのは、通常の論理ボリュームやそのレプリカボリュームである。ジャーナルデータの格納されたジャーナルボリュームは、ストレージシステム内でアクセスするための独自フォーマットのデータとなっている。また、従来のテープ装置は、通常、ファイル単位か論理ボリューム単位でデータを格納している。
【０００７】
このように、ジャーナルデータの格納されたジャーナルボリュームは、バックアップサーバが認識することができず、テープ装置に格納することができないため、大量のジャーナルデータを確保する場合には、ストレージシステム内の物理記憶デバイスの容量が不足するおそれがある。
【０００８】
本発明は以上の点を考慮してなされたもので、物理記憶デバイスの運用効率を格段的に向上させ得る計算機システム及びそのバックアップ方法を提案するものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するために本発明においては、計算機システムにおいて、第一の計算機と、第二の計算機と、記憶装置と、ストレージシステムとを備え、前記ストレージシステムは、前記第一の計算機からリードライトされ、ライトデータを書き込む第一のボリュームと、前記第一のボリュームのジャーナルデータを所定時点ごとに区切って格納する第二のボリュームと、仮想ボリュームである第三のボリュームと、前記第一の計算機から送信される所定時点の前記第一のボリュームのバックアップ指示を受信すると、前記第二の計算機が前記ジャーナルデータをリードライト可能な前記第三のボリュームを作成する仮想ボリューム作成部と、前記仮想ボリューム作成部により作成された前記第三のボリュームに前記ジャーナルデータをマッピングするマッピング部と、前記ライトデータを前記第二の計算機を介して前記記憶装置に転送し、又は前記マッピング部によりマッピングされた前記第三のボリュームを通じて前記ジャーナルデータを、前記第二の計算機を介して前記記憶装置に転送して、前記ライトデータ及び前記ジャーナルデータをバックアップするバックアップ部とを備える。
【００１０】
また、本発明においては、計算機システムにおいて、第一の計算機と、第二の計算機と、記憶装置と、ストレージシステムとを備え、前記ストレージシステムは、当該ストレージシステム内で独自に形成され、第一の計算機と第二の計算機からリードライトできない第一のデータを保持する第一のボリュームと、仮想ボリュームである第二のボリュームと、前記第二の計算機が第一のデータをリードライト可能な前記第二のボリュームを作成する仮想ボリューム作成部と、前記第一のデータを前記第二のボリュームにマッピングするマッピング部と、前記第一のデータを前記第二の計算機を介して前記記憶装置にバックアップするバックアップ部とを備える。
【００１１】
さらに、本発明においては、第一の計算機と、第二の計算機と、記憶装置と、ストレージシステムとを有する計算機システムのバックアップ方法において、前記ストレージシステムが、前記第一の計算機からリードライトされ、ライトデータを書き込む第一のボリュームと、前記第一のボリュームのジャーナルデータを所定時点ごとに区切って格納する第二のボリュームと、仮想ボリュームである第三のボリュームとを有し、前記ストレージシステムが、前記第一の計算機から送信される所定時点の前記第一のボリュームのバックアップ指示を受信すると、前記第二の計算機が前記ジャーナルデータをリードライト可能な前記第三のボリュームを作成する第一のステップと、前記ストレージシステムが、前記第一のステップにおいて作成した前記第三のボリュームに前記ジャーナルデータをマッピングする第二のステップと、前記ストレージシステムが、前記ライトデータを前記第二の計算機を介して前記記憶装置に転送し、又は前記マッピング部によりマッピングされた前記第三のボリュームを通じて前記ジャーナルデータを、前記第二の計算機を介して前記記憶装置に転送して、前記ライトデータ及び前記ジャーナルデータをバックアップする第三のステップとを備える。
【００１２】
従って、記憶装置が従来の同様の構成であっても、ジャーナルデータの格納された第二のボリュームを第二の計算機が認識することができ、ジャーナルデータを第二の計算機を介して記憶装置に書き込むことができる。このため、大量のジャーナルデータを確保する場合に、ストレージシステム内の物理記憶デバイスの容量が不足するのを有効に防止することができる。
【発明の効果】
【００１３】
本発明によれば、物理記憶デバイスの運用効率を格段的に向上させ得る計算機システム及びそのバックアップ方法を実現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の一実施の形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
【００１５】
（１）計算機システムの構成
図１は、本実施の形態に係る計算機システム１の構成を示している。計算機システム１は、ホスト計算機２、管理サーバ３、ストレージシステム４、バックアップサーバ５及びテープ装置６が第１のネットワーク７〜第３のネットワーク９を介して接続されることにより構成されている。
【００１６】
第１のネットワーク６には、１以上のホスト計算機２及び１以上のストレージシステム４が接続されている。第２のネットワーク８には、１以上のバックアップサーバ５及び１以上のテープ装置６が接続されている。テープ装置６は、ＶＴＬ（Virtual Tape Library）や安価なＨＤＤ（Hard Disk Drive）を備えた記憶装置、リモートコピー先のストレージシステム等、ストレージシステム４の外部におかれた記憶装置であれば種類は問わない。
【００１７】
第３のネットワーク９には、１以上のホスト計算機２、１以上の管理サーバ３及び１以上のストレージシステム４が接続されている。第１のネットワーク７〜第３のネットワーク９は、それぞれ、任意の種類のネットワークを採用することができる。例えば、第１のネットワーク７及び第２のネットワーク８は、ＳＡＮ（Storage Area Network）であって、第３のネットワーク９は、ＬＡＮ（Local Area Network）である。
【００１８】
ホスト計算機２は、ストレージシステム４から提供される論理ボリュームにアクセスする計算機である。ホスト計算機２は、ＣＰＵ（Central Processing Unit）１１、メモリ１２、補助記憶デバイス１３、入力装置（例えば、キーボードやポインティングデバイス）１４、出力装置（例えば、表示装置）１５、第１のネットワーク７に接続されるストレージアダプタ（例えば、ホストバスアダプタ）１６及び第３のネットワーク９に接続されるネットワークアダプタ１７を備えている。
【００１９】
ＣＰＵ１１は、ストレージアダプタ１６を介して、アドレスを指定したＩ／Ｏコマンド（ライトコマンド又はリードコマンド）を送信する。
【００２０】
管理サーバ３は、第３のネットワーク９に接続されているホスト計算機２、ストレージシステム４、バックアップサーバ５及びテープ装置６を管理する計算機である。管理サーバ３は、ＣＰＵ（Central Processing Unit）２１、メモリ２２、補助記憶デバイス２３、入力装置（例えば、キーボードやポインティングデバイス）２４、出力装置（例えば、表示装置）２５及び第３のネットワーク９に接続されるネットワークアダプタ２６を備えている。
【００２１】
ＣＰＵ２１は、ネットワークアダプタ２６を介してホスト計算機２、ストレージシステム４、バックアップサーバ５又はテープ装置６に所定のコマンドを送信する。メモリ２２は、図３に示すコンピュータプログラム及び情報を記憶するメモリである。
【００２２】
ストレージシステム４は、コントローラ３１と記憶デバイス群３２とを有する。コントローラ３１は、例えば、複数のフロントエンドインタフェース３３と、複数のバックエンドインタフェース３４と、第１の内部ネットワーク３５と、１以上のキャッシュメモリ３６と、１以上の制御メモリ３７と、１以上の制御プロセッサ３８とを備える。記憶デバイス群３２は、複数の物理記憶デバイス（以下、「ＰＤＥＶ」と言う）３９により構成されている。
【００２３】
フロントエンドインタフェース３３は、ストレージシステム４の外部のホスト計算機２、バックアップサーバ５及びテープ装置６と通信するためのインタフェース回路である。従って、フロントエンドインタフェース３３としては、第１のネットワーク７に接続されるインタフェースと、第２のネットワーク８に接続されるインタフェースがある。フロントエンドインタフェース３３は、例えば、第１のネットワーク７又は第２のネットワーク８に接続されるポート４１と、メモリ４２と、ローカルルータ（Local Router）（以下、「ＬＲ」と略記する）４３とを有する。
【００２４】
ＬＲ４３には、ポート４１及びメモリ４２が接続されている。ＬＲ４３は、ポート４１を介して受けたデータを任意の制御プロセッサ３８で処理するための振り分けを行う。具体的には、例えば、制御プロセッサ３８は、あるアドレスを指定するＩ／Ｏコマンドをその制御プロセッサ３８で行うようにＬＲ４３に対して設定する。そして、ＬＲ４３は、その設定に従って、Ｉ／Ｏコマンドやデータを振り分ける。
【００２５】
バックエンドインタフェース３４は、ＰＤＥＶ３９と通信するためのインタフェース回路である。バックエンドインタフェース３４は、例えば、ＰＤＥＶ３９に接続されるディスクインタフェース４４と、メモリ４５と、ＬＲ４６とを有する。ＬＲ４６には、ディスクインタフェース４４及びメモリ４５が接続されている。
【００２６】
第１の内部ネットワーク３５は、例えば、スイッチ（一例として、クロスバスイッチ）あるいはバスで構成される。第１の内部ネットワーク３５には、複数のフロントエンドインタフェース３３、複数のバックエンドインタフェース３４、１以上のキャッシュメモリ３６、１以上の制御メモリ３７及び１以上の制御プロセッサ３８が接続されている。これらの要素間の通信は、第１の内部ネットワーク３５を介して行われる。
【００２７】
キャッシュメモリ３６は、ホスト計算機２からのＩ／Ｏコマンドに従って読み出される又は書き込まれるデータを一時記憶するメモリである。
【００２８】
制御メモリ３７は、種々のコンピュータプログラム及び／又は情報（例えば、図２に示すコンピュータプログラム及び情報）を記憶するメモリである。例えば、制御メモリ３７には、どのＰ−ＶＯＬ（ホスト計算機２との間でオンラインで使用される論理ボリューム）が、どのホスト計算機２からアクセスされる論理ボリュームであるかを表す情報が記憶されている。制御プロセッサ３８は、この情報から、どのＰ−ＶＯＬがどのホスト計算機２に関わる論理ボリュームであるかを特定することが可能である。
【００２９】
制御プロセッサ３８は、後述するように、あるホスト計算機２についてのホストライトサイズをストレージシステム４が受領した場合、当該あるホスト計算機２に関わるＰ−ＶＯＬを、制御メモリ３７に記憶されている情報を参照することで特定し、特定されたＰ−ＶＯＬ８１について、ホストライトサイズを設定することができる。また、制御プロセッサ３８は、制御メモリ３７に記憶されている種々のコンピュータプログラムを実行することで、後述する処理を行う。
【００３０】
ＰＤＥＶ３９は、不揮発性の記憶デバイスであり、例えば、ハードディスクドライブあるいはフラッシュメモリデバイスである。２以上のＰＤＥＶ３９により、ＲＡＩＤ（Redundant Array of Independent Disks）の規則に従うＰＤＥＶグループであるＲＡＩＤグループが構成される。ＲＡＩＤグループ上には、１又は複数の論理ボリューム（LU :Logical Unit）が設定される。
【００３１】
コントローラ３１の各構成要素であるフロントエンドインタフェース３３、バックエンドインタフェース３４、キャッシュメモリ３６、制御メモリ３７及び制御プロセッサ３８には、第２の内部ネットワーク（例えば、ＬＡＮ）４７が接続されており、その第２の内部ネットワーク４７に、保守管理端末４８が接続されている。
【００３２】
保守管理端末４８は、第３のネットワーク９にも接続されており、ストレージシステム４を保守又は管理する計算機である。ストレージシステム４の保守員は、例えば、保守管理端末４８（又は、その保守管理端末４８と通信可能な管理サーバ３）を操作して、制御メモリ３７に記憶される種々の情報を定義することができる。
【００３３】
テープ装置６は、バックアップサーバ５からデータを受け取りバックアップしたり、データを読み出してバックアップサーバ５に送信する。
【００３４】
以下の説明では、論理ボリュームを「ＶＯＬ」と略記することがある。また、ライトという言葉を「ＷＲ」と略記することがある。
【００３５】
図２は、制御メモリ３７に記憶されているコンピュータプログラム及び情報を示している。以下の説明において、プログラムが主語になる処理は、実際には、そのプログラムを実行する制御プロセッサ３８が行う処理である。
【００３６】
制御メモリ３７には、Ｒ／Ｗプログラム５１、ＣｏＷ(Copy on Write)プログラム５２、ＪＮＬ（「ＪＮＬ」はジャーナルの略語である）バックアッププログラム５３、Ｖ−ＶＯＬ（後述）生成プログラム５４、Ｖ−ＶＯＬ−ＪＮＬマッピング管理プログラム５５、ＪＮＬリストアプログラム５６、ＪＮＬマージプログラム５７が記憶されている。また、制御メモリ３７には、デバイス構成管理テーブル５８、ＬＵ管理テーブル５９、Ｐ−ＶＯＬ構成管理テーブル６０、ＪＮＬ情報テーブル６１、Ｖ−ＶＯＬマッピングテーブル６２、ＪＮＬ管理テーブル６３、Ｖ−ＶＯＬヘッダ情報テーブル６４が記憶されている。また、制御メモリ３７には、システム領域（図示せず）がある。
【００３７】
Ｒ／Ｗプログラム５１は、ホスト計算機２からのＩ／Ｏコマンドに従うＩ／Ｏを制御する。ＪＮＬバックアッププログラム５３は、ＪＮＬデータをテープ装置６へバックアップするための環境を構築するプログラムである。ＪＮＬリストアプログラム５６は、テープ装置６にバックアップしたＪＮＬデータをストレージシステム４内で指定された世代の論理ボリュームとして復元するプログラムである。ＪＮＬマージプログラム５７は、複数の世代の世代間差分データ（後述）をマージするプログラムである。制御メモリ３７に記憶されている各種プログラム及び情報の詳細は、後に説明する。
【００３８】
図３は、図２に示したデバイス構成管理テーブル５８の例を示している。デバイス構成管理テーブル５８は、Ｐ−ＶＯＬ８１（後述）毎に用意されるテーブルである。デバイス構成管理テーブル５８には、各Ｐ−ＶＯＬ８１についての、デバイス＃、状態、パスの有無、接続ホスト情報、容量及び属性が記録される。
【００３９】
「デバイス＃」は、論理ボリュームを特定するための番号である。「状態」は、論理ボリュームの状態、例えば、Ｒ／Ｗ不可、Ｒのみ可といったアクセス制限状態の情報である。「パスの有無」は、ホスト計算機とのアクセスパスが定義されているかどうかの情報である。「接続ホスト情報」は、ホスト計算機の種類の情報であり、例えば、Ｗｉｎｄｏｗｓ（登録商標）やＡＩＸ及びホストライトサイズなどである。「容量」は、論理ボリュームの容量の情報である。「属性」は、通常の論理ボリュームか仮想ボリュームかの情報である。
【００４０】
図４は、図２に示したＬＵ管理テーブル５９の例を示している。ＬＵ管理テーブル５９は、ホスト計算機２が入出力するためのＬＵに用意されるテーブルである。ＬＵ管理テーブル５９には、各ＬＵについての、ポート＃、デバイス＃及びＬＵＮが記録される。
【００４１】
「ポート＃」は、論理ボリュームに対応したターゲットデバイスに割り当てられているポートの番号である。「デバイス＃」は、ＰＤＥＶ３９を特定するための番号である。「ＬＵＮ」は、論理ユニットの番号（LUN :Logical Unit Number）であり、ＬＵを識別するための識別子である。
【００４２】
図５は、図２に示したＰ−ＶＯＬ構成管理テーブル６０、ＪＮＬ情報テーブル６１及びＶ−ＶＯＬマッピングテーブル６２の例を示している。なお、図５には、図２に示されていないＪＮＬ制御情報テーブル６５と、ＪＮＬ制御情報テーブル６５で管理されているＪＮＬデータとが示されているが、ＪＮＬ制御情報６５及びＪＮＬデータは、制御メモリ３７には記憶されず、記憶デバイス群３２（後述の例では、ストレージプール）に記憶される。
【００４３】
Ｐ−ＶＯＬ構成管理テーブル６０は、デバイス構成管理テーブル５８で、属性が通常の論理ボリュームである論理ボリュームについて用意されるテーブルである。Ｐ−ＶＯＬ構成管理テーブル６０には、デバイス＃、ＪＮＬＧ＃及びＪＮＬ情報テーブル先頭アドレスが記録される。
【００４４】
「デバイス＃」は、ＰＤＥＶ３９を特定するための番号である。「ＪＮＬＧ＃」は、ジャーナルグループの番号である。同じＪＮＬＧをもつＪＮＬデータ（又は論理ボリューム）は、世代を切り替えるタイミングが同時である。「ＪＮＬ情報テーブル先頭アドレス」は、ＪＮＬ情報テーブル６１の先頭アドレスである。
【００４５】
ＪＮＬ情報テーブル６１は、Ｐ−ＶＯＬ毎に用意されＰ−ＶＯＬに対応する世代間差分データを管理するためのテーブルである。世代間差分データについては、世代毎に、先頭アドレス、長さ、作成時刻が記録される。
【００４６】
「先頭アドレス」は、ＪＮＬ制御情報テーブル６５の先頭アドレスである。「長さ」は、世代間差分データのその世代のデータサイズや要素数である。「作成時刻」は、その世代の差分を記憶することになった時刻（例えば、最新世代の確定の原因となったマーカの受領時刻）である。
【００４７】
同様に、マージ差分データ（後述）についても、世代毎に、先頭アドレス、長さ及び作成時刻が記録される。
【００４８】
なお、ここでの「世代」は、マージ差分データに対応する複数世代のうちのある世代（例えば、最新又は最古の世代）であり、「作成時刻」は、対応するマージ差分データがＪＮＬデータ格納エリアに格納された時刻である。ストレージシステム４は、ＪＮＬデータに対応した「先頭アドレス」を参照することで、そのＪＮＬデータに対応したＪＮＬ制御情報６５を参照することが可能となる。
【００４９】
ＪＮＬ制御情報テーブル６５は、世代間差分データ及びマージ差分データのそれぞれについて、世代毎に存在する。ＪＮＬ制御情報テーブル６５は、世代に対応した差分ＢＭ（Bitmap）とデータ要素の在り処とを管理するためのテーブルである。具体的には、例えば、ＪＮＬ制御情報テーブル６５には、デバイス＃、長さ、差分ＢＭ及びデータ格納アドレスが記録される。
【００５０】
「デバイス＃」は、対応するＰ−ＶＯＬの番号である。「長さ」は、対応するＪＮＬデータ（世代間差分データ又はマージ差分データ）の長さである。「差分ＢＭ」は、世代に対応した差分ＢＭである。「データ格納アドレス」は、対応するＪＮＬデータを構成する各ＪＮＬデータ要素に対応したアドレスである。
【００５１】
Ｖ−ＶＯＬマッピングテーブル６２は、Ｖ−ＶＯＬ（Ｐ−ＶＯＬのバックアップボリューム）毎のテーブルで、ＪＮＬデータをバックアップするために、Ｖ−ＶＯＬにどの世代の情報をマッピングしたかを管理するためのものである。Ｖ−ＶＯＬマッピングテーブル６２には、Ｖ−ＶＯＬ＃、ＪＮＬ世代先頭アドレスが記録される。「Ｖ−ＶＯＬ＃」は、Ｖ−ＶＯＬを特定するための番号である。「ＪＮＬ世代格納先頭アドレス」は、バックアップ対象となる世代の情報が格納されたアドレスである。
【００５２】
図６は、図２に示したＪＮＬ管理テーブル６３の例を示している。ＪＮＬ管理テーブル６３は、Ｐ−ＶＯＬ毎に用意されており、Ｐ−ＶＯＬに関するバックアップデータを管理するためのテーブルである。ＪＮＬ管理テーブル６３には、例えば、Ｐ−ＶＯＬ＃、スナップショット取得時刻、バックアップ取得時刻が記録される。
【００５３】
「Ｐ−ＶＯＬ＃」は、Ｐ−ＶＯＬを特定するための番号）である。「スナップショット取得時刻」は、Ｐ−ＶＯＬとペアを構成するＳ−ＶＯＬを作成した時刻である。「バックアップ取得時刻」は、バックアップが取得された日時（言い換えれば、その世代の確定の原因となったマーカ受領の日時）である。
【００５４】
その他、図６には記載されていないが、Ｐ−ＶＯＬについてのバックアップの世代の個数である取得世代数、バックアップ期間及び何世代分の世代間差分データが溜まったときにマージ処理を実行するかマージ世代数などが記録される。
【００５５】
図７は、図２に示したＶ−ＶＯＬヘッダ情報テーブル６４の例を示している。Ｖ−ＶＯＬヘッダ情報テーブル６４は、ＪＮＬデータをテープ装置６にバックアップするときに、バックアップサーバ５からＪＮＬデータを読み出すために生成する論理ボリュームの情報である。
【００５６】
Ｖ−ＶＯＬは、仮想ボリュームであり、実体はなく、アクセスが必要となったときに、ストレージシステム４が、Ｖ−ＶＯＬヘッダ情報テーブル６４に登録された情報と対応するＪＮＬデータをマッピングしてＶ−ＶＯＬへのアクセスを実現する。その際のＶ−ＶＯＬヘッダ情報を、予めＶ−ＶＯＬヘッダ情報テーブル６４に作成し、登録しておく。Ｖ−ＶＯＬヘッダ情報テーブル６４は、バックアップサーバ５のホストＯＳ（Operating System）毎に、Ｖ−ＶＯＬヘッダ情報を登録する。
【００５７】
Ｖ−ＶＯＬヘッダ情報テーブル６４には、ホストＯＳ及びＯＳ依存のヘッダ領域情報が記録される。「ホストＯＳ」は、バックアップサーバ５のＯＳの種類を示す識別子である。「ＯＳ依存のヘッダ領域情報」は、Ｖ−ＶＯＬヘッダ情報である。なお、Ｖ−ＶＯＬヘッダ情報は、制御メモリ３７にあってもよいし、ＰＤＥＶ３９内にあってもよい。
【００５８】
図８は、管理サーバ３のメモリ２２に記憶されているコンピュータプログラム及び情報を示している。
【００５９】
メモリ２２には、カタログ管理プログラム７１、バックアップスケジュールプログラム７２、カタログ管理情報７３及びスケジュール管理情報７４が記憶されている。
【００６０】
バックアップスケジュールプログラム７２は、ユーザが予めバックアップのスケジュールを立てて管理サーバ３のスケジュール管理情報７４に登録し、スケジュールどおりに管理サーバ３がバックアップサーバ５にバックアップ指示を送信する。カタログ管理情報７３は、バックアップサーバ５が、ストレージシステム４からテープ装置６にバックアップし、又はテープ装置６からストレージシステム４にリストアする契機で、更新される。
【００６１】
図９は、図８に示したカタログ管理情報７３の例を示している。カタログ管理情報７３は、どのデータをどの装置へ格納したかを管理する情報である。また、カタログ管理情報７３は、テープ装置６に格納したバックアップ世代番号とストレージシステム４内の世代番号を管理する。
【００６２】
世代番号は、ストレージシステム４及びテープ装置６間で必ずしも一致するとは限らない。このため、管理サーバ３は、ＪＮＬデータをテープ装置６からストレージシステム４に戻してある世代のボリュームを復元する際、ストレージシステム４内での世代番号と一致させてから復元する。また、管理サーバ３は、ストレージシステム４からテープ装置６にバックアップする際に、ストレージシステム４内の対象となるＰ−ＶＯＬ＃を格納する。
【００６３】
また、カタログ管理情報７３は、どのバックアップサーバ５からどのテープ装置６に格納したのかを格納する。カタログ管理情報７３には、Ｐ−ＶＯＬ＃、ストレージシステム番号、ストレージシステム内での世代番号、テープ装置内での世代番号、バックアップサーバ番号、テープ装置番号及びバックアップ取得時刻が記録される。
【００６４】
「Ｐ−ＶＯＬ＃」は、バックアップする元の論理ボリュームであるＰ−ＶＯＬを特定するための番号である。「ストレージシステム番号」は、バックアップ元の装置の製品番号などの識別子である。「ストレージシステム内での世代番号」は、バックアップ対象となるＪＮＬデータがストレージシステム４内で管理されている世代番号である。「テープ装置内での世代番号」は、バックアップ対象となるデータのテープ装置６内での世代番号である。「バックアップサーバ番号」は、バックアップ処理を実行するバックアップサーバ５の製品番号などの識別子である。「テープ装置番号」は、ＪＮＬデータをバックアップする先の装置の製品番号などの識別子である。「バックアップ取得時刻」は、バックアップ処理を開始した時刻である。
【００６５】
図１０は、バックアップのスケジュール例を示している。このスケジュールでは、毎日曜日にフルボリュームバックアップ（Ｐ−ＶＯＬのすべてのデータのバックアップ）をテープ装置６が取得し、月曜日から土曜日の１日単位に前日との差分データであるジャーナルデータをテープ装置６にバックアップ（ＪＮＬデータバックアップ）している。また、ストレージシステム４は、当該ストレージシステム４内のジャーナル量を監視して、ジャーナルデータを移動するか否かを判定し、ジャーナルデータを移動する場合には、どのジャーナルデータをどこに移動するかをスケジュールする。ホスト計算機２は、フルボリュームバックアップを実行するときは「スナップショット指示（フルボリュームバックアップ指示）」を送信し、ＪＮＬデータバックアップを実行するときは「マーカ指示（ＪＮＬデータバックアップ指示）」を送信する。これらの指示をストレージシステム４が受領すると、世代が切り替わることとなる。
【００６６】
図１０のスケジュールでは、日曜日にスナップショットを取得し、そのスナップショットを使ってテープ装置６にバックアップする。また、図１０のスケジュールでは、日曜日以外に、ＪＮＬデータのみをテープ装置６にバックアップする。日曜日のスナップショットとは別に日曜日のＪＮＬデータを取得すると共に、次の日曜日に新規スナップショットを取得する場合は、前回のスナップショットは削除することが可能となる。
【００６７】
（２）ＪＮＬデータの格納の概要
図１１は、ＪＮＬデータの格納の概要を示している。ストレージシステム４は、Ｐ−ＶＯＬ８１及びＪＮＬ−ＶＯＬ８２を有する。
【００６８】
Ｐ−ＶＯＬ８１は、プライマリの論理ボリューム（オンラインの論理ボリューム）である。ストレージシステム４は、ホスト計算機２から送信されるライトデータ（ＷＲデータ）を書き込むことで、Ｐ−ＶＯＬ８１を更新する。ＪＮＬ−ＶＯＬ８２は、ＪＮＬを書き込む論理ボリュームである。ストレージシステム４は、ＪＮＬデータを書き込むことで、ＪＮＬ−ＶＯＬ８２を更新する。
【００６９】
ＪＮＬ関連エリア８３は、ホスト計算機２に非提供の記憶領域である。このＪＮＬ関連エリア８３は、ストレージプール内（図示せず）に存在する。ストレージプールは、複数のプール領域で構成され、ＪＮＬデータが書き込まれることに起因して、ストレージプールから領域が割り当てられ、書込み対象のデータが、その領域に書き込まれる。
【００７０】
ＪＮＬ関連エリア８３は、ＪＮＬ制御情報格納エリア８４及びＪＮＬデータ格納エリア８５により構成されている。ＪＮＬ制御情報格納エリア８４には、図１１に示すように、確定した世代毎に対応した差分ＢＭ（ＢＭは「ビットマップ（Bit Map）」の略語である）８６が格納される。ＪＮＬデータ格納エリア８５には、確定した世代毎に対応した世代間差分データ８７が格納される。
【００７１】
ここで、「世代」とは、Ｐ−ＶＯＬ８１についてのある時点のことである。例えば、世代（Ｎ）とは、世代（Ｎ−１）を過ぎてＰ−ＶＯＬ８１について所定の世代確定イベントが発生した時（本実施の形態では、ホスト計算機２からＪＮＬデータバックアップ指示を受領した時）のことである。なお、図１１の例では、確定している最新の世代が世代（Ｎ）のため、未確定世代は、世代（Ｎ＋１）である。世代（Ｎ）は、ＪＮＬデータバックアップ指示カを受領した時に、新しい世代（Ｎ＋１）に切り替わる。ストレージシステム４は、世代が切り替わった際に、ＪＮＬ情報テーブル６１の世代間差分データ８７の世代のエントリを追加する。
【００７２】
「差分ＢＭ」とは、論理ボリュームの世代間での差分を表すビットマップである。具体的には、例えば、図１１の例において、世代（Ｎ）に対応した差分ＢＭ８６は、世代（Ｎ）のＰ−ＶＯＬ８１と世代（Ｎ−１）のＰ−ＶＯＬ８１との差分を表すビットマップである。ストレージシステム４は、Ｐ−ＶＯＬ８１内のあるブロックに、世代（Ｎ−１）より後のある時点で初めてライトデータ要素を書き込んだ場合、そのあるブロックに対応したビット（世代（Ｎ）に対応した差分ＢＭ８６内のビット）を、オンにし（すなわち、ライト発生を表す値（例えば「１」）に更新し）、そのライトデータ要素に対応する差分データ要素を、ＪＮＬデータ格納エリア８５に格納する。なお、差分ＢＭ８６を構成する各ビットは、Ｐ−ＶＯＬ８１の各ブロックに対応している。「ホストライトサイズ」とは、ホスト計算機２から書き込まれるデータの単位サイズ（ライトデータ要素のサイズ）である。この例では各世代が、「月曜日のジャーナル」「火曜日のジャーナル」のように対応する。
【００７３】
「世代間差分データ」とは、世代間差分データ要素の集合である。「世代間差分データ要素」とは、Ｐ−ＶＯＬ８１にデータ要素が書き込まれることに起因し、Ｐ−ＶＯＬ８１から退避されたデータ要素である。具体的には、例えば、未確定世代が世代（Ｎ）の場合、ストレージシステム４がホスト計算機２からマーカ指示（特定の電子データ）を受領した時に、世代（Ｎ）が確定し、未確定世代が（Ｎ＋１）となる。その場合、ＪＮＬデータ格納エリア８５に蓄積されている世代間差分データ８７（つまり、世代（Ｎ）のＰ−ＶＯＬ８１と世代（Ｎ−１）のＰ−ＶＯＬ８１との差分に相当するデータ）が、１つ前の世代となり、ストレージシステム４は、当該世代間差分データ８７を世代間差分データ要素としてＪＮＬデータ格納エリア８５に退避する。
【００７４】
このように、ストレージシステム４は、世代（Ｎ−１）に対応した世代間差分データ８７（すなわち、世代（Ｎ−１）と世代（Ｎ−２）との差分に相当するデータ）をＪＮＬデータ格納エリア８５に蓄積する。
【００７５】
（３）ＪＮＬデータ取得方法
ＪＮＬデータを取得する方法は２つあり、通常はＰ−ＶＯＬ８１に更新し、マーカ指示受領時に、更新データをＪＮＬデータとしてＪＮＬ−ＶＯＬ８２に格納する方法（図１２）と、更新前データをＪＮＬデータとしてＪＮＬ−ＶＯＬ８２に格納する方法（図１３）を説明する。
【００７６】
図１２は、Ｐ−ＶＯＬ８１にライトデータ要素を書き込むライト処理（After JNL）の概要を示している。以下、ライトコマンドで指定されているＰ−ＶＯＬ８１を、それぞれ、図１２の説明において「対象Ｐ−ＶＯＬ８１」という。また、以下の説明では、説明が冗長になるのを防ぐ観点から、世代「Ｋ」に対応した対象のことを、その対象の名称の後に（Ｋ）を付けて表すことがある。具体的には、例えば、世代（ｊ）に対応したＪＮＬ制御情報を「ＪＮＬ制御情報（ｊ）」と表すことがある。
【００７７】
まず、フロントエンドインタフェース３３は、ホスト計算機２からライトコマンドを受信すると（Ｓ１）、ライトコマンドを制御プロセッサ３８に転送する。続いて、Ｒ／Ｗプログラム５１（図２参照）は、ライトコマンドの受領に応答して、キャッシュメモリ３６からスロットを確保する（Ｓ２）。なお、「スロット」とは、キャッシュメモリ３６の単位管理領域である。スロットのサイズは、例えば、ホストライトサイズよりも大きい。
【００７８】
続いて、Ｒ／Ｗプログラム５１は、ライトコマンド完了を、ライトコマンドの送信元のホスト計算機２に報告する（Ｓ３）。Ｒ／Ｗプログラム５１は、当該報告に応答してライトデータ要素がホスト計算機２から送信されると、フロントエンドインタフェース３３内のメモリ４２に記憶する（Ｓ４）。
【００７９】
続いて、Ｒ／Ｗプログラム５１は、フロントエンドインタフェース３３内のメモリ４２に記憶されたライトデータ要素を、キャッシュメモリ３６のスロットにそれぞれ書き込む（Ｓ５）。続いて、Ｒ／Ｗプログラム５１は、キャッシュメモリ３６のスロット内のライトデータ要素を、対象Ｐ−ＶＯＬ８１内のライト先ブロックに非同期に書き込む（Ｓ６）。続いて、Ｒ／Ｗプログラム５１は、対象Ｐ−ＶＯＬ８１の差分ＢＭのビットのうち、更新のあった場所に対応するビットをオンに変更する（Ｓ７）。
【００８０】
一方、ホスト計算機２は、別のタイミングで対象Ｐ−ＶＯＬ８１にマーカ指示を送信する。Ｒ／Ｗプログラム５１は、は、マーカ指示を受領すると（Ｓ８）、ＪＮＬ−ＶＯＬ８２を作成して、ＪＮＬ制御情報テーブル６５を更新する（Ｓ９）。
【００８１】
すなわち、Ｒ／Ｗプログラム５１は、対象Ｐ−ＶＯＬ８１の差分ビットがオンになっている箇所のライトデータ（ＪＮＬデータ）をＪＮＬデータ格納エリア８５内にコピーする。この際、Ｒ／Ｗプログラム５１は、ＪＮＬデータ格納エリア８５内にコピーする前に、ＪＮＬデータ格納エリア８５から領域を確保してその領域のアドレスも管理する。そして、Ｒ／Ｗプログラム５１は、ＪＮＬ−ＶＯＬ８２の作成が完了すると、ホスト計算機２にＪＮＬ−ＶＯＬ８２の作成完了報告を送信する（Ｓ１０）。
【００８２】
なお、Ｒ／Ｗプログラム５１は、ホストライトサイズが未設定の場合には、初期値として、例えば、スロットのサイズでライトデータ要素を作成する。
【００８３】
図１３は、本実施の形態において対象Ｐ−ＶＯＬ８１にライトデータ要素を書き込むライト処理（Before JNL）の概要を示している。
【００８４】
まず、Ｒ／Ｗプログラム５１は、ホスト計算機２からライトコマンドを受領すると（Ｓ１１）、ライトデータ要素を格納するためのスロットをキャッシュメモリ３６に確保する（Ｓ１２）。さらに、Ｒ／Ｗプログラム５１は、更新前データ要素（Ｐ−ＶＯＬ８１に現在格納されているライトデータ）に対応した差分ＢＭ８６内の、ライトコマンドで指定されているライト先ブロックに対応したビットを参照する（Ｓ１３）。
【００８５】
そして、Ｒ／Ｗプログラム５１は、Ｓ１３の結果、参照先がオンビットの場合、更新前データ要素をＪＮＬ−ＶＯＬ８２に書き込まずに、Ｓ１８以降を実行する（Ｓ１４）。すなわち、Ｒ／Ｗプログラム５１は、ライト先ブロックに記憶されているデータ要素を更新前データ要素としてＪＮＬ−ＶＯＬ８２に退避することを行わない。
【００８６】
一方、Ｒ／Ｗプログラム５１は、Ｓ１３の結果、参照先がオフビットの場合、対象Ｐ−ＶＯＬ（ライトコマンドで指定されているＰ−ＶＯＬ）８１に対応するＪＮＬ制御情報テーブル６５を参照することで、対象Ｐ−ＶＯＬ８１についての更新前データ要素に対応するＪＮＬ関連エリア８３内の空きセグメントを特定する（Ｓ１５）。なお、Ｒ／Ｗプログラム５１は、もし、ＪＮＬデータ格納エリア８５内に空きセグメントがなければ、新たにＪＮＬデータ格納エリア８５を確保することが可能である。
【００８７】
Ｓ１５の次に、Ｒ／Ｗプログラム５１は、ライト先ブロックに記憶されている更新前データ要素を、上記特定された空きセグメントに退避する（Ｓ１６）。そして、Ｒ／Ｗプログラム５１は、オンライン更新差分データに対応するＪＮＬ制御情報テーブル６５を更新する（Ｓ１）。具体的には、Ｒ／Ｗプログラム５１は、ライト先ブロックに対応したビット（差分ＢＭ内の上記参照先のオフビット）をオンに変更し、そのライト先ブロックに対応したデータ格納アドレスとして、上記空きセグメントを表すアドレスを追加する。
【００８８】
その後、Ｒ／Ｗプログラム５１は、フロントエンドインタフェース３３内のメモリ４２に記憶されているライトデータ要素を、Ｓ１２で確保されたキャッシュメモリ３６のスロットに書き込む（Ｓ１８）。
【００８９】
Ｒ／Ｗプログラム５１は、そのスロットに書き込まれているライトデータ要素を、対象Ｐ−ＶＯＬ８１内のライト先ブロックに書き込む（Ｓ１９）。以降、本願発明においては、更新前データをＪＮＬデータとして格納する方法をベースに説明する。なお、更新データをＪＮＬデータとして格納する方法についても、同様に処理することができる。
【００９０】
（４）バックアップ処理
図１４は、バックアップ処理の概要を示している。
【００９１】
まず、管理サーバ３は、バックアップサーバ５にバックアップ指示を送信する（Ｓ２１）。続いて、バックアップサーバは、ホスト計算機２にバックアップ要求を送信する（Ｓ２２）。続いて、ホスト計算機２は、アプリケーション（図示せず）を停止し、ストレージシステム４にバックアップ指示を送信する（Ｓ２３）。なお、ホスト計算機２は、フルボリュームバックアップの場合にはスナップショット指示、ＪＮＬデータバックアップの場合にはマーカ指示を送信する。
【００９２】
続いて、管理サーバ３は、ホスト計算機２のアプリケーションの使用しているＰ−ＶＯＬ８１がどこにあるかなどを認識する（Ｓ２４）。ストレージシステム４は、ホスト計算機２からフルボリュームバックアップ指示を受信すると、バックアップ対象となるＰ−ＶＯＬ８１を分割して、スナップショットを作成し、バックアップ世代を切り離す（Ｓ２５）。また、ストレージシステム４は、ＪＮＬデータバックアップ指示を受け取ると、テープ装置６が認識することができる形式であるＶ−ＶＯＬ８８を作成し、ＪＮＬデータを世代ごとにＶ−ＶＯＬ８８に割当て、ＪＮＬデータのバックアップを行う（Ｓ２６）。
【００９３】
図１５は、フルボリュームバックアップ処理のフローチャートを示している。
【００９４】
まず、管理サーバ３は、ユーザからのバックアップ指示とバックアップする世代番号又はバックアップする論理ボリュームの時間が入力されると、ホスト計算機２のストレージシステムエージェントプログラムにバックアップ指示を送信する（Ｓ３１）。
【００９５】
続いて、ホスト計算機２は、フルボリュームバックアップ指示をストレージシステム４に送信する（Ｓ３２）。続いて、ストレージシステム４は、フルボリュームバックアッププログラム（図示せず）を起動する（Ｓ３３）。続いて、ストレージシステム４は、バックアップ対象となる論理ボリューム（Ｐ−ＶＯＬ８１）を分割（Ｓｐｌｉｔ）してスナップショット（又はレプリカ）を作成する（Ｓ３４）。なお、ストレージシステム４は、スナップショットを取得するときに、仮想ボリュームとしてＶ−ＶＯＬ８８を使用してスナップショットを取得するようにしても良く、Ｖ−ＶＯＬ８８とは異なる別の仮想ボリュームを使用してスナップショットを取得するようにしても良い。
【００９６】
続いて、ストレージシステム４は、スナップショット作成が終了した時点で（Ｓ３５）、世代が切り替わり、ＪＮＬ情報テーブル６１を更新する（Ｓ３６）。続いて、ストレージシステム４は、ホスト計算機２に、取得したスナップショットの、ホスト計算機２が認識することができる論理ボリューム番号を通知する（Ｓ３７）。続いて、ホスト計算機２は、受信したスナップショット先の論理ボリューム番号をバックアップサーバ５に通知し、バックアップ指示を送信する（Ｓ３８）。
【００９７】
続いて、バックアップサーバ５は、ストレージシステム４に対して、受信したスナップショットの論理ボリューム番号に対するスナップショットボリュームのリード要求を発行する（Ｓ３９）。続いて、ストレージシステム４は、スナップショットボリュームからデータを読み出し、バックアップサーバ５に転送する（Ｓ４０）。続いて、バックアップサーバ５は、ストレージシステム４からリードしたデータをテープ装置６に転送する（Ｓ４１）。続いて、テープ装置６は、受信したデータを格納する（Ｓ４２）。
【００９８】
続いて、バックアップサーバ５は、テープ装置６にデータ転送終了した時点で、バックアップ終了を管理サーバ３に報告する（Ｓ４３）。そして、管理サーバ３は、実施したバックアップ情報について、カタログ管理情報７３を作成し、管理する（Ｓ４４）。
【００９９】
図１６は、ＪＮＬデータバックアップ処理のフローチャートを示している。
【０１００】
まず、管理サーバ３は、ユーザからのバックアップ指示とバックアップする世代番号またはバックアップする論理ボリュームの時間が入力されると、ホスト計算機２のストレージシステムエージェントプログラムにバックアップ指示を送信する（Ｓ５１）。なお、管理サーバ３のバックアップスケジュールプログラム７２は、ジャーナルデータを移動すると判断し、さらに、どのジャーナルデータ（どの世代のデータ）をどこへ移動するかを決定し、指示を送信するようにしても良い。
【０１０１】
続いて、ホスト計算機２は、ＪＮＬデータバックアップ指示をストレージシステム４に送信する（Ｓ５２）。続いて、ストレージシステム４は、ＪＮＬバックアッププログラム５３を起動する（Ｓ５３）。続いて、ストレージシステム４は、システム内にＪＮＬバックアップするためのＶ−ＶＯＬ８８が既に作成されているかどうか検索する（Ｓ５４）。そして、ストレージシステム４は、Ｖ−ＶＯＬ８８が既に作成されていれば（Ｓ５４：ＹＥＳ）、Ｓ５５に進む。これに対して、ストレージシステム４は、Ｖ−ＶＯＬ８８が作成されていなければ（Ｓ５４：ＮＯ）、Ｓ５８に進む。
【０１０２】
続いて、ストレージシステム４は、既に生成済みのＶ−ＶＯＬ８８のうち使用中でないものを検索する（Ｓ５５）。そして、ストレージシステム４は、既に生成済みのＶ−ＶＯＬ８８で使用中でないものあれば（Ｓ５５：ＹＥＳ）、Ｓ５９に進む。これに対して、ストレージシステム４は、空いているＶ−ＶＯＬ８８がない場合（Ｓ５５：ＮＯ）、さらにＶ−ＶＯＬ８８を追加して作成するか判断する（Ｓ５６）。
【０１０３】
そして、ストレージシステム４は、さらにＶ−ＶＯＬ８８を追加して作成する場合（Ｓ５６：ＹＥＳ）、Ｓ５８に進む。これに対して、ストレージシステム４は、Ｖ−ＶＯＬ８８を追加して作成しない場合（Ｓ５６：ＮＯ）、Ｖ−ＶＯＬ８８に空きがでるのを待ち受ける（Ｓ５７）。なお、ストレージシステム４は、Ｖ−ＶＯＬ８８に空きがでたかを定期的にチェックするために、所定の時間が経過したら、Ｓ５５に戻る処理を実行してステップＳ５５〜Ｓ５７をループする。
【０１０４】
続いて、ストレージシステム４は、Ｖ−ＶＯＬ８８を生成する場合、Ｖ−ＶＯＬ生成プログラム５４を起動する（Ｓ５８）。なお、詳細については、後述する。
【０１０５】
続いて、ストレージシステム４は、Ｖ−ＶＯＬ８８が生成されると、バックアップ対象となるＪＮＬデータをマッピングし（Ｓ５９）、Ｖ−ＶＯＬマッピングテーブル６２を更新する。続いて、ストレージシステム４は、ホスト計算機２に、バックアップするＪＮＬデータがマッピングされたＶ−ＶＯＬ番号を通知する（Ｓ６０）。続いて、ホスト計算機２は、受信したＶ−ＶＯＬ番号をバックアップサーバ５に通知し、バックアップ指示を送信する（ＳＰ６１）。
【０１０６】
続いて、バックアップサーバ５は、ストレージシステム４に対して、受信したＶ−ＶＯＬ番号に対するＶ−ＶＯＬ８８のリード要求を発行する。すなわち、バックアップサーバ５は、ＬＵ管理テーブル５９のデバイス＃がＶ−ＶＯＬ番号となるＬＵＮにアクセスをする（Ｓ６２）。続いて、ストレージシステム４は、Ｖ−ＶＯＬ８８（ＪＮＬ−ＶＯＬ８２）からデータを読み出し、バックアップサーバ５に転送する（Ｓ６３）。続いて、バックアップサーバ５は、ストレージシステム４からリードしたデータをテープ装置６に転送する（Ｓ６４）。続いて、テープ装置６は、受信したデータを格納する（Ｓ６５）。
【０１０７】
ジャーナルデータは、Ｖ−ＶＯＬ８８単位でテープ装置６に格納され、Ｖ−ＶＯＬ８８を作成したときに付加されるヘッダ情報も格納される。さらに、テープ装置６は、当該テープ措置６に格納されるタイミングで、ジャーナルデータの世代番号、格納時刻、ジャーナルグループ番号（複数のＪＮＬ−ＶＯＬ８２の世代を同時に変更するグループ識別子）、ジャーナルデータの順番などの情報も書き込むこともある。なお、これらは、管理サーバ３と両方で保持していてもよい。
【０１０８】
続いて、バックアップサーバ５は、テープ装置６にデータ転送終了した時点で、バックアップ終了を管理サーバ３に報告する（Ｓ６６）。そして、管理サーバ３は、実施したバックアップ情報について、カタログ管理情報７３を作成し、管理する（Ｓ６７）。
【０１０９】
上記の図１６の処理は、管理サーバ３がカタログ管理を行い、カタログ管理情報７３を保持している構成における処理である。なお、本発明においては、カタログ管理情報７３を、ストレージシステム４が保持する場合（図１７）、バックアップサーバ５が保持する場合（図１８）も同様に処理することができる。
【０１１０】
図１７は、カタログ管理情報７３をストレージシステム４が保持する場合のＪＮＬデータバックアップ処理のフローチャートを示している。
【０１１１】
まず、ストレージシステム４は、自己のストレージシステム４内でジャーナルデータ量を監視し、Ｐ−ＶＯＬ８１のバックアップをするかどうかを判断する（Ｓ７１）。判断する契機は、予め決めた単位時間毎でもよいし、ジャーナルデータ量が増加した時でもよい。また、判断の基準は、予め決めた閾値量をジャーナルデータ量が超えたかどうかでもよいし、全体のデータ格納可能な容量に対するジャーナルデータ量の割合でもよい。ストレージシステム４は、バックアップすると判断した場合、どのジャーナルデータをどこへバックアップするかを決定する（Ｓ７１）。
【０１１２】
Ｓ７２〜Ｓ７８は、Ｓ５３〜Ｓ５９と同様である。
【０１１３】
続いて、ストレージシステム４は、バックアップ指示（テープ装置６へのジャーナルデータの移動）をホスト計算機２に送信させる。その際に、ホスト計算機２は、バックアップする対象となるジャーナルデータを割り当てたＶ−ＶＯＬ番号とバックアップするテープ装置６の番号を送信する（Ｓ８０）。
【０１１４】
Ｓ８１〜Ｓ８４は、Ｓ６２〜Ｓ６５と同様である。
【０１１５】
続いて、バックアップサーバ５は、テープ装置６にデータ転送終了した時点で、バックアップ終了をホスト計算機２に報告する（Ｓ８５）。続いて、ホスト計算機２は、バックアップ終了のストレージシステム４に通知する（Ｓ８６）。そして、ホスト計算機２は、実施したバックアップ情報について、カタログ管理情報７３を作成し、管理する（Ｓ８７）。
【０１１６】
図１８は、カタログ管理情報７３をバックアップサーバ５が保持する場合の処理のフローチャートを示している。
【０１１７】
まず、バックアップサーバ５は、ジャーナルデータ量を監視し、Ｐ−ＶＯＬ８１のバックアップをするかどうかを判断する。判断の仕方は、ストレージシステム４がカタログ管理情報７３を管理する場合と同様で良い。ジャーナルデータ量の監視は、カタログ管理情報７３をバックアップサーバ５で行うことから、バックアップサーバ５がカタログ管理情報７３から判断してもよいし、管理サーバ３やストレージシステム４がジャーナルデータ量を定期的に送信し、送信されたジャーナル量から判断してもよい。バックアップサーバ５は、バックアップすると判断した場合、どのジャーナルデータをどこへバックアップするかを決定する（Ｓ９１）。
【０１１８】
Ｓ９２〜Ｓ１０５は、Ｓ５２〜Ｓ６５と同様である。
【０１１９】
続いて、バックアップサーバ５は、カタログ管理情報７３を更新（Ｓ１０６）し、バックアップ終了をホスト計算機２に通知する（Ｓ１０７）。
【０１２０】
図１９は、任意の時点に指定時刻または世代をバックアップする処理のフローチャートを示している。
【０１２１】
管理サーバ３は、ユーザからバックアップするデータの時刻又は世代を入力されると、ホスト計算機２のストレージシステムエージェントプログラムにバックアップ指示を送信する（Ｓ１１１）。続いて、ホスト計算機２は、フルボリュームバックアップ指示をストレージシステム４に送信する（Ｓ１１２）。
【０１２２】
続いて、ストレージシステム４は、図１５に示したフルボリュームバックアップ処理を行う。すなわち、ストレージシステム４は、現状業務に使用しているＰ−ＶＯＬ８１のスナップショットを取得する。そして、バックアップサーバ５は、そのスナップショットボリュームのデータを読み出してテープ装置６に転送する。
【０１２３】
続いて、ストレージシステム４は、バックアップする世代のＪＮＬデータを取得するために、図１６に示したＪＮＬデータバックアップ処理を行う。すなわち、ストレージシステム４は、Ｖ−ＶＯＬ８８を作成し、バックアップしたい世代のＪＮＬデータ格納エリア８３のアドレスをＶ−ＶＯＬ８８にマッピングする。そして、バックアップサーバ５は、ＪＮＬデータ格納エリア８３からデータを読み出してテープ装置６に転送する。
【０１２４】
以上のように、計算機システム１では、バックアップ運用を行い、ＪＮＬデータのバックアップを行う。
【０１２５】
図２０は、Ｖ−ＶＯＬ８８の構成と、Ｖ−ＶＯＬ８８へのマッピングのイメージを示している。Ｖ−ＶＯＬ８８のボリューム先頭にあるヘッダ情報は、Ｖ−ＶＯＬヘッダ情報テーブル６４の記憶エリアに格納されている。Ｖ−ＶＯＬ生成プログラム５４は、バックアップサーバ５のＯＳ（Operating System）がアクセスするためのＶ−ＶＯＬ８８のヘッダ領域情報をリンクする。バックアップサーバ５は、Ｖ−ＶＯＬ８８へのアクセス要求を受信すると、Ｖ−ＶＯＬ８８のボリューム先頭エリアに対応するＯＳのヘッダ領域情報をストレージシステム４側が自動的にマッピングしてＶ−ＶＯＬ８８へのアクセスを実行できるようにする。
【０１２６】
Ｖ−ＶＯＬ８８のＪＮＬ情報格納領域の部分には、バックアップ要求の世代のＪＮＬ制御情報とＪＮＬデータがマッピングされているが、実体のデータが格納されているのはＪＮＬデータ格納エリア８５である。このため、ストレージシステム４は、アクセス時には、Ｖ−ＶＯＬマッピングテーブル６２に登録されたアドレスを検索し、対応するＪＮＬデータを読み出し、バックアップサーバ５に転送する。
【０１２７】
Ｖ−ＶＯＬ８８は、バックアップ要求のあった世代ごとに対応させてマッピングされる。
【０１２８】
ストレージシステム４は、バックアップの指示契機で作成してもよいし、予めＶ−ＶＯＬ８８を作成しておいても良い。また、ストレージシステム４は、Ｖ−ＶＯＬ８８のＪＮＬ情報格納領域の部分に、ＪＮＬ制御情報とＪＮＬデータをマッピングするが、バックアップ指示を受信すると、対応させる世代をマウントすることで、１つのＶ−ＶＯＬ８８で複数世代をマッピングすることができる。このため、ストレージシステム４は、通常、アクセス不可状態とし、バックアップ元のＰ−ＶＯＬ＃とバックアップ取得世代＃と世代差分データ格納先頭アドレスがＶ−ＶＯＬマッピングテーブル６２にマッピングしたときに、アクセスできるように管理する。
【０１２９】
本実施の形態においては、バックアップの指示を、管理サーバ３から入力される処理で示したが、管理サーバ３が存在しない構成においては、バックアップサーバ５にユーザがバックアップ要求を入力し、バックアップ処理を開始しても良い(バックアップ処理は同様)。その場合、ユーザは、取得したいバックアップ世代又は時間を指定する。
【０１３０】
１つのＶ−ＶＯＬ８８は、ホスト計算機２のモードを変更することにより、当該Ｖ−ＶＯＬ８８とＯＳ依存のヘッダ領域情報とのマッピングを変更して、多種のＯＳへの対応を可能とする。例えば、あるときは、「Ａ」というＯＳからアクセスされるＶ−ＶＯＬ８８であり、また別のときは、「Ｂ」というＯＳからアクセスされるＶ−ＶＯＬ８８であることも可能である。
【０１３１】
このように、更新箇所の差分情報とデータであるジャーナルデータは、ストレージシステム４内部に独自に作成するデータであるため、通常バックアップサーバ５からジャーナルデータを認識しない。そこで、計算機システム１では、バックアップサーバ５が、ジャーナルデータを認識し読み出すことができるような機能をストレージシステム４で提供し、使用頻度の低い、古い世代のジャーナルデータを、外部の低コストの記憶装置に移行する、階層管理を行い、ユーザ指定の論理ボリュームをバックアップする。
【０１３２】
（５）リストア処理
図２１は、リストア処理の概要を示している。
【０１３３】
まず、バックアップサーバ５は、管理サーバ３からリストア指示が送信されると（Ｓ１２１）、ホスト計算機２にリストア要求を送信する。続いて、ホスト計算機２は、アプリケーションを静止し、ストレージシステム４にリストア指示を送信する（Ｓ１２３）。続いて、管理サーバ３は、ホスト計算機２のアプリケーションの使用しているＶ−ＶＯＬ８８がどこにあるか等を認識する（Ｓ１２４）。
【０１３４】
続いて、ストレージシステム４は、ホスト計算機２からリストア指示を受信すると、リストア用のボリューム（リストアボリューム）８９を確保する（Ｓ１２５）。続いて、ストレージシステム４は、ＪＮＬデータリストア用のＶ−ＶＯＬ８８とＪＮＬデータ格納エリア８５を確保する（Ｓ１２６）。
【０１３５】
続いて、バックアップサーバ５は、ストレージシステム４の準備が整った旨を受信すると、テープ装置６のフルボリュームとＪＮＬデータをストレージシステム４への転送を開始する（Ｓ１２７）。ストレージシステム４は、受信したフルボリュームのデータとＪＮＬデータからユーザ指定の世代の論理ボリュームを復元する（Ｓ１２８）。
【０１３６】
図２２は、ＪＮＬデータをリストアするリストア処理をフローチャートで示している。
【０１３７】
まず、管理サーバ３は、ユーザからのリストア指示とリストアする世代番号またはリストアするものの時間が入力されると、ホスト計算機２のストレージシステムエージェントプログラムにリストア指示を送信する（Ｓ１３１）。続いて、ホスト計算機２は、リストア指示をストレージシステム４に送信する（Ｓ１３２）。続いて、ストレージシステム４は、ＪＮＬリストアプログラム５６を起動する（Ｓ１３３）。
【０１３８】
続いて、ストレージシステム４は、テープ装置６からフルボリュームバックアップ処理でバックアップした論理ボリュームをリストアするためのリストアボリューム８９を空きボリュームから確保する（Ｓ１３４）。続いて、ストレージシステム４は、ＪＮＬデータをリストアするためのＶ−ＶＯＬ８８が既に作成されているかどうか検索する（Ｓ１３５）。そして、ストレージシステム４は、Ｖ−ＶＯＬ８８が既に作成されていれば（Ｓ１３５：ＹＥＳ）、Ｓ１３９に進む。これに対して、ストレージシステム４は、Ｖ−ＶＯＬ８８が作成されていなければ（Ｓ１３５：ＮＯ）、Ｓ１３６に進む。
【０１３９】
続いて、ストレージシステム４は、既に生成済みのＶ−ＶＯＬ８８のうち使用中でないものを検索する（Ｓ１３６）。そして、ストレージシステム４は、既に生成済みのＶ−ＶＯＬ８８で使用中でないものあれば（Ｓ１３６：ＹＥＳ）、Ｓ１３９に進む。これに対して、ストレージシステム４は、空いているＶ−ＶＯＬ８８がない場合（Ｓ１３６：ＮＯ）、さらにＶ−ＶＯＬ８８を追加して作成するか判断する（Ｓ１３７）。
【０１４０】
そして、ストレージシステム４は、さらにＶ−ＶＯＬ８８を追加して作成する場合（Ｓ１３７：ＹＥＳ）、Ｓ１３９に進む。これに対して、ストレージシステム４は、Ｖ−ＶＯＬ８８を追加して作成しない場合（Ｓ１３７：ＮＯ）、Ｖ−ＶＯＬ８８が空きがでるのを待ち受ける（Ｓ１３８）。なお、ストレージシステム４は、Ｖ−ＶＯＬ８８に空きがでたかを定期的にチェックするために、所定の時間が経過したら、Ｓ１３６に戻る処理を実行してステップＳ１３６〜Ｓ１３８をループする。
【０１４１】
続いて、ストレージシステム４は、Ｖ−ＶＯＬ８８を生成する場合、Ｖ−ＶＯＬ生成プログラム５４を起動する（Ｓ１３９）。
【０１４２】
続いて、ストレージシステム４は、Ｖ−ＶＯＬ８８が生成されると、リストアするＪＮＬデータを格納するためのＪＮＬデータ格納エリア８５を用意してマッピングし（Ｓ１４０）、Ｖ−ＶＯＬマッピングテーブル６２を更新する（Ｓ１４０）。続いて、管理サーバ３は、ストレージシステム４からリストア準備が完了した旨の報告を受信すると、ユーザからのリストア指示要求がどのテープ装置６に格納したかを確認し、バックアップサーバ５にリストア指示を送信する（Ｓ１４１）。続いて、バックアップサーバ５は、リストア元であるテープ装置６に転送指示を送信する（Ｓ１４２）。
【０１４３】
続いて、テープ装置６は、対象データをバックアップサーバ５に転送する（Ｓ１４３）。続いて、バックアップサーバ５は、テープ装置６からリードしたデータをストレージシステム４内に格納するために、ストレージシステム４にライト要求を送信する（Ｓ１４６）。このとき、バックアップサーバ５は、確保されたライト先をストレージシステム４から通知される(ホスト計算機２経由でも良い）。
【０１４４】
続いて、ストレージシステム４は、自己のストレージシステム４に送信されたデータを受信し、確保した箇所へデータを格納する（Ｓ１４５）。このとき、ストレージシステム４は、ライトデータとともに、テープ装置６にＪＮＬデータを書き込むときに付加した情報（ジャーナルの世代、取得時刻等）もストレージシステム４内の制御メモリ３７に格納する。続いて、ストレージシステム４は、ライトデータの受信が終了すると、管理サーバ３に終了報告を送信する。
【０１４５】
続いて、管理サーバ３は、ストレージシステム４にリストアボリューム８９の復元指示を送信する（Ｓ１４６）。続いて、ストレージシステム４は、Ｓ１４５で格納した情報や、管理サーバ３で管理するカタログ管理情報７３からリストアしたジャーナルデータがどのフルボリューム（リストアボリューム８９）のジャーナルデータであるか（どのフルボリュームにジャーナルデータを更新すればよいのか）を認識し、フルボリューム（リストアボリューム８９）に、リストアしたＶ−ＶＯＬ８８のデータを上書きし、ＪＮＬデータを反映させて、リストアボリューム８９をユーザが復元を指示した世代の内容に復元する（Ｓ１４７）。そして、管理サーバ３は、実施したリストア情報について、カタログ管理情報７３を作成し、管理する（Ｓ１４８）。
【０１４６】
このように、計算機システム１では、ストレージシステム４の外部に移行したジャーナルデータを再びストレージシステム４に移行して、ユーザ指定の論理ボリュームをリストアする。
【０１４７】
（６）差分のマージ
後述する図２３及び図２４を参照して説明するように、複数の世代分の世代間差分データ８７及び差分ＢＭ８６は、マージが可能である。これにより、計算機システム１では、消費される記憶容量を削減することができる。以下、マージ後の世代間差分データ８７を「マージ差分データ」という。
【０１４８】
図２３は、世代間差分データ８７をマージする処理のフローチャートを示している。図２４は、そのマージ処理に関するデータ要素の動きを示している。以下、図２３及び図２４を参照して、マージ処理を説明する。
【０１４９】
ＪＮＬマージプログラム５７（図２参照）は、或る世代数分（例えば、（ｍ＋１）世代（世代（Ｎ）〜世代（Ｎ＋ｍ））の世代間差分データ８７が格納されていることを検出したときに、（ｍ＋１）世代分の世代間差分データをマージ差分データ８７に変換するマージ処理を開始する（後述）。なお、マージ処理の開始の契機として、（ｍ＋１）世代分の世代間差分データ８７が格納されていることが検出されたということは、一例にすぎず、他の契機、例えば、直前回のマージ処理から所定期間が経過したときであっても良い。
【０１５０】
まず、ＪＮＬマージプログラム５７は、ＪＮＬ情報テーブル６１でマージ対象の世代（Ｎ）〜世代（Ｎ＋ｍ）の「状態」（図示せず）を“マージ中”に変更する。そして、ＪＮＬマージプログラム５７は、マージ対象のもっとも古い世代（Ｎ）の世代間差分データ８７を、対象として選択する（Ｓ１５１）。
【０１５１】
続いて、ＪＮＬマージプログラム５７は、対象の世代間差分データ８７に対応した差分ＢＭ８６（Ｎ）の先頭ビットを参照位置として決定する（Ｓ１５２）。
【０１５２】
続いて、ＪＮＬマージプログラム５７は、差分ＢＭ８６（Ｎ）について参照位置とされているビットを検索する（Ｓ１５３）。そして、ＪＮＬマージプログラム５７は、当該ビットがオンであれば（Ｓ１５３：ＹＥＳ）、Ｓ１５４に進み、当該ビットがオフであれば（Ｓ１５３：ＮＯ）、Ｓ１５９に進む。以下においては、図２３及び図２４の説明において、その参照位置とされているビットを「対象ビット」といい、そのビットがオンであれば「対象オンビット」といい、そのビットがオフであれば「対象オフビット」という。
【０１５３】
続いて、ＪＮＬマージプログラム５７は、今回作成するマージ差分データ８７に対応した差分ＢＭ８６（以下、図２３及び図２４の説明において、「マージ差分ＢＭ」という）について、上述した対象ビットと同じ位置にあるビットを検索する（Ｓ１５４）。そして、ＪＮＬマージプログラム５７は、当該対象ビットがオフであれば（Ｓ１５４：ＹＥＳ）、Ｓ１５５に進み、当該対象ビットがオンであれば（Ｓ１５４：ＮＯ）、Ｓ１５９に進む。
【０１５４】
続いて、ＪＮＬマージプログラム５７は、差分ＢＭ８６（Ｎ）における対象オンビットに対応した世代間差分データ８７のＪＮＬデータ格納エリア８５のデータ格納アドレスを検索し（Ｓ１５５）、当該アドレスを特定する（Ｓ１５６）。そして、ＪＮＬマージプログラム５７は、当該アドレスが示すセグメントに記憶されている世代間差分データ８７を、当該セグメントから、今回作成されるマージ差分データ８７に対応したＪＮＬデータ格納エリア８５内のセグメント（直前回のコピー先のセグメントの次のセグメント）にコピー（上書き）する（Ｓ１５７）。そして、ＪＮＬマージプログラム５７は、マージ差分ＢＭ８６における、対象ビットと同じ位置にあるビットを、オンに変更する（Ｓ１５８）。
【０１５５】
続いて、ＪＮＬマージプログラム５７は、差分ＢＭ８６（Ｎ）において、これまでの参照位置の次の位置に未参照のビットを検索する（Ｓ１５４）。そして、ＪＮＬマージプログラム５７は、当該ビットがあれば（Ｓ１５９：ＹＥＳ）、次のビットを参照位置として変更し（Ｓ１６０）、Ｓ１５３に進む。これに対して、ＪＮＬマージプログラム５７は、次の位置に未参照のビットがなければ（Ｓ１５９：ＮＯ）、その世代（Ｎ）についての処理を終了し（Ｓ１６１）、次の世代があるかを検索する（Ｓ１６２）。そして、ＪＮＬマージプログラム５７は、次の世代があれば（Ｓ１６２：ＹＥＳ）、Ｓ１５１に進み、次の世代（Ｎ＋１）の世代間差分データ８７を、対象として選択する。これに対して、ＪＮＬマージプログラム５７は、次の世代がなければ（すなわち、直前回に処理された世代が（Ｎ＋ｍ）であれば）（Ｓ１６２：ＮＯ）、マージ処理を終了する。
【０１５６】
以上の流れによれば、ストレージシステム４は、図２４に示すように、マージ対象の世代（Ｎ）〜（Ｎ＋ｍ）のうちの古い世代に対応した世代間差分データ８７から先に処理する。また、ストレージシステム４は、世代間差分データ８７に対応した差分ＢＭ８６ではオンビットであって、マージ差分ＢＭ８６において、そのオンビットに対応したビットがオフであれば、そのオンビットに対応した世代間差分データ８７を、マージ差分データ８７に対応したＪＮＬデータ格納エリア８５にコピーする。一方、ストレージシステム４は、世代間差分データ８７に対応した差分ＢＭ８６ではオンビットであり、マージ差分ＢＭ８６においても、そのオンビットに対応したビットがオンであれば、世代間差分データ８７に対応した差分ＢＭ８６内のオンビットに対応したデータ要素をコピーしない。
【０１５７】
要するに、ストレージシステム４は、古い世代に対応した世代間差分データ８７ほど、優先的に、マージ差分データ８７に対応したＪＮＬデータ格納エリア８５にコピーする。具体的には、例えば、図２４に示すように、世代（Ｎ）と世代（Ｎ＋ｍ）の２つの世代について、Ｐ−ＶＯＬ８１の先頭ブロックに対応した世代間差分データ８７の要素「Ａ」及び「Ｇ」が存在している。この場合、上述したように、古い世代に対応した世代間差分データ要素ほど優先されるので、ストレージシステム４は、世代（Ｎ）についての要素「Ａ」を、マージ差分データ８７に対応したＪＮＬデータ格納エリア８５にコピーするが、その世代（Ｎ）よりも新しい世代についての要素「Ｇ」を、そのＪＮＬデータ格納エリア８５にコピーしない。
【０１５８】
なお、このマージ処理では、古い世代から先に処理するが、新しい世代から先に処理するようにしても良い。この場合、ストレージシステム４は、世代間差分データに対応した差分ＢＭ８６ではオンビットであり、マージ差分ＢＭ８６においても、そのオンビットに対応したビットがオンであれば、世代間差分データ８７に対応した差分ＢＭ８６内のオンビットに対応したデータを、マージ差分データ８７に対応したＪＮＬデータ格納エリア８５に記憶されている、オンビットに対応したマージ差分データ８７に上書きするようにしても良い。また、ストレージシステム４は、マージ差分データ８７を作成した場合、当該マージ差分データ８７の基になった複数世代分の世代間差分データ８７を、マージ差分データ８７の作成完了の直後に、又は計算機（例えば、ホスト計算機２又は管理サーバ３）からの指示に応答して、削除するようにしても良い。
【０１５９】
また、ストレージシステム４は、世代間差分データ８７やマージ差分データ８７を古い世代から削除するようにしても良い。この場合、ストレージシステム４は、例えば、図示しないＪＮＬ削除プログラムにより、削除対象の世代に対応したＪＮＬ制御情報テーブル６４及びＪＮＬデータを解放し、解放した領域を空きの領域として管理する。また、ＪＮＬ削除プログラムは、Ｐ−ＶＯＬ構成管理テーブル６０及びＪＮＬ情報テーブル６１から、削除対象の世代に対応したエントリを削除する。
【０１６０】
なお、ストレージシステム４では、上述のように、差分をマージしてからテープ装置６にバックアップすることもできる。
【０１６１】
このようにして、計算機システム１では、バックアップサーバ５がＪＮＬデータを認識できる機能をストレージシステム４が提供する。
【０１６２】
すなわち、ストレージシステム４は、ＪＮＬデータの容量に対応する仮想ボリューム（Ｖ−ＶＯＬ８８）を生成する。続いて、ストレージシステム４は、バックアップサーバ５からＶ−ＶＯＬ８８を認識させるため、Ｖ−ＶＯＬ８８の先頭にＶ−ＶＯＬ８８独自のヘッダ情報を設定する。なお、ヘッダ情報は、バックアップサーバ５のＯＳの種別によって異なる。
【０１６３】
続いて、ストレージシステム４は、生成したＶ−ＶＯＬ８８に、対応するＪＮＬデータを対応させる。具体的には、ストレージシステム４は、バックアップする世代（又は時間）をユーザが指定し、その世代に対応するＪＮＬデータが格納されている位置を検索し、Ｖ−ＶＯＬ８８にマッピングする。そして、バックアップサーバ５は、ストレージシステム４のＶ−ＶＯＬ８８からＪＮＬデータを読み出して、読み出したＪＮＬデータをテープ装置６に格納し、ＪＮＬデータをバックアップする。
【０１６４】
また、計算機システム１では、バックアップしたＪＮＬデータを復元する機能をストレージシステム４が提供する。すなわち、ストレージシステム４は、管理サーバ３からのリストア指示により、テープ装置６に格納されたＪＮＬデータをＶ−ＶＯＬ８８を使用してストレージシステム４内に戻して、リストア指示に基づく論理ボリュームを復元する。
【０１６５】
従って、バックアップサーバ５が、ＪＮＬデータそのものを直接読み出して、テープ装置６にＪＮＬデータを格納することができる。また、テープ装置６に格納したＪＮＬデータをストレージシステム４に送信し、ＪＮＬデータそのものとして、ストレージシステム４がアクセスすることができる。
【０１６６】
かくして、計算機システム１では、バックアップサーバ５が、ストレージスステム４からＪＮＬデータを読み出す技術を一般化することで、ＪＮＬデータそのものをストレージシステム４の外部の周辺装置（テープ装置６等）にバックアップすることができる。
【０１６７】
なお、本実施の形態においては、バックアップサーバ５が認識することができないボリュームとしてジャーナルデータが格納されたＪＮＬ-ＶＯＬ８２について記載したが、本発明は、これに限らず、ジャーナルデータが格納されたＪＮＬ-ＶＯＬ８２以外のストレージシステム４内の独自の形式の情報について適用することができる。例えば、上述のような独自形式の情報として、スナップショットの差分データや、動的に記憶領域を拡張するボリューム（シンプロビジョニング）の格納データ等が挙げられる。これらのデータは、ストレージシステム４内でストレージプールを生成する必要があり、当該ストレージプール内に書き込む必要があるため、ストレージシステム４内の独自の形式の情報となり、バックアップサーバ５等、外部の記憶装置から認識することができないデータとなるからである。
【０１６８】
また、本実施の形態においては、ＪＮＬデータを移動する対象の選択方法として、使用頻度（アクセス頻度）の低いものから移動したり、ＪＮＬデータの作成時刻の古いものから移動したり、ユーザ指定のものを移動したりする方法を選択することもできる。
【０１６９】
さらに、本実施の形態においては、ＪＮＬデータを移動する契機として、ストレージシステム４内の使用ＰＤＥＶ３９の総容量が予め設定した値より大きくなったときや、予め設定した頻度よりアクセス頻度が低いＪＮＬデータが発生したとき、ユーザが指定したときに、ＪＮＬデータを移動するようにしても良い。
【産業上の利用可能性】
【０１７０】
本発明は、データを格納する論理ボリュームのバックアップを実施するストレージ装置に広く適用することができる。
【図面の簡単な説明】
【０１７１】
【図１】本発明の計算機システムの構成図である。
【図２】ストレージシステムのプログラムの構成図である。
【図３】デバイス構成管理テーブルの構成図である。
【図４】ＬＵ管理テーブルの構成図である。
【図５】Ｐ−ＶＯＬ構成管理テーブル、ＪＮＬ情報テーブル、Ｖ−ＶＯＬマッピングテーブル、ＪＮＬ制御情報テーブルの構成図である。
【図６】ＪＮＬ管理テーブルの構成図である。
【図７】Ｖ−ＶＯＬヘッダ情報テーブルの構成図である。
【図８】管理サーバのプログラムの構成図である。
【図９】カタログ管理情報の構成図である。
【図１０】バックアップスケジュール例である。
【図１１】計算機システムのＪＮＬデータ格納の概要図である。
【図１２】ＪＮＬ取得処理のフローチャート図である。
【図１３】ＪＮＬ取得処理のフローチャート図である。
【図１４】バックアップ処理の概要図である。
【図１５】フルボリュームバックアップ処理のフローチャート図である。
【図１６】ＪＮＬデータバックアップ処理のフローチャート図である。
【図１７】ＪＮＬデータバックアップ処理のフローチャート図である。
【図１８】ＪＮＬデータバックアップ処理のフローチャート図である。
【図１９】指定世代のバックアップ処理のフローチャート図である。
【図２０】Ｖ−ＶＯＬの構成図である。
【図２１】リストア処理の構成図である。
【図２２】ＪＮＬリストア処理のフローチャート図である。
【図２３】マージ処理のフローチャート図である。
【図２４】マージ処理の概要図である。
【符号の説明】
【０１７２】
１……計算機ジシステム、２……ホスト計算機、３……管理サーバ、４……ストレージシステム、５……バックアップサーバ、６……テープ装置、３８……制御プロセッサ、５１……Ｒ／Ｗプログラム、５２……ＣｏＷプログラム、５３……ＪＮＬバックアッププログラム、５４……Ｖ−ＶＯＬ生成プログラム、５５……Ｖ−ＶＯＬ−ＪＮＬマッピング管理プログラム、５６……ＪＮＬリストアプログラム、５７……ＪＮＬマージプログラム、５８……デバイス構成管理プログラム、５９……ＬＵ管理テーブル、６０……Ｐ−ＶＯＬ構成管理テーブル、６１……ＪＮＬ情報テーブル、６２……Ｖ−ＶＯＬマッピングテーブル、６３……ＪＮＬ管理プログラム、６４……Ｖ−ＶＯＬヘッダ情報テーブル
【図１】
2010055314.tif 000003
【図２】
2010055314.tif 000004
【図３】
2010055314.tif 000005
【図４】
2010055314.tif 000006
【図５】
2010055314.tif 000007
【図６】
2010055314.tif 000008
【図７】
2010055314.tif 000009
【図８】
2010055314.tif 000010
【図９】
2010055314.tif 000011
【図１０】
2010055314.tif 000012
【図１１】
2010055314.tif 000013
【図１２】
2010055314.tif 000014
【図１３】
2010055314.tif 000015
【図１４】
2010055314.tif 000016
【図１５】
2010055314.tif 000017
【図１６】
2010055314.tif 000018
【図１７】
2010055314.tif 000019
【図１８】
2010055314.tif 000020
【図１９】
2010055314.tif 000021
【図２０】
2010055314.tif 000022
【図２１】
2010055314.tif 000023
【図２２】
2010055314.tif 000024
【図２３】
2010055314.tif 000025
【図２４】
2010055314.tif 000026