(57)【要約】【課題】種々の要因に対応した計算機システムの再構成案を作る。【解決手段】本発明の計算機の運用管理システム及び運用管理方法は、次のように構成される。複数のサーバを含むサーバシステム、及びこのサーバシステムと接続して、このサーバシステムを運用管理する管理サーバを有する。管理サーバはサーバシステムに発生する要因を監視し、監視した要因に応じて、複数のサーバ及び/又はアプリケーションプログラムの優先度に基づいたサーバシステムの再構成案を作成し、所定の選択基準に従って再構成案を決定した上で、決定した再構成案にサーバシステムを再構成する。【選択図】図5
2009252204.tif 000002
【特許請求の範囲】
【請求項１】
複数のサーバを含むサーバシステム、及び前記サーバシステムと接続し、前記サーバシステムに発生する要因を監視し、前記監視した要因に応じて、前記複数のサーバ及び/又はアプリケーションプログラムの優先度に基づいた前記サーバシステムの再構成案を作成し、所定の選択基準に従って、前記再構成案を決定し、前記決定した再構成案に基づいて前記サーバシステムを再構成する管理サーバを有することを特徴とする計算機の運用管理システム。
【請求項２】
前記サーバシステムに含まれる複数のサーバに、物理サーバ上で動作する仮想サーバを含むことを特徴とする請求項1記載の計算機の運用管理システム。
【請求項３】
前記再構成案は前記複数のサーバ及び/又はアプリケーションプログラムの少なくとも一つのマイグレーションを含むことを特徴とする請求項2記載の計算機の運用管理システム。
【請求項４】
前記所定の基準は、（1）マイグレーションするサーバ及び/又はアプリケーションプログラムの数が少ない、及び（2）継続実行するサーバ及び/又はアプリケーションプログラムの数が多い、の少なくとも一方であることを特徴とする請求項3記載の計算機の運用管理システム。
【請求項５】
前記優先度は前記サーバシステムに含まれる前記複数のサーバ及び/又はアプリケーションプログラムの各々が実行する業務に応じて相対的に設定されていることを特徴とする請求項3記載の計算機の運用管理システム。
【請求項６】
前記優先度は前記サーバシステムの運用スケジュールによって変化することを特徴とする請求項5記載の計算機の運用管理システム。
【請求項７】
前記監視した要因に、前記サーバシステムに含まれる物理サーバの障害、前記サーバシステムの省電力運用指示、及び新規デプロイの指示の少なくとも一つを含むことを特徴とする請求項3記載の計算機の運用管理システム。
【請求項８】
複数のサーバを含むサーバシステムと接続する管理サーバは、前記サーバシステムに発生する要因を監視し、前記監視した要因に応じて、前記複数のサーバ及び/又はアプリケーションプログラムの優先度に基づいた前記サーバシステムの再構成案を作成し、所定の選択基準に従って、前記再構成案を決定し、前記決定した再構成案に基づいて前記サーバシステムを再構成することを特徴とする計算機の運用管理方法。
【請求項９】
前記サーバシステムに含まれる複数のサーバに、物理サーバ上で動作する仮想サーバを含むことを特徴とする請求項8記載の計算機の運用管理方法。
【請求項１０】
前記再構成案は前記複数のサーバ及び/又はアプリケーションプログラムの少なくとも一つのマイグレーションを含むことを特徴とする請求項9記載の計算機の運用管理方法。
【請求項１１】
前記所定の基準は、（1）マイグレーションするサーバ及び/又はアプリケーションプログラムの数が少ない、及び（2）継続実行するサーバ及び/又はアプリケーションプログラムの数が多い、の少なくとも一方であることを特徴とする請求項10記載の計算機の運用管理方法。
【請求項１２】
前記優先度は前記サーバシステムに含まれる前記複数のサーバ及び/又はアプリケーションプログラムの各々が実行する業務に応じて相対的に設定されていることを特徴とする請求項10記載の計算機の運用管理方法。
【請求項１３】
前記優先度は前記サーバシステムの運用スケジュールによって変化することを特徴とする請求項12記載の計算機の運用管理方法。
【請求項１４】
前記監視した要因に、前記サーバシステムに含まれる物理サーバの障害、前記サーバシステムの省電力運用指示、及び新規デプロイの指示の少なくとも一つを含むことを特徴とする請求項10記載の計算機の運用管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機の運用管理システム及び運用管理方法に係り、特に、計算機資源の動的な運用に関する。
【背景技術】
【０００２】
近年、計算機資源（リソース）の有効活用を目的としてサーバの仮想化技術が注目されている。サーバ仮想化技術は、物理サーバのプロセッサやメモリなどのリソースを論理的に分割し、それぞれを異なる仮想的なサーバに割り当て、物理サーバ計算機上で複数の仮想サーバ計算機を実行させる。以下、サーバ計算機を単にサーバと呼ぶ。
【０００３】
サーバのマイグレーション(移行)技術も注目されている。ある物理サーバのOS(オペレーティングシステム)及びそのOS上で実行するプログラムを他の物理サーバに移行する。ある物理サーバ上の仮想サーバ（仮想OS及びその仮想OS上で実行するプログラム）を他の物理サーバ上の仮想サーバとして移行する。このようなマイグレーション技術を用いて、複数の物理サーバで実行している計算機システムの、それより少ない数の物理サーバへの統合、各物理サーバの負荷に応じた仮想サーバのマイグレーションによる負荷バランス、ある物理サーバ障害時の仮想サーバのマイグレーションによる計算機システムの高可用化等が実現されている。このような計算機システム内の物理サーバへの仮想サーバの配置の例として、特許文献１に計算機の稼働状況に応じた仮想サーバ再配置の方法が示されている。
【０００４】
一方、計算機システムの高信頼化への要求もますます高くなっている。企業などの計算機システムへの依存度が大きくなり、計算機システムの停止による損害や社会的影響も大きくなっている。計算機システムを高信頼化するために現用サーバの他に予備サーバを用意しておき、現用サーバに障害が発生した場合には、予備サーバと交替する技術がある。
【０００５】
特許文献2では、業務を実行している現用サーバと業務を実行していない予備サーバとを備え、現用サーバに障害が発生した際、予備系サーバにOSのブートディスクを切り替えて起動することにより、業務を引継ぐ技術が開示されている。
【０００６】
【特許文献１】米国公開特許 20060069761
【特許文献２】特開2006-163963号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示されている技術は、高負荷の物理サーバ上の仮想サーバを、低負荷の（リソースに余裕がある）物理サーバにマイグレーションし、負荷バランスをとるものであり、計算機システム全体としてリソースに余裕があることが前提になっている。特許文献2に開示されている技術は、業務を実行していない予備系サーバを必要とし、この技術もリソースに余裕があることが前提としている。
【０００８】
計算機システム構築の立場に立つと、高信頼化は必須の要件であるものの、リソースの余裕（冗長度）は必要最小限にとどめる必要がある。また、リソースに余裕をもって計算機システムを構築したとしても、多重障害の発生、省電力強化の要請に応える必要性、さらにリソースの余裕分以上のリソースを用いる新規プログラムのテストやデプロイの必要性も生じる。このような状況への対処は、特許文献１及び特許文献2では考慮されていない。
【課題を解決するための手段】
【０００９】
本発明の計算機の運用管理システム及び運用管理方法は、次のように構成される。複数のサーバを含むサーバシステム、及びこのサーバシステムと接続して、このサーバシステムを運用管理する管理サーバを有する。管理サーバはサーバシステムに発生する要因を監視し、監視した要因に応じて、複数のサーバ及び/又はアプリケーションプログラムの優先度に基づいたサーバシステムの再構成案を作成し、所定の選択基準に従って再構成案を決定した上で、決定した再構成案にサーバシステムを再構成する。
【００１０】
本発明の他の態様は、サーバシステムに含まれる複数のサーバに、物理サーバ上で動作する仮想サーバを含む。
【００１１】
本発明のさらに他の態様は、再構成案が複数のサーバ及び/又はアプリケーションプログラムの少なくとも一つのマイグレーションを含む。
【００１２】
本発明のさらに他の態様は、所定の基準が（1）マイグレーションするサーバ及び/又はアプリケーションプログラムの数が少ない、及び（2）継続実行するサーバの数が多い、の少なくとも一方である。
【００１３】
本発明のさらに他の態様は、優先度がサーバシステムに含まれる複数のサーバ及び/又はアプリケーションプログラムの各々が実行する業務に応じて相対的に設定されている。
【００１４】
本発明のさらに他の態様は、監視した要因に、サーバシステムに含まれる物理サーバの障害、前記サーバシステムの省電力運用指示、及び新規デプロイの指示の少なくとも一つを含む。
【発明の効果】
【００１５】
本発明によれば、リソースの余裕（冗長度）を必要最小限に留めた計算機システムの、種々の要因に対応した再構成案（ケース）を作ることができる。さらに、再構成案に選択基準の適用に際して、複数の再構成案の比較が容易であり、選択基準に対応した適切な再構成案が得られる。
【発明を実施するための最良の形態】
【００１６】
本発明の実施形態を、図面を用いて説明する。図1に、本実施形態の計算機システム構成例を示す。このシステム構成は、管理サーバ100、物理サーバ0〜3（200,210,220,230）及びディスクアレイ装置300を有する。管理サーバ100は、物理サーバ0〜3（200,210,220,230）によるサーバシステムとネットワークスイッチ110を介して接続した、サーバシステムを管理するためのサーバである。ディスクアレイ装置300は物理サーバ0〜3（200,210,220,230）とストレージスイッチ310を介して接続し、サーバシステムが稼動するためのOS、業務プログラム、業務データなどを格納する外部記憶装置である。また物理サーバが、仮想サーバを動作させる場合に必要なサーバ仮想化（プログラム）や仮想サーバのOS（仮想OS）もディスクアレイ装置300は格納している。
【００１７】
図1には、管理サーバ100と物理サーバ0〜3（200,210,220,230）とをネットワークスイッチ110で接続する構成を示しているが、ネットワークスイッチ110に限らず、LANなどによる接続でも良い。また、ストレージスイッチ310及びディスクアレイ装置300によるSAN（Storage Area Network）を図示しているが、上記のようなOSや業務プログラムが格納され、サーバシステムからアクセス可能であれば、単なるディスク装置などであっても良い。
【００１８】
管理サーバ100は、稼動監視部101、障害回復部102、省電力運用部103、新規デプロイ部104及びサーバ配置部105を有する。これらの各部は、説明の分かり易さのために分けてあるが、一つに纏めて実現されても良いし、実装上の都合により任意に分けてもよい。後述の説明は一連のプログラムによる処理として説明する。
【００１９】
稼動監視部101は、物理サーバ0〜3（200,210,220,230）によるサーバシステムの稼動状況を監視する。監視する稼動状況には、負荷や障害などを含んでいる。また、稼動監視部101は、サーバシステムの稼動を管理する管理者からのコマンドを受け付け、コマンドに対応した処理を実行する。コマンド受付のための入力装置やコマンド実行結果を通知する出力装置の図示及び説明は省略する。
【００２０】
障害回復部102は、稼動監視部101によるサーバシステムの障害検知に伴い、障害が発生した物理サーバを確認してサーバ配置部105を動作させる。省電力運用部103は、稼動監視部101からの省電力運用の指示に伴い、電源をOFFすべき物理サーバを確認してサーバ配置部105を動作させる。省電力運用の指示は、管理サーバ100にコマンドとして入力され、電源をOFFすべき物理サーバを特定する情報を伴っている。新規デプロイ部104は、新たにデプロイするプログラムが稼動するリソースを確認してサーバ配置部105を動作させる。デプロイの指示は、管理サーバ100にコマンドとして入力され、デプロイするプログラムが稼動するリソースを特定する情報を伴っている。
【００２１】
サーバシステムの物理サーバ0（200）はOS0（205）の制御の下で物理サーバとして動作している。OS0（205）はディスクアレイ装置300のOS0の起動ディスク302を用いて起動されたOSである。起動ディスク302とは、OS0を格納したディスク装置（ディスクボリューム）であり、物理サーバ0（200）にソフトウエア又はファームウエアとして設けられたローダ（図示略）が物理サーバ0（200）の主記憶装置（図示略）にOS0を読み込み、読み込んだOS0の実行を開始することを、OS0を起動するまたは物理サーバ0（200）を起動すると呼ぶ。以下、このような意味で起動ディスクを用いる。
【００２２】
物理サーバ1（210）では、サーバ仮想化部211の制御の下で、OS1を搭載した仮想サーバ1（212）及びOS2搭載した仮想サーバ2（213）が動作している。サーバ仮想化部211は、ディスクアレイ装置300のサーバ仮想化の起動ディスク301を用いて起動され、仮想サーバ1（212）及び仮想サーバ2（213）を制御する。
【００２３】
サーバ仮想化部211は、仮想計算機モニタ（VMM：Virtual Machine Monitor）、ハイパバイザ、仮想化機構などと呼ばれる。サーバ仮想化部211は、ソフトウエアにより実現される場合もあるが、高性能化の観点からソフトウエアとファームウエアとで機能分担して実現される場合もある。仮想サーバ1（212）のOS1は、ディスクアレイ装置300のOS1の起動ディスク303を用いて起動されたOSであり、仮想サーバ2（213）のOS2は、ディスクアレイ装置300のOS2の起動ディスク304を用いて起動されたOSである。
【００２４】
仮想サーバ1（212）の場合、物理サーバ1（210）に設けられたローダ（図示略）によりサーバ仮想化の起動ディスク301からサーバ仮想化部211が読み込まれ、サーバ仮想化部211に設けられた他のローダにより起動ディスク303からOS1が読み込まれ、起動ディスク304からOS2が読み込まれ、それぞれ仮想サーバ1（212）及び仮想サーバ2（213）を起動（又は生成）する。
【００２５】
物理サーバ２におけるサーバ仮想化部221、仮想サーバ3（222）、仮想サーバ4（223）、さらにそれらの起動ディスク301、305、306、及び物理サーバ３におけるサーバ仮想化部231、仮想サーバ5（232）、仮想サーバ6（233）、さらにそれらの起動ディスク301、307、308に関しては、物理サーバ１におけるそれらと同様である。ここでは、物理サーバ1〜3のサーバ仮想化部211,221,231は、サーバ仮想化の起動ディスク301から同じものが読み込まれるように説明しているが、物理サーバごとにサーバ仮想化の起動ディスクを用意し、それぞれ異なるサーバ仮想化部としても良い。
【００２６】
図２に、図1のシステム構成に対応した構成情報テーブル10を示す。構成情報テーブル10は、管理サーバ100の記憶装置(図示略)に格納されている。管理サーバ100は、ディスクアレイ装置300を外部記憶装置として用いても良い。
【００２７】
構成情報テーブル10は、物理サーバ名（識別子）11、物理サーバのリソースとしてのプロセッサ性能とメモリ容量12、物理サーバの消費電力13、サーバ仮想化部の仮想化識別子14、サーバ仮想化部の起動ディスク又は物理サーバのOSの起動ディスク15、仮想サーバの識別子16、仮想サーバのリソースとしてのプロセッサ性能とメモリ容量17、及び仮想サーバのOSの起動ディスク18の欄を有する。プロセッサ性能は、簡単のためにプロセッサのクロック周波数とその性能を持つプロセッサの個数で示してある。構成情報テーブル10に示す名称や数値の例は、図1のシステム構成を表したものであり、これらの例を用いた動作を後述するので、ここでは詳細を省略する。
【００２８】
物理サーバ又は仮想サーバのリソースは、プロセッサ性能とメモリ容量に限らず、接続する入出力装置や記憶装置（ディスクボリューム）、さらにネットワークと接続する通信インタフェースの個数や性能などがある。ここでは、説明を簡単にするためにリソースの代表としてプロセッサ性能とメモリ容量をとり上げる。入出力装置や通信インタフェースの考慮は、以下の説明から理解されるだろう。
【００２９】
本実施形態では、種々の要因により物理サーバ及び/又は仮想サーバを再配置、換言すれば物理サーバ及び/又は仮想サーバにリソースを再割当て（計算機システムの再構成）することを説明する。すなわち物理サーバ及び/又は仮想サーバを停止するだけでなく、仮想サーバをマイグレーション（移行）する。マイグレーションの前提として、動作中の仮想サーバが必要としているリソースがマイグレーション先(移行先)に確保されていなければならない。
【００３０】
ディスクアレイ装置300のディスク(ボリューム)に、仮想サーバはマイグレーションの前後で同様にアクセスできなければならない。アクセスできない場合は、アクセスできるディスク(ボリューム)に、コピー又はマイグレーションすることになる。ディスクアレイ装置300によっては、セキュリティ確保のために、特定のディスク(ボリューム)へのアクセスを特定のホスト計算機（物理サーバ又は仮想サーバ）に限定して許可する機能を搭載しているものがある。ここでは、図1に示すシステム構成におけるホスト計算機（物理サーバ又は仮想サーバ）間では、ディスク(ボリューム)が共用されることが可能なことを前提としている。
【００３１】
同様に前述の入出力装置や通信インタフェースに関しても、移行先において確保されていることを前提としている。換言すると、図1に示すシステム構成よりも大規模なシステムがあり、移行先として満足できるディスク(ボリューム)や入出力装置のリソース条件をもつ要素に絞った結果が図1に示すシステム構成であり、未だ絞られていないリソースがプロセッサの性能とメモリ容量であることを示す構成情報テーブル10であると考えればよい。後述するプロセッサの性能とメモリ容量を例としたマイグレーション先の選定の考え方は、ディスク(ボリューム)や入出力装置に関しても同様であることが容易に理解されるだろう。
【００３２】
図3に、構成情報テーブル10と同様に、管理サーバ100の記憶装置(図示略)に格納されている優先度情報テーブル20を示す。図3(a)は10:00の時点の優先度情報であり、図3(b)は22:00の時点の優先度情報である。各サーバ上では、複数のアプリケーションプログラム（オンライン業務プログラムやバッチ処理プログラムなど）がスケジュールや発生するイベントに応じて実行され、各々のアプリケーションプログラムには優先度が設けられている。図3(a)と(b)との時刻が異なるのは、業務（実行）スケジュールに応じて優先度が変化する例を示している。ここでは、説明を簡単にするために、各サーバ上では一つ又は一纏まりのプログラムを実行するものとして、アプリケーションプログラムの優先度をサーバの優先度に置き換えて説明する。以下の説明では、アプリケーションプログラムに言及しないが、各々のアプリケーションプログラムはサーバと一体と考えればよい。この前提を外すためには、サーバの優先度とアプリケーションプログラムの優先度とを独立に管理し、サーバのマイグレーションとアプリケーションプログラムのマイグレーションを2段（2階層）に分けて実行すればよい。したがって、本明細書で説明するサーバ（物理サーバ、仮想サーバ）を、アプリケーションプログラムに置き換えても同様の技術を適用できる。
【００３３】
図3(a)に示す優先度情報テーブル20は、優先度21、サーバ識別子22、及び備考23の各欄を有する。ここでは優先度を数値で表し、数値の大きいものを優先度が高いとしている。また優先度を表す数値は絶対的なものではなく、他との相対的な優先度を表す。備考23は、優先度情報テーブル20の内容をシステム管理者向けに表示する場合などに用いられるが、ここでは優先度の意味を補足するために示してある。優先度情報テーブル20に示すサーバ識別子22などの名称や数値の例は、これらの例を用いて動作説明を後述するので、ここでは詳細説明を省略する。
【００３４】
図4に、管理サーバ100の稼動状況監視部101、障害回復部102、省電力運用部103、新規デプロイ部104、及びサーバ配置部105の処理を纏めて、管理サーバ100の処理プログラムとしてそのフローチャートを示す。仮想サーバを再配置する要因として、図3の優先度情報テーブル20からも分かる計算機システムの運用スケジュール、負荷変動、保守など多くの要因があるが、本実施形態では、障害発生、省電力運用、新規デプロイをとり上げる。障害発生は、予測されない急激な負荷変動と同様に、物理サーバに関わるイベントの例である。省電力運用は、運用スケジュールの一環として捉えられる、物理サーバに関わる要因である。新規デプロイは、物理サーバに関わらず、仮想サーバの停止又はマイグレーションで対応できる可能性のある要因である。
【００３５】
まず、障害発生の有無を判定する（S405）。障害発生は、各物理サーバからの障害発生通知や管理サーバ100からの問い合わせに対する応答が無いことなどで検知する。障害を検知したならば、ステップ435に移る。障害を検知しないならば、システムの管理者による入力装置からのコマンド入力の有無を判定する（S410）。ここでは、省電力指示又は新規デプロイの指示であるので、入力装置からのコマンド入力であるが、運用スケジュールによる場合は、運用スケジュールプログラムが生成したコマンドであっても良い。コマンド入力があれば、省電力指示か、新規デプロイ指示かを判定する（S415、S420）。省電力指示の場合はステップ430に、新規デプロイ指示の場合はステップ425に移る。入力されたコマンドが省電力指示及び新規デプロイ指示のいずれでもない場合はステップ405に戻る。
【００３６】
新規デプロイ指示の場合は、そのコマンドのパラメータとして入力された必要リソース(プロセッサ性能及びメモリ容量)及び優先度を確認し（S425）、そのままパラメータとしてサーバ配置105の処理に移る（S500）。サーバ配置105の処理は後述する。省電力指示の場合は、そのコマンドのパラメータとして入力された省電力量（又は停止すべき物理サーバ識別子）を確認し（S430）、パラメータとしてサーバ配置105の処理に移る（S500）。障害検知の場合は、障害が発生した物理サーバ識別子を確認し（S435）、物理サーバ識別子をパラメータとしてサーバ配置105の処理に移る（S440）。サーバ配置105の処理の終了に伴い、処理結果が通知されるので、その処理結果を応答として出力装置に出力し（S445）、システム管理者に知らせる。
【００３７】
図5にサーバ配置105の処理のフローチャートを示す。最初に、障害検知、省電力指示、または新規デプロイ指示の要因をパラメータと共に、管理サーバ100の記憶装置の所定の領域に記録する（S505）。要因、パラメータ、及び優先度情報テーブル20を参照して、移行すべきサーバの有無を判定する（S510）。移行すべきサーバとは、マイグレーションして処理を実行すべきサーバであるが、移行すべきであってもリソース条件等により移行できないサーバを除く。優先度情報テーブル20を参照して、移行すべきサーバより低優先サーバがあるかを判定する（S515）。無い場合は、ステップ510に戻る。複数の低優先サーバがある場合は、その中で最も高い優先度のサーバから選択する。選択した低優先サーバが使用しているリソースは、移行すべきサーバのリソース条件を満足するかを判定する（S520）。リソース条件を満足しない場合は、ステップ515に戻り、先に選択したサーバより低優先のサーバがあるかを判定する。リソース条件を満足するならば、移行すべきサーバをサーバ配置リストのリソース条件を満足したサーバ位置（移行先）に加える（S525）。ステップ515で複数の低優先サーバが存在した場合には移行すべきサーバとして残し、さらに移行先に配置されていたサーバを新たに移行すべきサーバとしてステップ510に戻る。
【００３８】
サーバ配置リストを参照して、移行サーバの有無を判定する(S530)。移行サーバが存在しないことは、優先度情報テーブル20の優先度などを変更しなければ、サーバ配置を変える要因に対してサーバ配置を変えることができないことを示している。移行サーバが無ければ、ステップ565に進む。
【００３９】
サーバ配置リストに複数のサーバ配置ケースがあるならば(S535)、その中から一つのケースを選択する(S540)。この選択の基準は、（1）システム全体として又は優先度の高いサーバ（物理サーバ又は仮想サーバ）の切り替え時間を短くするためにマイグレーションするサーバの数が少ないケースを選択する、（2）システム全体として業務を継続実行するサーバ（物理サーバ又は仮想サーバ）の数を多くするなどがある。具体的には、例を用いて後述する。
【００４０】
なお、選択基準（1）を適用する場合、物理サーバから物理サーバへ、物理サーバから仮想サーバへ、仮想サーバから物理サーバへ、及び仮想サーバから仮想サーバへのマイグレーション元とマイグレーション先との関係によって、マイグレーションに要する時間が異なることがある。時間の相違が、無視できない大きさならば、回数だけでなく時間を考慮すればよい。
【００４１】
現状のサーバ配置から選択したサーバ配置に移行するために、停止すべきサーバ及び移行すべきサーバの停止及び移行順序を決定する（S545）。本実施形態では、業務を実行すべきサーバのすべてにリソースを割当てられなくなった状況の発生を前提としているので、停止すべきサーバが生じる可能性が高い。しかしながら、運用スケジュール上、サーバを停止しなくてもリソースに余裕がある場合がある。その場合は、停止すべきサーバが存在しないこともある。停止すべきサーバが存在するとき、そのサーバを停止する（S550）。決定した移行順序に従って、移行すべきサーバがある場合は（S555）、そのサーバを移行する（S560）。ステップ555及び560を移行すべきサーバがなくなるまで繰り返す。移行すべきサーバがないならば、ステップ505で記録した要因に応じた応答を作成する（S565）。
【００４２】
図4及び図5のフローチャートを用いた処理の深い理解を得るために、具体例を用いて説明する。まず、物理サーバ0（200）を停止する要因、すなわち物理サーバ0（200）に障害が発生した場合、又は物理サーバ0（200）をパラメータとして指定した省電力運用を指示された場合（省電力量を指定され、結果として物理サーバ0（200）を停止すべきであると判定された場合）について説明する。障害発生と省電力運用とでは、物理サーバ0（200）を停止する要因としては異なるが、サーバ配置を決定する論理は類似になる。なお、現時点が10:00であるとし、図3（a）の優先度情報テーブル20を用いる。
【００４３】
障害ならば（S405）、物理サーバ0（200）が障害であることを確認し（S435）、物理サーバ識別子をパラメータとしてサーバ配置105の処理に移る（S500）。省電力指示の場合は、そのコマンドのパラメータとして入力された停止すべき物理サーバが物理サーバ0（200）であることを確認し（S430）、サーバ配置105の処理に移る（S500）。障害検知または省電力指示を要因として記録する（S505）。
【００４４】
以下の説明を分かり易くするために、図6に示すサーバ配置リスト30を先に説明する。サーバ配置リスト30は、管理サーバ100に作られるワークテーブルである。サーバ配置リスト30は、図2の構成情報テーブル10に示した物理サーバ名（識別子）11、物理サーバのリソースとしてのプロセッサ性能とメモリ容量12、OSに対応したサーバ（物理サーバまたは仮想サーバ）の識別子31及び識別子31のサーバが使用しているリソース32の欄を有する。これらの各欄は、障害の発生や省電力運用に入る前のサーバシステムの状態を示している。ケース１（33）及びケース２（34）の欄については後述する。
【００４５】
図５を用いた説明に戻り、要因、パラメータ、及び優先度情報テーブル20を参照して、移行すべきサーバの有無を判定する（S510）。物理サーバ0（200）を停止するので、移行すべきサーバはOS0を実行するサーバ0である。優先度情報テーブル20を参照して、移行すべきサーバより低優先サーバがあるかを判定すると（S515）、サーバ0より低優先のサーバとして仮想サーバ3（222）、仮想サーバ6（233）及び仮想サーバ2（213）が得られる。複数の低優先サーバがあるので、その中で最も高い優先度の仮想サーバ3（222）を選択し、仮想サーバ3（222）が使用しているリソースは、移行すべき物理サーバ0（200）のリソース条件を満足するかを判定する（S520）。物理サーバ0（200）が使用するリソースは、4GHｚ×1のプロセッサと2ＧＢのメモリであり、仮想サーバ3（222）が使用しているリソースは4GHｚ×1のプロセッサと2ＧＢのメモリであり、リソース条件を満足するので、サーバ配置リスト30にケース1欄33を設ける。移行すべきサーバである物理サーバ0を、リソース条件を満足したサーバ位置（移行先）である物理サーバ2（220）の仮想サーバ3（222）が使用していたリソース32に対応させて、ケース1欄33に格納する（S525）。
【００４６】
移行すべきサーバとして仮想サーバ3（222）に関して、ステップ510に戻る。移行すべき仮想サーバ3（222）より低優先サーバがあるかを判定すると（S515）、サーバ3（222）より低優先のサーバとして仮想サーバ6（233）及び仮想サーバ2（213）が得られる。複数の低優先サーバがあるので、その中で最も高い優先度の仮想サーバ6（233）を選択し、仮想サーバ6（233）が使用しているリソースは、移行すべき仮想サーバ3（222）のリソース条件を満足するかを判定する（S520）。仮想サーバ3（222）が使用するリソースは、4GHｚ×1のプロセッサと2ＧＢのメモリであり、仮想サーバ6（233）が使用しているリソースは4GHｚ×1のプロセッサと1ＧＢのメモリであり、リソース条件を満足しないので、ステップ515に戻る。仮想サーバ3（222）より低優先のサーバとして仮想サーバ2（213）がある。仮想サーバ2（213）が使用しているリソースは、移行すべき仮想サーバ3（222）のリソース条件を満足するかを判定する（S520）。仮想サーバ3（222）が使用するリソースは、4GHｚ×1のプロセッサと2ＧＢのメモリであり、仮想サーバ2（213）が使用しているリソースは4GHｚ×1のプロセッサと2ＧＢのメモリであり、リソース条件を満足する。そこで、移行すべきサーバである仮想サーバ3（222）を、リソース条件を満足したサーバ位置（移行先）である物理サーバ1（210）の仮想サーバ2（213）が使用していたリソース32に対応させて、ケース1欄33に格納する（S525）。
【００４７】
前述のように、ステップ515で複数の低優先サーバが存在した場合には移行すべきサーバとして残し、さらに移行先に配置されていたサーバを新たに移行すべきサーバとしてステップ510に戻る。仮想サーバ3（222）に関しては、もはや低優先サーバが存在しない。ところが、物理サーバ0（200）に関しては、低優先サーバとして仮想サーバ6（233）及び仮想サーバ2（213）が存在するので、物理サーバ0（200）を移行すべきサーバとしてステップ510に戻る。
【００４８】
移行すべきサーバである物理サーバ0（200）に関して（S510）、優先度情報テーブル20を参照して、移行すべきサーバより低優先サーバは、処理済みの仮想サーバ3（222）を除いた、仮想サーバ6（233）及び仮想サーバ2（213）である（S515）。その中で最も高い優先度の仮想サーバ6（233）を選択し、仮想サーバ6（233）が使用しているリソースは、移行すべき物理サーバ0（200）のリソース条件を満足するかを判定する（S520）。物理サーバ0（200）が使用するリソースは、4GHｚ×1のプロセッサと2ＧＢのメモリであり、仮想サーバ6（233）が使用しているリソースは4GHｚ×1のプロセッサと1ＧＢのメモリであり、リソース条件を満足しないので、ステップ515に戻る。物理サーバ0（200）より低優先のサーバとして仮想サーバ2（213）がある。仮想サーバ2（213）が使用しているリソースは、移行すべき物理サーバ0（200）のリソース条件を満足するかを判定する（S520）。物理サーバ0（200）が使用するリソースは、4GHｚ×1のプロセッサと2ＧＢのメモリであり、仮想サーバ2（213）が使用しているリソースは4GHｚ×1のプロセッサと2ＧＢのメモリであり、リソース条件を満足するので、サーバ配置リスト30にケース2欄34を設ける。そこで、移行すべきサーバである物理サーバ0（200）を、リソース条件を満足したサーバ位置（移行先）である物理サーバ1（210）の仮想サーバ2（213）が使用していたリソース32に対応させて、ケース2欄34に格納する（S525）。
【００４９】
図7に、説明したサーバ配置リスト30を作るための処理順序を示す。最初に移行すべきサーバ0から見たとき、サーバ0（200）より低優先度のサーバをサーバ0（200）の下の階層の左から示すと、仮想サーバ3（222）、仮想サーバ6（233）、仮想サーバ2（213）である。仮想サーバ3（222）より低優先度のサーバを仮想サーバ3（222）の下の階層の左から示すと、仮想サーバ6（233）、仮想サーバ2（213）である。さらに、仮想サーバ6（233）より低優先度のサーバを仮想サーバ6（233）の下の階層に示すと、仮想サーバ2（213）である。
【００５０】
図7に示すように、要因の発生に基づき移行すべき最も優先度の高いサーバ0（200）をルートノード（root node：根ノード）とし、優先度の最も低い仮想サーバ2（213）をリーフノード（leaf node：末端ノード）とするツリーに展開でき、ステップ510〜525の処理は、図7の（数字）で表す順序でリソース条件を満足するノードを探索していることになる。ダッシュ付の数字は、その上位でリソース条件を満足していないと判定した結果、リソース条件の判定を実行していないことを示す。リソース条件を満足した場合、ノード間のブランチ(branch:枝)を実線で表し、リソース条件を満足しない場合、ノード間のブランチを破線で表している。
【００５１】
ツリーの探索を完了すると、図5において要移行サーバが無くなり（ステップ510）、ステップ530へ進む。サーバ配置リスト30を参照すると、移行サーバがあり(S530)、サーバ配置リスト30に、ケース1（33）及びケース2（34）の複数のサーバ配置ケースがあるので(S535)、その中から一つのケースを選択する(S540)。この選択の基準が、前述のように（1）システム全体として又は優先度の高いサーバ（物理サーバ又は仮想サーバ）の切り替え時間を短くするためにマイグレーションするサーバの数が少ないケースを選択するならば、サーバ0（200）の移行のみのケース2（34）を選択し、（2）システム全体として業務を継続実行するサーバ（物理サーバ又は仮想サーバ）の数を多くするならば、ケース1（33）及びケース2（34）のいずれを選択しても良い。この選択基準は、たとえば基準（2）（1）の順に適用するように予め設定しておく。状況によって基準が変わるならば、システム管理者に向けてケースを表示出力し、その管理者にケースを選択させるようにしても良い。
【００５２】
ここでは、基準（2）（1）の順に適用することとして説明する。前述のように、基準（2）ではケースを一つに絞れないので、基準（1）を適用し、ケース2（34）を選択する。選択したケースにシステム構成を変えるために、サーバの停止及び移行順序（サーバ配置リスト30に丸数字で示す）を決定する（S545）。ケース2（34）を選択したので、仮想サーバ2（213）を停止し、サーバ0（200）を物理サーバ1（210）に移行する（S555、S560）。サーバ0の物理サーバ1（210）への移行は、サーバ仮想化部211がディスク302のOS0を仮想サーバ2（213）が用いていたリソースを用いるように起動し、仮想サーバ0として動作させる。他の仮想サーバは、サーバ配置リスト30に示すように、動作を継続する。もしもケース1を選択したならば、サーバ配置リスト30に丸数字で示すように、仮想サーバ2（213）を停止し、仮想サーバ3（222）を物理サーバ1（210）に移行し、サーバ0を物理サーバ2（220）に移行する。
【００５３】
ステップ505で記録した要因に応じた応答を作成する（S565）。物理サーバ0（200）を停止する要因、すなわち物理サーバ0（200）に障害が発生した場合、又は物理サーバ0（200）をパラメータとして指定した省電力運用を指示された場合（省電力量を指定され、結果として物理サーバ0（200）を停止すべきであると判定された場合）であるので、要因と共にシステム構成を変えた結果（図6のケース2（34））を応答内容とする。
【００５４】
なお、ここでは選択基準として（2）（1）の順に適用する例を示したが、（1）のマイグレーションするサーバの数が少ないケースを選択する基準のみを適用する場合について述べる。図5のステップ510〜525の論理と異なるが、図7を用いた説明から分かるように、図7に数字で示す、上述の探索順序とは逆に数字の大きい方から小さい方に向けてツリーを探索すればよい。なぜならば、優先度の低いサーバから停止すべきサーバを定め、そこに移行すべきサーバを移行するのであるから、停止すべきサーバと移行すべきサーバとの間の優先度を持つサーバに影響を与えない（マイグレーションする必要が無い）からである。
【００５５】
図８に、物理サーバ2（220）を停止する要因、すなわち物理サーバ2（220）に障害が発生した場合、又は物理サーバ2（220）をパラメータとして指定した省電力運用を指示された場合（省電力量を指定され、結果として物理サーバ2（220）を停止すべきであると判定された場合）のサーバ配置リスト30を示す。なお、現時点が10:00であるとし、図3（a）の優先度情報テーブル20を用いる。サーバ配置リスト30の作成処理の説明は繰返しになるので省略する。図示するように、サーバ配置としてケース1〜4（37〜40）が得られる。選択基準として、先に説明した基準（2）（1）の順に適用すると、基準（2）の適用によりケース2（38）及びケース4（40）を選択し、さらに基準（1）の適用により、ケース4（40）を選択する。選択したケース4（40）では、仮想サーバ2（213）を停止し、仮想サーバ2（213）が用いていたリソースを仮想サーバ4（223）が使用する。
【００５６】
図９に、物理サーバ2（220）を停止する要因、すなわち物理サーバ2（220）に障害が発生した場合、又は物理サーバ2（220）をパラメータとして指定した省電力運用を指示された場合（省電力量を指定され、結果として物理サーバ2（220）を停止すべきであると判定された場合）のサーバ配置リスト30を示す。図８と異なる点は、現時点が22:00であることである。図３の優先度情報テーブル21によれば、仮想サーバ１停止している状態である。サーバ配置リスト30の作成処理の説明は繰返しになるので省略する。図示するように、サーバ配置としてケース1〜3（41〜43）が得られる。ケース1（41）は次のようにして得られる。図5のステップ520の判定において、仮想サーバ5（232）は仮想サーバ4（223）のリソース条件を満足しないが、仮想サーバ5（232）が動作している物理サーバ3（230）上の仮想サーバ6（233）が仮想サーバ5（232）より優先度が低いので、物理サーバ3（230）が仮想サーバ4（223）のリソース条件を満足するか否かを判定している。
【００５７】
選択基準として、先に説明した基準（2）（1）の順に適用すると、基準（2）の適用によりケース2（42）及びケース3（43）を選択し、さらに基準（1）の適用により、ケース3（43）を選択する。選択したケース3（43）では、停止している仮想サーバ1が用いていたリソースを仮想サーバ4が使用する。
【００５８】
なお、物理サーバをパラメータとして指定した省電力運用を指示された場合について、物理サーバに障害が発生した場合と同様に、特定の物理サーバを停止することを前提に説明したが、図１のシステム構成であるならば、物理サーバ0〜3の各々を停止した場合のケース（再構成案）を洗い出し（物理サーバ０の場合は図６、物理サーバ２の場合は図８、他の物理サーバの場合は図示略）、洗い出したすべてのケースの中から、指定された省電力効果が得られることを選択基準に加え、ケースを選択することにより、停止すべき物理サーバを決定することもできる。この場合、指定された省電力効果が得られることという選択基準をケース洗い出しの前に適用し、ケース洗い出しの対象の物理サーバを絞ってもよい。
【００５９】
次に、プロセッサ性能4GHｚ×2、メモリ容量2GB、及び優先度を仮想サーバ１と仮想サーバ５との間とするパラメータを伴って、10：00に新規仮想サーバ（OSｘ）のデプロイ指示があった場合を図5の処理に沿って説明する。図10に以下の説明に使用するサーバ配置リスト30を示す。
【００６０】
移行すべきサーバの有無を判定する（S510）。新規仮想サーバをデプロイするので、新規仮想サーバを移行すべきサーバとする。優先度情報テーブル20を参照して、移行すべきサーバより低優先サーバがあるかを判定すると（S515）、新規仮想サーバより低優先のサーバとして仮想サーバ5（232）、サーバ0（200）、仮想サーバ3（222）、仮想サーバ6（233）及び仮想サーバ2（213）が得られる。複数の低優先サーバがあるので、その中で最も高い優先度の仮想サーバ5（232）を選択し、仮想サーバ5（232）が使用しているリソースは、新規仮想サーバのリソース条件を満足するかを判定する（S520）。新規仮想サーバが使用するリソースは、4GHｚ×2のプロセッサと2ＧＢのメモリであり、仮想サーバ5（232）が使用しているリソースは4GHｚ×1のプロセッサと2ＧＢのメモリであり、リソース条件を満足しない。しかし、図9のケース1（41）に関して説明したように、物理サーバ3（230）としてリソース条件を判定することにより、図10のサーバ配置リスト30にケース1欄44を設ける。新規仮想サーバを、リソース条件を満足したサーバ位置である物理サーバ3（230）のリソース12に対応させて、ケース1欄44に格納する（S525）。
【００６１】
移行すべきサーバとして仮想サーバ5（232）に関して、ステップ510に戻る。移行すべき仮想サーバ5（232）より低優先サーバがあるかを判定すると（S515）、サーバ5（232）より低優先のサーバとしてサーバ0（200）、仮想サーバ3（222）、仮想サーバ6（233）及び仮想サーバ2（213）が得られる。複数の低優先サーバがあるので、その中で最も高い優先度のサーバ0を選択し、サーバ0が使用しているリソースは、移行すべき仮想サーバ5（232）のリソース条件を満足するかを判定する（S520）。仮想サーバ5（232）が使用するリソースは、4GHｚ×1のプロセッサと2ＧＢのメモリであり、サーバ0が使用しているリソースは4GHｚ×1のプロセッサと1ＧＢのメモリであり、リソース条件を満足する。移行すべきサーバである仮想サーバ5（232）を、リソース条件を満足したサーバ位置（移行先）である物理サーバ0のリソース32に対応させて、ケース1欄44に格納する（S525）。
【００６２】
同様の処理をサーバ0（200）、仮想サーバ3（222）、仮想サーバ6（233）及び仮想サーバ2（213）に関して繰返し、ケース1欄45が完成される。さらに、新規仮想サーバの低優先サーバとしてサーバ0（200）、仮想サーバ3（222）、仮想サーバ6（233）及び仮想サーバ2（213）に関して処理を繰返すことにより、ケース2〜5欄（45〜48）が得られる。この処理の繰返しは、図7を用いて説明したツリーの探索順序から容易に理解されるだろう。得られた複数のケース1〜5（44〜48）から、前述したような選択基準に従って、一つのケースを選択すればよい。図10のサーバ配置リスト30から明らかなように、前述の選択基準（1）及び（2）を用いるならば、そのいずれを適用してもケース5（48）が選択される。
【００６３】
本実施形態によれば、リソースの余裕（冗長度）を必要最小限にとどめた計算機システムの、種々の要因に対応した再構成案（ケース）を作ることができる。さらに、再構成案に選択基準の適用に際して、複数の再構成案の比較が容易であり、選択基準に対応した適切な再構成案が得られる。
【００６４】
本実施形態では、管理サーバが要因の発生に対応して再構成案（ケース）を作るように説明したが、予測される要因及びその要因の発生場所（サーバなど）の組み合わせに応じて、前もって（オフラインで）再構成案（ケース）を作っておき、要因の発生に対応して再構成案を選択するようにしても良い。このようなオフラインによる処理は、再構成案（ケース）の数が比較的少ないので、小規模な計算機システムで有用である。
【００６５】
逆に大規模な計算機システムや運用スケジュールが頻繁に変化するような計算機システムでは、典型的な再構成案を前もって作っておいても良いが、本実施形態で説明したように要因の発生に対応して再構成案（ケース）を作る方が、すべての組み合わせを網羅した再構成案の作成が困難である、再構成案を記憶する記憶容量が少ないなどの点で望ましい。
【図面の簡単な説明】
【００６６】
【図１】計算機システム構成例である。
【図２】構成情報テーブルである。
【図３】優先度情報テーブルである。
【図４】管理サーバの処理フローチャートである。
【図５】サーバ配置の処理フローチャートである。
【図６】サーバ配置リストの例である。
【図７】サーバ配置リストを作るための処理順序である。
【図８】サーバ配置リストの例である。
【図９】サーバ配置リストの例である。
【図１０】サーバ配置リストの例である。
【符号の説明】
【００６７】
10：構成情報テーブル、20：優先度情報テーブル、30：サーバ配置リスト、100：管理サーバ、101：稼動状況監視部、102：障害回復部、103：省電力運用部、104：新規デプロイ部、105：サーバ配置部、110：ネットワークスイッチ、200、210、220、230：物理サーバ、212、213、222、223、232、233：仮想サーバ、300：ディスクアレイ装置、310：ストレージスイッチ。
【図１】
2009252204.tif 000003
【図２】
2009252204.tif 000004
【図３】
2009252204.tif 000005
【図４】
2009252204.tif 000006
【図５】
2009252204.tif 000007
【図６】
2009252204.tif 000008
【図７】
2009252204.tif 000009
【図８】
2009252204.tif 000010
【図９】
2009252204.tif 000011
【図１０】
2009252204.tif 000012