(57)【要約】【課題】  複数のストレージネットワーク形態に対応したストレージ装置におけるボリューム割当において、ユーザがストレージネットワーク形態を特定せずに、相応のパス可用性を持つボリュームの割当設定が容易に行なえるようにすること。【解決手段】  ボリューム割当において、パスの可用性に関するパラメータを含むボリューム割当要件をユーザが指定するようにして、前記ボリューム割当要件を満たすようなボリュームおよびパスの選択、設定を行なう。この際に、前記パスの可用性に関するパラメータに応じて、実際に設定するパスだけでなく、パス障害時に利用可能なパスもチェックし、パス管理情報に格納する。前記パス管理情報にはボリューム割当要件も格納する。格納したボリューム割当要件に従いパスを選択、設定する。【選択図】  図４
2005115581.tif 000002
【特許請求の範囲】
【請求項１】
複数のストレージネットワーク形態を含むストレージネットワークシステムにおけるストレージパス制御方法であって、
パスの可用性に関するパラメータを含むボリューム割当要件を受け付け、
予め格納された機器構成管理情報を読み出し、
前記ボリューム割当要件と前記機器構成管理情報とに基づいて、使用するボリュームを決定し、
前記決定したボリュームと前記機器構成管理情報と前記ボリューム割当要件とに基づいて、前記パスの可用性に関するパラメータの条件を満たすように前記機器構成管理情報から機器の情報を抽出し、
前記抽出した機器の情報に基づいて、パス管理情報を作成することを特徴とするストレージパス制御方法。
【請求項２】
前記機器構成管理情報から機器の情報を抽出する場合に、前記パスの可用性に関するパラメータの条件を満たすように機器構成管理情報に含まれるホストポート識別子とストレージポート識別子とストレージ識別子とを抽出し、
前記抽出したホストポート識別子とストレージポート識別子とストレージ識別子とを対応づけた情報をパスとし、
前記パスをパス管理情報へ格納することを特徴とする請求項１記載のストレージパス制御方法。
【請求項３】
前記パス管理情報に格納された情報のうち、ホストポート識別子とストレージポート識別子とストレージ識別子とを対応づけた情報を１つのパスとして扱い、
前記パス管理情報に複数のパスが格納された場合、格納された複数のパスのうち、１つのパスの状態情報を現用のパスとして前記パス管理情報に登録し、他のパスの状態情報を待機用パスとして登録し、
前記現用のパスとして登録されたパスに障害が発生した場合は、前記パス管理情報に含まれる現用のパスの状態情報を障害として登録し、前記待機用パスの１つのパスの状態情報を現用へと変更して登録し、
前記障害が発生したパスから前記パスの状態情報を現用へと変更したパスへとパスの切り替え処理を行なうことを特徴とする請求項２記載のストレージパス制御方法。
【請求項４】
前記現用のパスとして登録されたパスに障害が発生した場合に、ストレージネットワーク構成に変更があるか否かを判定し、
前記判定した結果、ストレージネットワーク構成に変更がある場合には、
再度パス管理情報を作成し、前記作成したパス管理情報に基づいて、パスの切り替え処理を行なうことを特徴とする請求項３記載のストレージパス制御方法。
【請求項５】
前記パスの切り替え処理を行った後に、前記障害が発生したパスの障害が解除された場合は、
ユーザからのフェールバック要求を受け付け、
前記フェールバック要求に基づき、前記障害が解除されたパスの状態情報を現用としてパス管理情報に登録し、
前記フェールバック要求受け付け時点において、現用パスとして使用されているパスの状態情報を現用から待機へと変更してパス管理情報に登録し、障害が解除されたパスの状態情報を障害から現用へと変更してパス管理情報に登録し、
前記パス管理情報に基づいてパスの切り替え処理を行なうことを特徴とする請求項４記載のストレージパス制御方法。
【請求項６】
前記パスの可用性に関するパラメータとは、対象とするボリュームをホストに公開するときに設定するためのパスに含まれるストレージポートとホストポートの組合せ数で定義することを特徴とする請求項１記載のストレージパス制御方法。
【請求項７】
前記ボリューム割当要件とは、割当てるボリュームのサイズに関する条件、割当てるボリュームを公開する一つ以上のホストのリスト、ボリュームの提供イメージがブロックイメージであるかファイルイメージであるかを示す指標、ボリュームおよびパスを性能優先で検索するかコスト優先で選択するかを示す指標、公開先の全ホストにおける設定可能な冗長パス数の最小値のいずれか１つを含むことを特徴とする請求項１記載のストレージパス制御方法。
【請求項８】
ストレージネットワークにおけるパス制御方法であって、
予め擬似デバイスファイル名と実デバイスファイル名とパス情報とを対応づけた情報をデバイスファイルマッピング情報として格納し、
パスに障害が発生した場合に、前記デバイスファイルマッピング情報に基づいて、障害が発生したパスに対応する実デバイスドライバへ代替パス設定要求を発行し、
前記代替パス設定のための処理を、代替パスに対応する実デバイスドライバに委譲することにより、動的なパス設定を含むマルチパスに透過なボリュームアクセスを提供するデバイスドライバを具備することを特徴とするパス制御方法。
【請求項９】
コンピュータと複数のトポロジー機器とボリュームを含むストレージ装置とを含むシステムにおけるパス設定方法であって、
前記コンピュータは、ボリュームサイズの範囲とボリューム提供イメージと性能要求度と公開先ホストのリストと冗長パスの数とを含むボリューム割当要件を受け付け、
予め格納された、ボリュームの識別子とストレージ装置の識別子とボリュームの容量とボリュームの使用状況とを対応づけたボリューム情報を読み出し、
前記受け付けたボリュームサイズの範囲と前記読み出したボリューム情報に基づいて、使用するボリュームを決定し、
前記受け付けたボリューム提供イメージと性能要求度に基づいて、パスの設定のために用いるストレージネットワーク形態の優先順序のリストを作成し、
予め格納された、ホストポート識別子とホスト識別子とトポロジーグループ識別子とストレージネットワーク形態とを対応づけたホストポート情報と、ストレージポート識別子とストレージ識別子とトポロジーグループ識別子とストレージネットワーク形態とを対応づけたストレージポート情報とを読み出し、
前記作成したストレージネットワーク形態の優先順序のリストと前記受け付けた公開先ホストのリストと前記使用することが決定したボリュームの識別子と、前記読み出したホストポート情報とストレージポート情報に基づいて、前記公開先ホストから前記使用することが決定したボリュームへのパスを抽出する処理を前記受け付けた冗長パスの数以上になるまで繰り返して行ない、
前記抽出したパスをマルチパスリストとして出力し、
前記出力したマルチパスリストの最初のエントリに含まれるパスを現用のパスとして設定することを特徴とするパス設定方法。
【請求項１０】
前記公開先ホストから前記使用することが決定したボリュームへのパスを抽出する処理とは、
前記ホストポート情報から、前記受け付けた公開先ホストのリストに含まれるホスト識別子と前記作成したストレージネットワーク形態の優先順序リストに含まれるストレージネットワーク形態の識別子とトポロジーグループ識別子とホストポート識別子を含む第１のエントリを抽出し、
前記ストレージポート情報から、前記使用することが決定したボリュームの識別子と前記作成したストレージネットワーク形態の優先順位リストに含まれるストレージネットワーク形態の識別子とトポロジーグループ識別子とストレージポート識別子が含まれる第２のエントリを抽出し、
前記第１のエントリに含まれるトポロジーグループ識別子と前記第２のエントリに含まれるトポロジーグループ識別子が同じであるか否かを判定し、
前記判定結果、トポロジーグループが同じであれば、第１のエントリに含まれるホストポート識別子と第２のエントリに含まれるストレージポート識別子とストレージ識別子とを対応づけた情報をパスとすることを特徴とする請求項９記載のパス設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置の運用管理のための技術に関するものである。
【背景技術】
【０００２】
コンピュータ上で扱うデータ量は急激に増大している。このため、大量のデータを効率的に取り扱うことのできるストレージ・エリア・ネットワーク（ＳＡＮ）やネットワーク・アタッチド・ストレージ（ＮＡＳ）などのネットワーク構成をなすストレージ接続方法（以下、「ストレージネットワーク形態」）普及が進んでいる。
【０００３】
ＳＡＮは、大容量のデータ格納領域を備えたストレージ装置内の領域（以下「ボリューム」と呼ぶ）をネットワーク接続されたホストコンピュータ（以下「ホスト」と呼ぶ）に、ブロックイメージで提供するストレージネットワーク形態である。
【０００４】
ＳＡＮは、通常、共有アクセス管理機能は含まれず、ボリュームを複数のホストで共有アクセスする場合には、ホスト間でボリュームのアクセス制御する必要がある。ＳＡＮは構成するネットワークにより、ＦＣ−ＳＡＮやＩＰ−ＳＡＮなどに分類されることがある。
【０００５】
典型的なＦＣ−ＳＡＮの構成は、ホストに装着したホスト・バス・アダプタ（ＨＢＡ）からストレージ装置のポートとを、光ファイバなどのＦＣ（ファイバチャネル）ケーブルを用いて、ＦＣスイッチやＦＣハブ経由で接続したものである。
【０００６】
典型的なＩＰ−ＳＡＮの構成は、ホストに装着したネットワーク・インタフェース・カード（ＮＩＣ）から接続されたＬＡＮなどのネット（構成要素はイーサケーブル、ＩＰハブ、ＩＰルータなど）上に構築される。
【０００７】
ＮＡＳは、ネットワーク経由で共有アクセス管理されたファイルシステムをホストに提供するストレージネットワーク形態である。典型的なＮＡＳ装置は、ＬＡＮ規格で定められたネット等に直接接続するストレージ装置であり、ＮＦＳ(Network File System)やＣＩＦＳ(Common Internet File System)といったプロトコルによりホストとファイルイメージでのデータのやりとりが可能である。
【０００８】
さらに、ＮＡＳおよびＳＡＮのそれぞれ互いの長所を生かしたＮＡＳ  ｏｖｅｒ  ＳＡＮと呼ばれるストレージネットワーク形態もある。この形態は、ＮＡＳと同様にホストに共有管理されたファイルを見せるものである。データのアクセス方法がＮＡＳとは異なっており、メタデータ（ファイルの名称や、サイズ、ファイルシステムにおける階層構造情報など）のアクセスについては、ＮＡＳと同様の手法で共有アクセス制御を行ない、データブロックの転送は一般に高速なＦＣ−ＳＡＮの経路を介して行なうというものである。（以下、「ＮＡＳ  ｏｖｅｒ  ＳＡＮ」を「ＮＡＳ＋ＳＡＮ」と記述する。）
ＳＡＮを用いた技術として、ＳＡＮで複数のストレージ装置と複数のサーバとを接続したシステムにおけるストレージの記憶領域をユーザの要望に応じて割当てる方法がある（特許文献１参照）。
【０００９】
【特許文献１】米国特許出願公開第2002/0099914号
【発明の開示】
【発明が解決しようとする課題】
【００１０】
近年では、１筐体でＳＡＮ、ＮＡＳおよびＮＡＳ＋ＳＡＮのような複数のストレージネットワーク形態を扱う場合がある。このような、複数のストレージネットワーク形態に対応したストレージ装置（以下、「マルチネットワーク形態対応ストレージ」と呼ぶ）では、それぞれのストレージネットワーク形態に応じたデータ格納領域の割当を行なう必要がある。
【００１１】
また、ストレージ装置のボリュームからホストに至るまでのデータ転送経路（以下「パス」）は、以下のような様々なデバイスを経る。
・ストレージ装置のボリューム
・ストレージ装置のポート（以下「ストレージポート」）
・ＦＣスイッチやＩＰハブといったトポロジー機器
・ホストのＨＢＡあるいはＮＩＣ（総称して「ホストポート」と呼ぶ）
尚、上記のデバイス等は一例であり、これら以外のものでもよい。
【００１２】
ストレージネットワーク形態では、これらの各デバイスは冗長化されていることが多い。重要なサービスを提供するためのデータを格納するボリュームを割当てる際には、パス障害に備えて、複数のパスを設定するというケースがある。
【００１３】
こういった状況において、ボリュームを割当てるということは、単にボリュームを選択するというだけではなく、どのストレージネットワーク形態によってボリュームをホストに公開して、パスについてどのデバイスを経由するか、どう冗長化するかなどを、ボリュームに求められる要件に従い、適切に選択・設定する必要がある。
【００１４】
特にマルチネットワーク形態対応ストレージの場合、パス障害発生の際の代替パスは、当初のパスのストレージネットワーク形態とは異なるパスも候補に入れてパスの選択やパスの設定を行なう必要がある。
【００１５】
ところが、ストレージネットワーク形態毎に使えるツールが異なると、予めストレージネットワーク形態を決めてから、それぞれのストレージネットワーク形態に対応したツールを利用しなければならない。
【００１６】
また、ツールとして複数のストレージネットワーク形態に対応していても、ツール内で明示的にストレージネットワーク形態を指定する必要があった。
【００１７】
このように、利用者（ストレージ管理者）は、各ストレージネットワーク形態の得失を理解し、現状のシステムにおいて設定可能なストレージネットワーク形態を（場合によってはいくつものツールを駆使して）手動で調査した結果に基づいてストレージ装置の割当てを行なう等のように、ストレージを管理する際に大きな負担が強いられていた。
【００１８】
とくにストレージネットワーク形態間でのフェールオーバーも視野に入れて、相応のパス冗長性を確保するようなボリューム割当は困難であった。
【００１９】
複数のストレージネットワーク形態に対応するストレージ装置を含むストレージネットワーク環境下で、パス障害が発生した場合も考慮して、好適なボリュームおよびパスを選択、設定することは複雑な作業でありストレージ管理者の大きな負荷となる。
【００２０】
本発明では、この問題を解決するため、以下のことを目的とする。
・利用者が、ストレージネットワーク形態を事前に特定せずにボリューム割当を行なえること。言い換えると、利用者が指定したボリューム割当ての指示に基づいて、ストレージネットワークの形態に対応したパスの割当てが可能となること。
・前記において割当てられるボリュームは、ストレージ管理者が望むレベル以上のパス可用性を有するようにすること。
・自動的に障害を検知し代替のパスの設定が行なわれこと、あるいは容易に代替パスの選択、設定が可能な手段を提供すること。この際の代替パスは、異なるストレージネットワーク形態によるパスも含めて考慮する。
・構成変更がなされていた場合でも、ボリューム割当時のストレージ管理者の要求に基づき、代替パスを選択、設定できること。
・パス障害の要因が回復した場合に、ストレージ管理者の指示に従い、以前のパスの設定に戻すこと（フェールバック）が容易に行なえること。
【課題を解決するための手段】
【００２１】
本発明の複数のストレージネットワーク形態を含むストレージネットワークシステムにおけるストレージパス制御方法であって、パスの可用性に関するパラメータとボリュームに関するパラメータとを含むボリューム割当要件を受け付け、予め格納されたパスを管理するための情報を読み出し、前記受け付けたボリュームに関するパラメータに基づいて、使用するボリュームを決定し、前記読み出したパスを管理するための情報と前記ボリューム割当要件とに基づいて、前記決定したボリュームを利用するためのパスを抽出することを特徴とする。
【００２２】
また、本発明では、前記課題を解決するために、設定したパス（現用パス）および障害発生に備えたパス（待機パス）および障害が発生したパス（障害パス）を管理するために、パス管理情報を備える。
【００２３】
ボリューム割当において、パスの可用性に関するパラメータを含むボリューム割当要件をストレージ管理者が指定するようにして、前記ボリューム割当要件を満たすようなボリュームおよびパスの選択、設定を行なう。この際に、前記パスの可用性に関するパラメータに応じて、実際に設定するパスだけでなく、パス障害時に利用可能なパスもチェックし、パス管理情報に待機用パスとして格納する。前記パス管理情報にはボリューム割当要件も格納する。
【００２４】
パス障害が発生したときは、構成に変更がなければ、前記パス管理情報を利用して代替のパスの選定および設定を行ない、構成に変更があれば、前記パス管理情報に格納したボリューム割当要件に基づいてパスを選択、設定する。
【００２５】
パス障害回復した後は、ユーザの指示に従い、当初のパスに戻す設定を行なう。
【発明の効果】
【００２６】
ストレージ管理者は、パス可用性に関するパラメータを含むボリューム割当要件を指定してボリューム割当要求を行なうことにより、ボリューム割当設定やストレージのパスの設定を容易に行なうことができる。
【発明を実施するための最良の形態】
【００２７】
以下に図を用いて発明の実施例を説明する。本実施例は、複数のストレージネットワーク形態に対応したストレージ装置の運用管理に関するものである。ユーザからのボリューム割当要件に基づき、ボリュームおよびホストへの経路等を選択し、ボリューム割当を行なう方法に関するものである。また、異なるストレージネットワーク形態間のフェールオーバー機能を想定してボリューム割当時にパスの可用性を確保する技術に関するものでもある。
【００２８】
（実施の形態１）
システム構成の例について図１を用いて説明する。ここに示すシステム構成例は実施の形態１〜３において共通である。
【００２９】
本実施例の中心的役割を果たす運用管理サーバ１０は、ＬＡＮ（ローカルエリアネットワーク）９１で接続された運用管理端末２０からの要求を受け取る。運用管理サーバ１０は、受信した要求に基づいて、運用管理用ネットワーク９２で接続されたホスト３０、トポロジー機器４０およびストレージ装置５０を制御する。なお、ＬＡＮ９１と運用管理用ネットワーク９２とは同一のネットワークであっても、差し支えない。また、ネットワークは、他の用途のネットワークと共用してもよいし、用途を定めなくてもよい。
【００３０】
運用管理サーバ１０は、プロセッサ１１、主記憶装置１２および二次記憶装置１３などを含む。
【００３１】
主記憶装置１２上には、ストレージ運用管理プログラム６０があり、ボリューム割当部６１、マルチパス選択部６２、ストレージネットワーク形態優先順位付け部６３および代替パス設定部６４によって構成される。二次記憶装置１３上には、機器構成管理情報８１およびパス管理情報８８が管理される。各管理情報の構成は後述する。
【００３２】
ホスト３０上では、ＤＢＭＳやＷｅｂサーバなどの各種の業務で用いるアプリケーションプログラム（業務アプリケーション）が稼動する。ホスト３０は、システム上複数存在しても構わない。ホスト３０には１つ以上のポート３９があり、そこからトポロジー機器４０に接続される。ホスト３０にはホストエージェント３１が実装されている。ホストエージェント３１は、運用管理サーバ１１からのホストに関する要求を、ホスト上で実行するという役割を担う。ホストエージェント３１には、動的パス切替部３２を有している。
【００３３】
トポロジー機器４０は、例えばファイバチャネルスイッチやファイバチャネルハブ、あるいはＬＡＮ規格で定められたネット用のルータ、ハブなどストレージネットワーク接続用の装置である。これらのトポロジー機器は複数のポートを持ち、ファイバチャネル用ケーブルやＬＡＮ規格で定められたネット用ケーブル（イーサケーブル）などでホスト３０やストレージ装置５０に接続される。
【００３４】
尚、これらのネットワーク接続用の装置は一例であり、上述した以外の装置を用いて異なるプロトコルや形態のネットワークと接続してもよい。
【００３５】
ストレージ装置５０には、トポロジー機器経由でホスト３０に割当可能なボリューム５１が１つ以上格納されている。ストレージ装置５０は複数存在しても構わない。ストレージ装置５０には１つ以上のポート５９があり、そこからトポロジー機器４０に接続される。ストレージ装置５０の例として、たとえばＲＡＩＤなどがある。
【００３６】
ホスト３０、トポロジー機器４０およびストレージ装置５０それぞれの機器構成に関する情報である機器構成管理情報８１は、ホスト管理機能７１、トポロジー管理機能７２およびストレージ管理機能７３において運用管理用ネットワーク９２を経由して各管理対象機器から情報を取得して二次記憶装置１３上に保持される。
【００３７】
尚、ストレージ運用管理プログラム６０、ホスト管理機能７１、トポロジー管理機能７２、ストレージ管理機能７３、エージェント等は、それぞれ別プログラムとして実装してもよいし、これらのいずれかの機能をライブラリとして利用してもよいし、これらのいずれかの機能を統合したプログラムとして提供してもよいし、それぞれが独立したプログラムとして異なるコンピュータで実行してもよい。
【００３８】
(構成の具体例)
図２に本実施例の説明に用いる管理対象機器の構成の具体例を示す。ここに示すシステム構成例は実施の形態１〜５において共通である。
【００３９】
この具体例は、２台のホスト、２台のトポロジー機器および２台のストレージ装置からなる。２台の各ホストにはホストを一意に特定するための識別子が付されており、それぞれ「Ｈ１（２００）」「Ｈ２（２０４）」である。
【００４０】
２台の各トポロジー機器にはトポロジー機器を特定するための識別子が付されており、それぞれ「Ｔ１（２０７）」、「Ｔ２（２０８）」である。２台のストレージ装置も同様に特定するための識別子が付されており、それぞれ「Ｓ１（２１５）」「Ｓ２（２２２）」である。
【００４１】
ホストＨ１にはＦＣ用のポートが１つ（識別子は「Ｈ１Ｐ１（２０１）」）、ＩＰ用のポートが２つ（識別子は「Ｈ１Ｐ２（２０２）」、「Ｈ１Ｐ３（２０３）」）装着されており、ポートＨ１Ｐ１はトポロジー機器Ｔ１に接続されていて、ポートＨ１Ｐ２およびポートＨ１Ｐ３はトポロジー機器Ｔ２に接続されている。
【００４２】
ホストＨ２にはＩＰ用のポートが２つ（識別子は「Ｈ２Ｐ１（２０５）」、「Ｈ２Ｐ２（２０６）」）装着されており、２つともトポロジー機器Ｔ２に接続されている。
【００４３】
ストレージ装置Ｓ１にはＦＣ用のポートが２つ（識別子は「Ｓ１Ｐ１（２０９）」、「Ｓ１Ｐ２（２１０）」）、ＩＰ用のポートが１つ（識別子は「Ｓ１Ｐ３（２１１）」）装着されており、ポートＳ１Ｐ１およびＳ１Ｐ２はトポロジー機器Ｔ１に接続されていて、ポートＳ１Ｐ３はトポロジー機器Ｔ２に接続されている。
【００４４】
ストレージ装置Ｓ２にはＦＣ用のポートが１つ（識別子は「Ｓ２Ｐ１（２１６）」）、ＩＰ用のポートが２つ（識別子は「Ｓ２Ｐ２（２１７）」、「Ｓ２Ｐ３（２１８）」）装着されており、ポートＳ２Ｐ１はトポロジー機器Ｔ１に接続されていて、ポートＳ２Ｐ２およびＳ２Ｐ３はトポロジー機器Ｔ２に接続されている。
【００４５】
ストレージ装置Ｓ１にはボリュームが３個あり、それぞれ識別子は「Ｓ１Ｖ１（２１２）」「Ｓ１Ｖ２（２１３）」「Ｓ１Ｖ３（２１４）」であり、容量がそれぞれ１０ＧＢ、５ＧＢ、３ＧＢであるとする。
【００４６】
ストレージ装置Ｓ２にはボリュームが３個あり、それぞれ識別子は「Ｓ２Ｖ１（２１９）」「Ｓ２Ｖ２（２２０）」「Ｓ２Ｖ３（２２１）」であり、容量はそれぞれ１０ＧＢ、５ＧＢ、３ＧＢである。
【００４７】
トポロジー機器Ｔ１はＦＣ用のスイッチであり、ホストＨ１、ストレージ装置Ｓ１およびストレージ装置Ｓ２に接続されている。
トポロジー機器Ｔ２はＩＰ用のハブであり、ホストＨ１、ホストＨ２、ストレージ装置Ｓ１およびストレージ装置Ｓ２に接続されている。
【００４８】
（ＤＢ表の記述方法）
図２に示す構成をなしている場合を例にとって、本実施例で使用される管理情報の構造について図３および図４を用いて説明する。
【００４９】
これらの図で用いている表の表記方法に関して、特定のフィールドが連続するレコードにおいて同一の値である場合、わかりやすさを考慮して、それらを結合してひとつのセルとして表記している箇所がある。尚、この表記は一例であり、格納される情報はツリー構造で格納していてもよいし、関連するデータをポインタで接続してもよいし、その他のものでもよい。
【００５０】
（機器構成管理情報）
機器構成管理情報８１は図３に示すように、ボリューム表８２、ホスト表８３、ホストポート表８４、ストレージポート表８５を含む。またパス管理情報８８は図４に示すように、パス表８９を含む。
【００５１】
なお、これらのフィールド構成は一つの例であり、これらと異なるフィールド構造の表であっても、差し支えない。また、関係データベース（ＲＤＢ）における正規化の技法などによって一つの表を複数の表に分解したり、逆に複数の表を一つの表にまとめたりしたデータ構造であっても、差し支えない。また、パス表８９にトポロジー機器（スイッチやハブ等）の名前やトポロジー機器のポートの識別子を含んでもよい。
【００５２】
ボリューム表８２は、ストレージ装置５０内のボリューム５１に関する情報を管理する。ボリュームＩＤ８２１は、ボリューム５１のそれぞれを区別するために用いられる識別子を格納するフィールドである。ストレージＩＤ８２２は、ボリュームが属するストレージ装置５０の識別子を格納するフィールドである。容量８２３はそのボリュームの容量を示し、使用状況８２４はそのボリュームがホスト３０に割当済みかどうかを示すフィールドである。
【００５３】
ホスト表８３は、ホストに関する情報を管理する。ホストＩＤ８３１はホストの識別子を格納するフィールドである。ストレージネットワーク形態８３２はそのホストにおいて対応可能なストレージネットワーク形態の種別が格納されている。図３に示す例では、ホストＨ１においてはＮＡＳ、ＮＡＳ＋ＳＡＮ、ＦＣ−ＳＡＮおよびＩＰ−ＳＡＮそれぞれのネットワークストレージ形態に対応であることを示し、またホストＨ２においてはＮＡＳ、ＮＡＳ＋ＳＡＮおよびＩＰ−ＳＡＮに対応できるように設定されていることを示す。
【００５４】
ここで、トポロジーグループについて説明する。
トポロジーとは、ネットワークやデバイスなどの物理的又は論理的な配置を意味する。たとえば、ファイバチャネルを用いたトポロジーには、ポイントツーポイント(Point-to-Point)型やファブリック(fabric)型やアービトレーテッド・ループ(arbitrated loop)型などの構成がある。
トポロジーグループはホスト３０、トポロジー機器４０、ストレージ装置５０の間の物理的な結線状態とトポロジー機器４０におけるゾーニング設定により決定するものである。
【００５５】
ゾーニング(zoning)の設定とは、特定のサーバが特定のストレージ装置にアクセスできる範囲を定めることである。アクセス可能な範囲を設定することにより、ストレージデバイスにアクセスできるホスト数を制限することも可能である。また、ゾーニングの設定によりサーバ間通信に制限を設けることも可能である。
【００５６】
ゾーニングには、ハードウエアゾーニング(hard zoning)とソフトウエアゾーニング(soft zoning)がある。
ハードゾーニングでは、スイッチのポートのＷＷＮ(World Wide Name)を用いてゾーニングを決定する。また、ソフトゾーニングでは、スイッチに接続するホストポートやストレージポートのＷＷＮを用いて、どのホストがどのゾーンに属するかを決定する。
【００５７】
ゾーニング設定を行った場合は、ゾーニングによるグループとホストポートやストレージポートとを関連づけた情報に、ユニークなＩＤをつけてトポロジーグループとして管理する。これにより、同一のトポロジーグループＩＤが付与されたホストポートやストレージポート同士は接続可能であり、異なるトポロジーグループＩＤが付与されたホストポート等は接続できないと判定できる。
【００５８】
ゾーニングが設定されていない場合には、同一のスイッチの全ポートが同一のグループであると見なし、上述の方法と同様に、グループとホストポートやストレージポートとを対応づけてトポロジーグループとして管理してもよい。
【００５９】
直結の場合には、直結されたホストポートとストレージポートの２つのポートをグループとみなし、このグループにトポロジーグループＩＤを付与して管理してもよい。
【００６０】
トポロジーグループを決定する処理は、トポロジー管理機能７２が行なう。トポロジー管理機能７２は、スイッチやハブ等のトポロジー機器から、スイッチやハブの初期結線完了の情報、スイッチやハブの配線変更の情報、ゾーニング設定の情報、ゾーニング変更の情報、各種機器のポートＩＤやＷＷＮなどの情報を受信し、当該情報に基づいてトポロジーグループを決定する。
【００６１】
トポロジーグループＩＤは、結線完了時や配線変更やゾーニング設定やゾーニングの変更等の状況に応じて「スイッチ／ハブのＩＤ＋スイッチ／ハブの内部通番」などを用いて定めてもよいし、システム管理者等のユーザの指定に基づいてトポロジーグループＩＤを定めてもよいし、その他の方法でもよい。
【００６２】
このようにトポロジーグループを用いることで、パスの候補を求める際に、任意のストレージポートやホストポートが、直結されているのか、ゾーニングの設定がされているか等の条件を調べなくとも、トポロジーグループＩＤが一致しているという条件にもとづいて、接続できるか否かを判定することができる。
【００６３】
本実施例の場合、トポロジーグループは、ホストポートおよびストレージポートの集まりである。ひとつのホストポートは２つ以上のトポロジーグループには属さない。同様にひとつのストレージポートは２つ以上のトポロジーグループには属さない。
【００６４】
ホストポートとストレージポートが異なるトポロジーグループに属する場合、それらのポート間ではデータ転送が行なえないことを示す。
【００６５】
このような概念により、詳細な物理的な結線情報およびゾーニングに関する情報を利用する代わりに、より容易にポート間の接続可能性を知ることができる。
【００６６】
このトポロジーグループは、トポロジー管理機能７２により取得できる。簡単な例として、ストレージネットワークにおいて、トポロジー機器同士の結線がなく、かつ個々のトポロジー機器でゾーニング設定がなされていない場合、同一のトポロジー機器に接続されたストレージポートおよびホストポートがひとつのトポロジーグループを構成する。
【００６７】
図３の例がそれに該当し、ここではトポロジー機器Ｔ１に接続されたポートの集まりを「ＴＧ１」という識別子が付されたトポロジーグループとし、トポロジー機器Ｔ２に接続されたポートの集まりを「ＴＧ２」という識別子が付されたトポロジーグループと呼ぶものとする。
【００６８】
ホストポート表８４は、ホストに装着されたポート３９に関する情報を管理する。ホストポートＩＤ８４１はホストに装着されてポートの識別子を格納するフィールドである。ホストＩＤ８４２はポートが装着されているホストの識別子である。トポロジーグループＩＤ８４３は前記のトポロジーグループに付された識別子を格納するためのフィールドである。ストレージネットワーク形態８４４は該当のポートを通じてホスト−ストレージ装置間のデータ転送を行なう際に利用可能なストレージネットワーク形態を示している。
【００６９】
ストレージポート表８５は、ストレージ装置に装着されたポート５９に関する情報を管理する。ストレージポートＩＤ８５１はストレージ装置に装着されたポートの識別子を格納するフィールドである。ストレージＩＤ８５２はポートが装着されているストレージ装置の識別子である。トポロジーグループＩＤ８５３は前記のトポロジーグループに付された識別子を格納するためのフィールドである。ストレージネットワーク形態８５４は該当のポートを通じてホスト−ストレージ装置間のデータ転送を行なう際に利用可能なストレージネットワーク形態を示している。
【００７０】
（パス管理情報）
パス表８９（図４参照）は、パスの情報を管理するものである。パスは、ストレージ装置上のボリュームをホストに公開する際のデータ伝送経路であり、実際に設定されるパスはボリューム、ストレージポート、ホストポートおよびストレージネットワーク形態の組合せにより一意に定まる。別の見方をすれば、あるボリュームをあるホストへ公開する際には、ストレージポート、ホストポートあるいはストレージネットワーク形態が異なるパスも存在可能であるということである。
【００７１】
ホストがストレージを認識する場合に、接続するために必要な条件を満たせば、複数のパスを介して認識することも可能であるし、異なる形態のネットワークを介して認識することも可能である。
【００７２】
本実施例においては、パス表８９にはデータ転送経路として実際に設定されるパス（現用パス）だけでなく、障害時に現用パスの替わりに設定するパスの候補（待機パス）も併せて管理する。このことは本実施例の特徴のひとつである。
【００７３】
パス表８９を構成する各フィールドについて説明する。パスを構成するボリューム、ストレージポートおよびホストポートについての情報は、それぞれの識別子がボリュームＩＤ８９２、ストレージポートＩＤ８９４およびホストポートＩＤ８９６の各フィールドに格納される。
【００７４】
ストレージＩＤ８９１は、パスの経路上にあるボリュームおよびストレージポートを内蔵するストレージ装置の識別子である。ホストＩＤ８９５は、そのパスによってボリュームを公開されるホスト（かつホストポートを持つホストでもある）の識別子である。容量８９３はボリュームの容量を示す。
【００７５】
パスのストレージネットワーク形態は、ストレージネットワーク形態８９８のフィールドに格納される。ただし、ＮＡＳ＋ＳＡＮについては、２つのレコードによって管理される。つまり一方はＮＡＳ用のパス、つまりファイルのメタ情報を伝送するデータ経路であり、もう一方はＳＡＮ用のパス、つまりブロックデータを転送するデータ経路である。
【００７６】
図４のストレージネットワーク形態８９８において、ＮＡＳ用のパスについては、「ＮＡＳ＋ＳＡＮ＿ＮＡＳ」と表記し、ＳＡＮ用のパスについては「ＮＡＳ＋ＳＡＮ＿ＳＡＮ」と表記する。
【００７７】
パス表８９では、前述のように実際に設定されているパスだけでなく、代替パスの候補として実際には設定されていないパスも管理する。状態８９７はそのパスが実際に設定されているパス（現用）なのか代替パスの候補として登録されたもの（待機）であるかを示すフィールドである。
【００７８】
ボリューム割当要件８９９は、ボリュームを割当てる際にユーザが指定したボリューム要件である。ボリューム割当要件の詳細については後述する。
【００７９】
（ボリューム割当要件の開示）
ここで、ボリューム割当要件について説明する。
【００８０】
本実施例におけるボリューム割当要件は、ボリュームを割当てる際にユーザが指定するパラメータの組であり、ストレージネットワーク形態を直接的に示していないことを特徴とするものである。尚、ユーザが運用管理端末２０へデータを入力し、運用管理端末２０が入力されたデータを運用管理サーバ１０へ送信し、運用管理サーバ１０が受信したデータに基づいてボリュームの割当てをしてもよいし、その他の方法でパラメータの指定を受け付けてもよい。
【００８１】
システムでは、ボリュームを割当てるための要件を満たす一つ以上のストレージネットワーク形態、一つのボリュームおよび一つ以上のパスの選択を試み、可能であれば選択に従ってボリューム割当設定を実行し、そうでなければ要件を満たすボリューム割当はできない旨を通知する。
【００８２】
さらに、本実施例で開示する方法は、パスの可用性に関する要件を含むことも特徴とするものである。つまり、パスの障害発生時に代替パスの設定可能性を指定したレベル以上に保っているようなストレージネットワーク形態、ボリュームおよびパスの組を選択・設定するボリューム割当手段を開示するものである。
【００８３】
以下では、ボリューム割当要件として、下記＜リスト１＞で示す５つのパラメータの組をユーザに指定させることにより、好適にストレージネットワーク形態、ボリュームおよびパスの選択を行ない、ボリューム割当設定を実行する実現する手段を開示する。
【００８４】
＜リスト１＞  ボリューム割当要件９９
（１）ボリュームサイズ範囲
（２）ボリューム提供イメージ
（３）性能要求度
（４）公開先ホストのリスト
（５）冗長パス数
【００８５】
第１のパラメータ「ボリュームサイズ範囲」は２つの数値の組で構成され、割当てるべきボリュームの容量の下限値および上限値を示す。
第２のパラメータ「ボリューム提供イメージ」は、割当てるボリュームを「ファイルイメージ」で利用するのか、あるいは「ブロックイメージ」で利用するのかを示す指標である。
第３のパラメータ「性能要求度」はストレージネットワーク形態がいくつか選択可能である場合に、性能およびコストのトレードオフに関してどちらを重視するかを指定するものである。このパラメータは「性能優先」あるいは「コスト優先」のいずれかの値を指定する。
【００８６】
第４のパラメータ「公開先ホストのリスト」は割当てるボリュームを公開すべきホストの集合である。ホストの識別子を”｛”および”｝”で括って”，”で区切って表記するものとする。例えば識別子がＨ１であるホストと識別子がＨ２であるホストを公開先のホストとする場合は、｛Ｈ１，Ｈ２｝と記す。識別子がＨ２であるホストにのみ割当てたボリュームを公開する場合には、｛Ｈ２｝というように記述するものとする。尚、上述の記載方法は、ホストを指定のための一例であり、この他の方法で記載してもよい。
【００８７】
第５のパラメータ「冗長パス数」はパスの可用性に関するパラメータの１具体例であり、ボリュームをホストに割当てる際に設定可能なパスの本数をどれだけ確保すべきか指定するものである。この指定により、ストレージネットワークに障害や性能の劣化などが発生した場合に、障害が発生したパス（又は、性能が劣化したパス）から他のパスへの振替処理の候補を選定するための指標とすることができる。
【００８８】
尚、これらのパラメータの指定は一例であり、これ以外の項目（ストレージ装置の識別子等）を指定してもよいし、上述した順序で指定せずに順序を変えて指定してもよいし、その他の方法で指定してもよい。
【００８９】
第１の実施の形態の具体例として、図２に示すシステム構成のおいて、ユーザが運用管理端末２０から、ボリューム割当要件として次の＜リスト２＞に示すパラメータを指定して、ボリューム割当要求を発行した場合について説明する。尚、以下の＜リスト２＞は、ユーザが入力するパラメータの一例であり、これ以外のものでもよい。たとえば、ストレージＩＤを指定してもよい。
【００９０】
＜リスト２＞  ボリューム割当要件９９Ａ
（１）ボリュームサイズ範囲  ＝  ４ＧＢ以上６ＧＢ以下
（２）ボリューム提供イメージ  ＝  ブロックイメージ提供
（３）性能要求度  ＝  性能優先
（４）公開先ホストのリスト  ＝  ｛Ｈ１｝
（５）冗長パス数  ＝  ３本以上
【００９１】
運用管理サーバ１０では、運用管理端末２０からのボリューム割当要求を受けると、ボリューム割当部６１に制御を渡す。
【００９２】
この後、フローチャートを用いて具体的な処理方法については説明していくが、ここで本明細書のフローチャートにおけるループ処理の記述方法について説明しておく。図５のステップ６１０２やステップ６１０４のように上辺が短い六角形はループ開始を意味するものとし、六角形内部にループの回し方を記すものとする。また、ステップ６１０７、ステップ６１０８のように下辺が短い六角形はループ終了を示す記号であるものとする。ループ開始とループ終了は必ず組となって現れる。
【００９３】
これらループ開始・ループ終了の組は入れ子になって多重ループを構成することもあり、その場合は説明の中で対応するループ開始およびループ終了を明記するものとする。
【００９４】
（ボリューム割当処理フロー）
図５のフローチャートを用いて、ボリューム割当処理６１０の例を示す。
【００９５】
ボリューム割当処理６１０の入力はボリューム割当要件である。この入力データは、ユーザが指定したボリューム割当要件９９の情報である。
【００９６】
ステップ６１０１で機器構成管理情報８１のボリューム表８２のストレージＩＤ８２２からストレージリストを取得する。図２に示す構成例の場合だと、ストレージＳ１およびストレージＳ２がストレージリストのエントリとなる。
【００９７】
ステップ６１０２はループの開始であり、対応するループ終了はステップ６１０７である。このループ内（ステップ６１０３〜ステップ６１０６）ではストレージリストの各エントリ（ストレージ）についてボリューム割当要件を満たすかどうかを調べる処理を行なう。
ボリューム割当要件を満たすストレージがあれば、ステップ６１０６を経由してループから脱出し、ステップ６１０９に進む。そうではなく、ボリューム割当要件を満たすストレージが存在しなければ、ステップ６１０７のループ終了を抜けて、ステップ６１０８に至り、例えば指定の割当要件を満たすボリュームは存在しない旨のメッセージを画面やファイル等に出力し、エラーとして処理を終了する。
【００９８】
続いて、このループ内の処理について説明する。ステップ６１０３でボリューム割当要件の一つであるボリュームサイズ範囲内の未使用ボリュームがカレントストレージにあるかどうかをチェックする。このチェックは、ボリューム表８２に対して、ストレージＩＤ８２２がカレントストレージ、容量８２３が指定の範囲、使用状況が「未割当」であるという条件で検索すればよい。
【００９９】
尚、カレントストレージとは、たとえば、複数のエントリがある表を順序に従って参照する場合に、現在参照しているエントリに含まれるストレージＩＤが指すものを意味する。
また、他の項目（ホスト、ストレージネットワーク形態など）についても同様である。複数のエントリが含まれる表を参照する際に、現在参照しているエントリに含まれる項目や現在参照しているエントリに含まれるＩＤが指すものを、カレントホストまたはカレントストレージネットワーク形態と呼ぶ。
【０１００】
もし、条件を満たすボリュームがなければ、カレントストレージはボリューム割当要件を満たせない。このため、カレントストレージの次のストレージを調べる。
【０１０１】
ボリューム割当要件９９Ａが指定された場合では、容量８２３が４ＧＢ以上６ＧＢ以下であり、かつ、使用状況８２４が「未割当」であるボリュームについて、検索を実行する。そして、カレントストレージがＳ１である場合（１回目のループ時）には、ボリュームＳ１Ｖ２が該当することになる。
【０１０２】
条件を満たすボリュームが１件以上あれば、そのうちの任意の１ボリュームを割当用のボリュームとして一旦仮決めして、次には公開先ホストリストの全エントリ（ホスト）についてボリューム割当要件を満たすパスを選択できるか調べる（ステップ６１０４〜ステップ６１０６のループ）。ボリューム割当要件９９Ａの場合は、公開先ホストのリストは｛Ｈ１｝でありエントリは１個だけで、Ｈ１をカレントホストとしてループ処理の中を１回だけ通る。
【０１０３】
このループ内では、後述するマルチパス選択処理６２０が成功するかチェックし、失敗すれば、内側ループを抜けて外側ループの終了（ステップ６１０７）へ進み、次のストレージを調べる。尚、マルチパス選択処理６２０は図６で説明する。
【０１０４】
マルチパス選択処理６２０が成功すれば、処理の出力結果としてカレントストレージからカレントホストへ至る１つ以上のパスのリストが得られる。公開先ホストリストの全エントリについて、無事マルチパス選択処理６２０が成功した場合にのみステップ６１０９へ進む。
【０１０５】
ここまでに説明しているボリューム割当要件９９Ａについての具体例では、初めてマルチパス選択処理６２０を呼び出す際には、ストレージＩＤとしてＳ１、ホストＩＤとしてＨ１を入力パラメータに指定して呼び出すことになる。処理過程詳細は後述するが、結果的にこの呼出は成功して終了し、呼出の出力として合計４本のパスのリスト（マルチパスリスト）が得られることになる。
【０１０６】
この４本のマルチパスリストの各エントリに、前記のボリュームＳ１Ｖ２を補って、パスのリストはストレージポートＩＤ、ホストポートＩＤ、ストレージネットワーク形態の順で列挙すると、次の＜リスト３＞のようになる。
【０１０７】
＜リスト３＞  マルチパスリスト７９Ａ
（１）Ｓ１Ｖ２、Ｓ１Ｐ１、Ｈ１Ｐ１、ＦＣ−ＳＡＮ
（２）Ｓ１Ｖ２、Ｓ１Ｐ２、Ｈ１Ｐ１、ＦＣ−ＳＡＮ
（３）Ｓ１Ｖ２、Ｓ１Ｐ３、Ｈ１Ｐ２、ＩＰ−ＳＡＮ
（４）Ｓ１Ｖ２、Ｓ１Ｐ３、Ｈ１Ｐ３、ＩＰ−ＳＡＮ
【０１０８】
上記＜リスト３＞マルチパスリスト７９Ａで示したとおり、指定ホスト（Ｈ１）と条件を満たすボリューム（Ｓ１Ｖ２）との間で、設定可能なパスを指定冗長パス数（３）以上選ぶことができたため、マルチパス選択処理６２０が成功する。そして、ステップ６１０５の分岐ではＹＥＳに進み、次のステップ６１０６のホストに関するループ終了判定も通り抜け、ステップ６１０９に至る。
【０１０９】
指定された割り当て要件を満たすボリュームおよびパスが選択された場合、ステップ６１０９に至る。引き続いてボリューム、パスの設定を行なう処理を行なう。
【０１１０】
再び、ホスト毎にループ処理（ステップ６１０９〜ステップ６１１３）を行なう。ループ内では、ステップ６１１０でカレントホストについてマルチパス選択処理６２０で得られたマルチパスリストの先頭エントリの状態を「現用」とし、残りのエントリの状態を「待機」とする。
【０１１１】
次のステップ６１１１で「現用」とした（つまり先頭エントリである）パスについて、ストレージ管理機能７３、トポロジー管理機能７２、ホスト管理機能７１等を用いて実際にパス設定を行なう。これらの処理をホスト毎に行った後、ステップ６１１３にてマルチパスリストの情報をパス情報８９に登録し、ボリューム割当処理６１０は完了する。
【０１１２】
ボリューム割当要件９９Ａについての具体例にあてはめて言えば、ホスト毎のループはＨ１のみのループとなる。選択された４つのパスのリストの先頭エントリにあるパスを設定ツールを用いて設定実行し（ステップ６１１１）、ステップ６１１３に至った段階で、図４の８９Ａに示すレコード群を登録し、ボリューム割当処理を終了する。
【０１１３】
（マルチパス選択処理フロー）
次に、図６を用いて、前述したマルチパス選択処理６２０の処理の詳細について説明する。尚、図６の入力の項目は一例であり、図中に記載されている項目を省略してもよいし、他の項目を追加してもよい。
【０１１４】
マルチパス選択処理６２０は、ストレージＩＤ、ホストＩＤおよび冗長パス数を入力として受け取り、指定ストレージから指定ホストへの設定可能なパスを指定冗長パス数以上選び、リストにして出力する処理である。尚、図６の処理６２０で入力するストレージＩＤは、図５の６１０１の処理においてボリューム表８２から取得したストレージリストに含まれるストレージＩＤであってもよいし、その他の入力を受け付けてもよい。
【０１１５】
まず、後述するストレージネットワーク形態順序付け処理６３０を呼び出す。当処理により、ボリューム割当要件に従いストレージネットワーク形態の順位付けされたリスト（ストレージネットワーク形態優先順序リスト）が出力として得られる。
【０１１６】
次のステップ６２０１で、当処理の出力であるマルチパスリストを初期化して、空リストにする。
【０１１７】
ステップ６２０２からステップ６２０５にかけて、前記ストレージネットワーク形態優先順序リストの各エントリに対して、繰り返し処理（ループ）を行っている。
【０１１８】
ループ内の処理について説明する。
ステップ６２０３で、カレントストレージネットワーク形態について、設定可能なパスをマルチパスのリストに追加する処理を行なう。（新規に、設定可能なパスが抽出された場合は、新規書き込み処理を行なう。尚、上述の＜リスト３＞はマルチパスリストの一例である。設定可能なパスに対して、選択された順に符号を付与してもよいし、ストレージネットワークの形態に従って並べ替えをしてもよいし、その他の方法でリストを作成してもよい。）
上述のステップ６２０３の処理において、パスが設定可能であるか否かの判定は、機器構成管理情報８１（図３）のホストポート表８４、ストレージポート表８５を結合して調べる。より詳しい処理方法は具体例を挙げて後述する。
【０１１９】
ステップ６２０４では、入力パラメータの一つである冗長パス数以上のパスを確保できたかどうかチェックする。
【０１２０】
つまり、ステップ６２０２からステップ６２０５ステップのループでは、ストレージネットワーク形態優先順序リストの各エントリ順に可能なパスを調べる。指定されたホストと指定された条件を満たすストレージとの間で設定可能なパスの総数が、指定冗長パス数を上回るまで、各エントリに対するパスのチェックを繰り返す。
【０１２１】
もし、全エントリを調べても指定冗長パス数に満たない場合には、ステップ６２０５のループ終了を抜け、ステップ６２０６に至る。この場合は指定条件を満たすマルチパスの選択ができないため、エラーとして処理（例えばエラー発生を示す警告メッセージを出力するなど）を終了する。尚、ステップ６２０２から６２０５までの処理で得られたパスの一覧表（ホストの識別子、トポロジー機器の識別子およびストレージ装置の識別子を対応付けた表）やパスの数を画面に表示するとともに、“ユーザが指定した条件を満たすパスの選択はできない”という警告メッセージも画面に表示して終了してもよい。
【０１２２】
ステップ６２０４において条件を満たす場合は、ループを中途で抜け、ステップ６２０７に移り、出力としてそれまでに作成していたマルチパスのリストを出力としてマルチパス選択処理６２０を終了する。
【０１２３】
ボリューム割当要件９９Ａについての具体例にあてはめて言えば、入力として、ストレージＩＤとしてＳ１、ホストＩＤとしてＨ１、冗長パス数として３本以上というパラメータが渡される。後述するストレージネットワーク形態順序付け処理６３０を呼び出すと、ストレージネットワーク形態優先順リストとして、以下の結果が得られることになる。
｛ＦＣ−ＳＡＮ，ＩＰ−ＳＡＮ｝
よって、ステップ６２０２からステップ６２０５のループは、まずＦＣ−ＳＡＮをカレントストレージネットワーク形態として処理が行なう。ステップ６２０３では設定可能なパスを調べる処理を行なう。
【０１２４】
ここでは、同一のトポロジーグループＩＤを持つストレージポートとホストポートは接続可能であるという性質を利用して、次のようなホストポート表８４とストレージポート表８５との結合により接続可能パスを得る。
【０１２５】
つまり、ホストポート表８４について、ホストＩＤ８４２の項目が、入力指定されたホストＩＤと等しく、かつストレージネットワーク形態８４４にカレントストレージネットワーク形態を含むという条件で絞りこむ（つまり、ホストポート表８４から、条件に適合するエントリを抽出する）。
【０１２６】
また、ストレージポート表８５についてストレージＩＤ８５２が入力指定されたストレージＩＤと等しく、かつストレージネットワーク形態８５４にカレントストレージネットワーク形態を含むという条件つきで絞込む（つまり、ストレージポート表８５から、条件に適合するエントリを抽出する）。
【０１２７】
ホストポート表８４から抽出したエントリとストレージポート表８５から抽出したエントリとを、ホストポート表８４のトポロジーグループＩＤ８４３とストレージポート表８５のトポロジーグループＩＤ８５３を結合キーとして結合して得られた結合表が、設定可能なパスのストレージポートおよびホストポートを表すことになる。
【０１２８】
この条件を満たすストレージポートＩＤ、ホストポートＩＤおよびカレントストレージネットワーク形態を並べたリストを、次の＜リスト４＞に示す。
【０１２９】
＜リスト４＞
・Ｓ１Ｐ１、Ｈ１Ｐ１、ＦＣ−ＳＡＮ
・Ｓ１Ｐ２、Ｈ１Ｐ１、ＦＣ−ＳＡＮ
【０１３０】
上記＜リスト４＞で示す組合せを、マルチパスリストに登録する。この時点では、マルチパスリストのエントリ数は２であり、指定されている冗長パス数３以上を満たしていない。
【０１３１】
このため、ステップ６２０２〜６２０５の次のループ、つまりＩＰ−ＳＡＮをカレントストレージ形態として、同様に条件を満たすパスを抽出する処理を行なう。同様に処理をすると、以下の＜リスト５＞の結果が得られる。
【０１３２】
＜リスト５＞
・Ｓ１Ｐ３、Ｈ１Ｐ２、ＩＰ−ＳＡＮ
・Ｓ１Ｐ３、Ｈ１Ｐ３、ＩＰ−ＳＡＮ
【０１３３】
得られた＜リスト５＞の結果を、マルチパスリストに追加する。前回のループで得られた結果と合わせてマルチパスリストのエントリ数は４となり、冗長パス数３以上という条件を満たすようになる。
【０１３４】
よって、ステップ６２０７に至り、ストレージネットワーク形態ごとに、それぞれのエントリから条件を満たすパス抽出した結果を合わせたマルチパスリストを出力し、マルチパス選択処理６２０は成功して終了する。上述の例の場合は、＜リスト４＞と＜リスト５＞を合わせたものが、マルチパスリストへ出力される。
【０１３５】
（ストレージネットワーク形態順序付け）
図７を用いて、ストレージネットワーク形態順序付処理６３０を説明する。ここでは、次の仮定に基づいて説明する。
【０１３６】
（ストレージネットワーク形態の得失に関する仮定）
ＦＣ−ＳＡＮとＩＰ−ＳＡＮを比較した場合、ＦＣ−ＳＡＮが高性能であり、ＩＰ−ＳＡＮが低コストである。
ＮＡＳとＮＡＳ＋ＳＡＮを比較した場合、ＮＡＳ＋ＳＡＮが高性能であり、ＮＡＳが低コストである。
本実施例では、上述の内容に基づいて、性能およびコストの判定を行う。
【０１３７】
ストレージネットワーク形態順序付け処理６３０では、ボリューム割当要件に従いストレージネットワーク形態に優先順位をつけてそのリストを出力する処理である。
【０１３８】
まず、ステップ６３０１で入力であるボリューム割当要件から、ボリューム提供イメージおよび性能要求度を取得する。ボリューム提供イメージは、割当てるボリュームを「ファイルイメージ」で利用するのか、あるいは「ブロックイメージ」で利用するのかを示すフラグである。性能要求度は、ストレージネットワーク形態に優先順位をつける際に「性能優先」で順位付けするのか、「コスト優先」で順位付けするのかを示すフラグである。
【０１３９】
これらのボリューム提供イメージおよび性能要求度の組合せに基づき、次のステップ６３０２へ進む。そして、ステップ６３０２の分岐先であるステップ６３０３あるいはステップ６３０６の２段の条件分岐へ進み、次にステップ６３０４、ステップ６３０５、ステップ６３０７あるいはステップ６３０８へ分岐し、優先順序リストを決定し処理を終了する。
【０１４０】
具体的には、ボリューム提供イメージが「ファイルイメージ」であり、性能要求度が「性能優先」であれば、ステップ６３０４に至り、「ＮＡＳ＋ＳＡＮ」を第一のエントリ、「ＮＡＳ」を第２のエントリとする優先順序リストを得る。
【０１４１】
ボリューム提供イメージが「ファイルイメージ」であり、性能要求度が「コスト優先」であれば、ステップ６３０５に至り、「ＮＡＳ」を第一のエントリ、「ＮＡＳ＋ＳＡＮ」を第２のエントリとする優先順序リストを得る。
【０１４２】
また、ボリューム提供イメージが「ブロックイメージ」であり、性能要求度が「性能優先」であれば、ステップ６３０７に至り、「ＦＣ−ＳＡＮ」を第一のエントリ、「ＩＰ−ＳＡＮ」を第２のエントリとする優先順序リストを得る。
【０１４３】
同様にボリューム提供イメージが「ブロックイメージ」であり、性能要求度が「コスト優先」であれば、ステップ６３０８に至り、「ＩＰ−ＳＡＮ」を第一のエントリ、「ＦＣ−ＳＡＮ」を第２のエントリとする優先順序リストを得る。
【０１４４】
なお、図７を用いて開示したストレージネットワーク形態順序付け処理６３０の処理方法は実現手段の一例であり、様々なバリエーションが考えられる。
【０１４５】
また、いくつかの異なる処理を用意しておき、ユーザの入力パラメータを増やし、あるいはボリューム割当要件にパラメータを増やし、そのパラメータにより処理を切替える方式も可能である。
【０１４６】
（実施の形態２）
第２の実施の形態として、図１および図２に示すシステム構成において、ユーザが運用管理端末２０から、ボリューム割り当て要求を発行した場合について説明する。
本実施例では、ボリューム割当要件として次に示す＜リスト６＞のパラメータを指定した場合について説明する。
【０１４７】
＜リスト６＞  ボリューム割当要件９９Ｂ
（１）ボリュームサイズ範囲  ＝  ４ＧＢ以上６ＧＢ以下
（２）ボリューム提供イメージ  ＝  ブロックイメージ提供
（３）性能要求度  ＝  性能優先
（４）公開先ホストのリスト  ＝  ｛Ｈ２｝
（５）冗長パス数  ＝  ３本以上
【０１４８】
第１の実施の形態で用いたボリューム割当要件９９Ａとは、公開先ホストのリストのエントリがＨ１からＨ２に変わっているだけで、他項目は同一である。
【０１４９】
第１の実施の形態と同一の処理を行なう部分は適宜割愛しながら、異なる部分を中心に説明する。
【０１５０】
図５のボリューム割当処理６１０のステップ６１０４〜６１０６はカレントホストをＨ２としてのループとなる。マルチパス選択処理６２０の最初の入力は、上記＜リスト６＞ボリューム割り当て要件９９Ｂより、ストレージＩＤがＳ１、ホストＩＤがＨ２、冗長パス数３本以上となる。
【０１５１】
尚、本実施例の場合、ステップ６１０１の処理で、ボリューム表８２から、ストレージリストのエントリを取得する。この場合のストレージリストのエントリは、「Ｓ１」と「Ｓ２」である。よって、最初に入力されるストレージＩＤは「Ｓ１」となる。
【０１５２】
上述の＜リスト６＞ボリューム割り当て要件９９Ｂにおいて、ボリューム提供イメージの指定条件は「ブロックイメージ」であり、性能要求度の指定条件は「性能優先」である。よって、図６のストレージネットワーク形態順序付け処理６３０によって、ストレージネットワーク形態優先順リストは、第１エントリが「ＦＣ−ＳＡＮ」、第２エントリが「ＩＰ−ＳＡＮ」と定まる。
【０１５３】
尚、図６の例においては、ストレージネットワーク形態優先度のエントリは２つであるが、送受信するデータの形式や接続するネットワークの種別やネットワークの機能などに応じて、エントリを増やしてもよい。また、ネットワークの利用形態に応じて「ＮＡＳ＋ＳＡＮ」のエントリと「ＦＣ−ＳＡＮ」のエントリが、同じストレージネットワーク形態優先順リストに含まれていてもよいし、その他のものを含んでもよい。
【０１５４】
図６のマルチパス選択処理６２０のステップ６２０２〜６２０５は、最初、カレントストレージネットワークＩＤをＦＣ−ＳＡＮ、ストレージＩＤをＳ１、ホストＩＤをＨ２として、第１の実施の形態と同様にホストポート表８４とストレージポート表８５との結合処理を行なう。
【０１５５】
つまり、それぞれの表（ホストポート表８４とストレージポート表８５）から、条件（ストレージネットワークＩＤが「ＦＣ−ＳＡＮ」、ストレージＩＤが「Ｓ１」、ホストＩＤが「Ｈ２」）に適合するエントリを抽出する。
そして、抽出したエントリに含まれるトポロジーグループＩＤをキーとして、ホストポートＩＤやストレージポートＩＤなどの必要となる情報を対応づける。
【０１５６】
本実施例の場合、ホストポート表８４に、カレントホストＩＤ「Ｈ２」を含むレコードが存在するか否か、また、そのレコードが条件を満たすか否かを判定する。ホストＩＤ８４２に「Ｈ２」を含むレコードのストレージネットワーク形態８４４には、ＦＣ−ＳＡＮを含むレコードはなく、マルチパスリストに追加すべきマルチパスはないことになる。
【０１５７】
続くループでは、カレントストレージネットワークＩＤをＩＰ−ＳＡＮとして（ストレージＩＤをＳ１、ホストＩＤをＨ２とする）表の結合を行なう。それにより、以下の＜リスト７＞で示すパスが得られる。
【０１５８】
＜リスト７＞
・Ｓ１Ｐ３、Ｈ２Ｐ１、ＩＰ−ＳＡＮ
・Ｓ１Ｐ３、Ｈ２Ｐ２、ＩＰ−ＳＡＮ
【０１５９】
上述の処理で得られた＜リスト７＞で示すパスを、マルチパスリストに追加する。この時点でマルチパスリストのエントリ数は２であり、冗長数３本以上という条件を満たせないままステップ６２０５のループ終了を抜けてエラー終了となる。または、上述の処理で得られた＜リスト７＞のパスの一覧とメッセージ（「メッセージ：指定された冗長数を満たすパスは存在しません」）とを画面に表示して終了してもよい。
【０１６０】
その後の制御は、図５のステップ６１０５の条件判定となるが、マルチパス選択処理６２０は失敗しており、つまりストレージＳ１についてボリューム割当要件９９Ｂを満たすマルチパスは選択し得なかったわけである。ステップ６１０７のループ終了部分に至る。
【０１６１】
そして、ループ終了のステップ６１０７に対応するループ開始であるステップ６１０２の処理へ進む。次のループ、つまりＳ２をカレントストレージとして処理を続行する。この場合、ストレージネットワークＩＤが「ＩＰ−ＳＡＮ」、ストレージＩＤが「Ｓ２」、ホストＩＤが「Ｈ２」で処理を行なう。
【０１６２】
以降の処理過程詳細は割愛するが、その結果として以下の＜リスト８＞が得られる。
【０１６３】
＜リスト８＞  マルチパスリスト７９Ｂ
（１）Ｓ２Ｖ２、Ｓ２Ｐ２、Ｈ２Ｐ１、ＩＰ−ＳＡＮ
（２）Ｓ２Ｖ２、Ｓ２Ｐ２、Ｈ２Ｐ２、ＩＰ−ＳＡＮ
（３）Ｓ２Ｖ２、Ｓ２Ｐ３、Ｈ２Ｐ１、ＩＰ−ＳＡＮ
（４）Ｓ２Ｖ２、Ｓ２Ｐ３、Ｈ２Ｐ２、ＩＰ−ＳＡＮ
【０１６４】
この＜リスト８＞のエントリ（１）を現用パスとして実際のパス設定を行ない、それ以外を待機パスとして、パス表８８に登録する（図４の８９Ｂに示すレコード群）。
【０１６５】
尚、パス表８９のエントリに変更があった場合に、パス表８９の変更部分を画面に表示してもよい。また、パスのエントリの変更履歴を格納しておき、必要に応じてシステム管理者が参照できるようにしてもよい。
【０１６６】
（実施の形態３）
第３の実施の形態として、図１および図２に示すシステム構成において、ユーザが運用管理端末２０から、ボリューム割当要求を発行した場合について説明する。ユーザが、次の＜リスト９＞ボリューム割り当て要件９９Ｃに示すパラメータを、ボリューム割当要件として指定した場合について説明する。
【０１６７】
＜リスト９＞  ボリューム割当要件９９Ｃ
（１）ボリュームサイズ範囲  ＝  ２ＧＢ以上３ＧＢ以下
（２）ボリューム提供イメージ  ＝  ファイルイメージ提供
（３）性能要求度  ＝  性能優先
（４）公開先ホストのリスト  ＝  ｛Ｈ１，Ｈ２｝
（５）冗長パス数  ＝  ２本以上
【０１６８】
第１の実施の形態と同一の処理を行なう部分は適宜割愛しながら、異なる部分を中心に説明する。
【０１６９】
図５のボリューム割当処理６１０のステップ６１０２〜６１０７のループは、まずＳ１をカレントストレージとして処理する。ステップ６１０３では、ボリューム表８２からストレージＩＤ８２２がＳ１（カレントストレージＩＤ）であり、かつ容量８２３が２ＧＢ以上３ＧＢ以下（＜リスト９＞ボリューム割当要件９９Ｃのボリュームサイズ範囲）であり、かつ使用状況８２４が「未割当」であるレコードを検索する。
【０１７０】
検索した結果、ボリュームＩＤ８２１がＳ２Ｖ３である１レコードが条件に合致するので、これを割当用ボリュームに仮決めし、他のボリューム割当要件を満たせるようにパスを設定可能か調べる。
【０１７１】
図５のボリューム割当処理６１０のステップ６１０４〜６１０６は最初はカレントホストをＨ１とするループとなり、マルチパス選択処理６２０の最初の入力は、ストレージＩＤがＳ１、ホストＩＤがＨ１、冗長パス数２本以上となる。
【０１７２】
マルチパス選択処理６２０からストレージネットワーク形態順序付け処理６３０を呼び出す。＜リスト９＞ボリューム割当要件９９Ｃにおけるボリューム提供イメージが「ファイルイメージ」である。また、性能要求度が「性能優先度」である。
【０１７３】
よって、図７に示すストレージネットワーク形態順序付け処理６３０のフローにおいて、ステップ６３０２、ステップ６３０３、ステップ６３０４と制御が渡る。そして、ストレージネットワーク形態優先順リストとして、以下のリストが得られる。下記のとおり、第１エントリが「ＮＡＳ＋ＳＡＮ」、第２エントリが「ＮＡＳ」、のリストとなる。
｛ＮＡＳ＋ＳＡＮ、ＮＡＳ｝
そのため、図６のステップ６２０２〜６２０５のループは、まず「ＮＡＳ＋ＳＡＮ」をカレントストレージネットワーク形態として処理を行なう。
【０１７４】
この処理も、ホストポート表８４とストレージポート表８５との結合処理により、設定可能なパスを調べる。ただし、「ＮＡＳ＋ＳＡＮ」の場合は、第１の実施の形態や第２の実施の形態で示した「ＦＣ−ＳＡＮ」や「ＩＰ−ＳＡＮ」とは若干異なる調べ方をする。「ＮＡＳ＋ＳＡＮ」では、ＮＡＳ用のパスとＳＡＮ用のパスの２本のパスを実際にパスとして設定する必要がある。
【０１７５】
つまり「ＮＡＳ＋ＳＡＮ＿ＮＡＳ」であるパスと「ＮＡＳ＋ＳＡＮ＿ＳＡＮ」であるパスをそれぞれ見つけ出して、それらを合わせて「ＮＡＳ＋ＳＡＮ」用のパスとするわけである。
【０１７６】
具体的に言うと、まずホストポート表８４についてホストＩＤ８４２がＨ１であり、かつストレージネットワーク形態８４４に「ＮＡＳ＋ＳＡＮ＿ＮＡＳ」を含むという条件で絞りこむ。（つまり、条件に合うエントリを検索し、抽出する。）
そして、ストレージポート表８５についてストレージＩＤ８５２がＳ１であり、かつストレージネットワーク形態８５４に「ＮＡＳ＋ＳＡＮ＿ＮＡＳ」を含むという条件つきで絞りこむ。
【０１７７】
このように条件に基づいて絞込んで得られた結果を、ホストポート表８４のトポロジーグループＩＤ８４３とストレージポート表８５のトポロジーグループＩＤ８５３を結合キーとして結合して得られた結合表が、設定可能なパスのストレージポートおよびホストポートを表すことになる。
【０１７８】
この条件を満たすストレージポートＩＤ、ホストポートＩＤおよびカレントストレージネットワーク形態を対応づけたリストを次の＜リスト１０＞に示す。
【０１７９】
＜リスト１０＞
・Ｓ１Ｐ３、Ｈ１Ｐ２、ＮＡＳ＋ＳＡＮ＿ＮＡＳ
・Ｓ１Ｐ３、Ｈ１Ｐ３、ＮＡＳ＋ＳＡＮ＿ＮＡＳ
【０１８０】
続いて、ホストポート表８４について、ホストＩＤ８４２が「Ｈ１」であり、かつストレージネットワーク形態８４４に「ＮＡＳ＋ＳＡＮ＿ＳＡＮ」を含むという条件で絞りこむ。（つまり、ホストポート表８４から、条件に合うエントリを検索し、そして条件に合うエントリが発見されたら、そのエントリを抽出する。）
ストレージポート表８５について、ストレージＩＤ８５２が「Ｓ１」であり、かつストレージネットワーク形態８５４に「ＮＡＳ＋ＳＡＮ＿ＳＡＮ」を含むという条件つきで絞りこむ。
【０１８１】
このように条件に基づいて絞込んで得られた結果を、ホストポート表８４のトポロジーグループＩＤ８４３とストレージポート表８５のトポロジーグループＩＤ８５３を結合キーとして結合する。そして、得られた結合表が、設定可能なパスのストレージポートおよびホストポートを表すことになる。
【０１８２】
この条件を満たすストレージポートＩＤ、ホストポートＩＤおよびカレントストレージネットワーク形態を並べたリストを、次の＜リスト１１＞に示す。
【０１８３】
＜リスト１１＞
・Ｓ１Ｐ１、Ｈ１Ｐ１、ＮＡＳ＋ＳＡＮ＿ＳＡＮ
・Ｓ１Ｐ２、Ｈ１Ｐ１、ＮＡＳ＋ＳＡＮ＿ＳＡＮ
【０１８４】
上記の＜リスト１０＞および＜リスト１１＞において、それぞれのエントリ数は、冗長パス数２本以上という条件を満たしている。よって、図６のステップ６２０４はＹＥＳ側へ分岐し、マルチパスリストを出力する。こうして、１回目のマルチパス選択処理６２０は終了する。
【０１８５】
マルチパス選択処理６２０が成功したので、図５のボリューム割当処理のステップ６１０５は、ＹＥＳ側へ分岐し、ステップ６１０６へ至る。ループ終了であるステップ６１０６に対応するループ開始であるステップ６１０４で次のエントリＨ２をカレントホストとして、２巡目のループ処理（ステップ６１０４〜６１０７）を行なう。
【０１８６】
図６のマルチパス選択処理６２０のステップ６３０では同様に、以下のように、第１エントリに「ＮＡＳ＋ＳＡＮ」、第２エントリに「ＮＡＳ」を含むストレージネットワーク形態優先順リストが得られる。
｛ＮＡＳ＋ＳＡＮ、ＮＡＳ｝
それにより、まずＮＡＳ＋ＳＡＮをカレントストレージネットワーク形態として設定可能パスを調べる。「ＮＡＳ＋ＳＡＮ＿ＳＡＮ」の設定可能パスを調べる段階で、ホストポート表８４にはホストポートＩＤ８４１が「Ｈ２」で、かつストレージネットワーク形態８４４に「ＮＡＳ＋ＳＡＮ＿ＳＡＮ」であるというレコードはない。このため、結局「ＮＡＳ＋ＳＡＮ」のパスは設定不可能と判定する。
【０１８７】
続いて、「ＮＡＳ」をカレントストレージネットワーク形態として設定可能なパスを調べる。「ＮＡＳ」の場合は「ＩＰ−ＳＡＮ」や「ＦＣ−ＳＡＮ」で調べた方法と同様の方法で調査する。結果として、以下のように＜リスト１２＞でしめすようなパスが得られる。
【０１８８】
＜リスト１２＞
・Ｓ１Ｐ３、Ｈ２Ｐ１、ＮＡＳ
・Ｓ１Ｐ３、Ｈ２Ｐ２、ＮＡＳ
【０１８９】
この＜リスト１２＞に含まれる２本のマルチパスを確保でき、冗長パス数の条件をクリアする。
【０１９０】
ここまでの処理の結果、ボリューム割当処理６１０のステップ６１０９に至った時点で、ホストＨ１へ公開可能なパスとして、以下の＜リスト１３＞が得られている。＜リスト１３＞は、＜リスト１０＞＜リスト１１＞の結果と、条件に合うボリュームの識別子とを関連づけたものである。
【０１９１】
＜リスト１３＞
・Ｓ１Ｖ３、Ｓ１Ｐ３、Ｈ１Ｐ２、ＮＡＳ＋ＳＡＮ＿ＮＡＳ  （＊）
・Ｓ１Ｖ３、Ｓ１Ｐ３、Ｈ１Ｐ３、ＮＡＳ＋ＳＡＮ＿ＮＡＳ
・Ｓ１Ｖ３、Ｓ１Ｐ１、Ｈ１Ｐ１、ＮＡＳ＋ＳＡＮ＿ＳＡＮ  （＊）
・Ｓ１Ｖ３、Ｓ１Ｐ２、Ｈ１Ｐ１、ＮＡＳ＋ＳＡＮ＿ＳＡＮ
【０１９２】
また、ホストＨ２へ設定可能なパスとして、以下の＜リスト１４＞が得られている。＜リスト１４＞は、＜リスト１２＞と、条件に合うボリュームの識別子とを関連づけたものである。
【０１９３】
＜リスト１４＞
・Ｓ１Ｖ３、Ｓ１Ｐ３、Ｈ２Ｐ１、ＮＡＳ  （＊）
・Ｓ１Ｖ３、Ｓ１Ｐ３、Ｈ２Ｐ２、ＮＡＳ
【０１９４】
ステップ６１０９〜６１１２の１巡目のループで、ステップ６１１０でホストＨ１にボリュームを公開するためのパスを決めるが、「ＮＡＳ＋ＳＡＮ」では、「ＮＡＳ＋ＳＡＮ＿ＮＡＳ」であるパスと「ＮＡＳ＋ＳＡＮ＿ＳＡＮ」であるパスの２組のパスを「現用」として設定する。
【０１９５】
つまり上記リストにおいて（＊）印を付したパスを「現用」とし、そのほかのパスを「待機」とする。尚、上述した現在用いるパスと待機用のパスとの区別は一例であり、数字や符号を用いて現在用いているパスか否かを判別してもよい。また、待機用のパスの順位付けをしてもよいし、その他のものでもよい。
ステップ６１１３に至った段階で、図４パス表８９の８９Ｃに示すレコード群を登録し、ボリューム割当処理を終了する。
【０１９６】
（実施の形態４）
第４の実施の形態として、図１および図２に示すシステム構成において、ユーザが運用管理端末２０から、ボリューム割り当て要求を発行した場合について説明する。
この場合に、ユーザが指定するボリューム割当要件として、次に示すパラメータ＜リスト１５＞ボリューム割り当て要件９９Ｄを指定した場合について説明する。
【０１９７】
＜リスト１５＞  ボリューム割当要件９９Ｄ
（１）ボリュームサイズ範囲  ＝  ２ＧＢ以上４ＧＢ以下
（２）ボリューム提供イメージ  ＝  ファイルイメージ提供
（３）性能要求度  ＝  コスト優先
（４）公開先ホストのリスト  ＝  ｛Ｈ１，Ｈ２｝
（５）冗長パス数  ＝  ３本以上
【０１９８】
入力されたボリューム割り当て要件９９Ｄは、ボリューム提供イメージが「ファイルイメージ」、性能要求度が「コスト優先」である。このため、ストレージネットワーク形態順序付け処理６３０の結果、ストレージネットワーク形態優先順リストとして以下のリストが得られる。下記のとおり、第１エントリが「ＮＡＳ」、第２エントリが「ＮＡＳ＋ＳＡＮ」である。
｛ＮＡＳ、ＮＡＳ＋ＳＡＮ｝
また、ステップ６１０１の処理で、ボリューム表８２から「Ｓ１」「Ｓ２」のエントリを含むストレージリストが得られる。
【０１９９】
ストレージ装置に関する最初のループ（６１０２〜６１０７）では、「Ｓ１」についてマルチパス選択可能か調べる。マルチパス選択の調査の結果、Ｓ１からＮＡＳやＮＡＳ＋ＳＡＮによって、ホストＨ１あるいはＨ２にパスを３本以上設定することは不可能である。
【０２００】
ストレージに関して２巡目のループ（６１０２〜６１０７）に入り、「Ｓ２」をカレントストレージとして処理を行なう。結果、ホストＨ１に対して、以下のマルチパスリスト＜リスト１６＞が得られる。
【０２０１】
＜リスト１６＞
・Ｓ２Ｖ３、Ｓ２Ｐ２、Ｈ１Ｐ２、ＮＡＳ  （＊）
・Ｓ２Ｖ３、Ｓ２Ｐ２、Ｈ１Ｐ３、ＮＡＳ
・Ｓ２Ｖ３、Ｓ２Ｐ３、Ｈ１Ｐ２、ＮＡＳ
・Ｓ２Ｖ３、Ｓ２Ｐ３、Ｈ１Ｐ３、ＮＡＳ
【０２０２】
同様にホストＨ２に対して、マルチパスリスト＜リスト１７＞が得られる。
【０２０３】
＜リスト１７＞
・Ｓ２Ｖ３、Ｓ２Ｐ２、Ｈ２Ｐ１、ＮＡＳ  （＊）
・Ｓ２Ｖ３、Ｓ２Ｐ２、Ｈ２Ｐ２、ＮＡＳ
・Ｓ２Ｖ３、Ｓ２Ｐ３、Ｈ２Ｐ１、ＮＡＳ
・Ｓ２Ｖ３、Ｓ２Ｐ３、Ｈ２Ｐ２、ＮＡＳ
【０２０４】
上記の＜リスト１７＞の（＊）印を付したパスを「現用」としてパス設定を行ない、他のパスについて「待機」として扱う。パス表８９に、図４の８９Ｄに示すレコード群を登録してボリューム割当処理６１０を完了する。
【０２０５】
（実施の形態５）
第５の実施の形態として、動的にパスを切替える機能を有するデバイスドライバ（「動的パス切替対応デバイスドライバ」と呼ぶ）を実装することにより、パス障害を検出して、動的に代替パスに切替える方法について開示する。
【０２０６】
パスに障害が発生した場合、ボリュームを使用しているアプリケーションプログラム（ＡＰ）において該当パス経由によるボリュームアクセス発行でＩ／Ｏエラーが発生し、ＡＰは対応するエラー処理を行ない、ＡＰの停止あるいは縮退運用に切り替わる場合がある。ユーザが、システム管理ツールのエラー表示などによってパス障害を知り、代替用に設定可能なパスを調べ、パス設定を行ない、ＡＰの設定を新たに設定したパス経由でボリュームをアクセスするように変更するといった人手による一連作業が必要であった。また、その間はサービスを停止あるいは縮退運用することを余儀なくされた。
【０２０７】
ここで開示する方法によれば、動的パス切替対応デバイスドライバのパス障害が発生しても、代替パスの設定、切り替えが可能であり、サービスを継続的に提供が可能である。
【０２０８】
次に示すような設定がされたパス（第１の実施の形態に示すボリューム割当により設定されたパス）について、動的パス切り替えが行なわれる様子を例にとって説明する。
【０２０９】
＜リスト１８＞
・Ｓ１Ｖ２、Ｓ１Ｐ１、Ｈ１Ｐ１、ＦＣ−ＳＡＮ  （＊）
・Ｓ１Ｖ２、Ｓ１Ｐ２、Ｈ１Ｐ１、ＦＣ−ＳＡＮ
・Ｓ１Ｖ２、Ｓ１Ｐ３、Ｈ１Ｐ２、ＩＰ−ＳＡＮ
・Ｓ１Ｖ２、Ｓ１Ｐ３、Ｈ１Ｐ３、ＩＰ−ＳＡＮ
【０２１０】
上記の＜リスト１８＞において、（＊）印が付されたパスが、実際に設定がなされているパスで、残りは待機パスである。上記のパスが設定されており、ホストＨ１で稼動しているＡＰにおいて、ボリュームＳ１Ｖ２を利用する場合について説明する。
【０２１１】
ここで、割当てられたボリュームを、ホストで使用するための一般的な手順について、ＦＣ−ＳＡＮを例にとって説明する。ＦＣ−ＳＡＮでは、ボリュームをひとつ以上のパスでホストに公開した後、ホストにおいて割当てられたボリュームの認識およびデバイスファイル作成が必要である。
【０２１２】
ホストがボリュームを認識する方法は、１通りではない。たとえば、ユーザがホストにおいて明示的にコマンドを発行することによって、ホストにボリュームを認識させるようなシステムもあれば、ホスト機の再起動時にボリュームを認識するシステムもある。また、ホストが自動的に認識するものもある。ホストがボリュームを認識するための方法は、どのような方法を用いてもよい。
【０２１３】
ホストが認識できたボリュームには、デバイスファイルを作成することができる（ボリュームの認識と同時に作成されるシステムもある）。ひとつのボリュームが複数のパスによりホストに公開される場合、通常、パス数分のデバイスファイルが作成される。
【０２１４】
そして、前記のデバイスファイル上にファイルシステム（ＦＳ）を構築したり、データベース管理システム（ＤＢＭＳ）のデータ格納領域に設定したりすることにより、アプリケーションプログラム（ＡＰ）でボリュームを使用できるようになる。論理ボリュームマネージャ（Logical Volume Manager）と呼ばれるコンポーネントが、その間に介在して、複数のボリュームを合わせて大きな領域に見せたり、ボリュームを分割して見せたりする場合もある。
【０２１５】
動的パス切替部３２の機能を利用するためには、デバイスファイルの設定等が必要である。前準備として、ＦＳやＤＢＭＳの領域として割当てられたボリュームの各パスに対応するデバイスファイルを、直接利用するのではなく、「動的パス切り替え対応デバイスドライバ」を駆動するデバイスファイル（「擬似デバイスファイル」と呼ぶ）を利用するように設定する。
【０２１６】
また、以降では、各パスに対応するデバイスファイルを「実デバイスファイル」、実デバイスファイルのドライバを「実デバイスドライバ」と呼ぶものとする。
【０２１７】
実デバイスファイルは、特定ボリュームの特定パスに対応する。実デバイスドライバは、実デバイスファイルに対応した特定ボリュームの特定パスのデバイス制御機能を提供する。
【０２１８】
それに対し、本実施例で開示する擬似デバイスファイルは、特定ボリュームに対応するが、パスは必ずしも特定のものには限定されず、動的に変化しうるという特徴を持つデバイスファイルである。動的パス切替対応デバイスドライバは、擬似デバイスファイルに対応した特定ボリュームのデバイス制御機能を提供するものとする。
【０２１９】
擬似デバイスファイルは、対応するボリュームの実設定されたパス（パス管理表８８において状態８９７は「現用」と設定されている）に対応する実デバイスファイルに委譲するよう設定されている。対応する実デバイスファイルへの関連付けは、ホスト毎にデバイスファイルマッピング表３５により管理される。図８にホストＨ１におけるデバイスファイルマッピング表３５の例を示す。
【０２２０】
例えば、デバイスファイルマッピング表３５では、擬似デバイスファイル名としてｄｐｄｅｖ１という名前を付された擬似デバイスファイルは、ボリュームＩＤがＳ１Ｖ２であるボリュームに対応している。そして、擬似デバイスファイル「ｄｐｄｅｖ１」は、ｃ３ｔ２ｄ３という名前がつけられた実デバイスファイルに処理委譲するように設定されている。
【０２２１】
ボリュームＳ１Ｖ２を使用する場合、動的パス切り替え機能を利用するためには、ｃ３ｔ２ｄ３というデバイスファイルではなく、ｄｐｄｅｖ１というデバイスファイルに対してＦＳ構築あるいはＤＢ用領域設定を行なうようにする。
【０２２２】
デバイスファイルに対してＩ／Ｏ要求が発行されると、カーネルはデバイスファイルに対応するデバイスドライバの適切なデバイス制御要求（ｏｐｅｎ、ｃｌｏｓｅ、ｒｅａｄ、ｗｒｉｔｅやブロック転送スケジューリングなど）を発行する。擬似デバイスファイルに対してＩ／Ｏ要求が発行されると、カーネルにより動的パス切替対応デバイスドライバ３２０の処理（図８左）が呼ばれる。
【０２２３】
そして、ステップ３２０１において、デバイスファイルマッピング表３５より対応する実デバイスファイルの情報を取得し、ステップ３２０２において実デバイスドライバの対応処理呼び出す。
【０２２４】
例えば、ボリュームＳ１Ｖ２に対し、ＯＰＥＮ要求がなされると、ｃ３ｔ２ｄ３というデバイスファイルへのＯＰＥＮ要求を発行するといった具合である。
【０２２５】
この処理結果において、パス障害に起因するエラーが発生していなければ、ステップ３２０３のＮＯへ分岐し処理を完了する。ステップ３２０３へ処理を進める場合には、デバイスドライブの処理が正常終了した場合も含まれる。異常終了した場合でもパス障害に起因しないエラーで（例えばパリティチェックエラーなど）の場合もそのまま終了（エラー終了）させる。つまりパスに異常がない場合は、動的パス切替対応デバイスドライバは単に実デバイスドライバへ処理を素通しさせるだけである。尚、終了する場合に、メッセージ（例「メッセージ：パス障害がないため、パスの切替は行ないません」）を表示してもよい。
【０２２６】
そうでなくて、装置が見つからないなどのエラーが発生した場合には、ステップ３２０４以降の処理を行ない、動的に代替パスの設定を試みることになる。
【０２２７】
ステップ３２０４において、ホストに含まれる動的パス切替部３２は、運用管理サーバ１０への通信手段を用いて、エラーを起こしたパスの情報（デバイスファイルマッピング表３５のボリュームＩＤ３５３およびパス情報３５４）を、入力パラメータとして代替パス設定部６４に制御を渡す。
【０２２８】
なお、動的パス着替部３２に含まれる動的パス切替対応デバイスドライバ３２０が、運用管理サーバ１０への通信に必要なパラメータは、適当に設定されているものとする。例えば、動的パス切替対応デバイスドライバのセットアップ時などに必要なパラメータを設定してもよいし、予めシステム管理者が設定してもよい。
【０２２９】
運用管理サーバ１０の代替パス設定部６４の処理（図８右）では、動的パス切替処理６４０を呼び出す。
【０２３０】
ステップ６４０１において、入力として渡されたパス情報に基づき、パス表８９から当該入力されたパスに関連する情報を取得する。ステップ６４０２に至った時点では該当パスの状態８９７は「現用」となっており、それを「障害」を示す指標に書き換える。ここでストレージネットワーク構成に変更があったか調べる。そして、ステップ６４０３で、ストレージネットワーク構成の変更に関する判定の結果に従い分岐する。
【０２３１】
ストレージネットワーク構成に変更がなければ、ステップ６４０６へ進む。ステップ６４０６で、入力されたパス（障害が発生したパス）と同一ボリュームＩＤ、同一ホストＩＤを含むパスのうち、状態が「待機」であるパスが存在するか調べる。もしなければ、呼出元であるホストに代替パスの設定は失敗した旨を通信手段を用いて通知してエラー終了する。尚、通知する際に、システム管理者用のメッセージ（例、  障害発生パス：「Ｓ９Ｐ９」−「Ｈ９Ｐ９」−「ＦＣ−ＳＡＮ」  代替パス：無し）を画面に表示してもよい。
【０２３２】
障害が発生したパスと同一ボリュームＩＤ・同一ホストＩＤを含むパスのうち、状態が「待機」であるパスが存在していれば、前述のストレージネットワーク形態順序付け処理６３０を行なう。
【０２３３】
そして、ステップ６４０７で、障害発生パスと同一ボリューム、同一ホストであるパスのうち、優先度が最も高いパスの状態を「待機」から「現用」に変更する。
【０２３４】
ステップ６４０８に移り、前ステップで新たに「現用」としたパスについて適当な設定ツールを呼び出してパス設定を実行し、変更になったパスをパス表８９に反映して（ステップ６４０９）、ホストへの通信手段を用いて設定したパスの情報をホストへ通知し、処理を終了する。
【０２３５】
具体例（＜リスト１８＞（第１の実施の形態に示すボリューム割当により設定されたパス）の例）で言えば、｛Ｓ１Ｖ２、Ｓ１Ｐ２、Ｈ１Ｐ１、ＦＣ−ＳＡＮ｝が代替パスとして設定される。
【０２３６】
一方、構成変更があった場合は、ステップ６４０３において、ＹＥＳへ分岐する。そして、マルチパス選択処理６２０を呼び出す。マルチパス選択処理６２０を呼び出すときの入力パラメータの１つは、パス表８９から取得したボリューム割当要件８９９である。
すなわち、ボリューム割当時と同一のボリューム割当要件を、新たなシステム構成に適用して、パスの選択を行なうわけである。マルチパス選択処理６２０の処理が終了したら、ステップ６４０４へ進む。
【０２３７】
ステップ６４０５において、ボリューム割当処理６１０と同様に、得られたパスに対して、「現用」と「待機」とに分けてフラグ付けする。
【０２３８】
ステップ６４０８以下、同様の処理を行なう。ステップ６４０８において、「現用」としてパス（代替パス）について、設定ツールの機能を呼び出して代替パスの設定を行う。
【０２３９】
ステップ６４０９において、変更になったパスの情報を、パス表８９に反映する。ステップ６４１０において、運用管理サーバ１１は、代替パスをホストエージェント３１へ通知する。
【０２４０】
制御は動的パス切替対応デバイスドライバ３２０のステップ３２０４に戻る。次のステップ３２０５で、戻り値チェックを行なう。
【０２４１】
正常終了でない場合（ステップ６４０４、ステップ６４０６でエラー終了した後で、ステップ３２０４へ戻った場合など）は、代替パスの設定を試みたが、それも失敗に終わったと判定する。そして、デバイスファイルマッピング表３５の状態３５５を「障害」に更新し、Ｉ／Ｏエラーとして必要な後処理を行ない、処理を終了する。
【０２４２】
正常終了していれば、出力結果として得られている代替パスについて、ステップ３２０６で認識および実デバイスファイルの作成を行ない、今度は代替パスの実デバイスファイルに該当するデバイス制御要求を発行する。これがもし失敗すればステップ３２０８からステップ３２０４へ代替パスを障害パスとして再実行する。
【０２４３】
実デバイスドライブへのデバイス制御要求が無事正常終了すれば、代替パスへのＩ／Ｏを正常に行なえることが確認できたので、この時点まで代替パスと言っていたパスを新たな現用パスとする。すなわちステップ３２０９にて、デバイスマッピング表３５の実デバイスファイル３５２、パス情報３５４を更新し処理を終了する。
【０２４４】
また、擬似デバイスファイルと実デバイスファイルとパスとを対応づけた情報（デバイスファイルマッピング表３５）のうち、パスの状態（障害発生、負荷の量、ポートのＩ／Ｏ使用率など）に応じて、実デバイスファイルとパスを動的に変更することが可能となる。言い換えると、ある擬似デバイスファイルを指定して、ボリュームを使用することにより、ユーザが明示的に実デバイスファイルの変更を要求せずとも、パスの状況に応じて実デバイスファイルやパスの変更が可能となる。このため、システム管理者が、パスの制御にかける労力を軽減することもできる。
【０２４５】
また、パス障害の原因が取り除かれた後（例えば、断線したケーブルを交換するなど）、「障害」と印をつけられたパスの状態を「待機」に変更して新たな待機用パスとすることにより可用性を高めることができる。つまり、パスに障害が発生して使用できなくなった場合であっても、パスの障害が解除された場合には、そのパスは再び利用可能なパスとしてエントリすることになる。
【０２４６】
このように障害パスが回復した場合でも、代替パスをそのまま現用として、使用し続けても、機能的には問題はないが、回復した当初の現用パスが性能的に有利であるような場合は、ユーザの指示により、その時点では「障害」と印付けられている元来の「現用」パスを再び「現用」とし、その時点では「現用」と印付けられている元来の「待機」パスを「待機」としてパスを切替えることでフェールバックを行なうことが可能である。この際に、ユーザからフェールバック要求を受け付け、前記受け付けた要求に基づいてパスの切り替え処理を行ってもよい。
【０２４７】
たとえば、運用管理サーバ１１が、各種スイッチやポートやホストからの情報を収集して、パスの障害が解除されたか否かを判定する。そして、前記判定の結果に基づき、以前に現用として用いられていたパスの障害が解除された場合を契機として、現在使用中のパスから障害が解除されたパスへと、パスを切替える処理を行ってもよい。
また、画面にパスの障害が解除された旨のメッセージ（パス「ストレージＩＤ−ストレージポートＩＤ−トポロジー機器のポートＩＤ−ホストポートＩＤ」の障害が解除されました。）を表示し、使用中のパスから障害が解除されたパスへとパスの切り替え処理を行なうか否かの選択をユーザに入力させて、当該入力に応じてパスの切り替え処理を行なってもよいし、その他の方法でもよい。
【０２４８】
以上で示した方法によれば、前記したボリューム割当によって割当てられたボリュームのパスに障害が発生した場合、ボリューム割当要件の冗長パス数に指定した数以上の代替パス候補があり、ボリューム割当要件に従った相応のパス可用性を持つこととなる。
【０２４９】
なお、コストダウンなど理由によりホストに動的パス切替対応デバイスドライバを実装できない場合であっても、図８右に示す代替パス設定処理６４０をコマンド実行できるインタフェースを提供することにより、容易に代替パスを選択・設定を行なうという利点を享受することができる。
【０２５０】
また、上記の実施の形態では、単一のホストにボリュームを公開している場合を例に挙げて説明したが、複数のホストにボリュームを公開している場合においても、ホスト間で同期を取るなどの処置は必要なく、各ホストにおいてそれぞれ個別にパス障害に対応すればよい。
【０２５１】
以上詳述したように、ストレージ管理者はパス可用性に関するパラメータを含むボリューム割当要件を指定してボリューム割当要求を行なうことにより、ストレージネットワーク形態を特定せずに相応のパス可用性を持つボリューム割当設定が容易に行なうことができる。
【０２５２】
また前記方法で割当てたボリュームのパス障害発生時には、自動的にあるいはより簡易な操作で代替パスの設定を行なうことができる。またパス障害回復した後は、必要であれば、当初のパスに戻す設定を容易に行なうことができる。
【０２５３】
これらのことにより、ストレージ管理者の運用管理コストを低減することができる。
【図面の簡単な説明】
【０２５４】
【図１】本実施例のシステム構成図の例である。
【図２】実施の形態の構成の具体例である。
【図３】機器構成管理情報の一例である。
【図４】パス管理情報の一例である。
【図５】ボリューム割当処理のフローチャートの例である。
【図６】マルチパス選択処理のフローチャートの例である。
【図７】ストレージネットワーク形態順序付け処理のフローチャートの例である。
【図８】ホストエージェントにおける動的パス切替処理およびストレージ管理サーバにおける代替パス設定機能のフローチャートの例である。
【符号の説明】
【０２５５】
１０  運用管理サーバ
１１  プロセッサ
１２  主記憶装置
１３  二次記憶装置
２０  運用管理端末
３０  ホスト
４０  トポロジー機器
５０  ストレージ装置
６０  ストレージ運用管理システム
８１  構成情報
８９  パス情報
９１  ＬＡＮ
９２  運用管理用ネットワーク
９９  ボリューム割当要件
【図１】
2005115581.tif 000003
【図２】
2005115581.tif 000004
【図３】
2005115581.tif 000005
【図４】
2005115581.tif 000006
【図５】
2005115581.tif 000007
【図６】
2005115581.tif 000008
【図７】
2005115581.tif 000009
【図８】
2005115581.tif 000010