(57)【要約】【課題】本発明のデータ移動管理装置は、エラー終了したデータマイグレーションタスクを再実行させるための再実行タスクを容易に生成することができ、かつ、再実行タスクの成功可能性を高めることができる。【解決手段】移動元ボリューム（＃１１）から移動先ボリューム（＃２１）へのデータ移動が失敗した場合、管理装置１は、失敗したタスクの情報を利用して、再実行タスクを生成する。管理装置１は、必要に応じてボリュームペアの構成を変更させる。管理装置１は、失敗したタスクと再実行タスクとを関連づけて管理する。【選択図】図１
2010266993.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶領域を備える情報処理システム内のデータ移動を管理するためのデータ移動管理装置であって、
前記各記憶領域に含まれる移動元記憶領域から前記各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を記憶するためのメモリと、
前記メモリに記憶される前記実行計画を作成し、管理し、実行させるためのマイクロプロセッサと、
前記マイクロプロセッサが、前記各記憶領域を制御するための記憶制御装置と通信ネットワークを介して通信するための通信インターフェースと、
を有し、
前記マイクロプロセッサは、
（１）前記実行計画を作成して前記メモリに記憶させ、
（２）前記実行計画に基づく指示を前記通信ネットワークを介して前記記憶制御装置に与えることにより、前記移動元記憶領域から前記移動先記憶領域へデータを移動させ、
（３）前記実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、
（４）前記実行計画が失敗したと判定される場合、前記実行計画に含まれる情報を用いて再実行計画を作成し、
（５）前記再実行計画を前記実行計画に関連づけて前記メモリに記憶させ、
（６）前記再実行計画に基づく別の指示を前記通信ネットワークを介して前記記憶制御装置に与えることにより、前記移動元記憶領域から前記移動先記憶領域へデータを移動させる、
データ移動管理装置。
【請求項２】
前記メモリには、前記情報処理システム内で実行されたデータ移動に関する履歴情報も記憶されており、
前記マイクロプロセッサは、前記メモリに記憶されている前記履歴情報に基づいて、前記実行計画または前記再実行計画の完了に要する移動完了時間を予測し、その予測された移動完了時間を前記実行計画または前記再実行計画に関連づけて出力させる、
請求項１に記載のデータ移動管理装置。
【請求項３】
前記履歴情報には、前記実行計画の実行結果が反映されるようになっており、
前記マイクロプロセッサは、前記実行計画の前記実行結果が反映された前記履歴情報に基づいて、前記再実行計画の移動完了時間を予測する、
請求項２に記載のデータ移動管理装置。
【請求項４】
前記マイクロプロセッサは、前記実行計画が失敗した場合に、その失敗原因に応じて、前記移動元記憶領域または前記移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、前記再実行計画を作成する、
請求項１に記載のデータ移動管理装置。
【請求項５】
前記メモリには、前記失敗原因毎にリトライ可能か否かを予め規定する失敗原因テーブルが記憶されており、
前記マイクロプロセッサは、前記失敗原因テーブルを参照することにより、前記実行計画の失敗原因がリトライ可能な失敗原因であるか否かを判定し、前記実行計画の失敗原因がリトライ不可であると設定されている場合に、前記移動元記憶領域または前記移動先記憶領域のいずれかまたは両方を前記別の記憶領域に変更させることにより、前記再実行計画を作成する、
請求項４に記載のデータ移動管理装置。
【請求項６】
前記マイクロプロセッサは、前記移動元記憶領域または前記移動先記憶領域のうち変更対象となる記憶領域の属性に基づいて、前記別の記憶領域を前記各記憶領域の中から選択する、請求項４に記載のデータ移動管理装置。
【請求項７】
前記メモリには、前記情報処理システム内で実行されたデータ移動に関する履歴情報も記憶されており、
前記マイクロプロセッサは、
前記実行計画が失敗した場合に、前記実行計画に含まれる前記移動元記憶領域及び前記移動先記憶領域を再選択して再実行計画を作成可能であるか否かを判定し、
前記移動元記憶領域及び前記移動先記憶領域を再選択可能であると判定した場合には、前記移動元記憶領域から前記移動先記憶領域へのデータ移動の完了に要する移動完了時間を前記履歴情報に基づいて予測し、
前記予測された移動完了時間が予め設定される所定の変更条件に該当する場合に、前記移動先記憶領域を、前記各記憶領域に含まれる別の記憶領域に変更させる、
請求項１に記載のデータ移動管理装置。
【請求項８】
前記マイクロプロセッサは、前記別の記憶領域として、変更対象の前記移動先記憶領域と同一または類似する属性を有する記憶領域を選択する、
請求項７に記載のデータ移動管理装置。
【請求項９】
前記所定の変更条件は、
今回予測される移動完了時間が、失敗した前記実行計画について事前に予測された移動完了時間よりも第１所定値以上長い場合、または、
前記実行計画が開始されてから失敗するまでに要した時間が、前記実行計画について事前に予測された移動完了時間よりも第２所定値以上長い場合、または、
前記移動元記憶領域と前記移動先記憶領域とから構成されるデータ移動ペアが前記実行計画に複数含まれている場合において、いずれか一つのデータ移動ペアについて予測される移動完了時間が、他の各データ移動ペアについて予測される移動完了時間よりも第３所定値以上長い場合、
のいずれか一つまたは複数である、
請求項７に記載のデータ移動管理装置。
【請求項１０】
前記実行計画には、前記移動元記憶領域と前記移動先記憶領域とから構成されるデータ移動ペアが複数含まれており、
前記マイクロプロセッサは、前記実行計画に含まれる前記各データ移動ペアのうちいずれか一つのデータ移動ペアについてデータ移動が失敗した場合には、前記実行計画が失敗したものと判定し、さらに、
前記マイクロプロセッサは、失敗した前記実行計画に含まれる前記各データ移動ペアのうち前記データ移動に失敗した前記データ移動ペアの設定に使用される情報を用いて、前記データ移動に失敗した前記データ移動ペアについてのデータ移動を完了させるための前記再実行計画を作成する、
請求項１に記載のデータ移動管理装置。
【請求項１１】
前記メモリには、前記マイクロプロセッサにより作成される前記実行計画及び前記再実行計画を記憶するための実行計画管理テーブルも記憶されており、
前記実行計画管理テーブルにおいて、前記実行計画を識別するための識別子と、前記再実行計画を識別するための識別子とは異なるように設定される、
請求項１に記載のデータ移動管理装置。
【請求項１２】
前記マイクロプロセッサは、失敗した前記実行計画に前記再実行計画が関連づけられた場合、前記実行計画に関する別の実行計画の作成を禁止させる、
請求項１に記載のデータ移動管理装置。
【請求項１３】
データ移動を管理するためのデータ移動管理装置と、
前記データ移動管理装置に通信ネットワークを介して接続され、それぞれ複数の記憶領域を有する複数の記憶制御装置と、
を有する情報処理システムであって、
前記データ移動管理装置は、
前記各記憶領域に含まれる移動元記憶領域から前記各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を記憶するためのメモリと、
前記メモリに記憶される前記実行計画を作成し、管理し、実行させるためのマイクロプロセッサと、
前記マイクロプロセッサが、前記各記憶制御装置と前記通信ネットワークを介して通信するための通信インターフェースと、
を有し、
前記マイクロプロセッサは、
（１）前記実行計画を作成して前記メモリに記憶させ、
（２）前記実行計画に基づく指示を前記通信ネットワークを介して前記各記憶制御装置に与えて、前記移動元記憶領域から前記移動先記憶領域へデータを移動させ、
（３）前記実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、
（４）前記実行計画が失敗したと判定される場合、前記実行計画に含まれる情報を用いて再実行計画を作成し、
（５）前記再実行計画を前記実行計画に関連づけて前記メモリに記憶させ、
（６）前記再実行計画に基づく別の指示を前記通信ネットワークを介して前記各記憶制御装置に与えて、前記移動元記憶領域から前記移動先記憶領域へデータを移動させる、
情報処理システム。
【請求項１４】
前記メモリには、過去に実行されたデータ移動に関する履歴情報も記憶されており、
前記マイクロプロセッサは、前記メモリに記憶されている前記履歴情報に基づいて、前記実行計画または前記再実行計画の完了に要する移動完了時間を予測し、その予測された移動完了時間を前記実行計画または前記再実行計画に関連づけて出力させる、
請求項１３に記載の情報処理システム。
【請求項１５】
前記マイクロプロセッサは、前記実行計画が失敗した場合に、その失敗原因に応じて、前記移動元記憶領域または前記移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、前記再実行計画を作成する、
請求項１３に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ移動管理装置及び情報処理システムに関する。
【背景技術】
【０００２】
企業等で取り扱われるデータ量は年々増大する一方である。そのため、企業等では、異なる複数の記憶制御装置を用いて比較的大規模な情報処理システムを構築し、多量のデータを管理している。データの利用頻度は、時間の経過に応じて低下していくため、データの利用頻度に応じて、データの格納場所を再配置する。
【０００３】
そこで、使用頻度の比較的高いデータは、より高速な論理ボリュームに保存させ、かつ、使用頻度の比較的低いデータは、より低速な論理ボリュームに移動させることにより、情報処理システム内の記憶資源を有効に利用する。従来技術では、バックアップデータを移動先の論理ボリュームにコピーさせることにより、移動対象データを情報処理システム内で再配置させる。
【０００４】
しかし、バックアップデータを用いる方法では、データ再配置が終了するまでの間、ホストコンピュータから移動対象データへのアクセスを禁止しなければならない。従って、データ再配置が終了するまで、ホストコンピュータ上での業務処理を停止させる必要があり、使い勝手が低い。そこで、ホストコンピュータからのアクセスを停止させることなく、データを再配置させることのできる技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第５，６８０，６４０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前記文献に記載の従来技術のように、ホストコンピュータからのアクセスを許可しつつ、データを移動させる場合、ホストコンピュータによるデータへのアクセスと、そのデータを移動させるためのデータコピーとが同時に発生する。このため、移動対象データのＩ／Ｏ（Input/Output）負荷が増大する。
【０００７】
その場合において、ホストコンピュータからのアクセス頻度が高いと、記憶制御装置の処理負荷が増大し、データコピーの完了に要する時間が長くなる。そればかりか、ホストコンピュータからのアクセスが優先して処理されるような場合には、データコピー処理がタイムアウトエラー等によってエラー終了する可能性もある。
【０００８】
データ移動がエラー終了した場合、情報処理システムを管理するユーザは、最初に設定した複数のデータ移動のうち、エラー終了したデータ移動がどれであるのかを特定し、新しいデータ移動を再設定する必要がある。
【０００９】
ここで、企業等で使用される比較的大規模な情報処理システムでは、複数のデータを一度に再配置させることがある。さらに、異なる複数のデータが互いに関連している場合、それらの互いに関連するデータは、同時に移動させる必要がある。
【００１０】
このように、比較的大規模な情報処理システムでは、複雑なデータ移動が計画され、深夜等の比較的アクセスの少ない時間帯に実行される。もしも、計画されたデータ移動の一部にエラーが生じて完了しなかった場合、ユーザは、複雑なデータ移動計画を再び立案して設定し直す必要があり、使い勝手が低い。
【００１１】
さらに、最初のデータ移動計画が失敗した原因に応じて、新たなデータ移動計画は再設定されるべきであるが、ユーザは、経験と勘に頼ってデータ移動計画を再設定するため、新たな計画通りにデータ移動が完了する保証はない。
【００１２】
そこで、本発明の目的は、データ移動を比較的簡単に設定して実行させることのできるデータ移動管理装置及び情報処理システムを提供することにある。本発明の他の目的は、データ移動の完了時間をデータ移動の履歴情報に基づいて予測し、その予測結果に応じてデータ移動の実行計画を変更させることができるデータ移動管理装置及び情報処理システムを提供することにある。本発明のさらなる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１３】
上記課題を解決すべく、本発明の一つの観点に従うデータ移動管理装置は、複数の記憶領域を備える情報処理システム内のデータ移動を管理するためのデータ移動管理装置であって、各記憶領域に含まれる移動元記憶領域から各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を記憶するためのメモリと、メモリに記憶される実行計画を作成し、管理し、実行させるためのマイクロプロセッサと、マイクロプロセッサが、各記憶領域を制御するための記憶制御装置と通信ネットワークを介して通信するための通信インターフェースと、を有し、マイクロプロセッサは、（１）実行計画を作成してメモリに記憶させ、（２）実行計画に基づく指示を通信ネットワークを介して記憶制御装置に与えることにより、移動元記憶領域から移動先記憶領域へデータを移動させ、（３）実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、（４）実行計画が失敗したと判定される場合、実行計画に含まれる情報を用いて再実行計画を作成し、（５）再実行計画を実行計画に関連づけてメモリに記憶させ、（６）再実行計画に基づく別の指示を通信ネットワークを介して記憶制御装置に与えることにより、移動元記憶領域から移動先記憶領域へデータを移動させる。
【００１４】
第２観点では、第１観点において、メモリには、情報処理システム内で実行されたデータ移動に関する履歴情報も記憶されており、マイクロプロセッサは、メモリに記憶されている履歴情報に基づいて、実行計画または再実行計画の完了に要する移動完了時間を予測し、その予測された移動完了時間を実行計画または再実行計画に関連づけて出力させるようになっている。
【００１５】
第３観点では、第２観点において、履歴情報には、実行計画の実行結果が反映されるようになっており、マイクロプロセッサは、実行計画の実行結果が反映された履歴情報に基づいて、再実行計画の移動完了時間を予測する。
【００１６】
第４観点では、第１観点において、マイクロプロセッサは、実行計画が失敗した場合に、その失敗原因に応じて、移動元記憶領域または移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、再実行計画を作成する。
【００１７】
第５観点では、第４観点において、メモリには、失敗原因毎にリトライ可能か否かを予め規定する失敗原因テーブルが記憶されており、マイクロプロセッサは、失敗原因テーブルを参照することにより、実行計画の失敗原因がリトライ可能な失敗原因であるか否かを判定し、実行計画の失敗原因がリトライ不可であると設定されている場合に、移動元記憶領域または移動先記憶領域のいずれかまたは両方を別の記憶領域に変更させることにより、再実行計画を作成する。
【００１８】
第６観点では、第４観点において、マイクロプロセッサは、移動元記憶領域または移動先記憶領域のうち変更対象となる記憶領域の属性に基づいて、別の記憶領域を各記憶領域の中から選択する。
【００１９】
第７観点では、第１観点において、メモリには、情報処理システム内で実行されたデータ移動に関する履歴情報も記憶されており、マイクロプロセッサは、実行計画が失敗した場合に、実行計画に含まれる移動元記憶領域及び移動先記憶領域を再選択して再実行計画を作成可能であるか否かを判定し、移動元記憶領域及び移動先記憶領域を再選択可能であると判定した場合には、移動元記憶領域から移動先記憶領域へのデータ移動の完了に要する移動完了時間を履歴情報に基づいて予測し、予測された移動完了時間が予め設定される所定の変更条件に該当する場合に、移動先記憶領域を、各記憶領域に含まれる別の記憶領域に変更させる。
【００２０】
第８観点では、第７観点において、マイクロプロセッサは、別の記憶領域として、変更対象の移動先記憶領域と同一または類似する属性を有する記憶領域を選択する。
【００２１】
第９観点では、第７観点において、所定の変更条件は、今回予測される移動完了時間が、失敗した実行計画について事前に予測された移動完了時間よりも第１所定値以上長い場合、または、実行計画が開始されてから失敗するまでに要した時間が、実行計画について事前に予測された移動完了時間よりも第２所定値以上長い場合、または、移動元記憶領域と移動先記憶領域とから構成されるデータ移動ペアが実行計画に複数含まれている場合において、いずれか一つのデータ移動ペアについて予測される移動完了時間が、他の各データ移動ペアについて予測される移動完了時間よりも第３所定値以上長い場合、のいずれか一つまたは複数である。
【００２２】
第１０観点では、第１観点において、実行計画には、移動元記憶領域と移動先記憶領域とから構成されるデータ移動ペアが複数含まれており、マイクロプロセッサは、実行計画に含まれる各データ移動ペアのうちいずれか一つのデータ移動ペアについてデータ移動が失敗した場合には、実行計画が失敗したものと判定し、さらに、マイクロプロセッサは、失敗した実行計画に含まれる各データ移動ペアのうちデータ移動に失敗したデータ移動ペアの設定に使用される情報を用いて、データ移動に失敗したデータ移動ペアについてのデータ移動を完了させるための再実行計画を作成する。
【００２３】
第１１観点では、第１観点において、メモリには、マイクロプロセッサにより作成される実行計画及び再実行計画を記憶するための実行計画管理テーブルも記憶されており、実行計画管理テーブルにおいて、実行計画を識別するための識別子と、再実行計画を識別するための識別子とは異なるように設定される。
【００２４】
第１２観点では、第１観点において、マイクロプロセッサは、失敗した実行計画に再実行計画が関連づけられた場合、実行計画に関する別の実行計画の作成を禁止させる。
【００２５】
第１３観点に従う情報処理システムは、データ移動を管理するためのデータ移動管理装置と、データ移動管理装置に通信ネットワークを介して接続され、それぞれ複数の記憶領域を有する複数の記憶制御装置と、を有する情報処理システムであって、データ移動管理装置は、各記憶領域に含まれる移動元記憶領域から各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を記憶するためのメモリと、メモリに記憶される実行計画を作成し、管理し、実行させるためのマイクロプロセッサと、マイクロプロセッサが、各記憶制御装置と通信ネットワークを介して通信するための通信インターフェースと、を有し、マイクロプロセッサは、（１）実行計画を作成してメモリに記憶させ、（２）実行計画に基づく指示を通信ネットワークを介して各記憶制御装置に与えて、移動元記憶領域から移動先記憶領域へデータを移動させ、（３）実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、（４）実行計画が失敗したと判定される場合、実行計画に含まれる情報を用いて再実行計画を作成し、（５）再実行計画を実行計画に関連づけてメモリに記憶させ、（６）再実行計画に基づく別の指示を通信ネットワークを介して各記憶制御装置に与えて、移動元記憶領域から移動先記憶領域へデータを移動させる。
【００２６】
なお、本発明は、以下のように、データ移動を管理するための方法として捉えることもできる。即ち、複数の記憶領域を備える情報処理システム内のデータ移動を管理するためのデータ移動管理方法であって、
前記各記憶領域に含まれる移動元記憶領域から前記各記憶領域に含まれる移動先記憶領域へデータを移動させるための実行計画を作成してメモリに記憶させ、
前記実行計画に基づく指示を、前記各記憶領域を制御するための記憶制御装置に与えることにより、前記移動元記憶領域から前記移動先記憶領域へデータを移動させ、
前記実行計画が計画通りに完了したのか、それとも失敗したのかを判定し、
前記実行計画が失敗したと判定される場合、前記実行計画に含まれる情報を用いて再実行計画を作成し、
前記再実行計画を前記実行計画に関連づけて前記メモリに記憶させ、
前記再実行計画に基づく別の指示を前記記憶制御装置に与えることにより、前記移動元記憶領域から前記移動先記憶領域へデータを移動させる、
データ移動管理方法。
【００２７】
本発明の機能や手段あるいはステップは、その全部または一部をコンピュータプログラムとして構成できる場合がある。このコンピュータプログラムは、記録媒体に固定して譲渡等することができるほかに、インターネット等の通信ネットワークを介して伝送することもできる。さらに、上述の特徴は、明示された組合せ以外に組み合わせることができ、そのような組合せも本発明の範囲に含まれる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態の概念を示す説明図。
【図２】システムの全体構成を示すブロック図。
【図３】データマイグレーションの様子を模式的に示す説明図。
【図４】管理サーバのメモリ構成を示す説明図。
【図５】タスク管理テーブルの一部を示す説明図。
【図６】タスク管理テーブルの他の部分を示す説明図。
【図７】エラー情報テーブルの説明図。
【図８】ボリューム情報テーブルの説明図。
【図９】マイグレーション履歴情報の説明図。
【図１０】データマイグレーション処理の全体を示すフローチャート。
【図１１】データマイグレーションタスクを生成する処理のフローチャート。
【図１２】データマイグレーションタスクを実行する処理のフローチャート。
【図１３】データマイグレーションに生じるエラーを検出する処理のフローチャート。
【図１４】データマイグレーションの再実行を指示する処理のフローチャート。
【図１５】再実行を指示する場合の画面例を示す図。
【図１６】再実行タスクを生成する処理のフローチャート。
【図１７】データマイグレーションの終了時間を予測する処理のフローチャート。
【図１８】データマイグレーションのためのボリュームペアを生成する処理のフローチャート。
【図１９】ボリュームペアの移動先ボリュームを再選択する処理のフローチャート。
【図２０】第２実施例に係るシステムで実行される、ボリュームペアを再選択する処理のフローチャート。
【図２１】第３実施例に係るシステムで実行される、再実行タスクを生成する処理を示すフローチャート。
【図２２】図２１に続くフローチャート。
【図２３】第４実施例に係るシステムで実行される、データマイグレーションタスクを生成する処理のフローチャート。
【発明を実施するための形態】
【００２９】
以下、図面に基づき、本発明の実施の形態を説明する。本実施形態では、以下に述べるように、エラー終了したデータマイグレーションタスクに関する設定情報を利用して、そのデータマイグレーションを再実行させるための新たなタスクを生成する。さらに、本実施形態では、データマイグレーションの終了に要する時間をデータマイグレーションの履歴情報に基づいて予測し、その予測結果をユーザに提供する。以下の説明では、「データマイグレーション」を「マイグレーション」と略する場合がある。
【００３０】
図１は、本実施形態の全体概念を示す説明図である。図１に示す構成は、本発明の理解のための一例であって、本発明の範囲は図１に示す構成に限定されない。情報処理システムは、例えば、管理装置１と、複数のストレージ装置２（１），２（２）と、ホストコンピュータ３（以下、ホストコンピュータをホストと略記する）と、通信ネットワークＣＮ１，ＣＮ２とを備える。
【００３１】
各ストレージ装置２及びホスト３は、管理用の通信ネットワークＣＮ１を介して、管理装置１に接続される。さらに、各ストレージ装置２は、Ｉ／Ｏ用の通信ネットワークＣＮ２を介して、ホストコンピュータ３及び他方のストレージ装置２に接続される。
【００３２】
管理用通信ネットワークＣＮ１は、例えば、ＬＡＮ（Local Area Network）またはインターネットのような通信ネットワークとして構成可能である。Ｉ／Ｏ用通信ネットワークＣＮ２は、例えば、ＩＰ−ＳＡＮ（Internet Protocol-Storage Area Network）またはＦＣ−ＳＡＮ（Fibre Channel-SAN）のような通信ネットワークとして構成可能である。なお、二つの通信ネットワークＣＮ１，ＣＮ２を用いずに、一つの通信ネットワークで、Ｉ／Ｏデータ転送及び管理用通信を行う構成としてもよい。
【００３３】
管理装置１の構成を説明する前に、ストレージ装置２（１），２（２）の構成を先に説明する。「記憶制御装置」としてのストレージ装置２（１），２（２）は、例えば、コントローラ２Ａと、論理ボリューム２Ｂとを有する。
【００３４】
各ストレージ装置２（１），２（２）は、互いに対等な関係であってもよいし、あるいは、一方のストレージ装置２（１）が他方のストレージ装置２（２）の有する記憶資源（例えば、論理ボリューム）を利用するという関係でもよい。後者の関係を「外部接続」と呼び、この場合、一方のストレージ装置２（１）は接続元ストレージ装置、他方のストレージ装置２（２）は接続先ストレージ装置となる。なお、以下の説明では、特に区別しない場合、ストレージ装置２（１），２（２）をストレージ装置２と呼ぶ。
【００３５】
コントローラ２Ａは、ストレージ装置２の構成及び動作を制御する。各論理ボリューム２Ｂは、一つまたは複数の記憶装置の有する物理的記憶領域に基づいて生成される、論理的な記憶領域である。より詳しくは、例えば、複数の記憶装置がそれぞれ有する物理的記憶領域を一つのグループにまとめ、そのグループ化された物理的記憶領域に一つまたは複数の論理ボリューム２Ｂを設定することができる。図１では、各論理ボリューム２Ｂを識別するために「#10」，「#20」等の番号を付してある。
【００３６】
ここで、記憶装置としては、例えば、ハードディスク装置、半導体メモリ装置、光ディスク装置、光磁気ディスク装置、磁気テープ装置、フレキシブルディスク装置等のデータを読み書き可能な種々のデバイスを利用可能である。
【００３７】
記憶装置としてハードディスクデバイスを用いる場合、例えば、ＦＣ（Fibre Channel）ディスク、ＳＣＳＩ（Small Computer System Interface）ディスク、ＳＡＴＡディスク、ＡＴＡ（AT Attachment）ディスク、ＳＡＳ（Serial Attached SCSI）ディスク等を用いることができる。また、例えば、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（MagnetoresistiveRandom Access Memory）、相変化メモリ（Ovonic Unified Memory）、ＲＲＡＭ（Resistance RAM）」等の種々の記憶装置を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる記憶装置を混在させる構成でもよい。
【００３８】
ホスト３は、通信ネットワークＣＮ２を介して各ストレージ装置２にもそれぞれ接続されており、各ストレージ装置２の有する論理ボリューム２Ｂにアクセスしてデータを読み書きする。ホスト３は、例えば、顧客管理ソフトウェア、売上げ管理ソフトウェア等のようなアプリケーションプログラムを搭載しており、ホスト３に接続されるクライアントコンピュータ（不図示）にサービスを提供する。
【００３９】
管理装置１は、例えば、タスク管理部１Ａと、マイグレーション制御部１Ｂと、エラー検出部１Ｃと、予測部１Ｄと、再実行タスク生成部１Ｅと、を備える。これら各機能１Ａ〜１Ｅは、管理装置１に搭載される所定のプログラムにより実現される。各機能１Ａ〜１Ｅの少なくとも一部をハードウェア回路として構成してもよい。
【００４０】
タスク管理部１Ａは、データを再配置させるためのマイグレーションタスクを管理するための機能である。タスク管理部１Ａには、手動または自動で、データマイグレーションを行うためのタスクが入力される。タスク管理部１Ａは、登録される各タスクの進捗状況、実行予定日時、完了日時等を管理し、記憶する。タスク管理部１Ａは、過去に実行されたデータマイグレーションタスクに関する履歴情報も記憶している。
【００４１】
マイグレーション制御部１Ｂは、タスク管理部１Ａで管理されているマイグレーションタスクの実行を制御するための機能である。ここでは、一方のストレージ装置２（１）から他方のストレージ装置２（２）に、データを移動させる場合を例に挙げて説明する。マイグレーション制御部１Ｂは、マイグレーションタスクに基づいて、移動元のストレージ装置２（１）、及び／または、移動先のストレージ装置２（２）に指示を与え、データマイグレーションを実行させる。移動元ストレージ装置２（１）または移動先ストレージ装置２（２）のいずれか一方にのみ、データマイグレーションの実行開始指示を与える構成でもよい。また、移動先ボリュームの指定に代えて、アレイグループの識別子または記憶装置の識別子を使用する構成でもよい。
【００４２】
後述の実施例に記載のように、一つのマイグレーションタスク内には、複数のボリュームペアを設けることができる。換言すれば、関連する複数のデータを一つのグループとして管理し、同時に移動させることができる。そのようなグループをマイグレーショングループと呼ぶ。
【００４３】
エラー検出部１Ｃは、データマイグレーション処理に関するエラーを検出するための機能である。エラー検出部１Ｃは、例えば、「タイムアウト」、「通信障害」、「使用不可」等のエラーの発生を検出する。各エラー内容は、後述の実施例で明らかにされる。一つのマイグレーションタスクが複数のデータマイグレーションを含む場合、エラー検出部１Ｃは、各データマイグレーション毎にエラーの有無を検出する。マイグレーションタスク内の全データマイグレーションが正常に終了した場合、そのマイグレーションタスクは正常に終了したものと判断される。マイグレーションタスク内のいずれか一つのデータマイグレーションが失敗した場合、そのマイグレーションタスクもエラー終了したものと判断される。
【００４４】
再実行タスク生成部１Ｅは、エラーのために完了しなかったマイグレーションタスクについて、エラー終了したデータマイグレーションを再実行させるための新たなタスクを生成する機能である。再実行タスク生成部１Ｅは、エラー終了したデータマイグレーションに関する設定情報（例えば、移動元ストレージ装置の識別子、移動元ボリュームの識別子、移動先ストレージ装置の識別子、移動先ボリュームの識別子等）を用いて、再実行タスクを生成する。
【００４５】
再実行タスク生成部１Ｅは、例えば、設定変更部１Ｅ１と、関連づけ部１Ｅ２とを有することができる。設定変更部１Ｅ１は、データマイグレーションのエラーに基づいて、データマイグレーションに関する構成を変更させる。例えば、設定変更部１Ｅ１は、最初に選択された移動先ボリュームと同一または類似の属性を有する別の論理ボリューム２Ｂを、新たな移動先ボリュームとして選択する。これにより、最初のマイグレーションタスクで生じたエラーを回避して、データマイグレーションの成功可能性を高める。関連づけ部１Ｅ２は、最初に作成されて、エラー終了したマイグレーションタスクと、新たに作成される再実行タスクとを関連づける。これにより、最初に立案されたデータマイグレーション計画が、最終的にどこまで完了したのか等を容易に把握することができる。
【００４６】
なお、後述の実施例に示すように、再実行タスク生成部１Ｅは、エラー終了したデータマイグレーションのうち、再実行タスクに含まれることになったデータマイグレーションについては、タスクの生成を禁止する。つまり、エラー終了したデータマイグレーションについて、複数の再実行タスクが生成されるのを禁止する。
【００４７】
予測部１Ｄは、データマイグレーションの完了に要する時間を予測する。予測部１Ｄは、例えば、タスク管理部１Ａにより管理される過去の履歴情報に基づいて、データマイグレーションの実行前に、そのデータマイグレーションの完了に要する時間を予測することができる。
【００４８】
例えば、これから実行しようとするデータマイグレーションの各パラメータ（データサイズ、移動元記憶装置及び移動先記憶装置のデータ転送速度、通信回線の速度等のパラメータ）と同一または類似するパラメータを有する履歴情報とを比較することにより、データマイグレーション完了時間を予測できる。
【００４９】
マイグレーションタスク内に複数のデータマイグレーションが含まれる場合、例えば、それらのデータマイグレーションのうち、最も遅く完了するデータマイグレーションの時刻によって、そのマイグレーションタスクの完了時刻を予測できる。以上は並列処理の場合である。それに対し、一つのデータマイグレーションが終了した後で、次のデータマイグレーションを実行させる場合、一つのマイグレーションタスクに含まれる各データマイグレーションの完了に要する時間の合計値を、そのマイグレーションタスクの完了時間として用いることができる。
【００５０】
データマイグレーションの完了時間の予測結果は、そのデータマイグレーションに対応付けられて、タスク管理部１Ａにより管理される。さらに、その予測結果は、図１５で後述するような管理画面を介して、ユーザに提供される。
【００５１】
この情報処理システムにおけるデータマイグレーション処理について説明する。図１に例では、複数の論理ボリューム２Ｂ（＃１０），２Ｂ（＃１１）は、互いに関連するデータを記憶しているため、同一のマイグレーショングループに属している。
【００５２】
ユーザは、そのマイグレーショングループについてのマイグレーション計画を立案し、管理装置１のタスク管理部１Ａに登録させる。そのマイグレーション計画では、一つの移動元ボリューム２Ｂ（＃１０）は、ストレージ装置２（２）内の移動先ボリューム２Ｂ（＃２０）に移動され、他の一つの移動元ボリューム２Ｂ（＃１１）は、ストレージ装置２（２）内の他の移動先ボリューム２Ｂ（＃２１）に移動される。なお、移行先の記憶領域としては、論理ボリューム２Ｂに限らず、アレイグループ（ＲＡＩＤグループまたはパリティグループとも呼ばれる）または記憶装置を指定することもできる。
【００５３】
指定された時期が到来すると、マイグレーション制御部１Ｂは、登録されたマイグレーションタスクに基づいて、各ストレージ装置２（１），２（２）に指示を与え、各ストレージ装置２（１），２（２）間でデータを移動させる。データ移動は、例えば、論理ボリューム２Ｂ間のデータコピーとして実現される。
【００５４】
データコピー中も、ホスト３からのアクセスは許可されている。移動元ボリューム２Ｂ（＃１０）から移動先ボリューム２Ｂ（＃２０）へのデータコピーは正常に完了したものとする。しかし、他の移動元ボリューム２Ｂ（＃１１）から他の移動先ボリューム２Ｂ（＃２１）へのデータコピーは失敗したものとする。
【００５５】
データコピー中に、ホスト３が移動元ボリューム２Ｂ（＃１１）へ頻繁にアクセスすると、移動元ボリューム２Ｂ（＃１１）に関するストレージ装置２（１）の負荷が急激に増大する。このため、ホスト３からのコマンドを処理するためにストレージ装置２（１）のコンピュータ資源が多く使用され、データコピー処理中にタイムアウトが発生する。この結果、移動元ボリューム２Ｂ（＃１１）から移動先ボリューム２Ｂ（＃２１）へのデータ移動がエラー終了する。エラー検出部１Ｃは、そのエラーを検出する。
【００５６】
再実行タスク生成部１Ｅは、エラー終了したデータマイグレーションに関する情報を再利用し、そのエラー終了したデータマイグレーションを再実行させるための新たなマイグレーションタスク（再実行タスク）を生成させる。従って、ユーザは、データマイグレーションの再実行に必要な情報を全て設定し直すことなく、再実行タスクを容易に作成することができる。
【００５７】
さらに、再実行タスク生成部１Ｅは、最初のマイグレーションタスクと再実行タスクとを関連づけて、タスク管理部１Ａに管理させる。従って、ユーザは、最初に立案したデータマイグレーション計画が最終的にどのように実施されたのかを容易に把握することができる。
【００５８】
このように構成される本実施形態によれば、データマイグレーションが失敗した場合でも、そのデータマイグレーションを再実行させるためのタスクを容易に作成でき、ユーザの使い勝手が向上する。さらに、失敗したマイグレーションタスクと再実行されるマイグレーションタスクとを関連づけて管理するため、どのデータがどこに配置されたのかを追跡調査することができ、ユーザは、データマイグレーションの最終的な実行結果を容易に把握することができ、使い勝手が向上する。以下、本実施形態を詳細に説明する。
【実施例１】
【００５９】
図２〜図１９に基づいて第１実施例を説明する。図２は、システム全体の構成を示す説明図である。先に、図１に示す構成との関係を述べる。管理サーバ１０は管理装置１に、ストレージ装置２０（１），２０（２）はストレージ装置２（１），２（２）に、ホスト３０はホスト３に、コントローラ１００はコントローラ２Ａに、論理ボリューム２３０は論理ボリューム２Ｂに、対応する。
【００６０】
本実施例では、管理サーバ１０は、例えばＬＡＮのような通信ネットワークＣＮ１０を介して、各ホスト３０に接続されている。さらに、管理サーバ１０は、ＳＡＮのような通信ネットワークＣＮ２０を介して、各ストレージ装置２０に接続されている。なお、通信ネットワークの構成は図２に示すものに限られない。
【００６１】
管理サーバ１０は、システムの構成及び動作を管理するための装置である。管理サーバ１０は、情報処理システム内のデータマイグレーションを管理する。管理サーバ１０は、例えば、マイクロプロセッサ１１と、メモリ１２と、通信ネットワークインターフェース１３，１４とを備える。マイクロプロセッサ１１は、メモリ１２に記憶されているプログラムを読み込んで実行することにより、後述するデータマイグレーション管理機能等を実現する。
【００６２】
ユーザは、例えば、ウェブブラウザ等を搭載したパーソナルコンピュータまたは携帯情報端末を用いて、管理サーバ１０にアクセスし、データマイグレーション計画を設定したり、データマイグレーションの実行結果を確認したりすることができる。
【００６３】
管理サーバ１０は、例えば、ディスプレイ装置、キーボードスイッチ及びポインティングデバイス等の入出力装置を有することもできる。その場合、ユーザは、それら入出力装置を用いて、管理サーバ１０に情報を入力したり、管理サーバ１０に情報を出力させたりすることができる。あるいは、上述のように、管理サーバ１０に、パーソナルコンピュータまたは携帯情報端末等の操作及び表示用コンピュータを接続し、操作及び表示用コンピュータを介して、データマイグレーションに関する設定を行ったり、または、データマイグレーションの実行結果等を表示させたりする構成でもよい。
【００６４】
以下、情報処理システムを管理し、データマイグレーションに関する情報を設定したり、データマイグレーションに関する情報を表示させたりする、一つ以上のコンピュータの集合を、管理システムと呼ぶことがある。管理用コンピュータ（例えば、管理サーバ１０）が上述の入出力装置を備え、データマイグレーションに関する情報を表示等する場合、管理用コンピュータが管理システムである。管理用コンピュータと、操作及び表示用コンピュータとを組み合わせた構成も、管理システムである。なお、管理処理の高速化または／及び高信頼化のために、複数のコンピュータを用いて管理する構成としてもよい。この場合、それら複数のコンピュータの集合が管理システムとなる。
【００６５】
各ストレージ装置２０（１），２０（２）は、基本的に、ほぼ同一構成の装置として形成することができる。各ストレージ装置２０（１），２０（２）を特に区別する必要が無い場合、ストレージ装置２０と呼ぶ。
【００６６】
ストレージ装置２０（１）を例に挙げて、その構成を説明する。ストレージ装置２０（１）は、例えば、コントローラ１００（１）と、複数の論理ボリューム２３０（１）とを備えている。
【００６７】
コントローラ１００（１）は、ストレージ装置２０（１）の動作を制御する。例えば、コントローラ１００（１）は、ホスト３０から発行されるコマンドに応じて、対象の論理ボリューム２３０（１）にデータを書き込んだり、または、対象の論理ボリューム２３０（１）からデータを読み出す。さらに、コントローラ１００（１）は、管理サーバ１０からの指示に応じて、データマイグレーションのための各種処理（例えば、論理ボリュームの生成、論理ボリューム間のデータコピー等）を実施する。
【００６８】
コントローラ１００（１）は、例えば、第１通信部１１０と、第２通信部１２０と、マイクロプロセッサ１３０と、キャッシュメモリ１４０と、データ転送制御回路１５０と、を備える。
【００６９】
第１通信部１１０は、ホスト３０及び他のストレージ装置２０（２）との間の通信を制御する制御回路である。第１通信部１１０は、例えば、ＩＰ−ＳＡＮまたはＦＣ−ＳＡＮのような通信ネットワークＣＮ２０を介して、ホスト３０及び他のストレージ装置２０（２）に接続されている。
【００７０】
例えば、第１通信部１１０の有する複数のターゲットポートには、各ホスト３０のイニシエータポートが接続され、第１通信部１１０の有するイニシエータポートには、他のストレージ装置２０（２）の他のコントローラ１００（２）が有するターゲットポートが接続される。
【００７１】
第２通信部１２０は、各論理ボリューム２３０（１）を構成する各記憶装置２１０（図３参照）と通信を行うための制御回路である。第２通信部１２０は、複数の通信経路を介して各記憶装置２１０に接続されている。従って、一方の通信経路に障害が発生した場合でも、他方の通信経路を介して記憶装置２１０にアクセスすることができる。
【００７２】
マイクロプロセッサ（図中、ＭＰ）１３０は、コントローラ１００（１）の動作を制御する制御回路である。マイクロプロセッサ１３０は、ホスト３０または管理サーバ１０から受信したコマンド等に基づいて、所定の指示を出す。
【００７３】
キャッシュメモリ（図中、ＣＭ）１４０は、ライトデータ等を記憶するためのメモリである。キャッシュメモリ１４０の一部の領域は、キャッシュ領域として使用され、そこにはライトデータ等が格納される。キャッシュメモリ１４０の他の領域は、制御情報領域として使用され、そこには制御情報及び管理情報等が格納される。
【００７４】
データ転送制御回路１５０は、各通信部１１０，１２０と、マイクロプロセッサ１３０及びキャッシュメモリ１４０とを相互に接続するための回路である。他のストレージ装置２０（１）も、一方のストレージ装置２０（１）と同様に、コントローラ１００（２）及び論理ボリューム２３０（２）を備える。
【００７５】
本実施例では、一方のストレージ装置２０（１）が、他方のストレージ装置２０（２）の有する論理ボリューム２３０（２）を、一方のストレージ装置２０（１）内に取り込んで使用することができる。この技術を、本明細書では、外部接続と呼ぶ。図２では、説明の便宜上、２つのストレージ装置２０（１），２０（２）を示すが、これに限らず、３つ以上のストレージ装置に外部接続技術を用いることもできる。
【００７６】
一方のストレージ装置２０（１）の有する各論理ボリューム２３０（１）のうち、「Ｖ」が添えられている論理ボリューム２３０（１Ｖ）は、他方のストレージ装置２０（２）内の論理ボリューム２３０（２）を利用して形成されている、仮想的な論理ボリュームである。そのような実体を備えない論理ボリューム２３０（１Ｖ）を、外部接続ボリュームまたは仮想ボリュームと呼ぶ。
【００７７】
ホスト３０は、外部接続ボリューム２３０（１Ｖ）にアクセスすることができるが、実際にデータを格納している論理ボリュームは、他方のストレージ装置２０（２）内の実ボリューム２３０（２）である。
【００７８】
そこで、一方のストレージ装置２０（１）は、外部接続ボリューム２３０（１Ｖ）に対するライトコマンド及びリードコマンドを、接続先のボリューム２３０（２）宛のコマンドに変換し、他方のストレージ装置２０（２）に送信する。
【００７９】
このような外部接続技術を用いることにより、一方のストレージ装置２０（１）は、他方のストレージ装置２０（２）内の論理ボリューム２３０（２）を、一方のストレージ装置２０（１）内に取り込んで使用できる。さらに、一方のストレージ装置２０（１）の有する機能を利用して、他方のストレージ装置２０（２）内のデータをホスト３０に提供することができ、システム全体としての信頼性及び応答性能を高めることができる。
【００８０】
各ホスト３０は、ストレージ装置２０内の論理ボリューム２３０を使用することにより、図外のクライアントコンピュータに、各種サービスを提供する。各ホスト３０は、各クライアントコンピュータにインターネット等の通信ネットワーク（不図示）を介して接続されている。各ホスト３０は、例えば、マイクロプロセッサ３１と、メモリ３２と、通信ネットワークインターフェース３３，３４とを備える。マイクロプロセッサ３１は、メモリ３２に記憶されているプログラムを読み込んで実行することにより、例えば、顧客管理、売上げ管理、動画配信等のサービスをクライアントコンピュータに提供する。
【００８１】
図３は、データマイグレーションの概要を示す説明図である。図３では、３つのストレージ装置２０（１），２０（２），２０（３）を示している。これに限らず、本発明は、一つのストレージ装置２０内でデータマイグレーションを実行する場合にも適用することができるし、あるいは、４つ以上のストレージ装置を含むシステム内でデータマイグレーションを実行する場合にも適用できる。
【００８２】
図３の上側に示すように、ストレージ装置２０（１）に設けられている複数の記憶装置２１０の有する物理的記憶領域は、一つのアレイグループ２２０（１）にまとめられており、そのアレイグループ２２０（１）の有する記憶領域には、論理ボリューム２３０（１）が設けられている。同様にして、他のストレージ装置２０（２），２０（３）においても、アレイグループ２２０（２），２２０（３）及び論理ボリューム２３０（２），２３０（３）が設けられている。
【００８３】
ストレージ装置２０（１）内の論理ボリューム２３０（１）がマイグレーション対象の場合を説明する。マイグレーション先の候補としては、アレイグループ２２０（２）とアレイグループ２２０（３）とがある。
【００８４】
ユーザは、いずれかのアレイグループ２２０（２），２２０（３）を選択して、データマイグレーションを設定することができる。あるいは、ユーザは、いずれかのアレイグループ２２０（２），２２０（３）に属する論理ボリューム２３０（２），２３０（３）を選択して、データマイグレーションを設定することもできる。さらには、ユーザは、いずれかのアレイグループ２２０（２），２２０（３）に属する記憶装置２１０を選択して、データマイグレーションを設定することもできる。
【００８５】
図４は、管理サーバ１０のメモリ１２の記憶内容を模式的に示す説明図である。メモリ１２には、複数のプログラム３１０〜３５０と複数のテーブル類Ｔ１０〜Ｔ４０とが記憶されている。
【００８６】
プログラムとしては、例えば、タスク管理プログラム３１０，エラー判定プログラム３２０，マイグレーション制御プログラム３３０，ボリューム選択プログラム３４０，マイグレーション終了時間予測プログラム３５０（以下、予測プログラム３５０と呼ぶ）が、メモリ１２に記憶される。なお、各プログラム３１０〜３５０は、プログラム配信サーバ（不図示）から管理サーバ１０に送信してインストールさせることもできるし、あるいは、記録媒体に固定された各プログラム３１０〜３５０を管理サーバ１０に読み込ませてインストールさせることもできる。
【００８７】
タスク管理プログラム３１０は、データマイグレーションを実行するためのタスクを管理するプログラムである。エラー判定プログラム３２０は、データマイグレーション処理中にエラーが発生したか否かを判定するプログラムである。マイグレーション制御プログラム３３０は、データマイグレーションタスクに基づいて、データマイグレーションに関与する各ストレージ装置２０に所定の指示を与え、データマイグレーションを実行させるプログラムである。ボリューム選択プログラム３４０は、エラー終了したデータマイグレーションを再実行させるためのタスクを生成する場合に、適切な論理ボリュームを選択させるプログラムである。予測プログラム３５０は、データマイグレーションの完了に要する時間を予測するプログラムである。
【００８８】
テーブル類としては、例えば、タスク管理テーブルＴ１０，エラー情報テーブルＴ２０，ボリューム情報テーブルＴ３０，マイグレーション履歴情報Ｔ４０が、メモリ１２に記憶される。
【００８９】
なお、以下の説明では、「テーブル」または「データベース」等の表現を用いて、本実施例のシステムで使用される各種情報を説明する。しかし、「テーブル」等の名称は便宜上使用されているに過ぎず、本システムで使用される各種情報を、テーブルやデータベース等以外の他のデータ構造で表現することもできる。つまり、本実施例で使用される各種情報は、データ構造に依存しない。
【００９０】
従って、例えば、図４に示すタスク管理テーブルＴ１０は、タスク管理データベース、または、タスク管理リスト、タスク管理情報等と呼ぶことができる。他のテーブルＴ２０，Ｔ３０についても同様である。マイグレーション履歴情報Ｔ４０についても同様に、例えば、マイグレーション履歴管理テーブル、マイグレーション履歴管理リスト、マイグレーション履歴管理データベース等と呼ぶことができる。以下、各テーブルＴ１０〜Ｔ４０の構成例を説明する。
【００９１】
図５は、タスク管理テーブルＴ１０の一部を構成する、タスク全体を管理するためのテーブルＴ１１を示す。タスク管理テーブルＴ１０は、マイグレーションタスク全体の管理用テーブルＴ１１と、各タスク毎のデータマイグレーションを管理するためのテーブルＴ１２（図６参照）とを有する。各管理テーブルＴ１１，Ｔ１２は、タスクＩＤを介して関連づけられる。一つのタスクには、複数のデータマイグレーションを登録できる。図５に示す管理テーブルＴ１１は、一つまたは複数のデータマイグレーションを含むタスク全体を管理する。図６に示す管理テーブルＴ１２は、一つのタスク内に含まれる各データマイグレーションを管理する。
【００９２】
マイグレーションタスクの全体を管理するテーブルＴ１１は、例えば、タスクＩＤ欄Ｃ１１０と、タスク状態欄Ｃ１１１と、進捗欄Ｃ１１２と、開始日時欄Ｃ１１３と、終了日時欄Ｃ１１４と、予測時間欄Ｃ１１５と、所要時間欄Ｃ１１６と、元タスクＩＤ欄Ｃ１１７と、再タスクＩＤ欄Ｃ１１８とを含む。本来「再実行タスクＩＤ」とすべきところを、紙面の大きさの都合上、「再タスクＩＤ」と省略している。
【００９３】
タスクＩＤ欄Ｃ１１０は、各マイグレーションタスクを識別するための識別子（ＩＤ）を管理する。タスク状態欄Ｃ１１１は、各マイグレーションタスクの状態を管理する。タスク状態としては、例えば、「完了」、「エラー」、「実行中」、「実行前（または待機中）」等を挙げることができる。「完了」とは、データマイグレーションが正常に完了した状態を示す。「エラー」とは、タスクに含まれる各データマイグレーションのうち一部または全部についてエラーが発生した状態を示す。「実行中」とは、データマイグレーションを実行している途中である状態を示す。「実行前（待機中）」とは、データマイグレーションの実行時期が到来するのを待っている状態を示す。
【００９４】
進捗欄Ｃ１１２は、マイグレーションタスクの進捗状況を管理する。進捗状況は、例えば、データマイグレーションされる予定のサイズと、実際にデータマイグレーションが完了したサイズとの比率を百分率形式で表示する。
【００９５】
開始日時欄Ｃ１１３は、データマイグレーションが開始される日時を管理する。日時は、例えば、西暦年月日時分秒の形式で表示することができる。実行前状態にあるデータマイグレーションの場合、開始日時欄Ｃ１１３に記憶される日時は、開始予定日時である。そのデータマイグレーションが実行されると、開始日時欄Ｃ１１３に記憶される日時は、開始された日時となる。
【００９６】
終了日時欄Ｃ１１４は、データマイグレーションが終了した日時を管理する。終了日時欄Ｃ１１４には、データマイグレーションが正常終了した日時、または、データマイグレーションがエラー終了した日時のいずれかが記憶される。未だ実行されていないデータマイグレーションについては、終了日時欄Ｃ１１４は空欄となる。
【００９７】
予測時間欄Ｃ１１５は、データマイグレーションの完了に要すると予測される時間を管理する。データマイグレーションが正常終了または異常終了した場合でも、予測された完了時間は、予測時間欄Ｃ１１５に残される。
【００９８】
所要時間欄Ｃ１１６は、データマイグレーションに実際に要した時間を管理する。エラー終了の場合は、データマイグレーションが完了していないので、所要時間の欄Ｃ１１６は空欄となる。
【００９９】
元タスクＩＤ欄Ｃ１１７は、再実行タスクが作成されたタスクのＩＤを管理する。再タスクＩＤ欄Ｃ１１８は、再実行タスクを識別するためのＩＤを管理する。正常に終了したタスクの場合、元タスクＩＤ欄Ｃ１１７及び再タスクＩＤ欄Ｃ１１８は、空欄となる。エラー終了したタスクの場合、その失敗したタスクについて再実行タスクが生成されると、再実行タスクの元タスクＩＤ欄Ｃ１１７には、失敗したタスクのＩＤが記憶される。失敗したタスクの再タスクＩＤ欄Ｃ１１８には、再実行タスクのＩＤが記憶される。
【０１００】
このように、本実施例では、失敗したマイグレーションタスクを再度実行させるための新たなマイグレーションタスク（再実行タスク）に新たなＩＤを付与し、元のマイグレーションタスク（失敗した元のタスク）のＩＤに関連づけて管理する。従って、再実行タスクと元のタスクとの関係を容易に把握することができる。
【０１０１】
図６は、各タスク内の各データマイグレーションを管理するためのテーブルＴ１２を示す説明図である。この管理テーブルＴ１２は、図５に示す管理テーブルＴ１１に含まれている各タスク毎にそれぞれ用意される。
【０１０２】
管理テーブルＴ１２は、例えば、タスクＩＤ欄Ｃ１２０と、移動元ボリュームＩＤ欄Ｃ１２１と、移動先ボリュームＩＤ欄Ｃ１２２と、ボリューム状態欄Ｃ１２３と、進捗欄Ｃ１２４と、エラーＩＤ欄Ｃ１２５と、予測時間欄Ｃ１２６と、所要時間欄Ｃ１２７とを含んで構成される。
【０１０３】
タスクＩＤ欄Ｃ１２０は、マイグレーションタスクのＩＤを管理する。移動元ボリュームＩＤ欄Ｃ１２１は、データ移動元の論理ボリュームのＩＤを管理する。移動先ボリュームＩＤ欄Ｃ１２２は、データ移動先の論理ボリュームのＩＤを管理する。
【０１０４】
ボリューム状態欄Ｃ１２３は、データマイグレーションの状態を管理する。ボリューム状態欄Ｃ１２３には、例えば、移動元ボリュームの状態として、「正常終了」、「エラー終了」、「実行中」、「実行前（または待機中）」のいずれか一つが設定される。進捗欄Ｃ１２４は、各データマイグレーションの進捗状況（コピー進捗状況）を管理する。
【０１０５】
エラーＩＤ欄Ｃ１２５は、データマイグレーションがエラー終了した場合において、そのエラー原因を識別するためのエラーＩＤを管理する。予測時間欄Ｃ１２６は、データマイグレーションの完了に要すると予測された時間を管理する。所要時間欄Ｃ１２７は、データマイグレーションの完了までに実際に要した時間を管理する。
【０１０６】
図７は、エラー情報テーブルＴ２０を示す。エラー情報テーブルＴ２０は、データマイグレーション処理中に発生しうるエラーの種類を管理する。エラー情報テーブルＴ２０は、例えば、エラーＩＤ欄Ｃ２０と、エラー内容欄Ｃ２１と、リトライフラグ欄Ｃ２２とを備える。
【０１０７】
エラーＩＤ欄Ｃ２０は、各エラーを識別するためのＩＤを管理する。エラー内容欄Ｃ２１は、各エラーの内容を管理する。エラー内容としては、例えば、「タイムアウト」、「ボリューム使用中」、「マイグレーションさせることのできないボリューム」、「外部ストレージ装置との通信に失敗」等を挙げることができる。
【０１０８】
「タイムアウト」とは、データマイグレーション中に（つまり、データコピー中に）、移動元ボリュームまたは移動先ボリュームから所定時間内に応答が無いために生じるエラーである。「ボリューム使用中」とは、例えば、移動先ボリュームをホストが使用しているために生じるエラーである。「マイグレーションさせることのできないボリューム」とは、例えば、コマンドデバイスのような特殊な論理ボリュームを移動元ボリュームとして選択したために生じるエラーである。「外部ストレージ装置との通信に失敗」とは、上述した外部接続先のストレージ装置との通信に失敗したために生じるエラーである。
【０１０９】
リトライフラグ欄Ｃ２２は、リトライ可能か否かを示すフラグを管理する。リトライフラグが「可」と設定された場合、エラーの生じたデータマイグレーションを再実行することができる。リトライフラグが「不可」と設定された場合、エラーの生じたデータマイグレーションを再実行することはできない。
【０１１０】
例えば、移動先ボリュームが使用中の場合、そのボリュームを指定してデータマイグレーションを再実行できないため、リトライフラグに「不可」と設定される。さらに、移動元ボリュームがコマンドデバイスのような特殊ボリュームである場合、その特殊ボリュームを勝手に移動させることはできない。従って、この場合も、リトライフラグに「不可」と設定される。さらに、例えば、外部ストレージ装置との間の通信経路上に障害が発生している場合、その障害が取り除かれない限り、外部ストレージ装置を用いたデータマイグレーションを行うことはできない。そこで、この場合も、リトライフラグに「不可」と設定される。
【０１１１】
図８は、ボリューム情報テーブルＴ３０を示す。ボリューム情報テーブルＴ３０は、情報処理システム内の各論理ボリュームを管理するためのテーブルである。ボリューム情報テーブルＴ３０は、例えば、ボリュームＩＤ欄Ｃ３０と、ＲＡＩＤレベル欄Ｃ３１と、ディスクタイプ欄Ｃ３２と、回転数欄Ｃ３３と、サイズ欄Ｃ３４と、アレイグループＩＤ欄Ｃ３５と、装置ＩＤ欄Ｃ３６と、接続経路欄Ｃ３７とを含む。
【０１１２】
ボリュームＩＤ欄Ｃ３０は、各論理ボリューム２３０を識別するためのＩＤを管理する。ＲＡＩＤレベル欄Ｃ３１は、例えば、「ＲＡＩＤ５（４Ｄ＋１Ｐ）」、「ＲＡＩＤ１（Ｄ＋Ｄ）」、「ＲＡＩＤ６（６Ｄ＋２Ｐ）」等のように、論理ボリューム２３０のＲＡＩＤレベル及びＲＡＩＤ構成を管理する。ＲＡＩＤレベルにはＲＡＩＤ０も含まれる。
【０１１３】
ディスクタイプ欄Ｃ３２は、論理ボリューム２３０に記憶領域を提供する記憶装置２１０の種類を管理する。便宜上「ディスク」と呼ぶが、円形状の記録媒体に限らない。ディスクタイプとしては、例えば、ＳＡＴＡディスク、ＦＣディスク、ＳＳＤ（ソリッドステートデバイス：フラッシュメモリデバイス）等を挙げることができる。回転数欄Ｃ３３は、論理ボリューム２３０に記憶領域を提供する記憶装置２１０の回転数を管理する。なお、フラッシュメモリデバイスの場合、回転数に代えてデータ転送速度を設定することもできる。
【０１１４】
サイズ欄Ｃ３４は、論理ボリューム２３０のサイズを管理する。アレイグループＩＤ欄Ｃ３５は、論理ボリューム２３０の属するアレイグループ２２０を識別するためのＩＤを管理する。装置ＩＤ欄Ｃ３６は、論理ボリューム２３０の属するストレージ装置を識別するためのＩＤを管理する。
【０１１５】
接続経路欄Ｃ３７は、論理ボリューム２３０にアクセスするための通信経路に関する情報を管理する。アクセスするための通信経路に関する情報としては、例えば、ＷＷＮ（World Wide Name）、ＬＵＮ（Logical Unit Number）、ｉＳＣＳＩ（internet Small Computer System Interface）ネーム、ＩＰアドレス等を挙げることができる。一つの論理ボリュームにアクセスするための通信経路が複数存在する場合、それら複数の通信経路に関する情報がＣ３７に記録される。
【０１１６】
図９は、マイグレーション履歴情報Ｔ４０を示す。マイグレーション履歴情報Ｔ４０は、過去に行われた各データマイグレーションに関する情報を記憶する。マイグレーション履歴情報Ｔ４０は、例えば、タスク管理テーブルＴ１０（Ｔ１１，Ｔ１２）とボリューム情報テーブルＴ３０からの情報に基づいて作成することができる。
【０１１７】
マイグレーション履歴情報Ｔ４０は、例えば、タスクＩＤ欄Ｃ４０と、移動元ボリュームＩＤ欄Ｃ４１と、移動元ボリュームの仕様欄Ｃ４２と、移動先ボリュームＩＤ欄Ｃ４３と、移動先ボリュームの仕様欄Ｃ４４と、コピー速度欄Ｃ４５とを含む。
【０１１８】
タスクＩＤ欄Ｃ４０は、過去に行われたマイグレーションタスクのＩＤを管理する。移動元ボリュームＩＤ欄Ｃ４１は、移動元ボリュームのＩＤを管理する。移動元ボリュームの仕様欄Ｃ４２は、移動元ボリュームの仕様に関する情報を管理する。仕様に関する情報としては、例えば、ＲＡＩＤレベル（ＲＡＩＤ構成を含む）、サイズ、ディスクタイプ、回転数等を挙げることができる。
【０１１９】
移動先ボリュームＩＤ欄Ｃ４３は、移動先ボリュームのＩＤを管理する。移動先ボリュームの仕様欄Ｃ４４は、移動先ボリュームの仕様に関する情報を管理する。仕様に関する情報は、移動元ボリュームについて述べた内容と同様である。コピー速度欄Ｃ４５は、過去に行われたデータマイグレーションのコピー速度を管理する。
【０１２０】
なお、コピー速度欄Ｃ４５に代えて、マイグレーション情報欄Ｃ４６とし、マイグレーション情報欄Ｃ４６内で、データマイグレーションの開始日時、コピー速度、データマイグレーションの終了日時等を管理する構成としてもよい。
【０１２１】
さらに、タスク管理テーブルＴ１０により、過去に行われた各データマイグレーションの履歴を管理する構成としてもよい。その場合、マイグレーション履歴情報Ｔ４０は不要となる。
【０１２２】
図１０〜図１９に基づいてデータマイグレーション処理を説明する。以下に示す各フローチャートは、処理の概要を示しており、実際のコンピュータプログラムとは相違する場合がある。
【０１２３】
以下の説明では、主に、管理サーバ１０を動作の主体として述べる。実際には、管理サーバ１０内のマイクロプロセッサ１１が、メモリ１２に記憶されたコンピュータプログラムを読み込んで実行することにより、所定の処理が実現される。従って、動作の主体をマイクロプロセッサとして説明することもできる。さらに、上記の理解を踏まえた上で、動作の主体をコンピュータプログラムとして説明することもできる。
【０１２４】
なお、コンピュータプログラムの全部または一部は、例えば、専用ハードウェア回路から構成することもできる。また、コンピュータプログラムは、コンピュータプログラムを配信するためのプログラム配信サーバを介して、管理サーバ１０にインストールさせることができる。あるいは、記憶媒体に記憶されたコンピュータプログラムを管理サーバ１０に読み込ませてインストールさせることもできる。
【０１２５】
図１０は、データマイグレーション処理の全体概要を示すフローチャートである。まず最初に、管理サーバ１０は、システム管理者等のユーザからの指示に応じて、データマイグレーションを実行させるためのタスクを生成する（Ｓ１１）。
【０１２６】
ユーザ指示に代えて、予め用意されるマイグレーションタスク生成条件に基づいて、マイグレーションタスクを生成する構成としてもよい。例えば、「所定時間以上アクセスされていないデータをより低コストの論理ボリュームに移す。」のような所定条件を満たす場合に、マイグレーションタスクを生成させることができる。
【０１２７】
管理サーバ１０は、タスク管理テーブルＴ１０に登録されている各マイグレーションタスクの開始予定時期と現在時刻とを比較しており、開始予定時期が到来すると、移動元ストレージ装置、または／及び、移動先ストレージ装置に、データマイグレーションの実行を要求する（Ｓ１２）。
【０１２８】
その実行要求には、例えば、移動元ボリュームを特定するための情報と、移動先ボリュームを特定するための情報とが含まれる。なお、上述の通り、移動先ボリュームの指定に代えて、移動先のアレイグループまたは移動先の記憶装置のいずれかを指定する構成としてもよい。以下の説明では、移動先の記憶領域として論理ボリュームを指定する場合を説明する。
【０１２９】
管理サーバ１０からの実行要求に基づいて、移動元ボリュームから移動先ボリュームへのデータマイグレーション（つまり、データコピー）が開始される（Ｓ１２）。もしもデータコピー中に、ホスト３０が移動元ボリュームにアクセスした場合は、以下のように対応できる。なお、移動元ボリュームにデータを書き込むとは、正確には、移動元ボリュームに対応する記憶装置２１０にデータを書き込むことを意味するが、便宜上、「移動元ボリュームにデータを書き込む」と表現する。また、移動元ボリュームからデータを読み出すとは、正確には、移動元ボリュームに対応する記憶装置２１０からデータを読み出す、または、移動元ボリュームに対応するキャッシュ領域からデータを読み出す、ことを意味する。しかし、便宜上、「移動元ボリュームからデータを読み出す」と表現する。移動先ボリュームへのデータ読み書きについても同様である。
【０１３０】
（１）移動元ボリュームからデータを読み出すリードアクセスについては、それを許可する。
【０１３１】
（２）移動元ボリューム内のデータを更新させるライトアクセスの場合、書込先（更新先）の領域が既に移動先ボリュームにコピーされたコピー済領域であるならば、移動元ボリューム及び移動先ボリュームの両方に新データを書込み、その書込み完了後にホスト３０に完了応答を返す。
【０１３２】
（３）あるいは、コピー済み領域へのに対応するものである場合、ホスト３０に書き込み完了応答を返す前に、移動元ボリュームに新データを書き込む。その後、繰り返し実行されるコピー処理（更新コピーと呼ぶ）として、新データを移動元ボリュームから移動先ボリュームにコピーさせる。このような方法では、書き込み要求の処理時間を短時間で済ませることができる。しかし、単位時間当たりの書き込みデータ量が多い場合（特に、移動元ボリュームへの書き込み要求が頻繁に繰り返される場合）は、更新コピーで処理可能なデータ量に限界があるために、データマイグレーション完了までの時間が予測できない場合がある。
【０１３３】
なお、データマイグレーション中におけるホスト３０からのアクセスを処理する方法は、上述の方法に限られない。但し、データマイグレーション中におけるホスト３０からのアクセスが多いと、データマイグレーション処理の速度が低下し、タイムアウトによってエラー終了する可能性がある。
【０１３４】
管理サーバ１０は、データマイグレーション処理にエラーが発生した場合、それのエラーを検出する（Ｓ１３）。各ストレージ装置２０のコントローラ１００は、各記憶装置２１０の状態を監視しており、ディスク障害またはコントローラ障害等の何らかの障害が発生した場合には、その障害に関する情報を管理サーバ１０に通知する。
【０１３５】
障害に関する情報には、例えば、障害の発生した記憶装置２１０または／及びアレイグループ２２０等を特定するための識別子、障害の発生した論理ボリューム２３０を特定するための識別子、障害の種別を示すコード等を含めることができる。
【０１３６】
なお、コントローラ１００から管理サーバ１０に障害の発生を通知する構成に代えて、管理サーバ１０がコントローラ１００に、定期的にまたは不定期に、障害の有無を問い合わせる構成としてもよい。
【０１３７】
コントローラ１００は、障害が検出された場合に、その障害に関係するデータマイグレーション処理を中止する。コントローラ１００は、データマイグレーション処理が中止された旨を管理サーバ１０に通知する。その通知の際に、ディスク障害またはコントローラ障害等の障害が発生したことを示す情報を、コントローラ１００から管理サーバ１０に送信する構成としてもよい。
【０１３８】
以上のように、データマイグレーション処理中にエラーが検出されると、そのデータマイグレーション処理は中止される。ユーザは、管理サーバ１０から提供される画面（図１５参照）に基づいて、ラー終了したマイグレーションタスクを再実行させるためのタスクの生成を要求することができる（Ｓ１４）。
【０１３９】
管理サーバ１０は、ユーザからの指示に基づいて、再実行タスクを生成し、タスク管理テーブルＴ１０に登録する（Ｓ１５）。なお、ユーザ指示により再実行タスクを生成させる構成に代えて、予め設定される条件を満たす場合に、再実行タスクを生成させる構成としてもよい。
【０１４０】
管理サーバ１０は、再実行タスクに設定されている開始日時が到来した場合には、移動元ストレージ装置、または／及び、移動先ストレージ装置にデータマイグレーション処理の実行を要求する（Ｓ１６）。以下、各処理の詳細を図を改めてさらに説明する。
【０１４１】
図１１は、データマイグレーションタスクを生成するための処理を示すフローチャートである。本処理は、図１０のＳ１１に対応する。
【０１４２】
管理サーバ１０は、例えば、ユーザからの指示に基づいて、移動元ボリューム及び移動先ボリュームをそれぞれ選択し（Ｓ２０，Ｓ２１）、さらに、データマイグレーションの開始日時を設定する（Ｓ２２）。なお、移動元ボリューム及び移動先ボリュームの選択と、開始日時の設定とは、自動的にまたは半自動的に行う構成としてもよい。
【０１４３】
管理サーバ１０は、Ｓ２０〜Ｓ２２で設定されるデータマイグレーションについて、その完了に要する時間を予測する（Ｓ２３）。データマイグレーション完了時間を予測する処理については、図１７で後述する。
【０１４４】
管理サーバ１０は、Ｓ２０〜Ｓ２２で設定されるデータマイグレーション及びＳ２３で予測される完了時間を、タスク管理テーブルＴ１０に登録させる（Ｓ２４）。管理サーバ１０は、マイグレーションタスクの生成が全て完了したと判定するまで、Ｓ２０〜Ｓ２４を繰り返す（Ｓ２５）。マイグレーションタスクの生成が完了した場合（S25:YES）、本処理は終了する。
【０１４５】
図１２は、データマイグレーションタスクを実行させるための処理を示すフローチャートである。図１２に示す処理は、図１０のＳ１２に対応する。管理サーバ１０は、タスク管理テーブルＴ１０を参照し（Ｓ３０）、実行タイミング（開始予定日時）の到来したタスクが有るか否かを判定する（Ｓ３１）。
【０１４６】
実行タイミングの到来したタスクを発見した場合（S31:YES）、管理サーバ１０は、そのタスクに含まれる移動元ボリュームを特定する識別子及び移動先ボリュームを特定する識別子をそれぞれ抽出する（Ｓ３２）。
【０１４７】
管理サーバ１０は、抽出された情報に基づいて、移動元ストレージ装置、または／及び、移動先ストレージ装置に、データマイグレーションの実行を指示する（Ｓ３３）。一つのタスク内に、複数のデータマイグレーションを含ませることができる。一つのマイグレーショングループに管理されている複数の論理ボリュームは、一括して移動させる必要があるためである。
【０１４８】
従って、データマイグレーションは、各ボリュームペア毎にそれぞれ開始される。ボリュームペアをコピーペアと呼ぶこともできる。各ボリュームペア間のデータマイグレーションは、並列的に処理することができる。あるいは、一つのボリュームペアのデータマイグレーションが完了した後で、次のボリュームペアのデータマイグレーションを開始させる構成としてもよい。
【０１４９】
一つのデータマイグレーションが完了すると、移動元ストレージ装置または移動先ストレージ装置の少なくともいずれか一方から、データマイグレーション処理が完了した旨が管理サーバ１０に報告される（Ｓ３４）。データマイグレーションは、各ボリュームペア毎に行われる。従って、ストレージ装置は、各ボリュームペア毎に、データマイグレーションが完了した旨を管理サーバ１０に報告する。
【０１５０】
管理サーバ１０は、ストレージ装置からの報告を受領すると、タスク管理テーブルＴ１０（特にテーブルＴ１２）を更新させ（Ｓ３５）、タスク内の全てのデータマイグレーションが完了したか否かを判定する（Ｓ３６）。
【０１５１】
そのタスク内に未終了のデータマイグレーションが残っている場合（S36:NO）、管理サーバ１０は、Ｓ３０に戻り、ストレージ装置からの完了報告を待つ。また、別のタスクの実行タイミングが到来した場合、管理サーバ１０は、その別のタスクの実行をストレージ装置に指示する。つまり、管理サーバ１０は、複数のマイグレーションタスクを並列的に処理することができる。
【０１５２】
一つのタスク内の全てのデータマイグレーションが終了した場合（S36:YES）、管理サーバ１０は、タスク管理テーブルＴ１０（特にテーブルＴ１１）を更新させて（Ｓ３７）、本処理を終了する。なお、エラー終了も、データマイグレーションの終了であると判定される。
【０１５３】
図１３は、エラーを検出するための処理を示すフローチャートである。本処理は、図１０のＳ１３に対応する。管理サーバ１０は、ストレージ装置２０からの通知に基づいて、データマイグレーションがエラー終了したか否かを判定する（Ｓ４０）。エラー終了したと判定された場合（S40:YES）、管理サーバ１０は、エラー情報テーブルＴ２０を参照してエラーＩＤを特定し（Ｓ４１）、タスク管理テーブルＴ１０（正確にはテーブルＴ１２）に、エラーＩＤを記憶させる（Ｓ４２）。
【０１５４】
図１４は、失敗したマイグレーションタスクの再実行を管理サーバ１０に指示する処理を示すフローチャートである。本処理は、図１０のＳ１４に対応する。ここでは、図１５の画面を参照して説明する。
【０１５５】
図１５は、管理サーバ１０により提供されるタスク管理画面Ｇ１０を示す。タスク管理画面Ｇ１０は、タスク管理テーブルＴ１０に基づいて作成される。ユーザは、いつでも必要な場合にタスク管理画面Ｇ１０を表示させることができ、各タスクの実行状況を確認することができる。
【０１５６】
タスク管理画面Ｇ１０は、例えば、チェック欄Ｇ１００と、タスクＩＤ欄Ｇ１０１と、タスク種別欄Ｇ１０２と、タスク状態欄Ｇ１０３と、進捗欄Ｇ１０４と、開始日時欄Ｇ１０５と、終了日時欄Ｇ１０６と、予測時間Ｇ１０７と、実行ボタンＧ１０８と、中止ボタンＧ１０９と、一時停止ボタンＧ１１０と、再実行ボタンＧ１１１とを含む。
【０１５７】
チェック欄Ｇ１００は、タスクを選択するために使用される。タスクＩＤ欄Ｇ１０１は、各タスクのＩＤを表示する。タスク種別欄Ｇ１０２は、各タスクの種類を表示させる。本実施例では、データマイグレーションについて述べるため、タスク種別は「マイグレーション」である。なお、これ以外のタスクの種類としては、例えば、データを破棄するためのシュレッダー処理を行うシュレッダータスク等がある。
【０１５８】
タスク状態欄Ｇ１０３は、タスクの状態を表示する。タスク状態としては、例えば、「完了」、「エラー」、「実行中」、「実行前」がある。進捗欄Ｇ１０４は、タスクの進捗状況を百分率形式で表示する。開始日時欄Ｇ１０５は、タスクの開始された日時または開始が予定されている日時を表示する。終了日時欄Ｇ１０６は、タスクが正常終了またはエラー終了した日時を表示する。予測時間欄Ｇ１０７は、タスクの完了に要すると予測された時間を表示する。
【０１５９】
実行ボタンＧ１０８は、選択されたタスクを実行させるためのボタンである。中止ボタンＧ１０９は、選択されたタスクを中止させるためのボタンである。一時停止ボタンＧ１１０は、選択されたタスクの実行を一時停止させるためのボタンである。再実行ボタンＧ１１１は、選択されたタスクについて再実行タスクを生成させるボタンである。
【０１６０】
図１４に戻る。管理サーバ１０は、タスク管理画面Ｇ１０において、エラー終了したタスクがユーザにより選択されたか否かを判定する（Ｓ５０）。そして、管理サーバ１０は、エラー終了したタスクについて再実行ボタンＧ１１１が操作されたか否かを判定する（Ｓ５１）。再実行ボタンＧ１１１が操作された場合（S51:YES）、管理サーバ１０は、再実行タスクを生成するための処理を起動させる（Ｓ５２）。
【０１６１】
図１６は、再実行タスクを生成する処理を示すフローチャートである。管理サーバ１０は、タスク管理テーブルＴ１０を参照し（Ｓ６０）、エラー終了のタスクはあるか否かを判定する（Ｓ６１）。エラー終了のタスクが有る場合（S61:YES）、管理サーバ１０は、そのエラー終了したタスクが再実行タスクであるか否かを判定する（Ｓ６２）。つまり、二度続けて失敗したタスクであるか否かを判定する（Ｓ６２）。
【０１６２】
エラー終了したタスクが一つも存在しない場合（S61:NO）、または、エラー終了したタスクが再実行タスクだけであった場合（S62:YES）のいずれかの場合には、エラー処理が行われる（Ｓ６６）。管理サーバ１０は、例えば、「再実行可能なタスクがありません。」のようなエラーメッセージをユーザに通知する。
【０１６３】
再実行タスク以外のタスクがエラーで終了していた場合（S61:YES  かつ、S62:NO）、管理サーバ１０は、そのエラー終了したタスクから、エラー終了したデータマイグレーションのボリュームペアを抽出し、改めてデータマイグレーションを実行させるためのボリュームペアを作成する（Ｓ６３）。詳細は後述するが、エラー終了したデータマイグレーションのボリュームペアをそのまま使用できる場合には、そのボリュームペアをそのまま用いて、再実行用のデータマイグレーションを生成する。エラー終了したデータマイグレーションのボリュームペアをそのまま使用することができない場合には、例えば、別の移動先ボリュームを選択して新たなボリュームペアを作成する。
【０１６４】
管理サーバ１０は、再実行用のデータマイグレーションの完了時間を予測し、Ｓ６３で設定された内容と予測された完了時間とを、タスク管理テーブルＴ１０に記憶させる（Ｓ６４）。エラー終了したタスク内の、エラー終了したデータマイグレーションについて再実行準備が完了するまで（Ｓ６５）、Ｓ６３及びＳ６４が繰り返し実行される。
【０１６５】
図１７は、マイグレーション完了時間（マイグレーション終了時間）を予測する処理のフローチャートである。本処理は、図１１のＳ２３と図１６のＳ６４で使用される。
【０１６６】
管理サーバ１０は、ボリューム情報テーブルＴ３０から、移動元ボリュームに関する情報及び移動先ボリュームに関する情報をそれぞれ取得する（Ｓ７０，Ｓ７１）。ボリュームに関する情報としては、例えば、ＲＡＩＤレベル（ＲＡＩＤ構成を含む）、ディスクタイプ、回転数、サイズ、装置ＩＤ等を挙げることができる。
【０１６７】
管理サーバ１０は、Ｓ７０，Ｓ７１で取得された情報に基づいて、マイグレーション履歴情報Ｔ４０を検索し（Ｓ７２）、ボリュームペアの構成が一致するデータマイグレーションの履歴が有るか否かを判定する（Ｓ７３）。つまり、管理サーバ１０は、データマイグレーション完了時間を予測しようとしているボリュームペアと同一構成のボリュームペアについて、過去に行われたデータマイグレーションの履歴を探す。
【０１６８】
予測対象のボリュームペアと同一構成のデータマイグレーションが過去に行われていない場合（S73:NO）、管理サーバ１０は、基準コピー速度を管理するためのテーブルＴ５０を参照し、予め用意されている基準コピー速度を選択する（Ｓ７４）。
【０１６９】
基準コピー速度は、例えば、過去に行われたデータマイグレーションの実測速度の平均値等に基づいて定めることができる。基準コピー速度は、例えば、ＲＡＩＤレベル別、ディスクタイプ別、回転数別等のように、状況に応じて複数用意することができる。その場合、管理サーバ１０は、各状況別の基準コピー速度を複数用いて、予測に使用するコピー速度を算出することもできる。
【０１７０】
過去に同一構成のデータマイグレーションが行われている場合（S73:YES）、管理サーバ１０は、過去のデータマイグレーション時のコピー速度を選択する（Ｓ７５）。管理サーバ１０は、Ｓ７４またはＳ７５のいずれかで選択されるコピー速度に基づいて、データマイグレーションの完了に要する時間を予測する（Ｓ７６）。簡単には、管理サーバ１０は、データマイグレーションサイズをコピー速度で除算することにより、完了時間を予測できる（予測される完了時間＝データマイグレーションのサイズ／コピー速度）。
【０１７１】
なお、再実行タスクに関する完了時間を予測する場合には、最新のマイグレーション履歴情報Ｔ４０が使用される。つまり、失敗した元のタスクに関する完了時間の予測に使用されたマイグレーション履歴情報Ｔ４０（旧）ではなく、最新のマイグレーション履歴情報Ｔ４０（新）を使用して、再実行タスクの完了時間を予測する。これにより、予測精度を高めることができる。
【０１７２】
さらに、再実行タスクに含まれる各データマイグレーションについての完了時間に基づいて、再実行タスクの完了時間が予測され、元の失敗したタスクにおいて成功したデータマイグレーションについての完了時間は考慮されない。
【０１７３】
例えば、最初のタスクを第１タスクとし、第１タスク内には、ボリューム＃１０とボリューム＃２０の第１ペアと、ボリューム＃１１とボリューム＃２１の第２ペアと、ボリューム＃１２とボリューム＃２２の第３ペアとが含まれているとする。
【０１７４】
第１タスクを実行した結果、ボリューム＃１０とボリューム＃２０の第１ペアのみデータマイグレーションが成功し、第２ペア（ボリューム＃１１とボリューム＃２１のペア）及び第３ペア（ボリューム＃１２とボリューム＃２２のペア）は、データマイグレーションに失敗したものとする。
【０１７５】
そこで、再実行タスクとして第２タスクが生成される。第２タスクには、第２ペア及び第３ペアが含まれる。管理サーバ１０は、第１タスク終了後に更新される最新のマイグレーション履歴情報Ｔ４０（新）に基づいて、第２ペアのデータマイグレーションの完了時間と、第３ペアのデータマイグレーションの完了時間とをそれぞれ予測する。さらに、管理サーバ１０は、第２ペアの完了時間と第３ペアの完了時間とに基づいて、第２タスクの完了時間を予測する。
【０１７６】
図１８は、データマイグレーションを再実行させるためのボリュームペアを生成する処理を示すフローチャートである。本処理は、図１６のＳ６３に対応する。
【０１７７】
管理サーバ１０は、エラー終了したデータマイグレーションに関するボリュームペアを抽出し（Ｓ８０）、そのボリュームペアに関するエラーを確認すべく、エラー情報テーブルＴ２０を参照する（Ｓ８１）。
【０１７８】
管理サーバ１０は、ボリュームペアについて生じたエラーがリトライ可能なエラーであるか否かを判定する（Ｓ８２）。リトライ可能なエラーである場合（S82:YES）、管理サーバ１０は、元の移動元ボリューム及び移動先ボリュームを再び選択してボリュームペアを生成する（Ｓ８３）。つまり、リトライ可能なエラーの場合には、ボリュームペアの構成は変化しない。
【０１７９】
これに対し、ボリュームペアについて生じたエラーがリトライ可能なエラーではない場合（S82:NO）、管理サーバ１０は、後述のように、ボリュームペアの構成を変えて、再選択する（Ｓ８４）。
【０１８０】
図１９は、ボリュームペアを再選択する処理を示すフローチャートである。本処理は、図１８のＳ８４に対応する。管理サーバ１０は、リトライできないエラーであると判定されたエラーが移動先ボリュームに関するエラーであるか否かを判定する（Ｓ９０）。
【０１８１】
移動先ボリュームに関するエラーである場合（S90:YES）、管理サーバ１０は、移動先ストレージ装置の有する複数の論理ボリュームのうち、元の移動先ボリュームと同一の属性を有する別の論理ボリュームを検索する（Ｓ９１）。例えば、最初に選択された移動先ボリュームが「ＲＡＩＤ５（３Ｄ＋１Ｐ）、ＳＡＴＡディスク、７２００ｒｐｍ」等の属性を備える場合、管理サーバ１０は、元の属性と同一の属性を有する別の論理ボリュームを検索する。
【０１８２】
最初に選択された移動先ボリュームと同一属性を有する、候補となり得る論理ボリューム（候補ボリュームと呼ぶ場合がある）が検出された場合（S92:YES）、管理サーバ１０は、検出された候補ボリュームを新たな移動先ボリュームとして選択し、ボリュームペアを再設定する（Ｓ９３）。
【０１８３】
移動元ボリュームのエラーの場合（S90:NO）または候補ボリュームが一つも見つからない場合（S92:NO）のいずれかである場合には、エラー処理が行われる（Ｓ９４）。管理サーバ１０は、例えば、「データマイグレーションを再実行させるためのボリュームペアを選択することができません。」のようなエラーメッセージをユーザに通知する。
【０１８４】
このように構成される本実施例によれば、以下の効果を奏する。本実施例では、複数のデータマイグレーションを含むタスクが失敗した場合に、ユーザは、図１５に示すような管理画面Ｇ１０を用いて、再実行タスクの生成を指示できる。これにより、失敗したタスクの情報を利用して再実行タスクを作成させることができ、使い勝手が向上する。
【０１８５】
本実施例では、図５の管理テーブルＴ１１に示すように、失敗した元のタスクと再実行タスクとを関連づけて管理する。従って、データマイグレーションの最終結果を容易に確認することができ、使い勝手が向上する。
【０１８６】
本実施例では、再実行タスクには新たなタスクＩＤを付与し、元のタスクのＩＤと対応付ける。これにより、情報処理システム内で行われる各データマイグレーションの履歴を、タスク管理テーブルＴ１０によって一元的に管理することができる。つまり、本実施例では、マイグレーション履歴情報Ｔ４０は省略できる。しかし、説明の便宜上、マイグレーション履歴情報Ｔ４０を用いる構成を例に挙げて説明した。
【０１８７】
本実施例では、リトライ可能なエラーの場合には、失敗したデータマイグレーションのボリュームペアを再選択し、リトライ不能なエラーの場合には、元の移動先ボリュームと同一属性を有する別の論理ボリュームを新たに選択して、データマイグレーションを設定する。従って、再実行タスクが正常に完了する可能性を高めることができる。
【０１８８】
本実施例では、データマイグレーションの完了に要する時間を予測し、その予測結果をユーザに提供する（図１５参照）。従って、ユーザは、データマイグレーションにどのくらいの時間がかかるのか事前に把握することができ、使い勝手が向上する。例えば、ユーザは、完了時間の長いマイグレーションタスクから先に開始させるように、複数のタスクの実行順序を指示したり、入れ替えたりすることができる。
【実施例２】
【０１８９】
図２０に基づいて第２実施例を説明する。本実施例を含む以下の各実施例は、第１実施例の変形例に相当する。従って、以下の各実施例では、第１実施例との相違点を中心に説明する。第２実施例では、候補ボリュームを検索する場合に、最初に選択された移動先ボリュームと重要な属性が一致する論理ボリュームを検索する。
【０１９０】
図２０は、本実施例による管理サーバ１０で実施される、ボリュームペアの再選択処理を示すフローチャートである。本処理は、図１９に示す処理と共通のＳ９０，Ｓ９２〜Ｓ９４を備えており、Ｓ９１Ａのみ相違する。
【０１９１】
移動先ボリュームのエラーである場合（S90:YES）、管理サーバ１０は、属性の優先順位を管理するためのテーブルＴ６０を参照し、予め優先順位が高く設定されている属性が一致する候補ボリュームを検索する（Ｓ９１Ａ）。
【０１９２】
属性優先順位管理テーブルＴ６０には、例えば、ＲＡＩＤレベル、ディスクタイプ、回転数、アレイグループＩＤ等の各属性毎に、優先順位が予め設定されている。相対的に優先順位が高く設定される属性として、例えば、ＲＡＩＤレベルとディスクタイプ等を挙げることができる。相対的に優先順位の低く設定される属性としては、例えば、アレイグループＩＤと回転数等を挙げることができる。
【０１９３】
管理サーバ１０は、移動先ボリュームとして選択可能な複数の論理ボリュームの中から、最初に選択された移動先ボリュームと優先順位の高い属性が一致する論理ボリュームを、候補ボリュームとして選び出す。
【０１９４】
このように構成される本実施例も第１実施例と同様の効果を奏する。さらに、本実施例では、優先順位の高い属性が一致する論理ボリュームを、最初に選択された移動先ボリュームの代わりとなる候補ボリュームとして検索する。従って、候補ボリュームとして選択可能な範囲を広げることができ、使い勝手が向上する。
【実施例３】
【０１９５】
図２１，図２２に基づいて第３実施例を説明する。本実施例では、データマイグレーションにリトライ可能なエラーが発生した場合に、データマイグレーション完了時間の予測結果に基づいて、ボリュームペアの構成を変更する。図２１は、本実施例の管理サーバ１０により実施される、再実行タスクの生成処理を示すフローチャートである。
【０１９６】
管理サーバ１０は、エラー終了のタスクが有るか否かを判定する（Ｓ１００）。エラー終了したタスクが存在する場合（S100:YES）、管理サーバ１０は、そのエラー終了したタスクが再実行タスクであるか否かを判定する（Ｓ１０１）。
【０１９７】
エラー終了したタスクが一つも存在しない場合（S100:NO）、または、エラー終了したタスクが再実行タスクである場合（S101:YES）のいずれかである場合、図２２に示すエラー処理に移行する（Ｓ１１１）。エラー処理では、例えば、予め用意されているエラーメッセージをユーザに通知する。
【０１９８】
図２１に戻る。エラー終了したタスクが再実行タスクではない場合（S101:NO）、管理サーバ１０は、そのエラー終了タスク内において、データマイグレーションに失敗したボリュームペアを抽出する（Ｓ１０２）。
【０１９９】
管理サーバ１０は、そのデータマイグレーションのエラー原因がリトライ可能であるか否かを判定する（Ｓ１０３）。リトライ可能なエラーではない場合（S103:NO）、管理サーバ１０は、図１９または図２０で説明した処理を実行する（Ｓ１０４）。
【０２００】
リトライ可能なエラーである場合（S103:YES）、管理サーバ１０は、最初に選択されたボリュームペアについて、データマイグレーション完了に要する時間を改めて予測する（Ｓ１０５）。
【０２０１】
第１実施例では、リトライ可能なエラーの場合、最初に選択されたボリュームペア（元のボリュームペア）を用いて、データマイグレーションを再度実行させる。これに対し、本実施例では、完了時間を予測し直し、その結果に応じて、ボリュームペアの構成を変更させる。そこで、本実施例では、最初のボリュームペアについてのデータマイグレーション完了時間を予測し直す（Ｓ１０５）。
【０２０２】
管理サーバ１０は、予測された完了時間に基づいて、ボリュームペアの構成変更条件に該当するか否かを判定する。ボリュームペアの構成変更条件は、例えば、以下のように予め定義されている。
【０２０３】
（条件１）今回予測された完了時間Ｔnewが、前回予測された完了時間Ｔoldのα倍以上の場合（Ｔnew≧Ｔold×α  α＞０）。例えば、αの値は、例えば「１．２」程度に設定するこことができる。αの値は例示であって、その値に限定されない。以下に述べるβ，γについても同様である。
【０２０４】
（条件２）元のタスクがエラー終了した時間Ｔerrorが、今回予測された完了時間Ｔnewのβ倍以上の場合（Ｔerror≧Ｔnew×β  β＞０）。βの値は、例えば「２」程度に設定することができる。
【０２０５】
（条件３）他のボリュームペアの完了時間Ｔvol1よりもγ倍以上の完了時間Ｔvol2を有するボリュームがある場合（Ｔvol2≧Ｔvol1×γ  γ＞０）。γの値は、例えば「１．５」程度に設定することができる。
【０２０６】
上記の条件１〜条件３は例示であって、それらに限定されない。他の条件に基づいて、ボリュームペアの構成を変更すべきか否か判断することもできる。
【０２０７】
ボリュームペアの構成変更条件に該当しない場合（S106:NO）、管理サーバ１０は、元のボリュームペアを、新たなボリュームペアとして設定し（Ｓ１０７）、図２２のＳ１１５に移行する。
【０２０８】
ボリュームペアの構成変更条件に該当する場合（S106:YES）、管理サーバ１０は、移動先ボリュームのエラーであるか否かを判定する（Ｓ１０８）。移動先ボリュームのエラーではない場合（S108:NO）、エラー処理が行われ、所定のエラーメッセージがユーザに通知される（Ｓ１１１）。
【０２０９】
移動先ボリュームのエラーである場合（S108:YES）、図２２のＳ１０９に移る。図２２を参照する。管理サーバ１０は、移動先ストレージ装置内において、元の移動先ボリュームと同一属性を有する候補ボリュームを検索する（Ｓ１０９）。第２実施例で述べたように、優先順位の高い属性が一致する候補ボリュームを検索する構成でもよい。
【０２１０】
管理サーバ１０は、候補ボリュームが発見されたか否かを判定する（Ｓ１１０）。候補ボリュームを一つも発見できない場合（S110:NO）、エラー処理が行われ、所定のエラーメッセージがユーザに通知される（Ｓ１１１）。
【０２１１】
候補ボリュームが発見された場合（S110:YES）、管理サーバ１０は、候補ボリュームについてのデータマイグレーション完了時間を予測する（Ｓ１１２）。管理サーバ１０は、候補ボリュームについて予測された完了時間が、上述のボリュームペア構成変更条件に該当しないかどうかを判定する（Ｓ１１３）。その候補ボリュームを選択すると、ボリュームペア構成変更条件に該当してしまう場合（S113:NO）、管理サーバ１０は、Ｓ１０９に戻って、別の候補ボリュームを検索する。
【０２１２】
候補ボリュームがボリュームペア構成変更条件に該当しない場合（S113:YES）、管理サーバ１０は、その候補ボリュームを用いてボリュームペアを再設定し（Ｓ１１４）、タスク管理テーブルＴ１０に再実行タスクを登録させる（Ｓ１１５）。
【０２１３】
管理サーバ１０は、再実行タスクの生成が指示された各エラー終了タスクについて、再実行タスクが生成されたか否かを判定する（Ｓ１１６）。再実行タスクの生成されていないエラー終了タスクが残っている場合（S116:NO）、Ｓ１０２に戻る。指示されたエラー終了タスクの全てについて再実行タスクが生成された場合（S116:YES）、本処理は終了する。
【０２１４】
このように構成される本実施例も第１実施例及び第２実施例と同様の効果を奏する。さらに、本実施例では、元のボリュームペアをそのまま再選択可能な場合であっても、データマイグレーション完了時間に基づいてボリュームペアの構成を変更した方が良いか否か判定する。従って、再実行タスクが成功する可能性をより一層高めることができ、ユーザの使い勝手及びシステムの信頼性を向上させることができる。
【実施例４】
【０２１５】
図２３に基づいて第４実施例を説明する。本実施例では、データマイグレーションタスクを生成する場合に、第３実施例で述べたボリュームペア構成変更条件に該当するか否かを判定する。
【０２１６】
図２３は、本実施例による管理サーバ１０により実施される、データマイグレーションタスクを生成する処理のフローチャートである。本処理は、図１１に示すＳ２０〜Ｓ２５を全て含んでいる。さらに、本処理では、新たなステップＳ２６，Ｓ２７が、Ｓ２３とＳ２４との間に追加されている。
【０２１７】
管理サーバ１０は、生成されたボリュームペアについてのデータマイグレーション完了時間を予測した後（Ｓ２３）、その予測時間がボリュームペア構成変更条件に該当するか否かを判定する（Ｓ２６）。
【０２１８】
ボリュームペア変更条件に該当する場合（S26:YES）、管理サーバ１０は、図１９または図２０に示す処理を行って、ボリュームペアの構成を変更する（Ｓ２７）。
【０２１９】
このように構成される本実施例も第１〜第３実施例と同様の効果を奏する。さらに、本実施例では、タスクの生成時点で、データマイグレーション完了時間の予測値に基づいてボリュームペアの構成が妥当であるか否かを事前に判断する。従って、データマイグレーションタスクの成功可能性を高めることができ、使い勝手及び信頼性が向上する。
【０２２０】
なお、本発明は、上述した各実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、上記各実施例を適宜組み合わせることもできる。例えば、マイグレーション完了時間を予測する構成を除いた、マイグレーションタスクの再生成及びその関連について、上記各実施例を組み合わせることができる。それとは逆に、マイグレーションタスクを再生成する構成を除いた、マイグレーション完了時間の予測及びその関連について、上記各実施例を組み合わせることもできる。それらの各組合せも、本発明の範囲に含まれる。
【０２２１】
上記各実施例では、移動先ボリュームのデータ保全を省略する場合を説明した。しかし、移動先ボリュームのデータと移動元ボリュームのデータとを入れ替えることによって、移動先ボリュームのデータを保全しつつ、データマイグレーションを行う方式も知られている。入れ替え方式の場合、例えば、一時的に使用される退避用ボリュームを用意し、移動先ボリュームから退避ボリュームへデータを移動し、次に、移動元ボリュームから移動先ボリュームへデータを移動し、最後に、退避ボリュームから移動元ボリュームへデータを移動させる。上記３ステップ以外の方法で、入れ替え方式を実現してもよい。
【０２２２】
なお、上記各実施例で述べたように、移動先ボリュームのデータ保全を省略する方式の場合、マイグレーションタスクを作成した管理者とは異なる別の管理者が、先に移動先ボリュームへ別のデータを移動させてしまうこともあり得る。その場合、移動先ボリュームに移されたデータが上書きされてしまうのを防止すべく、その移動先ボリュームへのデータマイグレーションが抑止されることがある。
【０２２３】
その抑止処理は、ストレージ装置側によって行われる場合もあれば、管理サーバ側で行われる場合もある。その抑止処理は、例えば、その移動先ボリュームをマイグレーション先として指定できるかどうかの情報を、各ボリュームにそれぞれ設定できるようにすることで実現することができる。そのような指定可否を示す情報を用意すれば、同一の移動先ボリュームに、それぞれ異なる別々の移動元ボリュームからデータがコピーされるのを防止することができる。
【符号の説明】
【０２２４】
１：管理装置、１Ａ：タスク管理部、１Ｂ：マイグレーション制御部、１Ｃ：エラー検出部、１Ｄ：予測部、１Ｅ：再実行タスク生成部、１Ｅ１：設定変更部、１Ｅ２：関連づけ部、２：ストレージ装置、２Ａ：コントローラ、２Ｂ：論理ボリューム、３：ホストコンピュータ、ＣＮ１，ＣＮ２：通信ネットワーク、１０：管理サーバ、２０：ストレージ装置、３０：ホストコンピュータ、１００：コントローラ、１１０：第１通信部、１２０：第２通信部、１３０：マイクロプロセッサ、１４０：キャッシュメモリ、２１０：記憶装置、２２０：アレイグループ、２３０：論理ボリューム。
【図１】
2010266993.tif 000003
【図２】
2010266993.tif 000004
【図３】
2010266993.tif 000005
【図４】
2010266993.tif 000006
【図５】
2010266993.tif 000007
【図６】
2010266993.tif 000008
【図７】
2010266993.tif 000009
【図８】
2010266993.tif 000010
【図９】
2010266993.tif 000011
【図１０】
2010266993.tif 000012
【図１１】
2010266993.tif 000013
【図１２】
2010266993.tif 000014
【図１３】
2010266993.tif 000015
【図１４】
2010266993.tif 000016
【図１５】
2010266993.tif 000017
【図１６】
2010266993.tif 000018
【図１７】
2010266993.tif 000019
【図１８】
2010266993.tif 000020
【図１９】
2010266993.tif 000021
【図２０】
2010266993.tif 000022
【図２１】
2010266993.tif 000023
【図２２】
2010266993.tif 000024
【図２３】
2010266993.tif 000025