(57)【要約】【課題】サブシステムにおいて、簡易に効率よくインタフェースポートを管理・使用する。【解決手段】ホスト計算機１０１および記憶サブシステム１０２を有する情報処理システムに対してポートの割り当てを行なう管理計算機１０３に、複数のポート、複数の論理デバイス、およびホスト計算機１０１を管理単位であるストレージドメイン毎にグループ分けするステップと、ホスト計算機１０１から論理デバイス１０５に対するディスカバリ要求を受け付けた場合、グループ分けしたストレージドメインの中から、ディスカバリ要求を送信したホスト計算機１０１および要求されている論理デバイス１０５が属するストレージドメインを特定するステップと、特定したストレージドメインに属するポート２０４を選択し、該選択したポートを該論理デバイスに割り当てるステップと、を行なわせる。【選択図】図１
2005309680.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１台のホスト計算機と、前記ホスト計算機にネットワークを介して接続されている、少なくとも１台の記憶サブシステムとを有する情報処理システムに対して、管理計算機がポートの割り当てを行なう記憶サブシステム管理方法であって、
前記記憶サブシステムは、複数の論理デバイスおよび複数のポートを有し、前記ネットワークに複数のポートを介して接続されていて、
前記管理計算機は、
前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付けるステップと、
前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けするステップと、
前記ホスト計算機から、前記論理デバイスに対するディスカバリ要求を受け付けた場合に、前記グループ分けしたストレージドメインの中から、該ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定するステップと、
前記特定したストレージドメインに属するポートを選択し、該選択したポートを該論理デバイスに割り当てるステップと、
前記割り当てたポートの情報を前記ホスト計算機に送信するステップと、を実行すること
を特徴とする記憶サブシステム管理方法。
【請求項２】
少なくとも１台のホスト計算機と、前記ホスト計算機にＳＡＮ（Storage Area Network）を介して接続されている、少なくとも１台の記憶サブシステムとを有する情報処理システムに対して、管理計算機がポートの割り当てを行なう記憶サブシステム管理方法であって、
前記記憶サブシステムは、複数の論理デバイスおよび複数のポートを有し、前記ＳＡＮに複数のポートを介して接続されていて、
前記管理計算機は、
前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付けるステップと、
前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けするステップと、
前記ＳＡＮを１以上の管理単位であるＳＡＮドメインに分割するステップと、
前記ＳＡＮドメインに前記ホストおよび前記ポートをグループ分けするステップと、
前記ホスト計算機から、前記論理デバイスに対するディスカバリ要求を受け付けた場合に、前記グループ分けしたストレージドメインの中から、該ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定し、かつ前記グループ分けしたＳＡＮドメインの中から、該ディスカバリ要求を送信したホスト計算機が属するＳＡＮドメインを特定するステップと、
前記特定したストレージドメインおよびＳＡＮドメインの両者に属するポートを選択し、該選択したポートを該論理デバイスに割り当てるステップと、
前記割り当てたポートの情報を前記ホスト計算機に送信するステップと、を実行すること
を特徴とする記憶サブシステム管理方法。
【請求項３】
少なくとも１台のホスト計算機と、少なくとも１台の記憶サブシステムと、管理計算機とを有する情報処理システムの記憶サブシステム管理方法であって、
前記ホスト計算機、記憶サブシステム、および管理計算機は、各々がネットワークを介して接続されていて、
前記記憶サブシステムは、
複数の論理デバイスおよび複数のポートを有し、前記ネットワークに複数のポートを介して接続されていて、
自身が有する論理デバイスおよびポートの構成が変更された場合に、該変更された論理デバイスおよびポートを示すデータを含む構成変更情報を前記管理計算機に送信するステップを行い、
前記管理計算機は、
前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付けるステップと、
前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けするステップと、
前記記憶サブシステムが前記構成変更情報を送信した場合、該構成変更情報を受信し、該受信した構成変更情報を用いて、前記グループ分けしたストレージドメインを変更するステップと、
前記ホスト計算機から、前記論理デバイスに対するディスカバリ要求を受け付けた場合に、前記グループ分けしたストレージドメインの中から、該ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定するステップと、
前記特定したストレージドメインに属するポートであって、かつ前記要求された論理デバイスに予め対応づけられているポートを選択し、該選択したポートを該論理デバイスに割り当てるステップと、
前記割り当てたポートの情報を前記ホスト計算機に送信するステップと、を実行すること
を特徴とする記憶サブシステム管理方法。
【請求項４】
少なくとも１台のホスト計算機と、少なくとも１台の記憶サブシステムと、管理計算機とを有する情報処理システムの記憶サブシステム管理方法であって、
前記ホスト計算機、記憶サブシステム、および管理計算機は、各々がネットワークを介して接続されていて、
前記記憶サブシステムは、
複数の論理デバイスおよび複数のポートを有し、前記ネットワークに複数のポートを介して接続されていて、
初期設定の際に、自身が有する論理デバイスおよびポートを示すデータを含む構成情報を前記管理計算機に送信するステップと、
自身が有する論理デバイスおよびポートの構成が変更された場合に、該変更された論理デバイスおよびポートを示すデータを含む構成変更情報を前記管理計算機に送信するステップと、を行い、
前記管理計算機は、
前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付けるステップと、
前記記憶サブシステムが送信する前記構成情報を受信し、該受信した構成情報を用いて、前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けするステップと、
前記記憶サブシステムが送信する前記構成変更情報を受信し、該受信した構成変更情報を用いて、前記グループ分けしたストレージドメインを変更するステップと、
前記ホスト計算機から、前記論理デバイスに対するディスカバリ要求を受け付けた場合に、前記グループ分けしたストレージドメインの中から、該ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定するステップと、
前記特定したストレージドメインに属するポートを選択し、該選択したポートを該論理デバイスに割り当てるステップと、
前記割り当てたポートの情報を前記ホスト計算機に送信するステップと、を実行すること
を特徴とする記憶サブシステム管理方法。
【請求項５】
請求項１〜４のいずれか一項に記載の記憶サブシステム管理方法であって、
前記管理計算機は、
前記記憶サブシステムからポート利用率を示す情報を定期的に取得するステップを行い、
前記ポートを論理デバイスに割り当てるステップは、選択可能なポートが複数ある場合、前記取得した利用率を用いて、該利用率が低いポートを選択することを特徴とする記憶サブシステム管理方法。
【請求項６】
請求項１〜４のいずれか一項に記載の記憶サブシステム管理方法であって、
前記管理計算機は、
前記記憶サブシステムからポートが正常か否かを示す情報を定期的に取得するステップを行い、
前記ポートを論理デバイスに割り当てるステップは、選択可能なポートが複数ある場合、前記取得したポートが正常か否かを示す情報を用いて、該状態が正常であるポートを選択すること
を特徴とする記憶サブシステム管理方法。
【請求項７】
請求項１〜４のいずれか一項に記載の記憶サブシステム管理方法であって、
前記ポートを論理デバイスに割り当てるステップは、選択可能なポートが複数ある場合、前記ディスカバリ要求を送信したホスト計算機のネットワークアドレスに、最も近いネットワークアドレスのポートを選択すること
を特徴とする記憶サブシステム管理方法。
【請求項８】
請求項７に記載の記憶サブシステム管理方法であって、
前記ホスト計算機のネットワークアドレスは、ＩＰアドレスであり、サブネットを元に最も近いポートを選択すること
を特徴とする記憶サブシステム管理方法。
【請求項９】
請求項２に記載の記憶サブシステム管理方法であって、
前記ＳＡＮドメインに分割するステップは、前記ＳＡＮドメインがＶＬＡＮと同一になるようにＳＡＮを分割すること
を特徴とする記憶サブシステム管理方法。
【請求項１０】
請求項３に記載の記憶サブシステム管理方法であって、
前記管理計算機は、
前記取得した構成変更情報にポートが過負荷であることを示すデータが含まれている場合、前記過負荷のポートに予め対応付けられている論理デバイスであって、かつ該過負荷のポート以外のポートにも対応づけられている論理デバイスに対し、過負荷のポートへの対応づけを解消すること
を特徴とする記憶サブシステム管理方法。
【請求項１１】
少なくとも１台のホスト計算機と、前記ホスト計算機にネットワークを介して接続されている、少なくとも１台の記憶サブシステムとを有する情報処理システムに対して、ポートの割り当てを行なう管理計算機であって、
前記記憶サブシステムは、複数の論理デバイスおよび複数のポートを有し、前記ネットワークに複数のポートを介して接続されていて、
前記管理計算機は、
前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付ける手段と、
前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けする手段と、
前記ホスト計算機から、前記論理デバイスに対するディスカバリ要求を受け付けた場合に、前記グループ分けしたストレージドメインの中から、該ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定する手段と、
前記特定したストレージドメインに属するポートを選択し、該選択したポートを該論理デバイスに割り当てる手段と、
前記割り当てたポートの情報を前記ホスト計算機に送信する手段とを有すること
を特徴とする管理計算機。
【請求項１２】
少なくとも１台のホスト計算機と、前記ホスト計算機にＳＡＮ（Storage Area Network）を介して接続されている、少なくとも１台の記憶サブシステムとを有する情報処理システムに対して、ポートの割り当てを行なう管理計算機であって、
前記記憶サブシステムは、複数の論理デバイスおよび複数のポートを有し、前記ＳＡＮに複数のポートを介して接続されていて、
前記管理計算機は、
前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付ける手段と、
前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けする手段と、
前記ＳＡＮを１以上の管理単位であるＳＡＮドメインに分割して、該ＳＡＮドメインに前記ホストおよび前記ポートをグループ分けする手段と、
前記ホスト計算機から、前記論理デバイスに対するディスカバリ要求を受け付けた場合に、前記グループ分けしたストレージドメインの中から該ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定し、かつ前記グループ分けしたＳＡＮドメインの中から、該ディスカバリ要求を送信したホスト計算機が属するＳＡＮドメインを特定する手段と、
前記特定したストレージドメインおよびＳＡＮドメインの両者に属するポートを選択し、該選択したポートを該論理デバイスに割り当てる手段と、
前記割り当てたポートの情報を前記ホスト計算機に送信する手段とを有すること
を特徴とする管理計算機。
【請求項１３】
少なくとも１台のホスト計算機と、少なくとも１台の記憶サブシステムと、管理計算機とを有する情報処理システムであって、
前記ホスト計算機、記憶サブシステム、および管理計算機は、各々がネットワークを介して接続されていて、
前記記憶サブシステムは、
複数の論理デバイスと、
複数のポートと、
初期設定の際に、自身が有する論理デバイスおよびポートを示すデータを含む構成情報を前記管理計算機に送信する手段と、
自身が有する論理デバイスおよびポートの構成が変更された場合に、該変更された論理デバイスおよびポートを示すデータを含む構成変更情報を前記管理計算機に送信する手段と、を有し、
前記管理計算機は、
前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付ける手段と、
前記記憶サブシステムが送信する前記構成情報を受信し、該受信した構成情報を用いて、前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けする手段と、
前記記憶サブシステムが送信する前記構成変更情報を受信し、該受信した構成変更情報を用いて、前記グループ分けしたストレージドメインを変更する手段と、
前記ホスト計算機から、前記論理デバイスに対するディスカバリ要求を受け付けた場合に、前記グループ分けしたストレージドメインの中から、該ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定する手段と、
前記特定したストレージドメインに属するポートを選択し、該選択したポートを該論理デバイスに割り当てる手段と、
前記割り当てたポートの情報を前記ホスト計算機に送信する手段とを有すること
を特徴とする情報処理システム。
【請求項１４】
少なくとも１台のホスト計算機と、前記ホスト計算機にネットワークを介して接続されている、少なくとも１台の記憶サブシステムとを有する情報処理システムにおいて、前記情報処理システムに対してポートを割り当てる処理をコンピュータに実行させるプログラムであって、
前記記憶サブシステムは、複数の論理デバイスおよび複数のポートを有し、前記ネットワークに複数のポートを介して接続されていて、
前記プログラムは、
前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付けるステップと、
前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けするステップと、
前記ホスト計算機から前記論理デバイスに対するディスカバリ要求を受け付けるステップと、
前記グループ分けしたストレージドメインの中から、前記受付けたディスカバリ要求を送信したホスト計算機および要求されている論理デバイスが属するストレージドメインを特定するステップと、
前記特定したストレージドメインに属するポートを選択し、該選択したポートを該論理デバイスに割り当てるステップと、
前記割り当てたポートの情報を前記ホスト計算機に送信するステップと、をコンピュータに実行させること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムのデータを格納する記憶サブシステム及びこれらの統合システムに関し、特に、記憶サブシステムが複数のインタフェースポートを実装する場合における、インタフェースポート間の負荷分散や障害回避の技術に関する。
【背景技術】
【０００２】
大量の電子データを管理するシステムに、ディスクアレイ装置に代表される記憶サブシステムがある。記憶サブシステムでは、電子データを効率的に利用するために、障害回避や負荷分散処理を行うが必要である。
【０００３】
従来から、ホスト計算機および記憶サブシステムを有する情報処理システムにおいて、ホスト計算機と記憶サブシステムとの間で負荷分散、後退処理を行なうデバイスプログラムが知られている（非特許文献１）。
【０００４】
【非特許文献１】http://japan.emc.com/local/ja/JP/products/product_pdfs/ds/powerpath_ds.pdf
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、大規模な記憶サブシステムでは、管理者が記憶サブシステムの論理デバイスとポートとの組み合わせを全て設定する必要があり、管理が複雑であるという問題を有している。
【０００６】
しかしながら、上記非特許文献１では、記憶サブシステムにおける統合管理について、特に考慮されていない。
【０００７】
また、上記非特許文献１では、負荷分散処理や障害回避処理を行なう場合、記憶サブシステムに接続するホストコンピュータ上に負荷分散処理および障害回避処理を行なうデバイスプログラムを実装する必要がある。しかしながら、上記非特許文献１のデバイスプログラムは、汎用的なプロトコルを用いるレイヤの上位レイヤで、独自のプロトコルにしたがい、負荷分散処理や障害回避処理を行なうように設計されている。
【０００８】
そのため、上記非特許文献１では、ホスト計算機と記憶サブシステムとの間における相互互換性の問題が発生する。具体的には製造メーカが異なる複数のディスクアレイ装置が接続されている記憶サブシステムの負荷分散や障害回避処理を行なう場合、ホストコンピュータ上にその記憶サブシステムの製造メーカ毎のデバイスプログラムを実装させる必要がある。
【０００９】
そこで、本発明の目的は、大規模、または複雑な記憶サブシステムにおいて、簡易に効率よくインタフェースポートを管理・使用することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明の一態様は、少なくとも１台のホスト計算機と、前記ホスト計算機にネットワークを介して接続されている、少なくとも１台の記憶サブシステムとを有する情報処理システムに対して、ポートの割り当てを行なう管理計算機に適用される。
【００１１】
ここで、前記記憶サブシステムは、複数の論理デバイスおよび複数のポートを有し、前記ネットワークに複数のポートを介して接続されている。そして、前記管理計算機は、前記記憶サブシステムの管理単位である、１以上のストレージドメインを示すデータの入力を受付けるステップと、前記複数のポート、前記複数の論理デバイス、およびホスト計算機を、前記１以上のストレージドメインにグループ分けするステップと、前記ホスト計算機から、前記論理デバイスに対するディスカバリ要求を受け付けた場合に、前記グループ分けしたストレージドメインの中から、該ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定するステップと、前記特定したストレージドメインに属するポートを選択し、該選択したポートを該論理デバイスに割り当てるステップと、前記割り当てたポートの情報を前記ホスト計算機に送信するステップと、を実行する。
【発明の効果】
【００１２】
このように本発明によれば、記憶サブシステムが有する複数のポートおよび複数の論理デバイスと、ホスト計算機とを、１以上のストレージドメインにグループ分けするようにしている。そして、本発明では、グループ分けしたストレージドメインの中から、ディスカバリ要求を送信したホスト計算機および要求されている論理デバイスの両者が属するストレージドメインを特定し、その特定したストレージドメインに属するポートを選択するようにしている。これにより、本発明では、複数のポートおよび複数の論理デバイスをグループ分けしておくだけで、論理デバイスとポートを１対１に対応させて設定することなくポートを振分けることができる。すなわち、本発明によれば、記憶サブシステムにおいて、簡易に効率よくインタフェースポートを管理・使用することができる。
【００１３】
また、本発明によれば、前記ホスト計算機は、ｉＳＮＳ、ｉＳＣＳＩのプロトコルにしたがう標準的なディスカバリ要求を管理計算機に行なうことで、管理計算機からアクセスしたい論理デバイスに対応するポートの情報を取得することができる。これにより、本発明によれば、製造メーカが異なる複数の記憶サブシステムが接続されている情報処理システムの負荷分散処理や障害回避処理を行なう場合であっても、ホスト計算機上に製造メーカが異なる、記憶サブシステムのデバイスプログラムを実装させる必要はない。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態が適用された情報処理システムを説明する。
〈第１実施形態〉
先ず、本発明の第１実施形態について説明する。
【００１５】
図１は、本発明の第１実施形態の情報処理システムのシステム構成を表すブロック図である。図２は、第１実施形態の記憶サブシステム１０２のシステム構成図である。
【００１６】
さて、図１に示すように、情報処理システムは、上位装置であるホスト計算機（コンピュータ）１０１と、管理計算機１０３と、記憶サブシステム１０２と、を有する。ホスト計算機１０１、管理計算機１０３、および記憶サブシステム１０２は、各々、ストレージエリアネットワーク（ＳＡＮ）１０４に接続されている。そして、ホスト計算機１０１、管理計算機１０３、および記憶サブシステム１０２は、各々、ストレージエリアネットワーク（ＳＡＮ）１０４を介して情報の授受を行なう。なお、ホスト計算機１０１、および記憶サブシステム１０２は、単数でも複数でもよい。
【００１７】
ホスト計算機１０１は、ＳＡＮ１０４を介して、記憶サブシステム１０２および管理計算機１０３のそれぞれとデータの入出力を行う。ホスト計算機１０１には、ワークステーション、マイクロコンピュータ又はメインフレームコンピュータを用いることができる。そして、ホスト計算機１０１では、アプリケーションプログラムやデータベースシステムが稼働している。
【００１８】
管理計算機１０３は、記憶サブシステム１０２、ＳＡＮ１０４、およびホスト計算機１０１の管理を行なう。具体的には、管理計算機１０３は、プロセッサ（ＣＰＵ：Central Processing Unit）１０、メモリ２０、およびＦＣＩ／Ｆ１１を有する。そして、メモリ２０には、ネーム管理プログラム１１４、ストレージ管理プログラム１１０ａ、デバイス管理テーブル１１１ａ、ポート管理テーブル１１２ａ、ストレージドメイン管理テーブル１１３ａ、ネーム管理テーブル１１５、およびホスト管理テーブル１１６が格納されている。
【００１９】
ＦＣＩ／Ｆ１１は、ＳＡＮ１０４を介してホスト計算機１０１と行なうデータの送受信を制御する。また、ＦＣＩ／Ｆ１１は、ＳＡＮ１０４を介して記憶サブシステム１０２と行なうデータの送受信を制御する。
【００２０】
ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、記憶サブシステム１０２、ＳＡＮ１０４、およびホスト計算機１０１を管理する。また、ＣＰＵ１０は、ネーム管理プログラム１１４を実行して、情報処理システムに接続されている、ホスト計算機１０１や記憶サブシステム１０２に対するネームサービスを提供する。
【００２１】
ストレージ管理プログラム１１０ａは、システム内の記憶サブシステム１０２を管理するプログラムである。デバイス管理テーブル１１１ａ、ポート管理テーブル１１２ａ、およびストレージドメイン管理テーブル１１３ａには、システム内の記憶サブシステム１０２の情報が格納されている。
【００２２】
そして、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行することで、システム内の全記憶サブシステム１０２内で動作する、ストレージ管理プログラム１１０ｂから、記憶サブシステム１０２の各種情報を定期的に取得する。なお、記憶サブシステム１０２から取得する各種情報は、後述する、記憶サブシステム１０２で動作するストレージ管理プログラム１１０ｂが、各種の情報を更新するたびに、管理計算機１０３に送信するように構成してもよい。
【００２３】
また、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、ホスト管理テーブル１１６の管理も行なう。ホスト管理テーブル１１６には、システム内のホスト計算機１０１とストレージドメインとを対応付けて記憶している。
【００２４】
ネーム管理プログラム１１４は、ｉＳＮＳ（Ｉｎｔｅｒｎｅｔ Ｓｔｏｒａｇｅ Ｎａｍｅ Ｓｅｒｖｉｃｅ）等の既存のプロトコルを用いてホスト計算機１０１や記憶サブシステム１０２にネームサービスを提供するためのプログラムである。そして、ＣＰＵ１０は、ネーム管理プログラム１１４を実行して、ホスト計算機１０１や記憶サブシステム１０２と通信し、ネーム管理テーブル１１５を管理する。ネーム管理テーブル１１５には、記憶サブシステム１０２、記憶サブシステム１０２が有する論理デバイス１０５、およびホスト計算機１０１等に関するプロトコル上の情報が格納されている。例えば、ネーム管理プログラム１１４のプロトコルにｉＳＮＳを用いた場合、ネーム管理テーブル１１５には、ｉＳＣＳＩ（Ｉｎｔｅｒｎｅｔ ＳＣＳＩ）に関して「ｉＳＣＳＩ ＮＡＭＥ」や「ＩＰアドレス」、「Ｄｉｓｃｏｅｒｙ  Ｄｏｍａｉｎ」等の情報が格納される。
【００２５】
また、本実施形態では、ネーム管理テーブル１１５に格納される記憶サブシステム１０２に関するデータは、以下のように更新する。ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、記憶サブシステム１０２で動作するストレージ管理プログラム１１０ｂ（ストレージ管理プログラム１１０ｂを実行しているＣＰＵ２０２）から記憶サブシステム１０２に関するデータを取得して、その取得したデータをメモリ２０のワークエリアに格納する。その後、ＣＰＵ１０は、ネーム管理プログラム１１４を実行して、上記ワークエリアに格納しておいた記憶サブシステム１０２に関するデータを読み出し、その読み出したデータを用いて、ネーム管理テーブル１１５のデータを更新する。
【００２６】
記憶サブシステム１０２は、ホスト計算機１０１に対する情報の授受を制御する制御部（図２に示すコントローラ２０１）と、情報を格納するディスク装置（図２に示すディスク装置２１０）とを有する記憶サブシステムである。本実施形態では、記憶サブシステム１０２として、ディスクアレイ装置が適用される場合を例に説明するが、特にこれに限定するものではない。記憶サブシステム１０２に、ディスクアレイ装置以外の記憶サブシステムを適用するようにしてもよい。
【００２７】
記憶サブシステム１０２は、１つ以上のポート２０４を有し、ＳＡＮ１０４を経由してホスト計算機１０１と接続されている。ポート２０４は、ファイバチャネル（Fibre channel）、ｉＳＣＳＩ(Internet SCSI)やＦＩＣＯＮ、ＥＳＣＯＮ等の記憶サブシステム向けインタフェースである。なお、本実施形態においては、ＳＡＮ１０４の構成及びインタフェース１０４の種類について特に制限しない。なお、以下、本実施形態の説明においては、ポート２０４にｉＳＣＳＩを適用し、ＳＡＮにＩＰ−ＳＡＮを適用した場合を例にして説明する。
【００２８】
また、記憶サブシステム１０２は、少なくとも１つの論理デバイス１０５を有する。そして、ホスト計算機１０１は、ポート２０４を介して論理デバイス１０５への読み出し、書き込み等のアクセスが可能である。この場合、ホスト計算機１０１は、各ポート２０４が提供する記憶サブシステム用のプロトコルを使用する。ＩＰ−ＳＡＮではｉＳＣＳＩ、ファイバチャネルではＦＣＰ（Fibre Channel Protocol for SCSI）、ＦＩＣＯＮではＦＣ−ＳＢ（Single Byte Protocol）を用いる。なお、本実施形態において用いられるプロトコルの種別は特に制限はない。
【００２９】
続いて、図２を用いて記憶サブシステム１０２の構成を詳細に説明する。
【００３０】
図２に示すように、記憶サブシステム１０２は、コントローラ２０１と、１つ以上のディスク装置２１０とを有する。コントローラ２０１は、ホストアダプタ２０３、メモリ２０５、ディスクアダプタ２０７、及びプロセッサ（ＣＰＵ：Central Processing Unit）２０２を有する。各々の構成の数は、本発明の本質とは関係ないが性能及び信頼性の観点から多重化することが好ましい。
【００３１】
ホストアダプタ２０３は、ｉＳＣＳＩ等のポート２０４に関するプロトコルを制御する。
【００３２】
メモリ２０５には、ストレージドメイン制御に関するプログラム及びデータが格納されている。具体的には、メモリ２０５にはストレージ管理プログラム１１０ｂ、デバイス管理テーブル１１１ｂ、ポート管理テーブル１１２ｂ、およびストレージドメイン管理テーブル１１３ｂが格納される。
【００３３】
メモリ２０５には、これらのプログラム及びデータの他に、記憶サブシステム１０２を制御するために必要な制御プログラムや制御情報、ホスト計算機１０１に対する入出力処理に関するキャッシュデータ１１０が格納される。高信頼化のために、メモリ２０５を二重化したり、メモリ２０５への電源を二重化することが好ましい。
【００３４】
ディスクアダプタ２０７は、ホストアダプタ２０３と同様に、ファイバチャネル等のディスクインタフェース２０９に関するプロトコル処理を行う。
【００３５】
ディスク装置２１０は、ディスクインタフェース２０９を介してコントローラ２０１からの読み出し、書き込み等のコマンドを受け付け、コマンドによって規定される処理を行う。高信頼化のため、ディスクインタフェース２０９を二重化することが好ましい。
【００３６】
ディスク装置２１０は、ディスクインタフェース２０９を介してコントローラ２０１からの読み出し、書き込み等のコマンドを受け付け、コマンドによって規定される処理を行う。高信頼化のため、ディスクインタフェース２０９を二重化することが好ましい。
【００３７】
記憶サブシステム１０２は、ディスク装置２１０を複数組み合わせ冗長構成とし、この中に論理的なデバイスを作成し、一つ以上の論理的なデバイスにより論理デバイス１０５（図１参照）を作成する。
【００３８】
ＣＰＵ２０２は、記憶サブシステム１０２に関する処理を実行する。具体的には、ＣＰＵ２０２は、内部バス２０８を介しコントローラ２０１内のホストアダプタ２０３及びディスクアダプタ２０７と接続されている。ＣＰＵ２０２は、ホストアダプタ２０３及びディスクアダプタ２０７を制御する。また、ＣＰＵ２０２は、メモリ２０５と内部バス２０８を介し接続されており、メモリ２０５に格納されたプログラムやデータ（ストレージ管理プログラム１１０ｂ、デバイス管理テーブル１１１ｂ、ポート管理テーブル１１２ｂ、ストレージドメイン管理テーブル１１３ｂ）をロードして実行する。
【００３９】
ストレージ管理プログラム１１０ｂは、記憶サブシステム１０２に関するポート２０４や論理デバイス１０５等のその他資源の情報を、各テーブル（デバイス管理テーブル１１１ｂ、ポート管理テーブル１１２ｂ、ストレージドメイン管理テーブル１１３ｂ）を利用して管理するためのプログラムである。
【００４０】
デバイス管理テーブル１１１ｂは、デバイス１０５の属性とストレージドメインの対応を管理するためのものである。ポート管理テーブル１１２ｂは、記憶サブシステム１０２のポート２０４とストレージドメインの対応を管理するためのものである。ストレージドメイン管理テーブル１１３ｂは、ストレージドメインの属性を管理するためのものである。
【００４１】
なお、ここまでに説明したストレージ管理プログラム１１０ｂは、コンパクトディスクや光磁気ディスクといった可搬記憶媒体を用いて、あるいは、ネットワークを介して、他の装置から各記憶サブシステム１０２に設けられる記憶媒体にインストールされる。
【００４２】
続いて、第１実施形態の情報処理システムの管理単位であるストレージドメインについて図３を用いて説明する。
【００４３】
図３は、本実施形態の記憶サブシステムの管理単位であるストレージドメインを説明するための図である。
【００４４】
ストレージドメイン３０１は、記憶サブシステム１０２の論理デバイス１０５群、ポート２０４群、およびホストコンピュータ１０１を分類したものである。ホストコンピュータ１０１は、使用されている部門、性能、物理接続などの属性に応じて分類される。なお、ストレージドメイン３０１を、部門、アプリケーションプログラム、ユーザ等の属性を用いて階層的に管理するようにしてもよい。
【００４５】
また、同じストレージドメイン３０１に分類された、論理デバイス１０５群、ポート２０４群、およびホストコンピュータ１０１は、任意に組み合わせることができる。すなわち、ホストコンピュータ１０１は、同じストレージドメインに属する論理デバイス１０５に、同じストレージドメインに属する任意のポートを経由してアクセスできる。
【００４６】
図示する例では、情報処理システムが有する、論理デバイス１０５群、ポート２０４群、およびホストコンピュータ１０１が、２つのストレージドメイン（３０１ａ、３０１ｂ）に分類されている。具体的には、記憶サブシステムＡのストレージドメイン３０１ａには、論理デバイス１０５ａ、論理デバイス１０５ｂ、ポート２０４ａ、ポート２０４ｂ、ホスト計算機１０１ａ、およびホスト計算機１０１ｂが属している。また、ストレージドメイン３０１ｂには、論理デバイス１０５ｃ、ポート２０４ｃ、ポート２０４ｄ、およびホスト計算機１０１ｃが属している。
【００４７】
ホスト計算機１０１ａは、ストレージドメイン３０１ａに属しているので、論理デバイス１０５ａ、論理デバイス１０５ｂにアクセス可能であり、アクセスする際にはポート２０４ａ、ポート２０４ｂを使用することができる。
【００４８】
また、ホスト計算機１０１ｃは、ストレージドメイン３０１ｂに属しているので、論理デバイス１０５ｃにアクセス可能であり、アクセスする際にはポート２０４ｃ、ポート２０４ｄを使用することができる。
【００４９】
論理デバイス１０５群、ポート２０４群、およびホスト計算機１０１をストレージメイン３０４に分類する具体的な基準について、本実施形態では、特に限定しない。例えば、上記分類するための基準として、アクセス可否等に関するセキュリティ、ポート２０４やＳＡＮ１０４のスループットや遅延に関する性能、信頼性等を用いるようにしてもよい。
【００５０】
セキュリティに関する基準を用いて上記分類を行なう場合、既存のユーザ管理プログラム等との連携が可能である。例えば、既存のユーザ管理プログラムとしては、Ｍｉｃｒｏｓｏｆｔ社が提供するＯＳのＷｉｎｄｏｗｓ（登録商標）に実装されているＡｃｔｉｖｅ Ｄｉｒｅｃｔｏｒｙ（登録商標）サーバとの連携が可能である。また、例えば、ＵＮＩＸ環境ではＬＤＡＰ（Lightweight Directory Access Protocol）サーバやＮＩＳ（Network Information Service）サーバとの連携が可能である。
【００５１】
また、例えば、ｉＳＣＳＩにおいては、ｉＳＮＳやＳＬＰ（Service Location Protocol）を利用することもできる。ｉＳＮＳサーバでは、ＬＤＡＰ等との連携が可能であり、部門等の管理分類は通常継承することができる。
【００５２】
性能に関する基準については、以下を考慮するとよい。例えば、企業等では、同一部門においてもデータベース等のアプリケーションや管理者等特別なユーザに対して性能を確保する必要が生じることがある。そこで、セキュリティ管理の場合と同様に、性能に関しても分類を設けるとよい。例えば、優先度の低いアプリケーションやユーザと、優先度の高いアプリケーションやユーザとを別のストレージドメイン３０１へ分類する。特定のアプリケーション３０１のみポート２０４を割り当て、それ以外はポートを共有するようなストレージドメイン３０１に設定する。
【００５３】
ネットワークのトポロジに関しても性能に影響する場合がある。例えば任意のホストから同一ストレージドメイン３０１内の各ポート２０４への経路が異なる場合があり、この場合は性能（スループット、遅延）が異なる。そのため、ＩＰネットワークを利用する場合には、ＩＰアドレスのサブネットを解析して分類を行うようにしてもよい。或いは、ネットワーク経路のトレースを行うコマンド（例えば、Ｕｎｉｘ環境ではtracerouteコマンドがある）を用いて、同一ストレージドメイン３０１内のポートからの経路を基準に分類を行うようにしてもよい。
【００５４】
このように、本実施形態では、論理デバイス１０５群、ポート２０４群、およびホストコンピュータ１０１をストレージドメイン３０１ａに分類し、同じストレージドメインの中に属する論理デバイスとポートとを任意に組合せることができるようにしている。そのため、従来の記憶サブシステムのように、論理デバイスとポートとを１対１で対応させる設定を行う必要がなくなり、記憶サブシステムの管理の煩雑さを解消させることができる。
【００５５】
また、本実施形態では、部門、アプリケーションプログラム、ユーザ等の属性により、論理デバイス１０５群、ポート２０４群、およびホスト計算機１０１を分類することができる。そのため、ユーザの属性応じた論理デバイスに効率よくアクセスすることが可能になる。
【００５６】
続いて、図４〜図８を用いて、本実施形態の情報処理システムが有する、上述した各テーブル（ストレージドメイン管理テーブル１１３、ポート管理テーブル１１２、デバイス管理テーブル１１１、ホスト管理テーブル１１６、ネーム管理テーブル１１５）のデータ構造を説明する。
【００５７】
図４は、本実施形態のストレージドメイン管理テーブル１１３のデータ構造を模擬的に示した図である。
【００５８】
ストレージドメイン管理テーブル１１３は、ストレージドメイン３０１の属性を保持するためのテーブルである。
【００５９】
ストレージドメイン管理テーブル１１３は、ストレージドメインの識別子である「ストレージドメインＩＤ」を格納するエントリ４０１、ストレージドメインの管理上の名称を示す「ストレージドメイン名」を格納するエントリ４０２、およびストレージドメインの属性を示す「属性データ」を格納するエントリ４０３を有する。エントリ４０１に格納する「ストレージドメインＩＤ」に対応付けて、エントリ４０２および４０３に「ストレージドメイン名」および「属性データ」が格納される。
【００６０】
図示する例では、「ストレージドメインＩＤ」が「ｓａ」であって、「ストレージドメイン名」が「Ａccount」、「属性データ」が「経理」のデータが格納されている。また、「ストレージドメインＩＤ」が「ｓｂ」であって、「ストレージドメイン名」が「Ｄevelop」、「属性データ」が「開発」のデータが格納されている。
【００６１】
管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、例えば、表示装置（図示しない）にストレージドメイン設定画面を表示する。管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、管理者からのストレージドメインの定義（「ストレージドメインＩＤ」、「ストレージドメイン名」、「属性データ」の設定）を、入力装置（図示しない）を介して受付ける。管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、上記受付けた定義をストレージドメイン管理テーブル１１３に格納する。
【００６２】
なお、上記では、管理計算機１０３のＣＰＵ１０が、ストレージ管理プログラム１１０ａを実行し、管理者からのストレージドメインの定義を受付け、その受付けた定義をストレージドメイン管理テーブル１１３に格納することとしているが、記憶サブシステム１０２のＣＰＵ２０２も、ストレージ管理プログラム１１０ｂを実行し、上記と同様の処理を行うことができる。
【００６３】
また、「属性データ」や「ストレージドメイン名」は、管理者が管理計算機１０３に格納されたストレージ管理プログラム１１０ａを動作させることで、入力しても良いが、上述したActive Directory、LDAP、NIS等の管理プログラムとの連携を行って設定するとより効率が良くなる。
【００６４】
図５は、本実施形態のポート管理テーブル１１２のデータ構造を模擬的に示した図である。
【００６５】
ポート管理テーブル１１２は、ポート２０４と、記憶サブシステム１０２およびストレージドメイン３０１との対応付けを行なうためのテーブルである。
【００６６】
ポート管理テーブル１１２は、記憶サブステム１０２の装置識別子である「装置ＩＤ」を格納するエントリ５０１、ポート２０４の識別子である「ポートＩＤ」を格納するエントリ５０２、各ポート２０４のＳＡＮ１０４上の「アドレス」を格納するエントリ５０３、ポート２０４の「利用率」を格納するエントリ５０４、ポートの状態を示す「状態データ」を格納するエントリ５０５、およびポート２０４が属するストレージドメイン３０１の「ストレージドメインＩＤ」を格納するエントリ５０６を有する。
【００６７】
そして、エントリ５０１に格納する「装置ＩＤ」に対応付けて、エントリ５０２〜５０６に各データが格納されている。また、エントリ５０２に対応付けてエントリ５０３〜５０６に各データが格納されている。
【００６８】
なお、本実施形態では、ストレージドメイン３０１は、１つのポートに対して１つ割当てているが、任意のポートに対して複数のストレージドメイン３０１を割当てることが可能である。１つのポートに対して複数のストレージドメインを割当てる場合には、エントリ５０６に格納する、ストレージドメインＩＤを複数設定する。また、エントリ５０３に格納するアドレスには、例えば、ＩＰネットワークの場合は、ＩＰアドレスおよびポート番号を用いるとよい。
【００６９】
図示する例では、「Ａ」が格納されているエントリ５０２に対応する、各エントリ５０３〜５０６に、「Ａ１」、「９０％」、「過負荷」、および「ｓａ」が、各々、格納されている。これは、装置ＩＤが「ストレージＡ」である記憶サブシステム１０２が有するポートＡは、ＳＡＮ１０４上の「アドレス」が「Ａ１」であって、「ｓａ」のストレージＩＤを持つストレージドメイン３０１に属することを示している。また、ポートＡは、ポート利用率が「９０％」で、現状は、過負荷状態にあることを示している。
【００７０】
管理計算機１０３のＣＰＵ１０（または記憶サブシステム１０２のＣＰＵ２０２）は、ストレージ管理プログラム１１０ａ（またはストレージ管理プログラム１１０ｂ）を実行して、ポート管理テーブル１１２の管理を行う。管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行し、ポート管理テーブル１１２に、装置やポートとストレージドメイン３０１との対応付けを行なう。
【００７１】
管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行し、定期的に記憶サブシステム１０２のポート２０４の負荷（ポート利用率）や構成状態を取得し、取得した「ポート利用率」に基づいて現状の「状態」を判定する。管理計算機１０３のＣＰＵ１０（または記憶サブシステム１０２のＣＰＵ２０２）は、算出した「ポート利用率」や判定した「状態」をポート管理テーブル１１２の対応するエントリに格納する。
【００７２】
なお、判定する「状態」の態様については、特に限定しないが、例えば、判定する「状態」の態様として「過負荷」、「正常」、「オフライン」、「閉塞」の状態を示すようにしてもよい。そして、管理計算機１０３のＣＰＵ１０は、記憶サブシステム１０２の構成を定期的または変更の度に取得することで「正常」、「オフライン」、「閉塞」の状態を設定する。過負荷の判定はシステムにより異なるが、一般的には８０％〜９０％程度を閾値とするとよい。
【００７３】
さらに、管理計算機１０３のＣＰＵ１０は、ポートの振分処理を行い、ポート振り分け処理の際に、ポート管理テーブル１１２の情報を元に使用可能なポートリストを作成する（ポート振り分け処理については後述する）。
【００７４】
図６は、本実施形態のデバイス管理テーブル１１１のデータ構造を模擬的に示した図である。
【００７５】
デバイス管理テーブル１１１は、記憶サブシステム１０２の装置識別子である「装置ＩＤ」を格納するエントリ６０１、記憶サブシステム１０２内の論理デバイス１０５を特定する「デバイスＩＤ」を格納するエントリ６０２、および各論理デバイスに対応するストレージドメイン３０１の識別子である「ストレージドメインＩＤ」を格納するエントリ６０７を有する。
【００７６】
また、デバイス管理テーブル１１１は、各論理デバイス１０５の一般的な属性も管理できるように、論理デバイス１０５の「プロトコル」を格納するエントリ６０３、論理デバイス１０５の容量を示す「サイズ」を格納するエントリ６０４、論理デバイス１０５に対する認証のための情報を示す「認証情報」を格納するエントリ６０５、および論理デバイス１０５が「使用中」であるか「未使用」であるかの「状態」を格納するエントリ６０６を有する。
【００７７】
なお、本実施形態では、エントリ６０３に格納するプロトコルを特に限定しないが、例えば、プロトコルには、「ｉＳＣＳＩ」や「ＦＣＰ」、「ＳＣＳＩ」を用いることができる。また、エントリ６０５の認証情報としては、「ｉＳＣＳＩ」における各デバイス１０５に対する認証情報、例えばキー値やパスワード等が格納される。
【００７８】
デバイス管理テーブル１１１は、ストレージ管理プログラム１１０ａを実行する管理計算機１０３のＣＰＵ１０（または、ストレージ管理プログラム１１０ｂを記憶サブシステム１０２のＣＰＵ２０２）により管理される。具体的には、管理計算機１０３のＣＰＵ１０（または記憶サブシステム１０２のＣＰＵ２０２）は、ストレージ管理プログラム１１０ａ（またはストレージ管理プログラム１１０ｂ）を実行して、上記各エントリ６０１〜６０７に対応するデータを格納する。ＣＰＵ１０（または記憶サブシステム１０２のＣＰＵ２０２）は、定期的に論理デバイスの使用状態を監視し、エントリ６０６のデータを更新する。
【００７９】
図７は、本実施形態のホスト管理テーブル１１６のデータ構造を模擬的に示した図である。
【００８０】
図示するように、ホスト管理テーブル１１６は、ホスト計算機１０１の装置識別子である装置ＩＤを格納するエントリ７０１、ホスト計算機１０１のポートを識別するポートＩＤを格納するエントリ７０２、各ポートに割り振られた「アドレス」を格納するエントリ７０３、各ポートがサポートしている「プロトコル」を格納するエントリ７０４、ホスト計算機１０１のポートの状態を示す「状態情報」を格納するエントリ７０５、およびホスト計算機１０１のポートに対するストレージドメイン３０１の識別子であるストレージドメインＩＤを格納するエントリ７０６を有する。なお、上記のポートの状態を示す「状態情報」には、ポートの状態が「正常」或いは「異常」であるかを示すデータが格納される。
【００８１】
そして、ホスト管理テーブル１１６は、ストレージ管理プログラム１１０ａを実行する管理計算機１０３のＣＰＵ１０により管理される。管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、上記各エントリ７０１〜７０６に対応するデータを格納する。ＣＰＵ１０は、定期的に各ホストのポート２０４の状態を示すデータを記憶サブシステム１０２から取得し、「状況情報」を示すデータをエントリ７０５に格納する。
【００８２】
図８は、本実施形態のネーム管理テーブル１１５のデータ構造を模擬的に示した図である。このネーム管理テーブル１１５には、ＳＡＮ１０４内のネーム管理情報が格納されている。
【００８３】
ネーム管理テーブル１１５は、ネーム管理プログラムを実行する管理計算機１０３のＣＰＵ１０により管理される。管理計算機１０３のＣＰＵ１０は、ネーム管理プログラムを実行し、ネーム管理テーブル１１５のデータを利用して、ホスト計算機１０１や記憶サブシステム１０２に対するネームサービスを提供する。本実施例ではネーム管理プログラム１１４としてｉＳＣＳＩの代表的なネームサーバであるｉＳＮＳを例に挙げて説明する。
【００８４】
図示するように、ネーム管理テーブル１１５は、ｉＳＮＳの識別子である「ＥＩＤ（Ｅｎｔｉｔｙ ＩＤ）」を格納するエントリ８０１、ｉＳＣＳＩノードの識別子である「ｉＳＣＳＩ Ｎａｍｅ」を格納するエントリ８０２、ｉＳＮＳにおけるネームサービス範囲を規定する「ＤＤ（Ｄｉｓｃｏｖｅｒｙ Ｄｏｍａｉｎ）」を格納するエントリ８０３、ｉＳＣＳＩノードのＩｎｉｔｉａｔｏｒ／Ｔａｒｇｅｔ等の種別を示す「Ｎｏｄｅ Ｔｙｐｅ」を格納するエントリ８０４、およびポート２０４に関する情報である「Ｐｏｒｔａｌ Ｇｒｏｕｐ」および「Ｐｏｒｔａｌ Ａｄｄｒｅｓｓ：Ｐｏｒｔ」を各々格納する、エントリ８０５、８０６を有する。
【００８５】
各ｉＳＣＳＩデバイス（たとえばホスト計算機１０１）は、管理者の指示または起動の際に、ネーム管理プログラム１１４を実行する管理計算機１０３のＣＰＵ１０に対して、ｉＳＣＳＩノードの登録を要求する。登録を要求する情報には、上述した「ＤＤ（Ｄｉｓｃｏｖｅｒｙ Ｄｏｍａｉｎ）」、「Ｎｏｄｅ Ｔｙｐｅ」、「Ｐｏｒｔａｌ Ｇｒｏｕｐ」、および「Ｐｏｒｔａｌ Ａｄｄｒｅｓｓ：Ｐｏｒｔ」が含まれる。
【００８６】
通常の記憶サブシステムを有する情報処理システムでは、ホスト計算機１０１および記憶サブシステム１０２は、個別に、ネーム管理プログラム１１４を実行する管理計算機１０３のＣＰＵ１０に対し、ｉＳＣＳＩノードの登録を要求する。しかしながら、本実施形態では、各論理デバイス１０５に関するデータに関しては、記憶サブシステム１０２のＣＰＵ２０２が、ストレージ管理プログラム１１０ｂを実行して、管理計算機１０３のＣＰＵ１０に構成情報を送信する。管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、上記の送信された構成情報を受信して、その受信した構成情報をメモリ２０のワークエリアに格納する。その後、管理計算機１０３のＣＰＵ１０は、ネーム管理プログラム１１４を実行して、上記格納した構成情報を読み出して、その構成情報をネーム管理テーブル１１５へ登録する。
【００８７】
ＣＰＵ１０は、ネーム管理プログラム１１４を実行して、ｉＳＣＳＩノードの登録の際、ｉＳＮＳの識別子であるＥＩＤ（Ｅｎｔｉｔｙ ＩＤ）を付与してエントリ８０１に登録する処理を行なう。各ｉＳＣＳＩデバイスは、ＥＩＤを用いて、管理計算機１０３のＣＰＵ１０に対し、ネーム管理テーブル１１５へのデータの登録、変更、削除の要求が可能である。本実施形態においては、任意の「ＤＤ」をストレージドメイン３０１の１つと対応付けると管理が容易になる。
【００８８】
なお、図４、５、６は、一般的な情報を示したが、以下の説明では、ｉＳＮＳサーバの場合の対応を示す。具体的には、エントリ８０６に格納する、「Ｐｏｔａｌ Ａｄｄｒｅｓｓ：Ｐｏｒｔ」は、図５のエントリ５０３に示すアドレスに対応する。また、エントリ８０２の「ｉＳＣＳＩ Ｎａｍｅ」は、図５に示すエントリ５０２の「デバイスＩＤ」に対応する。
【００８９】
続いて、本実施形態の情報処理システムが行う初期設定処理を、図９を用いて説明する。
【００９０】
図９は、本実施形態の情報処理システムが行う初期設定処理のフローを説明するための図である。
【００９１】
本実施形態の情報処理システムは、システム導入の際に初期設定処理を行う。
【００９２】
最初に、情報処理システムの管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行し、管理者からのストレージドメイン３０１の設定を受付ける（Ｓ９０１）。具体的には、管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行し、表示装置（図示しない）に設定画面を表示して、入力装置（図示しない）を介して、管理者からのストレージドメイン３０１の設定を受付ける。ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、ストレージドメイン管理テーブル１１３やポート管理テーブル１１２に受付けたストレージドメインの情報を追加または更新する。なお、管理計算機１０３のＣＰＵ１０は、ネットワークを介して、管理者から入力されたストレージドメイン等の情報を記憶サブシステム１０２に転送する。そして、記憶サブシステム１０２のコントローラ２０３は、受信した情報に基づいて、自己が有するストレージドメイン管理テーブル１１３ｂの情報を追加又は更新する。
【００９３】
なお、上述の説明では、管理者は、手入力にてストレージドメイン３０１を設定しているが特にこれに限定するものではない。他には管理者が他の管理プログラムの管理情報を参照しての入力や、ストレージ管理プログラムが他の管理プログラムの管理情報を直接参照し管理者に提示し管理者が修正を施す等さまざまな形態が考えられる。
【００９４】
管理計算機１０３のＣＰＵ１０は、ストレージドメイン３０１の設定した後、論理デバイス１０５の作成を行なう（Ｓ９０２）。本実施形態におけるデバイス作成処理は、従来技術による記憶サブシステム１０２のデバイス作成処理とほぼ類似している。異なる点は、論理デバイスをストレージドメイン３０１に振分ける点である。なお、デバイス作成処理の具体的手順については後述する。そして、このデバイス生成処理は、以後デバイスを生成する度に実施される。
【００９５】
続いて、本実施形態の情報処理システムが行う論理デバイス作成処理を、図１０を用いて説明する。なお、以下では、論理デバイス作成処理が、管理計算機１０３により実行される場合を説明にするが、同様の処理は、記憶サブシステム１０２で行なうこともできる。
【００９６】
図１０は、本実施形態の情報処理システムが行う論理デバイス作成処理のフローを説明するための図である。なお、図示する以下の処理は、管理計算機１０３のＣＰＵ１０がストレージ管理プログラム１１０ａを実行することで実現されるが、説明の簡略化のために、ストレージ管理プログラム１１０ａを処理の動作主体として記載することとする。
【００９７】
最初に、管理者は、論理デバイス作成要求を、入力装置を介して、管理計算機１０３に入力する。ストレージ管理プログラム１１０ａは、管理者よりデバイス作成に関する要求を受領する（Ｓ１００１）。なお、デバイス作成に関する要求とは、具体的にはデバイス管理テーブル１１１に示される情報（作成したい論理デバイス１０５のサイズ、認証情報、割り当てたいストレージドメイン１０５等）をいう。
【００９８】
ストレージ管理プログラム１１０ａは、Ｓ１００１で受領した情報を解析して、論理デバイス１０５の作成要・不要を判定する（Ｓ１００２）。そして、ストレージ管理プログラム１１０ａは、論理デバイス１０５を作成する必要であると判断した場合に、Ｓ１００３〜Ｓ１００４に進む。一方、ストレージ管理プログラム１１０ａは、論理デバイス３１０の作成が不要であると判断した場合、Ｓ１００５に進む。論理デバイス３１０の作成が不要の場合とは、Ｓ１００１で要求された属性に合致した論理デバイス１０５が既に存在していて、新たに論理デバイス１０５を作成する必要がない場合をいう。
【００９９】
Ｓ１００３〜Ｓ１００４では、ストレージ管理プログラム１１０ａは、論理デバイス１０５の作成処理を実施する。ストレージ管理プログラム１１０ａは、Ｓ１００１で要求された属性に合致した未割当ての論理デバイス１０５や記憶サブシステム１０２内の未使用領域が十分ある場合、論理デバイス１０５を作成する。より具体的には、ストレージ管理プログラム１１０ａは、記憶サブシステム１０２に対して、要求された論理デバイス１０５の作成を指示する。指示を受けた記憶サブシステム１０２は、要求された内容に基づいた論理デバイス１０５を作成し、結果を管理計算機１０３に通知する。ストレージ管理プログラム１１０ａは、論理デバイス１０５を作成できた場合にＳ１００５の処理に進む。一方、ストレージ管理プログラム１１０ａは、要求された属性に合致する論理デバイス１０５の作成が不可能であった場合はエラー報告を行い（１０１３）、処理を終える。なお、ストレージ管理プログラム１１０ａが行なうエラー報告の具体的手段について、特に限定しないが、例えば、表示装置にエラー画面を表示する。
【０１００】
Ｓ１００５では、ストレージ管理プログラム１１０ａは、ストレージドメイン３０１に関する処理を行う。具体的には、ストレージ管理プログラム１１０ａは、Ｓ１００１で受付けた要求に、論理デバイス１０５を割り当てるストレージドメイン３０１の指示が含まれているか否かを判定する。そして、ストレージ管理プログラム１１０ａは、ストレージドメイン３０１の指示を受付けていない場合、デフォルトのストレージドメイン３０１を割り当てストレージドメイン３０１として、Ｓ１００７に進む。一方、ストレージ管理プログラム１１０ａは、ストレージドメイン３０１の指示を受付けている場合には、Ｓ１００６に進む。
【０１０１】
Ｓ１００６では、ストレージ管理プログラム１１０ａは、指示されたストレージドメインを割り当てストレージドメイン３０１として、Ｓ１００７に進む。
【０１０２】
Ｓ１００７では、ストレージ管理プログラム１１０ａは、割り当てストレージドメイン３０１が存在するか否かをストレージドメイン管理テーブル１１３に基づいて判定する。ストレージ管理プログラム１１０ａは、割り当てストレージドメイン３０１が存在する場合、新たにストレージドメイン３０１を作成する必要がないと判断して、Ｓ１０１０に進む。一方、ストレージ管理プログラム１１０ａは、割り当てストレージドメイン３０１が存在しない場合、新たにストレージドメイン３０１を作成する必要があると判断してＳ１００８〜Ｓ１００９に進む。
【０１０３】
Ｓ１００８〜Ｓ１００９では、ストレージ管理プログラム１１０ａは、ストレージドメイン３０１を作成し、ストレージドメイン管理テーブル１１３へ作成したストレージドメイン３０１の情報を追加、更新する。その後、ストレージ管理プログラム１１０ａは、ストレージドメイン３０１の更新又は追加情報を記憶サブシステム１０２に通知する。通知を受けた記憶サブシステム１０２は、自己が有する各種テーブルを、受信した情報に基づいて追加、更新する。この際、記憶サブシステム１０２は、各種テーブルの情報を更新することで、更新されたストレージドメイン３０１の情報を用いて、一つのストレージドメインに含まれる各ポートと各論理デバイスとを対応付けることになる。従って、ホスト計算機１０１は、一つのストレージドメインに含まれる論理デバイスを使用する際には、そのストレージドメインを管理計算機１０３に通知（指定）すればよい。又、記憶サブシステム１０２は、一つのストレージドメインに含まれるポートでコマンド等を受信した場合、同じストレージドメインに含まれる論理デバイスへのアクセスであれば、データの読み出し等の処理を行い、違うストレージドメインに含まれる論理デバイスへのアクセスであれば、そのアクセスを拒否する。尚、記憶サブシステム１０２は、管理者等から直接ポートの増設等の情報を受信して、自己が有する各種テーブルの更新を行う場合も有る。この場合、管理計算機１０３が有する各種テーブルと記憶サブシステム１０２が有する各種テーブルの内容が異なる。この場合、後述するように、管理計算機１０３は、記憶サブシステム１０２から差分データを受信して、自己が有する各種テーブルの内容を更新する。また、ストレージ管理プログラム１１０ａは、ポート管理テーブル１１２に対してもストレージドメインの情報を追加、更新する。一方、ストレージ管理プログラム１１０ａは、ストレージドメイン３０１の生成に失敗した場合はエラーを報告し処理を終える（Ｓ１０１３）。
【０１０４】
続いて、ストレージ管理プログラム１１０ａは、デバイス１０５を割当ストレージドメイン３０１に割当てる（Ｓ１０１０）。具体的には、ストレージ管理プログラム１１０ａは、デバイス管理テーブル１１１のエントリ６０７に割当ストレージドメインＩＤを格納する。ストレージドメインの割当が成功した場合には成功した旨を報告し、失敗した場合にはエラーを報告する（Ｓ１０１１〜１０１３）。
【０１０５】
続いて、本実施形態の情報処理システムが行うポート振り分け処理について、図１１〜図１５を用いて説明する。
【０１０６】
図１１は、本実施形態のポート振分け処理のフローを説明するための図である。なお、以下の処理は、管理計算機１０３のＣＰＵ１０が各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を動作主体として記載することとする。
【０１０７】
本実施形態では、ネーム管理プログラム１１４、およびストレージ管理プログラム１１０ａの連携によりポート振分が行なわれる。
【０１０８】
また、本実施形態では、論理デバイス１０５に対するｉＳＣＳＩのポート情報は、ストレージ管理プログラム１１０ａが、ディスカバリ要求の際に決定する。そのため、ネーム管理テーブル１１５のエントリ８０５、８０６のポート情報（Ｐｏｒｔａｌ Ｇｒｏｕｐ、Ｐｏｒｔａｌ ＩＰ Ａｄｄｒｅｓｓ：Ｐｏｒｔ）は、論理デバイス１０５がディスカバリ要求されるまでは、未登録である。
【０１０９】
したがって、ネーム管理プログラム１１４が、ディスカバリ要求を受けた後に、ネーム管理テーブル１１５のエントリ８０５、８０６のポート情報を登録する。なお、ネーム管理プログラム１１４は、ホスト計算機１０１の情報については、ポート情報も含めて最初にネーム管理テーブル１１５に格納する。
【０１１０】
さて、本実施形態では、ポート振分処理を実施するためには大きく分けて「構成情報更新処理」、「ディスカバリ処理」の二つの処理がある。
【０１１１】
最初に構成情報更新処理を説明する。
【０１１２】
管理計算機１０３のストレージ管理プログラム１１０ａは、「構成情報更新処理」を行なう。具体的には、ストレージ管理プログラム１１０ａは、管理している記憶サブシステム１０２やホスト計算機１０１から統計情報や構成情報の取得する処理を行う。ストレージ管理プログラム１１０ａは、更新があった場合、デバイス管理テーブル１１１やポート管理テーブル１１２の更新処理を実施する（処理Ａ１１０１）。
【０１１３】
なお、ストレージ管理プログラム１１０ａが行う、構成情報の取得は定期的に実施しても良いし、ホスト計算機１０１や記憶サブシステム１０２が情報更新の際にストレージ管理プログラム１１０ａに更新した旨を通知してもかまわない。上記によりストレージ管理プログラム１１０ａは最新の情報を保持する。
【０１１４】
続いて、ネーム管理プログラム１１４が行なう“ディスカバリ”処理を説明する。ネーム管理プログラム１１４は、ホスト計算機１０１からディスカバリの要求を受け取る。ここで、本実施形態で用いるｉＳＮＳにおいては、“ＤｅｖＡｔｔｒＱｒｙ”がディスカバリ要求に該当する。ネーム管理プログラムは、ディスカバリ要求を受け取ると、ディスカバリ処理を実施する（処理Ｂ１１０２）。
【０１１５】
ネーム管理プログラム１１４は、ディスカバリ処理（処理Ｂ１１０２）の中のポート振分処理のステップにおいて、ストレージ管理プログラム１１０ａにポート２０４の振分処理を要求する。要求を受けたストレージ管理プログラム１１０ａは、使用可能なポートのリストをネーム管理プログラム１１４が送信する。ネーム管理プログラム１１４は、ネーム管理テーブル１１５を更新した後に、ホスト計算機１０１へ振分結果（ポートのリスト）を送信する。
【０１１６】
このように、本実施形態では、ネーム管理プログラム１１４は、ポート振分処理の際に、ストレージ管理プログラム１１０ａから最新の情報を取得可能できる。そのため、本実施形態によれば、負荷、障害等の稼動状況を的確に反映されたポート振分けを行うことができる。
【０１１７】
続いて、上述した「構成情報更新処理」について図１２を用いて詳細に説明する。
【０１１８】
図１２は、本実施形態の情報処理システムが行う構成情報更新処理のフローを説明するための図である。なお、以下の処理は、管理計算機１０３のＣＰＵ１０が各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を実行することで、または記憶サブシステム１０２のＣＰＵ２０２がストレージ管理プログラム１１０ｂを実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ａ、ストレージ管理プログラム１１０ｂ、ネーム管理プログラム１１４）を動作主体として記載することとする。
【０１１９】
管理計算機１０３の起動の際に、ストレージ管理プログラム１１０ａは、記憶サブシステム１０２から構成情報を取得して、取得した構成情報に基づいて各テーブルの情報の初期化を行う（Ｓ１２０１）。
【０１２０】
その後、ストレージ管理プログラム１１０ａは、所定の間隔で、管理配下の記憶サブシステム１０２から構成情報を取得する（１２０２）。具体的には、ストレージ管理プログラム１１０ａは、記憶サブシステム１０２のストレージ管理プログラム１１０ｂに構成情報（ポート２０４の追加情報、ポートの利用率の情報等）の変更の有無を問い合わせる。上記問い合わせを受け付けた記憶サブシステム１０２のストレージ管理プログラム１１０ｂは、差分データをストレージ管理プログラム１１０ａに送信する。そして、ストレージ管理プログラム１１０ａは、記憶サブシステム１０２のストレージ管理プログラム１１０ｂが送信した差分データを受信する。
【０１２１】
ストレージ管理プログラム１１０ａは、受信した差分データから記憶サブシステム１０２の構成に変更があったか否かを判定する。ストレージ管理プログラム１１０ａは、差分データの中に記憶サブシステム１０２の構成（ポート２０４の追加等）の変更を示すデータが無い場合、記憶サブシステム１０２の構成に変更が無いと判定して、Ｓ１２０５に進む。一方、ストレージ管理プログラム１１０ａは、差分データの中に記憶サブシステム１０２の構成（ポート２０４の追加等）の変更を示すデータがある場合、記憶サブシステム１０２の構成に変更があるものと判定してＳ１２０４に進む（Ｓ１２０３）。
【０１２２】
Ｓ１２０４では、ストレージ管理プログラム１１０ａは、現状の構成情報からの増減、閉塞から復帰、正常状態から閉塞等の構成変更があった場合には、新しい構成情報をデバイス管理テーブル１１１ａ、ポート管理テーブル１１２ａ、およびストレージドメイン管理テーブル１１３ａの対応するエントリに登録する。
【０１２３】
ストレージ管理プログラム１１０ａは、新規追加されたポートがある場合、その新規追加されたポートをポート管理テーブル１１２に追加し、ストレージドメインＩＤを設定し、状態を“正常”とする。なお、ストレージ管理プログラム１１０ａは、ストレージドメインＩＤの追加、変更、削除等については、管理者からの入力を受付けて対応する各テーブルにデータを登録する。
【０１２４】
次に、ストレージ管理プログラム１１０ａは、ポート２０４の稼動状況を調べる。具体的には、ストレージ管理プログラム１１０ａは、Ｓ１２０２で取得した差分データの中のポート２０４の利用率を示すデータの中から過負荷（高負荷）のポート２０４があるか否かを判定する。ストレージ管理プログラム１１０ａは、Ｓ１２０２で取得した利用率の中に予め定めた「しきい値」を超えるデータがある場合、Ｓ１２０６に進む。一方、ストレージ管理プログラム１１０ａは、Ｓ１２０２で取得した利用率の中に予め定めた「しきい値」を超えるデータが無い場合、Ｓ１２０７に進む（Ｓ１２０５）。
【０１２５】
Ｓ１２０６では、ストレージ管理プログラム１１０ａは、ポート管理テーブル１１２の、上記「しきい値」を超える利用率のポートのエントリ５０５を「過負荷」に更新する（Ｓ１２０６）。このように、ポート管理テーブル１１２のエントリ５０５に「過負荷」が格納されているポート２０４は、後述するポート振分け処理において検索の候補から外されることになる。
【０１２６】
一方、ストレージ管理プログラム１１０ａは、ポート管理テーブル１１２に「過負荷」が格納されているポート２０４であっても、上記取得した利用率が所定の「しきい値」を下回った場合は、対応するエントリ５０５を「正常」に戻す（Ｓ１２０７〜Ｓ１２０８）。さらに、Ｓ１２０７〜Ｓ１２０８では、ストレージ管理プログラム１１０ａは、未登録ポートでかつ低負荷のポートがある場合には、ポート管理テーブル１１２にそのポート２０４を登録する。
【０１２７】
なお、本実施形態では、ストレージ管理プログラム１１０ａは、所定時間待った後で、上記Ｓ１２０２〜１２０８の処理を繰り返す。なお、ここでは、ストレージ管理プログラム１１０ａは、一定時間毎に処理を繰り返しているが、構成や稼動状況に変更が発生した場合、ストレージ管理プログラム１１０ｂからストレージ管理プログラム１１０ａに対してトリガをかけることで情報の更新遅延を防ぐようにしてもよい。
【０１２８】
続いて、上述した「ディスカバリ処理（処理Ｂ１１０２）」について図１３を用いて詳細に説明する。
【０１２９】
図１３は、本実施形態の管理計算機が行なうディスカバリ処理のフローを説明するための図である。なお、以下の処理は、管理計算機１０３のＣＰＵ１０が各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を動作主体として記載することとする。
【０１３０】
ネーム管理プログラム１１４は、ＳＡＮ１０４内の装置、例えばホスト計算機１０１からディスカバリの要求（「ｉＳＮＳ」においては、“ＤｅｖＡｔｔｒＱｒｙ”）を受け付ける（Ｓ１３０１）。
【０１３１】
ネーム管理プログラム１１４は、ディスカバリの要求を受け付けた後に、要求の内容を解析しポート振分処理に関連するか否かを判別する（Ｓ１３０２）。ネーム管理プログラム１１４は、ポート振分処理に関係しない要求の場合には、Ｓ１３０５〜Ｓ１３０６の処理に進む。一方、ネーム管理プログラム１１４は、ネーム管理プログラム１１４がポートの振分処理に関する要求を受領した場合には、Ｓ１３０３に進む。
【０１３２】
Ｓ１３０５〜Ｓ１３０６では、ネーム管理プログラム１１４は、通常のネーム管理プログラム（＝ｉＳＮＳ）の処理においてデバイス管理テーブル１１１や、ポート管理テーブル１１２を参照して、返送メッセージを作成したのち返送メッセージを要求元のホスト計算機１０１に対して送信する。
【０１３３】
続いて、Ｓ１３０２において、ネーム管理プログラム１１４が、ポートの振分処理に関する要求を受領した場合進む、Ｓ１３０３の処理を説明する。
【０１３４】
Ｓ１３０３では、ネーム管理プログラム１１４は、ストレージ管理プログラム１１０ａに対してポート振分処理（図１１に示す処理Ｃ１１０３）を要求する。ネーム管理プログラム１１４は、ポート振分処理（処理Ｃ１００３）の要求の際に、要求元のホスト計算機１０１に関する情報（ネーム管理テーブル１１５のエントリ８０２の「ｉＳＣＳＩ Ｎａｍｅ」、エントリ８０３の「ＤＤ」、エントリ８０６の「Ｐｏｒｔａｌ  ＩＰ Ａｄｄｒｅｓｓ：Ｐｏｒｔ」等）および検索要求先ｉＳＣＳＩノードの情報（ポート管理テーブル１１２のエントリ５０３の「ｉＳＣＳＩ Ｎａｍｅ」）を付加する（１３０３）。
【０１３５】
これに対して、ストレージ管理プログラム１１０ａは、ポート振分処理の要求を受け取る。そして、ストレージ管理プログラム１１０ａは、ポート振分処理を実行し、実行結果をネーム管理プログラム１１４へ返送する（ポート振分け処理については後述する図１４で説明する）。そして、ネーム管理プログラム１１４は、ストレージ管理プログラム１１０ａが送信する上記実行結果を受信する（Ｓ１３０４）。
【０１３６】
その後、ネーム管理プログラム１１４は、受領した内容をもとにネーム管理テーブル１１５を更新し、返送メッセージを作成し、要求元のホスト計算機１０１に対して返送メッセージを送信する(Ｓ１３０４〜１３０６）。
【０１３７】
本実施形態では、Ｓ１３０４〜１３０６の処理の際に、ネーム管理プログラム１１４は、ネーム管理テーブル１１５のデバイス１０５に関するポート情報（ｉＳＣＳＩ Ｎａｍｅ８０２、ＤＤ８０３、Ｐｏｒｔａｌ  ＩＰ Ａｄｄｒｅｓｓ：Ｐｏｒｔ８０６等）を格納する。
【０１３８】
続いて、上述した「ポート振分け処理（処理Ｃ１１０）」について図１４を用いて詳細に説明する。
【０１３９】
図１４は、本実施形態の管理計算機１０２が行なうポート振分け処理のフローを説明するための図である。なお、以下の処理は、管理計算機１０３のＣＰＵ１０が各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を動作主体として記載することとする。
【０１４０】
ストレージ管理プログラム１１０ａは、ネーム管理プログラム１１４が送信するポート振分処理の要求を受領する（１４０１）。
【０１４１】
つぎに、ストレージ管理プログラム１１０ａは、デバイス管理テーブル１１１を参照し要求された論理デバイス１０５（＝ｉＳＣＳＩノード）が使用可能か否かを判定する（１４０２）。ストレージ管理プログラム１１０ａは、上記の論理デバイス１０５が使用可能と判定した場合には、Ｓ１４０３に進む。
【０１４２】
一方、ストレージ管理プログラム１１０ａは、上記の論理デバイス１０５が使用できないと判定した場合には、Ｓ１４０９に進む。なお、論理デバイス１０５が使用できない場合には、例えば、デバイス管理テーブル１１１に該当する論理デバイス１０５が存在しない場合や、対応するエントリ５０６に格納された「状態」が「閉塞」となっている場合等がある。
【０１４３】
Ｓ１４０２において、論理デバイス１０５が使用可能と判定した場合には、ストレージ管理プログラム１１０ａは、判定した論理デバイス１０５およびネーム管理プログラム１１４からの要求の際に付与された要求元ホスト計算機１０１に関する情報を元に使用可能なストレージドメイン３０１を検索する（１４０３）。具体的には、ストレージ管理プログラム１１０ａは、ホスト計算機１０１の「デバイスＩＤ（＝ｉＳＣＳＩ Ｎａｍｅ）」と論理デバイスのデバイスＩＤとを元にホスト管理テーブル１１６を参照し、要求元ホスト計算機１０１および要求された論理デバイスが属するストレージドメインＩＤを取得する。
【０１４４】
ストレージ管理プログラム１１０ａは、検索の結果該当するストレージドメイン３０１が存在する場合には、ストレージドメインＩＤを１つ以上得られる。ストレージ管理プログラム１１０ａは、該当するストレージドメイン３０１が存在しない場合、デフォルトのストレージドメインＩＤを設定する。そして、ストレージ管理プログラム１１０ａは、該当するストレージドメインを取得できた場合およびデフォルトのストレージドメインＩＤを設定できた場合には、Ｓ１４０５に進む。これに対して、ストレージ管理プログラム１１０ａは、デフォルトのストレージドメインＩＤの設定が不可能の場合には、Ｓ１４０９に進む（１４０４）。
【０１４５】
Ｓ１４０５では、ストレージ管理プログラム１１０ａは、得られた１つ以上のストレージドメインＩＤに対しポートの検索処理を実行する。ストレージ管理プログラム１１０ａは、ポート管理テーブル１１２を検索し各ストレージドメイン３０１に属するポート２０４のうち状態が“正常”であるポート２０４を検索する（Ｓ１４０５）。
【０１４６】
ストレージ管理プログラム１１０ａは、いずれのストレージドメイン３０１にも“正常”ポート２０４が存在しない場合には、Ｓ１４０９に進み、“正常”ポート２０４が存在する場合には、Ｓ１４０７に進む（Ｓ１４０６）。
【０１４７】
Ｓ１４０７では、ストレージ管理プログラム１１０ａは、ポートリストを作成する。そして、複数のストレージドメイン３０１が該当した場合やストレージドメイン３０１に複数のポートが割り当てられている場合、ストレージ管理プログラム１１０ａは、“正常”ポート２０４の数や、ポート利用率から使用可能スループット等を計算し最も負荷が少なくなるようなストレージドメイン３０１とポート２０４の組み合わせ（ポート郡）を選択する。ストレージ管理プログラム１１０ａは、ポート２０４群を選択すると、その選択したポート郡からポートリストを作成する（Ｓ１４０７）。
【０１４８】
ストレージ管理プログラム１１０ａは、作成したポートリストを、ネーム管理プログラム１１４に送信して処理を終了する（Ｓ１４０８）。
【０１４９】
Ｓ１４０２、Ｓ１４０４、およびＳ１４０６において、Ｓ１４０９に進んだ場合には、ストレージ管理プログラム１１０ａは、エラーを示すデータをネーム管理プログラム１１４へ返送し処理を終える。
【０１５０】
なお、本実施形態では、上記のポートリストの順番については、特に限定しない。例えば、ポートリストは、検索出力順でも構わない。但し、通常はポートリストの先頭のポートから使用していくため、ポートリストの先頭に優先度が高いポート２０４を挙げて、ポートリストの最後に、優先度のもっとも低いポート２０４を挙げるようにするとよい。なお、ポートリストの優先度には、ポート２０４の性能、経路の情報を用いるようにしてもよい。
【０１５１】
例えば、ポート選択の優先度を性能で選択する場合には、選択結果のうちもっとも利用率が低い、またはスループットに余裕がある（＝未使用のスループットが多い）ポートを高優先とする。
【０１５２】
また、アドレスを元にもっとも近いポート２０４を割当てる場合、例えば、ＩＰネットワークの場合には、ＩＰアドレスのサブネットを比較するようにしてもよい。また、ネットワーク経路のトレースを行うコマンド（Ｕｎｉｘ環境ではtracerouteコマンドがある）を利用し、ホスト計算機１０１からの経路を考慮して優先度を決定してもよい（例えば、ホスト計算機１０１からの経路が短いポート２０４の優先度を高くする）。
【０１５３】
さらに、ポートリストの優先度を決める方法として、ラウンドロビン方式が考えられる。ストレージ管理プログラム１１０ａは、各ポート２０４に対して優先度を保持し、優先度の高いポート２０４を先頭にポートリストを作成する。ストレージ管理プログラム１１０ａは、ポートリストを送信後最も先頭のポート２０４の優先度を最低とし、順次優先度を繰り上げる。上記の処理により簡易な処理にて全てのポート２０４に対して均等にアクセスを生じさせることが可能になる。
〈第２実施形態〉
続いて本発明の第２実施形態を説明する。第２実施形態は、第１実施形態で行なったストレージドメイン３０１の管理に加えて、さらにＳＡＮ１０４のトポロジ管理を加えて記憶サブシステムの管理を行なうようにしたものである。なお、第２実施形態の説明において、第１実施形態と同じ構成には同じ符号を用いることとする。
【０１５４】
最初に第２実施形態の構成を、図１５を用いて説明する。
【０１５５】
図１５は、本発明の第２実施形態の情報処理システムのシステム構成を表すブロック図である。
【０１５６】
図示するように、第２実施形態の情報処理システムは、上述した第１実施形態の情報処理システムと管理計算機１０３の構成が異なる以外は同様の構成を有している。以下において、異なる部分を中心に説明する。
【０１５７】
具体的には、第２実施形態の管理計算機１０３は、第１実施形態の管理計算機１０３に、さらに、トポロジ管理プログラム１５０１、トポロジ管理テーブル１５０２、ＳＡＮドメイン管理テーブル１５０３が追加されている。また、第２実施形態の管理計算機１０３は、第１実施形態の管理計算機１０３が有する、管理テーブル１１２、ホスト管理テーブル１１６の代わりに、ポート管理テーブル１５０４およびホスト管理テーブル１５０５が設けられている。
【０１５８】
ポート管理テーブル１５０４およびホスト管理テーブル１５０５は、第１実施形態で説明した管理テーブル１１２およびホスト管理テーブル１１６に、さらに、ＳＡＮドメインの情報を追加したものである。
【０１５９】
トポロジ管理プログラム１５０１は、ＳＡＮ１０４のトポロジやネットワーク上のＺｏｎｉｎｇ、ＶＬＡＮ（Virtual LAN）、ＶＰＮ（Virtual Private Network）等のセキュリティを管理するプログラムである。これらのトポロジに関する情報はトポロジ管理テーブル１５０２に格納されている。
【０１６０】
また、第２実施形態のストレージ管理プログラム１１０ａは、第１実施形態のストレージ管理プログラム１１０ａに、さらに、トポロジ情報を管理するプログラムが付加されている。
【０１６１】
そして、管理計算機１０３のＣＰＵ１０は、トポロジ管理プログラム１５０１を実行して、ＳＡＮ１０４に関するトポロジが変更される度に、メモリ２０の所定領域にトポロジ情報を格納する。ＣＰＵ１０は、上記のトポロジ情報をメモリ２０の所定領域に格納した場合、ストレージ管理プログラム１１０ａを実行して、メモリ２０に格納されたトポロジ情報を読み出して、ＳＡＮドメイン管理テーブル１５０３及びポート管理テーブル１５０４を更新（または登録）する処理を行う。このように、ＣＰＵ１０は、ストレージ管理プログラム１１０ａとトポロジ管理プログラム１５０１とを連携して実行することで、ＳＡＮ１０４に関するトポロジが変更される度に、その変更内容をＳＡＮドメイン管理テーブル１５０３及びポート管理テーブル１５０４に反映させる事ができる。
【０１６２】
このように、第２実施形態では、ストレージドメイン３０１の管理と共に、ＳＡＮ１０４のトポロジ管理と組み合わせることにしている。このように構成することで、第２実施形態では、第１実施形態の効果に加えて、さらに、効率的な経路管理が可能となる。具体的には、ＺｏｎｉｎｇやＶＬＡＮ（Virtual LAN）、ＶＰＮ（Virtual Private Network）によるセキュリティ機能等との連携が可能となる。
【０１６３】
続いて、第２実施形態の情報処理システムの管理単位であるＳＡＮドメインについて図１６を用いて説明する。
【０１６４】
図１６は、第２実施形態の情報処理システムの管理単位であるＳＡＮドメインを説明するための図である。
【０１６５】
図示するＳＡＮドメイン１６０１は、管理計算機１０３のＣＰＵ１０により作成される。具体的には、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、上述したようにメモリ２０の所定領域に格納されている「ＳＡＮ１０４のトポロジやセキュリティの情報」を読み出す。ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、読み出した「トポロジやセキュリティの情報」を利用してＳＡＮドメイン１６０１を設定する。
【０１６６】
すなわち、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、上記のセキュリティ情報を元にＳＡＮ１０４内でアクセス可能なポート群をＳＡＮドメインとして設定する。次に、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、同一セキュリティ属性内のＳＡＮドメイン１６０１を、トポロジに関してＳＡＮドメイン１６０１ａ〜ｎに分類する。
【０１６７】
図示する例では、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、まずセキュリティ属性を元に、ＳＡＮドメイン１６０１ａを作成している。次に、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、作成したＳＡＮドメイン１６０１ａを、取得したトポロジ情報を元にＳＡＮドメイン１６０１ａａ、ＳＡＮドメイン１６０１ａｂに分類している。
【０１６８】
この例では、ホスト計算機１０１ａは、ＳＡＮドメイン１６０１ａａとＳＡＮドメイン１６０１ａｂの両方に属し、ホスト計算機１０１ｂは、ＳＡＮドメイン１６０１ａｂのみに属している。つまりホスト計算機１０１ｂからは、論理デバイス１０５ａ、論理デバイス１０５ｂにアクセス可能であるが、ポート２０４ｂ経由でしかアクセスが出来ない。一方、ホスト計算機１０１ａからは、ポート２０４ａ、ポート２０４ｂの両方からアクセス可能である。
【０１６９】
また、図示する例では、ＳＡＮドメイン１６０１ａａ、ＳＡＮドメイン１６０１ａｂは、ストレージドメイン３０１ａに属し、ＳＡＮドメイン１６０１ｃは、ストレージドメイン３０１ｂに属していることを示している。
【０１７０】
続いて、図１７〜図１９を用いて、第２実施形態の情報処理システムが有する、ＳＡＮドメイン管理テーブル１５０３、ポート管理テーブル１５０４、およびホスト管理テーブル１５０５のデータ構造を説明する。
【０１７１】
図１７は、第２実施形態のＳＡＮドメイン管理テーブル１５０３のデータ構造を模擬的に示した図である。
【０１７２】
ＳＡＮドメイン管理テーブル１５０３は、ＳＡＮドメインの識別子である「ＳＡＮドメインＩＤ」を格納するエントリ１７０１と、ＳＡＮドメインの名前である「ＳＡＮドメイン名」を格納する１７０２と、ＳＡＮドメインの属性を示す「属性情報」を格納するエントリ１７０３とを有する。エントリ１７０１に格納する「ＳＡＮドメインＩＤ」に対応付けて、エントリ１７０２および１７０３に「ＳＡＮドメイン名」および「属性データ」が格納される。
【０１７３】
図示する、ＳＡＮドメイン管理テーブル１５０３の一番上の「行」のエントリには、「ＳＡＮドメインＩＤ」が「ｎａ」であって、「ＳＡＮドメイン名」が「ＳＡＮドメインＡ」、「属性データ」が「ＶＬＡＮ―Ａ」のデータが格納されている。
【０１７４】
そして、管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行することで、ＳＡＮドメイン管理テーブル１５０３に格納されるデータを管理する。
【０１７５】
図１８は、第２実施形態のポート管理テーブル１５０４のデータ構造を模擬的に示した図である。
【０１７６】
管理ポートテーブル１５０４は、図５で説明したポート管理テーブル１１２にさらに、ＳＡＮドメインの識別子である「ＳＡＮドメインＩＤ」を格納するエントリ１８０１が付加されたものである。
【０１７７】
そして、管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行することで、ポート管理テーブル１５０４に格納されるデータを管理する。ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行することで、上述したメモリ２０の所定領域に格納されたトポロジ情報（ＳＡＮ１０４のトポロジやセキュリティの情報）を読み出す。ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、上記の読み出した情報を解析し、各ポートに対するＳＡＮドメインを対応付け行なう。また、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、上記対応付けたＳＡＮドメインを対応するエントリ１８０１に格納する。
【０１７８】
図１９は、第２実施形態のホスト管理テーブル１５０５のデータ構造を模擬的に示した図である。
【０１７９】
ホスト管理テーブル１５０５は、図７で説明したホスト管理テーブル１１６に、さらに、ＳＡＮドメインの識別子である「ＳＡＮドメインＩＤ」を格納するエントリ１９０１が付加されたものである。
【０１８０】
そして、管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行することで、ホスト管理テーブル１５０５に格納されるデータを管理する。ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行することで、上述したメモリ２０の所定領域に格納されたトポロジ情報（ＳＡＮ１０４のトポロジやセキュリティの情報）を読み出す。ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、取得した情報を解析し各ポートに対するＳＡＮドメインを対応付け行なう。また、ＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、上記対応付けたＳＡＮドメインを対応するエントリ１９０１に格納する。
【０１８１】
続いて、第２実施形態の情報処理システムが行う初期設定処理に付いて図２０を用いて説明する。なお、第２実施形態の情報処理システムが行う初期設定処理は、図９で説明した第１実施形態のものと基本的に同じである。そこで、以下では、異なる部分を中心に説明する。
【０１８２】
図２０は、第２実施形態の情報処理システムが行う初期設定処理のフローを説明するための図である。
【０１８３】
さて、第２実施形態の情報処理システムは、図９で示したＳ９０１と同様の処理を行ない、管理者からのストレージドメイン３０１の設定を受付ける（Ｓ２００１）。
【０１８４】
続いて、第２実施形態では、管理計算機１０３のＣＰＵ１０は、ストレージ管理プログラム１１０ａを実行して、ポート管理テーブル１５０４へＳＡＮドメインＩＤ１８０１の設定を行う（Ｓ２００２）。本実施形態では、ＣＰＵ１０がストレージ管理プログラム１１０ａを実行して行う、ポート管理テーブル１５０４へのＳＡＮドメインＩＤ１８０１の設定の具体的手順については、特に限定しない。例えば、ＣＰＵ１０が、管理者が入力するＳＡＮドメインの設定情報を受付けて、その受付けたＳＡＮドメインの設定情報をポート管理テーブル１５０４に格納するようにしてもよい。
【０１８５】
その後、管理計算機１０３のＣＰＵ１０は、図９とＳ９０２と同様の処理を行なう（Ｓ２００３）。
【０１８６】
続いて、第２実施形態が行なうデバイス生成処理について説明する。第２実施形態の情報処理システムが行うデバイス生成処理は、図１０で示した第１実施形態のものと同じ処理を行なう。
【０１８７】
次にポート振分け処理について説明する。第２実施形態の情報処理システムが行うポート振分け処理は、図１４に示すポート振分け処理（処理Ｃ）以外には、第１実施形態と同様の処理を行なう。すなわち、第２実施形態では、図１１〜図１３で示した第１実施形態のものと同じ処理を行なう。そこで、第１実施形態と異なるポート振り分け処理について図２１を用いて説明する。
【０１８８】
図２１は、本実施形態の管理計算機１０３が行なうポート振分け処理のフローを説明するための図である。なお、以下の処理は、管理計算機１０３のＣＰＵ１０が各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４、トポロジ管理プログラム１５０１）を実行することで、または記憶サブシステム１０２のＣＰＵ２０２がストレージ管理プログラム１１０ａを実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４、トポロジ管理プログラム１５０１）を動作主体として記載することとする。
【０１８９】
さて、第２実施形態のストレージ管理プログラム１１０ａは、図１４で示した処理と基本的に同じ処理を行なうが、ＳＡＮドメイン１６０１に関する処理が図１４に示すＳ１４０４の後で追加される点が異なっている。以下において、図１４の処理と異なる部分を中心に説明する。
【０１９０】
さて、ストレージ管理プログラム１１０ａは、Ｓ１４０１〜Ｓ１４０４と同じ処理を行なう。その後、ストレージ管理プログラム１１０ａは、ＳＡＮドメイン１６０１に関する処理を行なうＳ２１０１の処理に進む。
【０１９１】
Ｓ２１０１では、ストレージ管理プログラム１１０ａは、ストレージドメイン３０１の検索と同様の手順でＳＡＮドメイン１６０１も検索する。ストレージ管理プログラム１１０ａは、ホスト管理テーブル１５０５を検索し、要求元ホスト計算機１０１が属しているＳＡＮドメイン１６０１を得る。この場合、一つもＳＡＮドメイン１６０１が得られなかった場合には、Ｓ１４０９に進む。一方、ストレージ管理プログラム１１０ａは、一つ以上のＳＡＮドメイン１６０１が得られた場合には、Ｓ２１０３に進む（Ｓ２１０２）。
【０１９２】
Ｓ２１０３では、ストレージ管理プログラム１１０ａは、ポート管理テーブル１５０４を検索して、Ｓ１４０３で得られたストレージドメイン３０１、およびＳ２１０１で得られたＳＡＮドメイン１６０１の両者に属するポート２０４のうち状態６０５が“正常”であるポート２０４を取得して、Ｓ１４０７の処理に進む。
【０１９３】
一方、ストレージ管理プログラム１１０ａは、上記検索の結果、１４０３で得られたストレージドメイン３０１、およびＳ２１０１で得られたＳＡＮドメイン１６０１の両者に属するポート２０４のうち状態６０５が“正常”であるポート２０４を取得できなかった場合には、Ｓ１４０９に進む。
【０１９４】
なお、Ｓ１４０７〜１４０８、Ｓ１４０９の処理は、図１４で示したものと同じであるので説明は省略する。
【０１９５】
このように、第２実施形態では、ストレージドメイン３０１の管理と共に、ＳＡＮ１０４のトポロジ管理と組み合わせることにしている。このように構成することで、第２実施形態では、第１実施形態の効果に加えて、さらに、効率的な経路管理が可能となる。具体的には、ＺｏｎｉｎｇやＶＬＡＮ（Virtual LAN）、ＶＰＮ（Virtual Private Network）によるセキュリティ機能等との連携が可能となる。
〈第３実施形態〉
続いて本発明の第３実施形態を説明する。第３実施形態は、上記第１および第２実施形態とポート振分け処理の手順が異なる以外は、同様の構成を有する。なお、本発明の第３実施形態は、上記第１実施形態のように、ストレージドメインを設定して記憶サブシステム１０２を管理する構成、および、上記第２実施形態のように、ストレージドメインおよびＳＡＮドメインを用いて記憶サブシステム１０２を管理する構成の両者に適用することができる。以下の説明では、ストレージドメインだけを設定して記憶サブシステム１０２を管理する例を説明する。また、第３実施形態の説明において、第１実施形態と同じ構成には同じ符号を用いることとする。
【０１９６】
本発明の第３実施形態の情報処理システムの構成は、図１〜２で示す第１実施形態のものと同じである。但し、第３実施形態では、第１実施形態とネーム管理プログラム１１４およびストレージ管理プログラム１１０の構成が異なっている。
【０１９７】
本発明の第３実施形態の記憶サブシステム１０２の管理単位であるストレージドメイン３０１は、図３で示したものと同じである。
【０１９８】
続いて、第３実施形態の管理計算機１０３が行なう、ポート振分け処理について図２２を用いて説明する。
【０１９９】
図２２は、第３実施形態の管理計算機１０３が行なう、ポート振分け処理を説明するための図ある。なお、以下で説明するポート振分け処理は、管理計算機１０３のＣＰＵ１０が各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を動作主体として記載することとする。
【０２００】
図２２では、(ａ)図にネーム管理テーブル１１５を変更する前の記憶サブシステム１０２が有するポート２０４と論理デバイス１０５との接続関係を説明するための図を示している。また、(ｂ)図にネーム管理テーブル１１５を変更した後の記憶サブシステム１０２が有するポート２０４と論理デバイス１０５との接続関係を説明するための図を示している。
【０２０１】
また、図２２に示す、（ａー１）図、および（ｂー１）図は、ネーム管理テーブル１１５を示している。なお、（ａー１）図、および（ｂー１）図のネーム管理テーブル１１５は、第３実施形態の管理計算機１０３が行なうポート振分け処理の説明に必要なデータ(図８に示すエントリ８０２およびエントリ８０５のデータ)だけを抽出して例示したものである。
【０２０２】
また、図２２に示す、（ａー２）図、および（ｂー２）図は、記憶サブシステム１０２が有するポート２０４と論理デバイス１０５との接続関係を説明するイメージ図を例示したものである。
【０２０３】
さて、（ａー１）図に示す、ネーム管理テーブル１１５では、「論理デバイスＡ」は、ポート２０４ａおよびポート２０４ｂに接続可能な状態を示している。また、ネーム管理テーブル１１５では、「論理デバイスＢ」は、ポート２０４ａおよびポート２０４ｂに接続可能な状態を示している。
【０２０４】
（ａー２）図では、ストレージドメイン３０１ａに、論理デバイス１０５Ａおよび論理デバイス１０５Ｂ、ポート２０４ａ、ポート２０４ｂが振分けられている。図示する破線は、論理デバイス１０５とポート２０４間が接続可能であることを示している。また、(ａー２)図では、ポート２０４ａを経由しデバイス１０５Ａが使用されていて、ポート２０４ａが「高負荷」の状態となっていることを示している。第３実施形態の情報処理システムでは、(ａー２)図に示すように、「ポート２０４ａ」が高負荷になっている場合に、「ポート２０４ａ」に対する新たな接続を制限する。
【０２０５】
第３実施形態のストレージ管理プログラム１１０ａは、記憶サブシステム１０２のポート２０４の状態を監視する。そして、ストレージ管理プログラム１１０ａは、監視の結果、ポート２０４が「過負荷」であることを判定した場合、「ポート２０４ａ」に対する新規接続が行なわれないように接続制御を行なう。具体的には、ストレージ管理プログラム１１０ａは、記憶サブスシステム１０２に対し、ポート２０４ａの使用を停止（あるいは使用の制限）する旨を通知する。又、ネーム管理プログラム１１４は、ポートリストを作成する際（或いは作成後）に、ポート２０４ａをリストに含めないようにする。
【０２０６】
但し、ストレージ管理プログラム１１０ａは、接続制御を行なう際に、論理デバイス１０５への最低限、１つのアクセス経路を確保する。ストレージ管理プログラム１１０ａは、接続先のポート２０４が１つしかない論理デバイス１０５がある場合、その接続先のポート２０４が「過負荷」であっても、その論理デバイス１０５に対する接続制御は行なわない。一方、ストレージ管理プログラム１１０ａは、「過負荷」のポートに接続可能である論理デバイス１０５が、過負荷のポート２０４以外のポート２０４にも接続可能である場合、その論理デバイス１０５への接続を制御する。具体的には、ストレージ管理プログラム１１０ａは、上記論理デバイス１０５と「過負荷」のポート２０４との接続可能な関係を解消させる。
【０２０７】
なお、図示する例では、デバイス１０５ｂは、「ポート２０４ａ」からの接続経路に加えて、「ポート２０４ｂ」からの接続経路を有しているため、「ポート２０４ａ」を経由する接続経路を削除してもかまわない。ストレージ管理プログラム１１０ａは、ネーム管理プログラム１１４に対してデバイス１０５ｂの接続可能なポート２０４から「ポート２０４ａ」を削除するように要求する。この場合、ストレージ管理プログラム１１０ａは、ポート２０４ａを介してのデバイス１０５ｂに対するアクセス要求を受け付けないようにする。
【０２０８】
ネーム管理プログラム１１４は、上記要請を受けて、(ａー１)図に示すネーム管理テーブル１１５を、(ｂー１)図に示す構成に変更する。すなわち、ネーム管理プログラム１１４は、ネーム管理テーブル１１５の「デバイス１０５ｂ」に関連づけられている「ポート２０４ａ」を示すデータを削除する。その結果、ポート２０４と論理デバイス１０５との接続関係は、(ｂー２)図に示すようになる。
【０２０９】
このように、第３実施形態では、ストレージドメイン３０１の中で、さらに、ポート２０４と論理デバイス１０５との接続関係を対応付けて管理するようにしている。そして、ポート２０４の負荷に応じて、対応づけたポート２０４と論理デバイス１０５との接続関係を変更するようにしている。
【０２１０】
すなわち、第３実施形態では、ポートの負荷状態に応じてポート２０４への接続制御を行っているため高負荷となっているポート２０４へのアクセスを回避可能となりシステム全体の利用効率が向上させることができる。なお、第３実施形態が有する各テーブル(ネーム管理テーブル１１５、ホスト管理テーブル１１６、デバイス管理テーブル１１１、ポート管理テーブル１１２、ストレージドメイン管理テーブル１１３)のデータ構造は、図４〜８で示したものと同じである。
【０２１１】
また、第３実施形態の情報処理システムが行う、初期設定処理および論理デバイス作成処理は、図９および図１０に示す処理と同じである。
【０２１２】
続いて、第３実施形態の情報処理システムのポート振分け処理を、図２３を用いて説明する。図２３は、本実施形態の情報処理システムが行うポート振分け処理のフローを説明するための図である。なお、以下の処理は、管理計算機１０３のＣＰＵ１０が各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を実行することで、または記憶サブシステム１０２のＣＰＵ２０２がストレージ管理プログラム１１０ｂを実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ａ、ストレージ管理プログラム１１０ｂ、ネーム管理プログラム１１４）を動作主体として記載することとする。
【０２１３】
管理計算機１０３のストレージ管理プログラム１１０ａは、構成情報更新処理の際に、管理下にある記憶サブシステム１０２のストレージ管理プログラム１１０ｂに構成情報を問い合わせる。ストレージ管理プログラム１１０ａは、ストレージ管理プログラム１１０ｂが上記問い合わせに応答して送信する構成情報を取得する。
【０２１４】
ストレージ管理プログラム１１０ａは、構成の変更、高負荷ポート検出、高負荷から低負荷へ移行等、ネーム管理プログラム１１４に対し構成の変更通知が必要な場合、ネーム管理プログラム１１４に対して構成情報の登録変更要求を発行する(処理Ｄ２３０１)。
【０２１５】
ネーム管理プログラム１１４は、ホスト１０１からのディスカバリ要求に対して、図１１に示すディスカバリ要求と同様の処理を行なう。
【０２１６】
続いて、第３実施形態の情報処理システムの構成情報更新処理について図２４を用いて説明する。
【０２１７】
図２４は、本実施形態の情報処理システムが行う構成更新処理のフローを説明するための図である。なお、以下の処理は、管理計算機１０３のＣＰＵ１０が各プログラム（ストレージ管理プログラム１１０ａ、ネーム管理プログラム１１４）を実行することで、または記憶サブシステム１０２のＣＰＵ２０２がストレージ管理プログラム１１０ｂを実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ａ、ストレージ管理プログラム１１０ｂ、ネーム管理プログラム１１４）を動作主体として記載することとする。
【０２１８】
第３実施形態では、ストレージ管理プログラム１１０ａは、記憶サブシステム１０２の構成が更新された場合、その更新内容をネーム管理プログラム１１４に通知して、ネーム管理テーブル１１５に更新内容を反映させる必要がある。第３実施形態では、管理計算機１０３のメモリ２０に変更リストテーブル（図示しない）を設けるようにする。ストレージ管理プログラム１１０ａは、変更リストテーブルに変更内容を格納する。具体的には、第３実施形態の情報処理システムは、以下のような処理を行なう。
【０２１９】
ストレージ管理プログラム１１０ａは、図１２に示すＳ１２０１〜Ｓ１２０４と同様の処理を行い、Ｓ２４０１の処理に進む。Ｓ２４０１では、ストレージ管理プログラム１１０ａは、予めメモリ２０内に用意された変更リストテーブルに構成変更に関するデータを格納してＳ１２０５の処理に進む。その後、ストレージ管理プログラム１１０ａは、図１２示すＳ１２０５〜Ｓ１２０６と同様の処理を行い、Ｓ２４０２の処理に進む。
【０２２０】
Ｓ２４０２では、ストレージ管理プログラム１１０ａは、上記の変更リストに過負荷ポートに関するデータを格納して、Ｓ１２０７の処理に進む。その後、ストレージ管理プログラム１１０ａは、図１２に示すＳ１２０７〜Ｓ１２０８と同様の処理を行い、Ｓ２４０３の処理に進む。
【０２２１】
Ｓ２４０３では、ストレージ管理プログラム１１０ａは、上記の変更リストに未登録かつ低負荷のポートに関するデータ（或いは、高負荷から低負荷へ状態変更したポートに関するデータ）を格納して、Ｓ２４０４の処理に進む。
【０２２２】
Ｓ２０４では、ストレージ管理プログラム１１０ａは、変更リストの内容をネーム管理プログラム１１４へ送信し、図１２で示したＳ１２０９と同じ処理を行なう。
【０２２３】
このように、本発明の第３実施形態によれば、管理計算機１０３のストレージ管理プログラム１１０ａは、記憶サブシステム１０２のポート２０４の状態を監視して、「過負荷」のポート２０４には、新規接続が行なわれないように接続制御を行なうようにしている。そのため、第３実施形態によれば、上記第１実施形態の効果に加えて、さらに、高負荷となっているポート２０４へのアクセスを回避させることができ、システム全体の利用効率が向上させることができる。
〈第４実施形態〉
続いて本発明の第４実施形態を説明する。第４実施形態は、上記第１および第２実施形態とポート振分け処理の手順が異なる以外は、同様の構成を有する。なお、本発明の第４実施形態は、上記第１実施形態のように、ストレージドメインを設定して記憶サブシステム１０２を管理する構成、および、上記第２実施形態のように、ストレージドメインおよびＳＡＮドメインを用いて記憶サブシステム１０２を管理する構成の両者に適用することができる。以下の説明では、ストレージドメインだけを設定して記憶サブシステム１０２を管理する例を説明する。また、第４実施形態の説明において、第１実施形態と同じ構成には同じ符号を用いることとする。
【０２２４】
最初に、第４実施形態のシステム構成について図２５を用いて説明する。
【０２２５】
図２５は、本発明の第４実施形態の情報処理システムのシステム構成を表すブロック図である。
【０２２６】
図示する第４実施形態の情報処理システムは、管理計算機１０３の構成が異なる以外は、第１実施形態と同じである、
具体的には、管理計算機１０３のメモリ２０には、少なくともネーム管理プログラム１１４およびネーム管理テーブル１１５が格納されている。そして、記憶サブステム１０２のＣＰＵ２０２は、ストレージ管理プログラム１１０ｂを実行して、記憶サブシステム１０２の構成情報を管理計算機１０３に送信する。
【０２２７】
管理ホスト１０３のＣＰＵ１０は、ネーム管理プログラム１１４を実行して、記憶サブシステム１０２のＣＰＵ２０２から送信された構成情報を受信する。管理ホスト１０３のＣＰＵ１０は、ネーム管理プログラム１１４を実行して、上記受信した構成情報を用いてネーム管理テーブル１１５のデータの登録や更新を行なう。
【０２２８】
また、第４実施形態が有する各テーブル(ネーム管理テーブル１１５、ホスト管理テーブル１１６、デバイス管理テーブル１１１、ポート管理テーブル１１２、ストレージドメイン管理テーブル１１３)のデータ構造は、図４〜８で示したものと同じである。
【０２２９】
また、第４実施形態の情報処理システムが行う、初期設定処理および論理デバイス作成処理は、図９および図１０に示す処理と同じである。
【０２３０】
続いて、第４実施形態の情報処理システムのポート振分け処理を、図２６を用いて説明する。
【０２３１】
図２６は、第４実施形態の情報処理システムが行うポート振分け処理のフローを説明するための図である。なお、以下の処理は、管理計算機１０３のＣＰＵ１０がネーム管理プログラム１１４を実行することで、または記憶サブシステム１０２のＣＰＵ２０２がストレージ管理プログラム１１０ｂを実行することで実現されるものである。しかしながら、以下では、説明の簡略化のために各プログラム（ストレージ管理プログラム１１０ｂ、ネーム管理プログラム１１４）を動作主体として記載することとする。
【０２３２】
第４実施形態では、記憶サブシステム１０２のストレージ管理プログラム１１０ｂが、直接ネーム管理プログラム１１４と通信する形態となり、第１実施形態のようにストレージ管理プログラム１１０間（ストレージ管理プログラム１１０ａおよびｂの間）の通信を行う必要は無い。
【０２３３】
ストレージ管理プログラム１１０ｂは、構成の変更、高負荷ポート検出、高負荷から低負荷へ移行等の構成情報の変更がある場合、ネーム管理プログラム１１４に対し構成情報の登録変更要求を発行する(Ｓ２３０１)。
【０２３４】
Ｓ２３０１の処理は、上述した図１２に示した処理と、Ｓ１２０３の処理手順が異なる以外は同じである。具体的には、Ｓ２３０１の場合は、図１２のＳ１２０３のように、ストレージ管理プログラム１１０ａからストレージ管理プログラム１１０ｂへの更新情報問い合わせは行わず、ストレージ管理プログラム１１０ｂは、記憶サブシステム１０２の構成情報の参照を行う点が異なる。
【０２３５】
なお、ホスト計算機１０１からのディスカバリ要求の際には、ネーム管理プログラム１１４は、通常のディスカバリ要求に対する処理および応答を行う。
【０２３６】
このように、本実施形態１〜４では、論理デバイス１０５群、ポート２０４群、およびホストコンピュータ１０１をストレージドメイン３０１Ａに分類し、同じストレージドメインの中に属する論理デバイスとポートを任意に組合せることができるようにしている。そのため、従来の記憶サブシステムズのように、論理デバイスとポートとを１対１で対応させる設定を行う必要がなくなり、記憶サブシステムの管理の煩雑さを解消させることができる。
【０２３７】
また、本実施形態によれば、ポート振分け処理を行なう際に、ポートの負荷状態を考慮して、論理デバイスに対して動的にポートを振分けることができる。また、本実施形態によれば、ポート振分け処理を行う際に、アクセスを要求するホスト１０１の近くアドレスを有するポート２０４を動的に振分けることができる。そのため、本実施形態によれば、システム全体の利用効率が向上させることができる。
【０２３８】
また、本実施形態では、ホスト計算機は、ｉＳＮＳ、ｉＳＣＳＩのプロトコルにしたがう標準的なディスカバリ要求を管理計算機に行なうことで、管理計算機からアクセスしたい論理デバイスに対応するポートの情報を取得している。これにより、本実施形態によれば、製造メーカが異なる複数の記憶サブシステムが接続されている情報処理システムの負荷分散や障害回避処理を行なう場合、ホストコンピュータ上に製造メーカが異なる、ディスクアレイ装置毎のデバイスプログラムを実装させる必要はない。
【０２３９】
なお、本発明は以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、上記第３および第４実施形態では、記憶サブシステムの管理単位にストレージドメインを用いる場合を説明したが、記憶サブシステムの管理単位として第２実施形態のようにストレージドメインに加えてＳＡＮドメインを用いるようにしてもよい。
【０２４０】
また、本実施形態では、ホスト計算機、論理デバイス、およびポートをストレージドメインにグループ分けして、アクセス管理を行なうようにしているが、特にこれに限定するものではない。例えば、ストレージドメインに論理デバイスおよびポートだけをグループ分けしておいて、ホスト計算機から論理デバイスに対するアクセス管理を行なうようにしてもよい。このように構成した場合でも、従来のように、ポートと論理デバイスとを１対１で対応させる必要がないため、記憶サブシステムの設定や構成の変更の際の手間を軽減することができる。また、このように、論理デバイスおよびポートをグループ分けしておけば、ポートの状態に応じて、最適なポートを振分けることができるため、上記実施形態と同様、システム全体の利用効率が向上させることができる。
【図面の簡単な説明】
【０２４１】
【図１】本発明の第１実施形態の情報処理システムのシステム構成を表すブロック図である。
【図２】本発明の第１実施形態の記憶サブシステム１０２のシステム構成図である。
【図３】本発明の実施形態の記憶サブシステムの管理単位であるストレージドメインを説明するための図である。
【図４】本発明の実施形態のストレージドメイン管理テーブル１１３のデータ構造を模擬的に示した図である。
【図５】本発明の本実施形態のポート管理テーブル１１２のデータ構造を模擬的に示した図である。
【図６】本発明の実施形態のデバイス管理テーブル１１１のデータ構造を模擬的に示した図である。
【図７】本発明の実施形態のホスト管理テーブル１１６のデータ構造を模擬的に示した図である。
【図８】本発明の実施形態のネーム管理テーブル１１５のデータ構造を模擬的に示した図である。
【図９】本発明の実施形態の情報処理システムが行う初期設定処理のフローを説明するための図である。
【図１０】本発明の実施形態の情報処理システムが行う論理デバイス作成処理のフローを説明するための図である。
【図１１】本発明の実施形態のポート振分け処理のフローを説明するための図である。
【図１２】本発明の実施形態の情報処理システムが行う構成情報更新処理のフローを説明するための図である。
【図１３】本発明の実施形態の管理計算機が行なうディスカバリ処理のフローを説明するための図である。
【図１４】本発明の実施形態の管理計算機１０２が行なうポート振分け処理のフローを説明するための図である。
【図１５】本発明の第２実施形態の情報処理システムのシステム構成を表すブロック図である。
【図１６】本発明の第２実施形態の情報処理システムの管理単位であるＳＡＮドメインを説明するための図である。
【図１７】本発明の第２実施形態のＳＡＮドメイン管理テーブル１５０３のデータ構造を模擬的に示した図である。
【図１８】本発明の第２実施形態のポート管理テーブル１５０４のデータ構造を模擬的に示した図である。
【図１９】本発明の第２実施形態のホスト管理テーブル１５０５のデータ構造を模擬的に示した図である。
【図２０】本発明の第２実施形態の情報処理システムが行う初期設定処理のフローを説明するための図である。
【図２１】本発明の第２実施形態の管理計算機が行なうポート振分け処理のフローを説明するための図である。
【図２２】本発明の第３実施形態の管理計算機１０３が行なう、ポート振分け処理を説明するための図ある。
【図２３】本発明の第３実施形態の情報処理システムが行うポート振分け処理のフローを説明するための図である。
【図２４】本発明の第３実施形態の情報処理システムが行う構成更新処理のフローを説明するための図である。
【図２５】本発明の第４実施形態の情報処理システムのシステム構成を表すブロック図である。
【図２６】本発明の第４実施形態の情報処理システムが行うポート振分け処理のフローを説明するための図である。
【符号の説明】
【０２４２】
１０…ＣＰＵ、１１…ＦＣ/ＩＦ、２０…メモリ、１０１…ホスト計算機、１０２…記憶サブシステム、１０３…管理計算機、１０５…論理デバイス、１１０…ストレージ管理プログラム、１１１…デバイス管理プログラム、１１２…ポート管理プログラム、１１３…ストレージドメイン管理テーブル、１１４…ネーム管理プログラム、１１５…ネーム管理テーブル、１１６…ホスト管理テーブル、２０１…コントローラ、２０２…ＣＰＵ、２０３…ホストアダプタ、２４０…ポート、２０５…メモリ、２０７…ディスクアダプタ、２０８…内部バス、２０９…ディスクインタフェース、２１０…ディスク装置、３０１…ストレージドメイン、１５０１…トポロジ管理プログラム、１５０２…トポロジ管理テーブル、１５０３…ＳＡＮドメイン管理テーブル、１５０４…ポート管理テーブル
【図１】
2005309680.tif 000003
【図２】
2005309680.tif 000004
【図３】
2005309680.tif 000005
【図４】
2005309680.tif 000006
【図５】
2005309680.tif 000007
【図６】
2005309680.tif 000008
【図７】
2005309680.tif 000009
【図８】
2005309680.tif 000010
【図９】
2005309680.tif 000011
【図１０】
2005309680.tif 000012
【図１１】
2005309680.tif 000013
【図１２】
2005309680.tif 000014
【図１３】
2005309680.tif 000015
【図１４】
2005309680.tif 000016
【図１５】
2005309680.tif 000017
【図１６】
2005309680.tif 000018
【図１７】
2005309680.tif 000019
【図１８】
2005309680.tif 000020
【図１９】
2005309680.tif 000021
【図２０】
2005309680.tif 000022
【図２１】
2005309680.tif 000023
【図２２】
2005309680.tif 000024
【図２３】
2005309680.tif 000025
【図２４】
2005309680.tif 000026
【図２５】
2005309680.tif 000027
【図２６】
2005309680.tif 000028