(57)【要約】【課題】複数のストレージボックスで構成された大規模なストレージシステムで、ストレージボックス間の負荷の不均衡が発生するのを回避する。【解決手段】あるストレージボックスに格納されている論理ボリュームを、ストレージボックスの論理ボリュームへ移動するに際して、ストレージボックスと通信しているホストの保持するネットワーク通信プロトコルなどのそのアクセス対象に関する情報を変更することによって、移動した論理ボリュームのアクセスのネットワーク経路を切り替える。ストレージボックスからホストに移動を通知する手段としては、ＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを使う方法、ＡＲＰプロトコルを用いる方法がある。【選択図】図３
2008047142.tif 000002
【特許請求の範囲】
【請求項１】
一つ以上の計算機と複数のストレージサブシステムから構成されるストレージシステムとを有する情報処理システムにおいて、
前記計算機は、ボリュームに関する情報を保持し、前記ボリュームに関する情報は、ネットワーク通信プロトコルで用いる情報を含み、
前記ストレージシステムのストレージサブシステムは、前記計算機とネットワークにより接続され、それらの計算機からアクセスされるボリュームを有するときに、
第一のストレージサブシステムの有するボリュームを、第二のストレージサブシステムへ移動し、
前記計算機の保持するそのボリュームに関する情報を変更することによって、
前記移動したボリュームへのネットワーク経路を、前記第一のストレージサブシステムから前記第二のストレージサブシステムへ切り替えることを特徴とする情報処理システム。
【請求項２】
さらに、この情報処理システムは、前記ストレージサブシステムを管理する管理計算機を有し、
前記ストレージシステムは、各々のストレージサブシステムの有する計算機のボリュームの負荷状況を測定する手段を備え、
前記管理計算機は、前記負荷状況を測定する手段によって測定された負荷状況を示す値を表示し、
前記ストレージシステムは、前記負荷状況を測定する手段によって測定された負荷状況を示す値に基づき、各々のストレージサブシステム計算機のボリュームへのアクセスの負荷分散をおこなうことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記ストレージサブシステムの有する計算機のボリュームにネットワーク識別子を割り当て、
前記管理計算機の表示画面に、ネットワーク識別子と、対応する計算機のアクセス対象とをそれぞれ頂点とするチェインに対応する前記計算機からのアクセスの負荷状況を表示することを特徴とする請求項１記載の情報処理システム。
【請求項４】
前記ネットワーク通信プロトコルで用いる情報がＡＲＰキャッシュであることを特徴とする請求項３記載の情報処理システム。
【請求項５】
前記ＡＲＰキャッシュの更新は、前記第二のストレージサブシステムから出されるＡＲＰに関するパケットを受信することによっておこなわれることを特徴とする請求項４記載の情報処理システム。
【請求項６】
一つ以上の計算機と複数のストレージサブシステムから構成されるストレージシステムとを有する情報処理システムのストレージ制御方法において、
前記計算機は、ボリュームに関する情報を保持し、前記ボリュームに関する情報は、ネットワーク通信プロトコルで用いる情報を含み、
前記ストレージシステムのストレージサブシステムは、前記計算機とネットワークにより接続され、それらの計算機からアクセスされるボリュームを有するときに、
前記ストレージシステムが、第一のストレージサブシステムに格納されているボリュームを、第二のストレージサブシステムへ移動させる手順と、
前記ストレージシステムが、前記計算機の保持するそのボリュームに関する情報を変更することによって、
前記移動したボリュームへのネットワーク経路を、前記第一のストレージサブシステムから前記第二のストレージサブシステムへ切り替える手順とを有することを特徴とする情報処理システムのストレージ制御方法。
【請求項７】
さらに、この情報処理システムは、前記ストレージサブシステムを管理する管理計算機を有し、
前記ストレージシステムは、各々のストレージサブシステムの有する計算機のボリュームの負荷状況を測定する手段を備え、
前記管理計算機は、前記負荷状況を測定する手段によって測定された負荷状況を示す値を表示し、
前記ストレージシステムは、前記負荷状況を測定する手段によって測定された負荷状況を示す値に基づき、各々のストレージサブシステム計算機のボリュームへのアクセスの負荷分散をおこなうことを特徴とする請求項６記載の情報処理システムのストレージ制御方法。
【請求項８】
前記ストレージサブシステムの有する計算機のボリュームにネットワーク識別子を割り当て、
前記管理計算機の表示画面に、ネットワーク識別子と、対応する計算機のアクセス対象とをそれぞれ頂点とするチェインに対応する前記計算機からのアクセスの負荷状況を表示することを特徴とする請求項６記載の情報処理システムのストレージ制御方法。
【請求項９】
前記ネットワーク通信プロトコルで用いる情報がＡＲＰキャッシュであることを特徴とする請求項８記載の情報処理システムのストレージ制御方法。
【請求項１０】
前記ＡＲＰキャッシュの更新は、前記第二のストレージサブシステムから出されるＡＲＰに関するパケットを受信することによっておこなわれることを特徴とする請求項９記載の情報処理システムのストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機とネットワークにより接続され、複数のストレージサブシステムにより構成されるストレージシステムに係り、特に、ｉＳＣＳＩなどを使ってストレージの制御をおこなうシステムであって、計算機とストレージサブシステムのネットワーク、また、ストレージサブシステム間ネットワークの負荷をかけることなく、ストレージサブシステムの計算機からのアクセスの負荷分散をおこなうのに好適なストレージシステムに関する。
【背景技術】
【０００２】
近年、大規模ストレージシステムに対する信頼性や性能に対する要求が、ますます高まってきている。このようなユーザの要求を満たすための大規模ストレージサブシステムを構築する方法として、複数のストレージサブシステム（以後、「ストレージボックス」ともいう）を内部ネットワークで接続し、各々独立にストレージの制御をおこなえる形態がある。例えば、実際のストレージシステムの実装の一つとしては、ストレージボックス同士を高速専用ネットワークで接続し、ストレージボックス間でのＩ／Ｏフォワード機能を付加することで、ホストからは大規模なストレージサブシステムとして見せる方法がある。このＩ／Ｏフォワード機能は、ホストからＩ／Ｏ要求を受けたときに、他のストレージボックスへの要求であったときには、他のストレージボックスと交信し、ホストに必要なメッセージを返す機能である。
【０００３】
また、第二の方法としては、ストレージボックス間に専用のネットワークを用意せずに、ホストからのＩ／Ｏが通過する非専用ネットワークを用いて、前記のＩ／Ｏフォワード機能をおこなう方法もある。
【０００４】
このようなストレージシステムを構築するためのプロトコルとして、現在ＩＥＴＦ（Internet Engineering Task Force）にて仕様策定中のｉＳＣＳＩ（Internet Small Computer Interface）が期待されている。
【０００５】
ｉＳＣＳＩは、ＴＣＰ／ＩＰプロトコルで通信をおこなっているネットワーク上でＳＣＳＩコマンド等の送受信によってストレージＩ／Ｏをおこなうためのプロトコルである。ＴＣＰ／ＩＰプロトコルを用いることのできる代表的なネットワーク機器であるＥｔｈｅｒｎｅｔ（登録商標）は、現在ストレージネットワークで用いられているＦｉｂｒｅ Ｃｈａｎｎｅｌよりも低コストで敷設することができることから、このｉＳＣＳＩの普及によって現在のＦｉｂｒｅ Ｃｈａｎｎｅｌで接続されたストレージネットワーク以上の数のホストおよびストレージサブシステムを接続することができるようになる。
【０００６】
また、このようなストレージサブシステムに関する従来技術としては、特許文献１の「記憶制御装置」があり、これには、ストレージサブシステム内部の各部の負荷状況を把握すること、負荷が集中するのを回避する方法が開示されている。
【０００７】
【特許文献１】特開２０００−２９３３１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記従来の技術は、ストレージサブシステム内部のディスクへのアクセス集中を回避する方法を述べているが、大規模なストレージシステムについては、考慮されていない。大規模なストレージシステムでは、多数のホストから同時にＩ／Ｏ要求が送られて来るため、特定のチャネルプロセッサやパリティグループ等に対する負荷集中が発生し、その結果としてＩ／Ｏ性能が劣化する可能性がある。上記従来技術の方法では、ストレージサブシステム内部のパリティグループの負荷集中については解決できるが、ストレージサブシステムの間の負荷の不均衡については解決できないという問題点があった。
【０００９】
さらに、Ｉ／Ｏフォワード機能にて用いるストレージボックス同士を接続するネットワークは、原則的に全てのストレージボックスを接続して用いるため、常にストレージボックス間のネットワーク上をデータを通過するようにすると、そのネットワーク上の通信が性能上のボトルネックとなり、性能低下を発生させることがありうる。
【００１０】
本発明は、上記問題点を解決するためになされたもので、その目的は、複数のストレージボックスで構成された大規模なストレージシステムで、ストレージボックス間の負荷の不均衡が発生するのを回避する機能を有するストレージシステムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明のストレージシステムでは、一つ以上の計算機とネットワークにより接続され、それらの計算機のアクセス対象を格納する複数のストレージサブシステムから構成されるストレージシステムにおいて、第一のストレージサブシステムに格納されているアクセス対象を、第二のストレージサブシステムへ移動し、計算機の保持するそのアクセス対象に関する情報を変更することによって、移動したアクセス対象へのネットワーク経路を、各計算機毎に独立におこなうようにする第一のストレージサブシステムから第二のストレージサブシステムへ切り替えるようにする。
【００１２】
ストレージサブシステムとホストのネットワーク経路を切り替えるために、ストレージサブシステムとホストのやりとりの方法としては、ＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを使う方法、ＡＲＰプロトコルを用いる方法が考えられる。
【００１３】
また、計算機の保持するそのアクセス対象に関する情報は、例えば、ｉＳＣＳＩを使用したシステムの場合には、ＩＰプロトコルに関する情報、ＳＣＳＩに関する情報などである。
【発明の効果】
【００１４】
本発明によれば、複数のストレージボックスで構成された大規模なストレージシステムで、ストレージボックス間の負荷の不均衡が発生するのを回避する機能を有するストレージシステムを提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係る各実施形態を、図１ないし図１９を用いて説明する。
【００１６】
〔実施形態１〕
以下、本発明に係る第一の実施形態を、図１ないし図１０を用いて説明する。
（I）本実施形態のストレージシステムの構成
先ず、図１および図２を用いて本発明の第一の実施形態に係るストレージシステムの構成について説明する。
図１は、本発明の第一の実施形態に係るストレージシステムを使った情報処理システムの全体構成図である。
図２は、本発明の第一の実施形態に係るストレージシステムを構成するストレージボックスの構成である。
【００１７】
図１に示されるように本実施形態のストレージシステムを使った情報処理システムは、一つ以上のホスト１１０と、ストレージシステム１００がストレージネットワークにより接続された形態である。
【００１８】
ここで、ストレージネットワーク１４０は複数個、複数種類の物理ネットワーク機器から構成されるネットワークや、広域ネットワークであってもよく、どのようなネットワークトポロジーであってもよい。
【００１９】
ストレージシステム１００とホスト１１０は、ＮＩＣ(Network Interface Card)１３０を介してストレージネットワーク１４０により接続されている。また、ホスト１１０とストレージシステム１００の通信プロトコルとしては、ＴＣＰ／ＩＰプロトコルが代表的なものであり、ストレージＩ／Ｏも含んだプロトコルとしてはｉＳＣＳＩプロトコルを用いることができる。
【００２０】
ストレージシステム１００は、複数のストレージボックス１５０とストレージボックス間調停機能１６０がストレージ内部ネットワーク１７０によって接続されたシステムである。
【００２１】
ストレージボックス１５０は、単体でホスト１１０からのＩ／Ｏリクエストに応じて情報を蓄積したり、返したりする機能を有するストレージサブシステムである。
【００２２】
ストレージ内部ネットワーク１７０は、ストレージボックス１５０やストレージボックス間調停機能１６０同士を接続する内部ネットワークである。ただし、ストレージ内部ネットワーク１７０は、ホスト１１０とストレージシステムを接続するストレージネットワーク１４０と同じネットワークであってもよい。
【００２３】
ストレージボックス間調停機能１６０は、ルーティング情報発信機能１６１とストレージボックス間論理ボリューム移動機能１６２を含んでいる。なお、ストレージボックス間調停機能１６０は、図１のようにストレージシステム１００の内部に設けてもよく、外部に存在してもよい。
【００２４】
ルーティング情報発信機能１６１は、ホスト１１０およびストレージボックス１５０が参考にするＴＣＰ／ＩＰの経路情報を発信する機能である。ここで、ＴＣＰ／ＩＰの経路情報を発信するプロトコルとしては、ＲＩＰやＯＳＰＦが考えられ、またこの機能を実現するための具体例としてはＵｎｉｘ（登録商標）のｒｏｕｔｅｄ，ｇａｔｅｄが考えられるが、これ以外のものでもよい。また、ルーティング情報発信機能１６１は、自身以外が発信した経路情報を受信する能力を有してもよい。
【００２５】
ストレージボックス間論理ボリューム移動機能１６２は、ストレージボックス間の論理ボリューム移動を実施するためのストレージ全体の制御をおこなう機能である。
【００２６】
ホスト１１０は、ＴＣＰ／ＩＰスタック１１２、Ｉ／Ｏリクエスト発行機能１１１、ルーティング情報送受信機能１１４、ルーティングテーブル１１３を含む計算機である。
【００２７】
ＴＣＰ／ＩＰスタック１１２は、ＴＣＰ／ＩＰプロトコルに沿った通信をおこなうための機能である。
【００２８】
Ｉ／Ｏリクエスト発行機能１１１は、ストレージシステム１００に対してｉＳＣＳＩプロトコルに準拠したＩ／Ｏリクエストを発行する機能である。
【００２９】
ルーティング情報送受信機能１１４は、ストレージシステム１００あるいはルータや他のホスト１１０等が発信するＴＣＰ／ＩＰの経路情報を受信したり、経路情報を発信する機能である。
【００３０】
ルーティングテーブル１１３は、ＴＣＰ／ＩＰスタック１１２が通信をおこなうために必要な経路情報が含まれている。
【００３１】
次に、図２を用いてストレージボックス１５０の構成を説明する。
【００３２】
ストレージボックス１５０は、図２に示されるようにＮＩＣ１３０、ＣＨＰ２１０（CHannel Processor）、キャッシュ２２０、ＤＫＰ２３０（DisK Processor）と、記憶装置２４０から構成され、ＣＨＰ２１０、ＤＫＰ２３０、キャッシュ２２０は、内部ネットワークスイッチ２５０に接続されている。そして、複数のストレージボックス１５０の内部ネットワークスイッチ２５０を接続することによってストレージ内部ネットワーク１７０が構成されている。
【００３３】
なお、図中ではＣＨＰ２１０とキャッシュ２２０、ＤＫＰ２３０は、内部ネットワークスイッチ２５０に接続されているが、ＣＨＰ２１０とキャッシュ２２０、ＤＫＰ２３０同士が別途に用意されたバス等で接続されていた場合には、内部ネットワークスイッチ２５０は、ルーティング機能２１１およびＩ／Ｏリクエスト機能２１２が存在するプロセッサ（図中ではＣＨＰ２１０）にのみ接続されていてもよい。
【００３４】
また、内部ネットワークスイッチ２５０とストレージ内部ネットワーク１７０の機能の代用として、ストレージネットワーク１４０を用いてもよい。
【００３５】
このストレージボックス１５０は、通常、一つ以上の記憶装置２４０を有している。この記憶装置２４０は、論理ボリュームとしてホストに提供されている記憶領域を実際に蓄積する装置である。記憶装置２４０は、現在のストレージシステムとしては磁気ディスクが主力であるが、光ディスク、コンパクトディスク、ＤＶＤ等も考えられ、さらにこれら以外のものでもよい。
【００３６】
ＣＨＰ２１０は、ＮＩＣ１３０を通じて受信したＩ／Ｏリクエストを処理するためのプロセッサであり、ルーティング機能２１１とＩ／Ｏリクエスト処理機能２１２が含まれる。各ストレージボックスのＣＨＰ２１０は、他のストレージボックスＣＨＰ２１０とネットワークにより接続されており、ストレージ内部にＣＨＰ用ＴＣＰ／ＩＰネットワーク２６０を形成している。このＣＨＰ用ＴＣＰ／ＩＰネットワーク２６０は、ＴＣＰ／ＩＰプロトコルによって、各ＣＨＰ２１０のＩ／Ｏリクエスト処理機能２１２とルーティング機能２１１が接続されたネットワークである。
【００３７】
ルーティング機能２１１は、ストレージネットワーク１４０とＣＨＰ用ＴＣＰ／ＩＰネットワーク２６０を接続するＩＰルータにより、ＴＣＰ／ＩＰパケットをルーティングさせる機能である。
【００３８】
Ｉ／Ｏリクエスト処理機能２１２は、ホストから送信されたＩ／Ｏリクエストを処理する機能であり、ＴＣＰ／ＩＰプロトコルとｉＳＣＳＩプロトコルによって届けられたＳＣＳＩコマンドを解釈して、これを処理するためにキャシュ上のデータを読み書きしたり、ＤＫＰ２３０のステージング機能２３１に対してステージング処理、または、デステージング処理を依頼する。ここで、ステージング処理とは、記憶装置２４０の上のデータをキャッシュへ移動する機能であり、デステージング処理とは、その逆の処理である。
【００３９】
なお、Ｉ／Ｏリクエスト処理機能２１２がキャッシュ２２０やステージング機能２３１へ処理を依頼する際のデータのアドレッシングは、直接に記憶装置２４０やそのブロックのアドレスを指定するのではなく、論理的なアドレスを用いておこなう。
【００４０】
ＣＨＰ用ＴＣＰ／ＩＰネットワーク２６０の実現方法としては、ストレージ内部ネットワーク１７０を利用してもよいしＣＨＰ２１０同士を直接ネットワークで接続してもよい。また、ＣＨＰ用ＴＣＰ／ＩＰネットワーク２６０としてストレージネットワーク１４０を用いてもよい。
【００４１】
ＤＫＰ２３０は、記憶装置２４０のＩ／Ｏ処理を担当するためのプロセッサであり、ステージング機能２３１や論理ボリューム移動機能２３２が含まれる。ステージング機能２３１は、キャッシュ２２０へのステージング処理やデステージング処理をおこなう機能である。ＤＫＰ２３０は、また複数の記憶装置をまとめてパリティグループとして取り扱うために必要な処理をおこなうが、これ以外にレプリケーション等の処理をおこなってもよい。
【００４２】
論理ボリューム移動機能２３２は、ホスト１１０からのアクセス単位である論理ボリュームとして提供されている記憶装置上のデータを他のストレージボックス１５０を含めた記憶装置２４０に移動させる機能である。また、論理ボリューム移動機能２３２は、論理ボリューム移動に伴ってキャッシュ上の情報のストレージボックス１５０間の移動をおこなうようにしてもよい。
【００４３】
また、実際の移動方法としては、一時的にＩ／Ｏ処理を停止して論理ボリュームの全データを複写し、複写完了後にステージング機能２３１が有する論理的なアドレスと実際にデータが保存されている記憶装置やブロックを変換するための情報の更新した後に再びＩ／Ｏ処理を再開する方法や、Ｉ／Ｏ停止時間の短縮が期待できる複写方法として、前処理にＩ／Ｏを停止させずに論理ボリュームの全データを複写し、その次にＩ／Ｏ処理を一時停止させてから前処理開始以後の書き込みによって変化したデータを移動先へ反映させる方法が考えられる。さらに、これ以外の方法やタイミングで論理ボリュームの移動やステージング機能２３１が有する情報を更新してもよい。
【００４４】
ステージング機能２３１は、Ｉ／Ｏリクエスト処理機能２１２から要求されたステージング処理やデステージング処理をおこなう機能である。なお、ステージング機能２３１は内部に論理的なアドレスと実際にデータが保存されている記憶装置やそのブロックを示すアドレスを変換するための情報を有する。
（II）本実施形態のストレージ制御方法
次に、図３ないし図８を用いて本実施形態のストレージ制御方法について説明する。
図３は、本発明の第一の実施形態のストレージ制御方法を説明するための概要図である。
図４は、本発明の第一の実施形態のストレージ制御方法のＩＰアドレスと論理ボリュームの対応関係を模式的に示した図である。
図５は、本発明の第一の実施形態のストレージ制御方法を説明するためのフローチャートである。
【００４５】
本実施形態のストレージ制御方法は、図３に示したような複数のストレージボックスを有するストレージシステム１００とホスト１１０がネットワークで接続されている情報処理システムで、ストレージボックス１５０内の論理ボリュームを移動したきに、ネットワークの通信経路も切替える方法に関するものである。
【００４６】
ここで、ストレージボックスＢ１５０Ｂ内の記憶領域Ｂ３３１にデータが存在する論理ボリュームをストレージボックスＡ１５０Ａに移動する場合を例に採るものとする。また、その論理ボリュームは、ホストＡ１１０Ａが、アクセスをおこなっており、そのＩＰアドレスは、ＡｄｄｒｅｓｓＡであるものとする。
【００４７】
本実施形態では、ホスト１１０とストレージボックス間のプロトコルとしては、ＴＣＰ／ＩＰプロトコル、または、ｉＳＣＳＩプロトコルを用いるものとして説明する。
【００４８】
なお、この例では、一つのＩＰアドレスに一つの論理ボリュームが対応した例を説明しているが、一つのＩＰアドレスに複数の論理ボリュームが対応していてもよいし、逆に、複数のＩＰアドレスに一つの論理ボリュームが対応していてもよい。
【００４９】
先ず、ここでは、図４を用いてＩＰアドレスと論理ボリュームの対応関係について説明する。
【００５０】
ＩＰアドレスと論理ボリュームとの対応は、ＩＰアドレスと論理ボリュームをそれぞれ頂点となす無向グラフのチェイン（Chain）を考えて、ストレージアクセス時のデータのトラフィックを計算したり、表示したりする。
【００５１】
図４（ａ）は、ＩＰアドレスと論理ボリュームが一対一に対応した場合であり、データ量は、ＩＰ１を経由して論理ボリュームＶ１へのストレージアクセスをおこなうための時間あたりのデータ量は、１[ＧＢ／Ｓ]である。
【００５２】
図４（ｂ）は、ＩＰアドレスと論理ボリュームが一対多に対応した場合であり、データ量は、ＩＰ１を経由して論理ボリュームＶ２１、Ｖ２２、Ｖ２３ヘのストレージアクセスをおこなうためのアクセス時の時間あたりのデータ量は、それぞれの論理ボリュームに対する時間あたりのデータ量の和をとった２[ＧＢ／Ｓ]になる。
【００５３】
図４（ｃ）は、ＩＰアドレスと論理ボリュームが多対一に対応した場合であり、データ量は、ＩＰ３１、ＩＰ３２、ＩＰ３３を経由して論理ボリュームＶ３ヘのストレージアクセスをおこなうためのアクセス時の時間あたりのデータ量は、それぞれのＩＰアドレスに対する時間あたりのデータ量の和をとった４.５[ＧＢ／Ｓ]になる。
【００５４】
また、図４（ｂ）と図４（ｃ）のタイプを組み合わせてＩＰアドレスと論理ボリュームが多対多に対応するようにしてもよい。
【００５５】
論理ボリュームの移動の際には、各々のストレージボックスに関してこのような時間あたりのデータ量が平準化されることが望ましい。
【００５６】
次に、図５のフローチャートを追いながら、本実施形態で論理ボリュームを移動したときのシステムの処理について説明する。
（１）ここでは、ＩＰアドレスがＡｄｄｒｅｓｓＡである論理ボリュームを他のストレージボックスに移動しようとしている。
【００５７】
先ず、移動する前に先立って、ストレージボックス間調停機能１６０のストレージボックス間論理ボリューム移動機能１６２がトリガーをかけることにより、ストレージボックスＢ１５０ＢのＩ／Ｏリクエスト処理機能２１２は、ＡｄｄｒｅｓｓＡに関係するＴＣＰコネクションの情報やバッファ、ＩＰアドレス、ｉＳＣＳＩのシーケンス番号や、ＳＣＳＩ処理部の状態等のネットワーク通信およびＳＣＳＩ処理までに必要な情報をストレージボックスＡ１５０ＡのＩ／Ｏリクエスト処理機能２１２に移動させる（ステップ１００１）。
【００５８】
それと同時に、ストレージサブシステム調停機能１６０のストレージボックス間論理ボリューム移動機能１６２が指示を与えることにより、ストレージボックスＡ１５０ＡとストレージボックスＢ１５０Ｂ両方のルーティング機能２１１について、ＡｄｄｒｅｓｓＡ宛であるＩＰデータグラムはストレージボックスＡ１５０ＡのＩ／Ｏリクエスト処理機能２１２へ向けて送信するように設定する（ステップ１００２）。
【００５９】
次に、ストレージボックスＢ１５０Ｂのルーティング機能２１１にＡｄｄｒｅｓｓＡ宛のＩＰデータグラムが来た場合はＩＰプロトコルで定義されているＩＣＭＰ Ｒｅｄｉｒｅｃｔ ＥｒｒｏｒメッセージをホストＡ１１０Ａに返信するように設定する（ステップ１００３）。
【００６０】
ＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージは、ＴＣＰ／ＩＰプロトコルで通常用いられるメッセージであり、このメッセージは、ホストＡ１１０Ａが、ＡｄｄｒｅｓｓＡの論理ボリュームに対して、これ以降ストレージボックスＡ１５０Ａにアクセスに行かせるようにすることが目的である。
（２）次に、ストレージサブシステム調停機能１６０のルーティング情報発信機能１６１はＩＰアドレスがＡｄｄｒｅｓｓＡに関する経路として、ストレージボックスＡ１５０Ａのルーティング機能２１１を経由する設定をストレージネットワーク１４０上の全てのホストへ発信する（ステップ１００４）。
（３）ＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを受け取ったホストＡ１１０Ａは、自らのルーティングテーブル１１３を更新し、これ以降のＡｄｄｒｅｓｓＡ宛のＩＰデータグラムをストレージボックスＡ１５０Ａのルーティング機能２１１を経由させる（ステップ１００５）。
（４）ルーティング情報発信機能１６１による経路情報を受け取ったホストＢ１１０Ｂは自らのルーティングテーブル１１３を更新し、これ以降のＡｄｄｒｅｓｓＡ宛のＩＰデータグラムをストレージボックスＡ１５０Ａのルーティング機能２１１を経由させるようにする（ステップ１００６）。
【００６１】
この段階でＡｄｄｒｅｓｓＡの論理ボリュームへのアクセスリクエストは、ステップ１００７が完了するまで一時的に処理を停止した状態となり、ＴＣＰ／ＩＰプロトコルのメッセージやホストからのＳＣＳＩリクエストが受け付けられない状態になる。しかしながら、そのような場合でも、通常、ＴＣＰ／ＩＰプロトコルのメッセージやホストからのＳＣＳＩリクエストは、送信に失敗したときに再送処理されるため、論理ボリューム移動後は、移動以前と同様なアクセスが可能となる。
【００６２】
また、Ｉ／Ｏリクエスト処理機能２１２が他のストレージボックス１５０のキャッシュ２２０のデータにアクセス可能であったり、ＤＫＰ２３０との情報のやり取りが可能である場合は、現段階からステップ１００７が完了するまでの間にストレージボックスＡ１５０ＡのＩ／Ｏリクエスト処理機能に到着したＩ／ＯリクエストをストレージボックスＢ１５０Ｂのキャッシュ２２０やＤＫＰと連携してＩ／Ｏリクエストを処理してもよい。この場合には、ストレージボックスＡ１５０ＡにＩ／Ｏリクエストが到着したときでも、移動前のストレージボックスＢにある論理ボリュームにアクセス可能になる。
（５）最後に、論理ボリューム移動機能２３２により、記憶領域Ｂ３３１に保存されたデータを記憶領域Ａ３３２へ移動し、ＡｄｄｒｅｓｓＡの論理ボリュームが実際にデータを保存している領域の値を記憶領域Ｂ３３１から記憶領域Ａ３３２へ変更する（ステップ１００７）。
【００６３】
これによって、ホストＡ１１０Ａ、ホストＢ１１０Ｂ共に、ストレージボックスＡ１５０Ａにストレージネットワーク１４０を介してアクセスに行くようになり、論理ボリューム移動に伴って、ネットワーク経路が切替えられたことになる。
【００６４】
なお、本実施例でホスト１１０のルーティングテーブル更新に用いた方法は、ＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージおよびルーティング情報発信機能１６１であったが、これ以外の方法でルーティングテーブル１１３を更新してもよい。
【００６５】
この場合、上記のようにルーティング機能２１１の設定変更以後に、ストレージボックスＢ１５０Ｂのルーティング機能２１１にＡｄｄｒｅｓｓＡ宛のＩＰデータグラムが到着する場合でも、ＣＨＰ用ＴＣＰ／ＩＰネットワーク２６０を経由してストレージボックスＡ１５０ＡのＩ／Ｏリクエスト処理機能２１２へ転送される。したがって、ルーティングテーブル１１３の更新の要件とされるのは、その方法により、それぞれのホスト１１０に対して同時または個別に変更されることでありかつ、それが有限時間で完了することのみである。
【００６６】
次に、図６を用いて本発明のストレージ制御方法におけるストレージボックス間論理ボリューム移動機能１６２の処理について説明する。
図６は、ストレージボックス間論理ボリューム移動機能１６２の処理のフローチャートである。
【００６７】
ＤＫＰ２３０の中のストレージボックス間論理ボリューム移動機能１６２は、論理ボリューム移動方法のストレージシステム１００全体の制御をおこなう機能を有し、以下のような図６のフローチャートに従った処理をおこなう。
（１）移動元のストレージボックス１５０から移動させるＩＰアドレスと論理ボリュームと移動先となるストレージボックス１５０を決定し、配列ＩＰＬｉｓｔ［］とＶＯＬ［］へセットする（ステップ４０１）。
【００６８】
移動の対象とするＩＰアドレスと論理ボリュームの対は、上記の図４の所で説明したようなＩＰアドレスと論理ボリュームのチェインを考えて、論理ボリュームにアクセスされるデータ量の総和が大きくならないように留意する。すなわち、論理ボリュームを移動する前のストレージボックスのＩＰアドレスと論理ボリュームのチェインによって換算されるデータ量に対して、論理ボリュームを移動した後のＩＰアドレスと論理ボリュームのチェインによって換算されるデータ量が大きくならないようにすることによって、このストレージシステムを構成する各々のストレージボックスに対する負荷を平準化することができる。
【００６９】
また、ＩＰＬｉｓｔ［］とＶＯＬ［］の決定方法については、管理者が管理画面を通してＩＰＬｉｓｔ［］とＶＯＬ［］を決定する方法や、ＩＰＬｉｓｔ［］とＶＯＬ［］を設定するＡＰＩを外部ソフトウェアに公開し、外部ソフトウェアが決定する方法が考えられるが、これら以外の方法を用いてもよい。また、ＩＰＬｉｓｔ［］とＶＯＬ［］の決定に際して、上記の図４で説明したＩＰアドレスと論理ボリュームに対応付けられているもので、一つのチェインを形成しているものの全てを移動のためのＩＰＬｉｓｔ［］とＶＯＬ［］に設定することを推奨、または、強制し、これによってＩＰアドレスとそこからアクセス可能な論理ボリュームが移動中を除き常にあるストレージボックス１５０内に存在するようにしてもよい。
（２）次に、Ｉ／Ｏリクエスト処理機能２１２に対してＩＰアドレスのリストＩＰＬｉｓｔ［］とこれに関係する全てのＴＣＰコネクション、ｉＳＣＳＩデバイス、ＳＣＳＩデバイスの状態を移動先ＣＨＰ２１０のＩ／Ｏリクエスト処理機能２１２へ移動するように依頼する（ステップ４０４）。
（３）変数ｉに０をセットする（ステップ４０２）。
（４）ｉが配列ＩＰＬｉｓｔ［］より小さな値ならばステップ４０５をおこない、そうでないならばステップ４０９をおこなう（ステップ４０３）。
（５）ストレージシステム１００内の全てのルーティング機能２１１に対して、ＩＰアドレスＩＰＬｉｓｔ［ｉ］に対する経路設定を移動先となるＣＨＰ２１０のＩ／Ｏリクエスト処理機能２１２へ設定する（ステップ４０５）。
（６）移動先となるストレージボックス１５０以外にあるＣＨＰ２１０のルーティング機能２１１に対して、ＩＰアドレスＩＰＬｉｓｔ［ｉ］を宛先とするＩＰデータグラムが到着した場合は、それを移動先のＣＨＰ２１０のＩ／Ｏリクエスト処理機能２１２へ転送すると共に、送信元のホスト１１０またはルータ等のネットワーク機器に対してＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを送信するように設定する（ステップ４０６）。
（７）ホスト１１０がＩＰアドレスＩＰＬｉｓｔ［ｉ］に対してＩＰデータグラムを送る場合に、移動先のストレージボックス１５０が有するＣＨＰ２１０のルーティング機能２１１をルータとして利用させる新たな経路情報をルーティング情報発信機能１６１に発信させる（ステップ４０７）。
（８）ｉを１インクリメントし、ステップ４０３へ戻る（ステップ４０８）。なお、図の「ｉ＋＋」はＣ言語ライクな記法であり、ｉを１インクリメントすることを意味する。
（９）変数ｉに０をセットする（ステップ４０９）。
（１０）ｉが配列ＩＰＬｉｓｔ［］より小さな値ならばステップ４１１をおこない、そうでないならば終了する（ステップ４１０）。
（１１）ＶＯＬ［ｉ］を移動先のストレージボックス１５０の利用していない記憶領域へ移動する（ステップ４１１）。
（１２）ｉを１インクリメントし、ステップ４１０へ戻る（ステップ４１２）。
【００７０】
次に、図７を用いて本発明のストレージ制御方法において、ホスト１１０がＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを受け取った場合の処理について説明する。
【００７１】
図７は、ホスト１１０がＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを受け取った場合の処理のフローチャートである。
【００７２】
ホスト１１０がＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを受け取った場合には、ホスト１１０のＴＣＰ／ＩＰスタック１１２が、以下のようにルーティングテーブル１１３の内容を変更する（図５のステップ１００５）。
（１）ＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを受け取る（ステップ５０１）。
（２）受け取ったＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージから通信先のＩＰアドレスＤｅｓｔＩＰとそれに対する新たなルータのＩＰアドレスＲｔｒＩＰを抽出する（ステップ５０２）。
（３）ルーティングテーブル１１３のＤｅｓｔＩＰに対するエントリを更新または追加し、ＲｔｒＩＰとなるようにする。（ステップ５０３）
次に、図８を用いてホスト１１０がＴＣＰ／ＩＰの経路情報を受信した場合の処理について説明する。
【００７３】
図８は、ホスト１１０がＴＣＰ／ＩＰの経路情報を受信した場合の処理のフローチャートである。
【００７４】
ホスト１１０が、ＯＳＰＦやＲＩＰ等のルーティングプロトコルに代表されるＴＣＰ／ＩＰの経路情報を受信したときには、ルーティング情報送受信機能１１４は、以下のようにルーティングテーブル１１３の内容を変更する（図５のステップ１００６）。
（１）経路情報を受け取る（ステップ６０１）。
（２）経路情報を元に、ルーティングテーブル１１３に対して変更または追加を行う（ステップ６０２）。
【００７５】
次に、図９を用いてＩ／Ｏリクエスト処理機能２１２がＩＰアドレスに関係する通信情報、Ｉ／Ｏ情報を移動する処理について説明する。
図９は、Ｉ／Ｏリクエスト処理機能２１２がＩＰアドレスに関係する通信情報、Ｉ／Ｏ情報を移動する処理のフローチャートである。
【００７６】
ＣＫＰ２１０のＩ／Ｏリクエスト処理機能２１２は、以下のようにＩＰアドレスの集合とこれに関係するＴＣＰコネクション、ｉＳＣＳＩデバイス、ＳＣＳＩデバイスを移動する（図５のステップ１００１）。
【００７７】
なお、ＳＣＳＩデバイスとはＳＣＳＩコマンドの処理をおこなう仮想的なデバイスである。また、ｉＳＣＳＩデバイスはｉＳＣＳＩの規格にしたがった通信をおこなうために必要なログイン処理等の制御やＳＣＳＩコマンドの受渡しを行う仮想的なデバイスであり、一つ以上のＴＣＰコネクションを通して送られて来るｉＳＣＳＩのＰＤＵ（Protocol Data Unit）からＳＣＳＩコマンドやデータを抽出し、それをＳＣＳＩデバイスに渡したり、ＳＣＳＩデバイスの処理結果をＰＤＵにセットしてＴＣＰコネクションを通じて送信する処理をおこなうものであり、ＳＣＳＩデバイスと１対１に対応する。
（１）移動元のストレージボックス１５０が有するＣＨＰ２１０のＩ／Ｏリクエスト処理機能２１２（以後、「移動元ＣＨＰ２１０」と省略する）は、ＩＰＬｉｓｔ［］に含まれるＩＰアドレスを送信先として到着したＩＰデータグラムを破棄するようにする。なお、ＩＰＬｉｓｔ［］は、図６のステップ４０４で渡された移動すべきＩＰアドレスの配列である（ステップ７０１）。
（２）移動元ＣＨＰ２１０は、ＩＰＬｉｓｔ［］に含まれるＩＰアドレスを用いて確立されている全てのＴＣＰコネクションと、それらのＴＣＰコネクションを用いている全てのｉＳＣＳＩデバイス、前記ｉＳＣＳＩデバイスに対応するＳＣＳＩデバイスの処理を中断し、状態の移動に備える（ステップ７０２）。
（３）移動先のストレージボックス１５０が有するＣＨＰ２１０のＩ／Ｏリクエスト処理機能２１２（以後、「移動先ＣＨＰ２１０」と省略する）は、ＩＰＬｉｓｔ［］に含まれる全てのＩＰアドレスを受け付けるようにする（ステップ７０３）。
【００７８】
ここで、必要ならばＩ／Ｏリクエスト処理機能２１２のＴＣＰスタックに対して、ＩＰＬｉｓｔ［］に含まれるＩＰアドレスに対するＩＰデータグラムが到着した場合に、送信元へ特別なメッセージを返さずにＩＰデータグラムを破棄する設定をしてもよい。
（４）移動元ＣＨＰ２１０は、ＩＰＬｉｓｔ［］に含まれるＩＰアドレスを用いて確立された全てのＴＣＰコネクションの状態を保存し、移動先ＣＨＰ２１０へ送る（ステップ７０４）。なお、ＴＣＰ／ＩＰプロトコルの規格から、少なくともＣＨＰ２１０側のＩＰアドレスとｐｏｒｔ番号、ホスト１１０側のＩＰアドレスとｐｏｒｔ番号、現在のシーケンス番号と緊急ポインタ番号、ＣＨＰ２１０側に存在するＴＣＰコネクション毎の送信用バッファと受信用バッファをＴＣＰコネクションの状態として保存する必要がある。
（５）移動先ＣＨＰ２１０は、移動元ＣＨＰ２１０から送られて来たＴＣＰコネクションの状態を元にＴＣＰコネクションの復旧を行い、ＴＣＰコネクションに対する送受信処理を再開する（ステップ７０５）。
【００７９】
ここで、ステップ７０３にて必要に応じて行ったＩＰＬｉｓｔ［］に含まれるＩＰアドレスに関するＩＰデータグラムの破棄設定を解除してもよい。
（６）移動元ＣＨＰ２１０は、移動が完了したＴＣＰコネクションの情報を破棄する（ステップ７０６）。
（７）移動元ＣＨＰ２１０は、ＩＰＬｉｓｔ［］に含まれるＩＰアドレスを用いて確立されているＴＣＰコネクションを用いているｉＳＣＳＩデバイスの状態を保存し、移動先ＣＨＰ２１０へ送る（ステップ７０７）。なお、ｉＳＣＳＩプロトコルの規格から、少なくとも利用しているＴＣＰコネクションのホスト側のＩＰアドレスとｐｏｒｔ番号、ＣＨＰ２１０側のＩＰアドレスとｐｏｒｔ番号、ｉＳＣＳＩで定義されている各種シーケンス番号の現在値、ｉＳＣＳＩログインでホスト１１０と交換した情報をｉＳＣＳＩデバイスの状態として保存する必要がある。
（８）移動先ＣＨＰ２１０は、移動元ＣＨＰ２１０から送られて来たｉＳＣＳＩデバイスの状態を元にｉＳＣＳＩデバイスの復旧をおこない、ｉＳＣＳＩ ＰＤＵの受け付けを開始する。ただし、ＳＣＳＩコマンドを含んだＰＤＵを受け付けた場合は、ホスト１１０がＩ／Ｏ要求を再送する意味を持つＢｕｓｙのＳＣＳＩレスポンスをＰＤＵにセットし、送り返えしてもよい（ステップ７０８）。
（９）移動元ＣＨＰ２１０は、移動が完了したｉＳＣＳＩデバイスの状態を廃棄する（ステップ７０９）。
（１０）移動元ＣＨＰ２１０は、ＩＰＬｉｓｔ［］に含まれるＩＰアドレスを用いて確立されているＴＣＰコネクションを用いているｉＳＣＳＩデバイスに対応したＳＣＳＩデバイスの状態を保存し、移動先ＣＨＰ２１０へ送る（ステップ７１０）。
（１１）移動先ＣＨＰ２１０は、移動元ＣＨＰ２１０から送られて来たＳＣＳＩデバイスの状態を元にＳＣＳＩデバイスの復旧をおこない、ＳＣＳＩコマンドの受け付けを開始する。また、ここで、ステップ７０１にて、ＢｕｓｙのＳＣＳＩレスポンスを送り返す設定をおこなった場合は、ＳＣＳＩコマンドをＳＣＳＩデバイスへ受け渡すようにｉＳＣＳＩデバイスの設定を変更する（ステップ７１１）。
（１２）移動元ＣＨＰ２１０は移動が完了したＳＣＳＩデバイスの状態を廃棄する（ステップ７１２）。
（III）本実施形態のストレージ制御方法による負荷分散について
以上の実施形態で示されたように、論理ボリューム移動機能２３２が、負荷の高い論理ボリュームを選び出し、他のストレージボックスに移動させることにより、ストレージシステム１００は、ストレージボックス１５０同士で生じる負荷の不均衡を解決することができる。
【００８０】
〔実施形態２〕
以下、本発明に係る第二の実施形態を、図１０ないし図１７を用いて説明する。
【００８１】
第一の実施形態では、ストレージボックス間で論理ボリュームが移動したことを、ホストに知らせるためにＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージを用いるものであった。
【００８２】
本実施形態では、そのためにＡＲＰプロトコルを利用するものである。ＡＲＰは、ＴＣＰ／ＩＰプロトコルで利用できる汎用のプロトコルであり、通信相手のＩＰアドレスからＭＡＣアドレスを知るためのプロトコルである。
（I）本実施形態のストレージシステムの構成
先ず、図１０および図１１を用いて本発明の第二の実施形態に係るストレージシステムの構成について説明する。
図１０は、本発明の第二の実施形態に係るストレージシステムを使った情報処理システムの全体構成図である。
図１１は、本発明の第二の実施形態に係るストレージシステムを構成するストレージボックスの構成である。
【００８３】
本実施形態も第一の実施形態と同様に、ホストとストレージシステムがネットワークで接続された構成であるが、本実施形態のＡＲＰによる通信機能を実現するために、ホスト１１０、ストレージシステム１００の各部の構成と、その間のネットワークの構成が異なっている。
【００８４】
ホスト１１０には、第一の実施形態のおけるホスト１１０のルーティングテーブル１１３とルーティング情報受信機能の代わりに、ＡＲＰキャッシュ１１１２、Ｉ／Ｏコネクション復旧機能が追加されている。
【００８５】
ストレージシステム調停機能内のストレージボックス間の論理ボリュームを移動する機能には、第一の実施形態と異なったストレージボックス間論理ボリューム移動機能Ｂ１１６１を有している。
【００８６】
また、ストレージネットワーク１４０は、ローカルネットワークセグメント１１２０と、ルータ１１４０を経由したネットワーク１１３０より構成されることにしている。
【００８７】
ホスト１１０のＩ／Ｏコネクション復旧機能１１１１は、ストレージサブシステム１００とのＩ／Ｏコネクションが切断された場合に、Ｉ／Ｏコネクションの再確立を試みる機能である。
【００８８】
ＡＲＰキャッシュ１１１２は、ＭＡＣアドレスを問い合わせるＡＲＰリクエストが頻発するのを防ぐために、通信相手ネットワーク機器のＩＰアドレスとＭＡＣアドレスの対応情報を保持するためのキャッシャであり、これは、一定時間ごとに更新されることになっている。
【００８９】
ここで、ＴＣＰ／ＩＰを用いてローカルネットワークセグメント１１２０に接続されたホスト１１０およびルータ１１４０およびストレージサブシステム１００同士が通信をおこなう場合、必ずＩＰアドレスと対応するＭＡＣアドレスの情報がＡＲＰキャッシュに存在する必要がある。もし存在しない場合は、ＡＲＰプロトコルを用いて必要となるＩＰアドレスと対応するＭＡＣアドレスの情報をＡＲＰキャッシュに登録する。このＡＲＰキャッシュは、また、ホスト１１０の管理者が直接設定したり、一定時間用いられなかったＡＲＰキャッシュ内部の情報を自動的に削除する等、ＡＲＰ以外の方法を用いてＡＲＰキャッシュ内の情報を操作してもよい。
【００９０】
ローカルネットワークセグメント１１２０は、ストレージサブシステム１００とホスト１１０がＩＰアドレスからＭＡＣアドレスを求め、ルータ１１４０を介せずに直接通信をおこなうことができるストレージネットワークであり、ルータを経由したネットワーク１１３０では、間にはさまれるルータ１１４０２を介して互いに通信をおこなうネットワークである。
【００９１】
ルータ１１４０はローカルネットワークセグメント１１２０とルータを経由したネットワーク１１３０間のＩＰデータグラムの交換をおこなうための通信機器であり、内部にはＴＣＰ／ＩＰスタック１１４２とＡＲＰキャッシュ１１４１を有している。なお、図１０では、ローカルネットワークセグメント１１２０とその他のネットワーク１１３０間には一つのルータ１１４０しか記載してないが、複数のルータ１１４０がローカルネットワークセグメント１１２０に接続されていてもよい。
【００９２】
本実施形態のストレージボックス１５０は、図１１に示されるように、第一の実施形態のルーティング機能２１１とＩ／Ｏリクエスト処理機能２１２の代わりに、Ｉ／Ｏコネクション切断機能１２１２と異なったＩ／Ｏリクエスト処理機能Ｂ１２１１が追加されている。
【００９３】
このＩ／Ｏリクエスト処理機能Ｂ１２１１は、Ｉ／Ｏリクエスト処理機能２１２とほぼ同等の機能であるが、ＩＰアドレスの移動方法が異なっている。
【００９４】
Ｉ／Ｏコネクション切断機能１２１２は、現在用いているＩ／Ｏコネクションを強制的に切断し、Ｉ／Ｏリクエスト処理機能Ｂ１２１１にて処理途中の内容を放棄させる機能である。なお、ｉＳＣＳＩの場合、Ｉ／Ｏコネクションの切断はＴＣＰコネクションの切断であることが考えられるが、これ以外の方法でＩ／Ｏコネクションの切断をおこなってもよい。
【００９５】
なお、異なるストレージボックス１５０に存在するＣＨＰ２１０同士の通信はストレージ内部ネットワーク１７０を用いておこなうことが第一に考えられるが、ＮＩＣ１３０とローカルネットワークセグメント１１２０を用いて通信をおこなってもよい。また、異なるストレージボックス１５０に存在するＤＫＰ２３０との通信についてもストレージ内部ネットワーク１７０だけでなく、ＣＨＰ２１０、ＮＩＣ１３０、ローカルネットワークセグメント１１２０を用いて通信をおこなってもよい。
（II）本実施形態のストレージ制御方法
次に、図１２ないし図１７を用いて本実施形態のストレージ制御方法について説明する。
図１２は、本発明の第二の実施形態のストレージ制御方法を説明するための概要図である。
図１３は、本発明の第二の実施形態のストレージ制御方法を説明するためのフローチャートである。
【００９６】
本実施形態のストレージ制御方法も、図１２に示したような複数のストレージボックスを有するストレージボックス１５０とホスト１１０がネットワークで接続されている情報処理システムで、ストレージボックス１５０内の論理ボリュームを移動したきに、ネットワークの通信経路も切替える方法に関するものである。
【００９７】
また、本実施形態でも、第一の実施形態と同様に、ストレージボックスＢ１５０Ｂ内の記憶領域Ｂ３３１にデータが存在する論理ボリュームをストレージボックスＡ１５０Ａに移動する場合を例に採るものとし、また、その論理ボリュームは、ホストＡ１１０Ａが、アクセスをおこなっており、そのＩＰアドレスは、ＡｄｄｒｅｓｓＡであるものとすることも第一の実施形態と同様である。
【００９８】
なお、本実施形態でも、一つのＩＰアドレスに一つの論理ボリュームが対応した例を説明しているが、一つのＩＰアドレスに複数の論理ボリュームが対応していてもよいし、逆に、複数のＩＰアドレスに一つの論理ボリュームが対応していてもよいことも第一の実施形態と同様である。
【００９９】
次に、図１３のフローチャートを追いながら、本実施形態で論理ボリュームを移動したときのシステムの処理について説明する。
【０１００】
ここでも、ＩＰアドレスがＡｄｄｒｅｓｓＡである論理ボリュームを他のストレージボックスに移動しようとしている。ここで、ストレージボックスＡ１５０ＡのＮＩＣ１３０のＭＡＣアドレスが、ＨＷＡｄｄｒＮｅｗであり、ストレージボックスＢ１５０ＢのＮＩＣ１３０のＭＡＣアドレスが、ＨＷＡｄｄｒＯｌｄであるものとする。
（１）先ず、ストレージボックスＢ１５０ＢのＩ／Ｏコネクション切断機能１２１２は、ＩＰアドレスＡｄｄｒｅｓｓＡ宛に確立されたＩ／Ｏコネクションを切断する。これによって、ホストＡ１１０ＡおよびホストＣ１１０Ｃは、Ｉ／Ｏコネクション復旧機能１１１１によってＩ／Ｏコネクションの復旧を試みる。なお、論理ボリューム移動機能２３２にＩ／Ｏコネクションを切断せずに実施可能な移動のための前処理がある場合は、切断前にこれをおこなってもよい（ステップ１４０２）。
（２）次に、ストレージボックスＢ１５０ＢのＩ／Ｏリクエスト処理機能Ｂ１２１１は、ＡｄｄｒｅｓｓＡに関係するＩＰアドレス、ｉＳＣＳＩデバイス情報、ＳＣＳＩデバイス情報をストレージボックスＡ１５０ＡのＩ／Ｏリクエスト機能Ｂ１２１１へ移動させる（ステップ１４０３）。
（３）次に、論理ボリュームの移動処理をおこなう（ステップ１４０４）。
（４）次に、ストレージボックスＡ１５０Ａは、ＡＲＰパケット１３１０をローカルネットワークセグメント１１２０へブロードキャストし、ＩＰアドレスＡｄｄｒｅｓｓＡに対応するＭＡＣアドレスがＨＷＡｄｄｒＮｅｗであることをホスト１１０Ａおよびルータ１１４０へ通知する（ステップ１４０５）。
（５）Ｉ／Ｏコネクション復旧機能の働きによってホストＡ１１０ＡとホストＣ１１０ＣとストレージボックスＡ１５０ＡとのＩ／Ｏコネクションが再確立され、引き続きＩ／Ｏが開始される（ステップ１４０６）。
【０１０１】
次に、ストレージボックス間論理ボリューム移動機能Ｂ１１６１がストレージボックス間の論理ボリューム移動を制御する際の処理について図１４を用いて説明する。
【０１０２】
図１４は、ストレージボックス間論理ボリューム移動機能Ｂ１１６１がストレージボックス間の論理ボリューム移動を制御する際の処理を示すフローチャートである。
（１）先ず、第一の実施形態の図６におけるステップ４０１と同様に、移動するＩＰアドレスと論理ボリューム、移動先のストレージボックス１５０を決定する（ステップ１８０１）。
（２）移動元のストレージボックス１５０のＩ／Ｏコネクション切断機能１２１２にステップ１８０１にて移動を決定したＩＰアドレス宛に確立されたＩ／Ｏコネクションを切断し、移動を決定したＩＰアドレスを用いた通信をおこなわないように依頼する。なお、論理ボリューム移動機能２３２にＩ／Ｏコネクションを切断せずに実施可能な移動のための前処理がある場合は、切断前にこれを依頼してもよい（ステップ１８０２）。
（３）移動元と移動先のストレージボックス１５０のＩ／Ｏリクエスト処理機能Ｂ１２１１に対して、ステップ１８０１にて移動を決定したＩＰアドレスとこれに関係するｉＳＣＳＩデバイス情報とＳＣＳＩデバイス情報の移動を依頼する（ステップ１８０３）。
（４）次に、ストレージボックス間論理ボリューム移動機能１６２へ論理ボリュームの移動処理を依頼する。（ステップ１８０４）
（５）そして、移動先のＩ／Ｏリクエスト処理機能Ｂ１２１１に対して、移動先のストレージボックス１５０が有するＮＩＣ１３０のＭＡＣアドレスＨＷＡｄｄｒＮｅｗとステップ１８０１にて決定したＩＰアドレスが対応していることを示すＡＲＰパケットのローカルネットワークセグメント１１２０へのブロードキャストを依頼すると共に、新たなＩＰアドレスでの通信を許可する（ステップ１８０５）。
【０１０３】
次に、ホスト１１０のＴＣＰ／ＩＰスタック１１２がＡＲＰパケット１３１０受け取った場合のＡＲＰキャッシュの追加または変更処理について、図１５を用いて説明する。
【０１０４】
図１５は、ホスト１１０のＴＣＰ／ＩＰスタック１１２がＡＲＰパケット１３１０受け取った場合のＡＲＰキャッシュの追加または変更処理を示すフローチャートである。この動作は、ルータ１１４０に関しても同様である。
（１）先ず、ホスト１１０のＴＣＰ／ＩＰスタック１１２は、ＡＲＰリクエストおよびリプライのＡＲＰパケット１３１０を受け取る（ステップ１５０１）。
（２）受け取ったＡＲＰパケット１３１０からＩＰアドレスとそれに対応するＭＡＣアドレスを抽出する（ステップ１５０２）。
（３）ステップ１５０２にて抽出したＩＰアドレスとＭＡＣアドレスの組み合わせをＡＲＰキャッシュ１１１２へ追加したり、既にＩＰアドレスに対応したＭＡＣアドレスが登録されている場合には新たなＭＡＣアドレスに更新する（ステップ１５０３）。
【０１０５】
次に、ホスト１１０のＩ／Ｏコネクション復旧機能１１１１の動作について、図１６を用いて説明する。
【０１０６】
図１６は、ホスト１１０のＩ／Ｏコネクション復旧機能１１１１のＩ／Ｏコネクション復旧の処理を示すフローチャートである。
（１）先ず、ホスト１１０のＩ／Ｏコネクション復旧機能１１１１は、Ｉ／Ｏコネクションの切断やＩ／Ｏ処理の失敗を検知する。ｉＳＣＳＩの場合はトランスポート層としてＴＣＰを用いているため、ＴＣＰ／ＩＰスタック１１２へＴＣＰセッションの状態確認を依頼することによる切断検知をおこなうことが考えられる。また、Ｉ／Ｏ処理失敗の検知については、Ｉ／Ｏリクエスト発行機能１１１の状態を確認することによる方法が考えられる（ステップ１６０１）。
（２）該当するＩ／Ｏコネクションが切断状態でない場合、切断処理をおこなう。（ステップ１６０２、ステップ１６０３）
（３）ストレージサブシステム１００とのＩ／Ｏコネクションが確立されるまで、確立処理を繰り返す（ステップ１６０４、ステップ１６０５）。
【０１０７】
次に、ストレージボックス１５０のＩ／Ｏリクエスト処理機能Ｂ１２１１が、ＩＰアドレスとそれに関係するｉＳＣＳＩデバイスとＳＣＳＩデバイスを移動する処理について、図１７のフローチャートを用いて説明する。
【０１０８】
図１７は、ストレージボックス１５０のＩ／Ｏリクエスト処理機能Ｂ１２１１が、ＩＰアドレスとそれに関係するｉＳＣＳＩデバイスとＳＣＳＩデバイスを移動する処理を示すフローチャートである。
（１）先ず、ストレージボックス１５０のＣＨＰ２１０にあるＩ／Ｏリクエスト処理機能Ｂ１２１１は、移動元のストレージボックス１５０ＢのＩ／Ｏリクエスト処理機能Ｂ１２１１から移動対象のＩＰアドレスの利用設定を削除し、移動先のストレージボックス１５０ＡのＩ／Ｏリクエスト処理機能Ｂ１２１１へ新たにＩＰアドレスの利用設定を追加する（ステップ１７０１）。
（２）移動元のＩ／Ｏリクエスト処理機能Ｂ１２１１は、移動対象のＩＰアドレスに関連したｉＳＣＳＩデバイスの状態を保存し、移動先のＩ／Ｏリクエスト処理機能Ｂ１２１１へ送る（ステップ１７０２）。
（３）そして、移動先のＩ／Ｏリクエスト処理機能Ｂ１２１１は、ステップ１７０２により送られてきた情報を元に、ｉＳＣＳＩデバイスの復旧をおこなう（ステップ１７０３）。
（４）次に、移動元のＩ／Ｏリクエスト処理機能Ｂ１２１１は、移動が完了したｉＳＣＳＩデバイスを削除する（ステップ１７０４）。
（５）また、移動元のＩ／Ｏリクエスト処理機能Ｂ１２１１は、移動対象のＩＰアドレスに関連したＳＣＳＩデバイスの状態を保存し、移動先のＩ／Ｏリクエスト処理機能Ｂ１２１１へ送る（ステップ１７０５）。
（６）そして、移動先のＩ／Ｏリクエスト処理機能Ｂ１２１１は、ステップ１７０２により送られてきた情報を元に、ＳＣＳＩデバイスの復旧をおこなう（ステップ１７０６）。
（７）次に、移動元のＩ／Ｏリクエスト処理機能Ｂ１２１１は移動が完了したＳＣＳＩデバイスを削除する（ステップ１７０７）。
【０１０９】
なお、ｉＳＣＳＩデバイスとＳＣＳＩデバイスの状態を保存するにあたり、移動元ストレージボックス１５０にて保存せずに移動先のストレージボックス１５０にて復旧できる状態あるいは情報がある場合には、これを保存しなくてもよい。
【０１１０】
〔実施形態３〕
以下、本発明に係る第三の実施形態を、図１８および図１９を用いて説明する。
図１８は、本発明の第三の実施形態に係るストレージシステムを使った情報処理システムの全体構成図である。
図１９は、管理計算機１６５のストレージボックス性能管理画面８０２のＧＵＩ画面の模式図である。
【０１１１】
本実施形態は、第一の実施形態と同様に、ホスト１１０とストレージボックス１５０が、ｉＳＣＳＩプロトコルを用いて通信する場合であるが、それに付加機能を付け加えたものである。また、本実施形態の機能は、第二の実施形態にも適用することができる。
【０１１２】
すなわち、各ストレージボックス１５０にストレージボックス負荷測定機能８０１と、管理計算機１６５のストレージボックス性能管理画面８０２が追加されている。なお、ストレージボックス１５０は第一の実施形態と同様に、ネットワーク経路の切り替えを伴った論理ボリュームの移動をおこなうことができる。
【０１１３】
ストレージボックス１５０のストレージボックス負荷測定機能８０１は、内部のＣＨＰ２１０やキャッシュ２２０やＤＫＰ２３０の負荷状況を測定するための機能である。ここで、ストレージボックス負荷測定機能８０１が測定する項目としては、ＤＫＰにおける論理ボリューム毎の単位時間あたりのＩ／Ｏ処理数（ＩＯＰＳ）や帯域幅や、論理ボリューム毎のキャッシュヒット率、ＣＨＰにおけるＩＰアドレスとポート番号毎のＩＯＰＳや帯域幅が考えられるが、それ以外の項目を測定してもよい。
【０１１４】
ストレージボックス性能管理画面８０２は、ストレージボックス負荷測定機能８０１が計測した負荷状況を表示したり、管理者が画面を通じておこなった指示をストレージボックス間論理ボリューム移動機能１６２に送る手段である。
【０１１５】
次に、管理計算機１６５のストレージボックス性能管理画面８０２について、図１９を用いて説明する
このストレージボックス性能管理画面８０２は、ストレージボックスアイコン９１０、ＩＰ−論理ボリュームチェイン９２０、ラインＡ９３０で構成される。
【０１１６】
ストレージボックスアイコン９１０は、ストレージボックス１５０を意味するアイコンであり、アイコン内部には名前と対応するストレージボックス１５０の負荷状況を示す文字列が書かれている。ここで、負荷状況を示す文字列としては、ストレージボックス１５０にて単位時間あたりに処理したＩ／Ｏ要求数や帯域幅、ストレージボックス１５０内部のＣＨＰ２１０やＤＫＰ２３０の、記憶装置２４０の負荷の総和や平均値等が考えられるが、これ以外の方法でストレージボックス１５０内部の負荷状況を表示してもよい。
【０１１７】
ラインＡ９３０は、ＩＰ−論理ボリュームチェイン９２０が含むＩＰアドレスとＰｏｒｔ番号の組合せや論理ボリュームが実際に含まれるストレージボックス１５０に対応するストレージボックスアイコン９１０とを結ぶ線である。
ＩＰ−論理ボリュームチェイン９２０は、ＩＰ−Ｐｏｒｔ番号アイコン９２１、負荷状況表示領域９２２、論理ボリュームアイコン９２３、線Ｂ９２４で構成される。これは、上記の図４で説明したＩＰアドレスと論理ボリュームの対応のチェインを視覚的にわかりやすく表示するためのものであり、ＩＰアドレスと論理ボリュームの無向グラフの特定のチェインを意味するアイコンと線の集合である。ここで、ＩＰ−論理ボリューム無向グラフとは、ストレージシステム１００内部のすべてのＩＰアドレスとＰｏｒｔ番号の組合せ、論理ボリュームをグラフの頂点とし、集合に属するあるＩＰアドレスとＰｏｒｔ番号の組合せからアクセス可能な設定がなされている論理ボリュームとの間にグラフの辺を持つ無向グラフである。
【０１１８】
ＩＰ−Ｐｏｒｔ番号アイコン９２１は、ストレージシステム１００がホスト１１０に対して提供しているＩＰアドレスとＰｏｒｔ番号の組合せを意味するアイコンである。
【０１１９】
負荷状況表示領域９２２は、ＩＰ−論理ボリュームチェイン９２０に含まれるアイコンが意味する論理ボリュームに代表される各部位の負荷状況を表示するための領域である。ここで、負荷状況を示す文字列としては、ＩＰ−論理ボリュームチェイン９２０に所属する各部位にて処理した単位時間当たりのＩ／Ｏ要求数や帯域幅、ＩＰ−論理ボリュームチェイン９２０に所属するＩＰアドレスとＰｏｒｔ番号の組合せについてＣＨＰ２１０において単位時間あたりに処理したＩ／Ｏ要求数や帯域幅、記憶装置２４０の負荷の総和や平均値等が考えられるが、これ以外の方法でＩＰ−論理ボリュームチェイン９２０の負荷状況を表示してもよい。
【０１２０】
論理ボリュームアイコン９２３は、ＩＰ−論理ボリュームチェイン９２０に含まれる論理ボリュームを意味するアイコンである。
【０１２１】
ラインＢ２９２４は、ＩＰアドレスとＰｏｒｔ番号の組合せからアクセス可能な論理ボリュームを示すために対応するアイコン間を結ぶ線である。
【０１２２】
以上の画面によって、ストレージシステム１００の管理者はＣＨＰ用ＴＣＰ／ＩＰネットワーク２６０を通過するデータ量を小さくする場合における移動の基本単位である前述のチェイン単位の負荷状況を確認することができる。
【０１２３】
例えば、図で左のアイコンのストレージボックスの負荷が大きいと、管理者が見て取ったときには、それにつながれているＩＰ−論理ボリュームチェイン９２０を右側のストレージボックスのアイコンにドラッグアンドドロップの操作により、移動させることができる。
【０１２４】
管理計算機１６５は、この移動指示をストレージボックス間論理ボリューム移動機能１６２へ送られて、実際の論理ボリュームの移動が実行される。
【０１２５】
また、負荷状況を検知して、自動的に論理ボリュームを移動させるようにしてもよい。
【０１２６】
この第三の実施形態による管理画面を用いることで、ストレージシステム１００の管理者は原則的には移動の基本単位であるＩＰアドレスと論理ボリュームの集合に関する負荷状況を把握し、ストレージボックス１５０の負荷と比較することで、どのＩＰアドレスと論理ボリュームの集合を負荷の高いストレージボックス１５０から負荷の低いストレージボックス１５０へ移動すべきか容易に判断できる。
【図面の簡単な説明】
【０１２７】
【図１】本発明の第一の実施形態に係るストレージシステムを使った情報処理システムの全体構成図である。
【図２】本発明の第一の実施形態に係るストレージシステムを構成するストレージボックスの構成である。
【図３】本発明の第一の実施形態のストレージ制御方法を説明するための概要図である。
【図４】本発明の第一の実施形態のストレージ制御方法のＩＰアドレスと論理ボリュームの対応関係を模式的に示した図である。
【図５】本発明の第一の実施形態のストレージ制御方法を説明するためのフローチャートである。
【図６】ストレージボックス間論理ボリューム移動機能１６２の処理のフローチャートである。
【図７】ホスト１１０がＩＣＭＰ  Ｒｅｄｉｒｅｃｔ  Ｅｒｒｏｒメッセージを受け取った場合の処理のフローチャートである。
【図８】ホスト１１０がＴＣＰ／ＩＰの経路情報を受信した場合の処理のフローチャートである。
【図９】Ｉ／Ｏリクエスト処理機能２１２がＩＰアドレスに関係する通信情報、Ｉ／Ｏ情報を移動する処理のフローチャートである。
【図１０】本発明の第二の実施形態に係るストレージシステムを使った情報処理システムの全体構成図である。
【図１１】本発明の第二の実施形態に係るストレージシステムを構成するストレージボックスの構成である。
【図１２】本発明の第二の実施形態のストレージ制御方法を説明するための概要図である。
【図１３】本発明の第二の実施形態のストレージ制御方法を説明するためのフローチャートである。
【図１４】ストレージボックス間論理ボリューム移動機能Ｂ１１６１がストレージボックス間の論理ボリューム移動を制御する際の処理を示すフローチャートである。
【図１５】ホスト１１０のＴＣＰ／ＩＰスタック１１２がＡＲＰパケット１３１０受け取った場合のＡＲＰキャッシュの追加または変更処理を示すフローチャートである。
【図１６】ホスト１１０のＩ／Ｏコネクション復旧機能１１１１のＩ／Ｏコネクション復旧の処理を示すフローチャートである。
【図１７】ストレージボックス１５０のＩ／Ｏリクエスト処理機能Ｂ１２１１が、ＩＰアドレスとそれに関係するｉＳＣＳＩデバイスとＳＣＳＩデバイスを移動する処理を示すフローチャートである。
【図１８】本発明の第三の実施形態に係るストレージシステムを使った情報処理システムの全体構成図である。
【図１９】管理計算機１６５のストレージボックス性能管理画面８０２のＧＵＩ画面の模式図である。
【符号の説明】
【０１２８】
１００…ストレージシステム
１１０…ホスト
１１０Ａ…ホストＡ
１１０Ｂ…ホストＢ
１１１…Ｉ／Ｏリクエスト発行機能
１１２…ＴＣＰ／ＩＰスタック
１１３…ルーティングテーブル
１１４…ルーティング情報送受信機能
１３０…ＮＩＣ
１４０…ストレージネットワーク
１５０…ストレージボックス
１５０Ａ…ストレージボックスＡ
１５０Ｂ…ストレージボックスＢ
１６０…ストレージボックス間調停機能
１６１…ルーティング情報発信機能
１６２…ストレージボックス間論理ボリューム移動機能
１６５…管理計算機
１７０…ストレージ内部ネットワーク
２１０…ＣＨＰ
２１１…ルーティング機能
２１２…Ｉ／Ｏリクエスト処理機能
２２０…キャッシュ
２３０…ＤＫＰ
２３１…ステージング機能
２３２…論理ボリューム移動機能
２４０…記憶装置
２５０…内部ネットワークスイッチ
２６０…ＣＨＰ用ＴＣＰ／ＩＰネットワーク
３３２…記憶領域Ａ
３３１…記憶領域Ｂ
３４１…ＩＣＭＰ Ｒｅｄｉｒｅｃｔ Ｅｒｒｏｒメッセージ
１１２０…ローカルネットワークセグメント
１１３０…ルータ１１４０を経由したネットワーク
１１１１…Ｉ／Ｏコネクション復旧機能
１１１２…ＡＲＰキャッシュ
１１４２…ＴＣＰ／ＩＰスタック（ルータ内）
１１４１…ＡＲＰキャッシュ（ルータ内）
１１６１…ストレージボックス間論理ボリューム移動機能Ｂ
１２１２…Ｉ／Ｏコネクション切断機能
１２１１…Ｉ／Ｏリクエスト処理機能Ｂ
８０１…ストレージボックス負荷測定機能
８０２…ストレージボックス性能管理画面
９１０…ストレージボックスアイコン
９２０…ＩＰ−論理ボリュームチェイン
９３０…ラインＡ
９２１…ＩＰ−Ｐｏｒｔ番号アイコン
９２２…負荷状況表示領域
９２３…論理ボリュームアイコン
９２４…ラインＢ。
【図１】
2008047142.tif 000003
【図２】
2008047142.tif 000004
【図３】
2008047142.tif 000005
【図４】
2008047142.tif 000006
【図５】
2008047142.tif 000007
【図６】
2008047142.tif 000008
【図７】
2008047142.tif 000009
【図８】
2008047142.tif 000010
【図９】
2008047142.tif 000011
【図１０】
2008047142.tif 000012
【図１１】
2008047142.tif 000013
【図１２】
2008047142.tif 000014
【図１３】
2008047142.tif 000015
【図１４】
2008047142.tif 000016
【図１５】
2008047142.tif 000017
【図１６】
2008047142.tif 000018
【図１７】
2008047142.tif 000019
【図１８】
2008047142.tif 000020
【図１９】
2008047142.tif 000021