(57)【要約】      （修正有）【課題】構成に変更があった物理サーバに対する仮想サーバの稼動の互換性を事前に確認して、仮想サーバの移行計画を作成する。【解決手段】仮想サーバの管理ソフトにおいて、物理サーバに対して行われる構成変更作業の情報を収集し、構成変更後の物理サーバの状態を管理ソフト内で模擬する。その後に、模擬した情報を互換性検証機能の入力として与えることで、構成に変更があった物理サーバに対しての仮想サーバ稼働の互換性を確認し、移行計画の作成に用いる。【選択図】図１
2014142678.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理サーバと、前記物理サーバ上で稼動する仮想サーバと、前記複数の物理サーバに接続された管理サーバと、を含むサーバシステムにおける仮想サーバ移行計画方法において、
前記物理サーバは、前記仮想サーバを前記物理サーバ上で稼動させる仮想化機構を備え、
前記管理サーバは、
前記物理サーバの構成情報及び前記物理サーバの負荷情報を前記物理サーバ毎に管理する物理サーバ管理テーブルと、
前記物理サーバ管理テーブルを複製した物理サーバ模擬テーブルと、
前記仮想サーバの構成情報、前記仮想サーバの負荷情報及び前記仮想サーバの許容停止時間を前記仮想サーバ毎に管理する仮想サーバ管理テーブルと、
仮想サーバ移行のタスクを模擬するために前記物理サーバ模擬テーブルに対して行う変更内容を管理するタスク模擬テーブルと、
前記仮想サーバの移行方式毎に前記仮想サーバの停止時間を管理する移行方式管理テーブルと、を備え、
前記管理サーバは、前記物理サーバの構成変更に伴う仮想サーバ移行計画の作成要求を受信すると、
前記構成変更の対象となる物理サーバ上で稼動する仮想サーバを特定し、
前記仮想サーバ管理テーブルを参照して、前記特定した仮想サーバの許容停止時間を取得し、
前記移行方式管理テーブルを参照して、前記取得した仮想サーバの許容停止時間よりも小さい停止時間である仮想サーバの移行方式を抽出し、
前記物理サーバ管理テーブル又は前記物理サーバ模擬テーブルを参照して、前記仮想サーバを移行可能な移行先の物理サーバを特定し、
前記タスク模擬テーブルで管理される仮想サーバ移行のタスクを模擬するための変更内容を、前記物理サーバ模擬テーブルへ適用し、
前記模擬した仮想サーバ移行のタスクの変更内容として、前記移行する仮想サーバ、移行元の物理サーバ、前記移行先の物理サーバ、及び前記抽出した仮想サーバの移行方式の情報を、前記管理サーバが備える仮想サーバ移行計画に格納することを特徴とする仮想サーバ移行計画方法。
【請求項２】
前記管理サーバは、
前記物理サーバ模擬テーブルに格納された負荷情報を参照し、
前記物理サーバの負荷が少ない時間帯を選択し、
前記選択した負荷が少ない時間帯を、仮想サーバ移行計画の開始予定時刻とすることを特徴とする、
請求項１記載の仮想サーバ移行計画作成方法。
【請求項３】
前記管理サーバは、
前記物理サーバを対象とした構成変更の対象サーバを探す条件式及び前記物理サーバの構成変更を模擬するために前記物理サーバ模擬テーブルに格納された情報に加える変更を記述した構成変更内容を管理する構成変更管理テーブルを備えることを特徴とする、
請求項１記載の仮想サーバ移行計画作成方法。
【請求項４】
前記管理サーバは、
前記構成変更管理テーブルで管理される前記物理サーバの構成変更を模擬するための構成変更内容を、前記物理サーバ模擬テーブルへ適用し、
前記模擬した物理サーバの構成変更内容として、構成変更の対象サーバ及び構成変更内容の作業の情報を、前記仮想サーバ移行計画に格納することを特徴とする請求項３記載の仮想サーバ移行計画方法。
【請求項５】
前記管理サーバは、仮想サーバ移行のタスクの変更内容及び前記物理サーバの構成変更を前記仮想サーバ移行計画へ格納した後に、
前記物理サーバ模擬テーブルを参照して、前記仮想サーバを移行先の物理サーバから移行元の物理サーバへ復帰可能かを判定し、
復帰が可能である場合、
前記タスク模擬テーブルで管理される仮想サーバ復帰のタスクを模擬するための変更内容を、前記物理サーバ模擬テーブルへ適用し、
前記模擬した仮想サーバ復帰のタスクの変更内容として、前記復帰する仮想サーバ、移行元の物理サーバ、前記移行先の物理サーバ、及び前記抽出した仮想サーバの移行方式の情報を、前記仮想サーバ移行計画に更に格納することを特徴とする請求項４記載の仮想サーバ移行計画方法。
【請求項６】
プロセッサと、メモリと、物理資源のリソースを管理して仮想資源に割り当てる第一の仮想化機構と、第一の仮想化機構上で稼働する複数の仮想サーバと、を備えた第一の物理サーバと、
プロセッサと、メモリと、物理資源のリソースを管理して仮想資源に割り当てる第二の仮想化機構を備えた第二の物理サーバと、
前記複数の物理サーバに接続された管理サーバと、を含む計算機システムであって、
前記管理サーバは、
前記物理サーバの構成情報及び前記物理サーバの負荷情報を前記物理サーバ毎に管理する物理サーバ管理テーブルと、
前記物理サーバ管理テーブルを複製した物理サーバ模擬テーブルと、
前記仮想サーバの構成情報、前記仮想サーバの負荷情報及び前記仮想サーバの許容停止時間を前記仮想サーバ毎に管理する仮想サーバ管理テーブルと、
仮想サーバ移行のタスクを模擬するために前記物理サーバ模擬テーブルに対して行う変更内容を管理するタスク模擬テーブルと、
前記仮想サーバの移行方式毎に前記仮想サーバの停止時間を管理する移行方式管理テーブルと、を備え、
前記管理サーバは、前記物理サーバの構成変更に伴う仮想サーバ移行計画の作成要求を受信すると、
前記構成変更の対象となる物理サーバ上で稼動する仮想サーバを特定し、
前記仮想サーバ管理テーブルを参照して、前記特定した仮想サーバの許容停止時間を取得し、
前記移行方式管理テーブルを参照して、前記取得した仮想サーバの許容停止時間よりも小さい停止時間である仮想サーバの移行方式を抽出し、
前記物理サーバ管理テーブル又は前記物理サーバ模擬テーブルを参照して、前記仮想サーバを移行可能な移行先の物理サーバを特定し、
前記タスク模擬テーブルで管理される仮想サーバ移行のタスクを模擬するための変更内容を、前記物理サーバ模擬テーブルへ適用し、
前記模擬した仮想サーバ移行のタスクの変更内容として、前記移行する仮想サーバ、移行元の物理サーバ、前記移行先の物理サーバ、及び前記抽出した仮想サーバの移行方式の情報を、前記管理サーバが備える仮想サーバ移行計画に格納することを特徴とする仮想サーバ移行計画作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理サーバ上で稼動する仮想サーバの管理に関する。
【背景技術】
【０００２】
情報システムにおいては、ソフトウェアのバージョンアップやハードウェアの故障に伴う部品交換、性能強化のためのリソース増設など、物理サーバの構成を変更する作業が定期的に発生する。一般に、構成変更を行うときは、物理サーバ上で稼働するＯＳやハイパーバイザなどのソフトウェアに構成変更を正しく認識させるため、物理サーバの電源停止と再起動が必要となる。そのため、構成変更を行う間は、システムが停止し利用できなくなる。
【０００３】
このときの停止時間を減らすため、物理サーバを仮想化し、マイグレーション機能によって仮想サーバを異なる物理サーバに移行する運用が行われる。具体的には、第一の物理サーバ上の全ての仮想サーバを第二の物理サーバへ移行し（仮想サーバ退避）、第一の物理サーバの構成変更作業と再起動を行い（構成変更）、仮想サーバを第一の物理サーバに再び移行して元の状態に戻す（仮想サーバ復帰）。仮想サーバを無停止で移行できるライブマイグレーション機能を移行時に用いれば、システムを無停止で構成変更できる。
【０００４】
物理サーバの構成変更が必要となった場合、システムの管理者は、物理サーバの構成変更と、それに伴う仮想サーバの移行を問題なく行うために、事前に移行計画を作成する。移行計画は、仮想サーバの移行元と移行先の物理サーバ、移行を実行する時間、構成変更作業の内容とその所要時間などを含む。
【０００５】
移行計画において考慮すべき重要な要素の一つが、移行元と移行先の物理サーバにおける仮想サーバ稼働の互換性である。例えば、移行元の物理サーバと移行先の物理サーバとの間でプロセッサの命令セットが異なっていると、移行先物理サーバ上で仮想サーバを稼働させることができず、移行に失敗する。一般に、仮想サーバの管理ソフトは、このような事態を防止するための、互換性検証機能を備えている。この互換性検証機能は、管理ソフトが移行元の物理サーバ及び移行先の物理サーバそれぞれの構成情報や負荷情報を収集し比較することで、両者の構成が一致していること、もしくは両者の構成が異なっていても仮想サーバの稼働には影響がないことや、移行先の物理サーバが仮想サーバを稼働できるだけの充分なリソースを有していること等、を確認する。
【０００６】
システムの管理者は、管理ソフトが出力する互換性の検証結果を参照することで、仮想サーバ移行の可否を確認できる。そして、その検証結果を仮想サーバの移行先の決定や移行計画の作成に役立てることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】ＷＯ０９／０３７９１５
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述した仮想サーバ退避・構成変更・仮想サーバ復帰の運用において、第一の物理サーバを構成変更したことで第二の物理サーバとの間で仮想サーバ稼働の互換性が失われた場合、仮想サーバを第一の物理サーバへ復帰することに失敗してしまう。移行計画を立てる際は、このような危険性を事前に洗い出しておく必要がある。
【０００９】
しかしながら、仮想サーバの管理ソフトは、現在稼働している物理サーバや仮想サーバの情報しか収集しないため、物理サーバの構成変更後の状態を事前に知ることができない。そのために、互換性検証機能は、物理サーバの構成変更が行われるときの移行計画作成には、利用できない。つまり、従来技術においては、物理サーバの構成変更後の状態を、管理ソフトが事前に収集できない点が課題である。
【００１０】
特許文献１では、管理サーバが、仮想サーバの一部が移行したときの物理サーバの負荷の変化を推定し、仮想サーバの再割り当て計画を作成している。しかし、仮想サーバ稼働の互換性を考慮していないため、物理サーバの構成が異なる場合の計画作成には、利用できない問題がある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明に係る仮想サーバ移行計画作成方法およびそのシステムは、複数の物理サーバと、前記物理サーバ上で稼動する仮想サーバと、前記複数の物理サーバに接続された管理サーバとを含む。そして、前記管理サーバは、前記物理サーバの構成情報及び前記物理サーバの負荷情報を前記物理サーバ毎に管理する物理サーバ管理テーブルと、前記物理サーバ管理テーブルを複製した物理サーバ模擬テーブルと、前記仮想サーバの構成情報、前記仮想サーバの負荷情報及び前記仮想サーバの許容停止時間を前記仮想サーバ毎に管理する仮想サーバ管理テーブルと、仮想サーバ移行のタスクを模擬するために前記物理サーバ模擬テーブルに対して行う変更内容を管理するタスク模擬テーブルと、前記仮想サーバの移行方式毎に前記仮想サーバの停止時間を管理する移行方式管理テーブルとを備える。そして、前記管理サーバは、前記物理サーバの構成変更に伴う仮想サーバ移行計画の作成要求を受信すると、前記構成変更の対象となる物理サーバ上で稼動する仮想サーバを特定し、前記仮想サーバ管理テーブルを参照して、前記特定した仮想サーバの許容停止時間を取得し、前記移行方式管理テーブルを参照して、前記取得した仮想サーバの許容停止時間よりも小さい停止時間である仮想サーバの移行方式を抽出し、前記物理サーバ管理テーブル又は前記物理サーバ模擬テーブルを参照して、前記仮想サーバを移行可能な移行先の物理サーバを特定し、前記タスク模擬テーブルで管理される仮想サーバ移行のタスクを模擬するための変更内容を、前記物理サーバ模擬テーブルへ適用し、前記模擬した仮想サーバ移行のタスクの変更内容として、前記移行する仮想サーバ、移行元の物理サーバ、前記移行先の物理サーバ、及び前記抽出した仮想サーバの移行方式の情報を、前記管理サーバが備える仮想サーバ移行計画に格納する。
【発明の効果】
【００１２】
本発明により、物理サーバの構成変更後の状態を管理ソフト内で模擬することで、稼働中のシステムに変更を加えることなく、仮想サーバ稼働の互換性を事前に検証することができる。これによって、物理サーバの構成変更が行われるときの仮想サーバの移行計画を、自動的に作成することができる。
【図面の簡単な説明】
【００１３】
【図１】仮想サーバ移行計画作成システムの構成の一例を示す図である。
【図２】物理サーバの詳細構成の一例を示す図である。
【図３】管理サーバの詳細構成の一例を示す図である。
【図４】物理サーバ管理テーブルの一例を示す図である。
【図５】物理サーバ模擬テーブルの一例を示す図である。
【図６】構成変更管理テーブルの一例を示す図である。
【図７】仮想サーバ管理テーブルの一例を示す図である。
【図８】タスク模擬テーブルの一例を示す図である。
【図９】移行方式管理テーブルの一例を示す図である。
【図１０】仮想サーバ移行計画の一例を示す図である。
【図１１Ａ】仮想サーバ移行計画作成の処理手順の一例を示すフローチャート（退避〜更新）である。
【図１１Ｂ】仮想サーバ移行計画作成の処理手順の一例を示すフローチャート（図１１Ａの続き〜復帰）である。
【図１２】物理サーバ模擬開始の処理手順の一例を示すフローチャートである。
【図１３】仮想サーバ移行模擬実行の処理手順の一例を示すフローチャートである。
【図１４】物理サーバ構成変更模擬実行の処理手順の一例を示すフローチャートである
【図１５】仮想サーバ移行実行時間決定の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
本発明を適用したシステムについて、図面を参照しながら説明する。本実施例では、第一の物理サーバと、第二の物理サーバと、管理サーバと、がネットワークにより接続されたシステム構成において、第一の物理サーバに対して構成変更が行われるときに第一の物理サーバ上で稼働する仮想サーバを移行する計画を管理サーバにおいて作成するシステムの構成、および、方法を示す。
【００１５】
図１は、仮想サーバ移行計画作成システムの構成の一例を示す図である。仮想サーバ移行計画作成システムは、第一の物理サーバ１００と、第二の物理サーバ１１０と、ネットワーク１２０と、管理サーバ１３０と、により構成される。第一の物理サーバ１００と第二の物理サーバ１１０と管理サーバ１３０はネットワーク１２０により相互に接続される。
【００１６】
第一の物理サーバ１００および第二の物理サーバ１１０では、それぞれ第一の仮想化機構１０１および第二の仮想化機構１１１が稼働している。また、第一の仮想化機構１０１では仮想サーバ１０２，１０３が稼働している。仮想サーバ移行計画の作成においては、仮想サーバ１０２，１０３の移行元を第一の物理サーバ１００とし、移行先を第二の物理サーバ１１０として、仮想サーバ１０２，１０３を移行する計画を作成する。ここで、第一の物理サーバ１００上で稼働する仮想サーバ１０２，１０３は一つ以上存在してよい。また、第二の物理サーバ１１０上では第一の物理サーバ１００と同様に１つ以上の仮想サーバが稼働していてもよい。
【００１７】
管理サーバ１３０は、サーバ情報収集プログラム１３１と、計画作成プログラム１３２と、サーバ模擬プログラム１３３と、互換性検証プログラム１３４と、移行先決定プログラム１３５と、実行時間決定プログラム１３６と、管理テーブル群１３７と、を備える。それぞれの詳細は図３を使い後述する。
【００１８】
図２は、物理サーバの構成の一例を示す図である。図１における第一の物理サーバ１００および第二の物理サーバ１１０に相当する。
【００１９】
物理サーバ１００は、プロセッサ２００、メモリ２０１、ネットワーク１２０などのネットワークに接続するネットワークアダプタ２０２、ハードディスクなどの記録媒体に接続するディスクアダプタ２０３、キーボードやディスプレイなどの入出力装置２０４により構成され、各構成要素が相互に接続された一般的な構成の物理サーバである。なお、ネットワークアダプタ２０２は複数存在してもよく、ネットワーク１３０以外のネットワークに接続してもよい。また、プロセッサ２００、ディスクアダプタ２０３、入出力装置２０４も複数存在してよい。
【００２０】
プロセッサ２００は、ディスクアダプタ２０３に接続された記録媒体から予めメモリ２０１に仮想化機構２１１、仮想サーバ２１２、アプリケーション２１３のプログラムを読み込み、実行することで、仮想化機構２１１、仮想サーバ２１２、アプリケーション２１３に記述された処理を実現する。
【００２１】
仮想化機構２１１は、物理サーバ１００が備えるプロセッサ２００、メモリ２０１などの物理的なリソースを管理し、仮想サーバ２１２に論理的に分割した物理的なリソースを割り当てる機能を備えたプログラムである。この機能により、仮想サーバ２１２を物理サーバ１００上で複数稼働することができる。
【００２２】
仮想サーバ２１２は、仮想化機構２１１から割り当てられたリソースを利用してアプリケーション２１３を実行する。ここで、仮想サーバ上で実行するアプリケーション２１３とは、例えばＬｉｎｕｘ（登録商標）やＷｉｎｄｏｗｓ（登録商標）などの一般的なＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍや仮想化機構のほか、情報システムが提供する任意のプログラムである。
【００２３】
図３は、管理サーバ１３０の詳細構成の一例を示す図である。物理サーバ１００と同様の構成であり、サーバ情報収集プログラム１３１と、計画作成プログラム１３２と、サーバ模擬プログラム１３３と、互換性検証プログラム１３４と、移行先決定プログラム１３５と、実行時間決定プログラム１３６と、物理サーバ管理テーブル３１０と、物理サーバ模擬テーブル３１１と、構成変更管理テーブル３１２と、仮想サーバ管理テーブル３１３と、タスク模擬テーブル３１４と、移行方式管理テーブル３１５と、仮想サーバ移行計画３１６と、をメモリ３０１に格納する。これらのプログラムおよびテーブルは、あらかじめ記録媒体に記録され、プロセッサ３００により記録媒体から読み出されたメモリ３０１に格納される。以降、各プログラムを守護として実行される処理を説明するが、実際にはプロセッサ３００がメモリ３０１から各プログラムを読み出し、各プログラムの処理を実行することを意味する。
【００２４】
サーバ情報収集プログラム１３１は、ネットワーク１２０を介して第一の物理サーバ１００および第二の物理サーバ１１０と接続し、第一の仮想化機構１０１と、第二の仮想化機構１１１と、仮想サーバ１０２，１０３と、の構成情報や負荷情報を収集し、それらの情報を物理サーバ管理テーブル３１０および仮想サーバ管理テーブル３１３に格納する。サーバ情報収集プログラム１３１は、情報の収集を定期的に実行し、物理サーバ管理テーブル３１０および仮想サーバ管理テーブル３１３に格納された情報を最新の値に継続的に更新する。ここで、構成情報とは、例えば仮想化機構１０１，１１１の種類およびバージョン、物理サーバ１００，１１０が備えるリソースの量、仮想化機構１０１，１１１が仮想サーバ１０２，１０３に割り当てたリソースの量などである。また、負荷情報とは、例えばある時刻において仮想サーバ１０２，１０３が実際に消費しているリソースの量を、時刻と関連付けた値である。
【００２５】
計画作成プログラム１３２は、物理サーバ１００に対して行われる構成変更の情報を受け取り、サーバ模擬プログラム１３３、互換性検証プログラム１３４、移行先決定プログラム１３５、実行時間決定プログラム１３６に対して仮想サーバ移行計画作成の開始を指示し、仮想サーバ移行計画３１６を作成する。
【００２６】
サーバ模擬プログラム１３３は、物理サーバ管理テーブル３１０の内容をコピーして物理サーバ模擬テーブル３１１を作成する。サーバ模擬プログラム１３３は、構成変更管理テーブル３１２に格納された情報に基づいて物理サーバ模擬テーブル３１１の内容を更新し、物理サーバ１００に対して行われる構成変更を模擬する。また、サーバ模擬プログラム１３３は、タスク模擬テーブル３１４に格納された情報に基づいて物理サーバ模擬テーブル３１１の内容を更新し、仮想サーバ１０２，１０３の第一の物理サーバ１００から第二の物理サーバ１１０への移行などの運用タスクを模擬する。
【００２７】
互換性検証プログラム１３４は、仮想サーバ１０２，１０３を、移行元である第一の物理サーバ１００から移行先である第二の物理サーバ１１０に移行する際に問題が発生するか否かを事前に検証するプログラムであり、第一の仮想化機構１０１および第二の仮想化機構１１１の管理ソフトウェアが備える一般的なプログラムである。互換性検証プログラム１３４は、物理サーバ管理テーブル３１０および仮想サーバ管理テーブル３１３を参照し、第一の物理サーバ１００の構成情報と第二の物理サーバ１１０の構成情報とを取得し、それぞれの構成情報を比較して構成に不一致がないか、不一致があるとしても仮想サーバ１０２，１０３を問題なく移行できるか否かを検証し、検証結果を出力する。
【００２８】
移行先決定プログラム１３５は、指定された任意の仮想サーバを移行可能な物理サーバを出力するプログラムであり、第一の仮想化機構１０１および第二の仮想化機構１１１の管理ソフトウェアが備える一般的なプログラムである。移行先決定プログラム１３５は、物理サーバ管理テーブル３１０を参照し、物理サーバ管理テーブル３１０に格納された全ての物理サーバの構成情報を取得し、それぞれの物理サーバに対して指定された仮想サーバを移行できるか否か、互換性検証プログラム１３４を利用して確認し、その結果を出力する。このとき、互換性検証プログラム１３４により移行可能と判断された物理サーバが複数存在した場合、物理サーバ管理テーブル３１０に格納された負荷情報を取得し、負荷が少ない優先度を付けて移行可能な物理サーバを出力してもよい。
【００２９】
実行時間決定プログラム１３６は、第一の物理サーバ１００上で稼働する仮想サーバ１０２，１０３を第二の物理サーバ１１０へ移行する場合に、移行処理を行う時刻を決定する。実行時間決定プログラム１３６は、物理サーバ管理テーブル３１０および仮想サーバ管理テーブル３１３を参照し、仮想サーバ１０２，１０３の時刻ごとの負荷と第二の物理サーバ１１０の時刻ごとの負荷を取得し、仮想サーバ１０２，１０３の負荷を第二の物理サーバ１１０の負荷に重ね合わせることで移行を模擬する。その後、重ね合わせたときの負荷が第二の物理サーバ１１０が備えるリソース量を超えない時刻を算出し、それを移行可能な時刻として出力する。
【００３０】
なお、管理サーバ１３０の構成は、図３に示した構成に限らず、図２で示したような、仮想化機構２１１によって仮想化された仮想サーバ２１２上で稼働する構成でもよい。この場合、管理サーバ１３０の各プログラムは、仮想サーバ２１２上で稼働するアプリケーション２１３に相当する。
【００３１】
図４は、物理サーバ管理テーブル３１０の一例を示す図である。なお、図４に記載の物理サーバ管理テーブル３１０のフォーマットは一例であって、図４に示したフォーマットに限定されるものではない。
【００３２】
物理サーバ管理テーブル３１０は、システムに存在する物理サーバ１００，１１０について、サーバ情報収集プログラム１３１が収集した情報を保持するテーブルである。物理サーバ管理テーブル３１０は、前記物理サーバを一意に識別する識別子（以下、ＩＤ）である物理サーバＩＤ４００と、前記物理サーバの構成情報４１０と、前記物理サーバの負荷情報４２０と、を格納する。
【００３３】
物理サーバ構成情報カラム４１０はサブカラムを備え、前記物理サーバの備えるリソース量や前記物理サーバ上で稼働するソフトウェア情報などを格納する。前記サブカラムは、前記物理サーバの仮想化機構の種別やバージョンを表す仮想化機構４１１、前記物理サーバ上で稼働する仮想サーバを表す仮想サーバＩＤ４１２、前記物理サーバが備えるプロセッサ２００の数を表すＣＰＵ数４１３、前記物理サーバが備えるメモリ２０１の量を表すメモリ量４１４、を格納する。なお、前記サブカラムには前記物理サーバのＩＰアドレスやディスク容量など、他の構成情報を格納してもよい。
【００３４】
物理サーバ負荷情報カラム４２０はサブカラムを備え、ある時刻において前記物理サーバが消費したリソースの量を関連付けて格納する。前記サブカラムは、前記物理サーバが消費したＣＰＵの量を表すＣＰＵ負荷４２２、前記物理サーバが使用したメモリの量を表すメモリ負荷４２３、ＣＰＵ負荷４２２やメモリ負荷４２３を測定した時刻４２１、を格納する。物理サーバ負荷情報カラム４２０は、時刻４２１と、前記時刻４２１におけるＣＰＵ負荷４２２やメモリ負荷４２３などの負荷情報の組み合わせを時刻ごとに複数格納する。これにより、システムの管理者は、過去の任意の時点での前記物理サーバが消費したリソースを参照する。なお、物理サーバ負荷情報カラム４２０には、前記時刻４２１におけるネットワークＩ／Ｏ負荷やディスクＩ／Ｏ負荷など、他の負荷情報を格納してもよい。
【００３５】
図５は、物理サーバ模擬テーブル３１１の一例を示す図である。なお、図５に記載の物理サーバ模擬テーブル３１１のフォーマットは一例であって、図５に示したフォーマットに限定されるものではない。
【００３６】
物理サーバ模擬テーブル３１１は、システムに存在する物理サーバ１００，１１０を対象に行われる構成変更や仮想サーバ移行を模擬するために、利用するテーブルである。物理サーバ模擬テーブル３１１は、物理サーバ管理テーブル３１０と同様のカラムを備え、物理サーバＩＤ５００、物理サーバ構成情報５１０、物理サーバ負荷情報５２０を格納する。物理サーバ構成情報５１０と物理サーバ負荷情報５２０がサブカラムを備える点も物理サーバ管理テーブル３１０と同様である。
【００３７】
物理サーバ模擬テーブル３１１は、サーバ模擬プログラム１３３が物理サーバ管理テーブル３１０を複製することで作成される。従って、物理サーバ模擬テーブル３１１は、サーバ模擬プログラム１３３により複製が行われた時点における、物理サーバ１００，１１０の構成情報と負荷情報とを格納する。物理サーバ管理テーブル３１０は、サーバ情報収集プログラム１３１により継続的に更新されるが、物理サーバ模擬テーブル３１１は、サーバ模擬プログラム１３３によってのみ更新される。物理サーバ模擬テーブル３１１に格納された値に改変を加えることで、物理サーバ１００，１１０を対象に行われた構成変更の様子を、管理サーバ１３０内で再現し、模擬することができる。このとき、物理サーバ管理テーブル３１０に格納された値には一切の改変を加えないため、物理サーバ管理テーブル３１０は模擬の影響を受けることなく、物理サーバ１００，１１０の最新の情報を保持し続ける。
【００３８】
なお、同様の模擬テーブルは、必要に応じてサーバ模擬プログラム１３３が管理テーブルを複製することで作成してよい。例えば、システムに存在する仮想サーバ１０２，１０３の模擬が必要である場合、仮想サーバ管理テーブル３１３を複製して仮想サーバ模擬テーブルを作ることができる。
【００３９】
図６は、構成変更管理テーブル３１２の一例を示す図である。なお、図６に記載の構成変更管理テーブル３１２のフォーマットは一例であって、図６に示したフォーマットに限定されるものではない。
【００４０】
構成変更管理テーブル３１２は、計画作成プログラム１３２が受信した構成変更の内容を、格納するテーブルである。構成変更管理テーブル３１２は、前記構成変更内容を一意に識別する構成変更ＩＤ６００と、構成変更の対象となる物理サーバを物理サーバ管理テーブル３１０から検索する条件を記述した対象サーバ検索条件６０１と、構成変更の実施にあたり物理サーバの停止が必要か否かを表したサーバ停止有無６０２と、構成変更の所要時間６０３と、構成変更内容６０４と、を格納する。
【００４１】
例えば、物理サーバ１００，１１０上で稼働する仮想化機構１０１，１１０のバージョンを、ＨＶ１からＨＶ２へバージョンアップする場合、対象サーバ検索条件カラム６０１には、物理サーバ管理テーブル３１０内で検索すべきカラムである物理サーバ構成情報４１０の仮想化機構カラム４１１の名前と、前記カラムに格納されている値がＨＶ１であるか否かを確かめる条件式を組み合わせ、Ｃｅｌｌ［Ｃｏｌｕｍｎ＝仮想化機構］＝＝ＨＶ１のように記述する。このとき、対象サーバ検索条件カラム６０１に記述する条件式は、値が一致することを表す等価演算子（＝＝）の他に、値の大小を表す大なり（＞）や小なり（＜）などの任意の比較演算子を用いて記述してもよい。加えて、対象サーバ検索条件カラム６０１に記述する検索条件が複数存在し、それらの条件を論理和や論理積を用いて結合した条件を記述してもよい。
【００４２】
また、物理サーバ１００，１１０上で稼働する仮想化機構１０１，１１０のバージョンを、ＨＶ１からＨＶ２へバージョンアップする場合、構成変更内容カラム６０４には、構成変更に伴い物理サーバ管理テーブル３１０内で値が変更されるカラムである物理サーバ構成情報４１０の仮想化機構カラム４１１の名前と、前記カラムにＨＶ２が代入されることを表す計算式を組み合わせ、Ｃｅｌｌ［Ｃｏｌｕｍｎ＝仮想化機構］＝ＨＶ２のように記述し、値を変更するセルを特定する。このとき、構成変更内容カラム６０４に記述する計算式は、値を代入することを表す代入演算子（＝）の他に、値の加算（＋＝）や減算（−＝）を表す任意の演算子を用いて記述してもよい。加えて、構成変更内容カラム６０４に記述する計算式は複数存在し、それらの計算式を物理サーバ管理テーブル３１０内の異なるセルに別個に適用してもよい。
【００４３】
図７は、仮想サーバ管理テーブル３１３の一例を示す図である。なお、図７に記載の仮想サーバ管理テーブル３１３のフォーマットは一例であって、図７に示したフォーマットに限定されるものではない。
【００４４】
仮想サーバ管理テーブル３１３は、システムに存在する仮想サーバ１０２，１０３について、サーバ情報収集プログラム１３１が収集した情報を保持するテーブルである。仮想サーバ管理テーブル３１３は、物理サーバ管理テーブル３１０と同様のカラムを備え、仮想サーバを一意に識別するＩＤ７００、仮想サーバ構成情報７１０、仮想サーバ負荷情報７２０を格納する。また、仮想サーバ１０２，１０３が保守や障害などで停止する際に許容できる停止時間を表す許容停止時間７３０を格納する。仮想サーバ構成情報７１０と仮想サーバ負荷情報７２０がサブカラム７１１ないし７２３を備える点も、物理サーバ管理テーブル３１０と同様である。
【００４５】
図８は、タスク模擬テーブル３１４の一例を示す図である。なお、図８に記載のタスク模擬テーブル３１４のフォーマットは一例であって、図８に示したフォーマットに限定されるものではない。
【００４６】
タスク模擬テーブル３１４は、物理サーバ模擬テーブル３１１によってシステムに存在する物理サーバ１００，１０１を模擬しているときに、仮想サーバ移行などの運用タスクを模擬するために利用するテーブルである。タスクを模擬するにあたり物理サーバ模擬テーブル３１１に対して行われる変更の内容が記述されている。タスク模擬テーブル３１４は、物理サーバ１００，１０１や仮想サーバ１０２，１０３を対象とするタスクを一意に識別するＩＤ８００と、模擬するタスクの詳細情報を格納したレコードを指すためのタスク情報ＩＤ８０１と、タスクの対象となる物理サーバなどを表すタスク入力８０２と、タスクを模擬するために物理サーバ模擬テーブル３１１に対して行われる変更内容を表すタスク出力８０３と、を格納する。
【００４７】
例として、任意の仮想サーバ一つを、仮想サーバが稼働する物理サーバから異なる物理サーバへと移行するタスクの場合、タスク情報ＩＤカラム８０１には移行の際の方式を特定するための方式ＩＤを格納する。移行方式のＩＤに関しては後述する。
【００４８】
また、タスク入力カラム８０２には仮想サーバ移行タスクの対象を特定するための入力として、移行対象の仮想サーバのＩＤと、移行元となる物理サーバのＩＤと、移行先となる物理サーバのＩＤと、の３点が必要であることを記述する。
【００４９】
また、タスク出力カラム８０３には、前記仮想サーバ移行タスクの実行に伴い物理サーバ模擬テーブル３１１内で値が変更されるセルと、前記セルに格納される値を表す計算式の組み合わせを、前記タスク入力を用いて記述する。前記仮想サーバ移行タスクの場合、仮想サーバを移行元物理サーバから移行先物理サーバへ移行すると、物理サーバ模擬テーブル３１１の仮想サーバカラム５１２において、移行元物理サーバを表すレコードのセルからは移行対象仮想サーバのＩＤが取り除かれ、移行先物理サーバを表すレコードのセルには移行対象仮想サーバのＩＤが加えられる。
【００５０】
このような変更を表すため、タスク出力カラム８０３には、Ｃｅｌｌ［Ｒｅｃｏｒｄ：物理サーバＩＤ＝移行元物理サーバＩＤ］［Ｃｏｌｕｍｎ：仮想サーバ］−＝移行対象仮想サーバＩＤや、Ｃｅｌｌ［Ｒｅｃｏｒｄ：物理サーバＩＤ＝移行先物理サーバＩＤ］［Ｃｏｌｕｍｎ：仮想サーバ］＋＝移行対象仮想サーバＩＤ、のように計算式を記述し、値を変更するセルを特定する。計算式に書かれた移行対象仮想サーバＩＤなどの文字列は、タスク入力に相当する。
【００５１】
このとき、タスク出力カラム８０３に記述する計算式は、構成変更管理テーブル３１２の構成変更内容カラム６０４と同様に、任意の演算子を用いて記述してよい。加えて、タスク出力カラム８０３に記述する計算式は複数存在し、それらの計算式を物理サーバ模擬テーブル３１１内の異なるセルに別個に適用してもよい。
【００５２】
なお、仮想サーバ移行タスクを模擬する場合、タスク出力カラム８０３に記述すべき計算式は図８に記述した計算式に限らない。仮想サーバの移行に伴い、移動元物理サーバのＣＰＵ負荷５２２やメモリ負荷５２３は、仮想サーバのＣＰＵ負荷７２２やメモリ負荷７２３の分だけ減少し、移動先物理サーバのＣＰＵ負荷２２やメモリ負荷５２３は増加する。このときは、仮想サーバのＣＰＵ負荷７２２やメモリ負荷７２３を、物理サーバのＣＰＵ数５１３およびメモリ量５１４と仮想サーバのＣＰＵ数７１２およびメモリ量７１３を用いて物理サーバのＣＰＵ負荷５２２やメモリ負荷５２３に換算し、移動元物理サーバからは減算、移動先物理サーバには加算する。
【００５３】
また、物理サーバ管理テーブル３１０の物理サーバ構成情報４１０および物理サーバ負荷情報４２０のサブカラムに他の情報が格納されている場合は、その情報に応じた計算式をタスク出力カラム８０３に記述する。このとき、タスク模擬テーブル３１４に格納する運用タスクは、仮想サーバの移行に限らず、仮想サーバの新規作成や削除、複製、構成変更なども登録して良い。
【００５４】
図９は、移行方式管理テーブル３１５の一例を示す図である。なお、図９に記載の移行方式管理テーブル３１５のフォーマットは一例であって、図９に示したフォーマットに限定されるものではない。
【００５５】
移行方式管理テーブル３１５は、仮想化機構１０１，１１１の管理ソフトウェアが備える複数種の仮想サーバ移行方式を管理するテーブルである。移行方式管理テーブル３１５は、仮想サーバ移行方式を一意に識別する方式ＩＤ９００と、方式の名前９０１と、その方式を利用したときの仮想サーバ移行開始から移行完了までに要する所要時間９０２と、その方式を利用したときの仮想サーバの停止時間９０３と、を格納する。
【００５６】
仮想サーバの移行方式としては、仮想サーバを停止させた後に移行させるコールドマイグレーションや、仮想サーバを稼働させたまま移行させるライブマイグレーションなどが挙げられる。一般に、コールドマイグレーションは移行元物理サーバでの仮想サーバ停止と移行先物理サーバでの仮想サーバ起動を伴うため、移行の所要時間および仮想サーバの停止時間の双方がライブマイグレーションよりも大きくなる。一方でライブマイグレーションは、コールドマイグレーションと比べると移行できる仮想サーバの構成に制限が付く傾向にある。仮想サーバを移行する際は、移行の所要時間や仮想サーバの停止時間、構成の制限などを鑑みて、利用する方式を選択する。
【００５７】
図１０は、仮想サーバ移行計画３１６の一例を示す図である。なお、図１０に示す仮想サーバ移行計画３１６のフォーマットは一例であって、図１０に示したフォーマットに限定されるものではない。
【００５８】
仮想サーバ移行計画３１６は、計画作成プログラム１３２が作成した移行計画であり、本発明の最終的な出力である。仮想サーバ移行計画３１６は、仮想サーバ移行や物理サーバ構成変更などのタスクを行う手順１０００と、各々のタスクを開始する予定時刻１００１と、タスクの名前１００２と、タスクの実行内容１００３を格納する。システムの管理者は、計画作成プログラム１３２が作成した仮想サーバ移行計画３１６を参照することで、物理サーバの構成変更および仮想サーバ移行の実作業を行うことができる。
【００５９】
次に、実施例において、仮想サーバ移行計画３１６を作成する処理の手順を、図１のように第一の物理サーバ１００と、第二の物理サーバ１１０と、管理サーバ１３０がネットワーク１２０を介して接続され、第一の物理サーバ１００上で仮想サーバ１０２，１０３が稼働する環境において、第一の仮想化機構１０１をＨＶ１からＨＶ２に更新する場合を例にとって説明する。第一の仮想化機構１０１を更新するにあたり、第一の物理サーバ１００の再起動が必要な場合、次のような移行計画を作成する。第一に、仮想サーバ１０２，１０３を第二の物理サーバ１１０へ移行し第一の物理サーバ１００から退避する。第二に、第一の物理サーバ１００上の第一の仮想化機構１０１の更新作業を行う。第三に、仮想サーバ１０２，１０３を第二の物理サーバ１１０から移行し、第一の物理サーバ１００へ復帰する。以下、この時の仮想サーバ移行計画３１６の作成手順をフローチャートに基づいて説明する。
【００６０】
図１１Ａおよび図１１Ｂは、仮想サーバ移行計画を作成する処理の手順の一例を示すフローチャートである。図１１Ａでは、仮想サーバ１０２，１０３を第一の物理サーバ１００から退避し、第一の物理サーバ１００の更新作業を行うまでの処理を説明する。図１１Ｂでは、図１１Ａで示した処理に続き、仮想サーバ１０２，１０３を第一の物理サーバ１００に復帰する処理を説明する。
【００６１】
本処理は例えば、システムの管理者が管理サーバ１３０の計画作成プログラム１３２に対し、物理サーバ１００に対して構成変更が行われるときの仮想サーバ移行計画の作成要求を送信することを契機に実行される。このとき、前記要求の送信者は、構成変更の対象となる物理サーバを検索するための条件と、構成変更時の物理サーバの停止の有無と、構成変更作業の所要時間と、構成変更の内容と、を計画作成プログラム１３２に対して送信する。なお、本処理を実行する契機は、システム管理者からの要求に限らず、任意のプログラムからの前記要求の送信であってもよい。例えば、物理サーバ１００，１１０や、仮想化機構１０１，１１１や、物理サーバ１００，１０１が備える部品２００，２０１，２０２，２０３，２０４や、仮想サーバ１０２，１０３上で稼働するアプリケーション２１３、の開発元から送信されるバージョンアップ等の更新要求である。
【００６２】
ステップ１１０１において、管理サーバ１３０の計画作成プログラム１３２は、仮想サーバ移行計画作成要求と、構成変更の対象となる物理サーバを検索するための条件と、構成変更時の物理サーバの停止の有無と、構成変更作業の所要時間と、構成変更の内容と、を受信する。続いて、計画作成プログラム１３２は、構成変更管理テーブル３１２にレコードを一つ挿入し、対象サーバ検索条件カラム６０１に前記条件を、サーバ停止有無カラム６０２に前記物理サーバの停止の有無を、所要時間カラム６０３に前記所要時間を、構成変更内容カラム６０４に前記構成変更の内容を、格納する。また、前記レコードを一意に識別するための識別子を生成し、構成変更ＩＤカラム６００に格納する。
【００６３】
ステップ１１０２において、計画作成プログラム１３２は、構成変更管理テーブル３１２を参照し、ステップ１１０１で挿入したレコードのサーバ停止有無カラム６０２のセルに格納された値を取得する。前記値が無だった場合、仮想サーバ１０２，１０３は物理サーバ１００の構成変更作業の間も稼働し続けることができ、仮想サーバ移行計画を作成する必要が無いため、本処理を終了する。前記値が有だった場合、仮想サーバ移行計画の作成処理を継続する必要があるため、次のステップ１１０３を実行する。
【００６４】
ステップ１１０３において、計画作成プログラム１３２は、構成変更管理テーブル３１２を参照し、ステップ１１０１で挿入したレコードの対象サーバ検索条件カラム６０１のセルに格納された値を取得する。続いて、計画作成プログラム１３２は、物理サーバ模擬テーブル３１１を検索し、前記値に含まれるサーバ検索条件に合致する全てのレコードを抽出し、それぞれのレコードの物理サーバＩＤカラム５００から物理サーバのＩＤを取得する。これにより、構成変更の対象となる全ての物理サーバを抽出する。このとき物理サーバのＩＤは複数取得してよい。また、物理サーバＩＤを取得しなかった場合は、構成変更の対象となる物理サーバが存在しないことを意味するため、本処理を終了する。
【００６５】
図５と図６の例において、構成変更管理テーブル３１２の構成変更ＩＤ６００がC1であるレコードが、ステップ１１０１で挿入されたレコードであるとする。このときの対象サーバ検索条件６０１は、Ｃｅｌｌ［Ｃｏｌｕｍｎ＝仮想化機構］＝＝ＨＶ１であり、これは物理サーバ模擬テーブル３１１の仮想化機構カラム５１１のセルに格納された値がＨＶ１である物理サーバを対象とすることを表す。計画作成プログラム１３２は、前記仮想化機構カラム５１１を検索して、セルに格納された値がＨＶ１であるレコードの物理サーバＩＤカラム５００から物理サーバのＩＤを取得する。この例においては、Ｓ１である。
【００６６】
ステップ１１０４において、計画作成プログラム１３２は、サーバ模擬プログラム１３３に対して物理サーバ模擬開始の要求を送信する。サーバ模擬プログラム１３３は、前記要求を受信すると物理サーバ管理テーブル３１０を複製して物理サーバ模擬テーブル３１１を作成し、物理サーバの模擬を開始する。このときの詳細な処理は図１２を用いて後述する。
【００６７】
ステップ１１０５Ａにおいて、計画作成プログラム１３２は、ステップ１１０２で抽出した物理サーバＩＤの中から一つを選択する。以下、計画作成プログラム１３２は、ステップ１１０２で取得した一つ以上の物理サーバＩＤを一つずつ選択しながら、ステップ１１０６Ａからステップ１１１８までの処理を繰り返し実施する。
【００６８】
ステップ１１０５Ｂにおいては、ステップ１１０２で取得した物理サーバＩＤの中からまだ選択されていない物理サーバＩＤを一つ選択し、ステップ１１０６Ａ以降を実施する。全ての物理サーバＩＤを選択し終わった場合は、次にステップ１１１９を実施する。
【００６９】
ステップ１１０６Ａにおいて、計画作成プログラム１３２は、物理サーバ模擬テーブル３１１を参照し、物理サーバＩＤカラム５００の中から、直前のステップで選択された物理サーバＩＤを検索し、そのレコードを得る。その後、計画作成プログラム１３２は、取得した前記レコードの仮想サーバカラム５１２のセルに格納された仮想サーバＩＤを取得する。これにより、選択された前記物理サーバ上で稼働する全ての仮想サーバのＩＤを得られる。
【００７０】
以下、計画作成プログラム１３２は、本ステップで取得した仮想サーバＩＤを一つずつ選択しながら、ステップ１１０７からステップ１１０９までの処理を繰り返し実施する。なお、仮想サーバＩＤを取得しなかった場合は、選択された前記物理サーバ上で稼働する仮想サーバが存在しないことを意味するため、ステップ１１０７からステップ１１０９までの処理は行わずにステップ１１１０を実施する。ステップ１１０６Ｂにおいては、本ステップで取得した仮想サーバＩＤの中からまだ選択されていない仮想サーバＩＤを一つ選択し、ステップ１１０７以降の処理を実施する。全ての仮想サーバＩＤを選択し終わった場合は、次にステップ１１１０を実施する。
【００７１】
例においては、物理サーバＩＤがＳ１であるレコードの仮想サーバカラム５１２からは、仮想サーバのＩＤとしてＶＭ１とＶＭ２が得られる。従ってステップ１１０７からステップ１１０９までの処理は、それぞれＶＭ１とＶＭ２を対象とし、二回繰り返される。
【００７２】
ステップ１１０７において、計画作成プログラム１３２は、仮想サーバ管理テーブル３１３を参照し、仮想サーバＩＤカラム７００の中から、ステップ１１０６で選択された仮想サーバＩＤを検索し、そのレコードを得る。その後、計画作成プログラム１３２は、取得した前記レコードの許容停止時間カラム７３０のセルに格納された仮想サーバ許容停止時間を取得する。続いて、計画作成プログラム１３２は、移行方式管理テーブル３１５の仮想サーバ停止時間カラム９０３を検索し、セルに格納された仮想サーバ停止時間が前記仮想サーバ許容停止時間よりも小さなレコードを抽出する。
【００７３】
レコードを一つ以上抽出した場合は、それぞれのレコードの仮想サーバ停止時間カラム９０３を参照し、セルに格納された仮想サーバ停止時間が最も小さなレコードを選択し、前記レコードの方式ＩＤカラム９００から方式ＩＤを抽出してステップ１１０８を実施する。
【００７４】
また、レコードを抽出できなかった場合は、仮想サーバの許容停止時間を満たしながら物理サーバの構成変更を実施する方法が無いことを意味するため、ステップ１１１２を実施しエラーを出力して終了する。
【００７５】
例においては、仮想サーバ管理テーブル３１３の許容停止時間カラム１３０の値は、ＶＭ１の場合は１秒、ＶＭ２の場合は１０分である。それぞれの値を元に移行方式管理テーブル３１５の仮想サーバ停止時間カラム９０３を検索すると、ＶＭ１の場合はＭ２のライブマイグレーション、ＶＭ２の場合はＭ１のコールドマイグレーションとＭ２のライブマイグレーションが条件を満たすことが分かる。ＶＭ２の場合はＭ２のライブマイグレーションの方が仮想サーバ停止時間９０３は小さいため、方式ＩＤとしてはＭ２を選択してステップ１１０８へ進む。
【００７６】
ステップ１１０８において、計画作成プログラム１３２は、移行先決定プログラム１３５に対し、移行先決定要求と、ステップ１１０６で選択された仮想サーバＩＤと、物理サーバ模擬テーブル３１１と、を送信する。前述したように、移行先決定プログラム１３５は、物理サーバ管理テーブル３１０の内容を参照し、指定された仮想サーバを移行可能な物理サーバを出力するプログラムである。ステップ１１０８では、移行先決定プログラム１３５は、物理サーバ管理テーブル３１０の代わりに物理サーバ模擬テーブル３１１を参照し、前記仮想サーバＩＤを持つ仮想サーバを移行可能な物理サーバＩＤを計画作成プログラム１３２に返信する。
【００７７】
移行可能な物理サーバＩＤが一つ以上得られた場合、その中から物理サーバＩＤを一つ選択し、ステップ１１０９を実施する。このとき、物理サーバＩＤを選択する方法は、システム管理者が任意で一つを選択してもよいし、移行先決定プログラム１３５が出力する優先度に基づいて選択してもよい。
【００７８】
移行可能な物理サーバＩＤが得られなかった場合、ステップ１１０７へ戻り、異なる移行方式を選択した後に、再びステップ１１０８を実行する。このとき、ステップ１１０７において、ステップ１１０６で選択された仮想サーバの許容停止時間を満たす移行方式が存在しなかった場合は、ステップ１１１２を実施しエラーを出力して終了する。
【００７９】
例においては、仮想サーバＶＭ１およびＶＭ２の移行先としては、物理サーバＳ２が得られたとする。
【００８０】
ステップ１１０９において、計画作成プログラム１３２は、サーバ模擬プログラム１３３に対して、仮想サーバ移行タスク模擬実行の要求と、タスク模擬テーブル３１４のタスクＩＤカラム８００に格納された仮想サーバ移行タスクのＩＤと、を送信する。また、仮想サーバ移行タスクの入力値として、移行対象仮想サーバはステップ１１０６で選択された仮想サーバのＩＤを、移行元物理サーバはステップ１１０５で選択された物理サーバのＩＤを、移行先物理サーバはステップ１１０８で得られた物理サーバのＩＤを、それぞれ送信する。サーバ模擬プログラム１３３は、前記要求および前記入力を受信すると、タスク模擬テーブル３１４を参照し、仮想サーバ移行タスクの模擬を開始する。このときの詳細な処理は図１３を用いて後述する。
【００８１】
ステップ１１０６Ｂにおいて、ステップ１１０６Ａで抽出した仮想サーバＩＤのうち、まだ処理を行っていない仮想サーバＩＤを選択し、ステップ１１０７以降の処理を再度実施する。このとき、物理サーバ模擬テーブル３１１はステップ１１０９において更新されているため、ステップ１１０８における移行先決定は、物理サーバ模擬テーブル３１１が更新された状態、すなわち仮想サーバの移行を模擬した状態で実施する。
【００８２】
ステップ１１１０において、計画作成プログラム１３２は、サーバ模擬プログラム１３３に対して、物理サーバ構成変更模擬実行の要求と、ステップ１１０１で構成変更管理テーブル３１２に挿入したレコードの構成変更ＩＤカラム６００に格納された構成変更ＩＤと、を送信する。サーバ模擬プログラム１３３は、前記要求および前記入力を受信すると、構成変更管理テーブル３１２を参照し、物理サーバ構成変更の模擬を開始する。このときの処理は仮想サーバ移行の模擬に準じ、図１４を用いて後述する。
【００８３】
ステップ１１１１において、計画作成プログラム１３２は、ステップ１１０９およびステップ１１１０で模擬を実施した回数と等しい個数のレコードを、仮想サーバ移行計画３１６に挿入し、模擬を実施した順番に手順カラム１０００と、タスクカラム１００２と、実行内容カラム１００３に値を格納する。このとき開始予定時刻カラム１００１は空白のままとする。模擬として仮想サーバ移行を行った場合、タスクカラム１００２にはタスク模擬テーブル３１４のタスクＩＤカラム８００に格納された仮想サーバ移行タスクのタスクＩＤを、実行内容カラム１００３には移行対象仮想サーバと、移行元物理サーバと、移行先物理サーバのＩＤと、移行の方式ＩＤと、を格納する。模擬として物理サーバ構成変更を行った場合は、タスクカラム１００２に構成変更管理テーブル３１２の構成変更ＩＤカラム６００に格納された構成変更ＩＤを、実行内容カラム１００３に構成変更管理テーブル３１２の構成変更内容カラム６０４に格納された情報を格納する。どちらの場合も、手順カラム１０００には１から開始される連番の数値を格納する。
【００８４】
例として、物理サーバＳ１上の仮想サーバＶＭ１，ＶＭ２を物理サーバＳ２上に移行し、その後に物理サーバＳ１の仮想化機構をＨＶ１からＨＶ２に更新するときの移行計画は、図１０における手順１から３に相当する。
【００８５】
ステップ１１１２において、計画作成プログラム１３２は、仮想サーバの許容停止時間を満たしながら物理サーバの構成変更を実施する方法が無い旨をエラー出力し、本処理を終了する。エラーの内容には、対象の仮想サーバのＩＤと、ステップ１１１２を実施する時点での物理サーバ模擬テーブル３１１の内容を含む。このとき、エラーの出力先は、管理サーバ１３０内のログファイルや、システム管理者向けのメッセージ画面表示など、任意の出力先でよい。
【００８６】
ステップ１１１３は、ステップ１１１１において仮想サーバ移行計画３１６を更新した後に実施する。本ステップ以降の処理の詳細は、図１１Ｂを用いて説明する。
【００８７】
ステップ１１１４Ａにおいて、計画作成プログラム１３２は、ステップ１１０６で取得した仮想サーバＩＤを全て取得する。この仮想サーバＩＤは、ステップ１１０６からステップ１１０９までの処理で、ステップ１１０５で選択した物理サーバから異なる物理サーバに移行した全ての仮想サーバのＩＤである。
【００８８】
以下、計画作成プログラム１３２は、本ステップで取得した仮想サーバＩＤを一つずつ選択しながら、ステップ１１１５からステップ１１１７までの処理を繰り返し実施する。なお、仮想サーバＩＤを取得しなかった場合には、ステップ１１１５からステップ１１１７までの処理は行わずにステップ１１１８を実施する。ステップ１１１４Ｂにおいては、本ステップで取得した仮想サーバＩＤの中からまだ選択されていない仮想サーバＩＤを一つ選択し、ステップ１１１５以降の処理を実施する。全ての仮想サーバＩＤを選択し終わった場合は、次にステップ１１１８を実施する。
【００８９】
例においては、物理サーバＳ１上で稼動していた仮想サーバＶＭ１とＶＭ２の仮想サーバＩＤが得られる。これら二つの仮想サーバＶＭ１，ＶＭ２は、物理サーバＳ１から物理サーバＳ２上へ移行している。
【００９０】
ステップ１１１５において、計画作成プログラム１３２は、ステップ１１０７と同様に仮想サーバ管理テーブル３１３を参照し、ステップ１１１４で選択された前記仮想サーバの許容停止時間を取得する。続いて、計画作成プログラム１３２は、ステップ１１０７と同様に移行方式管理テーブル３１５を参照し、仮想サーバ停止時間が前記仮想サーバ許容停止時間よりも小さな移行方式のレコードを抽出する。レコードを一つ以上抽出した場合は、仮想サーバ停止時間がもっとも小さなレコードを選択し、方式ＩＤカラム９００から方式ＩＤを取得する点もステップ１１０７と同様である。
【００９１】
また、レコードを抽出できなかった場合は、仮想サーバの許容停止時間を満たしながら仮想サーバを移行する方法が無いことを意味するため、ステップ１１２０を実施しエラーを出力して終了する。
【００９２】
ステップ１１１６において、計画作成プログラム１３２は、互換性検証プログラム１３４に対し、互換性検証要求と、ステップ１１１４で選択された仮想サーバＩＤと、ステップ１１０５で選択された物理サーバＩＤと、物理サーバ模擬テーブル３１１と、を送信する。前述したように、互換性検証プログラム１３４は、物理サーバ管理テーブル３１０の内容を参照し、指定された仮想サーバを指定された物理サーバに移行する際に、両者の間の互換性を検証し、移行に問題が発生するか否かを検証するプログラムである。ステップ１１１６では、互換性検証プログラム１３４は、物理サーバ管理テーブル３１０の代わりに物理サーバ模擬テーブル３１１を参照し、前記仮想サーバＩＤを持つ仮想サーバを、前記物理サーバＩＤを持つ物理サーバへ移行できるか否かを、計画作成プログラム１３２に返信する。このとき指定する物理サーバＩＤは、ステップ１１０５で選択した物理サーバＩＤであり、これは指定した前記仮想サーバがステップ１１０９で移行する以前に稼動していた物理サーバのＩＤに相当する。すなわち、本ステップは、前記仮想サーバが元々稼動していた物理サーバに復帰することができるか否かを確認するステップである。
【００９３】
移行可能であった場合、続いてステップ１１１７を実施する。
【００９４】
移行不可能であった場合、ステップ１１１５へ戻り、異なる移行方式を選択した後に、再びステップ１１１６を実施する。このとき、ステップ１１１５において、ステップ１１１４で選択された前記仮想サーバの許容停止時間を満たす移行方式が存在しなかった場合は、ステップ１１２０を実施しエラーを出力して終了する。
【００９５】
例においては、物理サーバＳ２上の仮想サーバＶＭ１およびＶＭ２を、ＶＭ１およびＶＭ２が以前稼動していた物理サーバＳ１に移行できるか否かを確認する。このとき、物理サーバＳ１はステップ１１１０で構成変更されているため、ステップ１１０９と同様の移行方式で移行できるとは限らず、移行不可能の結果が得られる可能性もある。このように、管理サーバ１３０で仮想サーバの移行と物理サーバの構成変更を模擬することで、構成に変更があった物理サーバに対する仮想サーバの移行の可否を事前に確認することができる。
【００９６】
ステップ１１１７において、計画作成プログラム１３２は、ステップ１１０９と同様にサーバ模擬プログラム１３３に対して、仮想サーバ移行タスク模擬実行の要求と、タスク模擬テーブル３１４のタスクＩＤカラム８００に格納された仮想サーバ移行タスクのＩＤと、を送信する。また、仮想サーバ移行タスクの入力値として、移行対象仮想サーバはステップ１１１４で選択された仮想サーバのＩＤを、移行元物理サーバはステップ１１０９で移行先物理サーバＩＤとして指定された物理サーバのＩＤを、移行先物理サーバとしてステップ１１０５で選択された物理サーバのＩＤを、それぞれ送信する。以降の処理はステップ１１０９と同様である。
【００９７】
ステップ１１１４Ｂにおいて、ステップ１１１４Ａで抽出した仮想サーバＩＤのうち、まだ処理を行っていない仮想サーバＩＤを選択し、ステップ１１１５以降の処理を再度実施する。このとき、物理サーバ模擬テーブル３１１はステップ１１１７において更新されているため、ステップ１１１６における移行可否の確認は、物理サーバ模擬テーブル３１１が更新された状態、すなわち仮想サーバの移行を模擬した状態で実施する。
【００９８】
ステップ１１１８において、計画作成プログラム１３２は、ステップ１１１７で模擬を実施した回数と等しい個数のレコードを、仮想サーバ移行計画３１６に挿入し、模擬を実施した順番に手順カラム１０００と、タスクカラム１００２と、実行内容カラム１００３に値を格納する。このとき開始予定時刻カラム１００１は空白のままとする。詳細はステップ１１１１と同様である。
【００９９】
例として、物理サーバＳ２上の仮想サーバＶＭ１，ＶＭ２を物理サーバＳ１上に復帰するときの移行計画は、図１０における手順４から５に相当する。
【０１００】
ステップ１１０５Ｂにおいて、ステップ１１０５Ａで抽出した物理サーバのうち、まだ処理を行っていない物理サーバを選択し、ステップ１１０６以降の処理を再度実施する。このとき、物理サーバ模擬テーブル３１１は事前の処理で更新されているため、ステップ１１０６以降の移行先決定処理などは物理サーバ模擬テーブル３１１が更新された状態、すなわち物理サーバの構成変更を模擬した状態で実施する。
【０１０１】
ステップ１１１９において、計画作成プログラム１３２は、実行時間決定プログラム１３６に対して、実行時間決定要求と、仮想サーバ移行計画３１６と、を送信する。実行時間決定プログラム１３６は、仮想サーバ移行計画３１６内に記述された物理サーバおよび仮想サーバの負荷情報を元に、仮想サーバ移行計画３１６の各手順を実行する時間を決定し、空白のままである仮想サーバ移行計画３１６の開始予定時刻カラム１００１に前記時間を格納する。このときの詳細な処理手順は図１５を用いて後述する。
【０１０２】
ステップ１１２０において、計画作成プログラム１３２は、仮想サーバの許容停止時間を満たしながら仮想サーバを移行する方法が無い旨をエラー出力し、本処理を終了する。エラーの内容の詳細については、ステップ１１１２に記載の内容と同様である。
【０１０３】
以上の処理により、仮想サーバ移行計画３１６を作成することができる。以下、図１２、図１３、図１４を用いて、それぞれステップ１１０４、ステップ１１０９、ステップ１１１０における物理サーバ模擬テーブル３１１の更新処理について説明する。また、図１５を用いて、ステップ１１１９における実行時間決定処理について説明する。
【０１０４】
図１２は、ステップ１１０４において物理サーバ模擬を開始する処理の手順の一例を示すフローチャートである。
【０１０５】
ステップ１２０１において、サーバ模擬プログラム１３３は、計画作成プログラム１３２送信した物理サーバ模擬開始要求を受信する。これにより物理サーバ模擬の開始処理を開始する。
【０１０６】
ステップ１２０２において、サーバ模擬プログラム１３３は、サーバ情報収集プログラム１３１に対し、サーバ情報更新要求を送信する。サーバ情報収集プログラム１３１は、サーバ情報更新要求を受信すると、ネットワーク１２０を介して第一の仮想化機構１０１および第二の仮想化機構１１１に接続し、前記仮想化機構１０１，１１１が稼動する第一の物理サーバ１００および第二の物理サーバ１１０や、前記仮想化機構１０１，１１１上で稼動する仮想サーバ１０２，１０３の構成情報および負荷情報を収集する。続いて、サーバ情報収集プログラム１３１は、収集した前記物理サーバ１００，１１０の情報を物理サーバ管理テーブル３１０に格納し、収集した前記仮想サーバ１０２，１０３の情報を仮想サーバ管理テーブル３１３に格納する。これにより、管理サーバ１３０が有する物理サーバ１００，１１０や仮想サーバ１０２，１０３の情報を最新の情報に更新する。
【０１０７】
ステップ１２０３において、サーバ模擬プログラム１３３は、物理サーバ管理テーブル３１０を複製し物理サーバ模擬テーブル３１１を作成する。作成された前記物理サーバ模擬テーブル３１１のカラムの構成や、レコードに格納された値は、ステップ１２０２で更新した物理サーバ管理テーブル３１０の構成や値と同一とする。これにより、管理サーバ１３０内でステップ１２０２の時点の物理サーバ１００，１１０の状態を再現する。以降の仮想サーバ移行計画作成処理においては、サーバ模擬プログラム１３３が物理サーバ模擬テーブル３１１に格納された値を変更することで、物理サーバ１００，１１０に対して行われる構成変更作業や、仮想サーバ１０２，１０３に対して行われる仮想サーバ移行などの処理を模擬する。物理サーバ模擬テーブル３１１を利用することで、稼動中の物理サーバ１００，１１０や仮想サーバ１０２，１０３に影響を与えることなく、前記模擬を行うことができる。なお、仮想サーバ移行計画作成処理を実施している間もサーバ情報収集プログラム１３１は定期的に物理サーバ１００，１１０および仮想サーバ１０２，１０３の情報を収集し、物理サーバ管理テーブル３１０および仮想サーバ管理テーブル３１３に格納された値を更新し続けるが、物理サーバ模擬テーブル３１１に格納された値は更新しない。
【０１０８】
サーバ模擬プログラム１３３は、最後に計画作成プログラム１３２に対して処理の終了を送信して、本処理を終了する。
【０１０９】
図１３は、ステップ１１０９において仮想サーバの移行の模擬を実行する処理の手順の一例を示すフローチャートである。ここでは、物理サーバＳ１上の仮想サーバＶＭ１を物理サーバＳ２上に移行する処理を例にとって説明する。
【０１１０】
ステップ１３０１において、サーバ模擬プログラム１３３は、計画作成プログラム１３２から、タスク模擬実行の要求と、仮想サーバ移行タスクのＩＤを受信する。また、タスクの入力値として、移行対象の仮想サーバのＩＤと、移行元物理サーバのＩＤと、移行先物理サーバのＩＤと、を受信する。
【０１１１】
例においては、仮想サーバ移行タスクのＩＤとしてＴ１を、タスクの入力値としてＶＭ１，Ｓ１，Ｓ２を受信する。
【０１１２】
ステップ１３０２において、サーバ模擬プログラム１３３は、タスク模擬テーブル３１４を参照し、タスクＩＤカラム８００を検索して、ステップ１３０１で受信したタスクＩＤと一致する値を格納したレコードを取得する。続いて、サーバ模擬プログラム１３３は、取得した前記レコードのタスク入力カラム８０２のセルに格納された値を取得し、取得した前記値にステップ１３０１で計画作成プログラム１３２より受信した入力値を代入する。
【０１１３】
例においては、図８にあるようにタスク入力値として移行対象化サーバＩＤ，移行元物理サーバＩＤ，移行先物理サーバＩＤを取得し、それぞれにステップ１３０１で受信したＶＭ１，Ｓ１，Ｓ２を代入する。
【０１１４】
ステップ１３０３において、サーバ模擬プログラム１３３は、取得した前記レコードのタスク出力カラム８０３のセルに格納された計算式を取得し、前記計算式に記述されたタスク入力の文字列を、ステップ１３０２で代入した値に置き換える。続いて、サーバ模擬プログラム１３３は、物理サーバ模擬テーブル３１１を前記計算式を用いて検索し、値を変更するセルを特定する。セルの特定後、サーバ模擬プログラム１３３は、前記計算式を用いて特定した前記セルの値を更新する。取得した前記レコードのタスク出力カラム８０３のセルに複数の計算式が格納されていた場合は物理サーバ模擬テーブル３１１に対してそれぞれの計算式を順に適用する。
【０１１５】
例においては、図８に書かれた計算式はＣｅｌｌ［Ｒｅｃｏｒｄ：物理サーバＩＤ＝Ｓ１］［Ｃｏｌｕｍｎ：仮想サーバ］−＝ＶＭ１や、Ｃｅｌｌ［Ｒｅｃｏｒｄ：物理サーバＩＤ＝Ｓ２］［Ｃｏｌｕｍｎ：仮想サーバ］＋＝ＶＭ１、のように置き換えられる。一つ目の計算式を用いると、物理サーバ模擬テーブル３１１における物理サーバＩＤがＳ１であるレコードの仮想サーバＩＤカラムが値を更新するセルであり、そのセルから移行対象仮想サーバのＩＤであるＶＭ１を削除することが値の更新内容となることが分かる。二つ目の計算式では、物理サーバＩＤがＳ２であるレコードの仮想サーバＩＤカラムに対して、ＶＭ１を追加することが分かる。
【０１１６】
以上の処理により、管理サーバ１３０内で仮想サーバ移行の模擬を行える。サーバ模擬プログラム１３３は、最後に計画作成プログラム１３２に対して処理の終了を送信して、本処理を終了する。
【０１１７】
図１４は、ステップ１１１０において物理サーバの構成変更の模擬を実行する処理の手順の一例を示すフローチャートである。仮想化機構としてＨＶ１を稼動させている物理サーバの仮想化機構のバージョンをＨＶ１からＨＶ２に更新する作業を例にとって説明する。
【０１１８】
ステップ１４０１において、サーバ模擬プログラム１３３は、計画作成プログラム１３２から、物理サーバ構成変更模擬実行の要求と、構成変更管理テーブル３１２の構成変更のＩＤを受信する。続いて、サーバ模擬プログラム１３３は、構成変更管理テーブル３１２を参照し、構成変更ＩＤカラム６００を検索して、受信した受信した構成変更ＩＤと一致する値を格納したレコードを取得する。
【０１１９】
例においては、仮想化機構のバージョンを更新する構成変更作業のＩＤとしてＣ１を受信する。また、図６の構成変更管理テーブル３１２を検索して、構成変更ＩＤカラム６００がＣ１であるレコードを取得する。
【０１２０】
ステップ１４０２において、サーバ模擬プログラム１３３は、ステップ１４０１で取得した構成変更管理テーブル３１２のレコードの対象サーバ検索条件カラム６０１を参照し、セルに格納された検索条件を取得する。続いて、サーバ模擬プログラム１３３は、物理サーバ模擬テーブル３１１を前記検索条件を用いて検索し、前記検索条件に合致するレコードを全て取得する。
【０１２１】
例においては、検索条件として図６に記述したＣｅｌｌ［Ｃｏｌｕｍｎ＝仮想化機構］＝＝ＨＶ１を取得する。この検索条件は、仮想化機構カラム５１１のセルに格納された値がＨＶ１であるレコードを取得することを意味する。この検索条件を用いて図５の物理サーバ模擬テーブル３１１を検索すると、検索条件に合致するレコードとして物理サーバＩＤがＳ１であるレコードが得られる。
【０１２２】
ステップ１４０３において、サーバ模擬プログラム１３３は、ステップ１４０１で取得した構成変更管理テーブル３１２のレコードの構成変更内容カラム６０４を参照し、セルに格納された計算式を取得する。続いて、サーバ模擬プログラム１３３は、ステップ１４０２で取得した物理サーバ模擬テーブル３１１のレコードに対し、取得した前記計算式を用いて前記レコード内のセルの値を更新する。前記計算式が複数ある場合は、前記レコードに対してそれぞれの計算式を順に適用する。
【０１２３】
例においては、計算式として図６に記述したＣｅｌｌ［Ｃｏｌｕｍｎ＝仮想化機構］＝ＨＶ２を得る。この計算式は、仮想化機構カラムのセルにＨＶ２の値を代入することを意味する。この計算式を用いてステップ１４０２で取得した物理サーバ模擬テーブル３１１のレコードを更新すると、物理サーバＩＤがＳ１であるレコードの仮想化機構カラム５１１のセルの値が、ＨＶ１からＨＶ２に更新される。
【０１２４】
以上の処理により、管理サーバ１３０内で物理サーバ構成変更作業の模擬を行える。サーバ模擬プログラム１３３は、最後に計画作成プログラム１３２に対して処理の終了を送信して、本処理を終了する。
【０１２５】
図１５は、ステップ１１１９において仮想サーバ移行計画３１６の実行時間を決定する処理の手順の一例を示すフローチャートである。
【０１２６】
ステップ１５０１において、実行時間決定プログラム１３６は、計画作成プログラム１３２から、実行時間決定要求と、仮想サーバ移行計画３１６と、を受信する。
【０１２７】
ステップ１５０２において、実行時間決定プログラム１３６は、受信した前記仮想サーバ移行計画３１６の各々のレコードについて、タスクカラム１００２に格納されたＩＤを取得する。続いて、実行時間決定プログラム１３６は、取得した前記ＩＤを元に、構成変更管理テーブル３１２の構成変更ＩＤカラム６００もしくはタスク模擬テーブル３１４のタスクＩＤカラム８００を検索し、セルに格納された値が取得した前記ＩＤと一致するレコードを取得する。
【０１２８】
取得した前記レコードが構成変更管理テーブル３１２のレコードだった場合、実行時間決定プログラム１３６は、所要時間カラム６０３を参照し、セルに格納された所要時間を取得する。
【０１２９】
また、取得した前記レコードがタスク模擬テーブル３１４のレコードだった場合、実行時間決定プログラム１３６は、タスク情報ＩＤカラム８０１を参照し、セルに格納されたタスク情報ＩＤを取得する。続いて、実行時間決定プログラム１３６は、移行方式管理テーブル３１５の移行方式ＩＤカラムを検索し、取得した前記タスク情報ＩＤと一致する値を持つレコードの所要時間カラム９０２を参照し、セルに格納された所要時間を取得する。
【０１３０】
続いて、実行時間決定プログラム１３６は、各々のレコードについて取得した前記所要時間を合計して、前記仮想サーバ移行計画３１６に記載された全ての手順を実施するのに要する全体所要時間を算出する。
【０１３１】
ステップ１５０３において、実行時間決定プログラム１３６は、ステップ１５０１で受信した前記仮想サーバ移行計画３１６の各々のレコードについて、実行内容カラム１００３を参照し、セルに格納されたＩＤの中から物理サーバのＩＤを全て抽出する。これにより前記仮想サーバ移行計画３１６に関わる全ての物理サーバを特定する。
【０１３２】
図９の例においては、実行内容カラム１００３内に格納されたＩＤのうち、物理サーバのＩＤはＳ１とＳ２の二つである。図９では、物理サーバＳ１とＳ２が仮想サーバ移行計画３１６に関わることが分かる。
【０１３３】
ステップ１５０４において、実行時間決定プログラム１３６は、物理サーバ模擬テーブル３１１の物理サーバＩＤカラム５００を検索し、セルに格納された値がステップ１５０３で抽出した前記物理サーバＩＤと一致するレコードを取得する。続いて、実行時間決定プログラム１３６は、取得した前記レコードの物理サーバ負荷情報カラム５２０を参照し、物理サーバ負荷情報カラム５２０が有するサブカラムである時刻カラム５２０と、ＣＰＵ負荷カラム５２１と、メモリ負荷カラム５２２と、に格納された値を取得する。また、取得した前記レコードの物理サーバ負荷情報カラム５１０を参照し、物理サーバ構成情報カラム５１０が有するサブカラムであるＣＰＵ数５１３と、メモリ量５１４と、に格納された値を取得する。以上の処理を、ステップ１５０３で抽出した前記物理サーバＩＤの各々について実施する。
【０１３４】
続いて、実行時間決定プログラム１３６は、前記物理サーバＩＤごとに取得したＣＰＵ負荷５２１およびメモリ負荷５２２の値を、時刻５２０ごとに合計し、仮想サーバ移行計画３１６に関わる物理サーバ全体の時刻ごとの負荷を算出する。このとき、実行時間決定プログラム１３６は、ステップ１５０３で抽出した各々の物理サーバが有するＣＰＵ数５１３やメモリ量５１４の値を合計して仮想サーバ移行計画３１６に関わる物理サーバ全体のリソース量を算出し、算出した全体リソース量で個々の物理サーバのＣＰＵ数５１３やメモリ量５１４を除算して、個々の物理サーバが全体に占めるリソースの割合を算出する。実行時間決定プログラム１３６は、算出した前記リソース割合の値を使って個々の物理サーバのＣＰＵ負荷５２１およびメモリ負荷５２２の値を補正した後に合計することで、仮想サーバ移行計画３１６に関わる物理サーバ全体の負荷を算出する。
【０１３５】
図９から抽出した物理サーバＳ１，Ｓ２の例においては、図５の物理サーバ模擬テーブル３１１からＣＰＵ数５１３およびメモリ量５１４を取得し、全体リソース量および個々の物理サーバのリソース割合を算出する。ＣＰＵ数５１３に関しては、物理サーバＳ１は８個、物理サーバＳ２は８個であるため、全体リソース量は１６個であり、物理サーバＳ１のリソース割合は５０％、物理サーバＳ２のリソース割合は５０％である。同様にメモリ量５１４に関しては、全体リソース量は４８ＧＢ、物理サーバＳ１，Ｓ２のリソース割合はそれぞれ６７％，３３％である。算出したリソース割合に基づいて全体の負荷を計算すると、図５においては、時刻２０１０／７／１  ００：００での物理サーバＳ１，Ｓ２のＣＰＵ負荷５２２はそれぞれ８０％，４０％である。
【０１３６】
それぞれのリソース割合である５０％，５０％で補正した後に合計すると、全体の負荷は、４０％と２０％を合計した６０％となる。同様にメモリ負荷５２３に関しては、物理サーバＳ１，Ｓ２のメモリ負荷５２３である１００％，２０％を、それぞれのリソース割合である６７％，３３％で補正して合計した結果、全体の負荷は７３．６％となる。同様の計算を時刻ごとに実施する。
【０１３７】
ステップ１５０５において、実行時間決定プログラム１３６は、ステップ１５０４で算出した仮想サーバ移行計画３１６に関する物理サーバの時刻ごとの全体負荷情報を参照し、物理サーバの負荷が最も低い時間帯を検索する。具体的には、実行時間決定プログラム１３６は、前記全体負荷情報の中から、例えば過去１日分などの、特定の期間の全体負荷情報を取得する。
【０１３８】
続いて、実行時間決定プログラム１３６は、前記特定期間の全体負荷情報を、例えば１時間ごとなどの、特定の時間帯ごとにまとめ、各時間帯の全体負荷の平均を算出する。続いて、実行時間決定プログラム１３６は、算出した時間帯ごとの全体負荷の中から、最も全体負荷が少ない時間帯を選択する。
【０１３９】
このとき、全体負荷が少ない時間帯を選択するために利用する情報は、物理サーバ負荷情報５２０に限らず、仮想サーバ負荷情報７２０などを利用してもよい。また、ＣＰＵ負荷５２１やメモリ負荷５２２に限らず、ネットワークＩ／ＯやディスクＩ／Ｏに関する負荷を利用してもよい。
【０１４０】
また、全体負荷を取得する期間は過去１日分に限らず、例えば過去１週間分や過去１年分などの全体負荷情報を取得し、全体負荷が少ない時間帯を選択してもよい。その際に、過去１日内の時間帯に限らず、過去１週間内の曜日や過去１年以内の月を考量して時間帯を選択してもよい。
【０１４１】
ステップ１５０６において、実行時間決定プログラム１３６は、ステップ１５０５で選択した前記時間帯の先頭の時刻を、仮想サーバ移行計画３１６の手順１の開始時刻と設定し、前記開始時刻を仮想サーバ移行計画３１６の開始予定時刻カラム１００１に格納する。以下、手順２以降の開始時刻は、直前の手順の開始時刻に、直前の手順の構成変更内容の所要時間を足し合わせたものを、開始予定時刻カラム１００１に格納する。所要時間としては、ステップ１５０２で取得した値を採用する。
【０１４２】
以上の処理により、管理サーバ１３０内で仮想サーバ移行計画３１６の各手順の開始予定時刻を決定する。実行時間決定プログラム１３６は、最後に計画作成プログラム１３２に対して処理の終了を送信して、本処理を終了する。
【０１４３】
以上が本実施例の処理の詳細である。本処理により、管理サーバ１３０内で物理サーバ模擬テーブル３１１を用いて仮想サーバの移行や物理サーバの構成変更を模擬することで、稼動中のシステムに変更を加えることなく、仮想サーバ稼動の互換性を事前に検証した上で、仮想サーバ移行計画３１６を自動的に作成できる。
【符号の説明】
【０１４４】
１００および１１０  物理サーバ、１０１および１１１  仮想化機構、１０２および１０３  仮想サーバ、１２０  ネットワーク、１３０  管理サーバ、１３１  管理テーブル、１３１  サーバ情報収集プログラム、１３２  計画作成プログラム、１３３  サーバ模擬プログラム、１３４  互換性検証プログラム、１３５  移行先決定プログラム、１３６  実行時間決定プログラム、１３７  管理テーブル群、２００および３００  プロセッサ、２０１および３０１  メモリ、２０２および３０２  ネットワークアダプタ、２０３および３０３  ディスクアダプタ、２０４および３０４  入出力装置、２１１  仮想化機構、２１２  仮想サーバ、２１３  アプリケーション、３１０  物理サーバ管理テーブル、３１１  物理サーバ模擬テーブル、３１２  構成変更管理テーブル、３１３  仮想サーバ管理テーブル、３１４  タスク模擬テーブル、３１５  移行方式管理テーブル、３１６  仮想サーバ移行計画、４００ないし４２３  テーブル内データ、５００ないし５２３  テーブル内データ、６００ないし６０４  テーブル内データ、７００ないし７３０  テーブル内データ、８００ないし８０３  テーブル内データ、９００ないし９０３  テーブル内データ、１０００ないし１００３  テーブル内データ、１１０１ないし１１２０  処理ステップ、１２０１ないし１２０３  処理ステップ、１３０１ないし１３０３  処理ステップ、１４０１ないし１４０３  処理ステップ、１５０１ないし１５０５  処理ステップ
【図１】
2014142678.tif 000003
【図２】
2014142678.tif 000004
【図３】
2014142678.tif 000005
【図４】
2014142678.tif 000006
【図５】
2014142678.tif 000007
【図６】
2014142678.tif 000008
【図７】
2014142678.tif 000009
【図８】
2014142678.tif 000010
【図９】
2014142678.tif 000011
【図１０】
2014142678.tif 000012
【図１１Ａ】
2014142678.tif 000013
【図１１Ｂ】
2014142678.tif 000014
【図１２】
2014142678.tif 000015
【図１３】
2014142678.tif 000016
【図１４】
2014142678.tif 000017
【図１５】
2014142678.tif 000018