(57)【要約】【課題】１つの仮想マシンテンプレートを作成するのみで複数の用途の仮想マシンを作成する。【解決手段】同一構成の複数の仮想マシンの用途に必要な全てのアプリケーションをインストールした、前記仮想マシンとは独立したテンプレート元の仮想マシンを作成し、前記テンプレート元の仮想マシンのテンプレート化を行うことにより、前記同一構成の複数の仮想マシンに共通の仮想マシンテンプレートを作成し、前記同一構成の複数の仮想マシンを作成する方法及び前記同一構成の複数の仮想マシン上のアプリケーションの制御方法を定義した情報を前記仮想マシンテンプレートに含めて保存し、前記保存している前記仮想マシンテンプレートに含まれる仮想マシンの作成方法に従い仮想マシンを作成する。これにより、１つの仮想マシンテンプレートを作成するのみで複数の用途の仮想マシンを作成する。【選択図】図１
2014203234.tif 000002
【特許請求の範囲】
【請求項１】
同一構成の複数の仮想マシンを仮想マシンテンプレートに基づいて管理する仮想マシン管理方法において、
前記複数の仮想マシンの用途に必要な全てのアプリケーションをインストールした、前記仮想マシンとは独立したテンプレート元の仮想マシンを作成し、
前記テンプレート元の仮想マシンのテンプレート化を行うことにより、前記同一構成の複数の仮想マシンに共通の仮想マシンテンプレートを作成し、
前記同一構成の複数の仮想マシンを作成する方法及び前記同一構成の複数の仮想マシン上のアプリケーションの制御方法を定義した情報を前記仮想マシンテンプレートに含めて保存し、
前記保存している前記仮想マシンテンプレートに含まれる仮想マシンの作成方法に従い仮想マシンを作成することを特徴とする仮想マシン管理方法。
【請求項２】
前記請求項１に記載の仮想マシン管理方法において、
前記保存している前記仮想マシンテンプレートに含まれるアプリケーションの制御方法に従い依存関係順にアプリケーションを起動し正常に起動したかどうかを確認する、仮想マシン管理方法。
【請求項３】
前記請求項１に記載の仮想マシン管理方法において、
前記テンプレート元の仮想マシンにインストールされているゲストＯＳにＯＳパッチを適用して、前記同一構成の複数の仮想マシンに共通の仮想マシンテンプレートを作成する、仮想マシン管理方法。
【請求項４】
同一構成の複数の仮想マシンを仮想マシンテンプレートに基づいて管理する仮想マシン管理システムにおいて、
前記複数の仮想マシンの用途に必要な全てのアプリケーションをインストールした、前記仮想マシンとは独立したテンプレート元の仮想マシンを作成する手段と、
前記テンプレート元の仮想マシンのテンプレート化を行うことにより、前記同一構成の複数の仮想マシンに共通の仮想マシンテンプレートを作成する手段と、
前記同一構成の複数の仮想マシンを作成する方法及び前記同一構成の複数の仮想マシン上のアプリケーションの制御方法を定義した情報を前記仮想マシンテンプレートに含めて保存する手段と、
前記保存している前記仮想マシンテンプレートに含まれる仮想マシンの作成方法に従い仮想マシンを作成する手段とを有することを特徴とする仮想マシン管理システム。
【請求項５】
前記請求項４に記載の仮想マシン管理システムにおいて、
前記保存している前記仮想マシンテンプレートに含まれるアプリケーションの制御方法に従い依存関係順にアプリケーションを起動し正常に起動したかどうかを確認する手段を有する、仮想マシン管理システム。
【請求項６】
前記請求項４に記載の仮想マシン管理システムにおいて、
前記共通の仮想マシンテンプレートを作成する手段は、前記テンプレート元の仮想マシンにインストールされているゲストＯＳにＯＳパッチを適用して、前記同一構成の複数の仮想マシンに共通の仮想マシンテンプレートを作成する、仮想マシン管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一構成の複数の仮想マシンを１つの仮想マシンテンプレートに基づいて管理する技術、特に仮想マシン管理方法及び装置に関する。
【背景技術】
【０００２】
仮想マシンの利用拡大に伴い、仮想マシンの利用用途が拡大しており、仮想マシンには、Ｗｅｂサーバ，アプリケーションサーバ，データベース（ＤＢ）サーバなど複数の用途の仮想マシンが存在する。
【０００３】
既存の仮想マシンの一例を図６に示す。図６に示すように、既存の仮想マシン管理装置においては、仮想マシンサーバ１０１，１０２と、その仮想マシンサーバ１０１，１０２上に仮想的に作成された仮想マシン２０１〜２０８と、仮想マシンサーバ１０１，１０２及び仮想マシン２０１〜２０８を管理する管理サーバ１００とを有しており、これら相互間はネットワーク５００を介して連携されていた。
【０００４】
既存の仮想マシン管理装置において、管理サーバ１００は、同一構成の複数の仮想マシンに対して、それを作成するための仮想マシンテンプレートを仮想マシン毎に作成していた。そして、作成する仮想マシン毎に作成したそれぞれの仮想マシンテンプレートでは、仮想マシンのハードウェア仕様とゲストオペレーションシステム（ゲストＯＳ）のみしか管理しておらず、仮想マシン作成後は最低限のオペレーションシステム（ゲストＯＳ）の制御機能しか提供していないのが実情である。
なお、ゲストオペレーションシステムとは、仮想マシン上でアプリケーションを動作させるためのプログラムである。
【０００５】
そのため、図６に示す仮想マシン管理装置では、複数の用途の仮想マシンを利用する場合、用途ごとにアプリケーションをインストールした仮想マシン３０１，３０２，３０３・・・を仮想マシン２０１〜２０８にそれぞれ対応させて準備し、仮想マシン２０１〜２０８にインストールするゲストオペレーションシステムが同一の場合でも、仮想マシン２０１〜２０８毎の複数の仮想マシンテンプレートを個々に独立した仮想マシンテンプレートとして扱う必要があった。
【０００６】
図６に示す仮想マシン管理装置では、ゲストオペレーションシステム（ゲストＯＳ）を修正するパッチファイルが配布された場合、用途毎に準備された仮想マシンの仮想マシンテンプレート全てにパッチを個々に適用する必要があり、仮想マシンテンプレートの管理コストが嵩張るという課題がある。
【０００７】
そこで、特許文献１及び特許文献２に開示された仮想マシンの管理方式を採用することも考えられる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−９５８７１号公報
【特許文献２】特開２００８−８４０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に開示された技術は、仮想マシン上の業務プログラムを制御することを意図しており、仮想マシンを作成した後に、その作成した仮想マシンにアプリケーションをそれぞれインストールするものである。
【００１０】
特許文献２に開示された技術は、オペレーションシステム（ＯＳ）を一元化して管理コストを減らすことを意図したものであり、アプリケーションを仮想化してアプリケーション起動時に自動的にダウンロードしてアプリケーションを配置するものである。
【００１１】
特許文献１及び特許文献２に開示された技術では、１つの仮想マシンテンプレートを作成するのみで複数の用途の仮想マシンを管理することができないという課題が残されている。
【００１２】
本発明の目的は、１つの仮想マシンテンプレートを作成するのみで複数の用途の仮想マシンを管理することが仮想マシン管理方法及び装置を提供することにある。
【課題を解決するための手段】
【００１３】
前記目的を達成するため、本発明に係る仮想マシン管理方法は、同一構成の複数の仮想マシンを仮想マシンテンプレートに基づいて管理する仮想マシン管理方法において、前記複数の仮想マシンの用途に必要な全てのアプリケーションをインストールした、前記仮想マシンとは独立したテンプレート元の仮想マシンを作成し、前記テンプレート元の仮想マシンのテンプレート化を行うことにより、前記同一構成の複数の仮想マシンに共通の仮想マシンテンプレートを作成し、前記同一構成の複数の仮想マシンを作成する方法及び前記同一構成の複数の仮想マシン上のアプリケーションの制御方法を定義した情報を前記仮想マシンテンプレートに含めて保存し、前記保存している前記仮想マシンテンプレートに含まれる仮想マシンの作成方法に従い仮想マシンを作成することを特徴とするものである。
【００１４】
本発明に係る仮想マシン管理方法を実施するための仮想マシン管理装置は、同一構成の複数の仮想マシンを仮想マシンテンプレートに基づいて管理する仮想マシン管理装置において、前記複数の仮想マシンの用途に必要な全てのアプリケーションをインストールした、前記仮想マシンとは独立したテンプレート元の仮想マシンを作成する手段と、前記テンプレート元の仮想マシンのテンプレート化を行うことにより、前記同一構成の複数の仮想マシンに共通の仮想マシンテンプレートを作成する手段と、前記同一構成の複数の仮想マシンを作成する方法及び前記同一構成の複数の仮想マシン上のアプリケーションの制御方法を定義した情報を前記仮想マシンテンプレートに含めて保存する手段と、前記保存している前記仮想マシンテンプレートに含まれる仮想マシンの作成方法に従い仮想マシンを作成する手段とを有する構成として構築する。
【発明の効果】
【００１５】
本発明によれば、１つの仮想マシンテンプレートを作成するのみで複数の用途の仮想マシンを管理することができるという効果を奏するものである。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る仮想マシン管理方法を実施するための仮想マシン管理装置の構成を示す構成図である。
【図２】本発明の実施形態において仮想マシンテンプレートを作成する処理の動作を示すフローチャートである。
【図３】本発明の実施形態において仮想マシンテンプレートを更新する処理の動作を示すフローチャートである。
【図４】本発明の実施形態において仮想マシンテンプレートに基づいて仮想マシンを新規に作成する処理の動作を示すフローチャートである。
【図５】本発明の実施形態において仮想マシンの役割を変更する処理の動作を示すフローチャートである。
【図６】既存の仮想マシン管理装置の構成を示す構成図である。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態を図に基づいて詳細に説明する。
本発明に係る仮想マシン管理方法は、同一構成の複数の仮想マシンを仮想マシンテンプレートに基づいて管理する仮想マシン管理方法において、前記複数の仮想マシンの用途に必要な全てのアプリケーションをインストールした、前記仮想マシンとは独立したテンプレート元の仮想マシンを作成し、前記テンプレート元の仮想マシンのテンプレート化を行うことにより、前記同一構成の複数の仮想マシンに共通の仮想マシンテンプレートを作成し、前記同一構成の複数の仮想マシンを作成する方法及び前記同一構成の複数の仮想マシン上のアプリケーションの制御方法を定義した情報を前記仮想マシンテンプレートに含めて保存し、前記保存している前記仮想マシンテンプレートに含まれる仮想マシンの作成方法に従い仮想マシンを作成することを特徴とするものである。
【００１８】
本発明の実施形態に係る仮想マシンを管理する仮想マシン管理方法を実施するための仮想マシン管理装置を図１に示す。
【００１９】
図１において、本発明の実施形態に係る仮想マシン管理装置は、管理サーバ１と、物理マシン上に作成される仮想マシンサーバ３，４と、これらの相互間での通信を司るネットワーク６とを有している。
仮想マシンサーバ３，４は同一の物理マシン上に形成する、或いは別々の物理マシン上に形成するようにしてもよいものである。
図１に示す例では、仮想マシンサーバ３上に仮想マシン３１，３２，３３，３４，３５，３６を作成し、仮想マシンサーバ４上に仮想マシン４１，４２，４３を作成しているが、仮想マシンサーバ３，４の作成台数及び仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３の作成台数は図示したものに限られるものではない。さらに、仮想マシンサーバ３及び仮想マシンサーバ４として物理マシンを用いているが、これに限られるものではなく、物理マシン上に仮想マシンサーバ３，４を作成し、その仮想マシンサーバ３，４上に仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３を作成して、それらの仮想マシンを管理するようにしてもよいものである。
【００２０】
前記管理サーバ１には管理マネージャ７をインストールしており、その管理マネージャ７により前記仮想マシンサーバ３，４及び前記仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３を管理している。
【００２１】
本発明の実施形態では、１つの仮想マシンテンプレート１２を作成するのみで複数の用途の仮想マシンを管理することに加えて、それらの仮想マシンに共通にインストールしたアプリケーションの制御を実行するため、仮想マシンサーバ３，４上に作成する仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３にはゲストオペレーションシステム（ゲストＯＳ）５０がインストールされ、そのゲストＯＳ５０上には仮想マシンの役割に対応する全てのアプリケーション２１，２２，２３，２４がインストールされている。その全てのアプリケーション２１，２２，２３，２４が同時に起動することはなく、実際に起動しているアプリケーションは仮想マシンの役割に対応したアプリケーションのみである。図１では、動作しているアプリケーションを実線で示し、非動作のアプリケーションを点線で示している。
【００２２】
さらに、前記仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３には、前記管理サーバ１の管理マネージャ７からのコマンドを受け付けてアプリケーション２１，２２，２３の動作を制御するためのリモート管理部６０をインストールしている。
【００２３】
仮想マシンサーバ３，４に作成した仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３のリモート管理部６０は、管理サーバ１の管理マネージャ７からのコマンドを受け取り、用途に応じたアプリケーション２１，２２又は２３を起動させるようになっている。
【００２４】
図１の例では、仮想マシンサーバ３上に作成した仮想マシン３１，仮想マシン３２，仮想マシン３３，仮想マシン３４及び仮想マシン３５は、Ｗｅｂサーバ用のアプリケーション２１を実行することにより、Ｗｅｂサーバとして動作している。
さらに、仮想マシンサーバ３上に作成した仮想マシン３６は、アプリケーションサーバ用のアプリケーション２２を実行することにより、アプリケーションサーバとして動作している。
さらに、仮想マシンサーバ４上に作成した仮想マシン４１は、アプリケーションサーバ用のアプリケーション２２を実行することにより、アプリケーションサーバとして動作している。
さらに、仮想マシンサーバ４上に作成した仮想マシン４２及び仮想マシン４３は、データベース（ＤＢ）サーバ用のアプリケーション２３を実行することにより、データベース（ＤＢ）サーバとして動作している。
【００２５】
本発明の実施形態における管理サーバ１にインストールした管理マネージャ７は、同一構成の複数の仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３を作成する方法及び同一構成の複数の仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３上のアプリケーション２１，２２，２３の制御方法を定義した情報を前記仮想マシンテンプレート１２に含めて保存する手段としての仮想マシンテンプレート管理部１０と、前記保存している前記仮想マシンテンプレート１２に含まれる仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３の作成方法に従い仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３を作成する手段としての仮想マシン制御部９を有している。
【００２６】
さらに、前記仮想マシン制御部９は、複数の仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３の用途に必要な全てのアプリケーション２１，２２，２３をインストールした、前記仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３とは独立したテンプレート作成元の仮想マシン５を作成・管理するようになっている。
【００２７】
前記仮想マシン制御部９は、仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３を作成した際に、これらの仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３にゲストオペレーションシステム（ゲストＯＳ）５０をインストールするとともに、前記管理マネージャ７からのコマンドを受け付けるリモート管理部６０をインストールするようになっている。
【００２８】
さらに、前記仮想マシン制御部９は、テンプレート作成元の仮想マシン５を作成した際に、その仮想マシン５にゲストオペレーションシステム（ゲストＯＳ）７０をインストールするとともに、前記管理マネージャ７からのコマンドを受け付けるリモート管理部８０をインストールするようになっている。
【００２９】
さらに、前記仮想マシン制御部９は、前記作成した複数の仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３に、それらの仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３の用途に必要な全てのアプリケーション２１，２２，２３をインストールする機能と、テンプレート作成元の仮想マシン５に、作成する仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３の用途に必要な全てのアプリケーション２１，２２，２３をインストールする機能とを有している。
【００３０】
さらに、前記管理マネージャ７は、前記保存している前記仮想マシンテンプレート１２に含まれるアプリケーション２１，２２，２３の制御方法に従い依存関係順にアプリケーション２１，２２または２３を起動し正常に起動したかどうかを確認する手段としてのアプリケーション制御部８を有している。
前記仮想マシンテンプレート１２に含まれるアプリケーション２１，２２，２３の制御方法は、アプリケーション２１，２２，２３の設定・アプリケーション２１，２２，２３相互間の依存関係・起動コマンド・停止コマンドおよび正常に起動したかどうかを確認するコマンドで構成される。
【００３１】
前記仮想マシンテンプレート１２は管理サーバ１の管理マネージャ７に備えた仮想マシン管理部１０に保存されると共に共有ディスク１１に保存されており、すべての仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３は前記保存している１つの仮想マシンテンプレート１２に基づいて管理サーバ３，４上に作成・管理される。
さらに、ゲストオペレーションシステム（ゲストＯＳ）のパッチファイルが配布された場合、前記仮想マシンテンプレート１２を作成し直す必要があるため、管理サーバ１にインストールした管理マネージャ７は、テンプレートの作成元の仮想マシン５を仮想マシンサーバ３又は４上に保持している。
【００３２】
前記管理マネージャ７は、前記仮想マシン制御部９が作成したテンプレート作成元の仮想マシン５のテンプレート化を行うことにより、同一構成の複数の仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３を作成・管理するための１つの仮想マシンテンプレート１２を作成する手段として機能する。
さらに、前記管理マネージャ７は、前記テンプレート作成元の仮想マシン５にインストールされているゲストＯＳにＯＳパッチを適用して、前記同一構成の複数の仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３を作成・管理するための１つの仮想マシンテンプレート１２を作成する手段として機能する。
【００３３】
次に、本発明の実施形態に係る仮想マシン管理装置を用いて仮想マシンを管理する仮想マシン管理方法を実行する場合について説明する。
【００３４】
先ず、図２を参照して、仮想マシン３１，３２，３３，３４，３５，３６，４１，４２、４３を作成・管理するための仮想マシンテンプレート１２を作成する処理の動作を説明する。
【００３５】
ユーザは管理サーバ１の管理画面を目視して、図示しない入力装置により仮想マシンテンプレート１２を作成するコマンドを管理サーバ１の管理マネージャ７に入力すると、仮想マシン制御部９は、前記入力を受けて、仮想マシンサーバ４上にテンプレート作成元の仮想マシン５を作成し、その作成した仮想マシン５にゲストＯＳ７０をインストールするとともに、管理マネージャ７からのコマンドを受け付けるリモート管理部８０をインストールする（図２のステップＡ１）。
【００３６】
さらに、仮想マシン制御部９は、作成したテンプレート作成元の仮想マシン５に、作成する仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３の用途に必要な全てのアプリケーション２１，２２，２３をインストールする（図２のステップＡ２）。
【００３７】
ユーザは管理サーバ１の管理画面を利用して図示しない入力装置により、仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３の役割（用途）に対応するアプリケーション２１，２２，２３の依存関係・起動コマンド・停止コマンドおよび正常に起動したかどうかを確認するコマンドを定義し、そのコマンドを管理サーバ１に入力する。
管理サーバ１の仮想マシン管理部１０は、そのコマンドを受け取り、記録保存する（図２のステップＡ３）。
【００３８】
次に、管理マネージャ７のアプリケーション制御部８は、仮想マシン制御部９が仮想マシン５にインストールしたアプリケーション２１，２２，２３の自動起動を無効化する（図２のステップＡ４）。
【００３９】
前記アプリケーション２１，２２，２３の自動起動が無効化された後、管理マネージャ７は、仮想マシン制御部９が作成したテンプレート作成元の仮想マシン５のテンプレート化を行い、その仮想マシン５をテンプレート化した仮想マシンテンプレート１２の情報を仮想マシン管理部１０に保存させる（図２のステップＡ５）。
【００４０】
仮想マシン管理部８は、仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３の役割に対応するアプリケーション２１，２２，２３の依存関係・起動コマンド・停止コマンドおよび正常に起動したかどうかを確認するコマンドと、仮想マシンテンプレート１２とを対応させて保存することとなる。
【００４１】
次に、図３を参照して、仮想マシンテンプレート１２を更新する処理の動作を説明する。仮想マシンテンプレート１２を更新する処理は、仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３にインストールしたゲストＯＳ５０に対するパッチが配布された際、そのパッチをテンプレート作成元の仮想マシン５にインストールしたゲストＯＳ７０に適用する場合に生じる。
【００４２】
管理サーバ１の管理マネージャ７は、テンプレートの作成元の仮想マシン５を起動させる（図３のステップＢ１）。
【００４３】
次に、管理マネージャ７は、起動した仮想マシン５のゲストＯＳ７０に、配布されたＯＳパッチを適用する（図３のステップＢ２）。
【００４４】
次に、管理マネージャ７は、ＯＳパッチがゲストＯＳ７０に適用された仮想マシン５をテンプレート化し、そのテンプレート化した仮想マシンテンプレート１２の情報を仮想マシン管理部１０に保存する（図３のステップＢ３）。
【００４５】
次に、図４を参照して、仮想マシン管理部１０に保存した仮想マシンテンプレート１２の情報に基づいて、仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３を新規に作成する処理の動作を説明する。この新規に仮想マシンを作成する前段階においては、仮想マシンサーバ３，４には、いずれもの仮想マシンが作成されておらず、真っ新の状態になっている。
【００４６】
ユーザは、管理サーバ１の管理画面を利用し図示しない入力装置により、仮想マシンの役割（用途）を指定して仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３の作成を管理マネージャ７に指示する。
【００４７】
管理マネージャ７がユーザによる仮想マシンの作成指示を受け取ると、仮想マシン制御部９は、仮想マシン管理部１０に保存した仮想マシンテンプレート１２の情報から、作成指示を受けた仮想マシンの情報を検索し、その情報に基づいて仮想マシンサーバ３，４上に、作成指示を受けた仮想マシンを作成する（図４のステップＣ１）。
【００４８】
次に、管理マシン制御部９はユーザによる作成指示を受けた仮想マシンの作成が完了すると、その作成した仮想マシンのＩＰアドレスやホスト名などを設定する（図４のステップＣ２）。
【００４９】
次に、管理マシン制御部９は、仮想マシン管理部１０に保存した仮想マシンテンプレート１２の情報から、ユーザが指定した役割（用途）に対応したアプリケーション２１，２２，２３を検索し、その全てのアプリケーション２１，２２，２３を、ユーザによる作成指示で作成した仮想マシンにインストールする（図４のステップＣ３）。
【００５０】
次に、アプリケーション制御部８は、仮想マシン管理部１０に保存されている仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３の役割（用途）に対応するアプリケーション２１，２２，２３の依存関係・起動コマンド・停止コマンドおよび正常に起動したかどうかを確認するコマンドを検索し、ユーザによる作成指示で作成した仮想マシン上でアプリケーション２１，２２，２３を定義された依存関係を解析し依存関係順で起動する。
さらに、アプリケーション制御部８は、アプリケーション２１，２２，２３が正常に起動できたかどうかを定義された確認コマンドを実行することにより、それらのアプリケーション２１，２２，２３の動作を検証する（図４のステップＣ４）。
【００５１】
次に、アプリケーション制御部８は、ユーザによる作成指示で作成した仮想マシンと、その仮想マシンの役割（用途）とを対応させて仮想マシン管理部１０に記録する（図４のステップＣ５）。
【００５２】
ユーザの仮想マシンを作成する指示が、仮想マシン３１，３２，３３，３４，３５，３６を仮想マシンサーバ３上に、仮想マシン４１，４２，４３を仮想マシンサーバ４上にそれぞれ作成する内容であれば、図１に示すような仮想マシンの配置構成となる。
【００５３】
次に、本発明の実施形態の効果を記述する。
【００５４】
既存の技術によれば、仮想マシンを簡単に作成できるようになった反面、管理されていない仮想マシンが増えることで管理コストが余計に増加するという問題があり、同様の問題が仮想マシンテンプレートを作成する際に生じるものである。
これに対して、本発明の実施形態によれば、１つの仮想マシンテンプレートに基づいて複数の用途の仮想マシンを作成・管理することができ、そのため、仮想マシンテンプレートの数を減らすことができ、仮想マシンテンプレートの管理コストを大幅に削減することができる。
【００５５】
さらに、本発明の実施形態によれば、仮想マシンの役割（用途）とアプリケーションの起動・停止方法やアプリケーションの設定が明確に定義され一元的に管理できるので、運用コストを削減することができる。
【００５６】
次に、本発明の実施形態の変更例を図に基づいて詳細に説明する。
【００５７】
仮想マシン制御部９が仮想マシンサーバ３，４上に作成した仮想マシンの用途を変更する場合を図５に基づいて説明する。
【００５８】
仮想マシン制御部９が仮想マシンサーバ３，４上に作成した仮想マシンの用途がＷｅｂサーバである場合、この仮想マシンの用途をアプリケーションサーバに変更する場合が生じる。
【００５９】
仮想マシンの用途を変更する際には、既存の技術によれば、仮想マシン用途の変更のために、一旦Ｗｅｂサーバ用の仮想マシンを削除し、仮想マシンテンプレートからアプリケーションサーバ用の仮想マシンテンプレートを選別し、その選別した仮想マシンテンプレートに基づいてアプリケーションサーバ用の仮想マシンを新規に作成する必要があった。そのため、仮想マシンの用途を変更する作業に多大の時間を要していた。
【００６０】
図５に示す本発明の実施形態は、仮想マシンの用途変更を迅速に処理することを意図した例である。
【００６１】
図５に示す本発明の実施形態は、テンプレート作成元の仮想マシン５をテンプレート化して作成した仮想マシンテンプレート１２に、起動するアプリケーションの定義が含まれていることに着目して、アプリケーションの制御を行うことにより、ユーザが指示した仮想マシンの用途変更を迅速化に処理することを実現している。
【００６２】
図５を参照して、仮想マシンの役割を変更する処理の動作を説明する。
ユーザは管理サーバ１の管理画面を利用し図示しない入力装置により、用途変更の対象である仮想マシンと、その仮想マシンの役割（用途）とを指定して、仮想マシンの用途を変更する指示を管理マネージャ７に入力する。
【００６３】
アプリケーション制御部８は、管理マネージャ７にユーザによる仮想マシンの用途変更の指示が入力すると、用途変更の対象である仮想マシンの現在の役割を仮想マシン管理部１０の仮想マシンテンプレートに含まれた情報から検索する（図５のステップＤ１）。
【００６４】
その検索の結果、用途変更の対象である仮想マシンの現在の役割と変更後の役割が同一である場合、アプリケーション制御部８は仮想マシンの用途変更の処理を終了させる（図５のステップＤ２，Ｙｅｓ）。
【００６５】
アプリケーション制御部８は、用途変更の対象である仮想マシンの現在の役割と変更後の役割が一致しない場合（図５のステップＤ１，ＮＯ）、用途変更の対象である仮想マシンの現在の役割とユーザが指定した変更後の役割それぞれに対応するアプリケーション２１，２２，２３を仮想マシン管理部１０から検索する（図５のステップＤ３）。
【００６６】
アプリケーション制御部８は、用途変更の対象である仮想マシンの現在の役割とユーザが指定した変更後の役割それぞれに対応するアプリケーション２１，２２，２３を検索した後、用途変更の対象である仮想マシン上で現在の役割に対応するアプリケーションを定義された逆順で停止する（図５のステップＤ４）。
【００６７】
次に、アプリケーション制御部８は、用途変更の対象である仮想マシンのアプリケーション２１，２２，２３のうち、変更後の役割に対応するアプリケーション２１，２２又は２３を定義された順番で起動する（図５のステップＤ５）。
次に、アプリケーション制御部８は、その起動させた仮想マシンのアプリケーションが正常に起動できたかどうかを定義された確認コマンドを実行することで検証する。
【００６８】
次に、アプリケーション制御部８は、用途変更の対象である仮想マシンと、その仮想マシンの変更後の用途とを対応させて仮想マシン管理部１０に保存する（図５のステップＤ６）。
以上の処理過程経て仮想マシンの用途変更の処理が完了する。
【００６９】
仮想マシンを用途変更する場合を具体例に基づいて説明する。図１に示す仮想マシンサーバ３上で起動する仮想マシン３１の現在の役割（用途）がＷｅｂサーバ（２１）である場合、これをアプリケーションサーバ（２２）又はデータベースサーバ（２３）に用途変更するには、仮想マシン３１上でのＷｅｂサーバ用のアプリケーション２１の起動が停止され、その後、アプリケーションサーバ用のアプリケーション２２又はデータベースサーバ用のアプリケーション２３が起動されて、仮想マシン３１は、アプリケーションサーバ（２２）又はデータベースサーバ（２３）として起動し、ユーザの指示による役割（用途）を実行することとなる。
【００７０】
既存の技術では、仮想マシンの用途変更を行う場合、その用途変更のために仮想マシンの再作成及び再起動が必要であった。
これに対して、図５に示す本発明の実施形態によれば、仮想マシン上のアプリケーションの制御を行うことにより、仮想マシンの用途変更を実行することができ、その用途変更に要する作業時間を大幅に短縮することができ、用途変更の処理を迅速化することができるという利点を有している。
【００７１】
本発明の実施形態では、ゲストＯＳのパッチが配布された際に、仮想マシンテンプレート１２のテンプレート化を行ったテンプレート作成元の仮想マシン５のゲストＯＳにパッチを適用し、その後、そのテンプレート作成元の仮想マシン５をテンプレート化して仮想マシンテンプレート１２を更新することになる。
この場合、プレート作成元の仮想マシン５にインストールしたゲストＯＳへのパッチ適用により、その仮想マシン５にインストールしたアプリケーション２１，２２，２３に障害が発生する場合に備えて変更前の仮想マシンテンプレート１２を変更後の仮想マシンテンプレート１２とともに管理マシン管理部１０及び共有ディスク１１に保存することになる。
このように仮想マシンテンプレート１２を管理する場合、仮想マシンテンプレート１２の数が増えることになるが、本発明の実施形態においては、アプリケーションの制御に加えてプレート作成元の仮想マシン５及び仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３にインストールしたゲストＯＳのパッチ適用も一元管理することになるので、一つの仮想マシンテンプレート１２からアプリケーションの動作検証済みの仮想マシン３１，３２，３３，３４，３５，３６，４１，４２，４３にインストールしたゲストＯＳへのＯＳパッチの配布、及びアプリケーションの起動制御を行うことができ、仮想マシンテンプレート１２の増加する割合を抑えて仮想マシンテンプレート１２の増加数を削減することができるという利点を有している。
【産業上の利用可能性】
【００７２】
本発明によれば、１つの仮想マシンテンプレートを作成するのみで複数の用途の仮想マシンを作成することができ、仮想マシンの管理を効率的に行うことに貢献できることとなる。
【符号の説明】
【００７３】
１  管理サーバ
２１，２２，２３  アプリケーション
３，４  仮想マシンサーバ
５  テンプレート作成元の仮想マシン
６  ネットワーク
７  管理マネージャ
８  アプリケーション制御部
９  仮想マシン制御部
１０  仮想マシン管理部
７０  ゲストＯＳ
【図１】
2014203234.tif 000003
【図２】
2014203234.tif 000004
【図３】
2014203234.tif 000005
【図４】
2014203234.tif 000006
【図５】
2014203234.tif 000007
【図６】
2014203234.tif 000008