次に、本発明の実施の形態を実施例について説明する。
ここで、本実施例では、物理ディスクに対するアクセスを、ホスト計算機からのアクセスコマンドによって発生するアクセスと、ストレージ装置の管理上の処理により発生するアクセスとに区別する。なお、ストレージ装置の管理上の処理により発生するアクセスとは、ホスト計算機を経由しないで発生する物理ディスクへのアクセスであり、例えば、ストレージ装置間のデータ移行処理のために発生する物理ディスクへのアクセスがある。
本実施例では、たとえばデータ移行処理の場合、ホスト計算機がストレージ装置へアクセスした時点と、ストレージ装置がデータ移行を完了した時点とに基づいて、物理ディスクを省電力モードになるよう節電制御をする。
以下、第1の実施例について説明する。
図1は、本発明の一実施例であるストレージシステム900の構成を示す説明図である。このストレージシステム900は、ホスト計算機100、101、102、管理サーバ200、ストレージ装置300、400を有している。ホスト計算機100、101、102とストレージ装置300、400はそれぞれストレージエリアネットワーク(SAN)540に接続されている。ストレージ装置300、400は、管理用ネットワーク520を介して管理サーバ200と接続されている。また、ホスト計算機100、101、102と管理サーバ200とは、ローカルエリアネットワーク(Local Area Network)LAN510にそれぞれ接続されている。また、ストレージ装置300とストレージ装置400は、コピー用ネットワーク530を介して接続されている。また、LAN510、管理ネットワーク520、コピー用ネットワーク530、及びSAN540は同一のネットワークであってもよい。
ホスト計算機100、101、102は、CPU(中央演算処理装置)110、メモリ120、ローカルエリアネットワークLAN510との接続のためのインタフェース190と、ストレージエリアネットワークSAN540との接続のためのインタフェース191と、を有している。これらの各構成要素はバス180を介して互いに接続されている。ホスト計算機100、101、102の機能は、CPU110がプログラムを実行することによって実現されている。メモリ120は、CPU110が用いるデータとプログラムとを記憶する。メモリ120は、エージェントプログラム121、ボリュームマネージャ122、オペレーティングシステム123、スケジューリングテーブル124、を有している。エージェントプログラム121は、CPU110によって実行されるプログラムであり、後述する管理サーバ200のストレージ管理プログラム221と連携して、ホスト計算機100、101、102の有する情報を管理サーバ200に伝送するプログラムである。ボリュームマネージャ122は、CPU110によって実行されるプログラムであり、ストレージ装置300、400から提供される論理ボリュームのマウント、アンマウント処理を実行する。オペレーティングシステム123は、ホスト計算機100、101、102からストレージ装置300、400へのアクセスを管理するプログラムである。スケジューリングテーブル124は、ホスト計算機100、101、102のアプリケーションが利用している論理ボリュームの利用スケジュールなどを保持する。以下、図2を用いて、スケジューリングテーブル124について詳細にのべる。図2に示すように、スケジューリングテーブル124は、ホスト計算機100、101、102からの論理ボリュームの識別子であるLUN1240、ストレージ装置からの論理ボリュームの識別子であるボリューム識別子1241、論理ボリュームを構成する物理ディスクである構成ディスク1242、論理ボリュームを利用するホスト計算機100、101、102のアプリケーションの運用が開始される時刻を示す運用開始時刻1243、論理ボリュームを利用するホスト計算機100、101、102のアプリケーションの運用が終了する時刻を示す運用終了時刻1244、論理ボリューム毎に設定された物理ディスクを省電力モードに移行するまでの所定期間を示すデフォルト省電力条件1245の6つのカラムを有する。
論理ボリュームを利用するアプリケーションが運用中でない場合、物理ディスクは省電力モードとなるよう制御される。論理ボリュームを利用するアプリケーションが運用中である場合(つまり、その論理ボリュームについて、現在時刻が、運用開始時刻1243と運用終了時刻1244の間である場合)であっても、その論理ボリュームに対するアクセスが最後に発生した時刻から所定期間経過後には、物理ディスクを省電力モードに移行可能となる。この物理ディスクを省電力モードへ移行するための条件である、その論理ボリュームに対するアクセスが最後に発生した時刻から物理ディスクを省電力モードへ移行するまでの所定期間のことを、ここではデフォルト省電力条件1245という。また、ここでいう物理ディスクを省電力モードに移行するとは、たとえば、物理ディスクの回転速度を物理ディスクの立ち上げがすぐに可能な程度に低速に変更することや物理ディスクへの電力供給を停止することをいう。
なお、運用開始時刻1243と運用終了時刻1244の指定がない場合、その論理ボリュームを利用するアプリケーションは運用中であることが示される。ホスト計算機100、101、102は、他に、ホスト計算機100、101、102のユーザがデータを入力するためのデータ入力装置や、ホスト計算機100、101、102のユーザに情報を提示する表示装置を有しているが、省略する。
管理サーバ200は、CPU210と、メモリ220と、ローカルエリアネットワークLAN510との接続のためのインタフェース290と、管理用ネットワーク520との接続のためのインタフェース291と、を有している。これらの各構成要素はバス280を介して互いに接続されている。管理サーバ200の機能は、CPU210がプログラムを実行することによって実現されている。メモリ220は、CPU210が用いるデータとプログラムとを記憶する。メモリ220は、ストレージ管理プログラム221と、ボリューム移行管理プログラム222と、電源管理プログラム223と、アクセス管理テーブル224と、を有している。
ストレージ管理プログラム221は、管理ネットワーク520を経由してストレージ装置300、400からシステム構成情報を取得し、その情報をアクセス管理テーブル224に格納し、システム構成を管理する。また、このストレージ管理プログラム221は、LAN510を経由し、ホスト計算機100、101、102内のエージェントプログラム121と連携して、ホスト計算機100、101、102のシステム構成情報を取得し、ホスト計算機100、101、102のシステム構成を管理する。さらに、ストレージ管理プログラム221は、ホスト計算機100、101、102内のエージェントプログラム121と連携して、オペレーティングシステム123が有するホスト計算機100、101、102のストレージ装置300、400へのアクセス時刻に関する情報と、スケジューリングテーブル124に格納された情報を取得して、これらの情報を管理サーバ200のアクセス管理テーブル224に格納する。ボリューム移行管理プログラム222は、ストレージ装置の論理ボリューム間のデータ移行を管理するプログラムであり、ストレージ装置300、400のボリューム移行プログラム321、421と連携して、論理ボリューム間のデータ移行処理を実行する。電源管理プログラム223は、アクセス管理テーブル224に格納された情報を用いて、物理ディスクを省電力モードに移行するか否かの判定を行う。さらに、電源管理プログラム223は、ストレージ装置300、400の電源制御プログラム322、422と連携して、ストレージ装置300、400の物理ディスク350、450を省電力モードに移行するプログラムである。アクセス管理テーブル224は、ストレージ管理プログラム221の処理により、ストレージ装置300、400から取得したストレージ装置の構成情報や、ホスト計算機100、101、102から取得したホスト計算機100、101、102からストレージ装置300、400へのアクセス状況に関する情報などを保持する。
図3を用いて、アクセス管理テーブル224について、詳細に説明する。図3に示すように、アクセス管理テーブルは、ホスト識別子2240、ストレージ装置が認識するための論理ボリュームの識別子であるボリューム識別子2241、その論理ボリュームを構成する物理ディスクを示す情報である構成ディスク2242、データの移行先の論理ボリュームの識別子である移行先ボリューム識別子2243、移行先の物理ディスクである移行先構成ディスク2244、ホスト計算機100、101、102からの各論理ボリュームへ最後にアクセスがあった時刻であるホスト最終アクセス時刻2245、ホスト計算機100、101、102から最後にアクセスがあった時刻から物理ディスクが省電力モードに移行可能となるまでの期間である省電力条件2246の7つのカラムを有する。ここでいう、省電力条件2246とは、ホスト最終アクセス時刻から物理ディスクを省電力モードへ移行するまでの期間であり、後述するように、スケジューリングテーブル124に格納された運用開始時刻1243、運用終了時刻1244およびデフォルト省電力条件1245に応じて決定される。
ストレージ管理プログラム221は、スケジューリングテーブル124のボリューム識別子1241とアクセス管理テーブル224のボリューム識別子2241を対応させて、アクセス管理テーブル224の各カラムに、ホスト計算機100、101、102から取得した情報を格納する。ホスト最終アクセス時刻2245は、ホスト計算機100、101、102のオペレーティングシステム123から取得した情報である。
後述するように、管理サーバ200は、ホスト計算機100、101、102のそれぞれから、ホスト計算機100、101、102が最後にストレージ装置の論理ボリュームへアクセスした時刻に関する情報を取得し、アクセス管理テーブル224のホスト最終アクセス時刻2245に格納する。つまり、アクセス管理テーブル224には、ストレージ装置300、400の物理ディスク350、450へのアクセスのうち、ホスト計算機100、101、102からのアクセスコマンドによって発生したアクセスが、反映される。また、ホスト計算機100、101、102が複数ある場合、ストレージ装置300、400へのアクセスは、図3に示すように、アクセスコマンドを発行したホスト計算機100、101、102ごとに区別して、アクセス管理テーブル224に反映される。
管理サーバ200は、他に、管理サーバ200のユーザがデータを入力するためのデータ入力装置や、管理サーバ200のユーザに情報を提示する表示装置を有しているが、省略する。尚、表示装置には、管理サーバ200のアクセス管理テーブル224に格納された情報を、表示させても良い。
ストレージ装置300、400は、物理ディスク350、450が有するデータ記憶領域を論理ボリュームとしてホスト計算機100、101、102に提供する。ストレージ装置300は、制御装置305と、物理ディスク350と、ストレージエリアネットワークSAN540との接続のためのインタフェース390と、管理用ネットワーク520との接続のためのインタフェース391と、コピー用ネットワーク530との接続のためのインタフェース392を有している。また、物理ディスク350は、1つ以上存在する。これらの各構成要素はバス380を介して互いに接続されている。制御装置305は、CPU310と、メモリ320と、を有している。また、メモリ320は、CPU310が種々の処理を実行する際に用いるプログラムを記憶する。
メモリ320は、少なくともボリューム移行プログラム321と、電源制御プログラム322と、を有している。
ボリューム移行プログラム321は、管理サーバ200のボリューム移行管理プログラム222の指示を受け、論理ボリューム間でのデータ移行を実行するプログラムである。電源制御プログラム422は、管理サーバ200の電源管理プログラム223の指示を受け、物理ディスク350を省電力モードへ移行する制御を行うプログラムである。
なお、ストレージ装置400は、ストレージ装置300と同様の構成を有する。
図4に、ストレージ装置300、400の有する物理ディスク350、450と論理ボリュームの関係を示す。ストレージ装置300、400がホスト計算機100、101、102に提供する論理ボリュームは、複数の物理ディスク350のデータ記憶領域に跨って配置されている。そして、論理ボリュームは、複数あり、それぞれの論理ボリュームには、識別子が付与されている。
以下、本実施例の全体の処理の流れを説明する。
ホスト計算機100、101、102のオペレーティングシステム123は、ホスト計算機100、101、102からストレージ装置300、400へ対して発行されたReadコマンドやWriteコマンドなどのアクセスコマンドの履歴を保持している。つまり、ホスト計算機100、101、102は、ホスト計算機100、101、102からストレージ装置の物理ディスクへ最後にアクセスコマンドが発行された時刻に関する情報を保持している。 一方、データ移行処理(ストレージ装置の管理上の処理)は、管理サーバ200のボリューム移行管理プログラム222がストレージ装置300、400のボリューム移行プログラム321、421と連携することにより、実行される。管理サーバ200のストレージ管理プログラム221は、データ移行処理のために発生するストレージ装置300、400の物理ディスクへのアクセスが終了したことを契機に処理を開始する。管理サーバ200のストレージ管理プログラム221が、ホスト計算機100、101、102のエージェントプログラム121と連携して、ホスト計算機100、101、102からストレージ装置の物理ディスクへ最後にアクセスコマンドが発行された時刻に関する情報を、ホスト計算機100、101、102の有から取得し、アクセス管理テーブル224に格納する。これにより、管理サーバ200は、ホスト計算機100、101、102から発行されるアクセスコマンドにより発生するストレージ装置の物理ディスクへのアクセスと、データ移行処理(ストレージ装置の管理上の処理)により発生するアクセスを、管理することができる。そして、管理サーバ200の電源管理プログラム223が、アクセス管理テーブル224に格納された情報を用いて、物理ディスクを省電力モードに移行するべきか否かの判定を行い、その判定結果に応じて、ストレージ装置300、400の電源制御プログラム322、422と連携して、物理ディスクを省電力モードに移行する制御をする。
以上の処理により、物理ディスクへのアクセスを、ホスト計算機100、101、102からのアクセスコマンドによって発生するアクセスと、ストレージ装置の管理上の処理により発生するアクセスとに区別する。そして、ホスト計算機からのアクセスに応じて、ストレージ装置の物理ディスクを制御することで、ストレージ装置の消費電力量の低減を実現することが出来る。
以下、本実施例の処理の詳細について図5乃至図14を用いて詳細に説明する。
図5に各装置間の処理の流れを示す。図5の(1)に示す処理はストレージシステム900の初期設定を行う処理であり、(2)に示す処理は、ストレージシステム900において論理ボリューム間のデータ移行処理が発生した場合の処理である。
まず、フローS101において、管理サーバ200は管理下のストレージ装置300、400、ホスト計算機100、101、102から、システム構成情報を取得し、アクセス管理テーブル224に格納する。
次にフローS102において、管理サーバ200はストレージ装置300、400に対し論理ボリューム間のデータ移行処理開始の指示を送信する。
次にフローS103において、管理サーバ200から、データ移行処理の指示を受信したストレージ装置300、400は、管理サーバ200からの指示に基づき、論理ボリューム間のデータ移行処理を実行する。
そして、フローS104において、ストレージ装置300、400は、管理サーバ200にデータ移行処理完了の通知を送信する。
次にフローS105において、管理サーバ200は、ストレージ装置300、400からデータ移行完了の通知を受信したことを契機に、論理ボリュームのパス切り替え処理を行う。
次にフローS106において、管理サーバ200は、ホスト計算機100、101、102のそれぞれに対し、ホスト計算機100、101、102が最後にストレージ装置300、400へアクセスを行った時刻であるホスト最終アクセス時刻と、最終アクセス時刻から物理ディスクが省電力モードに移行可能となるまでの論理ボリューム毎に定められた期間である省電力条件に関する情報の要求を送信する。
次にフローS107において、ホスト計算機100、101、102は、管理サーバ200からの要求に応じて、ホスト最終アクセス時刻と、省電力条件に関する情報を管理サーバ200へ送信する。
次にフローS108において、管理サーバ200は、ホスト計算機100、101、102から受信した情報を、アクセス管理テーブル224に格納する。
そして、フローS109において、管理サーバは、アクセス管理テーブル224に格納された情報を用いて、データ移行の対象であったストレージ装置の物理ディスクを省電力モードに移行してよいかの判定を行う。
次にフローS110において、管理サーバ200は、S109での判定結果に応じて、ストレージ装置300、400へ、物理ディスクを省電力モードにするよう指示を送信する。
最後にフローS111において、管理サーバ200から指示を受信したストレージ装置300、400は、指示のあった物理ディスク350、450を省電力モードに移行する。
図6に、管理サーバ200が、アクセス管理テーブルに、ストレージ装置300、400、ホスト計算機100、101、102のシステム構成情報を格納する処理(S101)について詳細を示す。
ステップS201において、管理サーバ200のストレージ管理プログラム221は、管理下のストレージ装置300、400、ホスト計算機100、101、102をディスカバリする。次にステップS202において、管理サーバ200のストレージ管理プログラム221は、アクセス管理テーブル224にホスト識別子2240、ボリューム識別子2241、構成ディスク2242の情報を格納する。
図7に、管理サーバ200が、ストレージ装置300、400へデータ移行開始処理の指示を送信する処理(S102)について、詳細を示す。
まず、ステップS301において、管理サーバ200のボリューム移行管理プログラム222はデータ移行の対象となる論理ボリュームを選択する。次にステップS302において、管理サーバ200のボリューム移行管理プログラム222はデータ移行の対象となる論理ボリュームのボリューム識別子、ディスク情報を、アクセス管理テーブル224の移行先ボリューム識別子カラム2243、移行先構成ディスクカラム2244に設定する。次にステップS303において、管理サーバ200の移行管理プログラム222は、ストレージ装置300のボリューム移行プログラム321、ストレージ装置400のボリューム移行プログラム421に対してデータ移行開始指示を送信する。
図8に、ストレージ装置300、400が、管理サーバ200からデータ移行処理開始の指示を受信してから、データ移行を実行し(S103)、データ移行処理完了の通知を管理サーバ200へ送信する(S104)までの処理の詳細を示す。
図8のフローに示す処理は、ストレージ装置300、400のボリューム移行プログラム321、421が、管理サーバ200のデータ移行管理プログラム222からデータ移行開始指示を受信すること(S401)を契機に、開始される。次にステップS402において、ストレージ装置300のボリューム移行プログラム321は、管理サーバ200の移行管理プログラム222から指定されたストレージ装置300の有する移行元の論理ボリュームからデータを読出し、コピーネットワーク530を介して、読出したデータを、ストレージ装置400に送信する。次にステップS403において、ストレージ装置400のボリューム移行プログラム421は、管理サーバ200の移行管理プログラム222から指定されたストレージ装置400の有する移行先の論理ボリュームに、ストレージ装置300から受信したデータを書き込む。次にステップS404において、ボリューム移行プログラム321は、移行元の論理ボリュームのデータが、全て移行先ボリュームに書き込まれたかどうかを調べる。書き込みが完了していない場合は、S401へ戻る。全てのデータが書き込まれた場合はステップS405へ進む。ステップS405では、ストレージ装置300のボリューム移行プログラム321は管理サーバ200に対してデータ移行処理完了の通知を送信する。
図9に、管理サーバ200が、データ移行処理完了の通知をストレージ装置から受信してから、論理ボリュームのパスを切り替え(S105)、ホスト計算機100、101、102のそれぞれに対し、ホスト最終アクセス時刻と省電力条件に関する情報を要求する(S106)までの処理の詳細を示す。
図9のフローに示す処理は、S501において、管理サーバ200のボリューム移行管理プログラム222が、ストレージ装置300のボリューム移行プログラム321から、データ移行完了の通知を受信したことを契機に開始される。次に、S502において、管理サーバ200のストレージ管理プログラム221は、データ移行対象の論理ボリュームを利用しているホスト計算機100、101、102のボリュームマネージャ122に対し、ストレージ装置300の有するデータ移行元の論理ボリュームをアンマウントする指示を送信する。次にステップS503において、ホスト計算機100、101、102からのボリュームマネージャ122から、ストレージ装置300の移行元論理ボリュームのアンマウントが完了した旨の通知を受信する。次にステップS504において、管理サーバ200のストレージ管理プログラム221は、ストレージ装置400の移行先論理ボリュームをホスト計算機100、101、102に対してパスを割り当てる。次にステップS505において、管理サーバ200のストレージ管理プログラム221は、ホスト計算機100、101、102のボリュームマネージャ122に対し、ストレージ装置400の移行先論理ボリュームをマウントするよう指示を送信する。次にステップS506において、ストレージ管理プログラム221は、ホスト計算機100、101、102のボリュームマネージャ122から、移行先論理ボリュームのマウントが完了し、パスが切り替わった旨の通知を受信する。なお、ホスト計算機100、101、102からは、データ移行前の論理ボリュームもデータ移行後の論理ボリュームも、同じLUN1240で識別される。次に、S507において、管理サーバのストレージ管理プログラム222は、データ移行対象であった論理ボリュームを構成する物理ディスクの記憶領域を利用しているホスト計算機100、101、102それぞれに対して、データ移行対象であった論理ボリュームを構成する物理ディスクに含まれる論理ボリュームについてのホスト最終アクセス時刻と省電力条件に関する情報の要求を送信する。前述したように、ホスト最終アクセス時刻とは、ホスト計算機100、101、102がストレージ装置300、400の有する論理ボリュームに最後にアクセスした時刻である。省電力条件とは、前述したホスト最終アクセス時刻から物理ディスクが省電力モードへ移行可能となるまでの期間である。この省電力条件は、デフォルト省電力条件と、ホスト計算機上のアプリケーションの運用スケジュールと、に応じて決定される。ストレージ管理プログラム222は、アクセス管理テーブル224に格納された、ホスト識別子2240、ボリューム識別子2241、構成ディスク2242に関する情報を参照して、データ移行対象であった論理ボリュームを構成する物理ディスクと、その物理ディスクの記憶領域を利用するホスト計算機を特定する。
図10に、ホスト計算機100、101、102のそれぞれが、管理サーバ200からホスト最終アクセス時刻と省電力条件に関する情報の要求を受信してから、管理サーバ200へホスト最終アクセス時刻と省電力条件に関する情報を送信する(S107)までの処理の詳細を示す。
図10のフローに示す処理は、ホスト計算機100、101、102のそれぞれのエージェントプログラム121が、管理サーバ200のストレージ管理プログラム222からホスト最終アクセス時刻と省電力条件に関する情報の要求を受信したこと(S601)を契機に、ホスト計算機100、101、102それぞれにおいて実行される。ステップS602において、ホスト計算機100、101、102のエージェントプログラム121は、ストレージ管理プログラム221から要求に応じて、オペレーティングシステム123が有するファイルの更新情報を参照し、ストレージ管理プログラム221から要求のあった論理ボリュームについての最終アクセス時間に関する情報を取得し、管理サーバ200のストレージ管理プログラム221へ送信する。次にステップS603において、エージェントプログラム121は、ストレージ管理プログラム221から要求のあった論理ボリュームについて、スケジューリングテーブル124の運用開始時刻が設定されているかどうかを調べる。運用開始時刻が設定されている場合はS604へ進む。設定されていない場合はS606へ進む。ステップS604で、エージェントプログラム121は、さらに、現在時刻が運用時間内に含まれているかを調べる。現在時刻が運用時間内に含まれている場合はステップS606へ進む。含まれていない場合はステップS605へ進む。ステップS606では、エージェントプログラム121は、スケジューリングテーブル124のデフォルト省電力条件1245を当該論理ボリュームの省電力条件とし、省電力条件として指定されている情報を管理サーバ200のストレージ管理プログラム221へ送信し、ステップS607へ進む。ステップS605では、エージェントプログラム121は、省電力条件を0分間として、省電力条件を管理サーバ200のストレージ管理プログラム221へ送信し、ステップS607へ進む。次にステップS607において、エージェントプログラム121は、管理サーバ200のストレージ管理プログラム221から要求のあった全ての論理ボリュームについて、ホスト最終アクセス時刻、省電力条件を管理サーバ200へ送信したかを調べる。全て送信した場合は、ステップS701へ進む。送信していない論理ボリュームがある場合は、ステップS601へ戻る。
図11に、管理サーバ200が、ホスト計算機100、101、102からホスト最終アクセス時刻と省電力条件に関する情報を受信してから、その情報をアクセス管理テーブル224に格納する処理を示す(S108)。
S701において、管理サーバ200のストレージ管理プログラム221は、ホスト計算機100、101、102のそれぞれのエージェントプログラム121から、前述のS507において要求したホスト最終アクセス時間と省電力条件に関する情報を受信する。次にS702において、管理サーバ200のストレージ管理プログラム221は、受信したホスト最終アクセス時刻と省電力条件をアクセス管理テーブル224のホストアクセス最終時刻2245、省電力条件2246に格納する。
図12、図13に、アクセス管理テーブルの情報を用いて、物理ディスクを省電力モードへ移行するか否かの判定を行い(S109)、その判定結果に応じてストレージ装置400へ物理ディスクを省電力モードへ移行するよう指示を送信する(S110)までの処理について、移行先の物理ディスク450の場合を詳細に示す。図12に示す処理は、移行先論理ボリュームを含む物理ディスクについて行う管理サーバ200の処理であり、図13に示す処理は、移行元論理ボリュームを含む物理ディスクについて行う管理サーバ200の処理である。なお、以下にいう、省電力時間とは、現在時間から物理ディスクを省電力モードに移行可能となるまでの期間である。
まず、S801において、管理サーバ200の電源管理プログラム223は、移行先論理ボリュームを構成する物理ディスクに含まれる論理ボリュームについて、アクセス管理テーブル224のホスト最終アクセス時刻2245から現在時刻までの経過時間(以下、ディスクアイドル時間という)を算出し、管理サーバのメモリに格納する。次にステップS802において、電源管理プログラム223は、アクセス管理テーブル224の省電力条件2246と算出したディスクアイドル時間を比較する。省電力条件2246が算出したディスクアイドル時間より短い場合はS803へ進み、省電力条件2246が算出したディスクアイドル時間より長い場合はS804へ進む。S803において、電源管理プログラム223は、現在時刻から物理ディスクを省電力モードに移行可能となるまでの期間である省電力時間を0分間とし、S805へ進む。S804において、電源管理プログラム223は、省電力条件2246と算出したディスクアイドル時間の差を省電力時間とし、ステップS805へ進む。ステップS805では、電源管理プログラム223は、データ移行先論理ボリュームを構成する物理ディスクに含まれる全ての論理ボリュームに対して省電力時間を算出したかどうかを調べる。全ての論理ボリュームの省電力時間を算出した場合はステップS806へ進む。全て算出できていない場合は、ステップS801へ戻る。次にステップS806において、電源管理プログラム223は、データ移行先論理ボリュームを構成する物理ディスクに含まれる複数の論理ボリュームについて算出した省電力時間(t)のうち、最大値(t_max)を算出する。次にステップS807において、電源管理プログラム223は、データ移行先のストレージ装置400の電源制御プログラム422に対して、データ移行先論理ボリュームを有する物理ディスクを、省電力モードへ移行するよう指示を、t_max経過後に送信する。なお、ステップS807においては、管理サーバの電源管理プログラム223からストレージ装置400の電源制御プログラム422に、データ移行先の論理ボリュームに対応する物理ディスクについて、t_max経過後に省電力モードにするという属性を付与して、指示を送信してもよい。
このようにして、物理ディスクに含まれる複数の論理ボリュームのそれぞれについて、省電力時間(現在時刻から、物理ディスクを省電力モードに移行可能となるまでの期間)をもとめ、論理ボリュームそれぞれについて求められた複数の省電力時間のうちの最長時間に応じて、物理ディスクを制御することで、物理ディスクに含まれる複数の論理ボリュームのアクセスを妨げることを防ぐことができる。
一方、図13に、物理ディスクを省電力モードへ移行するか否かの判定を行い(S109)、その判定結果に応じてストレージ装置400へ物理ディスクを省電力モードへ移行するよう指示を送信する(S110)までの処理について、移行元の物理ディスク350の場合を詳細に示す。まずステップS901において、管理サーバ200の電源管理プログラム223は、移行元の論理ボリュームを構成する物理ディスクに含まれる論理ボリュームについて、ディスクアイドル時間を算出する。次にステップS902において、電源管理プログラム223は、ディスクアイドル時間を算出した対象は移行元論理ボリュームかどうかを調べる。ディスクアイドル時間を算出対象が移行元論理ボリュームの場合は、ステップS903へ進む。経過時間を算出対象が移行元論理ボリュームで無い場合は、ステップS904へ進む。S903においては、その論理ボリュームに対応する省電力時間を0としステップS906へ進む。ステップS904において、電源管理プログラム223は、アクセス管理テーブル224の省電力条件2246とディスクアイドル時間を比較する。省電力条件2246がディスクアイドル時間より長い場合、S905へ進み、省電力条件2246がディスクアイドル時間より短い場合、S903へ進んで省電力時間を0としてS906へ進む。S905においては、省電力条件2246とディスクアイドル時間の差をその論理ボリュームに対応する省電力時間としてステップS906へ進む。ステップS906において、電源管理プログラムS906は、データ移行元論理ボリュームを有する物理ディスクに含まれる全ての論理ボリュームに対して省電力時間を計算したかどうかを調べる。全て計算した場合は、ステップS907へ進む。全ての計算が終了しない場合は、ステップS901へ戻る。S907においては、電源管理プログラム223は、省電力時間(t)の最大値(t_max)を計算する。次にステップS908において、電源管理プログラム223は、ストレージ装置300の電源制御プログラム422に対して、t_max経過後に省電力モードへ移行する指示を送信する。
そして、図14に、ストレージ装置300、400が、管理サーバ200からの指示に応じて、物理ディスクを省電力モードへ移行する処理(S111)の詳細を示す。
ステップS1001において、ストレージ装置300、400の電源制御プログラム322、422は、管理サーバ200の電源管理プログラム223から、物理ディスクを省電力モードにする指示を受信する。次に、S1002において、電源制御プログラム322、422は、電源管理プログラム223から指定された物理ディスクを、電源管理プログラム223から受信した指示に応じて、省電力モードへ移行する。
本実施例では、ホスト計算機からのアクセスとストレージ装置の管理上の処理のためのアクセスとを区別し、ホスト計算機からのアクセスに応じて、物理ディスクの制御を行うことで、ストレージ装置の消費電力量の低減を図ることができる。また、データ移行元の論理ボリュームへホスト最終アクセス時間や省電力条件を用いて、データ移行先の論理ボリューム対応する物理ディスクを制御することで、物理ディスクをより適切な時間に省電力モードへ移行することができるので、余分な電力消費を避け、低減することが可能となる。
なお、本実施例では、ストレージ装置の管理上の処理の一例として、管理サーバ200のボリューム移行管理プログラム222とストレージ装置300、400のボリューム移行プログラム321、421が連携して実行する論理ボリューム間のデータ移行処理について述べたが、ストレージ装置の管理上の処理はデータ移行処理に限定されない。ストレージ装置の管理上の処理には、他にも、たとえば、障害の発生の有無を診断するために省電力モードの物理ディスクに対し、所定期間毎にアクセスを行う処理や、論理ボリューム間のコピー処理などがある。
以下に図15から図20を用いて、本実施例の応用例として、論理ボリューム間のコピー処理の場合を説明する。
図15は、図1に示すストレージシステム900の応用例であるストレージシステム900bの構成を示す図である。図1のストレージシステム900ではデータ移行処理を実施する場合を説明したが、図15に示すストレージシステム900bでは、コピー処理を実施する場合を説明する。このストレージシステム900bは、複数のホスト計算機100、101、102、管理サーバ200、ストレージ装置300、400を有している。本構成の大部分は図1に示すストレージシステム900の構成と同等である。図1に示すストレージシステム900との差異は、管理サーバ200のメモリ220内のアクセス管理テーブル224bの有する情報が一部異なること、また、ボリューム移行管理プログラム222ではなくコピー管理プログラム225が存在していることである。また、ストレージ装置300、400のメモリ320、420内にボリューム移行プログラム321、421ではなく、ボリュームコピープログラム326、426が存在していることである。図16にアクセス管理テーブル224bの詳細を示す。図16に示すように、アクセス管理テーブル224bは、図1のアクセス管理テーブル224の移行先ボリューム識別子2243、移行先の構成ディスク2244のカラムをそれぞれコピー先のボリューム識別子2243b、コピー先の構成ディスク2244bのカラムへ変更したものである。管理サーバ200の有するコピー管理プログラム225は複数のストレージ装置のコピー処理を管理するプログラムである。ストレージ装置300、400の有するボリュームコピープログラム326、426はストレージ装置300、400のコピー処理を実行するプログラムである。
図17を用いて、図15に示すストレージシステム900bが行う処理を説明する。図17の(1)に示す処理はストレージシステム900bの初期設定を行う処理であり、図17の(2)に示す処理は、ストレージシステム900bにおいて論理ボリューム間のコピー処理が発生した場合の処理である。前述した図1のストレージシステム900におけるデータ移行処理を実施する場合の処理を示した図5と図17との差異は、図5の移行処理開始S102がコピー処理開始S1102に変更されていること、図5の移行処理実行S103がコピー処理実行S1103に変更されていること、図5のパス切り替え処理S104が存在しないこと、図17のS1108示す物理ディスクを省電力モードに移行するか否かの判定が、図5のS109に示す物理ディスクを省電力モードに移行するか否かの判定とは異なることである。その詳細については、後述する。
コピー処理の場合は、コピー処理完了後も、コピー元論理ボリュームとホスト計算機とのパスが存在している。つまり、コピー処理完了後もコピー元の論理ボリュームに対してホスト計算機からのアクセスが発生する。そのため、コピー処理が完了したからといって、コピー元論理ボリュームを含む物理ディスクをただちに省電力モードに変更することは出来ない。よって、物理ディスクを省電力モードに変更するか否かの判定が、データ移行処理の場合とは、一部異なる。
まず、S1101において、前述した図1のストレージシステム900におけるデータ移行処理の場合と同様に、管理サーバは、ストレージ管理プログラム221の処理により、アクセス管理テーブル224bにシステム構成情報を格納する。
次に、S1102において、管理サーバは、コピー管理プログラム225の処理により、ストレージ装置300、400にコピー処理開始の指示を送信する。
図18に、S1102の詳細を示す。まず、S1201において、管理サーバ200のコピー管理プログラム225はコピー対象となる論理ボリュームを選択する。そして、S1202において、管理サーバ200のコピー管理プログラム225はコピー対象となる論理ボリュームのボリューム識別子、ディスク情報を、アクセス管理テーブル224bのコピー先ボリューム識別子カラム2243b、コピー先構成ディスクカラム2244bに設定する。そして、S1203において、管理サーバ200のコピー管理プログラム225は、ストレージ装置300、400のボリュームコピープログラム326とストレージ装置400のボリュームコピープログラム426に対してコピー処理開始の指示を送信する。
続いて、図17のS1103、S1104において、コピー処理開始の指示を受けたストレージ装置300、400は、ボリュームコピープログラム326、426の処理により、コピー処理を実行し、コピー処理完了の通知を管理サーバ200へ送信する。
図19を用いて、S1103、S1104の詳細を説明する。まず、S1301において、コピー処理開始の指示を受信したストレージ装置300は、ボリュームコピープログラム326の処理により、管理サーバ200のコピー管理プログラム225から指定されたコピー元論理ボリュームのデータを、コピー先論理ボリュームを有するストレージ装置400へ送信する。次に、S1302において、ストレージ装置400は、ボリュームコピープログラム426の処理により、ストレージ装置300から受信したデータを、管理サーバ200のコピー管理プログラム225により指定されたコピー先論理ボリュームに書き込む。そして、S1303において、ストレージ装置300、400は、ボリュームコピープログラム326、426の処理により、管理サーバ200のコピー管理プログラム225より指定された全ての論理ボリュームについて、コピー処理が完了したか判定する。全ての論理ボリュームのコピー処理が完了した場合は、S1304へ進み、完了していない場合は、S1301へ戻る。S1304では、ストレージ装置300のボリュームコピープログラム325は管理サーバ200に対してコピー処理完了の通知を送信する。
続いて、図17のS1105、S1106、S1107において、ストレージ装置300から、コピー完了通知を受けた管理サーバ200は、前述した図1のストレージシステム900におけるデータ移行処理の場合と同様に、ストレージ管理プログラム221の処理により、ホスト計算機からコピー対象の論理ボリュームが含まれる物理ディスクにより構成される全ての論理ボリュームについて、ホスト最終アクセス時刻と、省電力条件を取得し、管理サーバ200のアクセス管理テーブル224bに格納する。
そして、図17のS1108において、管理サーバ200は、コピー元の論理ボリュームを含む物理ディスク350と、コピー先論理ボリュームを含む物理ディスク450について、省電力モードに変更するか否かを判定する。さらに、S1109において、管理サーバは、判定結果に応じて、ストレージ装置300、400へ指示を送信する。
図20を用いて、S1108、S1109についての詳細に説明する。図20に示すのは、コピー元の論理ボリュームを有するストレージ装置300の物理ディスク350を省電力モードに変更するか否かを判定し、判定結果に応じて、ストレージ装置300に指示を送信するフローである。まず、S1401において、管理サーバ200の電源管理プログラム223は、コピー元論理ボリュームを含む物理ディスク350内の全ての論理ボリュームについて、現在時刻とアクセス管理テーブル224のホスト最終アクセス時刻2245を参照して、ホスト計算機100、101、102から最後にアクセスがあってから現在時刻までの経過期間であるディスクアクセスアイドル時間を算出する。次に、S1402において、管理サーバ200の電源管理プログラム223は、ディスクアイドル時間を算出した各論理ボリュームについて、アクセス管理テーブル224bの省電力条件2246がディスクアクセスアイドル時間のより長いか否かを判定する。省電力条件2246の方が長いの場合は、S1403に進み、省電力条件2246とディスクアクセスアイドル時間の差を省電力時間(t)とする。省電力条件2246の方が短い場合は、S1405に進み、省電力時間(t)を0とする。そして、S1404において、管理サーバ200の電源管理プログラム223は、コピー元物理ディスク350内の全ての論理ボリュームについて省電力時間を計算したか判定する。計算が完了していなければS1402へ戻り、計算が完了していればS1406へ進む。次にS1406において、管理サーバ200の電源管理プログラム223は、コピー元物理ディスク350内の論理ボリュームについて算出した省電力時間(t)のうちの最大値t_maxを求める。そして、S1407で、ストレージ装置300へ最大値t_max経過後に物理ディスク350を省電力モードに変更するよう指示を送信する。
以上、コピー元論理ボリュ−ムを含む物理ディスク350についての処理を示した。コピー先論理ボリュームを含む物理ディスク450についても、管理サーバ200の電源管理プログラム223は、同様の処理を行う。
前述した図1のストレージシステム900におけるデータ移行処理の場合と異なり、コピー処理の場合は、コピー処理完了後には、コピー元の論理ボリュームにもコピー先論理ボリュームと同様にアクセスが発生する。そのため、コピー元の論理ボリュームついても、省電力時間(t)を0とせずに、その他の論理ボリュームと同様に処理する必要がある。コピー処理の場合は、管理サーバ200の管理プログラム223は、コピー元物理ディスク350に対する処理と同様の処理をコピー先物理ディスク450についても行えばよい。
続いて、図17のS1110において、ストレージ装置300、400は、管理サーバ200からの指示に応じて、指示のあった物理ディスクを省電力モードに変更する。
以上の処理により、ホスト計算機からの物理ディスクへのアクセスに応じた物理ディスクの省電力制御が可能となる。
図21は、図1に示すストレージシステム900の応用例であるストレージシステム900cの構成を示す図である。このストレージシステム900cは、複数のホスト計算機100、101、102、管理サーバ200、ストレージ装置300、400を有している。図1に示すストレージシステム900では、物理ディスクを省電力モードに変更するか否かの判定を管理サーバ200が行う場合について説明した。図21に示すストレージシステム900cは、物理ディスクを省電力モードに変更するか否かの判定を各物理ディスクを有するストレージ装置の処理によって行う場合を説明する。
図1に示すストレージシステム900との差異は、ホスト計算機100、101、102のメモリ120内に、I/Oを管理するオペレーティングシステム123を図示していないこと、管理サーバ200のメモリ220のアクセス管理テーブル224cが有する情報と図1のアクセス管理テーブル224が有する情報とが一部異なること、ストレージ装置300、400のメモリ320、420内にI/O判別プログラム323、423、省電力条件テーブル324、424、ホスト-ボリューム対応テーブル325、425が存在することである。その他の構成は、図1のストレージシステム900の構成と同等である。
図22を用いて、管理サーバ200の有するアクセス管理テーブル224cの詳細を説明する。図22に示すように、図21のアクセス管理テーブル224cは、図1のアクセス管理テーブル224から、ホスト最終アクセス時刻2245と省電力条件2246のカラムが無くなり、省電力残り時間2247のカラムが追加されたテーブルである。この省電力残り時間2247は時間が経過するとともに少なくなっていき、値が0になることは対応する論理ボリュームを含む物理ディスクを省電力モードに変更してよいことを意味する。アクセス管理テーブル224cには、管理サーバ200の管理下にある全ての論理ボリュームに関する情報が格納されている。また、アクセス管理テーブル224cの省電力残り時間2247は、ストレージ管理プログラムの処理221により、ストレージ装置300、400から取得した情報である。
ストレージ装置300、400の有するI/O判別プログラム323、423は、ホスト計算機100、101、102からストレージ装置300、400の論理ボリュームへのアクセスと、ホスト計算機100、101、102を経由せずストレージ管理上の処理により発生する、論理ボリュームへのアクセスとを、判別するプログラムである。ストレージ装置300、400は、I/O判別プログラム323、423の処理により、受信したI/Oの発行元を判別し、ホスト計算機100、101、102からI/Oを受信した場合には、省電力条件テーブル324の省電力残り時間3245をデフォルト省電力条件3244、4244にリセットする。
ストレージ装置300、400の有する省電力条件テーブル324、424は、ストレージ装置の電源制御プログラム322がどの物理ディスクが省電力モードに変更可能かを判断するためのテーブルである。省電力条件テーブル324、424の有する情報は、I/O判別プログラム323、423と電源制御プログラム322、422により、更新される。省電力条件テーブル324、424には、ストレージ装置300、400の有する論理ボリュームに関する情報がそれぞれ格納されている。
図23を用いて、省電力条件テーブル324の詳細を説明する。図23に示すように、省電力条件テーブル324、424は、ストレージ装置300、400から認識する論理ボリュームの識別子であるボリューム識別子3240、構成ディスク3241、論理ボリュームを利用するホスト計算機100、101、102のアプリケーションの運用が開始される時刻を示す運用開始時刻3242、論理ボリュームを利用するホスト計算機100、101、102のアプリケーションの運用が終了する時刻を示す運用終了時刻3243、ホスト計算機から論理ボリュームに最後にアクセスがあってから省電力モードに変更可能となるまでの一定期間を示すデフォルト省電力条件3244、現在時刻から物理ディスクを省電力モードに変更可能となるまでの期間を示す省電力残り時間3245の6つのカラムを有する。省電力残り時間3245は時間とともに減少する。また、I/O判別プログラム323、423により、ホスト計算機100、101、102からのアクセスがあれば省電力残り時間3245はデフォルト省電力条件と同じ値にリセットされる。ストレージ管理により発生するホスト計算機を経由しないアクセスがあった場合には、省電力残り時間3245はリセットされない。省電力条件テーブル324には、ストレージ装置300の論理ボリュームに関する情報が格納されている。尚、省電力条件テーブル424は、省電力条件テーブル324と同様のカラムを有し、ストレージ装置400の論理ボリュームについての情報を有する。
ストレージ装置300、400の有するホスト−ボリューム対応テーブル325、425は、自ストレージ装置の有する論理ボリュームにアクセスが許可されたホスト計算機に関する情報が格納されている。ホスト−ボリューム対応テーブル325、425に格納された情報は、I/O判別プログラム323、423により、それぞれ用いられる。
図24を用いて、ホスト−ボリューム対応テーブル325の詳細を説明する。図24に示すように、ホスト−ボリューム対応テーブル325は、ホスト計算機を一意に識別するホストWWN(World Wide Name)3250と、そのホスト計算機がアクセス可能なストレージ装置300の論理ボリュームの識別子であるボリューム識別子3251の2つのカラムを有する。一方、ホスト−ボリューム対応テーブル425は、ホスト−ボリューム対応テーブル325と同様のカラムを有し、ストレージ装置400の論理ボリュームについての情報を有する。
図25に、ストレージ装置300がI/Oを受信した場合の、I/O判別プログラム323により行われる処理を示す。ストレージ装置300でI/Oを受信すると(S1501)、I/O判別プログラム323は、I/O発行元と当該I/Oのアクセス先の論理ボリュームとが、ホスト-ボリューム対応テーブル325、に登録されているかを判定する(S1502)。I/Oフレームは、フレーム発行元を識別するためのS_IDという情報を有する。I/O判定プログラム323は、このS_IDを読出して、I/O発行元を識別する。I/O発行元が、ホスト-ボリューム対応テーブル325に登録されている場合は、省電力条件テーブルの324、の省電力残り時間3245をデフォルト省電力条件3244にリセットする(S1503)。I/O発行元が、ホスト-ボリューム対応テーブル325に登録されていない場合は、処理を終了する。一方、ストレージ装置400では、I/O判別プログラム423が、ホスト-ボリューム対応テーブル425を参照して、同様の処理を行う。
図25に示す、I/O判別プログラム323、423による処理は、ストレージ管理上のデータ転送処理の実施中も行われている。ストレージ管理上のデータ転送処理には、データ移行処理や、コピー処理などが含まれる。I/O判別プログラム323、423が、データ移行処理や、コピー処理の実施中も上述の処理を行うことにより、ストレージ管理上の処理により発生する論理ボリュームへのアクセスと、ホスト計算機101、102、103による論理ボリュームへのアクセスを区別する。
以下、図26から図28を用いて、図21に示すストレージシステム900cの処理を説明する。
図26の(1)に示すのは、ストレージシステム900cの初期設定のための処理であり、図26の(2)に示すのは、ストレージシステム900cにおいてデータ移行処理を行う場合の処理である。
まず、図26のS1601において、図1に示すストレージシステム900の場合と同様に、管理サーバ200は、ストレージ管理プログラム221の処理により、管理下のストレージ装置300、400、ホスト計算機100、101、102のシステム構成情報を読出し、アクセス管理テーブル224cに設定する。
次にS1602において、管理サーバ200は、ストレージ管理プログラム221の処理により、ホスト計算機100、101、102に対し、論理ボリュームの利用スケジュールに関する情報の要求を送信する。
そして、S1603において、ホスト計算機100、101、102は、管理サーバ200から論理ボリュームの利用スケジュールに関する情報の要求を受信すると、エージェントプログラム121の処理によりスケジューリングテーブル124から運用開始時刻1243、運用終了時刻1244、デフォルト省電力条件1245を読み出し、管理サーバ200へ送信する。
そして、S1604において、管理サーバ200は、ストレージ管理プログラム221の処理により、ホスト計算機100、101、102から受信した情報を各論理ボリュームを有するストレージ装置300、400へ転送する。
次にS1605、S1606において、ストレージ装置300、400は管理サーバ200から受信した情報を、省電力条件テーブル324、424に格納する。
図27を用いて、ストレージ装置300、400が行うS1605、S1606の処理の詳細を説明する。ストレージ装置300、400は、管理サーバ200から論理ボリュームの利用スケジュールに関する情報(運用開始時刻1243、運用終了時刻1244、デフォルト省電力条件1245)を受信すると(S1701)、電源制御プログラム322の処理により、それらの情報をストレージ装置300の省電力条件テーブル324の運用開始時刻3242、運用終了時刻3243、デフォルト省電力条件3244に設定する(S1702)。次に、ストレージ装置300、400は、電源制御プログラム322の処理により、現在時刻が省電力条件テーブル324の運用開始時刻3242と運用終了時刻3243の間であるか判定する(S1703)。現在時刻が運用時間内である場合は、電源制御プログラム322の処理により、省電力残り時間3245を0秒に設定し(S1705)、図28のS1801へ進む。現在時刻が利用時間内でない場合は、S1204では、電源制御プログラム322の処理により、省電力残り時間3245をデフォルト省電力条件と同じ時間に設定し、時間の経過とともに値を減らし始める(S1704)。
以上で、図21に示すストレージシステム900cの初期設定は完了する。
続いて、図26のS1607において、管理サーバ200は、ボリューム移行管理プログラム222の処理により、ストレージ装置300、400に対し論理ボリューム間のデータ移行処理を行うよう指示を送信する。
次に、S1608において、管理サーバ200から指示を受信したストレージ装置300、400は、ボリューム移行プログラム321、421の処理により、論理ボリューム間のデータ移行処理を実行する。
そして、S1609において、ストレージ装置300、400のボリューム移行管理プログラム321、421は、管理サーバ200に対し、データ移行処理が完了した旨の通知を管理サーバ200へ送信する。
S1610において、データ移行完了の通知を受けた管理サーバ200は、ストレージ管理プログラム221の処理により、論理ボリュームのパス切り替え処理を行う。
以上、S1607からS1610の処理は、図1に示すストレージシステム900の場合の処理と同様である。
次にS1611において、管理サーバ200は、電源管理プログラム223の処理により、データ移行元ストレージ装置300に対し、移行元論理ボリュームについての省電力残り時間の要求を送信する。
S1612において、管理サーバ200から省電力残り時間2247の要求を受信したストレージ装置300は、まず、移行元論理ボリュームに対応する省電力残り時間2247を0秒にする。
次に、S1613において、ストレージ装置300は、電源制御プログラム322の処理により、省電力条件テーブル324から移行元論理ボリュームについての省電力残り時間2247を読出し、管理サーバ200へ送信する。
そして、S1614において、管理サーバ200は、電源管理プログラムの処理により、データ移行元ストレージ装置300から受信した移行元論理ボリュームについての省電力残り時間を、アクセス管理テーブル224cの省電力残り時間2247に格納し、データ移行先ストレージ装置400へ送信する。
次に、S1615において、データ移行先ストレージ装置400は、電源制御プログラム422の処理により、管理サーバ200から受信した移行元論理ボリュームについての省電力残り時間を、自ストレージ装置の省電力条件テーブル424の移行先論理ボリュームに対応する省電力残り時間3245に設定する。
そして、S1616、S1617において、図5のS109、S110の処理と同様に、ストレージ装置300、400のそれぞれは、電源制御プログラム322、422の処理により、省電力条件テーブル324、424に格納された情報を参照し、物理ディスクを省電力モードに変更するか否かの判定を行い、その判定結果に応じて、物理ディスクを省電力モードに変更する。
図28を用いて、ストレージ装置300、400が、物理ディスクを省電力モードに変更するか否かの判定を行い、判定結果に応じて物理ディスクを制御する処理(S1616、S1617)の詳細を説明する。まずS1801において、電源制御プログラム322、422は、省電力条件テーブル324、424に移行対象の論理ボリュームを含む物理ディスクから構成されている全ての論理ボリュームの省電力残り時間を調べる。次に、S1802において、電源制御プログラム322、422は、全ての論理ボリュームの省電力残り時間が0秒になっているか否かを判定する。全ての論理ボリュームの省電力残り時間が0秒の場合は、S1803へ進む。省電力残り時間が0秒でない論理ボリュームがある場合は、S1801へ戻る。そして、S1803で、電源制御プログラム322、422は該当物理ディスクを省電力モードにする。次にS1804において、電源制御プログラム322、422の処理は、移行対象の論理ボリュームを含む全ての物理ディスクについて省電力時間の0であるか否かの判定が終了したかを判定する。全て終了していれば処理を終了し、全て終了していない場合はS1801へ戻る。
図28に示す処理を開始する契機は、データ移行処理の完了に限定されるものではなく、たとえば、いずれかの論理ボリュームに対応する省電力残り時間が0となったことを契機に開始されてもよい。
以上の処理により、ストレージ装置内のI/O判別プログラムによって、物理ディスクへのアクセスをホスト計算機からのアクセスとストレージシステムの管理上の処理により発生するアクセスを区別し、ホスト計算機からのアクセスに応じた物理ディスクの制御が可能となる。また、移行先の別ストレージステムの論理ボリュームに移行元の論理ボリュームの省電力条件を適用することで、論理ボリュームを適切な時間に省電力モードにし、余分な電力消費を避けることが可能となる。
図29は、図21に示すストレージシステム900cの応用例であるストレージシステム900dの構成を示す図である。図21のストレージシステム900cではデータ移行処理を実施する場合を説明したが、図29に示すストレージシステム900dでは、コピー処理を実施する場合を説明する。このストレージシステム900dは、複数のホスト計算機100、101、102、管理サーバ200、ストレージ装置300、400を有している。本構成の大部分は、図21に示すストレージシステム900cの構成と同等である。図21に示すストレージシステム900cとの差異は、管理サーバ200のメモリ220内にアクセス管理テーブル224dの有する情報が一部異なること、また、ボリューム移行管理プログラム222ではなくコピー管理プログラム225が存在していることである。また、ストレージ装置300、400のメモリ320、420内にボリューム移行プログラム321、421ではなく、ボリュームコピープログラム326、426が存在していることである。図30にアクセス管理テーブル224dの詳細を示す。アクセス管理テーブル224dは、図30に示すように、図21のアクセス管理テーブル224cの移行先ボリューム識別子2243c、移行先の構成ディスク2244cがそれぞれコピー先のボリューム識別子2243d、コピー先の構成ディスク2244dへ変更したものである。コピー管理プログラム225は複数のストレージ装置のコピー処理を管理するプログラムである。ボリュームコピープログラム326、426はストレージ装置300、400それぞれのコピー処理を行うプログラムである。
図31を用いて、図29に示すストレージシステム900dが行う処理を説明する。前述した図21のストレージシステム900cにおけるデータ移行処理を示した図26との差異は、図26の移行処理開始S1602がコピー処理開始S1902に変更されていること、図26の移行処理実行S1608がコピー処理実行S1908に変更されていること、図26のパス切り替え処理S1610が存在しないこと、図26のS1611からS1617における移行元、移行先という表現が、図31のS1910からS1915においてコピー元、コピー先という表現になっていることがある。また、図26の移行元論理ボリュームの省電力残り時間を0秒とする処理S1612に対応する処理が図31には存在しないことがある。
コピー処理の場合は、コピー処理完了後も、コピー元論理ボリュームとホスト計算機とのパスが存在している。つまり、コピー処理完了後も、コピー元論理ボリュームへアクセセスが発生する。そのため、コピー処理が完了したからといって、コピー元論理ボリュームを含む物理ディスクをただちに省電力モードに変更することは出来ない。よって、コピー元の論理ボリュームと対応する省電力時間を0秒と設定することは出来ないのである。
まず、図31のS1901からS1906では、図29に示すストレージシステム900dの初期設定が行われる。この処理は、図26のS1602からS1606に示されるストレージシステム900cの初期設定と同様に行われる。
次に、図31のS1907において、管理サーバのコピー管理プログラム225は、ストレージ装置300、400にコピー開始指示を送信する。
そして、S1908において、コピー開始指示を受信したストレージ装置300、400は、ボリュームコピープログラム326、426の処理により、コピー処理を実行する。コピー処理が完了すると、S1909において、ストレージ装置300、400は、ボリュームコピープログラム326、426の処理により、管理サーバに、コピー処理完了の通知を送信する。
図31のS1907からS1909に示す処理は、図17のS1102からS1104に示す処理と同様に行われる。
S1910において、管理サーバ200は、電源管理プログラム223の処理により、コピー元の論理ボリュームに対応する省電力残り時間の要求を、ストレージ装置300へ送信する。
S1911において、管理サーバ200からコピー元の論理ボリュームに対応する省電力残り時間の要求を受信したストレージ装置300は、電源制御プログラム322の処理により、省電力条件テーブル324から省電力残り時間3247を読出し、管理サーバに送信する。
S1912において、ストレージ装置300からコピー元の論理ボリュームに対応する省電力残り時間を受信した管理サーバ200は、電源管理プログラム223の処理により、アクセス管理テーブル224dの省電力残り時間2247に受信した情報を格納し、コピー元の論理ボリュームに対応する省電力残り時間をストレージ装置400へ送信する。
S1913において、コピー元の論理ボリュームに対応する省電力残り時間を受信したストレージ装置400は、電源制御プログラム422の処理により、コピー元の論理ボリュームに対応する省電力残り時間を、省電力条件テーブル424にコピー先論理ボリュームと対応する省電力残り時間3247として格納する。
そして、S1914、S1915において、図26のS1616とS1617における処理と同様に、ストレージ装置300、400の物理ディスク350、450を省電力モードにするか否かの判定を行い、その判定結果に応じて、物理ディスクを省電力モードに変更する。
以上の処理が、図29に示すストレージシステム900dにおいて、コピー処理を行う場合の処理である。
前述した図21のストレージシステム900cにおいてデータ移行処理を行う場合と異なり、コピー処理の場合は、コピー処理完了後に、コピー元の論理ボリュームにもコピー先論理ボリュームと同様にアクセスが発生する。そのため、コピー元の論理ボリュームついても、省電力残り時間を0秒とせずに、その他の論理ボリュームと同様に処理する必要がある。
以上の処理により、コピー元論理ボリュームの省電力条件に基づいて、コピー先論理ボリュームに同じ省電力条件を適用することで、ホスト計算機からの物理ディスクへのアクセスに応じた物理ディスクの省電力制御が可能となる。
図32は、図1に示すストレージシステム900の応用例であるストレージシステム900eの構成を示す図である。このストレージシステム900eは、複数のホスト計算機100、101、102、管理サーバ200、ストレージ装置300、400、600、700を有している。本構成の大部分は図1のストレージシステム900の構成と同等である。
図1に示すストレージシステム900との差異は、ストレージ装置300、400のメモリ320、420内に外部ボリュームマッピングテーブル327、427およびボリュームマッピング管理プログラム328、428が存在していること、電源制御プログラム322、422が存在していないこと、また、ストレージ装置600、700が新たに存在する点である。ストレージ装置600、700が有する物理ディスク650、750により構成される論理ボリュームは、それぞれストレージ装置300、400の仮想ボリュームとそれぞれ対応付けられている。ストレージシステム900eにおいて、ホスト計算機100、101、102は、ストレージ装置600、700が有する物理ディスク650、750により構成される論理ボリュームのそれぞれを、ストレージ装置300、400の有する仮想ボリュームとして認識する。つまり、ボリュームマッピング管理プログラム328、428の処理により、ホスト計算機100、101、102が、ストレージ装置300の仮想ボリュームに対して行ったアクセスは実際にはストレージ装置600の論理ボリューム対して行われ、ストレージ装置400の仮想ボリュームに対して行ったアクセスは実際にはストレージ装置700の論理ボリューム対して行われる。以下では、ストレージ装置300、400に対してこのような関係にあるストレージ装置600、700のことを、外部ストレージ装置という。さらに、ストレージシステム900eにおいて、ストレージ装置600の有する論理ボリュームとストレージ装置700の有する論理ボリュームは同期コピーの関係にある。同期コピーについては、後述する。
なお、ストレージ装置300、400の物理ディスク350、450は存在してもしなくてもよい。
図33に、ストレージ装置300の外部ボリュームマッピングテーブル327を示す。図33に示すように、外部ボリュームマッピングテーブル327は、ストレージ装置300の有する仮想的な論理ボリュームを識別するボリューム識別子3270、ストレージ装置600と接続するためにストレージ装置300の有するポートの識別子であるWWN(Worl Wide Name)を示す外部ポートWWN3271、外部ストレージ装置600の識別子である外部ストレージ装置の装置識別子3272、ストレージ装置300の仮想ボリュームと対応付けられる外部ストレージ装置600の論理ボリュームの識別子である外部ストレージ装置ボリューム識別子3273の4つのカラムを有する。
このように、外部ボリュームマッピングテーブル327には、ストレージ装置300の仮想ボリュームと外部ストレージ装置の論理ボリュームの対応に関する情報が格納されており、ホスト計算機100、101、102からストレージ装置300の仮想ボリュームに対するアクセスを、外部ストレージ装置600の論理ボリュームへのアクセスとして実行する際にボリュームマッピング管理プログラム328により用いられる。
なお、ストレージ装置400の外部ボリュームマッピングテーブル427も同様のカラムを有し、ホスト計算機100、101、102からストレージ装置400の仮想ボリュームに対するアクセスを、外部ストレージ装置700の論理ボリュームへのアクセスとして実行する際にボリュームマッピング管理プログラム428により用いられる。
図32のストレージ装置600は、制御装置605と、ストレージ装置300に提供する論理ボリュームと、論理ボリュームを構成する物理ディスク650と、ストレージエリアネットワークSAN540との接続のためのインタフェース690と、管理用ネットワークMN520との接続のためのインタフェース691と、コピー用ネットワークCN530との接続のためのインタフェース692を有している。なお、論理ボリュームは1つ以上存在する。また物理ディスク650も1つ以上存在する。1つの論理ボリュームが複数の物理ディスクから構成されることもある。これらの各構成要素はバス680を介して互いに接続されている。制御装置605は、CPU610と、メモリ620と、を有している。また、メモリ620は、CPU610が種々の処理を実行する際に用いるプログラムを記憶する。
メモリ620は、CPU610によって実行される、ボリュームコピープログラム626と、電源制御プログラム622と、を有している。電源制御プログラム622は、管理サーバ200の電源管理プログラム223からの指示に従い、物理ディスク650の省電力モードや通常モードへ変更するための制御を行うプログラムである。ボリュームコピープログラム626は、ストレージ装置600、700の有する論理ボリュームの間での同期コピーを行うプログラムである。ここでいう同期コピーとは、ストレージ装置600の有する論理ボリュームにライトが行われた場合、ボリュームコピープログラム626の処理により、ストレージ装置700の有する論理ボリュームへ同様にライトが行われることである。なお、ストレージ装置700の構成は、ストレージ装置600の構成と同様である。
なお、ストレージシステム900eではストレージ装置600、700の有する論理ボリュームの少なくとも一部は、同期コピー状態である。ストレージシステム900eにおいては、ストレージ装置300の仮想ボリュームと対応付けられるストレージ装置600の論理ボリュームは、ストレージ装置700の論理ボリュームと同期コピー状態である。そして、その同期コピー状態にあるストレージ装置700の論理ボリュームとストレージ装置400の仮想ボリュームは対応付けられている。つまり、ストレージ装置300、400の仮想ボリュームのそれぞれが指し示す内容は同じである。
ホスト計算機100、101、102からストレージ装置300の仮想ボリュームにライトが発生した場合、論理ボリューム650にライトが行われ、ボリュームコピープログラム626によりストレージ装置700の論理ボリュームへ同様にライトが行われる。ホストから計算機100、101、102からストレージ装置300の仮想ボリュームにリードが発生したときは、ストレージ装置600の有する論理ボリュームにのみリ−ドが行われる。
図34にストレージシステム900eの処理を示す。
図34の(1)に示すのは、ストレージシステム900eの初期設定のための処理である。図34の(2)に示すのは、ストレージシステム900eにおいて、パス切替処理が発生した場合の処理を示す。ここでいうパス切り替えとは、ホストI/F191とストレージ装置300の仮想ボリュームとの間に確立していたパスを、ホストI/F191とストレージ装置400の仮想ボリュームとのパスに切り替えることをいう。
まず、S2001において、管理サーバ200のストレージ管理プログラム221はストレージシステム600、700の有する論理ボリュームに対し論理ボリューム間の同期コピーを行うように指示を送信する。
次に、S2002において、同期コピーを行うように指示を受信したストレージ装置600、700は、ボリュームコピープログラム626、726の処理により、ストレージ装置600の論理ボリュームとストレージ装置700の論理ボリュームとの同期コピーを実施し、ストレージ装置600の論理ボリュームとストレージ装置700の論理ボリュームとが同期コピー状態に移行したことを管理サーバへ通知する。
また、S2003において、管理サーバ200のストレージ管理プログラム221はストレージ装置300に対し、ストレージ装置600の論理ボリュームとをストレージ装置300の仮想ボリュームとを対応付けるように指示を送信する。また、ストレージ装置400に対しても、同様に、ストレージ装置700の論理ボリュームとをストレージ装置400の仮想ボリュームとを対応付けるように指示を送信する。
そして、S2004において、指示を受信したストレージ装置300、400は、ボリュームマッピング管理プログラム328、428の処理により、管理サーバからの指示に従い、論理ボリュームと仮想ボリュームを対応付け、外部ボリュームマッピングテーブル327、427に対応関係を格納し、管理サーバ200に処理の完了を通知する。
そして、S2005において、管理サーバ200のストレージ管理プログラム221は、アクセス管理テーブル124dにシステム構成情報を設定する。
以上で、ストレージシステム900eの初期設定は完了する。
次に、S2006において、管理サーバ200のストレージ管理プログラム221は、ホスト計算機100、101、102のボリュームマネージャ122と連携して、上述のように、ホストI/F191とストレージ装置300の仮想ボリュームとの間に確立していたパスを、ホストI/F191とストレージ装置400の仮想ボリュームとのパスに切り替える。
さらに、S2007において、管理サーバ200のストレージ管理プログラム221は、ストレージ装置300、400にパス切替対象の仮想ボリュームが対応付けられている外部ストレージ装置の論理ボリュームに関する情報を要求する。
次に、S2008において、管理サーバ200のストレージ管理プログラム221から要求を受けたストレージ装置300、400は外部ボリュームマッピングテーブルを参照して、要求のあったストレージ装置300、400にパス切り替え対象の仮想ボリュームが対応付けられている外部ストレージ装置の論理ボリュームに関する情報を管理サーバ200へ送信する。
次に、S2009において、管理サーバ200のストレージ管理プログラム221は、ホスト計算機100、101、102のエージェントプログラムに、パス切り替えの対象となった仮想ボリュームに対応するホスト最終アクセス時刻と省電力条件、および、パス切り替え対象となった仮想ボリュームと対応するに論理ボリュームを構成する物理ディスクに含まれる論理ボリュームと対応するホスト最終アクセス時刻と省電力条件を要求する。
次に、S2010において、管理サーバ200からホスト最終アクセス時刻と省電力条件の要求を受信したホスト計算機100、101、102のエージェントプログラム121は、スケジューリングテーブル124を参照し、要求のあったホスト最終アクセス時刻と省電力条件を管理サーバに送信する。
次に、S2011において、管理サーバのストレージ管理プログラム221は、ホスト計算機から受信したホスト最終アクセス時刻と省電力条件をアクセス管理テーブル224に格納する。この際に、ストレージ装置300の仮想ボリュームと対応付けられていたストレージ装置600の論理ボリュームについてのホスト最終アクセス時刻と省電力条件と、ストレージ装置400の仮想ボリュームと対応付けられていたストレージ装置700の論理ボリュームについてのホスト最終アクセス時刻と省電力条件と、を入れ替えて格納する。
次に、S2012において、管理サーバ200の電源管理プログラム223は、パス切り替え対象となった仮想ボリュームと対応するに論理ボリュームを構成する物理ディスクについて、図5のS109、S110の処理と同様に、アクセス管理テーブル224eの情報を参照して省電力モードに移行してよいか否かの判定を行う。
次に、S2013において、管理サーバ200の電源管理プログラム223は、判定結果に応じて、物理ディスクを省電力モードへ移行する指示をストレージ装置600、700に対して送信する。
そして、S2014において、指示を受信したストレージ装置600、700の電源制御プログラム622、722は、指示に応じて、物理ディスクを省電力モードに移行する。
以上の処理により、外部ストレージ装置と対応付けられるストレージ装置において、ストレージ管理によって発生するパス切り替え処理に要する時間を短縮することで、パス切り替え前のストレージ装置の論理ボリュームに対応する情報を、パス切り替え後のストレージ装置の論理ボリュームに対応する情報を適用することで、論理ボリュームを適切な時間に省電力モードに移行することが可能となる。