(57)【要約】【課題】Ｉ／Ｏスイッチ装置を有する計算機において障害時のＩ／Ｏデバイス管理を容易化する【解決手段】Ｉ／Ｏスイッチに接続されるＩ／Ｏデバイスの種類を管理するＩ／Ｏデバイス管理テーブルを設け、１または複数の未割当のＩ／Ｏデバイスを待機用Ｉ／Ｏデバイスと規定して登録する。Ｉ／Ｏデバイスのいずれかに障害が発生した場合に、Ｉ／Ｏデバイス管理テーブルを用いて待機用のＩ／Ｏデバイスの中から障害が発生したＩ／Ｏデバイスと同じ種類のＩ／Ｏデバイスを選択し、障害が発生したＩ／Ｏデバイスが接続された計算機に割り当てる。【選択図】図１
2008310489.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算機が、１または複数のＩ／Ｏスイッチを介して、外部装置と接続するための複数のＩ／Ｏデバイスに接続される計算機システムにおいて、該計算機に１または複数の任意の該Ｉ／Ｏデバイスを割り当てて、かつその割り当てを変更するＩ／Ｏデバイスの切替え方法であって、
該Ｉ／Ｏスイッチに接続することができる複数の種類のＩ／Ｏデバイスを管理するＩ／Ｏデバイス管理テーブルに、該計算機に割り当てされていない１または複数の該Ｉ／Ｏデバイスを待機用Ｉ／Ｏデバイスとして定義して登録し、該Ｉ／Ｏデバイスのいずれかに障害が発生した場合に、該Ｉ／Ｏデバイス管理テーブルを参照して該待機用のＩ／Ｏデバイスの中から該障害が発生したＩ／Ｏデバイスと同じ種類の該Ｉ／Ｏデバイスを選択し、該障害が発生したＩ／Ｏデバイスが接続された計算機に割り当てることを特徴とするＩ／Ｏデバイス切り替え方法。
【請求項２】
Ｉ／Ｏデバイス管理テーブルは該Ｉ／Ｏデバイスの固有の識別子を保持し、該障害が発生したＩ／Ｏデバイスの識別子を該Ｉ／Ｏデバイス管理テーブルから取得するとともに、該選択されたＩ／Ｏデバイスの識別子を該障害が発生したＩ／Ｏデバイスが有する識別子に書き換えることを特徴とする請求項１のＩ／Ｏデバイス切り替え方法。
【請求項３】
該識別子の書き換えは、該障害が発生したＩ／Ｏデバイスに割り当てられている該計算機に該識別子を書き換えるためのプログラムを転送し該識別子を書き換えることを特徴とする請求項２のＩ／Ｏデバイス切り替え方法。
【請求項４】
該Ｉ／Ｏスイッチは該Ｉ／Ｏデバイスが接続されたポート番号を、該計算機からは任意のポート番号に変換する機能を有し、該Ｉ／Ｏデバイスの障害時に、該選択されたＩ／Ｏデバイスが接続されたポート番号を該障害が発生したＩ／Ｏデバイスが接続されたポート番号と同じになるようにポート番号を変換することを特徴とする請求項１のＩ／Ｏデバイス切り替え方法。
【請求項５】
該Ｉ／Ｏスイッチ毎にそれぞれ待機用のＩ／Ｏデバイスを設け、該Ｉ／Ｏデバイスの障害時に、該Ｉ／Ｏスイッチ毎の待機用のＩ／Ｏデバイスの数が多い方から交代用のＩ／Ｏデバイスを選択することを特徴とする請求項１のＩ／Ｏデバイス切り替え方法。
【請求項６】
該Ｉ／Ｏスイッチ毎にそれぞれ待機用のＩ／Ｏデバイスを設け、該Ｉ／Ｏデバイスの障害時に、負荷が小さい該Ｉ／Ｏスイッチに設けられた待機用のＩ／Ｏデバイスから交代用のＩ／Ｏデバイスを選択することを特徴とする請求項１のＩ／Ｏデバイス切り替え方法。
【請求項７】
該計算機は同じ種類の複数の該Ｉ／Ｏデバイスを用いて高信頼化されている場合に、該Ｉ／Ｏスイッチ毎にそれぞれ待機用のＩ／Ｏデバイスを設け、該Ｉ／Ｏデバイスの障害時に、該障害が発生したＩ／Ｏデバイスが接続された該Ｉ／Ｏスイッチに設けられた待機用のＩ／Ｏデバイスの中から交代用のＩ／Ｏデバイスを選択することを特徴とする請求項１のＩ／Ｏデバイス切り替え方法。
【請求項８】
該計算機に割り当てられた該Ｉ／Ｏデバイスの種類と該待機用のＩ／Ｏデバイスの種類を比較し、該待機用のＩ／Ｏデバイスの種類が該計算機に割り当てられた該Ｉ／Ｏデバイスの種類が少ない場合に、待機用のＩ／Ｏデバイスが不足していることを管理者に通知することを特徴とする請求項１のＩ／Ｏデバイス切り替え方法。
【請求項９】
複数の計算機と、該複数の計算機に接続される１または複数のＩ／Ｏスイッチと、該Ｉ／Ｏスイッチに接続され、外部装置と接続するための複数のＩ／Ｏデバイスと、該複数の計算機にネットワークを介して接続され、該計算機及び該Ｉ／Ｏデバイスの状態を監視すると共に、該計算機に接続された１または複数該Ｉ／Ｏデバイスの割り当てを変更する制御を行う管理サーバと、を含む計算機システムにおいて、
該管理サーバは、該Ｉ／Ｏスイッチに接続することができる複数の種類のＩ／Ｏデバイスであって、該計算機に割り当てられていない１または複数の該Ｉ／Ｏデバイスを待機用Ｉ／Ｏデバイスとして定義して管理するＩ／Ｏデバイス管理テーブルと、少なくとも複数の該Ｉ／Ｏデバイスで発生する障害を検出する障害検出部と、該障害検出部で障害が検出された場合、該Ｉ／Ｏデバイス管理テーブルを参照して、該障害が発生した該Ｉ／Ｏデバイスと同じ種類のＩ／Ｏデバイスを選択するＩ／Ｏデバイス選択部と、障害が発生した該Ｉ／Ｏデバイスを、該Ｉ／Ｏデバイス選択部によって選択されたＩ／Ｏデバイスに切替えるＩ／Ｏデバイス切り替え部と、を有し、
新たに切替えられたＩ／Ｏデバイスを、該Ｉ／Ｏスイッチを介して該計算機に接続することを特徴とする計算機システム。
【請求項１０】
前記管理サーバは、更に、
該Ｉ／Ｏスイッチ毎に固有なＩ／Ｏスイッチ識別子に対応して、Ｉ／Ｏスイッチのポート番号と、ポートに接続されたデバイスの種類を示す情報と、該Ｉ／Ｏデバイス毎に固有なデバイス識別子と、及びＩ／Ｏデバイスの状態を示す情報を管理するＩ／Ｏスイッチ管理テーブルを有し、
該Ｉ／Ｏスイッチ管理テーブルを参照して、障害が発生したＩ／Ｏデバイスのデバイス識別子を取得し、Ｉ／Ｏデバイス選択部で選択されたＩ／Ｏデバイスを、障害が発生したＩ／Ｏデバイスが割り当てられた該計算機に割り当て、
前記Ｉ／Ｏデバイス管理テーブルが、Ｉ／Ｏスイッチの識別子に対応して、ポート番号と、Ｉ／Ｏデバイスの割り当て状態を示す情報とを登録して管理している場合には、Ｉ／Ｏデバイスの割り当て状態を変更することを特徴とする請求項９の計算機システム。
【請求項１１】
Ｉ／Ｏデバイス管理テーブルは、該Ｉ／Ｏデバイスの固有の識別子を保持し、該障害が発生したＩ／Ｏデバイスの識別子を該Ｉ／Ｏデバイス管理テーブルから取得するとともに、該選択されたＩ／Ｏデバイスの識別子を該障害が発生したＩ／Ｏデバイスが有する識別子に書き換えることを特徴とする請求項９又は１０の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＩ／Ｏデバイス切り替え方法に係り、特にＩ／Ｏスイッチを有するサーバ装置に接続される複数のＩ／Ｏデバイスを選択的に切替えることができるＩ／Ｏデバイス切り替え方法及びその切り替え制御を行う管理サーバを含む計算機システムに関する。
【背景技術】
【０００２】
サーバ装置は、それぞれプロトコルが異なるネットワーク装置やストレージ装置等の複数種の外部装置と接続して利用されることがある。そのため、サーバ装置には異なるプロトコルを処理し、サーバ装置と外部の装置とを接続するための複数のＩ／Ｏデバイスが設けられる。一般的なサーバ装置は、サーバ装置とＩ／Ｏデバイスの対応付けは固定であり、その対応を変更することができない。そのため、企業の計算機システムやデータセンタのように多数のサーバ装置が稼働している環境では、サーバ装置毎に必要なＩ／Ｏデバイスを選択する必要がある。しかし、サーバ装置とＩ／Ｏデバイスの対応付けが固定されていると、サーバ装置の用途の変更などが生じた場合にＩ／Ｏデバイスの取り付けや取り外しを行う必要があり、運用管理が煩雑化する。
【０００３】
この課題を解決する一つの技術としてＩ／Ｏスイッチがある。Ｉ／Ｏスイッチは、サーバ装置と上記のＩ／Ｏデバイスとの間に配置される装置であり、Ｉ／Ｏスイッチの構成を制御することでサーバ装置に割り当てるＩ／Ｏデバイスを柔軟に変更することができる。また、Ｉ／Ｏスイッチには、複数のサーバ装置を接続することもできるため、複数のサーバ装置に対してＩ／Ｏデバイスの割り当てを柔軟化でき、運用管理の煩雑さを緩和することができる。
【０００４】
また、特許文献１（特開２００５−３０１４８８公報）には、管理サーバに入出力インタフェースの仕様及び接続状態を管理する管理テーブルを有し、統合管理サーバからの入出力装置接続指示に対してこの管理テーブルを参照して、条件に適合した入出力インタフェースを選択してその接続を変更する、入出力インタフェースモジュールの管理方法が開示されている。
【０００５】
【特許文献１】特開２００５−３０１４８８公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術によれば、Ｉ／Ｏスイッチにより、Ｉ／Ｏデバイスとサーバ装置の割り当てが柔軟化するが、一方で信頼性に対する対処が複雑化するという問題が生じる。例えばＩ／Ｏスイッチを持たないサーバ装置の場合、高信頼化のため複数のサーバ装置を用いた多重構成の環境において、いずれかのサーバ装置に障害が発生し他方に切り替える場合は、Ｉ／Ｏデバイスを含むサーバ装置ごと交代される。この場合、サーバ装置内のいずれかに障害が発生した場合は、障害の箇所に関わりなくサーバ装置の切り替えを行えば処理を回復することができる。つまり、Ｉ／Ｏデバイスを含むサーバ装置全体を切り替え単位とすることで、切り替えの単位は大きいが障害時の切り替え方法を簡単化できる。
【０００７】
しかし、Ｉ／Ｏスイッチを有するサーバ装置の場合は、サーバ装置とＩ／Ｏデバイスが分離されているため、障害の箇所を正しく把握し、それに対応した障害回復を行う必要がある。サーバ装置側に障害が発生した場合は、従来通り、サーバ装置を切り替えれば障害を回復することができる。しかし、Ｉ／Ｏスイッチに接続されたＩ／Ｏデバイスに障害が発生した場合、Ｉ／Ｏデバイスの障害を契機にサーバ装置の処理が停止するためサーバ装置に障害が発生した様に見える。そのため従来の方法を用いてサーバ装置だけを切り替えてもＩ／Ｏデバイスの障害を取り除かなければ障害を回復することはできないという事態になる。例えば、Ｉ／Ｏデバイスの障害を回復する場合は、障害が発生したＩ／Ｏデバイスと同じ種類のＩ／Ｏデバイスと交代する必要がある。つまり、Ｉ／Ｏスイッチを有するサーバ装置の回復には、従来のようにサーバ装置の障害だけを検知できれば障害回復ができる訳ではない。従って、サーバ装置の障害かＩ／Ｏデバイスの障害かどうかを切り分けて、それぞれに対応した障害回復の実施が課題となる。
【０００８】
本発明の目的は、Ｉ／Ｏスイッチを有するサーバ装置の信頼性を向上することにある。
より具体的には、本発明はＩ／Ｏスイッチに接続されたＩ／Ｏデバイスに障害が発生した場合に、適確にＩ／Ｏデバイスの切り替え制御を行うことにある。
【課題を解決するための手段】
【０００９】
本発明は、好ましくは、複数の計算機が、１または複数のＩ／Ｏスイッチを介して、外部装置と接続するための複数のＩ／Ｏデバイスに接続される計算機システムにおいて、該計算機に１または複数の任意の該Ｉ／Ｏデバイスを割り当てて、かつその割り当てを変更するＩ／Ｏデバイスの切替え方法であって、該Ｉ／Ｏスイッチに接続することができる複数の種類のＩ／Ｏデバイスを管理するＩ／Ｏデバイス管理テーブルに、該計算機に割り当てされていない１または複数の該Ｉ／Ｏデバイスを待機用Ｉ／Ｏデバイスとして定義して登録し、該Ｉ／Ｏデバイスのいずれかに障害が発生した場合に、該Ｉ／Ｏデバイス管理テーブルを参照して該待機用のＩ／Ｏデバイスの中から該障害が発生したＩ／Ｏデバイスと同じ種類の該Ｉ／Ｏデバイスを選択し、該障害が発生したＩ／Ｏデバイスが接続された計算機に割り当てるＩ／Ｏデバイス切り替え方法として構成される。
【００１０】
また、本発明に係る計算機システムは、好ましくは、複数の計算機と、該複数の計算機に接続される１または複数のＩ／Ｏスイッチと、該Ｉ／Ｏスイッチに接続され、外部装置と接続するための複数のＩ／Ｏデバイスと、該複数の計算機にネットワークを介して接続され、該計算機及び該Ｉ／Ｏデバイスの状態を監視すると共に、該計算機に接続された１または複数該Ｉ／Ｏデバイスの割り当てを変更する制御を行う管理サーバと、を含む計算機システムにおいて、
該管理サーバは、該Ｉ／Ｏスイッチに接続することができる複数の種類のＩ／Ｏデバイスであって、該計算機に割り当てられていない１または複数の該Ｉ／Ｏデバイスを待機用Ｉ／Ｏデバイスとして定義して管理するＩ／Ｏデバイス管理テーブルと、少なくとも複数の該Ｉ／Ｏデバイスで発生する障害を検出する障害検出部と、該障害検出部で障害が検出された場合、該Ｉ／Ｏデバイス管理テーブルを参照して、該障害が発生した該Ｉ／Ｏデバイスと同じ種類のＩ／Ｏデバイスを選択するＩ／Ｏデバイス選択部と、障害が発生した該Ｉ／Ｏデバイスを、該Ｉ／Ｏデバイス選択部によって選択されたＩ／Ｏデバイスに切替えるＩ／Ｏデバイス切り替え部と、を有し、新たに切替えられたＩ／Ｏデバイスを、該Ｉ／Ｏスイッチを介して該計算機に接続する計算機システムとして構成される。
【発明の効果】
【００１１】
本発明によれば、Ｉ／Ｏスイッチを有するサーバ装置における信頼性を向上することができる。とりわけ、あるＩ／Ｏデバイスに障害が発生した場合に、管理テーブルを参照して待機用のＩ／Ｏデバイスを選択し、そのＩ／Ｏデバイスに、計算機が接続されたＩ／Ｏスイッチを接続するようにＩ／Ｏデバイスの接続切り替え制御を行うことで、適確に障害回復を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を用いて本願発明の実施の形態を説明する。
図１は、一実施例による計算機システムの全体構成図を示す。
計算機システムにおいて、管理サーバ１０１は、ネットワークスイッチ１１３を介して複数のサーバ装置１１４に接続され、更に複数のサーバ装置１１４は複数のスイッチ装置１１５に接続される。スイッチ装置１１５には複数のソケット１１６を介してＩ／Ｏデバイス１１７が接続され、Ｉ／Ｏデバイスの内のいくつかはストレージ装置１１８と接続され、サーバ装置１１４からストレージ装置１１８をアクセスすることができる。通常、サーバ装置１１４とストレージ装置１１８との間でジョブが実行され、管理サーバ１０１は、サーバ装置１１４やＩ／Ｏデバイス１１７の障害の監視及び回復制御を行う。
【００１３】
ここで、管理サーバ１０１は、障害管理部１０２と、各種管理テーブル１０８〜１１２、およびデバイス識別子書き換えプログラム１１９を有する。障害管理部１０２は、障害検出部１０３，Ｉ／Ｏデバイス選択部１０４，サーバ切り替え部１０５，Ｉ／Ｏデバイス切り替え部１０６，デバイスプール検査部１２０、Ｉ／Ｏデバイス高信頼化割り当て部１０７を備える。管理サーバ１０１は、サーバ装置１１４やＩ／Ｏスイッチ装置１１５やＩ／Ｏデバイス１１７の障害を検知し回復する機能を有する。
【００１４】
障害検出部１０３は、サーバ装置１１４やＩ／Ｏスイッチ装置１１５やＩ／Ｏデバイス１１７の障害を検知する機能を有する。Ｉ／Ｏデバイス選択部は、障害が発生したＩ／Ｏデバイス１１７を交代するためのＩ／Ｏデバイス１１７を選択する機能を有する。サーバ切り替え部１０５は、サーバ装置１１４に障害が発生した場合に、待機用のサーバ装置１１４に切り替える機能を有する。Ｉ／Ｏデバイス切り替え部１０６は、障害が発生したＩ／Ｏデバイス１１７を交代する機能を有する。デバイスプール検査部１２０は、Ｉ／Ｏデバイス１１７の障害に備え、十分な交代用のＩ／Ｏデバイスが存在するかどうかを検査する機能を有する。Ｉ／Ｏデバイス高信頼化割り当て部１０７は、サーバ装置１１４が複数のＩ／Ｏデバイス１１７を用いて高信頼化を行っている場合に、Ｉ／Ｏデバイスの割り当てを高信頼化する機能を有する。
【００１５】
Ｉ／Ｏスイッチ管理テーブル１０８は、Ｉ／Ｏスイッチ１１５に接続されるサーバ装置１１４やＩ／Ｏデバイス１１７の情報を格納する。サーバ管理テーブル１０９はサーバ装置１１４の構成情報や状態情報などを格納する。サーバ切り替え管理テーブル１１０は、サーバ装置１１４に障害が発生した場合の、交代用のサーバ装置１１４の定義情報を格納する。デバイスプール管理テーブル１１１は、Ｉ／Ｏデバイス１１７に障害が発生した場合に、交代用のＩ／Ｏデバイス１１７の定義情報を格納する。負荷管理テーブル１１２は、Ｉ／Ｏスイッチ装置１１５の負荷の大きさを示す情報を格納する。デバイス識別子書き換えプログラム１１９は、Ｉ／Ｏデバイス１１７が有する固有の識別子を書き換える機能を有するプログラムであり、後述するプロセッサ２０２で実行されることでその機能が実現される。
本実施例では、管理サーバ１０１が、サーバ装置１１４やＩ／Ｏデバイス１１７の障害を監視し、障害時に正常な状態に回復する例を示すものである。
【００１６】
図２は、管理サーバ１０１の詳細な構成を示す。
管理サーバ１０１は、メモリ２０１、プロセッサ２０２、ディスクインターフェース２０３及びネットワークインターフェース２０４を有する。メモリ２０１には、障害管理部１０２、Ｉ／Ｏスイッチ管理テーブル１０８、サーバ管理テーブル１０９、サーバ切り替え管理テーブル１１０、デバイスプール管理テーブル１１１、負荷管理テーブル１１２、デバイス識別子書き換えプログラム１１９が格納される。
障害管理部１０２は、障害検出部１０３，Ｉ／Ｏデバイス選択部１０４，サーバ切り替え部１０５、Ｉ／Ｏデバイス切り替え部１０６，デバイスプール検査部１２０，Ｉ／Ｏデバイス高信頼化割り当て部１０７が含まれる。メモリ内の障害管理部１０２やテーブル１０８〜１１２は、プロセッサ２０２に読み込まれ処理されて所定の機能や動作を実現する。ディスクインターフェース２０３は、管理サーバ１０１を起動するためのプログラムが格納されたディスクに接続される。ネットワークインターフェース２０４は、ネットワークに接続され各装置の障害情報などを転送する。
【００１７】
図３は、サーバ装置１１４の構成を示す。
サーバ装置１１４は、メモリ３０１、プロセッサ３０２、Ｉ／Ｏスイッチインターフェース３０３，ＢＭＣ（Base board Management Controller）３０４を有する。メモリ３０１には、サーバ装置１１４で処理されるプログラムが格納され、それらのプログラムはプロセッサ３０２で実行される。Ｉ／Ｏスイッチインターフェース３０３はＩ／Ｏスイッチ装置１１５に接続される。ＢＭＣ３０４は、サーバ装置１１４内のハードウェアに障害が発生した場合に、ネットワークを介して障害を通知する機能を有する。ＢＭＣ３０４は障害の発生箇所とは独立に動作できるため、メモリ３０１やプロセッサ３０２に障害が発生したとしても障害通知を転送することができる。
【００１８】
図４は、Ｉ／Ｏスイッチ装置１１５の構成を示す。
Ｉ／Ｏスイッチ装置１１５は、メモリ４０１、制御プロセッサ４０２、ネットワークインターフェース４０３、クロスバスイッチ４０４、ポート４０７を有する。メモリ４０１には、クロスバスイッチ制御部４０５、ポート管理テーブル４０６が格納される。クロスバスイッチ制御部４０５は、ポート４０７毎の状態や割り当てを制御する機能を有する。メモリ４０１内のクロスバスイッチ制御部４０５やポート管理テーブル４０６は、制御プロセッサ４０２に読み込まれて実行される。Ｉ／Ｏスイッチ装置１１５は、ネットワークインターフェース４０３を介して、Ｉ／Ｏスイッチの障害情報の転送や、Ｉ／Ｏスイッチ装置１１５の制御を行うためのコマンドを受信することができる。ポート管理テーブルは、ポート４０７毎の状態や割り当て情報を格納する。クロスバスイッチ４０４は、ポート４０７間でデータの転送制御を行う。
【００１９】
図５はストレージ装置１１８の構成を示す。
ストレージ装置１１８は、ストレージ制御装置５０１とディスク装置５０２を有する。ストレージ制御装置５０１は、サーバ装置１１４と接続され、ディスク装置５０２内のディスク５０３に対して読み込みおよび書き込みの制御を行う。ディスク装置５０２内のディスク５０３には、それぞれ論理ユニット（ＬＵ）と呼ばれる識別子が付けられ、サーバ装置１１４から論理ユニットを識別できるようになっている。
【００２０】
図６は、障害処理の例を示す。
サーバ装置１１４のいずれかに障害が発生した場合に、Ｉ／Ｏスイッチ装置１１５のデータ転送経路を変更して、待機サーバ６０１を使用して回復する動作を行う。サーバ装置１１４は、業務処理などを実行するための役割と、待機サーバ６０１とに役割が分けられる。いずれの役割のサーバも、複数設けることができる。
【００２１】
本実施例では、業務を処理するサーバのいずれかに障害が発生した場合、事前に設定された待機サーバ６０１に処理を引き継ぐ。例えば、ディスク装置１１８内のブートディスク６０２にはサーバ装置１１４が起動するのに必要なプログラムやデータが格納されているが、障害が発生したサーバ装置１１４が使用していたブートディスク６０２を待機サーバ６０１に割り当て直すことで、障害が発生したサーバ装置１１４の処理を引き継ぐことができる。
【００２２】
そのために、Ｉ／Ｏスイッチ装置１１５の経路を変更する。具体的には、障害発生前の経路６０３から経路６０４に変更する。これにより、サーバ装置１１４の障害を回復することができる。この障害回復方法は、障害発生前のＩ／Ｏデバイス１１７を障害発生後の待機サーバ６０１に引き継いで使用することができるため、サーバ装置１１４の構成に変更が生じず円滑な引き継ぎが可能となる。
【００２３】
図７は一実施例における障害回復動作の例を示す。
Ｉ／Ｏデバイス１１７のいずれかに障害が発生した場合に、Ｉ／Ｏデバイスを交代し障害回復を行う動作を行う。特徴的なことは、未使用のデバイスを待機用としてまとめて管理するデバイスプール７０４を設定したことである。デバイスプール７０４には、複数の種類のＩ／Ｏデバイスがプールされ、障害時の交代に備える。ユーザは、Ｉ／Ｏスイッチ装置１１５を、ソケット１１６を介して複数の種類のＩ／Ｏデバイスと自由に接続することができる。例えば、ネットワーク接続を行うためのＮＩＣ（Network  Interface Card）やストレージ装置１１８と接続するためのＨＢＡ(Host Bus Adapter)等がある。Ｉ／Ｏスイッチ装置１１５は、あらゆるデータを転送することができる経路を提供する。Ｉ／Ｏに機能を持つのはＩ／Ｏデバイス１１７であり、Ｉ／Ｏデバイス１１７はサーバ装置１１４と違って、均一の機能を有している訳ではない。
【００２４】
そこで、いかなる種類のＩ／Ｏデバイスに障害が発生しても、その回復に対処するためには、予め全ての種類のＩ／Ｏデバイス１１７をプール（７０４）しておくことが好ましい。あるＩ／Ｏデバイス１１７´に障害が発生した時、Ｉ／Ｏスイッチ装置１１５を制御し、経路７０３から経路７０２に変更する。この時、Ｉ／Ｏデバイス１１７の交代には、障害が発生したＩ／Ｏデバイス１１７と同じ種類のＩ／Ｏデバイス１１７をデバイスプール７０４の中から選択する。また、サーバ装置１１４の構成変更を生じさせないようにするために、Ｉ／Ｏデバイス１１７の固有情報を引き継ぐ動作（７０１）も行う。固有情報とは、例えばＮＩＣであればＭＡＣ(Media Access Control address)アドレス、ＨＢＡであればＷＷＮ（World Wide Name）等である。これらの処理によって、いかなるＩ／Ｏデバイス１１７に障害が発生しても、サーバ装置１１４は障害が発生したＩ／Ｏデバイス１１７´を他のＩ／Ｏデバイス１１７と交代することで、容易に障害回復させることができる。また、固有情報の引き継ぎによって、サーバ装置１１４の構成が変更されることはない。
【００２５】
図８は一実施例における障害回復動作の他の例を示す。
この例は、複数（２つ）のデバイスプール８０１を設定したものである。Ｉ／Ｏデバイス１１７に障害が発生した場合、デバイスプール８０１のいずれかから、同じ機能を有するＩ／Ｏデバイス１１７を選択して割り当てることができる。図７の例と同様に、Ｉ／Ｏデバイスの固有情報の引き継ぎ（８０２）も行うことができる。複数のデバイスプール８０１を有することで、例えば、Ｉ／Ｏデバイス１１７の性能毎にデバイスプールを分けて性能管理を容易化したり、Ｉ／Ｏデバイス１１７の種類毎に分けて種類の管理を容易化したり、Ｉ／Ｏスイッチ装置１１５毎に分けて経路の多重化により高信頼化された構成に対応した障害回復を行うことが可能である。
【００２６】
図９は、Ｉ／Ｏスイッチ管理テーブル１０８の構成を示す。
９０１は、Ｉ／Ｏスイッチ装置１１５毎に割り当てられるＩ／Ｏスイッチ識別子である。９０２はＩ／Ｏスイッチ装置１１５のポート番号である。９０３はポートに接続されたデバイスの種類を示す情報を示し、例えば、ＮＩＣであればＭＡＣ(Media Access Control address)アドレス、ＨＢＡであればＷＷＮ（World Wide Name）等である。９０４は、Ｉ／Ｏデバイス１１７毎の固有情報であるデバイス識別子である。９０５は、Ｉ／Ｏデバイス１１７の状態を示し、例えば、正常動作可能、障害発生の如き情報である。
【００２７】
Ｉ／Ｏスイッチ管理テーブル１０８で管理される情報は、新たにＩ／Ｏデバイス１１７が接続された場合やＩ／Ｏデバイス１１７の障害が原因で交換された場合などの、Ｉ／Ｏデバイス１１７に変更が生じた場合に更新される。Ｉ／Ｏスイッチ管理テーブル１０８を有することで、Ｉ／Ｏスイッチ装置１１５に接続されるＩ／Ｏデバイスを管理することができる。また、Ｉ／Ｏデバイス１１７に障害が発生しＩ／Ｏデバイス１１７にアクセス不可能になった場合にも、デバイスの識別子を取得することができる。
【００２８】
図１０は、サーバ管理テーブル１０９の構成を示す。
１００１はサーバ装置識別子、１００２はサーバ装置１１４のプロセッサ構成、１００３はメモリ構成を示す情報である。また、１００４はサーバ装置１１４が接続されているＩ／Ｏスイッチ装置１１５のポート番号、１００５はサーバ装置１１４に割り当てられているＩ／Ｏデバイス１１７が接続されたポート番号、１００６はサーバ装置１１４に割り当てられたＩ／Ｏデバイス１１７の種類、１００７は、サーバ装置に割り当てられたディスクの論理ユニット番号を示す情報である。サーバ管理テーブル１０９によって、サーバ装置１１４に割り当てられたＩ／Ｏデバイス１１７を管理することができる。
【００２９】
図１１はサーバ切り替え管理テーブル１１０の構成を示す。
１１０１はサーバ識別子、１１０２はサーバ装置の障害時に切り替え先となるサーバ装置の識別子を示す。例えば、ＨＯＳＴ1に障害が発生した場合には、ＨＯＳＴ４を交代用のサーバ装置とするといった情報が保管される。１１０３はＩ／Ｏ多重接続構成を示し、例えば、ＨＯＳＴ１のＮＩＣおよびＨＢＡはそれぞれ多重化され高信頼化されているといった情報である。Ｉ／Ｏデバイス１１７を多重化することで、いずれか一つのＩ／Ｏデバイスに障害が発生しても正常なＩ／Ｏデバイス１１７を用いて処理を継続することができる。
【００３０】
Ｉ／Ｏデバイス１１７の切り替えが発生したことをサーバ装置１１４上で稼働するプログラムに見せないようにするために、多重化されたＩ／Ｏデバイス１１７を仮想化された識別子を定義することができる。例えば、物理ＮＩＣが有するＭＡＣアドレスとは異なる仮想的なＭＡＣアドレスを用いてＩ／Ｏデバイス１１７の切り替えを見せなくすることで、プログラムには障害発生を意識させない。定義Ｉ／Ｏ多重化接続構成が構成されていない場合は何も記載されない。１１０４はサーバの状態を示す情報を示し、例えば、正常又は障害といった情報である。
サーバ切り替え管理テーブル１１０によって、サーバ装置１１４に障害が発生した場合の交代用サーバ装置を定義することができる。また、Ｉ／Ｏ多重化接続構成を記述できるようにしたことで、Ｉ／Ｏデバイス１１７等に障害が発生した場合に、高信頼性を保ったまま回復を行うための情報として用いることができる。
【００３１】
図１２は、デバイスプール管理テーブル１１１の構成を示す。
１２０１はＩ／Ｏスイッチ装置１１５の識別子、１２０２はポート番号、１２０３はＩ／Ｏデバイス１１７の割り当て状態を示し、例えばサーバ装置１１４に割り当て済みか未割当かといった情報である。１２０４はデバイスプール割り当て状態を示す情報である。
図示の例では、ＳＷ１／ＳＷ２のポート６，７がデバイスプールとして割り当てられている。デバイスプールは交代用のＩ／Ｏデバイス１１７を規定しているので、Ｉ／Ｏデバイス１１７に障害が発生した時に、管理者は、障害発生元のＩ／Ｏデバイス１１７の種類や優先度などに応じて交代先のＩ／Ｏデバイスを割り当てることができる。
【００３２】
なお、デバイスプールに割り当てるＩ／Ｏデバイス１１７は、ポート番号が連続している必要はなく不連続なポートを割り当てても良い。また、一つのＩ／Ｏスイッチ装置１１５に複数のデバイスプールを設けても良い。Ｉ／Ｏデバイスの数が多くなれば、デバイスプールとして定義するＩ／Ｏデバイス１１７も多くする方がシステム全体の信頼性は向上する。なお、未割当のＩ／Ｏデバイス１１７の全てをデバイスプールに定義しなくても良い。例えば、管理者は割り当てるための用途に備えて、手動でデバイスプールに属さない未割当のＩ／Ｏデバイス１１７を設定することもできる。
【００３３】
図１３は、負荷管理テーブル１１２の構成を示す。
ここで負荷とは、Ｉ／Ｏスイッチ装置１１５の負荷を示す。１３０１はＩ／Ｏスイッチ装置１１５の識別子が格納される。１３０２はポート番号が格納される。１３０３は総転送データ量が格納される。１３０４は、単位時間当たりのトラフィック量が格納される。負荷管理テーブル１１２は、Ｉ／Ｏスイッチ装置１１５のネットワークインターフェース４０３から定期的に性能情報を取得し更新を行う。負荷管理テーブル１１２によって、Ｉ／Ｏスイッチ装置１１５のポート毎の負荷を知ることができるようになる。
【００３４】
図１４はポート管理テーブル４０６の構成を示す。
１４０１はＩ／Ｏスイッチ装置１１５の物理ポート番号、１４０２は割り当てグループを示す情報である。割り当てグループとはポートのつながりを示し、例えば割り当てグループが同一のポート間ではデータの転送は可能であるが、他の異なる割り当てグループ間とはデータ転送することはできない。１４０３は論理ポート番号であり、サーバ装置１１４に対してポート番号を仮想化したものである。例えば、物理ポート番号が４のポートには論理ポートが２に割り当てられているため、サーバ装置１１４にはポート番号２に見せかけることができる。
【００３５】
ポートを仮想化することで、サーバ装置１１４に対して、ハードウェアの構成を柔軟に割り当てることができるようになる。例えば、Ｉ／Ｏデバイス１１７に障害が発生し、他のＩ／Ｏデバイス１１７と交代した場合に、ポートの仮想化を用いることで構成を同一に見せることができる。また、同一のＩ／Ｏデバイス１１７が割り当てられたサーバ装置１１４であっても、Ｉ／Ｏデバイス１１７が接続されたポート番号の順番が変わることでオペレーティングシステムのデバイスの認識順序が異なる場合があり、これによりディスクの順番が変更され不具合が生じることがある。このような場合に、論理ポートを用いて順番を変更することで不具合を回避することができる。
【００３６】
図１５は、Ｉ／Ｏスイッチ装置１１５の割り当て例を示す。
ホスト装置１１４に対して割り当てグループ１５０２の機能を用いて任意のＩ／Ｏデバイス１１７を割り当てることができる。また、Ｉ／Ｏデバイス１１７が接続されたポート番号４０７を仮想化し論理ポート１５０１としてサーバ装置１１４に見せることができる。割り当てグループ１５０２によって、他の割り当てグループ１５０２からＩ／Ｏデバイス１１７にアクセスすることはできないため、信頼性を向上することができる。
【００３７】
図１６は論理ポートの変換の手順を示す。
サーバ装置１１４からＩ／Ｏスイッチ装置１１５に対してデータを送信した場合のパケットの構造を１６０１〜１６０４に示す。１６０１は送信元のポート番号、１６０２は送信先のポート番号、１６０３は論理ポートを一時的に格納する領域、１６０４は送信するデータである。１６０１〜１６０４のパケットがＩ／Ｏスイッチ装置１１５に転送されると、クロスバスイッチ制御部４０５とポート管理テーブル４０６によって、送信先ポート番号１６０２は論理ポート番号から物理ポート番号に変換されＩ／Ｏデバイス１１７に転送される。この際、パケット返送時に論理ポートに変換し直す必要があるため論理ポート番号は１６０３の領域（ＬＰ）に保存される。
【００３８】
Ｉ／Ｏデバイス１１７からデータが返送される場合は、パケットの送信時とは逆にクロスバスイッチ制御部４０５とポート管理テーブル４０６によって、物理ポートから論理ポートに変換され（１６０６）、サーバ装置１１４に転送される。パケット返送時には、送信時とは異なり送信元ポート番号１６０５と送信先ポート番号１６０６が逆になる。返送されるデータは１６０８に格納されている。１６０７には、送信時に格納された論理ポート番号（ＬＰ）が保存されており、１６０７の領域を参照することで、クロスバスイッチ制御部４０５はサーバ装置１１４が認識する論理ポートに戻すことができる。
【００３９】
図１７は、クロスバスイッチ制御部４０５による論理ポートの変換処理フローを示す。
まず、パケットから送信元と送信先のポート番号およびＬＰを取得する（Ｓ１７０１）。そして論理ポート番号（ＬＰ）が有効かどうかをチェックする（Ｓ１７０２）。例えば、無効を“ＦＦ”等のように定義しておくことで実現できる。ＬＰが有効の場合はＳ１７０３に移行して、パケットのＬＰ（論理ポート）領域の内容を送信元ポート番号にコピーする。そして、ＬＰ（論理ポート）領域の内容を無効化して（Ｓ１７０４）、送信先ポートにパケットを送信する（Ｓ１７０９）。
【００４０】
一方、ＬＰが有効ではなかった場合は、Ｓ１７０５に移行して、ポート管理テーブル４０６から、送信元に属するグループのパケットの送信先に一致する論理ポート番号を取得する。そして、論理ポート番号に割り当てられた物理ポート番号を取得する（Ｓ１７０６）。これはポート管理テーブル４０６を参照することで実現できる。そして、パケットのＬＰ領域に送信先ポート番号を格納する（Ｓ１７０７）。これにより、パケットを返送する際に、サーバ装置１１４が発行した論理ポート番号を回復することができる。最後に、パケットの送信先を物理番号に変換して（Ｓ１７０８）、送信先ポートにパケットを送信する（Ｓ１７０９）。この処理により、物理ポート番号と論理ポート番号を変換することができるようになる。
【００４１】
図１８は障害検出部１０３による処理フローを示す。
障害発生通知を受信すると（Ｓ１８０１）、その障害発生通知は障害が発生した装置から管理サーバ１０１へ転送される。管理サーバ１０１では、サーバ装置１１４の障害がどうかを判定する（Ｓ１８０２）。判定の結果、サーバ装置１１４の障害の場合は、Ｓ１８０３に移行しサーバ切り替え部を呼び出す。その後、Ｉ／Ｏスイッチ装置１１５の障害かどうかを判定する（Ｓ１８０４）。判定の結果、Ｉ／Ｏスイッチ装置１１５の障害の場合には、Ｓ１８０５に移行し、Ｉ／Ｏスイッチ装置１１５の閉塞処理を行う。
その後、Ｉ／Ｏスイッチ装置１１５に接続されたＩ／Ｏデバイス１１７の障害かどうかを判定する（Ｓ１８０４）。判定の結果、Ｉ／Ｏデバイス１１７の障害の場合は、Ｓ１８０７に移行し、Ｉ／Ｏデバイス切り替え部の呼び出しを行う。
この処理によって、サーバ装置１１４の障害とＩ／Ｏデバイス１１７の障害によって回復方法を変更することができる。これにより、障害が発生していないＩ／Ｏデバイス１１７を新たに割り当てたサーバ装置１１４でも引き続き使用することができるため、回復に必要なハードウェアを削減することができるようになる。
【００４２】
図１９はサーバ切り替え部１０５による処理フローを示す。
まず、障害発生メッセージから障害が発生したサーバ装置の識別子を取得する（Ｓ１９０１）。障害が発生したサーバ装置を停止する（Ｓ１９０２）。これは、障害が発生したサーバ装置１１４によって不要なＩ／Ｏの発行を防ぐため、及びサーバ装置１１４に割り当てられたＩ／Ｏデバイス１１７を解放するためである。
次に、サーバ管理テーブル１０９を検索し、障害が発生したサーバ装置１１４のプロセッサ３０２、メモリ３０１の構成を取得する（Ｓ１９０３）。更に、サーバ切り替え管理テーブル１１０を検索し、待機用のサーバからプロセッサ３０２、メモリ３０１の構成条件を満たす待機用サーバを検索する（Ｓ１９０４）。また、サーバ管理テーブル１０９を検索し、障害が発生したサーバ装置１１４が接続されたＩ／Ｏポート番号を取得する（Ｓ１９０５）。
【００４３】
また、サーバ管理テーブル１０９を検索し、障害が発生したサーバ装置に割り当てられたＩ／ＯデバイスのＩ／Ｏポート番号を取得する（Ｓ１９０６）。そして、待機サーバが接続されたＩ／Ｏポートに対して、障害が発生したサーバ装置１１４が使用していたＩ／Ｏデバイス１１７を割り当て（Ｓ１９０７）、サーバ切り替え管理テーブル１１０のサーバ障害時切り替えサーバ１１０２とＩ／Ｏ多重接続構成１１０３とサーバ状態１１０４を更新する（Ｓ１９０８）。最後に、待機サーバを起動する（Ｓ１９０９）。
この処理によって、サーバ装置１１４に障害が発生した場合に、障害が発生したサーバ装置１１４が使用していたＩ／Ｏデバイス１１７を待機用のサーバ装置１１４に引き継ぐことができる。
【００４４】
図２０は、Ｉ／Ｏデバイス切り替え部１０６の処理フローを示す。
まず、障害発生メッセージから障害が発生したＩ／Ｏデバイス１１７に接続されたＩ／Ｏスイッチ識別子９０４、Ｉ／Ｏポート９０２、接続デバイス９０３を取得する（Ｓ２００１）。そして、サーバ管理テーブル１０９から、障害が発生したＩ／Ｏデバイス１１７が割り当てられたサーバ装置１１４とサーバ装置１１４が接続されたポート番号１００４を取得する（Ｓ２００２）。また、障害が発生したＩ／Ｏデバイス１１７が割り当てられたサーバ装置１１４を停止する（Ｓ２００３）。これは、障害が発生したサーバ装置１１４によって不要なＩ／Ｏの発行を防ぐため、及びサーバ装置１１４に割り当てられたＩ／Ｏデバイス１１７を解放するためである。
【００４５】
次に、Ｉ／Ｏスイッチ管理テーブル１０８から障害が発生したＩ／Ｏデバイス１１７のデバイス識別子９０４を取得し（Ｓ２００４）、Ｉ／Ｏデバイス選択部１０４の呼び出しを行う（Ｓ２００５）。そして、Ｓ２００５で選択されたＩ／Ｏデバイス１１７を、障害が発生したＩ／Ｏデバイス１１７が割り当てられたサーバ装置１１４に割り当てる（Ｓ２００６）。これにより、サーバ装置１１４に交替用のＩ／Ｏデバイス１１７を割り当てることができる。
その後、障害が発生したＩ／Ｏデバイス１１７が割り当てられたサーバ装置１１４をネットワークブートし、障害が発生したＩ／Ｏデバイス１１７のデバイス識別子９０４を新たに割り当てたＩ／Ｏデバイス１１７に書き込む（Ｓ２００７）。ここで、ネットワークブートするプログラムは、デバイス識別子書き換えプログラム１１９である。デバイス識別子書き換えプログラム１１９は、サーバ装置１１４を使用して起動する最低限のプログラムとデバイス識別子９０４を書き換えるためのプログラムが格納されている。これにより、障害が発生したＩ／Ｏデバイス１１７と同じデバイス識別子９０４を新たに割り当てられたＩ／Ｏデバイス１１７に引き継ぐことができるため、システムの構成を変更することなくサーバ装置１１４を起動することができるようになる。
最後に、障害が発生したＩ／Ｏデバイス１１７が割り当てられたサーバ装置１１４を通常のディスクから再起動する（Ｓ２００８）。
【００４６】
なお、本実施例では、デバイス識別子９０４の書き換えに、障害が発生したＩ／Ｏデバイス１１７が接続されたサーバ装置１１４を使用したが、デバイス識別子書き換えプログラム１１９が起動できるサーバ装置１１４であればどこでも良い。その場合、デバイス識別子書き換えプログラム１１９を起動するサーバ装置１１４に対して、事前にデバイス識別子９０４の書き換えを行うＩ／Ｏデバイス１１７を割り当てておく必要がある。また、デバイス識別子書き換えプログラム１１９の実行が完了すると、Ｉ／Ｏデバイス１１７を障害が発生したＩ／Ｏデバイス１１７が接続されたサーバ装置１１４に接続し直すことで実現できる。これにより、障害が発生する前の状態と同じ環境に回復することができる。
【００４７】
図２１は、Ｉ／Ｏデバイス選択部１０４の処理フローを示す。
まず、サーバ切り替え管理テーブル１１０から、障害が発生したＩ／Ｏデバイス１１７がＩ／Ｏ多重接続構成１１０３に含まれるか検索する（Ｓ２１０１）。障害が発生したＩ／Ｏデバイス１１７がＩ／Ｏ多重接続構成１１０３であった場合はＳ２１０３に移行し、Ｉ／Ｏデバイス高信頼化割り当て部１０７の呼び出しを行う（Ｓ２１０３）。一方、障害が発生したＩ／Ｏデバイス１１７がＩ／Ｏ多重接続構成１１０３でなかった場合は、Ｉ／Ｏスイッチ装置１１５毎のプールされたデバイス数を求める（Ｓ２１０４）。
【００４８】
そして、求めたプールされたデバイス数がＩ／Ｏスイッチ装置１１５間で均等かどうかを判定する（Ｓ２１０５）。判定の結果、プールされたデバイス数が均等であった場合、負荷管理テーブル１１２を参照して、負荷の低いＩ／Ｏスイッチ装置１１５に属するデバイスプール１２０４の中から、障害が発生したＩ／Ｏデバイス１１７と同じ種類のＩ／Ｏデバイス１１７を選択する（Ｓ２１０７）。これにより、Ｉ／Ｏスイッチ毎の負荷のバランスを保つことができるようになる。
【００４９】
一方、プールされたデバイス数が不均等であった場合、プールされたデバイス数が多いＩ／Ｏスイッチ装置１１５のデバイスプール１２０４の中から、障害が発生したＩ／Ｏデバイス１１７と同じ種類のＩ／Ｏデバイス１１７を選択する（Ｓ２１０６）。これにより、Ｉ／Ｏスイッチ装置１１５間のデバイスプールの数を均等化することができる。そして、Ｉ／Ｏデバイス１１７の論理ポート番号１５０１が障害発生前と同じになるようにＩ／Ｏスイッチ装置１１５のポート管理テーブル４０６を更新する（Ｓ２１０８）。これにより、Ｉ／Ｏデバイス１１７の障害発生前と同じＩ／Ｏ構成を保つことができ、高い互換性を有することができる。
【００５０】
図２２は、Ｉ／Ｏデバイス高信頼化割当て部１０７の処理フローを示す。
まず、Ｉ／Ｏスイッチ管理テーブル１０８から、障害が発生したＩ／Ｏデバイス１１７が接続されたＩ／Ｏスイッチ装置１１５を検索する（Ｓ２２０１）。そして、デバイスプール管理テーブル１１１から、Ｓ２２０１で検索されたＩ／Ｏスイッチ装置１１５に属するデバイスプールを抽出する（Ｓ２２０２）。その後、抽出されたデバイスプール１２０４から、障害が発生したＩ／Ｏデバイス１１７と同じ種類のＩ／Ｏデバイス１１７を選択する（Ｓ２２０３）。
この処理により、サーバ装置１１５内で複数のＩ／Ｏデバイス１１７を用いてＩ／Ｏデバイス１１７の高信頼化を行っている場合に、複数のＩ／Ｏデバイス１１７の経路が異なるＩ／Ｏスイッチ装置１１５を通過するように設定することで、高信頼性を維持したままＩ／Ｏデバイス１１７の交替を可能になる。
【００５１】
図２３は、Ｉ／Ｏデバイス高信頼化割当て部１０７の動作概要を示す。
サーバ装置１１４内のメモリ３０１に格納されたオペレーティングシステム（ＯＳ）２３０１において、ＮＩＣやＨＢＡの高信頼化２３０３が設定されている場合の動作例を示す。高信頼化のために、ＮＩＣやＨＢＡを複数用いている。また、Ｉ／Ｏスイッチ装置１１５が多重化されている場合、それぞれの異なるＩ／Ｏスイッチ装置１１５を通過するように設定することで、より高信頼化を実現できる。このような高信頼構成をＩ／Ｏデバイス１１７の障害時に引き継ぐために、Ｉ／Ｏスイッチ装置１１５毎にデバイスプール２３０５を設け、障害が発生したＩ／Ｏデバイス１１７が接続されたＩ／Ｏスイッチ装置１１５に属するデバイスプール２３０５の中から交代用のＩ／Ｏデバイス１１７を割り当てることで実現できる。この際、ＭＡＣアドレスやＷＷＮのようなデバイス識別子の引き継ぎ２３０４を行うことで、より互換性を高めることができる。
【００５２】
図２４は、デバイスプール検査部１２０の処理フローを示す。
まず、サーバ管理テーブル１０９を検索し、Ｉ／Ｏデバイス１１７の種類毎に割り当てＩ／Ｏデバイス数を集計する（Ｓ２４０１）。既にサーバ装置１１４に割り当て済みのＩ／Ｏデバイス１１７の種類が最低でも１つはデバイスプールに確保されているかチェックする（Ｓ２４０２）。このチェックで十分なＩ／Ｏデバイス１１７がデバイスプールに確保されていなかった場合、Ｓ２４０４に移行して、管理者に対して不足しているＩ／Ｏデバイス１１７を報告する（Ｓ２４０４）。このような処理フローをＩ／Ｏデバイス１１７の構成変更を契機に実行することで、デバイスプールに不足したＩ／Ｏデバイス１１７を管理者が事前に検知し対応することができる。
【図面の簡単な説明】
【００５３】
【図１】一実施例における計算機システムの構成を示す図。
【図２】一実施例における管理サーバ１０１の詳細な構成を示す図。
【図３】一実施例におけるサーバ装置１１４の詳細な構成を示す図。
【図４】一実施例におけるＩ／Ｏスイッチ装置１１５の詳細な構成を示す図。
【図５】一実施例におけるストレージ装置１１８の詳細な構成を示す図。
【図６】一実施例におけるサーバ装置の障害時における回復処理の例を示す図。
【図７】一実施例におけるデバイスプールが一つの場合のＩ／Ｏデバイス障害の回復処理の例を示す図。
【図８】一実施例におけるデバイスプールが複数の場合のＩ／Ｏデバイス障害の回復処理の例を示す図。
【図９】一実施例におけるＩ／Ｏスイッチ管理テーブル１０８の構成を示す図。
【図１０】一実施例におけるサーバ管理テーブル１０９の構成を示す図。
【図１１】一実施例におけるサーバ切り替え管理テーブル１１０の構成を示す図。
【図１２】一実施例におけるデバイスプール管理テーブル１１１の構成を示す図。
【図１３】一実施例における負荷管理テーブル１１２の構成を示す図。
【図１４】一実施例におけるポート管理テーブル４０６の構成を示す図。
【図１５】一実施例におけるＩ／Ｏデバイスの割り当て例を示す図。
【図１６】一実施例における論理ポートの変換手順の例を示す図。
【図１７】一実施例におけるクロスバスイッチ制御部４０５による処理フローチャートを示す図。
【図１８】一実施例における障害検出部１０３によるフローチャートを示す図。
【図１９】一実施例におけるサーバ切り替え部１０５のフローチャートを示す図。
【図２０】一実施例におけるＩ／Ｏデバイス切り替え部１０６のフローチャートを示す図。
【図２１】一実施例におけるＩ／Ｏデバイス選択部１０４のフローチャートを示す図。
【図２２】一実施例におけるＩ／Ｏデバイス高信頼化割り当て部１０７のフローチャートを示す図。
【図２３】一実施例におけるＩ／Ｏデバイス高信頼化割り当て例を示す図。
【図２４】一実施例におけるデバイスプール検査部１２０のフローチャートを示す図。
【符号の説明】
【００５４】
１０１：管理サーバ  １０２：障害管理部  １０３：障害検出部  １０４：Ｉ／Ｏデバイス選択部  １０５：サーバ切り替え部  １０６：Ｉ／Ｏデバイス切り替え部  １０７：Ｉ／Ｏデバイス高信頼化割り当て部  １０８：Ｉ／Ｏスイッチ管理テーブル  １０９：サーバ管理テーブル  １１０：サーバ切り替え管理テーブル  １１１：デバイスプール管理テーブル  １１２：負荷管理テーブル  １１５：デバイス識別子書き換えプログラム  １１４：サーバ装置  １１５：Ｉ／Ｏスイッチ装置  １１６：ソケット  １１７：Ｉ／Ｏデバイス  １１８：ストレージ装置  １２０：デバイスプール検査部。
【図１】
2008310489.tif 000003
【図２】
2008310489.tif 000004
【図３】
2008310489.tif 000005
【図４】
2008310489.tif 000006
【図５】
2008310489.tif 000007
【図６】
2008310489.tif 000008
【図７】
2008310489.tif 000009
【図８】
2008310489.tif 000010
【図９】
2008310489.tif 000011
【図１０】
2008310489.tif 000012
【図１１】
2008310489.tif 000013
【図１２】
2008310489.tif 000014
【図１３】
2008310489.tif 000015
【図１４】
2008310489.tif 000016
【図１５】
2008310489.tif 000017
【図１６】
2008310489.tif 000018
【図１７】
2008310489.tif 000019
【図１８】
2008310489.tif 000020
【図１９】
2008310489.tif 000021
【図２０】
2008310489.tif 000022
【図２１】
2008310489.tif 000023
【図２２】
2008310489.tif 000024
【図２３】
2008310489.tif 000025
【図２４】
2008310489.tif 000026