(57)【特許請求の範囲】
【請求項１】
ホストコンピュータと、前記ホストコンピュータに接続されたスイッチユニットと、前記スイッチユニットに接続されたストレージデバイスと、前記ホストコンピュータと前記ストレージデバイス間のアクセスパスを管理する管理コンピュータと、を備え、
前記ホストコンピュータは、当該ホストコンピュータのホストポートを始点とし前記ストレージデバイスのストレージポートを終点とする前記アクセスパスを示すパス情報を前記管理コンピュータへ送信し、
前記スイッチユニットは、当該スイッチユニットのスイッチポート及び前記ホストポートの接続関係と、通信エラー情報とを含むスイッチ情報を前記管理コンピュータへ送信し、
前記管理コンピュータは、
送信された前記パス情報及び送信された前記スイッチ情報が有する前記接続関係に基づいて、前記ホストポート、前記スイッチポート及び前記ストレージポートの接続関係を示すストレージネットワーク情報を生成し、
前記スイッチユニットから前記スイッチ情報を定期的に受信したとき、前記スイッチ情報が有する前記通信エラー情報に基づいて前記スイッチポートの障害を検出し、
前記障害を検出したスイッチポートと前記ストレージネットワーク情報とに基づいて、障害が発生している前記アクセスパスを示す障害情報を前記ホストコンピュータに送信し、
前記ホストコンピュータは、前記障害情報に基づいて前記パス情報を更新する、
通信システム。
【請求項２】
前記ストレージデバイスは、１以上の記憶部を有し、
前記アクセスパスは、ある前記ホストコンピュータからある前記ストレージデバイスのある前記記憶部へアクセスするためのパスであって、当該ホストコンピュータのある前記ホストポートを始点とし、当該ストレージデバイスのある前記ストレージポートを終点とするパスである、請求項１に記載の通信システム。
【請求項３】
前記アクセスパスは、任意の個数の前記スイッチポートを経由する、請求項１または２に記載の通信システム。
【請求項４】
前記アクセスパスは、同一のポートを複数回経由しない、請求項１乃至３のいずれか１
項記載の通信システム。
【請求項５】
前記パス情報は、前記ホストコンピュータから前記記憶部へのアクセスパスを示すテー
ブルからなる、請求項２記載の通信システム。
【請求項６】
ホストコンピュータと、前記ホストコンピュータに接続されたスイッチユニットと、前記スイッチユニットに接続されたストレージデバイスと、前記ホストコンピュータと前記ストレージデバイス間のアクセスパスを管理する管理コンピュータと、を備える通信システムの障害検出方法であって、
前記ホストコンピュータは、当該ホストコンピュータのホストポートを始点とし前記ストレージデバイスのストレージポートを終点とする前記アクセスパスを示すパス情報を前記管理コンピュータへ送信し、
前記スイッチユニットは、当該スイッチユニットのスイッチポート及び前記ホストポートの接続関係と、通信エラー情報とを含むスイッチ情報を前記管理コンピュータへ送信し、
前記管理コンピュータは、
送信された前記パス情報及び送信された前記スイッチ情報が有する接続関係に基づいて、前記ホストポート、前記スイッチポート及び前記ストレージポートの接続関係を示すストレージネットワーク情報を生成し、
前記スイッチユニットから前記スイッチ情報を定期的に受信したとき、前記スイッチ情報が有する前記通信エラー情報に基づいて前記スイッチポートの障害を検出し、
前記障害を検出したスイッチポートと前記ストレージネットワーク情報とに基づいて、障害が発生している前記アクセスパスを示す障害情報を前記ホストコンピュータに送信し、
前記ホストコンピュータは、前記障害情報に基づいて前記パス情報を更新する、
通信システムの障害検出方法。
【請求項７】
ホストコンピュータと、前記ホストコンピュータに接続されたスイッチユニットと、前記スイッチユニットに接続されたストレージデバイスと、前記ホストコンピュータと前記ストレージデバイス間のアクセスパスを管理する管理コンピュータと、を備える通信システムの障害検出動作を前記管理コンピュータに実行させるプログラムであって、
前記ホストコンピュータから、当該ホストコンピュータのホストポートを始点とし前記ストレージデバイスのストレージポートを終点とする前記アクセスパスを示すパス情報を取得し、
前記スイッチユニットから、当該スイッチユニットのスイッチポート及び前記ホストポートの接続関係と、通信エラー情報とを含むスイッチ情報を取得し、
取得した前記パス情報及び取得した前記スイッチ情報が有する接続関係に基づいて、前記ホストポート、前記スイッチポート及び前記ストレージポートの接続関係を示すストレージネットワーク情報を生成し、
前記スイッチユニットから前記スイッチ情報を定期的に取得したとき、前記スイッチ情報が有する前記通信エラー情報に基づいて前記スイッチポートの障害を検出し、
前記障害を検出したスイッチポートと前記ストレージネットワーク情報とに基づいて、障害が発生している前記アクセスパスを示す障害情報を前記ホストコンピュータに送信し、前記ホストコンピュータの前記パス情報を更新する、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータ、スイッチユニット及びストレージデバイスを有する通信システム及びその障害検出方法に関する。
【背景技術】
【０００２】
従来のストレージエリアネットワークでは、業務Ｉ／Ｏや監視用Ｉ／Ｏがエラーを検出したときや、リンクダウンなどにより、ストレージデバイスとの接続が切断したことを検出することはできる。しかしながら、Ｉ／Ｏエラーや接続の切断までは至らないものの、瞬間的なリンクダウンや、ＣＲＣエラーなど、パス管理プログラムよりも下層で復旧可能な障害については、パス管理プログラムから検出することができなかった。これらの障害は、Ｉ／Ｏの再送が必要なため性能の低下を引き起こすため、検出する必要がある。
【０００３】
また、障害を検出したときも、経路上のどこに障害が発生したのかをパス管理プログラムから絞り込むことは困難であった。
【０００４】
従来の計算機システムの一例が特許文献１に記載されている。この公報に記載された計算機システムは、ストレージシステムの構成品行を一元的に管理し、リソースを最適に配置させることを実現するシステムである。その他、ストレージデバイスの障害箇所特定方法が特許文献２、３等に記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−４７９８６号公報
【特許文献２】特開２００８−１５８６６６号公報
【特許文献３】特許４２５６９１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、この特許文献１には次のような問題点がある。第１の問題点は、大規模な計算機システムには対応していない点である。その理由は、スイッチユニット同士が接続された構成を考慮していないからである。
【０００７】
第２の問題点は、障害を検出してから障害パスを割り出すまでに時間がかかる点である。その理由は、障害を検出してから全パスを検索し、障害発生箇所に関係するかどうかを判断するためである。
【０００８】
また、特許文献１乃至３には、ストレージエリアネットワークの構成として、ＦＣ（（FibreChannel））接続の形態のみを扱っており、いずれもスイッチ同士の接続が考慮されていないという問題点がある。特に、ｉＳＣＳＩ（Internet Small Computer System Interface）やＦＣｏＥ（Fibre Channel over Ethernet（登録商標））といった、ネットワーク接続を扱う場合に、スイッチ同士の接続構成も考慮する必要があるが、これら特許文献１乃至３の方法では、スイッチ同士の接続がある場合に故障発生個所を発見することができない。
【０００９】
本発明は、このような問題点を解決するためになされたものであり、障害が発生したときにスイッチユニットでのエラー情報を取得し、経路の接続情報と照合することで、障害発生箇所の特定を実現することができる通信システム及びその障害検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る通信システムは、ホストコンピュータ、スイッチユニット、及びストレージデバイスを備え、前記ホストコンピュータ、前記スイッチユニット、及び前記ストレージデバイスがストレージケーブルにより接続され、前記ホストコンピュータ、及び前記スイッチユニットが通信ネットワークにより接続されている通信システムであって、ホストコンピュータは、１以上のホストポートと、ネットワークパス情報を生成するストレージネットワーク管理プログラムを有し、スイッチユニットは、１以上のスイッチポートを有し、ストレージデバイスは、１以上のストレージポートを有し、前記ストレージネットワーク管理プログラムは、あるホストポートを始点としあるストレージポートを終点とするアクセスパスの情報であるパス情報と、前記スイッチポートの接続先の情報及びエラー検出回数を含む統計情報を有するスイッチ情報とを定期的に取得し、当該パス情報及びスイッチ情報に基づき、各ポートの接続先及びその状態を示す前記ネットワークパス情報を作成・更新し、障害が発生したとき、前記ストレージネットワーク管理プログラムは、前記スイッチ情報及び前記ネットワークパス情報から障害情報を作成し、ネットワーク上の障害を検知するものである。
【発明の効果】
【００１１】
本発明によれば、障害が発生したときにスイッチユニットでのエラー情報を取得し、経路の接続情報と照合することで、障害発生箇所の特定を実現することができる通信システム及びその障害検出方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態１にかかる通信システムを示す図である。
【図２】本発明の実施の形態２にかかる計算機システムの構成を示す図である。
【図３】パス情報を示す図である。
【図４】スイッチ情報を示す図である。
【図５】ストレージネットワークを示す図である。
【図６】障害情報を示す図である。
【図７】ネットワークパス情報を示す図である。
【図８】ネットワークスイッチ情報を示す図である。
【図９】ストレージネットワーク管理プログラムがストレージネットワーク情報を作成する方法を示すフローチャートである。
【図１０】図９のステップＡ７における登録手順の詳細を示すフローチャートである。
【図１１Ａ】本発明の実施の形態２にかかる障害検出方法を示すフローチャートである。
【図１１Ｂ】本発明の実施の形態２にかかる障害検出方法を示すフローチャートである。
【図１２】計算機システムの具体例を示す図である。
【図１３】ステップＡ５終了時点のストレージネットワーク情報１２０ａを示す図である。
【図１４】ステップＡ６終了時点のストレージネットワーク情報１２０ａを示す図である。
【図１５】ステップＡ７終了時点のストレージネットワーク情報１２０ａを示す図である。
【図１６】ステップＢ４終了時点の障害情報１３０ａを示す図である。
【図１７】ステップＢ６直前のパス情報２３０ａを示す図である。
【図１８】本発明の実施の形態３にかかる計算機システム１ｂを示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、管理コンピュータ、ホストコンピュータ、スイッチユニット、及びストレージデバイスを備え、ホストコンピュータ、スイッチユニット、及びストレージデバイスがストレージケーブルにより接続され、管理コンピュータ、ホストコンピュータ、及びスイッチユニットが通信ネットワークにより接続されている通信システムに適用したものである。
【００１４】
本発明の実施の形態１．
本実施の形態にかかる通信システムにおいては、ストレージエリアネットワーク上の障害を、スイッチユニットの統計情報から判断し、ホストコンピュータ上のパス管理プログラムに通知する。そして、障害が発生したポートから、アクセスパスを特定する。
【００１５】
図１は、本発明の実施の形態にかかる通信システムを示す図である。図１に示すように、通信システム（以下、計算機システムという。）は、管理コンピュータ１００Ａ、ホストコンピュータ２００Ａ、スイッチユニット３００Ａ、及びストレージデバイス４００Ａを備え、ホストコンピュータ２００Ａ、スイッチユニット３００Ａ、及びストレージデバイス４００Ａがストレージケーブル５００Ａにより接続され、管理コンピュータ１００Ａ、ホストコンピュータ２００Ａ、及びスイッチユニット３００Ａが通信ネットワーク６００により接続されている。
【００１６】
管理コンピュータ１００Ａは、ネットワークパス情報を生成するストレージネットワーク管理プログラム１１０Ａを有する。また、ホストコンピュータ２００Ａは、１以上のホストポート２１０Ａと、障害情報を受信することでネットワーク上の障害を検知するパス管理プログラム２２０Ａとを有する。スイッチユニット３００Ａは、１以上のスイッチポート３１０Ａ、３１０Ｂを有し、ストレージデバイス４００Ａは、１以上のストレージポート４１０Ａを有する。
【００１７】
ストレージネットワーク管理プログラム１１０Ａは、あるホストポートを始点としあるストレージポートを終点とするアクセスパスの情報であるパス情報と、スイッチポート３１０Ａ、３１０Ｂの接続先の情報及びエラー検出回数を含む統計情報を有するスイッチ情報とをそれぞれホストコンピュータ２００Ａ及びスイッチユニット３００Ａから定期的に取得し、当該パス情報及びスイッチ情報に基づき、各ポートの接続先及びその状態を示す前記ネットワークパス情報を作成・更新する。
【００１８】
そして、障害が発生したとき、ストレージネットワーク管理プログラム１１０Ａは、スイッチ情報及びネットワークパス情報から障害情報を作成し、各ホストコンピュータ２００Ａ上のパス管理プログラム２２０Ａに当該障害情報を送信する。これにより、各ホストコンピュータ２００Ａは、障害を検知し、障害発生個所を特定することができる。すなわち、パス管理プログラムよりも下層で生じた復旧可能な障害を検出が可能し、また障害を検出した際に、経路上のどこに障害が発生したのかを絞り込むことも可能となる。
【００１９】
本発明の実施の形態２.
上述の実施の形態１では、ホストコンピュータ、スイッチユニットが共に１つであったが、本実施の形態においては、これを２つずつ備えるものとする。また、ストレージデバイスは記憶部としてのディスクを備える。図２は、本実施の形態にかかる計算機システムの構成を示す図である。
【００２０】
図２に示すように、本実施の形態にかかる計算機システム１は、１つの管理コンピュータ１００、１つ以上のホストコンピュータ２００、１つ以上のスイッチユニット３００、１つ以上のストレージデバイス４００からなる。
【００２１】
管理コンピュータ１００には、ストレージネットワーク管理プログラム１１０が動作しており、１つのストレージネットワーク情報１２０と１つの障害情報１３０、１つのネットワークパス情報１４０、１つのネットワークスイッチ情報１５０を有する。
【００２２】
ネットワークパス情報１４０は、ホストコンピュータ２００から定期的に送られるパス情報２３０を格納するパス情報格納部として機能する。ネットワークスイッチ情報１５０は、スイッチユニット３００から定期的に送られるスイッチ情報を格納するスイッチ情報格納部として機能する。
【００２３】
ホストコンピュータ２００は、コンピュータ識別子２０１により識別することができる。ホストコンピュータ２００は、任意の個数のホストポート２１０を有し、１つのパス管理プログラム２２０が動作し、１つのパス情報２３０を有する。パス情報２３０は、後述するようにアクセスパスの情報を有するテーブルからなる。それぞれのホストポートはホストポート識別子２３１により識別することができる。
【００２４】
スイッチユニット３００は、スイッチ識別子３０１により識別することができる。２つ以上のスイッチポート３１０を有し、１つのスイッチ情報３２０を有する。スイッチ情報は後述するように、スイッチポートの接続先の情報やエラー検出回数を含む統計情報を有するテーブルである。それぞれのスイッチポートはスイッチポート識別子３２１により識別することができる。
【００２５】
ストレージデバイス４００には、１つ以上のターゲットポート（ストレージポート）４１０を有し、任意の個数のディスク４２０を有する。それぞれのターゲットポートはターゲットポート識別子４１１により識別することができる。
【００２６】
ホストポート２１０、スイッチポート３１０、ターゲットポート４１０をまとめてポートと呼ぶ。２つのポートの間はストレージケーブル５００で接続することができる。ストレージエリアネットワークでは、ストレージケーブル５００は、ＦＣケーブルやネットワークケーブルに相当する。
【００２７】
あるホストコンピュータ２００から、あるディスク４２０へアクセスするために経由する経路をアクセスパスと呼ぶ。アクセスパスは、ホストコンピュータ２００上の１つのホストポート２１０を始点とし、ディスク４２０が存在するストレージデバイス４００上の１つのストレージポート４１０を終点とする経路で、ストレージケーブル５００で接続された任意の個数のスイッチポート３１０を経由する。
【００２８】
１つのアクセスパス上にループが存在してはならない。すなわち、あるアクセスパスについて、同一のポートを複数回経由するような経路があってはならない。
【００２９】
ホストポート識別子２３１、スイッチポート識別子３２１、ターゲットポート識別子４１１をまとめてポート識別子と呼ぶ。また、ポート識別子とコンピュータ識別子２０１をまとめて単に識別子と呼ぶ。それぞれの識別子は本構成例の計算機システムの中で一意である。
【００３０】
管理コンピュータ１００とそれぞれのホストコンピュータ２００、管理コンピュータ１００とそれぞれのスイッチユニット３００との間は、経路情報通信ネットワーク６００により接続されている。
【００３１】
図３は、パス情報を示すテーブル、図４は、スイッチ情報を示すテーブル、図５は、ストレージネットワークを示すテーブル、図６は障害情報を示すテーブル、図７は、ネットワークパス情報を示すテーブル、図８は、ネットワークスイッチ情報を示すテーブルである。
【００３２】
図３に示すように、パス情報２３０は、ホストコンピュータ２００からストレージデバイス４００のディスク４２０へのアクセスパスを示すテーブルである。各エントリーは、アクセスパスの両端点を示すホストポート識別子２３１と、ターゲットポート識別子２３２、アクセスパスの状態を示すアクセスパス状態２３３からなる。アクセスパス状態２３３は、アクセスパスを経由してディスク４２０へのアクセスが可能な場合を「正常」とし、アクセスが不可能な場合を「異常」とする。アクセスが不可能な場合とは、例えば、アクセスパス上にある、ホストポート、スイッチユニット、及び／又はターゲットポートの故障やストレージケーブルの断線が発生した場合を指す。
【００３３】
図４に示すように、スイッチ情報３２０は、各スイッチポート３１０の接続先や、検出されたエラーの回数などの統計情報を示すテーブルである。各エントリーは、スイッチポート識別子３２１と、当該スイッチポートの接続先ポートの識別子を示す接続先識別子３２２、当該スイッチポートと同一スイッチユニット上にあり、かつ、通信可能なスイッチポートの識別子のリストを格納するゾーン情報３２３、当該スイッチポートの統計情報のリストである統計情報リスト３２４からなる。統計情報の例として、ポート上で検出したエラーの回数、リンク切断の回数などがあげられる。ポート上で検出されるエラーは、例えば、ＣＲＣエラー(巡回冗長検査：Cyclic Redundancy Check、通信経路上のデータ誤りを検出するための検査)や、信号の同期の失敗、信号の消失などである。
【００３４】
図５に示すように、ストレージネットワーク情報１２０は、それぞれのポートの接続先と状態を示すテーブルである。各エントリーは当該ポートのポート識別子１２１、当該ポートが「ホストポート」「ターゲットポート」「スイッチポート」のどれかを判別するポート種別１２２、当該ポートからストレージケーブル５００で接続されているポートの識別子を格納する外部接続ポート１２３、当該ポートがスイッチポートである場合、同一スイッチユニット上でアクセス可能なポート識別子のリストを格納する内部接続ポートリスト１２４、当該ポートから任意のアクセスパス上で到達可能なホストポートの識別子のリストを格納するホストポートリスト１２５、当該ポートから任意のアクセスパス上で到達可能なターゲットポートの識別子のリストを格納するターゲットポートリスト１２６からなる。ストレージネットワーク情報１２０の作成方法は後述する。
【００３５】
図６に示すように、障害情報１３０は、障害が発生したポートの情報を示すテーブルである。テーブルの各エントリーは、障害を検出したスイッチポートの識別子を示す障害ポート１３１と、障害ポートから任意のアクセスパス上で到達可能なホストポートのリスト、障害ホストポートリスト１３２、障害ポートから任意のアクセスパス上で到達可能なターゲットポートのリスト、障害ターゲットポートリスト１３３からなる。障害情報１３０の作成方法は、後述する。ここで、障害とは、上述のホストポート、スイッチユニット、ターゲットポートの故障、やストレージケーブルの切断を示す。本実施の形態においては、上述のスイッチポート上で検出したエラー回数やリンク切断の回数等が閾値を超えることで障害を検出する。
【００３６】
図７に示すように、ネットワークパス情報１４０は、各ホストコンピュータ２００から収集したパス情報２３０を格納するテーブルである。テーブルの各エントリーは、取得元のホストコンピュータ２００の識別子を示すコンピュータ識別子１４１と、ホストポート識別子１４２、ターゲットポート識別子１４３からなる。
【００３７】
図８に示すように、ネットワークスイッチ情報１５０は、各スイッチユニット３００から収集したスイッチ情報３２０を格納するテーブルである。テーブルの各エントリーは、取得元のスイッチユニット３００の識別子を示すスイッチ識別子１５１と、スイッチポート識別子１５２、接続先識別子１５３、ゾーン情報１５４からなる。
【００３８】
次に、本実施の形態における計算機システムの障害検出動作について説明する。先ず、初期情報として、管理コンピュータ１００のストレージネットワーク管理プログラム１１０が、ストレージネットワーク情報１２０を作成する方法を説明する。図９は、ストレージネットワーク管理プログラムがストレージネットワーク情報を作成する方法を示すフローチャートである。
【００３９】
図９に示すように、ストレージネットワーク管理プログラム１１０は、経路情報通信ネットワーク６００で接続されているすべてのホストコンピュータ２００からパス情報２３０を取得し、ネットワークパス情報１４０に、パス情報２３０に対応した新規エントリーを作成する。新規エントリーのコンピュータ識別子１４１にホストコンピュータ識別子２０１を、ホストポート識別子１４２とターゲットポート識別子１４３にパス情報２３０の対応する識別子を格納する（ステップＡ１）。
【００４０】
次に、経路情報通信ネットワーク６００で接続されているすべてのスイッチユニット３００からスイッチ情報３２０を取得し、ネットワークスイッチ情報１５０に、スイッチ情報３２０に対応した新規エントリーを作成する。新規エントリーのスイッチ識別子１５１に取得元のスイッチ識別子３２１を、スイッチポート識別子１５２、接続先識別子１５３、ゾーン情報１５４にスイッチ情報３２０の対応する情報を格納する（ステップＡ２）。
【００４１】
ステップＡ１で生成したネットワークパス情報１４０から、計算機システムに存在するすべてのホストポート２１０、及び、ターゲットポート４１０の情報を、ストレージネットワーク情報１２０に登録する。
【００４２】
ネットワークパス情報１４０の各エントリーに存在するホストポート識別子１４２について、ストレージネットワーク情報１２０のポート識別子１２１に一致する識別子が登録されているかどうかを確認する。一致するものがなければ、ストレージネットワーク情報１２０に新しいエントリーを追加し、ポート識別子１２１にホストポート識別子１４２を、ポート種別１２２に「ホストポート」を格納し、それ以外の要素は空とする（ステップＡ３）。
【００４３】
ネットワークパス情報１４０の各エントリーに存在するターゲットポート識別子１４３についても同様に、ストレージネットワーク情報１２０のポート識別子１２１に一致する識別子が登録されているかどうかを確認する。一致するものがなければ、ストレージネットワーク情報１２０に新しいエントリーを追加し、ポート識別子１２１にターゲットポート識別子１４３を、ポート種別１２２に「ターゲットポート」を格納し、それ以外の要素は空とする（ステップＡ４）。
【００４４】
次に、ステップＡ２で生成したネットワークスイッチ情報１５０から、計算機システムに存在するすべてのスイッチポート３１０の情報をストレージネットワーク情報１２０に登録する。
【００４５】
ネットワークスイッチ情報１５０の各エントリーに存在するスイッチポート識別子１５２について、ストレージネットワーク情報１２０のポート識別子１２１に一致する識別子が登録されているかどうかを確認する。一致するものがなければ、ストレージネットワーク情報１２０に新しいエントリーを追加し、ポート識別子１２１にスイッチポート識別子１５２を、ポート種別１２２に「スイッチポート」を、外部接続ポート１２３に接続先識別子１５３を、内部接続ポートリスト１２４にゾーン情報１５４を格納する。それ以外の要素は空とする（ステップＡ５）。
【００４６】
ここまでのステップで、ストレージネットワーク情報１２０に、計算機システムに存在するすべてのポートが登録される。次に、ポート間の接続関係の情報を登録する。先ずは、ホストポート、及びターゲットポートの接続先の情報を登録する。ストレージネットワーク情報１２０の各エントリーについて、ポート種別１２２が「ホストポート」または「ターゲットポート」であるエントリーを探す。当該エントリーｘのポート識別子１２１ｘについて、ストレージネットワーク情報１２０から外部接続ポート１２３と一致するエントリーｙを探し、エントリーｘの外部接続ポート１２３ｘに、エントリーｙのポート識別子１２１ｙを格納する（ステップＡ６）。
【００４７】
次に、ストレージネットワーク情報１２０のホストポートリスト１２５、及びターゲットポートリスト１２６に、各ポートから任意のアクセスパスを通して到達可能なホストポート、及びターゲットポートを登録する（ステップＡ７）。
【００４８】
次に、ステップＡ７における詳細な登録手順について説明する。図１０は、図９のステップＡ７における登録手順の詳細を示すフローチャートである。図１０に示すように、ストレージネットワーク情報１２０の各エントリーｎについて、外部接続ポート１２３と内部接続ポートリスト１２４に含まれるすべてのポート識別子を一時リストに格納する。一時リストには任意の個数のポート識別子が登録される（ステップＡ７−１）。
【００４９】
一時リストに登録されているポート識別子ｐについてポート種別を判別する。ストレージネットワーク情報１２０の各エントリーのポート識別子１２１と比較し、一致するエントリーのポート種別１２２が判別対象のポート種別となる（ステップＡ７−２）。
判別対象のポート種別が「ホストポート」の場合、ストレージネットワーク情報１２０のエントリーｎのホストポートリスト１２５ｎにポート識別子ｐを追加し、一時リストからポート識別子ｐを削除する（ステップＡ７−３）。
【００５０】
判別対象のポート種別が「ターゲットポート」の場合、ストレージネットワーク情報１２０のエントリーｎのターゲットポートリスト１２６ｎにポート識別子ｐを追加し、一時リストからポート識別子ｐを削除する（ステップＡ７−４）。
【００５１】
判別対象のポート種別が「スイッチポート」の場合、接続先のポートの接続先を再帰的に登録する。ストレージネットワーク情報１２０の各エントリーのポート識別子１２１から、ポート識別子ｐと一致するものを探す。当該エントリーｅについて、外部接続ポート１２３ｅのポート識別子を一時リストに追加し、一時リストからポート識別子ｐを削除する（ステップＡ７−５）。
【００５２】
一時リストが空であるかどうかを判断する(ステップＡ７−６）。空でないときはステップＡ７−２に戻る。一時リストが空になった時点で、エントリーｎに登録されたポートから任意のアクセスパスを通して到達可能なホストポート、及び、ターゲットポートが登録される。
【００５３】
以上のステップＡ１〜Ａ７で、ストレージネットワーク情報１２０の構成が完了する。
ストレージネットワーク管理プログラム１１０は、一定間隔で各ホストコンピュータ２００のパス情報２３０、及び各スイッチユニットのスイッチ情報３２０を取得し、前回取得したときのネットワークパス情報５２０及び、ネットワークスイッチ情報５３０と比較し、差分があったときに、上記のステップＡ１〜ステップＡ７の手順に従い、ストレージネットワーク情報１２０の再構築を行う。
【００５４】
次に、障害検出方法について説明する。図１１Ａ及び図１１Ｂは、本実施の形態にかかる障害検出方法を示すフローチャートである。本実施の形態では、スイッチの統計情報からアクセスパス上の障害を検出し、各ホストコンピュータ２００上のパス管理プログラム２２０に障害が発生したことを伝えることができる。
【００５５】
初期値として障害情報１３０を空にする。管理コンピュータ１００のストレージネットワーク管理プログラム１１０は、一定間隔で各スイッチユニットのスイッチ情報３２０を取得する（ステップＢ１）。
【００５６】
取得したスイッチ情報３２０の各エントリーｓについて、統計情報リスト３２４ｓの内容を確認する。統計情報から異常が検出された場合、たとえば、エラー回数が閾値を超えた場合に、スイッチポート識別子３２１ｓで障害が発生したとみなし、次のステップに進む（ステップＢ２）。
【００５７】
スイッチポート識別子３２１ｓにより識別されるポートに障害が発生している旨を、障害情報１３０に登録する。障害情報１３０に新しいエントリーを作成し、障害ポート１３１にスイッチポート識別子３２１ｓを格納する（ステップＢ３）。
【００５８】
ストレージネットワーク情報１２０から、ポート識別子１２１が障害が発生したスイッチポート識別子３２１ｓと一致するエントリーｅを探す。エントリーｅのホストポートリスト１２５ｅを障害ホストポートリスト１３２に格納し、エントリーｅのターゲットポートリスト１２６ｅを障害ターゲットポートリスト１３３に格納する（ステップＢ４）。
【００５９】
ステップＢ２〜ステップＢ４をスイッチ情報３２０のすべてのエントリーについて繰り返すことで、障害情報１３０には、障害発生ポートがどのアクセスパス上にあるかの情報が格納される。
【００６０】
障害情報１３０を、経路情報通信ネットワーク６００を通して、各ホストコンピュータ２００のパス管理プログラム２２０に通知する（ステップＢ５）。
【００６１】
通知を受けたパス管理プログラム２２０は、障害情報１３０の情報から、パス情報２３０を更新する。障害情報１３０の各エントリーについて、障害ホストポートリスト１３２に登録されている識別子と、障害ターゲットポートリスト１３３に登録されている識別子の全組み合わせから、そのエントリーの障害の影響を受けるアクセスパスを特定する。
【００６２】
障害ホストポートリスト１３２に格納されている識別子ｈ、障害ターゲットポートリスト１３３に格納されている識別子ｔのペアについて、パス情報２３０から、ホストポート識別子２３１が識別子ｈと一致し、かつ、ターゲットポート識別子２３３が識別子ｔと一致するエントリーを探す。当該エントリーのパス状態２３３１を「障害」に変更する（ステップＢ６）。
【００６３】
これらのステップで、障害が発生したときに、それぞれのホストコンピュータ２００上のパス情報２３０を更新することができる。
【００６４】
次に、具体例を用いて本実施の形態の動作について説明する。図１２は、計算機システムの具体例を示す図である。図１２に示すように、本具体例においては、２台のホストコンピュータ２００ａ、２００ｂが、２台のスイッチユニット３００ａ、３００ｂを経由して、ストレージデバイス４００ａに接続されている構成である。おのおののホストコンピュータ２００ａ、２００ｂ、スイッチユニット３００ａ、３００ｂ、ストレージデバイス４００ａ間はストレージケーブル５００で接続されている。また、管理コンピュータ１００ａと、２台のホストコンピュータ２００ａ、２００ｂ、２台のスイッチユニット３００ａ、３００ｂとが通信ネットワーク６００により接続されている。
【００６５】
本具体例における識別子について、ホストポート２１０ａのホストポート識別子を単に２１０ａと表し、スイッチポート識別子３１０ａ１のスイッチポート識別子を単に３１０ａ１と表す。他の識別子についても同様に表す。
【００６６】
先ず、図９、図１０に示す、ストレージネットワーク情報１２０ａを作成する方法について説明する。図１３は、ステップＡ５終了時点のストレージネットワーク情報１２０ａを示し、図１４は、ステップＡ６終了時点のストレージネットワーク情報１２０ａを示し、図１５は、ステップＡ７終了時点のストレージネットワーク情報１２０ａを示す図である。
【００６７】
ステップＡ１で２台のホストコンピュータからパス情報２３０を取得し、ネットワークパス情報１４０ａを作成する。ステップＡ２で２台のスイッチユニット３００ａ、３００ｂからスイッチ情報を取得し、ストレージスイッチ情報１５０ａを作成する。
【００６８】
ステップＡ３、ステップＡ４でネットワークパス情報１４０ａから、ストレージネットワーク情報１２０ａにホストポート、ターゲットポートの情報を登録する。また、ステップＡ５で、ネットワークスイッチ情報１５０ａから、ストレージネットワーク情報１２０ａにスイッチポートの情報を登録する。ステップＡ５終了時点でのストレージネットワーク情報１２０ａは、図１３のようになる。
【００６９】
次に、ステップＡ６の動作について説明する。図１３に示すストレージネットワーク情報１２０ａの１番目のエントリーｘのポート種別は「ホストポート」であるため、接続先の情報の登録を実施する。ストレージネットワーク情報１２０ａから、外部接続ポート１２３ａが、エントリーｘのポート識別子「２１０ａ１」と一致するものを探すと、９番目のエントリーｙが該当する。
【００７０】
エントリーｙのポート識別子が「３１０ａ１」であることから、スイッチポート３１０ａ１はホストポート２１０ａ１と接続されていることが分かる。ホストポート接続関係を登録するため、エントリーｘの外部接続ポート１２３ａｘに「３１０ａ１」を登録する。
【００７１】
上記の手順を、ストレージネットワーク情報１２０ａ１に登録されたすべてのホストポート、及びターゲットポートについて実施する。ステップＡ６終了後のストレージネットワーク情報１２０ａは図１４のようになる。
【００７２】
ステップＡ７では、ストレージネットワーク情報１２０ａの各エントリーについて、ホストポートリスト１２５ａとターゲットポートリスト１２６ａの内容を登録する。図１０に示す詳細な登録手順について、図１４に示すストレージネットワーク情報１２０ａの１０番目のエントリーｎ、すなわちスイッチポート３１０ａ２を例として、動作を説明する。
ステップＡ７−１では、一時リストにエントリーｎの外部接続ポート１２３ａｎと、内部接続ポート１２４ａｎに含まれるすべてのポート識別子を一時リストに格納する。一時リストには（２１０ｂ１，３１０ａ３，３１０ａ４）の３つのポート識別子が格納されている。
【００７３】
次にステップＡ７−２で、一時リストに格納されている識別子２１０ｂ１について、その種別をチェックする。２１０ｂ１はホストポートのため、ステップＡ７−３に進み、ホストポートリスト１２５ａに識別子２１０ｂ１を追加し、一時リストからポート識別子２１０ｂ１を削除する。
【００７４】
このステップで、スイッチポート３１０ａ２の接続先をたどっていくと、ホストポート２１０ｂ１に到達できることが分かる。この時点で一時リストには（３１０ａ３，３１０ａ４）の２つのポート識別子が格納されている。
【００７５】
ステップＡ７−２に戻り、一時リストに格納されている識別子３１０ａ３について、その種別をチェックする。３１０ａ３はスイッチポートのため、ステップＡ７−５に進み、ストレージネットワーク情報１２０ａからポート識別子が３１０ａ３と一致するエントリーｍを探す。図１４では１１番目のエントリーが該当する。
【００７６】
エントリーｍの外部接続ポートに含まれるポート識別子４１０ａを一時リストに追加する。これは、スイッチポート３１０ａ２からスイッチポート３１０ａ３は到達可能であり、さらにその先に接続されているポート４１０ａへも到達可能であることを示している。一時リストから３１０ａ３を削除し、この時点で一時リストには（４１０ａ，３１０ａ４）の２つのポート識別子が格納されている。
【００７７】
さらに、ステップＡ７−２戻り、一時リストに格納されている識別子４１０ａについて、その種別をチェックする。４１０ａはターゲットポートのため、ステップＡ７−４に進み、ターゲットポートリスト１２６ａに識別子４１０ａを追加し、一時リストからポート識別子４１０ａを削除する。
【００７８】
上記の手順を一時リストが空になるまで繰り返す。アクセスパス上にはループが存在しないため、接続先をたどることで、ホストポート、又はターゲットポートに遭遇し、最終的に一時リストは空になる。ステップＡ７が終了した時点のストレージネットワーク情報１２０ａは図１５のようになる。
【００７９】
次に、図１１に示す障害検出手段の動作について例を挙げて説明する。スイッチポート３１０ｂ３で障害を検出した場合を考える。図１６は、ステップＢ４終了時点の障害情報１３０ａを示す図である。
【００８０】
ステップＢ１でスイッチ情報３２０ｂを取得し、ステップＢ２でスイッチポート３１０ｂ３で異常が発生していることを検知する。ステップＢ３で障害情報１３０ａに新しいエントリーを作成し、障害ポート１３１ａに「３１０ｂ３」を追加する。
【００８１】
ステップＢ４で、ストレージネットワーク情報１２０ａのポート識別子１２１ａが「３１０ｂ３」であるエントリーを探し、当該エントリーのホストポートリスト、ターゲットポートリストをそれぞれ、障害ホストポートリスト１３２ａ、障害ターゲットポートリスト１３３ａに格納する。ステップＢ４終了時点で障害情報１３０ａは図１６のようになる。
【００８２】
ステップＢ５で、ストレージネットワーク管理プログラム１１０ａは、パス管理プログラム２２０ａ、及び２２０ｂに障害情報１３０ａを送信する。
【００８３】
ステップＢ６で、パス管理プログラムはパス情報から障害パスを特定しパス状態を変更する。ここでは、パス管理プログラム２２０ａについての動作を例に説明する。図１７は、ステップＢ６直前のパス情報２３０ａを示す図である。
【００８４】
障害情報１３０ａの障害ホストポートリスト１３２ａと、障害ターゲットポートリスト１３３ａから生成されるアクセスパスの組み合わせは、ホストポート２１０ａ２からターゲットポート４１０ｂへのパスと、ホストポート２１０ｂ２からターゲットポート４１０ｂへのパスの２つである。パス情報２３０ａを参照すると、３番目のエントリーｐが後者のパスに該当する。当該エントリーｐのパス状態２３３ａを「異常」に変更する。
【００８５】
以上の手順により、パス管理プログラム２２０ａがパスに障害を発生したことを検知することができる。
【００８６】
本実施の形態にかかる効果について説明する。先ず、第１の効果は、スイッチユニットが多数接続されている大規模な構成であっても、パス管理プログラムからでは検出できないような障害を検出できる点である。その理由は、スイッチユニットの統計情報を元に障害を検出しているからである。
【００８７】
第２の効果は、障害を検出したときに、短時間で障害が発生したパスを割り出し、ホストコンピュータに通知できる点である。その理由は、ストレージネットワーク管理プログラムが、障害発生前の初期設定の段階で、事前にポートがどのパス上にあるかを登録するからである。
【００８８】
本発明の実施の形態３．
図１８は、本発明の実施の形態３にかかる計算機システム１ｂを示す図である。図１８に示すように、管理コンピュータ１００とホストコンピュータ２００を分けていたが、図に示すように、ホストコンピュータ２００のうち任意の１台にストレージネットワーク管理プログラム１１０を動作させ、管理コンピュータの役割を兼ねた構成も可能である。本構成での動作は、図２に示す実施の形態２の動作と同一である。
【００８９】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００９０】
（付記１）
ホストコンピュータ、スイッチユニット、及びストレージデバイスを備え、前記ホストコンピュータ、前記スイッチユニット、及び前記ストレージデバイスがストレージケーブルにより接続され、前記ホストコンピュータ、及び前記スイッチユニットが通信ネットワークにより接続されている通信システムであって、
ホストコンピュータは、１以上のホストポートと、ネットワークパス情報を生成するストレージネットワーク管理プログラムを有し、
スイッチユニットは、１以上のスイッチポートを有し、
ストレージデバイスは、１以上のストレージポートを有し、
前記ストレージネットワーク管理プログラムは、あるホストポートを始点としあるストレージポートを終点とするアクセスパスの情報であるパス情報と、前記スイッチポートの接続先の情報及びエラー検出回数を含む統計情報を有するスイッチ情報とを定期的に取得し、当該パス情報及びスイッチ情報に基づき、各ポートの接続先及びその状態を示す前記ネットワークパス情報を作成・更新し、
障害が発生したとき、前記ストレージネットワーク管理プログラムは、前記スイッチ情報及び前記ネットワークパス情報から障害情報を作成し、ネットワーク上の障害を検知する通信システム。
【００９１】
（付記２）
前記ストレージデバイスは、１以上の記憶部を有し、
前記アクセスパスは、あるホストコンピュータからあるストレージデバイスのある記憶部へアクセスするためのパスであって、当該ホストコンピュータのあるホストポートを始点とし、当該ストレージデバイスのあるストレージポートを終点とするパスであり、
前記パス情報は、アクセスパスの両端点を示すホストポート識別子及びターゲットポート識別子と、当該アクセスパスにより前記記憶部へのアクセスが可能か否かを示すアクセスパス状態とを有する、付記１記載の通信システム。
【００９２】
（付記３）
前記スイッチ情報は、スイッチポート識別子と、当該スイッチポートの接続先ポートの識別子を示す接続先識別子と、当該スイッチポートと同一スイッチユニット上にあり、かつ通信可能なスイッチポートの識別子のリストを格納するゾーン情報と、当該スイッチポートの統計情報のリストである統計情報リストとを有する、付記１又は付記２記載の通信システム。
【００９３】
（付記４）
前記ストレージネットワーク情報は、当該ポートのポート識別子と、当該ポートがホストポート、ターゲットポート、又はスイッチポートのいずれかを判別するポート種別と、当該ポートからストレージケーブルで接続されているポートの識別子を格納する外部接続ポートと、当該ポートがスイッチポートである場合、同一スイッチユニット上でアクセス可能なポート識別子のリストを格納する内部接続ポートリストと、当該ポートから任意のアクセスパス上で到達可能なホストポートの識別子のリストを格納するホストポートリストと、当該ポートから任意のアクセスパス上で到達可能なターゲットポートの識別子のリストを格納するターゲットポートリストとを有する、付記１乃至３のいずれか１項記載の通信システム。
【００９４】
（付記５）
前記管理コンピュータは、前記ホストコンピュータから収集した前記パス情報を格納するネットワークパス情報格納部、及び前記スイッチユニットから収集したスイッチ情報を格納するネットワークスイッチ情報格納部を有する、付記１乃至４のいずれか１項記載の通信システム。
【符号の説明】
【００９５】
１００、１００Ａ、１００ａ  管理コンピュータ
１１０、１１０Ａ、１００ａ  ストレージネットワーク管理プログラム
１２０、１２０ａ、１２０ａ１  ストレージネットワーク情報
１２１，１２１ａ、１２１ｘ、１２１ｙ、１２２  ポート識別子
１２２  ポート種別
１２３、１２３ｅ  外部接続ポート
１２３、１２３ａ、１２３ａｎ、１２３ａｘ、１２３ｘ  外部接続ポート
１２４  内部接続ポートリスト
１２５、１２５ａ、１２５ｅ、１２５ｎ  ホストポートリスト
１２６、１２６ａ、１２６ｅ、１２６ｎ  ターゲットポートリスト
１３０、１３０ａ  障害情報
１３１、１３１ａ  障害ポート
１３２、１３２ａ  障害ホストポートリスト
１３３、１３３ａ  障害ターゲットポートリスト
１４０、１４０ａ  ネットワークパス情報
１４１  コンピュータ識別子
１４２  ホストポート識別子
１４３  ターゲットポート識別子
１５０、１５０ａ  ネットワークスイッチ情報
１５１  スイッチ識別子
１５２  スイッチポート識別子
１５３  接続先識別子
１５４  ゾーン情報
２００  ホストコンピュータ
２０１  コンピュータ識別子
２１０、２１０Ａ、２１０ａ、２１０ａ１、２１０ａ２、２１０ｂ１、２１０ｂ２  ホストポート
２２０、２２０Ａ、２２０ａ  パス管理プログラム
２３０、２３０ａ  パス情報
２３１  ホストポート識別子
２３２  ターゲットポート識別子
２３３  アクセスパス状態
２３３  ターゲットポート識別子
３００  スイッチユニット
３０１  スイッチ識別子
３１０、３１０Ａ  スイッチポート
３１０ａ１、３１０ａ２、３１０ａ３  スイッチポート
３２０、３２０ｂ  スイッチ情報
３２１  スイッチ識別子
３２２  接続先識別子
３２３  ゾーン情報
３２４  統計情報リスト
３２４ｓ  統計情報リスト
４００、４００Ａ、４００ａ    ストレージデバイス
４１０  ターゲットポート
４１０  ストレージポート
４１０ａ  ポート識別子
４１１  ターゲットポート識別子
４２０  ディスク
５００  ストレージケーブル
６００  通信ネットワーク
【図１】
0005531625.tif 000002
【図２】
0005531625.tif 000003
【図３】
0005531625.tif 000004
【図４】
0005531625.tif 000005
【図５】
0005531625.tif 000006
【図６】
0005531625.tif 000007
【図７】
0005531625.tif 000008
【図８】
0005531625.tif 000009
【図９】
0005531625.tif 000010
【図１０】
0005531625.tif 000011
【図１１Ａ】
0005531625.tif 000012
【図１１Ｂ】
0005531625.tif 000013
【図１２】
0005531625.tif 000014
【図１３】
0005531625.tif 000015
【図１４】
0005531625.tif 000016
【図１５】
0005531625.tif 000017
【図１６】
0005531625.tif 000018
【図１７】
0005531625.tif 000019
【図１８】
0005531625.tif 000020