(57)【要約】【課題】ホスト業務の性能に影響を与えずに、複数ディスク制御装置間の負荷分散ができるストレージシステムを提供する。【解決手段】  ホスト計算機１００は、仮想ディスクへの入出力要求を制御する仮想ディスク制御部１３１を有し、複数のストレージサブシステム１５０は、物理ディスク１７０への入出力要求による負荷を測定し負荷情報をディスク管理テーブル１３２に記録する負荷モニタ部１８３を有する。仮想ディスク制御部１３１は、仮想ディスクへの未出力領域への入出力要求があると、仮想ディスク上の論理ディスクを、ディスク管理テーブル１３２の負荷情報をもとに決定して、決定された論理ディスクを有するストレージサブシステム１５０に入出力要求をし、入出力要求の完了通知の受信したとき、論理ディスクマップ情報テーブル１９２の負荷情報をもとにディスク管理テーブル１３２の負荷情報を更新することを特徴とする。【選択図】図１
2010128630.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と、前記ホスト計算機に対して記憶領域を提供する複数のストレージサブシステムと、を含んでなるストレージシステムにおいて、
前記ホスト計算機は、
前記複数のストレージサブシステムの記憶領域を仮想化したディスクとして識別させる仮想ディスク、前記仮想ディスク上の領域、前記仮想ディスクのデータ出力先である論理ディスク、および前記論理ディスクの負荷情報を関連づける第１の管理情報が記憶される第１の記憶部と、
前記仮想ディスクへの入出力要求を制御する仮想ディスク制御部と、を有し
前記複数のストレージサブシステムは、
前記論理ディスク、前記仮想ディスク上の領域と対応する前記論理ディスク上の領域、および前記論理ディスクの負荷情報を関連づける第２の管理情報が記憶される第２の記憶部と、
前記論理ディスクへの入出力要求による負荷を測定し、負荷情報として前記第２の管理情報に記録する負荷モニタ部と、を有し、
前記仮想ディスク制御部は、
前記仮想ディスクへの入出力要求があると、当該入出力要求において指定された仮想ディスク上の領域が未出力領域であるか否かを、前記第１の管理情報における前記仮想ディスク上の領域に前記論理ディスクが割り当てられているか否かにより判定し、
前記入出力要求が、前記仮想ディスク上の領域に論理ディスクが割り当てられていない未出力領域へのものであるときは、前記仮想ディスク上の論理ディスクを、前記第１の管理情報の負荷情報をもとに決定し、
前記決定された論理ディスクを有するストレージサブシステムに前記入出力要求をし、
前記入出力要求の完了通知の受信したとき、前記第２の管理情報の負荷情報をもとに前記第１の管理情報の負荷情報を更新する
ことを特徴とするストレージシステム。
【請求項２】
前記ホスト計算機は、さらに、
前記論理ディスクへの負荷分散の制御をする負荷制御部を有し、
前記複数のストレージサブシステムには、さらに、
ある論理ディスクから別の論理ディスクへデータをコピーするコピー処理部を有し、
前記負荷制御部は、
前記負荷モニタ部から負荷情報を受信すると、前記第１の管理情報に記憶し、前記論理ディスク間で、所定以上の負荷の偏りがあると判定すると、前記第１の管理情報から負荷の小さい論理ディスクをデータの移動先として決定し、
移動元のストレージサブシステムにデータの移動要求およびコピーを指示し、
移動元のストレージサブシステムから移動通知を受理すると、前記第１の管理情報を更新するとともに、移動元のストレージサブシステムおよび移動先のストレージサブシステムの第２の管理情報の更新要求をし、
前記移動元のストレージサブシステムのコピー元のデータを削除する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記ストレージサブシステムは、論理ディスク制御部をさらに有し、
前記論理ディスク制御部は、
データを他の論理ディスクにコピーで移動中に論理ディスクへの入出力要求があった際は、データの移動完了後に、移動先論理ディスク情報を前記ホスト計算機に報告し、
前記ホスト計算機の前記仮想ディスク制御部は、
前記ストレージサブシステムから前記移動先論理ディスク情報の報告を受信すると、前記第１の管理情報を更新する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記仮想ディスクおよび前記論理ディスクは、同一のディスク容量であり、かつ、同一の内部領域アドレスを有する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記仮想ディスク制御部は、
前記仮想ディスクをシリンダを単位として管理し、
前記仮想ディスクのシリンダ数と前記論理ディスクのシリンダ数とが同じとし、
前記仮想ディスクのシリンダ番号Ｘに対応する前記論理ディスクのシリンダは、番号Ｘである
ことを特徴とする請求項１に記載のストレージシステム。
【請求項６】
ホスト計算機と、前記ホスト計算機に対して記憶領域を提供する複数のストレージサブシステムと、を含んでなる情報システムにおいて、前記記憶領域への負荷を分散管理する負荷分散管理方法であって、
前記ホスト計算機は、
前記複数のストレージサブシステムの記憶領域を仮想化したディスクとして識別させる仮想ディスク、前記仮想ディスク上の領域、前記仮想ディスクのデータ出力先である論理ディスク、および前記論理ディスクの負荷情報とを関連づける第１の管理情報が第１の記憶部に記憶されており、
前記複数のストレージサブシステムは、
前記論理ディスク、前記仮想ディスク上の領域と対応する前記論理ディスク上の領域、および前記論理ディスクの負荷情報を関連づける第２の管理情報が第２の記憶部に記憶されており、負荷モニタ部により、前記論理ディスクへの入出力要求による負荷を測定し、負荷情報として前記第２の管理情報に記録し、
前記ホスト計算機の前記仮想ディスクへの入出力要求を制御する仮想ディスク制御部は、
前記仮想ディスクへの入出力要求があると、当該入出力要求において指定された仮想ディスク上の領域が未出力領域であるか否かを、前記第１の管理情報における前記仮想ディスク上の領域に前記論理ディスクが割り当てられているか否かにより判定し、
前記入出力要求が、前記仮想ディスク上の領域に論理ディスクが割り当てられていない未出力領域へのものであるときは、前記仮想ディスク上の論理ディスクを、前記第１の管理情報の負荷情報をもとに決定し、
前記決定された論理ディスクを有するストレージサブシステムに前記入出力要求をし、
前記入出力要求の完了通知の受信したとき、前記第２の管理情報の負荷情報をもとに前記第１の管理情報の負荷情報を更新する
ことを特徴とする負荷分散管理方法。
【請求項７】
前記情報システムの前記ホスト計算機は、さらに、
前記論理ディスクへの負荷分散の制御をする負荷制御部を有しており、
前記情報システムの前記複数のストレージサブシステムは、さらに、
ある論理ディスクから別の論理ディスクへデータをコピーするコピー処理部を有しており、
前記負荷制御部は、
前記負荷モニタ部から負荷情報を受信すると、前記第１の管理情報に記憶し、前記論理ディスク間で、所定以上の負荷の偏りがあると判定すると、前記第１の管理情報から負荷の小さい論理ディスクをデータの移動先として決定し、
移動元のストレージサブシステムにデータの移動要求およびコピーを指示し、
移動元のストレージサブシステムから移動通知を受理すると、前記第１の管理情報を更新するとともに、移動元のストレージサブシステムおよび移動先のストレージサブシステムの第２の管理情報の更新要求をし、
前記移動元のストレージサブシステムのコピー元のデータを削除する
ことを特徴とする請求項６に記載の負荷分散管理方法。
【請求項８】
前記ストレージサブシステムの論理ディスク制御部は、
データを他の論理ディスクにコピーで移動中に論理ディスクへの入出力要求があった際は、データの移動完了後に、移動先論理ディスク情報を前記ホスト計算機に報告し、
前記ホスト計算機の前記仮想ディスク制御部は、
前記ストレージサブシステムから前記移動先論理ディスク情報の報告を受信すると、前記第１の管理情報を更新する
ことを特徴とする請求項６に記載の負荷分散管理方法。
【請求項９】
前記仮想ディスクおよび前記論理ディスクは、同一のディスク容量であり、かつ、同一の内部領域アドレスを有している
ことを特徴とする請求項６に記載の負荷分散管理方法。
【請求項１０】
前記仮想ディスク制御部は、
前記仮想ディスクをシリンダを単位として管理し、
前記仮想ディスクのシリンダ数と前記論理ディスクのシリンダ数とが同じとし、
前記仮想ディスクのシリンダ番号Ｘに対応する前記論理ディスクのシリンダは、番号Ｘである
ことを特徴とする請求項６に記載の負荷分散管理方法。
【請求項１１】
請求項６から請求項１０のいずれか１項に記載の負荷分散方法を、ＣＰＵが実行可能なプログラムとして格納した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト計算機と、複数のストレージサブシステムとを含んで構成されるストレージシステムに係り、ストレージサブシステムの仮想化および負荷分散技術に関する。
【背景技術】
【０００２】
ストレージサブシステムは、ディスク制御装置と物理ディスクとを備え、単一のディスク制御装置内で負荷分散のためにデータ移動する技術は知られている。また、複数ディスク制御装置間に跨る負荷分散技術もあり、ホスト計算機からの入出力要求の受付間隔を調整することで負荷分散する技術が開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００６−３１８０１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に開示された技術では、ホスト計算機とディスクドライブ装置との間のデータ転送を制御するディスク制御装置クラスタが複数接続されたディスク制御システムにおいて、それらのディスク制御装置クラスタに、そのディスク制御装置における使用リソースを監視するクラスタ内リソース利用状況モニタを設けている。また、システムのリソースを監視するシステム内リソース利用状況モニタを設けており、複数のクラスタ内リソース利用状況モニタのモニタ情報を収集して、システム内リソース利用状況モニタのモニタ情報とする。そして、そのシステム内リソース利用状況モニタのモニタ情報に基づいて、複数のディスク制御装置クラスタ間に跨るＩＯジョブの発行間隔を調整することにより、システム全体のＩＯジョブの負荷分散をしている。しかしながら、特定のホスト計算機からみれば、ＩＯジョブの発行間隔を調整されるため、要求するリソースへのアクセス性能が低減することがあり、業務性能に影響を与える可能性があることが問題であった。
【０００４】
本発明は、前記の課題を解決するための発明であって、ホスト業務の性能に影響を与えずに、複数ディスク制御装置間の負荷分散ができるストレージシステム、負荷分散管理方法、および記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、複数のディスク制御装置とホスト計算機上に、ボリューム管理を行うための管理テーブル情報を有することにより、ホスト計算機が性能／容量の点で最適なディスク制御装置を選択して入出力を発行可能とすることが特徴である。なお、管理テーブル情報とは、具体的には、ホスト計算機側のディスク管理テーブル１３２および仮想ディスクマップ情報テーブル１３３であり、ディスク制御装置の論理ディスクマップ情報テーブル１９２が該当する。
【発明の効果】
【０００６】
本発明によれば、ホスト業務の性能に影響を与えずに、複数ディスク制御装置間での負荷分散を実現できる。
【発明を実施するための最良の形態】
【０００７】
以下に、本発明の実施形態を、図面を参照しながら詳細に説明する。なお、本発明は以下に示す実施形態によって限定されるものではない。
図１は、本発明の実施形態におけるストレージシステムの一例を示す構成図である。本実施形態において、ストレージサブシステムの仮想化方法および負荷分散方法について説明する。ストレージシステムは、ホスト計算機１００と、複数のストレージサブシステム１５０とを含んで構成される。ホスト計算機１００は、複数のストレージサブシステム１５０と、ホスト計算機１００内のポート１４０を介して接続されている。ホスト計算機１００は、ユーザが使用するコンピュータであり、ＣＰＵ（Central Processing Unit）１１０、メモリ１２０（第１の記憶部）、ポート１４０、およびこれら各部を接続するパスやスイッチなどの接続部を備える。
【０００８】
メモリ１２０には、ディスク使用プログラム１２１、装置への入出力処理を行なう入出力実行管理部１２２、仮想ディスク制御部１３１、負荷制御部１３４（それぞれはプログラムである）が格納されており、ＣＰＵ１１０によって実行されることで各機能を実現する。また、メモリ１２０には、ディスク管理テーブル１３２（図２参照）および仮想ディスクマップ情報テーブル１３３（図３参照）が格納されている。なお、第１の管理情報とは、ディスク管理テーブル１３２および仮想ディスクマップ情報テーブル１３３をあわせたものをいう。
【０００９】
ディスク使用プログラム１２１は、ホスト計算機１００に接続されているディスク装置を用いるユーザの業務プログラムである。本実施形態では、ディスク装置は、ストレージサブシステム１５０が該当する。
【００１０】
仮想ディスク制御部１３１は、ディスク使用プログラム１２１または入出力実行管理部１２２に対して、複数のストレージサブシステム１５０がホスト計算機１００に対して提供する論理ディスクを用いて仮想的なディスク装置である仮想ディスクを提供する処理部である。ディスク管理テーブル１３２には、仮想ディスクに関連付けられた論理ディスクの情報が格納される。仮想ディスクマップ情報テーブル１３３には、仮想ディスク上のデータ格納先論理ディスクに関する情報が格納される。なお、仮想ディスク制御部１３１は、ディスク管理テーブル１３２、仮想ディスクマップ情報テーブル１３３を参照することで、前記処理を行う。
【００１１】
負荷制御部１３４は、仮想ディスク経由で入出力される論理ディスクの負荷に基づいてリモートコピーの指示を送信することで、仮想ディスクのあるシリンダへ格納すべきデータを、いずれかのストレージシステムの論理ディスクから別のストレージシステムの論理ディスクへ移動させ、移動後は移動先の論理ディスクに対して入出力要求を出すように仮想ディスクマップ情報を更新する負荷分散プログラムである。なお、シリンダとは、同一円周状に並ぶトラックの集合体を意味する。
【００１２】
ストレージサブシステム１５０は、ディスク制御装置１６０と物理ディスク１７０を備え、ホスト計算機１００や他のストレージサブシステム１５０とは、ディスク制御装置１６０内のポート１６２を介して接続されている。
【００１３】
ディスク制御装置１６０は、物理ディスク１７０を制御するコンピュータであり、ＣＰＵ１６１、メモリ１８０（第２の記憶部）、ポート１６２、およびこれら各部を接続するパスやスイッチなどの接続部を備える。
【００１４】
メモリ１８０には、物理ディスク１７０の入出力処理を行うディスク入出力制御部１８１、他のストレージサブシステム１５０へ論理ディスクの領域のコピーを行うリモートコピー処理部１８２（コピー処理部）、負荷情報の監視を行う負荷モニタ部１８３、論理ディスク制御部１９１が格納されており、ＣＰＵ１６１によって実行されることで各機能を実現する。また、メモリには、論理ディスクマップ情報テーブル１９２（第２の管理情報）（図４参照）が格納されている。
【００１５】
ディスク入出力制御部１８１は、ホスト計算機１００からの入出力要求を受信し、詳細を後述するリモートコピー処理部１８２や、論理ディスク制御部１９１に入出力要求の処理を依頼するプログラムである。
【００１６】
リモートコピー処理部１８２は、論理ディスク制御部１９１が提供する論理ディスクの指定されたシリンダで示される領域または論理ディスク全体を別のストレージサブシステム１５０の論理ディスク制御部１９１の同じシリンダで示される領域へコピーするプログラムである。
【００１７】
負荷モニタ部１８３は、論理ディスクのシリンダ毎の入出力要求による負荷を測定し、論理ディスクマップ情報テーブル１９２に記録するプログラムである。
【００１８】
論理ディスク制御部１９１は、論理ディスクおよびシリンダを指定した入出力要求に基づき、物理ディスク１７０に格納されたデータを読み込んでホスト計算機１００に送信したり、ホスト計算機１００からの入出力要求に伴って受信した書き込みデータを物理ディスク１７０に書き込むプログラムである。
【００１９】
論理ディスクマップ情報テーブル１９２は、論理ディスクの複数シリンダの各々について当該シリンダを対象として書き込み要求（入出力要求の一つ）のデータ（書き込みデータ）を実際に割り当てられ・格納する物理ディスクと物理ディスク内の位置に関する情報を有する。
【００２０】
なお、論理ディスク制御部１９１が提供する論理ディスクは、対応する各シリンダの一部または全てに対して論理ディスクの領域が割り当てられておらず、物理ディスク１７０の領域の割り当てが論理ディスクの未割り当てシリンダに対する書き込み要求を契機として行われることが特徴である。これにより、過去に書き込みの行われていないシリンダに対する物理ディスク１７０の割り当てを省略できるため、物理ディスク１７０の記憶容量より大きな論理ディスクを提供することができる。また、物理ディスク１７０の未割り当ての領域が不足した時点で物理ディスク１７０を追加することができるため、コストを軽減できる。このようなメリットを有するため、論理ディスク制御部１９１は、以下の処理を行う。
【００２１】
（１）書き込み要求と書き込みデータを受信した場合、論理ディスク制御部１９１は、論理ディスクマップ情報テーブル１９２を参照することで、書き込み要求で指定されたシリンダに物理ディスクが割り当てられているかどうかを確認し、割り当て済みのときは割り当て済みの物理ディスクの領域を特定し、当該領域に書き込みデータを格納する。シリンダに物理ディスクの領域が割り当てられていないときは、所定のルールに従って物理ディスクの領域であって、ほかのシリンダに割り当てられていない空き領域を当該シリンダに割り当て、割り当て済みのときと同じ書き込みを行う。
【００２２】
なお、図示はしていないが、ストレージサブシステム１５０は、読み込みデータや書き込みデータを一時格納するキャッシュメモリを有するため、上記物理ディスクへの書き込みと説明した処理は実際にはキャッシュメモリへの格納であり、その後所定のキャッシュアルゴリズムに従って実際の物理ディスクの領域へ格納される。
【００２３】
（２）読み込み要求（入出力要求の一つ）を受信した場合、論理ディスク制御部１９１は、論理ディスクマップ情報テーブル１９２を参照することで、対応する物理ディスクの領域から読み込み要求のあったデータを読み込み、ホスト計算機１００へ送信する。
【００２４】
本実施形態では、二つのストレージサブシステム１５０からなる仮想ディスク装置をホスト計算機１００に対して提供している。ホスト計算機１００の仮想ディスク制御部１３１が、二つのストレージサブシステム１５０の論理ディスク上の領域を負荷に応じて使い分けるマッピング処理を行っている。
【００２５】
なお、マッピング処理は、仮想ディスク制御部１３１がディスク使用プログラム１２１へ向けて提供する仮想ディスクのシリンダを単位として行われる。各シリンダへの負荷は、ストレージサブシステム１５０内の負荷モニタ部１８３において計測し、この負荷情報をホスト計算機１００の負荷制御部１３４が取得することで各々の論理ディスク上の領域の負荷を把握する。
【００２６】
負荷の偏りがあらかじめ指定した上限値に達したら、負荷制御部１３４がデータ移動可能な負荷の小さいシリンダを特定し、特定したシリンダを指定してリモートコピーを指示することで、ストレージサブシステム１５０が当該シリンダのデータを今まで格納していた論理ディスク上の領域から別の論理ディスク上の領域に移動させる。移動が終了すると、仮想ディスク制御部１３１は、移動対象シリンダのマップ情報を更新することで、仮想ディスク装置のシリンダ単位という細かい粒度での負荷分散を実現することができる。
【００２７】
なお、本実施形態では、仮想ディスクのシリンダ数と論理ディスクのシリンダ数が同じであり、仮想ディスクのあるシリンダのシリンダ番号ｘに対応する論理ディスクのシリンダは番号ｘであることを前提として説明している。これは仮想ディスクに対してシーケンシャルな入出力要求を希望した場合に、論理ディスクのシリンダも連続したものになるようにすることでシーケンシャル入出力性能を維持することができる。ただし、本発明はこれに限定されず、仮想ディスクのシリンダ番号ｘが論理ディスクのシリンダ番号ｘ以外のシリンダに対応していてもよい。
【００２８】
図８は、仮想ディスク、論理ディスク、および物理ディスクの関係を示す説明図である。ホスト計算機１００に仮想的に接続されている仮想ディスク（ＶＤＥＶ００）に、２つのディスク制御装置（ＤＫＣ００，ＤＫＣ０１）が接続されている場合について説明する。詳細を後述するディスク管理テーブル１３２（図２参照）および仮想ディスクマップ情報テーブル１３３（図３参照）により、仮想ディスク（ＶＤＥＶ００）の各記憶領域は、データ出力先の論理ディスク（ＬＤＥＶ００，ＬＤＥＶ１０）に、関係付けられている。さらに、各論理ディスクは、論理ディスクマップ情報テーブル１９２（図４参照）により、データ出力先の物理ディスク（ＰＤＥＶ００，ＰＤＥＶ０１，ＰＤＥＶ０２，ＰＤＥＶ１０，ＰＤＥＶ１１，ＰＤＥＶ１２）に関係付けられている。
【００２９】
本実施形態では、仮想ディスク（ＶＤＥＶ００）と、各論理ディスク（ＬＤＥＶ００，ＬＤＥＶ１０）は、同一容量で、同一の内部領域アドレスを有する構成となっているが、データは、各論理ディスク（ＬＤＥＶ００，ＬＤＥＶ１０）に分散されて配置されている。
【００３０】
本実施形態では、複数のディスク制御装置１６０を仮想的にひとつのディスク制御装置１６０として使用できるようになり、ディスク制御装置１６０の資源の使用効率が向上できる。また、負荷制御部１３４は、ストレージサブシステム１５０内の負荷モニタ部１８３から受理した負荷状態の情報からデータ移動の必要性を判断すると、ストレージサブシステム間でデータを移動する指令を行うことができる。
【００３１】
図２は、ディスク管理テーブル１３２の構成例を示す図である。ディスク管理テーブル１３２には、ホスト計算機１００に仮想的に接続されている仮想ディスク名称２００、仮想ディスクのデータ出力先の論理ディスク名称２０１、論理ディスク毎の負荷情報２０２が格納されている。なお、構成例では単位時間当たりのデータ使用量を負荷情報としているが、ディスク使用容量などの他の負荷情報でも構わない。
【００３２】
図３は、仮想ディスクマップ情報テーブル１３３の構成例を示す図である。仮想ディスクマップ情報テーブル１３３は、仮想ディスク毎（例えば、ＶＤＥＶ０１，ＶＤＥＶ０２）に存在し、ホスト計算機１００上で管理されるテーブルであり、仮想ディスク上の領域３００の一覧と、その領域のデータ出力先論理ディスク３０１とが格納されている。なお、構成例では、仮想ディスク上の領域はシリンダ単位で記載しているが、トラックなどの他の単位でも構わない。
【００３３】
図４は、論理ディスクマップ情報テーブル１９２の構成例を示す図である。論理ディスクマップ情報テーブル１９２は、各論理ディスク毎（例えば、ＬＤＥＶ０１，ＬＤＥＶ０２，ＬＤＥＶ０３）にストレージサブシステム１５０内で管理されるテーブルであり、論理ディスク上の領域４００の一覧、その領域のデータの状態４０１、データ出力先物理ディスク４０２、領域毎の負荷情報４０３が格納されている。
【００３４】
論理ディスク上の領域４００の構成は、図３で示した仮想ディスクマップ情報テーブル１３３にある仮想ディスク上の領域３００と同一の構成である。なお、図中ではシリンダに対応する情報として物理ディスクの識別子のみが格納されているが、実際には物理ディスク内の領域を示すアドレス情報が格納される。また、複数の物理ディスク１７０を用いたパリティグループを物理ディスクの代わりとしてもよく、またパリティグループを分割したＬＵ（Logical Unit）を物理ディスク１７０の代わりとする場合も考えられるが、最終的に物理ディスク１７０へ格納される点は変わりない。ただし、その場合はシリンダに対応する物理ディスク１７０の名前とアドレス情報はそれぞれパリティグループやＬＵを前提とした情報、つまり複数の物理ディスク１７０の領域を示す領域情報（領域識別子）が格納される。
【００３５】
なお、図２のディスク管理テーブル１３２に示す論理ディスク（ＬＤＥＶ０１）の負荷情報１７０ＭＢ／ｓは、図３に示す仮想ディスク（ＶＤＥＶ０１）が仮想ディスクマップ情報テーブル１３３から、仮想ディスク（ＶＤＥＶ０１）上の領域ＣＹＬ００−１０およびＣＹＬ３１−４０によって構成されており、図４に示す論理ディスク（ＬＤＥＶ０１）上の領域ＣＹＬ００−１０の負荷情報８０ＭＢ／ｓと、仮想ディスク上の領域ＣＹＬ３１−４０の負荷情報９０ＭＢ／ｓとを加算して算出される。
【００３６】
同様にして、図２のディスク管理テーブル１３２に示す論理ディスク（ＬＤＥＶ０２）の負荷情報８０ＭＢ／ｓは、図３に示す仮想ディスク（ＶＤＥＶ０１）が仮想ディスクマップ情報テーブル１３３から、仮想ディスク（ＶＤＥＶ０１）上の領域ＣＹＬ１１−２０によって構成されており、図４に示す論理ディスク（ＬＤＥＶ０２）上の領域ＣＹＬ１１−２０の負荷情報（図示せず）から算出される。
【００３７】
次に、仮想ディスクの入出力処理および負荷分散データ移動処理について説明する。
（仮想ディスク入出力処理）
図５は、ディスク使用プログラム１２１が仮想ディスクへ入出力を行う場合のホスト計算機１００側の処理を示すフローチャートである。ディスク使用プログラム１２１が、仮想ディスクへの入出力要求（具体的には、仮想ディスク名称２００および仮想ディスク上の領域３００を指定したＩ／Ｏ要求）を入出力実行管理部１２２に発行すると、入出力実行管理部１２２は、仮想ディスク制御部１３１へ仮想ディスクへの入出力要求を渡す（ステップＳ５０１）。
【００３８】
仮想ディスク制御部１３１では、仮想ディスクマップ情報テーブル１３３をのデータ出力先論理ディスク３０１の情報を用いて、入出力先の論理ディスクを決定する（ステップＳ５０２）。なお、一度もデータが出力されていない領域であるデータ未出力領域に出力する場合には、ディスク管理テーブル１３２の負荷情報２０２から、例えば、負荷が軽い論理ディスク名称２０１を選択し、指定された仮想ディスク上の領域３００に割り当てるデータ出力先論理ディスク３０１を決定する。
【００３９】
仮想ディスク制御部１３１から、論理ディスクに対する入出力要求を入出力実行管理部１２２に発行すると、入出力実行管理部１２２は、ストレージサブシステム１５０内のディスク制御装置１６０に対してマップ情報比較コマンド付きで入出力要求を発行する（ステップＳ５０３）。マップ情報比較コマンドは、一例としてデータ出力先となる仮想ディスク上の領域３００を有する。
【００４０】
ホスト計算機１００は、ストレージサブシステム１５０内のディスク制御装置１６０に対する入出力要求発行後、移動先論理ディスク（図６のステップＳ５０５参照）の情報を受信（ステップＳ５１１，Ｙｅｓ）した場合、通知された移動先論理ディスクの情報を仮想ディスクマップ情報テーブル１３３のデータ出力先論理ディスク３０１に反映し（ステップＳ５０６）、通知された移動先論理ディスクに対し、再度入出力要求を発行する（ステップＳ５０３）。
【００４１】
ホスト計算機１００は、ストレージサブシステム１５０内のディスク制御装置１６０に対する入出力要求発行後、移動先論理ディスクを受信しない場合（ステップＳ５１１，Ｎｏ）、ストレージサブシステム１５０内の論理ディスク制御部１９１から入出力完了通知を受信し（ステップＳ５１２）、ディスク管理テーブル１３２の負荷情報２０２を更新して（ステップＳ５０９）、一連の入出力処理を終了する。
【００４２】
図６は、ディスク使用プログラム１２１が、仮想ディスクへ入出力を行う場合のストレージサブシステム１５０側の処理を示すフローチャートである。ホスト計算機１００から、入出力要求に付加されたマップ情報比較コマンドを受付ける（ステップＳ５１０）。マップ情報比較コマンドを受け取ったディスク制御装置１６０では、論理ディスク制御部１９１によって論理ディスクマップ情報テーブル１９２内のデータの状態４０１を確認する（ステップＳ５０４）。
【００４３】
ステップＳ５０４において、データを他の論理ディスクにリモートコピーで移動中の場合には、マップ情報が一致しないとして（ステップＳ５０４，Ｎｏ）、移動完了後にホスト計算機１００に移動先論理ディスク（移動先論理ディスク情報）を報告し（ステップＳ５０５）、処理を終了する。データが論理ディスク内に存在する場合、すなわち、マップ情報が一致する場合（ステップＳ５０４，Ｙｅｓ）、論理ディスクに対する入出力を行うため、論理ディスク制御部１９１からディスク入出力制御部１８１に対して物理ディスク１７０に対する入出力要求を発行して入出力を行う（ステップＳ５０７）。入出力完了後、論理ディスクマップ情報テーブル１９２の負荷情報４０３を更新し（ステップＳ５０８）、処理を終了する。
【００４４】
（負荷分散データ移動処理）
図７は、仮想ディスクの入出力とは非同期に、負荷分散のため論理ディスク間でデータを移動する処理を示すフローチャートである。各論理ディスクの負荷は、ストレージサブシステム１５０側の負荷モニタ部１８３で定期的に監視されており、負荷が一定以上になったとき、ホスト計算機１００に通知してストレージサブシステム１５０間でのデータ移動を行う。
【００４５】
ホスト計算機１００の負荷制御部１３４は、ストレージサブシステム１５０内の論理ディスクに対する負荷状況を、定期的に負荷モニタ部１８３から受信する（ステップＳ６０１）。負荷制御部１３４では、通知された負荷情報４０３をディスク管理テーブル１３２に格納して、論理ディスク間で一定以上の負荷の偏りがありデータ移動の必要が無いかを判定する（ステップＳ６０２）。データ移動の必要が無い場合、すなわち、負荷の偏りがない場合には（ステップＳ６０２，Ｎｏ）、データ移動は行わないで処理を終了する。
【００４６】
データ移動が必要な場合（ステップＳ６０２，Ｙｅｓ）、負荷制御部１３４がディスク管理テーブル１３２の情報を元に、負荷の小さい論理ディスクをデータの移動先として決定し（ステップＳ６０３）、移動元のストレージサブシステム１５０のディスク制御装置１６０に対してマップ情報テーブル更新要求を行う（ステップＳ６０４）。マップ情報テーブル更新要求を受理したストレージサブシステム１５０内の論理ディスク制御部１９１は、論理ディスクマップ情報テーブル１９２内のデータの状態４０１を移動中とし、移動先の論理ディスク情報を格納する。
【００４７】
負荷制御部１３４がストレージサブシステム１５０に対してリモートコピー実施を指示する（ステップＳ６０５）ことにより、論理ディスク制御部１９１は、リモートコピー処理部１８２へデータの移動を要求し、リモートコピーを実施する。リモートコピー完了後、ホスト計算機１００の仮想ディスク制御部１３１は、移動元の論理ディスク制御部１９１から通知を受け、仮想ディスクマップ情報テーブル１３３のデータ出力先論理ディスク３０１の情報を更新する（ステップＳ６０６）。
【００４８】
負荷制御部１３４がストレージサブシステム１５０に対して、移動元・移動先の論理ディスクマップ情報テーブル更新要求を出す（ステップＳ６０７）ことにより、移動元の論理ディスク制御部１９１が、論理ディスクマップ情報テーブル１９２のデータの状態４０１をデータ無しに変更し、移動先の論理ディスク制御部１９１が、論理ディスクマップ情報テーブル１９２のデータの状態４０１をデータ有りに変更する。
【００４９】
負荷制御部１３４がコピー元データ削除要求を出し（ステップＳ６０８）、移動元の論理ディスクマップ情報テーブル１９２から、管理情報である、データ出力先物理ディスク４０２、負荷情報４０３の該当箇所の情報の削除を行い、データの移動を完了する。
【００５０】
ホスト計算機１００の起動時は、入出力実行管理部１２２からストレージサブシステム１５０内のディスク制御装置１６０に対してマップ情報取得コマンドの入出力要求を発行する。マップ情報取得コマンドは、一例として仮想ディスク装置を構成する論理ディスク名称２０１を有する。
【００５１】
マップ情報取得コマンドを受け取ったディスク制御装置１６０では、論理ディスク制御部１９１で論理ディスクマップ情報テーブル１９２内のデータの状態４０１を確認し全てのマップ情報をホスト計算機１００に通知する。
【００５２】
ホスト計算機１００は、通知されたマップ情報を、仮想ディスク制御部１３１に渡し、仮想ディスクに関連付けられた論理ディスクの情報が格納されたディスク管理テーブル１３２、仮想ディスク上のデータ格納先論理ディスク情報が格納された仮想ディスクマップ情報テーブル１３３を構築する。
【００５３】
ホスト計算機１００の障害時は、ホスト計算機１００の再起動後、起動時と同じ処理を行うことで、仮想ディスクに関連付けられた論理ディスクの情報が格納されたディスク管理テーブル１３２、仮想ディスク上のデータ格納先論理ディスク情報が格納された仮想ディスクマップ情報テーブル１３３の再構築を行う。
【００５４】
本実施形態では、ホスト計算機１００と、ホスト計算機１００に対して記憶領域（例えば、物理ディスク１７０）を提供する複数のストレージサブシステム１５０と、を含んでなる情報システムにおいて、記憶領域への負荷を分散管理する負荷分散管理方法を提供する。
【００５５】
ホスト計算機１００は、複数のストレージサブシステム１５０の記憶領域（例えば、物理ディスク１７０）を仮想化したディスクとして識別させる仮想ディスク、仮想ディスク上の領域、仮想ディスクのデータ出力先である論理ディスク、および論理ディスクの負荷情報とを関連づける第１の管理情報（例えば、ディスク管理テーブル１３２、仮想ディスクマップ情報テーブル１３３）が第１の記憶部(例えば、メモリ１２０)に記憶されており、
複数のストレージサブシステム１５０は、論理ディスク、仮想ディスク上の領域と対応する論理ディスク上の領域、および論理ディスクの負荷情報を関連づける第２の管理情報（例えば、論理ディスクマップ情報テーブル１９２）が第２の記憶部(例えば、メモリ１８０)に記憶されており、負荷モニタ部１８３により、論理ディスクへの入出力要求による負荷を測定し、負荷情報として第２の管理情報に記録し、
ホスト計算機１００の仮想ディスクへの入出力要求を制御する仮想ディスク制御部１３１は、仮想ディスクへの入出力要求があると(ステップＳ５０１)、当該入出力要求において指定された仮想ディスク上の領域が未出力領域であるか否かを、第１の管理情報における仮想ディスク上の領域に論理ディスクが割り当てられているか否かにより判定し、入出力要求が、仮想ディスク上の領域に論理ディスクが割り当てられていない未出力領域へのものであるときは、仮想ディスク上の論理ディスクを、第１の管理情報の負荷情報をもとに決定し（ステップＳ５０２）、決定された論理ディスクを有するストレージサブシステムに入出力要求をし（ステップＳ５０３）、入出力要求の完了通知の受信したとき（ステップＳ５１１）、第２の管理情報の負荷情報をもとに第１の管理情報の負荷情報を更新する（ステップＳ５０６）ことを特徴とする。
【００５６】
ホスト計算機１００は、さらに、論理ディスクへの負荷分散の制御をする負荷制御部１３４を有しており、情報システムの複数のストレージサブシステム１５０は、さらに、ある論理ディスクから別の論理ディスクへデータをコピーするリモートコピー処理部１８２を有しており、
負荷制御部１３４は、負荷モニタ部１８３から負荷情報を受信すると（ステップＳ６０１）、第１の管理情報に記憶し、論理ディスク間で、所定以上の負荷の偏りがあると判定すると（ステップＳ６０２）、第１の管理情報から負荷の小さい論理ディスクをデータの移動先として決定し（ステップＳ６０３）、移動元のストレージサブシステムにデータの移動要求およびコピーを指示し（ステップＳ６０５）、移動元のストレージサブシステムから移動通知を受理すると、第１の管理情報を更新するとともに（ステップＳ６０６）、移動元のストレージサブシステムおよび移動先のストレージサブシステムの第２の管理情報の更新要求をし（ステップＳ６０７）、移動元のストレージサブシステムのコピー元のデータを削除する（ステップＳ６０８）ことを特徴とする。
【００５７】
ストレージサブシステム１５０の論理ディスク制御部１９１は、データを他の論理ディスクにコピーで移動中に論理ディスクへの入出力要求があった際は、データの移動完了後に、移動先論理ディスク情報をホスト計算機１００に報告し（ステップＳ５０５）、ホスト計算機１００の仮想ディスク制御部１３１は、ストレージサブシステム１５０から移動先論理ディスク情報の報告を受信すると、第１の管理情報を更新する（ステップＳ５０６）ことを特徴とする。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施形態におけるストレージシステムの一例を示す構成図である。
【図２】ディスク管理テーブルの構成例を示す図である。
【図３】仮想ディスクマップ情報テーブルの構成例を示す図である。
【図４】論理ディスクマップ情報テーブルの構成例を示す図である。
【図５】ディスク使用プログラムが仮想ディスクへ入出力を行う場合のホスト計算機側の処理を示すフローチャートである。
【図６】ディスク使用プログラムが仮想ディスクへ入出力を行う場合のストレージサブシステム側の処理を示すフローチャートである。
【図７】負荷分散のため論理ディスク間でデータ移動を行う場合の処理を示すフローチャートである。
【図８】仮想ディスク、論理ディスク、および物理ディスクの関係を示す説明図である。
【符号の説明】
【００５９】
１００    ホスト計算機
１１０，１６１    ＣＰＵ
１２０    メモリ（第１の記憶部）
１２１    ディスク使用プログラム
１２２    入出力実行管理部
１３１    仮想ディスク制御部
１３２    ディスク管理テーブル（第１の管理情報）
１３３    仮想ディスクマップ情報テーブル（第１の管理情報）
１３４    負荷制御部
１４０，１６２    ポート
１５０    ストレージサブシステム
１６０    ディスク制御装置
１７０    物理ディスク
１８０    メモリ（第２の記憶部）
１８１    ディスク入出力制御部
１８２    リモートコピー処理部（コピー処理部）
１８３    負荷モニタ部
１９１    論理ディスク制御部
１９２    論理ディスクマップ情報テーブル（第２の管理情報）
２００    仮想ディスク名称
２０１    論理ディスク名称
２０２    負荷情報
３００    仮想ディスク上の領域
３０１    データ出力先論理ディスク
４００    論理ディスク上の領域
４０１    データの状態
４０２    データ出力先物理ディスク
４０３    負荷情報
【図１】
2010128630.tif 000003
【図２】
2010128630.tif 000004
【図３】
2010128630.tif 000005
【図４】
2010128630.tif 000006
【図５】
2010128630.tif 000007
【図６】
2010128630.tif 000008
【図７】
2010128630.tif 000009
【図８】
2010128630.tif 000010