(57)【要約】      （修正有）【課題】待機系ＶＭの物理リソース量をできるだけ小さくし、障害時にできるだけ短い障害回復時間で回復させ、かつ、複数の主系ＶＭを適切に障害回復させる。【解決手段】所定の通信サービスを提供する主系の仮想計算機１０３と、主系の仮想計算機の障害回復の切替先であり電源状態を半稼働状態及び停止状態のいずれかに制御した待機系／予備系の仮想計算機１０４、１０５と、主系の仮想計算機の稼働状態と構成状態を監視するＶＭ管理部と、主系の仮想計算機の構成情報から待機系／予備系の仮想計算機を作成するパターン生成部を備え、ＶＭ管理部は、主系の仮想計算機の構成変更又は稼働状態の変化を検知した場合に、該仮想計算器についての判断指標の値を変更し、該判断指標の値に基づき主系の仮想計算機の障害回復に使われる待機系／予備系の仮想計算機を選択し、パターン生成部は、ＶＭ管理部が選択した待機系／予備系の仮想計算機を構築する。【選択図】図１
2015103092.tif 000002
【特許請求の範囲】
【請求項１】
所定の通信サービスを提供する主系の複数の第１仮想計算機と、
主系の複数の前記第１仮想計算機のいずれかに障害が生じた場合に該障害の回復のための切替先に用いられ、電源状態が半稼働状態の待機系の第２仮想計算機と、
主系の複数の前記第１仮想計算機の構成変更及び稼働状態の少なくともいずれかを監視し、主系の複数の前記第１仮想計算機のいずれかの構成変更又は稼働状態の変化を検知した場合に、障害発生の可能性を示す指標を更新する仮想計算機管理部と
前記指標が予め定められた基準を超えた主系の第１仮想計算機について、障害が生じた場合の切替先として待機系の前記第２仮想計算機を対応づける構成設定部と
を備えた障害回復システム。
【請求項２】
主系の複数の前記第１仮想計算機のいずれかに障害が生じた場合の切替先として用いられる、電源状態が停止状態の予備系の第３仮想計算機
をさらに備え、
前記構成設定部は、前記指標が予め定められた基準を下回る主系の前記第１仮想計算機については、障害が生じた場合の切替先として予備系の第３仮想計算機を対応づける請求項１に記載の障害回復システム。
【請求項３】
前記構成設定部は、
前記指標が予め定められた基準を下回ると待機系の前記第２仮想計算機を、電源状態が停止状態の予備系の仮想計算機とする請求項１に記載の障害回復システム。
【請求項４】
主系の複数の前記第１仮想計算機のいずれかに障害が生じた場合の切替先として待機系の前記第２仮想計算機が用いられ、主系の複数の前記第１仮想計算機の他のいずれかに障害が生じた場合の第２の切替先として用いられる、電源状態が停止状態の予備系の第３仮想計算機
をさらに備え、
前記指標が予め定められた基準を超えた主系の前記第１仮想計算機について、障害が生じた場合の第２の切替先として予備系の前記第３仮想計算機を対応づける請求項１に記載の障害回復システム。
【請求項５】
前記指標は、前記第１仮想計算機毎に、構成変更及び稼働状態の変化の双方に基づいて求められる請求項１に記載の障害回復システム。
【請求項６】
主系の前記第１の仮想計算機は物理リソースの所定の構成パターンで構成され、
前記構成設定部は、
主系の複数の前記第１仮想計算機と同じ構成パターンを有する待機系の前記第２仮想計算機を作成する請求項１に記載の障害回復システム。
【請求項７】
前記構成設定部は、
主系の前記第１仮想計算機の構成情報と前記第２仮想計算機の構成情報を対応づけて記憶するパターン記憶領域
を備え、
前記パターン記憶領域には、
待機系又は予備系の前記第２仮想計算機毎に同じ構成パターンとなる主系の複数の前記第１仮想計算機が登録され、かつ、予備系の前記第３仮想計算機毎に同じ構成となる主系のひとつ又は複数の前記仮想計算機が登録される請求項６に記載の障害回復システム。
【請求項８】
主系の前記第１仮想計算機に対して確保する予め定められた物理リソース量よりも、主系の前記第１仮想計算機の実際の利用量が小さい場合に、
主系の前記第１仮想計算機について、該実際の利用量に応じた物理リソース量の待機系の前記第２仮想計算機を対応づける請求項１に記載の障害回復システム。
【請求項９】
前記仮想計算機管理部は、
主系の前記第１仮想計算機が構成変更された場合、及び、稼働状況が予め定められた負荷よりも高負荷となる場合に前記指標を増加させ、
主系の前記第１仮想計算機の稼働状況が予め定められた負荷よりも低負荷となる場合に前記指標を減少させる請求項１に記載の障害回復システム。
【請求項１０】
所定の通信サービスを提供する主系の複数の第１仮想計算機に対する障害回復システムの構築方法であって、
主系の複数の前記第１仮想計算機の構成変更及び稼働状態の少なくともいずれかを監視し、
主系の複数の前記第１仮想計算機のいずれかの構成変更又は稼働状態の変化を検知した場合に、障害発生の可能性を示す指標を更新し、
前記指標が予め定められた基準を超えた主系の第１仮想計算機について、障害が生じた場合の切替先として待機系の前記第２仮想計算機を対応づけ、
該待機系の第２仮想計算機は、主系の複数の前記第１仮想計算機のいずれかに障害が生じた場合に該障害の回復のための切替先に用いられる、電源状態が半稼働状態の仮想計算機である障害回復システムの構築方法。
【請求項１１】
前記指標が予め定められた基準を下回る主系の前記第１仮想計算機については、障害が生じた場合の切替先として予備系の第３仮想計算機を対応づけ、
該予備系の第３仮想計算機は、主系の複数の前記第１仮想計算機のいずれかに障害が生じた場合の切替先として用いられる、電源状態が停止状態の仮想計算機である請求項１０に記載の障害回復システムの構築方法。
【請求項１２】
前記指標が予め定められた基準を下回ると待機系の前記第２仮想計算機を、電源状態が停止状態の予備系の仮想計算機とする請求項１０に記載の障害回復システムの構築方法。
【請求項１３】
主系の複数の前記第１仮想計算機のいずれかに障害が生じた場合の切替先として待機系の前記第２仮想計算機が用いられ、
前記指標が予め定められた基準を超えた主系の前記第１仮想計算機について、障害が生じた場合の第２の切替先として、主系の複数の前記第１仮想計算機の他のいずれかに障害が生じた場合の切替先として用いられる、電源状態が停止状態の予備系の第３仮想計算機を対応づける請求項１０に記載の障害回復システムの構築方法。
【請求項１４】
前記指標を、前記第１仮想計算機毎に、構成変更及び稼働状態の変化の双方に基づいて求める請求項１０に記載の障害回復システムの構築方法。
【請求項１５】
主系の前記第１の仮想計算機は物理リソースの所定の構成パターンで構成され、
主系の複数の前記第１仮想計算機と同じ構成パターンを有する待機系の前記第２仮想計算機を作成する請求項１０に記載の障害回復システムの構築方法。
【請求項１６】
パターン記憶領域に、待機系又は予備系の前記第２仮想計算機毎に同じ構成パターンとなる主系の複数の前記第１仮想計算機が登録され、かつ、予備系の前記第３仮想計算機毎に同じ構成となる主系のひとつ又は複数の前記仮想計算機が登録される請求項１５に記載の障害回復システムの構築方法。
【請求項１７】
主系の前記第１仮想計算機に対して確保する予め定められた物理リソース量よりも、主系の前記第１仮想計算機の実際の利用量が小さい場合に、
主系の前記第１仮想計算機について、該実際の利用量に応じた物理リソース量の待機系の前記第２仮想計算機を対応づける請求項１０に記載の障害回復システムの構築方法。
【請求項１８】
主系の前記第１仮想計算機が構成変更された場合、及び、稼働状況が予め定められた負荷よりも高負荷となる場合に前記指標を増加させ、
主系の前記第１仮想計算機の稼働状況が予め定められた負荷よりも低負荷となる場合に前記指標を減少させる請求項１０に記載の障害回復システムの構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害回復システム及び障害回復システムの構築方法に係り、特に、通信サービスを提供する複数の仮想サーバに対して共通的な障害時の切り替え先となる仮想サーバを搭載した冗長構成において、冗長構成で利用されるリソース量の削減及び障害回復時間を短縮させる技術に関する。
【背景技術】
【０００２】
クラウドコンピューティングの普及により、データセンタ事業者や通信事業者が提供するデータセンタの利用が増加している。一般的にデータセンタは遠隔地に設置されるケースが多く、利用する際にはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）／ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）経由でアクセスされる。
【０００３】
ＷＡＮを利用したネットワークでは、ＬＡＮを利用したネットワークに比べ回線品質が低いため通信速度が遅くなる。そこで、最近ではＷＡＮ高速化技術の開発が推進されており、各ベンダにおいてＷＡＮ高速化装置が提供されている。一般的にＷＡＮ高速化装置は、クライアント側のＬＡＮとＷＡＮ、及び、データセンタ側のＬＡＮとＷＡＮを繋ぐ中継装置として設置され、クライアントとデータセンタ間で通信されるデータを制御することでＷＡＮの通信速度を改善させている。
【０００４】
このＷＡＮ高速化技術やＷＡＮ高速化装置においては、仮想化技術の普及によりＷＡＮ高速化技術を含む通信サービスの仮想化が推進されつつあり、また、ＷＡＮ高速化装置等のアプライアンス装置に汎用的なサーバを利用し、本サーバに仮想環境を構築することで各通信サービスを同一サーバに集約するマルチテナントに対応した装置の仮想化等の技術開発が推進されつつある。このような仮想化機構の適用においては、通信サービスの障害時における高可用性を提供するために、仮想化機構で提供される管理機構が利用される。
【０００５】
また、データセンタ等の大規模な環境においては、個々の仮想サーバに割り当てる物理サーバのリソース量を別々に設定した場合、環境構築やメンテナンスの面で管理者の負荷が増加する可能性ある。そこで、適用する仮想化機構で割り当て可能なリソース量や顧客要求を吟味し、データセンタ等で提供する仮想サーバの構成をパターン化することで運用管理を容易化させている。
【０００６】
このような仮想化機構を適用した通信サービスやアプライアンス装置における高可用性を提供する技術分野の背景技術としては、仮想サーバ（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）に障害が発生した場合に障害対象のＶＭを自動的に再起動させる技術、及び、通信サービスを稼働するＶＭと障害時の切り替え先となる待機系のＶＭで構成される冗長構成を組むことで、障害時に系切り替え（フェイルオーバー）を行い、通信サービスを継続できる技術（非特許文献１参照）が提供されている。また、このような冗長構成を組む場合に待機系側も含めたＣＰＵやメモリ等の物理リソースを事前に確保する必要がある。そこで、通信サービスを稼働する複数のＶＭに対して障害時の切り替え先となる待機系のＶＭを共通化させることで待機系のＶＭで利用される物理リソースを削減させ、かつ、通信サービスを提供する複数のＶＭと共通化した待機系ＶＭの処理を同期させることで障害回復時間を短縮させる技術（非特許文献２参照）が提供されている。
【０００７】
また、特許文献１には、負荷状態の予測により計算機の待機状態を遷移させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−１４１６０５号公報
【非特許文献】
【０００９】
【非特許文献１】“ｖＳｐｈｅｒｅ  Ａｖａｉｌａｂｉｌｉｔｙ  ＥＳＸｉ５．５  ｖＣｅｎｔｅｒ  Ｓｅｒｖｅｒ  ５．５”
【非特許文献２】“経済産業省  平成２３年度  次世代高信頼・省エネ型ＩＴ基盤技術開発・実証事業  クラウドコンピューティングのアカウンタビリティを向上させる研究・開発事業  事業報告書”、平成２４年３月３０日、ｐ８２−ｐ１０８
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非特許文献１に示したように冗長構成を組むことでＶＭの再起動やＶＭのフェイルオーバーにより障害回復が可能である。ＶＭを再起動させる場合、切り替え先となる待機系ＶＭは、通常運用時に物理リソースを利用しないため、通信サービス等を提供する主系ＶＭが自由に物理リソースを利用することが可能である。しかし、障害時に主系ＶＭの再起動を行う必要があるため、ＶＭの起動時間中に通信中断時間が発生し、通信サービスの再開時間が遅延する課題がある。また、ＶＭをフェイルオーバーさせる場合では、主系ＶＭと待機系ＶＭが１対１の冗長構成であり、かつ、主系ＶＭの実行状態を待機系ＶＭに同期させているため、障害時には、待機系ＶＭに通信サービスを中断なく継続させることが可能である。しかし、待機系ＶＭでは、主系ＶＭとの同期により負荷がかかった状態となるため、待機系ＶＭが物理リソースを利用することになる。従って、本冗長構成を利用する場合には、主系ＶＭと待機系ＶＭの両方を考慮した物理リソースを確保する必要がある点が課題となる。
【００１１】
非特許文献２に示したような待機系ＶＭを共通化させる技術では、待機系ＶＭが利用する物理リソースを削減させることが可能である。しかし、単純に複数の主系ＶＭに割当てた物理リソースをベースとして待機系ＶＭに割り当てる物理リソースを設定した場合、ある主系ＶＭと待機系ＶＭで割り当てた物理リソース量が異なる可能性があり、障害前後の性能に大きな影響を与える可能性がある。また、共通化により主系ＶＭと待機系ＶＭの数が異なるため、複数の主系ＶＭに対して障害回復を行えない可能性がある。非特許文献２においては、別途物理サーバを準備し、順次障害回復した主系ＶＭを別途準備した物理サーバに移行させる仕組みを提案している。この場合、移行先となる物理サーバを別途準備する必要があり、待機系ＶＭの物理リソースの削減効果が低くなる可能性がある。
【００１２】
以上のように、従来技術においては、主系ＶＭに障害が発生した場合に、１：１の冗長構成によりＶＭをフェイルオーバーさせて障害回復時間を短縮させる技術と、待機系ＶＭを共通化して待機系ＶＭのリソース量を削減させる技術が相反する仕組みとなっており、両方のメリットを効果的に提供しづらいことが課題となる。また、待機系ＶＭを共通化することで障害回復時間の短縮と待機系ＶＭのリソース量の削減を期待ができるが、複数の主系ＶＭに対して障害回復を迅速に行えない可能性がある点や別途、障害回復させた主系ＶＭを移行させる物理サーバが必要となる点が課題となる。
【００１３】
以上の点に鑑み、本発明の目的は、待機系ＶＭの物理リソース量をできるだけ小さくし、障害時にできるだけ短い障害回復時間で回復させ、かつ、複数の主系ＶＭを適切に障害回復させる障害回復システム及び障害回復システムの構築方法を提供することである。
【課題を解決するための手段】
【００１４】
本発明の第１の解決手段によると、
所定の通信サービスを提供する主系の複数の第１仮想計算機と、
主系の複数の前記第１仮想計算機のいずれかに障害が生じた場合に該障害の回復のための切替先に用いられ、電源状態が半稼働状態の待機系の第２仮想計算機と、
主系の複数の前記第１仮想計算機の構成変更及び稼働状態の少なくともいずれかを監視し、主系の複数の前記第１仮想計算機のいずれかの構成変更又は稼働状態の変化を検知した場合に、障害発生の可能性を示す指標を更新する仮想計算機管理部と
前記指標が予め定められた基準を超えた主系の第１仮想計算機について、障害が生じた場合の切替先として待機系の前記第２仮想計算機を対応づける構成設定部と
を備えた障害回復システムが提供される。
本発明の第２の解決手段によると、
所定の通信サービスを提供する主系の複数の第１仮想計算機に対する障害回復システムの構築方法であって、
主系の複数の前記第１仮想計算機の構成変更及び稼働状態の少なくともいずれかを監視し、
主系の複数の前記第１仮想計算機のいずれかの構成変更又は稼働状態の変化を検知した場合に、障害発生の可能性を示す指標を更新し、
前記指標が予め定められた基準を超えた主系の第１仮想計算機について、障害が生じた場合の切替先として待機系の前記第２仮想計算機を対応づけ、
該待機系の第２仮想計算機は、主系の複数の前記第１仮想計算機のいずれかに障害が生じた場合に該障害の回復のための切替先に用いられる、電源状態が半稼働状態の仮想計算機である障害回復システムの構築方法が提供される。
【発明の効果】
【００１５】
本発明によると、待機系ＶＭの物理リソース量をできるだけ小さくし、障害時にできるだけ短い障害回復時間で回復させ、かつ、複数の主系ＶＭを適切に障害回復させる障害回復システム及び障害回復システムの構築方法を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施例の前提となる仮想化機構を適用したアプライアンス装置の構成図の一例である。
【図２】本実施例におけるアプライアンス装置の構成図の一例である。
【図３】本実施例におけるアプライアンス装置及びソフトウェアの関係を示すスタック図の一例である。
【図４】本実施例におけるメモリ内容の一例である。
【図５】本実施例におけるパターン管理テーブルの一例である。
【図６】本実施例におけるＶＭ管理テーブルの一例である。
【図７】本実施例における構成管理テーブルの一例である。
【図８】本実施例における通常運用時の全体処理を説明するフローチャートの一例である。
【図９】本実施例における通常運用時のＶＭ管理部の処理を説明するフローチャートの一例である。
【図１０】本実施例における通常運用時のパターン生成部の処理を説明するフローチャートの一例である。
【図１１】本実施例における障害発生時の全体処理を説明するフローチャートの一例である。
【図１２】本実施例における障害発生時のパターン生成部の処理を説明するフローチャートの一例である
【発明を実施するための形態】
【００１７】
まず、本実施の形態の概略を説明する。通信サービスが稼働する主系ＶＭの構成に基づいて共通的な待機系ＶＭを構築する。ここでは、主系ＶＭの構成や割り当てる物理リソース量がパターン化され提供されていることを想定しており、共通化した待機系ＶＭには、この構成や物理リソース量に合わせて環境を構築する。従って、主系ＶＭがＮ個（Ｎは２以上の自然数）ある場合に待機系ＶＭをＭ個（Ｍは１以上の自然数）準備されたＮ＋Ｍの冗長構成のような環境が構築される。
【００１８】
次に、各主系ＶＭのＣＰＵ利用率等の稼働状態や主系ＶＭの構成変更等のイベント情報等に合わせて関連する待機系ＶＭの電源制御を行う。この電源制御では、メモリに稼働情報が保持されてハードディスク等の記憶装置が停止した状態であるスタンバイ状態と電源が完全に停止した停止状態の２通りの電源状態を設定する。これにより、待機系ＶＭが利用する物理リソース量を削減することが可能となる。また、この電源制御の設定では、主系ＶＭの稼働状態やイベント状態等により重み付けを行う（例えば主系ＶＭ毎の指標を求める）ことで、障害が発生する可能性が高い主系ＶＭを抽出し、この主系ＶＭが障害時に切り替える待機系ＶＭの電源状態をスタンバイ状態にする。これにより、障害時の回復時間を短縮させることが可能となる。
【００１９】
また、共通化した待機系ＶＭへ障害時に切り替えを行う複数の主系ＶＭに対して、電源状態を停止状態に設定した待機系ＶＭを別途準備する。ここでは、このように電源状態を停止状態とした待機系ＶＭを予備系ＶＭと呼ぶ。この予備系ＶＭは、障害時に待機系ＶＭで障害回復を行えなかった主系ＶＭの切り替え先として利用される。これにより、複数の主系ＶＭで障害が発生した際にも障害回復を行うことが可能となる。
【００２０】
以下，実施例について図面を用いて説明する。本実施例では、複数の主系仮想サーバ１０３に対して共通化させた待機系仮想サーバ１０４を搭載した冗長構成により障害対応を行うアプライアンス装置１０１の例を示す。
【００２１】
図１は、仮想化機構を適用したアプライアンス装置の構成図の一例である。図１の例では、ＷＡＮ１０７とＬＡＮ１０８の通信経路に通信ノード装置１０２とアプライアンス装置１０１が設置されており、ＷＡＮ１０７とＬＡＮ１０８の間の通信制御がアプライアンス装置１０１内の通信サービス１０６で実行される。例えば、通信サービス１０６としてＷＡＮ高速化技術が提供される際には、ＷＡＮ１０７の通信速度を向上させることができる。
【００２２】
アプライアンス装置１０１では、仮想化機構を適用し、通信サービス１０６を主系仮想サーバ（主系の第１仮想計算機）１０３上で稼働させている。また、通信サービス１０６は、複数のアプライアンス装置１０１（アプライアンス装置１、２。それぞれを以下、アプライアンス装置１０１−１、１０１−２と記す）に分散されており、通信ノード装置１０２により実行したい通信サービス１０６へ通信経路が制御される。この通信制御（通信経路制御）では、例えば、仮想的なネットワークを構成するＶＬＡＮ（Ｖｉｒｔｕａｌ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を利用することで通信制御を行うことが可能である。また、本実施例では、通信ノード装置１０２により通信経路の制御を行っているが、この通信ノード装置１０２をアプライアンス装置１０１内に組み込んでも良い。
【００２３】
アプライアンス装置１０１には、待機系仮想サーバ（待機系の第２仮想計算機）１０４と予備系仮想サーバ（予備系の第２仮想計算機、予備系の第３仮想計算機））１０５が搭載されており、それぞれ主系仮想サーバ１０３に障害が発生した際に系切り替えが行われ通信サービス１０６が再開される。この待機系仮想サーバ１０４と予備系仮想サーバ１０５には、異なる電源状態が設定されている。待機系仮想サーバ１０４の電源状態は、メモリに稼働情報が保持された状態でハードディスク等の記憶装置が停止したスタンバイ状態となっており、予備系仮想サーバ１０５の電源状態は、電源が停止した停止状態となっている。
【００２４】
図２は、アプライアンス装置１０１の構成図の例である。ここでは、図１内のアプライアンス装置１０１−１の状態を例に説明する。アプライアンス装置１０１−２については仮想サーバの内容は異なるが、装置の構成は同様である。
アプライアンス装置１０１には、ＣＰＵ２０３を１つ以上（ひとつ又は複数）有し、これらのＣＰＵ２０３はＱＰＩ（ＱｕｉｃｋＰａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）やＳＭＩ（Ｓｃａｌａｂｌｅ  Ｍｅｍｏｒｙ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）等のインターコネクタ２０６を介してＣｈｉｐＳｅｔ２０５に接続される。
【００２５】
Ｃｈｉｐｓｅｔ２０５には、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）  Ｅｘｐｒｅｓｓ等のバス２０７を介してＩ／Ｏアダプタ２０８、通信ノード装置１０２に接続されるＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２１１、ディスク装置２１４に接続されるＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）アダプタ２１２、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）２１５に接続されるＨＢＡ（Ｈｏｓｔ  Ｂｕｓ  Ａｄａｐｔｅｒ）２１３、コンソール２０９に接続されるコンソールインタフェース（コンソールＩ／Ｆ）２１０に接続される。
【００２６】
ＣＰＵ２０３は、インターコネクト２０６を介してメモリ２０４にアクセスし、ＣｈｉｐＳｅｔ２０５からＮＩＣ２１１等にアクセスして所定の処理を行う。
【００２７】
メモリ２０４には、ハイパバイザ２０１がロードされ、ハイパバイザ２０１が制御する主系仮想サーバ１０３と待機系仮想サーバ１０４でゲストＯＳ２０２が稼働する。なお、予備系仮想サーバ１０５は、電源が停止状態であるが、予備系仮想サーバ１０５の定義のみが登録された状態となる。
【００２８】
次に、アプライアンス装置１０１上で主系仮想サーバ１０３と待機系仮想サーバ１０４を実現するソフトウェア構成の主要部と、制御対象となるハードウェア要素について、図３を用いて説明する。アプライアンス装置１０１上では、１つ以上の主系仮想サーバ１０３や待機系仮想サーバ１０４を制御するハイパバイザ２０１が稼動する。
【００２９】
ハイパバイザ２０１は、主系仮想サーバ１０３と待機系仮想サーバ１０４を生成し、任意の仮想ＮＩＣ（ＶＮＩＣ）３１１を共有的、或いは、占有的に割り当てる。共有的に割り当てた場合には、通信先の主系仮想サーバ１０３、或いは、待機系仮想サーバ１０４を選定して仮想スイッチ３０６を経由しＮＩＣ２１１と通信を行い、占有的に割り当てた場合には、仮想サーバ１０３が直接ＮＩＣ２１１と通信を行う。
【００３０】
ハイパバイザ２０１は、主系仮想サーバ１０３や待機系仮想サーバ１０４の状態を保持するエミュレーションデータ３０８、待機系仮想サーバ１０４や予備系仮想サーバ１０５の構成を管理するパターン生成部（構成設定部）３０１、主系仮想サーバ１０３と待機系仮想サーバ１０４や予備系仮想サーバ１０５を関連付けるパターン管理テーブル３０３、アプライアンス装置１０１上の主系仮想サーバ１０３の稼働状態を監視するＶＭ管理部（仮想計算機管理部）３０２、主系仮想サーバ１０３の稼働状態やイベント情報を管理するＶＭ管理テーブル３０４、アプライアンス装置１０１のリソース量を管理する構成管理テーブル３０５、及び、主系仮想サーバ１０３や待機系仮想サーバ１０４の通信経路となる仮想スイッチ３０６を含む。なお、各テーブルは必ずしもテーブル形式の構成でなくてもよく、適宜の形態の記憶領域でもよい。
【００３１】
仮想サーバ１０３のエミュレーションデータ３０８は、仮想サーバ１０３に提供する仮想Ｃｈｉｐｓｅｔデータ３０９を含む。仮想Ｃｈｉｐｓｅｔデータ３０９は、仮想Ｃｈｉｐｓｅｔデータ３０９が保持すべきレジスタ等の状態を保持する。
【００３２】
パターン生成部３０１は、主系仮想サーバ１０３の構成情報から生成する待機系仮想サーバ１０４と予備系仮想サーバ１０５の構成情報、及び、待機系仮想サーバ１０４若しくは予備系仮想サーバ１０５と主系仮想サーバ１０３との関連付け情報をパターン管理テーブル３０３に記録する。パターン生成部３０１は、このパターン管理テーブル３０３に基づいて待機系仮想サーバ１０４と予備系仮想サーバ１０５の環境構築を行う。なお、パターン管理テーブル３０３の詳細については、後述する。
【００３３】
ＶＭ管理部３０２は、アプライアンス装置１０１の物理リソース量を構成管理テーブル３０５に記録し、主系仮想サーバ１０３の構成情報と稼働情報をＶＭ管理テーブル３０４に記録し、主系仮想サーバ１０３の稼働状態を監視する。なお、ＶＭ管理部３０２は、主系仮想サーバ１０３の構成情報と稼働情報の双方を監視してよいし、いずれか一方でもよい。ＶＭ管理テーブル３０４、構成管理テーブル３０５の詳細については後述する。
【００３４】
図４には、ハイパバイザ２０１が管理するメモリ２０４の一例を示す。
ハイパバイザ２０１は、メモリ２０４上にハイパバイザ２０１自身が使用する領域、主系仮想サーバ１０３、及び、待機系仮想サーバ１０４が使用する領域を割り当てる。例えば、図４のように、ハイパバイザ２０１は、ハイパバイザ２０１の領域にアドレスＡＤ０からＡＤ１を割り当て、主系仮想サーバ１０３−１にアドレスＡＤ１からＡＤ２を、主系仮想サーバ１０３―３にアドレスＡＤ２からＡＤ３を、待機系仮想サーバ１０４にアドレスＡＤ４からＡＤ５をそれぞれ割り当てる。
【００３５】
各主系仮想サーバ１０３と待機系仮想サーバ１０４が使用する領域には、ゲストＯＳ２０２、ＶＮＩＣ３１１、ＮＩＣドライバ３１２、及び、通信サービス１０６が格納される。
【００３６】
ハイパバイザ２０１が使用する領域には、主系仮想サーバ１０３や待機系仮想サーバ１０４のエミュレーションデータ３０８、パターン生成部３０１、パターン管理テーブル３０３、ＶＭ管理部３０２、ＶＭ管理テーブル３０４、構成管理テーブル３０５、ＮＩＣエミュレータ３０７、及び、仮想スイッチ３０６が格納される。
【００３７】
図５は、パターン管理テーブル３０３の構成例である。パターン管理テーブル３０３は、主系仮想サーバ１０３の障害時の切り替え先となる待機系仮想サーバ１０４や予備系仮想サーバ１０５の関連付けに関する情報を保持する表である。この表では、主系仮想サーバ１０３と待機系仮想サーバ１０４や予備系仮想サーバ１０５の構成情報等が登録される。
【００３８】
パターン管理テーブル３０３は、Ｓｅｃｏｎｄａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ（待機系／予備系情報）５００とＰｒｉｍａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ（主系情報）５０１を含む。この表のＳｅｃｏｎｄａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５００の項目には、主系仮想サーバ１０３の構成情報に合わせた待機系仮想サーバ１０４や予備系仮想サーバ１０５の構成情報が登録され、Ｐｒｉｍａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５０１の項目には、待機系仮想サーバ１０４や予備系仮想サーバ１０５を障害時の切り替え先とする主系仮想サーバ１０３の構成情報が登録される。
【００３９】
パターン管理テーブル３０３のＳｅｃｏｎｄａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５００の項目では、例えば、主系仮想サーバ１０３の構成情報に合わせた待機系仮想サーバ１０４や予備系仮想サーバ１０５の構成情報の識別情報（Ｐａｔｔｅｒｎ＃５０２）、待機系仮想サーバ１０４や予備系仮想サーバ１０５の識別情報（Ｓ−ＶＭ＃５０３）、割り当てたＣＰＵコア数（Ｓ−ＣＰＵ５０４）、ＶＮＩＣ３１１の識別情報（Ｓ−ＶＮＩＣ＃５０６）、ＶＮＩＣ３１１と通信を行うＮＩＣ２１１の識別情報（Ｓ−ＰＮＩＣ＃５０７）、ＶＮＩＣ３１１の割り当て方法（Ｓ−ＶＮＩＣ  Ｓｔａｔｅｓ５０８）、設定する電源状態（Ｐｏｗｅｒ  Ｓｔａｔｕｓ５０９）、待機系仮想サーバ１０４や予備系仮想サーバ１０５を搭載するアプライアンス装置１０１の識別情報（Ｓ−Ｂｌａｄｅ＃５１０）、このアプライアンス装置１０１が搭載されるシャーシの識別情報（Ｓ−Ｃｈａａｓｉｓ＃５１１）、及び、予備系仮想サーバ１０５の利用状態（Ｓｔａｔｕｓ５１２）が登録される。なお、本実施例で用いる各構成・情報の識別情報は例えば各構成・情報に割り当てられた通し番号等の番号を用いてもよいし、適宜の識別子を用いてもよい。
【００４０】
Ｐｏｗｅｒ  Ｓｔａｔｕｓ５０９では、メモリ２０４に稼働情報が保持された状態でハードディスク等の記憶装置が停止したスタンバイ状態の時に例えば“Ｓｔａｎｄｂｙ”が登録され、電源が完全に停止した停止状態の時に例えば“Ｄｏｗｎ”が登録される。また、Ｓｔａｔｕｓ５１２には、電源制御の対象となる待機系仮想サーバ１０４や予備系仮想サーバ１０５に例えば“ｍａｉｎ”が登録され、電源制御の対象外となる予備系仮想サーバ１０５に例えば“ｒｅｓｅｒｖｅ”が登録される。この“ｒｅｓｅｒｖｅ”が登録された予備系仮想サーバ１０５は、待機系仮想サーバ１０４で障害回復を行えなかった主系仮想サーバ１０３の障害回復に利用される。
【００４１】
パターン管理テーブル３０３のＰｒｉｍａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５０１の項目では、例えば、主系仮想サーバ１０３の識別情報（Ｐ−ＶＭ＃５１３）、ＶＮＩＣ３１１の識別情報（Ｐ−ＶＮＩＣ＃５１４）、ＶＮＩＣ３１１の割り当て方法（Ｐ−ＶＮＩＣ  Ｓｔａｔｅｓ５１５）、ＶＮＩＣ３１１に設定されたＩＰアドレス（ＩＰ５１６）、ＶＮＩＣ３１１に設定されたＭＡＣアドレス（ＭＡＣ５１７）、ＶＮＩＣ３１１と通信を行うＮＩＣ２１１の識別情報（Ｐ−ＰＮＩＣ＃５１８）、主系仮想サーバ１０３を搭載するアプライアンス装置１０１の識別情報（Ｐ−Ｂｌａｄｅ＃５１９）、このアプライアンス装置１０１が搭載されるシャーシの識別情報（Ｐ−Ｃｈａａｓｉｓ＃５１１）、主系仮想サーバ１０３の切り替え先として待機系仮想サーバ１０４を割り当てるフラグ（Ｐｏｗｅｒ  Ｓｅｔｕｐ５２１）、及び、主系仮想サーバ１０３の障害回復の優先度（Ｐｒｉｏｒｉｔｙ５２２）が登録される。
【００４２】
Ｐｏｗｅｒ  Ｓｅｔｕｐ５２１では、主系仮想サーバ１０３の障害時の切り替え先に待機系仮想サーバ１０４を割り当てる場合に“１”が登録され、予備系仮想サーバ１０５を割り当てる場合に“０”が登録される。また、Ｐｒｉｏｒｉｔｙ５２２では、主系仮想サーバ１０３の障害回復の優先度が登録されており、この数値が大きい主系仮想サーバ１０３を優先的に障害回復させる。
【００４３】
図６は、ＶＭ管理テーブル３０４の構成例である。ＶＭ管理テーブル３０４は、アプライアンス装置１０１上で稼働する主系仮想サーバ１０３の状態を保持する表である。この表では、主系仮想サーバ１０３の構成情報、稼働情報、および、イベント情報が登録される。
【００４４】
ＶＭ管理テーブル３０４の項目では、例えば、構成情報や稼働情報を取得した日時（ｄａｔｅ６００）、主系仮想サーバ１０３の識別情報（ＶＭ＃６０１）、割り当てたＣＰＵコア数（ＣＰＵ  Ｃｏｒｅ６０２）、割り当てたＣＰＵ２０３の状態（ＣＰＵ  Ｓｔａｔｕｓ６０３）、メモリ量（Ｍｅｍｏｒｙ６０４）、ＶＮＩＣ３１１の識別情報（ＶＮＩＣ＃６０５）、ＶＮＩＣ３１１の割り当て方法（ＶＮＩＣ  Ｓｔａｔｅｓ６０６）、ＶＮＩＣ３１１と通信を行うＮＩＣ２１１の識別情報（ＰＮＩＣ＃６０７）、主系仮想サーバ１０３を搭載するアプライアンス装置１０１の識別情報（Ｂｌａｄｅ＃６０８）、このアプライアンス装置１０１が搭載されるシャーシの識別情報（Ｃｈａａｓｉｓ＃６０９）、ＶＮＩＣ３１１に設定されたＩＰアドレス（ＩＰ５１６）、ＶＮＩＣ３１１に設定されたＭＡＣアドレス（ＭＡＣ５１７）、ＣＰＵ２０３の利用率（ＣＰＵ  Ｕｓａｇｅ６１０）、Ｉ／Ｏ数（ＩＯＰＳ６１１）、メモリ２０４の使用量（Ｍｅｏｍｒｙ  Ｕｓａｇｅ６１２）、障害発生予兆の指標（Ｅｖｅｎｔ  Ｃｏｕｎｔ６１３）、電源制御の切り替えを行う閾値（Ｔｈｒｅｓｈｏｌｄ６１４）、及び、主系仮想サーバ１０３の障害回復の優先度（Ｐｒｉｏｒｉｔｙ５２２）が登録される。
図６の例において、構成情報は例えば符号６０１〜６０９、５１６及び５１７に対応し、稼働情報は符号６１０〜６１２に対応し、イベント情報は符号６１３に対応する。なお、構成情報や稼働情報は、図示する情報の一部を含むものでもよい。
【００４５】
ＩＰ５１６、ＭＡＣ５１７、Ｐｒｉｏｒｉｔｙ５２２については、パターン管理テーブル３０３の項目と同様である。また、ＶＮＩＣ  Ｓｔａｔｅｓ６０６には、ＶＮＩＣ３１１を共有で割り当てる場合に“Ｓ”が登録され、占有で割り当てる場合に“Ｄ”が登録される。パターン管理テーブル３０３のＳ−ＶＮＩＣ  Ｓｔａｔｅｓ５０８、Ｐ−ＶＮＩＣ  Ｓｔａｔｅｓ５１５も同様である
【００４６】
図７は、構成管理テーブル３０５の構成例である。構成管理テーブル３０５は、アプライアンス装置１０１の構成情報を保持する表である。この表では、アプライアンス装置１０１に搭載される物理リソース量が登録される。
【００４７】
構成管理テーブル３０５の項目では、例えば、構成情報を取得した日時（ｄａｔｅ６００）、アプライアンス装置１０１が搭載されるシャーシの識別情報（Ｃｈａａｓｉｓ＃６０９）、アプライアンス装置１０１の識別情報（Ｂｌａｄｅ＃６０８）、搭載する総ＣＰＵ数（Ｔｏｔａｌ  ＣＰＵ７００）、総メモリ容量（Ｔｏｔａｌ  Ｍｅｍｏｒｙ７０１）、総ＶＮＩＣ数（Ｔｏｔａｌ  ＶＮＩＣ＃７０２）、総ＮＩＣ数（Ｔｏｔａｌ  ＰＮＩＣ＃）、及び、ＮＩＣ２１１の情報（ＰＮＩＣ  Ｉｎｆｏ７０４）としてＮＩＣ２１１の識別情報（ＰＣＩＮ＃７０５）とＮＩＣ２１１の帯域幅（Ｂａｎｄｗｉｄｔｈ７０６）が登録される。
【００４８】
次に、通常運用時における本実施例の処理概要について図８を用いて説明する。
まず、アプライアンス装置１０１の構成情報と、アプライアンス装置１０１の状態として主系仮想サーバ１０３の稼働情報とを取得し、ＶＭ管理部３０２で監視する（８０１）。ここで取得した情報は、ＶＭ管理テーブル３０４の各項目に登録される。ＶＭ管理部３０２は、ＶＭ管理テーブル３０４に登録された構成情報と稼働情報から主系仮想サーバ１０３の状態変更を検知し（８０２）、状態変更と判断した主系仮想サーバ１０３の障害時に切り替える待機系仮想サーバ１０４や予備系仮想サーバ１０５の電源制御を判定する（電源制御判定処理：８０３）。この電源制御の判定により障害時の主系仮想サーバ１０３の切り替え先として待機系仮想サーバ１０４か予備系仮想サーバ１０５が選定される。ＶＭ管理部３０２は、選定結果をパターン生成部３０１に通知する。本通知を受信したパターン生成部３０１は、対象となる主系仮想サーバ１０３の障害時に切り替え先となる待機系仮想サーバ１０４や予備系仮想サーバ１０５の環境構築を行う（８０４）。
【００４９】
図９は、通常運用時におけるＶＭ管理部３０２で実行される電源制御判定処理のフローチャートの例である。
【００５０】
ＶＭ管理部３０２は、ＶＭ管理テーブル３０４の登録情報から主系仮想サーバ１０３の構成や稼働状態を監視し（９０１）、ＶＭ管理テーブル３０４に登録されている構成情報に変更がある場合には（９０２）、変更対象となる主系仮想サーバ１０３に関するＶＭ管理テーブル３０４のＥｖｅｎｔ  Ｃｏｕｎｔ６１３に例えば１を加算し（９０３）、変更対象となる主系仮想サーバ１０３に対する障害時の切り替え先の設定変更をパターン生成部３０１に通知する（９０４）。このＥｖｅｎｔ  Ｃｏｕｎｔ６１３は、障害発生予兆を判断する指標であり、本実施例では本指標が予め定められた閾値より大きいと障害が発生する可能性が高いと判断し、本指標が閾値より小さいと障害が発生する可能性が低いと判断する。ここでは、主系仮想サーバ１０３の構成変更により障害原因が付与される可能性があるため、本指標を増加させる処理を行っている。また、図９中には明記していないが、所定の期間内に本指標の変動が無い場合には、値を減らす処理が実行される。なお、指標の増減は逆でもよく、この場合指標の大小と障害発生の可能性の関係も逆になる。
【００５１】
一方、構成情報に変更がない場合（９０２）には、ＶＭ管理部３０２は、主系仮想サーバ１０３の稼働状態が定常状態を維持しているか判定する（９０５）。この定常状態とは、主系仮想サーバ１０３にかかる負荷の増減を判断する基準となるものであり、ある期間の稼働情報の移動平均値や稼働情報の変動度合い等の判断指標を設定してこれらの値が所定範囲内にあることで定常状態であることを判断しても良い。判断指標は上述の例以外にも、管理者が任意に設定しても良い。主系仮想サーバ１０３の稼働状態が定常状態を超えている場合（判断指標が上限値を超える場合）には（９０６）、主系仮想サーバ１０３に通常よりも高負荷が掛っておりハングアップ等の障害が発生する可能性があるため、ＶＭ管理部３０２はＥｖｅｎｔ  Ｃｏｕｎｔ６１３に１を加算する（９０７）、一方、主系仮想サーバ１０３の稼働状態が定常状態よりも低い場合（判断指標が下限値を下回る場合）には、主系仮想サーバ１０３の利用頻度が低く障害が発生しにくいため、ＶＭ管理部３０２はＥｖｅｎｔ  Ｃｏｕｎｔ６１３に１を減算する（９０８）。
【００５２】
なお、Ｅｖｅｎｔ  Ｃｏｕｎｔに加算する値は、ステップ９０３と９０７で同じ値（ここでは１）を用いる以外にも、異なる値を用いてもよい。例えば、ステップ９０３で加算する値をステップ９０７で加算する値よりも大きくすれば、構成情報の変更に対して大きい重みを持たせた電源制御判定ができる。また、加算する値と減算する値が異なってもよい。
【００５３】
主系仮想サーバ１０３の稼働状態を確認した後は、ＶＭ管理テーブル３０４に登録されている各主系仮想サーバ１０３のＥｖｅｎｔ  Ｃｏｕｎｔ６１３を監視し（９０９）、Ｅｖｅｎｔ  Ｃｏｕｎｔ６１３が前回と同じ値か判定する（９１０）。Ｅｖｅｎｔ  Ｃｏｕｎｔ６１３に変化が無い場合には、構成や稼働状態に変更が無いため特に処理を行わずに終了する。
【００５４】
このＥｖｅｎｔ  Ｃｏｕｎｔ６１３の値が変更されている場合には、Ｔｈｒｅｓｈｏｌｄ６１４を超えているか閾値判定を行う（９１１）。このＴｈｒｅｓｈｏｌｄ６１４は、障害発生の可能性を判断する閾値であり、管理者が任意に設定しても良いし、障害発生履歴に基づいて設定しても良い。このＴｈｒｅｓｈｏｌｄ６１４を超えている場合には、障害発生の可能性が高いと判定し、対象となる主系仮想サーバ１０３の切り替え先の電源状態をＳｔａｎｄｂｙ状態に変更（待機系仮想サーバ１０４に変更）するようにパターン生成部３０１に通知する（９１２）。なお、主系仮想サーバ１０３の切り替え先が既にＳｔａｎｄｂｙ状態の場合は通知を省略してもよい。また、Ｔｈｒｅｓｈｏｌｄを超えていない場合には、障害発生の可能性が低いと判定し、対象となる主系仮想サーバ１０３の切り替え先の電源状態を停止状態に変更（予備系仮想サーバ１０５に変更）するようにパターン生成部３０１に通知する（９１３）。なお、主系仮想サーバ１０３の切り替え先が既に停止状態の場合は通知を省略してもよい。ここでの通知では、対象の主系仮想サーバ１０３の構成情報と構成管理テーブル３０５も含め送信される。
【００５５】
図１０は、通常運用時におけるパターン生成部３０１で実行される主系仮想サーバ１０３に対する障害時の切り替え先を構築する処理のフローチャートの例である。
【００５６】
パターン生成部３０１は、ＶＭ管理部３０２から主系仮想サーバ１０３に対する切り替え先に関する通知を受信した場合（１００１）、主系仮想サーバ１０３の構成変更による通知か、主系仮想サーバ１０３に対する切り替え先の電源制御の変更通知か判定する（１００２）。
【００５７】
変更通知が電源制御の変更通知であれば（１００２）、パターン生成部３０１はパターン管理テーブル３０３を参照し、対象となる主系仮想サーバ１０３に対応するＰｏｗｅｒ  Ｓｅｔｕｐ５２１を変更通知に従いＳｔａｎｄｂｙ状態又は停止状態に更新する（１００３）。本実施例では、電源状態をＳｔａｎｄｂｙ状態にする際には、“１”が登録され、停止状態にする際には、“０”が登録される。
【００５８】
一方、変更通知が電源制御の変更通知でなければ（１００２）、パターン生成部３０１は構成変更の通知（設定変更の通知）と判断し（１００４）、パターン管理テーブル３０３を参照し（１００５）、対象となる主系仮想サーバ１０３と同じ構成となる待機系仮想サーバ１０４、或いは、予備系仮想サーバ１０５があるか判定する（１００６）。本実施例では、例えば主系仮想サーバ１０３、待機系仮想サーバ１０４、及び、予備系仮想サーバ１０５の構成をパターン化しておくことで、主系仮想サーバ１０３と同じ構成となる待機系仮想サーバ１０４、或いは、予備系仮想サーバ１０５を比較的容易に探すことができる。予備系仮想サーバ１０５には、電源状態の停止通知により構築したケースと、待機系仮想サーバ１０４を主の切り替え先とし、複数の主系仮想サーバ１０３に障害が発生した際に障害回復の支援を行うために構築したケースの２通りが存在する。これらのケースを識別するための情報は、パターン管理テーブル３０３のＳｔａｔｕｓ５１２に登録されており、前者のケースには“ｍａｉｎ”が登録され、後者のケースには“ｒｅｓｅｒｖｅ”が登録される。そのため、本処理の判定においては、予備系仮想サーバ１０５については、Ｓｔａｔｕｓ５１２に“ｍａｉｎ”が登録された予備系仮想サーバ１０５が比較対象となる。
【００５９】
主系仮想サーバ１０３と同じ構成の待機系仮想サーバ１０４又は予備系仮想サーバ１０５がある場合には（１００６）、パターン生成部３０１は、この主系仮想サーバ１０３の情報を、同じ構成となる待機系仮想サーバ１０４又は予備系仮想サーバ１０５の情報に対応して登録する（１００７）。具体的には、パターン管理テーブル３０３の待機系仮想サーバ１０４、或いは、予備系仮想サーバ１０５に対応するＰｒｉｍａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５０１に主系仮想サーバ１０３の情報を登録する。なお、本実施例では、待機系仮想サーバ１０４や予備系仮想サーバ１０５に対して複数の主系仮想サーバ１０３が障害時の切り替え先として定義されるが、予備系仮想サーバ１０５は物理リソースを利用しないため、個々の主系仮想サーバ１０３に対して別々に予備系仮想サーバ１０５を割り当てても良い。
【００６０】
一方、主系仮想サーバ１０３と同じ構成がない場合には（１００６）、パターン生成部３０１は、ＶＭ管理部３０２の構成管理テーブル３０５から空き物理リソース量を算出し、この主系仮想サーバ１０３に対する切り替え先を新規に作成するためのアプライアンス装置１０１を選定（１００８）する。例えば、構成管理テーブル３０５が各アプライアンス装置１０１−１、１０１−２の物理リソース量を管理する場合、アプライアンス装置毎に空き物理リソース量を算出し、空き物理リソース量に基づいて切り替え先を新規に作成するためのアプライアンス装置１０１を選定してもよい。構成管理テーブル３０５が自身のアプライアンス装置１０１の物理リソース量を管理する場合、自身のアプライアンス装置１０１に空き物理リソース量を算出し、空き物理リソース量が予め定められた量よりも大きければ切り替え先も自身の装置にし、小さければ他のアプライアンス装置１０１を選定してもよい。
【００６１】
パターン生成３０１は、パターン管理テーブル３０３のＳｅｃｏｎｄａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５００の項目に主系仮想サーバ１０３の切り替え先として新規に待機系仮想サーバ１０４の情報を登録し、Ｐｒｉｍａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５０１に主系仮想サーバ１０３の情報を登録する（１００９）。パターン生成部３０１は、パターン管理テーブル３０３の更新後に、更新内容に合わせて待機系仮想サーバ１０４を構築する（１０１０）。なお、ここでは、新規に待機系仮想サーバ１０４を登録しているが、予備系仮想サーバ１０５を登録してもよい。
【００６２】
上記処理が完了した後、パターン生成部３０１は、パターン管理テーブル３０３に登録されている主系仮想サーバ１０３のＰｏｗｅｒ  Ｓｅｔｕｐ５２１の項目を参照し（１０１１）、待機系仮想サーバ１０４に対応したＰｏｗｅｒ  Ｓｅｔｕｐ５２１に“０”が登録されているか判定する（１０１２）。“０”が登録されている場合には、パターン生成部３０１は、対象となる主系仮想サーバ１０３の登録先を待機系仮想サーバ１０４から予備系仮想サーバ１０５に変更する（１０１３）。例えば、対象となる主系仮想サーバ１０３を待機系仮想サーバ１０４に対してではなく、予備系仮想サーバ１０５に対応して登録されるように変更する。また、パターン生成部３０１は、予備系仮想サーバ１０５に対応したＰｏｗｅｒ  Ｓｅｔｕｐ５２１の項目に“１”が登録されているか判定する（１０１４）。“１”が登録されている場合には、パターン生成部３０１は、対象となる主系仮想サーバ１０３の登録先を予備系仮想サーバ１０５から待機系仮想サーバ１０４に変更する（１０１５）。例えば、対象となる主系仮想サーバ１０３を予備系仮想サーバ１０５に対してではなく、待機系仮想サーバ１０４に対応して登録されるように変更する。
【００６３】
上述したＰｏｗｅｒ  Ｓｅｔｕｐ５２１の値により主系仮想サーバ１０３の登録先を変更する処理は一例であり、登録先の変更対象となる待機系仮想サーバ１０４や予備系仮想サーバ１０５が無い場合には、待機系仮想サーバ１０４や予備系仮想サーバ１０５を新規に作成することになる。また、主系仮想サーバ１０３の登録変更により、ある待機系仮想サーバ１０４や予備系仮想サーバ１０５に対して、登録される主系仮想サーバ１０３が無くなった場合には、この待機系仮想サーバ１０４や予備系仮想サーバ１０５を削除しても良い。
【００６４】
図１１は、本実施例における障害発生時の全体処理を説明するフローチャートの一例である。障害発生時における本実施例の処理について図１１を用いて説明する。
【００６５】
まず、アプライアンス装置１０１の構成情報と、アプライアンス装置１０１の状態として主系仮想サーバ１０３の稼働状況とを取得し、ＶＭ管理部３０２で監視する（１１０１）。ＶＭ管理部３０２では、例えば主系仮想サーバ１０３との通信が途切れた際に、主系仮想サーバ１０３に障害が発生したと判断し（１１０２）、パターン生成部３０１に障害対象の主系仮想サーバ１０３の情報を通知する（１１０３）。パターン生成部３０１が、受信した障害対象の主系仮想サーバ１０３の系切り替え処理を実行することで障害回復が行われる（１１０４）。なお、主系仮想サーバ１０３の障害としては適宜の障害でもよい。
【００６６】
図１２は、障害発生時におけるパターン生成部３０１内の系切り替え処理のフローチャートの例である。本処理では、通常運用時のパターン生成部３０１と一部同じ処理を行うため、ここでは図１０と異なる処理に関して説明する。
【００６７】
パターン生成部３０１は、ＶＭ管理部３０２から障害対象の主系仮想サーバ１０３に関する障害通知を受信した場合（１２０１）、パターン管理テーブル３０３を参照し、障害対象の主系仮想サーバ１０３に対応する切り替え先を抽出する（１２０２）。具体的には、パターン生成部３０１は、パターン管理テーブル３０３のＰｒｉｍａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５０１の項目に登録されている障害対象の主系仮想サーバ１０３を検索し、該当する項目に対応したＳｅｃｏｎｄａｒｙ  Ｉｎｆｏｒｍａｔｉｏｎ５００に登録されている待機系仮想サーバ１０４、或いは、予備系仮想サーバ１０５を、切り替え先として抽出する。
【００６８】
切り替え先の抽出後、パターン生成部３０１は、障害対象の主系仮想サーバ１０３から待機系仮想サーバ１０４、或いは、予備系仮想サーバ１０５への系切り替え処理を行う（１２０３）。ここでの系切り替え処理では、ＶＮＩＣ３１１の情報（ＩＰ５１６やＭＡＣ５１７等）を主系仮想サーバ１０３と待機系仮想サーバ１０４、或いは、予備系仮想サーバ１０５に割り当てることで障害回復を行う。本処理は一例であり、ＶＮＩＣ３１１にＶＬＡＮを設定し、このＶＬＡＮを変更することで通信経路を変更しても良い。また、待機系仮想サーバ１０４では、電源状態がＳｔａｎｄｂｙ状態であるため比較的早急に通信サービス１０６を再開させることが可能である。但し、予備系仮想サーバ１０５では、電源の立ち上げが必要となり通信サービス１０６の再開が遅延する可能性があるが、障害発生予兆の指標により主系仮想サーバの重みづけを行い待機系と予備系を選択しているため、上記遅延の可能性を低くすることが可能である。
【００６９】
上記切り替え先となった待機系仮想サーバ１０４、或いは、予備系仮想サーバ１０５に対応して登録されている障害対象以外の主系仮想サーバ１０３は、障害時の切替先がなくなるが、上述のパターン生成部３０１内の通常運用時における処理により、再度、待機系仮想サーバ１０４、或いは、予備系仮想サーバ１０５に対応して登録される。
【００７０】
以上の構成及び処理により、主系仮想サーバ１０３に対して共通の待機系仮想サーバ１０４と予備系仮想サーバ１０５を選択的に構築することで、冗長構成による待機系で利用される物理リソース量を削減させ、障害発生時における障害回復時間を短縮させ、かつ、複数の主系仮想サーバ１０３を適切に障害回復されることができる。
【００７１】
本実施例では、主系仮想サーバ１０３の構成情報によりパターン化を行っているが、主系仮想サーバ１０３の処理性能を考慮したパターン化も可能である。具体的には、主系仮想サーバ１０３に割り当てられた物理リソースの利用率が非常に小さい場合には、割り当てる物理リソース量をシュリンクさせた待機系仮想サーバ１０４や予備系仮想サーバ１０５に障害時の切り替え先を変更することも可能である。これにより、待機系仮想サーバ１０４や予備系仮想サーバ１０５に対して更に多くの主系仮想サーバ１０３を登録できるため、冗長構成による待機系で利用される物理リソース量を更に削減させることが可能である。
【００７２】
待機系仮想サーバ１０４と予備系仮想サーバ１０５の選択については、本実施例では主系仮想サーバ１０３の構成変更と稼働状態の変化を均等にＥｖｅｎｔ  Ｃｏｕｎｔ６１３で集計を行っているが、それぞれの状態変化に対して重み付けを変更させることで、構成変更、或いは、稼働状態の変化のどちらか効果的に反映させることも可能である。また、構成変更や稼働状態の変化以外に、障害発生回数等のイベント情報を判断基準に追加することも可能であり、障害発生時の構成情報を履歴として保管し、この構成と同等な主系仮想サーバ１０３に対して障害発生の可能性を高く設定させることも可能である。
【００７３】
本実施例によると、待機系ＶＭの物理リソース量をできるだけ小さくし、障害時にできるだけ短い障害回復時間で回復させ、かつ、複数の主系ＶＭを適切に障害回復させる障害回復システム及び障害回復システムの構築方法を提供することができる。また、複数の主系ＶＭに対する待機系ＶＭの共通化、及び、主系ＶＭの稼働状態やイベント情報に合わせた待機系ＶＭの電源制御により、待機系ＶＭの物理リソース量を削減させ、障害時に障害回復時間を短縮させ、複数の主系ＶＭを適切に障害回復させることができる。
【００７４】
以上、本発明の実施の形態について説明したが、本発明の技術範囲は上記実施の形態に記載された範囲に限定されない。本発明者によってなされた発明を上記実施の形態に基づき具体的に説明したが、その要旨を逸脱しない範囲で種々の変更または改良を加えることが可能であることは言うまでもない。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【００７５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００７６】
１０１  アプライアンス装置
１０２  通信ノード装置
１０３  主系仮想サーバ
１０４  待機系仮想サーバ
１０５  予備系仮想サーバ
１０６  通信サービス
１０７  広域情報通信網（ＷＡＮ）
１０８  構内通信網（ＬＡＮ）
２０１  ハイパバイザ
２０２  ゲストＯＳ
２０３  ＣＰＵ
２０４  メモリ
２０５  ＣｈｉｐＳｅｔ
２０６  インターコネクタ
２０７  バス
２０８  Ｉ／Ｏアダプタ
２０９  コンソール
２１０  コンソールＩ／Ｆ
２１１  ＮＩＣ
２１２  ＳＣＳＩアダプタ
２１３  ＨＢＡ
２１４  ディスク
２１５  ＳＡＮ
２１６  ストレージ装置
３０１  パターン生成部
３０２  ＶＭ管理部
３０３  パターン管理テーブル
３０４  ＶＭ管理テーブル
３０５  構成管理テーブル
３０６  仮想スイッチ
３０７  ＮＩＣエミュレータ
３０８  仮想サーバのエミュレーションデータ
３０９  仮想Ｃｈｉｐｓｅｔデータ
３１０  仮想Ｃｈｉｐｓｅｔ
３１１  ＶＮＩＣ
３１２  ＮＩＣドライバ
【図１】
2015103092.tif 000003
【図２】
2015103092.tif 000004
【図３】
2015103092.tif 000005
【図４】
2015103092.tif 000006
【図５】
2015103092.tif 000007
【図６】
2015103092.tif 000008
【図７】
2015103092.tif 000009
【図８】
2015103092.tif 000010
【図９】
2015103092.tif 000011
【図１０】
2015103092.tif 000012
【図１１】
2015103092.tif 000013
【図１２】
2015103092.tif 000014