(57)【特許請求の範囲】
【請求項１】
複数のサーバが通信可能な状態にあるシステムにおいて、処理を実行しているサーバに障害が発生したときに、前記障害が発生したサーバ以外のサーバを予備サーバとして処理を引き継がせる管理サーバにおけるフェイルオーバ方法であって、
前記システム内の各機器は、通信機器である共通機器を介して通信可能となっており、
前記管理サーバの記憶部には、前記各サーバにおける前記共通機器の接続数である冗長度を基に設定されたサーバの優先度が、前記各サーバに対応付けられて格納されており、
前記障害が発生すると、前記管理サーバの処理部が、前記記憶部における前記優先度を基に、サーバを検索し、前記検索したサーバを前記予備サーバとすることを特徴とするフェイルオーバ方法。
【請求項２】
前記記憶部には、サーバの検索を行う際の優先項目が記述されている検索ポリシが格納されており、
前記優先度と、前記検索ポリシとを基に、前記サーバの検索を行うことを特徴とする請求項１に記載のフェイルオーバ方法。
【請求項３】
前記検索ポリシは、業務復旧確率優先、対象となっているサーバに接続している機器の少なさ優先、対象となっているサーバに接続している機器の冗長度優先、同一シャーシに設置されているサーバ優先および別のシャーシに設置されているサーバ優先のうち少なくとも１つであることを特徴とする請求項２に記載のフェイルオーバ方法。
【請求項４】
前記検索ポリシは、各サーバに対して複数設定可能であることを特徴とする請求項２に記載のフェイルオーバ方法。
【請求項５】
前記管理サーバは、前記障害が発生したタイミングで前記優先度の算出を行うことを特徴とする請求項１に記載のフェイルオーバ方法。
【請求項６】
前記管理サーバは、前記システムを構成する機器が変更されたタイミングまたは前記システムを構成する機器の稼動状態が変更したタイミングで前記優先度の算出を行うことを特徴とする請求項１に記載のフェイルオーバ方法。
【請求項７】
前記サーバとは、複数の前記サーバの組である論理サーバであり、前記優先度が、前記論理サーバ毎に設定されることを特徴とする請求項１に記載のフェイルオーバ方法。
【請求項８】
前記論理サーバ毎に設定されている優先度は、前記論理サーバを構成する各サーバの優先度を基に設定されることを特徴とする請求項７に記載のフェイルオーバ方法。
【請求項９】
前記システムの機器に関するパフォーマンス情報が各機器に対応して前記記憶部に格納されており、前記検索を行う際に前記優先度と前記パフォーマンス情報とを基に前記予備サーバを検索することを特徴とする請求項１に記載のフェイルオーバ方法。
【請求項１０】
前記パフォーマンス情報とは、前記機器に接続している他の機器の数および前記機器における通信速度のうち少なくとも１つであることを特徴とする請求項９に記載のフェイルオーバ方法。
【請求項１１】
前記サーバに接続している機器とは、ファイバチャネルスイッチ、ネットワークスイッチ およびシャーシのうち、少なくとも１つであることを特徴とする請求項１に記載のフェイルオーバ方法。
【請求項１２】
請求項１から請求項１１に記載のフェイルオーバ方法をコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
複数のサーバが通信可能な状態にあるシステムにおいて、処理を実行しているサーバに障害が発生したときに、前記障害が発生したサーバ以外のサーバを予備サーバとして処理を引き継がせる管理サーバであって、
前記システム内の各機器は、通信機器である共通機器を介して通信可能となっており、
前記各サーバにおける前記共通機器の接続数である冗長度を基に設定されたサーバの優先度が、前記各サーバに対応付けられて格納されている記憶部と、
前記障害が発生すると、前記記憶部における前記優先度を基に、サーバを検索するサーバ検索部と、
前記検索したサーバを前記予備サーバとするフェイルオーバ処理部とを有することを特徴とする管理サーバ。
【請求項１４】
前記記憶部には、サーバの検索を行う際の優先項目が記述されている検索ポリシが格納されており、
前記サーバ検索部は、前記優先度と、前記検索ポリシとを基に前記サーバの検索を行うことを特徴とする請求項１３に記載の管理サーバ。
【請求項１５】
前記サーバとは、複数の前記サーバの組である論理サーバであり、前記優先度が、前記論理サーバ毎に設定されることを特徴とする請求項１３に記載の管理サーバ。
【請求項１６】
前記システムの機器に関するパフォーマンス情報が各機器に対応して前記記憶部に格納されており、
前記サーバ検索部は、前記検索を行う際に前記優先度と前記パフォーマンス情報とを基に前記予備サーバを検索することを特徴とする請求項１３に記載の管理サーバ。
【請求項１７】
互いに通信可能な複数のサーバと、処理を実行しているサーバに障害が発生したときに、前記障害が発生したサーバ以外のサーバを予備サーバとして処理を引き継がせる管理サーバと、各サーバと通信可能な機器とを有するフェイルオーバシステムであって、
前記フェイルオーバシステム内の各機器は、通信機器である共通機器を介して通信可能となっており、
前記管理サーバは、
前記各サーバにおける前記共通機器の接続数である冗長度を基に設定されたサーバの優先度が、前記各サーバに対応付けられて格納されている記憶部を有し、
前記障害が発生すると、前記記憶部における前記優先度を基に、サーバを検索し、
前記検索したサーバを前記予備サーバとすることを特徴とするフェイルオーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フェイルオーバ方法、プログラム、管理サーバおよびフェイルオーバシステムの技術に関する。
【背景技術】
【０００２】
多数のサーバから構成される計算機システムの可用性を向上するために、特許文献１に記載の技術のように、複数の現用サーバと１つまたは少数の予備サーバを設け、現在使用しているサーバである現用サーバのいずれかに障害が発生した場合、計算機システム内におけるいずれかのサーバ（予備サーバ）に処理を引き継ぐ方法（フェイルオーバ方法）がある。特許文献１には、現用サーバのいずれかに障害が発生した場合、当該現用サーバに接続された起動ディスクを待機サーバに再接続し、待機サーバから起動することで現用サーバの処理を引き継ぐことができる技術が開示されている。また特許文献２に記載の方法によれば、多数の現用サーバに対して、１または少数の予備サーバを設けることで可用性を向上し、信頼性の高い計算機システムを安価に構築することができる技術も開示されている。
【特許文献１】特開２００６−１６３９６３号公報
【特許文献２】特開２００７−１６４３０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１および特許文献２に記載の技術では、ＣＰＵ（Central processing Unit）やメモリ等のサーバ固有の情報が記録されたサーバ管理テーブルから、業務を引き継ぐべき予備サーバを検索するようになっていた。また、特許文献１および特許文献２に記載の技術は、障害を検知する機能と、予備サーバを検索する機能は備えているが、サーバ固有の情報のみを記録したサーバ管理テーブルを検索対象としているため、予備サーバの起動のための電源制御機器等の、複数サーバの共通機器の構成情報と稼動情報を考慮していない。そのため、各サーバに接続されているＮＷＳＷ（ネットワークスイッチ：Network Switch）や、ＦＣＳＷ（ファイバチャネルスイッチ：Fibre Channel Switch）等である共通機器の故障等により、予備サーバの起動に失敗し、業務が再開できない可能性があり、高信頼性が要求される計算機システムが持つフェイルオーバ方法として、より信頼性を向上させるための機能については言及していないという問題がある。
一般に計算機システムでは、高価なクラスタ構成の計算機システムと同等程度の信頼性が求められており、障害が発生した場合に現用サーバの業務を引き継ぎ、業務を確実に再開する高い信頼性が求められている。
【０００４】
このような背景に鑑みて本発明がなされたのであり、本発明は、多数のサーバから構成されるシステム全体の信頼性を向上するフェイルオーバを行うことを目的とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するため、本発明は、システムの各サーバおよび当該各サーバと通信可能な機器の冗長度を基に設定された優先度が、前記各サーバに対応付けられて記憶部に格納されており、前記サーバの障害が発生すると、処理部が、前記優先度を基にサーバを検索し、前記検索したサーバを予備サーバとすることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、多数のサーバから構成されるシステム全体の信頼性を向上するフェイルオーバを行うことができる。
【発明を実施するための最良の形態】
【０００７】
次に、本発明を実施するための最良の形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【０００８】
（第１実施形態：構成）
図１は、第１実施形態に係るフェイルオーバシステムの構成例を示す図である。
本実施形態におけるフェイルオーバシステム１０（システム）は、管理サーバ１０１（フェイルオーバ装置）、複数のサーバ１０２、複数のシャーシ１０３、複数のＦＣＳＷ１０５、複数のＮＷＳＷ１０６を有してなる。以下、本実施形態ではＦＣＳＷ１０５およびＮＷＳＷ１０６を共通機器と適宜記載することとする。また、フェイルオーバシステム１０は、１台のサーバ１０２から複数のＦＣＳＷ１０５や複数のＮＷＳＷ１０６に接続可能であり、ハードウェア故障時にも業務継続可能となる冗長化構成を採用可能な計算機システムである。各サーバ１０２は、ファイバチャネルのＨＢＡ（ホストバスアダプタ：Host Bus Adaptor）１２０を介してＦＣＳＷ１０５に接続され、ＮＩＣ（Network Interface Card）１２１を介してＮＷＳＷ１０６に接続されている。また、ＦＣＳＷ１０５はディスク装置１０４にも接続されており、ディスク装置１０４にはサーバ１０２からアクセスできる。ＮＷＳＷ１０６は、ネットワークを介してフェイルオーバシステム１０を管理する管理サーバ１０１（フェイルオーバ装置）とディスク装置１０４に接続される。また、各サーバ１０２は、ＢＭＣ（Baseboard Management Controller）１２２を内蔵している。ＢＭＣ１２２はネットワークを介して、管理サーバ１０１と接続している。これにより、管理サーバ１０１から各サーバ１０２のハードウェアの状態監視や電源制御が可能となる。
【０００９】
管理サーバ１０１は、サーバ１０２、シャーシ１０３、ディスク装置１０４、ＦＣＳＷ１０５、ＮＷＳＷ１０６に対し、ネットワークを経由して、状態監視や必要に応じて制御を行う。管理サーバ１０１には、フェイルオーバ処理部１１０（処理部）が設けられている。フェイルオーバ処理部１１０は、サーバ１０２の障害発生時にＢＭＣ１２２からの障害通知の受信や、ＢＭＣ１２２への電源制御、ディスク装置１０４のディスクマッピング処理部１３０の制御等を行う機能を有する。フェイルオーバ処理部１１０は、後記する優先度や検索ポリシを用いて予備サーバの検索を行うサーバ検索部１１１、サーバ管理部１１２、ディスクマッピング変更部１１５、共通機器の監視を行う共通機器管理部１１３、優先度の変更を行う優先度変更部１１４および情報を記憶する記憶部１６０を有してなる。ここで、優先度および検索ポリシとは、現用サーバに障害が生じたとき、複数ある予備サーバ候補のサーバ１０２からどのサーバ１０２を選択するかを示す指標である。優先度および検索ポリシの詳細については後記する。
記憶部１６０には、サーバ管理テーブル１１６、共通機器管理テーブル１１７、検索ポリシテーブル１１８を有してなる。サーバ管理テーブル１１６、共通機器管理テーブル１１７および検索ポリシテーブル１１８の詳細は、図２から図４を参照して後記する。
【００１０】
サーバ管理部１１２は、サーバ１０２の状態監視を行い、サーバ１０２の稼動状況や障害監視、電源の制御を行う。サーバ１０２の障害発生や、ＢＭＣ１２２や、サーバ１０２の障害等が発生すると、サーバ管理部１１２へ障害の発生が通知される。また、サーバ管理部１１２は、共通機器管理部１１３との通信により、サーバ１０２に接続されている共通機器の情報である共通機器情報と、共通機器の冗長度の管理を行う。さらに、サーバ管理部１１２は、優先度変更部１１４との通信により、未使用のサーバ１０２の優先度の管理を行う機能を有する。
共通機器管理部１１３は、シャーシ１０３、ＦＣＳＷ１０５、ＮＷＳＷ１０６等の共通機器の状態監視を行い、共通機器の稼動状況や障害監視を行う機能を有する。
サーバ検索部１１１は、現用サーバの障害発生時に、業務を引き継ぐべきサーバ１０２を検索し、予備サーバの決定を行う機能を有する。
【００１１】
ディスク装置１０４のディスクマッピング処理部１３０は、サーバ１０２に搭載されているＨＢＡ１２０とディスク１３１との関連付けを行う機能を有する。具体的には、サーバ１０２からアクセス可能なディスク１３１を制限することにより、セキュリティ機能を実現する。本実施形態では、ディスク装置１０４内のディスク１３１にはＯＳ（Operating System）および業務アプリケーション等が格納されており、サーバ１０２はディスク装置１０４内のディスク１３１をブートディスクとして利用する。
【００１２】
次に、図１を参照しつつ、図２から図４に沿ってサーバ管理テーブル１１６、共通機器管理テーブル１１７、検索ポリシテーブル１１８について説明する。
【００１３】
（サーバ管理テーブル）
図２は、サーバ管理テーブルの構成例を示す図である。
サーバ管理テーブル１１６には、フェイルオーバ処理部１１０が管理対象としているサーバ１０２の一覧と、各サーバ１０２の構成情報、優先度、使用状況と各サーバ１０２に接続している共通機器情報が格納されている。
カラム２０１にはサーバ１０２の識別子であるサーバ識別子が格納されている。サーバ識別子は、サーバ１０２が特定できる情報であれば良い。カラム２０２には各サーバ１０２のＣＰＵ周波数が格納されている。カラム２０３には各サーバ１０２が搭載しているメモリ容量が格納されている。カラム２０４には各サーバ１０２が搭載されているシャーシ１０３の識別子であるシャーシ識別子が格納されている。
【００１４】
カラム２０５には各サーバ１０２と接続しているＮＷＳＷ１０６の冗長度が格納されている。冗長度とは、サーバ１０２に接続されているＮＷＳＷ１０６の数であり、冗長度が大きいほど、ＮＷＳＷ１０６の障害に対して強いこととなる。２台のＮＷＳＷ１０６で冗長化構成が組まれているＮＷＳＷ１０６と接続しているサーバ１０２の場合、カラム２０５（冗長度）は「２」となる。カラム２０６はサーバ１０２と接続しているＮＷＳＷ１０６のＮＷＳＷ識別子を示す。このカラム２０６には、接続している数だけＮＷＳＷ識別子が格納可能である。２台のＮＷＳＷ１０６と接続しているが、カラム２０５が「１」となっているサーバ１０２は、ＮＷＳＷ１０６が縮退稼動中であるか、冗長化構成ではない２台のＮＷＳＷ１０６と接続していることを示している。
【００１５】
カラム２０７には、各サーバ１０２と接続しているＦＣＳＷ１０５の冗長度が格納されている。２台のＦＣＳＷ１０５で冗長化構成が組まれているＦＣＳＷ１０５と接続しているサーバ１０２の場合、カラム２０７は「２」となる。カラム２０８には、各サーバ１０２と接続しているＦＣＳＷ１０５のＦＣＳＷ識別子が格納されている。カラム２０８には、サーバ１０２に接続している数だけＦＣＳＷ識別子が格納される。２台のＦＣＳＷ１０５と接続しているが、カラム２０７の冗長度が「１」となっているサーバ１０２は、ＦＣＳＷ１０５が縮退稼動中であるか、冗長化構成ではない２台のＦＣＳＷ１０５と接続していることを示している。
【００１６】
カラム２０９には、各サーバ１０２の使用状態に関する情報が格納されている。業務稼動中のサーバ１０２である現用サーバの場合、「使用中」が格納され、未使用のサーバ１０２である予備サーバの場合、「未使用」が格納される。カラム２１０は、予備サーバの優先度を示し、現用サーバの障害発生時に、業務を引き継ぐべきサーバ１０２の検索条件に利用される。ここでは例として、「高」、「通常以上」、「通常」、「通常以下」および「低」となっている。優先度は業務再開時の業務復旧確率および業務再開後の可用性が高いことを示している。
【００１７】
なお、優先度は、フェイルオーバ処理部１１０内の他の構成部からの優先度変更通知を受信した優先度変更部１１４が算出し、サーバ管理部１１２が更新する。ただし、優先度の初期値は、ユーザが入力部を介することによって設定してもよい。たとえば、サーバ１０２に接続されている機器が安定稼動しており、かつすべて冗長化構成が組まれている場合、優先度変更部１１４は、復旧確率および可用性が最も高いと判断し、優先度を「高」に設定する。一部の共通機器において、冗長化構成が組まれている場合、優先度変更部１１４は、優先度を「通常以上」に設定する。共通機器の冗長構成は組まれていないが、共通機器が安定稼動している場合、優先度変更部１１４は、優先度を「通常」に設定する。業務再開時に予備サーバの起動を実行する共通部位が故障している場合、優先度変更部１１４は、優先度を「低」に設定する。なお、このような手順で決定された優先度は、業務復旧確率の高さを優先度とするものであるが、これ以外の優先度を設定してもよい。
【００１８】
（共通機器管理テーブル）
図３は、共通機器管理テーブルの構成例を示す図である。
共通機器管理テーブル１１７は、フェイルオーバ処理部１１０が管理対象としている共通機器の一覧と、各共通機器の構成情報および状態が格納されている。
カラム３０１には、共通機器の識別子である共通機器識別子が格納されている。共通機器識別子は、共通機器が特定できる情報であればよい。カラム３０２には、共通機器の種別に関する情報が格納されている。共通機器の種別には、シャーシ１０３、ＦＣＳＷ１０５、ＮＷＳＷ１０６のほかに、シャーシ１０３に搭載されているサービスプロセッサ（ＳＶＰ）や電源等の情報も含まれる。カラム３０３には、共通機器の稼動状態に関する情報が格納されている。ここでは例として、「正常」および「異常」となっているが、共通機器の稼動時間等を格納してもよい。カラム３０３には、共通機器管理部１１３による状態監視の確認結果、もしくは、共通機器から通知される状態通知の結果が格納される。カラム３０４には、共通機器に搭載されている、他の共通機器（関連機器）の情報が格納される。図３の例では、「ＢＳ１０００＃１」の共通機器識別子を有するシャーシ１０３に、「ＳＶＰ＃１」の共通機器識別子を有するサービスプロセッサと、「ＰＤ＃１」の共通機器識別子を有する電源とが搭載されていることを示す。
【００１９】
（検索ポリシテーブル）
図４は、検索ポリシテーブルの構成例を示す図である。
検索ポリシテーブル１１８には、予備サーバとして満たすべき要件を示すポリシが格納されている。
カラム４０１には、業務稼動中の現用サーバのサーバ識別子が格納される。サーバ検索部１１１は、このサーバ識別子を検索キーとして、図２に示したサーバ管理テーブル１１６から該サーバ１０２の情報を取得する。カラム４０２には、予備サーバが満たすべき要件を示す検索ポリシが格納されている。検索ポリシは、ユーザによって変更可能である。たとえば、ＧＵＩ（Graphic User Interface）やコマンドプログラム、設定ファイル等を提供し、検索ポリシの指定を可能とする。また、検索ポリシには、１台のサーバ１０２に対し複数のポリシの指定を可能とし、該ポリシの優先順位の指定も可能である。
【００２０】
（全体処理）
次に、図１から図４を参照しつつ、図５から図８に沿って第１実施形態に係るフェイルオーバ方法を説明する。
図５は、第１実施形態に係るフェイルオーバ処理の流れを示す図である。
図５において、現用サーバとして使用されているサーバ１０２を現用サーバ５０１と記載し、予備サーバとして選択されたサーバ１０２を予備サーバ５０２と記載する。
まず、現用サーバ５０１において、障害が発生する（Ｓ１０１）と、現用サーバ５０１に搭載されているＢＭＣ１２２や現用サーバ５０１上で稼動中のエージェントプログラムが障害発生を検知し、管理サーバ１０１のフェイルオーバ処理部１１０に通知する。フェイルオーバ処理部１１０は、現用サーバ５０１の障害発生を検知した（Ｓ１０２）後、障害が発生した現用サーバ５０１のハードウェア構成等の情報を取得する（Ｓ１０３）。この情報は、サーバ管理テーブル１１６（図２）から取得される。
【００２１】
そして、フェイルオーバ処理部１１０は、現用サーバ５０１へシャットダウンを指示する（Ｓ１０４）。シャットダウンを行う理由は、もし現用サーバ５０１が稼動したままであれば、ＯＳや業務アプリケーションが不安定な状態で稼動している場合があり、これらが不正なＩ／Ｏ（Input/Output）を発行する場合に備えるためである。また、ディスク装置１０４内のディスク１３１が競合することにより、ＯＳや業務アプリケーションのデータを破壊する可能性があるためでもある。さらに、予備サーバ５０２が業務を引き継いだ時点で、現用サーバ５０１が未だ稼動中であれば、同じＩＰアドレスを持つサーバ１０２が複数並存することになる。これを防ぐため、現用サーバ５０１のシャットダウンが必要である。ただし、現用サーバ５０１がダンプ処理中である場合は、ダンプ処理の完了を待って、シャットダウンを実行する。また、フェイルオーバ処理部１１０が現用サーバ５０１に対して、ダンプ処理の起動を要求する場合もある。
【００２２】
シャットダウン指示を受けた現用サーバ５０１は、自身のシャットダウンを実行する（Ｓ１０５）。もしシャットダウン処理が不可能の場合、フェイルオーバ処理部１１０が現用サーバ５０１の強制電源ＯＦＦを実行する。強制電源ＯＦＦは、サーバ１０２に搭載のＢＭＣ１２２に対して指示することで実行する。
【００２３】
フェイルオーバ処理部１１０は、現用サーバ５０１のシャットダウンを確認した後、障害発生時点での予備サーバ５０２の優先度を更新する処理を行う（Ｓ１０６）。優先度の更新は、優先度変更部１１４が、サーバ管理テーブル１１６と共通機器管理テーブル１１７の情報を基にサーバ管理テーブル１１６内の優先度を決定し、サーバ管理部１１２が更新することで実現する。優先度の更新処理の詳細については、図８を参照して後記する。なお、このタイミングで優先度を更新するのは、最新の優先度取得するためであり、ステップＳ１０６の処理を省略することも可能である。
【００２４】
次に、フェイルオーバ処理部１１０は、現用サーバ５０１の業務を引き継ぎ可能なサーバ１０２（予備サーバ５０２）を検索する処理を行う（Ｓ１０７）。予備サーバ５０２の検索処理は、サーバ検索部１１１が、ステップＳ１０３で取得した情報と検索ポリシとを検索条件に、サーバ管理テーブル１１６を検索することで実現する。予備サーバ５０２の検索の詳細については、図７を参照して後記する。
【００２５】
ステップＳ１０７における検索の結果、フェイルオーバ処理部１１０は、検索条件に適合するサーバ１０２を予備サーバ５０２として検出する。そして、フェイルオーバ処理部１１０のディスクマッピング変更部１１５は、現用サーバ５０１にマッピングされたディスク１３１のマッピングを解除し、予備サーバ５０２にマッピングするためのマッピング変更要求を、ディスクマッピング処理部１３０に要求する（Ｓ１０８）。そして、ディスク装置１０４のディスクマッピング処理部１３０は、要求されたディスクマッピングの変更を実行する（Ｓ１０９）。つまり、検出された予備サーバ５０２に現用サーバ５０１が割当てられていたディスク装置１０４のディスク１３１を割当てる。そして、フェイルオーバ処理部１１０は、検出した予備サーバ５０２に対して起動を指示する（Ｓ１１０）。指示を受けた予備サーバ５０２が起動し（Ｓ１１１）、予備サーバ５０２においてＯＳや業務アプリケーションが起動することによって、業務が再開される（Ｓ１１２）。
【００２６】
以下では、図５における処理を詳細かつ一般的な処理として説明する。つまり、図５における処理は、現用サーバ５０１の障害に伴う処理であったが、図６における処理は、現用サーバ５０１の障害に限らずその他の要因によっても行われる処理である。
図６は、第１実施形態に係るフェイルオーバ方法におけるサーバ管理処理の流れを示すフローチャートである。
まず、サーバ管理部１１２は、フェイルオーバ処理部１１０内の他の構成部からの構成情報や、稼動情報の変更通知（情報変更通知）または障害が発生したサーバ１０２からの障害通知を受信する（Ｓ２０１）。
次に、サーバ管理部１１２は、受信した通知の内容から、通知の種類を特定する（Ｓ２０２）。
次に、サーバ管理部１１２は、ステップＳ２０２で特定したの通知の種類に基づいて、フェイルオーバの実行が必要か否かを判定する（Ｓ２０３）。例えば、サーバ管理部１１２は、通知の内容が、サーバ１０２の障害等、フェイルオーバシステム１０の運用に関わる内容のものであるか否か等を判定する。判定の基準は、予めユーザが図示しない入力部を介して設定しておいてもよい。
ステップＳ２０３の結果、フェイルオーバの実行が不要であれば（Ｓ２０３→Ｎｏ）、サーバ管理部１１２は、ステップＳ２０７へ処理を進める。
【００２７】
ステップＳ２０３の結果、フェイルオーバの実行が必要であれば（Ｓ２０３→Ｙｅｓ）、サーバ管理部１１２は、現用サーバへシャットダウンを指示する（Ｓ２０４）。
サーバ管理部１１２は、サーバ検索部１１１を起動し、起動したサーバ検索部１１１がサーバ検索処理を実行する（Ｓ２０５）。サーバ検索処理の詳細は、図７を参照して後記する。
そして、サーバ管理部１１２は、ステップＳ２０５の結果、検出したサーバ１０２を予備サーバとし、該予備サーバに対し起動を指示する（Ｓ２０６）。
続いて、サーバ管理部１１２は、ステップＳ２０１で受信した通知の内容と、サーバ管理部１１２におけるここまでのステップ（ステップＳ２０１からステップＳ２０２）の実行結果に基づいて、サーバ管理テーブル１１６を更新する（Ｓ２０７）。なお、図６の処理では、優先度の更新処理は省略してあるが、ステップＳ２０４とステップＳ２０５の間に、図８を参照して後記する優先度の更新処理を行ってもよい。
【００２８】
（サーバ検索処理）
図７は、第１実施形態に係るサーバ検索処理の流れを示すフローチャートである。なお、図７の処理は、図５のステップＳ１０７および図６のステップＳ２０５の処理を詳細に説明するものである。
まず、サーバ検索部１１１は、サーバ管理テーブル１１６（図２）から現用サーバの情報を取得する（Ｓ３０１）。このとき、サーバ検索部１１１は、現用サーバのサーバ識別子を基に情報を取り出す。
次に、サーバ検索部１１１は、サーバ管理テーブル１１６のカラム２０９（図２）を参照して未使用のサーバ１０２を検索し、さらに現用サーバの識別子をキーとして検索ポリシテーブル１１８（図４）を参照し、現用サーバの検索ポリシの検索を行う。そして、検索した未使用のサーバ１０２の中から、検索した検索ポリシの条件を満たすサーバ１０２を検索する。つまり、サーバ検索部１１１は、サーバ管理テーブル１１６と検索ポリシテーブル１１８とを参照して、未使用のサーバ１０２の優先度と検索ポリシとを検索条件にサーバ１０２を検索する（Ｓ３０２）。
【００２９】
このとき、サーバ検索部１１１は、未使用のサーバ１０２の優先度と検索ポリシの組み合わせから、最適な予備サーバを検索する。たとえば、図４において業務復旧確率の高さ優先が検索ポリシとして設定されているサーバ「Ｓ１」に障害が発生した場合、サーバ検索部１１１は、図２のサーバ管理テーブル１１６の中から優先度（ここでは、業務復旧確率の高さを優先度としている）の最も高い未使用のサーバ「Ｓ６」（図２のカラム２０１）を検出する。一方、例えば、図４において「別シャーシ優先」の検索ポリシが設定されているサーバ「Ｓ５」（図２のカラム２０１）に障害が発生した場合、図２のサーバ管理テーブル１１６から別シャーシ１０３に搭載されている未使用のサーバ「Ｓ１０」と「Ｓ１１」とが検出されるが、この２つのサーバの内、優先度が高いサーバ「Ｓ１１」を検出する。
【００３０】
ステップＳ３０２の後、サーバ検索部１１１は、サーバ１０２の検出が成功したか否かを判定する（Ｓ３０３）。つまり、検索条件に適合する（検索ポリシに合致する）サーバ１０２が存在するか否かを判定する。
検出に成功した場合（Ｓ３０３→Ｙｅｓ）、サーバ検索部１１１は、検出したサーバ１０２を予備サーバに指定し（Ｓ３０４）、フェイルオーバ処理部１１０は、図５のステップＳ１０８または図６のステップＳ２０６へ処理を進める。
検出に成功しなかった場合（Ｓ３０３→Ｎｏ）、フェイルオーバ処理部１１０は処理を終了する。つまり、フェイルオーバ処理部１１０は、フェイルオーバ失敗と判定し、以降の処理を行わない。
【００３１】
（優先度変更処理）
図８は、第１実施形態に係る優先度変更処理の流れを示す図である。図８の処理は、図６のステップＳ１０６の処理を詳細に説明するものである。
図８の処理は、図５で説明したような現用サーバの障害が発生したとき以外にも、管理サーバ１０１の起動時や、フェイルオーバシステム１０の構成が変更されたときや、各サーバ１０２と共通機器の稼動状態が変化したとき等にも行われる処理である。
まず優先度変更部１１４は、フェイルオーバ処理部１１０内の他の構成部からの優先度変更通知を受信する（Ｓ４０１）。優先度変更通知には、障害が発生したサーバ１０２のサーバ識別子が含まれている。優先度変更通知は、現用サーバの障害発生時や、管理サーバ１０１の起動時や、フェイルオーバシステム１０の構成が変更されたときにサーバ管理部１１２から送られたり、各サーバ１０２と共通機器の稼動状態が変化したときに稼動状態が変化したサーバ管理部１１２や共通機器管理部１１３から送られたりしてもよい。
次に、優先度変更部１１４は、優先度を変更する対象である少なくとも１台のサーバ１０２に接続している共通機器の情報を、サーバ管理部１１２に要求する（Ｓ４０２）。ステップＳ４０２で送られる要求には、該当するサーバ１０２に関するサーバ識別子が含まれている。
要求を受けたサーバ管理部１１２は、該サーバ１０２に接続された共通機器の共通機器識別子、各々の共通機器の冗長度等の共通機器の情報を優先度変更部１１４へ返信する（Ｓ４０３）。サーバ管理部１１２は、優先度変更部１１４から送信された要求に含まれるサーバ識別子をキーとして、サーバ管理テーブル１１６を検索することによりサーバ識別子に対応する共通機器の情報を取得する。
【００３２】
共通機器の情報を受けた優先度変更部１１４は、共通機器の稼動情報を共通機器管理部１１３に要求する（Ｓ４０４）。ステップＳ４０４で送られる要求には、ステップＳ４０３で受けた共通機器の情報に含まれる共通機器識別子が含まれている。
要求を受けた共通機器管理部１１３は、共通機器の稼動情報を返信する（Ｓ４０５）。共通機器管理部１１３は、要求に含まれる共通機器識別子をキーとして、共通機器管理テーブル１１７を検索し、共通機器識別子に対応する稼動情報を取得する。
【００３３】
共通機器の稼動情報を受けた優先度変更部１１４は、共通機器の稼動情報と、ステップＳ４０３で送られた共通機器の冗長度とから各サーバ１０２の優先度を決定する（Ｓ４０６）。優先度の決定の具体的な説明については後記する。
そして優先度変更部１１４は、サーバ管理部１１２に対して、サーバ１０２の優先度の更新を指示する（Ｓ４０７）。具体的には、優先度変更部１１４が、ステップＳ４０３で送られたサーバ識別子とステップＳ４０６で決定した優先度とを対の情報として、サーバ管理部１１２に送信する。
優先度変更部１１４からの指示を受けたサーバ管理部１１２は、サーバ管理テーブル１１６の優先度のカラム２１０を更新する（Ｓ４０８）。
【００３４】
ここで、優先度の決定に関する具体的な説明を行う。
たとえば、優先度変更部１１４が、図２に示したサーバ「Ｓ１０」の優先度更新通知をステップＳ４０１で受信した場合、ステップＳ４０２で優先度変更部１１４は、サーバ識別子「Ｓ１０」を含む共通機器の情報をサーバ管理部１１２に要求する。
そして、サーバ管理部１１２は、要求に含まれるサーバ識別子「Ｓ１０」を検索キーとして、サーバ管理テーブル１１６（図２）のカラム２０４（「シャーシ」）、カラム２０６（「ＮＷＳＷの接続先」）およびカラム２０８（「ＦＣＳＷの接続先」）を参照し、サーバ識別子「Ｓ１０」を有するサーバ１０２に接続されている共通機器の識別子「ＢＳ１０００＃２」、「ＮＷＳＷ＃１」、「ＮＷＳＷ＃２」、「ＦＣＳＷ＃１」および「ＦＣＳＷ＃２」といった共通機器の情報を取得する。そして、サーバ管理部１１２は、ステップＳ４０３において取得した共通機器の情報を優先度変更部１１４に返信する。
【００３５】
次に、ステップＳ４０４において優先度変更部１１４は、共通機器の稼動状況を共通機器管理部１１３に要求する。要求には、ステップＳ４０３で返信された共通機器識別子「ＢＳ１０００＃２」、「ＮＷＳＷ＃１」、「ＮＷＳＷ＃２」、「ＦＣＳＷ＃１」および「ＦＣＳＷ＃２」が含まれており、共通機器管理部１１３は、これらの共通機器識別子を検索キーとして、共通機器管理テーブル１１７のカラム３０３（「共通機器の状態」）を取得し、ステップＳ４０５において取得した共通機器の状態と、対応する共通機器識別子とを対の情報（共通機器の稼動情報）として優先度変更部１１４に返信する。
【００３６】
優先度変更部１１４は、ステップＳ４０６において、返信された各々の共通機器の稼動情報と、共通機器の冗長度から優先度を決定する。本例では、共通機器識別子「ＢＳ１０００＃２」が異常状態であることから（図３参照）、サーバ識別子「Ｓ１０」を有するサーバ１０２の優先度を「低」に決定する。そして、ステップＳ４０７において優先度変更部１１４は、サーバ管理テーブル１１６（図２）におけるサーバ識別子「Ｓ１０」に対応する優先度を「低」に更新するよう、サーバ管理部１１２に対して、優先度更新を要求する。そして、ステップＳ４０８で、サーバ管理部１１２は、サーバ管理テーブル１１６（図２）においてサーバ識別子「Ｓ１０」に対応するカラム２１０を「低」に変更する。
【００３７】
なお、例えば、該当するサーバ１０２に接続している共通機器の稼動状態がすべて「正常」であり、冗長度が「２」以上のとき優先度は、「高」となり、該当するサーバ１０２に接続している共通機器の稼動状態がすべて「正常」であり、冗長度が「１」のときのとき優先度は、「通常以上」となる。
【００３８】
第１実施形態によれば、共通機器に故障等、フェイルオーバシステム１０の運用上に関わる問題が発生した場合、サーバ１０２に接続している共通機器の稼動情報と構成情報を考慮した優先度に基づいて予備サーバを決定することにより、システム全体の信頼性を向上することができる。より具体的には、現用サーバの障害発生時に、フェイルオーバシステム１０内のすべての未使用のサーバ１０２の中から、最も業務復旧確率の高い予備サーバを検出できる。
【００３９】
（第２実施形態：構成）
次に、図９から図１３を参照して本発明の第２実施形態について説明する。
図９は、第２実施形態に係るフェイルオーバシステムの構成例を示す図である。図９において、図１と同様の構成に関しては同一の符号を付して説明を省略する。第２実施形態に係るフェイルオーバシステム１０ａでは、現用の論理サーバ１５０のパーティション構成にあわせて、予備の論理サーバ１５０を構成する実施形態を示す。ここで、図１０に示すように論理サーバ１５０とは、少なくとも１つのサーバ１０２（多くの場合複数のサーバ１０２）を見かけ上１つのサーバのように稼動させるものである。あるいは、１つのサーバ１０２を複数のサーバのように稼動させるものである。フェイルオーバシステム１０ａが、図１の第１実施形態におけるフェイルオーバシステム１０と異なるのは、管理サーバ１０１ａにパーティション管理部１４１を含むパーティション管理処理部１４０が追加され、記憶部１６０ａにパーティション管理テーブル１４２が追加されたことと、フェイルオーバ処理部１１０ａにパーティション構成変更部１４３が追加されたことである。
パーティション管理処理部１４０は、論理サーバ１５０の作成、論理サーバ１５０の構成変更、削除といったパーティションの制御を行う機能を有している。パーティション管理部１４１は、パーティション管理テーブル１４２を参照して、現在の論理サーバ１５０の構成を管理する機能を有する。パーティション構成変更部１４３は、パーティション管理部１４１と連携して、予備の論理サーバ１５０のパーティションを自動的に構成する機能を有する。
なお、パーティション管理テーブル１４２の詳細は、図１０を参照して後記する。
【００４０】
（パーティション管理テーブル）
次に、図９を参照しつつ、図１０に沿ってパーティション管理テーブル１４２を説明する。
図１０は、第２実施形態に係るパーティション管理テーブルの構成例を示す図である。
パーティション管理テーブル１４２のカラム１００１には、パーティション識別子が格納されている。パーティション識別子は、論理サーバ１５０に対応するものであり、パーティションが特定できる情報であればよい。カラム１００２には、論理サーバ１５０を構成するサーバ１０２を示すサーバ識別子が格納されている。このカラム１００２には、１つまたは複数のサーバ識別子が格納される。カラム１００３は、論理サーバ１５０の使用状態に関する情報が格納される。このカラム１００３において、業務稼動中の論理サーバ１５０（現用論理サーバ）の場合は「使用中」が格納され、未使用の論理サーバ１５０（予備論理サーバ）の場合は「未使用」が格納される。カラム１００４は、予備の論理サーバ１５０の優先度が格納され、現用の論理サーバ１５０の障害発生時に、業務を引き継ぐべき論理サーバ１５０の検索条件に利用される。優先度は、論理サーバ１５０を構成する各々のサーバ１０２の優先度から優先度変更部１１４によって自動計算される。
【００４１】
（全体処理）
次に、図２から図４、図９および図１０を参照しつつ、図１１から図１３に沿って第２実施形態に係るフェイルオーバ方法を説明する。
図１１は、第２実施形態に係るフェイルオーバ処理の流れを示す図である。
図１１において現用論理サーバとして使用されている論理サーバ１５０を現用論理サーバ１１０１と記載し、予備論理サーバとして選択された論理サーバ１５０を予備論理サーバ１１０２と記載する。
図１１において、ステップＳ１０１ａ〜１０５ａおよびステップＳ１０８ａ〜Ｓ１１２ａに関しては、サーバ１０２が論理サーバ１５０になったこと以外は、図５のステップＳ１０１〜１０５およびステップＳ１０８〜Ｓ１１２と同様であるため説明を省略する。なお、ステップＳ１０６ａの予備論理サーバ１１０２の優先度更新処理は、以下のような手順で行われる。まず、優先度変更部１１４が、パーティション管理テーブル１４２（図１０）のカラム１００２に格納されているサーバ識別子を取得する。次に、優先度変更部１１４は、取得した各サーバ識別子に対応する優先度をサーバ管理テーブル１１６（図２）から取得すると、取得した優先度を基に、パーティション管理テーブル１４２のカラム１００２に対応するサーバ識別子毎に優先度を決定する。
例えば、優先度「高」と優先度「通常」との２台のサーバ１０２で構成される論理サーバ１５０の優先度は「通常」となる。つまり、優先度がすべて「高」であれば、対応する論理サーバ１５０の優先度も「高」となり、少なくとも１つの優先度が「通常」もしくは「通常以上」であり、他の優先度が「高」であれば、対応する論理サーバ１５０の優先度も「通常以上」となり、少なくとも１つの優先度が「低」であれば、対応する論理サーバ１５０の優先度も「低」となる。
【００４２】
優先度の高いサーバ１０２の優先度を論理サーバ１５０の優先度に設定するか、優先度の低いサーバ１０２の優先度を論理サーバ１５０の優先度に設定するかは、ユーザによって変更可能とする。たとえば、ＧＵＩやコマンドプログラム、設定ファイル等を介して、論理サーバ１５０の優先度の設定ポリシの指定を可能とする。
【００４３】
また、ステップＳ１０７ａの予備論理サーバ１１０２の検索処理は、図１２を参照して後記するため、ここでは、図１１におけるステップＳ５０１〜Ｓ５０３の処理について説明する。
フェイルオーバ処理部１１０ａは、図１２を参照して後記するステップＳ１０７ａの処理の結果、現用論理サーバ１１０１と同じパーティション構成を有する未使用の論理サーバ１５０（予備論理サーバ１１０２）を検出したか否かを判定する（Ｓ５０１）。
ステップＳ５０１の結果、検出した場合（Ｓ５０１→Ｙｅｓ）、フェイルオーバ処理部１１０ａは、現用論理サーバ１１０１へのディスクマッピングを解除し、検出した未使用の論理サーバ１５０（予備論理サーバ１１０２）に、現用論理サーバ１１０１にマッピングされていたディスク装置１０４のディスク１３１をマッピングするディスクマッピングの変更を要求する（Ｓ１０８ａ）。
【００４４】
ステップＳ５０１の結果、検出できなかった場合（Ｓ５０１→Ｎｏ）、フェイルオーバ処理部１１０ａは、現用論理サーバ１１０１と同じパーティション構成の論理サーバ１５０を構築可能なサーバ１０２の組を検索する。例えば、現用論理サーバ１１０１が２台のサーバ１０２から構成されていた場合、フェイルオーバ処理部１１０ａは、サーバ管理テーブル１１６（図２）を参照して論理サーバ１５０を構築可能な２台のサーバ１０２を検索する。２台のサーバ１０２を検出した場合、フェイルオーバ処理部１１０ａは、ステップＳ５０２に移り、検出したサーバ１０２を利用して、論理サーバ１５０を構成するようにパーティション管理処理部１４０に要求する。つまり、フェイルオーバ処理部１１０ａは、検出したサーバ１０２の組に関する情報を含むパーティション構成要求をパーティション管理処理部１４０に送る（Ｓ５０２）。さらに、フェイルオーバ処理部１１０ａは、サーバ管理テーブル１１６から検出したサーバ１０２の優先度を取得すると、この優先度を用いて、論理サーバ１５０の優先度も合わせて再設定するようにパーティション構成変更部１４３に要求する。
要求を受けたパーティション構成変更部１４３は、パーティション構成変更処理を実行する（Ｓ５０３）。ステップＳ５０３のパーティション構成変更処理は、図１３を参照して後記する。
パーティション構成変更処理を完了したパーティション構成変更部１４３は、完了通知をフェイルオーバ処理部１１０ａへ送り、フェイルオーバ処理部１１０ａは、ステップＳ１０８ａの処理を行う。
【００４５】
（予備論理サーバ検索処理）
図１２は、第２実施形態における予備論理サーバ検索処理の流れを示すフローチャートである。図１２に示す処理は、図１１のステップＳ１０７ａの処理を詳細に説明するものである。
サーバ検索部１１１は、サーバ管理テーブル１１６（図２）とパーティション管理テーブル１４２（図１０）とから現用論理サーバの情報を取得する（Ｓ６０１）。このとき、サーバ検索部１１１は、現用論理サーバのパーティション識別子を検索キーとして、パーティション管理テーブル１４２から現用論理サーバを構成するサーバ１０２のサーバ識別子を取得する。そして、サーバ検索部１１１は、取得したサーバ識別子を検索キーとして、サーバ管理テーブル１１６を参照し、カラム２０４〜２０９等から現用論理サーバの情報を取り出す。
【００４６】
次に、サーバ検索部１１１は、サーバ管理テーブル１１６（図２）を参照して未使用のサーバ１０２を検索し、検出した未使用のサーバ１０２とステップＳ６０１で取得した現用論理サーバの情報である、現用論理サーバを構成するハードウェア情報を比較し、予備の論理サーバ１５０を構成可能なサーバ１０２の組を検索する。つまり、サーバ検索部１１１は、業務を引き継ぎ可能な論理サーバ１５０を構成可能であるサーバ１０２の組を検索する（Ｓ６０２）。
例えば、現用論理サーバが２台のサーバ１０２で構成されている場合、サーバ検索部１１１は、２台の未使用であるサーバ１０２を検索することによって、２台で構成されるサーバ１０２の組を検索する。このサーバ１０２の組が論理サーバ１５０の候補となる。このとき、複数の論理サーバ１５０（サーバ１０２の組）が発見されてもよい。
【００４７】
そして、サーバ検索部１１１は、ステップＳ６０２の結果、サーバ１０２の組が検出できたか否かを判定する（Ｓ６０３）。
ステップＳ６０３の結果、検出できなかった場合（Ｓ６０３→Ｎｏ）、フェイルオーバ処理部１１０ａは、図１１のステップＳ５０１へ処理を進める。
ステップＳ６０３の結果、検出した場合（Ｓ６０３→Ｙｅｓ）、サーバ検索部１１１は、サーバ管理テーブル１１６（図２）と検索ポリシテーブル１１８（図４）とを参照し、現用論理サーバを構成するサーバ１０２のサーバ識別子をキーとして、検索ポリシを検索する。そして、ステップＳ６０２で検出した論理サーバ１５０（サーバ１０２の組）の中から、論理サーバ１５０の優先度と検索ポリシとの組み合わせを基に、最適な予備の論理サーバ１５０（予備論理サーバ）を構築可能なサーバ１０２を検索する。つまり、サーバ検索部１１１は、サーバ管理テーブル１１６と検索ポリシテーブル１１８とを参照して、予備論理サーバを検索する（Ｓ６０４）。具体的には、サーバ検索部１１１が、現用論理サーバを構成しているサーバ１０２の識別子をキーとして検索ポリシテーブル１１８を参照し、該当する検索ポリシを取得する。このとき、複数の検索ポリシが取得されてしまった場合、サーバ検索部１１１は、予め定めておいた検索ポリシの優先度に基づいて検索ポリシを１つに絞り込んでもよい。次に、サーバ検索部１１１は、サーバ管理テーブル１１６を検索し、取得した検索ポリシを満たす未使用のサーバ１０２を検索する。
ステップＳ６０４の後、フェイルオーバ処理部１１０ａは、図１１のステップＳ５０１へ処理を進める。
【００４８】
（パーティション構成変更処理）
図１３は、第２実施形態に係るパーティション構成変更処理の流れを示す図である。図１３に示す処理は、図１１のステップＳ５０３の処理を詳細に説明するものであり、図１２で検索された予備論理サーバ（実際には、予備論理サーバの候補となるサーバ１０２群）を実際の論理サーバ１５０として構築する処理である。
まず、パーティション構成変更部１４３は、フェイルオーバ処理部１１０ａから要求されたサーバ１０２の組でパーティションを構成するように、論理サーバ１５０の構築をパーティション管理部１４１に要求する（Ｓ７０１）。
そして、パーティション管理部１４１は、要求されたサーバ１０２の組に基づいて、論理サーバ１５０の構築を実行する（Ｓ７０２）。ステップＳ７０２の処理は、一般的に行われている処理であるため具体的な説明を省略する。論理サーバ１５０の構築が終了すると、パーティション管理部１４１は、論理サーバ１５０の構築が終了した旨をパーティション構成変更部１４３へ通知する。
そして、パーティション構成変更部１４３は、構築した論理サーバ１５０を予備論理サーバに指定する。
【００４９】
第２実施形態によれば、少なくとも１台のサーバ１０２から構成される論理サーバ１５０に対しても、第１実施形態と同様の効果を得ることができる。
【００５０】
（第３実施形態）
次に、図１４および図１５を参照して、本発明に係る第３実施形態を説明する。
第３実施形態では、予備サーバの検索の際に、共通機器のパフォーマンス情報を用いて、サーバ１０２の優先度の変更を行う例示している。なお、第３実施形態を実現するためのフェイルオーバシステム１０の構成は、図１の共通機器管理テーブル１１７が、図１４に示す共通機器管理テーブル１１７ｂとなっている以外は、図１と同様であるため説明を省略する。
【００５１】
（共通機器管理テーブル）
次に、図１を参照しつつ、図１４に沿って第３実施形態に係る共通機器管理テーブル１１７ｂの説明をする。
図１４は、第３実施形態に係る共通機器管理テーブルの構成例を示す図である。図１４において、図３の共通機器管理テーブル１１７と同様の構成には、同一の符号を付して説明を省略する。
図３における共通機器管理テーブル１１７と異なるのは、カラム３０５の「接続数」とカラム３０６の「通信速度の平均値」が追加されたことである。
カラム３０５には、カラム３０２における「共通機器の種別」が「シャーシ」の場合は、シャーシ１０３に設置されているサーバ１０２（図１）の数、「ＦＣＳＷ」の場合は、ＦＣＳＷ１０５に接続されているＨＢＡ１２０（図１）の数、「ＮＷＳＷ」の場合は、ＮＷＳＷ１０６に接続されているＮＩＣ１２１（図１）の数といった、各共通機器に接続している構成部品の数が格納されている。
カラム３０６には、各共通機器における通信速度の平均値が格納されている。通信速度は、シャーシ１０３の場合、ネットワークおよびＩ／Ｏバス間に流れるデータ量、ＦＣＳＷ１０５とＮＷＳＷ１０６の場合、各スイッチ内を流れるデータ量を示す。通信速度の平均値は、管理サーバ１０１の共通機器管理部１１３がネットワーク経由で共通機器の通信測度を要求する方法や、管理サーバ１０１の共通機器管理部１１３が共通機器からの通信速度の通知を受信する方法等を用いて、通信速度の平均値（例えば、１分当たりの平均値）を計算する。また、管理サーバ１０１が、ネットワークに流れている情報を監視することで、通信速度の平均値を計算することも可能である。
【００５２】
（サーバ検索処理）
図１５は、第３実施形態に係るサーバ検索処理の流れを示すフローチャートである。図１５における処理は、図５におけるステップＳ１０７または図６のステップＳ２０５における処理である。
図１５に示すサーバ検索処理が、図７に示すサーバ検索処理と異なるのは、ステップＳ３０２ａである。ステップＳ３０１ａ、ステップＳ３０３ａおよびステップＳ３０４ａは、図７のステップＳ３０１、ステップＳ３０３およびステップＳ３０４と同様の処理であるため説明を省略する。
ステップＳ３０２ａでは、サーバ検索部１１１が、図７のステップＳ３０２における検索条件に加え、共通機器のパフォーマンス情報を検索条件としてサーバ１０２（予備サーバ）の検索を行っている。第３実施形態において、パフォーマンス情報は、共通機器に接続されているフェイルオーバシステム１０の構成部位の数と通信速度の平均値と定義している。パフォーマンス情報の取得は、サーバ検索部１１１が、処理の対象となっているサーバ１０２に接続されている共通機器識別子を検索キーとして、共通機器管理テーブル１１７ｂ（図１４）を検索することで可能となる。また、パフォーマンス情報に関しても、検索ポリシを設定可能である。たとえば、「シャーシの負荷分散」を検索ポリシとして設定した場合、サーバ１０２の優先度が同じであっても、シャーシ１０３に接続しているサーバ１０２数が少ないか、または通信速度の小さいシャーシ１０３を選択する等といったサーバ１０２の選択となる。通信速度の小さいシャーシ１０３を選択することで、Ｉ／Ｏ負荷の高いシャーシ１０３に搭載されているサーバ１０２への業務引き継ぎを避けることができるとともに、そのシャーシ１０３で稼動中の他の業務への影響も少なくすることができる。
【００５３】
第３実施形態では、業務を引き継ぐべきサーバ１０２の優先度を変更する要素として、共通機器のパフォーマンス情報を利用している。これ以外にも、サーバ１０２の優先度変更の要素や予備サーバの検索条件として、前記した要素以外に、サーバ１０２の稼動実績、サーバ１０２と共通機器との過去の障害発生の頻度、現用サーバから予備サーバへの業務引き継ぎの実績等も利用可能である。サーバ１０２の稼動実績を利用することで、業務を実行する現用サーバや業務を引き継いだ予備サーバとしての稼動実績のあるサーバ１０２の優先度を高くする等の検索ポリシの設定が可能である。サーバ１０２と共通機器の過去の障害発生の頻度を利用することで、機器の温度上昇等の故障や機能停止までは至らない障害を通知した共通機器に接続いているサーバ１０２の優先度を低くする等の検索ポリシの設定を行ってもよい。また、現用サーバから予備サーバへの業務引き継ぎの実績を利用することで、業務の引き継ぎの成功実績のある現用サーバと予備サーバの組み合わせから、構成情報が同一または類似しているサーバ１０２の優先度を高くする等の検索ポリシの設定を行ってもよい。
【００５４】
（ハードウェア構成）
図１６は、第１〜第３実施形態に係る管理サーバのハードウェア構成例を示す図である。
管理サーバ１０１，１０１ａは、ＣＰＵ２００１、ＲＡＭ（Random Access Memory）２００２、ＲＯＭ（Read Only Memory）２００３、ＨＤ（Hard Disk）２００４および通信インタフェース２００５がバス２００６によって互いに接続された構成を有している。
図１および図９に示す管理サーバ１０１，１０１ａにおける各部１１０〜１１６，１４０，１４１は、ＲＯＭ２００３や、ＨＤ２００４に格納されたプログラムが、ＲＡＭ２００２に展開され、ＣＰＵ２００１によって実行されることによって具現化する。
【図面の簡単な説明】
【００５５】
【図１】第１実施形態に係るフェイルオーバシステムの構成例を示す図である。
【図２】サーバ管理テーブルの構成例を示す図である。
【図３】共通機器管理テーブルの構成例を示す図である。
【図４】検索ポリシテーブルの構成例を示す図である。
【図５】第１実施形態に係るフェイルオーバ処理の流れを示す図である。
【図６】第１実施形態に係るフェイルオーバ方法におけるサーバ管理処理の流れを示すフローチャートである。
【図７】第１実施形態に係るサーバ検索処理の流れを示すフローチャートである。
【図８】第１実施形態に係る優先度変更処理の流れを示す図である。
【図９】第２実施形態に係るフェイルオーバシステムの構成例を示す図である。
【図１０】第２実施形態に係るパーティション管理テーブルの構成例を示す図である。
【図１１】第２実施形態に係るフェイルオーバ処理の流れを示す図である。
【図１２】第２実施形態における予備論理サーバ検索処理の流れを示すフローチャートである。
【図１３】第２実施形態に係るパーティション構成変更処理の流れを示す図である。
【図１４】第３実施形態に係る共通機器管理テーブルの構成例を示す図である。
【図１５】第３実施形態に係るサーバ検索処理の流れを示すフローチャートである。
【図１６】第１〜第３実施形態に係る管理サーバのハードウェア構成例を示す図である。
【符号の説明】
【００５６】
１０，１０ａ  フェイルオーバシステム（システム）
１０１  管理サーバ（フェイルオーバ装置）
１０２  サーバ
１０３  シャーシ（機器）
１０４  ディスク装置
１０５  ＦＣＳＷ（機器）
１０６  ＮＷＳＷ（機器）
１１０，１１０ａ  フェイルオーバ処理部（処理部）
１１１  サーバ検索部
１１２  サーバ管理部
１１３  共通機器管理部
１１４  優先度変更部
１１５  ディスクマッピング変更部
１１６  サーバ管理テーブル
１１７，１１７ｂ  共通機器管理テーブル
１１８  検索ポリシテーブル
１２０  ＨＢＡ
１２１  ＮＩＣ
１２２  ＢＭＣ
１３０  ディスクマッピング処理部
１３１  ディスク
１４０  パーティション管理処理部
１４１  パーティション管理部
１４２  パーティション管理テーブル
１４３  パーティション構成変更部
１５０  論理サーバ
１６０，１６０ａ  記憶部
５０１  現用サーバ
５０２  予備サーバ
１１０１  現用論理サーバ
１１０２  予備論理サーバ
【図１】
0004659062.tif 000002
【図２】
0004659062.tif 000003
【図３】
0004659062.tif 000004
【図４】
0004659062.tif 000005
【図５】
0004659062.tif 000006
【図６】
0004659062.tif 000007
【図７】
0004659062.tif 000008
【図８】
0004659062.tif 000009
【図９】
0004659062.tif 000010
【図１０】
0004659062.tif 000011
【図１１】
0004659062.tif 000012
【図１２】
0004659062.tif 000013
【図１３】
0004659062.tif 000014
【図１４】
0004659062.tif 000015
【図１５】
0004659062.tif 000016
【図１６】
0004659062.tif 000017