(57)【要約】【課題】障害発生時の処理の遅延を減少させる。【解決手段】ホスト計算機と、ストレージシステムと、を備える計算機システムにおいて、前記ストレージシステムは、物理ディスクと、ディスクコントローラと、を備え、前記物理ディスクの記憶領域を、一つ以上の論理ユニットとして前記ホスト計算機に提供し、前記ホスト計算機は、当該ホスト計算機から前記論理ユニットへのアクセス経路である論理パスの障害を検知すると、前記障害が検知された論理パスと同じ論理ユニットにアクセスするための論理パスを特定し、前記特定された論理パスに対して障害検知処理を実行することによって、前記特定された論理パスが正常であるか否かを判定し、前記特定されたパスの中から、正常な論理パスを選択し、前記選択された正常な論理パスを用いて、前記論理ユニットにアクセスすることを特徴とする。【選択図】図１
2007265243.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ、メモリ及びインタフェースを備える一つ以上のホスト計算機と、前記ホスト計算機に接続される一つ以上のストレージシステムと、を備える計算機システムにおいて、
前記ストレージシステムは、前記ホスト計算機に書込み要求されるデータを記憶する物理ディスクと、前記物理ディスクを制御するディスクコントローラと、を備え、前記物理ディスクの記憶領域を、一つ以上の論理ユニットとして前記ホスト計算機に提供し、
前記ホスト計算機は、
当該ホスト計算機から前記論理ユニットへのアクセス経路である論理パスの障害を検知すると、当該障害が検知された論理パスと同じ論理ユニットにアクセスするための論理パスを特定し、
前記特定された論理パスに対して障害検知処理を実行することによって、前記特定された論理パスが正常であるか否かを判定し、
前記特定された論理パスの中から、正常な論理パスを選択し、
前記選択された正常な論理パスを用いて、前記論理ユニットにアクセスすることを特徴とする計算機システム。
【請求項２】
前記ホスト計算機は、
前記選択された正常な論理パスの中から、ラウンドロビンによって論理パスを選択し、
前記選択された論理パスを用いて、前記論理ユニットにアクセスすることを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記ホスト計算機は、
前記論理パスと当該論理パスが経由する構成部位との対応を示す論理パス接続情報を記憶し、
前記障害が検知された論理パス及び前記障害検知処理によって正常でないと判定された論理パスを閉塞し、
前記論理パス接続情報を参照して、前記閉塞された論理パスのみが経由する構成部位を、障害の原因と推定することを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記ディスクコントローラは、前記ホスト計算機に接続される一つ以上のチャネルアダプタを備え、
前記ホスト計算機は、
前記ストレージシステムに接続される一つ以上のホストバスアダプタを備え、
前記ホストバスアダプタ、前記チャネルアダプタ又は前記論理ユニットのいずれかを、障害の原因と推定することを特徴とする請求項３に記載の計算機システム。
【請求項５】
更に、前記ホスト計算機に接続される管理サーバを備え、
前記ホスト計算機は、前記推定された障害の原因を前記管理サーバに通知することを特徴とする請求項３に記載の計算機システム。
【請求項６】
前記管理サーバは、前記通知された障害の原因を、通知元である第１ホスト計算機以外の第２ホスト計算機に通知し、
前記第２ホスト計算機は、
前記通知された障害の原因を経由する論理パスを特定し、
前記特定された論理パスに対して障害検知処理を実行することによって、前記特定された論理パスが正常であるか否かを判定することを特徴とする請求項５に記載の計算機システム。
【請求項７】
前記第２ホスト計算機は、
前記論理パスと当該論理パスによって経由される構成部位との対応を示す論理パス接続情報を記憶し、
前記障害検知処理によって正常でないと判定された論理パスを閉塞し、
前記論理パス接続情報を参照して、前記閉塞された論理パスのみが経由する構成部位を、障害の原因と推定し、
前記推定された障害の原因を、前記管理サーバに通知することを特徴とする請求項６に記載の計算機システム。
【請求項８】
前記管理サーバは、前記第１ホスト計算機から通知された障害の原因と前記第２ホスト計算機から通知された障害の原因とを比較することによって、通知された障害の原因の正当性を判定することを特徴とする請求項７に記載の計算機システム。
【請求項９】
前記ホスト計算機は、前記障害が検知された論理パスと異なる論理ユニットにアクセスするための論理パスに対しても障害検知処理を実行することを特徴とする請求項１に記載の計算機システム。
【請求項１０】
プロセッサ、メモリ及びインタフェースを備える一つ以上のホスト計算機と、前記ホスト計算機に接続される一つ以上のストレージシステムと、を備える計算機システムにおける論理パス切替方法であって、
前記ストレージシステムは、前記ホスト計算機に書込み要求されるデータを記憶する物理ディスクと、前記物理ディスクを制御するディスクコントローラと、を備え、
前記論理パス切替方法は、前記ストレージシステムが、前記物理ディスクの記憶領域を、一つ以上の論理ユニットとして前記ホスト計算機に提供し、
前記ホスト計算機が、
当該ホスト計算機から前記論理ユニットへのアクセス経路である論理パスの障害を検知すると、前記障害が検知された論理パスと同じ論理ユニットにアクセスするための論理パスを特定し、
前記特定された論理パスに対して障害検知処理を実行することによって、前記特定された論理パスが正常であるか否かを判定し、
前記特定された論理パスの中から、正常な論理パスを選択し、
前記選択された正常な論理パスを用いて、前記論理ユニットにアクセスすることを特徴とする論理パス切替方法。
【請求項１１】
前記ホスト計算機が、
前記選択された正常な論理パスの中から、ラウンドロビンによって論理パスを選択し、
前記選択された論理パスを用いて、前記論理ユニットにアクセスすることを特徴とする請求項１０に記載の論理パス切替方法。
【請求項１２】
前記ホスト計算機は、
前記論理パスと当該論理パスが経由する構成部位との対応を示す論理パス接続情報を記憶し、
前記障害が検知された論理パス及び前記障害検知処理によって正常でないと判定された論理パスを閉塞し、
前記論理パス接続情報を参照して、前記閉塞された論理パスのみが経由する構成部位を、障害の原因と推定することを特徴とする請求項１０に記載の論理パス切替方法。
【請求項１３】
前記ディスクコントローラは、前記ホスト計算機に接続される一つ以上のチャネルアダプタを備え、
前記ホスト計算機は、前記ストレージシステムに接続される一つ以上のホストバスアダプタを備え、
前記論理パス切替方法は、前記ホスト計算機が、前記ホストバスアダプタ、前記チャネルアダプタ又は前記論理ユニットのいずれかを、障害の原因と推定することを特徴とする請求項１２に記載の計算機システム。
【請求項１４】
前記計算機システムは、前記ホスト計算機に接続される管理サーバを備え、
前記論理パス切替方法は、前記ホスト計算機が、前記推定された障害の原因を前記管理サーバに通知することを特徴とする請求項１２に記載の論理パス切替方法。
【請求項１５】
前記管理サーバは、前記通知された障害の原因を、通知元である第１ホスト計算機以外の第２ホスト計算機に通知し、
前記第２ホスト計算機は、
前記通知された障害の原因を経由する論理パスを特定し、
前記特定された論理パスに対して障害検知処理を実行することによって、前記特定された論理パスが正常であるか否かを判定することを特徴とする請求項１４に記載の論理パス切替方法。
【請求項１６】
前記第２ホスト計算機は、
前記論理パスと当該論理パスによって経由される構成部位との対応を示す論理パス接続情報を記憶し、
前記障害検知処理によって正常でないと判定された論理パスを閉塞し、
前記論理パス接続情報を参照して、前記閉塞された論理パスのみが経由する構成部位を、障害の原因と推定し、
前記推定された障害の原因を、前記管理サーバに通知することを特徴とする請求項１５に記載の論理パス切替方法。
【請求項１７】
前記管理サーバは、前記通知元のホスト計算機から通知された障害の原因と前記第２ホスト計算機から通知された障害の原因とを比較することによって、通知された障害の原因の正当性を判定することを特徴とする請求項１６に記載の論理パス切替方法。
【請求項１８】
前記ホスト計算機は、前記障害が検知された論理パスと異なる論理ユニットにアクセスするための論理パスに対しても障害検知処理を実行することを特徴とする請求項１０に記載の論理パス切替方法。
【請求項１９】
プロセッサ、メモリ及びインタフェースを備える複数のホスト計算機と、前記ホスト計算機に接続される一つ以上のストレージシステムと、プロセッサ、メモリ及びインタフェースを備え、前記ホスト計算機に接続される管理サーバと、を備える計算機システムにおける論理パス切替方法であって、
前記ストレージシステムは、前記ホスト計算機に書込み要求されるデータを記憶する物理ディスクと、前記物理ディスクを制御するディスクコントローラと、を備え、
前記ホスト計算機は、第１ホスト計算機及び第２ホスト計算機を含み、
前記論理パス切替方法は、前記ストレージシステムが、前記物理ディスクの記憶領域を、一つ以上の論理ユニットとして前記第１ホスト計算機及び前記第２ホスト計算機に提供し、
前記第１ホスト計算機が、
当該第１ホスト計算機から前記論理ユニットへのアクセス経路である論理パスと当該論理パスが経由する構成部位との対応を示す論理パス接続情報を記憶し、
すべての論理パスの中から、閉塞中の論理パスを特定し、
前記特定された閉塞中の論理パスに障害検知処理を実行することによって、前記特定された閉塞中の論理パスが正常であるか否かを判定し、
前記特定された閉塞中の論理パスの中から、正常な論理パスを選択し、
前記論理パス接続情報を参照して、障害の原因となっている構成部位のうち、前記選択された正常な論理パスが経由する構成部位を、障害から回復した構成部位と推定し、
前記推定された障害回復構成部位を、前記管理サーバに通知し、
前記管理サーバは、通知された障害回復構成部位を、前記第２ホスト計算機に通知することを特徴とする論理パス切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト計算機及びストレージシステムを備える計算機システムに関し、特に、ホスト計算機とストレージシステムとを接続する論理パスを切り替える技術に関する。
【背景技術】
【０００２】
ＳＡＮ（Storage Area Network）環境におけるマルチパス計算機システムが知られている。マルチパス計算機システムは、ストレージシステム及びホスト計算機を備える。ストレージシステムとホスト計算機とは、ファイバチャネルスイッチを含むＳＡＮによって接続されている。
【０００３】
マルチパス計算機システムでは、ストレージシステムによって提供される論理ユニットとホスト計算機とが複数の論理パスによって接続される。論理パスは、ホスト計算機とストレージシステムとの通信経路における物理パスの組み合わせに応じて、冗長化されたパスである。物理パスは、ホスト計算機とストレージシステムとを接続するＩ／Ｏパスである。例えば、Ｉ／Ｏパスは、ＳＣＳＩケーブル又はＦｉｂｒｅケーブルである。
【０００４】
一般的に、複数の論理パスは、共通の構成部位を経由する。そのため、一つの論理パスの障害が検知された場合、複数の論理パスに障害が発生している可能性が高い。例えば、ファイバチャネルスイッチに障害が発生した場合、当該ファイバチャネルスイッチを経由するすべての論理パスに障害が発生する。
【０００５】
一方、マルチパス計算機システムでは、ホスト計算機は、ストレージシステムに備わる論理ユニットにＩ／Ｏ要求を送信する場合、いずれの論理パスを用いるかを選択しなければならない。
【０００６】
そこで、ラウンドロビン方式で論理パスを選択する技術が特許文献１に開示されている。この技術では、ホスト計算機は、ラウンドロビン方式で論理パスを選択し、選択した論理パスを用いてＩ／Ｏ要求を送信する。
【特許文献１】特開２００４−１８５０９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の技術では、障害の発生時に問題が生ずる。例えば、ホスト計算機は、一番目の論理パスの障害を検知すると、ラウンドロビン方式で二番目の論理パスを選択する。そして、ホスト計算機は、選択した二番目の論理パスを用いて、Ｉ／Ｏ要求を再度送信する。更に、ホスト計算機は、二番目の論理パスの障害を検知すると、ラウンドロビン方式で三番目の論理パスを選択する。そして、ホスト計算機は、選択した三番目の論理パスを用いて、Ｉ／Ｏ要求を再度送信する。このように、ホスト計算機は、正常な論理パスからＩ／Ｏ要求を送信するまで、この処理を繰り返す。
【０００８】
なお、ラウンドロビン方式で論理パスを選択する技術では、ホスト計算機は、論理パスの障害を検知する時に、Ｉ／Ｏ要求の再送等を行う。そのため、論理パスの障害の検知には時間がかかる。
【０００９】
これらのことから、ラウンドロビン方式で論理パスを選択する技術では、障害発生時に処理が遅延するという問題があった。
【００１０】
本発明は、前述した問題点に鑑みてなされたものであって、障害発生時の処理の遅延が少ない計算機システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の代表的な形態は、プロセッサ、メモリ及びインタフェースを備える一つ以上のホスト計算機と、前記ホスト計算機に接続される一つ以上のストレージシステムと、を備える計算機システムにおいて、前記ストレージシステムは、前記ホスト計算機に書込み要求されるデータを記憶する物理ディスクと、前記物理ディスクを制御するディスクコントローラと、を備え、前記物理ディスクの記憶領域を、一つ以上の論理ユニットとして前記ホスト計算機に提供し、前記ホスト計算機は、当該ホスト計算機から前記論理ユニットへのアクセス経路である論理パスの障害を検知すると、前記障害が検知された論理パスと同じ論理ユニットにアクセスするための論理パスを特定し、前記特定された論理パスに対して障害検知処理を実行することによって、前記特定された論理パスが正常であるか否かを判定し、前記特定されたパスの中から、正常な論理パスを選択し、前記選択された正常な論理パスを用いて、前記論理ユニットにアクセスすることを特徴とする。
【発明の効果】
【００１２】
本発明の代表的な形態によれば、障害発生時の処理の遅延が減少される。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。
【００１４】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【００１５】
計算機システムは、ホスト計算機１０、ストレージシステム２０、管理サーバ３０及びファイバチャネルスイッチ４０を備える。
【００１６】
ホスト計算機１０とストレージシステム２０とは、ＳＡＮによって接続される。ＳＡＮは、一つ以上のファイバチャネルスイッチ４０によって構成される。
【００１７】
なお、本実施の形態では、ストレージシステム２０によって提供される論理ユニット（ＬＵ）２５とホスト計算機１０とは、複数のパスによって接続される。パスは、ホスト計算機１０からＬＵ２５へのアクセス経路である。具体的には、パスは、ホスト計算機とストレージシステムとの通信経路における物理パスの組み合わせに応じて、冗長化された論理的なパスである。
【００１８】
また、ホスト計算機１０と管理サーバ３０とは、ＩＰネットワーク５０によって接続される。
【００１９】
なお、ホスト計算機１０は、二つが図示されているが、計算機システムにいくつ備えられてもよい。同様に、ストレージシステム２０は、二つが図示されているが、計算機システムにいくつ備えられてもよい。
【００２０】
ストレージシステム２０は、ディスクコントローラ２７及び物理ディスクを備える。
【００２１】
ディスクコントローラ２７は、物理ディスクに対してデータを読み書きする。また、ディスクコントローラ２７は、物理ディスクの記憶領域を、論理ユニット（ＬＵ）２５としてホスト計算機１０に提供する。
【００２２】
また、ディスクコントローラ２７は、一つ以上のチャネルアダプタ（ＣＨＡ）２１を備える。なお、本説明図では、一つのディスクコントローラ２７が、ＣＨＡ２１を二つ備えるが、いくつ備えてもよい。
【００２３】
ＣＨＡ２１は、ホスト計算機１０とのデータ転送を制御する。また、ＣＨＡ２１は、ＣＰＵ２２、メモリ２３及びＣＨＡポート２４を備える。ＣＰＵ２２は、メモリ２３に記憶されるプログラムを実行することによって各種処理を行う。メモリ２３は、ＣＰＵ２２によって実行されるプログラム及びＣＰＵ２２によって必要とされる情報等を記憶する。
【００２４】
ＣＨＡポート２４は、ＳＡＮに接続されるインタフェースである。なお、本説明図では、一つのＣＨＡ２１が、ＣＨＡポート２４を二つ備えているが、いくつ備えていてもよい。
【００２５】
ホスト計算機１０は、ストレージシステム２０に対してデータを読み書きする。また、ホスト計算機１０は、ＣＰＵ１１、メモリ１２、ネットワークインタフェース１３及びホストバスアダプタ（ＨＢＡ）１４を備える。なお、本説明図では、一つのホスト計算機１０が、ＨＢＡ１４を二つ備えるが、いくつ備えてもよい。
【００２６】
ネットワークインタフェース１３は、ＩＰネットワーク５０に接続されるインタフェースである。ＨＢＡ１４は、ＳＡＮに接続されるインタフェースである。
【００２７】
ＣＰＵ１１は、メモリ１２に記憶されるプログラムを実行することによって各種処理を行う。
【００２８】
メモリ１２は、ＣＰＵ１１によって実行されるプログラム及びＣＰＵ１１によって必要とされる情報等を記憶する。具体的には、メモリ１２は、パス接続情報テーブル１２１、パス障害情報テーブル１２２、障害原因箇所テーブル１２３、ロードバランスポイント切替テーブル１２４、パス状態変化確認テーブル１２５及びデバイスリンクマネージャ１２６を記憶する。
【００２９】
パス接続情報テーブル１２１は、パスの経路を管理する。なお、パス接続情報テーブル１２１については、図２で詳細を説明する。
【００３０】
パス障害情報テーブル１２２は、パスの現在の状況を管理する。更に、パス障害情報テーブル１２２は、パスに発生した過去の障害に関する情報を管理する。なお、パス障害情報テーブル１２２については、図３で詳細を説明する。
【００３１】
障害原因箇所テーブル１２３は、ホスト計算機１０によって推測された障害原因箇所を管理する。障害原因箇所は、パスに発生した障害の原因となっている箇所である。具体的には、ホスト計算機１０のＨＢＡ１４、ストレージシステム２０のＣＨＡ２１、ストレージシステム２０のＣＨＡ２１に備わるＣＨＡポート２４、ストレージシステム２０によって提供されるＬＵ２５又は物理パス等が、障害原因箇所として推測される。なお、障害原因箇所テーブル１２３については、図４で詳細を説明する。
【００３２】
ロードバランスポイント切替テーブル１２４は、Ｉ／Ｏ要求の送信に使用されるパスを管理する。よって、ホスト計算機１０は、ロードバランスポイント切替テーブル１２４を参照して、Ｉ／Ｏ要求の送信で使用されるパスを選択する。なお、ロードバランスポイント切替テーブル１２４については、図５で詳細を説明する。
【００３３】
パス状態変化確認テーブル１２５は、障害検知処理の前後のパスの状態を管理する。なお、パス情報変化確認テーブル１２５については、図６で詳細を説明する。
【００３４】
デバイスリンクマネージャ１２６は、パスを管理するプログラムである。また、デバイスリンクマネージャ１２６は、ホスト計算機１０とストレージシステム２０とを接続する物理パスを冗長化することによって、パスを提供する。
【００３５】
また、デバイスリンクマネージャ１２６は、ロードバランス機能を備える。つまり、デバイスリンクマネージャ１２６は、Ｉ／Ｏ要求を異なるパスに振り分けることによって、パスの負荷を分散させる。
【００３６】
例えば、デバイスリンクマネージャ１２６は、所定の個数のＩ／Ｏ要求を一つのパスを用いて送信すると、次のパスを選択する。そして、デバイスリンクマネージャ１２６は、選択した次のパスを用いてＩ／Ｏ要求を送信する。また、デバイスリンクマネージャ１２６は、連続するブロックに対するＩ／Ｏ要求を、同一のパスを用いて送信してもよい。
【００３７】
また、デバイスリンクマネージャ１２６は、パスに発生した障害を検知すると、障害を検知したパスを閉塞（オフライン）する。これによって、デバイスリンクマネージャ１２６は、障害を検知したパスを用いてＩ／Ｏ要求を送信しない。なお、閉塞されていないパスの状態を、オンラインという。
【００３８】
また、デバイスリンクマネージャ１２６は、パスの障害検知処理（パスヘルスチェック）を行う。
【００３９】
具体的には、デバイスリンクマネージャ１２６は、状態を調べたいパスを用いて、ストレージシステム２０に障害検知信号（導通確認信号）を送信する。すると、ストレージシステム２０は、当該パスの状態をデバイスリンクマネージャ１２６に送信する。これによって、デバイスリンクマネージャ１２６は、パスの状態を調べることができる。なお、パスの状態は、正常又は障害のいずれかである。
【００４０】
ファイバチャネルスイッチ４０は、ＳＡＮを構成する。ファイバチャネルスイッチ４０は、ホスト計算機１０とストレージシステム２０との通信を制御する。また、ファイバチャネルスイッチ４０は、複数のポート４１を備える。ポート４１は、ホスト計算機１０に備わるＨＢＡ１４又はストレージシステム２０に備わるＣＨＡポート２４と接続する。
【００４１】
管理サーバ３０は、ＣＰＵ３１、メモリ３２及びネットワークインタフェース３３を備える。
【００４２】
ネットワークインタフェース３３は、ＩＰネットワーク５０に接続されるインタフェースである。
【００４３】
ＣＰＵ３１は、メモリ３２に記憶されるプログラムを実行することによって各種処理を行う。
【００４４】
メモリ３２は、ＣＰＵ３１によって実行されるプログラム及びＣＰＵ３１によって必要とされる情報等を記憶する。具体的には、メモリ３２は、ＬＵ接続先ホストテーブル３２１、ＣＨＡ接続先ホストテーブル３２２、ＣＨＡポート接続先ホストテーブル３２３、全ホスト障害原因箇所テーブル３２４及びホストマネージャ３２５を記憶する。
【００４５】
ＬＵ接続先ホストテーブル３２１は、ストレージシステム２０によって提供されるＬＵ２５と当該ＬＵ２５にアクセス可能なホスト計算機１０との対応を示す。なお、ＬＵ接続先ホストテーブル３２１については、図７で詳細を説明する。
【００４６】
ＣＨＡ接続先ホストテーブル３２２は、ストレージシステム２０に備わるＣＨＡ２１と当該ＣＨＡ２１に接続されるホスト計算機１０との対応を示す。なお、ＣＨＡ接続先ホストテーブル３２２については、図８で詳細を説明する。
【００４７】
ＣＨＡポート接続先ホストテーブル３２３は、ストレージシステム２０のＣＨＡ２１に備わるＣＨＡポート２４と当該ＣＨＡポート２４に接続されるホスト計算機１０との対応を示す。なお、ＣＨＡポート接続先ホストテーブル３２３については、図９で詳細を説明する。
【００４８】
全ホスト障害原因箇所テーブル３２４は、すべてのホスト計算機１０によって推測された障害原因箇所を管理する。なお、全ホスト障害原因管理テーブル３２４については、図１０で詳細を説明する。
【００４９】
ホストマネージャ３２５は、ホスト計算機１０とストレージシステム２０の構成部位との接続に関する情報を管理するプログラムである。
【００５０】
図２は、本発明の第１の実施の形態のホスト計算機１０に記憶されるパス接続情報テーブル１２１の構成図である。
【００５１】
パス接続情報テーブル１２１は、パス番号１２１１、ＨＢＡ番号１２１２、ＣＨＡ番号１２１３、ＣＨＡポート番号１２１４及びＬＵ番号１２１５を含む。
【００５２】
パス番号１２１１は、ストレージシステム２０によって提供されるＬＵ２５とホスト計算機１０に備わるＨＢＡ１４とを接続するパスの一意な識別子である。
【００５３】
ＨＢＡ番号１２１２は、当該レコードのパス番号１２１１によって識別されるパスが経由するＨＢＡ１４の一意な識別子である。ＣＨＡ番号１２１３は、当該レコードのパス番号１２１１によって識別されるパスが経由するＣＨＡ２１の一意な識別子である。ＣＨＡポート番号１２１４は、当該レコードのパス番号１２１１によって識別されるパスが経由するＣＨＡポート２４の一意な識別子である。ＬＵ番号１２１５は、当該レコードのパス番号１２１１によって識別されるパスが経由するＬＵ２５の一意な識別子である。
【００５４】
ホスト計算機１０は、パス接続情報テーブル１２１を参照することによって、パスに発生した障害の原因となっている箇所を特定できる。
【００５５】
図３は、本発明の第１の実施の形態のホスト計算機１０に記憶されるパス障害情報テーブル１２２の構成図である。
【００５６】
パス障害情報テーブル１２２は、パス番号１２２１、稼動状況１２２２、障害回数１２２３、前回障害発生日時１２２４及び障害第１発見１２２５を含む。
【００５７】
パス番号１２２１は、ストレージシステム２０によって提供されるＬＵ２５とホスト計算機１０に備わるＨＢＡ１４とを接続するパスの一意な識別子である。
【００５８】
稼動状況１２２２は、当該レコードのパス番号１２２１によって識別されるパスの状態を示す。具体的には、稼動状況１２２２は、当該レコードのパス番号１２２１によって識別されるパスが閉塞されているか否かを示す。当該レコードのパス番号１２２１によって識別されるパスが閉塞されている場合、稼動状況１２２２には、「オフライン」が格納される。一方、当該レコードのパス番号１２２１によって識別されるパスが閉塞されていない場合、稼動状況１２２２には、「オンライン」が格納される。
【００５９】
障害回数１２２３は、当該レコードのパス番号１２２１によって識別されるパスに障害が発生した回数である。前回障害発生日時１２２４は、当該レコードのパス番号１２２１によって識別されるパスの前回の障害が発生した日時である。
【００６０】
障害第１発見１２２５は、当該レコードのパス番号１２２１によって識別されるパスが障害第１発見パスであるか否かを示す。具体的には、当該レコードのパス番号１２２１によって識別されるパスが障害第１発見パスの場合、障害第１発見１２２５にはチェックが格納される。なお、障害第１発見パスは、同一の障害原因箇所に起因するパスの障害が最初に検知されたパスである。つまり、ホスト計算機１０は、障害対応処理（図１２）において、一番最初にオフラインにしたパスを障害第１発見パスとする。
【００６１】
図４は、本発明の第１の実施の形態のホスト計算機１０に記憶される障害原因箇所テーブル１２３の構成図である。
【００６２】
障害原因箇所テーブル１２３は、障害原因箇所１２３１及び障害発生日時１２３２を含む。
【００６３】
障害原因箇所１２３１は、パスの障害の原因として推測された箇所である。具体的には、障害原因箇所１２３１には、ホスト計算機１０のＨＢＡ１４、ストレージシステム２０のＣＨＡ２１、ストレージシステム２０のＣＨＡ２１に備わるＣＨＡポート２４、ストレージシステム２０によって提供されるＬＵ２５、ファイバチャネルスイッチ４０又は物理パスの識別子が格納される。
【００６４】
障害発生日時１２３２は、当該レコードに対応する障害が発生した日時である。
【００６５】
図５は、本発明の第１の実施の形態のホスト計算機１０に記憶されるロードバランスポイント切替テーブル１２４の構成図である。
【００６６】
ロードバランスポイント切替テーブル１２４は、ＬＵ番号１２４１、ストレージ名１２４２、ロードバランスポイント１２４３、現在Ｉ／Ｏ回数１２４４及び切替Ｉ／Ｏ回数閾値１２４５を含む。
【００６７】
ＬＵ番号１２４１は、ストレージシステム２０によって提供されるＬＵ２５の一意な識別子である。ストレージ名１２４２は、当該レコードのＬＵ番号１２４１によって識別されるＬＵ２５を提供するストレージシステム２０の一意な識別子である。
【００６８】
ロードバランスポイント１２４３は、ホスト計算機１０が当該レコードのＬＵ番号１２４１によって識別されるＬＵ２５にＩ／Ｏ要求を送信するときに使用するパスの一意な識別子である。
【００６９】
ホスト計算機１０は、ラウンドロビン方式で順番にパスを選択する。例えば、ホスト計算機１０は、パス番号が小さい順にパスを選択する。そして、ホスト計算機１０は、パス番号が最大のパスを選択した後は、パス番号が最少のパスを選択する。具体的には、ホスト計算機１０は、パス番号「１」によって識別されるパス、パス番号「２」によって識別されるパスというように、順番にパスを選択する。この場合、ホスト計算機１０は、一つのＩ／Ｏ要求を送信するごとにパスを選択してもよいし、所定の個数のＩ／Ｏ要求を送信するごとにパスを選択してもよい。
【００７０】
ホスト計算機１０は、選択したパスの識別子を、ロードバランスポイント切替テーブル１２４のロードバランスポイント１２４３に格納する。これによって、ホスト計算機１０は、ラウンドロビン方式で選択されたパスを用いて、Ｉ／Ｏ要求を送信できる。
【００７１】
現在Ｉ／Ｏ回数１２４４は、ホスト計算機１０が当該レコードのロードバランスポイント１２４３によって識別されるパスを使用してＩ／Ｏ要求を送信した回数である。
【００７２】
切替Ｉ／Ｏ回数閾値１２４５は、ホスト計算機１０がパスの切り替えを判断するための閾値である。つまり、現在Ｉ／Ｏ回数１２４４が切替Ｉ／Ｏ回数閾値１２４５に達すると、ホスト計算機１０は、Ｉ／Ｏ要求の送信に用いるパスを、ラウンドロビン方式で切り替える。
【００７３】
図６は、本発明の第１の実施の形態のホスト計算機１０に記憶されるパス状態変化確認テーブル１２５の構成図である。
【００７４】
パス状態変化確認テーブル１２５は、パス番号１２５１、障害検知前状態１２５２及び障害検知後状態１２５３を含む。
【００７５】
パス番号１２５１は、ストレージシステム２０によって提供されるＬＵ２５とホスト計算機１０に備わるＨＢＡ１４とを接続するパスの一意な識別子である。
【００７６】
障害検知前状態１２５２は、障害検知処理（パスヘルスチェック）の前における、当該レコードのパス番号１２５１によって識別されるパスの状態を示す。パスの状態は、オンライン又はオフラインのいずれかである。障害検知後状態１２５３は、障害検知処理（パスヘルスチェック）の後における、当該レコードのパス番号１２５１によって識別されるパスの状態を示す。
【００７７】
図７は、本発明の第１の実施の形態の管理サーバ３０に記憶されるＬＵ接続先ホストテーブル３２１の構成図である。
【００７８】
ＬＵ接続先ホストテーブル３２１は、ＬＵ番号３２１１及びホスト名３２１２を含む。
【００７９】
ＬＵ番号３２１１は、ストレージシステム２０によって提供されるＬＵ２５の一意な識別子である。ホスト名３２１２は、当該レコードのＬＵ番号３２１１によって識別されるＬＵ２０にアクセス可能なホスト計算機１０の一意な識別子である。
【００８０】
図８は、本発明の第１の実施の形態の管理サーバ３０に記憶されるＣＨＡ接続先ホストテーブル３２２の構成図である。
【００８１】
ＣＨＡ接続先ホストテーブル３２２は、ＣＨＡ番号３２２１及びホスト名３２２２を含む。
【００８２】
ＣＨＡ番号３２２１は、ストレージシステム２０に備わるＣＨＡ２１の一意な識別子である。ホスト名３２２２は、当該レコードのＣＨＡ番号３２２１によって識別されるＣＨＡ２１に接続されるホスト計算機１０の一意な識別子である。
【００８３】
図９は、本発明の第１の実施の形態の管理サーバ３０に記憶されるＣＨＡポート接続先ホストテーブル３２３の構成図である。
【００８４】
ＣＨＡポート接続先ホストテーブル３２３は、ＣＨＡポート番号３２３１及びホスト名３２３２を含む。
【００８５】
ＣＨＡポート番号３２３１は、ストレージシステム２０のＣＨＡ２１に備わるＣＨＡポート２４の一意な識別子である。ホスト名３２３２は、当該レコードのＣＨＡポート番号３２３１によって識別されるＣＨＡポート２４に接続されるホスト計算機１０の一意な識別子である。
【００８６】
図１０は、本発明の第１の実施の形態の管理サーバ３０に記憶される全ホスト障害原因箇所テーブル３２４の構成図である。
【００８７】
全ホスト障害原因箇所テーブル３２４は、障害原因箇所３２４１、情報元ホスト名３２４２及び障害発生日時３２４３を含む。
【００８８】
障害原因箇所３２４１は、パスに発生した障害の原因として推測された箇所である。具体的には、障害原因箇所３２４１には、ホスト計算機１０のＨＢＡ１４、ストレージシステム２０のＣＨＡ２１、ストレージシステム２０のＣＨＡ２１に備わるＣＨＡポート２４、ストレージシステム２０によって提供されるＬＵ２５、ファイバチャネルスイッチ４０又は物理パスの識別子が格納される。
【００８９】
情報元ホスト名３２４２は、当該レコードの障害原因箇所３２４１を管理サーバ３０に通知したホスト計算機１０の一意な識別子である。障害発生日時３２４３は、当該レコードに対応する障害が発生した日時である。
【００９０】
以下、本発明の第１の実施の形態の計算機システムの処理を説明する。
【００９１】
図１１は、本発明の第１の実施の形態のホスト計算機１０によって実行されるロードバランス処理のフローチャートである。
【００９２】
アプリケーションからＩ／Ｏ要求の送信が要求されると、ホスト計算機１０は、ロードバランス処理を実行する。
【００９３】
まず、ホスト計算機１０は、当該Ｉ／Ｏ要求の対象となるＬＵ２５に接続しているパスを特定する。次に、ホスト計算機１０は、特定したパスのうち、オンラインのパスが存在するか否かを判定する（Ｓ１００１）。
【００９４】
具体的には、ホスト計算機１０は、当該Ｉ／Ｏ要求の対象となるＬＵ２５の識別子とパス接続情報テーブル１２１のＬＵ番号１２１５とが一致するレコードを、パス接続情報テーブル１２１からすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。
【００９５】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。
【００９６】
次に、ホスト計算機１０は、抽出した稼動状況１２２２に「オンライン」が格納されているか否かを判定する。そして、抽出された稼動状況１２２２に「オンライン」が一つでも格納されていると、ホスト計算機１０は、オンラインのパスが存在すると判定する。一方、抽出された稼動状況１２２２のすべてに「オフライン」が格納されていると、ホスト計算機１０は、オンラインのパスが存在しないと判定する。
【００９７】
オンラインのパスが存在しない場合、ホスト計算機１０は、Ｉ／Ｏ要求を送信できない。そのため、ホスト計算機１０は、Ｉ／Ｏ要求の発行元であるアプリケーションに障害を通知する（Ｓ１００６）。
【００９８】
次に、当該Ｉ／Ｏ要求の対象となるＬＵ２５にアクセスするパスが一つでもオンラインになるまで、ホスト計算機１０は待機する（Ｓ１００７）。当該Ｉ／Ｏ要求の対象となるＬＵ２５にアクセスするパスが一つでもオンラインになると、ホスト計算機１０は、ステップＳ１００１に戻る。そして、ホスト計算機１０は、ロードバランス処理を再度行う。
【００９９】
一方、ステップＳ１００１においてオンラインのパスが存在する場合、ホスト計算機１０は、ロードバランスポイントに対応するパスを用いて、Ｉ／Ｏ要求を送信する（Ｓ１００２）。これによって、ホスト計算機１０は、ラウンドロビン方式で選択したパスを用いて、Ｉ／Ｏ要求を送信する。
【０１００】
具体的には、ホスト計算機１０は、Ｉ／Ｏ要求の対象となるＬＵ２５を提供するストレージシステム２０の識別子とロードバランスポイント切替テーブル１２４のストレージ名１２４２とが一致するレコードを、ロードバランスポイント切替テーブル１２４から選択する。次に、ホスト計算機１０は、Ｉ／Ｏ要求の対象となるＬＵ２５の識別子とロードバランスポイント切替テーブル１２４のＬＵ番号１２４１とが一致するレコードを、選択したレコードの中から選択する。次に、ホスト計算機１０は、選択したレコードから、ロードバランスポイント１２４３を抽出する。
【０１０１】
そして、ホスト計算機１０は、抽出したロードバランスポイント１２４３によって識別されるパスを用いて、Ｉ／Ｏ要求を送信する。
【０１０２】
次に、ホスト計算機１０は、Ｉ／Ｏ要求の送信に使用されたパスに障害が発生したか否かを判定する（Ｓ１００３）。
【０１０３】
Ｉ／Ｏ要求の送信に使用されたパスに障害が発生すると、ホスト計算機１０は、障害対応処理を行う（Ｓ１００８）。なお、障害対応処理については、図１２で詳細を説明する。
【０１０４】
次に、ホスト計算機１０は、障害対応処理において、代替パスを用いてＩ／Ｏ要求を送信できたか否かを判定する（Ｓ１００９）。
【０１０５】
代替パスを用いてＩ／Ｏ要求を送信できなかった場合、ホスト計算機１０は、ステップＳ１００１に戻る。そして、ホスト計算機１０は、ロードバランス処理を再度行う。
【０１０６】
一方、ステップＳ１００９において代替パスを用いてＩ／Ｏ要求を送信できた場合、ホスト計算機１０は、ステップＳ１００４に進む。また、ステップＳ１００３においてＩ／Ｏ要求を送信したパスに障害が発生しない場合にも、ホスト計算機１０は、ステップＳ１００４に進む。
【０１０７】
次に、ホスト計算機１０は、ロードバランスポイントを変更する必要があるか否かを判定する（Ｓ１００４）。
【０１０８】
具体的には、ホスト計算機１０は、ロードバランスポイント切替テーブル１２４の現在Ｉ／Ｏ回数１２４４を増加させる。次に、ホスト計算機１０は、増加された現在Ｉ／Ｏ回数１２４４がロードバランスポイント切替テーブル１２４の切替Ｉ／Ｏ回数閾値１２４５以上になったかどうかを判定する。
【０１０９】
現在Ｉ／Ｏ回数１２４４が切替Ｉ／Ｏ回数閾値１２４５より小さい場合、ホスト計算機１０は、ロードバランスポイントを変更する必要がないので、そのままステップＳ１００５に進む。
【０１１０】
一方、現在Ｉ／Ｏ回数１２４４が切替Ｉ／Ｏ回数閾値１２４５以上の場合、ホスト計算機１０は、ロードバランスポイントを変更する必要がある。そのため、ホスト計算機１０は、ロードバランスポイントの変更処理を行う（Ｓ１０１０）。なお、ロードバランスポイントの変更処理については、図１５で詳細を説明する。
【０１１１】
次に、ホスト計算機１０は、アプリケーションから送信を要求されたＩ／Ｏ要求が残っているかどうかを判定する（Ｓ１００５）。
【０１１２】
Ｉ／Ｏ要求が残っている場合、ホスト計算機１０は、残っているＩ／Ｏ要求を処理するために、ステップＳ１００１に戻る。そして、ホスト計算機１０は、残っているＩ／Ｏ要求に対して、ロードバランス処理を行う。
【０１１３】
一方、Ｉ／Ｏ要求が残っていない場合、ホスト計算機１０は、ロードバランス処理を終了する。
【０１１４】
図１２は、本発明の第１の実施の形態のホスト計算機１０によって実行される障害対応処理のフローチャートである。
【０１１５】
障害対応処理は、ロードバランス処理（図１１）のステップＳ１００８において実行される。
【０１１６】
まず、ホスト計算機１０は、障害が発生したパスを閉塞（オフライン）する。次に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１０１１）。
【０１１７】
具体的には、ホスト計算機１０は、障害が発生したパスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。
【０１１８】
次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に、「オフライン」を格納する。次に、ホスト計算機１０は、選択したレコードの障害回数１２２３を増加させる。次に、ホスト計算機１０は、選択したレコードの前回障害発生日時１２２４に、当該パスの障害を検知した日時を格納する。更に、ホスト計算機１０は、選択したレコードの障害第１発見１２２５に、チェックを格納する。
【０１１９】
次に、ホスト計算機１０は、障害が発生したパスの識別子とロードバランスポイント切替テーブル１２４のロードバランスポイント１２４３とが一致するレコードを、ロードバランスポイント切替テーブル１２４から選択する。次に、ホスト計算機１０は、選択したレコードの現在Ｉ／Ｏ回数１２４４に「０」を格納する（Ｓ１０１２）。
【０１２０】
次に、ホスト計算機１０は、障害が発生したパスと同じＬＵ２５にアクセス可能なパスを特定する（Ｓ１０１３）。
【０１２１】
具体的には、ホスト計算機１０は、障害が発生したパスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。
【０１２２】
次に、ホスト計算機１０は、選択したレコードから、ＬＵ番号１２１５を抽出する。次に、ホスト計算機１０は、抽出したＬＵ番号１２１５とパス接続情報テーブル１２１のＬＵ番号１２１５とが一致するレコードを、パス接続情報テーブル１２１からすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。そして、ホスト計算機１０は、抽出したパス番号１２１１によって識別されるパスを、障害が発生したパスと同じＬＵ２５にアクセス可能なパスとして特定する。
【０１２３】
次に、ホスト計算機１０は、代替パスの選択処理を行う（Ｓ１０１４）。これによって、ホスト計算機１０は、特定したパスの中から、代替パスを選択する。なお、代替パスの選択処理については、図１３で詳細を説明する。
【０１２４】
次に、ホスト計算機１０は、代替パスの選択処理において、代替パスを選択できたか否かを判定する（Ｓ１０１５）。
【０１２５】
代替パスを選択できない場合、ホスト計算機１０は、代替パスを用いてＩ／Ｏ要求を送信できないので、そのまま障害対応処理を終了する。
【０１２６】
一方、代替パスを選択できた場合、ホスト計算機１０は、ロードバランスポイント切替テーブル１２４を更新する（Ｓ１０１６）。
【０１２７】
具体的には、ホスト計算機１０は、障害が発生したパスの識別子とロードバランスポイント切替テーブル１２４のロードバランスポイント１２４３とが一致するレコードを、ロードバランスポイント切替テーブル１２４から選択する。次に、ホスト計算機１０は、選択したレコードのロードバランスポイント１２４３に、選択された代替パスの識別子を格納する。次に、ホスト計算機１０は、選択したレコードの現在Ｉ／Ｏ回数１２４４を増加させる。
【０１２８】
次に、ホスト計算機１０は、ステップＳ１０１４で選択した代替パスを用いて、Ｉ／Ｏ要求を送信する（Ｓ１０１７）。
【０１２９】
次に、ホスト計算機１０は、障害検知実行パスを特定する（Ｓ１０１８）。
【０１３０】
ここでは、ホスト計算機１０は、障害が発生したパスと同じＬＵ２５にアクセス可能なパスを特定する。次に、ホスト計算機１０は、特定したパスの中から、オンラインのパスを特定する。そして、ホスト計算機１０は、特定したオンラインのパスを、障害検知実行パスとして特定する。
【０１３１】
具体的には、ホスト計算機１０は、障害が発生したパスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。
【０１３２】
次に、ホスト計算機１０は、選択したレコードから、ＬＵ番号１２１５を抽出する。次に、ホスト計算機１０は、抽出したＬＵ番号１２１５とパス接続情報テーブル１２１のＬＵ番号１２１５とが一致するレコードを、パス接続情報テーブル１２１からすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。そして、ホスト計算機１０は、抽出したパス番号１２１１によって識別されるパスを、障害が発生したパスと同じＬＵ２５にアクセス可能なパスとして特定する。
【０１３３】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。そして、ホスト計算機１０は、抽出した稼動状況１２２２に「オンライン」が格納されているか否かを判定する。
【０１３４】
抽出された稼動状況１２２２に「オンライン」が格納されている場合、ホスト計算機１０は、当該選択したレコードのパス番号１２２１によって識別されるパスを、障害検知実行パスとして特定する。
【０１３５】
次に、ホスト計算機１０は、特定した障害検知実行パスに対して、障害対応時における障害検知処理を実行する（Ｓ１０１９）。なお、障害対応時における障害検知処理については、図１４で詳細を説明する。
【０１３６】
また、ホスト計算機１０は、すべてのパスを障害検知実行パスとして特定してもよい。この場合、ホスト計算機１０は、すべてのパスに対して、障害対応時における障害検知処理を実行する。
【０１３７】
次に、ホスト計算機１０は、ステップＳ１０１７でＩ／Ｏ要求を送信した際に、代替パスに障害が発生したか発生したかどうかを判定する（Ｓ１０２０）。
【０１３８】
代替パスに障害が発生していない場合、Ｉ／Ｏ要求が正常に送信される。よって、ホスト計算機１０は、そのまま障害対応処理を終了する。
【０１３９】
一方、代替パスに障害が発生した場合、ホスト計算機１０は、代替パスを閉塞（オフライン）する。次に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１０２１）。
【０１４０】
具体的には、ホスト計算機１０は、代替パスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。
【０１４１】
次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に、「オフライン」を格納する。次に、ホスト計算機１０は、選択したレコードの障害回数１２２３を増加させる。
【０１４２】
次に、ホスト計算機１０は、選択したレコードの前回障害発生日時１２２４に、パス障害情報テーブル１２２の障害第１発見１２２５にチェックが格納されているレコードの前回障害発生日時１２２４と同一の値を格納する。
【０１４３】
次に、ホスト計算機１０は、ロードバランスポイントの変更処理を行う（Ｓ１０２２）。これによって、ホスト計算機１０は、ロードバランスポイントを、代替パスから他のパスへ変更する。なお、ロードバランスポイントの変更処理については、図１５で詳細を説明する。
【０１４４】
そして、ホスト計算機１０は、障害対応処理を終了する。ホスト計算機１０は、障害対応処理を終了すると、ロードバランス処理（図１１）に戻る。更に、ホスト計算機１０は、障害対応処理を終了すると、パス閉塞伝播処理を行う。パス閉塞伝播処理については、図１６で詳細を説明する。つまり、ホスト計算機１０は、ロードバランス処理及びパス閉塞伝播処理を並列的に実行する。
【０１４５】
図１３は、本発明の第１の実施の形態のホスト計算機１０によって実行される代替パスの選択処理のフローチャートである。
【０１４６】
代替パスの選択処理は、障害対応処理（図１２）のステップＳ１０１４において実行される。
【０１４７】
まず、ホスト計算機１０は、障害対応処理のステップＳ１０１３において特定されたすべてのパスがオフラインであるか否かを判定する（Ｓ１０３１）。
【０１４８】
具体的には、ホスト計算機１０は、障害対応処理のステップＳ１０１３において特定されたパスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に「オフライン」が格納されているか否かを判定する。これによって、ホスト計算機１０は、障害対応処理のステップＳ１０１３において特定されたパスがオフラインであるか否かを判定する。
【０１４９】
特定されたパスのすべてがオフラインの場合、ホスト計算機１０は、代替パスを選択できないので、そのまま代替パスの選択処理を終了する。
【０１５０】
一方、特定されたパスのうち一つでもオンラインの場合、ホスト計算機１０は、障害が発生したパスが経由するＨＢＡ１４及びＣＨＡ２３のどちらも経由しないオフラインのパスを特定する（Ｓ１０３２）。
【０１５１】
具体的には、ホスト計算機１０は、障害が発生したパスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードから、ＨＢＡ番号１２１２及びＣＨＡ番号１２１３を抽出する。
【０１５２】
次に、ホスト計算機１０は、抽出したＨＢＡ番号１２１２とパス接続情報テーブル１２１のＨＢＡ番号１２１２とが異なるレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、抽出したＣＨＡ番号１２１３とパス接続情報テーブル１２１のＣＨＡ番号１２１３とが異なるレコードを、選択したレコードの中から選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。
【０１５３】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。そして、ホスト計算機１０は、抽出した稼動状況１２２２に「オンライン」が格納されているか否かを判定する。
【０１５４】
抽出された稼動状況１２２２に「オンライン」が格納されている場合、ホスト計算機１０は、当該選択したレコードのパス番号１２２１によって識別されるパスを、障害が発生したパスが経由するＨＢＡ１４及びＣＨＡ２３のどちらも経由しないオフラインのパスとして特定する。
【０１５５】
次に、ホスト計算機１０は、ステップＳ１０３２においてパスを特定できたか否かを判定する（Ｓ１０３３）。
【０１５６】
ステップＳ１０３２においてパスを特定できた場合、ホスト計算機１０は、そのままステップＳ１０３４に進む。
【０１５７】
一方、ステップＳ１０３２においてパスを特定できなかった場合、ホスト計算機１０は、オンラインのパスをすべて特定する（Ｓ１０４１）。
【０１５８】
具体的には、ホスト計算機１０は、パス障害情報テーブル１２２の稼動状況１２２２に「オンライン」が格納されているレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２２１を抽出する。そして、ホスト計算機１０は、抽出したパス番号１２２１によって識別されるパスを、オンラインのパスとして特定する。
【０１５９】
次に、ホスト計算機１０は、ステップＳ１０３２又はステップＳ１０４１において特定されたパスが複数存在するか否かを判定する（Ｓ１０３４）。
【０１６０】
ステップＳ１０３２又はステップＳ１０４１において特定されたパスが一つの場合、ホスト計算機１０は、当該特定されたパスを代替パスとする（Ｓ１０４０）。そして、ホスト計算機１０は、代替パスの選択処理を終了する。
【０１６１】
一方、ステップＳ１０３２又はステップＳ１０４１において特定されたパスが複数存在する場合、ホスト計算機１０は、特定されたパスの中から、前回の障害発生日時が最も古いパスを特定する（Ｓ１０３５）。
【０１６２】
具体的には、ホスト計算機１０は、ステップＳ１０３２又はステップＳ１０４１において特定されたパスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、前回障害発生日時１２２４を抽出する。次に、ホスト計算機１０は、抽出した前回障害発生日時１２２４を比較することによって、前回の障害発生日時が最も古いパスを特定する。
【０１６３】
次に、ホスト計算機１０は、ステップＳ１０３５において特定されたパスが複数存在するか否かを判定する（Ｓ１０３６）。
【０１６４】
ステップＳ１０３５において特定されたパスが一つの場合、ホスト計算機１０は、当該特定されたパスを代替パスとする（Ｓ１０４０）。そして、ホスト計算機１０は、代替パスの選択処理を終了する。
【０１６５】
一方、ステップＳ１０３５において特定されたパスが複数存在する場合、ホスト計算機１０は、特定されたパスの中から、障害の発生回数が最少のパスを特定する（Ｓ１０３７）。
【０１６６】
具体的には、ホスト計算機１０は、ステップＳ１０３５において特定されたパスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、障害回数１２２３を抽出する。次に、ホスト計算機１０は、抽出した障害回数１２２３を比較することによって、障害の発生回数が最少のパスを特定する。
【０１６７】
次に、ホスト計算機１０は、ステップＳ１０３７において特定されたパスが複数存在するか否かを判定する（Ｓ１０３８）。
【０１６８】
ステップＳ１０３７において特定されたパスが一つの場合、ホスト計算機１０は、当該特定されたパスを代替パスとする（Ｓ１０４０）。そして、ホスト計算機１０は、代替パスの選択処理を終了する。
【０１６９】
一方、ステップＳ１０３７において特定されたパスが複数存在する場合、ホスト計算機１０は、特定されたパスの中から、パス番号が最小のパスを特定する（Ｓ１０３９）。
【０１７０】
具体的には、ホスト計算機１０は、ステップＳ１０３７において特定されたパスの識別子を比較することによって、パス番号が最少のパスを特定する。
【０１７１】
次に、ホスト計算機１０は、ステップＳ１０３９において特定されたパスを代替パスとする（Ｓ１０４０）。そして、ホスト計算機１０は、代替パスの選択処理を終了する。
【０１７２】
図１４は、本発明の第１の実施の形態のホスト計算機１０によって実行される障害対応時における障害検知処理のフローチャートである。
【０１７３】
障害対応時における障害検知処理は、障害対応処理（図１２）のステップＳ１０１９において実行される。
【０１７４】
まず、ホスト計算機１０は、障害対応処理のステップＳ１０１８において、障害検知実行パスを特定できたか否かを判定する（Ｓ１０５１）。
【０１７５】
障害検知実行パスを特定できなかった場合、ホスト計算機１０は、障害検知処理を実行する必要がないので、そのまま障害対応時における障害検知処理を終了する。
【０１７６】
一方、障害検知実行パスを特定できた場合、ホスト計算機１０は、特定したすべての障害検知実行パスを用いて、障害検知信号を送信する（Ｓ１０５２）。
【０１７７】
次に、ホスト計算機１０は、障害検知信号を送信してから一定の時間が経過するまで待機する（Ｓ１０５３）。
【０１７８】
一定の時間が経過すると、ホスト計算機１０は、障害検知実行パスを、パス番号の低いものから順に選択する。そして、ホスト計算機１０は、選択した障害検知実行パスに対して以下の処理を行う（Ｓ１０５４）。
【０１７９】
ホスト計算機１０は、選択した障害検知実行パスを用いて送信した障害検知信号に対する応答を受信したか否かを判定する（Ｓ１０５５）。
【０１８０】
このステップＳ１０５５におけるホスト計算機１０の具体的な処理を説明する。
【０１８１】
ホスト計算機１０に備わるＨＢＡ１４は、選択された障害検知実行パスを用いて送信した障害検知信号に対する応答を受信したか否かを判定する。そして、ホスト計算機１０に備わるＨＢＡ１４は、判定結果を、当該ホスト計算機１０のデバイスリンクマネージャ１２６に通知する。ホスト計算機１０のデバイスリンクマネージャ１２６は、通知された判定結果に基づいて、ホスト計算機１０が障害検知信号に対する応答を受信したか否かを判定する。
【０１８２】
障害検知信号に対する応答を受信した場合、ホスト計算機１０は、選択した障害検知実行パスが正常であると判定する。よって、ホスト計算機１０は、当該選択した障害検知実行パスに対する処理を終了する。
【０１８３】
一方、障害検知信号に対する応答を受信しなかった場合、ホスト計算機１０は、選択した障害検知実行パスに障害が発生していると判定する。そこで、ホスト計算機１０は、選択した障害検知実行パスを、閉塞（オフライン）する。次に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１０５６）。
【０１８４】
具体的には、ホスト計算機１０は、選択した障害検知実行パスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。
【０１８５】
次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に、「オフライン」を格納する。次に、ホスト計算機１０は、選択したレコードの障害回数１２２３を増加させる。次に、ホスト計算機１０は、選択したレコードの前回障害発生日時１２２４に、パス障害情報テーブル１２２の障害第１発見１２２５にチェックが格納されているレコードの前回障害発生日時１２２４と同一の値を格納する。
【０１８６】
そして、ホスト計算機１０は、当該選択した障害検知実行パスに対する処理を終了する。なお、ホスト計算機１０は、ステップＳ１０５４においてすべての障害検知実行パスを選択するまで処理を繰り返す。
【０１８７】
そして、ホスト計算機１０は、すべての障害検知実行パスに対して処理を行うと、障害対応時における障害検知処理を終了する。
【０１８８】
図１５は、本発明の第１の実施の形態のホスト計算機１０によって実行されるロードバランスポイントの変更処理のフローチャートである。
【０１８９】
ロードバランスポイントの変更処理は、障害対応処理（図１２）のステップＳ１０２２において実行される。
【０１９０】
まず、ホスト計算機１０は、変更対象のロードバランスポイントに対応するパス（切替元パス）を特定する。具体的には、ホスト計算機１０は、代替パスを切替元パスとして特定する。
【０１９１】
次に、ホスト計算機１０は、特定した切替元パスと同じＬＵ２５にアクセス可能なパスを特定する（Ｓ１０６１）。
【０１９２】
具体的には、ホスト計算機１０は、特定した切替元パスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。
【０１９３】
次に、ホスト計算機１０は、選択したレコードから、ＬＵ番号１２１５を抽出する。次に、ホスト計算機１０は、抽出したＬＵ番号１２１５とパス接続情報テーブル１２１のＬＵ番号１２１５とが一致するレコードを、パス接続情報テーブル１２１からすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。そして、ホスト計算機１０は、抽出したパス番号１２１１によって識別されるパスを、切替元パスと同じＬＵ２５にアクセス可能なパスとして特定する。
【０１９４】
次に、ホスト計算機１０は、ステップＳ１０６１においてパスを特定できたか否かを判定する（Ｓ１０６２）。
【０１９５】
ステップＳ１０６１においてパスを特定できなかった場合、ホスト計算機１０は、ロードバランスポイントを変更しない（Ｓ１０６７）。そして、ホスト計算機１０は、そのままステップＳ１０６６に進む。
【０１９６】
一方、ステップＳ１０６１においてパスを特定できた場合、ホスト計算機１０は、切替元パスの次に大きいパス番号によって識別されるパスを、ステップＳ１０６１において特定したパスの中から選択する（Ｓ１０６３）。
【０１９７】
次に、ホスト計算機１０は、ステップＳ１０６３において、パスを選択できたか否かを判定する（Ｓ１０６４）。
【０１９８】
ステップＳ１０６３においてパスを選択できた場合、ホスト計算機１０は、そのままステップＳ１０６５に進む。
【０１９９】
一方、ステップＳ１０６３においてパスを選択できなかった場合、ホスト計算機１０は、ステップＳ１０６１において特定したパスの中から、パス番号が最小のパスを選択する（Ｓ１０６８）。
【０２００】
次に、ホスト計算機１０は、選択したパスを、新たなロードバランスポイントに設定する（Ｓ１０６５）。
【０２０１】
具体的には、ホスト計算機１０は、切替元パスの識別子とロードバランスポイント切替テーブル１２４のロードバランスポイント１２４３とが一致するレコードを選択する。次に、ホスト計算機１０は、選択したレコードのロードバランスポイント１２４３に、ステップＳ１０６３又はステップＳ１０６８において選択したパスの識別子を格納する。
【０２０２】
更に、ホスト計算機１０は、選択したレコードの現在Ｉ／Ｏ回数１２４４に、「０」を格納する（Ｓ１０６６）。そして、ホスト計算機１０は、ロードバランスポイントの変更処理を終了する。
【０２０３】
図１６は、本発明の第１の実施の形態のホスト計算機１０によって実行されるパス閉塞伝播処理のフローチャートである。
【０２０４】
まず、ホスト計算機１０は、同一の障害によってオフラインとなったパスをすべて特定する（Ｓ１０７１）。
【０２０５】
具体的には、ホスト計算機１０は、パス障害情報テーブル１２２の障害第１発見１２２５にチェックが格納されているレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、前回障害発生日時１２２４を抽出する。
【０２０６】
次に、ホスト計算機１０は、パス障害情報テーブル１２２の稼動状況１２２２に「オフライン」が格納されているレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、抽出した前回障害発生日時１２２４とパス障害情報テーブル１２２の前回障害発生日時１２２４とが同一のレコードを、選択したレコードの中から選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２２１を抽出する。そして、ホスト計算機１０は、抽出したパス番号１２２１によって識別されるパスを、同一の障害によってオフラインとなったパスとして特定する。
【０２０７】
次に、ホスト計算機１０は、ステップＳ１０７１において特定したパスを、パス番号の低いものから順に選択する。そして、ホスト計算機１０は、選択したパスに対して以下の処理を行う（Ｓ１０７２）。
【０２０８】
まず、ホスト計算機１０は、選択したパスに対して、障害原因箇所の推測処理を行う（Ｓ１０７３）。これによって、ホスト計算機１０は、選択したパスの障害原因箇所を推測する。なお、障害原因箇所の推定処理については、図１７で詳細を説明する。
【０２０９】
次に、ホスト計算機１０は、推測した障害原因箇所が障害原因箇所テーブル１２３に格納されているか否かを判定する（Ｓ１０７４）。
【０２１０】
具体的には、ホスト計算機１０は、推測した障害原因箇所と障害原因箇所テーブル１２３の障害原因箇所１２３１とが一致するレコードが障害原因箇所テーブル１２３に存在するか否かを判定する。
【０２１１】
推測した障害原因箇所が障害原因箇所テーブル１２３に既に格納されている場合、ホスト計算機１０は、ステップＳ１０７２において選択したパスに対する処理を終了する。
【０２１２】
一方、推測した障害原因箇所が障害原因箇所テーブル１２３に格納されていない場合、ホスト計算機１０は、推測した障害原因箇所を障害原因箇所テーブル１２３に格納する。
【０２１３】
具体的には、ホスト計算機１０は、障害原因箇所テーブル１２３に新たなレコードを作成する。次に、ホスト計算機１０は、推測した障害原因箇所を、新たなレコードの障害原因箇所１２３１に格納する。次に、ホスト計算機１０は、ステップＳ１０７１において抽出した前回障害発生日時１２２４を、新たなレコードの障害発生日時１２３２に格納する。
【０２１４】
そして、ホスト計算機１０は、ステップＳ１０７２において選択したパスに対する処理を終了する。なお、ホスト計算機１０は、特定されたすべてのパスをステップＳ１０７２において選択するまで処理を繰り返す。
【０２１５】
次に、ホスト計算機１０は、障害伝播パスを特定する（Ｓ１０７５）。ここでは、ホスト計算機１０は、推測された障害原因箇所を経由するパスを特定する。次に、ホスト計算機１０は、特定したパスの中から、障害が発生したパスと異なるＬＵ２５にアクセス可能なパスを特定する。更に、ホスト計算機１０は、特定したパスの中から、オンラインのパスを特定する。そして、ホスト計算機１０は、特定したパスを、障害伝播パスとして特定する。
【０２１６】
具体的には、ホスト計算機１０は、障害が発生したポートの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードからＬＵ番号１２１５を抽出する。
【０２１７】
次に、ホスト計算機１０は、推測された障害原因箇所の識別子とパス接続情報テーブル１２１のＨＢＡ番号１２１２、ＣＨＡ番号１２１３、ＣＨＡポート番号１２１４又はＬＵ番号１２１５のいずれかとが一致するレコードを、パス接続情報テーブル１２１から選択する。
【０２１８】
次に、ホスト計算機１０は、抽出したＬＵ番号１２１５とパス接続情報テーブル１２１のＬＵ番号１２１５とが異なるレコードを、選択したレコードの中から選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。
【０２１９】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。そして、ホスト計算機１０は、抽出した稼動状況１２２２に「オンライン」が格納されているか否かを判定する。
【０２２０】
抽出された稼動状況１２２２に「オンライン」が格納されている場合、ホスト計算機１０は、当該選択したレコードのパス番号１２２１によって識別されるパスを、障害伝播パスとして特定する。
【０２２１】
次に、ホスト計算機１０は、特定した障害伝播パスを閉塞（オフライン）する。次に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１０７６）。
【０２２２】
具体的には、ホスト計算機１０は、閉塞された障害伝播パスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に、「オフライン」を格納する。次に、ホスト計算機１０は、選択したレコードの障害回数１２２３を増加させる。次に、ホスト計算機１０は、ステップＳ１０７１において抽出した前回障害発生日時１２２４を、選択したレコードの前回障害発生日時１２２４に格納する。
【０２２３】
次に、ホスト計算機１０は、障害原因箇所テーブル１２３を管理サーバ３０に送信する（Ｓ１０７７）。そして、ホスト計算機１０は、パス閉塞伝播処理を終了する。
【０２２４】
一方、管理サーバ３０は、障害原因箇所テーブル１２３を受信すると、障害原因確認処理を実行する。なお、障害原因確認処理については、図１８で詳細を説明する。
【０２２５】
図１７は、本発明の第１の実施の形態のホスト計算機１０によって実行される障害原因箇所の推定処理のフローチャートである。
【０２２６】
障害原因箇所の推定処理は、パス閉塞伝播処理（図１６）のステップＳ１０７３又は全パス障害検知処理（図２２）のステップＳ１１３０において実行される。
【０２２７】
ホスト計算機１０は、パス閉塞伝播処理のステップＳ１０７２又は全パス障害検知処理のステップＳ１１２９において選択されたパスを用いてアクセス可能なＬＵ２５を特定する（Ｓ１０８１）。
【０２２８】
具体的には、ホスト計算機１０は、選択されたパスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードからＬＵ番号１２１５を抽出する。そして、ホスト計算機１０は、抽出したＬＵ番号１２１５によって識別されるＬＵ２５を、選択されたパスを用いてアクセス可能なＬＵ２５として特定する。
【０２２９】
次に、ホスト計算機１０は、ステップＳ１０８１において特定したＬＵ２５に、オンラインのパスを用いてアクセス可能か否かを判定する（Ｓ１０８２）。
【０２３０】
具体的には、ホスト計算機１０は、抽出したＬＵ番号１２１５とパス接続情報テーブル１２１のＬＵ番号１２１５とが一致するレコードを、パス接続情報テーブル１２１からすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。
【０２３１】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。
【０２３２】
次に、ホスト計算機１０は、抽出した稼動状況１２２２に「オンライン」が格納されているか否かを判定する。そして、抽出された稼動状況１２２２に「オンライン」が一つでも格納されていると、ホスト計算機１０は、特定したＬＵ２５をオンラインのパスが経由していると判定する。一方、抽出された稼動状況１２２２のすべてに「オフライン」が格納されていると、ホスト計算機１０は、特定したＬＵ２５にオンラインのパスを用いてアクセスできないと判定する。
【０２３３】
特定したＬＵ２５にオンラインのパスを用いてアクセスできない場合、ホスト計算機１０は、当該特定したＬＵ２５を、障害原因箇所と推測する（Ｓ１０８８）。
【０２３４】
一方、特定したＬＵ２５にオンラインのパスを用いてアクセスできる場合、ホスト計算機１０は、当該特定したＬＵ２５が障害原因箇所でないと推測する。
【０２３５】
そこで、ホスト計算機１０は、パス閉塞伝播処理のステップＳ１０７２又は全パス障害検知処理のステップＳ１１２９において選択されたパスが経由するＣＨＡ２１を特定する（Ｓ１０８３）。
【０２３６】
具体的には、ホスト計算機１０は、選択されたパスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードからＣＨＡ番号１２１３を抽出する。そして、ホスト計算機１０は、抽出したＣＨＡ番号１２１３によって識別されるＣＨＡ２１を、選択されたパスが経由するＣＨＡ２１として特定する。
【０２３７】
次に、ホスト計算機１０は、ステップＳ１０８３において特定したＣＨＡ２１をオンラインのパスが経由しているか否かを判定する（Ｓ１０８４）。
【０２３８】
具体的には、ホスト計算機１０は、抽出したＣＨＡ番号１２１３とパス接続情報テーブル１２１のＣＨＡ番号１２１３とが一致するレコードを、パス接続情報テーブル１２１からすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。
【０２３９】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。
【０２４０】
次に、ホスト計算機１０は、抽出した稼動状況１２２２に「オンライン」が格納されているか否かを判定する。そして、抽出された稼動状況１２２２に「オンライン」が一つでも格納されていると、ホスト計算機１０は、特定されたＣＨＡ２１をオンラインのパスが経由していると判定する。一方、抽出された稼動状況１２２２のすべてに「オフライン」が格納されていると、ホスト計算機１０は、特定されたＣＨＡ２１をオンラインのパスが経由していないと判定する。
【０２４１】
特定されたＣＨＡ２１をオンラインのパスが経由していない場合、ホスト計算機１０は、当該特定されたＣＨＡ２１を、障害原因箇所と推測する（Ｓ１０８９）。
【０２４２】
一方、特定されたＣＨＡ２１をオンラインのパスが経由している場合、ホスト計算機１０は、当該特定されたＣＨＡ２１が障害原因箇所でないと推測する。
【０２４３】
そこで、ホスト計算機１０は、パス閉塞伝播処理のステップＳ１０７２又は全パス障害検知処理のステップＳ１１２９において選択されたパスが経由するＣＨＡポート２４を特定する（Ｓ１０８５）。
【０２４４】
具体的には、ホスト計算機１０は、選択されたパスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードからＣＨＡポート番号１２１４を抽出する。そして、ホスト計算機１０は、抽出したＣＨＡポート番号１２１４によって識別されるＣＨＡポート２４を、選択されたパスが経由するＣＨＡポート２４として特定する。
【０２４５】
次に、ホスト計算機１０は、ステップＳ１０８５において特定したＣＨＡポート２４をオンラインのパスが経由しているか否かを判定する（Ｓ１０８６）。
【０２４６】
具体的には、ホスト計算機１０は、抽出したＣＨＡポート番号１２１４とパス接続情報テーブル１２１のＣＨＡポート番号１２１４とが一致するレコードを、パス接続情報テーブル１２１からすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。
【０２４７】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。
【０２４８】
次に、ホスト計算機１０は、抽出した稼動状況１２２２に「オンライン」が格納されているか否かを判定する。そして、抽出された稼動状況１２２２に「オンライン」が一つでも格納されていると、ホスト計算機１０は、特定されたＣＨＡポート２４をオンラインのパスが経由していると判定する。一方、抽出された稼動状況１２２２のすべてに「オフライン」が格納されていると、ホスト計算機１０は、特定されたＣＨＡポート２４をオンラインのパスが経由していないと判定する。
【０２４９】
特定されたＣＨＡポート２４をオンラインのパスが経由していない場合、ホスト計算機１０は、当該特定されたＣＨＡポート２４又は当該特定されたＣＨＡポート２４に接続される物理パスを、障害原因箇所と推測する（Ｓ１０９０）。
【０２５０】
一方、特定されたＣＨＡポート２４をオンラインのパスが経由している場合、ホスト計算機１０は、当該特定されたＣＨＡポート２４が障害原因箇所でないと推測する。
【０２５１】
そこで、ホスト計算機１０は、パス閉塞伝播処理のステップＳ１０７２又は全パス障害検知処理のステップＳ１１２９において選択されたパスが経由するＨＢＡ１４を特定する。
【０２５２】
具体的には、ホスト計算機１０は、選択されたパスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードからＨＢＡ番号１２１２を抽出する。そして、ホスト計算機１０は、抽出したＨＢＡ番号１２１２によって識別されるＨＢＡ１４を、選択されたパスが経由するＨＢＡ１４として特定する。
【０２５３】
次に、ホスト計算機１０は、特定したＨＢＡ１４又は特定したＨＢＡ１４に接続される物理パスを、障害原因箇所と推測する（Ｓ１０８７）。
【０２５４】
そして、ホスト計算機１０は、障害原因箇所の推定処理を終了する。
【０２５５】
図１８は、本発明の第１の実施の形態の管理サーバ３０によって実行される障害原因確認処理のフローチャートである。
【０２５６】
管理サーバ３０は、障害原因箇所テーブル１２３をホスト計算機１０から受信すると、障害原因確認処理を行う。
【０２５７】
まず、管理サーバ３０は、受信した障害原因箇所テーブル１２３を参照して、全ホスト障害原因箇所テーブル３２４を更新する（Ｓ３００１）。
【０２５８】
具体的には、管理サーバ３０は、受信した障害原因箇所テーブル１２３の障害原因箇所１２３１を、全ホスト障害原因箇所テーブル３２４の障害原因箇所３２４１に格納する。次に、管理サーバ３０は、受信した障害原因箇所テーブル１２３の送信元であるホスト計算機１０の識別子を、全ホスト障害原因箇所テーブル３２４の情報元ホスト名３２４２に格納する。更に、管理サーバ３０は、受信した障害原因箇所テーブル１２３の障害発生日時１２３２を、全ホスト障害原因箇所テーブル３２４の障害発生日時３２４３に格納する。
【０２５９】
次に、管理サーバ３０は、当該障害原因箇所に接続されるホスト計算機１０を特定する。但し、管理サーバ３０は、障害原因箇所テーブル１２３の送信元であるホスト計算機１０を除くホスト計算機１０を特定する（Ｓ３００２）。
【０２６０】
具体的には、管理サーバ３０は、障害原因箇所に対応するテーブルを、ＬＵ接続先ホストテーブル３２１、ＣＨＡ接続先ホストテーブル３２２及びＣＨＡポート接続先ホストテーブル３２３の中から選択する。次に、管理サーバ３０は、選択したテーブルを参照して、障害原因箇所に接続されるホスト計算機１０を特定する。
【０２６１】
例えば、障害原因箇所がＣＨＡ２１の場合を説明する。
【０２６２】
この場合、管理サーバ３０は、障害原因箇所であるＣＨＡ２１の識別子とＣＨＡ接続先ホストテーブル３２２のＣＨＡ番号３２２１とが一致するレコードを、ＣＨＡ接続先ホストテーブル３２２から選択する。次に、管理サーバ３０は、選択したレコードから、ホスト名３２２２を抽出する。そして、管理サーバ３０は、抽出したホスト名３２２２によって識別されるホスト計算機１０を、障害原因箇所に接続されるホスト計算機１０として特定する。
【０２６３】
次に、管理サーバ３０は、ステップＳ３００２においてホスト計算機１０を特定できたか否かを判定する（Ｓ３００３）。
【０２６４】
ホスト計算機１０を特定できなかった場合、管理サーバ３０は、他のホスト計算機１０に障害の影響が及ばないと判定する。よって、管理サーバ３０は、そのまま障害原因確認処理を終了する。
【０２６５】
一方、ホスト計算機１０を特定できた場合、管理サーバ３０は、特定したホスト計算機１０に障害原因箇所を通知する（Ｓ３００４）。ホスト計算機１０は、管理サーバ３０から障害原因箇所を通知されると、管理サーバ通知による障害対応処理を行う。なお、管理サーバ通知による障害対応処理については、図１９で詳細を説明する。
【０２６６】
次に、管理サーバ３０は、障害原因箇所を通知したすべてのホスト計算機１０から、障害原因箇所テーブル１２３を受信したか否かを判定する（Ｓ３００５）。
【０２６７】
障害原因箇所を通知したすべてのホスト計算機１０から受信していない場合、管理サーバ３０は、障害原因箇所を通知したすべてのホスト計算機１０から障害原因箇所テーブル１２３を受信するまで待機する（Ｓ３００７）。
【０２６８】
一方、障害原因箇所を通知したすべてのホスト計算機１０から障害原因箇所テーブル１２３を受信すると、管理サーバ３０は、受信した障害原因箇所テーブル１２３の障害原因箇所１２３１と全ホスト障害原因箇所テーブル３２４の障害原因箇所３２４１とが一致するか否かを判定する（Ｓ３００６）。
【０２６９】
障害原因箇所が一致する場合、管理サーバ３０は、全ホスト障害原因箇所テーブル３２４の障害原因箇所３２４１が正しいと判定する。よって、管理サーバ３０は、そのまま障害原因確認処理を終了する。
【０２７０】
障害原因箇所が一致しない場合、管理サーバ３０は、全ホスト障害原因箇所テーブル３２４の障害原因箇所３２４１が誤っていると判定する。よって、管理サーバ３０は、エラーを管理者に通知する（Ｓ３００８）。管理者は、エラーを通知されると、障害原因箇所がファイバチャネルスイッチ４０又は２箇所以上のいずれかであると判断する。なお、管理サーバ３０は、障害原因箇所がファイバチャネルスイッチ４０又は２箇所以上のいずれかである旨を管理者に通知してもよい。
【０２７１】
そして、管理サーバ３０は、障害原因確認処理を終了する。
【０２７２】
図１９は、本発明の第１の実施の形態のホスト計算機１０によって実行される管理サーバ通知による障害対応処理のフローチャートである。
【０２７３】
ホスト計算機１０は、管理サーバ３０から障害原因箇所を通知されると、管理サーバ通知による障害対応処理を行う。なお、管理サーバ３０は、障害原因確認処理（図１８）のステップＳ３００４において、ホスト計算機１０に障害原因箇所を通知する。
【０２７４】
まず、ホスト計算機１０は、パス接続情報テーブル１２１及びパス障害情報テーブル１２２を参照して、障害原因箇所経由パスを特定する（Ｓ１０９１）。ここでは、ホスト計算機１０は、通知された障害原因箇所を経由するパスを特定する。次に、ホスト計算機１０は、特定したパスの中から、オンラインのパスを特定する。そして、ホスト計算機１０は、特定したパスを、障害原因箇所経由パスとして特定する。
【０２７５】
具体的には、ホスト計算機１０は、通知された障害原因箇所の識別子とパス接続情報テーブル１２１のＨＢＡ番号１２１２、ＣＨＡ番号１２１３、ＣＨＡポート番号１２１４又はＬＵ番号１２１５のいずれかとが一致するレコードを、パス接続情報テーブル１２１から選択する。
【０２７６】
次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。
【０２７７】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。そして、ホスト計算機１０は、抽出した稼動状況１２２２に「オンライン」が格納されているか否かを判定する。
【０２７８】
抽出された稼動状況１２２２に「オンライン」が格納されている場合、ホスト計算機１０は、当該選択したレコードのパス番号１２２１によって識別されるパスを、障害原因箇所経由パスとして特定する。
【０２７９】
次に、ホスト計算機１０は、ステップＳ１０９１において、障害原因箇所経由パスを特定できたか否かを判定する（Ｓ１０９２）。
【０２８０】
障害原因箇所経由パスを特定できなかった場合、ホスト計算機１０は、通知された障害原因箇所によって影響を受けるパスが存在しないと判定する。よって、ホスト計算機１０は、そのままステップＳ１０９９に進む。
【０２８１】
一方、障害原因箇所経由パスを特定できた場合、ホスト計算機１０は、特定した障害原因箇所経由パスを閉塞（オフライン）する。次に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１０９３）。
【０２８２】
具体的には、ホスト計算機１０は、特定した障害原因箇所経由パスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に、「オフライン」を格納する。
【０２８３】
次に、ホスト計算機１０は、特定した障害原因箇所経由パスを、パス状態変化確認テーブル１２５に登録する（Ｓ１０９４）。なお、パス状態変化確認テーブル１２５に情報が予め格納されている場合、ホスト計算機１０は、当該格納されているすべての情報を、パス状態変化確認テーブル１２５から削除する。その後、ホスト計算機１０は、特定した障害原因箇所経由パスを、パス状態変化確認テーブル１２５に登録する。
【０２８４】
具体的には、ホスト計算機１０は、特定した障害原因箇所経由パスの識別子を、パス状態変化確認テーブル１２５のパス番号１２５１に格納する。次に、ホスト計算機１０は、パス状態変化確認テーブル１２５の障害検知前状態１２５２に、「オフライン」を格納する。
【０２８５】
次に、ホスト計算機１０は、オフラインのパスに対する障害検知処理を行う（Ｓ１０９５）。なお、オフラインのパスに対する障害検知処理については、図２０で詳細を説明する。
【０２８６】
次に、ホスト計算機１０は、パス状態変化確認テーブル１２５を更新する（Ｓ１０９６）。
【０２８７】
具体的には、ホスト計算機１０は、パス状態変化確認テーブル１２５のレコードを上から順に選択する。そして、ホスト計算機１０は、選択したレコードに対して以下の処理を行う。
【０２８８】
ホスト計算機１０は、選択したレコードから、パス番号１２５１を抽出する。次に、ホスト計算機１０は、抽出したパス番号１２５１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。
【０２８９】
次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。次に、ホスト計算機１０は、パス状態変化確認テーブル１２５から選択したレコードの障害検知後状態１２５３に、抽出した稼動状況１２２２を格納する。
【０２９０】
ホスト計算機１０は、この処理を繰り返すことによって、パス状態変化確認テーブル１２５を更新する。
【０２９１】
次に、ホスト計算機１０は、正当性確認処理を行う（Ｓ１０９７）。これによって、ホスト計算機１０は、管理サーバ３０から通知された障害原因箇所の正当性を判断する。なお、正当性確認処理については、図２１で詳細を説明する。
【０２９２】
次に、ホスト計算機１０は、当該ホスト計算機１０に接続されているすべてのパスがオフラインであるか否かを判定する（Ｓ１０９８）。
【０２９３】
具体的には、ホスト計算機１０は、パス障害情報テーブル１２２の稼動状況１２２２に「オンライン」が格納されているか否かを判定する。パス障害情報テーブル１２２の稼動状況１２２２に「オンライン」が一つでも格納されていると、ホスト計算機１０は、当該ホスト計算機１０に接続されているパスの中に、オンラインのパスが存在すると判定する。一方、パス障害情報テーブル１２２の稼動状況１２２２に「オンライン」が一つも格納されていない場合、ホスト計算機１０は、当該ホスト計算機１０に接続されているすべてのパスがオフラインであると判定する。
【０２９４】
オンラインのパスが一つでも存在すると、ホスト計算機１０は、そのままステップＳ１０９９に進む。
【０２９５】
一方、すべてのパスがオフラインであると、ホスト計算機１０は、アプリケーションに障害を通知する（Ｓ１１００）。
【０２９６】
次に、ホスト計算機１０は、更新した障害原因箇所テーブル１２２を、管理サーバ３０に送信する（Ｓ１０９９）。そして、ホスト計算機１０は、管理サーバ通知による障害対応処理を終了する。
【０２９７】
図２０は、本発明の第１の実施の形態のホスト計算機１０によって実行されるオフラインのパスに対する障害検知処理のフローチャートである。
【０２９８】
オフラインのパスに対する障害検知処理は、管理サーバ通知による障害対応処理（図１９）のステップＳ１０９５において実行される。この場合、オフラインのパスとは、障害原因箇所経由パスである。
【０２９９】
また、オフラインのパスに対する障害検知処理は、パス障害回復処理（図２３）のステップＳ１１４４において実行される。この場合、オフラインのパスとは、回復処理実行パスである。
【０３００】
また、オフラインのパスに対する障害検知処理は、管理サーバ通知による障害回復処理（図２５）のステップＳ１１６４において実行される。この場合、オフラインのパスとは、障害回復箇所経由パスである。
【０３０１】
まず、ホスト計算機１０は、オフラインのパスを用いて、障害検知信号を送信する（Ｓ１１０２）。
【０３０２】
オフラインのパスが障害原因箇所経由パスの場合、ホスト計算機１０は、管理サーバ通知による障害対応処理のステップＳ１０９１において特定したすべての障害原因箇所経由パスを用いて、障害検知信号を送信する。
【０３０３】
一方、オフラインのパスが回復処理実行パスの場合、ホスト計算機１０は、パス障害回復処理のステップＳ１１４２において特定したすべての回復処理実行パスを用いて、障害検知信号を送信する。
【０３０４】
一方、オフラインのパスが障害回復箇所経由パスの場合、ホスト計算機１０は、管理サーバ通知による障害回復処理のステップＳ１１６１において特定したすべての障害回復箇所経由パスを用いて、障害検知信号を送信する。
【０３０５】
次に、ホスト計算機１０は、障害検知信号を送信してから一定の時間が経過するまで待機する（Ｓ１１０３）。
【０３０６】
一定の時間が経過すると、ホスト計算機１０は、オフラインのパスを、パス番号の低いものから順に選択する。そして、ホスト計算機１０は、選択したオフラインのパスに対して以下の処理を行う（Ｓ１１０４）。
【０３０７】
ホスト計算機１０は、選択したオフラインのパスを用いて送信した障害検知信号に対する応答を受信したか否かを判定する。
【０３０８】
障害検知信号に対する応答を受信した場合、ホスト計算機１０は、選択したオフラインのパスは正常であると判定する。よって、ホスト計算機１０は、当該選択したオフラインのパスをオンラインにする（Ｓ１１０５）。更に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する。
【０３０９】
具体的には、ホスト計算機１０は、選択したオフラインのパスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に「オンライン」を格納する。そして、ホスト計算機１０は、当該選択したオフラインのパスに対する処理を終了する。
【０３１０】
一方、障害検知信号に対する応答を受信しなかった場合、ホスト計算機１０は、選択したオフラインのパスに障害が発生中と判定する。よって、ホスト計算機１０は、選択したオフラインのパスをオフラインのままにしておく。
【０３１１】
そして、ホスト計算機１０は、当該選択したオフラインのパスに対する処理を終了する。なお、ホスト計算機１０は、オフラインのパスをすべて選択するまで処理を繰り返す。
【０３１２】
そして、ホスト計算機１０は、オフラインのパスをすべて処理すると、オフラインのパスに対する障害検知処理を終了する。
【０３１３】
図２１は、本発明の第１の実施の形態のホスト計算機１０によって実行される正当性確認処理のフローチャートである。
【０３１４】
正当性確認処理は、管理サーバ通知による障害対応処理（図１９）のステップＳ１０９７において実行される。
【０３１５】
ホスト計算機１０は、障害原因箇所経由パスを、パス番号の低いものから順に選択する。そして、ホスト計算機１０は、選択した障害原因箇所経由パスに対して以下の処理を行う（Ｓ１１１１）。
【０３１６】
まず、ホスト計算機１０は、パス状態変化確認テーブル１２５を参照して、選択した障害原因箇所経由パスの状態が障害検知処理（図２０）の前後で変化したか否かを判定する（Ｓ１１１２）。
【０３１７】
具体的には、ホスト計算機１０は、選択した障害原因箇所経由パスの識別子とパス状態変化確認テーブル１２５のパス番号１２５１とが一致するレコードを、パス状態変化確認テーブル１２５から選択する。次に、ホスト計算機１０は、選択したレコードの障害検知前状態１２５２及び障害検知後状態１２５３に、「オフライン」が格納されているか否かを判定する。
【０３１８】
障害検知後状態１２５３に「オンライン」が格納されていると、ホスト計算機１０は、選択した障害原因箇所経由パスの状態が変化したと判定する。この場合、当該障害原因箇所経由パスは、オフラインからオンラインに変化している。
【０３１９】
よって、ホスト計算機１０は、パス障害情報テーブル１２２を更新する必要がない。そこで、ホスト計算機１０は、当該選択した障害原因箇所経由パスに対する処理を終了する。
【０３２０】
一方、障害検知前状態１２５２及び障害検知後状態１２５３に「オフライン」が格納されていると、ホスト計算機１０は、選択した障害原因箇所経由パスの状態が変化していないと判定する。この場合、当該障害原因箇所経由パスはオフラインのままである。
【０３２１】
よって、ホスト計算機１０は、パス障害情報テーブル１２２を更新する必要がある。そこで、ホスト計算機１０は、選択した障害原因箇所経由パスが、当該正当性確認処理において状態変化を最初に検知されたパスであるか否かを判定する（Ｓ１１１３）。
【０３２２】
選択した障害原因箇所経由パスが状態変化を最初に検知されたパスであると、ホスト計算機１０は、選択した障害原因箇所経由パスを、第１発見パスとする。次に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１１１４）。
【０３２３】
具体的には、ホスト計算機１０は、選択した障害原因箇所経由パスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードの障害回数１２２３を増加させる。次に、ホスト計算機１０は、選択したレコードの前回障害発生日時に、現在の日時を格納する。
【０３２４】
次に、ホスト計算機１０は、選択したレコードの障害第１発見１２２５にチェックを格納する。但し、パス障害情報テーブル１２２の他のレコードの障害第１発見１２２５にチェックが予め格納されている場合、ホスト計算機１０は、当該チェックを削除する。その後、ホスト計算機１０は、選択したレコードの障害第１発見１２２５にチェックを格納する。
【０３２５】
そして、ホスト計算機１０は、選択した障害原因箇所経由パスに対する処理を終了する。
【０３２６】
一方、選択した障害原因箇所経由パスが状態変化を最初に検知されたパスでないと、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１１１７）。
【０３２７】
具体的には、ホスト計算機１０は、選択した障害原因箇所経由パスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。
【０３２８】
次に、ホスト計算機１０は、選択したレコードの障害回数１２２３を増加させる。次に、ホスト計算機１０は、選択したレコードの前回障害発生日時１２２４に、パス障害情報テーブル１２２の障害第１発見１２２５にチェックが格納されているレコードの前回障害発生日時１２２４と同一の値を格納する。
【０３２９】
そして、ホスト計算機１０は、選択した障害原因箇所経由パスに対する処理を終了する。
【０３３０】
次に、ホスト計算機１０は、障害検知処理（図２０）の前後で状態が変化した障害原因箇所経由パスが存在するか否かを判定する（Ｓ１１１５）。
【０３３１】
具体的には、ホスト計算機１０は、パス状態変化確認テーブル１２５のすべてのレコードの障害検知前状態１２５２及び障害検知後状態１２５３に、「オフライン」が格納されているか否かを判定する。
【０３３２】
すべてのレコードの障害検知前状態１２５２及び障害検知後状態１２５３に「オフライン」が格納されていると、ホスト計算機１０は、状態が変化した障害原因箇所経由パスが一つも存在しないと判定する。一方、障害検知前状態１２５２及び障害検知後状態１２５３の一つにでも「オンライン」が格納されていると、ホスト計算機１０は、状態が変化した障害原因箇所経由パスが存在すると判定する。
【０３３３】
状態が変化した障害原因箇所経由パスが存在する場合、ホスト計算機１０は、障害原因箇所テーブル１２３を更新する（Ｓ１１１６）。
【０３３４】
具体的には、ホスト計算機１０は、障害原因箇所テーブル１２３に新たなレコードを追加する。次に、ホスト計算機１０は、管理サーバ通知による障害対応処理（図１９）のステップＳ１９０１において通知された障害原因箇所を、新たなレコードの障害原因箇所１２３１に格納する。そして、ホスト計算機１０は、正当性確認処理を終了する。
【０３３５】
一方、状態が変化した障害原因箇所経由パスが存在しない場合、ホスト計算機１０は、全パス障害検知処理を実行する（Ｓ１１１８）。なお、全パス障害検知処理については、図２２で詳細を説明する。そして、ホスト計算機１０は、正当性確認処理を終了する。
【０３３６】
図２２は、本発明の第１の実施の形態のホスト計算機１０によって実行される全パス障害検知処理のフローチャートである。
【０３３７】
全パス障害検知処理は、正当性確認処理（図２１）のステップＳ１１１８において実行される。
【０３３８】
まず、ホスト計算機１０は、すべてのパスを用いて、障害検知信号を送信する（Ｓ１１２１）。
【０３３９】
次に、ホスト計算機１０は、障害検知信号を送信してから一定の時間が経過するまで待機する（Ｓ１１２２）。
【０３４０】
一定の時間が経過すると、ホスト計算機１０は、現在の日時を記憶する（Ｓ１１２３）。
【０３４１】
次に、ホスト計算機１０は、すべてのパスを、パス番号の低いものから順に選択する。そして、ホスト計算機１０は、選択したパスに対して以下の処理を行う（Ｓ１１２４）。
【０３４２】
ホスト計算機１０は、選択したパスを用いて送信した障害検知信号に対する応答を受信したか否かを判定する。
【０３４３】
障害検知信号に対する応答を受信した場合、ホスト計算機１０は、選択したパスは正常であると判定する。よって、ホスト計算機１０は、当該選択したパスをオンラインにする（Ｓ１１２５）。更に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する。
【０３４４】
具体的には、ホスト計算機１０は、選択したパスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に「オンライン」を格納する。そして、ホスト計算機１０は、当該選択したパスに対する処理を終了する。
【０３４５】
一方、障害検知信号に対する応答を受信しなかった場合、ホスト計算機１０は、選択したパスに障害が発生していると判定する。そこで、ホスト計算機１０は、選択したパスがオンラインであるか否かを判定する（Ｓ１１２６）。
【０３４６】
具体的には、ホスト計算機１０は、選択したパスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に「オンライン」が格納されているか否かを判定する。
【０３４７】
選択したパスがオフラインであると、ホスト計算機１０は、当該選択したパスに対する処理を終了する。
【０３４８】
一方、選択したパスがオンラインであると、ホスト計算機１０は、当該選択したパスを閉塞（オフライン）する。次に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１１３２）。
【０３４９】
具体的には、ホスト計算機１０は、選択したパスの識別子とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。
【０３５０】
次に、ホスト計算機１０は、選択したレコードの稼動状況１２２２に、「オフライン」を格納する。次に、ホスト計算機１０は、選択したレコードの障害回数１２２３を増加させる。次に、ホスト計算機１０は、選択したレコードの前回障害発生日時１２２４に、ステップＳ１１２３で記憶した日時を格納する。
【０３５１】
そして、ホスト計算機１０は、当該選択したパスに対する処理を終了する。なお、ホスト計算機１０は、ステップＳ１１２４においてすべてのパスを選択するまで処理を繰り返す。
【０３５２】
次に、ホスト計算機１０は、パス障害情報テーブル１２２を参照して、オフラインのパスをすべて特定する（Ｓ１１２７）。
【０３５３】
具体的には、ホスト計算機１０は、パス障害情報テーブル１２２の稼動状況１２２２に「オフライン」が格納されているレコードをすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２２１を抽出する。そして、ホスト計算機１０は、抽出したパス番号１２２１によって識別されるパスを、オフラインのパスとして特定する。
【０３５４】
次に、ホスト計算機１０は、ステップＳ１１２７においてオフラインのパスを特定できたか否かを判定する（Ｓ１１２８）。
【０３５５】
オフラインのパスを一つも特定できなかった場合、ホスト計算機１０は、障害が発生してしているパスが存在しないと判定する。よって、ホスト計算機１０は、障害原因箇所テーブル１２３に格納されている情報を削除する（Ｓ１１３３）。そして、ホスト計算機１０は、全パス障害検知処理を終了する。
【０３５６】
一方、オフラインのパスを特定できた場合、ホスト計算機１０は、特定したオフラインのパスを、パス番号の低いものから順に選択する。そして、ホスト計算機１０は、選択したオフラインのパスに対して以下の処理を行う（Ｓ１１２９）。
【０３５７】
まず、ホスト計算機１０は、選択したオフラインのパスに対して、障害原因箇所の推定処理（図１７）を行う（Ｓ１１３０）。これによって、ホスト計算機１０は、選択したオフラインのパスの障害原因箇所を推測する。
【０３５８】
次に、ホスト計算機１０は、推測した障害原因箇所が障害原因箇所テーブル１２３に格納されているか否かを判定する（Ｓ１１３１）。
【０３５９】
具体的には、ホスト計算機１０は、推測した障害原因箇所と障害原因箇所テーブル１２３の障害原因箇所１２３１とが一致するレコードが障害原因箇所テーブル１２３に存在するか否かを判定する。
【０３６０】
推測した障害原因箇所が障害原因箇所テーブル１２３に既に格納されている場合、ホスト計算機１０は、ステップＳ１１２９において選択したオフラインのパスに対する処理を終了する。
【０３６１】
一方、推測した障害原因箇所が障害原因箇所テーブル１２３に格納されていない場合、ホスト計算機１０は、推測した障害原因箇所を障害原因箇所テーブル１２３に格納する。
【０３６２】
具体的には、ホスト計算機１０は、障害原因箇所テーブル１２３に新たなレコードを作成する。次に、ホスト計算機１０は、推測した障害原因箇所を、新たなレコードの障害原因箇所１２３１に格納する。次に、ホスト計算機１０は、ステップＳ１１２３において記憶した日時を、新たなレコードの障害発生日時１２３２に格納する。
【０３６３】
そして、ホスト計算機１０は、ステップＳ１１２９において選択したオフラインのパスに対する処理を終了する。なお、ホスト計算機１０は、オフラインのパスのすべてをステップＳ１１２９において選択するまで処理を繰り返す。
【０３６４】
ホスト計算機１０は、オフラインのパスのすべてを処理すると、全パス障害検知処理を終了する。
【０３６５】
図２３は、本発明の第１の実施の形態のホスト計算機１０によって実行されるパス障害回復処理のフローチャートである。
【０３６６】
ホスト計算機１０は、パス障害回復処理を一定時間ごとに繰り返す（Ｓ１１４１）。
【０３６７】
まず、ホスト計算機１０は、パス障害情報テーブル１２２を参照して、オフラインのすべてのパスを回復処理実行パスとして特定する。そして、ホスト計算機１０は、特定した回復処理実行パスを、パス状態変化確認テーブル１２５に登録する（Ｓ１１４２）。
【０３６８】
具体的には、ホスト計算機１０は、パス障害情報テーブル１２２の稼動状況１２２２に「オフライン」が格納されているレコードをすべて選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２２１を抽出する。そして、ホスト計算機１０は、抽出したパス番号１２２１によって識別されるパスを、回復処理実行パスとして特定する。
【０３６９】
次に、ホスト計算機１０は、抽出したパス番号１２２１を、パス状態変化確認テーブル１２５のパス番号１２５１に格納する。次に、ホスト計算機１０は、パス状態変化確認テーブル１２５の障害検知前状態１２５２に、「オフライン」を格納する。
【０３７０】
なお、パス状態変化確認テーブル１２５に情報が予め格納されている場合、ホスト計算機１０は、当該格納されているすべての情報を、パス状態変化確認テーブル１２５から削除する。その後、ホスト計算機１０は、特定した回復処理実行パスを、パス状態変化確認テーブル１２５に登録する。
【０３７１】
次に、ホスト計算機１０は、ステップＳ１１４２において、回復処理実行パスを特定できたか否かを判定する（Ｓ１１４３）。
【０３７２】
回復処理実行パスを特定できなかった場合、ホスト計算機１０は、すべてのパスがオンラインであると判定する。よって、ホスト計算機１０は、そのままパス障害回復処理を終了する。
【０３７３】
一方、回復処理実行パスを特定できた場合、ホスト計算機１０は、オフラインのパスに対する障害検知処理（図２０）を行う（Ｓ１１４４）。
【０３７４】
次に、ホスト計算機１０は、パス状態変化確認テーブル１２５を更新する（Ｓ１１４５）。
【０３７５】
具体的には、ホスト計算機１０は、パス状態変化確認テーブル１２５のレコードを上から順に選択する。そして、ホスト計算機１０は、選択したレコードに対して以下の処理を行う。
【０３７６】
ホスト計算機１０は、選択したレコードから、パス番号１２５１を抽出する。次に、ホスト計算機１０は、抽出したパス番号１２５１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。
【０３７７】
次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。次に、ホスト計算機１０は、パス状態変化確認テーブル１２５から選択したレコードの障害検知後状態１２５３に、抽出した稼動状況１２２２を格納する。
【０３７８】
ホスト計算機１０は、この処理を繰り返すことによって、パス状態変化確認テーブル１２５を更新する。
【０３７９】
次に、ホスト計算機１０は、特定した回復処理実行パスを、パス番号の低いものから順に選択する。そして、ホスト計算機１０は、選択した回復処理実行パスに対して以下の処理を行う（Ｓ１１４６）。
【０３８０】
まず、ホスト計算機１０は、パス状態変化確認テーブル１２５を参照して、選択した回復処理実行パスの状態が障害検知処理（図２０）の前後で変化したか否かを判定する（Ｓ１１４７）。
【０３８１】
具体的には、ホスト計算機１０は、選択した回復処理実行パスの識別子とパス状態変化確認テーブル１２５のパス番号１２５１とが一致するレコードを、パス状態変化確認テーブル１２５から選択する。次に、ホスト計算機１０は、選択したレコードの障害検知前状態１２５２及び障害検知後状態１２５３に、「オフライン」が格納されているか否かを判定する。
【０３８２】
障害検知前状態１２５２及び障害検知後状態１２５３に「オフライン」が格納されている場合、ホスト計算機１０は、選択した回復処理実行パスの状態が変化していないと判定する。そこで、ホスト計算機１０は、当該選択した回復処理実行パスに対する処理を終了する。
【０３８３】
一方、障害検知後状態１２５３に「オンライン」が格納されていると、ホスト計算機１０は、選択した回復処理実行パスの状態がオフラインからオンラインに変化したと判定する。つまり、ホスト計算機１０は、選択した回復処理実行パスが障害から回復したと判定する。
【０３８４】
この場合、ホスト計算機１０は、選択した回復処理実行パスが障害原因箇所を経由しているか否かを判定する（Ｓ１１４８）。つまり、ホスト計算機１０は、障害から回復した回復処理実行パスが、障害原因箇所を経由しているか否かを判定する。
【０３８５】
具体的には、ホスト計算機１０は、選択した回復処理実行パスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードから、ＨＢＡ番号１２１２、ＣＨＡ番号１２１３、ＣＨＡポート番号１２１４及びＬＵ番号１２１５を抽出する。
【０３８６】
次に、ホスト計算機１０は、抽出したＨＢＡ番号１２１２、ＣＨＡ番号１２１３、ＣＨＡポート番号１２１４及びＬＵ番号１２１５のうち少なくとも一つと障害原因箇所テーブル１２３の障害原因箇所１２３１とが一致するレコードを、障害原因箇所テーブル１２３から選択する。
【０３８７】
一致するレコードを選択できなかった場合、ホスト計算機１０は、障害から回復した回復処理実行パスが障害原因箇所を経由していないと判定する。そこで、ホスト計算機１０は、当該選択した回復処理実行パスに対する処理を終了する。
【０３８８】
一方、一致するレコードを選択できた場合、ホスト計算機１０は、選択した回復処理実行パスが障害原因箇所を経由していると判定する。そこで、ホスト計算機１０は、当該回復処理実行パスが経由している障害原因箇所の障害が回復したと判定する。具体的には、ホスト計算機１０は、選択したレコードの障害原因箇所１２３１の障害が回復したと判定する。
【０３８９】
よって、ホスト計算機１０は、選択したレコードの障害原因箇所１２３１を、障害回復箇所として管理サーバ３０に通知する。管理サーバ３０は、障害回復箇所を通知されると、障害回復確認処理を行う。なお、障害回復確認処理については、図２４で詳細を説明する。
【０３９０】
次に、ホスト計算機１０は、選択したレコードを、障害原因箇所テーブル１２３から削除する。これによって、ホスト計算機１０は、障害回復箇所に関する情報を、障害原因箇所テーブル１２３から削除する（Ｓ１１４９）。
【０３９１】
そして、ホスト計算機１０は、ステップＳ１１４６において選択した回復処理実行パスに対する処理を終了する。なお、ホスト計算機１０は、回復処理実行パスのすべてをステップＳ１１４６において選択するまで処理を繰り返す。
【０３９２】
ホスト計算機１０は、回復処理実行パスのすべてを処理すると、パス障害回復処理を終了する。
【０３９３】
図２４は、本発明の第１の実施の形態の管理サーバ３０によって実行される障害回復確認処理のフローチャートである。
【０３９４】
管理サーバ３０は、障害回復箇所をホスト計算機１０から通知されると、障害回復確認処理を行う。
【０３９５】
まず、管理サーバ３０は、通知された障害回復箇所に接続されるホスト計算機１０を特定する。但し、管理サーバ３０は、障害回復箇所の通知元であるホスト計算機１０を除くホスト計算機１０を特定する（Ｓ３０１１）。
【０３９６】
具体的には、管理サーバ３０は、障害回復箇所に対応するテーブルを、ＬＵ接続先ホストテーブル３２１、ＣＨＡ接続先ホストテーブル３２２及びＣＨＡポート接続先ホストテーブル３２３の中から選択する。次に、管理サーバ３０は、選択したテーブルを参照して、障害回復箇所に接続されるホスト計算機１０を特定する。
【０３９７】
例えば、障害回復箇所がＣＨＡ２１の場合を説明する。
【０３９８】
この場合、管理サーバ３０は、障害回復箇所であるＣＨＡ２１の識別子とＣＨＡ接続先ホストテーブル３２２のＣＨＡ番号３２２２１とが一致するレコードを、ＣＨＡ接続先ホストテーブル３２２から選択する。次に、管理サーバ３０は、選択したレコードから、ホスト名３２２２を抽出する。そして、管理サーバ３０は、抽出したホスト名３２２２によって識別されるホスト計算機１０を、障害回復箇所に接続されるホスト計算機１０として特定する。
【０３９９】
次に、管理サーバ３０は、ステップＳ３０１１においてホスト計算機１０を特定できたか否かを判定する（Ｓ３０１２）。
【０４００】
ホスト計算機１０を特定できなかった場合、管理サーバ３０は、他のホスト計算機１０に障害の回復の影響が及ばないと判定する。よって、管理サーバ３０は、そのままステップＳ３０１６に進む。
【０４０１】
一方、ホスト計算機１０を特定できた場合、管理サーバ３０は、特定したホスト計算機１０に障害回復箇所を通知する（Ｓ３０１３）。ホスト計算機１０は、管理サーバ３０から障害回復箇所を通知されると、管理サーバ通知による障害回復処理を行う。なお、管理サーバ通知による障害回復処理については、図２５で詳細を説明する。
【０４０２】
次に、管理サーバ３０は、障害回復箇所を通知したすべてのホスト計算機１０から、障害原因箇所テーブル１２３を受信したか否かを判定する（Ｓ３０１４）。
【０４０３】
障害回復箇所を通知したすべてのホスト計算機１０から受信していない場合、管理サーバ３０は、障害回復箇所を通知したすべてのホスト計算機１０から障害原因箇所テーブル１２３を受信するまで待機する（Ｓ３０１７）。
【０４０４】
一方、障害回復箇所を通知したすべてのホスト計算機１０から受信すると、管理サーバ３０は、受信した障害原因箇所テーブル１２３の障害原因箇所１２３１と全ホスト障害原因箇所テーブル３２４の障害原因箇所３２４１とが一致するか否かを判定する（Ｓ３０１５）。
【０４０５】
障害原因箇所が一致する場合、管理サーバ３０は、通知された障害回復箇所が正しいと判定する。よって、管理サーバ３０は、そのままステップＳ３０１６に進む。
【０４０６】
一方、障害原因箇所が一致しない場合、管理サーバ３０は、通知された障害回復箇所が誤っていると判定する。よって、管理サーバ３０は、エラーを管理者に通知する（Ｓ３０１８）。管理者は、エラーを通知されると、障害回復箇所がファイバチャネルスイッチ４０又は２箇所以上のいずれかであると判断する。なお、管理サーバ３０は、障害回復箇所がファイバチャネルスイッチ４０又は２箇所以上のいずれかである旨を管理者に通知してもよい。
【０４０７】
次に、管理サーバ３０は、全ホスト障害原因箇所テーブル３２４を更新する（Ｓ３０１６）。
【０４０８】
具体的には、管理サーバ３０は、通知された障害回復箇所の識別子と全ホスト障害原因箇所テーブル３２４の障害原因箇所３２４１とが一致するレコードを、全ホスト障害原因箇所テーブル３２４から削除する。
【０４０９】
そして、管理サーバ３０は、障害回復確認処理を終了する。
【０４１０】
図２５は、本発明の第１の実施の形態のホスト計算機１０によって実行される管理サーバ通知による障害回復処理のフローチャートである。
【０４１１】
ホスト計算機１０は、管理サーバ３０から障害回復箇所を通知されると、管理サーバ通知による障害回復処理を行う。なお、管理サーバ３０は、障害回復確認処理（図２４）のステップＳ３０１３において、ホスト計算機１０に障害回復箇所を通知する。
【０４１２】
まず、ホスト計算機１０は、パス接続情報テーブル１２１及びパス障害情報テーブル１２２を参照して、障害回復箇所経由パスを特定する（Ｓ１１６１）。ここでは、ホスト計算機１０は、通知された障害回復箇所を経由するパスを特定する。次に、ホスト計算機１０は、特定したパスの中から、オフラインのパスを特定する。そして、ホスト計算機１０は、特定したパスを、障害回復箇所経由パスとして特定する。
【０４１３】
具体的には、ホスト計算機１０は、通知された障害回復箇所の識別子とパス接続情報テーブル１２１のＨＢＡ番号１２１２、ＣＨＡ番号１２１３、ＣＨＡポート番号１２１４又はＬＵ番号１２１５のいずれかとが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードから、パス番号１２１１を抽出する。
【０４１４】
次に、ホスト計算機１０は、抽出したパス番号１２１１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。そして、ホスト計算機１０は、抽出した稼動状況１２２２に「オフライン」が格納されているか否かを判定する。
【０４１５】
抽出した稼動状況１２２２に「オフライン」が格納されている場合、ホスト計算機１０は、当該選択したレコードのパス番号１２２１によって識別されるパスを、障害回復箇所経由パスとして特定する。
【０４１６】
次に、ホスト計算機１０は、ステップＳ１１６１において、障害回復箇所経由パスを特定できたか否かを判定する（Ｓ１１６２）。
【０４１７】
障害回復箇所経由パスを特定できなかった場合、ホスト計算機１０は、通知された障害回復箇所によって影響を受けるパスが存在しないと判定する。よって、ホスト計算機１０は、そのままステップＳ１１６９に進む。
【０４１８】
一方、障害回復箇所経由パスを特定できた場合、ホスト計算機１０は、特定した障害回復箇所経由パスを、パス状態変化確認テーブル１２５に登録する（Ｓ１１６３）。なお、パス状態変化確認テーブル１２５に情報が予め格納されている場合、ホスト計算機１０は、当該格納されているすべての情報を、パス状態変化確認テーブル１２５から削除する。その後、ホスト計算機１０は、特定した障害回復箇所経由パスを、パス状態変化確認テーブル１２５に登録する。
【０４１９】
具体的には、ホスト計算機１０は、特定した障害回復箇所経由パスの識別子を、パス状態変化確認テーブル１２５のパス番号１２５１に格納する。次に、ホスト計算機１０は、パス状態変化確認テーブル１２５の障害検知前状態１２５２に、「オフライン」を格納する。
【０４２０】
次に、ホスト計算機１０は、オフラインのパスに対する障害検知処理（図２０）を行う（Ｓ１１６４）。
【０４２１】
次に、ホスト計算機１０は、パス状態変化確認テーブル１２５を更新する（Ｓ１１６５）。
【０４２２】
具体的には、ホスト計算機１０は、パス状態変化確認テーブル１２５のレコードを上から順に選択する。そして、ホスト計算機１０は、選択したレコードに対して以下の処理を行う。
【０４２３】
ホスト計算機１０は、選択したレコードから、パス番号１２５１を抽出する。次に、ホスト計算機１０は、抽出したパス番号１２５１とパス障害情報テーブル１２２のパス番号１２２１とが一致するレコードを、パス障害情報テーブル１２２から選択する。
【０４２４】
次に、ホスト計算機１０は、選択したレコードから、稼動状況１２２２を抽出する。次に、ホスト計算機１０は、パス状態変化確認テーブル１２５から選択したレコードの障害検知後状態１２５３に、抽出した稼動状況１２２２を格納する。
【０４２５】
ホスト計算機１０は、この処理を繰り返すことによって、パス状態変化確認テーブル１２５を更新する。
【０４２６】
次に、ホスト計算機１０は、障害回復箇所経由パスを、パス番号の低いものから順に選択する。そして、ホスト計算機１０は、選択した障害回復箇所経由パスに対して以下の処理を行う（Ｓ１１６６）。
【０４２７】
まず、ホスト計算機１０は、パス状態変化確認テーブル１２５を参照して、選択した障害回復箇所経由パスの状態が障害検知処理（図２０）の前後で変化したか否かを判定する（Ｓ１１６７）。
【０４２８】
具体的には、ホスト計算機１０は、選択した障害回復箇所経由パスの識別子とパス状態変化確認テーブル１２５のパス番号１２５１とが一致するレコードを、パス状態変化確認テーブル１２５から選択する。次に、ホスト計算機１０は、選択したレコードの障害検知前状態１２５２及び障害検知後状態１２５３に、「オフライン」が格納されているか否かを判定する。
【０４２９】
障害検知前状態１２５２及び障害検知後状態１２５３に「オフライン」が格納されている場合、ホスト計算機１０は、選択した障害回復箇所経由パスの状態が変化していないと判定する。そこで、ホスト計算機１０は、当該選択した障害回復箇所経由パスに対する処理を終了する。
【０４３０】
一方、障害検知後状態１２５３に「オンライン」が格納されていると、ホスト計算機１０は、選択した障害回復箇所経由パスの状態がオフラインからオンラインに変化したと判定する。つまり、ホスト計算機１０は、選択した障害回復箇所経由パスが障害から回復したと判定する。更に、ホスト計算機１０は、当該障害回復箇所経由パスが経由している障害原因箇所の障害も回復したと判定する。
【０４３１】
この場合、ホスト計算機１０は、障害原因箇所テーブル１２３を更新する（Ｓ１１６８）。
【０４３２】
具体的には、ホスト計算機１０は、選択した障害回復箇所経由パスの識別子とパス接続情報テーブル１２１のパス番号１２１１とが一致するレコードを、パス接続情報テーブル１２１から選択する。次に、ホスト計算機１０は、選択したレコードから、ＨＢＡ番号１２１２、ＣＨＡ番号１２１３、ＣＨＡポート番号１２１４及びＬＵ番号１２１５を抽出する。
【０４３３】
次に、ホスト計算機１０は、抽出したＨＢＡ番号１２１２、ＣＨＡ番号１２１３、ＣＨＡポート番号１２１４及びＬＵ番号１２１５のうち少なくとも一つと障害原因箇所テーブル１２３の障害原因箇所１２３１とが一致するレコードを、障害原因箇所テーブル１２３から削除する。これによって、ホスト計算機１０は、障害から回復した障害原因箇所に関する情報を、障害原因箇所テーブル１２３から削除する。
【０４３４】
そして、ホスト計算機１０は、当該選択した障害回復箇所経由パスに対する処理を終了する。なお、ホスト計算機１０は、ステップＳ１１６６においてすべての障害回復箇所経由パスを選択するまで処理を繰り返す。
【０４３５】
ホスト計算機１０は、すべての障害回復箇所経由パスを処理すると、更新した障害原因箇所テーブル１２３を管理サーバ３０に送信する（Ｓ１１６９）。そして、ホスト計算機１０は、管理サーバ通知による障害回復処理を終了する。
【０４３６】
以上のように、本発明の実施の形態では、ホスト計算機１０は、パスに障害が発生すると、当該パスと同じＬＵ２５にアクセス可能なパスを用いて障害検知信号を送信することによって、障害検知処理を行う。このとき、ホスト計算機１０は、障害検知処理によって障害が検知されたパスを閉塞（オフライン）する。その後、ホスト計算機１０は、障害が発生してないパスだけを用いて、Ｉ／Ｏ要求を送信する。なお、障害検知信号の送信による障害検知処理は、Ｉ／Ｏ要求の再送による障害検知処理よりも処理時間が短い。
【０４３７】
そのため、本発明の実施の形態の計算機システムは、ラウンドロビンでパスを選択するシステムよりも、障害障害発生時における処理の遅延を減少させることができる。
【０４３８】
また、本実施の形態では、ホスト計算機１０は、パスに障害が発生すると、障害原因箇所を推定する。そして、ホスト計算機１０は、推定した障害原因箇所に接続されるパスを閉塞（オフライン）する。つまり、ホスト計算機１０は、障害の原因に関連するパスを閉塞できる。
【０４３９】
更に、ホスト計算機１０は、推定した障害原因箇所を管理サーバ３０に通知する。管理サーバ３０は、ホスト計算機１０から障害原因箇所を通知されると、通知された障害原因箇所を他のホスト計算機１０に通知する。当該他のホスト計算機１０は、通知された障害原因箇所に接続されるパスを閉塞（オフライン）する。
【０４４０】
そのため、本実施の形態の計算機システムでは、障害を検出したホスト計算機１０以外のホスト計算機１０も、障害に関連するパスを閉塞できる。
【０４４１】
更に、ホスト計算機１０は、障害原因箇所を通知されると、通知された障害原因箇所に接続されるパスを用いて障害検知信号を送信することによって、障害検知処理を行う。これによって、障害原因箇所を通知されたホスト計算機１０も、自ら障害原因箇所を推定する。そして、障害原因箇所を通知されたホスト計算機１０は、自ら推定した障害原因箇所を管理サーバ３０に通知する。
【０４４２】
そのため、管理サーバ３０は、複数のホスト計算機１０から通知された障害原因箇所を比較することによって、ホスト計算機１０から通知された障害原因箇所の正当性を判断できる。
【０４４３】
（第２の実施の形態）
本発明の第１の実施の形態では、ホスト計算機１０は、障害が発生すると、代替パスを用いてＩ／Ｏ要求を送信した。一方、本発明の第２の実施の形態では、ホスト計算機１０は、障害が発生すると、代替パスを用いてＩ／Ｏ要求を送信せずに、障害検知処理を行う。
【０４４４】
本発明の第２の実施の形態の計算機システムの構成は、第１の実施の形態の計算機システム（図１）と同一である。よって、本発明の第２の実施の形態の計算機システムの構成については、説明を省略する。
【０４４５】
また、本発明の第２の実施の形態の計算機システムの処理は、ロードバランス処理及び障害対応処理を除き、本発明の第１の実施の形態の計算機システムと同一である。よって、同一の処理については、説明を省略する。
【０４４６】
図２６は、本発明の第２の実施の形態のホスト計算機１０によって実行されるロードバランス処理のフローチャートである。
【０４４７】
本発明の第２の実施の形態のロードバランス処理は、ステップＳ１００９が省略される点を除き、第１の実施の形態のロードバランス処理（図１１）と同一である。同一の処理には同一の番号を付すことによって、説明を省略する。
【０４４８】
本発明の第２の実施の形態では、ホスト計算機１０は、代替パスを用いてＩ／Ｏ要求を送信しない。よって、ホスト計算機１０は、障害対応処理（Ｓ１００８）を終了すると、そのままステップＳ１００１に戻る。
【０４４９】
図２７は、本発明の第２の実施の形態のホスト計算機１０によって実行される障害対応処理のフローチャートである。
【０４５０】
本発明の第２の実施の形態の障害対応処理は、代替パスに関する処理が省略されている点を除き、第１の実施の形態の障害対応処理（図１２）と同一である。
【０４５１】
なお、障害対応処理は、ロードバランス処理（図２６）のステップＳ１００８において実行される。
【０４５２】
まず、ホスト計算機１０は、障害が発生したパスを閉塞（オフライン）する。次に、ホスト計算機１０は、パス障害情報テーブル１２２を更新する（Ｓ１０１１）。
【０４５３】
次に、ホスト計算機１０は、障害が発生したパスの識別子とロードバランスポイント切替テーブル１２４のロードバランスポイント１２４３とが一致するレコードを、ロードバランスポイント切替テーブル１２４から選択する。次に、ホスト計算機１０は、選択したレコードの現在Ｉ／Ｏ回数１２４４に「０」を格納する（Ｓ１０１２）。
【０４５４】
次に、ホスト計算機１０は、障害が発生したパスと同じＬＵ２５にアクセス可能なパスを特定する。次に、ホスト計算機１０は、特定したパスの中から、オンラインのパスを特定する。そして、ホスト計算機１０は、特定したオンラインのパスを、障害検知実行パスとして特定する（Ｓ１０１８）。
【０４５５】
次に、ホスト計算機１０は、特定した障害検知実行パスに対して、障害対応時における障害検知処理（図１４）を実行する（Ｓ１０１９）。
【０４５６】
そして、ホスト計算機１０は、障害対応処理を終了する。ホスト計算機１０は、障害対応処理を終了すると、ロードバランス処理（図２６）に戻る。更に、ホスト計算機１０は、障害対応処理を終了すると、パス閉塞伝播処理を行う。つまり、ホスト計算機１０は、ロードバランス処理及びパス閉塞伝播処理を並列的に実行する。
【０４５７】
以上のように、本発明の第２の実施の形態では、ホスト計算機１０は、障害が発生すると、代替パスを用いてＩ／Ｏ要求を送信せずに、障害検知処理を行う。
【図面の簡単な説明】
【０４５８】
【図１】本発明の第１の実施の形態の計算機システムの構成のブロック図である。
【図２】本発明の第１の実施の形態のホスト計算機に記憶されるパス接続情報テーブルの構成図である。
【図３】本発明の第１の実施の形態のホスト計算機に記憶されるパス障害情報テーブルの構成図である。
【図４】本発明の第１の実施の形態のホスト計算機に記憶される障害原因箇所テーブルの構成図である。
【図５】本発明の第１の実施の形態のホスト計算機に記憶されるロードバランスポイント切替テーブルの構成図である。
【図６】本発明の第１の実施の形態のホスト計算機に記憶されるパス状態変化確認テーブルの構成図である。
【図７】本発明の第１の実施の形態の管理サーバに記憶されるＬＵ接続先ホストテーブルの構成図である。
【図８】本発明の第１の実施の形態の管理サーバに記憶されるＣＨＡ接続先ホストテーブルの構成図である。
【図９】本発明の第１の実施の形態の管理サーバに記憶されるＣＨＡポート接続先ホストテーブルの構成図である。
【図１０】本発明の第１の実施の形態の管理サーバに記憶される全ホスト障害原因箇所テーブルの構成図である。
【図１１】本発明の第１の実施の形態のホスト計算機によって実行されるロードバランス処理のフローチャートである。
【図１２】本発明の第１の実施の形態のホスト計算機によって実行される障害対応処理のフローチャートである。
【図１３】本発明の第１の実施の形態のホスト計算機によって実行される代替パスの選択処理のフローチャートである。
【図１４】本発明の第１の実施の形態のホスト計算機によって実行される障害対応時における障害検知処理のフローチャートである。
【図１５】本発明の第１の実施の形態のホスト計算機によって実行されるロードバランスポイントの変更処理のフローチャートである。
【図１６】本発明の第１の実施の形態のホスト計算機によって実行されるパス閉塞伝播処理のフローチャートである。
【図１７】本発明の第１の実施の形態のホスト計算機によって実行される障害原因箇所の推定処理のフローチャートである。
【図１８】本発明の第１の実施の形態の管理サーバによって実行される障害原因確認処理のフローチャートである。
【図１９】本発明の第１の実施の形態のホスト計算機によって実行される管理サーバ通知による障害対応処理のフローチャートである。
【図２０】本発明の第１の実施の形態のホスト計算機によって実行されるオフラインのパスに対する障害検知処理のフローチャートである。
【図２１】本発明の第１の実施の形態のホスト計算機によって実行される正当性確認処理のフローチャートである。
【図２２】本発明の第１の実施の形態のホスト計算機によって実行される全パス障害検知処理のフローチャートである。
【図２３】本発明の第１の実施の形態のホスト計算機によって実行されるパス障害回復処理のフローチャートである。
【図２４】本発明の第１の実施の形態の管理サーバによって実行される障害回復確認処理のフローチャートである。
【図２５】本発明の第１の実施の形態のホスト計算機によって実行される管理サーバ通知による障害回復処理のフローチャートである。
【図２６】本発明の第２の実施の形態のホスト計算機によって実行されるロードバランス処理のフローチャートである。
【図２７】本発明の第２の実施の形態のホスト計算機によって実行される障害対応処理のフローチャートである。
【符号の説明】
【０４５９】
１０  ホスト計算機
１１  ＣＰＵ
１２  メモリ
１３  ネットワークインタフェース
１４  ＨＢＡ
２０  ストレージシステム
２１  ＣＨＡ
２２  ＣＰＵ
２３  メモリ
２４  ＣＨＡポート
２５  ＬＵ
２７  ディスクコントローラ
３０  管理サーバ
３１  ＣＰＵ
３２  メモリ
３３  ネットワークインタフェース
４０  ファイバチャネルスイッチ
４１  ポート
１２１  パス接続情報テーブル
１２２  パス障害情報テーブル
１２３  障害原因箇所テーブル
１２４  ロードバランスポイント切替テーブル
１２５  パス状態変化確認テーブル
１２６  デバイスリンクマネージャ
３２１  ＬＵ接続先ホストテーブル
３２２  ＣＨＡ接続先ホストテーブル
３２３  ＣＨＡポート接続先ホストテーブル
３２４  全ホスト障害原因箇所テーブル
３２５  ホストマネージャ
【図１】
2007265243.tif 000003
【図２】
2007265243.tif 000004
【図３】
2007265243.tif 000005
【図４】
2007265243.tif 000006
【図５】
2007265243.tif 000007
【図６】
2007265243.tif 000008
【図７】
2007265243.tif 000009
【図８】
2007265243.tif 000010
【図９】
2007265243.tif 000011
【図１０】
2007265243.tif 000012
【図１１】
2007265243.tif 000013
【図１２】
2007265243.tif 000014
【図１３】
2007265243.tif 000015
【図１４】
2007265243.tif 000016
【図１５】
2007265243.tif 000017
【図１６】
2007265243.tif 000018
【図１７】
2007265243.tif 000019
【図１８】
2007265243.tif 000020
【図１９】
2007265243.tif 000021
【図２０】
2007265243.tif 000022
【図２１】
2007265243.tif 000023
【図２２】
2007265243.tif 000024
【図２３】
2007265243.tif 000025
【図２４】
2007265243.tif 000026
【図２５】
2007265243.tif 000027
【図２６】
2007265243.tif 000028
【図２７】
2007265243.tif 000029