(57)【要約】      （修正有）【課題】ボリュームグループ全体でのボリュームコピーに要する時間が長くなることを防ぐ。【解決手段】ボリュームグループは、二以上のコピー元ボリュームと二以上のコピー先ボリュームとの集合である。計算機システムが、各時間帯でのコピー元ボリューム毎のアクセス量を表す情報であるアクセス量情報を記憶する。計算機システムは、アクセス量情報のうちの、所定の期間における１以上の過去の対象期間での各コピー元ボリュームのアクセス量を表す情報を基に、各コピー元ボリュームの将来の対象期間でのアクセス量を推定する。計算機システムは、その推定の結果に基づいて、コピー元ボリューム毎にコピーの開始タイミングを決定する。過去の対象期間の開始時刻及び終了時刻は、将来の対象期間の開始時刻及び終了時刻と同じである。【選択図】図２
2011002876.tif 000002
【特許請求の範囲】
【請求項１】
ボリュームグループに属する複数の論理ボリュームを有する一以上のストレージ装置に接続された計算機システムであって、
記憶資源と、
前記記憶資源に接続されたプロセッサと
を有し、
前記ボリュームグループは、二以上のコピー元ボリュームと、前記二以上のコピー元ボリュームとそれぞれペアになる二以上のコピー先ボリュームとの集合であり、
前記記憶資源は、各時間帯でのコピー元ボリューム毎のアクセス量を表す情報であるアクセス量情報を記憶し、
一つのコピー元ボリュームについてのアクセス量は、ホスト計算機からそのコピー元ボリュームへのアクセスの量であり、
アクセスとは、書込み及び読出しのうちの少なくとも書込みであり、
前記プロセッサは、
（ａ）前記アクセス量情報を基に、各コピー元ボリュームについて将来の対象期間でのアクセス量を推定し；
（ｂ）前記（ａ）での推定の結果に基づいて、コピー元ボリューム毎にコピーの開始タイミングを決定し；
（ｃ）決定されたコピー開始タイミングに従って、コピー元ボリュームからコピー先ボリュームへのボリュームコピーを行うことのコピーコマンドを、コピー元ボリューム又はコピー先ボリュームを有するストレージ装置に送信し、
前記対象期間は、１又は複数の時間帯で構成されており、
前記プロセッサは、前記（ａ）において、前記アクセス量情報のうちの、所定の期間における１以上の過去の対象期間での各コピー元ボリュームのアクセス量を表す情報を基に、各コピー元ボリュームの将来の対象期間でのアクセス量を推定し、
前記過去の対象期間の開始時刻及び終了時刻は、前記将来の対象期間の開始時刻及び終了時刻と同じである、
計算機システム。
【請求項２】
前記記憶資源は、どのホスト計算機がどんな種類の業務を行うかを表すホスト情報を記憶し、
複数のボリュームグループがあり、各ボリュームグループに、複数のコピー元ボリューム及びコピー先ボリュームが属しており、
コピー元ボリューム毎に、アクセス可能なホスト計算機が予め定められており、
一つのボリュームグループに属する各コピー元ボリュームは、同じ種類の業務を行うホスト計算機に割り当てられたコピー元ボリュームであり、
前記プロセッサは、連続した各時間帯でのコピー元ボリューム毎のアクセス量を検知し、検知の結果を前記アクセス量情報に反映し、
前記プロセッサは、
（ｄ）業務開始予定時刻と、各ホスト計算機の業務開始時刻と、前記ホスト情報とを基に、業務種類別に、各時間長に対応した乖離発生頻度を算出し；
（ｅ）前記（ａ）では、各コピー元ボリュームについて、前記アクセス量情報の他に、各コピー元ボリュームが属するボリュームグループに対応した業務種類についての、時間長毎の乖離発生頻度を基に、前記将来の対象期間における連続した時間帯毎のアクセス量を推定し；
（ｆ）前記（ｅ）において算出されたコピー元ボリューム毎の推定アクセス量と、どのコピー元ボリュームがどのボリュームグループに属するかとを基に、各ボリュームグループについて、前記将来の対象期間における連続した時間帯毎の推定アクセス量を算出し；
（ｇ）各ボリュームグループについて、算出された推定アクセス量が最も少ない時間帯の開始時刻を、コピー開始時刻と決定し；
（ｈ）前記（ｂ）では、各ボリュームグループについて、前記（ｇ）で決定されたコピー開始時刻が属する時間帯での推定アクセス量が少ない順にコピーを開始することを決定し、
乖離発生頻度は、業務開始予定時刻と業務開始時刻との差である乖離時間の発生頻度である、
請求項１記載の計算機システム。
【請求項３】
前記プロセッサは、
前記（ｄ）において、業務種類毎に、現在から所定時間前までの期間における単位期間毎の影響度も算出し、
前記（ｅ）において、単位期間毎の影響度も基に、前記将来の対象期間における連続した時間帯毎のアクセス量を推定する、
請求項２記載の計算機システム。
【請求項４】
前記将来の対象期間での推定アクセス量は、業務予定時刻と、各ホストの業務実行時刻の過去の履歴とに基づいている、
請求項１記載の計算機システム。
【請求項５】
前記プロセッサは、業務予定時刻と、各ホストの業務実行時刻とを基に、各種の時間長に対応した乖離発生頻度を算出し、
前記プロセッサは、前記（ａ）では、各コピー元ボリュームについて、前記アクセス量情報の他に、各種時間長に対応した乖離発生頻度を基に、前記将来の対象期間でのアクセス量を推定し、
乖離発生頻度は、業務予定時刻と業務実行時刻との差である乖離時間の発生頻度である、
請求項４記載の計算機システム。
【請求項６】
ホスト計算機毎に、ホスト計算機が行う業務の種類が予め決まっており、
各種時間長に対応した乖離発生頻度は、業務種類別に算出される、
請求項５記載の計算機システム。
【請求項７】
前記プロセッサは、業務種類毎に、現在から所定時間前までの期間における単位期間毎の影響度も算出し、前記（ａ）において、単位期間毎の影響度も基に、前記将来の対象期間における連続した時間帯毎のアクセス量を推定する、
請求項６記載の計算機システム。
【請求項８】
前記プロセッサは、前記（ｂ）では、前記ボリュームグループについてのコピー開始時刻が属する時間帯での推定アクセス量が少ない順でコピーを開始することを決定する、
請求項１、４乃至７のうちのいずれか１項に記載の計算機システム。
【請求項９】
前記プロセッサは、前記（ｂ）では、各コピー元ボリュームについて、推定アクセス量が最も少ない時間帯に属する時刻を、コピーの開始時刻と決定する、
請求項１、４乃至７のうちのいずれか１項に記載の計算機システム。
【請求項１０】
前記プロセッサは、前記（ａ）での推定の結果を表す情報、及び／又は、前記（ｂ）での決定の結果を表す情報を表示する、
請求項１、４乃至９のうちのいずれか１項に記載の計算機システム。
【請求項１１】
複数のボリュームグループがあり、各ボリュームグループに、複数のコピー元ボリューム及びコピー先ボリュームが属しており、
前記プロセッサは、コピー元ボリューム毎の推定アクセス量と、どのコピー元ボリュームがどのボリュームグループに属するかとを基に、各ボリュームグループについて、前記将来の対象期間における時間帯毎の推定アクセス量を算出し、
前記プロセッサは、各ボリュームグループについて、算出された推定アクセス量が最も少ない時間帯の開始時刻を、コピー開始時刻と決定する、
請求項１、４乃至１０のうちのいずれか１項に記載の計算機システム。
【請求項１２】
前記プロセッサは、前記（ｂ）では、各ボリュームグループについて、前記決定されたコピー開始時刻が属する時間帯での推定アクセス量が少ない順にコピーを開始することを決定する、
請求項１１記載の計算機システム。
【請求項１３】
前記プロセッサは、各ボリュームグループについての推定アクセス量を表す情報、及び／又は、各ボリュームグループの決定したコピー開始時刻を表す情報を表示する、
請求項１１又は１２記載の計算機システム。
【請求項１４】
二以上のコピー元ボリュームとそれら二以上のコピー元ボリュームとそれぞれペアになる二以上のコピー先ボリュームとの集合であるボリュームグループに属するボリューム間のコピーの制御方法であって、
（ａ）各時間帯でのコピー元ボリューム毎のアクセス量を表す情報であるアクセス量情報を基に、各コピー元ボリュームについて将来の対象期間でのアクセス量を推定し；
（ｂ）前記（ａ）での推定の結果に基づいて、コピー元ボリューム毎にコピーの開始タイミングを決定し；
（ｃ）決定されたコピー開始タイミングに従って、コピー元ボリュームからコピー先ボリュームへのボリュームコピーを行うことのコピーコマンドを、コピー元ボリューム又はコピー先ボリュームを有するストレージ装置に送信し、
一つのコピー元ボリュームについてのアクセス量は、ホスト計算機からそのコピー元ボリュームへのアクセスの量であり、
アクセスとは、書込み及び読出しのうちの少なくとも書込みであり、
前記対象期間は、１又は複数の時間帯で構成されており、
前記（ａ）において、前記アクセス量情報のうちの、所定の期間における１以上の過去の対象期間での各コピー元ボリュームのアクセス量を表す情報を基に、各コピー元ボリュームの将来の対象期間でのアクセス量が推定され、
前記過去の対象期間の開始時刻及び終了時刻は、前記将来の対象期間の開始時刻及び終了時刻と同じである、
ボリュームコピー制御方法。
【請求項１５】
一以上のストレージ装置に接続された計算機システムで実行されるコンピュータプログラムであって、
（ａ）各時間帯でのコピー元ボリューム毎のアクセス量を表す情報であるアクセス量情報を基に、各コピー元ボリュームについて将来の対象期間でのアクセス量を推定し；
（ｂ）前記（ａ）での推定の結果に基づいて、コピー元ボリューム毎にコピーの開始タイミングを決定し；
（ｃ）決定されたコピー開始タイミングに従って、コピー元ボリュームからコピー先ボリュームへのボリュームコピーを行うことのコピーコマンドを、コピー元ボリューム又はコピー先ボリュームを有するストレージ装置に送信し、
を計算機システムに実行させ、
前記一以上のストレージ装置は、ボリュームグループを有し、
前記ボリュームグループは、二以上のコピー元ボリュームと、それら二以上のコピー元ボリュームとそれぞれペアになる二以上のコピー先ボリュームとの集合であり、
前記対象期間は、１又は複数の時間帯で構成されており、
一つのコピー元ボリュームについてのアクセス量は、ホスト計算機からそのコピー元ボリュームへのアクセスの量であり、
アクセスとは、書込み及び読出しのうちの少なくとも書込みであり、
前記（ａ）において、前記アクセス量情報のうちの、所定の期間における１以上の過去の対象期間での各コピー元ボリュームのアクセス量を表す情報を基に、各コピー元ボリュームの将来の対象期間でのアクセス量が推定され、
前記過去の対象期間の開始時刻及び終了時刻は、前記将来の対象期間の開始時刻及び終了時刻と同じである、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理ボリュームから別の論理ボリュームへのデータのコピーの制御に関する。
【背景技術】
【０００２】
論理ボリューム（以下、単に「ボリューム」と言う）から別のボリュームへのデータのコピーであるボリュームコピーに関する技術が知られている。ボリュームコピーとしては、ボリュームレプリケーションとボリュームマイグレーションがある。一般に、ボリュームレプリケーションの場合、コピーが完了しても、コピー元のボリュームに記憶されているデータが削除されてはならない。一方、ボリュームマイグレーションの場合、一般に、コピーが完了したならば、コピー元のボリュームに記憶されているデータが削除されても良い。ボリュームレプリケーションに関する技術は、例えば特許文献１に開示されており、ボリュームマイグレーションに関する技術は、例えば特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３０１５９０号公報
【特許文献２】特開２００６−３０２０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
以下の説明では、コピー元のボリュームを、プライマリボリューム或いはそれを略して「ＰＶＯＬ」と言い、コピー先のボリュームを、セカンダリボリューム或いはそれを略して「ＳＶＯＬ」と言うことがある。
【０００５】
ところで、ボリュームマイグレーション技術によれば、一般に、ボリュームマイグレーション中にＰＶＯＬに新たにデータが書き込まれた場合、そのデータの書込み先の領域が、マイグレーション済みの領域であっても、そのデータが、ＳＶＯＬにマイグレーションされる必要がある。これは、ボリュームグループに属するボリューム間で一括してボリュームマイグレーションすることができる技術では、特に問題であると考えられる。なぜなら、いずれかのボリューム間でのボリュームマイグレーションが完了しても別のボリューム間でボリュームマイグレーションが行われてしまい、故に、ボリュームグループ全体でのボリュームマイグレーションに要する時間が長くなってしまうからである。
【０００６】
この種の問題は、ボリュームマイグレーション技術に限らず、ボリュームレプリケーション技術についても有り得る。
【０００７】
そこで、本発明の目的は、ボリュームグループ全体でのボリュームコピーに要する時間が長くなることを防ぐことにある。
【課題を解決するための手段】
【０００８】
ボリュームグループに属する一以上のストレージ装置に計算機システムが接続されている。計算機システムは、１又は複数の計算機を含んだシステムである。ボリュームグループは、二以上のコピー元ボリュームと二以上のコピー先ボリュームとの集合である。
【０００９】
計算機システムは、記憶資源と、記憶資源に接続されたプロセッサとを有する。記憶資源が、各時間帯でのコピー元ボリューム毎のアクセス量を表す情報であるアクセス量情報を記憶する。プロセッサは、アクセス量情報のうちの、所定の期間における１以上の過去の対象期間での各コピー元ボリュームのアクセス量を表す情報を基に、各コピー元ボリュームの将来の対象期間でのアクセス量を推定する。プロセッサは、その推定の結果に基づいて、コピー元ボリューム毎にコピーの開始タイミングを決定する。過去の対象期間の開始時刻及び終了時刻は、将来の対象期間の開始時刻及び終了時刻と同じである。
【００１０】
例えば、所定の期間は、現在の時刻から所定時間前までの期間とすることができる。所定時間前とは、１日前、１週間前或いは１ヶ月前など、所望の時間前で良い。所定の期間が１日であって、対象期間が、１日のうちの或る１つの時間帯（例えば０９：００〜１０：００）の場合、過去の対象期間は１つであるが、所定の期間がｎ日（ｎは２以上の整数）の場合、過去の対象期間の数はｎである。
【００１１】
これらの処理は、プロセッサがコンピュータプログラムを実行することにより行うことができる。そのコンピュータプログラムは、遠隔のサーバからインストールされても良いし、記憶媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤ（Digital Versatile Disk）などの可搬型の記憶媒体）からインストールされても良い。また、これらの処理の一部がハードウェアで実現されても良い。
【００１２】
一つのコピー元ボリュームについてのアクセス量は、ホスト計算機からそのコピー元ボリュームへのアクセスの量である。アクセスの量は、一又は複数の観点（例えば、アクセス回数及び／又はデータ転送量）から定義されて良い。
【図面の簡単な説明】
【００１３】
【図１】図１Ａは、本発明の一実施形態に係るデータ処理システムを示す。図１Ｂは、ストレージ装置１０４の構成を示す。
【図２】図２Ａは、管理サーバ１０５のハードウェア構成を示す。図２Ｂは、記憶資源２０３が記憶する保持するコンピュータプログラム及び情報を示す。
【図３】図３は、アクセス量テーブル８０１を示す。
【図４】図４は、ホストテーブル９０１を示す。
【図５】図５は、グループ対応テーブル１００１を示す。
【図６】図６Ａは、マイグレーショングループテーブル６０１を示す。図６Ｂは、マイグレーションスケジュールテーブル７０１を示す。
【図７】図７は、第１のポイントテーブル１１０１Ｄを示す。
【図８】図８は、第２のポイントテーブル１１０１Ｗを示す。
【図９】図９は、マイグレーションスケジュール管理モジュール３０４が表示するＧＵＩ（Graphical User Interface）の一例を示す。
【図１０】図１０は、推定アクセス量テーブル１８０１の一部を示す。
【図１１】図１１は、そのテーブル１８０１の残りを示す。
【図１２】図１２Ａは、マイグレーショングループＡのマイグレーション開始時刻が８：００の場合の、マイグレーショングループＡに属する各ＰＶＯＬ１、２及び３のデータ転送推定量を示す。図１２Ｂは、マイグレーショングループ毎の推定アクセス量テーブル１８０１Ｇを示す。
【図１３】図１３は、アクセスチェックモジュール３０２が行うアクセスチェック処理の流れを示す。
【図１４】図１４は、第一のタイミング決定処理の流れを示す。
【図１５】図１５は、第二のタイミング決定処理の流れを示す。
【図１６】図１６は、ポイントテーブル１１０１の作成処理の流れを示す。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の一実施形態を説明する。なお、以後の説明では、「ｘｘｘテーブル」といった表現で情報が表現されるが、情報は、テーブル以外のデータ構造で表現されていてもよい。また、以下の実施形態では、ボリュームコピーとして、ボリュームマイグレーションが行われる。また、以下の説明において、コンピュータプログラムが行う処理は、実際には、そのコンピュータプログラムを実行するプロセッサ（ＣＰＵ）によって行われる。また、以下の説明では、論理ボリュームを単に「ボリューム」と言う。
【００１５】
図１Ａは、本発明の一実施形態に係るデータ処理システムを示す。
【００１６】
第１ネットワーク１０１に、複数（又は１つ）のホスト計算機１０３と、複数（又は１つ）のストレージ装置１０４と、管理サーバ１０５とが接続されている。第１ネットワーク１０１は、通信ネットワーク（例えばＬＡＮ（Local Area Network））であり、このネットワークを介して、所定のプロトコル、例えばＩＰ（Internet Protocol）で通信される。
【００１７】
第２ネットワーク１０２に、複数（又は１つ）のホスト計算機１０３と、複数（又は１つ）のストレージ装置１０４とが接続されている。第２ネットワーク１０２も、通信ネットワーク（例えばＳＡＮ（Storage Area Network））であり、このネットワークを介して、所定のプロトコル、例えばＦＣ（Fibre Channel）又はｉＳＣＳＩで通信される。なお、第２ネットワーク１０２は第１ネットワーク１０１と一体であっても良い。
【００１８】
ホスト計算機１０３は、ストレージ装置１０４が有するボリュームを指定したアクセスコマンド（ライトコマンド又はリードコマンド）を発行する。それにより、ホスト計算機１０３は、所望のボリュームにアクセスする。
【００１９】
ストレージ装置１０４は、複数のボリュームを有する。複数のボリュームには、マイグレーション元ボリューム及び／又はマイグレーション先ボリュームが含まれる。マイグレーション元ボリュームがホスト計算機１０３からアクセスされる。マイグレーション元ボリューム及びマイグレーション先ボリュームは、マイグレーショングループに属する。マイグレーショングループは、ボリュームグループの一例である。マイグレーショングループは、二以上のマイグレーション元ボリューム（以下、ＰＶＯＬ）と二以上のマイグレーション先ボリューム（以下、ＳＶＯＬ）との集合である。ＰＶＯＬ及びＳＶＯＬのうち少なくともＰＶＯＬが、いずれかのホスト計算機１０３からアクセスされ得る。
【００２０】
管理サーバ１０５は、計算機システムの一例である。管理サーバ１０５は、各ホスト計算機１０３及び各ストレージ装置１０４に関する情報を管理する。管理サーバ１０５は、マイグレーショングループに属するＰＶＯＬからのマイグレーション開始のタイミングを制御する。複数のマイグレーショングループがある場合もある。この場合、マイグレーショングループ毎に、マイグレーション開始時刻が決定される。
【００２１】
以下、ホスト計算機１０３、ストレージ装置１０４及び管理サーバ１０５について詳細に説明する。
【００２２】
ホスト計算機１０３は、図示しないが、ＣＰＵ（Central Processing Unit）、記憶資源（例えばメモリ）、第１ネットワーク１０１を介して通信するための第１ＩＦ（インターフェイス装置）、及び、第２ネットワーク１０２を介して通信するための第２ＩＦ（インターフェイス装置）を有する。記憶資源は、コンピュータプログラムを記憶する。コンピュータプログラムは、例えば、ボリュームにアクセスコマンドを発行するアクセスプログラム、及び、所定種類の業務を実行するための業務プログラムがある。アクセスプログラム及び業務プログラムをＣＰＵが実行する。
【００２３】
アクセスプログラムは、アクセス先を表す情報を含んだアクセスコマンドを送信する。その情報は、例えば、ボリュームのＩＤ（例えばＬＵＮ（Logical Unit Number））及び記憶領域アドレス（例えばＬＢＡ（Logical Block Address））を含む。その情報が表す記憶領域に対してアクセスが行われる。
【００２４】
業務プログラムは、ホスト計算機１０３のエンドユーザ（例えば、ホスト計算機１０３と通信する図示しないユーザ端末のユーザ）にサービスを提供する。サービス（業務）の種類としては、例えば、イントラネットを利用したサービス、Ｂ２Ｂ（Business to Business）向けのサービス、及び、Ｂ２Ｃ（Business to Consumer）向けのサービス（例えば、テレビショッピング、チケット販売、或いはオンライン販売）のうちの少なくとも一つがある。業務開始及び業務停止の時刻（業務予定時刻）が予め決められている。業務プログラムが、業務予定時刻を管理している。しかし、業務（サービス）は、実際には、何らかの理由でスケジュール通りに開始及び／又は終了しないことがある。この場合、業務プログラムによる自動開始及び／又は自動停止では、業務が円滑に進まない。このため、ホスト計算機１０３のユーザによって、手動で業務が開始及び／又は停止される。この自動開始及び／又は停止が手動での開始及び／又は停止に切り替えられたことを表すログを、業務プログラムが、管理サーバ１０５に送信する。そのログは、例えば、業務予定時刻と、業務実行時刻とを含む。管理サーバ１０５は、そのログを基に、後述のポイントテーブルを作成する。
【００２５】
図１Ｂは、ストレージ装置１０４の構成を示す。
【００２６】
ストレージ装置１０４は、コントローラ１０４１と、磁気ディスク群１０４９とを有する。
【００２７】
磁気ディスク群１０４９は、複数の磁気ディスク（例えばハードディスクドライブ）１１０４７を有する。磁気ディスク群１０４９は、複数のＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）グループを有しても良い。各ＲＡＩＤグループは、二以上の磁気ディスク１０４７を有する。一つのＲＡＩＤグループを基に、１又は複数のボリューム１０４８が形成される。ストレージ装置１０４は、複数のボリューム１０４８を有する。なお、本実施形態で言うボリューム１０４８は、ＲＡＩＤグループを基に形成された実体的なボリュームであるが、それに限らず、仮想的なボリューム（例えば、Thin Provisioning技術に従う容量拡張ボリューム、或いは、外部ストレージに基づく外部のボリュームが関連付けられた仮想ボリューム）でも良い。また、磁気ディスク１０４７に代えて、他種の不揮発性の記憶媒体、例えばフラッシュメモリが採用されても良い。
【００２８】
コントローラ１０４１は、ホスト計算機１０３からボリューム１０４８へのアクセスを制御する。コントローラ１０４１は、例えば、アクセスコマンドのようなコマンドを受け付けるフロントエンドインターフェイス装置（ＦＥ−ＩＦ）１０４２、コマンドを処理するＣＰＵ１０４３、ボリューム１０４８とホスト計算機１０３との間でやり取りされるデータを一時的に記憶するキャッシュメモリを含んだメモリ１０４５、磁気ディスク１０４７に対するバックエンドインターフェイス装置（ＢＥ−ＩＦ）１０４６、及び、それらの要素１０４２、１０４３、１０４５及び１０４６間での通信を制するスイッチ装置（ＳＷ）１０４４を有する。
【００２９】
コントローラ１０４１は、管理サーバ１０５から、ＰＶＯＬのＩＤとＳＶＯＬのＩＤとを含んだマイグレーションコマンドを受信することで、マイグレーションを開始する。
【００３０】
なお、そのマイグレーションは、複数のストレージ装置１０４の間で行われても良い。この場合、ＰＶＯＬを有するストレージ装置１０４と、ＳＶＯＬを有するストレージ装置１０４とのどちらかが、マイグレーションコマンドを受信する。なお、マイグレーションコマンドには、例えば、マイグレーション開始時刻が含まれていても良い。この場合、コントローラ１０４１は、現在の時刻がそのマイグレーション開始時刻になったときに、マイグレーションコマンドに従うマイグレーションを開始する。
【００３１】
さらに、マイグレーションコマンドでＳＶＯＬを指定する代わりとして、ＲＡＩＤグループのＩＤなど、他の情報が指定されても良い。
【００３２】
コントローラ１０４１は、マイグレーションコマンドを受信した場合、ＰＶＯＬ内のデータを、そのＰＶＯＬの基になっている磁気ディスク１０４７から読み出し、マイグレーションコマンドから特定されるマイグレーション先に対応した磁気ディスク１０４に書き込む（ボリュームマイグレーション）。この特定は、マイグレーション先がＳＶＯＬのＩＤで指定される場合は、ＳＶＯＬに対応している磁気ディスク１０４７を特定することが一例としてある。
【００３３】
ボリュームマイグレーション中でのホスト計算機１０３からＰＶＯＬへのデータの書き込みについては、例えば、以下の（Ａ）乃至（Ｃ）の方法があるが、それらの方法以外の方法で、データが処理されても良い。
（Ａ）新たに書き込まれるデータの書込み先が、マイグレーション済み領域（マイグレーション済みのデータが記憶されている記憶領域）であれば、コントローラ１０４１は、ライトコマンドに対する完了応答をホスト計算機１０３に返す前に、そのデータを、ＰＶＯＬの基になっている磁気ディスク１０４７と、ＳＶＯＬの基になっている磁気ディスク１０４７の両方に書き込む。
（Ｂ）新たに書き込まれるデータの書込み先が、マイグレーション済み領域であれば、コントローラ１０４１は、ライトコマンドに対する完了応答をホスト計算機１０３に返す前に、そのデータを、ＰＶＯＬの基になっている磁気ディスク１０４７に書き込む。その後、繰り返し実行される差分マイグレーションとして、コントローラ１０４１は、新たに書き込まれたデータを、ＰＶＯＬの基になっている磁気ディスク１０４７からＳＶＯＬの基になっている磁気ディスク１０４７にマイグレーションする。
（Ｃ）コントローラ１０４１は、新たに書き込まれるデータを、ライトコマンドに対する完了応答をホスト計算機１０３に返す前に、ＳＶＯＬの基になっている磁気ディスク１０４７に書き込む。
【００３４】
なお、ストレージ装置１０４は、キャッシュメモリを有しているため、これまでの説明において（及び、これから先の説明において）、磁気ディスク１０４７からの読み出しと表現した部分については、キャッシュメモリからの読み出しと表現することもできる。同様に、磁気ディスク１０４７への書き込みと表現した部分については、キャッシュメモリへの書き込みと表現することができる。なお、キャッシュメモリに書き込まれたデータは、やがて、磁気ディスクに書き込まれる。
【００３５】
コントローラ１０４１は、磁気ディスク１０４７に障害が発生した場合に、管理サーバ１０５に対して、障害が発生した磁気ディスク１０４７を表す障害情報を送信してもよい。この障害情報は、管理サーバ１０５から繰り返し受信する参照要求に応答して送信されても良いし、その参照要求を受けたか否かに関わらず積極的に送信されても良い。障害情報は、例えば、障害の発生した磁気ディスク１０４７のＩＤと、その磁気ディスク１０４７を含んだＲＡＩＤグループのＩＤと、その磁気ディスク１０４７が基になっているボリューム１０４８のＩＤとのうちの少なくとも１つを含む。
【００３６】
コントローラ１０４１は、ＰＶＯＬ又はＳＶＯＬの基になっている磁気ディスク１０４７に障害が発生した場合、ボリュームマイグレーションを中止することができる。この場合、コントローラ１０４１は、そのボリュームマイグレーションが中止したことを管理サーバ１０５へ通知することができる。また、コントローラ１０４１は、その通知の際に、磁気ディスク１０４７の障害が発生したことを示す情報も通知してもよい。
【００３７】
ボリュームマイグレーションの方式としては、ＳＶＯＬのデータ保全を省略する第一のマイグレーション方式（つまり、ＳＶＯＬにデータを上書きする方式）と、ＳＶＯＬ内のデータとＰＶＯＬ内のデータを入れ替えることによってＳＶＯＬ内のデータを保全しつつマイグレーションを行う第二のマイグレーション方式とがある。第二のマイグレーション方式では、例えば、ＳＶＯＬから一時退避ボリュームへのデータのマイグレーション、ＰＶＯＬからＳＶＯＬへのデータのマイグレーション、及び、一時退避ボリュームからＰＶＯＬへのデータのマイグレーションが行われる（他の方法で第二の方式が実現されても良い）。
【００３８】
前述した第一のマイグレーション方式の場合、マイグレーションタスクを作成した管理者とは別の管理者が先にＳＶＯＬへマイグレーションをしてしまうと、先にマイグレーションしたデータへの上書き回避のためにマイグレーションを抑止することがある。その抑止のための処理は、ストレージ装置側によって行われる場合もあれば、管理サーバ側で行われる場合もある。ＳＶＯＬに対してマイグレーション先として指定できるかどうかの情報を各ボリュームに対して設定できるようにすることで、上述のような抑止を実現することができる。このような指定可否情報がある場合、先にマイグレーションを行うことで、ＳＶＯＬに、マイグレーション先として指定できないボリューム内のデータが移行される。その結果、マイグレーションタスク作成者が行うマイグレーションが抑止されることになる。
【００３９】
本実施形態の説明では、説明が冗長になることを防ぐために、「ボリュームマイグレーション」という表現を使うことがある。ボリュームマイグレーションでは、実際には、ＰＶＯＬ内のデータが、ＰＶＯＬの基になっている磁気ディスクから読み出され、ＳＶＯＬの基になっている磁気ディスクへ書き込まれる。
【００４０】
図２Ａは、管理サーバ１０５のハードウェア構成を示す。
【００４１】
管理サーバ１０５は、ＣＰＵ２０１、記憶資源（例えばメモリ）２０３、通信ＩＦ２０４、入力装置２０６、出力装置２０７及びＩ／Ｏ（Input/Output）制御装置２０２を有する。通信ＩＦ２０４は、第１ネットワーク１０１を介して通信するためのインターフェイス装置である。入力装置２０６は、例えば、キーボード及び／又はポインティングデバイスである。出力装置２０７は、例えば、表示装置である。入力装置２０６と出力装置２０７が、タッチパネル式表示装置のように一体になっていても良い。Ｉ／Ｏ制御装置２０２は、入力装置２０６から入力された情報の入力、及び、出力装置２０７への情報の出力を制御する。
【００４２】
記憶資源２０３は、ＣＰＵ２０１で実行されるコンピュータプログラム、及び、ＣＰＵ２０１に参照又は作成される情報を記憶する。コンピュータプログラム及び情報としては、例えば次のようなものがある。
【００４３】
図２Ｂは、記憶資源２０３が記憶する保持するコンピュータプログラム及び情報を示す。
【００４４】
ＣＰＵ２０１に実行されるコンピュータプログラムとして、例えば、マイグレーション制御プログラム３０１、ホスト情報設定プログラム３５１、マイグレーショングループ設定プログラム３１２、マイグレーションスケジュール設定プログラム３１３がある。また、ＣＰＵ２０１に参照又は作成される情報として、例えば、アクセス量テーブル８０１、ホストテーブル９０１、グループ対応テーブル１００１、マイグレーショングループテーブル３１１、マイグレーションスケジュールテーブル７０１、ポイントテーブル１１０１及び推定アクセス量テーブル１８０１がある。
【００４５】
マイグレーション制御プログラム３０１は、ボリュームマイグレーションに関わる制御を行う。マイグレーション制御プログラム３０１は、例えば、アクセスチェックモジュール３０２、マイグレーショングループ管理モジュール３０３及びマイグレーションスケジュール管理モジュール３０４がある。
【００４６】
アクセスチェックモジュール３０２は、各ボリュームのアクセス量を表す情報を定期的（又は不定的）に取得し、取得した情報をアクセス量テーブル８０１に記録する。このモジュール３０２は、そのテーブル８０１の他に、テーブル９０１及び１００１を参照又は作成する。このモジュール３０２は、マイグレーション制御プログラム３０１に属さない他のプログラムであっても良い。
【００４７】
マイグレーショングループ管理モジュール３０３は、マイグレーショングループに関する情報を管理する。このモジュール３０３は、テーブル３１１を参照する。
【００４８】
マイグレーションスケジュール管理モジュール３０４は、マイグレーションスケジュールに関する情報を管理する。このモジュール３０４は、テーブル８０１、９０１、１００１、３１１、７０１、１１０１、１８０１及び２３０１を参照／又は作成する。このモジュール３０４は、テーブル１８０１及び／又は２３０１を用いて、マイグレーション開始タイミングを決定する。
【００４９】
ホスト情報設定プログラム３５１は、ホストテーブル９０１を作成する。そのテーブル９０１に記録される情報は、例えば、管理サーバ１０５のユーザから入力されても良いし、ホスト１０３から収集されても良い。
【００５０】
マイグレーショングループ設定プログラム３１２は、マイグレーショングループテーブル３１１を作成する。そのテーブル３１１には、マイグレーショングループに関する情報が記録される。マイグレーショングループは、管理サーバ１０５のユーザによって定義されても良いし、このプログラム３１２がなんらかの方法で自動で定義しても良い。例えば、プログラム３１２は、どの種類の業務を実行するホスト計算機がどのＰＶＯＬを利用しているかを基に、自動で、複数のマイグレーショングループを定義しても良い。
【００５１】
マイグレーションスケジュール設定プログラム３１３は、マイグレーションスケジュールテーブル７０１を作成する。そのテーブル７０１に記録されるスケジュールは、管理サーバ１０５のユーザから定義されても良いし、マイグレーション設定プログラム３０１から定義されても良い。
【００５２】
図３は、アクセス量テーブル８０１を示す。
【００５３】
アクセス量テーブル８０１は、各時間帯でのＰＶＯＬ毎のアクセス量を表す情報を有する。図示の例では、８：００−９：００（但し９：００丁度を含まない）、９：００−１０：００、…のように、１時間毎のアクセス量が記録される。「アクセス量」は、本実施形態では、アクセス回数及びデータ転送総量で表される。「アクセス回数」とは、アクセスコマンドの発行回数又は受領回数である。「データ転送総量」とは、ＰＶＯＬに入出力されたデータの総量である。
【００５４】
このテーブル８０１は、アクセスチェックモジュール３０２によって作成及び更新される。モジュール３０２は、例えば、マイグレーショングループテーブル３１１（図６Ａ参照）を参照して、各マイグレーショングループのＩＤと、各マイグレーショングループに属する各ＰＶＯＬのＩＤとを特定し、マイグレーショングループのＩＤとＰＶＯＬのＩＤとをテーブル８０１に記録する。また、モジュール３０２は、定期的に（例えば１時間毎に）、各ＰＶＯＬのアクセス回数及びデータ転送総量を取得し、各ＰＶＯＬについて取得されたアクセス回数及びデータ転送総量を、テーブル８０１に記録する。アクセス回数及びデータ転送総量は、ホスト計算機１０３及び／又はストレージ装置１０４から取得される。例えば、ホスト計算機１０３が、自分に割り当てられているボリューム（ＰＶＯＬ）毎に、アクセスコマンドの発行時刻と入出力されたデータの量との履歴を保持している。この場合、モジュール３０２が、定期的に、その履歴をホスト計算機１０３から取得し、取得した履歴から、或る時間帯でのＰＶＯＬのアクセス回数及びデータ転送総量を把握し、把握したアクセス回数及びデータ転送総量をテーブル８０１に記録する。また、例えば、ストレージ装置１０４が、ＰＶＯＬ毎に、アクセスコマンドの受領時刻と入出力されたデータの量との履歴を保持している。この場合、モジュール３０２が、定期的に、その履歴をストレージ装置１０４から取得し、取得した履歴から、或る時間帯でのＰＶＯＬのアクセス回数及びデータ転送総量を把握し、把握したアクセス回数及びデータ転送総量をテーブル８０１に記録する。
【００５５】
図４は、ホストテーブル９０１を示す。
【００５６】
ホストテーブル９０１は、どのホスト計算機がどんな種類の業務を行うかを表す。具体的には、例えば、このテーブル９０１には、ホスト計算機毎に、ホスト計算機のＩＤと、業務の種類を表す名称とが記録される。業務の種類として、例えば、イントラネットを利用したサービス、Ｂ２Ｂ（Business to Business）向けのサービス、及び、Ｂ２Ｃ（Business to Consumer）向けのサービスがある。
【００５７】
図５は、グループ対応テーブル１００１を示す。
【００５８】
このテーブル１００１は、ホスト計算機１０３とマイグレーショングループとの対応関係を表す。具体的には、例えば、このテーブル１００１には、ホスト計算機１０３毎に、ホスト計算機１０３のＩＤと、そのホスト計算機１０３に対応したマイグレーショングループのＩＤとが記録される。ホスト計算機１０３に割り当てられたＰＶＯＬを含んだマイグレーショングループが、そのホスト計算機１０３に対応する。なお、どのＰＶＯＬがどのホスト計算機１０３に割り当てられているかを表す情報は、例えば、ストレージ装置１０４が管理しており、その情報を管理サーバ１０５（例えばマイグレーショングループ管理モジュール３０３）が取得することで、どのＰＶＯＬがどのホスト計算機１０３に割り当てられているかを把握することができる。そして、モジュール３０３が、マイグレーショングループテーブル６０１（図６Ａ参照）を参照することで、どのＰＶＯＬがどのマイグレーショングループに含まれているかを把握することができる。結果として、モジュール３０３は、どのホスト計算機１０３にどのマイグレーショングループが対応しているかを把握することができ、故に、このテーブル１００１を作成することができる。
【００５９】
なお、図４に示したテーブル９０１と図５に示したテーブル１００１とによれば、マイグレーショングループは、業務種類別に用意されている。すなわち、マイグレーショングループＡは、イントラネットに対応しており、マイグレーショングループＢは、Ｂ２Ｂに対応しており、マイグレーショングループＣは、Ｂ２Ｃに対応している。
【００６０】
図６Ａは、マイグレーショングループテーブル６０１を示す。
【００６１】
このテーブル６０１は、どのマイグレーショングループにどのＰＶＯＬ及びＳＶＯＬが属するかを表す。具体的には、例えば、このテーブル６０１には、マイグレーショングループ毎に、マイグレーショングループのＩＤと、そのグループに属するＰＶＯＬのＩＤと、そのグループに属するＳＶＯＬのＩＤとが記録される。
【００６２】
図６Ｂは、マイグレーションスケジュールテーブル７０１を示す。
【００６３】
このテーブル７０１は、マイグレーショングループ毎のマイグレーション開始時刻を表す。具体的には、例えば、このテーブル７０１には、マイグレーショングループ毎に、マイグレーショングループのＩＤと、そのマイグレーショングループについてのマイグレーション開始時刻とが記録される。
【００６４】
ポイントテーブル１１０１は、業務予定時刻（例えば予定開始時刻及び／又は予定終了時刻）と業務実行時刻（例えば実際の開始時刻及び／又は終了時刻）との差である乖離時間の発生頻度に関する統計を表す。その統計は、業務種類毎に記録される。例えば、マイグレーションスケジュール管理モジュール３０４が、各ホスト計算機１０３から、業務予定時刻と業務実行時刻とを記述した情報（例えばログ）を受信し、その情報を基に、このテーブル１１０１を作成又は更新する。ポイントテーブル１１０１は、推定アクセス量テーブル１８０１の作成に用いられる。
【００６５】
ポイントテーブル１１０１としては、１日分の乖離発生頻度の統計を表す第１のポイントテーブルと、複数日分の乖離発生頻度の統計を表す第２のポイントテーブルとがある。複数日分というのは、１週間、１ヶ月など所望日分である。本実施形態では、第２のポイントテーブルとして、１週間分の乖離発生頻度の統計を表すテーブルが用意される。
【００６６】
図７は、第１のポイントテーブル１１０１Ｄを示す。
【００６７】
このテーブル１１０１Ｄには、業務種類毎に、乖離時間の時間長別の発生頻度が記録される。乖離時間は、その乖離時間が関わるいずれかの時間長に属する。例えば、乖離時間が３０分以下の場合、時間長「０時間」に属し、乖離時間が３０分より長く１．５時間以下の場合、その乖離時間は時間長「１時間」に属する。
【００６８】
テーブル１１０１Ｄに記録される発生頻度の値は、一定時間長（例えば１２時間）を１００％として正規化された値である。図７の例によれば、業務種類「Ｂ２Ｃ」については、乖離が生じなかった確率が４０％であり、１時間の乖離が生じた確率が３０％であり、２時間の乖離が生じた確率が１５％である。１つの行に記述されている全ての値（乖離発生頻度の値）の合計は、１００％となる。
【００６９】
図８は、第２のポイントテーブル１１０１Ｗを示す。
【００７０】
このテーブル１１０１Ｗには、テーブル１１０１Ｄに記録された情報の他に、業務種類毎に、各発生頻度の日係数が記録される（図では「ＤＣ」と略記している）。「日係数」とは、１週間のうちの対象の日の影響度（重み）、正確には、業務実行時刻と業務予定時刻との乖離との相関である。具体的には、例えば、業務種類「Ｂ２Ｃ」の場合、現在から１日前の日の日係数（重み）が「０．８０」であり、現在から２日前の日の日係数が「０．１０」であることがわかる。１日前から７日前までの全ての日係数の合計は、原則「１．００」となる。なお、業務種類「イントラネット」や「Ｂ２Ｂ」の場合、１日前から７日前までの各日の日係数が同じため、全ての日係数の合計は、「０．９８」となり、「１．００」にはならない。図８の例によれば、業務種類「Ｂ２Ｃ」の場合、乖離は、現在から過去へ日が離れるほど相関がなく、「Ｂ２Ｂ」及び「イントラネット」の場合、日が離れても相関に変化が無い。
【００７１】
ポイントテーブル１１０１Ｄ及び１１０１Ｗの作成方法については、後に説明である。
【００７２】
図９は、マイグレーションスケジュール管理モジュール３０４が表示するＧＵＩ（Graphical User Interface）の一例を示す。
【００７３】
このＧＵＩには、各マイグレーショングループに属する各ＰＶＯＬの各時間帯でのアクセス量を表す表示テーブル１４０１と、モジュール３０４によって決定されたマイグレーション開始タイミングを表す情報とが表示される。
【００７４】
ユーザは、決定されたマイグレーション開始タイミングで良ければ、ＯＫボタン１４０２を押す。この場合、モジュール３０４が、決定したマイグレーション開始タイミングに従ってマイグレーションコマンドを発行する。その方法としては、例えば、決定したマイングレーション開始タイミングにマイグレーションコマンドを発行する方法と、マイグレーション開始タイミングを表す時刻を含んだマイグレーションコマンドを発行しておきその時刻が到来した場合にボリュームマイグレーションが開始されるようにする方法とがある。
【００７５】
ユーザは、決定されたマイグレーション開始タイミングで良くなければ、ＮＧボタン１４０３を押す。この場合、モジュール３０４は、表示テーブル１４０１を表示したまま、ユーザから、各マイグレーショングループについてのマイグレーション開始時刻、及び／又は、各マイグレーショングループ内での各ボリュームペアについてのマイグレーション開始タイミング（順番又は時刻）を受け付ける。ユーザは、表示テーブル１４０１を見ながら、各マイグレーショングループのマイグレーション開始時刻、及び／又は、マイグレーショングループに属する各ボリュームペアのマイグレーションの開始タイミングを指定することができる。モジュール３０４は、各マイグレーショングループのマイグレーション開始時刻、及び／又は、マイグレーショングループに属する各ボリュームペアのマイグレーションの開始タイミングを、ユーザから指定された開始タイミングに決定する。
【００７６】
なお、表示テーブル１４０１は、アクセス量テーブル８０１がわかり易く可視化されたテーブルである。表示テーブル１４０１において、各ＰＶＯＬについての時間帯毎のセルの濃さは、アクセス量の多さを表している。具体的には、例えば、アクセス量の多さは４段階あり、セルの濃さも４段階ある。最も濃いセルが、最も多い段階のアクセス量に対応している。業務によって、ホスト計算機１０３が頻繁に利用される時間帯が異なるため、アクセス量が多い時間帯と少ない時間帯は異なる。表示テーブル１４０１によれば、例えば、マイグレーショングループＡに属するＰＶＯＬには、９時台〜１１時台及び２時台にアクセスが集中し、マイグレーショングループＢに属するＰＶＯＬには、９時台〜１４時台及び２４時台〜１時台にアクセスが集中することがわかる。
【００７７】
なお、表示テーブル１４０１に代えて、アクセス量テーブル８０１それ自体が表示されても良い。
【００７８】
図１０は、推定アクセス量テーブル１８０１の一部を示し、図１１は、そのテーブル１８０１の残りを示す。つまり、図１０及び図１１が、テーブル１８０１を示す。
【００７９】
このテーブル１８０１は、モジュール３０４によって生成されたものである。モジュール１８０１は、ＰＶＯＬ毎に、各時間帯でのアクセス量を推定し、推定されたアクセス量をこのテーブル１８０１に記録する。なお、ここで言う推定アクセス量は、推定されたデータ転送量（データ転送推定量）である。
【００８０】
各ＰＶＯＬについてのマイグレーション開始タイミングは、データ転送推定量が少ない順から先となる。言い換えれば、推定アクセス量が少ないＰＶＯＬから先にボリュームマイグレーションが行われる。図１０及び図１１の例において、マイグレーショングループＡに属する３つのＰＶＯＬ１、２及び３について言えば、マイグレーショングループＡのマイグレーション開始時刻が８：００の場合、図１２Ａに示すように、各ＰＶＯＬ１、２及び３のデータ転送推定量は、６．８３、７．７１及び２．９２となる。この場合、モジュール３０４は、ＰＶＯＬのマイグレーション順序を、データ転送推定量が少ない順、すなわち、ＰＶＯＬ３、ＰＶＯＬ１、ＰＶＯＬ２とする。これにより、ＰＶＯＬ３から最も先にマイグレーションが行われ、そのマイグレーションが完了した後に、ＰＶＯＬ１からマイグレーションが行われ、そのマイグレーションが完了した後に、ＰＶＯＬ２からマイグレーションが行われ、そのマイグレーションが完了したときに、マイグレーショングループＡについてのマイグレーションの完了となる。なお、もし、２つのボリュームペアについて並行してボリュームマイグレーションすることが可能な場合、ＰＶＯＬ３からのマイグレーションとＰＶＯＬ１からのマイグレーションが並行して行われ、どちらかのマイグレーションが完了した場合に、ＰＶＯＬ３からのマイグレーションが開始されて良い。
【００８１】
なお、モジュール３０４は、テーブル１８０１とマイグレーショングループテーブル６０１（図６Ａ参照）とを基に、図１２Ｂに示すような、マイグレーショングループ毎の推定アクセス量テーブル１８０１Ｇを生成することができる。このテーブル１８０１Ｇにおいて、各マイグレーショングループに対応した行における各値は、各時間帯での、そのマイグレーショングループに属する複数のＰＶＯＬについてのデータ転送推定量を基に算出された値である。具体的には、例えば、マイグレーショングループＡに対応した行における８時台のデータ転送推定量「５．８２」は、ＰＶＯＬ１、２及び３の８時台でのデータ転送推定量「６．８３」、「７．７１」及び「２．９２」の平均である。
【００８２】
モジュール３０４は、テーブル１８０１Ｇを基に、各マイグレーショングループのマイグレーション開始時刻を決定することができる。具体的には、例えば、モジュール３０４は、各マイグレーショングループについて、データ転送推定量が最も少ない時間帯に属する時刻（例えば開始時刻）を、そのマイグレーショングループのマイグレーション開始時刻に決定する。図１２Ｂの例で言えば、マイグレーショングループＡについて言えば、マイグレーショングループＡに対応したデータ転送推定量のうち最も少ない推定量「０．０３」に対応した時間帯「１９時台」の開始時刻「１９：００」が、マイグレーション開始時刻に決定される。この決定された時刻は、例えば、図９に示したＧＵＩに表示され、ユーザから承認された場合に（ＯＫボタン１４０２が押された場合に）、正式に、マイグレーション開始時刻として決定される。モジュール３０４は、決定された時刻を、マイグレーションスケジュールテーブル７０１に記録する。
【００８３】
さて、本実施形態では、マイグレーション制御プログラム３０１は、以下の４つのタイミング決定処理：
（Ａ）ポイントテーブルを使用しないで、一つのマイグレーショングループに属する各ＰＶＯＬからのマイグレーションの開始タイミングを決定する処理；
（Ｂ）ポイントテーブルを使用しないで、各マイグレーショングループについてのマイグレーション開始タイミングを決定する処理；
（Ｃ）ポイントテーブルを使用して、一つのマイグレーショングループに属する各ＰＶＯＬからのマイグレーションの開始タイミングを決定する処理；
（Ｄ）ポイントテーブルを使用して、各マイグレーショングループについてのマイグレーション開始タイミングを決定する処理、
のうちの、（Ａ）と（Ｂ）、（Ｃ）と（Ｄ）、（Ａ）と（Ｄ）、又は、（Ｂ）と（Ｃ）を行うことができる。別の言い方をすれば、各ＰＶＯＬからのマイグレーションの開始タイミングの決定と、各マイグレーショングループのマイグレーション開始タイミングの決定との一方について、ポイントテーブルが使用されたからといって、他方についても、ポイントテーブルが使用されなければならないわけではない。
【００８４】
以下、上記（Ａ）〜（Ｄ）のそれぞれの処理を説明する。
【００８５】
＜（Ａ）ポイントテーブルを使用しないで、一つのマイグレーショングループに属する各ＰＶＯＬからのマイグレーションの開始タイミングを決定する処理＞。
【００８６】
マイグレーション制御プログラム３０１は、アクセス量テーブル８０１を用いて、一つのマイグレーショングループに属する各ＰＶＯＬからのマイグレーションの開始タイミングを決定する。アクセス量テーブル８０１は、次のようにして更新される。
【００８７】
図１３は、アクセスチェックモジュール３０２が行うアクセスチェック処理の流れを示す。
【００８８】
モジュール３０２が、定期的に、Ｓ１５１１及びＳ１５１２を繰り返す（ループ（Ａ））。
【００８９】
すなわち、Ｓ１５１１で、モジュール３０２は、各ストレージ装置１０４から、アクセス量に関する情報を取得し、その情報から、時間帯毎のアクセス回数及びデータ転送総量を把握する。その情報は、時間帯毎のアクセス回数及びデータ転送総量であっても良いし、アクセスコマンドを受領した時刻（及び／又は、アクセスコマンドに含まれているタイムスタンプが表す時刻）と、そのアクセスコマンドに応答して入出力されたデータの量（データ転送量）との履歴であっても良い。また、その情報は、各ストレージ装置１０４から取得することに代えて又は加えて、各ホスト計算機１０３から取得されても良い。各ホスト計算機１０３から取得される情報は、例えば、アクセスコマンドを発行した時刻と、データ転送量とを含む。
【００９０】
Ｓ１５１２で、モジュール３０２は、アクセス量テーブル８０１に、把握されたアクセス回数及びデータ転送総量を記録する。
【００９１】
以上のアクセスチェック処理により、定期的に、アクセス量テーブル８０１が更新される。
【００９２】
図１４は、第一のタイミング決定処理の流れを示す。この処理は、ポイントテーブルを使用しないで、対象のマイグレーショングループに属する各ＰＶＯＬからのマイグレーションの開始タイミングを決定する処理である。
【００９３】
Ｓ１４０１で、モジュール３０４は、マイグレーショングループテーブル６０１を参照し、対象のマイグレーショングループに属する複数のＰＶＯＬを把握する。
【００９４】
Ｓ１４０２で、マイグレーションスケジュール管理モジュール３０４は、マイグレーションスケジュールテーブル３１１を参照し、対象のマイグレーショングループについてマイグレーション開始時刻が記述されているか否かを判定する。記述されていれば、Ｓ１４０３が行われ、記述されていなければ、Ｓ１４１１が行われる。
【００９５】
Ｓ１４０３で、モジュール３０４は、アクセス量テーブル８０１を参照し、Ｓ１４０２で把握されたマイグレーション開始時刻が属する将来の時間帯での、Ｓ１４０１で把握した各ＰＶＯＬのアクセス量を推定する。具体的には、モジュール３０４は、Ｓ１４０２で把握したマイグレーション開始時刻が属する過去の時間帯での、Ｓ１４０１で把握した各ＰＶＯＬのアクセス量を把握する。例えば、マイグレーション開始時刻が８：００であれば、該当する過去の時間帯は、８時台である。なお、過去の時間帯は、過去の所定期間（現在から所定期間前までの期間）における時間帯である。例えば、過去の所定期間が、過去ｎ日分（ｎは自然数）であれば、過去ｎ日分におけるｎ個の該当時間帯（例えば８時台）のアクセス量が把握される。ｎが２以上の整数であれば、ｎ個のアクセス量を基に算出された値（例えば、ｎ個のアクセス量の最大値、最小値或いは平均）が、推定アクセス量となる。
【００９６】
Ｓ１４０４で、モジュール３０４は、Ｓ１４０１で把握した複数のＰＶＯＬについて、Ｓ１４０３で推定された（把握された）アクセス量が少ないＰＶＯＬからマイグレーションを開始することを決定する。例えば、ＰＶＯＬ１、２及び３のうち、アクセス量が最も少ないＰＶＯＬがＰＶＯＬ３であり、次にアクセス量が少ないＰＶＯＬがＰＶＯＬ１であり、アクセス量が最も多いＰＶＯＬがＰＶＯＬ２の場合、モジュール３０４は、ＰＶＯＬ３、ＰＶＯＬ１及びＰＶＯＬ２の順で、マイグレーションを開始することを決定する。
【００９７】
以上のＳ１４０２、Ｓ１４０３及びＳ１４０４によれば、モジュール３０４は、対象のマイグレーショングループについてマイグレーション開始時刻が既に定義されている場合には、そのマイグレーショングループに属する各ＰＶＯＬのマイグレーション開始順番を決定する。
【００９８】
この後、モジュール３０４は、Ｓ１４０４で決定した開始タイミングに従い、対象のマイグレーショングループに属するＰＶＯＬ又はＳＶＯＬを有するストレージ装置１０４に、ＰＶＯＬ及びＳＶＯＬを指定したマイグレーションコマンドを送信する。例えば、モジュール３０４は、対象のマイグレーショングループについてのマイグレーション開始時刻が到来したときに、まず、ＰＶＯＬ３とそのペアのＳＶＯＬとを指定したマイグレーションコマンドを、ＰＶＯＬ３又はそのペアのＳＶＯＬを有するストレージ装置１０４に送信する。マイグレーション完了報告をそのストレージ装置１０４から受けた場合に、モジュール３０４は、ＰＶＯＬ１とそのペアのＳＶＯＬとを指定したマイグレーションコマンドを、ＰＶＯＬ１又はそのペアのＳＶＯＬを有するストレージ装置１０４に送信する。
【００９９】
さて、Ｓ１４１１では、モジュール３０４は、Ｓ１４０１で把握された各ＰＶＯＬの将来の所定期間（現在から所定期間先までの期間）におけるアクセス量を推定する。具体的には、モジュール３０４は、Ｓ１４０１で把握された各ＰＶＯＬの過去の所定期間（現在から所定期間前までの期間）におけるアクセス量を把握する。例えば、将来の所定期間が、ｍ日であり（ｍは自然数）、過去の所定期間が、過去ｎ日分（ｎは自然数）であれば、将来の所定期間におけるアクセス量（推定アクセス量）は、ｎ／ｍ個のアクセス量を基に算出される。具体的には、例えば、ｍ＝１でありｎ＝１の場合、将来１日分における各時間帯でのアクセス量は、過去１日分における各時間帯でのアクセス量と同義である。また、例えば、ｍ＝１でありｎ＝７の場合、将来１日分における各時間帯でのアクセス量は、過去７日分における各時間帯での７個（７／１個）のアクセス量を基に算出される（例えば、最大値、最小値又は平均）。
【０１００】
Ｓ１４１２で、モジュール３０４は、Ｓ１４０１で把握された各ＰＶＯＬの推定アクセス量を基に、各ＰＶＯＬのマイグレーション開始時刻を決定する。ＰＶＯＬの決定されたマイグレーション開始時刻は、そのＰＶＯＬの推定アクセス量が最も少ない時間帯に属する時刻（例えば開始時刻）である。
【０１０１】
以上のＳ１４０２、Ｓ１４１１及びＳ１４１２によれば、モジュール３０４は、対象のマイグレーショングループについてマイグレーション開始時刻が定義されていない場合には、そのマイグレーショングループに属する各ＰＶＯＬのマイグレーション開始時刻を決定する。
【０１０２】
モジュール３０４は、Ｓ１４０３又はＳ１４１１で推定されたアクセス量、及び／又は、Ｓ１４０４又はＳ１４１２で決定されたマイグレーション開始タイミングを出力装置２０７に表示することができる。
【０１０３】
＜（Ｂ）ポイントテーブルを使用しないで、各マイグレーショングループについてのマイグレーション開始タイミングを決定する処理＞。
【０１０４】
図１５は、第二のタイミング決定処理の流れを示す。この処理は、各マイグレーショングループについてのマイグレーション開始タイミングを決定する処理である。
【０１０５】
Ｓ１５０１で、モジュール３０４は、マイグレーショングループテーブル６０１を参照し、マイグレーショングループ毎に、マイグレーショングループに属する複数のＰＶＯＬを把握する。
【０１０６】
Ｓ１５０２で、モジュール３０４は、図１４のＳ１４１１と同様の方法で、Ｓ１５０１で把握された各ＰＶＯＬについて、将来の所定期間における各時間帯でのアクセス量を推定する。
【０１０７】
Ｓ１５０３で、モジュール３０４は、マイグレーショングループ毎に、マイグレーショングループに属する複数のＰＶＯＬに対応した複数の推定アクセス量を基に、マイグレーショングループの推定アクセス量を算出する。マイグレーショングループの推定アクセス量は、例えば、そのグループに属する複数のＰＶＯＬに対応した複数の推定アクセス量の平均、合計、最大値或いは最小値である。
【０１０８】
Ｓ１５０４で、モジュール３０４は、Ｓ１５０３で算出された、マイグレーショングループ毎の推定アクセス量を基に、各マイグレーショングループのマイグレーション開始時刻を決定する。例えば、モジュール３０４は、各マイグレーショングループについて、推定アクセス量が最も少ない時間帯が属する時刻（例えば開始時刻）を、マイグレーション開始時刻に決定する。具体的には、例えば、図１２Ｂに示したテーブル１８０１Ｇによれば、下記の通り：
（１）マイグレーショングループＡのマイグレーション開始時刻は、マイグレーショングループＡに対応したデータ転送推定量（推定アクセス量）のうち最も少ない推定量「０．０３」に対応した時間帯「１９時台」の開始時刻「１９：００」である；
（２）マイグレーショングループＢのマイグレーション開始時刻は、マイグレーショングループＢに対応したデータ転送推定量（推定アクセス量）のうち最も少ない推定量「０．８３」に対応した時間帯「２０時台」の開始時刻「２０：００」である；
（３）マイグレーショングループＣのマイグレーション開始時刻は、マイグレーショングループＣに対応したデータ転送推定量（推定アクセス量）のうち最も少ない推定量「０．０９」に対応した時間帯「１０時台」の開始時刻「１０：００」である；
である。モジュール３０４は、各マイグレーショングループについて決定されたマイグレーション開始時刻を、マイグレーションスケジュールテーブル７０１に記録する。モジュール３０４は、決定されたマイグレーション開始時刻を表示し、ユーザから承認が得られた場合に、そのマイグレーション開始時刻をテーブル７０１に記録しても良い。
【０１０９】
＜（Ｃ）ポイントテーブルを使用して、一つのマイグレーショングループに属する各ＰＶＯＬからのマイグレーションの開始タイミングを決定する処理＞。
【０１１０】
一般に、業務の種類によって、業務予定時刻と業務実行時刻とに乖離が生じるか否かや、生じる乖離の大きさが異なる。例えば、業務の種類がＢ２Ｃ（例えば、テレビショッピング、チケット販売、或いはインターネット販売）の場合、業務開始時刻が前倒しとなることもあれば、業務終了時刻が延長することもある。また、例えば、業務の種類がイントラネット（例えば、経理業務、労働時間管理及び人事管理などの社内業務）の場合、業務開始時刻と終了時刻は、スケジュール通り実施される頻度が高く、業務開始時刻が前倒しとなることや業務終了時刻を延長することはほとんど発生しない。また、業務の種類がＢ２Ｂ（例えば、業界の取引や支店との決済、発注業務等）の場合、業務開始時刻と終了時刻は、スケジュール通り実施される頻度は、イントラネットより低いがＢ２Ｃより高い。
【０１１１】
このような観点に基づき、前述したポイントテーブル１１０１が作成される。
【０１１２】
図１６は、ポイントテーブル１１０１の作成処理の流れを示す。
【０１１３】
例えば定期的にこの処理が行われる（ループ（Ａ））。また、ホスト計算機１０３毎に、Ｓ１６１１〜Ｓ１６１４が行われる（ループ（Ｂ））。
【０１１４】
Ｓ１６１１で、モジュール３０４は、ホスト計算機１０３から、業務実行時刻（業務の開始時刻及び／又は終了時刻）と業務予定時刻（予定開始時刻及び／又は予定終了時刻）とを含んだ情報を取得し、その情報を基に、業務実行時刻と業務予定時刻との差である乖離時間を算出する。
【０１１５】
Ｓ１６１２で、モジュール３０４は、Ｓ１６１１で算出された乖離時間を基に、業務種類及び時間帯毎のカウント値を更新する。具体的には、例えば、Ｓ１６１１で算出された乖離時間が１時間で、その乖離時間に対応したホスト計算機１０３の業務の種類が「Ｂ２Ｃ」の場合、業務種類「Ｂ２Ｃ」及び時間長「１時間」に対応したカウント値が更新される。
【０１１６】
一定時間間隔で割り込みが発生する。モジュール３０４は、割り込みが検知された場合（Ｓ１６１３：ＹＥＳ）、ポイントテーブル１１０１を作成する（Ｓ１６１４）。すなわち、モジュール３０４は、その一定時間の長さと、各業務種類及び各時間長に対応した各カウント値とを基に、各業務種類及び各時間長に対応した乖離発生頻度を算出し、各乖離発生頻度を正規化した値が記録されたポイントテーブル１１０１を作成する。
【０１１７】
ポイントテーブル１１０１としては、前述したように、図７に示した第１のポイントテーブル１１０１Ｄと、図８に示した第２のポイントテーブル１１０１Ｇとがある。第２のポイントテーブル１１０１Ｗは、現在から１週間前までの各日について日係数が設けられている。モジュール３０４は、日係数を、例えば次の手順：
（１）１日前と（１＋ｐ）日前での同時刻のデータ量を、x、yの２次元座標（xi，yi）の組にする（ｐは、１〜６の整数であるが、この時点ではｐ＝１）（iは、同時刻を表す）；
（２）想定する推定式Ｆ（ｘ）＝ｙ＝ｘとし、誤差の分散から、下記（Ｘ）式に従い決定係数を計算する；
決定係数（Ｒ２）
＝１−｛（Σi（yi−（yの推定量））２／Σi（yi−（yの平均））２｝・・・（Ｘ）
（３）ｐ＝ｐ＋１について、上記（１）及び（２）を実行する（ｐ＝６になるまで、この（３）を繰り返す）；
（４）日係数＝（各日間の決定係数）／（（３）で得られた決定係数の総和）を算出する；
を行う。
【０１１８】
以上のようにして算出された日係数を含んだ第２のポイントテーブル１１０１Ｗ、又は、第１のポイントテーブル１１０１Ｄが、図１４を参照して説明した第１のタイミング決定処理で使用される。
【０１１９】
すなわち、Ｓ１４０３（又はＳ１４１１）で、モジュール３０４は、ポイントテーブル１１０１Ｄ又は１１０Ｗと、アクセス量テーブル８０１とを基に、推定アクセス量テーブル１８０１を作成する。具体的には、例えば、モジュール３０４は、以下の式（Ｙ）、
推定アクセス量＝Σi gixi / Σi
gi ・・・（Ｙ）
を計算する。iは、乖離発生頻度を取るための間隔、gは該当iでの頻度（確率）である。具体的には、例えば、モジュール３０４は、対象のマイグレーショングループのマイグレーション開始時刻が８：００の場合、上記式（Ｙ）に従い、下記の式（ｙ）、
ＰＶＯＬ１の推定アクセス量
＝｛（（時間長「０」の乖離発生頻度）×（８時台のＰＶＯＬ１のアクセス回数１Ｋ（キロ）回当りのデータ転送総量）
＋（（時間長「１」の乖離発生頻度）×（９時台のＰＶＯＬ１のアクセス回数１Ｋ回当りのデータ転送総量）
＋（（時間長「２」の乖離発生頻度）×（１０時台のＰＶＯＬ１のアクセス回数１Ｋ回当りのデータ転送総量）
＋・・・｝÷２４時間・・・（ｙ）
を計算する。
【０１２０】
以上のようにして、Ｓ１４０３（又はＳ１４１１）で、対象のマイグレーションボリュームの各ＰＶＯＬの推定アクセス量が算出され、推定アクセス量テーブル１８０１が作成される。そして、その推定アクセス量テーブル１８０１を基に、対象のマイグレーションボリュームの各ＰＶＯＬについて、マイグレーション開始タイミング（順番又は時刻）が決定される（Ｓ１４０４又はＳ１４１２）。
【０１２１】
＜（Ｄ）ポイントテーブルを使用して、各マイグレーショングループについてのマイグレーション開始タイミングを決定する処理＞。
【０１２２】
図１５のＳ１５０２で、ポイントテーブル１１０１（１１０１Ｄ又は１１０１Ｗ）及びアクセス量テーブル８０１を用いて、各ＰＶＯＬの推定アクセス量が算出される。そして、Ｓ１５０３で、Ｓ１５０２の結果を基に、マイグレーショングループ毎の推定アクセス量が算出される。Ｓ１５０３の結果を基に、各マイグレーショングループについてマイグレーション開始時刻が決定される。
【０１２３】
以上、上述した実施形態によれば、マイグレーショングループに属する各ＰＶＯＬについて将来のアクセス量が推定され、推定アクセス量を基に、どのＰＶＯＬからマイグレーションを行うかのマイグレーション開始順序、或いは、どのＰＶＯＬからいつのマイグレーションを行うかのマイグレーション開始時刻が決定される。具体的には、推定アクセス量が少ないＰＶＯＬから先にマイグレーションが開始される、或いは、推定アクセス量が最も少ない時間帯に属する時刻にマイグレーションが開始される。推定アクセス量が少ないということは、その推定アクセス量に対応した時間帯において、ＰＶＯＬに新たにデータが書き込まれる頻度が少ないということである。このため、その時間帯にボリュームマイグレーションを行えば、追加マイグレーションで転送しなければならないデータの量がゼロ又は少なくて済み、以って、マイグレーショングループ全体でのボリュームマイグレーションに要する時間が長くなることを防ぐことができる。なお、ここで言う「追加マイグレーション」とは、ＰＶＯＬ内のマイグレーション済み領域（既にマイグレーションされたデータが記憶されている記憶領域）に新たにデータが書き込まれた場合に、そのデータをＰＶＯＬからＳＶＯＬにマイグレーションすることである。
【０１２４】
また、上述した実施形態によれば、各マイグレーショングループについて将来のアクセス量が推定され、推定アクセス量を基に、各マイグレーショングループについてのマイグレーション開始時刻が決定される。具体的には、推定アクセス量が最も少ない時間帯に属する時刻がマイグレーション開始時刻に決定される。推定アクセス量が最も少ない時間帯では、他の時間帯に比べて、マイグレーションボリュームに属するいずれかのＰＶＯＬに新たにデータが書き込まれる頻度が少ない。このため、その時間帯にボリュームマイグレーションを行えば、追加マイグレーションで転送しなければならないデータの量がゼロ又は少なくて済み、以って、マイグレーショングループ全体でのボリュームマイグレーションに要する時間が長くなることを防ぐことができる。
【０１２５】
また、上述した実施形態によれば、業務予定時刻と業務実行時刻との乖離が発生した頻度と乖離時間との統計を基に、推定アクセス量が算出される。このため、推定アクセス量がより適切な値になることが期待でき、以って、マイグレーショングループ全体でのボリュームマイグレーションに要する時間をより短い時間に抑えることが期待できる。
【０１２６】
以上、本発明の一つの実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、複数のＰＶＯＬの推定アクセス量が同じ場合、それら複数のＰＶＯＬに対応した複数のＳＶＯＬへの推定アクセス量が考慮されても良い（例えば、読み出されるデータの総量、及び／又は、読み出し回数）。例えば、ＳＶＯＬへの推定アクセス量が少ない順で、コピーが行われても良い。ＳＶＯＬへのアクセスが集中することが緩和されるので、マイグレーショングループ全体でのボリュームマイグレーションに要する時間が長くなるのを防ぐことが期待できる。
【符号の説明】
【０１２７】
１０５…管理サーバ
【図１】
2011002876.tif 000003
【図２】
2011002876.tif 000004
【図３】
2011002876.tif 000005
【図４】
2011002876.tif 000006
【図５】
2011002876.tif 000007
【図６】
2011002876.tif 000008
【図７】
2011002876.tif 000009
【図８】
2011002876.tif 000010
【図９】
2011002876.tif 000011
【図１０】
2011002876.tif 000012
【図１１】
2011002876.tif 000013
【図１２】
2011002876.tif 000014
【図１３】
2011002876.tif 000015
【図１４】
2011002876.tif 000016
【図１５】
2011002876.tif 000017
【図１６】
2011002876.tif 000018