(57)【要約】【課題】  耐障害性の高いマルチパスを設定し得る情報処理システム及びパス管理方法を提案する。【解決手段】  ストレージノードに配置され、コンピュートノードからの要求を処理するアクティブモードに設定された制御部と、他のストレージノードに配置され、当該制御部等に障害が発生したときに処理を引き継ぐパッシブモードに設定された制御部とから構成される冗長化グループの構成をストレージノードに問い合せ、問合せ結果に基づいて、自コンピュートノードからその冗長化グループに対応付けられたボリュームへのパスを複数設定すると共に、この際、アクティブモードの制御部が配置されたストレージノードと接続されたパスの優先順位を最も高く設定し、パッシブモードの制御部が配置されたストレージノードと接続されたパスの優先順位を次に高く設定するようにした。【選択図】        図９
2019185328.tif 000002
【特許請求の範囲】
【請求項１】
情報処理システムにおいて、
それぞれ１又は複数の記憶装置が搭載された１又は複数のストレージノードと、
前記ストレージノードにデータを読み書きする１又は複数のコンピュートノードと
を有し、
前記ストレージノードには、１又は複数の制御部がそれぞれ配置され、
異なる前記ストレージノードに実装された複数の前記制御部が冗長化グループとして管理されると共に、前記記憶装置から記憶領域が提供される１又は複数のボリュームが前記冗長化グループに対応付けられ、
前記冗長化グループを構成する一部の前記制御部が前記コンピュートノードからの前記要求を受け付けるアクティブモードに設定され、当該冗長化グループを構成する残りの前記制御部が当該要求を受け付けないパッシブモードに設定され、
前記アクティブモードに設定された前記制御部は、自己が構成する前記冗長化グループと対応付けられた前記ボリュームを対象とする前記コンピュートノードからの要求に応じて当該ボリュームにデータを読み書きし、前記パッシブモードに設定された前記制御部は、前記アクティブモードに設定された前記制御部が前記コンピュートノードからの要求を処理できなくなった場合にアクティブモードに切り替えられ、
前記コンピュートノードは、
各前記冗長化グループの構成を前記ストレージノードに問い合せ、取得した各前記冗長化グループの構成に基づいて、自コンピュートノードから前記ボリュームへのパスを複数設定すると共に各前記パスに優先順位をそれぞれ設定し、
前記ボリュームに対する前記要求を、対応する前記ボリュームへの前記パスのうちの前記優先順位が最も高い利用可能な前記パスを利用して対応する前記ストレージノードに送信し、
前記コンピュートノードは、
自コンピュートノードから前記ボリュームへのパスを複数設定する際、当該ボリュームと対応付けられた前記冗長化グループを構成する前記アクティブモードの前記制御部が配置された前記ストレージノードと接続された前記パスの前記優先順位を最も高く設定し、当該冗長化グループを構成する前記パッシブモードの前記制御部が配置された前記ストレージノードと接続された前記パスの前記優先順位を次に高く設定する
ことを特徴とする情報処理システム。
【請求項２】
前記コンピュートノードは、
自コンピュートノードから前記仮想ボリュームへの前記パスのパス数に余裕がある場合には、当該仮想ボリュームと対応付けられた前記冗長化グループを構成する各前記制御部のいずれも配置されていない前記ストレージノードを経由する前記パスを冗長パスとして設定する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記コンピュートノードは、
各前記ストレージノードがそれぞれ属するフォルトセットを管理し、
前記冗長パスを設定する際、対応する前記冗長化グループを構成するいずれの前記制御部も配置されていない前記ストレージノードであって、当該冗長化グループを構成するいずれかの前記制御部が配置された各前記ストレージノードがそれぞれ属する前記フォルトセットとは異なる前記フォルトセットに属する前記ストレージノードを経由する前記パスを前記冗長パスとして設定する
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記コンピュートノードは、
自コンピュートノードが前記ストレージノードとの間の最適化されたパスを特定するためのプロトコルに対応している場合には、対応する前記仮想ボリュームへの各前記パスの優先度を、それぞれ当該プロトコルのステートに応じて設定する
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
情報処理システムにおいて実行されるパス管理方法であって、
前記情報処理システムは、
それぞれ１又は複数の記憶装置が搭載された１又は複数のストレージノードと、
前記ストレージノードにデータを読み書きする１又は複数のコンピュートノードと
を有し、
前記ストレージノードには、１又は複数の制御部がそれぞれ配置され、
異なる前記ストレージノードに実装された複数の前記制御部が冗長化グループとして管理されると共に、前記記憶装置から記憶領域が提供される１又は複数のボリュームが前記冗長化グループに対応付けられ、
前記冗長化グループを構成する一部の前記制御部が前記コンピュートノードからの前記要求を受け付けるアクティブモードに設定され、当該冗長化グループを構成する残りの前記制御部が当該要求を受け付けないパッシブモードに設定され、
前記アクティブモードに設定された前記制御部は、自己が構成する前記冗長化グループと対応付けられた前記ボリュームを対象とする前記コンピュートノードからの要求に応じて当該ボリュームにデータを読み書きし、前記パッシブモードに設定された前記制御部は、前記アクティブモードに設定された前記制御部が前記コンピュートノードからの要求を処理できなくなった場合にアクティブモードに切り替えられ、
前記コンピュートノードが、各前記冗長化グループの構成を前記ストレージノードに問い合せ、取得した各前記冗長化グループの構成に基づいて、自コンピュートノードから前記ボリュームへのパスを複数設定すると共に各前記パスに優先順位をそれぞれ設定する第１のステップと、
前記ボリュームに対する前記要求を、対応する前記ボリュームへの前記パスのうちの前記優先順位が最も高い利用可能な前記パスを利用して対応する前記ストレージノードに送信する第２のステップと
を備え、
前記第１のステップにおいて、前記コンピュートノードは、
自コンピュートノードから前記ボリュームへのパスを複数設定する際、当該ボリュームと対応付けられた前記冗長化グループを構成する前記アクティブモードの前記制御部が配置された前記ストレージノードと接続された前記パスの前記優先順位を最も高く設定し、当該冗長化グループを構成する前記パッシブモードの前記制御部が配置された前記ストレージノードと接続された前記パスの前記優先順位を次に高く設定する
ことを特徴とするパス管理方法。
【請求項６】
前記第１のステップにおいて、前記コンピュートノードは、
自コンピュートノードから前記仮想ボリュームへの前記パスのパス数に余裕がある場合には、当該仮想ボリュームと対応付けられた前記冗長化グループを構成する各前記制御部のいずれも配置されていない前記ストレージノードを経由する前記パスを冗長パスとして設定する
ことを特徴とする請求項５に記載のパス管理方法。
【請求項７】
前記コンピュートノードは、
各前記ストレージノードがそれぞれ属するフォルトセットを管理し、
前記第１のステップにおいて、前記コンピュートノードは、
前記冗長パスを設定する際、対応する前記冗長化グループを構成するいずれの前記制御部も配置されていない前記ストレージノードであって、当該冗長化グループを構成するいずれかの前記制御部が配置された各前記ストレージノードがそれぞれ属する前記フォルトセットとは異なる前記フォルトセットに属する前記ストレージノードを経由する前記パスを前記冗長パスとして設定する
ことを特徴とする請求項６に記載のパス管理方法。
【請求項８】
前記第１のステップにおいて、前記コンピュートノードは、
自コンピュートノードが前記ストレージノードとの間の最適化されたパスを特定するためのプロトコルに対応している場合には、対応する前記仮想ボリュームへの各前記パスの優先度を、それぞれ当該プロトコルのステートに応じて設定する
ことを特徴とする請求項７に記載のパス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム及びパス管理方法に関し、例えば、それぞれ１又は複数のＳＤＳ（Software Defined Storage）が実装された複数のストレージノードを備える情報処理システムに適用して好適なものである。
【背景技術】
【０００２】
近年、汎用のサーバ装置（以下、これをストレージノードと呼ぶ）にストレージ制御ソフトウェアを実装することにより構築されるＳＤＳの開発が進められている。ＳＤＳは、専用のハードウェアを必要とせず、拡張性も高いことから、その需要も増加傾向にある。また、かかるストレージノードを複数組合せて１つのクラスタを構成し、クラスタを１つのストレージ装置として上位装置（以下、これをコンピュートノードと呼ぶ）に提供する情報処理システムの開発も進められている。
【０００３】
このような情報処理システムでは、耐障害性を目的として、マルチパスソフトを利用して複数のストレージノードに複数のパス（マルチパス）を設定することが一般的である。この際、複数のパスのうちの一部が通常利用する優先パスに設定され、残りが障害発生時に利用される冗長パスに設定される。
【０００４】
なお、特許文献１には、このようなマルチパスに関する技術として、コンピュートノード内のミドルウェアがストレージ構造の変化を監視し、ストレージ構造に変化が発生した契機でデバイスをスキャンし直し、スキャン結果に基づいて、新たなストレージ構造をマルチパスソフトウェアに設定し直すことが開示されている。また、この特許文献１には、この際、最短パスも検出し、検出した最短パスを優先パスに設定することも開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１６／０３７８３４２号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、かかる特許文献１では、冗長パス及び優先パスを全ストレージノードに設定するため、優先パス先のノード障害直後に処理速度が遅いパスを一時的に利用することとなる。このためコンピュートノードから見たストレージノードの応答性能が低下する問題や、ＯＳ（Operating System）又はマルチパスソフトウェアのリソース制限により全ストレージノードに冗長パスを設定できない問題があった。
【０００７】
また、パスで利用する通信規格がｉＳＣＳＩ（internet SCSI（Small Computer System Interface））の場合、常にセッションが行われ、利用していない冗長パスに不要なパケットが流れ続けることとなるため、特許文献１のように冗長パス及び優先パスを全ストレージノードに設定するものとすると、マルチパス全体として相応のネットワーク帯域を浪費することになる問題もあった。
【０００８】
本発明は以上の点を考慮してなされたもので、耐障害性の高いマルチパスを設定し得る情報処理システム及びパス管理方法を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するため本発明においては、情報処理システムにおいて、それぞれ１又は複数の記憶装置が搭載された１又は複数のストレージノードと、前記ストレージノードにデータを読み書きする１又は複数のコンピュートノードとを設け、前記ストレージノードには、１又は複数の制御部がそれぞれ配置され、異なる前記ストレージノードに実装された複数の前記制御部が冗長化グループとして管理されると共に、前記記憶装置から記憶領域が提供される１又は複数のボリュームが前記冗長化グループに対応付けられ、前記冗長化グループを構成する一部の前記制御部が前記コンピュートノードからの前記要求を受け付けるアクティブモードに設定され、当該冗長化グループを構成する残りの前記制御部が当該要求を受け付けないパッシブモードに設定され、前記アクティブモードに設定された前記制御部は、自己が構成する前記冗長化グループと対応付けられた前記ボリュームを対象とする前記コンピュートノードからの要求に応じて当該ボリュームにデータを読み書きし、前記パッシブモードに設定された前記制御部は、前記アクティブモードに設定された前記制御部が前記コンピュートノードからの要求を処理できなくなった場合にアクティブモードに切り替えられ、前記コンピュートノードは、各前記冗長化グループの構成を前記ストレージノードに問い合せ、取得した各前記冗長化グループの構成に基づいて、自コンピュートノードから前記ボリュームへのパスを複数設定すると共に各前記パスに優先順位をそれぞれ設定し、前記ボリュームに対する前記要求を、対応する前記ボリュームへの前記パスのうちの前記優先順位が最も高い利用可能な前記パスを利用して対応する前記ストレージノードに送信し、前記コンピュートノードは、自コンピュートノードから前記ボリュームへのパスを複数設定する際、当該ボリュームと対応付けられた前記冗長化グループを構成する前記アクティブモードの前記制御部が配置された前記ストレージノードと接続された前記パスの前記優先順位を最も高く設定し、当該冗長化グループを構成する前記パッシブモードの前記制御部が配置された前記ストレージノードと接続された前記パスの前記優先順位を次に高く設定するようにした。
【００１０】
また本発明においては、情報処理システムにおいて実行されるパス管理方法であって、前記情報処理システムは、それぞれ１又は複数の記憶装置が搭載された１又は複数のストレージノードと、前記ストレージノードにデータを読み書きする１又は複数のコンピュートノードとを有し、前記ストレージノードには、１又は複数の制御部がそれぞれ配置され、異なる前記ストレージノードに実装された複数の前記制御部が冗長化グループとして管理されると共に、前記記憶装置から記憶領域が提供される１又は複数のボリュームが前記冗長化グループに対応付けられ、前記冗長化グループを構成する一部の前記制御部が前記コンピュートノードからの前記要求を受け付けるアクティブモードに設定され、当該冗長化グループを構成する残りの前記制御部が当該要求を受け付けないパッシブモードに設定され、前記アクティブモードに設定された前記制御部は、自己が構成する前記冗長化グループと対応付けられた前記ボリュームを対象とする前記コンピュートノードからの要求に応じて当該ボリュームにデータを読み書きし、前記パッシブモードに設定された前記制御部は、前記アクティブモードに設定された前記制御部が前記コンピュートノードからの要求を処理できなくなった場合にアクティブモードに切り替えられ、前記コンピュートノードが、各前記冗長化グループの構成を前記ストレージノードに問い合せ、取得した各前記冗長化グループの構成に基づいて、自コンピュートノードから前記ボリュームへのパスを複数設定すると共に各前記パスに優先順位をそれぞれ設定する第１のステップと、前記ボリュームに対する前記要求を、対応する前記ボリュームへの前記パスのうちの前記優先順位が最も高い利用可能な前記パスを利用して対応する前記ストレージノードに送信する第２のステップとを備え、前記第１のステップにおいて、前記コンピュートノードは、自コンピュートノードから前記ボリュームへのパスを複数設定する際、当該ボリュームと対応付けられた前記冗長化グループを構成する前記アクティブモードの前記制御部が配置された前記ストレージノードと接続された前記パスの前記優先順位を最も高く設定し、当該冗長化グループを構成する前記パッシブモードの前記制御部が配置された前記ストレージノードと接続された前記パスの前記優先順位を次に高く設定するようにした。
【００１１】
本発明の情報処理システム及びパス管理方法によれば、アクティブモードに設定された制御部がコンピュートノードからの要求を処理できなくなり、それまでパッシブモードに設定されていた制御部がアクティブモードに切り替えられた場合においても、当該制御部がそのときの最短のパスを経由してボリュームにアクセスすることができる。
【００１２】
従って、アクティブモードに設定された制御部等に障害が発生し、パスがそれまでパッシブモードに設定されていた制御部へのパスに切り替えられた場合においてもコンピュートノードから見た応答性能が低下するのを未然かつ有効に防止することができる。
【発明の効果】
【００１３】
本発明によれば、耐障害性の高いマルチパスを設定し得る情報処理システム及びパス管理方法を実現できる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態による情報処理システムの全体構成を示すブロック図である。
【図２】コンピュートノードの概略構成を示すブロック図である。
【図３】ストレージノードの概略構成を示すブロック図である。
【図４】コンピュートノードのメモリの論理構成を示すブロック図である。
【図５】ストレージノードのメモリの論理構成を示すブロック図である。
【図６】システム構成情報テーブルの構成例を示す図表である。
【図７】マルチパス構成情報テーブルの構成例を示す図表である。
【図８】マルチパス構成情報テーブルの更新例を示す図表である。
【図９】本実施形態によるパス管理機能の説明に供するブロック図である。
【図１０】本実施形態によるパス管理機能の説明に供するブロック図である。
【図１１】本実施形態によるパス管理機能の説明に供するブロック図である。
【図１２】マルチパス設定処理の処理手順を示すフローチャートである。
【図１３】システム構成情報送信処理の処理手順を示すフローチャートである。
【図１４】マルチパス構成情報登録処理の処理手順を示すフローチャートである。
【図１５】パス優先度設定処理の処理手順を示すフローチャートである。
【図１６】ＡＬＵＡ利用パス優先度設定処理の処理手順を示すフローチャートである。
【図１７】ＡＬＵＡ非利用パス優先度設定処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の一実施形態を詳述する。
【００１６】
なお以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明が実施形態に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。本発明は、当業者であれば本発明の範囲内で様々な追加や変更等を行うことができる。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は複数でも単数でも構わない。
【００１７】
以下の説明では、「テーブル」、「表」、「リスト」、「キュー」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「ＸＸテーブル」、「ＸＸリスト」等を「ＸＸ情報」と呼ぶことがある。各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「ＩＤ」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
【００１８】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたＩＤを使用することがある。
【００１９】
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、少なくとも１以上のプロセッサ（例えばＣＰＵ）によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び／又はインターフェースデバイス（例えば通信ポート）等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード、ストレージシステム、ストレージ装置、サーバ、管理計算機、クライアント、又は、ホストであってもよい。プログラムを実行して行う処理の主体（例えばプロセッサ）は、処理の一部又は全部を行うハードウェア回路を含んでもよい。例えば、プログラムを実行して行う処理の主体は、暗号化及び復号化、又は圧縮及び伸張を実行するハードウェア回路を含んでもよい。プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。プロセッサを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。
【００２０】
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ（例えばＣＰＵ）と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、２以上のプログラムが１つのプログラムとして実現されてもよいし、１つのプログラムが２以上のプログラムとして実現されてもよい。
【００２１】
（１）本実施形態による情報処理システムの構成
図１において、１は全体として本実施形態による情報処理システムを示す。この情報処理システム１は、複数のコンピュートノード２と、複数のストレージノード３とを備えて構成される。
【００２２】
各コンピュートノード２及び各ストレージノード３間は、例えばファイバーチャネル（Fibre Channel）、イーサネット（登録商標）、InfiniBand又は無線ＬＡＮ（Local Area Network）などから構成されるストレージサービスネットワーク４を介して接続されると共に、各ストレージノード３間は、ＬＡＮ、イーサネット（登録商標）、InfiniBand又は無線ＬＡＮなどから構成されるバックエンドネットワーク５を介して接続されている。
【００２３】
ただし、ストレージサービスネットワーク４及びバックエンドネットワーク５が同一のネットワークにより構成されていてもよく、また各コンピュートノード２及び各ストレージノード３がストレージサービスネットワーク４やバックエンドネットワーク５以外の管理用ネットワークに接続されていてもよい。
【００２４】
コンピュートノード２は、ユーザ操作や実装されたアプリケーションプログラム（以下、これをアプリケーションと呼ぶ）からの要求に応じて、ストレージサービスネットワーク４を介してストレージノード３にデータを読み書きする機能を有する物理的なコンピュータ装置である。ただし、コンピュートノード２が仮想マシンのような仮想的なコンピュータ装置であってもよい。
【００２５】
コンピュートノード２は、図２に示すように、内部ネットワーク１０を介して相互に接続された１以上のＣＰＵ（Central Processing Unit）１１、１以上の記憶装置１３及び１以上の通信装置１４と、ＣＰＵ１１と接続された１以上のメモリ１２とを備える。
【００２６】
ＣＰＵ１１は、コンピュートノード２全体の動作制御を司るプロセッサである。またメモリ１２は、ＳＲＡＭ（Static RAM(Random Access Memory)）やＤＲＡＭ（Dynamic RAM）などの揮発性の半導体メモリや、不揮発性の半導体メモリから構成され、ＣＰＵ１１のワークメモリとして利用される。
【００２７】
記憶装置１３は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）又はＳＣＭ（Storage Class Memory）などの大容量の不揮発性の記憶装置から構成され、各種プログラムや制御データ等を長期的に保持するために利用される。記憶装置１３に格納されたプログラムがコンピュートノード２の起動時や必要時にメモリ１２にロードされ、メモリ１２にロードされたプログラムをＣＰＵ１１が実行することにより、後述のようなコンピュートノード２全体としての各種処理が実行される。
【００２８】
通信装置１４は、コンピュートノード２がストレージサービスネットワーク４を介してストレージノード３と通信を行うためのインタフェースであり、例えばファイバーチャネルカードやイーサネット（登録商標）カード、InfiniBandカード、無線ＬＡＮカードなどから構成される。通信装置１４は、ストレージサービスネットワーク４を介したストレージノード３との通信時におけるプロトコル制御を行う。
【００２９】
ストレージノード３は、コンピュートノード２に対してデータを読み書きするための記憶領域を提供する物理的なサーバ装置である。ただし、ストレージノード３が仮想マシンであってもよい。またストレージノード３がコンピュートノード２と同一の物理ノードに同居する構成であってもよい。
【００３０】
ストレージノード３は、図３に示すように、内部ネットワーク２０を介して相互に接続された１以上のＣＰＵ２１、複数の記憶装置２３、１以上の第１の通信装置２４及び１以上の第２の通信装置２５と、ＣＰＵ２１と接続された１以上のメモリ２２とを備える。このうちＣＰＵ２１及びメモリ２２の機能及び構成は、コンピュートノード２の対応部位（ＣＰＵ１１又はメモリ１２）と同様であるため、ここでの説明は省略する。
【００３１】
記憶装置２３は、ＨＤＤ、ＳＳＤ又はＳＣＭなどの大容量の不揮発性の記憶装置から構成され、ＮＶＭｅ（Non-Volatile Memory Express）やＳＡＳ（Serial Attached SCSI（Small Computer System Interface））、ＳＡＴＡ（Serial ATA（Advanced Technology Attachment））などのインタフェースを介して第２の通信装置２５と接続される。
【００３２】
また第１の通信装置２４は、ストレージノード３がストレージサービスネットワーク４を介してコンピュートノード２と通信を行うためのインタフェースであり、第２の通信装置２５は、ストレージノード３がバックエンドネットワーク５を介して他のストレージノード３と通信を行うためのインタフェースである。これら第１及び第２の通信装置２４，２５は、コンピュートノード２の通信装置１４と同様の構成を有するものであるため、ここでの説明は省略する。
【００３３】
なお、本実施形態の場合、各ストレージノード３は、図１に示すように、他の１又は複数のストレージノード３と共にクラスタ６と呼ぶグループにまとめられて管理される。図１の例では、クラスタ６が１つのみ設定された場合について例示しているが、情報処理システム１内に複数のクラスタ６を設けるようにしてもよい。１つのクラスタ６を構成する各ストレージノード３は、コンピュートノード２からは１つのストレージ装置として認識される。
【００３４】
（２）本情報処理システムの論理構成
次に、本情報処理システム１の論理構成について説明する。
【００３５】
図４に示すように、各コンピュートノード２のメモリ１２には、アプリケーション３０、マルチパスソフトウェア（以下、これをマルチパスソフトと呼ぶ）３１、マルチパス設定プログラム３２及びマルチパス構成情報テーブル３３が格納される。
【００３６】
アプリケーション３０は、コンピュートノード２のユーザの業務内容に応じた処理を実行するソフトウェアである。図９に示すように、各ストレージノード３内には１又は複数の仮想的な論理ボリューム（以下、これを仮想ボリュームと呼ぶ）が作成され、これら仮想ボリュームが論理ユニットＬＵを介してアプリケーション３０に提供される。そしてアプリケーション３０は、所望する仮想ボリュームＶＶＯＬにデータを読み書きする場合には、その仮想ボリュームＶＶＯＬと対応付けられた論理ユニットＬＵ（結果的には対応する仮想ボリュームＶＶＯＬ）を対象とするＩ／Ｏ（Input/Output）要求をマルチパスソフト３１に送信する。
【００３７】
マルチパスソフト３１は、自コンピュートノード２内に作成された論理ユニットＬＵごとに、その論理ユニットＬＵから当該論理ユニットＬＵと対応付けられた仮想ボリュームＶＶＯＬへの複数のパスＰＳ（マルチパスＭＰＳ）を設定する機能を有するソフトウェアである。
【００３８】
実際上、各コンピュートノード２には、そのコンピュートノード２内に作成された１又は複数の論理ユニットＬＵとそれぞれ関連付けられた１又は複数のイニシエータＩＴが定義される。これらイニシエータＩＴは、それぞれそのコンピュートノード２が備えるいずれかのポート（図示せず）と対応付けられる。また各ストレージノード３には、クラスタ６内に作成された各仮想ボリュームＶＶＯＬがそれぞれ関連付けられた１又は複数のターゲットＴＧが定義される。これらターゲットＴＧは、そのストレージノード３が備えるいずれかのポート（図示せず）と対応付けられる。
【００３９】
そしてマルチパスソフト３１は、論理ユニットＬＵごとに、その論理ユニットＬＵと関連付けられたイニシエータＩＴと、その論理ユニットＬＵに対応する仮想ボリュームＶＶＯＬと関連付けられたターゲットＴＧとを結ぶパスＰＳを複数設定する。この際、マルチパスソフト３１は、論理ユニットＬＵごとに、その論理ユニットＬＵについて設定した複数のパスＰＳのそれぞれに優先度（以下、これをパス優先度と呼ぶ）を設定する。
【００４０】
そしてマルチパスソフト３１は、アプリケーション３０からある論理ユニットＬＵを対象とするＩ／Ｏ要求が与えられた場合には、その論理ユニットＬＵと対応付けられた仮想ボリュームＶＶＯＬについて設定した複数のパスＰＳの中から、利用可能なパスＰＳのうちで最もパス優先度が高いパスＰＳを利用してそのＩ／Ｏ要求を対応するストレージノードに送信する。
【００４１】
なお各ターゲットＴＧには、それぞれそのターゲットＴＧを介して仮想ボリュームＶＶＯＬにアクセス可能なイニシエータＩＴを設定することができる。これにより、アプリケーション３０がアクセス可能な仮想ボリュームＶＶＯＬを、アプリケーション３０ごとに制限することができる。
【００４２】
マルチパス設定プログラム３２及びマルチパス構成情報テーブル３３の詳細については、後述する。
【００４３】
一方、各ストレージノード３のメモリ２２には、図５に示すように、複数の制御ソフトウェア（以下、これを制御ソフトと呼ぶ）４０及びこれら制御ソフト４０にそれぞれ対応させて作成された複数の構成情報４１と、クラスタ制御部４２及びシステム構成情報テーブル４３とがそれぞれ格納される。
【００４４】
制御ソフト４０は、ＳＤＳ（Software Defined Storage）のストレージコントローラとして機能するソフトウェアである。制御ソフト４０は、コンピュートノード２からのＩ／Ｏ要求を受け付け、対応する記憶装置２３（図３）にデータを読み書きする機能を有する。
【００４５】
本実施形態の場合、図９に示すように、ストレージノード３に実装された各制御ソフト４０は、それぞれ互いに異なる他のストレージノード３にそれぞれ実装された１又は複数の他の制御ソフト４０と共に冗長化のための１つのグループ（以下、これを冗長化グループと呼ぶ）４４として管理される。
【００４６】
そして各冗長化グループ４４には、それぞれ１又は複数の仮想ボリュームＶＶＯＬが対応付けられ、これらの仮想ボリュームＶＶＯＬが上述のようにデータをリード／ライトする記憶領域としてコンピュートノード２に提供されて、いずれかのコンピュートノード２内のいずれかの論理ユニットＬＵとそれぞれ対応付けられる。
【００４７】
この場合、仮想ボリュームＶＶＯＬ内の記憶領域は所定の大きさの小領域（以下、これを論理ページと呼ぶ）に区分して管理される。またストレージノード３に搭載された各記憶装置２３（図３）が提供する記憶領域は論理ページと同じ大きさの小領域（以下、これを物理ページと呼ぶ）に区分されて管理される。ただし、論理ページ及び物理ページは同じサイズでなくてもよい。
【００４８】
かくして、コンピュートノード２のアプリケーション３０（図４）は、所望する仮想ボリュームＶＶＯＬにデータをリード／ライトする場合、そのデータのリード／ライト先の仮想ボリュームＶＶＯＬの識別子（ＬＵＮ：Logical Unit Number）と、その仮想ボリュームＶＶＯＬにおけるそのデータのリード／ライト先の先頭の論理ページと、そのデータのデータ長とを指定したＩ／Ｏ要求をマルチパスソフト３１（図４）に発行し、このＩ／Ｏ要求をマルチパスソフト３１が対応するパスＰＳを介して対応するストレージノード３に送信する。
【００４９】
なお図９は、２つの制御ソフト４０により冗長化グループ４４が構成される場合を示しており、以下においても、２つの制御ソフト４０により冗長化グループ４４が構成されるものとして説明を進めるが、３つ以上の制御ソフト４０により冗長化グループ４４が構成されるものとしてもよい。
【００５０】
冗長化グループ４４では、少なくとも１つの制御ソフト４０が、自冗長化グループ４４に対応付けられた仮想ボリュームＶＶＯＬを対象とするコンピュートノード２からのＩ／Ｏ要求を受け付けることができる状態（現用系の状態であり、以下、これをアクティブモードと呼ぶ）に設定され、残りの制御ソフト４０がかかるＩ／Ｏ要求を受け付けない状態（待機系の状態であり、以下、これをパッシブモードと呼ぶ）に設定される。
【００５１】
従って、２つの制御ソフト４０から構成される冗長化グループ４４は、これら２つの制御ソフト４０の双方がアクティブモードに設定された構成（以下、これをアクティブ−アクティブ構成と呼ぶ）と、一方の制御ソフト４０がアクティブモードに設定され、他方の制御ソフト４０がそのバックアップとしてパッシブモードに設定された構成（以下、これをアクティブ−パッシブ構成と呼ぶ）とのうちのいずれかの構成をとることになる。
【００５２】
そしてアクティブ−パッシブ構成が採用された冗長化グループ４４では、アクティブモードに設定された制御ソフト４０又はその制御ソフト４０が配置されたストレージノード３に障害が発生した場合や、そのようなストレージノード３がクラスタ６から撤去（ストレージノード３が減設）された場合などに、それまでパッシブモードに設定されていた制御ソフト４０の状態がアクティブモードに切り替えられる（フェールオーバ機能）。これにより、アクティブモードに設定された制御ソフト４０が稼働し得なくなった場合に、当該制御ソフト４０が実行していたＩ／Ｏ処理をそれまでパッシブモードに設定されていた制御ソフト４０により引き継ぐことができる。
【００５３】
このようなフェールオーバ機能を実現するため、同じ冗長化グループ４４に属する制御ソフト４０は、常に同一内容の構成情報４１を保持している。構成情報４１は、クラスタ内の記憶領域を仮想化してコンピュートノードに提供する容量仮想化機能や、アクセス頻度の多いデータをより応答速度が速い記憶領域に移動させる階層記憶制御機能、格納されたデータの中から重複するデータを削除する重複排除機能、データを圧縮して記憶する圧縮機能、ある時点でのデータの状態を保持するSnapshot（スナップショット）機能、及び、災害対策のために同期あるいは非同期で遠隔地にデータをコピーするリモートコピー機能などの各種機能に関する処理を制御ソフト４０が実行するために必要な情報である。例えば、仮想ボリュームＶＶＯＬの論理ページと、記憶装置２３（図３）の物理ページとの対応関係が登録されるマッピングテーブルなどが構成情報４１に含まれる。
【００５４】
そして、冗長化グループ４４を構成するアクティブモードの制御ソフト４０の構成情報４１が更新された場合、更新前後のその構成情報４１の差分が差分データとしてその冗長化グループ４４を構成する他方の制御ソフト４０に転送され、この差分データに基づいて当該他方の制御ソフト４０によりその制御ソフト４０が保持する構成情報４１が更新される。これにより冗長化グループ４４を構成する各制御ソフト４０がそれぞれ保持する構成情報４１が常に同期した状態に維持される。
【００５５】
このように冗長化グループ４４を構成する２つの制御ソフト４０同士が常に同じ内容の構成情報４１を保持することにより、アクティブモードに設定された制御ソフト４０や、当該制御ソフト４０が配置されたストレージノード３に障害が発生し又は当該ストレージノード３が撤去された場合にも、それまでその制御ソフト４０が実行していた処理を、その制御ソフト４０と同じ冗長化グループ４４内の他方の制御ソフト４０が直ちに引き継ぐことが可能となる。
【００５６】
なお上述のフェールオーバ機能によりそれまでパッシブモードに設定されていた制御ソフト４０がアクティブモードに切り替えられた場合、当該制御ソフト４０が配置されているストレージノード３と、元のアクティブモードの制御ソフト４０が配置されているストレージノード３と以外のいずれかのストレージノード３内の未使用の制御ソフト４０がパッシブモードで起動されて、アクティブモードに切り替えられた制御ソフト４０と共に新たな冗長化グループ４４に設定される。
【００５７】
また、かかるアクティブモードに切り替えられた制御ソフト４０が保持している構成情報４１がバックエンドネットワーク５を介して新たなパッシブモードの制御ソフト４０に転送されると共に、元の冗長化グループ４４に対応付けられていた仮想ボリュームＶＶＯＬの対応先がこの新たな冗長化グループ４４に切り替えられる。これにより、元の冗長化グループ４４の構成が新たな冗長化グループ４４で再現される。
【００５８】
クラスタ制御部４２は、コンピュートノード２から与えられたＩ／Ｏ要求を、バックエンドネットワーク５を介して対応するストレージノード３のクラスタ制御部４２に転送したり、他のクラスタ制御部４２からバックエンドネットワーク５を介して転送されてきたかかるＩ／Ｏ要求を、そのＩ／Ｏ要求の対象となる仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４の制御ソフト４０に引き渡す機能を有するプログラムである。
【００５９】
そして、Ｉ／Ｏ要求を受信し又はクラスタ制御部４２からＩ／Ｏ要求を引き渡された制御ソフト４０のうち、アクティブモードに設定された制御ソフト４０は、このＩ／Ｏ要求に応じた処理を実行する。例えば、制御ソフト４０は、Ｉ／Ｏ要求がライト要求であった場合には、当該Ｉ／Ｏ要求において指定された仮想ボリュームＶＶＯＬ内の当該Ｉ／Ｏ要求において指定された論理ページに対していずれかの物理ページを動的に割り当てた上で、当該物理ページにデータをライトする。また制御ソフト４０は、Ｉ／Ｏ要求がリード要求であった場合には、当該Ｉ／Ｏ要求においてデータのリード先として指定された仮想ボリュームＶＶＯＬ上の論理ページに割り当てられた物理ページからデータをリードし、リードしたデータをＩ／Ｏ要求の送信元のコンピュートノード２に転送する。
【００６０】
このような処理を実行するための手段として、クラスタ制御部４２は、クラスタ６内に作成された各仮想ボリュームＶＶＯＬがそれぞれどの制御ソフト４０とどの制御ソフト４０とから構成される冗長化グループ４４（図９）に対応付けられ、これら制御ソフト４０がそれぞれどのストレージノード３に配置されているかといった、仮想ボリュームＶＶＯＬごとの対応する冗長化グループ４４ごとの構成情報（以下、これをシステム構成情報と呼ぶ）をシステム構成情報テーブル４３に格納して管理している。
【００６１】
また本実施形態では、同一クラスタ６内で各ストレージノード３のクラスタ制御部４２が常に同一内容のシステム構成情報テーブル４３を保持するための手段として、クラスタ６を構成する各ストレージノード３にそれぞれ搭載されたクラスタ制御部４２の中から所定の方法により１つのクラスタ制御部４２が代表クラスタ制御部４２として選定される。
【００６２】
そして代表クラスタ制御部４２は、定期的に他のストレージノード３のクラスタ制御部４２から必要な情報を収集し、収集した情報に基づいて自己が管理するシステム構成情報テーブル４３を必要に応じて更新すると共に、これら収集した情報をそのクラスタ６内の各ストレージノード３のクラスタ制御部４２に転送する。かくして、この情報を受信した各クラスタ制御部４２は、それぞれ自己が管理するシステム構成情報テーブル４３を最新の状態に更新する。
【００６３】
なお、システム構成情報テーブル４３の構成例を図６に示す。この図６からも明らかなように、システム構成情報テーブル４３は、ＬＵＮ欄４３Ａ、イニシエータＩＤ欄４３Ｂ、制御ソフトモード欄４３Ｃ、ストレージノードＩＤ欄４３Ｄ、ターゲットＩＤ欄４３Ｅ及びフォルトセットＩＤ欄４３Ｆを備えて構成される。
【００６４】
そしてＬＵＮ欄４３Ａには、クラスタ６の各ストレージノード３内にそれぞれ作成された各仮想ボリュームＶＶＯＬにそれぞれ付与されたその仮想ボリュームＶＶＯＬのＬＵＮがそれぞれ格納され、イニシエータＩＤ欄４３Ｂには、対応する仮想ボリュームＶＶＯＬへのアクセスが許可されたイニシエータＩＴ（図９）の識別子（イニシエータＩＤ）が格納される。
【００６５】
また制御ソフトモード欄４３Ｃ、ストレージノードＩＤ欄４３Ｄ、ターゲットＩＤ欄４３Ｅ及びフォルトセットＩＤ欄４３Ｆは、それぞれ対応する仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４を構成する各制御ソフト４０のモード（アクティブモード又はパッシブモード）に対応させて区分されている。
【００６６】
そして制御ソフトモード欄４３Ｃにおける区分された各欄には、それぞれ各制御ソフト４０のモードの名称（アクティブモード又はパッシブモード）がそれぞれ格納され、ストレージＩＤ欄４３Ｄにおける区分された各欄には、それぞれ対応するモードの制御ソフト４０が配置されたストレージノード３に付与されたそのストレージノード３に固有の識別子（ストレージノードＩＤ）がそれぞれ格納される。
【００６７】
またターゲットＩＤ欄４３Ｅにおける区分された各欄には、それぞれ対応するストレージノード３内に定義された、対応する仮想ボリュームＶＶＯＬが関連付けられたターゲットＴＧ（図９）の識別子（ターゲットＩＤ）が格納される。
【００６８】
さらにフォルトセットＩＤ欄４３Ｆにおける区分された各欄には、それぞれ対応するストレージノード３が属するフォルトセットに付与されたそのフォルトセットに固有の識別子（フォルトセットＩＤ）が格納される。ここで「フォルトセット」とは、電源系統やネットワークスイッチを共有するストレージノード３のグループを指す。冗長化グループ４４を構成する各制御ソフト４０が、それぞれ異なるフォルトセットに属するストレージノード３上で稼動するように制御ソフト４０の配置先をそれぞれ選択することにより、より耐障害性の高い冗長化グループ４４を構築することができる。
【００６９】
（３）パス管理機能
ところで、かかる構成を有する本実施形態の情報処理システム１では、上述のように冗長化グループ４４内のアクティブモードに設定された制御ソフト４０に障害が発生した場合に、その冗長化グループ４４内のそれまでパッシブモードに設定されていた制御ソフト４０がアクティブモードに切り替えられる。
【００７０】
この場合において、コンピュートノード２から仮想ボリュームＶＶＯＬまでのパスのうち、その仮想ボリュームＶＶＯＬに対するＩ／Ｏ要求を実際に処理する制御ソフト４０（つまり、その仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４を構成する２つの制御ソフト４０のうちのアクティブモードの制御ソフト４０）が配置されたストレージノード３に接続されたパスＰＳが最短のパスとなる。
【００７１】
従って、上述のように冗長化グループ４４のアクティブモードの制御ソフト４０の障害等によりその冗長化グループ４４のパッシブモードの制御ソフト４０がアクティブモードに切り替えられた場合には、その仮想ボリュームＶＶＯＬまでのパスも、アクティブモードに切り替えられた制御ソフト４０が配置されたストレージノード３に接続されたパスＰＳに切り替えることが好ましい。
【００７２】
しかしながら、マルチパスソフト３１（図４）として既存のマルチパスソフトウェアを利用した場合、そのようなパスの切り替えを自動的に行うことができず、パッシブモードの制御ソフト４０がアクティブモードに切り替えられたときに、コンピュートノード２から見たクラスタ６の応答性能が低下するという問題があった。また既存のマルチパスソフトウェアでは、仮想ボリュームＶＶＯＬまでのパスＰＳの数が減った場合に、自動的にパス数を増やすことができないという問題もあった。
【００７３】
そこで、本実施形態のコンピュートノード２には、マルチパスソフト３１が仮想ボリュームＶＶＯＬまでのマルチパスを設定する際、その仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のアクティブモードに設定された制御ソフト４０が配置されたストレージノード３と接続されたパスＰＳを最も優先度の高いパス（以下、これを第１優先パスと呼ぶ）として設定し、当該冗長化グループ４４のパッシブモードに設定された制御ソフト４０が配置されたストレージノード３までのパスＰＳを次に優先度の高いパス（以下、これを第２優先パスと呼ぶ）として設定する機能（以下、これをパス管理機能と呼ぶ）が搭載されている。
【００７４】
そしてマルチパスソフト３１は、アプリケーション３０（図４）から仮想ボリュームＶＶＯＬに対するＩ／Ｏ要求が与えられた場合には、その仮想ボリュームＶＶＯＬに設定された複数のパスＰＳのうち、そのとき利用可能な最も優先度が高いパスＰＳを介してそのＩ／Ｏ要求を対応するストレージノード３に送信する。
【００７５】
これにより本情報処理システム１では、冗長化グループ４４のアクティブモードに設定された制御ソフト４０等に障害が発生して当該冗長化グループ４４のそれまでパッシブモードに設定されていた制御ソフト４０がアクティブモードに切り替えられた場合においても、当該切り替え後の最短のパスを介してコンピュートノード２がその冗長化グループ４４に対応付けられた仮想ボリュームＶＶＯＬにアクセスすることができる。
【００７６】
このようなパス管理機能を実現するための手段として、コンピュートノード２のメモリ１２には、図４に示すように、上述したアプリケーション３０及びマルチパスソフト３１に加えて、マルチパス設定プログラム３２及びマルチパス構成情報テーブル３３が格納されている。
【００７７】
マルチパス設定プログラム３２は、クラスタ６内に新たな仮想ボリュームＶＶＯＬが作成された場合などに、その仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４の構成情報を取得し、その仮想ボリュームＶＶＯＬへのマルチパスＭＰＳ（図９）の構成（各パスＰＳがそれぞれ接続するイニシエータＩＴ及びターゲットＴＧイニシエータＩＤ及びターゲットＩＤや、各パスＰＳのパス優先度など）を策定したり、クラスタ６内のいずれかの冗長化グループ４４の構成が変更された場合に、これに応じて対応するマルチパスＭＰＳの新たな構成（以下、マルチパスＭＰＳの構成をマルチパス構成と呼ぶ）を策定する機能を有するプログラムである。
【００７８】
実際上、マルチパス設定プログラム３２は、図９に示すように、クラスタ６を構成するいずれかのストレージノード３内のクラスタ制御部（例えば代表クラスタ制御部）４２に対して、各仮想ボリュームＶＶＯＬとそれぞれ対応付けられた冗長化グループ４４の構成を定期的に問い合せる（Ｓ１）。
【００７９】
そして、この問合せを受けたクラスタ制御部４２は、自ストレージノード３内で保持しているシステム構成情報テーブル４３からその冗長化グループ４４の構成情報を読み出し、これを問合わせ先のマルチパス設定プログラム３２に返信する（Ｓ２）。
【００８０】
またマルチパス設定プログラム３２は、このようにして取得したかかる冗長化グループ４４の構成情報に基づいて、その仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のアクティブモードに設定された制御ソフト４０が配置されたストレージノード３までのパスＰＳを第１優先パスに決定し、当該冗長化グループ４４のパッシブモードに設定された制御ソフト４０が配置されたストレージノード３までのパスを第２優先パスに決定する。
【００８１】
さらにマルチパス設定プログラム３２は、例えば、１つの仮想ボリュームＶＶＯＬに対するパス数がマルチパスソフト３１が対応可能な最大のパス数よりも少ない場合など、設定可能なパス数に余裕がある場合には、第１優先パス及び第２優先パスに加えて冗長パスも決定する。この際、マルチパス設定プログラム３２は、その仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のアクティブモードに設定された制御ソフト４０が配置されたストレージノード３と、当該冗長化グループ４４のパッシブモードに設定された制御ソフト４０が配置されたストレージノード３とのいずれのストレージノード３も属さないフォルトセットに所属するストレージノード３と接続されたパスＰＳの中から１つのパスＰＳを選択し、そのパスＰＳを冗長パスとして決定する。
【００８２】
そしてマルチパス設定プログラム３２は、上述のようにして第１優先パス及び第２優先パスと、可能な場合の冗長パスとを決定すると、決定したこれらパスＰＳに関する必要な情報を、その仮想ボリュームＶＶＯＬと対応付けてマルチパス構成情報としてマルチパス構成情報テーブル３３に登録する（Ｓ３）。
【００８３】
かくして、マルチパスソフト３１は、このマルチパス構成情報テーブル３３に登録された仮想ボリュームＶＶＯＬのマルチパス構成情報に基づいて、その仮想ボリュームＶＶＯＬまでのマルチパスＭＰＳを設定する（Ｓ４）。
【００８４】
またマルチパスソフト３１は、この後、その仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のそれまでアクティブモードに設定されていた制御ソフト４０又はその制御ソフト４０が配置されたストレージノード３に障害が発生した場合などには、図１０に示すように、これ以降使用するパスをパス優先度が「第２優先」に設定されたパス（第２優先パス）ＰＳに切り替える一方、図１１に示すように、さらに第２優先パスも使用できなくなった場合には、これ以降使用するパスをパス優先度が「冗長パス」に設定されたパス（冗長パス）ＰＳに切り替える。
【００８５】
なお、マルチパス構成情報テーブル３３の構成例を図７に示す。上述のようにマルチパス構成情報テーブル３３は、マルチパス設定プログラム３２により策定された、各仮想ボリュームＶＶＯＬへのマルチパスＭＰＳの構成情報（以下、これをマルチパス構成情報と呼ぶ）を保持するために利用されるテーブルである。
【００８６】
マルチパス構成情報テーブル３３は、図７に示すように、ＬＵＮ欄３３Ａ、パス優先度欄３３Ｂ、ＯＳ認識パスＩＤ欄３３Ｃ、イニシエータＩＤ欄３３Ｄ及びターゲットＩＤ欄３３Ｅを備えて構成される。そしてＬＵＮ欄３３Ａには、クラスタ６内に設定された仮想ボリュームＶＶＯＬのＬＵＮが格納される。
【００８７】
また、パス優先度欄３３Ｂ、ＯＳ認識パスＩＤ欄３３Ｃ、イニシエータＩＤ欄３３Ｄ及びターゲットＩＤ欄３３Ｅは、それぞれ対応する仮想ボリュームＶＶＯＬに対して設定されたマルチパスを構成する各パスにそれぞれ対応させて区分されている。
【００８８】
そしてイニシエータ欄３３Ｄの区分された各欄には、それぞれ対応するパスＰＳが接続された自コンピュートノード２内のイニシエータＩＴのイニシエータＩＤが格納され、ターゲットＩＤ欄３３Ｅには、クラスタ６内の各ストレージノード３のポートに対して定義されたターゲットＴＧのうち、マルチパスソフト３１により設定された対応するパスＰＳが接続されるターゲットＴＧの識別子（ターゲットＩＤ）が格納される。
【００８９】
またＯＳ認識パスＩＤ欄３３Ｃには、対応するパスＰＳに付与された、自コンピュートノード２のＯＳが認識するそのパスＰＳの識別子（ＯＳ認識パスＩＤ）が格納され、パス優先度欄３３Ｂには、対応するパスＰＳに対して設定されたそのパスＰＳのパス優先度が格納される。
【００９０】
従って、図７の例では、対応するコンピュートノード２から「０」というＬＵＮの仮想ボリュームまでのパスＰＳとして、「１」というイニシエータＩＤのイニシエータＩＴ及び「１」というターゲットＩＤのターゲットＴＧ間を接続し、ＯＳが「ａ」というパスＩＤで認識しているパスＰＳと、「１」というイニシエータＩＤのイニシエータＩＴ及び「２」というターゲットＩＤのターゲットＴＧ間を接続し、ＯＳが「ｂ」というパスＩＤで認識しているパスＰＳと、「１」というイニシエータＩＤのイニシエータＩＴ及び「３」というターゲットＩＤのターゲットＴＧ間を接続し、ＯＳが「ｃ」というパスＩＤで認識しているパスＰＳとが存在することが示されている。
【００９１】
また図７では、ＯＳ認識パスＩＤが「ａ」のパスのパス優先度は「第１優先」に設定され、ＯＳ認識パスＩＤが「ｂ」のパスのパス優先度は「第２優先」に設定され、ＯＳ認識パスＩＤが「ｃ」のパスのパス優先度は「冗長」に設定されていることも併せて示されている。なお、「第１優先」は最も高いパス優先度であり、「第２優先」は次に高いパス優先度である。また「冗長」は、「第２優先」の次に高いパス優先であり、パス優先度が「冗長」に設定されたパスは冗長パスとして利用される。
【００９２】
一方、本情報処理システム１では、上述のように冗長化グループ４４のそれまでパッシブモードに設定されていた制御ソフト４０がアクティブモードに切り替えられた場合には、新たな制御ソフト４０がパッシブモードで起動されて、かかるアクティブモードに切り替えられた制御ソフト４０と、かかるパッシブモードで起動された新たな制御ソフト４０とによって新たな冗長化グループ４４が構成されるなど、各仮想ボリュームＶＶＯＬにそれぞれ対応付けられた冗長化グループ４４の構成が適宜変更される。
【００９３】
そこでマルチパス設定プログラム３２は、上述のように仮想ボリュームＶＶＯＬに対するマルチパスＭＰＳを設定した後もクラスタ６内の各冗長化グループ４４の構成を監視する。具体的には、マルチパス設定プログラム３２は、上述と同様にしてクラスタ６内のいずれかのクラスタ制御部（例えば、代表クラスタ制御部）４２に対して各冗長化グループ４４の構成を定期的に問い合せる。そしてマルチパス設定プログラム３２は、かかる問合せに対するクラスタ制御部４２からの応答に基づいて、いずれかの冗長化グループ４４の構成変更を検出した場合には、これに応じてマルチパス構成情報テーブル３３を更新する。
【００９４】
例えば、ＬＵＮが「０」の仮想ボリュームＶＶＯＬへのマルチパスＭＰＳの構成が図７のような状態であった場合において、その仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のアクティブモードに設定された制御ソフト４０又は当該制御ソフト４０が配置されたストレージノード３に障害が発生するなどして、それまでパッシブモードに設定されていた制御ソフト４０がアクティブモードに切り替えられたことをマルチパス設定プログラム３２が検出した場合には、マルチパス構成情報テーブル３３におけるその仮想ボリュームＶＶＯＬへのマルチパスＭＰＳの構成を例えば図８のように更新する。
【００９５】
図７及び図８の比較からも分かるように、かかる場合には、それまでパス優先度が「第２優先」に設定されていたパス（第２優先パス）ＰＳのパス優先度が「第１優先」に変更される。また図８では、第２優先パスとして、「１」というイニシエータＩＤのイニシエータＩＴ及び「４」というターゲットＩＤのターゲットＴＧ間を接続し、ＯＳが「ｄ」というパスＩＤで認識しているパスＰＳが設定された例が示されている。
【００９６】
（４）パス管理機能に関する各種処理
次に、上述したパス管理機能に関連して実行される各種処理の具体的な処理内容について説明する。
（４−１）マルチパス設定処理
図１２は、かかるパス管理機能に関連してコンピュートノード２のマルチパス設定プログラム３２により定期的に実行されるマルチパス設定処理の処理手順を示す。マルチパス設定プログラム３２は、この図１２に示す処理手順に従って、クラスタ６内に存在するマルチパスＭＰＳが未設定の仮想ボリュームＶＶＯＬ又は対応する冗長化グループ４４の構成が変更された仮想ボリュームＶＶＯＬへのマルチパスＭＰＳを策定し、又は策定されたマルチパスＭＰＳの構成を更新する。
【００９７】
実際上、マルチパス設定プログラム３２は、このマルチパス設定処理を開始すると、まず、いずれかのストレージノード３内のクラスタ制御部（例えば、代表クラスタ制御部）４２（図５）に対し、自コンピュートノード２内に定義されたすべてのイニシエータＩＴのイニシエータＩＤを特定して、自コンピュートノード２が利用可能な各仮想ボリュームＶＶＯＬに関するシステム構成情報（システム構成情報テーブル４３におけるその仮想ボリュームＶＶＯＬに対応付けられた冗長化グループ４４の構成情報）を問い合せる（Ｓ１０）。
【００９８】
かくして、この問合わせを受けたクラスタ制御部４２は、図１３について後述するように、そのコンピュートノード２が利用可能な各仮想ボリュームＶＶＯＬに関する上述のシステム構成情報をシステム構成情報テーブル４３から読み出してマルチパス設定プログラム３２に転送する。
【００９９】
続いて、マルチパス設定プログラム３２は、ステップＳ１０で取得したシステム構成情報に基づいて、自コンピュートノード２が利用可能な仮想ボリュームＶＶＯＬの中から１つの仮想ボリュームＶＶＯＬを選択する（Ｓ１１）。以下においては、この仮想ボリュームＶＶＯＬを対象仮想ボリュームＶＶＯＬと呼ぶ。
【０１００】
次いで、マルチパス設定プログラム３２は、対象仮想ボリュームＶＶＯＬへのマルチパスＭＰＳがマルチパス構成情報テーブル３３（図７）に未登録、又は、アクティブモードやパッシブモードの制御ソフト４０が存在するストレージノード３が変化したなど、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４の構成に何らかの変化があったか否かを判断する（Ｓ１２）。この判断は、ステップＳ１０で取得した対象仮想ボリュームＶＶＯＬに関連するシステム構成情報と、その対象仮想ボリュームＶＶＯＬについてシステム構成情報テーブル４３（図６）やマルチパス構成情報テーブル３３（図７）に登録されている内容とを比較することにより行われる。
【０１０１】
そしてマルチパス設定プログラム３２は、ステップＳ１２の判断で否定結果を得るとステップＳ１５に進む。またマルチパス設定プログラム３２は、ステップＳ１２の判断で肯定結果を得ると、対象仮想ボリュームＶＶＯＬへのマルチパスＭＰＳに関するマルチパス構成情報がマルチパス構成情報テーブル３３に登録されていない場合には、当該マルチパス構成情報をマルチパス構成情報テーブル３３に新規に登録し、対象仮想ボリュームＶＶＯＬへのマルチパス構成情報がマルチパス構成情報テーブル３３に登録されている場合には、そのマルチパス構成情報を現在の状況に併せて更新する（Ｓ１３）。
【０１０２】
またマルチパス設定プログラム３２は、ステップＳ１３で新規登録又は更新した対象仮想ボリュームＶＶＯＬに関するマルチパス構成情報に基づいて、自コンピュートノード２におけるその対象仮想ボリュームＶＶＯＬと関連付けられたイニシエータＩＴからその対象仮想ボリュームＶＶＯＬまでのマルチパスＭＰＳの新規設定又は設定更新をマルチパスソフト３１（図４）に指示する（Ｓ１４）。
【０１０３】
続いて、マルチパス設定プログラム３２は、ステップＳ１０で取得したシステム構成情報に基づいて、クラスタ６内の自コンピュートノード２が利用可能なすべての仮想ボリュームＶＶＯＬについてステップＳ１２〜ステップＳ１４の処理を実行し終えたか否かを判断する（Ｓ１５）。そしてマルチパス設定プログラム３２は、この判断で否定結果を得るとステップＳ１１に戻り、この後、ステップＳ１１で選択する対象仮想ボリュームＶＶＯＬを、ステップＳ１２〜ステップＳ１４の処理が未処理の他の該当する仮想ボリュームＶＶＯＬに順次切り替えながら、ステップＳ１１〜ステップＳ１５の処理を繰り返す。
【０１０４】
そしてマルチパス設定プログラム３２は、クラスタ６内の自コンピュートノード２が利用可能なすべての仮想ボリュームＶＶＯＬについてステップＳ１２〜ステップＳ１４の処理を実行し終えることによりステップＳ１５で肯定結果を得ると、このマルチパス設定処理を終了する。
【０１０５】
（４−２）システム構成情報送信処理
図１３は、図１２について上述したマルチパス設定処理のステップＳ１０でコンピュートノード２のマルチパス設定プログラム３２からの問合せを受領したクラスタ制御部（例えば代表クラスタ制御部）４２により実行されるシステム構成情報送信処理を示す。
【０１０６】
クラスタ制御部４２は、かかる問合せがマルチパス設定プログラム３２から与えられると、この図１３に示すシステム構成情報送信処理を開始し、まず、問合せ元のコンピュートノード２内に定義されたすべてのイニシエータＩＴのイニシエータＩＤを確認する（Ｓ２０）。
【０１０７】
続いて、クラスタ制御部４２は、システム構成情報テーブル４３（図６）を参照して、ステップＳ２０で確認したイニシエータＩＤの中から１つのイニシエータＩＤを選択し（Ｓ２１）、選択したイニシエータＩＤのイニシエータＩＴから利用可能なすべての仮想ボリュームＶＶＯＬを検出し、検出した仮想ボリュームＶＶＯＬの中から１つの仮想ボリュームＶＶＯＬを選択する（Ｓ２２）。
【０１０８】
具体的に、クラスタ制御部４２は、システム構成情報テーブル４３のレコード（行）のうち、イニシエータＩＤ欄４３Ｂ（図６）にステップＳ２１で選択したイニシエータＩＤが格納されたレコードに対応する仮想ボリュームＶＶＯＬの中から１つの仮想ボリュームＶＶＯＬを選択する。
【０１０９】
次いで、クラスタ制御部４２は、ステップＳ２２で選択した仮想ボリュームＶＶＯＬと対応付けられている冗長化グループ４４でアクティブモードに設定された制御ソフト４０の位置情報として、その制御ソフト４０が配置されたストレージノード３のストレージノードＩＤと、その仮想ボリュームＶＶＯＬと対応付けられたターゲットＴＧのターゲットＩＤとを取得する（Ｓ２３）。
【０１１０】
具体的に、クラスタ制御部４２は、システム構成情報テーブル４３を参照して、ステップＳ２２で選択した仮想ボリュームＶＶＯＬのＬＵＮがＬＵＮ欄４３Ａに格納されたレコードであって、制御ソフトモード欄４３Ｃの区分された欄に「アクティブ（Active）」が格納されているレコードを特定し、そのレコードのストレージＩＤ欄４３Ｄ（図６）及びターゲットＩＤ欄４３Ｅ（図６）にそれぞれ格納されているストレージＩＤ及びターゲットＩＤを取得する。
【０１１１】
またクラスタ制御部４２は、ステップＳ２２で選択した仮想ボリュームＶＶＯＬと対応付けられている冗長化グループ４４でパッシブモードに設定された制御ソフト４０の位置情報として、その制御ソフト４０が配置されたストレージノード３のストレージノードＩＤと、その仮想ボリュームＶＶＯＬと対応付けられたターゲットＴＧのターゲットＩＤとを取得する（Ｓ２４）。
【０１１２】
具体的に、クラスタ制御部４２は、システム構成情報テーブル４３を参照して、ステップＳ２２で選択した仮想ボリュームＶＶＯＬのＬＵＮがＬＵＮ欄４３Ａに格納されたレコードであって、制御ソフトモード欄４３Ｃの区分された欄に「パッシブ（Passive）」が格納されているレコードを特定し、そのレコードのストレージＩＤ欄４３Ｄ（図６）及びターゲットＩＤ欄４３Ｅ（図６）にそれぞれ格納されているストレージＩＤ及びターゲットＩＤを取得する。
【０１１３】
さらにクラスタ制御部４２は、ステップＳ２２で選択した仮想ボリュームＶＶＯＬへの冗長パスの接続先となり得るターゲットＴＧの位置情報として、そのターゲットＴＧが定義されたストレージノード３のストレージノードＩＤと、そのターゲットＴＧのターゲットＩＤとを取得する（Ｓ２５）。
【０１１４】
具体的に、クラスタ制御部４２は、システム構成情報テーブル４３におけるステップＳ２３で特定したレコードのフォルトセットＩＤ欄４３Ｆ（図６）に格納されているフォルトセットＩＤが付与されたフォルトセットと、システム構成情報テーブル４３におけるステップＳ２４で特定したレコードのフォルトセットＩＤ欄４３Ｆに格納されているフォルトセットＩＤが付与されたフォルトセットとのいずれにも属さないストレージノード３の中から、例えば、負荷が最も少ない１つのストレージノード３を選択する。そしてクラスタ制御部４２は、選択したストレージノード３のストレージノードＩＤと、そのストレージノード３内に定義されたターゲットＴＧのターゲットＩＤとをシステム構成情報テーブル４３から取得する。
【０１１５】
続いて、クラスタ制御部４２は、ステップＳ２１で選択したイニシエータＩＴから利用可能なすべての仮想ボリュームＶＶＯＬについて、ステップＳ２２以降の処理を実行し終えたか否かを判断する（Ｓ２６）。
【０１１６】
クラスタ制御部４２は、この判断で否定結果を得るとステップＳ２２に戻り、この後、ステップＳ２２で選択する仮想ボリュームＶＶＯＬを、該当する仮想ボリュームＶＶＯＬのうちのステップＳ２３以降が未処理の仮想ボリュームＶＶＯＬに順次切り替えながら、ステップＳ２２〜ステップＳ２６の処理を繰り返す。
【０１１７】
そしてクラスタ制御部４２は、やがてステップＳ２１で選択したイニシエータＩＴから利用可能なすべての仮想ボリュームＶＶＯＬについてステップＳ２２以降の処理を実行し終えることによりステップＳ２６で肯定結果を得ると、ステップＳ２０で確認したすべてのイニシエータＩＤについてステップＳ２２以降の処理を実行し終えたか否かを判断する（Ｓ２７）。
【０１１８】
クラスタ制御部４２は、この判断で否定結果を得るとステップＳ２１に戻り、この後、ステップＳ２１で選択するイニシエータＩＤを、該当するイニシエータＩＤのうちのステップＳ２２以降が未処理のイニシエータＩＤに順次切り替えながら、ステップＳ２１〜ステップＳ２７の処理を繰り返す。
【０１１９】
そしてクラスタ制御部４２は、やがてステップＳ２０で確認したすべてのイニシエータＩＤについてステップＳ２１以降の処理を実行し終えることによりステップＳ２７で肯定結果を得ると、それまでのステップＳ２０〜ステップＳ２７の処理により得られたすべての情報を問合せ先のコンピュートノード２のマルチパス設定プログラム３２（図４）に送信し（Ｓ２８）、この後、このシステム構成情報送信処理を終了する。
【０１２０】
（４−３）マルチパス構成情報登録処理
一方、図１４は、図１２について上述したマルチパス設定処理のステップＳ１３においてマルチパス設定プログラム３２（図４）により実行されるマルチパス構成情報登録処理の処理内容を示す。マルチパス設定プログラム３２は、この図１４に示す処理手順に従って、対象仮想ボリュームＶＶＯＬへのマルチパスＭＰＳの構成情報をマルチパス構成情報テーブル３３（図７）に登録する。
【０１２１】
実際上、マルチパス設定プログラム３２は、マルチパス設定処理のステップＳ１３に進むとこの図１４に示すマルチパス構成情報登録処理を開始し、まず、マルチパス設定処理のステップＳ１０で取得したシステム構成情報に基づいて、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のアクティブモードに設定された制御ソフト（以下、これを対象仮想ボリュームＶＶＯＬの対応アクティブ制御ソフトと呼ぶ）４０が配置されたストレージノード３内に定義されたターゲットＴＧのうち、対象仮想ボリュームＶＶＯＬと対応付けられたターゲットＴＧにログインする（Ｓ３０）。
【０１２２】
このログインにより、このターゲットＴＧを介して利用可能なすべての仮想ボリュームＶＶＯＬについて、その仮想ボリュームＶＶＯＬへのパスＰＳ（図９）に関する必要な情報が初期状態の図示しないパスリストに登録される。ここで、マルチパス構成情報テーブル３３に登録される「必要な情報」とは、マルチパス構成情報テーブル３３のレコードのパス優先度欄３３Ｂ（図７）に格納するパス優先度以外の情報である。以下においても同様である。なお、マルチパス設定プログラム３２がかかるターゲットＴＧにログイン済みの場合には、このステップＳ３０の処理はスキップされる。
【０１２３】
続いて、マルチパス設定プログラム３２は、マルチパス設定処理のステップＳ１０で取得したシステム構成情報に基づいて、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のパッシブモードに設定された制御ソフト（以下、これを対象仮想ボリュームの対応パッシブ制御ソフトと呼ぶ）４０が配置されたストレージノード３内に定義されたターゲットＴＧのうち、対象仮想ボリュームＶＶＯＬと対応付けられたターゲットＴＧにログインする（Ｓ３１）。
【０１２４】
このログインにより、このターゲットＴＧを介して利用可能なすべての仮想ボリュームＶＶＯＬについて、その仮想ボリュームＶＶＯＬへのパスＰＳに関する必要な情報が上述のパスリストに登録される。なお、マルチパス設定プログラム３２がかかるターゲットＴＧにログイン済みの場合には、このステップＳ３１の処理はスキップされる。
【０１２５】
次いで、マルチパス設定プログラム３２は、ステップＳ３０及びステップＳ３１でパスリストに登録したパスのうち、対象仮想ボリュームＶＶＯＬ以外の仮想ボリュームＶＶＯＬへのパスを当該パスリストから削除する（Ｓ３２）。またマルチパス設定プログラム３２は、この後、対象仮想ボリュームＶＶＯＬへのパス数に余裕があるか否かを判断する（Ｓ３３）。
【０１２６】
そしてマルチパス設定プログラム３２は、この判断で否定結果を得ると、ステップＳ３５に進む。これに対して、マルチパス設定プログラム３２は、ステップＳ３３の判断で肯定結果を得ると、マルチパス設定処理（図１２）のステップＳ１０で取得した冗長パス候補の位置情報（図１３のステップＳ２５の説明を参照）に基づいて、かかる冗長パス設定候補に対応するターゲットＴＧにログインする（Ｓ３４）。
【０１２７】
このログインにより、このターゲットＴＧを介して利用可能なすべての仮想ボリュームＶＶＯＬへのパスＰＳに関する必要な情報が上述のパスリストに登録される。なお、マルチパス設定プログラム３２がかかるターゲットＴＧにログイン済みの場合には、このステップＳ３４の処理はスキップされる。
【０１２８】
続いて、マルチパス設定プログラム３２は、ステップＳ３４においてパスリストに登録したパスのうち、対象仮想ボリュームＶＶＯＬ以外の仮想ボリュームＶＶＯＬへのパスを当該パスリストから削除する（Ｓ３５）。この結果、ステップＳ３０〜ステップＳ３５の処理によりパスリストには、対象仮想ボリュームＶＶＯＬに関して、以下の（ＰＳ１）〜（ＰＳ３）の３種類のパスに関する情報が登録されている状態となる。
【０１２９】
（ＰＳ１）対象仮想ボリュームＶＶＯＬの対応アクティブ制御ソフト４０が稼動するストレージノード３内に定義されたターゲットＴＧのうち対象仮想ボリュームＶＶＯＬと対応付けられたターゲットＴＧと、自コンピュートノード２の対応するイニシエータＩＴとの間を接続するパス
（ＰＳ２）対象仮想ボリュームＶＶＯＬの対応パッシブ制御ソフト４０が稼動するストレージノード３内に定義されたターゲットＴＧのうち対象仮想ボリュームＶＶＯＬと対応付けられたターゲットＴＧと、自コンピュートノード２の当該イニシエータＩＴとの間を接続するパス
（ＰＳ３）システム構成情報送信処理（図１３）のステップＳ２５で位置情報が取得された冗長パス候補のパス
【０１３０】
次いで、マルチパス設定プログラム３２は、ステップＳ３０〜ステップＳ３５の処理によりパスリストに登録されている各パスに関する必要な情報をマルチパス構成情報テーブル３３に登録すると共に（Ｓ３６）、これらパスにそれぞれパス優先度を設定し（Ｓ３７）、この後、このマルチパス構成情報登録処理を終了してマルチパス設定処理（図１２）に戻る。
【０１３１】
（４−４）パス優先度設定処理
図１５は、図１４について上述したマルチパス構成情報登録処理のステップＳ３７においてマルチパス設定プログラム３２により実行されるパス優先度設定処理の処理手順を示す。マルチパス設定プログラム３２は、この図１５に示す処理手順に従って、上述のパスリストに登録されている各パスに関する必要な情報をマルチパス構成情報テーブル３３（図７）に登録すると共に、これらの各パスに対してパス優先度をそれぞれ設定する。
【０１３２】
実際上、マルチパス設定プログラム３２は、ストレージノード３の各制御ソフト４０がＳＣＳＩ（Small Computer System Interface）のＡＬＵＡ（Asymmetric Logical Unit Access）規格に対応しているか否かを判断する（Ｓ４０）。この判断は、マルチパス設定プログラム３２が各ストレージノード３の対応する制御ソフト４０に問い合わせ、そのとき得られた応答に基づいて行われる。
【０１３３】
そしてマルチパス設定プログラム３２は、この判断で肯定結果を得ると、自コンピュートノード２内のマルチパスソフト３１（図４）と協力して、直前のマルチパス構成情報登録処理（図１４）のステップＳ３６の処理でマルチパス構成情報テーブル３３に必要な情報を登録した各パスＰＳ（図９）のパス優先度をそのパスＰＳのＡＬＵＡのステート（State）に応じたパス優先度に決定し、決定したこれらパスＰＳのパス優先度をマルチパス構成情報テーブル３３の対応するエントリのパス優先度欄３３Ｂ（図７）に登録する（Ｓ４１）。そしてマルチパス設定プログラム３２は、この後、このパス優先度設定処理を終了してマルチパス構成情報登録処理（図１４）に戻る。
【０１３４】
これに対して、マルチパス設定プログラム３２は、ステップＳ４０の判断で否定結果を得ると、直前のマルチパス構成情報登録処理（図１４）のステップＳ３６の処理でマルチパス構成情報テーブル３３に必要な情報を登録した各パスＰＳに対して、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４を構成する各制御ソフト４０の配置位置に応じたパス優先度をそれぞれ設定する（Ｓ４２）。そしてマルチパス設定プログラム３２は、この後、このパス優先度設定処理を終了してマルチパス構成情報登録処理（図１４）に戻る。
【０１３５】
（４−５）ＡＬＵＡ利用パス優先度設定処理
図１６は、図１５について上述したパス優先度設定処理のステップＳ４１においてマルチパス設定プログラム３２により実行される処理（以下、これをＡＬＵＡ利用パス優先度設定処理と呼ぶ）の具体的な処理内容を示す。
【０１３６】
マルチパス設定プログラム３２は、パス優先度設定処理のステップＳ４１に進むとこの図１６に示すＡＬＵＡ利用パス優先度設定処理を開始し、まず、図１４について上述したマルチパス構成情報登録処理により上述のパスリストに登録されている各パスに対して、ＡＬＵＡのステート（State）に応じた優先度を設定するようマルチパスソフト３１に指示を与える（Ｓ５０）。
【０１３７】
そして、この指示を受領したマルチパスソフト３１は、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４を構成する各制御ソフト４０と、冗長パスＰＳが接続されるターゲットＴＧを有するストレージノード３内の当該ターゲットＴＧと接続された制御ソフト４０とに対してストレージサービスネットワーク４を介してReport Target Port Groupsコマンドを送信することにより、対応するパスＰＳのＡＬＵＡのステートをそれぞれ問い合せる（Ｓ５１）。
【０１３８】
かくして、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のアクティブモードに設定された制御ソフト４０は、かかるReport Target Port Groupsコマンドを受領すると、対応するパス（対応するコンピュートノード２のイニシエータＩＴと、その制御ソフト４０が配置されたストレージノード３内の対象仮想ボリュームＶＶＯＬと対応付けられたターゲットＴＧとを接続するパス）ＰＳのＡＬＵＡのステートとして、そのパスＰＳが最高のパフォーマンスが得られるパスであり、Ｉ／Ｏを完了するために上位レベルでのリダイレクトが不要であることを意味する「Active/Optimized」を返信する（Ｓ５２）。
【０１３９】
これに対して、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のパッシブモードに設定された制御ソフト４０は、かかるReport Target Port Groupsコマンドを受領すると、対応するパスＰＳのＡＬＵＡのステートとして、Ｉ／Ｏを完了するために上位レベルでのリダイレクトが必要であることを意味する「Active/Non-optimized」を返信する（Ｓ５２）。
【０１４０】
また冗長パスＰＳと接続されたストレージノード３のReport Target Port Groupsコマンドを受領した制御ソフト４０は、その冗長パスＰＳのＡＬＵＡのステートとして、サポートされていない状態であることを意味する「Standby」を返信する（Ｓ５２）。
【０１４１】
そしてマルチパスソフト３１は、これら制御ソフト４０からの応答に基づき、各パスＰＳのＡＬＵＡのステートに応じて、図１４について上述したマルチパス構成情報登録処理によりマルチパス構成情報テーブル３３（図７）に登録された各パスＰＳに対してパス優先度をそれぞれ設定する（Ｓ５３）。
【０１４２】
具体的に、マルチパスソフト３１は、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のアクティブモードに設定された制御ソフト４０が配置されたストレージノード３を経由するパスＰＳについてはパス優先度を最も高く設定すべく、マルチパス構成情報テーブル３３における対応するレコード（イニシエータＩＤ欄３３Ｄに自コンピュートノード２のイニシエータＩＴのイニシエータＩＤが登録され、ターゲットＩＤ欄３３Ｅにそのストレージノード３に定義された対応するターゲットＴＧのターゲットＩＤが格納されたレコード）のパス優先度欄３３Ｂに、そのパスＰＳが第１優先パスであることを意味する「第１優先」を格納する。
【０１４３】
またマルチパスソフト３１は、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のパッシブモードに設定された制御ソフト４０が配置されたストレージノード３を経由するパスＰＳについてはパス優先度を次に高く設定すべく、マルチパス構成情報テーブル３３における対応するレコードのパス優先度欄３３Ｂに、そのパスＰＳが第２優先パスであることを意味する「第２優先」を格納する。
【０１４４】
さらにマルチパスソフト３１は、冗長パスＰＳについては、パス優先度を第２優先パスの次に高く設定すべく、マルチパス構成情報テーブル３３における対応するレコードのパス優先度欄３３Ｂに、そのパスＰＳが冗長パスであることを意味する「冗長」を格納する。
【０１４５】
そしてマルチパス設定プログラム３２は、上述のようにしてマルチパスソフト３１が各パスＰＳのパス優先度を設定し終えると、このＡＬＵＡ利用パス優先度設定処理を終了してパス優先度設定処理（図１５）に戻る。
【０１４６】
（４−６）ＡＬＵＡ非利用パス優先度設定処理
一方、図１７は、図１５について上述したパス優先度設定処理のステップＳ４２においてマルチパス設定プログラム３２により実行される処理（以下、これをＡＬＵＡ非利用パス優先度設定処理と呼ぶ）の具体的な処理内容を示す。
【０１４７】
マルチパス設定プログラム３２は、パス優先度設定処理のステップＳ４２に進むとこの図１７に示すＡＬＵＡ非利用パス優先度設定処理を開始し、まず、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４を構成する制御ソフト４０のうち、アクティブモードに設定された制御ソフト４０が配置されたストレージノード３に定義された対応するターゲットＴＧへのパスＰＳについては、パス優先度を最も高い優先度に設定する（Ｓ６０）。
【０１４８】
具体的に、マルチパス設定プログラム３２は、マルチパス構成情報テーブル３３における対応するレコード（イニシエータＩＤ欄３３Ｄに自コンピュートノード２のイニシエータＩＴのイニシエータＩＤが登録され、ターゲットＩＤ欄３３Ｅにそのストレージノード３に定義された対応するターゲットＴＧのターゲットＩＤが格納されたレコード）のパス優先度欄３３Ｂに「第１優先」を格納する。
【０１４９】
またマルチパス設定プログラム３２は、対象仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４を構成する制御ソフト４０のうち、パッシブモードに設定された制御ソフト４０が配置されたストレージノード３に定義された対応するターゲットＴＧへのパスＰＳについては、パス優先度を次に高い優先度に設定する（Ｓ６１）。具体的に、マルチパス設定プログラム３２は、マルチパス構成情報テーブル３３における対応するレコードのパス優先度欄３３Ｂに「第２優先」を格納する。
【０１５０】
さらにマルチパス設定プログラム３２は、マルチパス構成情報テーブル３３におけるそのとき冗長パスに選定されたパスＰＳに対応するレコードのパス優先度欄３３Ｂに「冗長」を格納する（Ｓ６２）。
【０１５１】
そしてマルチパス設定プログラム３２は、この後、このＡＬＵＡ非利用パス優先度設定処理を終了してパス優先度設定処理に戻る。
【０１５２】
（５）本実施形態の効果
以上のように本実施形態の情報処理システム１では、仮想ボリュームＶＶＯＬへのマルチパスＭＰＳを設定する際、その仮想ボリュームＶＶＯＬと対応付けられた冗長化グループ４４のアクティブモードに設定された制御ソフト４０が配置されたストレージノード３の対応するターゲットＴＧと接続されたパスＰＳを第１優先パスに設定し、当該冗長化グループ４４のパッシブモードに設定された制御ソフト４０が配置されたストレージノード３の対応するターゲットＴＧと接続されたパスＰＳを第２優先パスに設定する。
【０１５３】
従って、冗長化グループ４４においてアクティブモードに設定されていた制御ソフト４０又はその制御ソフト４０が配置されたストレージノード３に障害が発生し、その冗長化グループ４４においてパッシブモードに設定されていた制御ソフト４０がアクティブモードに切り替えられた場合においても、コンピュートノード２がそのとき最短のパスＰＳを経由して仮想ボリュームＶＶＯＬにアクセスすることができる。
【０１５４】
よって、冗長化グループ４４において、かかるモードの切り替え（その冗長化グループ４４を構成する制御ソフト４０のパッシブモードからアクティブモードへの切り替え）が発生した場合においても、コンピュートノード２から見たクラスタ６の応答性能が低下するのを未然かつ有効に防止することができ、かくして耐障害性の高いマルチパスＭＰＳを設定することができる。
【０１５５】
また本情報処理システム１では、１つのコンピュートノード２から必要なターゲットＴＧに対してのみパスＰＳを設定するため、例えば、パスで利用する通信規格がｉＳＣＳＩの場合においても利用していないパスＰＳに流れ続ける不要なパケット数が少なく、その分、そのパケットによってストレージサービスネットワーク４のネットワーク帯域が浪費されるのを最低限に抑制することもできる。
【０１５６】
（６）他の実施形態
なお上述の実施形態においては、本発明を図１のように構成された情報処理システム１に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成の情報処理システムに広く適用することができる。
【０１５７】
また上述の実施の形態においては、ストレージノード３において、コンピュートノード２からのＩ／Ｏ要求を処理する制御部（制御ソフト４０）をソフトウェア構成とするようにした場合について述べたが、本発明はこれに限らず、かかる制御部をハードウェア構成とするようにしてもよい。
【産業上の利用可能性】
【０１５８】
本発明は、例えば、１又は複数のＳＤＳが実装された複数のストレージノードを備える情報処理システムに適用することができる。
【符号の説明】
【０１５９】
１……情報処理システム、２……コンピュートノード、３……ストレージノード、１１，２１……ＣＰＵ、３０……アプリケーション、３１……マルチパスソフト、３２……マルチパス設定プログラム、３３……マルチパス構成情報テーブル、４０……制御ソフト、４１……構成情報、４２……クラスタ制御部、４３……システム構成情報テーブル、４４……冗長化グループ、ＩＴ……イニシエータ、ＬＵ……論理ユニット、ＭＰＳ……マルチパス、ＰＳ……パス、ＴＧ……ターゲット、ＶＶＯＬ……仮想ボリューム。
【図１】
2019185328.tif 000003
【図２】
2019185328.tif 000004
【図３】
2019185328.tif 000005
【図４】
2019185328.tif 000006
【図５】
2019185328.tif 000007
【図６】
2019185328.tif 000008
【図７】
2019185328.tif 000009
【図８】
2019185328.tif 000010
【図９】
2019185328.tif 000011
【図１０】
2019185328.tif 000012
【図１１】
2019185328.tif 000013
【図１２】
2019185328.tif 000014
【図１３】
2019185328.tif 000015
【図１４】
2019185328.tif 000016
【図１５】
2019185328.tif 000017
【図１６】
2019185328.tif 000018
【図１７】
2019185328.tif 000019