(57)【要約】      （修正有）【課題】ユーザが指定したバックアップウィンドウ内にバクアップを完了させる。【解決手段】バックアップ対象である第１記憶領域のデータを第２記憶領域にコピーする際，第１記憶領域から第２記憶領域にコピーされる領域が記載された差分ビットマップの情報と，記憶領域が格納されているストレージシステムの構成情報と，記憶領域を構成するメディアの性能情報とから，バックアップウィンドウ内にバックアップを完了させるために十分な第２記憶領域よりも高速な第３記憶領域となるメディアの容量を算出し，差分データを第２記憶領域と第３記憶領域とを用いてコピーし，第３記憶領域に書き込まれたデータを，第２記憶領域にコピーする。【選択図】図１
2011170475.tif 000002
【特許請求の範囲】
【請求項１】
計算機システムであって，
管理計算機と，
前記管理計算機に接続され，第一の記憶領域を有する第一のストレージ装置と，
前記管理計算機と，前記第一のストレージ装置と，に接続され，前記第一の記憶領域のデータのコピーが格納された第二の記憶領域と，前記第二の記憶領域より書き込み速度が速い第三の記憶領域と，を有する第二のストレージ装置と，を備え，
前記管理計算機は，
前記第一の記憶領域の読み出し速度と，前記第二の記憶領域の書き込み速度と，前記第三の記憶領域の書き込み速度と，前記第一の記憶領域のデータのうち第二の記憶領域に格納されていない差分データの量より，所定の時間以内に前記差分データのコピーを完了するための，前記第三の記憶領域の容量を算出し，
前記第二のストレージ装置は，
前記第三の記憶領域の容量が，前記算出された容量より大きい場合，
前記第一の記憶領域から送信された前記差分データを，前記第二の記憶領域または前記第三の記憶領域にコピーし，前記第三の記憶領域にコピーされた差分データを前記第二の記憶領域に移動する
ことを特徴とする計算機システム。
【請求項２】
前記第二のストレージ装置は，
前記第二の記憶領域が割り当てられた仮想ボリュームを提供し，
前記算出した容量分の第三の記憶領域を前記仮想ボリュームに割当てる
ことを特徴とする請求項１記載の計算機システム。
【請求項３】
前記第三の記憶領域の容量が，前記算出された容量より小さい場合，
前記管理計算機は，前記算出された容量と前記第三の記憶領域の容量の差を算出し，
前記第二のストレージ装置は，
少なくとも前記算出された差の容量分の，前記第二の記憶領域より書き込み速度が速い，第四の記憶領域が追加された場合，
前記第三の記憶領域と，前記追加された第四の記憶領域と，を前記仮想ボリュームに割当て，
前記第一の記憶領域から送信された前記差分データを，前記第三の記憶領域または前記第四の記憶領域にコピーし，
前記コピーされた差分データを，前記第二の記憶領域へ移動する
ことを特徴とする請求項２記載の計算機システム。
【請求項４】
前記差分データは，複数のブロックからなるセグメント単位で制御され，
前記管理計算機は，前記セグメントの更新されたブロックを特定し，前記更新されたブロックのコピー先である前記第二の記憶領域に格納されたセグメントを，前記第三の記憶領域または前記第四の記憶領域に移動し，前記移動されたセグメントに前記更新されたブロックをコピーし，前記更新されたブロックがコピーされたセグメントを前記第二の記憶領域に移動する
ことを特徴とする請求項３記載の計算機システム。
【請求項５】
前記セグメントのうち更新されたブロック数が多いセグメントから順に，前記第三の記憶領域または前記第四の記憶領域にコピーする
ことを特徴とする請求項４記載の計算機システム。
【請求項６】
前記第一のストレージ装置に接続されるホスト計算機を備え，
前記ホスト計算機上で，複数のアプリケーションが動作し，
前記複数のアプリケーションのそれぞれから前記第一の記憶領域に差分データが書き込まれ，
前記第一のストレージ装置から前記第二のストレージ装置に，前記差分データのバックアップが行われる際に，
前記複数のアプリケーションの優先度が高い順に，前記第一の記憶領域から前記第三の記憶領域に前記差分データをコピーする
ことを特徴とする請求項５記載の計算機システム。
【請求項７】
前記管理計算機は，表示部を有し，
前記算出した差の容量を前記表示部に表示する
ことを特徴とする請求項６記載の計算機システム。
【請求項８】
管理計算機と，
前記管理計算機に接続される第一のストレージ装置と，
前記管理計算機と，前記第一のストレージ装置と，に接続される第二のストレージ装置と，を備える計算機システムにおけるバックアップ方法であって，
前記管理計算機は，
前記第一のストレージ装置が有する第一の記憶領域の読み出し速度と，前記第二のストレージ装置が有する第二の記憶領域の書き込み速度と，前記第二の記憶装置が有する，前記第二の記憶領域より書き込み速度が速い第三の記憶領域の書き込み速度と，前記第一の記憶領域のデータのうち第二の記憶領域に格納されていない差分データの量より，所定の時間以内に前記差分データのコピーを完了するための，前記第三の記憶領域の容量を算出し，
前記第二のストレージ装置は，
前記第三の記憶領域の容量が，前記算出された容量より大きい場合，
前記第一の記憶領域から送信された前記差分データを，前記第二の記憶領域または前記第三の記憶領域にコピーし，前記第三の記憶領域にコピーされた差分データを前記第二の記憶領域に移動する
ことを特徴とする計算機システムにおけるバックアップ方法。
【請求項９】
前記第二のストレージ装置は，
前記第二の記憶領域が割り当てられた仮想ボリュームを提供し，
前記算出した容量分の第三の記憶領域を前記仮想ボリュームに割当てる
ことを特徴とする請求項８記載の計算機システムにおけるバックアップ方法。
【請求項１０】
前記第三の記憶領域の容量が，前記算出された容量より小さい場合，
前記管理計算機は，前記算出された容量と前記第三の記憶領域の容量の差を算出し，
前記第二のストレージ装置は，
少なくとも前記算出された差の容量分の，前記第二の記憶領域より書き込み速度が速い，第四の記憶領域が追加された場合，
前記第三の記憶領域と，前記追加された第四の記憶領域と，を前記仮想ボリュームに割当て，
前記第一の記憶領域から送信された前記差分データを，前記第三の記憶領域または前記第四の記憶領域にコピーし，
前記コピーされた差分データを，前記第二の記憶領域へ移動する
ことを特徴とする請求項９記載の計算機システムにおけるバックアップ方法。
【請求項１１】
前記差分データは，複数のブロックからなるセグメント単位で制御され，
前記管理計算機は，前記セグメントの更新されたブロックを特定し，前記更新されたブロックのコピー先である前記第二の記憶領域に格納されたセグメントを，前記第三の記憶領域または前記第四の記憶領域に移動し，前記移動されたセグメントに前記更新されたブロックをコピーし，前記更新されたブロックがコピーされたセグメントを前記第二の記憶領域に移動する
ことを特徴とする請求項１０記載の計算機システムにおけるバックアップ方法。
【請求項１２】
前記セグメントのうち更新されたブロック数が多いセグメントから順に，前記第三の記憶領域または前記第四の記憶領域にコピーする
ことを特徴とする請求項１１記載の計算機システムにおけるバックアップ方法。
【請求項１３】
前記第一のストレージ装置に接続されるホスト計算機を備え，
前記ホスト計算機上で，複数のアプリケーションが動作し，
前記複数のアプリケーションのそれぞれから前記第一の記憶領域に差分データが書き込まれ，
前記第一のストレージ装置から前記第二のストレージ装置に，前記差分データのバックアップが行われる際に，
前記複数のアプリケーションの優先度が高い順に，前記第一の記憶領域から前記第三の記憶領域に前記差分データをコピーする
ことを特徴とする請求項１２記載の計算機システムにおけるバックアップ方法。
【請求項１４】
前記管理計算機は，表示部を有し，
前記算出した差の容量を前記表示部に表示する
ことを特徴とする請求項１３記載の計算機システムにおけるバックアップ方法。
【請求項１５】
管理計算機と，
前記管理計算機に接続される第一のストレージ装置と，
前記管理計算機と，前記第一のストレージ装置と，に接続される第二のストレージ装置と，を備える計算機システムにバックアップを実行させるプログラムであって，
前記管理計算機に，
前記第一のストレージ装置が有する第一の記憶領域の読み出し速度と，前記第二のストレージ装置が有する第二の記憶領域の書き込み速度と，前記第二の記憶装置が有する，前記第二の記憶領域より書き込み速度が速い第三の記憶領域の書き込み速度と，前記第一の記憶領域のデータのうち第二の記憶領域に格納されていない差分データの量より，所定の時間以内に前記差分データのコピーを完了するための，前記第三の記憶領域の容量を算出させ，
前記第二のストレージ装置に，
前記第三の記憶領域の容量が，前記算出された容量より大きい場合，
前記第一の記憶領域から送信された前記差分データを，前記第二の記憶領域または前記第三の記憶領域にコピーし，前記第三の記憶領域にコピーされた差分データを前記第二の記憶領域に移動させる
処理を実行させることを特徴とするプログラム。
【請求項１６】
前記第二のストレージ装置に，
前記第二の記憶領域が割り当てられた仮想ボリュームを提供し，
前記算出した容量分の第三の記憶領域を前記仮想ボリュームに割当てる
処理を実行させることを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記第三の記憶領域の容量が，前記算出された容量より小さい場合，
前記管理計算機に，前記算出された容量と前記第三の記憶領域の容量の差を算出させ，
少なくとも前記算出された差の容量分の，前記第二の記憶領域より書き込み速度が速い，第四の記憶領域が追加された場合，
前記第二のストレージ装置に，
前記第三の記憶領域と，前記追加された第四の記憶領域と，を前記仮想ボリュームに割当てさせ，
前記第一の記憶領域から送信された前記差分データを，前記第三の記憶領域または前記第四の記憶領域にコピーさせ，
前記コピーされた差分データを，前記第二の記憶領域へ移動させる
処理を実行させることを特徴とする請求項１６記載のプログラム。
【請求項１８】
前記差分データは，複数のブロックからなるセグメント単位で制御され，
前記管理計算機に，
前記セグメントの更新されたブロックを特定し，前記更新されたブロックのコピー先である前記第二の記憶領域に格納されたセグメントを，前記第三の記憶領域または前記第四の記憶領域に移動させ，前記移動されたセグメントに前記更新されたブロックをコピーし，前記更新されたブロックがコピーされたセグメントを前記第二の記憶領域に移動させる
処理を実行させることを特徴とする請求項１７記載のプログラム。
【請求項１９】
前記セグメントのうち更新されたブロック数が多いセグメントから順に，前記第三の記憶領域または前記第四の記憶領域にコピーさせる
処理を実行させることを特徴とする請求項１８記載のプログラム。
【請求項２０】
前記第一のストレージ装置に接続されるホスト計算機上で，複数のアプリケーションが動作し，前記複数のアプリケーションのそれぞれから前記第一の記憶領域に差分データが書き込まれる場合，
前記第一のストレージ装置から前記第二のストレージ装置に，前記差分データのバックアップが行われる際に，
前記第一のストレージ装置に，
前記複数のアプリケーションの優先度が高い順に，前記第一の記憶領域から前記第三の記憶領域に前記差分データをコピーさせる
処理を実行させることを特徴とする請求項１９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ストレージシステムの構成管理に関するものであり，特にバックアップにおける記憶領域の管理に関するものである。
【背景技術】
【０００２】
企業では，ストレージ装置の障害，コンピュータウィルスによるデータ破壊，ユーザによる誤操作によるデータの喪失などに備えて，バックアップが実施されている。バックアップ技術の一つに，アプリケーションが運用されているホスト計算機への影響を抑えることができるストレージのコピー機能を用いた方法がある。バックアップでは，アプリケーションが使用するデータが格納されているストレージの記録領域（プライマリーボリューム（以下，「ＰＶＯＬ」と呼ぶ））に書き込まれたデータを，他の記録領域（セカンダリーボリューム（以下，「ＳＶＯＬ」と呼ぶ））へコピーする。特許文献１には，指定されたバックアップ時以外はＰＶＯＬとＳＶＯＬのコピーの状態を解消するスプリット運用が記載されている。スプリット運用は，アプリケーションの運用中にはコピー機能を停止してＰＶＯＬ内のデータに変更があった差分データを管理する。そして，業務終了後にアプリケーションを停止し，ＰＶＯＬからＳＶＯＬに差分データをコピーする。これは，業務中にバックアップを行うと，ＰＶＯＬに負荷がかかりストレージの性能が低下するためである。
【０００３】
近年ではストレージシステム内のメディアの容量を効率的に利用するための技術として，シンプロビジョニング（Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ）技術がある。本技術は，仮想的な記憶領域である仮想ボリュームを計算機に提供し，仮想的な記憶領域のうち，ライト要求があった領域にのみ物理的な記憶領域を割り当てる技術である。更に，特許文献２には，ホスト計算機からのＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）アクセス頻度に応じて，ボリュームよりも小さいセグメントであるページ単位でデータをマイグレーションする方法が開示されている。この技術では，複数種類のメディアをプールとして管理し，ページへのアクセス頻度が高いページを高速なメディアへ，アクセス頻度が低いページを低速なメディアへ動的に移動させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開第２００４−１６４３１８
【特許文献２】米国第７６１３９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
バックアップは業務停止中などの限られた時間内に行われることが要求される。特許文献１では，バックアップにかかる時間については考慮されていない。また，特許文献２では，複数種類のメディアが割当てられた仮想ボリューム間でデータをコピーすることについては考慮されていない。
【０００６】
このため差分データ量が増えたときに，ユーザの望むバックアップ完了までの目標時間（以下，バックアップウィンドウ「ＢＷ」と呼ぶ）内にバックアップが完了しない場合がある。この場合，ＳＶＯＬに高速なメディアを追加することでバックアップにかかる時間を短縮することができる。しかし，高速なメディアは高価であり，使用する容量を小さくしたいという要求がある。
【課題を解決するための手段】
【０００７】
管理計算機と，第一の記憶領域を有する第一のストレージ装置と，第一の記憶領域のデータのコピーが格納された第二の記憶領域と，前記第二の記憶領域より書き込み速度が速い第三の記憶領域と，を有する第二のストレージ装置と，を備える計算機システムによって次の処理が行われる。管理計算機は，第一の記憶領域の読み出し速度と，第二の記憶領域の書き込み速度と，第三の記憶領域の書き込み速度と，第一の記憶領域のデータのうち第二の記憶領域に格納されていない差分データの量より，所定の時間以内に差分データのコピーを完了するための，前記第三の記憶領域の容量を算出する。そして、第二のストレージ装置は，第三の記憶領域の容量が，前記算出された容量より大きい場合，第一の記憶領域から送信された差分データを，第二の記憶領域または第三の記憶領域にコピーし，第三の記憶領域にコピーされた差分データを第二の記憶領域に移動させる。
【発明の効果】
【０００８】
性能の異なる複数種類のメディアを用いて，ＢＷ内にバックアップを完了させることができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態における計算機システム１の構成の一例を示すブロック図である。
【図２】第１実施形態における管理計算機上のメモリに記録されるプログラム及び情報の一例を示す図である。
【図３】第１実施形態におけるバックアップ管理テーブルの一例を示す図である。
【図４】第１実施形態におけるバックアップスケジュールテーブルの一例を示す図である。
【図５】第１実施形態における差分ビットマップの一例を示す図である。
【図６】第１実施形態における構成情報テーブルの一例を示す図である。
【図７】第１実施形態におけるメディア性能テーブルの一例を示す図である。
【図８】第１実施形態における概念図の一例を示す図である。
【図９】第１実施形態におけるＢＷとメディア管理処理の一例を示す図である。
【図１０】第１実施形態における画面の一例を示す図である。
【図１１】第１実施形態における差分データの移動制御の一例を示す図である。
【図１２】第１実施形態におけるＳＶＯＬ利用処理の一例を示す図である。
【図１３】第２実施形態における概念図の一例を示す図である。
【図１４】第２実施形態における差分データの移動制御の一例を示す図である。
【図１５】第３実施形態における計算機システム２の構成の一例を示すブロック図である。
【図１６】第４実施形態におけるバックアップ管理テーブルの一例を示す図である。
【図１７】第４実施形態における複数バックアップタスクが同時に実行されるときの差分データの移動制御の一例を示す図である。
【図１８】第１実施形態におけるメディアの容量を算出方法の一例を示す図である。
【図１９】第５実施形態におけるメディアの容量を算出方法の一例を示す図である。
【図２０】第５実施形態における画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下，図面を参照しつつ本発明の実施形態について説明する。
【００１１】
第１実施形態
まず，本発明の第１実施形態について図１を用いて説明する。図１は，本発明の第１実施形態に係る計算機システム１の構成を示すブロック図である。
【００１２】
図１に示すように本実施形態の計算機システム１は，ストレージシステム１０，ホスト計算機３０，管理計算機４０，データネットワーク２０，及び管理ネットワーク２１を備える。ストレージシステム１０と，ホスト計算機３０は，各々のデータインターフェース（ストレージシステム１０のデータＩ／Ｆ１１０，ホスト計算機３０のデータＩ／Ｆ３０３）からデータネットワーク２０を介して互いに接続される。本実施形態においてデータネットワーク２０は，ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。しかし，データネットワーク２０は，ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークであっても，その他のいかなる種類のデータ通信用のネットワークであってもよい。ストレージシステム１０と，ホスト計算機３０，及び管理計算機４０は，各々の管理インターフェース（ストレージシステム１０の管理Ｉ／Ｆ１１３，ホスト計算機３０の管理Ｉ／Ｆ３０６，管理計算機４０の管理Ｉ／Ｆ４０３）から管理ネットワーク２１を介して互いに接続される。本実施形態において管理ネットワーク２１は，ＩＰネットワークである。しかし，管理ネットワーク２１は，ＳＡＮであっても，その他のいかなる種類のデータ通信用のネットワークであってもよい。あるいは，データネットワーク２０と管理ネットワーク２１とが同一のネットワークであってもよい。なお，ホスト計算機３０と管理計算機４０は，同一の計算機を使用する構成としてもよい。図１の計算機システム１は，ストレージシステム１０ａ，及び１０ｂを２台，ホスト計算機３０を１台，管理計算機４０を１台備えているが，台数は限定されない。
【００１３】
ストレージシステム１０は，ストレージシステム１０の全体を制御するストレージコントローラ１１，データを格納するストレージ装置１２を備える。ストレージコントローラ１１とストレージ装置１２は，ストレージＩ／Ｆ１１２を介して接続される。
【００１４】
ストレージコントローラ１１は，データＩ／Ｆ１１０，管理Ｉ／Ｆ１１３，ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１，メモリ１１４，ストレージＩ／Ｆ１１２，を備えている。データＩ／Ｆ１１０は，ホスト計算機３０とデータの読み書きに関するデータを通信するためのデータネットワーク２０に対するインターフェースであって，一つ以上の通信用ポートを持つ。ストレージコントローラ１１はこのポートを介してホスト計算機３０とデータの送受信を行う。ＣＰＵ１１１は，メモリ１１４に格納されたプログラムを実行するプロセッサである。ストレージＩ／Ｆ１１２は，ストレージ装置１２に対するインターフェースであってデータや制御命令の送受信を行う。管理Ｉ／Ｆ１１３は，ホスト計算機３０，及び管理計算機４０とデータや制御命令の送受信を行うための管理ネットワーク２１とのインターフェースであって，一つ以上の通信用ポートを持つ。ストレージコントローラ１１は，このポートを介して，他のストレージシステム１０ｂとのデータや制御命令の送受信を行う。メモリ１１４には，ストレージマイクロプログラム１１５が格納されている。ストレージマイクロプログラム１１５は，ストレージ装置１２を管理するプログラムでありＣＰＵ１１１によって実行されて，ボリュームをホスト計算機３０に認識させる機能や，コピー機能を操作する機能などを実現する。具体的に，ボリュームをホスト計算機３０に認識させる機能とは，ストレージ装置１２のボリューム（後述，低速ボリューム１２０や高速ボリューム１２１）を，一つ以上の論理ボリュームとしてＩ／Ｆ経由でホスト計算機３０に提供する機能である。また，具体的にコピー機能を操作する機能とは，論理ボリューム内のデータを別の論理ボリュームにコピーする機能である。例えば，ストレージ装置１２ａ内のボリュームをＰＶＯＬとし，ストレージ装置１２ｂ内のボリュームをＳＶＯＬとして，データをコピーする。なお，データをコピーする単位は，論理ボリューム全体でもよいし，論理ボリュームを構成するセグメント（以下，「ページ」と呼ぶ）単位でもよいし，ブロック単位でもよい。
【００１５】
ストレージ装置１２は，計算機（例えば，ホスト計算機３０）が操作するデータを格納する記憶領域であるメディア１台又は複数台から構成されている。メディアは，ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの物理デバイスによって提供される記憶領域のリソースのことを表している。ＨＤＤには，ＳＡＴＡディスクやＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）ディスクの種類がある。本実施形態においては，図１に示すように，例えば，ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）ディスクを低速メディア１２２とし，ＳＳＤを高速メディア１２３として階層を構成する。バックアップの際の差分データの書き込みは，ランダムな書き込みである。ランダムな書き込みまたは読み込みの場合は，ＨＤＤよりもＳＳＤの方が性能が高い。このため，ＳＳＤを高速メディア，ＨＤＤを低速メディアとして使用することができる。但し，物理デバイスの種類については特に限定しない。また，ＨＤＤの回転数を制御し，高速で回転させるＨＤＤと低速で回転させるＨＤＤを加えて階層を構成してもよい。また，ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）レベルの異なるグループで階層を構成してもよい。ボリュームとは，あらかじめ割り当てられたメディアから構成された論理記憶領域である。低速ボリューム１２０は１又は複数の低速メディア１２２から，高速ボリューム１２１は１又は複数の高速メディア１２３から構成される。ホスト計算機３０へ認識させる論理ボリュームは，仮想的なボリューム（仮想ボリューム）であってもよい。仮想ボリュームとは，ホスト計算機３０からの書き込み要求に応じて，プールに登録されたメディアが割当てられるものである。プールには複数種類のメディアが登録されている。本実施形態においてストレージコントローラ１１は，仮想ボリュームに対するデータの書き込み要求を受領したとき，当該書き込み要求の対象領域に対してメディアが割当てられていない場合に，メディアの記憶領域をボリュームに割当て，当該割り当てられたメディアの記憶領域にデータを書き込む。これにより，ホスト計算機３０に提供されるボリュームの記憶領域を実際に割当てられるメディアの合計容量よりも大きな容量とすることができる。
【００１６】
図中では，一つのストレージシステムに対してボリュームは２つ（低速ボリューム１２０が１つ，高速ボリューム１２１が１つ）存在しているが，1つ以上のボリュームが存在していればよい。
【００１７】
ストレージ装置１２には，スペアのメディア１２５が備えられ，スペアボリューム１２４が構成されていている。スペアのメディア１２５は，高速メディアでも低速メディアでもよい。また，スペアは複数種類のメディアが備えられていてもよい。スペアのメディア１２５は，障害発生時や，ＢＷ内にバックアップが完了しない場合に，プールに追加されるメディアとして用いられる。
【００１８】
ホスト計算機３０は，ストレージシステム１０のボリューム１２０に対してデータＩ／Ｆ３０３を介してデータを送受信する。ホスト計算機３０は，キーボードやマウスなどの入力装置３０１，ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などの表示装置３０２，データＩ／Ｆ３０３，メモリ３０４，ＣＰＵ３０５，管理Ｉ／Ｆ３０６を備える。データＩ／Ｆ３０３は，データネットワーク２０に対するインターフェースであって，１つ以上の通信ポートを持つ。このポートを介してホスト計算機３０は，ストレージシステム１０とデータの送受信を行う。メモリ３０４には，アプリケーション３０７が記憶されており，ＣＰＵ３０５によって実行される。アプリケーション３０７は，ストレージ装置１２上のボリューム１２０に対してデータを読み書きすることにより処理を実行するプログラムであり，例えば，ＤＢＭＳ（Ｄａｔａ  Ｂａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）やファイルシステムなどである。なお，説明の都合上，図１の本実施形態の計算機システム１では，アプリケーション３０７を１つとしたが，本発明ではこの数は問わない。また，後述の第３実施形態において，複数アプリケーションの実施例を記載している。ＣＰＵ３０５は，メモリ３０４に格納されたプログラムを実行するプロセッサである。管理Ｉ／Ｆ３０６は，管理ネットワーク２１とのインターフェースであって，システム管理のために管理計算機４０，及びストレージシステム１０ａ，１０ｂとデータや制御命令の送受信を行う。
【００１９】
管理計算機４０は，ホスト計算機３０，及びストレージシステム１０ａ，１０ｂを管理する計算機である。管理計算機４０は，キーボードやマウスなどの入力装置４０１，ＣＲＴなどの表示装置４０２，管理Ｉ／Ｆ４０３，メモリ４０４，ＣＰＵ４０５を備える。管理Ｉ／Ｆ４０３は，管理ネットワーク２１とのインターフェースであって，システム管理のためにホスト計算機３０，及びストレージシステム１０ａ，１０ｂとデータや制御命令の送受信を行う。メモリ４０４には，図２に示すプログラム，及び情報が記憶されている。図２に示すメモリ４０４には，バックアッププログラム４０６，バックアップ時間算出プログラム４０７，バックアップ管理テーブル４０８，バックアップスケジュールテーブル４０９，差分ビットマップ４１０，構成情報テーブル４１１，メディア性能テーブル４１２が格納されている。バックアッププログラム４０６とバックアップ時間算出プログラム４０７は，ＣＰＵ４０５によって実行されることにより実現され，本発明の実施形態の処理を実現する。
【００２０】
バックアッププログラム４０６は，管理者へのバックアップの設定画面を提供，ホスト計算機３０やストレージシステム１０ａ，１０ｂから情報を取得，バックアップ管理テーブル４０８とバックアップスケジュールテーブル４０９を管理するプログラムである。バックアップ時間算出プログラム４０７は，バックアッププログラム４０６が取得した情報を基に，バックアップが完了するまでにかかる時間を算出するプログラムである。
【００２１】
バックアップ管理テーブル４０８，バックアップスケジュールテーブル４０９，差分ビットマップ４１０，構成情報テーブル４１１，メディア性能テーブル４１２については後述する。ＣＰＵ４０５は，メモリ４０４に格納されたプログラムを実行するプロセッサである。
【００２２】
次に，本実施形態において参照される各テーブルについて説明する。本実施形態では，テーブルの形式で記載しているが，各情報を格納する形式はテーブルに限定されない。また，テーブルに記載されたすべての情報を有する必要はない。また，テーブルに記載された以外の情報を有していてもよい。
【００２３】
図３にバックアップ管理テーブル４０８の一例を示す。バックアップ管理テーブル４０８は，管理計算機４０で実行されるバックアッププログラム４０６によって参照される。バックアップ管理テーブル４０８には，バックアップの対象となるアプリケーションを識別するアプリケーションＩＤ４０８０，バックアップのスケジュール４０８１，バックアップが完了する目標時間を示すＢＷ４０８２，バックアップ対象アプリケーションのデータが格納されているＰＶＯＬのボリュームＩＤ４０８４，このボリュームが属するストレージシステムを識別するストレージＩＤ４０８３，バックアップデータが格納されているＳＶＯＬのボリュームＩＤ４０８６，このボリュームが属するストレージシステムを識別するストレージＩＤ４０８５が格納されている。アプリケーションＩＤ４０８０，スケジュール４０８０１，ＢＷ４０８２は，管理者が任意のアプリケーションをバックアップするときに，バックアッププログラム４０６を用いて設定する情報である。このとき管理者は，バックアップしたいアプリケーションに対して，バックアップを行うスケジュールと，そのバックアップが完了するまでに必要とする目標の時間（ＢＷ）を決定する。管理者が設定したアプリケーションＩＤ４０８０，スケジュール４０８０１，ＢＷ４０８２の情報をバックアッププログラム４０６がバックアップ管理テーブル４０８に格納する。図３の一例では，スケジュール４０８１に，「３０分毎」との時間間隔や，「毎日２２：００」との時間指定で記入してあるが，スケジュール４０８１は，バックアップを開始する時刻が特定できれば，どのような記載方法であってもよい。管理計算機４０は，アプリケーション３０７と，アプリケーション３０７が使用するデータが格納されているボリューム１２０であるＰＶＯＬ４０８４の関係を表す情報を，あらかじめ管理者の入力により取得しているものとする。この情報は，ホスト計算機３０から取得してもよい。アプリケーション３０７とＰＶＯＬ４０８０の関係の情報から，アプリケーションＩＤ４０８０からＰＶＯＬのストレージＩＤ４０８３とボリュームＩＤ４０８４の情報を格納する。また，管理者は，バックアッププログラム４０６にアプリケーションＩＤ４０８０を設定しているが，ＰＶＯＬのボリュームＩＤ４０８４を設定してもよいし，他にＰＶＯＬのボリュームＩＤ４０８４を特定できる情報を設定してもよい。更に，管理計算機４０は，ＰＶＯＬのボリュームＩＤ４０８４と，コピーペアの状態になっているボリュームの情報をストレージシステム１０から取得しているものとする。この情報から，設定されたアプリケーションのバックアップデータが格納されているＳＶＯＬのストレージＩＤ４０８５とボリュームＩＤ４０８６を特定し，バックアップ管理テーブル４０８に格納する。
【００２４】
図４にバックアップスケジュールテーブル４０９の一例を示す。バックアップスケジュールテーブル４０９は，管理計算機４０で実行されるバックアッププログラム４０６によって参照される。バックアップスケジュールテーブル４０９には，バックアップのタスクを一意に特定するためのバックアップＩＤ４０９０，バックアップの対象となるアプリケーションを識別するためのアプリケーションＩＤ４０９１，バックアップ開始時刻４０９２，バックアップ完了時刻４０９３，バックアップ元のデータが格納されているプライマリーボリュームのＰＶＯＬ４０９４，バックアップデータが格納されるバックアップ先であるセカンダリーボリュームのＳＶＯＬ４０９５，が格納されている。バックアップ開始時刻４０９２は，この時刻のＰＶＯＬ４０９４のデータをＳＶＯＬ４０９５にコピーする時刻である。本実施形態では，ＰＶＯＬ４０９５に格納してあるデータを読み出してＳＶＯＬ４０９５へ書き込む時間を,バックアップにかかる時間とする。但し，バックアップに係る時間としてアプリケーションの整合性を保つために必要とする処理など，その他の処理にかかる時間も含んでもよい。ＳＶＯＬ４０９５へのデータの書き込みが完了した時刻をバックアップ完了時刻４０９３とする。バックアップスケジュールテーブル４０９のアプリケーションＩＤ４０９１，バックアップ開始時刻４０９２，ＰＶＯＬ４０９４，ＳＶＯＬ４０９５は，図３のバックアップ管理テーブル４０８から作成する。まず，バックアップ管理テーブル４０８のアプリケーションＩＤ４０８０からアプリケーション毎にスケジュール４０８１と，ＰＶＯＬのボリュームＩＤ４０８４とＳＶＯＬのボリュームＩＤ４０８６の関連を確認する。スケジュール４０８１からバックアップが開始される時刻を特定し，バックアップスケジュール４０９のバックアップ開始時刻４０９２に記載する。ＰＶＯＬのボリュームＩＤ４０８４と，ＳＶＯＬのボリュームＩＤ４０８６から世代数を意識して，バックアップスケジュールテーブル４０９のＰＶＯＬ４０９４とＳＶＯＬ４０９５を記載する。バックアップ完了時刻４０９３は，バックアッププログラム４０６がバックアップを完了したときの時刻を格納する。バックアップが完了していない場合は，バックアップ完了時刻４０９３の欄は空となる。図４に示すように「−」を記載しても，まだ，完了時刻が無いことが分かる記載なら，特に記載内容に限定はしない。
【００２５】
図５に差分ビットマップ４１０の一例を示す。差分ビットマップ４１０は，ホスト計算機３０からの書き込みに基づいてデータが更新されたボリューム１２０を管理するためのテーブルである。スプリット運用では，あるタイミングでＰＶＯＬのデータがＳＶＯＬにコピーされ（フルバックアップ），それ以降はＰＶＯＬへの更新データ（差分データ）が管理される。そして，所定のタイミングで差分データをＰＶＯＬからＳＶＯＬへコピーする。
【００２６】
差分ビットマップ４１０は，バックアップに使用するボリューム１２０のコピーペア毎に存在する。例えば，図３のバックアップ管理テーブル４０８では，ＰＶＯＬのボリュームＩＤ４０８４の「ＶＯＬ００１」とＳＶＯＬのボリュームＩＤ４０８６の「ＶＯＬ００２」のペアに一つ，同様に「ＶＯＬ００１」と「ＶＯＬ００３」のペアに一つ，「ＶＯＬ００１」と「ＶＯＬ００４」のペアに一つ存在する。差分ビットマップ４１０には，ＰＶＯＬ及びＳＶＯＬの各ブロックを識別するボリュームＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）４１００と，更新の有無を識別するための更新フラグ４１０１が格納されている。ブロックとは論理アドレスで規定される領域である。更新フラグ４１０１には，ブロックに更新がある場合「１」を，更新が無い場合「０」を記載する。更新フラグには「０」と「１」でなくても，更新の有無が分かる記号が記載されていればよい。差分ビットマップ４１０の更新フラグ４１０１は，ＰＶＯＬとＳＶＯＬ間で全く同じ状態である場合，全て「０」（更新無し）となる。例えば，バックアップ直後でＰＶＯＬとＳＶＯＬのデータが全く同じ場合，更新フラグは「０」である。ホスト計算機３０からの書き込みによってデータの更新があったボリュームＬＢＡ４１００の更新フラグ４１０１に「１」をセットする。差分ビットマップ４１０を参照することにより，どのボリュームＬＢＡ４１００が更新されたか否か判断できる。よって，差分バックアップのとき，更新フラグ４１０１が「１」であるＰＶＯＬのボリュームＬＢＡ４１００のデータを，ＳＶＯＬにコピーすればよい。
【００２７】
図６に構成情報テーブル４１１の一例を示す。構成情報テーブル４１１は，ストレージシステム１０の構成情報を格納するためのテーブルであり，管理計算機４０で実行されるバックアッププログラム４０６及びバックアップ時間算出プログラム４０７によって参照される。構成情報テーブル４１１には，ストレージシステム１０を識別するためのストレージＩＤ，ストレージシステム１０内でメディア１２２，１２３を纏めて登録するプールを識別するためのプールＩＤ４１１１，物理リソースであるメディア１２２，１２３を識別するメディアＩＤ４１１２，物理リソースの種別を示すメディア種類４１１３，各ページに割り当てたメディアの記憶領域を識別するためのメディアＬＢＡ領域４１１４，メディア１２２，１２３のセグメントを識別するためのページＩＤ４１１５，ページの容量４１１６，ページが割り当てられている仮想ボリュームを識別するためのボリュームＩＤ４１１７，ページと対応する仮想ボリュームの記憶領域を識別するためのボリュームＬＢＡ領域４１１８，が格納されている。図６の例では，メディア種類４１１３のカラムには，便宜上，「高速メディア」，「中速メディア」，「低速メディア」と記載しているが，物理ディスクでも，ＳＳＤでも，論理デバイス（Ｌｏｇｉｃａｌ  Ｄｅｖｉｃｅ：ＬＤＥＶ）でも外部装置のディスクでも，一意の記憶領域を特定できれば特に表現の限定はしない。また，容量４１１６には，ページの容量は固定で１０ＭＢとしているが，特に限定はせず，一つのブロックの容量と，メディアＬＢＡ領域から容量を算出し記載する。ボリュームＩＤ４１１７及びボリュームＬＢＡ領域４１１８のカラムには，仮想ボリュームにページが割り当てられていない場合「Ｎ／Ａ」と表示しているが，割り当てられていないことが分かれば他の表現でもよい。構成情報テーブル４１１は，ストレージシステム１０ａ，１０ｂから取得する。ストレージＩＤ４１１０，プールＩＤ４１１１，メディアＩＤ４１１２，メディア種類４１１３は，ストレージシステム１０にメディアを追加したときに決定される。メディアＬＢＡ領域４１１４，ページＩＤ４１１５，容量４１１６は，メディアを複数のＬＢＡにまとめることによってページ単位に分割したときに決定される。ボリュームＩＤ４１１７，ボリュームＬＢＡ領域４１１８は，ホスト計算機３０からの書き込みが発生して仮想ボリュームからページの割当て要求があったときに決定される。ページＩＤ４１１５とボリュームＬＢＡ領域４１１８の関係は，アクセス頻度，ページ割り当て，ページの再配置によって発生するページの割当て移動のたびに変更が生じる。
【００２８】
図７にメディア性能テーブル４１２の一例を示す。メディア性能テーブル４１２は，ストレージシステム１０のストレージ装置１２上にあるメディア１２２，１２３の性能情報を格納するためのテーブルである。メディア性能テーブル４１２には，物理リソースの種類を示すメディア種類４１２０，メディア１２２，１２３からランダムにデータを読み出す速度を示すＲａｎｄｏｍ  Ｒｅａｄ性能４１２１，メディア１２２，１２３へランダムにデータを書き込む速度を示すＲａｎｄｏｍ  Ｗｒｉｔｅ性能４１２２が格納されている。メディア種類４１２０は，図６の構成情報テーブル４１０のメディア種類４１１３と同様に，「高速メディア」，「中速メディア」，「低速メディア」と記載しているが，一意の記憶領域を特定できれば特に表現の限定はしない。但し，メディア性能テーブル４１２のメディア種類４１２０と，構成情報テーブル４１０のメディア種類４１１３と関連がとれる記載とする。Ｒａｎｄｏｍ  Ｒｅａｄ性能４１２１，及び，Ｒａｎｄｏｍ  Ｗｒｉｔｅ性能４１２２は，ストレージシステム１０がそれぞれのメディアの性能を測定した実測値を格納してもよいし，メディア１２２，１２３のカタログスペックの情報をバックアッププログラムがあらかじめ持っていてもよいし，管理者が入力してもよい。
【００２９】
次に，図８を用いて，本実施形態における，バックアップ処理ついて説明する。この処理により，バックアップにかかる時間を短縮させることができる。
【００３０】
ここで差分データを制御する単位は，ブロック単位であっても，複数のブロックからなるページ単位であってもよい。本実施形態では，差分データをページ単位で制御する場合を説明する。第２実施形態では，差分データをブロック単位で制御する場合を説明する。図８は，複数種類のメディア間で差分データをページ単位で制御する環境である。
【００３１】
図８の環境では，ＰＶＯＬ及びＳＶＯＬは，仮想ボリュームとする。この環境では，プールに登録されたメディアが，ホスト計算機３０からのライト要求に応じて，ページ単位で仮想ボリュームに割当てられる。また，この環境では，複数のメディア間で動的にページを制御し，移動させることができる。ここで，ページの移動とは，メディア間でページをコピーし，もとのメディアに格納されたページを削除することをいう。差分ビットマップ４１０と，構成情報から差分データが書き込まれるメディアを特定できる。図８では，差分データが網掛け，差分データが書き込まれる箇所が斜線で示されている。差分データが，ＳＶＯＬの低速メディアに格納されたページへ書き込まれる場合，ＢＷ内にバックアップが完了しない場合がある。この場合，ＳＶＯＬの低速なメディアに書き込まれる差分データを，高速なメディアに書き込まれるようにページを制御する。具体的には，この環境では，複数種類のメディア間で動的にページが移動可能であるため，差分データが書き込まれるページを，バックアップ開始前に高速なメディアに移動させる。そうすることにより，差分データは，低速メディアではなく，高速メディアに書き込まれ，バックアップ時間を短縮することができる。バックアップ完了後，差分データが書き込まれたページを低速メディアに移動することで，高速メディアを効率的に利用することができる。この環境では，ページを高速メディアに移動させる処理は，定期的なページの再配置処理の際に行うことができる。他のタイミングでページの移動を行うこととしてもよい。
【００３２】
次に，本実施形態におけるデータ処理手順について説明する。
【００３３】
まず，バックアップが完了するまでにかかる時間を算出して，ＢＷ内にバックアップを完了させるために十分なメディアの容量を算出して提示する。これは，図９に示すＢＷとメディア管理処理の手順によって実現する。更に，バックアップにかかる速度を短縮するために高速なメディアをプールに追加後，差分データをコピーする際に，プールに追加した高速メディアにデータを書き込む。これは，図８で概念図を用いて説明した。また，高速メディアを次回のバックアップにも使用するために，コピー完了後にコピーしたデータを低速なメディアへコピーすることを指示する。これらの処理は，図１１に示す差分データの移動制御処理の手順によって実現する。
【００３４】
加えて，アプリケーションの運用中にＰＶＯＬに障害が発生したときに，バックアップデータが格納されているＳＶＯＬを使用することがある。このときに，ＳＶＯＬの性能を向上させるために，ＳＶＯＬのデータをキャッシュプールに格納されている高速なメディアへコピーして利用する。この処理は，図１３のＳＶＯＬ利用処理の手順によって実現する。
【００３５】
−ＢＷとメディア管理処理−
次に，本実施形態に係るバックアップが完了するまでにかかる時間を算出し，ＢＷ内にバックアップを完了させるために必要なメディアの容量を算出し通知する処理について説明する。差分データの量によっては，ＢＷ内にバックアップが完了しない場合がある。この場合，ＢＷ内にバックアップを完了させるためには，高速メディアまたは中速メディアをプールに追加する必要がある。このため，本処理によりＢＷ内バックアップを完了するために必要な最小限のメディアの容量を算出する。
【００３６】
図９に，ＢＷとメディア管理処理の手順の一例を示す。
【００３７】
図９において，ステップＳ１００１からステップＳ１０１２の処理は，本実施形態による管理計算機４０上のバックアッププログラム４０６によって実現される処理である。但し，バックアッププログラムが，バックアップ時間算出プログラム４０７に指示を出し，バックアップ時間算出プログラム４０６によって実現される処理も含む。後述の第２実施形態にも記載するが，バックアッププログラム４０６とバックアップ時間算出プログラムは，管理計算機上４０に限らず，ストレージシステム１０上のメモリ１１４に格納されてもよい。ストレージ装置１２に対する指示は，ストレージマイクロプログラム１１５が行ってもよい。いずれにしても，具体的にどの処理ステップが，どのプログラムによって実現されるかは，システム設計上の要請等により適宜決定すればよい。また，これらの処理ステップは，ＣＰＵがメモリから各プログラムを読み出して，この処理ステップを実行することにより実現される。以下，プログラムを主語にして説明する場合があるが，実際にはそのプログラムを実行する処理部であるＣＰＵが処理している。
【００３８】
まず，バックアッププログラム４０６が，管理者からのバックアップの要求を受けて，バックアップ設定画面を表示し，処理を開始する。但し，画面は，ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などのグラフィックな画面操作であってもよいし，ＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）などのコマンドによる入力であってもよい。
【００３９】
Ｓ１００１で，管理計算機４０のメモリ４０４上のバックアッププログラム４０６は，管理者によってバックアップ設定画面に入力されたバックアップ対象となるアプリケーションと，バックアップデータを取得する間隔や日時を表すバックアップスケジュール，バックアップが完了するまでの目標時間を表すＢＷの情報を取得する。これらの情報はそれぞれ，バックアップ管理テーブル４０８のアプリケーションＩＤ４０８０，スケジュール４０８１，ＢＷ４０８２に格納する。管理者による入力は，バックアップ対象となるアプリケーションではなく，アプリケーションが利用するデータが格納されているボリュームを指定しても良い。この場合は，ボリュームの情報をバックアップ管理テーブル４０８のＰＶＯＬのストレージＩＤ４０８３と，ＰＶＯＬのボリュームＩＤ４０８４に格納する。
【００４０】
Ｓ１００２では，バックアッププログラム４０６が，ストレージシステムが持つ差分ビットマップ４１０の情報と，構成情報を取得する。
構成情報は，ストレージシステム１０ａ，１０ｂから取得される。構成情報を取得後に，この情報を管理計算機４０上の構成情報テーブル４１１に格納する。
次回にコピーが行われるＰＶＯＬとＳＶＯＬのコピーペアの差分ビットマップは，バックアップ対象となるアプリケーションが使用するデータが格納されているボリューム（Ｐ−ＶＯＬ）が属しているストレージシステム１０ａから取得される。
これは，バックアップ対象としたアプリケーションのバックアップにかかる時間を算出するために，バックアップ管理テーブル４０８のストレージＩＤ４０８３を参照して，取得元となるストレージシステムを特定する。
【００４１】
Ｓ１００３で，バックアッププログラム４０６が，Ｓ１００２で取得した差分ビットマップ４１０から差分データが読み出されるメディアと書き込まれるメディア，このメディア毎の差分データ量を特定する。コピーする差分データ量を予測するために，前回のバックアップ時の差分ビットマップを用いてもよい。また，差分ビットマップ４１０を用いて，差分データ量の増加率からバックアップする差分データ量を予測することとしてもよい。まず，差分ビットマップ４１０から差分データが書き込まれるメディアを構成情報テーブル４１１から特定する。これは，差分ビットマップ４１０の更新フラグ４１０１が「１」となっているボリュームＬＢＡ４１００を検索する。このボリュームＬＢＡ４１００が，構成情報テーブル４１１のボリュームＬＢＡ領域４１１８のどの範囲内に存在するか検索する。更に，このボリュームＬＢＡ領域４１１８が，どのページＩＤ４１１５，又はどのメディアＬＢＡ領域４１１４に割り当てられているか検索し，どのメディアＩＤ４１１２，メディア種類４１１３を使用しているか割り出す。例えば，差分データが読み出されるメディアと，その差分データ量を特定する。図５はボリュームＩＤが「ＶＯＬ００１」と「ＶＯＬ００２」の差分ビットマップ４１０を示しているとする。更新フラグ４１０１が「１」となっているのは，ボリュームＬＢＡ４１００が「ＬＢＡ００００」である。このボリュームＬＢＡは，構成情報テーブル４１１からボリュームＩＤ４１１７が「ＶＯＬ００１」のボリュームＬＢＡ領域４１１８「ＬＢＡ００００−０９９９」の範囲内であることが分かる。このボリューム領域４１１８は，ページＩＤ４１１５が「Ｐａｇｅ００１」，メディアＬＢＡ領域４１１４が「ＬＢＡ００００−０９９９」であり，メディアＩＤ４１１２が「Ｍｅｄｉａ００１」，メディア種類４１１３が「高速メディア」と特定できる。図５の差分ビットマップ４１０では，ボリュームＬＢＡ４１００「０００１」は，構成情報テーブル４１１の「ＶＯＬ２」の低速メディアであることが分かる。差分データ量は，差分ビットマップ４１０の更新フラグ４１０１が「１」であるボリュームＬＢＡ４１００の個数から算出できる。例えば，一つのボリュームＬＢＡ４１１０が示すブロックの容量が５１２Ｂｙｔｅであるとする。但し，ブロックの容量は，この容量に限らない。更新フラグ４１０１が「１」となるブロックが，１００個存在したとすると，差分データ量は５１２００Ｂｙｔｅと算出できる。これをメディア種類４１１３の種類別に計算する。
【００４２】
Ｓ１００４で，管理計算機４０のメモリ４０４上のバックアップ時間算出プログラム４０７は，ＰＶＯＬから差分データを読み出す際にかかる時間を算出する。Ｓ１００３で特定したＰＶＯＬ側のメディアの種類から，図７のメディア性能テーブル４１２のメディア種類４１２０を検索し，そのＲａｎｄｏｍ  Ｒｅａｄ性能４１２１を取得する。この読み出し性能と，Ｓ１００３で算出したメディアの差分データ量から，差分データを読み出すのに係る時間を算出する。同様に他のメディアでも行い，全ての差分データを読み出すのにかかる時間を算出する。また，本実施形態では，メディア性能テーブル４１２は，カタログスペックの情報，又は管理者の入力によりをあらかじめ管理計算機４０上にある。但し，ストレージシステム１０ａ，１０ｂがそれぞれのメディアの性能を測定した実測値の情報を持っており，Ｓ１００２時に，又は本ステップより前にストレージシステム１０ａ，１０ｂから取得してもよい。
【００４３】
Ｓ１００５では，バックアップ時間算出プログラム４０７は，ＳＶＯＬへ差分データを書き込む際にかかる時間を算出する。これはＳ１００４と同様に，図７のメディア性能テーブル４１２のメディア種類４１２０からＳＶＯＬのメディアの種類を検索して，そのＲａｎｄｏｍ  Ｗｒｉｔｅ性能４１２２を取得する。この書き込み性能とＳ１００３で算出した差分量から全ての差分データを書き込むのにかかる時間を算出する。
【００４４】
Ｓ１００６では，バックアップ時間算出プログラム４０７は，Ｓ１００５で算出したＰＶＯＬから差分データを読み出す際にかかる時間と，Ｓ１００６で算出したＳＶＯＬへ差分データを書き込む際にかかる時間から，バックアップにかかる時間を算出する。
【００４５】
但し，ＰＶＯＬの高速なメディアに差分データが格納されている場合，差分データの読み出しにかかる時間は考慮せずに，ＳＶＯＬへの書き込みにかかる時間のみの情報でバックアップにかかる時間としてもよい。この場合，Ｓ１００４，及びＳ１００６のステップは行わない。
【００４６】
Ｓ１００７では，バックアッププログラム４０６が，Ｓ１００６で算出したバックアップにかかる時間を管理者に提示する。Ｓ１００１からＳ１００６のステップをある一定間隔で繰り返し行い，管理者にバックアップにかかる時間を提示してもよい。また，Ｓ１００１からＳ１００６の処理は，管理者から指示があった場合や，メディアをプールに追加した場合，ＢＷやバックアップスケジュールが変更された場合に行ってもよい。また，提示方法は，画面以外の方法であっても，管理者に伝わればどのような方法であってもよい。また，このステップは無くてもよい。
【００４７】
Ｓ１００８では，バックアッププログラム４０６が，Ｓ１００１で管理者が入力したＢＷと，Ｓ１００６で算出したバックアップにかかる時間を比較する。
Ｓ１００６でバックアップにかかる時間が算出されたときに，バックアップ管理テーブル４０８のＢＷ４０８２の値を参照して，ＢＷを越えていないか確認する。バックアップにかかる時間がＢＷを超える場合は，Ｓ１００９へ，超えない場合は本処理を終了する。
【００４８】
Ｓ１００９では，バックアップ時間算出プログラム４０７が，ＢＷ内にバックアップが完了するために十分な高速のメディアの容量を算出する。これは，メディア性能テーブル４１２から，これまで使用していた低速なメディアよりも高速なメディアを投入してバックアップにかかる時間を短縮させる。
【００４９】
ここで，図１８を用いて，ＢＷ内にバックアップを完了するために必要な高速メディアの容量を算出する方法の一例を説明する。
【００５０】
図１８のグラフは縦軸を容量，横軸を時間としている。高速メディアを表す直線の傾きが，高速メディアの書き込み性能を示している。つまり，傾きは，「容量／時間」で算出され，単位時間当たりに書き込むことができるデータの容量を表している。同様に，低速メディアを表す直線の傾きは，低速メディアの書き込み性能を示している。これらの性能は図７を参照して特定する。図１８のように，所定の差分データ量を高速メディアと低速メディアを用いて，ＢＷ内にバックアップが完了するように直線を記載する。この２つの直線の交点からＢＷ内にバックアップが完了するために必要な高速メディアの容量が求まる。この交点は次のようにして算出される。
【００５１】
高速メディアを表す式は，ｙ＝［高速メディアの性能］＊ｘ（式１），低速メディアを表す式は，ｙ＝［低速メディアの性能］＊ｘ＋α（式２）となる。式２は，ＢＷと差分データ量との交点を通ることより，ｙ＝［低速メディアの性能］＊ｘ＋［差分データ量］−［低速メディアの性能］＊［ＢＷ］となる。
【００５２】
よって，［高速メディアの容量]＝（［高速メディアの性能]＊［差分量］―［高速メディアの性能]＊［低速メディアの性能］＊［ＢＷ］）／（［高速メディアの性能］―［低速メディアの性能］）。ここで，「低速メディア」はこれまで使用していたメディアを指し，「高速メディア」は，「低速メディア」よりも速度が速いメディアのことを指す。但し，この式に限定されるものではない。
【００５３】
この処理により，ＢＷ内にバックアップを完了するために必要な最小限のメディアの容量を算出することができる。
【００５４】
Ｓ１０１０では，バックアッププログラム４０６が，プールに存在するメディアの空き容量を算出する。バックアッププログラム４０６が，構成情報テーブル４１１のプールＩＤ４１１１からプールに属している空きメディアを特定し，ボリュームＩＤ４１１７から割り当てられていないメディアの容量を容量４１１６から算出する。例えば，プールＩＤ４１１１が「Ｃｐｏｏｌ００１」のボリュームＩＤが「Ｎ／Ａ」となっているものが空きメディアである。この例では，「高速メディア」が５０ＭＢ，「中速メディア」が５０ＭＢ存在する。
【００５５】
Ｓ１０１１では，バックアッププログラム４０６が，空きメディアを利用してＢＷ内にバックアップが完了するかを判断する。つまり，Ｓ１０１０で算出した必要なメディアの空き容量が，Ｓ１００９で算出した容量以上である場合，ＢＷ内にバックアップが完了すると判断する。ＢＷを超える場合はＳ１０１２へ，ＢＷ内に収まる場合は本処理を終了する。
【００５６】
Ｓ１０１２では，バックアッププログラム４０６が，管理者にＢＷ内でバックアップが完了しない旨を提示し，さらに，Ｓ１００９で算出した高速メディアの容量からすでにプールに属している高速メディアの容量の差分の容量を提示する。例えば，図１０のような画面が管理計算機４０の表示装置４０２に表示される。画面はホスト計算機３０の表示装置３０２に表示されるようにしてもよい。図１０は，バックアップ対象アプリケーション情報欄，警告・対策欄，スペアメディア追加ボタン，及び終了ボタンから構成される。バックアップ対象アプリケーション情報欄には，例えばアプリケーションＩＤのようなアプリケーションを識別する情報と，管理者が指定したＢＷ，更にＳ１００６で算出したバックアップにかかる時間を表示する。警告・対策欄では，管理者が指定したＢＷ内に収まっていないことを警告し，対策として，Ｓ１００９で算出したＢＷ内にバックアップを完了させるために十分なメディアをプールに追加することを促す通知を表示する。但し，通知方法は，図１０に限定しない。図１０のように画面ではなくメールで通知されてもよい。
【００５７】
メディアをプールに追加する際は，ストレージ装置１２にスペアのメディアが備えられていれば，これを用いることができる。例えば，図１０のように，スペアメディア追加ボタンが押下された場合に，必要な容量のメディアをプールに追加することができる。また，スペアのメディアが自動的にプールに追加されるように設定されてもよい。また，管理者が，物理的に，新たにストレージ装置１２にメディアを加えてもよい。
【００５８】
管理者が，バックアップにかかる時間と，必要な追加すべきメディアの容量から，バックアップウィンドウを超えてもよいと判断した場合は，メディアが追加されない状態でバックアップが行われる。この場合，終了ボタンが押下されると，メディアがプールに追加されずに，バックアップが行われる。
【００５９】
−差分データの移動制御処理−
次に，本実施形態に係る差分データのコピー先の制御の処理について説明する。この高速なメディアと低速なメディアが混在した環境で，バックアップにかかる速度を短縮する差分データのコピー先のメディアを制御する。図１１に，差分データの移動制御処理の手順の例を示す。図１１は図８に示したように，ページ単位で差分データを制御する環境で行われる処理である。この環境では，複数種類のメディア間で動的にページを移動させることが可能であり，差分データが書き込まれるページをバックアップ開始前に高速なメディアに移動させて，そのページに対して差分データを書き込む。つまり，仮想ボリュームに割当てられるページが低速メディアから高速メディアに変更される。こうすることにより，ページ単位としては，ＳＶＯＬへの書き込みが完了したのと同じ効果が得られる。また，高速なメディアを次回のバックアップ時にも使用するために，高速なメディアにコピーされた差分データを，低速なメディアへコピーすることを指示する処理手順を含む。
【００６０】
図１１において，ステップＳ３００１からステップＳ３００６の処理は，本実施形態による管理計算機４０のメモリ４０４上のバックアッププログラム４０６によって実現される処理である。但し，ストレージシステム１０ａ，１０ｂのメモリ１１４上のストレージマイクロプログラム１１５による処理も含む。本処理においても，バックアッププログラム４０６は，管理計算機上４０に限らず，ストレージシステム１０上のメモリ１１４に格納され，ストレージ装置１２に対する指示は，ストレージマイクロプログラム１１５が行ってもよい。いずれにしても，具体的にどの処理ステップが，どのプログラムによって実現されるかは，システム設計上の要請等により適宜決定すればよい。
【００６１】
図１１を用いて，ページ単位で記憶領域を制御してバックアップする処理を示す。
【００６２】
Ｓ３００１では，管理計算機４０のメモリ４０４上のバックアッププログラム４０６が，ストレージシステム１０ａ，１０ｂが持つ差分ビットマップ４１０の情報と，構成情報を取得する。これは，Ｓ１００２の処理と同じである。但し，最新の情報を管理計算機４０が持っている場合，本ステップを行わなくてもよい。
【００６３】
Ｓ３００２では，バックアッププログラム４０６が，プールのメディアの空き容量を算出する。バックアッププログラム４０６が，構成情報テーブル４１１のプールＩＤ４１１１からキャッシュプールに属しているメディアを特定し，ボリュームＩＤ４１１７から割り当てられていないメディアの容量を容量４１１６から算出する。例えば，図６では，キャッシュプールのプールＩＤ４１１１を先頭に「Ｃ」を付けて区別するとする。キャッシュプールは，プールＩＤ４１１１の「ＣＰｏｏｌ００１」と特定できる。このプールにはメディアＩＤ４１１２が「Ｍｅｄｉａ００４」「Ｍｅｄｉａ００５」「Ｍｅｄｉａ００６」の，メディア種類４１１３が「高速メディア」「中速メディア」「低速メディア」のメディアが格納されていることが分かる。ボリュームＩＤ４１１７が「Ｎ／Ａ」のものを検索し，その合計の容量を算出する。
【００６４】
Ｓ３００３では，バックアッププログラム４０６が，差分ビットマップ４１０と構成情報テーブル４１１を検索し，ページ毎に更新されているブロック数を算出し，差分データ量が多いページを特定する。例えば，図５の差分ビットマップ４１０の更新フラグ４１０１が「１」のボリュームＬＢＡを数える。このとき，構成情報テーブル４１１のボリュームＬＢＡ領域４１１８と関連させて，ページＩＤ４１１５毎に更新フラグ４１０１が「１」の数を数える。そして，ページ毎に，「１」の数が多い，つまり差分データ量が多い順序付けを行う。ページ毎の差分データ量を算出する理由は，バックアップにかかる時間をより短縮するためである。つまり，差分データ量が多いページから順に高速なメディアを利用してバックアップすることで，より効率よく高速なメディアを利用することができる。但し，本ステップの処理は行わなくてもよい。
【００６５】
Ｓ３００４では，バックアップ開始前にＳＶＯＬのページを低速メディアから高速なメディアへ移動するよう指示する。この処理は図８の概念図のプール内の低速メディアから高速メディアへのページの移動の処理である。具体的には，バックアッププログラム４０６が，バックアップスケジュール４０９のバックアップ開始時刻４０９２を確認する。このバックアップが開始する前に，ＳＶＯＬのページをプール内の高速なメディアへの移動をストレージシステム１０のストレージマイクロプログラム１１５に指示する。Ｓ３００３のステップを行った場合，差分データ量が多いページ順に高速なメディアへの移動を指示する。このとき，ストレージマイクロプログラム１１５は，ＳＶＯＬの差分データが書き込まれるページを，高速なメディアへ移動する。この処理の場合，構成情報テーブル４１１のボリュームＬＢＡ領域４１１８とページＩＤ４１１５の関係が変わるだけである。つまり，高速なメディアへのコピーも，低速なメディアへのコピーもどちらも，ＰＶＯＬからＳＶＯＬへ直接差分データをコピーしていることになる。
【００６６】
Ｓ３００５では，ＰＶＯＬからＳＶＯＬへ差分データをコピーする。具体的には，バックアッププログラム４０６が，バックアップスケジュールのバックアップ開始時間を参照し，ストレージマイクロプログラム１１５に差分データのコピーを指示する。ストレージマイクロプログラム１１５は，差分ビットマップ４１０を参照し，コピーを実行する。ＰＶＯＬからＳＶＯＬへのコピーの完了により，アプリケーションのデータのバックアップは完了し，バックアッププログラム４０６は，バックアップスケジュールテーブル４０９のバックアップ完了時刻４０９３へ情報を書き込む。
【００６７】
Ｓ３００６では，Ｓ３００５で高速なメディアに書き込まれたページを，低速なメディアへ移動する。具体的には，バックアッププログラム４０６が，ストレージマイクロプログラム１１５にページの移動を指示する。またこのとき，高速なメディアから低速なメディアへのコピーが完了した後に，高速なメディア上の差分データが書き込まれた記憶領域のページを削除する。この処理は，ＰＶＯＬからＳＶＯＬを構成している高速なメディアへのコピー完了後に高速なメディアを空けるために行う。これにより高速なメディアを効率的に利用することができる。つまり，他のアプリケーションによるバックアップにも高速メディアを使用することができる。低速なメディアへページを移動した後，本処理を終了する。但し，本ステップは行わなくても良い。なぜなら，この環境では，アクセス頻度に応じて複数種類のメディア間で動的にページを移動させることが可能であるため，本ステップの指示を出さなくても，ページにアクセスが無い場合，自動的に低速なメディアへ移動される。
【００６８】
−ＳＶＯＬ利用処理−
次に，本実施形態に係るバックアップデータが格納されているＳＶＯＬを利用する際の処理について説明する。
【００６９】
管理者が，ＳＶＯＬを利用する目的として，ＰＶＯＬに障害が発生したときがある。このとき，ＳＶＯＬをＰＶＯＬの代替として用いる。しかし，通常はＳＶＯＬに対するアクセスは少ないため，データは低速メディアに格納されていることが多い。また，前述のＳ３００６の処理により，ページが低速メディアに移動されている場合もある。このため，ＳＶＯＬの利用開始時は，ＰＶＯＬと同様の性能が出せないという課題がある。そこで，本実施形態の，高速なメディアと低速なメディアが混在した環境において，バックアップ時に，アプリケーションのデータと共に構成情報テーブル４１１の情報も取得する。ＰＶＯＬの障害を感知したときに，ＳＶＯＬのメディアに格納されているデータの配置を，構成情報テーブル４１１の情報からＰＶＯＬと同じデータ配置にすることで，直ぐにＳＶＯＬの性能を向上させることができる。これにより，障害発生時にＳＶＯＬをＰＶＯＬの代替として利用開始する際の性能低下を抑制することができる。
【００７０】
図１２において，ステップＳ４００１からステップＳ４００４の処理は，本実施形態による管理計算機４０のメモリ４０４上のバックアッププログラム４０６によって実現される処理である。但し，バックアッププログラム４０６の指示により，ストレージシステム１０ａ，１０ｂのメモリ１１４上のストレージマイクロプログラム１１５の処理も含む。本処理においても，バックアッププログラム４０６は，管理計算機上４０に限らず，ストレージシステム１０上のメモリ１１４に格納され，ストレージ装置１２に対する指示は，ストレージマイクロプログラム１１５が行ってもよい。いずれにしても，具体的にどの処理ステップが，どのプログラムによって実現されるかは，システム設計上の要請等により適宜決定すればよい。
【００７１】
図１２に，ＳＶＯＬ利用処理の一例を示す。
【００７２】
Ｓ４００１では，管理計算機４０のメモリ４０４上のバックアッププログラム４０６が，アプリケーションのデータのバックアップ時に，構成情報テーブル４１１を共にコピーする。
【００７３】
Ｓ４００２では，バックアッププログラム４０６が，ＰＶＯＬの障害を感知する。これは，バックアッププログラム４０６が障害を感知する機能を持っていてもよいし，ストレージシステムからの障害の通知を取得してもよい，また，他のプログラムからの通知を取得しても，ＰＶＯＬの障害を感知できれば，どのような取得方法でもかまわない。
【００７４】
Ｓ４００３では，バックアッププログラム４０６が，バックアップスケジュールテーブル４０９から最新のＳＶＯＬを特定する。例えば，Ｓ４００３で，「ＡＰ００１」のデータが格納されている「ＶＯＬ００１」のボリュームの障害を感知したとする。図４のバックアップスケジュール４０９のバックアップ完了時間４０９３を参照し，最新の時刻を検索する。図４の場合は，バックアップ完了時刻４０９３が，「２００９／１２／１  １２：４５」であることが分かり，最新のデータが格納されているＳＶＯＬ４０９５「ＶＯＬ００２」を特定する。
【００７５】
Ｓ４００４では，構成情報テーブル４１１のボリュームＩＤ４１１７からＰＶＯＬのメディア種類４１１３を確認し，Ｓ４００３で特定したＳＶＯＬを，ＰＶＯＬと同じメディア配置する。具体的には，バックアッププログラム４０６が，ストレージシステム１０のメモリ１１４上のストレージマイクロプログラム１１５に配置の実行を指示する。例えば，図６の構成情報テーブル４１１が，アプリケーションのバックアップが取得された「２００９/１２/１  ２２：３０」の時の構成情報テーブル４１１だとする。このときのＰＶＯＬ４０９４の「ＶＯＬ００１」の配置を構成情報テーブル４１１のボリュームＩＤ４１１７を検索して，メディア種類４１１３をページ毎に，「Ｐａｇｅ００１」と「Ｐａｇｅ００２」は「高速メディア」，「Ｐａｇｅ０１１」は「中速メディア」と特定する。次に，Ｓ４００３で特定した「ＶＯＬ００２」を構成情報テーブル４１１のボリュームＩＤ４１１７から検索し，ＰＶＯＬのボリュームＬＢＡ領域４１１８とＳＶＯＬのボリュームＬＢＡ領域４１１８を関連付けて，ＰＶＯＬのページ配置をＳＶＯＬにも適用する。但し，メディアの容量が異なり，同じ配置にできない場合は，ＰＶＯＬとＳＶＯＬを同程度の性能を持つメディアに移動してもよい。データの移動後，本処理を終了する。
【００７６】
第２実施形態
次に，本発明の第２実施形態について説明する。
【００７７】
本実施形態は，差分データのコピーをブロック単位で制御する点が第１実施形態と異なる。以下では，差分データのコピー処理について，第１実施形態との差異を説明する。
【００７８】
計算機システム１の構成及び管理計算機４０のメモリ４０４に格納される情報は，第１実施形態と同様である。構成情報テーブル４１１の，ページＩＤ４１１５及び容量４１１６の情報はなくてもよい。
【００７９】
図１３を用いて，本実施形態におけるバックアップ処理について説明する。
【００８０】
本実施形態では，ＰＶＯＬ及びＳＶＯＬは，仮想ボリュームでなくてもよい。図１３では，ＳＶＯＬはキャッシュプールに含まれないメディアから構成されるものとして図示している。
【００８１】
図１３の環境では，キャッシュプールを経由してＰＶＯＬからＳＶＯＬへバックアップを行う。キャッシュプールとは，複数種類のメディアが登録されているプールである。複数のメディアには，高速なメディアから低速なメディアまで様々なメディアが含まれるものとする。図１３では，キャッシュプールがストレージ装置１２ｂ内にあるように図示しているが，キャッシュプールはストレージ装置１２aにあってもよい。また，キャッシュプールは，ストレージ装置１２a，１２ｂ以外に設けてもよい。バックアップにかかる時間を短縮させるために，ＰＶＯＬから直接ＳＶＯＬへデータをコピーせずに，キャッシュプールに格納されている高速なメディアに差分データをコピーして一時的に保存する。キャッシュプールのメディアへのコピーが完了した時点でバックアップを完了とすることで，バックアップにかかる時間を短縮することができる。ＢＷ内にバックアップが完了するように，ＰＶＯＬからＳＶＯＬへコピーされる差分量と，キャッシュプールに格納されている複数種類のメディアの性能と，その容量から，バックアッププログラム４０６が，どのメディアにバックアップデータを書き込むか選択する。但し，ＢＷ内にバックアップが完了するならば，キャッシュプールを経由せずにバックアップを行ってもよいし，一部の差分データのみキャッシュプールを用いてもよい。ＰＶＯＬからキャッシュプールへの差分データのコピーが完了した後に，差分データをＳＶＯＬへ更にコピーして最終的にＳＶＯＬへバックアップデータが格納されるようにする。キャッシュプールを経由してＳＶＯＬへの書き込みを行うが，差分ビットマップ４１０を参照することで，ＰＶＯＬのボリュームＬＢＡと同じＳＶＯＬのボリュームＬＢＡへコピーを行えるものとする。
【００８２】
―差分データの移動制御処理―
図１４は，図１３に示したように，ブロック単位で差分データが制御される環境で行われる処理である。この環境では，キャッシュプール内のＳＶＯＬよりも高速なメディアに差分データを一時的に保存し，キャッシュプールへのコピーが完了した後にキャッシュプールからＳＶＯＬへ差分データを更にコピーする。
【００８３】
また，高速なメディアを次回のバックアップ時にも使用するために，高速なメディアにコピーされた差分データを，低速なメディア又はＳＶＯＬへコピーすることを指示する処理手順を含む。
【００８４】
図１４において，ステップＳ２００１からステップＳ２００６の処理，は，本実施形態による管理計算機４０のメモリ４０４上のバックアッププログラム４０６によって実現される処理である。但し，ストレージシステム１０ａ，１０ｂのメモリ１１４上のストレージマイクロプログラム１１５による処理も含む。本処理においても，バックアッププログラム４０６は，管理計算機上４０に限らず，ストレージシステム１０上のメモリ１１４に格納され，ストレージ装置１２に対する指示は，ストレージマイクロプログラム１１５が行ってもよい。いずれにしても，具体的にどの処理ステップが，どのプログラムによって実現されるかは，システム設計上の要請等により適宜決定すればよい。
【００８５】
まず，図１４を用いて，ブロック単位で差分データのコピーを制御する処理を説明する。
【００８６】
Ｓ２００１では，管理計算機４０のメモリ４０４上のバックアッププログラム４０６が，ストレージシステム１０ａ，１０ｂが持つ差分ビットマップ４１０の情報と，構成情報を取得する。これは，ステップＳ１００２の処理と同じである。但し，最新の情報を管理計算機４０が持っている場合，本ステップを行わなくてもよい。
【００８７】
Ｓ２００２では，バックアッププログラム４０６が，キャッシュプールのメディアの空き容量を算出する。これは前述のＳ３００２の処理と同じである。
【００８８】
Ｓ２００３で，バックアッププログラム４０６が，差分ビットマップ４１０から差分データが読み出されるメディアと，このメディア毎の差分データの量を特定する。このステップは，Ｓ１００３で差分が読み出されるメディアと，このメディア毎の差分データの量を特定する処理と，同様の処理を行う。差分データが読み出されるブロックのメディアを特定することで，ＳＶＯＬの高速なメディアを効率よく使うことができる。つまり，ＰＶＯＬの高速なメディアから読み出された差分データを，ＳＶＯＬの高速なメディアに書き込むと早くコピーが完了する。読み出し側が低速なメディアの場合，差分データの書き込み側で高速なメディアを使用したとすると，読み出し速度が遅いため，書き込み側の高速メディアを利用できなくなる。ＰＶＯＬの高速なメディアからＳＶＯＬの高速なメディアへコピーすることで，高速メディアを効率的に使いまわすことができる。但し，メディアを確定する処理は行わずに，差分量のみを確定してもよい。
【００８９】
Ｓ２００４では，ＰＶＯＬからキャッシュプールの高速なメディアへ差分データをコピーする。具体的には，バックアッププログラム４０６が，ストレージシステム１０のストレージマイクロプログラム１１５にＰＶＯＬの差分データを，キャッシュプール内のメディアへコピーするよう指示する。ここでは，Ｓ２００２で算出したメディア毎の空き容量から，差分データが全て高速なメディアに収まるか判断し，収まらない場合は速度の速い順にメディアを決定して，並行してメディアを使用して差分データを書き込むよう指示する。更に，ステップＳ２００３で差分が読み出されるメディアを特定していれば，高速なメディアには高速なメディアを，低速なメディアには低速なメディアとなるように差分データのコピー先を指示する。このとき，バックアッププログラム４０６は，ＰＶＯＬからキャッシュプールへの書き込みを行った個所の情報を記録しておく。ここで，ＢＷ内にバックアップが完了すると判断された場合は，ＰＶＯＬから直接ＳＶＯＬへ差分データをコピーしてもよい。キャッシュプール内のメディアへのコピーが完了した時点で，アプリケーションのデータのバックアップは完了したこととし，バックアップスケジュールテーブル４０９のバックアップ完了時刻４０９３へ情報を書き込む。これにより，バックアップにかかる時間を短縮することができる。
【００９０】
Ｓ２００５では，キャッシュプール内の高速なメディアを空けるために，キャッシュプール内の高速なメディアから，キャッシュプール内の低速なメディア又はＳＶＯＬに差分データをコピーする。この処理は１３の概念図における，キャッシュプール内のメディアからＳＶＯＬへコピーする処理である。具体的には，バックアッププログラム４０６が，ストレージシステム１０のメモリ１１４上のストレージマイクロプログラム１１５に差分データのコピーを指示する。この指示は，キャッシュプール及びＳＶＯＬがどのストレージシステムに格納されているかで異なり，格納されているストレージシステム１０ａ又は，１０ｂのメモリ１１４上のストレージマイクロプログラムに指示をだす。ここで，キャッシュプール内の低速なメディアをＳＶＯＬとしてもよい。キャッシュプール内のメディアからＳＶＯＬへの差分データのコピーは，Ｓ２００４で作成したＰＶＯＬからキャッシュプールへの書き込みを行った個所の記録と，差分ビットマップ４１０を参照して，ＰＶＯＬと同じ箇所のＳＶＯLのボリュームＬＢＡ先へデータのコピーを指示する。
【００９１】
Ｓ２００６では，キャッシュプール内のメディアに書き込まれた差分データを削除する。これにより，キャッシュプール内のメディアを他の用途に利用できる。Ｓ２００５で，キャッシュプール内のメディアからＳＶＯＬへのコピーが完了した段階で，キャッシュプール内の記憶領域とＳＶＯＬの記憶領域と両方に差分データが存在するため，キャッシュプールの差分データを削除することができる。具体的には，バックアッププログラム４０６が，データの削除をストレージマイクロプログラム１１５に指示する。このとき，Ｓ２００４で作成したＰＶＯＬからキャッシュプール内のメディアへの書き込みを行った個所の情報を元にキャッシュプールのデータを削除する。削除後，本処理を終了する。
【００９２】
第３実施形態
次に，本発明の第３実施形態について説明する。
【００９３】
本実施形態は，第１実施形態及び第２実施形態における計算機システムにおいて，ストレージシステムの台数を１台にした計算機システム構成を採用している点が異なる。本実施形態では，図１の構成との差異を中心にストレージシステムの台数を１台にした環境における本発明を適用した場合について説明する。
【００９４】
図１４に，本実施形態に係る計算機システム２のシステム構成図の一例を示す。図１４に示すように，本実施形態の計算機システム２は，図１と同様に，ストレージシステム１０と，ホスト計算機３０と，管理計算機４０で構成されている。ストレージシステム１０と，ホスト計算機３０と，管理計算機４０は，第１実施形態と同様の構成である。第1実施形態のように，スペアボリュームを有していてもよい。また，ストレージシステム１０は，スペアボリュームを有するストレージ装置を有していてもよい。但し，図２に記載した管理計算機４０上のメモリ４０４に格納してある，バックアッププログラム４０６とバックアップ時間算出プログラム４０７の実行プログラムは，第１実施形態と同様に管理計算機４０のメモリ４０４上にあってもよいし，ストレージシステム１０のメモリ１１４上にあってもよい。ストレージシステム１０，ホスト計算機３０，管理計算機４０に属している機能は，第１実施形態と同様である。
【００９５】
但し，ストレージマイクロプログラム１１５のコピー機能を操作する機能の説明として，第１実施形態では，ストレージシステム１０ａ上のストレージ装置１２ａから，ストレージシステム１０ｂ上のストレージ装置１２ｂへデータをコピーしていた。本実施例では，ストレージシステム１０ａ上に，ストレージ装置１２ａとストレージ装置１２ｂがある。つまり同じストレージシステム内にＰＶＯＬとＳＶＯＬが存在する。
【００９６】
本実施形態で用いる各種情報は，第１実施形態に関する図３から図７までに示した各テーブルに記録されていた情報と同様である。但し，これらのバックアップ管理テーブル４０８，バックアップスケジュールテーブル４０９，差分ビットマップ４１０，構成情報テーブル４１１，メディア性能テーブル４１２の情報も実行プログラムと同様に，ストレージシステム１０のメモリ１１４上にあってもよい。また，本実施例は，図３のバックアップ管理テーブル４０８のＰＶＯＬのストレージＩＤ４０８３，ＳＶＯＬのストレージＩＤ４０８５には同じ値が入るため，この情報はなくてもよい。つまり，管理対象となるストレージシステムが１台であることからＰＶＯＬのストレージＩＤ４０８３と，ＳＶＯＬのストレージＩＤ４０８５には「ＳＴ００１」しか入らない。同様に，図６の構成情報テーブル４１１のストレージＩＤ４１１０の情報は無くてもよい。
【００９７】
次に，本実施形態に係るＢＷとメディア管理の処理について説明する。
【００９８】
第1実施形態と同様の図９の処理で，実現可能である。
【００９９】
但し，次のステップの処理が変更される。
【０１００】
ステップＳ１００２では，管理計算機４０のメモリ４０４上のバックアッププログラム４０６が，ストレージシステム１０ａとストレージシステム１０ｂから構成情報を取得していたが，本実施例ではＰＶＯＬとＳＶＯＬは同じストレージシステム１０ａに格納されているため，情報取得元のストレージシステムは一台となる。
【０１０１】
また，管理計算機４０のメモリ４０４上ではなく，ストレージシステム１０のメモリ１１４上に，バックアッププログラム４０６，バックアップ時間算出プログラム４０７，バックアップ管理テーブル４０８，バックアップスケジュールテーブル４０９，差分ビットマップ４１０，構成情報テーブル４１１，メディア性能テーブル４１２が格納されている場合，管理計算機４０への情報収集は行わない。同様に，Ｓ１００３からＳ１０１０までの処理は，ストレージシステム１０のメモリ１１４上からプログラム及びテーブルが読みだされ，ストレージシステム１０上のＣＰＵ１１１によって実行される。
【０１０２】
次に，本実施形態に係る差分データの移動制御処理について説明する。
【０１０３】
第１実施形態と同様の図１１，及び第２実施形態と同様の図１４の処理で，実現可能である。
【０１０４】
但し，前述と同様に次の処理が変更される。
【０１０５】
ステップＳ２００１では，管理計算機４０のメモリ４０４上のバックアッププログラム４０６が複数のストレージシステム１０から構成情報を取得していたが，情報を取得するストレージシステム１０は一台（ストレージシステム１０ａ）となる。
また，本実施形態を実行するプログラム及びテーブルの情報がストレージシステム１０のメモリ１１４上に格納されている場合，管理計算機４０への情報収集は行わない。同様に，Ｓ２００２からＳ２００９までの処理，及びＳ３００２からＳ３００８までの処理は，ストレージシステム１０のメモリ１１４上からプログラム及びテーブルが読みだされ，ストレージシステム１０上のＣＰＵ１１１によって実行される。つまり，Ｓ２００４，Ｓ２００６，Ｓ２００８，及び，Ｓ３００４，Ｓ３００７は，管理計算機４０のメモリ４０４上のバックアッププログラム４０６がストレージシステム１０のメモリ１１４上のストレージマイクロプログラムに指示を出していたが，本実施形態では，これは同ストレージシステム１０の同メモリ１１４内でプログラムが実行される。
【０１０６】
−ＳＶＯＬ利用処理−
次に，本実施形態に係るＳＶＯＬ利用処理について説明する。
【０１０７】
第１実施形態と同様の図１３の処理で，実現可能である。但し，前述と同様に次の処理が変更される。
【０１０８】
ステップＳ４００４では，管理計算機４０のメモリ４０４上のバックアッププログラム４０６がストレージシステム１０のメモリ１１４上のストレージマイクロプログラムに指示を出していたが，本実施形態では，これは同ストレージシステム１０の同じメモリ１１４内でのプログラムが実行される。
【０１０９】
第４実施形態
次に，本発明の第４実施形態について説明する。
【０１１０】
本実施形態では，第１実施形態〜第３実施形態における計算機システムにおいて，アプリケーションが複数存在し，キャッシュプールを使用するバックアップタスクが同時刻に複数存在することを考慮している点が異なる。同時刻に複数のバックアップタスクが存在する場合，バックアップタスクの優先度から順に，キャッシュプールの高速なメディアをバックアップタスク毎に分配する。
【０１１１】
本実施形態における計算機システム構成は，第１実施形態及び第２実施形態と同様の構成である。もしくは，ストレージシステム１０が１台である第３実施形態と同様の構成としてもよい。但し，第１実施形態における計算機システム構成の説明にも記述済だが，ホスト計算機３０上のアプリケーションの個数は１つに限定されない。特に，第３実施形態では，アプリケーション，もしくはホスト計算機３０が複数存在し，管理計算機４０によって管理されているものとする。
【０１１２】
次に，本実施形態で用いる各種情報について記載する。
【０１１３】
図３のバックアップ管理テーブル４０８に優先度４０８７のカラムを追加したものを図１５に示す。優先度４０８７は，限られたメディアの中で，バックアップ対象である複数のアプリケーションの中から，管理者が優先的にＢＷ内にバックアップを完了させるアプリケーションを決めるためのポリシーである。つまり，優先度が高いほうから優先的に高速メディアが割り振られる。また，優先度４０８７には，「高」「低」等と記載しているが，ＢＷを守るアプリケーションの優先度が分かれば記号や数字など他の表現方法を用いて良い。その他の本実施形態で用いる各種情報は，第１実施形態に関する図４から図７までに示した各テーブルに記録されていた情報と同様である。
【０１１４】
次に，本実施形態に係る複数アプリケーションのバックアップにおける差分データのコピー先の制御の処理について説明する。この処理は，キャッシュプールに高速なメディアと低速なメディアが混在している環境で行う。この環境で，バックアップにかかる速度を短縮する差分データのコピー先のメディアを制御する。図１６に，複数バックアップタスクが同時に実行されるときの差分データの移動制御処理の手順の一例を示す。但し，本実施形態では，複数のアプリケーションのバックアップの設定が行われており，複数タスクが同時に存在するときのキャッシュプールの使用方法について記述する。第１実施形態の図１１，図１２のようにブロック単位とページ単位，両方の差分データを制御する環境でもおこなえる。
【０１１５】
図１６において，ステップＳ５００１からステップＳ５０１１の処理は，本実施形態による管理計算機４０のメモリ４０４上のバックアッププログラム４０６とバックアップ時間算出プログラム４０７，ストレージシステム１０ａ，１０ｂのメモリ１１４上のストレージマイクロプログラム１１５によって実現される処理である。本処理においても，バックアッププログラム４０６は，管理計算機上４０に限らず，ストレージシステム１０上のメモリ１１４に格納され，ストレージ装置１２に対する指示は，ストレージマイクロプログラム１１５が行ってもよい。いずれにしても，具体的にどの処理ステップが，どのプログラムによって実現されるかは，システム設計上の要請等により適宜決定すればよい。
【０１１６】
図１６を用いて，複数バックアップタスクが同時に実行されるときの差分データの移動を制御する処理を説明する。
【０１１７】
Ｓ５００１では，管理計算機４０のメモリ４０４上のバックアッププログラム４０６が，バックアップ設定画面から，管理者によって入力されたバックアップ対象となるアプリケーションと，バックアップデータを取得する間隔や日時を表すバックアップスケジュール，バックアップが完了するまでの目標時間を表すＢＷと，複数アプリケーションの中で優先的にＢＷ内にバックアップを完了させるための優先度の情報を取得する。このステップは，第１実施形態におけるＢＷとメディア管理処理（図９）のＳ１００１ステップに，優先度の情報の取得を加えた処理である。Ｓ１００１同様に取得した情報を，管理計算機４０上のメモリに格納されているバックアップ管理テーブル４０８に格納する。優先度の情報は，図１５のバックアップ管理テーブル４０８の優先度４０８７に格納する。
【０１１８】
Ｓ５００２では，バックアッププログラム４０６が，図４のバックアップスケジュールテーブル４０９のバックアップ開始時刻４０９２を参照し，バックアップタスクが同時刻に存在するか確認する。同時に開始される場合ステップＳ５００３へ，同時に開始されない場合は，ステップＳ５０１０へ進む。例えば，図４の場合，バックアップＩＤ４０９０が「ＢＫ００２」と「ＢＫ００３」のバックアップタスクが，バックアップ開始時刻４０９２が「２００９／１２／１  ２３：００」と同時にバックアップが開始されることが分かる。
【０１１９】
Ｓ５００３からＳ５００９まで，同時刻にバックアップが開始される複数のバックアップ対象アプリケーションに対して処理を行う。
【０１２０】
Ｓ５００３では，バックアッププログラム４０６が，ストレージシステム１０ａ，１０ｂが持つ差分ビットマップ４１０の情報と，構成情報を取得する。このステップは，第１実施形態におけるＢＷとメディア管理処理（図９）のＳ１００２ステップと同じ処理である。
【０１２１】
Ｓ５００４では，バックアッププログラム４０６が，Ｓ５００３で取得した差分ビットマップ４１０から差分が読み出されるメディアと書き込まれるメディア，このメディア毎の差分量を特定する。このステップは，第１実施形態におけるＢＷとメディア管理処理（図９）のＳ１００３と同じ処理である。
【０１２２】
Ｓ５００５では，バックアップ時間算出プログラム４０７が，ＢＷ内にバックアップが完了するために十分なメディアの容量を算出する。このステップは，第１実施形態におけるＢＷとメディア管理処理（図９）のＳ１００９と同じ処理である。
【０１２３】
Ｓ５００６では，バックアッププログラム４０６が，メディアの空き容量を算出する。バックアッププログラム４０６が，構成情報テーブル４１１のボリュームＩＤ４１１７から，割り当てられていないメディアを検索し，容量４１１６から空いているメディアの容量を算出する。
【０１２４】
Ｓ５００７では，バックアッププログラム４０６が，全てのバックアップタスクがＢＷ内に完了するか判断する。つまり，Ｓ５００６の算出した容量が，Ｓ５００５で算出した容量以上である場合，ＢＷ内に収まると判断する。ＢＷ内に収まる場合はステップＳ５００８へ，収まらない場合は，ステップＳ５００９へ進む。
【０１２５】
Ｓ５００８では，バックアッププログラム４０６が，それぞれのバックアップタスクに対して，ＢＷ内に収まるメディアを割当てる。これは，Ｓ５００７で，全てのバックアップタスクがＢＷ内にバックアップが完了するために十分なメディアが確保されていることが分かった。そのため，それぞれのバックアップタスクに対してＳ５００５で算出したメディアの容量を割当てる。ここで，高速なメディアが余る場合は，バックアップの時間を短縮するためにバックアップタスク毎に均等に高速メディアを割当ててもよい。
【０１２６】
Ｓ５００９では，バックアッププログラム４０６が，バックアップ管理テーブル４０８の優先度４０８３の高いバックアップタスク順に高速なメディアを割当てる。これは，Ｓ５００７で，全てのバックアップタスクにおいてＢＷ内にバックアップが完了するために十分なメディアが無いことが分かった。そのため，優先度の高い順にＢＷ内にバックアップが完了するために十分なメディアを分配する。優先度が低くメディアが割り当てられなかったアプリケーションに対しては，図９のＳ１００４からＳ１００７の処理を行い，バックアップにかかる時間を算出し，かつ，Ｓ５００５で算出した必要な容量と実際に割当てられた容量から，ＢＷ内に収めるために必要な容量を算出して，図９のＳ１０１０の処理同様にＢＷ内に収まらない旨と，算出したメディアの容量を提示してもよい。
【０１２７】
Ｓ５０１０では，バックアッププログラム４０６が，高速なメディアを全て割当てる。これは，Ｓ５００２で，同時刻にバックアップが開始されるバックアップタスクが存在しないと分かったため，一つのバックアップタスクに全ての高速メディアを割当てることができるからである。しかし，全ての高速なメディアを割り当ててもＢＷ内にバックアップが終了するとは限らないため，図９のＳ１００２からＳ１０１０の処理により，バックアップにかかる時間と，ＢＷ内にバックアップが完了するために十分なメディアの容量を算出ししてもよい。
【０１２８】
Ｓ５００８，Ｓ５００９，Ｓ５０１０の指示が終了後，図１１又は図１４の処理により差分データの移動制御に移り，本処理を終了する。
【０１２９】
第５実施形態
次に，本発明の第５実施形態について説明する。
【０１３０】
本実施形態では，第１実施形態から第４実施形態における，メディアの容量算出方法の一例を説明する。これは第1実施形態と同様の図９の処理で，実現可能である。但し，次のステップの処理が変更されるため，以下では相違点を説明する。
【０１３１】
Ｓ１００９では，バックアップ時間算出プログラム４０７が，ＢＷ内にバックアップが完了するために必要なメディアの容量を算出する。
【０１３２】
ここで，図１９は，メディアの種類が高速メディア，中速メディア，低速メディアの３種類を用いる場合の，メディアの容量算出方法の一例を示す。図１８と同様に，メディアの性能を表す直線の交点から，ＢＷ内にバックアップが完了するために必要となるそれぞれのメディアの容量を算出することができる。メディアの容量算出には，次のような方法がある。
【０１３３】
高速メディアをすべて用いても，ＢＷ内にバックアップが完了しない場合は，ＢＷ内に完了するために必要な高速メディアの容量を算出する。また，予め，使用する高速メディアの容量を指定し，ＢＷ内にバックアップが完了するために必要な中速メディアの容量を算出することとしてもよい。これにより，高速メディアについては所定の容量を確保しておくことができ，他の処理に利用することができる。また，高速メディアを使用しないように指定し，ＢＷ内にバックアップが完了するために必要な中速メディアの容量を算出してもよい。この場合，高速メディアを他の用途に用いることができる。
【０１３４】
第４実施形態のように，複数のバックアップタスクが実行される場合は，バックアップタスク毎に，高速メディアと中速メディアを使い分けて，算出することもできる。この場合，優先度４０８７に応じて，高速メディアと中速メディアを割当ててもよい。
【０１３５】
Ｓ１０１２では，バックアッププログラム４０６が，管理者にＢＷ内でバックアップが完了しない旨を提示し，さらに，Ｓ１００９で算出した高速メディアの容量からすでにプールに属している高速メディアの容量の差分の容量を提示する。例えば，図２０のような画面が管理計算機４０の表示装置４０２に表示される。図２０では，メディアの種類毎に算出された容量が提示される。メディア毎に単位容量のコストを入力しておき，最も低コストとなるメディアを表示することとしてもよい。
【符号の説明】
【０１３６】
１，２  計算機システム
１０  ストレージシステム
１１  ストレージコントローラ
１２  ストレージ装置
２０  データネットワーク
２１  管理ネットワーク
３０  ホスト計算機
４０  管理計算機
１１０，３０３  データＩ／Ｆ
１１１，３０５，４０５  ＣＰＵ
１１２  ストレージＩ／Ｆ
１１３，３０６，４０３  管理Ｉ／Ｆ
１１４，３０４，４０４  メモリ
１１５  ストレージマイクロプログラム
１２０  低速ボリューム
１２１  高速ボリューム
１２２  低速メディア
１２３  高速メディア
３０１，４０１  入力装置
３０２，４０２  表示装置
３０７  アプリケーション
４０６  バックアッププログラム
４０７  バックアップ時間算出プログラム
４０８  バックアップ管理テーブル
４０９  バックアップスケジュールテーブル
４１０  差分ビットマップ
４１１  構成情報テーブル
４１２  メディア性能テーブル
【図１】
2011170475.tif 000003
【図２】
2011170475.tif 000004
【図３】
2011170475.tif 000005
【図４】
2011170475.tif 000006
【図５】
2011170475.tif 000007
【図６】
2011170475.tif 000008
【図７】
2011170475.tif 000009
【図８】
2011170475.tif 000010
【図９】
2011170475.tif 000011
【図１０】
2011170475.tif 000012
【図１１】
2011170475.tif 000013
【図１２】
2011170475.tif 000014
【図１３】
2011170475.tif 000015
【図１４】
2011170475.tif 000016
【図１５】
2011170475.tif 000017
【図１６】
2011170475.tif 000018
【図１７】
2011170475.tif 000019
【図１８】
2011170475.tif 000020
【図１９】
2011170475.tif 000021
【図２０】
2011170475.tif 000022