(57)【要約】【課題】論理ディスクを含む複数のストレージを有するストレージシステムにおいて、ストレージへの入出力性能を向上することができるストレージ管理装置を提供する。【解決手段】論理ディスクを含む複数のストレージを有するストレージシステムを管理するストレージ管理装置であって、複数のストレージに含まれる複数の論理ディスクからなるグループの構成の定義と、複数の論理ディスクとの接続経路の定義とを基に複数の論理ディスクとの接続経路の負荷評価を行う負荷評価手段と、負荷評価手段による負荷評価結果を基に複数のストレージに対して接続経路を変更する指示を出す接続経路変更手段とを含む接続経路最適化手段を備えるストレージ管理装置とする。【選択図】      図１
2015170330.tif 000002
【特許請求の範囲】
【請求項１】
論理ディスクを含む複数のストレージを有するストレージシステムを管理するストレージ管理装置であって、
前記複数のストレージに含まれる複数の前記論理ディスクからなるグループの構成の定義と、前記複数の論理ディスクとの接続経路の定義とを基に前記複数の論理ディスクとの接続経路の負荷評価を行う負荷評価手段と、
前記負荷評価手段による負荷評価結果を基に前記複数のストレージに対して前記接続経路を変更する指示を出す接続経路変更手段とを含む接続経路最適化手段を備えるストレージ管理装置。
【請求項２】
前記複数のストレージとの接続を仲介する複数のストレージ接続インタフェースを備え、
前記負荷評価手段は、
全ての前記接続経路に関して、前記ストレージ接続インタフェースの使用数の分散を第１の負荷評価値として求め、前記第１の負荷評価値が最も小さくなる接続経路が最適であると判定する請求項１に記載のストレージ管理装置。
【請求項３】
前記負荷評価手段は、
全ての接続経路に関して、前記複数のストレージのホスト接続ポートの使用数の分散を第２の負荷評価値として求め、前記第２の負荷評価値が最も小さくなる接続経路が最適であると判定する請求項１または２に記載のストレージ管理装置。
【請求項４】
前記複数の論理ディスクからなるグループの構成の定義を記載した論理ボリューム表と、前記複数の論理ディスクとの接続経路の定義を記載した接続経路管理表とを格納する記憶手段を備え、
前記負荷評価手段は、
前記記憶手段に格納された前記論理ボリューム表と前記接続経路管理表とを用いて前記第１および第２の負荷評価値を算出する請求項１乃至３のいずれか一項に記載のストレージ管理装置。
【請求項５】
前記複数の論理ディスクからストライピングを構成させ、前記ストライピングに対して入出力が発生した際に前記論理ボリューム表に従って前記複数の論理ディスクに並行して入出力を行うことを要求するストレージ管理手段と、
前記ストレージ管理手段からの入出力要求を受け取り、前記負荷評価手段の判定に基づいて選択された前記接続経路を介して入出力を行うことを要求する接続経路管理手段と、
前記接続経路管理手段からの入出力要求を受け取り、前記負荷評価手段の判定に基づいて選択された前記ストレージ制御インタフェースを介して前記ホスト接続ポートに対して入出力を行うストレージ制御手段と、
前記ストレージ制御インタフェースを含み、前記複数のストレージとの接続を仲介するストレージ接続手段とを備える請求項４に記載のストレージ管理装置。
【請求項６】
前記ストレージ接続手段は、
前記ストレージ接続インタフェースからアクセス可能な全ての前記論理ディスクとの接続経路において使用するデバイスファイルを作成し、作成した前記デバイスファイルを基に前記ストレージ接続インタフェースと前記ホスト接続ポートとを組み合わせたデバイスを記録するデバイス表を作成し、
前記ストレージ管理手段は、
前記ストライピングを構成させる際に、前記ストレージ接続手段によって作成されたデバイスファイルから前記論理ディスクに書き込まれた構成情報を読み取り、前記デバイスファイルの読み取り結果に基づいて前記ストライピングを構成する前記デバイスを認識して前記ストライピングを構成する論理ボリュームのデバイス名を記録する論理ボリューム表を作成し、
前記接続経路管理手段は、
前記ストレージ制御手段を介して全ての前記デバイスファイルに対してコマンドを発行し、前記コマンドの結果として取得した情報に基づいて前記デバイス表に記録された前記接続経路を構成する要素と前記接続経路が主系であるか否かを判断した結果とを記録する接続経路管理表を作成する請求項５に記載のストレージ管理装置。
【請求項７】
前記負荷評価手段は、
前記ストレージ管理手段から前記論理ボリューム表を取得し、前記接続経路管理手段に対して前記論理ボリューム表に含まれる前記デバイスファイルの構成を問い合わせて前記接続経路管理表を取得し、前記接続経路管理表に含まれる前記デバイスについて前記負荷評価を行う請求項６に記載のストレージ管理装置。
【請求項８】
少なくとも二つのコントローラが設けられた論理ディスクを含む複数のストレージと、
複数の前記論理ディスクからなるグループの構成の定義と、前記複数の論理ディスクとの接続経路の定義とを基に前記複数の論理ディスクとの接続経路の負荷評価を行う負荷評価手段と、
前記負荷評価手段による負荷評価結果を基に前記複数のストレージに対して前記接続経路を変更する指示を出す接続経路変更手段とを含む接続経路最適化手段を備えるストレージ管理装置と、
前記ストレージに備えられた少なくとも二つのコントローラと前記ストレージ管理装置との接続を切り替える切替手段とを備えるストレージシステム。
【請求項９】
論理ディスクを含む複数のストレージを持つストレージシステムのストレージ管理方法であって、
前記複数のストレージに含まれる複数の前記論理ディスクからなるグループの構成の定義と、前記複数の論理ディスクとの接続経路の定義とを基に前記複数の論理ディスクとの接続経路の負荷評価を行い、
前記負荷評価手段による負荷評価結果を基に前記複数のストレージに対して前記接続経路を変更する指示を出すストレージ管理方法。
【請求項１０】
論理ディスクを含む複数のストレージを持つストレージシステムのストレージ管理プログラムであって、
前記複数のストレージに含まれる複数の前記論理ディスクからなるグループの構成の定義と、前記複数の論理ディスクとの接続経路の定義とを基に前記複数の論理ディスクとの接続経路の負荷評価を行う処理と、
前記負荷評価手段による負荷評価結果を基に前記複数のストレージに対して前記接続経路を変更する指示を出す処理とをコンピュータに実行させるストレージ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージを管理するストレージ管理装置、ストレージシステム、ストレージ管理方法および制御プログラムに関する。特に、非対称なストレージをストライピングして使用するのに好適なストレージ管理装置、ストレージシステム、ストレージ管理方法および制御プログラムに関する。
【背景技術】
【０００２】
一般的なストレージシステムでは、冗長化のために、コントローラと呼ばれる制御部を複数実装する。そのため、ストレージシステムを構成するストレージの一つが障害により使用できなくなった場合であっても、別のコントローラから継続してアクセスすることができる。また、ストレージの障害に備えて、アクセスを行うコントローラを自動的に切り替えるマルチパス機能をホストに実装することも一般的である。
【０００３】
ストレージを構成する論理ディスクのキャッシュ制御などのようにコヒーレンシが要求される動作においては、論理ディスクごとに主系コントローラを設定している場合がある。論理ディスクごとに主系コントローラが設定されていると、主系以外のコントローラからのアクセスはストレージ装置内で主系コントローラに転送されてしまう。そのため、複数のコントローラを実装するストレージでは、ホストからのアクセスに際し、コントローラ間で性能差が発生することがある。
【０００４】
ＳＣＳＩ規格においては、上述のような非対称なストレージに対するアクセスを最適化するための規格が定められている（ＳＣＳＩ：Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）。ＡＬＵＡ規格が、ＳＣＳＩ規格において非対称なストレージに対するアクセスを最適化するための規格である（ＡＬＵＡ：Ａｓｙｍｍｅｔｒｉｃ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ａｃｃｅｓｓ）。ＡＬＵＡ規格においては、ホストから主系のコントローラを知ることが可能となっている。一般的なマルチパス機能の多くはＡＬＵＡ規格に対応しており、非対称なストレージに対しては主系のコントローラに対してアクセスを行うようになっている。
【０００５】
特許文献１には、ＳＡＳネットワークにおいてマルチパスを用いて負荷分散するシステムについて開示されている（ＳＡＳ：Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）。特許文献１のシステムは、ＳＡＳイニシエータ、２つのポートを有するＳＡＳターゲット、ＳＡＳイニシエータとＳＡＳターゲットとの間のパスを形成するＳＡＳエクスパンダとを含む。ＳＡＳエクスパンダは、ターゲットポート構成テーブル、各ホストにそれぞれのホスト固有の仮想的なＳＡＳトポロジを報告する機能、ターゲットポートのＳＡＳアドレスの変換によるパス制御機能といった機能を搭載する。さらに、パス制御機能は、ＳＳＰフレームを解析する機能、ＳＡＳトラフィックが均等になるように複数のパスにＳＳＰフレームをルーティングする機能を搭載する（ＳＳＰ：Ｓｅｒｉａｌ  ＳＣＳＩ  Ｐｒｏｔｏｃｏｌ）。
【０００６】
特許文献１のシステムによれば、ＳＡＳドメインにおいてマルチパスの制御をスイッチおよびストレージサブシステム側で吸収できるようになり、ＳＡＳエクスパンダによってＳＡＳトラフィックを複数のパスで均等に分散できるようになる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−７３９８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一般に、論理ディスクを含む複数のストレージを有するストレージシステムを管理する管理装置においては、特定のストレージ接続インタフェースに負荷集中が発生し、入出力性能が低下するという問題点があった。なぜならば、一般的な管理装置には、ストレージ構成に応じてストレージ側の主系コントローラを制御する機能がないためである。
【０００９】
また、非対称なストレージをストライピングして使用する場合も、論理ディスクの主系コントローラの設定によっては、ホストの特定のストレージインターフェースに負荷集中が発生し、入出力性能が低下するという問題点があった。なぜならば、非対称なストレージを管理するホスト側に、ストライピング構成に応じてストレージの主系コントローラを変更するような機能が存在していないためである。
【００１０】
また、特許文献１のシステムによれば、マルチパスを用いて負荷分散することによって特定のパスへの負荷集中を解決することができる。しかしながら、特許文献１のシステムであっても、非対称なストレージをストライピングして使用する場合には、ホストとストレージとの間の経路における負荷集中を解決することはできないという問題点がある。
【００１１】
本発明は、論理ディスクを含む複数のストレージを有するストレージシステムにおいて、ストレージへの入出力性能を向上することができるストレージ管理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のストレージ管理装置は、論理ディスクを含む複数のストレージを有するストレージシステムを管理するストレージ管理装置であって、複数のストレージに含まれる複数の論理ディスクからなるグループの構成の定義と、複数の論理ディスクとの接続経路の定義とを基に複数の論理ディスクとの接続経路の負荷評価を行う負荷評価手段と、負荷評価手段による負荷評価結果を基に複数のストレージに対して接続経路を変更する指示を出す接続経路変更手段とを含む接続経路最適化手段を備える。
【００１３】
本発明のストレージシステムは、少なくとも二つのコントローラが設けられた論理ディスクを含む複数のストレージと、複数の論理ディスクからなるグループの構成の定義と、複数の論理ディスクとの接続経路の定義とを基に複数の論理ディスクとの接続経路の負荷評価を行う負荷評価手段と、負荷評価手段による負荷評価結果を基に複数のストレージに対して接続経路を変更する指示を出す接続経路変更手段とを含む接続経路最適化手段を備えるストレージ管理装置と、ストレージに備えられた少なくとも二つのコントローラとストレージ管理装置との接続を切り替える切替手段とを備える。
【００１４】
本発明のストレージ管理方法は、論理ディスクを含む複数のストレージを持つストレージシステムのストレージ管理方法であって、複数のストレージに含まれる複数の論理ディスクからなるグループの構成の定義と、複数の論理ディスクとの接続経路の定義とを基に複数の論理ディスクとの接続経路の負荷評価を行い、負荷評価手段による負荷評価結果を基に複数のストレージに対して接続経路を変更する指示を出す。
【００１５】
本発明のストレージ管理プログラムは、論理ディスクを含む複数のストレージを持つストレージシステムのストレージ管理プログラムであって、複数のストレージに含まれる複数の論理ディスクからなるグループの構成の定義と、複数の論理ディスクとの接続経路の定義とを基に複数の論理ディスクとの接続経路の負荷評価を行う処理と、負荷評価手段による負荷評価結果を基に複数のストレージに対して接続経路を変更する指示を出す処理とをコンピュータに実行させる。
【発明の効果】
【００１６】
本発明によれば、論理ディスクとの接続経路の負荷に応じてストレージ側の主系コントローラを切り替えてストレージ接続インタフェースにかかる負荷を分散し、ストレージへの入出力性能を向上するストレージ管理装置を提供することが可能になる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態の概要に係るストレージシステムの構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るストレージシステムの構成を示すブロック図である。
【図３】本発明の第１の実施形態に係るストレージ管理装置で用いるデバイス表の一例である。
【図４】本発明の第１の実施形態に係るストレージ管理装置で用いるマルチパス管理表の一例である。
【図５】本発明の第１の実施形態に係るストレージ管理装置で用いる論理ボリューム表の一例である。
【図６】本発明の第１の実施形態に係るストレージ管理装置で用いる負荷評価表の一例である。
【図７】本発明の第１の実施形態に係るストレージシステムの動作を説明するためのフローチャートである。
【図８】本発明の第２の実施形態に係るストレージシステムの構成を示すブロック図である。
【図９】本発明の第２の実施形態に係るストレージ管理装置で用いるデバイス表の一例である。
【図１０】本発明の第２の実施形態に係るストレージ管理装置で用いるマルチパス管理表の一例である。
【図１１】本発明の第２の実施形態に係るストレージ管理装置で用いる論理ボリューム表の一例である。
【図１２】本発明の第２の実施形態に係るストレージシステムの動作を説明するためのフローチャートである。
【図１３】本発明の第２の実施形態に係るストレージ管理装置で用いる負荷合計表の一例である。
【図１４】本発明の第２の実施形態に係るストレージ管理装置で用いる負荷評価表の一例である。
【図１５】本発明の第２の実施形態に係るストレージ管理装置で用いる負荷評価表の一例である。
【発明を実施するための形態】
【００１８】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
【００１９】
（概要）
まず、図１を参照しながら本発明の実施形態の概要について説明する。本概要に係るストレージシステムは、ストレージシステムのホストとなるストレージ管理装置１と複数のストレージ２０−１〜ｎ（以下、ストレージ２０と記載）とが複数のスイッチ４０を介して接続された構成をもつ（ｎは２以上の自然数）。
【００２０】
本概要に係るストレージシステムを構成する複数のストレージ２０は、それぞれ少なくとも一つの論理ディスク２１を含む。複数の論理ディスク２１は、ストライピング８０を構成する。
【００２１】
なお、本説明においては、複数の論理ディスク２１をストライピング８０としてグループ化した例を示していくが、複数の論理ディスク２１をストライピングとは異なる手法でグループ化した場合にも本実施形態に係る手法を適用することができる。例えば、本実施形態に係るストレージシステムに、ストライピングとは異なるＲＡＩＤを適用してもよいし、任意のＲＡＩＤを組み合わせた構成を適用してもよい（ＲＡＩＤ：Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）。より広い表現で言うと、本実施形態に係るストレージシステムの管理方法は、複数の論理ディスク２１からなるグループに対して適応可能である。
【００２２】
各ストレージ２０には、少なくとも二つのコントローラ２２−１〜ｎおよび２３−１〜ｎ（以下、コントローラ２２および２３と記載）が設けられている。各コントローラ２２および２３には、ストレージ管理装置１と接続されるホスト接続ポート２２１−１〜ｎおよび２３１−１〜ｎ（以下、ホスト接続ポート２２１および２３１と記載）が少なくとも一つ設けられている。すなわち、各ストレージ２０は、複数のコントローラ２２および２３と、各コントローラ２２および２３に対応するホスト接続ポート２２１および２３１を有する。なお、図１において、各ストレージ２０には２つのコントローラ２２および２３が設置されている例を図示しているが、コントローラの数は３つ以上であってもよい。また、図１には、各コントローラに一つのホスト接続ポートが設置されている例を図示しているが、ホスト接続ポートの数は二つ以上であってもよい。
【００２３】
各スイッチ４０−１〜ｎ（以下、スイッチ４０と記載）は、各ストレージ２０がもつコントローラ２２および２３のそれぞれとストレージ管理装置１との接続を切り替える切替手段となる。すなわち、スイッチ４０とコントローラ２２および２３との接続を切り替えることによって、ストレージ管理装置１と論理ディスク２１との間の接続経路が切り替わる。
【００２４】
図１に示すように、本概要に係るストレージ管理装置１は、記憶手段２、接続経路最適化手段３、ストレージ管理手段４、接続経路管理手段５、ストレージ制御手段６およびストレージ接続手段７を備える。
【００２５】
記憶手段２は、デバイス表１０１、接続経路管理表１０２、論理ボリューム表１０３および負荷評価表１０５を格納する。
【００２６】
デバイス表１０１は、ストレージ管理装置１のストレージ接続インタフェースと各ストレージのホスト接続ポートとを組み合わせたデバイスを記録する。デバイス表１０１には、各ホスト接続ポートが接続する論理ディスクのＬＵＮも記録される（ＬＵＮ：Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）。なお、ＬＵＮは、ストレージ内の一意な識別番号である。接続経路管理表１０２は、デバイス表１０１に記録された各マルチパスデバイスの接続経路（以下、パス）を構成する論理ディスク、ストレージ接続インタフェース、ホスト接続ポート、コントローラを記録するテーブルである。接続経路管理表１０には、いずれのパスが主系であるのかを示す情報も記録される。論理ボリューム表１０３は、ストライピングを構成する論理ボリュームのデバイス名を記録するテーブルである。負荷評価表１０５は、論理ディスク２１ごとのコントローラの組み合わせについて、ストレージ接続インタフェース使用数とストレージ接続インタフェースの負荷評価値、ホスト接続ポート使用数とホスト接続ポートの負荷評価値を記録する。
【００２７】
接続経路最適化手段３は、負荷評価手段３１と接続経路変更手段３２とを含む。負荷評価手段３１は、論理ボリューム表１０３と接続経路管理表１０２とを基に、ストレージの主系コントローラを変更した場合の負荷評価を行う。なお、ストレージの主系コントローラを変更するということは、ストレージ管理装置１と論理ディスク２１との接続経路を変更することを意味している。本実施形態では、ストレージ管理装置１のストレージ接続インタフェースへの負荷が分散されるような接続経路が選択される。
【００２８】
負荷評価手段３１は、ストレージ管理装置１と複数の論理ディスク２０との接続経路の負荷評価を行う。負荷評価手段３１は、複数のストレージ２０に含まれる複数の論理ディスク２１のストライピング構成の定義と、ストレージ管理装置１と複数の論理ディスク２１との接続経路の定義とを基に、接続経路の負荷評価を行う。なお、負荷評価手段３１は、複数の論理ディスク２１のストライピング構成の定義を論理ボリューム表１０３から取得する。また、負荷評価手段３１は、ストレージ管理装置１と複数の論理ディスク２１との接続経路の定義を接続経路管理表１０２から取得する。
【００２９】
負荷評価手段３１は、全ての接続経路に関して、複数のストレージ２０との接続を仲介するストレージ接続インタフェース７０の使用数の分散を第１の負荷評価値として求める。また、負荷評価手段３１は、全ての接続経路に関して、複数のストレージ２０のホスト接続ポート２２１および２３１の使用数の分散を第２の負荷評価値として求める。そして、負荷評価手段３１は、第１の負荷評価値が最も小さくなる接続経路が最適であると判定する。第１の負荷評価値が最小となる接続経路が複数ある場合、負荷評価手段３１は、第２の負荷評価値が最小となる接続経路が最適であると判定する。なお、第２の負荷評価値も同じ場合、負荷評価手段３１は、第２の負荷評価値が最小となる任意の接続経路を最適であると判定して選択する。
【００３０】
接続経路変更手段３２は、負荷評価手段３１の負荷評価の結果を基に、ストレージに対して主系コントローラの変更を指示する。
【００３１】
ストレージ管理手段４は、複数の論理ディスク２１からストライピングを構成する機能をもつ。本概要においては、論理ディスク２１−１〜ｎがストライピング８０を構成する。ストライピング８０に対して入出力が発生すると、ストレージ管理手段４は、論理ボリューム表１０３に従い、複数の論理ディスクに並行して入出力を行うことを接続経路管理手段５に要求する。論理ディスク２１−１〜ｎには、ストライピング８０の一部であることを示す管理情報が書き込まれている。
【００３２】
ストレージ管理手段４は、ストライピング８０を構成する際に論理ディスク２０−１〜ｎに書き込まれた構成情報を、後述するストレージ制御手段６によって作成されたデバイスファイルから読み取る。ストレージ管理手段４は、デバイスファイルの読み取り結果に基づいて、ストライピング８０を構成するデバイスを認識し、論理ボリューム表１０３を作成する。
【００３３】
接続経路管理手段５は、ストレージ管理手段４から入出力要求を受け取ると、接続経路管理表１０２に従い、主系のパスを介して入出力を行うことをストレージ制御手段１６に要求する。また、接続経路管理手段５は、定期的に論理ディスク２０−１〜ｎへのアクセスを行い、障害の検出や主系コントローラ変更の検出を行う機能をもつ。
【００３４】
接続経路管理手段５は、ストレージ制御手段６を介して、全てのデバイスファイルに対してＳＣＳＩのＩＮＱＵＩＲＹコマンドおよびＲＥＰＯＲＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドを発行する。接続経路管理手段５は、ＩＮＱＵＩＲＹコマンドの結果として、各論理ディスクの各パスのシリアル番号とホスト接続ポートを取得する。また、接続経路管理手段５は、ＲＥＰＯＲＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドの結果として、各論理ディスク２１の主系コントローラと、主系コントローラが持つホスト接続ポートの情報を取得する。接続経路管理手段５は、取得した情報に基づいて各パスが主系であるかどうかを判断し、接続経路管理表１０２を作成する。また、接続経路管理手段５は、ストレージ管理装置１がマルチパス機能を介して論理ディスク２１にアクセスするためのデバイスファイルを作成する。
【００３５】
ストレージ制御手段６は、接続経路管理手段５から入出力要求を受け取ると、ストレージ制御インタフェース７を介し、ストレージ２０のホスト接続ポート２２１および２３１に対して入出力を行う。そして、ストレージ制御手段６は、ストレージ接続インタフェース７０からアクセス可能な全ての論理ディスク２１の全てのパスについて、ストレージ管理装置１からアクセスする際に使用するデバイスファイルを作成する。ストレージ制御手段６は、作成したデバイスファイルを基に、ストレージ接続インタフェース７０−１〜ｎと、ホスト接続ポート２２１−１〜ｎおよび２３１−１〜ｎとを組み合わせたデバイスを記録するデバイス表１０１を作成する。
【００３６】
ストレージ接続手段７は、複数のストレージ接続インタフェース７０−１〜ｎ（以下、ストレージインタフェース７と記載）を含む。ストレージ接続手段７は、スイッチ４０を介して、複数のストレージ２０とストレージ管理装置１との接続を仲介するインタフェースである。
【００３７】
以上のように、本発明の実施形態の概要に係るストレージシステムでは、図１のように、ストレージ管理装置１に接続経路最適化手段３を設ける。接続経路最適化手段３の負荷評価手段３１は、ストレージ管理手段４からストライピング構成を取得するとともに、接続経路管理手段５から各論理ディスクの主系コントローラとパスの情報を取得する。接続経路最適化手段３の負荷評価手段３２は、負荷評価手段３１が取得した情報を用いて、どの論理ディスク２１の主系コントローラを変更すればストライピングへのアクセスが最適化されるかを判断する。その結果、主系コントローラの変更が必要と判断された場合、接続経路最適化手段３の接続経路変更手段３２は、論理ディスク２１に対してＳＥＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドを発行し、主系コントローラを変更する。
【００３８】
以下においては、本発明の実施形態に係るストレージシステムについて、具体的な構成例を用いて説明する。
【００３９】
（第１の実施形態）
（構成）
本発明の第１の実施形態に係るストレージシステムについて図面を参照しながら説明する。なお、以下の説明において、同様の構成要素の末部にアルファベットを付して区別した符号に関しては、同様の構成要素をまとめて表現する際にはアルファベットを省略して記載することもある。
【００４０】
図２のように、本実施形態に係るストレージシステムは、ホスト１０、ストレージ２０Ａ、ストレージ２０Ｂ、スイッチ４０Ａ、スイッチ４０Ｂを備える。本実施形態に係るストレージシステムにおいて、ストレージ２０Ａおよび２０Ｂは、それぞれスイッチ４０Ａおよび４０Ｂを介してホスト１０と接続されている。なお、図２には、２つのストレージ２０がスイッチ４０を介してホストと接続された例を図示しているものの、ストレージ２０やスイッチ４０の数は２つ以上の任意の個数に設定できる。また、ストレージ２０やスイッチ４０の数の上限については、ストレージシステムの構成によって決定されるものであるため、本実施形態においては特に限定を加えない。
【００４１】
（ホスト）
ホスト１０は、主記憶１２、パス最適化機能１３、論理ボリュームマネージャ１４、マルチパス機能１５、ストレージ制御機能１６、ストレージ接続インタフェース１７Ａおよび１７Ｂとを有する。ホスト１０は、スイッチ４０Ａおよび４０Ｂを介してストレージ２０の管理や制御を行うストレージ管理装置に相当する。
【００４２】
記憶手段である主記憶１２は、デバイス表１２１、マルチパス管理表１２２、論理ボリューム表１２３および負荷評価表１２５を格納する記憶手段である。
【００４３】
デバイス表１２１は、ストレージ接続インタフェースとホスト接続ポートとを組み合わせたデバイスを記録する。デバイス表１２１は、デバイス表１０１に相当する。デバイス表１２１には、各ホスト接続ポートが接続する論理ディスクのＬＵＮも記録される。マルチパス管理表１２２は、デバイス表１２１に記録された各マルチパスデバイスのパスを構成する論理ディスク、ストレージ接続インタフェース、ホスト接続ポートおよびコントローラを記録するテーブルである。マルチパス管理表１２２は、接続経路管理表１０２に相当する。マルチパス管理表１２２には、いずれのパスが主系であるのかを示すフラグが設定される。論理ボリューム表１２３は、ストライピングを構成する論理ボリュームのデバイス名を記録するテーブルである。論理ボリューム表１２３は、論理ボリューム表１０３に相当する。負荷評価表１２５は、論理ディスクごとのコントローラの組み合わせについて、ストレージ接続インタフェース使用数とストレージ接続インタフェースの負荷評価値、ホスト接続ポート使用数とホスト接続ポートの負荷評価値を記録する。負荷評価表１２５は、負荷評価表１０５に相当する。
【００４４】
接続経路最適化手段であるパス最適化機能１３は、負荷評価機能１３１とパス変更機能１３２とを含む。
【００４５】
負荷評価手段である負荷評価機能１３１は、論理ボリューム表１２３とマルチパス管理表１２２とを基に、非対称なストレージの主系コントローラを変更した場合の負荷評価を行う機能をもつ。
【００４６】
接続経路変更手段であるパス変更機能１３２は、負荷評価機能１３１の負荷評価の結果を基に、非対称なストレージに対して主系コントローラの変更を指示する機能をもつ。
【００４７】
ストレージ管理手段である論理ボリュームマネージャ１４は、複数の論理ディスク装置からストライピングを構成する機能をもつ。本実施形態においては、論理ディスク２１Ａと論理ディスク２１Ｂとがストライピング８１を構成している。ストライピン８１に対して入出力が発生すると、論理ボリュームマネージャ１４は、論理ボリューム表１２３に従い、複数の論理ディスク２１に並行して入出力を行うことをマルチパス機能１５に要求する。論理ディスク２１Ａおよび論理ディスク２１Ｂには、ストライピング８１の一部であることを示す管理情報が書き込まれている。
【００４８】
接続経路管理手段であるマルチパス機能１５は、論理ボリュームマネージャ１４から入出力要求を受け取ると、マルチパス管理表１２２に従い、主系のパスを介して入出力を行うことをストレージ制御機能１６に要求する。
【００４９】
マルチパス機能１５は、パス監視機能１５１を含む。パス監視機能１５１は、定期的に論理ディスクへのアクセスを行い、障害の検出や主系コントローラ変更の検出を行う。
【００５０】
ストレージ管理手段であるストレージ制御機能１６は、マルチパス機能１５から入出力要求を受け取ると、ストレージ制御インタフェース１６またはストレージ制御インタフェース１７を介し、ストレージのホスト接続ポートに対して入出力を行う。そして、ストレージ制御機能１６は、ストレージ接続インタフェース１７Ａおよび１７Ｂからアクセス可能な全ての論理ディスク２１の全てのパスについて、ホスト１０からアクセスする際に使用するデバイスファイルを作成する。
【００５１】
ストレージ制御機能１６は、作成したデバイスファイルを基に、ストレージ接続インタフェースとホスト接続ポートとを組み合わせたデバイスを記録するデバイス表１２１を作成する。デバイス表１２１には、各ホスト接続ポートが接続する論理ディスクのＬＵＮも記録される。
【００５２】
ストレージ接続手段に含まれるストレージ接続インタフェース１７Ａおよび１７Ｂは、それぞれスイッチ４０Ａおよび４０Ｂを介して、ストレージ２０Ａおよび２０Ｂとホスト１０との接続を仲介するインタフェースである。
【００５３】
（ストレージ）
ストレージ２０Ａは、論理ディスク２１Ａ、コントローラ２２Ａ、コントローラ２３Ａを有する。
【００５４】
論理ディスク２１Ａは、ホスト１０がストレージ２０Ａの論理ディスクにアクセスするために使用するＬＵＮをもつ。本実施形態においては、論理ディスクのＬＵＮの値は０である。ストレージ２０Ａおよび３０Ａは、スイッチ４０Ａおよび４０Ｂを介してホスト１０によって管理・制御されるストレージである。
【００５５】
コントローラ２２Ａはホスト接続ポート２２１Ａを持ち、コントローラ２３Ａはホスト接続ポート２３１Ａを持つ。なお、本実施形態においては、初期設定における論理ディスク２１Ａの主系コントローラは２２とする。また、本実施形態において、コントローラとＡＬＵＡで定義されるＰＯＲＴ  ＧＲＯＵＰは一対一の対応を取るものとする。
【００５６】
ストレージ２０Ｂは、ストレージ２０Ａと同様の構成である。なお、初期設定における論理ディスク２１Ｂの主系コントローラは３２とする。
【００５７】
（スイッチ）
スイッチ４０Ａはホスト１０とストレージ２０Ａとの接続に使用され、スイッチ４０Ｂはホスト１０とストレージ２０Ｂとの接続に使用される。スイッチ４０Ａは、ホスト１０のストレージ接続インタフェース１７Ａと、ストレージ２０Ａのホスト接続ポート２２１Ａおよびストレージ２０Ｂのホスト接続ポート２２１Ｂとに接続される。スイッチ４０Ｂは、ホスト１０のストレージ接続インタフェース１７Ｂと、ストレージ２０Ａのホスト接続ポート２３１Ａおよびストレージ２０Ｂのホスト接続ポート２３１Ｂとに接続される。
【００５８】
（動作）
次に、本実施形態に係るストレージシステムの動作について図面を参照しながら説明する。
【００５９】
まず、ホスト１０が起動すると、ストレージ制御機能１６は、ストレージ接続インタフェース１７Ａおよび１７Ｂからアクセス可能な全ての論理ディスク２１の全てのパスについて、ホスト１０からアクセスする際に使用するデバイスファイルを作成する。
【００６０】
ストレージ制御機能１６は、作成したデバイスファイルを基に、図３のようなデバイス表１２１を作成する。図３には、ホスト１０において、デバイスファイルとして１５１、１５２、１５３および１５４という４つのデバイスが作成される例を示す。
【００６１】
次に、マルチパス機能１５は、ストレージ制御機能１６を介して、全てのデバイスファイルに対してＳＣＳＩのＩＮＱＵＩＲＹコマンドおよびＲＥＰＯＲＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドを発行する。
【００６２】
マルチパス機能１５は、ＩＮＱＵＩＲＹコマンドの結果として、各論理ディスクの各パスのシリアル番号とホスト接続ポートを取得する。
【００６３】
マルチパス機能１５は、シリアル番号が同一であるディスク装置を同一の論理ディスク２１として扱う。また、ＲＥＰＯＲＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドの結果として、各論理ディスク２１の主系コントローラと、主系コントローラが持つホスト接続ポートの情報を取得する。
【００６４】
マルチパス機能１５は、取得した情報に基づいて各パスが主系であるかどうかを判断し、図４のようなマルチパス管理表１２２を作成する。また、マルチパス機能１５は、ホスト１０がマルチパス機能を介して論理ディスクにアクセスするためのデバイスファイルを作成する。本実施形態では、図４に示す通り、デバイスファイル１４２および１４３が作成される。
【００６５】
次に、論理ボリュームマネージャ１４は、ストライピング８１を構成する際に論理ディスク２１Ａおよび論理ディスク２１Ｂに書き込まれた構成情報を、デバイスファイル１４２および１４３から読み取る。デバイスファイル１４２および１４３の読み取り結果に基づいて、論理ボリュームマネージャ１４は、ストライピング８１を構成するデバイスとしてデバイスファイル１４２および１４３を認識し、図５のような論理ボリューム表１２３を作成する。
【００６６】
以上のストレージ制御機能１６、マルチパス機能１５および論理ボリュームマネージャ１４の動作が完了した後、パス最適化機能１３は、パスの最適化を開始する。パス最適化機能１３のパス最適化に関する動作については、図７のフローチャートに沿って説明する。
【００６７】
（パス最適化）
パス最適化機能１３の負荷評価機能１３１は、論理ボリュームマネージャ１４に対してホスト１０のストライピング構成を問い合わせる（ステップＳ１１）。ステップＳ１１において、パス最適化機能１３は論理ボリューム表１２３を取得する。
【００６８】
次に、負荷評価機能１３１は、マルチパス機能１５に対して、論理ボリューム表１２３に含まれるデバイスファイル１４２および１４３の構成を問い合わせる（ステップＳ１２）。ステップＳ１２において、パス最適化機能１３はマルチパス管理表１２２を取得する。
【００６９】
次に、負荷評価機能１３１は、ストライピング８１を構成する各論理ディスク２１について、主系コントローラが変更された場合の負荷評価を行う（ステップＳ１３）。
【００７０】
本実施形態では、各論理ディスク２１に関して、主系コントローラが２パターンずつ評価されることになる。論理ディスク２１Ａに関しては、主系コントローラがコントローラ２２Ａまたは２３Ａの場合の２パターン存在する。論理ディスク２１Ｂに関しては、主系コントローラがコントローラ３２Ｂまたは３３Ｂの場合の２パターン存在する。そのため、負荷評価機能１３１は、それぞれの論理ディスク２１Ａおよび２１Ｂに関する主系コントローラの組み合わせとなる４パターンについて負荷評価を行う。
【００７１】
ここで、負荷評価の例として、論理ディスク２１Ａの主系コントローラがコントローラ２２Ａであり、論理ディスク２１Ｂの主系コントローラがコントローラ２２Ｂである場合について説明する。
【００７２】
まず、論理ディスク２１Ａに関して、図４のマルチパス管理表１２２を参照すると、コントローラ２２Ａが主系の場合に使用されるのは、ストレージ接続インタフェース１７Ａおよびホスト接続ポート２２１Ａであることがわかる。そのため、負荷評価機能１３１は、ストレージ接続インタフェース１７Ａおよびホスト接続ポート２２１Ａの使用数を１増加させる。次に、論理ディスク２１Ｂに関して、図４のマルチパス管理表１２２を参照すると、コントローラ２２Ｂが主系の場合に使用されるのは、ストレージ接続インタフェース１７Ａおよびホスト接続ポート２２１Ｂであることがわかる。そのため、負荷評価機能１３１は、ストレージ接続インタフェース１７Ａおよびホスト接続ポート２２１Ｂの使用数を１増加させる。
【００７３】
そして、負荷評価機能１３１は、ストレージ接続インタフェースの使用数の分散σ2と、ホスト接続ポートの使用数の分散σ2を負荷分散の評価値（負荷評価値）として求める。負荷評価機能１３１は、主系コントローラが変更された場合の全パターンに対して負荷評価値を求める処理を実施し、図６に示すような負荷評価表１２５を得る（ステップＳ１４）。
【００７４】
なお、本実施形態においては、各論理ディスク２１へのアクセスに使用されるパスが１本のみのため、主系コントローラを変更した際に使用数を１増加させた。例えば、コントローラが複数のホスト接続ポートを持つ場合のように使用可能なパスが複数存在する場合は、使用数を（１／パス数）だけ増加させればよい。
【００７５】
次に、負荷評価機能１３１は、作成した負荷評価表１２５について、ストレージ接続インタフェース１７の負荷評価値が最も低いものを最適な構成とする（ステップＳ１５）。なお、同じ負荷評価値の構成が複数存在する場合は、ホスト接続ポート２２１および２３１の負荷評価値が最も低いものを最適な構成とする。また、ホスト接続ポート２２１および２３１の負荷評価値も同じ場合は、構成の１つを任意に選択する。本実施形態では、コントローラ２２Ａおよびコントローラ２３Ｂが主系の場合と、コントローラ２３Ａおよびコントローラ２２Ｂが主系の場合とにおいて、最も負荷評価値が低くなる。そのため、コントローラ２２Ａおよびコントローラ２３Ｂを主系とすることが最適な構成として選択されることになる。
【００７６】
次に、パス最適化機能１３のパス変更機能１３２は、ストライピング８１を構成する各論理ディスク２１について（ステップＳ１６）、マルチパス管理表１２２と、最適な構成として選択された構成の負荷評価表１２５とを比較する（ステップＳ１７）。
【００７７】
そして、現在の主系の主系設定と最適な構成設定とが異なる場合（ステップＳ１７でＮｏ）、パス変更機能１３２は、コントローラ変更が必要な論理ディスクのデバイスファイルに対してコマンドを発行し、主系の変更を指示する（ステップＳ１８）。パス変更機能１３２によって発行されるコマンドは、ＳＥＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドである。パス変更機能１３２からＳＥＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドが発行されると、論理ディスクの主系コントローラが変更される。
【００７８】
なお、現在の主系の主系設定と最適な構成設定とが同一である場合（ステップＳ１７でＹｅｓ）、パス変更機能１３２は、主系の変更は行わない。
【００７９】
本実施形態では、論理ディスク２１Ａの主系コントローラの変更は不要であり、論理ディスク２１Ｂの主系コントローラの変更が必要である。そのため、パス変更機能１３２は、論理ディスク２１Ｂのデバイスファイル１４３に対してＳＥＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドを発行し、論理ディスク２１Ｂの主系コントローラをコントローラ２３Ｂに変更する。
【００８０】
最後に、マルチパス機能１５のパス監視機能１５１は、論理ディスク２１Ｂの主系コントローラがコントローラ２３Ｂに変更されたことを認識し、図４のマルチパス管理表１２２を更新する。
【００８１】
この結果、以降のデバイスファイル１４３に対する入出力は、ストレージ接続インタフェース１７Ａではなく、ストレージ接続インタフェース１７Ｂが使用されるようになる。そのため、ストライピング８１への入出力は、２つのストレージ接続インタフェースで負荷が分散され、最適な入出力を行うことが可能となる。
【００８２】
以上のように、本発明の第１の実施形態に係るストレージシステムでは、図２のように、パス最適化機能１３をホスト１０に設ける。パス最適化機能１３の負荷評価機能１３１は、論理ボリュームマネージャ１４からストライピング構成を取得するとともに、マルチパス機能１５から各論理ディスクの主系コントローラとパスの情報を取得する。負荷評価機能１３１は、取得した情報を用いて、どの論理ディスクの主系コントローラを変更すればストライピングへのアクセスが最適化されるかを判断する。その結果、主系コントローラの変更が必要と判断された場合、パス変更機能１３２が論理ディスクに対してＳＥＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドを発行し、主系コントローラを変更する。
【００８３】
（効果）
本発明の第１の実施形態に係るストレージシステムによれば、複数の非対称な論理ディスクをストライピングして使用する場合において、負荷分散を行うことによりストライピングへの入出力性能を向上することが可能となる。なぜならば、ストレージ管理装置であるホスト１０のパス最適化機能１３が、ストライピング構成に応じてストレージの主系コントローラを切り替えるためである。
【００８４】
すなわち、本実施形態のストレージ管理装置によれば、論理ディスクとの接続経路の負荷に応じてストレージ側の主系コントローラを切り替えてストレージ接続インタフェースにかかる負荷を分散し、ストレージへの入出力性能を向上することができる。そのため、１つのホストから複数の非対称なストレージを使用する構成とし、これらの複数の非対称なストレージでストライピングを構成した場合であっても、ストレージに対して最適なアクセスを行うことが可能となる。
【００８５】
（変形例）
第１の実施形態では、論理ボリュームマネージャ１４がストライピングを構成している例を示した。本発明の手法は、ストライピングと同様に、複数の論理ディスクに並列に入出力が行われるミラーリングが論理ディスクに構成されている場合でも実施可能である。また、本発明の手法は。ソフトウェアＲＡＩＤが論理ディスクに構成されている場合でも実施可能である。
【００８６】
第１の実施形態では、負荷評価の対象をストレージ接続インタフェースおよびホスト接続インタフェースの使用数のみとしたが、さらにコントローラの使用数も負荷評価の対象とするように拡張することも可能となる。コントローラの使用数の分散を負荷評価値（第３の負荷評価値）とする場合も、負荷評価値が最小となる接続経路が最適であると判定される。
【００８７】
第１の実施形態では、ホストを１台のみとしたが、冗長構成のため複数のホストで高可用性クラスタ（以下、ＨＡクラスタ）を構成してもよい（ＨＡ：Ｈｉｇｈ  Ａｖａｌａｂｉｒｉｔｙ）。一方のホストが障害となった場合にストライピングを他方のホストで引き継ぐような構成でも実施可能である。なお、ホストを引き継ぐ構成とする場合、負荷評価機能１１が動作するタイミングは、ホストの起動時ではなく、ＨＡクラスタの機能によりそのホストでストライピングが引き継がれるタイミングとする。また、負荷評価機能１３１が論理ボリュームマネージャ１４から構成を取得する際、そのホストで実際に使用されるストライピングのみを対象とし、ＨＡクラスタの他方のホストで使用されるストライピングは対象としない。
【００８８】
第１の実施形態では、ストライピングは１つのみとしたが、ストライピングが複数の場合にも本発明の手法を適用することができる。なお、ストライピングが複数の場合については、以下の第２の実施形態において詳細に説明する。
【００８９】
（第２の実施形態）
次に、本発明の第２の実施形態に係るストレージシステムについて図面を参照しながら説明する。第１の実施形態では、ホストとストレージの接続を１段のスイッチとした。第２の実施形態では、複数のスイッチで構成されるＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）についても本発明の手法を適用できることを示す。
【００９０】
（構成）
第２の実施形態に係るストレージシステムの構成図を図８に示す。なお、第２の実施形態に係るストレージシステムにおいて、ホスト１０の構成は第１の実施形態と同様であるが、動作には異なる点がある。また、第２の実施形態に係るストレージシステムの主記憶１２には、負荷合計表２２４が格納される。図８には、ホスト１の一部（ストレージ接続インターフェース１７）のみを図示しており、大部分は省略して図示している。。
【００９１】
図８において、ストレージ２００Ａは、論理ディスク２１１Ａおよび論理ディスク２１２Ａを持つ。論理ディスク２１１ＡはＬＵＮ０であり、論理ディスク２１２ＡはＬＵＮ１である。同様に、ストレージ２００Ｂは、論理ディスク２１１Ｂと論理ディスク２１２Ｂを持つ。論理ディスク２１１ＢはＬＵＮ０であり、論理ディスク２１２ＢはＬＵＮ１である。論理ディスク２１１Ａと論理ディスク２１１Ｂとによってストライピング８２が構成され、論理ディスク２１２Ａと論理ディスク２１２Ｂとによってストライピング８３が構成されている。
【００９２】
また、図８の構成におけるデバイス表２２１を図９、マルチパス管理表２２２を図１０、論理ボリューム表２２３を図１１に示す。
【００９３】
図８の構成において、第１の実施形態の手法をストライピング８２とストライピング８３に対して独立に適用すると、図１０の論理ボリューム表２２３のようにデバイス１５１、１５２、１５７および１５８が主系に設定される可能性がある。この場合、ストライピング単体としては適切な負荷分散が行われるが、ストライピング８２およびストライピング８３に同時に入出力が行われた場合、コントローラ２２Ａおよび２３Ｂに負荷が集中することになる。そのため、高速な入出力を行うことができない。
【００９４】
（動作）
図８に示す第２の実施形態に係るストレージシステムのパス最適化機能１３の動作を、図１２のフローチャートを用いて説明する。なお、本実施形態においては、パス最適化機能１３以外の構成要素の動作は第１の実施形態と同様であるため、説明は省略する。
【００９５】
図１２において、まず、負荷評価機能１３１は、マルチパス管理表２２２および論理ボリューム表２２３を取得する（ステップＳ２１、Ｓ２２）。
【００９６】
次に、負荷評価機能１３１は、全てのストライピング（８２、８３）について負荷評価を実施する（ステップＳ２３）。
【００９７】
ステップＳ２３において、負荷評価機能１３１は、最初に、ストライピング８２について第１の実施形態と同様の手順で負荷評価を実施し（ステップＳ２４およびＳ２５）、最善の主系設定を選択する（ステップＳ２７）。
【００９８】
また、負荷評価機能１３１は、選択した最善の主系設定を主記憶１２に負荷合計表２２４（図１３）として保存する（ステップＳ２８）。
【００９９】
負荷合計表２２４には、図１３に示す通り、各ストレージ接続インタフェース１７と各ホスト接続ポート２２１および２３１の使用数が保存される。本実施形態では、ストライピング８２のパス最適化の結果、論理ディスク２１１Ａについてコントローラ２２Ａが主系として選択され、論理ディスク２１１Ｂについてコントローラ２３Ｂが主系として選択されたものとする。
【０１００】
同様に、負荷評価機能１３１は、ストライピング８３について、負荷評価を実施した場合の負荷評価表２２５（図１４）と、負荷合計表２２４を加算して負荷評価を実施した場合の負荷評価表２２６（図１５）を作成する（ステップＳ２４〜Ｓ２６）。
【０１０１】
負荷評価機能１３１は、ストライピング８３単体で負荷評価を実施した結果、同じ評価となるパスが複数存在した場合、さらに負荷合計表２２４を加算した負荷評価表を参照し、負荷評価が最善となる設定を最善の主系設定として選択する（ステップＳ２７）。
【０１０２】
本実施形態の場合、図１４を参照すると、負荷評価値が同じ組み合わせが２つある。一つは、「論理ディスク２１２Ａの主系がコントローラ２２Ａ、論理ディスク２１２Ｂの主系がコントローラ２３Ｂ」の組み合わせである。もう一つは、「論理ディスク２１２Ａの主系がコントローラ２３Ａ、論理ディスク２１２Ｂの主系がコントローラ２２Ｂ」の組み合わせである。
【０１０３】
そこで、さらに図１５を参照すると、２つの組み合わせのうち、「論理ディスク２１２Ａの主系がコントローラ２３Ａ、論理ディスク２１２Ｂの主系がコントローラ２２Ｂ」の組み合わせの方の負荷評価値が良いことがわかる。そのため、負荷評価機能１３１は、「論理ディスク２１２Ａの主系がコントローラ２３Ａ、論理ディスク２１２Ｂの主系がコントローラ２２Ｂ」の組み合わせを最善な主系設定として選択する。
【０１０４】
次に、負荷評価機能１３１は、ストライピング３１２の最善な主系設定の結果を、負荷合計表２２４に加算する（ステップＳ２８）。負荷評価機能１３１は、この処理を全てのストライピングについて繰り返す。
【０１０５】
最後に、パス変更機能１３２は、前述の実施例と同様に、各論理ディスクの主系コントローラの変更を指示する（ステップＳ２９〜Ｓ３１）。
【０１０６】
以上が、本発明の第２の実施形態に係るストレージシステムの動作に関する説明である。なお、図８には各ストレージ２００に２つずつ論理ディスク２１が設けられた例を示したが、本実施形態に係る手法は、３つ以上の論理ディスク２１が設けられたストレージシステムについても適用可能である。また、本実施形態に係る手法は、複数の論理ディスク２１をストライピングした場合に限らず、複数の論理ディスク２１が任意のＲＡＩＤ構成でストレージ化された場合にも適用することができる。
【０１０７】
以上のように、本発明の第２の実施形態によれば、第１の実施形態と同じ効果を複数のストライピングからなるストレージシステムにも適用することが可能となる。
【０１０８】
（関連技術）
ここで、背景技術で示した関連技術における問題点について改めて説明する。
【０１０９】
関連技術でも、単体の論理ディスクに対するアクセスを最適に行うことは可能である。しかしながら、図２のように、ホスト１０が論理ボリュームマネージャ１４を使用して複数の論理ディスク２１でストライピングを構成している場合、パスの競合により最適なアクセスを行うことができない。
【０１１０】
ここで、図２において、論理ディスク２１Ａの主系コントローラがコントローラ２２Ａであり、論理ディスク２１Ｂの主系コントローラがコントローラ２２Ｂであったとする。また、論理ディスク２１Ａと論理ディスク２１Ｂは論理ボリュームマネージャ１４によりストライピング８２が構成されているものとする。
【０１１１】
このとき、論理ディスク２１Ａにアクセスするパスは、ストレージ接続インタフェース１７Ａとコントローラ２２との間のパスと、ストレージ接続インタフェース１７Ｂとコントローラ２３Ａとの間のパスが存在する。しかしながら、論理ディスク２１Ａの主系コントローラはコントローラ２２Ａであるため、マルチパス機能１５によりストレージ接続インタフェース１７Ａを使用するパスが選択される。同様に、論理ディスク２１Ｂにアクセスするパスとして、ストレージ接続インタフェース１７Ａを使用するパスが選択される。
【０１１２】
ストライピングに対する入出力が行われると、ストライピングを構成する論理ディスクに対して並列して同時に入出力が行われることになる。このため、関連技術では、ストライピング８２への入出力が行われると、入出力はストレージ接続インタフェース１７Ａに集中してしまい、性能が低下する。
【０１１３】
そこで、本発明の実施形態のように、論理ディスク２１Ｂに対してＡＬＵＡで定義されるＳＥＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドを発行し、論理ディスク２１Ｂの主系をコントローラ２３Ｂに変更すれば関連技術の問題点は解決される。論理ディスク２１Ｂの主系をコントローラ２３Ｂに変更すると、マルチパス機能１５によって、論理ディスク２１Ｂにアクセスするパスとしてストレージ接続インタフェース１７Ｂとコントローラ２３Ｂのパスが選択される。その結果、ストライピングへのアクセスは、ストレージ接続インタフェース１７Ａとストレージ接続インタフェース１７Ｂに分散される。
【０１１４】
ところが、関連技術では、ストライピング構成に応じてＳＥＴ  ＴＡＲＧＥＴ  ＰＯＲＴ  ＧＲＯＵＰＳコマンドを発行するような機能は存在しなかった。そのため、関連技術では、ストライピングを構成した場合に、非対称なストレージに対して最適なアクセスを行うことができなかったのである。
【０１１５】
以上の本発明の実施形態に係るストレージシステムは、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよいし、ハードウェアとソフトウェアとを組み合わせて実現してもよい。また、本発明の実施形態に係るストレージシステムは、コンピュータやサーバなどの情報処理装置、情報処理装置と複数のストレージとを含むストレージシステムとして実現することができる。また、本実施形態に係る手法を用いて複数のストレージを管理するストレージ管理方法も本発明に含まれる。さらに、本発明の実施形態に係るストレージ管理方法をコンピュータやサーバなどの情報処理装置に実行させるストレージ管理プログラムも本発明の範囲に含まれる。そして、本発明の実施形態に係るストレージ管理プログラムを格納した電子的、磁気的、光学的および電磁的な性質を応用した記憶媒体や半導体記憶媒体などのプログラム記憶媒体も本発明の範囲に含まれる。なお、本発明の実施形態に係るストレージ管理プログラムは、ネットワークを通じて取得されるものも含まれ、本実施形態に係るストレージ管理プログラムを格納するサーバシステムなどの記憶装置も本実施形態に係るプログラム記憶媒体範囲に含まれる。
【０１１６】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
〔付記〕
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
論理ディスクを含む複数のストレージを有するストレージシステムを管理するストレージ管理装置であって、
前記複数のストレージに含まれる複数の前記論理ディスクからなるグループの構成の定義と、前記複数の論理ディスクとの接続経路の定義とを基に前記複数の論理ディスクとの接続経路の負荷評価を行う負荷評価手段と、
前記負荷評価手段による負荷評価結果を基に前記複数のストレージに対して前記接続経路を変更する指示を出す接続経路変更手段とを含む接続経路最適化手段を備えるストレージ管理装置。
（付記２）
前記複数のストレージとの接続を仲介する複数のストレージ接続インタフェースを備え、
前記負荷評価手段は、
全ての前記接続経路に関して、前記ストレージ接続インタフェースの使用数の分散を第１の負荷評価値として求め、前記第１の負荷評価値が最も小さくなる接続経路が最適であると判定する付記１に記載のストレージ管理装置。
（付記３）
前記負荷評価手段は、
全ての接続経路に関して、前記複数のストレージのホスト接続ポートの使用数の分散を第２の負荷評価値として求め、前記第２の負荷評価値が最も小さくなる接続経路が最適であると判定する付記１または２に記載のストレージ管理装置。
（付記４）
前記複数の論理ディスクからなるグループの構成の定義を記載した論理ボリューム表と、前記複数の論理ディスクとの接続経路の定義を記載した接続経路管理表とを格納する記憶手段を備え、
前記負荷評価手段は、
前記記憶手段に格納された前記論理ボリューム表と前記接続経路管理表とを用いて前記第１および第２の負荷評価値を算出する付記１乃至３のいずれか一項に記載のストレージ管理装置。
（付記５）
前記複数の論理ディスクからストライピングを構成させ、前記ストライピングに対して入出力が発生した際に前記論理ボリューム表に従って前記複数の論理ディスクに並行して入出力を行うことを要求するストレージ管理手段と、
前記ストレージ管理手段からの入出力要求を受け取り、前記負荷評価手段の判定に基づいて選択された前記接続経路を介して入出力を行うことを要求する接続経路管理手段と、
前記接続経路管理手段からの入出力要求を受け取り、前記負荷評価手段の判定に基づいて選択された前記ストレージ制御インタフェースを介して前記ホスト接続ポートに対して入出力を行うストレージ制御手段と、
前記ストレージ制御インタフェースを含み、前記複数のストレージとの接続を仲介するストレージ接続手段とを備える付記４に記載のストレージ管理装置。
（付記６）
前記ストレージ接続手段は、
前記ストレージ接続インタフェースからアクセス可能な全ての前記論理ディスクとの接続経路において使用するデバイスファイルを作成し、作成した前記デバイスファイルを基に前記ストレージ接続インタフェースと前記ホスト接続ポートとを組み合わせたデバイスを記録するデバイス表を作成し、
前記ストレージ管理手段は、
前記ストライピングを構成させる際に、前記ストレージ接続手段によって作成されたデバイスファイルから前記論理ディスクに書き込まれた構成情報を読み取り、前記デバイスファイルの読み取り結果に基づいて前記ストライピングを構成する前記デバイスを認識して前記ストライピングを構成する論理ボリュームのデバイス名を記録する論理ボリューム表を作成し、
前記接続経路管理手段は、
前記ストレージ制御手段を介して全ての前記デバイスファイルに対してコマンドを発行し、前記コマンドの結果として取得した情報に基づいて前記デバイス表に記録された前記接続経路を構成する要素と前記接続経路が主系であるか否かを判断した結果とを記録する接続経路管理表を作成する付記５に記載のストレージ管理装置。
（付記７）
前記負荷評価手段は、
前記ストレージ管理手段から前記論理ボリューム表を取得し、前記接続経路管理手段に対して前記論理ボリューム表に含まれる前記デバイスファイルの構成を問い合わせて前記接続経路管理表を取得し、前記接続経路管理表に含まれる前記デバイスについて前記負荷評価を行う付記６に記載のストレージ管理装置。
（付記８）
前記複数の論理ディスクからなるグループにＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）を適用する付記１乃至４に記載のストレージ管理装置。
（付記９）
前記複数の論理ディスクからなるグループにストライピングを適用する付記１乃至４に記載のストレージ管理装置。
（付記１０）
前記複数の論理ディスクからなるグループにミラーリングを適用する付記１乃至４に記載のストレージ管理装置。
（付記１１）
前記負荷評価手段は、
全ての接続経路に関して、前記複数のストレージのコントローラの使用数の分散を第３の負荷評価値として求め、前記第３の負荷評価値が最も小さくなる接続経路が最適であると判定する付記１または２に記載のストレージ管理装置。
（付記１２）
少なくとも二つのコントローラが設けられた論理ディスクを含む複数のストレージと、
複数の前記論理ディスクからなるグループの構成の定義と、前記複数の論理ディスクとの接続経路の定義とを基に前記複数の論理ディスクとの接続経路の負荷評価を行う負荷評価手段と、
前記負荷評価手段による負荷評価結果を基に前記複数のストレージに対して前記接続経路を変更する指示を出す接続経路変更手段とを含む接続経路最適化手段を備えるストレージ管理装置と、
前記ストレージに備えられた少なくとも二つのコントローラと前記ストレージ管理装置との接続を切り替える切替手段とを備えるストレージシステム。
（付記１３）
前記ストレージ管理装置を複数備え、前記複数のストレージ管理装置によって高可用性クラスタを構成する付記１２に記載のストレージシステム。
（付記１４）
前記負荷評価手段は、いずれかの前記複数のストレージ管理装置が管理する前記グループの管理を他の前記ストレージ管理装置で引き継ぐタイミングにおいて動作する付記１３に記載のストレージシステム。
（付記１５）
論理ディスクを含む複数のストレージを持つストレージシステムのストレージ管理方法であって、
前記複数のストレージに含まれる複数の前記論理ディスクからなるグループの構成の定義と、前記複数の論理ディスクとの接続経路の定義とを基に前記複数の論理ディスクとの接続経路の負荷評価を行い、
前記負荷評価手段による負荷評価結果を基に前記複数のストレージに対して前記接続経路を変更する指示を出すストレージ管理方法。
（付記１６）
論理ディスクを含む複数のストレージを持つストレージシステムのストレージ管理プログラムであって、
前記複数のストレージに含まれる複数の前記論理ディスクからなるグループの構成の定義と、前記複数の論理ディスクとの接続経路の定義とを基に前記複数の論理ディスクとの接続経路の負荷評価を行う処理と、
前記負荷評価手段による負荷評価結果を基に前記複数のストレージに対して前記接続経路を変更する指示を出す処理とをコンピュータに実行させるストレージ管理プログラム。
【符号の説明】
【０１１７】
１    ストレージ管理装置
２    記憶手段
３    接続経路最適化手段
４    ストレージ管理手段
５    接続経路管理手段
６    ストレージ制御手段
７    ストレージ接続手段
１０    ホスト
１２    主記憶
１３    パス最適化機能
１４    論理ボリュームマネージャ
１５    マルチパス機能
１６    ストレージ制御機能
１７    ストレージ接続インタフェース
２０    ストレージ
２１    論理ディスク
２２、２３    コントローラ
３１    負荷評価手段
３２    接続経路変更手段
４０    スイッチ
１０１    デバイス表
１０２    接続経路管理表
１０３    論理ボリューム表
１０５    負荷評価表
１２１、２２１    デバイス表
１２２、２２２    マルチパス管理表
１２３、２２３    論理ボリューム表
２２５、２２６    負荷評価表
２２１、２３１    ポート
２２４    負荷合計表
【図１】
2015170330.tif 000003
【図２】
2015170330.tif 000004
【図３】
2015170330.tif 000005
【図４】
2015170330.tif 000006
【図５】
2015170330.tif 000007
【図６】
2015170330.tif 000008
【図７】
2015170330.tif 000009
【図８】
2015170330.tif 000010
【図９】
2015170330.tif 000011
【図１０】
2015170330.tif 000012
【図１１】
2015170330.tif 000013
【図１２】
2015170330.tif 000014
【図１３】
2015170330.tif 000015
【図１４】
2015170330.tif 000016
【図１５】
2015170330.tif 000017