(57)【要約】  物理的な複数のストレージシステムをまとめて１つの仮想ストレージシステムとして提供するスケールアウト型ストレージにおいて、ホスト計算機と仮想ストレージシステム間に入出力性能が劣化しないように論理パスを確立するため、仮想ストレージシステムへのボリューム割当て時、ボリュームへの論理パスを確立する論理ＣＵが未割当てならば、割当て済み論理ＣＵ数や使用している記憶容量の少ないストレージシステムに論理ＣＵとボリュームを生成する。一方、論理ＣＵを割当て済みのストレージシステムがあるならば、そのストレージシステムにボリュームを生成する。ただし、ストレージシステムのリソースが不足している時は、アクセス頻度の低い別の論理ＣＵをリソースが豊富な別ストレージシステムに移動するか、通信帯域が十分な別のストレージシステムに論理ＣＵを追加して、ボリュームを生成する。
2015132973.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１台のホスト計算機とネットワークを介して接続される複数のストレージシステムと、
前記ホスト計算機からの論理パスを受ける単位である論理コントロールユニットおよび当該論理コントロールユニットを介して前記ホスト計算機が認識するボリュームを、前記複数のストレージシステムから構成する仮想ストレージシステムに割当てる論理装置割当て管理部と
を備え、
前記論理装置割当て管理部は、
前記ボリュームの割当て要求時に、前記論理コントロールユニットの前記仮想ストレージシステムへの割当て情報に基づいて、割当て済みの論理コントロールユニット数が少ないまたは未使用の記憶容量が多いストレージシステムに対して、前記論理コントロールユニットの割当ておよび前記ボリュームの生成を要求する
ことを特徴とする計算機システム。
【請求項２】
請求項１記載の計算機システムであって、
前記論理装置割当て管理部は、
前記論理コントロールユニットが前記仮想ストレージシステムに割当て済みである場合には、当該仮想ストレージシステムを構成するストレージシステムに対して前記ボリュームの生成を要求する
ことを特徴とする計算機システム。
【請求項３】
請求項２記載の計算機システムであって、
前記論理装置割当て管理部は、
前記割当て済みである仮想ストレージシステムを構成するストレージシステムが複数である場合には、割当て済みの論理コントロールユニット数が少ないまたは未使用の記憶容量が多いストレージシステムを選択する
ことを特徴とする計算機システム。
【請求項４】
請求項１記載の計算機システムであって、
前記論理装置割当て管理部は、
前記ボリュームの生成を要求されたストレージシステムの未使用の記憶容量が前記ボリュームを生成するのに十分でない場合には、当該ストレージシステム内の負荷の低い別の論理ＣＵおよびボリュームを別のストレージシステムに移動する
ことを特徴とする計算機システム。
【請求項５】
請求項１記載の計算機システムであって、
前記論理装置割当て管理部は、
前記論理コントロールユニットが割当て済みのストレージシステムの未使用の記憶容量が前記ボリュームを生成するのに十分でない場合には、当該割当て済みのストレージシステム内のアクセス頻度の低いボリュームを前記論理コントロールユニットの割当てのないストレージシステムに移行することを、当該割当てのないストレージシステムに対して要求する
ことを特徴とする計算機システム。
【請求項６】
請求項１記載の計算機システムであって、
前記論理装置割当て管理部は、
前記論理コントロールユニットが割当て済みの前記ストレージシステムの未使用の記憶容量が前記ボリュームを生成するのに十分でない場合には、前記複数のストレージシステム間の帯域が十分なストレージシステムに対して前記同一の論理コントロールユニットの追加および前記ボリュームの生成を要求する
ことを特徴とする計算機システム。
【請求項７】
請求項１記載の計算機システムであって、
前記複数のストレージシステムのそれぞれは、
前記論理パス生成の要求を受け取ると、当該論理パス生成の対象となる前記論理コントロールユニットが自らのストレージシステムに割当てのない場合には当該要求を受け付けない
ことを特徴とする計算機システム。
【請求項８】
請求項１記載の計算機システムであって、
前記複数のストレージシステムのそれぞれは、
前記ボリュームへの入出力要求を受け取ると、当該要求対象ボリュームおよび当該要求対象ボリュームに対応する論理コントロールユニットが自らのストレージシステムに割当てがあるか否か判断し、
前記論理コントロールユニットの割当てがない場合には入出力エラーとし、
前記論理コントロールユニットの割当てはあるが前記要求対象ボリュームの割当てがない場合には、前記要求対象ボリュームの割当てのあるストレージシステムへ前記入出力要求を転送する
ことを特徴とする計算機システム。
【請求項９】
請求項１記載の計算機システムであって、
前記複数のストレージシステムのそれぞれは、
前記ホスト計算機から前記論理コントロールユニットの制御情報の取得要求を受け取ると、当該要求の対象となる論理コントロールユニットが割当てられている別のストレージシステムに対しても当該要求を転送し、当該要求の対象となる論理コントロールユニットが割当てられているすべてのストレージシステムの前記制御情報を収集し統合して前記ホスト計算機に返信する
ことを特徴とする計算機システム。
【請求項１０】
請求項１記載の計算機システムであって、
前記論理装置割当て管理部は、
前記仮想ストレージシステムのリソース使用率の収集情報から、
前記ホスト計算機と前記複数のストレージシステム間においてリソース使用率の高いストレージシステムを検出し、該検出したストレージシステムに割当てた論理コントロールユニットを該論理コントロールユニットの割当てがなくリソース使用率に余裕のある別のストレージシステムに追加することを当該別のストレージシステムに対して要求する、
または、前記複数のストレージシステム相互間においてリソース使用率の高いストレージシステムを検出し、該検出したストレージシステム双方に割当てた論理コントロールユニットをリソース使用率の低い方のストレージシステムに集約するために、リソース使用率の高い方のストレージシステムに対して当該論理コントロールユニットの削除を要求する
ことを特徴とする計算機システム。
【請求項１１】
請求項１０記載の計算機システムであって、
前記論理装置割当て管理部は、
前記リソース使用率の低い方のストレージシステムに前記論理コントロールユニットを集約する際に、前記リソース使用率の高い方のストレージシステムに割当てたボリュームを前記リソース使用率の低い方のストレージシステムに移行することを、前記ストレージシステム双方に対して要求する
ことを特徴とする計算機システム。
【請求項１２】
少なくとも１台のホスト計算機と、
ネットワークと、
前記ネットワークを介して前記ホスト計算機に接続される複数のストレージシステムと、
前記ホスト計算機からの論理パスを受ける単位である論理コントロールユニットおよび当該論理コントロールユニットを介して前記ホスト計算機が認識するボリュームを、前記複数のストレージシステムから構成する仮想ストレージシステムに割当てる論理装置割当て管理部と
を備え、
前記論理装置割当て管理部は、
同一仮想ストレージシステム内のストレージシステム間のパス障害の通知を受信し、
前記パス障害が同一論理コントロールユニットを割り当てたストレージシステム間である場合には、前記同一仮想ストレージシステム内で前記パス障害の影響を受けないストレージシステムに対して、当該ストレージシステムへの前記同一論理コントロールユニットの移動を要求する
ことを特徴とする計算機システム。
【請求項１３】
ホスト計算機からの論理パスを受ける単位である論理コントロールユニットおよび当該論理コントロールユニットを介して前記ホスト計算機が認識するボリュームを複数のストレージシステムから構成する仮想ストレージシステムに割当てる論理装置割当て方法であって、
前記ボリュームの割当て要求に対して、前記論理コントロールユニットの前記仮想ストレージシステムへの割当て情報を参照し、割当て済みの論理コントロールユニット数が少ないまたは未使用の記憶容量が多いストレージシステムを選択するステップと、
前記選択したストレージシステムに前記論理コントロールユニットの割当ておよび前記ボリュームの生成を要求するステップと
を有することを特徴とする論理装置割当て方法。
【請求項１４】
請求項１３記載の論理装置割当て方法であって、
前記仮想ストレージシステムのリソース使用率を収集するステップと、
前記収集したリソース使用率の情報を基に、前記ホスト計算機と前記複数のストレージシステム間においてリソース使用率の高いストレージシステムを検出し、該検出したストレージシステムに割当てた論理コントロールユニットを該論理コントロールユニットの割当てがなくリソース使用率に余裕のある別のストレージシステムに追加することを当該別のストレージシステムに対して要求するステップと、
前記収集したリソース使用率の情報を基に、前記複数のストレージシステム相互間においてリソース使用率の高いストレージシステムを検出し、該検出したストレージシステム双方に割当てた論理コントロールユニットをリソース使用率の低い方のストレージシステムに集約するために、リソース使用率の高い方のストレージシステムに対して当該論理コントロールユニットの削除を要求するステップと
を有することを特徴とする論理装置割当て方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージシステムを備える計算機システムの技術に関する。
【背景技術】
【０００２】
システムの大規模化と性能要件の高度化に対応するため、物理的な複数ストレージシステムを１つにまとめ、大規模ストレージと同等の性能と容量を提供するスケールアウト型ストレージが注目されている。スケールアウト型ストレージの運用方法として、複数のストレージシステムを論理的に１つの記憶資源として仮想化する方法が知られている。
例えば、特許文献１では、個別に稼動していたストレージシステムを仮想ストレージシステムの構成要素とするために、制御装置が実ストレージの論理デバイス（以下、「ＬＤＥＶ」と記す）の識別子を仮想ストレージのＬＤＥＶの識別子に変換する。また、ＬＤＥＶ単位に論理パスが管理されている。【０００３】
一方、ＬＤＥＶとホスト計算機の間を接続する論理パスの構成定義をホスト計算機が保持し、論理パスを確立するとき、論理コンロトールユニット（以下、「論理ＣＵ」と記す）単位で論理パスを確立するシステムがある。
例えば、特許文献２は、論理ＣＵとその論理ＣＵの論理パスを用いてアクセスするＬＤＥＶの構成をホスト計算機が定義していることを示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００８／００３４００５号明細書
【特許文献２】米国特許出願公開第２００７／０１７４５４４号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
スケールアウト型ストレージを構築する方法として、複数のストレージシステムに同一の仮想ストレージシステム番号を割当て、ホスト計算機と複数のストレージシステムを物理的に接続すれば、どのストレージシステムでもホスト計算機から論理パス確立要求を受けられるように構築することが考えられる。【０００６】
ホスト計算機がメインフレーム（以下、「ＭＦ」と記すことがある）の場合は、論理ＣＵあたり８本まで論理パスを定義できるため、最大８つのストレージシステムと論理パスを確立できる。また、複数のホスト計算機から同一のＣＵに論理パスを確立することもある。ＭＦが複数の論理パスを確立した場合、入出力（Ｉ／Ｏ）実行時にそれらの論理パスを順番に用いている。【０００７】
ＭＦ向けストレージシステムには、ストレージシステムあたり最大２５６台の論理ＣＵと、論理ＣＵあたり最大２５６台のＬＤＥＶを構築できるものがある。ここで、ホスト計算機が識別できる仮想ストレージシステム内のＬＤＥＶをグローバルデバイス（以下、「ＧＤＥＶ」と記す）と呼ぶことにする。このグローバルデバイス（ＧＤＥＶ）に付与されるグローバルデバイス番号（ＧＤＥＶ番号）は、仮想ストレージシステム内においてユニークである。そして、仮想ストレージシステムに論理ＣＵやＧＤＥＶを割当てる際、それらの割当て先ストレージシステムを考慮しないと、論理パス先の論理ＣＵとアクセス対象のＧＤＥＶが別ストレージシステムに分かれる場合がある。【０００８】
また、複数のストレージシステムに同一番号の論理ＣＵを割当てて、それら複数のストレージシステムへの論理パスを確立すると、ＭＦホスト計算機はそれらの論理パスを均等に用いるため、アクセス対象のＧＤＥＶが割り当てられたストレージシステム以外の論理ＣＵがＩ／Ｏ要求を受ける機会が発生する。Ｉ／Ｏ要求を受けたストレージシステムからアクセス対象のＧＤＥＶが割り当てられたストレージシステムにＩ／Ｏ要求を転送する際、ストレージシステム間の帯域が狭い場合やストレージシステム間を直結できない場合にはＩ／Ｏ性能が低下する場合がある。【０００９】
したがって、本発明の目的は、仮想ストレージシステム内でデータ転送を削減するように、論理ＣＵとＧＤＥＶをストレージシステムに割当て、ホスト計算機から仮想ストレージシステムのＧＤＥＶへのデータアクセス性能を向上させることにある。
【課題を解決するための手段】
【００１０】
かかる課題を解決するために、本発明は、物理的な複数のストレージシステムを構成要素として１つの仮想ストレージシステムとして提供するスケールアウト型ストレージにおいて、仮想ストレージシステムへのＧＤＥＶ割当て時、ＧＤＥＶにアクセスする論理パスの確立先となる論理ＣＵが未割当てならば、割当て済み論理ＣＵ数が少ないまたは未使用の記憶容量が多いストレージシステムに論理ＣＵとＧＤＥＶを生成する。一方、論理パスの確立先となる論理ＣＵを割当て済みのストレージシステムがあるならば、そのストレージシステムにＧＤＥＶを生成する。ただし、ストレージシステムのリソースが不足している時は、アクセス頻度の低い別の論理ＣＵをリソースが豊富な別ストレージシステムに移動するか、通信帯域が十分な別のストレージシステムに論理ＣＵを追加して、ボリュームを生成することを特徴とする。
かかる構成によれば、ホスト計算機と仮想ストレージシステム間に入出力性能が劣化しないように論理パスを確立することができる。
【発明の効果】
【００１１】
本発明によれば、仮想ストレージシステム内のデータ転送を削減するように、論理ＣＵとＧＤＥＶを割当て、ホスト計算機から仮想ストレージシステムのＧＤＥＶへのデータアクセス性能を向上することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施形態の概要を示すブロック構成図である。
【図２】図２は、実施例１における計算機システムの構成を示すブロック図である。
【図３】図３は、本発明における仮想ストレージシステムの構成情報を示す図である。
【図４】図４は、本発明に係る仮想ストレージシステムを構成するストレージシステムの接続情報を示す図である。
【図５】図５は、本発明に係る仮想ストレージシステムの論理ＣＵ割当て情報を示す図である。
【図６】図６は、本発明に係るストレージシステムの論理ＣＵ割当て情報を示す図である。
【図７】図７は、本発明に係るストレージシステムの容量管理情報を示す図である。
【図８】図８は、本発明に係るストレージシステムの論理ＣＵアクセス頻度管理情報を示す図である。
【図９】図９は、実施例１に係るストレージシステムの構成情報を示す図である。
【図１０】図１０は、実施例１におけるＧＤＥＶ割当て先の選択処理手順を示すフローチャートである。
【図１１】図１１は、実施例１におけるＧＤＥＶ割当て処理手順を示すフローチャートである。
【図１２】図１２は、実施例１における論理パス生成要求を受けた場合に行われる処理手順を示すフローチャートである。
【図１３】図１３は、実施例１におけるストレージシステムがアクセス要求を受けた場合に行われる処理手順を示すフローチャートである。
【図１４】図１４は、実施例１における論理ＣＵ制御情報取得要求を受けた場合に行われる処理手順を示すフローチャートである。
【図１５】図１５は、実施例１におけるチャネルパス再接続の処理手順を示すフローチャートである。
【図１６】図１６は、実施例２におけるパス障害が発生した仮想ストレージシステムの論理装置の構成例を示す図である。
【図１７】図１７は、実施例２におけるストレージシステム間のパス障害発生時の処理手順を示すフローチャートである。
【図１８】図１８は、実施例２におけるパス障害時の仮想ストレージシステムの構成情報を示す図である。
【図１９】図１９は、実施例３におけるリソース使用状態に合わせて論理ＣＵを移動する処理手順を示すフローチャートである。
【図２０】図２０は、図１０のＧＤＥＶ割当て先の選択処理手順におけるＧＤＥＶ割当てスペース確保処理を示すフローチャートである。
【図２１】図２１は、実施例４におけるローカルルータを有するストレージコントローラの概略構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら本発明の実施形態を説明する。
それに先立ち、図１に示す本発明に係るブロック構成図を用いて、各実施例に関わる基本機能の概略を説明する。
【００１４】
計算機システム１は、仮想ストレージシステム１００、ホスト計算機２０（メインフレームやサーバなど）および論理装置割当て管理部３００で構成されている。仮想ストレージシステム１００は、複数のストレージシステム１０の資源を、ホスト計算機２０に同一のストレージシステムに見せる論理的な装置である。なお、以下においては、仮想ストレージシステムのことを「ＶＤＫＣ」として、また、ストレージシステムのことを「ＲＤＫＣ」として、記すことがある。
【００１５】
図１では、仮想ストレージシステム１００は、ストレージシステム１０Ａおよびストレージシステム１０Ｂから構成される。ストレージシステム１０には、ストレージコントローラ１１があり論理装置を制御する。
論理装置には、論理ＣＵ（ＬＣＵ）１１０およびグローバルデバイス（ＧＤＥＶ）１２０がある。論理ＣＵ１１０は、ホスト計算機２０からの論理パスを受ける単位である。ＧＤＥＶ１２０は、ホスト計算機２０が認識するボリュームであり、仮想ストレージシステム１００内でユニークな識別子が付与される。
【００１６】
ホスト計算機２０は、装置定義情報２００、サブチャネル２１０およびチャネルパス２２０を保持する。装置定義情報２００には、ホスト計算機２０のチャネルパス２２０、仮想ストレージシステム１００の論理ＣＵ１１０間のパス接続構成および論理ＣＵ１１０に向けた論理パスでアクセスするすべてのＧＤＥＶ１２０を定義している。例えば、チャネルパス２２０はホスト計算機２０あたり８本まで定義でき、論理ＣＵ１１０は仮想ストレージ装置１００あたり２５６個まで定義でき、ＧＤＥＶ１２０は論理ＣＵ１１０あたり２５６個まで定義できる。
【００１７】
複数のホスト計算機２０が仮想ストレージシステム１００に接続する構成の場合、仮想ストレージシステム１００側でホスト計算機２０に接続する論理パスを識別できるように、ホスト計算機２０が仮想ストレージシステム１００にパスグループ２３０を登録できる。図１では、論理ＣＵ１１０のＬＣＵ２がホスト計算機２０Ａおよびホスト計算機２０Ｂから接続されており、ホスト計算機２０Ａからの論理パスをパスグループ２３０Ａ、ホスト計算機２０Ｂからの論理パスを２３０Ｂとして登録する。ホスト計算機２０と仮想ストレージシステム１００間の通信では、パスグループ２３０内の論理パスを並列に用いることができる。
【００１８】
論理装置割当て管理部３００は、複数のストレージシステム１０とその間の接続形態を管理し、ストレージコントローラ１１に論理ＣＵ１１０とＧＤＥＶ１２０の生成または削除を指示する。また、各ストレージシステム１０に生成した論理装置を記憶している。
その結果、ホスト計算機２０とデータを格納した記憶装置の間の経路が最短となる論理パスを用いてＩ／Ｏを処理できるため、複数の小規模なストレージシステム１０で高性能な仮想ストレージシステム１００を構築できる。特に、廉価なストレージシステム１０を多数結合するスケールアウト型ストレージにおいては、ユーザにコストパフォーマンスのよい記憶領域を提供することが可能となる。
【実施例１】
【００１９】
実施例１は、論理装置割当て管理部３００が仮想ストレージシステム１００の構成要素となるストレージシステム１０の接続形態を基に、各ストレージシステム１０に割当てる論理ＣＵ１１０とＧＤＥＶ１２０を決定し、各ストレージシステム１０が論理ＣＵ１１０とＧＤＥＶ１２０を生成してホスト計算機２０からの入出力要求を処理する実施形態である。【００２０】
図２は、実施例１における計算機システムの構成を示すブロック図である。計算機システム１は、複数のストレージシステム１０、少なくとも１つのホスト計算機２０および管理サーバ３０を有している。【００２１】
ストレージシステム１０とホスト計算機２０、またはストレージシステム１０間はネットワークを介して接続されている。ホスト計算機２０がメインフレーム（ＭＦ）の場合は、ネットワークを介してチャネルコマンドや転送データが通信される。
ストレージシステム１０は、ストレージコントローラ１１と記憶装置１７を有している。記憶装置１７は、通信路を介してコントローラ１１に接続される。【００２２】
ストレージコントローラ１１は、プロセッサ１２とメモリ１３を備えて構成され、フロントエンドインタフェース（以下、インタフェースを「Ｉ／Ｆ」と略す）１４を介してホスト計算機２０または異なるストレージシステム１０に接続され、バックエンドＩ／Ｆ１５を介して記憶装置１７に接続され、管理Ｉ／Ｆ１６を介して管理サーバ３０に接続されている。
ストレージコントローラ１１は、ホスト計算機２０から受信したコマンドに従って、記憶装置１７に対するデータの入出力処理を制御する。また、メモリ１３の一部を入出力処理のためのバッファとして用いることにより、記憶装置１７を読み書きするよりも短時間で入出力処理が完了するように制御することができる。このバッファをキャッシュと呼ぶ。【００２３】
プロセッサ１２は、ストレージシステム１０全体の動作を制御する。メモリ１３に格納されたプログラムをプロセッサ１２が実行することにより、ストレージシステム１０全体として各種処理が行われる。メモリ１３内に格納されるプログラムには、論理ＣＵ割当てプログラム、論理パス生成プログラム、ＧＤＥＶ管理プログラムおよび論理ＣＵ情報制御プログラムがある。【００２４】
記憶装置１７は、ディスク装置等の物理記憶領域で構成する論理デバイス（ＬＤＥＶ）１７０を有する。ＬＤＥＶ１７０は、ＧＤＥＶ１２０のデータの格納先である。【００２５】
ホスト計算機２０は、入出力処理専用のシステムであるチャネル２１およびストレージシステム１０との論理パスを生成または削除する論理パス制御プログラム２２を有する。チャネル２１は、構成定義情報２００で定義されたサブチャネル情報２１０を保持し、ホスト計算機２０がアクセスするＧＤＥＶ１２０を特定する。
また、ホスト計算機２０は、各種のアプリケーションを実行し、データの入出力が必要になると入出力命令を実行し、チャネル２１が、データの割当先のＧＤＥＶ１２０にアクセスする論理パス先の論理ＣＵ１１０に入出力コマンドを発行し、ストレージシステム１０から入出力コマンドの応答データを受け取る。
管理サーバ３０は、以下に説明する仮想ストレージシステムに関するテーブル類を格納するメモリ３３を備える。【００２６】
図３は、本発明に係る仮想ストレージシステムの構成情報の一例を示している。仮想ストレージシステム１００を構成するストレージシステム１０を管理するテーブルで、管理サーバ３０のメモリ３３に格納され、各エントリが、仮想ストレージシステム識別子３０１、ストレージシステム識別子３０２から３０５により構成される。【００２７】
仮想ストレージシステム識別子３０１には、ホスト計算機２０が仮想ストレージシステム１００を特定する製品番号が格納され、ストレージシステム識別子３０２から３０５には、仮想ストレージシステム識別子３０１が示す仮想ストレージシステム１００の構成要素となるストレージシステム１０の識別情報（ストレージシステム識別子１〜４）が格納される。図３では、最大４台のストレージシステム１０から成る仮想ストレージシステム１００の管理情報を示しているが、これに制限されるものではなくストレージシステム数が５台以上であってもよく、その場合にはストレージシステム識別子を格納するフィールド数が５つ以上になる。【００２８】
図４は、本発明に係る仮想ストレージシステムを構成するストレージシステムの接続情報の一例を示している。仮想ストレージシステム１００を構成するストレージシステム１０のうち、直結しているストレージシステム１０を示す情報および相互の帯域を示す情報を管理するテーブルであって、管理サーバ３０のメモリ３３に格納される。テーブルの行方向のストレージシステム識別子４０２から４０５、および、テーブルの列方向のストレージシステム識別子４１２から４１５には、図３のフィールド３０２から３０５に格納したストレージシステム識別子（ストレージシステム識別子ＲＤＫＣ１〜ＲＤＫＣ４）が格納される。そして、ストレージシステム識別子を格納したフィールドの行と列が交わるフィールドに、ストレージシステム間が直結しているか否か等、両者間の接続形態を管理する情報（図４では帯域を示す情報）を格納する。【００２９】
例えば、フィールド４４１には、ＲＤＫＣ１（フィールド４０２）とＲＤＫＣ４（フィールド４１５）間の帯域が中程度であることを示す「帯域中」が格納されている。同様に、フィールド４４２には、ＲＤＫＣ２（フィールド４０３）とＲＤＫＣ４（フィールド４１５）の間の帯域を示す情報、また、フィールド４４３には、ＲＤＫＣ３（フィールド４０４）とＲＤＫＣ４（フィールド４１５）の間の帯域を示す情報が、それぞれ格納されている。ストレージシステム間が直結していなければ、それらのフィールドには直結していないことを示す情報が格納される。図４に「−」で表したフィールドは、同一ストレージシステム間であったり、ストレージシステム間の組合せが重複するために、使用しないフィールドであることを表す。【００３０】
図５は、本発明に係る仮想ストレージシステムの論理ＣＵ割当て情報の一例を示している。仮想ストレージシステム１００の論理ＣＵ１１０がどのストレージシステム１０に割り当てられているかを管理するテーブルで、管理サーバ３０のメモリ３３に格納され、各エントリが、仮想ストレージシステム識別子５０１、論理ＣＵ番号５０２およびストレージシステム識別子５０３から５０５のフィールドにより構成される。【００３１】
仮想ストレージシステム識別子フィールド５０１には、ホスト計算機２０が仮想ストレージシステム１００を特定する製品番号が格納される。論理ＣＵ番号フィールド５０２には、論理ＣＵの識別番号が格納される。ストレージシステム識別子フィールド５０３から５０５には、フィールド５０２に格納された論理ＣＵが割り当てられているストレージシステム１０の識別子が格納される。【００３２】
エントリ５１１は、仮想ストレージシステム識別子ＶＤＫＣ１の論理ＣＵ番号１がストレージシステム識別子ＲＤＫＣ１に割り当てられていることを示す。同様に、エントリ５１２は、仮想ストレージシステム識別子ＶＤＫＣ１の論理ＣＵ番号２がストレージシステム識別子ＲＤＫＣ２に割り当てられていることを示す。さらに、エントリ５１３は、仮想ストレージシステム識別子ＶＤＫＣ２の論理ＣＵ番号１がストレージシステム識別子ＲＤＫＣ１とＲＤＫＣ２に割り当てられていることを示す。【００３３】
図５では、最大３台のストレージシステム１０までが同一の仮想ストレージシステム識別子で同一の論理ＣＵ番号に割り当てられることを示しているが、これに制限されるものではなく、４台以上のストレージシステム数であってもよく、その場合にはストレージシステム識別子を格納するフィールド数が４つ以上になる。また、図５に「−」で表したフィールドは、論理ＣＵが割り当てられているストレージシステム数が３台以下であるため、使用しないフィールドであることを表す。【００３４】
図６は、本発明に係るストレージシステムの論理ＣＵ割当て情報の一例を示している。ストレージシステム１０に割り当てた仮想ストレージシステム１００の論理装置を管理するテーブルで、各ストレージシステム１０内のメモリ１３に格納され、各エントリが、仮想ストレージシステム識別子６０１、論理ＣＵ番号６０２、ＧＤＥＶ番号６０３、ストレージシステム識別子６０４、ＬＤＥＶ番号６０５および容量６０６の各フィールドから構成される。【００３５】
フィールド６０５が示すＬＤＥＶ番号をもつＬＤＥＶには、フィールド６０１が示す仮想ストレージシステム識別子で、フィールド６０２が示す論理ＣＵ番号であって、かつフィールド６０３が示すＧＤＥＶ番号をもつＧＤＥＶに存在するデータが格納される。フィールド６０６が示す容量には、フィールド６０３が示すＧＤＥＶの容量が格納される。【００３６】
フィールド６０４が「−」で表される時、ＧＤＥＶがこの情報が格納されたストレージシステム１０内に割り当てられていることを表す。一方、フィールド６０４にストレージシステム識別子が格納されている時、ＧＤＥＶのデータが、フィールド６０４が示す異なるストレージシステムのＬＤＥＶに格納されていることを示す。その場合、フィールド６０５と６０６の情報は、フィールド６０４が示すストレージシステムで管理するため、ここでは使用せず「−」となっている。【００３７】
図７は、本発明に係るストレージシステムの容量管理情報の一例を示している。仮想ストレージシステム識別子７０１が示す仮想ストレージシステム１００のデータを格納できる容量の上限値が、フィールド７０２に格納される。この容量管理情報をメモリ１３にテーブルとして保持するストレージシステム１０において、新たにＧＤＥＶ１２０のデータを書き出すＬＤＥＶ領域を確保する際、ＧＤＥＶ１２０が属する仮想ストレージシステム１００のために確保した領域の合計容量がフィールド７０２の値を超える場合には、データ書き出しを抑止する。【００３８】
図８は、本発明に係るストレージシステムの論理ＣＵアクセス頻度管理情報の一例を示している。ストレージシステム１０に割り当てた仮想ストレージシステム１００の論理装置を管理するテーブルで、各ストレージシステム１０内のメモリ１３に格納され、各エントリが、仮想ストレージシステム識別子８０１、論理ＣＵ番号８０２、ＧＤＥＶ番号８０３、ストレージシステム識別子８０４、アクセス数８０５およびアクセス数測定期間８０６の各フィールドから構成される。【００３９】
仮想ストレージシステム識別子フィールド８０１に格納された仮想ストレージシステム１００の、論理ＣＵ番号フィールド８０２に格納された論理ＣＵの、ＧＤＥＶ番号フィールド８０３に格納されたＧＤＥＶのデータに対してアクセスされた回数が、フィールド８０５に格納される。フィールド８０６には、フィールド８０５が示すアクセス回数を測定する期間が格納される。フィールド８０４が「−」で表される時、ＧＤＥＶがこの情報が格納されたストレージシステム１０内に割り当てられていることを表す。一方、フィールド８０４にストレージシステム識別子が格納されている時、ＧＤＥＶのデータが、フィールド８０４が示す異なるストレージシステムのＬＤＥＶに格納されていることを示す。その場合、フィールド８０５と８０６の情報は、フィールド８０４が示すストレージシステムで管理するため、ここでは使用せず「−」となっている。【００４０】
図９は、本発明に係るストレージシステムの構成情報の一例を示している。計算機システム１が有するストレージシステム１０を管理するテーブルで、各ストレージシステム１０内のメモリ１３に格納され、各エントリが、ストレージシステム識別子フィールド９０１、記憶容量フィールド９０２、プロセッサ性能フィールド９０３およびキャッシュ容量フィールド９０４から構成される。【００４１】
ストレージシステム識別子フィールド９０１には、ストレージシステム１０を特定する製品番号が格納される。記憶容量フィールド９０２には、フィールド９０１が示すストレージシステム１０の記憶装置１７のサイズが格納される。プロセッサ性能フィールド９０３には、プロセッサ性能を示すクロック数やコア数が格納される。キャッシュ容量フィールド９０４には、キャッシュサイズが格納される。【００４２】
図１０は、実施例１によるＧＤＥＶ割当て先の選択処理手順を示すフローチャートである。ＧＤＥＶ割当て先選択処理では、論理装置割当て管理部３００において、仮想ストレージシステム１００のＧＤＥＶ１２０を割当てるストレージシステム１０を選択する。【００４３】
まず、ステップＳ１０１０で、管理者等から管理サーバ３０へのＧＤＥＶ割当て要求を受けて、仮想ストレージシステム識別子ＶＤＫＣと論理ＣＵ番号とＧＤＥＶ番号を論理装置割当て管理部３００が受信する。【００４４】
次に、ステップＳ１０２０で、論理装置割当て管理部３００は、受信した論理ＣＵ番号がすでに仮想ストレージシステムに割り当てられているか否かを、図５の仮想ストレージシステムの論理ＣＵ割当て情報を用いて判断する。すなわち、仮想ストレージシステム識別子フィールド５０１に対象のＶＤＫＣが格納され、論理ＣＵ番号フィールド５０２に対象の論理ＣＵが格納されているエントリがあり、フィールド５０３から５０５のいずれかにストレージシステム識別子が格納されていれば、対象論理ＣＵは割当て済みであると判断できる。【００４５】
ステップＳ１０２０で、論理装置割当て管理部３００は、対象論理ＣＵが割当て済みではない（Ｎｏ）と判断すると、ステップＳ１０３０で、割当て済み論理ＣＵ数の少ないまたは未使用の記憶容量が多いストレージシステムＲＤＫＣを選択する処理を実行する。これには、まず、論理ＣＵ数に関しては、図５の仮想ストレージシステムの論理ＣＵ割当て情報を用い、対象のＶＤＫＣに関係するエントリのフィールド５０３から５０５に格納されたストレージシステム識別子が、最も少ないＲＤＫＣを選択する。また、未使用の記憶容量に関しては、各ＲＤＫＣが有する図６のストレージシステムの論理ＣＵ割当て情報を用い、対象のＶＤＫＣに関係するエントリのフィールド６０６のＧＤＥＶの容量として最も少ない容量割当てがなされているＲＤＫＣを選択する。【００４６】
続いて、ステップＳ１０４０で、論理装置割当て管理部３００は、先のステップＳ１０３０で選択したストレージシステムＲＤＫＣに、ＶＤＫＣの論理ＣＵとＧＤＥＶの割当てを要求する。ステップＳ１０４０の要求を受けたＲＤＫＣは、図１１に示す論理ＣＵ割当て処理プログラムＬＣＵＡＰを実行する。この論理ＣＵ割当て処理プログラムＬＣＵＡＰについては後述する。【００４７】
その後、論理装置割当て管理部３００は、上記割当て処理を実行したストレージシステムＲＤＫＣから論理ＣＵとＧＤＥＶの割当てが成功したことを受信したら、ステップＳ１０５０で、図５の仮想ストレージシステムの論理ＣＵ割当て情報を更新する。ここでは、フィールド５０１がＶＤＫＣのエントリを追加し、フィールド５０２に対象の論理ＣＵ番号を、フィールド５０３に対象のＲＤＫＣをそれぞれ格納する。上記割当て処理を実行したストレージシステムＲＤＫＣで論理ＣＵとＧＤＥＶの割当てに失敗した場合には、論理装置割当て管理部３００は、ステップＳ１０３０で異なるＲＤＫＣを選択し直して、ステップＳ１０４０を実行する。【００４８】
一方、論理装置割当て管理部３００は、ステップＳ１０２０で、対象ＣＵが割当て済みである（Ｙｅｓ）と判断すると、ステップＳ１０２１で、割当て先のストレージシステムＲＤＫＣが複数あるかどうか判断する。これには、図５の仮想ストレージシステムの論理ＣＵ割当て情報を用いる。すなわち、仮想ストレージシステム識別子フィールド５０１に対象のＶＤＫＣが格納され、論理ＣＵ番号フィールド５０２に対象の論理ＣＵが格納されているエントリがあり、フィールド５０３から５０５に少なくとも２つのストレージシステムＲＤＫＣの識別子が格納されていれば、対象論理ＣＵが複数のストレージシステムＲＤＫＣに割当て済みであると判断できる。【００４９】
ステップＳ１０２１で、論理装置割当て管理部３００は、対象論理ＣＵが複数のストレージシステムＲＤＫＣに割り当てられていない（Ｎｏ）と判断すると、ステップＳ１０２３で、対象論理ＣＵを割当て済みのストレージシステムＲＤＫＣにＧＤＥＶの追加割当てを要求する。【００５０】
一方、論理装置割当て管理部３００は、ステップＳ１０２１で、対象論理ＣＵの割当て先ＲＤＫＣが複数ある（Ｙｅｓ）と判断すると、ステップＳ１０２２で、割当て済み論理ＣＵ数の少ないまたは未使用の記憶容量が多い方のストレージシステムＲＤＫＣを選択する処理を実行する。これには、まず、論理ＣＵ数に関しては、図５の仮想ストレージシステムの論理ＣＵ割当て情報を用い、対象のＶＤＫＣと論理ＣＵ番号が格納されているエントリのフィールド５０３から５０５に格納されたストレージシステム識別子が、別のエントリのフィールド５０３から５０５に格納されているエントリ数を比較し、最も少ないＲＤＫＣを選択する。また、未使用の記憶容量に関しては、各ストレージシステムＲＤＫＣが有する図６のストレージシステムの論理ＣＵ割当て情報を用い、対象のＶＤＫＣと論理ＣＵ番号が格納されているエントリのフィールド６０６のＧＤＥＶの容量として最も少ない容量割当てがなされているスＲＤＫＣを選択する。【００５１】
続いて、論理装置割当て管理部３００は、上記したステップＳ１０２３を実行して、ストレージシステムＲＤＫＣからＧＤＥＶの割当て結果を受信し、ステップＳ１０２３によるＧＤＥＶの割当てに失敗したときには、論理ＣＵの割当て先が他にもある場合にはステップＳ１０２２とステップＳ１０２３を繰り返す。【００５２】
次に、ステップＳ１０２４で、論理装置割当て管理部３００は、論理ＣＵを割当て済みのストレージシステムＲＤＫＣに新たなＧＤＥＶを追加できたかどうか判断する。ＧＤＥＶの追加に成功すれば（Ｙｅｓ）、ステップＳ１０７５で、対象論理ＣＵを割当てているすべてのストレージシステム１０に、上記選択したＲＤＫＣにその対象論理ＣＵの対象ＧＤＥＶを割当てたことを通知する。ステップＳ１０７５の通知を受けたストレージシステム１０は、図６のストレージシステムの論理ＣＵ割当て情報にエントリを追加し、フィールド６０１にＶＤＫＣを、フィールド６０２に対象論理ＣＵ番号を、フィールド６０３に対象ＧＤＥＶ番号を、フィールド６０４にＲＤＫＣを、それぞれ格納する。その後、論理装置割当て管理部３００は、ステップＳ１０５０で管理情報を更新し、処理を終了する。【００５３】
一方、論理装置割当て管理部３００は、ステップＳ１０２４で、ＧＤＥＶの割当てに失敗した（Ｎｏ）と判断すると、ステップＳ１０６０で、ＧＤＥＶ割当てスペース確保処理を実行する。【００５４】
このステップ１０６０のＧＤＥＶ割当てスペース確保処理のフローについては、図２０を用いて説明する。
論理装置割当て管理部３００は、ステップＳ２０１０で、対象の論理ＣＵが割り当てられているストレージシステムＲＤＫＣに高アクセス頻度のＧＤＥＶがあるかどうか問い合わせる。この問い合わせを受けたＲＤＫＣは、図８のストレージシステムの論理ＣＵアクセス頻度管理情報において、フィールド８０１が対象ＶＤＫＣで、フィールド８０２が対象論理ＣＵであるエントリに関し、そのフィールド８０５とフィールド８０６で表すアクセス頻度が、あらかじめ決めていたしきい値を超えているかどうかにより判断する。【００５５】
論理装置割当て管理部３００は、ステップＳ２０１０で、高アクセス頻度のＧＤＥＶを割当てたストレージシステムＲＤＫＣがない（Ｎｏ）と判断すると、ステップＳ２０２０で、論理ＣＵを追加するＲＤＫＣを選択する。これは、どのＧＤＥＶもアクセス頻度が高くないため、複数のＲＤＫＣに論理ＣＵを横断して配置することによるＩ／Ｏ要求のストレージシステム間転送が発生することが許容されるとみなし、論理ＣＵを割当てるＲＤＫＣを新たに追加する。ここにおいても、例えば、ＶＤＫＣの論理ＣＵの割当て数が少ないＲＤＫＣを選択する。【００５６】
また、図４の仮想ストレージシステムを構成するストレージシステムの接続情報を用いて、ＶＤＫＣに割当て済みのＲＤＫＣとの帯域が高いＲＤＫＣを選択することもできる。例えば、ＶＤＫＣがＲＤＫＣ１とＲＤＫＣ２に割当てられている場合、追加するＲＤＫＣとしてＲＤＫＣ３かＲＤＫＣ４を選択できるところ、これらのＲＤＫＣの中からＲＤＫＣ１とＲＤＫＣ２との帯域が高いＲＤＫＣ３を選択する。【００５７】
続いて、ステップＳ２０３０で、論理装置割当て管理部３００は、先のステップＳ２０２０で選択したストレージシステムＲＤＫＣに、論理ＣＵの追加とＧＤＥＶの割当てを要求する。【００５８】
一方、論理装置割当て管理部３００は、ステップＳ２０１０で、高アクセス頻度のＧＤＥＶがある（Ｙｅｓ）と判断すると、ステップＳ２０４０で、低アクセス頻度のＧＤＥＶのみを持つ別の論理ＣＵがＲＤＫＣに割当てられているかどうか判断する。【００５９】
論理装置割当て管理部３００は、低アクセス頻度の別論理ＣＵがある（Ｙｅｓ）と判断すると、ステップＳ２０５０で、その別論理ＣＵのＧＤＥＶを移行するための追加先ＲＤＫＣを選択する。ここでは、その別論理ＣＵに割り当てられたＧＤＥＶの性能要求が高くないと判断し、別論理ＣＵを複数ＲＤＫＣに分散配置してＧＤＥＶを別ＲＤＫＣに追い出すことで、割当て対象のＧＤＥＶのスペースを確保することにする。【００６０】
次に、論理装置割当て管理部３００は、ステップＳ２０６０で、追加先ＲＤＫＣに別論理ＣＵの追加とＧＤＥＶの移行を要求し、ステップＳ２０７０で、別論理ＣＵのＧＤＥＶを移行することにより、割当て対象のＧＤＥＶのスペースを空ける。【００６１】
一方、ステップＳ２０４０で、論理装置割当て管理部３００は、低アクセス頻度の別論理ＣＵがない（Ｎｏ）と判断すると、ステップＳ２０８０で、割当て対象論理ＣＵ内でアクセス頻度が少ないＧＤＥＶと移行先ＲＤＫＣを選択する。これは、アクセス頻度の少ないＧＤＥＶを別のＲＤＫＣに移行して外部接続ボリュームとすることにより、割当て対象ＧＤＥＶのスペースを確保するためである。【００６２】
ここでは、対象論理ＣＵを割当て済みのＲＤＫＣからアクセス頻度情報を受取り、最もアクセス頻度が低いＧＤＥＶを移行対象とする。また、移行先には、例えば、論理ＣＵの割当て数が少ないＲＤＫＣか、ＲＤＫＣから割当て済みＧＤＥＶの合計容量情報を受取り、最も割当て容量が少ないＲＤＫＣを選択する。【００６３】
次に、論理装置割当て管理部３００は、ステップＳ２０９０で、選択したＲＤＫＣにアクセス頻度の少ないＧＤＥＶの移行を要求し、ステップＳ２０９５で、アクセス頻度の少ないＧＤＥＶの移行元ＲＤＫＣにＧＤＥＶの移行を要求することにより、割当て対象のＧＤＥＶのスペースを空ける。【００６４】
こうして、ＧＤＥＶ割当てスペースを確保すると、ステップＳ２０３０で、論理装置割当て管理部３００は、スペースを確保したＲＤＫＣに論理ＣＵとＧＤＥＶの割当てを要求する。
以上により、仮想ストレージシステム１００のＧＤＥＶ１２０を割当てるストレージシステム１０を選択することができる。【００６５】
図１１は、実施例１によるＧＤＥＶ割当て処理手順を示すフローチャートである。これは、論理ＣＵ割当てプログラムＬＣＵＡＬＰ（図２）による処理であり、ストレージシステム１０のストレージコントローラ１１が、論理装置割当て管理部３００から論理ＣＵ１１０の割当て要求を受け取ったときに開始する。【００６６】
まず、ステップＳ１１１０で、ストレージコントローラ１１は、論理装置割当て管理部３００から、仮想ストレージシステム識別子ＶＤＫＣと論理ＣＵ番号とＧＤＥＶ番号とＧＤＥＶに割当てるサイズを受信する。【００６７】
次に、ステップＳ１１２０で、ストレージコントローラ１１は、指定のサイズを追加することでＶＤＫＣに割当てられる容量に不足を生じさせるかを判断する。ここでは、図６のストレージシステムの論理ＣＵ割当て情報と、図７のストレージシステムの容量管理情報を用いる。ストレージコントローラ１１は、フィールド６０１が対象ＶＤＫＣであるエントリのフィールド６０６の容量を加算し、そこに指定のサイズを追加した値が、フィールド７０１が対象ＶＤＫＣであるエントリのフィールド７０２の上限値を超えるかどうか判断する。【００６８】
ストレージコントローラ１１は、ステップＳ１１２０で、容量を超える、すなわち容量不足となる（Ｙｅｓ）と判断したときには、ステップＳ１１２５で、ＧＤＥＶを割当てられないことを要求元に返信し、処理を終了する。【００６９】
一方、ストレージコントローラ１１は、ステップＳ１１２０で、容量を超えない、すなわち容量不足ではない（Ｎｏ）と判断したときには、続くステップＳ１１３０で、対象論理ＣＵがストレージシステム１０に割当て済みであるかどうかを判断する。ここでストレージコントローラ１１は、図６のストレージシステムの論理ＣＵ割当て情報を用い、フィールド６０１が対象ＶＤＫＣであるエントリのフィールド６０２に対象論理ＣＵ番号が格納されているか否かを調べる。【００７０】
ストレージコントローラ１１は、ステップＳ１１３０で、論理ＣＵは割当て済み（Ｙｅｓ）と判断したときには、ステップＳ１１６０で、対象ＧＤＥＶをＬＤＥＶ１７０に割当て、図６のストレージシステム論理ＣＵ割当て情報に対象ＶＤＫＣのエントリを追加し、フィールド６０２に対象論理ＣＵ番号を、フィールド６０３に対象ＧＤＥＶ番号を、フィールド６０５に割当て先ＬＤＥＶ番号を、フィールド６０６に対象ＧＤＥＶのサイズを、それぞれ格納する。【００７１】
一方、ストレージコントローラ１１は、ステップＳ１１３０で、論理ＣＵは未割当（Ｎｏ）と判断したときには、ステップＳ１１４０で、対象論理ＣＵを割当てる。ここでは、図６のストレージシステムの論理ＣＵ割当て情報にエントリを追加し、フィールド６０１に対象ＶＤＫＣを、フィールド６０２に対象論理ＣＵ番号をそれぞれ格納する。また、論理ＣＵ１１０はキャッシュの使い方や稼働状態を示す制御情報を管理することになっているため、ストレージコントローラ１１は、その制御情報を格納する領域をメモリ１３またはＬＤＥＶ１７０に確保する。【００７２】
続いて、ステップＳ１１５０で、ストレージコントローラ１１は、ホスト計算機２０に対して、ＶＤＫＣの論理ＣＵへの論理パスを追加できることを通知する。ここでは、例えばＣＵ始動再構成機能（Control  Unit  Initiated  Reconfiguration：ＣＵＩＲ）を用いる。論理ＣＵへのパスを追加できることに気付いたホスト計算機２０は、論理パス制御プログラム２２（図２）により、新たな論理ＣＵへの論理パスを有効にするコマンドを実行することができる。【００７３】
最後に、ステップＳ１１６０で、ストレージコントローラ１１は、上記のＧＤＥＶの割当て情報の追加格納を実行して処理を終了する。
以上により、ストレージシステム１０に論理ＣＵ１１０とＧＤＥＶ１２０を割当てることができる。【００７４】
図１２は、実施例１による論理パス生成要求を受けた場合に行われる処理手順を示すフローチャートである。これは、論理パス生成プログラムＬＰＡＴＨＰ（図２、図１９）の処理であり、ストレージシステム１０のストレージコントローラ１１が、ホスト計算機２０から論理ＣＵ１１０への論理パス生成要求を受け取ったときに開始する。【００７５】
まず、ステップＳ１２１０で、ストレージコントローラ１１は、ホスト計算機２０から論理パスを生成する仮想ストレージシステム識別子と論理ＣＵ番号を受信する。
続いて、ステップＳ１２２０で、ストレージコントローラ１１は、自らに対象となる仮想ストレージシステム識別子の論理ＣＵ番号が割当てられているか否か判断する。【００７６】
ストレージコントローラ１１は、ステップＳ１２２０で、対象論理ＣＵが割当てられていない（Ｎｏ）と判断したときには、ステップＳ１２２５で、論理パスを生成できないことをホスト計算機２０に返信する。【００７７】
一方、ストレージコントローラ１１は、ステップＳ１２２０で、対象論理ＣＵが割当てられている（Ｙｅｓ）と判断したときには、ステップＳ１２３０で、通常の論理パス設定を処理する。
以上により、ストレージシステム１０に仮想ストレージシステムの論理ＣＵが割り当てられている場合のみ、論理パスを生成することができる。【００７８】
図１３は、実施例１によるストレージシステム１０がアクセス要求を受けた場合に行われる処理手順を示すフローチャートである。これは、ＧＤＥＶ管理プログラムＧＤＥＶＰ（図２、図１９）の処理であり、ストレージシステム１０のストレージコントローラ１１が、ホスト計算機２０からＧＤＥＶ１２０への入出力要求を受け取ったときに開始する。【００７９】
まず、ステップＳ１３１０で、ＧＤＥＶ１２０への入出力要求を受け取ったストレージコントローラ１１は、この入出力要求のアクセス先である仮想ストレージシステム識別子と論理ＣＵ番号とＧＤＥＶ番号を取得する。
続いて、ステップＳ１３２０で、ストレージコントローラ１１は、入出力要求の対象となる論理ＣＵがストレージシステム１０に割当てられているか判断する。
ストレージコントローラ１１は、ステップＳ１３２０で、対象論理ＣＵが割当てられていない（Ｎｏ）と判断したときには、ステップＳ１３３０で、入出力エラーをホスト計算機２０に返信する。ここでストレージコントローラ１１は、ホスト計算機に論理ＣＵが未割当てであることに起因するデバイス異常状態を検出したことを示すデバイス状態バイトを送り、ＧＤＥＶアクセス要求処理を終了する。【００８０】
一方、ストレージコントローラ１１は、ステップＳ１３２０で、対象論理ＣＵが割当てられている（Ｙｅｓ）と判断したときには、続くステップＳ１３４０で、対象ＧＤＥＶが割当てられているか判断する。ここでは、図６のストレージシステムの論理ＣＵ割当て情報を用いる。フィールド６０１にＶＤＫＣが、フィールド６０２に対象論理ＣＵ番号が、フィールド６０３に対象ＧＤＥＶ番号が格納され、フィールド６０５に割当て先ＬＤＥＶ番号が格納されている場合において、ストレージコントローラ１１は、対象ＧＤＥＶが割当てられていると判断する。【００８１】
ストレージコントローラ１１は、ステップＳ１３４０で、対象ＧＤＥＶが割当てられている（Ｙｅｓ）と判断したとき、ステップＳ１３５０で、対象ＧＤＥＶの割当て先のＬＤＥＶをアクセスする。
続いて、ステップＳ１３６０で、ストレージコントローラ１１は、図８のストレージシステムの論理ＣＵアクセス頻度管理情報における対象ＧＤＥＶのエントリのフィールド８０５（アクセス数）を更新する。【００８２】
一方、ストレージコントローラ１１は、ステップＳ１３４０で、対象ＧＤＥＶが割当てられていない（Ｎｏ）と判断したとき、ステップＳ１３７０で、対象ＧＤＥＶが割当てられているストレージシステム１０（ＲＤＫＣ）への経路を取得する。ここでは、図６のストレージシステムの論理ＣＵ割当て情報における対象ＧＤＥＶのエントリのフィールド６０４（ストレージシステム識別子）に格納されているストレージシステム１０を取得する。【００８３】
続いて、ステップＳ１３８０で、ストレージコントローラ１１は、対象ＧＤＥＶが割当てられているストレージシステム１０（ＲＤＫＣ）に対して入出力要求を送る。ここでの入出力要求とは、パスグループ情報とステップＳ１３１０で取得した情報を含むＧＤＥＶアクセス要求コマンドのことである。
入出力要求を受けたＲＤＫＣからＧＤＥＶが割り当てられているＲＤＫＣにコマンドを送信し、ＧＤＥＶが割り当てられているＲＤＫＣはホストに直接応答する。直接応答する場合は、パスグループ２３０の空いている論理パスを用いてチャネル２１にアクセス結果を送る。
一方で、ＧＤＥＶが割り当てられているＲＤＫＣにパスグループ２３０の論理パスがない場合には、入出力要求を受けたＲＤＫＣは、ＧＤＥＶにアクセスし、アクセス結果をホストに応答する。この場合は、入出力要求が入ってきたルートを逆にたどり、入出力要求を介したＲＤＫＣを経由してホストに応答を返すことになる。
上により、ＧＤＥＶへのアクセス要求を、対象ＧＤＥＶが割り当てられたストレージシステム１０で処理することができる。【００８４】
図１４は、実施例１による論理ＣＵ制御情報取得要求を受けた場合に行われる処理手順を示すフローチャートである。これは、論理ＣＵ情報制御プログラムＬＣＵＣＰ（図２）の処理であり、ストレージシステム１０のストレージコントローラ１１が、ホスト計算機２０から論理ＣＵ１１０の制御情報取得要求を受け取ったときに開始する。制御情報取得要求とは、例えば、READ  SUBSYSTEM  DATAコマンドである。【００８５】
まず、ステップＳ１４１０で、ストレージコントローラ１１は、ホスト計算機２０から制御情報取得対象の論理ＣＵ番号を受取る。
続いて、ステップＳ１４２０で、ストレージコントローラ１１は、対象論理ＣＵ割当て先の各ストレージシステム１０から対象論理ＣＵの制御情報を取得する。ここでストレージコントローラ１１は、図６のストレージシステムの論理ＣＵ割当て情報を用いて、対象論理ＣＵが割当てられている別のストレージシステム１０を取得し、それらのストレージシステム１０すべてに論理ＣＵ制御情報取得要求を転送する。【００８６】
次に、ステップＳ１４３０で、ストレージコントローラ１１は、各ストレージシステム１０から取得した対象論理ＣＵ制御情報のすべてを統合する。ここでの統合とは、例えば、各ストレージシステム１０から取得した論理ＣＵの稼働管理情報を加算することである。
最後に、ステップＳ１４４０で、ストレージコントローラ１１は、統合した論理ＣＵ制御情報をホスト計算機２０に返信し、処理を終了する。【００８７】
以上により、ストレージコントローラ１１は、複数のストレージシステム１０に割当てた論理ＣＵの制御情報を、仮想ストレージシステムの１つの論理ＣＵの制御情報として、ホスト計算機２０に渡すことができる。【００８８】
図１５は、実施例１によるチャネルパス再接続の処理手順を示すフローチャートである。チャネルパス再接続とは、メインフレーム（ＭＦ）であるホスト計算機の入出力命令によるコマンドチェイン実行の途中で、一旦論理パスを切り離し、次の再接続時に、命令を発行した論理パスを含む同一パスグループ２３０内の任意の論理パスと再接続を行い、コマンドチェインの続行を可能とする機能である。【００８９】
例えば、ディスクの回転待ち完了時に、パスグループ２３０内の少なくとも１つの論理パスが動作中でなければチャネル２１との再接続が可能となり、続くコマンドの処理を開始することができるため、入出力完了までの時間を短縮できる。
まず、ステップＳ１５１０で、ホスト計算機２０は、切り離す前の論理パスのパスグループ２３０を取得する。ここでは、切断中の入出力要求のパスグループ２３０の情報をストレージシステム１０が保持しているものとする。
続いて、ステップＳ１５２０で、ホスト計算機２０は、この処理をしているストレージシステム１０に、先のステップＳ１５１０で取得したパスグループ２３０の論理パスが設定されているかどうか判断する。【００９０】
ホスト計算機２０は、ステップＳ１５２０で、パスグループ２３０の論理パスがある（Ｙｅｓ）と判断したら、続くステップＳ１５３０で、それらの論理パスの中に空いているものがあるか判断する。【００９１】
ホスト計算機２０は、ステップＳ１５３０で、空きの論理パスがある（Ｙｅｓ）と判断した場合には、ステップＳ１５５０で、この処理をしているストレージシステム１０からその論理パスを用いてチャネル２１に再接続要求を送る。
一方、ホスト計算機２０は、ステップＳ１５３０で、空きの論理パスがない（Ｎｏ）と判断した場合には、ステップＳ１５４０で、パスグループ２３０の論理パスのいずれかが空くまで待ち、その後に空きが出るとステップＳ１５５０を実行する。【００９２】
また、ホスト計算機２０は、ステップＳ１５２０で、ストレージシステム１０内にパスグループ２３０の論理パスがない（Ｎｏ）場合には、ステップＳ１５６０で、同一パスグループ２３０の論理パスを持つ別ストレージシステム１０（ＲＤＫＣ）を選択する。【００９３】
続いて、ステップＳ１５７０で、ホスト計算機２０は、先のＳ１５６０で選択した別ストレージシステム１０（ＲＤＫＣ）にチャネルパス再接続要求を送る。ここでホスト計算機２０は、別ストレージシステム１０（ＲＤＫＣ）からチャネルパス再接続失敗の連絡を受けた場合には、ステップＳ１５６０で、さらに別ストレージシステム１０（ＲＤＫＣ）を選択してステップＳ１５７０を繰り返す。【００９４】
以上により、仮想ストレージシステム１００におけるチャネルパス再接続において、ホスト計算機２０は、入出力要求を受けたストレージシステム１０ではなく、アクセス先のＧＤＥＶ１２０が割り当てられたストレージシステム１０の論理パスで再接続することにより、続くコマンドの処理を開始するまでの時間を短縮することができる。【００９５】
以上のように、実施例１によれば、複数のストレージシステムで仮想ストレージシステムを構成し、仮想ストレージシステムの論理ＣＵとＧＤＥＶを仮想ストレージシステム内のデータ転送を削減するように割当てて、ホスト計算機からアクセスすることができる。
【実施例２】
【００９６】
実施例２は、実施例１または後述する実施例４における計算機システムの構成において、ストレージシステム間のパス障害発生時に、仮想ストレージシステムの入出力性能を劣化させないようにする実施形態である。
図１６は、実施例２におけるパス障害が発生した仮想ストレージシステムの論理構成例を示す図である。ＲＤＫＣ１からＲＤＫＣ４が仮想ストレージＶＤＫＣ２を構成しているものとする。【００９７】
正常時の構成例（ａ）は、ホスト計算機からＲＤＫＣ１とＲＤＫＣ２に論理ＣＵ２が割当てられていることを示す。ＲＤＫＣ１で受けた入出力要求のアクセス先ＧＤＥＶがＲＤＫＣ２にある場合、ＲＤＫＣ１からＲＤＫＣ２に入出力要求を転送する。【００９８】
パス障害時の構成例（ｂ）は、ＲＤＫＣ１とＲＤＫＣ２の間のパスで障害が発生したため、ＲＤＫＣ１で受けた入出力要求を、ＲＤＫＣ３を経由してアクセス先ＧＤＥＶがあるＲＤＫＣ２に転送することを示す。この場合、ＲＤＫＣ１は、ＲＤＫＣ１に接続しているＲＤＫＣ３とＲＤＫＣ４から１つを選び、選んだＲＤＫＣ３にＲＤＫＣ２の論理ＣＵ２のＧＤＥＶに転送するよう要求する。ＲＤＫＣ１からＲＤＫＣ２への転送を受けたＲＤＫＣ３は、ＲＤＫＣ３と転送先のＲＤＫＣ２が直結していればＲＤＫＣ２に転送する。もし、ＲＤＫＣ２が直結していなければ、転送元および経由してきたＲＫＤＣとは異なるＲＤＫＣに、転送元ＲＤＫＣ１および経由しているＲＤＫＣ識別情報ＲＤＫＣ３とともに、ＲＤＫＣ２への順次転送を要求する。【００９９】
ＣＵ移動後の構成例（ｃ）は、論理ＣＵ２をＲＤＫＣ３とＲＤＫＣ４に移動し、それらの論理パスで入出力要求を受けることを示す。論理ＣＵ２からアクセス先ＧＤＥＶのあるＲＤＫＣ１またはＲＤＫＣ２へは、直結のＲＤＫＣ間パスを用いることができる。【０１００】
図１７は、実施例２におけるストレージシステム（ＲＤＫＣ）間のパス障害発生時の処理手順を示すフローチャートである。
まず、ステップＳ１７００で、ストレージシステム１０がパス障害を検知する。ここでは、例えば、図１６のＲＤＫＣ１がＲＤＫＣ２との間のパス障害を検知する。【０１０１】
続いて、ステップＳ１７０５で、ＲＤＫＣ１は、論理装置割当て管理部３００に、ＲＤＫＣ２間のパスで障害が発生したことを通知する。
次に、ステップＳ１７１０で、論理装置割当て管理部３００は、このパス障害の通知を受信する。以降のステップは、論理装置割当て管理部３００における処理となる。【０１０２】
続いて、ステップＳ１７２０で、論理装置割当て管理部３００は、図４の仮想ストレージシステムを構成するストレージシステムの接続情報にパス障害情報を格納する。ここでは、ＲＤＫＣ１とＲＤＫＣ２の間のパス障害の場合として、論理装置割当て管理部３００は、フィールド４０２のＲＤＫＣ１の列とフィールド４１３のＲＤＫＣ２の行の交わるフィールドの値を、障害を示す情報に変更する。その結果、仮想ストレージシステムを構成するストレージシステムの接続情報は、図１８に示すパス障害時の仮想ストレージシステムの構成情報に変更される（図１８で、フィールド４０２のＲＤＫＣ１からの破線矢印が示すフィールドにおいて、取消し線にて変更されたことを示す）。【０１０３】
次に、ステップＳ１７３０で、論理装置割当て管理部３００は、ストレージシステム間のパス障害の影響を受ける論理ＣＵがあるかどうか判断する。ここで論理装置割当て管理部３００は、図５の仮想ストレージシステムの論理ＣＵ割当て情報を用いて、障害が発生したパスで接続された双方のストレージシステムに生成された論理ＣＵであるか否か判断する。フィールド５０３からフィールド５０５に、ＲＤＫＣ１とＲＤＫＣ２が格納されているエントリ５１３があるため、フィールド５０１とフィールド５０２に格納された情報から、ＶＤＫＣ２の論理ＣＵ番号２の論理ＣＵがパス障害の影響を受けると判断する。【０１０４】
ステップＳ１７３０で、論理装置割当て管理部３００は、影響を受ける論理ＣＵはない（Ｎｏ）と判断すると、処理を終了する。
一方、論理装置割当て管理部３００は、ステップＳ１７３０で、影響を受ける論理ＣＵがある（Ｙｅｓ）と判断すると、ステップＳ１７４０で、影響を受ける論理ＣＵがあるストレージシステムと直結し、かつパス障害の影響を受けないストレージシステムを選択する。図１８の例では、ＲＤＫＣ１と直結しているストレージシステムがＲＤＫＣ３とＲＤＫＣ４の２つであることがわかる。また、ＲＤＫＣ３とＲＤＫＣ４のどちらも、論理ＣＵ番号２の論理ＣＵが割当てられているＲＤＫＣ２にも直結していることがわかるため、論理ＣＵの移動先としてそれらが候補となる（図１８の実線矢印により、ＲＤＫＣ３が、ＲＤＫＣ１に直結されていること、および、ＲＤＫＣ２と直結していることを示す）。【０１０５】
次に、ステップＳ１７５０で、論理装置割当て管理部３００は、論理ＣＵ番号２の論理ＣＵの移動先ストレージシステムをストレージシステム間の帯域情報を用いて決める。例えば、論理装置割当て管理部３００は、ＲＤＫＣ１との帯域が高いＲＤＫＣ３に、ＲＤＫＣ１にある論理ＣＵ番号２の論理ＣＵを移動し、残るＲＤＫＣ４にＲＤＫＣ２にある論理ＣＵ番号２の論理ＣＵを移動するよう決める。【０１０６】
続いて、ステップＳ１７６０で、論理装置割当て管理部３００は、先のステップＳ１７５０で選択した移動先ストレージシステムに論理ＣＵの追加を要求する。ここで要求を受けた移動先ストレージシステムは、論理ＣＵ割当て処理プログラムＬＣＵＡＬＰ（図２）により論理ＣＵを追加する（図１１の処理）。【０１０７】
さらに、ステップＳ１７７０で、論理装置割当て管理部３００は、障害パスに接続しているストレージシステムに論理ＣＵの削除を要求する。ここで要求を受けた移動元ストレージシステムは、論理ＣＵを削除する。例えば、ＲＤＫＣ１は論理ＣＵ番号２の論理ＣＵを削除し、図６と図８でＶＤＫＣ２のエントリの論理ＣＵ番号が「２」のフィールドを、「２（ただし削除）」を表す情報に変更する。【０１０８】
次に、ステップＳ１７８０で、論理装置割当て管理部３００は、図５の仮想ストレージシステムの論理ＣＵ割当て情報を更新する。例えば、論理装置割当て管理部３００は、エントリ５１３のフィールド５０３からＲＤＫＣ１を削除し替わりにＲＤＫＣ３を格納し、エントリ５１３のフィールド５０４からＲＤＫＣ２を削除し替わりにＲＤＫＣ４を格納する。【０１０９】
以上により、パス障害の影響を受ける論理ＣＵを、ＧＤＥＶのあるストレージシステムに直結するストレージシステムに移動することができる。また、ＧＤＥＶを論理ＣＵの移動先ストレージシステムに移行することにより、さらに性能を向上することも可能である。【０１１０】
このようにして、実施例２によれば、ストレージシステム間のパス障害発生時に、仮想ストレージシステムの入出力性能を劣化させないように、論理ＣＵの割当てを変更することができる。
【実施例３】
【０１１１】
実施例３は、実施例１または後述する実施例４において、仮想ストレージシステムのボトルネックを検出し、ストレージシステムに割当て済みの論理ＣＵを別のストレージシステムに移動するための実施形態である。論理装置割当て管理部３００は、論理ＣＵ１１０の配置をストレージシステム１０の負荷に合わせて、仮想ストレージシステムを構成する複数のストレージシステム１０に論理ＣＵ１１０を割当てる。
図１９は、実施例３におけるリソース使用状態に合わせて論理ＣＵを移動する処理手順を示すフローチャートである。【０１１２】
まず、ステップＳ１９１０で、論理装置割当て管理部３００がリソース使用状態をチェックする仮想ストレージシステム１００を選択する。ここでは、図３の仮想ストレージシステムの構成情報のフィールド３０１に格納されている仮想ストレージシステム識別子ＶＤＫＣを選択する。【０１１３】
続いて、ステップＳ１９１５で、論理装置割当て管理部３００は、先のステップＳ１９１０で選択したＶＤＫＣを構成するストレージシステム１０から、ＶＤＫＣのリソース使用率を取得する。ここで論理装置割当て管理部３００は、図３の仮想ストレージシステムの構成情報のＶＤＫＣのエントリのフィールド３０２から３０５に格納されているストレージシステム１０から収集する。【０１１４】
次に、ステップＳ１９２０で、論理装置割当て管理部３００は、先のステップＳ１９１５で取得したリソース使用率を用いて、高負荷のリソースを検出する。続くステップＳ１９２１で、論理装置割当て管理部３００は、検出した負荷の高いリソースのうち、どの負荷を軽減するかを判断し決定する。例えば、論理ＣＵを割当てたＲＤＫＣ数が１つならば、ホスト計算機２０とストレージシステム１０の間のフロントエンドＩ／Ｆ１４の負荷を軽減することにする。一方、論理ＣＵを割当てたＲＤＫＣ数が２以上の場合には、ＲＤＫＣ数が最も多い論理ＣＵの、負荷が最も高いＲＤＫＣ間のデータ転送を減らすことにする。【０１１５】
その結果、次に、ステップＳ１９２５で、論理装置割当て管理部３００は、ホスト計算機２０とストレージシステム１０の間のフロントエンドＩ／Ｆ１４の負荷を軽減することにしたか否かを判断し、ホスト計算機２０とストレージシステム１０の間の負荷の軽減ではない（Ｎｏ）ならばステップＳ１９４５に進む。一方、論理装置割当て管理部３００は、ホスト計算機２０とストレージシステム１０の間の負荷の軽減である（Ｙｅｓ）と判断したならば、ステップＳ１９３０で、ストレージシステム１０に割当てた論理ＣＵ１１０を追加可能な別のストレージシステム１０（以下、「ＲＤＫＣ」と略す）を選択する。【０１１６】
ここでは、図３の仮想ストレージシステムの構成情報と、図５の仮想ストレージシステムの論理ＣＵ割当て情報を用いて、論理装置割当て管理部３００は、ＶＤＫＣに割当てられているＲＤＫＣのうち、論理ＣＵを割当てていないＲＤＫＣを選ぶ。該当するＲＤＫＣが複数ある場合には、図４のＲＤＫＣ間接続情報と図９のストレージシステムの構成情報を用いて選択する。選択基準は、ＲＤＫＣ間の帯域（図４）、および、プロセッサ性能２００３とキャッシュ容量２００４（図９）が十分であることである。【０１１７】
続いて、ステップＳ１９３５で、論理装置割当て管理部３００は、先のステップＳ１９３０で選択したＲＤＫＣに論理ＣＵの追加を要求する。この要求を受けたＲＤＫＣは、論理ＣＵ割当て処理プログラムＬＣＵＡＬＰ（図２）を処理して論理ＣＵを割当て（図１１の処理）、図６および図８の各情報に論理ＣＵを追加する。【０１１８】
次に、ステップＳ１９４０で、論理装置割当て管理部３００は、追加した論理ＣＵを割当てている別のＲＤＫＣに、先のステップＳ１９３５で論理ＣＵを追加したことを通知する。例えば、論理装置割当て管理部３００は、ＶＤＫＣ２の論理ＣＵ２をＲＤＫＣ３に追加した場合、元々論理ＣＵ２を割当てていたＲＤＫＣ１とＲＤＫＣ２に通知する。この通知を受けたＲＤＫＣは、図６および図８の各情報にエントリを追加し、フィールド６０１および８０１にＶＤＫＣを、フィールド６０２および８０２に論理ＣＵ番号を格納する。また、フィールド６０４に追加したＲＤＫＣの識別子を格納するが、追加したＲＤＫＣにＧＤＥＶが割当てられていないため、フィールド６０３および８０３、フィールド６０５および８０５、ならびにフィールド６０６および８０６は、空情報である。【０１１９】
続いて、ステップＳ１９４５で、論理装置割当て管理部３００は、ＲＤＫＣ間のフロントエンドＩ／Ｆ１４の負荷を軽減することにしたか否かを判断する。ここで、論理装置割当て管理部３００は、ＲＤＫＣ間の負荷の軽減でない（Ｎｏ）と判断すると、ステップＳ１９７５による後述する情報更新を経て処理を終了する。一方、論理装置割当て管理部３００は、ＲＤＫＣ間の負荷の軽減である（Ｙｅｓ）と判断した場合には、ステップＳ１９５０で、高負荷のフロントエンドＩ／Ｆ１４で接続されたＲＤＫＣの双方に割当てのある論理ＣＵ１２０があるか判断する。ここで論理装置割当て管理部３００は、図５の仮想ストレージシステムの論理ＣＵ割当て情報を用いて判断する。【０１２０】
論理装置割当て管理部３００は、ステップＳ１９５０で、双方のＲＤＫＣともに割当てられている論理ＣＵ１２０がない（Ｎｏ）と判断すれば、ステップＳ１９７５による後述する情報更新を経て処理を終了する。一方、論理装置割当て管理部３００は、ステップＳ１９５０で、双方に割当てられている論理ＣＵ１２０がある（Ｙｅｓ）と判断すれば、ステップＳ１９５５で、論理ＣＵを集約可能なＲＤＫＣを選択する。ここで論理装置割当て管理部３００は、高負荷のフロントエンドＩ／Ｆ１４で接続されたＲＤＫＣのうち、ホスト計算機２０とＲＤＫＣ間のフロントエンドＩ／Ｆ１４の負荷が高くなく、ＧＤＥＶ割当て容量の残量が多く、図９からプロセッサ性能やキャッシュ容量が十分であるＲＤＫＣを選択する。【０１２１】
続いて、ステップＳ１９６０で、論理装置割当て管理部３００は、先のステップＳ１９５５で条件に合うＲＤＫＣが選択できたかどうか判断する。ＲＤＫＣを選択できない（Ｎｏ）時には、論理ＣＵを集約しても性能向上の見込みがないため、論理装置割当て管理部３００は、ステップＳ１９７５による後述する情報更新を経て処理を終了する。一方、論理装置割当て管理部３００は、ＲＤＫＣを選択できた（Ｙｅｓ）時には、ステップＳ１９６５で、選択したＲＤＫＣに別ＲＤＫＣからのＧＤＥＶの移行を要求する。この要求を受けたＲＤＫＣは、移行してくるＧＤＥＶのデータを格納するＬＤＥＶを確保し、図６のフィールド６０４から６０６および図８のフィールド８０４の各情報を更新する。【０１２２】
次に、ステップＳ１９７０で、論理装置割当て管理部３００は、移行元ＲＤＫＣに、集約先ＲＤＫＣへの論理ＣＵとＧＤＥＶの移行を要求する。この要求を受けた移行元ＲＤＫＣは、ＧＤＥＶのデータを集約先ＲＤＫＣへコピーし、図６および図８の各情報から移行した論理ＣＵのエントリを削除する。【０１２３】
最後に、ステップＳ１９７５で、論理装置割当て管理部３００は、図５の仮想ストレージシステムの論理ＣＵ割当て情報を更新し、そして処理を終了する。ここで論理装置割当て管理部３００は、集約した論理ＣＵのエントリのフィールド５０３から５０５の中から、移行元ＲＤＫＣの情報を削除する。【０１２４】
以上のように、実施例３によれば、フロントエンドＩ／Ｆ１４の負荷に合わせて論理ＣＵとＧＤＥＶの割当てを変更し、仮想ストレージシステムの入出力性能を向上させることができる。
【実施例４】
【０１２５】
実施例４のストレージシステムは、実施例１の仮想ストレージシステム１００を構成するストレージシステム１０のストレージコントローラ１１が、データ通信ユニット１９を保持し、データ通信ユニット１９間でデータ転送を行うことにより、仮想ストレージシステム１００の入出力性能を向上させる実施形態である。また、実施例１に係る図１０〜図１５に示す各フローチャート、および、実施例２乃至実施例３に係る図１７と図１９に示す各フローチャートに基づく処理は、実施例４のストレージシステムにおいても実行されるものである。【０１２６】
図２１は、実施例４におけるデータ通信ユニット１９を有するストレージコントローラ１１の概略構成を示すブロック図である。
データ通信ユニット１９は、フロントエンドＩ／Ｆ１４に接続するローカルルータ１９０と、プロセッサ１２および他のストレージシステムと接続するスイッチ１９１と、バッファ１９２を備えて構成される。ローカルルータ１９０は、フロントエンドＩ／Ｆ１４とバッファ１９２の間のデータ転送、バッファ１９２とプロセッサ１２の間のデータ転送およびバッファ１９２と他のストレージシステム１０の間のデータ転送を制御する。 【０１２７】
バッファ１９２は、実施例１におけるストレージコントローラ１１のメモリ１３に格納されていた、論理パス生成要求を処理する論理パス生成プログラムＬＰＡＴＨＰおよびＧＤＥＶ１２０のアクセス要求を処理するＧＤＥＶ管理プログラムＧＤＥＶＰを保持する。【０１２８】
ローカルルータ１９０は、フロントエンドＩ／Ｆ１４から仮想ストレージシステム１００への論理パス生成要求を受けると、論理パス生成プログラムＬＰＡＴＨＰを実行して、論理パス生成対象の論理ＣＵ１１０が割当てられているかを判断し、割当てられていなければ論理パス生成不可を返答する。【０１２９】
また、ローカルルータ１９０は、フロントエンドＩ／Ｆ１４から仮想ストレージシステム１００への入出力要求を受けると、ＧＤＥＶ管理プログラムＧＤＥＶＰを実行して、アクセス先の論理ＣＵ１１０とＧＤＥＶ１２０の割当て先がＬＤＥＶか別ＲＤＫＣかを判断し、別ＲＤＫＣならばそのストレージコントローラ１１に入出力要求を転送する。【０１３０】
以上のように、実施例４によれば、論理パス生成要求およびＧＤＥＶ入出力要求をストレージコントローラ１１のプロセッサ１２に替わってローカルルータ１９０で処理するため、別ストレージシステムに割当てた論理ＣＵへのデータをデータ通信ユニット間で転送する。これにより、ストレージコントローラ１１のプロセッサ１２の負荷を減らすことができ、よって仮想ストレージシステムの性能を向上させることができる。
【符号の説明】
【０１３１】
１…計算機システム
１０…ストレージシステム
１１…ストレージコントローラ
１２…プロセッサ
１３、３３…メモリ
１４…フロントエンドＩ／Ｆ
１５…バックエンドＩ／Ｆ
１６…管理Ｉ／Ｆ
１７…記憶装置
１９…データ通信ユニット
２０…ホスト計算機
２１…チャネル
３０…管理サーバ
１００…仮想ストレージシステム
１１０…論理コントロールユニット（論理ＣＵ）
１２０…グローバルデバイス（ＧＤＥＶ）
１７０…論理デバイス（ＬＤＥＶ）
１９０…ローカルルータ
２００…装置定義情報
２１０…サブチャネル
２２０…チャネルパス識別子
２３０…パスグループ
３００…論理装置割当て管理部
【図１】
2015132973.tif 000003
【図２】
2015132973.tif 000004
【図３】
2015132973.tif 000005
【図４】
2015132973.tif 000006
【図５】
2015132973.tif 000007
【図６】
2015132973.tif 000008
【図７】
2015132973.tif 000009
【図８】
2015132973.tif 000010
【図９】
2015132973.tif 000011
【図１０】
2015132973.tif 000012
【図１１】
2015132973.tif 000013
【図１２】
2015132973.tif 000014
【図１３】
2015132973.tif 000015
【図１４】
2015132973.tif 000016
【図１５】
2015132973.tif 000017
【図１６】
2015132973.tif 000018
【図１７】
2015132973.tif 000019
【図１８】
2015132973.tif 000020
【図１９】
2015132973.tif 000021
【図２０】
2015132973.tif 000022
【図２１】
2015132973.tif 000023
【国際調査報告】
2015132973.tif 000024
2015132973.tif 000025
2015132973.tif 000026
2015132973.tif 000027