(57)【特許請求の範囲】
【請求項１】
１又は複数の物理サーバ上で動作する複数の仮想サーバと、前記複数の仮想サーバの移行を制御する管理計算機と、を備えた計算機システムであって、
前記管理計算機は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、前記各物理サーバに移行中及び移行予定の仮想サーバの数である移行数を管理する移行管理テーブルと、を備え、
前記管理計算機は、
前記各仮想サーバの稼働情報及び構成情報を取得し、
取得された前記各仮想サーバの稼働情報及び構成情報に基づき、前記各仮想サーバについて、前記各仮想サーバが移行可能な移行先の物理サーバ及び仮想サーバのグループである移行経路グループを設定し、
前記各仮想サーバの稼働状況を監視し、所定の仮想サーバのマイグレーション契機を検知し、
前記所定の仮想サーバのマイグレーション契機を検知した場合、設定された前記移行経路グループと、前記各物理サーバの現在及び過去の移行状況を含む移行情報とに基づき、前記所定の仮想サーバの移行先及び移行経路を選定し、
選定された前記所定の仮想サーバの移行先及び移行経路に基づき、前記所定の仮想サーバを移行させ、
前記所定の仮想サーバの移行に伴い、前記各物理サーバの移行情報を更新し、
前記管理計算機は、前記移行先及び移行経路を選定する場合、
前記移行管理テーブルから、設定された前記移行経路グループに含まれる各物理サーバに移行中及び移行予定の仮想サーバの数である移行数を取得し、
取得された各物理サーバの移行数及び前記各物理サーバの稼働状況に応じて、前記所定の仮想サーバの移行先の物理サーバの候補を選択し、且つ、候補として選択された物理サーバの各々に優先順位を設定し、
設定された優先順が最も高い物理サーバを、前記所定の仮想サーバの移行先として選定することを特徴とする計算機システム。
【請求項２】
前記管理計算機は、前記移行先及び移行経路を選定した後に、選定された前記各仮想サーバの移行先及び移行経路を表示するためのデータを生成することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記管理計算機は、さらに、前記各物理サーバの移行情報を併せて表示するためのデータを生成することを特徴とする請求項２に記載の計算機システム。
【請求項４】
前記各物理サーバの移行情報は、前記各物理サーバにおける仮想サーバの移行に関するスケジュール情報、前記各物理サーバに移行中及び移行予定の仮想サーバの数の情報、及び、前記各物理サーバに過去に仮想サーバが移行した回数に関する履歴情報を含むことを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記管理計算機は、さらに、前記所定の仮想サーバの移行先として選定された物理サーバの移行数が０であるか否かを判定し、
前記選定された物理サーバの移行数が０の場合、前記所定の仮想サーバを、前記選定された物理サーバに直接移行させるよう移行経路を選定し、
前記選定された物理サーバの移行数が０以外で、かつ、前記移行経路グループに含まれる他の物理サーバの移行数の最小値が、前記選定された物理サーバの移行数よりも小さい場合、前記所定の仮想サーバを、前記移行数が最小値である他の物理サーバに一旦移行させるよう移行経路を選定することを特徴とする請求項１に記載の計算機システム。
【請求項６】
前記管理計算機は、前記移行数が最小値である他の物理サーバに一旦移行させた後に、前記移行経路グループに含まれ、当該物理サーバの移行数が前記選定された物理サーバの移行数よりも小さくなるような物理サーバを、次の移行経路として設定することを特徴とする請求項５に記載の計算機システム。
【請求項７】
前記管理計算機は、前記移行経路グループを設定する場合、取得された前記各仮想サーバの稼働情報及び構成情報に基づき、各仮想サーバ間の構成の一致度合いを示す整合性を、前記各仮想サーバについて求め、求められた前記各仮想サーバ間の整合性に応じて、前記各仮想サーバについて移行経路グループを設定することを特徴とする請求項１に記載の計算機システム。
【請求項８】
１又は複数の物理サーバ上で動作する複数の仮想サーバの移行を制御する管理計算機であって、
前記管理計算機は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、前記各物理サーバに移行中及び移行予定の仮想サーバの数である移行数を管理する移行管理テーブルと、を備え、
前記各仮想サーバの稼働情報及び構成情報を取得し、
取得された前記各仮想サーバの稼働情報及び構成情報に基づき、前記各仮想サーバについて、前記各仮想サーバが移行可能な移行先の物理サーバ及び仮想サーバのグループである移行経路グループを設定し、
前記各仮想サーバの稼働状況を監視し、所定の仮想サーバのマイグレーション契機を検知した場合、設定された前記移行経路グループと、前記各物理サーバの現在及び過去の移行状況を含む移行情報とに基づき、前記所定の仮想サーバの移行先及び移行経路を選定し、
選定された前記所定の仮想サーバの移行先及び移行経路に基づき、前記所定の仮想サーバを移行させ、
前記所定の仮想サーバの移行に伴い、前記各物理サーバの移行情報を更新し、
前記管理計算機は、前記移行先及び移行経路を選定する場合、
前記移行管理テーブルから、設定された前記移行経路グループに含まれる各物理サーバに移行中及び移行予定の仮想サーバの数である移行数を取得し、
取得された各物理サーバの移行数及び前記各物理サーバの稼働状況に応じて、前記所定の仮想サーバの移行先の物理サーバの候補を選択し、且つ、候補として選択された物理サーバの各々に優先順位を設定し、
設定された優先順が最も高い物理サーバを、前記所定の仮想サーバの移行先として選定することを特徴とする管理計算機。
【請求項９】
前記管理計算機は、前記移行先及び移行経路を選定した後に、選定された前記各仮想サーバの移行先及び移行経路を表示するためのデータを生成することを特徴とする請求項８に記載の管理計算機。
【請求項１０】
前記管理計算機は、さらに、前記各物理サーバの移行情報を併せて表示するためのデータを生成することを特徴とする請求項９に記載の管理計算機。
【請求項１１】
前記各物理サーバの移行情報は、前記各物理サーバにおける仮想サーバの移行に関するスケジュール情報、前記各物理サーバに移行中及び移行予定の仮想サーバの数の情報、及び、前記各物理サーバに過去に仮想サーバが移行した回数に関する履歴情報を含むことを特徴とする請求項８に記載の管理計算機。
【請求項１２】
前記管理計算機は、さらに、前記所定の仮想サーバの移行先として選定された物理サーバの移行数が０であるか否かを判定し、
前記選定された物理サーバの移行数が０の場合、前記所定の仮想サーバを、前記選定された物理サーバに直接移行させるよう移行経路を選定し、
前記選定された物理サーバの移行数が０以外で、かつ、前記移行経路グループに含まれる他の物理サーバの移行数の最小値が、前記選定された物理サーバの移行数よりも小さい場合、前記所定の仮想サーバを、前記移行数が最小値である他の物理サーバに一旦移行させるよう移行経路を選定することを特徴とする請求項８に記載の管理計算機。
【請求項１３】
前記管理計算機は、前記移行数が最小値である他の物理サーバに一旦移行させた後に、前記移行経路グループに含まれ、当該物理サーバの移行数が前記選定された物理サーバの移行数よりも小さくなるような物理サーバを、次の移行経路として設定することを特徴とする請求項１２に記載の管理計算機。
【請求項１４】
前記管理計算機は、前記移行経路グループを設定する場合、取得された前記各仮想サーバの稼働情報及び構成情報に基づき、各仮想サーバ間の構成の一致度合いを示す整合性を、前記各仮想サーバについて求め、求められた前記各仮想サーバ間の整合性に応じて、前記各仮想サーバについて移行経路グループを設定することを特徴とする請求項８に記載の管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムに関し、特に、仮想サーバの最適な移行先及び移行経路を設定する技術に関する。
【背景技術】
【０００２】
仮想化技術の発展により、各機器が所有するリソースを仮想的にプールし、利用用途や利用状況に応じて仮想サーバを別の物理サーバ（Ｂｌａｄｅサーバ）に移行させる運用が一般化している。このような運用に利用される機能をマイグレーション機能と呼ぶ。マイグレーション機能を利用した運用によれば、消費電力の低減や負荷分散による性能保証が可能になる。以下、図１７、１８を用いて従来のマイグレーション機能を説明する。
【０００３】
図１７は、従来の仮想サーバの稼働状況に応じたマイグレーションを説明する図である。図１７を用いて、管理計算機（不図示）が、仮想サーバ１７０２の稼働状況に応じて、仮想サーバ１７０２を他の物理サーバ１７０１に移行（マイグレーションと同義）させる処理を説明する。
【０００４】
まず管理計算機（不図示）は、実機環境１７００の各構成要素（仮想サーバ１７０２、物理サーバ１７０１等）の稼働状況を監視する。その後、所定の仮想サーバ１７０２が高負荷状態であることを、ＣＰＵ（Central Processing Unit）利用率の増加等により判定した場合（（１））、この仮想サーバ１７０２の移行先となり得る他の各物理サーバ１７０１のリソースの利用状況（稼働状況）及びシステム構成を検証する（（２））。その後、高負荷状態を解消するために、仮想サーバ１７０２を他の物理サーバ１７０１に移行させる（（３））。なお、（２）において各物理サーバ１７０１の稼働状況等を事前に検証するのは、空きリソースがない物理サーバ１７０１への移行や、システム構成が異なる物理サーバ１７０１への移行を防ぐためである。
【０００５】
図１８は、従来のスケジュール管理によるマイグレーションを説明する図である。図１８を用いて、管理計算機（不図示）が、仮想サーバ１８０３の移行を、業務の運用方法に応じてスケジュール管理させる処理を説明する。
【０００６】
昼間には各仮想サーバ１８０３を十分に稼働させ、夜間には殆ど稼働させない業務の運用方法の場合、管理計算機（不図示）は、昼間には各物理サーバ１８０２に仮想サーバ１８０３を設置し、各仮想サーバ１８０３に業務を実行させ、夜間には一つの物理サーバ１８０２に各仮想サーバ１８０３を移行させて他の物理サーバ１８０２の電源を落とすように、各仮想サーバ１８０３をスケジュール管理する。これにより、システム全体の消費電力を削減できる。
【０００７】
上述したようなマイグレーション機能は、現在、色々なベンダから提供されている。例えばＶＭｗａｒｅ社は、ＶＭｏｔｉｏｎと呼ばれるマイグレーション機能を提供している（非特許文献１参照）。このＶＭｏｔｉｏｎは、移行元の仮想サーバのシステム構成が移行先の仮想サーバと同一であることを前提としたマイグレーション機能である。また、仮想サーバの稼働状況を監視し、高負荷状態の仮想サーバを別の物理サーバに移行させることによって、仮想サーバの性能低下を抑制するＶＭｗａｒｅ（登録商標） ＤＲＳ(Distributed Resource Scheduler)機能（非特許文献２参照）や、仮想サーバの移行タイミングや移行先を予めスケジュール管理する機能が提供されている。
【０００８】
その他、高負荷状態の仮想サーバを判定する技術として、特許文献１には、仮想サーバの負荷を定期的に取得し、取得された負荷が事前に設定した閾値を上回る、又は、下回る回数に基づいて、仮想サーバの高負荷・低負荷を判定する技術が開示されている。また、仮想サーバ等の稼働状況を検証する技術として、特許文献２には、仮想サーバ又は物理サーバに計測プログラムをインストールし、この計測プログラムを用いて仮想サーバ又は物理サーバの処理性能を測定する技術が開示されている。特許文献２に開示された技術によれば、物理サーバが備えるＣＰＵの種類により各仮想サーバの処理性能が異なる場合であっても、ＣＰＵの種類に関係なく同じ基準で各仮想サーバの処理性能を測定することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−１１６３８０号公報
【特許文献２】特開２００７−３２３２４５号公報
【非特許文献】
【００１０】
【非特許文献１】"Using VMware VMotion with Oracle Database and EMC CLARiiON Storage Systems", White paper, EMC, February, 2008.
【非特許文献２】"VMware Infrastructure Resource Management with VMware DRS", White paper, vmware, June 5, 2006.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記従来の仮想サーバの稼働状況に応じたマイグレーション（図１７参照）では、各物理サーバ及び各仮想サーバの稼働状況等を事前に検証する必要がある（（２））。しかしながら、検証対象の物理サーバ及び仮想サーバの台数が増加した場合には、各物理サーバ及び各仮想サーバの稼働状況等を容易に検証できない。また、上記従来のスケジュール管理によるマイグレーション（図１８参照）では、移行元及び移行先の物理サーバのシステム構成が同じであるように環境を事前に構築する必要がある。そのため、運用ポリシーの変更や機器の統合等を容易にできず、システム構成全体の見直しが必要となる可能性がある。
【００１２】
また、仮想サーバの稼働状況を検証する場合、上述したような計測プログラムを利用した性能調査や、ＣＰＵの種類に合わせたベンチマークによる性能評価等を実行する必要がある。これは、物理サーバが備えるＣＰＵの種類等に応じて、仮想サーバの性能が変動するためである。ここで計測プログラムを利用した性能調査では、仮想サーバ又は物理サーバに計測プログラムがインストールされる。しかしながら、計測プログラムに対するメンテナンスが必要になった場合、全ての仮想サーバ及び物理サーバに対してメンテナンスを実行する必要があり、メンテナンスに時間を要する可能性がある。
【００１３】
また、仮想サーバの稼働状況を監視し、所定の条件に基づき自動的に移行処理を実行する場合、各仮想サーバの移行処理は各々のタイミングで実行される。そのため、例えば複数の仮想サーバを１つの物理サーバに移行する場合、移行待ちが発生し、移行処理に時間を要する可能性がある。また、仮想サーバを一時的に移行先の物理サーバ以外の他の物理サーバに移行させ、次に移行先の物理サーバに移行させる方法もある。しかしながら、この方法では、他の物理サーバにおいて仮想サーバを一時的に移行させるための空きリソースが確保されていない場合、移行前の仮想サーバの性能を保証することができない。また、一時的な移行先として選択された物理サーバのリソースを消費するため、この物理サーバ上の他の仮想サーバに影響を及ぼす可能性がある。
【００１４】
本発明は、上述した課題を考慮したものであって、仮想サーバの最適な移行先及び移行経路を設定し、移行処理の事前検証及び移行処理に要する時間を短縮させる計算機システムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、１又は複数の物理サーバ上で動作する複数の仮想サーバと、前記複数の仮想サーバの移行を制御する管理計算機と、を備えた計算機システムであって、前記管理計算機は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、前記各物理サーバに移行中及び移行予定の仮想サーバの数である移行数を管理する移行管理テーブルと、を備え、前記管理計算機は、前記各仮想サーバの稼働情報及び構成情報を取得し、取得された前記各仮想サーバの稼働情報及び構成情報に基づき、前記各仮想サーバについて、前記各仮想サーバが移行可能な移行先の物理サーバ及び仮想サーバのグループである移行経路グループを設定し、前記各仮想サーバの稼働状況を監視し、所定の仮想サーバのマイグレーション契機を検知し、前記所定の仮想サーバのマイグレーション契機を検知した場合、設定された前記移行経路グループと、前記各物理サーバの現在及び過去の移行状況を含む移行情報とに基づき、前記所定の仮想サーバの移行先及び移行経路を選定し、選定された前記所定の仮想サーバの移行先及び移行経路に基づき、前記所定の仮想サーバを移行させ、前記所定の仮想サーバの移行に伴い、前記各物理サーバの移行情報を更新し、前記管理計算機は、前記移行先及び移行経路を選定する場合、前記移行管理テーブルから、設定された前記移行経路グループに含まれる各物理サーバに移行中及び移行予定の仮想サーバの数である移行数を取得し、取得された各物理サーバの移行数及び前記各物理サーバの稼働状況に応じて、前記所定の仮想サーバの移行先の物理サーバの候補を選択し、且つ、候補として選択された物理サーバの各々に優先順位を設定し、設定された優先順が最も高い物理サーバを、前記所定の仮想サーバの移行先として選定することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、仮想サーバの最適な移行先及び移行経路を設定し、移行処理の事前検証及び移行処理に要する時間を短縮させることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態の計算機システムの構成例を示す図である。
【図２】本発明の実施の形態のシステム監視部の構成例を示す図である。
【図３】本発明の実施の形態の稼働情報管理テーブルの一例を示す図である。
【図４】本発明の実施の形態の整合性管理テーブルの一例を示す図である。
【図５】本発明の実施の形態の整合性を説明するための図である。
【図６】本発明の実施の形態の移行制御部の構成例を示す図である。
【図７】本発明の実施の形態のスケジュール管理テーブルの一例を示す図である。
【図８】本発明の実施の形態の移行管理テーブルの一例を示す図である。
【図９】本発明の実施の形態の移行回数履歴管理テーブルの一例を示す図である。
【図１０】本発明の実施の形態の移行実行部の構成例を示す図である。
【図１１】本発明の実施の形態のシステム監視部の処理手順を示すフローチャートである。
【図１２】本発明の実施の形態の移行制御部の処理手順を示すフローチャートである。
【図１３】本発明の実施の形態の移行制御部の移行先選定処理の処理手順を示すフローチャートである。
【図１４】本発明の実施の形態の移行制御部の移行経路選定処理の処理手順を示すフローチャートである。
【図１５】本発明の実施の形態の移行実行部の処理手順を示すフローチャートである。
【図１６】本発明の実施の形態のマイグレーション処理をモニタリングするための表示画面の一例を示す図である。
【図１７】従来の仮想サーバの稼働状況に応じたマイグレーションを説明する図である。
【図１８】従来のスケジュール管理によるマイグレーションを説明する図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について図面に基づいて説明する。
【００１９】
図１は、本発明の実施の形態の計算機システム１の構成例を示す図である。図１に示す計算機システム１では、管理計算機１００が、業務ネットワーク１０１を介して接続された実機環境１０２の各構成要素を制御する。
【００２０】
実機環境１０２は、複数の物理サーバ１０８、ＦＣ（Fiber Channel）スイッチ１０９、及び、ストレージ１１０を備える。各物理サーバ１０８は、ＨＢＡ（Host Bus Adapter）１２０、ＦＣスイッチ１０９を経由して、ストレージ１１０のディスクドライブ１２６を使用する。ＨＢＡ１２０は、ファイバチャネルに接続されるポートである。ＦＣスイッチ１０９は、物理サーバ１０８とストレージ１１０とをファイバチャネルで通信させる機器である。このＦＣスイッチ１０９内のパス経路を設定することにより、物理サーバ１０８とストレージ１１０とのパス経路を制御することができる。
【００２１】
各物理サーバ１０８には、日立サーバ仮想化機構（Ｖｉｒｔａｇｅ）やＶＭｗａｒｅ等の仮想アプリケーション（不図示）がインストールされる。各物理サーバ１０８のハイパバイザ１０７上では、複数の仮想サーバ１０６が稼動する。各仮想サーバ１０６には、仮想ＣＰＵ１１５、仮想メモリ１１６及び仮想ＨＢＡ１１７が割り当てられる。これら仮想ＣＰＵ１１５、仮想メモリ１１６及び仮想ＨＢＡ１１７の各々は、物理サーバ１０８に搭載されたＣＰＵ１１９、メモリ１１８、及び、ＨＢＡ１２０がハイパバイザ１０７によって論理的に分割されたものである。
【００２２】
ストレージ１１０は、複数のディスクドライブ１２６を組み合わせることによって構成されるＲＧ（Raid Group）１２５を備える。各物理サーバ１０８は、このＲＧ１２５を、複数のディスクドライブ１２６を纏めた１つの仮想ディスクとして利用する。ＬＵ（Logical Unit）１２４は、このＲＧ１２５を仮想的に区分けしたディスクボリュームである。ＬＵ１２４は、ストレージ１１０のコントローラ１２３とＡポート１２１、又は、Ｂポート１２２に割り当てられる。各物理サーバ１０８内の仮想サーバ１０６は、ＦＣスイッチ１０９を経由して、このＬＵ１２４を利用する。
【００２３】
管理計算機１００は、メモリ１１１、キャッシュ１１２、ＣＰＵ１１３、ディスクドライブ１１４を備える。メモリ１１１には、システム監視部１０３、移行制御部１０４、及び、移行実行部１０５を実行するプログラムが格納される。ＣＰＵ１１３は、メモリ１１１に格納されたプログラムを実行する。この管理計算機１００は、実機環境１０２の仮想サーバ１０６の移行処理を制御する。
【００２４】
システム監視部１０３は、実機環境１０２の実機情報と稼働情報とを取得する（１００００）。実機情報は、実機環境１０２のシステム構成を示す情報である。この実機情報は、実機環境１０２を構成する各機器の情報及び各機器間の接続情報を含む。システム監視部１０３は、取得された実機情報に基づき、移行に利用する移行経路グループを作成する。一方、稼働情報は、実機環境１０２で動作する仮想サーバ１０６や物理サーバ１０８の稼働状況を示す情報である。この稼働情報は、仮想サーバ１０６や物理サーバ１０８のリソース利用状況を含む。システム監視部１０３は、取得された稼働情報に基づき、仮想サーバ１０６の稼働状況を監視する。その後、仮想サーバ１０６のリソース不足等により通常業務に影響を及ぼす要因を検知した場合、要因となる仮想サーバ１０６を他の物理サーバ１０８に移行させる通知を、移行制御部１０４に送信する（１０００１）。このシステム監視部１０３の構成については、図２を用いて後述する。
【００２５】
移行制御部１０４は、移行処理を管理する。具体的には、移行先及び移行経路の選定等の移行に関する設定、移行の履歴情報の管理、及びの実行順番を登録するスケジュール管理を実行する。この移行制御部１０４は、システム監視部１０３から通知を受信した場合、システム監視部１０３によって取得された稼働情報、作成された移行経路グループ、及び、移行の履歴情報に基づき、移行先及び移行経路を選定し、移行の実行スケジュールに登録する。この移行制御部１０４は、移行の実行スケジュールに登録された各仮想サーバ１０６の情報を、移行実行部１０５に順次送信する（１０００２）。この移行制御部１０４の構成については、図６を用いて後述する。
【００２６】
移行実行部１０５は、移行制御部１０４から受信した情報に基づき、実機環境１０２に順次移行処理を実行させる（１０００３）。この移行実行部１０５は、実機環境１０２に移行処理を実行させた後、移行処理の完了通知を移行の実行スケジュールに登録する。この移行実行部１０５の構成については、図１０を用いて後述する。
【００２７】
図２は、本発明の実施の形態のシステム監視部１０３の構成例を示す図である。図２に示すように、システム監視部１０３は、構成／統計情報取得部２００、管理テーブル作成部２０１、モニタリング部２０２、及び、実機情報送信部（マイグレーション契機送信部）２０３を備える。
【００２８】
構成／統計情報取得部２００は、実機環境１０２から、実機環境１０２の構成情報（前述の実機情報に相当）と統計情報（前述の稼働情報に相当）を取得する（１００００）。この構成／統計情報取得部２００は、取得された実機環境１０２の構成情報と統計情報を、管理テーブル作成部２０１に送信する（２００００）。管理テーブル作成部２０１は、受信した実機環境１０２の構成情報と統計情報とに基づき、整合性管理テーブル２０５及び稼働情報管理テーブル２０６を作成し、これらのテーブル２０５、２０６に格納された情報を、稼働情報ＤＢ２０４にデータベースとして登録する（２０００１）。整合性管理テーブル２０５は、各仮想サーバ１０６のシステム構成の一致度合いを示す指標（整合性）を管理するテーブルである。稼働情報管理テーブル２０６とは、各仮想サーバ１０６の稼働情報を管理するテーブルである。整合性管理テーブル２０５及び稼働情報管理テーブル２０６については、図３、図４を用いて後述する。
【００２９】
モニタリング部２０２は、稼働情報管理テーブル２０６に基づき、各仮想サーバ１０６の稼働状況をモニタリング（監視）する（２０００２）。システム管理者は、モニタリング部２０２によってモニタリングされた内容に基づいて、各仮想サーバ１０６の稼働状況を監視する。またシステム管理者は、必要に応じて仮想サーバ１０６のマイグレーション契機が発生したと判定し、移行を指示する。そうすると、管理テーブル作成部２０１は、実機情報送信部２０３にマイグレーション契機が発生した旨を通知する（２０００３）。なお、システム管理者がマイグレーション契機の発生を判定する代わりに、モニタリング部２０２は、仮想サーバ１０６の稼働情報（例えば仮想サーバ１０６の負荷）が予め設定された閾値を超えた場合に、自動的に仮想サーバ１０６のマイグレーション契機が発生したと判定してもよい。その後、マイグレーション契機が発生した旨を通知された実機情報送信部２０３は、該当する仮想サーバ１０６を他の物理サーバ１０に移行させる通知を、移行制御部１０４に送信する（１０００１）。
【００３０】
図３は、本発明の実施の形態の稼働情報管理テーブル２０６の一例を示す図である。図３に示すように、稼働情報管理テーブル２０６の左側２列には、実機環境１０２の各物理サーバ１０８及び各物理サーバ１０８に搭載された各仮想サーバ１０６を一意に識別する識別子が登録される。また、稼働情報管理テーブル２０６の各行には、各仮想サーバ１０６におけるリソースの利用状況、すなわち、Ｓｅｒｖｅｒ（仮想サーバ）１０６の仮想ＣＰＵの利用率、Ｂｕｓｙ率、Ｈｙｐｅｒ（ハイパバイザ）１０７のＣＰＵの利用率、ＦＣ−ＳＷ（ＦＣスイッチ）１０９の転送率、及び、Ｓｔｏｒａｇｅ（ストレージ）１１０のプロセッサの利用率とドライブの利用率、並びに、仮想サーバ１０６の移行の指示があった場合のマイグレーション契機の発生要因である機器及びリソースが登録される。このように稼働情報管理テーブル２０６は、各仮想サーバ１０６の稼働情報を管理している。なお、図３に示す稼働情報管理テーブル２０６には、各仮想サーバ１０６におけるリソースの利用状況の平均値が登録されているが、この場合には限らない。例えば、リソースの利用状況の時系列情報が登録されてもよい。また、リソースの利用状況の時系列情報から任意の期間で集計した情報が登録されてもよい。
【００３１】
図３の例では、物理サーバ "０"に搭載された仮想サーバ "１"の稼働状況は、仮想サーバ１０６のＣＰＵ利用率が８０％、Ｂｕｓｙ率が１０％、ハイパバイザ１０７のＣＰＵ利用率が８０％、ＦＣスイッチ１０９の転送率が２０％、ストレージ１１０のプロセッサ利用率が８０％、ドライブ利用率が１０％であることを示す。また、物理サーバ "０"に搭載された仮想サーバ "１"では、仮想サーバ１０６のＣＰＵ利用率が高いことが要因となってマイグレーション契機が発生していることを示す。
【００３２】
図４は、本発明の実施の形態の整合性管理テーブル２０５の一例を示す図である。図４に示すように、整合性管理テーブル２０５の左側２列には、移行元の各物理サーバ１０８及び各物理サーバ１０８に搭載された各仮想サーバ１０６を一意に識別する識別子が登録される。また、整合性管理テーブル２０５の上段２行には、移行先の各物理サーバ１０８及び各物理サーバ１０８に搭載された仮想サーバ１０６を一意に識別する識別子が登録される。また、移行元の各仮想サーバ１０６と移行先の各仮想サーバ１０６との交点には、各仮想サーバ１０６のシステム構成の一致度合いを示す指標（整合性）が登録される。
【００３３】
なお、図４の例では、簡易的に指標が３段階（０、５０、１００）に示される場合を表しているが、この場合には限らない。例えば、システム構成の確認項目に応じて評価段階を変更してもよい。システム監視部１０３（管理テーブル作成部２０１）は、この指標に応じて各仮想サーバ１０６を複数のグループに分け、各グループを移行経路グループとして設定する。図４の例では、物理サーバ “０”の仮想サーバ“１”から移行可能な物理サーバ“１”の仮想サーバ“１”、物理サーバ “２”の仮想サーバ“１”、“２”を、移行経路グループＡとして設定する。同様に、物理サーバ“０”の仮想サーバ“２”から移行可能な物理サーバ“１”の仮想サーバ“１”を、移行経路グループＢとして設定する。同様に、移行経路グループＣを設定する。そうすると、物理サーバ“１”の仮想サーバ“１”から移行可能な物理サーバ“０”の仮想サーバ“１”、“２”、“３”を、移行経路グループＡＢＣとして設定することができる。同様に、物理サーバ“２”の仮想サーバ“１”から移行可能な物理サーバ“０”の仮想サーバ“１”、“２”を、移行経路グループＡＢとして設定することができる。設定された移行経路グループの情報は、整合性管理テーブル２０５において移行元の仮想サーバ１０６毎に登録される。また、図４の例では、各移行経路グループは各仮想サーバ１０６のシステム構成のみに着目して設定されているが、この場合には限らない。移行処理の移行先及び移行経路を選択する際に、仮想サーバ１０６の稼働状況等に応じて各移行経路グループを再編成してもよい。再編成処理の詳細については、図１１を用いて後述する。
【００３４】
図５は、本発明の実施の形態の整合性を説明するための図である。上述した指標（整合性）の設定方法及び移行経路グループの設定方法について、図５を用いて具体的に説明する。
【００３５】
図５では、４つの仮想サーバＡ５０１、Ｂ５０２、Ｃ５０３、Ｄ５０４を備えた実機環境１０２において、各仮想サーバＡ５０１、Ｂ５０２、Ｃ５０３、Ｄ５０４のシステム構成の一致度合いを示す指標を３段階（０、５０、１００）に分けた例を示している。
【００３６】
指標が１００の場合、仮想サーバＢ５０２と仮想サーバＣ５０３のようにシステム構成が全く同じであることを表す。指標が５０の場合、仮想サーバＡ５０１と仮想サーバＢ５０２のように同一のストレージ５１０を利用しているが、両仮想サーバＡ５０１、Ｂ５０２のリソースの設定値（仮想ＣＰＵ５０６の数や仮想メモリ５０７の容量等）が異なることを表す。指標が０の場合、仮想サーバＣ５０３と仮想サーバＤ５０４のように異なるストレージ５０９を利用しているため、両仮想サーバＣ５０３、Ｄ５０４間で移行できないことを表す。
【００３７】
即ち、整合性が１００、５０である仮想サーバＡ５０１、Ｂ５０２、Ｃ５０３の間では、移行可能である。但し、整合性が５０である仮想サーバＡ５０１、Ｂ５０２はリソースの設定値が異なるため、単純な移行（性能保証を意識しない移行）は可能であるものの、移行の前後で性能を保証できない可能性がある。一方、整合性が０である仮想サーバＤ５０４と他の仮想サーバＡ５０１、Ｂ５０２、Ｃ５０３との間では移行できない。
【００３８】
なお、図５に示す例では、システム構成の整合性を３段階に分けて示しているが、この場合には限らない。例えば物理サーバ５０５のＣＰＵ５０６の種類や仮想メモリ５０７の容量、ＦＣスイッチ５０８のカスケード接続状況、及び、ストレージ５０９のドライブ構成等に応じて、システム構成の整合性を細分化させてもよい。
【００３９】
図６は、本発明の実施の形態の移行制御部１０４の構成例を示す図である。図６に示すように、移行制御部１０４は、マイグレーション契機受信部６００、移行先選定部６０１、及び、移行指示送信部６０２を備える。
【００４０】
マイグレーション契機受信部６００は、システム監視部１０３から移行の指示（所定の仮想サーバ１０６を他の物理サーバ１０に移行させる通知）を受信する（１０００１）。その後、マイグレーション契機受信部６００は、移行先選定部６０１に移行先及び移行経路を選定する処理を指示する（６００００）。
【００４１】
移行先及び移行経路を選定する処理の指示を受信した移行先選定部６０１は、稼働情報ＤＢ２０４から、各仮想サーバ１０６の稼働情報と、移行対象の仮想サーバ１０６の移行経路グループの情報とを取得する（６０００１）。次に、移行先選定部６０１は、移行情報ＤＢ６０６から、移行経路グループに含まれる各物理サーバ１０８の移行情報（すなわち、各テーブル６０３、６０４、６０５に登録された情報等）を取得する（６０００２）。その後、移行先選定部６０１は、稼働情報ＤＢ２０４及び移行情報ＤＢ６０６から取得された情報に基づき、移行先の物理サーバ１０８及び移行経路を選定する。その後、移行先選定部６０１は、選定された移行先の物理サーバ１０８及び移行経路を、移行指示送信部６０２に送信する（６０００３）。移行指示送信部６０２は、受信した移行先の物理サーバ１０８及び移行経路の情報に基づき、スケジュール管理テーブル６０３、移行管理テーブル６０４、移行回数履歴管理テーブル６０５を作成し、これらのテーブル６０３、６０４、６０５に格納された情報を、移行情報ＤＢ６０６にデータベースとして登録する（６０００４）。スケジュール管理テーブル６０３は、仮想サーバ１０６の移行の実行順番等のスケジュールを管理するテーブルである。移行管理テーブル６０４は、各物理サーバ１０８に対する移行予定数（移行される仮想サーバ１０６の数）を管理するテーブルである。移行回数履歴管理テーブル６０５は、仮想サーバ１０６の移行先の物理サーバ１０８及び移行回数の履歴を管理するテーブルである。スケジュール管理テーブル６０３、移行管理テーブル６０４及び移行回数履歴管理テーブル６０５については、それぞれ図７〜図９を用いて後述する。
【００４２】
移行指示送信部６０２は、スケジュール管理テーブル６０３に登録された実行順番で各仮想サーバ１０６を移行させる指示を、移行実行部１０５に送信する（１０００２）。
【００４３】
図７は、本発明の実施の形態のスケジュール管理テーブル６０３の一例を示す図である。図７に示すように、スケジュール管理テーブル６０３には、"受付ＩＤ"、“関連ＩＤ”、“移行元（物理サーバ、仮想サーバ）”、“移行先（物理サーバ、仮想サーバ）”、“開始時刻”、“終了時刻”、“マイグレーション契機（機器、リソース）”、“移行先物理サーバの空き”、“移行先物理サーバに移行予定の仮想サーバ数”を対応付けた情報が、スケジュール情報として登録される。
【００４４】
“受付ＩＤ”には、移行の指示を受け付けた順番が登録される。“関連ＩＤ”には、移行対象の仮想サーバ１０６の移行経路を示す識別子が登録される。同一の移行経路の場合には同一の“関連ＩＤ”が登録される。“移行元（物理サーバ、仮想サーバ）”には、移行元の仮想サーバ１０６及び仮想サーバ１０６が搭載された物理サーバ１０８の識別情報が登録される。“移行先（物理サーバ、仮想サーバ）”には、移行先の仮想サーバ１０６及び仮想サーバ１０６が搭載された物理サーバ１０８の識別情報が登録される。“開始時刻”、“終了時刻”には、それぞれ移行の開始時刻、終了時刻が登録される。なお、“開始時刻”は、移行指示送信部６０２が移行の指示を移行実行部１０５に送信した際に登録される。また、“終了時刻”は、移行実行部１０５が移行の完了通知を受信した際に登録される。これら“開始時刻”、“終了時刻”により、移行の状態を把握することができる。“マイグレーション契機”には、マイグレーション契機の発生要因が登録される。“移行先物理サーバの空き”には、現在（移行先選定部６０１が移行先の物理サーバ１０８及び移行経路を選定したとき）の移行先の物理サーバ１０８のリソースの空き率が登録される。 “移行先物理サーバに移行予定の仮想サーバ数”には、移行先の物理サーバ１０８に移行予定の仮想サーバ１０６の数が登録される。これら“マイグレーション契機”、“移行先物理サーバの空き”、“移行先物理サーバに移行予定の仮想サーバ数”により、移行の経緯を把握することができる。
【００４５】
図７の例では、“受付ＩＤ”が“１”、"２"、"３"の“関連ＩＤ”には、全て"１"が登録されている。これは、“移行元”が物理サーバ"１"の仮想サーバ "５"である場合の移行経路が、物理サーバ "２"の仮想サーバ "３"、及び、物理サーバ "３"の仮想サーバ "４"を経由して、物理サーバ "５"の仮想サーバ "１"に移行するものであることを示す。
【００４６】
また図７の例では、“移行元”が物理サーバ "１"の仮想サーバ "５"である場合の“マイグレーション契機”として、機器、リソースにはそれぞれ"Ｓｅｒｖｅｒ"、"ＣＰＵ"が登録されている。これは、仮想サーバ “５”のＣＰＵ利用率が高いことが、マイグレーション契機の発生要因であることを意味する。なお、マイグレーション契機の発生要因が"仮想サーバ１０６のＣＰＵの利用率の高さ"である場合、この“マイグレーション契機”に対応する“移行先物理サーバの空き”には、移行先の仮想サーバ１０６のＣＰＵ利用率が登録される。また、“移行先物理サーバに移行予定の仮想サーバ数”が"１"の場合、他の仮想サーバ１０６が移行を実行中であることを表す。
【００４７】
図８は、本発明の実施の形態の移行管理テーブル６０４の一例を示す図である。図８に示すように、移行管理テーブル６０４には、物理サーバ１０８毎に"移行される仮想サーバ数"及び"移行する仮想サーバ数"が登録される。"移行される仮想サーバ数"とは、他の物理サーバ１０８から対象の物理サーバ１０８に移行する仮想サーバ１０６の数を表す。一方"移行する仮想サーバ数"とは、対象の物理サーバ１０８から他の物理サーバ１０８に移行する仮想サーバ１０６の数を表す。また、"移行される仮想サーバ数"及び"移行する仮想サーバ数"では、"予約"と"実行"に分けて物理サーバ１０８及び仮想サーバ１０６が登録される。"予約"とは、移行待ちの状態の仮想サーバ１０６の数を表す。"実行"とは、移行中の状態の仮想サーバ１０６の数を表す。
【００４８】
図８の例では、物理サーバ "１"の行からは、他の物理サーバ "４"の仮想サーバ１０６ "１"の一つが、物理サーバ“１”に移行中の状態であることが読み取れる。また、物理サーバ“２”の“移行する仮想サーバ数”の欄からは、物理サーバ“２”の仮想サーバ“１”が、他の物理サーバ“４”の仮想サーバ“３”に移行中の状態であることが読み取れる。
【００４９】
図９は、本発明の実施の形態の移行回数履歴管理テーブル６０５の一例を示す図である。図９に示すように、移行回数履歴管理テーブル６０５には、所定の取得期間毎に、移行元と移行先との間の移行回数が登録されている。
【００５０】
図９の例では、取得期間が２００９年４月１日から２００９年４月３０日の期間及び２００９年５月１日から２００９年５月３１日の期間のそれぞれにおける移行元と移行先と間の移行回数が示されている。例えば、２００９年４月１日から２００９年４月３０日の期間において、物理サーバ "０"の仮想サーバ"１"（移行元）から物理サーバ"１"の仮想サーバ"１"（移行先）への移行回数は５回である。また、同期間において、物理サーバ“０”の仮想サーバ１０６“１”（移行元）から物理サーバ"２"の仮想サーバ"１"及び"２"（移行先）への移行回数は、それぞれ１回、５回である。
【００５１】
この移行回数履歴管理テーブル６０５によれば、移行の実行頻度を把握することができる。また、この移行回数履歴管理テーブル６０５に登録された移行回数と、スケジュール管理テーブル６０３（図７参照）に登録された移行の履歴情報とにより、物理サーバ１０８に搭載された仮想サーバ１０６の移行経路を探索したり、物理サーバ１０８に対する移行の実行頻度を調査したりすることができる。
【００５２】
図１０は、本発明の実施の形態の移行実行部１０５の構成例を示す図である。図１０に示すように、移行実行部１０５は、移行指示受信部１００１、移行コマンド発行部１００２を備える。
【００５３】
移行指示受信部１００１は、移行制御部１０４から移行の指示を受信する（１０００２）。その後、移行指示受信部１００１は、移行コマンド発行部１００２に移行元及び移行先の情報を送信する（１００００１）。そうすると、移行コマンド発行部１００２は、移行実行コマンド１００３から、移行を実行するためのコマンドを取得する（１００００２）。その後、移行コマンド発行部１００２は、取得されたコマンドを実機環境１０２に発行することによって、実機環境１０２に移行処理の実行を指示する（１０００３）。その後、移行コマンド発行部１００２は、実機環境１０２から移行処理の完了通知を受信すると、移行情報ＤＢ６０６に登録されたスケジュール管理テーブル６０３に、終了時刻を登録する（１００００４）。
【００５４】
以下、管理計算機１００が備えるシステム監視部１０３、移行制御部１０４、及び、移行実行部１０５（図１参照）の各処理手順について説明する。
【００５５】
図１１は、本発明の実施の形態のシステム監視部１０３の処理手順を示すフローチャートである。
【００５６】
まずシステム監視部１０３は、実機環境１０２から、各物理サーバ１０８及び各物理サーバ１０８に搭載された仮想サーバ１０６の実機情報と稼働情報を取得する（１１００）。次に、システム監視部１０３は、取得された実機情報と稼働情報とに基づいて、稼働情報管理テーブル２０６及び整合性管理テーブル２０５を作成する（１１０１）。整合性管理テーブル２０５には、各物理サーバ１０８及び各物理サーバ１０８に搭載された仮想サーバ１０６のシステム構成の一致度合いを示す指標（整合性）が登録される。なお、仮想サーバ１０６のシステム構成が全く同じ場合、指標には１００が設定される。移行を実行可能であるが、仮想サーバ１０６の設定内容が異なるため移行の前後で性能を保証できない可能性がある場合、指標には５０が設定される。移行を実行不可である場合、指標には０が設定される。
【００５７】
その後、システム監視部１０３は、実機環境１０２の運用ポリシー等に合わせて、整合性管理テーブル２０５に登録された指標に基づき、移行経路グループを設定する（１１０２）。ステップ１１０２では、移行の前後で同等の性能を保証したい場合、システム監視部１０３は、指標が１００の各仮想サーバ１０６を移行経路グループとして設定する。また、運用上仮想サーバ１０６をある物理サーバ１０８に統合させたい場合、システム監視部１０３は、整合性が５０、１００の各仮想サーバ１０６を移行経路グループとして設定することができる。
【００５８】
移行経路グループを設定した後、システム監視部１０３は、実機環境１０２の稼働状況を監視する（１１０３）。その後、システム監視部１０３は、マイグレーション契機を検知するまで待機する（１１０４）。ステップ１１０４では、システム監視部１０３は、ある要因により仮想サーバ１０６の移行を指示された場合に、マイグレーション契機を検知する。ここでいう移行の指示は、例えばある仮想サーバ１０６が高負荷となった場合やリソースの利用状況が設定された閾値を超えた場合に発行される。
【００５９】
マイグレーション契機を検知した場合（１１０４でＹＥＳ）、システム監視部１０３は、稼働情報管理テーブル２０６にマイグレーション契機の発生要因となる機器及びリソースを登録する（１１０５）。その後、稼働情報管理テーブル２０６に登録されたマイグレーション契機の発生要因に応じて、移行対象の仮想サーバ１０６を含む移行経路グループを再編成する（１１０６）。ステップ１１０６では、システム監視部１０３は、整合性管理テーブル２０５に登録された移行対象の仮想サーバ１０６の移行経路グループの情報から、マイグレーション契機の要因への対応に不向きな物理サーバ１０８を除くことによって、移行対象の仮想サーバ１０６の移行経路グループを再編成する。例えば、マイグレーション契機の発生要因がＣＰＵ利用率の増加である場合、ＣＰＵ利用率を取り込める余裕がある物理サーバ１０８のみを用いて移行経路グループを再編成する。移行経路グループを再編成後、システム監視部１０３は、移行対象の仮想サーバ１０６を移行する指示を、移行制御部１０４に通知する（１１０７）。
【００６０】
図１２は、本発明の実施の形態の移行制御部１０４の処理手順を示すフローチャートである。
【００６１】
まず移行制御部１０４は、システム監視部１０３から移行の指示を受信する（１２００）。その後、移行制御部１０４は、移行先選定処理を実行する（１２０１）。移行先選定処理は、移行先の物理サーバ１０８を選定するための処理である。移行先選定処理については図１３を用いて後述する。その後、移行制御部１０４は、移行経路選定処理を実行する（１２０２）。移行経路選定処理は、移行経路を選定するための処理である。移行経路選定処理については図１４を用いて後述する。
【００６２】
その後、移行制御部１０４は、選定された移行先の物理サーバ１０８及び移行経路をスケジュール管理テーブル６０３に登録する（１２０４）。その後、移行制御部１０４は、スケジュール管理テーブル６０３に登録された情報に基づき、移行実行部１０５に移行対象の仮想サーバ１０６の情報を送信する（１２０５）。
【００６３】
図１３は、本発明の実施の形態の移行制御部１０４の移行先選定処理の処理手順を示すフローチャートである。移行制御部１０４の移行先選定処理について、適宜他の図面を参照して説明する。
【００６４】
まず移行制御部１０４は、稼働情報ＤＢ２０４に登録された稼働情報管理テーブル２０６の情報（図３参照）から、移行対象の仮想サーバ１０６の稼働情報（構成情報やマイグレーション契機等）を取得する（１３００）。次に移行制御部１０４は、稼働情報ＤＢ２０４に登録された整合性管理テーブル２０５の情報（図４参照）から、移行対象の仮想サーバ１０６を含む移行経路グループの情報を取得する（１３０１）。
【００６５】
その後、移行制御部１０４は、移行情報ＤＢ６０６に登録された移行管理テーブル６０４の情報（図８参照）から、ステップ１３０１で取得された移行経路グループに含まれる各物理サーバ１０８について、 “移行される仮想サーバ数”と、“移行する仮想サーバ数”との総和（以下、「各物理サーバ１０８の移行数」という。）と、移行する予定の仮想サーバの情報（以下、「移行予定仮想サーバ情報」という。）を取得する（１３０２）。
【００６６】
その後、移行制御部１０４は、ステップ１３０２で取得された各物理サーバ１０８の移行数及び移行予定仮想サーバ情報と、ステップ１３０１で取得された移行経路グループに含まれる各物理サーバ１０８の空きリソースの状況とに応じて、移行先の物理サーバ１０８の候補を選択し、候補の各々に優先順位を設定する（１３０３）。ステップ１３０３において、移行制御部１０４は、各物理サーバ１０８の空きリソースの状況に応じて、例えば空きリソースが大きい順に移行先の物理サーバ１０８の候補を選択し、選択された順に優先順位を設定する。また移行制御部１０４は、移行情報ＤＢ６０６に登録された移行回数履歴管理テーブル６０５の情報（図９参照）から、移行先の物理サーバ１０８の候補の各々の移行回数の履歴を確認する。確認した結果、移行対象の仮想サーバ１０６の移行先として過去に設定されており、且つ、再度他の物理サーバ１０８に移行している物理サーバ１０８については、例えば移行回数に重み（０〜１）等を乗算した値を、上記設定された優先順位から減算することにより、優先順位を下げる。その後、移行制御部１０４は、最も優先順位が高い物理サーバ１０８を移行先として設定する（１３０４）。
【００６７】
このように移行制御部１０４は、各物理サーバ１０８の移行回数の履歴を利用して、移行先の物理サーバ１０８を選定している。これにより、例えば移行元の物理サーバ１０８に搭載されたＣＰＵよりも移行先の物理サーバ１０８に搭載されたＣＰＵの性能が低い場合であっても、仮想サーバ１０６の移行の前後で性能が低下するような現象を回避することができる。
【００６８】
図１４は、本発明の実施の形態の移行制御部１０４の移行経路選定処理の処理手順を示すフローチャートである。移行制御部１０４の移行先選定処理について、適宜他の図面を参照して説明する。
【００６９】
まず移行制御部１０４は、図１３のステップ１３０１で取得された移行経路グループの情報と、図１３のステップ１３０２で取得された各物理サーバ１０８の移行数とを取得する（１４００）。次に移行制御部１０４は、図１３のステップ１３０４で移行先として設定された物理サーバ１０８の移行数が０であるか否かを判定する（１４０１）。
【００７０】
移行先の物理サーバ１０８の移行数が０である場合（１４０１でＹＥＳ）、移行制御部１０４は、移行対象の仮想サーバ１０６を直接、移行先の物理サーバ１０８に移行させるように移行経路を設定する（１４０２）。一方、移行先の物理サーバ１０８の移行数が０以外の場合（１４０１でＮＯ）、移行制御部１０４は、移行先の物理サーバ１０８の移行数と、移行経路グループに含まれる他の各物理サーバ１０８の移行数の最小値とを比較する（１４０３）。
【００７１】
移行先の物理サーバ１０８の移行数の方が小さい場合（１４０３でＮＯ）、移行制御部１０４は、移行対象の仮想サーバ１０６を直接、移行先の物理サーバ１０８に移行させるように移行経路を設定する（１４０２）。一方、他の各物理サーバ１０８の移行数の最小値の方が小さい場合（１４０３でＹＥＳ）、移行対象の仮想サーバ１０６を、移行数が最小値である他の物理サーバ１０８に一旦移行させる（１４０４）。その後、移行制御部１０４は、移行経路グループに含まれる各物理サーバ１０８の移行数を集計し、移行先の物理サーバ１０８の移行数以下になるような各物理サーバ１０８を移行経路として設定する（１４０５）。
【００７２】
このように移行制御部１０４は、各物理サーバ１０８の移行数を利用して、移行経路を選定している。これにより、移行処理の実行待ち時間を短縮させることや、移行処理後に業務を早急に開始させることが可能となる。
【００７３】
図１５は、本発明の実施の形態の移行実行部１０５の処理手順を示すフローチャートである。
【００７４】
まず移行実行部１０５は、移行制御部１０４から、移行先の物理サーバ１０８及び移行元の仮想サーバ１０６の構成情報（移行情報）を受信する（１５００）。次に、移行実行部１０５は、移行実行コマンド１００３（図１０参照）から移行処理を実行するためのコマンド（移行実行コマンド）を取得し、取得されたコマンドを実機環境１０２に発行する（１５０１）。その後、移行実行部１０５は、実機環境１０２から移行処理の完了通知を受信するまで待機する（１５０２）。
【００７５】
実機環境１０２から移行処理の完了通知を受信した場合（１５０３でＹＥＳ）、移行実行部１０５は、スケジュール管理テーブル６０３に終了時刻を登録することによって、スケジュール管理テーブル６０３を更新する（１５０４）。また、移行実行部１０５は、移行回数履歴管理テーブル６０５に移行先の物理サーバ１０８及び移行元の仮想サーバ１０６の構成情報（移行情報）を登録することによって、移行回数履歴管理テーブル６０５を更新する（１５０５）。
【００７６】
図１６は、本発明の実施の形態のマイグレーション処理をモニタリングするための表示画面の一例を示す図である。図１６に示すマイグレーション管理画面１６００は、例えばシステム監視部１０３のモニタリング部２０２（図２参照）によって表示される。
【００７７】
図１６に示すように、マイグレーション管理画面１６００には、構成情報とスケジュール情報とが表示される。構成情報の欄には、仮想サーバ１６０９〜１６１１と物理サーバ１６０４〜１６０８が移行経路グループ毎に（図１６では移行経路グループ１６０１及び移行経路グループ１６０２）区別して表示されている。また各移行経路グループ１６０１、１６０２には、各物理サーバ１６０４〜１６０８の移行数１６０３が表示される。移行数１６０３の"ＩＮ"は、該当する物理サーバに他の物理サーバから移行される仮想サーバの数（図８参照）を表す。移行数１６０３の"ＯＵＴ"は、該当する物理サーバから他の物理サーバに移行される仮想サーバの数を表す。一方、スケジュールの欄には、スケジュール管理テーブル６０３（図７参照）に登録された内容が表示される。
【００７８】
図１６の例では、移行経路グループ１６０１には、物理サーバＡ１６０４、物理サーバＢ１６０５、及び、物理サーバＣ１６０６が登録されている。一方、移行経路グループ１６０２には、物理サーバＤ１６０７、及び、物理サーバＥ１６０８が登録されている。また、移行経路グループ１６０１において、物理サーバＡ１６０４の仮想サーバＡ１６０９が物理サーバＢ１６０５の仮想サーバＢ１６１０を経由し、物理サーバＣの仮想サーバＣ１６１１に移行する状況が表示されている。
【００７９】
以上のように、構成情報の欄には、移行経路グループ１６０１、１６０２、各物理サーバ１６０４〜１６０８の移行数１６０３、仮想サーバ１６０９の移行経路（図中矢印）が表示される。そのため、システム管理者は、このマイグレーション管理画面１６００を参照して、移行処理の状況を容易に把握することができる。
【００８０】
一方、スケジュールの欄には、移行処理の実行順番等のスケジュールが表示される。そのため、システム管理者は、このマイグレーション管理画面１６００を参照して、移行処理の状況を容易に把握することができる。また、移行先や移行経路を変更したい場合、移行処理を任意のタイミングで容易に制御することが可能となる。
【００８１】
以上説明したように、本発明の実施の形態の管理計算機１００及び管理計算機１００による仮想サーバ１０６の移行制御システムでは、まずシステム監視部１０３が、各物理サーバ１０８及び各物理サーバ１０８に搭載される各仮想サーバ１０６のシステム構成の一致の度合いに応じて、移行経路グループを設定する。次にシステム監視部１０３は、設定された移行経路グループに対し、マイグレーション契機の発生要因及び発生要因に対する各物理サーバ１０８の空きリソース状況に応じて、移行経路グループを再編成している。その後、移行制御部１０４が、移行経路グループに登録された各物理サーバ１０８の稼働情報、移行数に応じて、移行経路グループに含まれる各物理サーバ１０８に対して優先順位を設定する。なお、マイグレーション対象の仮想サーバ１０６の移行先として過去に設定されており、且つ、マイグレーション対象の仮想サーバ１０６を他の物理サーバ１０８に移行させた回数が多い物理サーバ１０８の優先順位を下げる。これにより、最適な移行先を選定することができる。また、移行先の物理サーバ１０８の移行数と他の物理サーバ１０８の移行数とに基づき、移行処理待ちによる待機時間を短縮させる最適な移行経路を選定することができる。
【００８２】
以上、本発明の実施の形態について説明したが、上記実施の形態は本発明の適用例の一つを示したものであり、本発明の技術的範囲を上記実施の形態の具体的構成に限定する趣旨ではない。本発明の要旨を逸脱しない範囲において種々変更可能である。
【００８３】
例えば、上記実施の形態では、スケジュール管理テーブル６０３に登録された移行処理の実行順番に従って移行処理を実行させているが、この場合に限らない。例えば移行処理の実行前に、再度、移行経路グループに登録された物理サーバ１０８の稼働状況と移行数を見直してもよい。これにより、最適な移行先となる物理サーバ１０８と移行経路を設定させることができる。
【符号の説明】
【００８４】
１  計算機システム
１００  管理計算機
１０１  業務ネットワーク
１０２、１７００、１８０１  実機環境
１０３  システム監視部
１０４  移行制御部
１０５  移行実行部
１０６、５０１、５０２、５０３、５０４、１７０２、１８０３  仮想サーバ
１０７  ハイパバイザ
１０８、５０７、１７０１、１８０２  物理サーバ
１０９、５０８、１７０３、１８０４  ＦＣスイッチ
１１０、５０９、１７０４、１８０５  ストレージ
１１１、１１８  メモリ
１１２  キャッシュ
１１３、１１９  ＣＰＵ
１１４、１２６  ディスクドライブ
１１５  仮想ＨＢＡ
１１６、５０６  仮想ＣＰＵ
１１７、５０７  仮想メモリ
１２０  ＨＢＡ
１２１  ストレージのＡポート
１２２  ストレージのＢポート
１２３  ストレージのコントローラ
１２４  ＬＵ
１２６  ＲＧ
２００  構成/統計情報取得部
２０１  管理テーブル作成部
２０２  モニタリング部
２０３  実機情報送信部
２０４  稼働情報ＤＢ
２０５  整合性管理テーブル
２０６  稼働情報管理テーブル
６００  マイグレーション契機受信部
６０１  移行先選定部
６０２  移行指示送信部
６０３  スケジュール管理テーブル
６０４  移行管理テーブル
６０５  移行回数履歴管理テーブル
６０６  移行情報ＤＢ
１００１  移行指示受信部
１００２  移行コマンド発行部
１００３  移行実行コマンド
【図１】
0005589218.tif 000002
【図２】
0005589218.tif 000003
【図３】
0005589218.tif 000004
【図４】
0005589218.tif 000005
【図５】
0005589218.tif 000006
【図６】
0005589218.tif 000007
【図７】
0005589218.tif 000008
【図８】
0005589218.tif 000009
【図９】
0005589218.tif 000010
【図１０】
0005589218.tif 000011
【図１１】
0005589218.tif 000012
【図１２】
0005589218.tif 000013
【図１３】
0005589218.tif 000014
【図１４】
0005589218.tif 000015
【図１５】
0005589218.tif 000016
【図１７】
0005589218.tif 000017
【図１８】
0005589218.tif 000018
【図１６】
0005589218.tif 000019