(57)【要約】【課題】仮想マシンが稼働する環境別の仮想マシンテンプレートの管理方法を提供する。【解決手段】仮想マシンテンプレート管理システムは、異なる環境で稼働する同一の構成を持つ複数の仮想マシンそれぞれの仮想マシンテンプレート全てに対して同一の値が設定される論理テンプレートＩＤと、仮想マシンのそれぞれが稼働する環境を示す情報と、環境ごとの仮想マシンテンプレートを識別する個別テンプレートＩＤとを対応付けて記憶する記憶部と、論理テンプレートＩＤに基づいて仮想マシンテンプレートの管理を行う制御部を備える。【選択図】図１
2020080037.tif 000002
【特許請求の範囲】
【請求項１】
異なる環境で稼働する同一の構成を持つ複数の仮想マシンそれぞれの仮想マシンテンプレート全てに対して同一の値が設定される論理テンプレートＩＤと、前記仮想マシンのそれぞれが稼働する環境を示す情報と、前記環境ごとの前記仮想マシンテンプレートを識別する個別テンプレートＩＤとを対応付けて記憶する記憶部と、
前記論理テンプレートＩＤに基づいて、前記仮想マシンテンプレートの作成、更新、削除、クローンの少なくとも一つを行う制御部と、
を備える仮想マシンテンプレート管理システム。
【請求項２】
前記環境を示す情報は、前記仮想マシンが稼働するハイパーバイザを備える情報処理装置が存在する場所である、
請求項１に記載の仮想マシンテンプレート管理システム。
【請求項３】
前記環境を示す情報は、前記仮想マシンが稼働するハイパーバイザの種別である、
請求項１または請求項２に記載の仮想マシンテンプレート管理システム。
【請求項４】
前記仮想マシンテンプレートを更新する場合、
前記制御部は、更新対象の前記仮想マシンテンプレートに設定された前記論理テンプレートＩＤの値を取得し、
前記記憶部にて前記論理テンプレートＩＤに前記値が設定された全ての前記個別テンプレートＩＤに対応する前記仮想マシンテンプレートを削除するとともに、前記記憶部が記憶する前記個別テンプレートＩＤを削除し、
前記環境ごとに用意された所定のテンプレート元仮想マシンに基づいて、前記環境ごとに前記仮想マシンテンプレートを作成し、前記記憶部の前記個別テンプレートＩＤに作成した前記仮想マシンテンプレートの識別情報を、その仮想マシンテンプレートに係る前記論理テンプレートＩＤおよび前記環境を示す情報と対応付けて登録する、
請求項１から請求項３の何れか1項に記載の仮想マシンテンプレート管理システム。
【請求項５】
前記仮想マシンテンプレートを作成する場合、
前記制御部は、作成対象の前記仮想マシンテンプレートについて前記論理テンプレートＩＤを生成し、
前記環境ごとに用意されたテンプレート元仮想マシンの中から、作成対象の前記仮想マシンテンプレートに応じた前記テンプレート元仮想マシンを選択して、そのテンプレート元仮想マシンに基づいて、前記仮想マシンテンプレートを作成するとともに、生成した前記論理テンプレートＩＤと、前記仮想マシンテンプレートの識別情報と、作成対象の前記仮想マシンテンプレートに係る前記環境を示す情報と対応付けて前記記憶部に登録する、
請求項１から請求項４の何れか1項に記載の仮想マシンテンプレート管理システム。
【請求項６】
前記仮想マシンを作成する場合、
前記制御部は、前記記憶部に基づいて、前記仮想マシンに係る前記論理テンプレートＩＤと前記仮想マシンが稼働する前記環境を示す情報と対応付けられた前記個別テンプレートＩＤに基づいて、作成対象の前記仮想マシンに対応する前記仮想マシンテンプレートを選択し、その仮想マシンテンプレートに基づいて前記仮想マシンを作成するよう指示する、
請求項１から請求項５の何れか１項に記載の仮想マシンテンプレート管理システム。
【請求項７】
前記仮想マシンを作成する場合であって、前記記憶部が、前記仮想マシンに係る前記論理テンプレートＩＤと前記環境を示す情報とに対応付けられた前記個別テンプレートＩＤを記憶していない場合、
前記制御部は、前記論理テンプレートＩＤと他の前記環境を示す情報とに対応付けられた前記個別テンプレートＩＤに該当する前記仮想マシンテンプレートに基づいて、前記論理テンプレートＩＤと前記環境とに対応する仮想マシンテンプレートを生成し、その仮想マシンテンプレートに基づいて前記仮想マシンを作成するよう指示するとともに、
前記論理テンプレートＩＤと、生成した前記仮想マシンテンプレートの識別情報と、前記環境を示す情報と対応付けて前記記憶部に登録する、
請求項６に記載の仮想マシンテンプレート管理システム。
【請求項８】
前記仮想マシンテンプレートを削除する場合、
前記制御部は、前記記憶部が記憶する削除対象の前記仮想マシンテンプレートについて設定された前記論理テンプレートＩＤを有するデータに設定された前記個別テンプレートＩＤを全て取得して当該個別テンプレートＩＤに該当する前記仮想マシンテンプレートを削除するとともに、前記データを前記記憶部から削除する、
請求項１から請求項７の何れか１項に記載の仮想マシンテンプレート管理システム。
【請求項９】
異なる環境で稼働する同一の構成を持つ複数の仮想マシンの前記環境ごとの仮想マシンテンプレートを管理する方法であって、
前記環境ごとの前記仮想マシンテンプレートを識別する個別テンプレートＩＤと、前記環境を示す情報と、同一の構成を持つ前記仮想マシンそれぞれの前記仮想マシンテンプレート全てに対して同一の値が設定される論理テンプレートＩＤと、を対応付けて記憶し、
前記仮想マシンテンプレートの作成、更新、削除、クローンのうちの少なくとも一つを行う場合、前記論理テンプレートＩＤに基づいて処理を行う、
仮想マシンテンプレート管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンテンプレート管理システム及び仮想マシンテンプレート管理方法に関する。
【背景技術】
【０００２】
現在、多くのシステムが仮想マシンを利用している。仮想マシンの構築を容易化するために利用用途に応じた様々な種類の仮想マシンのテンプレートを予め作成しておき、要求があった仮想マシンの種類に応じたテンプレートを選択して仮想マシンを作成する方法が提供されている。この方法の場合、仮想マシンテンプレートの数が増加し、管理コストが増大する傾向がある。これに対し、例えば、特許文献１には、１つの仮想マシンテンプレートを作成するだけで複数の用途の仮想マシンを作成することができるシステムが開示されている。このシステムによると、仮想マシンテンプレートの数を減らすことができ、仮想マシンテンプレートの管理コストを削減することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２０３２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、広域に分散して設置されたデータセンタにおける仮想化システムの管理について考える。負荷軽減及びセキュリティ管理のために、データセンタごとに仮想マシンテンプレートを作成、更新（パッチ適用など）する方法が考えられる。この方法は、データセンタごとに仮想マシンテンプレートの管理が必要となる点で改善の余地がある。また、データセンタ内において、異なる仮想化基盤(マルチハイパーバイザ)を用いてシステムを構成する場合、ハイパーバイザごとに仮想マシンテンプレートを用意する必要があるため、さらに管理コストが増えてしまう。
【０００５】
なお、マルチハイパーバイザの場合、ハイパーバイザを意識しないｖ２ｖクローン機能などを利用して逐次仮想マシンをクローンして作成する方法もあるが、仮想マシン作成のたびにｖ２ｖクローン機能を実行すると、システム負荷が高くなる。システム負荷を抑えた運用を実現するためには、ハイパーバイザごとに仮想マシンテンプレートを用意して仮想マシンを作成することが望ましい。しかし、上記の通り、仮想マシンテンプレート数が増えると管理コストが増大する。
【０００６】
そこでこの発明は、上述の課題を解決する仮想マシンテンプレート管理システム及び仮想マシンテンプレート管理方法を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、仮想マシンテンプレート管理システムは、異なる環境で稼働する同一の構成を持つ複数の仮想マシンそれぞれの仮想マシンテンプレート全てに対して同一の値が設定される論理テンプレートＩＤと、前記仮想マシンのそれぞれが稼働する環境を示す情報と、前記環境ごとの前記仮想マシンテンプレートを識別する個別テンプレートＩＤとを対応付けて記憶する記憶部と、前記論理テンプレートＩＤに基づいて、前記仮想マシンテンプレートの作成、更新、削除、クローンの少なくとも一つを行う制御部と、を備える。
【０００８】
また、本発明の他の一態様によれば、異なる環境で稼働する同一の構成を持つ複数の仮想マシンの前記環境ごとの仮想マシンテンプレートを管理する方法であって、前記環境ごとの前記仮想マシンテンプレートを識別する個別テンプレートＩＤと、前記環境を示す情報と、同一の構成を持つ前記仮想マシンそれぞれの前記仮想マシンテンプレート全てに対して同一の値が設定される論理テンプレートＩＤと、を対応付けて記憶し、前記仮想マシンテンプレートの作成、更新、削除、クローンのうちの少なくとも一つを行う場合、前記論理テンプレートＩＤに基づいて処理を行う、仮想マシンテンプレート管理方法である。
【発明の効果】
【０００９】
本発明によれば、異なる環境で稼働する同一の構成を持つ複数の仮想マシンそれぞれの仮想マシンテンプレートの全てに対して同一の論理テンプレートＩＤを与えて管理行う。これにより仮想マシンテンプレートの管理コストを削減できるという効果が得られる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態による情報処理システムの一例を示すブロック図である。
【図２】本発明の一実施形態による仮想マシンテンプレートを管理するテーブルの一例である。
【図３】本発明の一実施形態による処理の一例を示す第１のフローチャートである。
【図４】本発明の一実施形態による処理の一例を示す第２のフローチャートである。
【図５】本発明の一実施形態による処理の一例を示す第３のフローチャートである。
【図６】本発明の一実施形態による仮想マシンテンプレート管理システムの最小構成を示す図である。
【図７】本発明の一実施形態における情報処理装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、一実施形態に係る情報処理システムについて図１〜図７を参照して説明する。
図１は、本発明の一実施形態による情報処理システムの一例を示すブロック図である。
図示するように情報処理システム１は、管理サーバＧ１、サーバＢ１〜Ｂ８、共有ディスクＥ１〜Ｅ２を含む。サーバＢ１〜Ｂ４および共有ディスクＥ１は、データセンタＡ１に設置され、サーバＢ５〜Ｂ８と、共有ディスクＥ２と、管理サーバＧ１は、データセンタＡ２に設置される。例えば、データセンタＡ１は大阪に存在し、データセンタＡ２は東京に存在する。データセンタＡ１とデータセンタＡ２は広域ネットワークＨ３を介して通信可能に接続されている。
【００１２】
データセンタＡ１では、サーバＢ１〜Ｂ４および共有ディスクＥ１がネットワークＨ１を介して通信可能に接続されている。サーバＢ１には、ハイパーバイザ００１がインストールされ、ハイパーバイザ００１上で仮想マシンＣ１，Ｃ２が稼働する。同様にサーバＢ２では、ハイパーバイザ００２上で仮想マシンＣ３，Ｃ４が稼働する。サーバＢ３では、ハイパーバイザ００３上で仮想マシンＣ５，Ｃ６が稼働する。サーバＢ４では、ハイパーバイザ００４上で仮想マシンＣ７，Ｃ８が稼働する。共有ディスクＥ１には、ハイパーバイザ００１、００２用の仮想マシンテンプレートＦ１、ハイパーバイザ００３用の仮想マシンテンプレートＦ２、ハイパーバイザ００４用の仮想マシンテンプレートＦ３が保存されている。また、仮想マシンテンプレートＦ１は、サーバＢ２が記憶するテンプレート元仮想マシンＤ１から作成された仮想マシンテンプレートである。同様に仮想マシンテンプレートＦ２は、サーバＢ３が記憶するテンプレート元仮想マシンＤ２から作成され、仮想マシンテンプレートＦ３は、サーバＢ４が記憶するテンプレート元仮想マシンＤ３から作成された仮想マシンテンプレートである。
【００１３】
他方、データセンタＡ２では、サーバＢ５〜Ｂ８、共有ディスクＥ２および管理サーバＧ１がネットワークＨ２で通信可能に接続されている。サーバＢ５では、ハイパーバイザ００５上で仮想マシンＣ９，Ｃ１０が稼働する。サーバＢ６では、ハイパーバイザ００６上で仮想マシンＣ１１，Ｃ１２が稼働する。サーバＢ７では、ハイパーバイザ００７上で仮想マシンＣ１３，Ｃ１４が稼働する。サーバＢ８では、ハイパーバイザ００８上で仮想マシンＣ１５，Ｃ１６が稼働する。共有ディスクＥ２には、ハイパーバイザ００５、００６用の仮想マシンテンプレートＦ４、ハイパーバイザ００７用の仮想マシンテンプレートＦ５、ハイパーバイザ００８用の仮想マシンテンプレートＦ６が格納されている。仮想マシンテンプレートＦ４，Ｆ５，Ｆ６はそれぞれ、サーバＢ６が記憶するテンプレート元仮想マシンＤ４，サーバＢ７が記憶するテンプレート元仮想マシンＤ５，サーバＢ８が記憶するテンプレート元仮想マシンＤ６から作成された仮想マシンテンプレートである。
【００１４】
ここで、一例として、ハイパーバイザ００１，００２，００５，００６は同じ種類のハイパーバイザであり、ハイパーバイザ００３，００７は同じ種類のハイパーバイザであり、ハイパーバイザ００４，００８は同じ種類のハイパーバイザであるとする。また、仮想マシンテンプレートＦ１〜Ｆ６は、同一の構成を有する仮想マシンのテンプレートであるとする。同一の構成を有する仮想マシンとは、ＯＳ（operating system）、ＯＳにインストールされているアプリケーション、各種設定など仮想マシンの論理的な構成が同じであることを意味する。
【００１５】
管理サーバＧ１は、データセンタＡ１〜Ａ２のサーバＢ１〜Ｂ８で稼働する仮想マシンやその仮想マシンテンプレートの管理（作成、更新、削除、クローン）を行う。管理サーバＧ１は、データセンタＡ２に設置されていなくてもよい。例えば、管理サーバＧ１は、データセンタＡ１に設置されていてもよく、あるいは、データセンタＡ１，Ａ２と通信可能な他の場所に設置されていてもよい。管理サーバＧ１は、遠隔のデータセンタで利用される仮想マシンや仮想マシンテンプレートを制御する機能を有している。特に仮想マシンテンプレートの管理は、管理サーバＧ１が有するマルチハイパーバイザロケーションマネージャ(マルチＨＶＬＯマネージャ）Ｇ２が行う。
【００１６】
マルチＨＶＬＯマネージャＧ２は、論理テンプレート管理ＤＢ（ＤＢはデータベース）Ｇ３と、論理テンプレート制御部Ｇ４と、仮想マシンテンプレート制御部Ｇ５と、を備える。
論理テンプレート管理ＤＢＧ３については、次に図２を用いて説明する。
論理テンプレート制御部Ｇ４は、論理テンプレート管理ＤＢＧ３が記憶する情報の管理（書き込み、削除など）、仮想マシンテンプレート制御部Ｇ５への指示を行う。
仮想マシンテンプレート制御部Ｇ５は、仮想マシンテンプレートを制御する。例えば、仮想マシンテンプレート制御部Ｇ５は、仮想マシンテンプレートのコピー、Ｖ２Ｖ、削除などを実行する。
【００１７】
図１に例示するマルチロケーション、マルチハイパーバイザ環境において、同一の構成を有する仮想マシンのテンプレートをロケーションごと、ハイパーバイザごとに用意して管理する場合、一般に仮想マシンの種類（仮想マシンの論理的な構成の種類）、ロケーション、ハイパーバイザを意識して仮想マシンテンプレートを管理する必要がある。例えば、仮想マシンテンプレートにパッチを適用する場合、パッチ適用前の仮想マシンテンプレートＦ１〜Ｆ６を削除し、パッチを適用したテンプレート元仮想マシンＤ１〜Ｄ６から、パッチ適用後の仮想マシンテンプレートＦ１〜Ｆ６を再作成する処理を行うとする。この一連の処理において、一般には、仮想マシンの種類、ハイパーバイザ種別、ロケーションを指定して仮想マシンテンプレートＦ１〜Ｆ６を１つずつ削除し、仮想マシンの種類、ハイパーバイザ種別、ロケーション、テンプレート元仮想マシンを指定して仮想マシンテンプレートＦ１〜Ｆ６を１つずつ作成し直すことが多い。このような方法では、仮想マシンテンプレートの数だけ、テンプレートの削除や作成の指示を与える必要があり、仮想マシン種類やハイパーバイザ種別、ロケーションが増加すると、それだけ管理作業が増加し、管理コストが増大する。そこで、本実施形態では、同一の構成を有する仮想マシンに関する複数の仮想マシンテンプレートに対して共通の論理テンプレートＩＤを与え、同じ論理テンプレートＩＤが設定された全ての仮想マシンテンプレートに対して一括した処理が可能な仕組みを提供する。このような仕組みにより、ロケーション、ハイパーバイザなど環境属性が異なる仮想マシンテンプレートが大量に存在するシステムでも、仮想マシンテンプレートの管理が容易になる。なお、同一の論理テンプレートＩＤが付された複数の仮想マシンテンプレートをまとめて論理テンプレートと呼ぶ。
【００１８】
図２は、本発明の一実施形態による仮想マシンテンプレートを管理するテーブルの一例である。
論理テンプレート管理ＤＢＧ３が記憶するテーブルＬの詳細を図２に示す。論理テンプレート管理ＤＢＧ３は、論理テンプレートを管理するための情報を、テーブル形式で管理する。図２に示すようにテーブルＬは、論理テンプレートＩＤに紐づく、ハイパーバイザＩＤ、ハイパーバイザ種別、ロケーションＩＤ、仮想マシンテンプレートＩＤ、テンプレート元仮想マシンＩＤ、を対応付けて記憶している。論理テンプレートＩＤには、同じ構成を有する仮想マシンに対して付与される識別情報が設定される。ハイパーバイザＩＤには、ハイパーバイザ種別ごとに付与される識別情報が設定される。ハイパーバイザ種別には、ＶＭＷａｒｅ ＥＳＸｉ（登録商標）、Ｍｉｃｒｏｓｏｆｔ Ｈｙｐｅｒ−Ｖ（登録商標）、ＫＶＭなどハイパーバイザの名称等が設定される。ロケーションＩＤには、仮想マシンテンプレートが格納された共有ディスクが設置された場所や、仮想マシンテンプレートを用いて作成した仮想マシンが稼働するサーバが設置された場所の識別情報が設定される。仮想マシンテンプレートＩＤには、ハイパーバイザ種別およびロケーションＩＤごとの仮想マシンテンプレートの識別情報が設定される。テンプレート元仮想マシンＩＤには、仮想マシンテンプレートの元となる仮想マシンの識別情報が設定される。
【００１９】
例えば、図１の仮想マシンテンプレートＦ１〜Ｆ６が、同一の構成を有する仮想マシンの仮想マシンテンプレートであるとすると、仮想マシンテンプレートＦ１〜Ｆ６は、テーブルＬで管理され、同じ論理テンプレートＩＤ（例えば、「ｌｏｇｉｃａｌ０１」）が設定される。つまり、論理テンプレートＩＤ（ｌｏｇｉｃａｌ０１）を有する論理テンプレートには、仮想マシンテンプレートＦ１〜Ｆ６が含まれる。
また、例えば、仮想マシンテンプレートＦ１であれば、ハイパーバイザＩＤおよびハイパーバイザ種別には、ハイパーバイザ００１のＩＤ、種別が設定され、ロケーションＩＤにはデータセンタＡ１の識別情報、仮想マシンテンプレートＩＤには仮想マシンテンプレートＦ１の識別情報、テンプレート元仮想マシンＩＤにはテンプレート元仮想マシンＤ１の識別情報が設定される。
【００２０】
以下で説明するように、任意の仮想マシンを選択して仮想マシンテンプレートの更新などを指示すると、ロケーションやハイパーバイザ種別の違いを超えて、選択した仮想マシンと同じ論理テンプレートＩＤが設定された全ての仮想マシンテンプレートの更新処理などを実行することができる。なお、テーブルＬが記憶する情報の管理は、論理テンプレート制御部Ｇ４が行う。また、論理テンプレートＩＤは、論理テンプレート制御部Ｇ４によって生成される。次に論理テンプレートＩＤを用いた仮想マシンテンプレート管理における各種処理について説明する。
【００２１】
（論理テンプレートの作成・更新）
図３は、本発明の一実施形態による処理の一例を示す第１のフローチャートである。
まず、ユーザが更新したい仮想マシンテンプレートに対応するテンプレート元仮想マシンＩＤを選択し、管理サーバＧ１（マルチＨＶＬＯマネージャＧ２）へ更新を指示する（ステップＪ１）。すると、論理テンプレート制御部Ｇ４が、論理テンプレート管理ＤＢＧ３のテーブルＬを参照して、選択されたテンプレート元仮想マシンＩＤに関連する論理テンプレートＩＤが存在するかどうかを判定する（ステップＪ２）。
論理テンプレートＩＤが存在する場合（ステップＪ２；Ｙｅｓ）、仮想マシンテンプレートの更新処理と判断し、一旦、論理テンプレートＩＤに紐づく仮想マシンテンプレートを全て削除する。具体的には、論理テンプレート制御部Ｇ４は、当該論理テンプレートＩＤに関連する全ての仮想マシンテンプレートＩＤを取得する（ステップＪ３）。例えば、ユーザがテンプレート元仮想マシンＩＤ「ｖｍ０１」を選択した場合、論理テンプレート制御部Ｇ４は、図２に例示するテーブルＬから仮想マシンテンプレートＩＤ「ｖｍ０１−ｔｅｍｐｌａｔｅ」〜「ｖｍ０３−ｔｅｍｐｌａｔｅ」を取得する。論理テンプレート制御部Ｇ４は、仮想マシンテンプレート制御部Ｇ５へ取得した仮想マシンテンプレートＩＤを出力する。次に仮想マシンテンプレート制御部Ｇ５は、仮想マシンテンプレートＩＤに該当する仮想マシンテンプレートを削除する（ステップＪ４）。例えば、取得した仮想マシンテンプレートＩＤが示す仮想マシンテンプレートが、図１のテンプレートＦ１〜Ｆ６に該当する場合、仮想マシンテンプレート制御部Ｇ５は、仮想マシンテンプレートＦ１〜Ｆ６を削除する。
次に論理テンプレート制御部Ｇ４は、ステップＪ３で取得した仮想マシンテンプレートＩＤの値をテーブルＬから削除する（ステップＪ５）。
【００２２】
ステップＪ５の処理後、または、ステップＪ２にて論理テンプレートＩＤが存在しないと判定された場合（ステップＪ２；Ｎｏ）、仮想マシンテンプレート制御部Ｇ５は、テンプレート元仮想マシンから仮想マシンテンプレートを作成して共有ディスクに保存する（ステップＪ６）。
例えば、ステップＪ２にて論理テンプレートＩＤが存在すると判定された場合、論理テンプレート制御部Ｇ４は、その論理テンプレートＩＤに関連する全てのテンプレート元仮想マシンＩＤとロケーションＩＤをテーブルＬから取得し、それらのＩＤ情報を仮想マシンテンプレート制御部Ｇ５に出力して仮想マシンテンプレートの作成を指示する。仮想マシンテンプレート制御部Ｇ５は、取得したテンプレート元仮想マシンＩＤに該当するテンプレート元仮想マシンに基づいて、仮想マシンテンプレートを作成し、ロケーションＩＤが示すデータセンタの共有ディスクに保存する。
【００２３】
また、例えば、ステップＪ２にて論理テンプレートＩＤが存在しないと判定された場合、仮想マシンテンプレート制御部Ｇ５は、ユーザが選択したテンプレート元仮想マシンＩＤに該当するテンプレート元仮想マシンに基づいて、仮想マシンテンプレートを作成する。仮想マシンテンプレート制御部Ｇ５は、例えば、テンプレート元仮想マシンが格納されているサーバが設置されたデータセンタの共有ディスクに、作成した仮想マシンテンプレートを保存する。
【００２４】
次に論理テンプレート制御部Ｇ４は、作成した仮想マシンテンプレートのＩＤを論理テンプレート管理ＤＢに格納する（ステップＪ７）。
例えば、ステップＪ２にて論理テンプレートＩＤが存在すると判定された場合、論理テンプレート制御部Ｇ４は、仮想マシンテンプレートの作成に用いたテンプレート元仮想マシンＩＤと論理テンプレートＩＤに関連付くテーブルＬのレコードに、作成した仮想マシンテンプレートの仮想マシンテンプレートＩＤを格納する。なお、仮想マシンテンプレートＩＤは、例えば、仮想マシンテンプレート作成の際に仮想マシンテンプレート制御部Ｇ５が生成し、論理テンプレート制御部Ｇ４へ通知してもよい。
【００２５】
また、ステップＪ２にて論理テンプレートＩＤが存在しないと判定された場合、論理テンプレート制御部Ｇ４は、例えば、作成した仮想マシンテンプレートの仮想マシンテンプレートＩＤとともに、作成した仮想マシンテンプレートに関するハイパーバイザＩＤ，ハイパーバイザ種別、ロケーションＩＤ、仮想マシンテンプレートＩＤ、テンプレート元仮想マシンＩＤをテーブルＬに格納し、新たな論理テンプレートＩＤを設定する。
【００２６】
図３を用いて説明した処理によれば、ユーザが、テンプレート元仮想マシンＩＤを選択するだけで、選択された仮想マシンと同じ論理テンプレートＩＤが付された複数の仮想マシンテンプレートを一括して更新することができる。これにより、仮想マシンテンプレート更新の処理コストを低減することができる。
【００２７】
なお、ステップＪ２にて論理テンプレートＩＤが存在しないと判定された場合、上記説明では、ユーザが指定したテンプレート元仮想マシンに基づいて、仮想マシンテンプレートを作成するとしたが、他の環境用の仮想マシンテンプレートを自動作成する処理を行ってもよい。例えば、論理テンプレート管理ＤＢＧ３が、テーブルＬ以外に、テーブルＬに登録されていないテンプレート元仮想マシンのＩＤを、同一の構成を有する仮想マシン単位で記憶しているとする。また、それらのテンプレート元仮想マシンＩＤには、ハイパーバイザ種別やロケーションＩＤが関連付けられて登録されているとする。そして、図３のフローチャートの処理が実行されたときにステップＪ２でＮｏの判定となると、論理テンプレート制御部Ｇ４は、未登録のテンプレート元仮想マシンのＩＤを取得して、仮想マシンテンプレート制御部Ｇ５へ仮想マシンテンプレートの作成を指示する。仮想マシンテンプレート制御部Ｇ５は、それぞれのテンプレート元仮想マシンから仮想マシンテンプレートを作成し、仮想マシンテンプレートＩＤを生成する。他方、論理テンプレート制御部Ｇ４は、同一の構成を有する仮想マシン単位で論理テンプレートＩＤを生成する。また、論理テンプレート制御部Ｇ４は、論理テンプレートＩＤ、仮想マシンテンプレートＩＤ、ロケーションＩＤ、ハイパーバイザ種別、テンプレート元仮想マシンＩＤ等を対応付けてテーブルＬへ登録する。これにより、新たな種類の仮想マシンを運用する際に、環境別の仮想マシンテンプレートの作成、テーブルＬへの管理情報の登録を自動的に行うことができる。
【００２８】
（論理テンプレートの利用）
次に、論理テンプレートの利用について図４を用いて説明する。
図４は、本発明の一実施形態による処理の一例を示す第２のフローチャートである。
まず、ユーザが利用したい仮想マシンの論理テンプレートＩＤ、作成先のロケーションＩＤ、ハイパーバイザ種別を選択し（ステップＫ１）、管理サーバＧ１へ仮想マシンの作成を指示する。論理テンプレート制御部Ｇ４は、論理テンプレート管理ＤＢＧ３のテーブルＬを参照し、ユーザが選択した論理テンプレートＩＤ、ロケーションＩＤ、ハイパーバイザ種別に関連する仮想マシンテンプレートＩＤが存在するか否かを判定する（ステップＫ２）。例えば、図２の設定例で、ユーザが選択した論理テンプレートＩＤ、ロケーションＩＤ、ハイパーバイザ種別が、それぞれ「ｌｏｇｉｃａｌ０１」、「Ｏｓａｋａ」、「ＫＶＭ」であれば、論理テンプレート制御部Ｇ４は、仮想マシンテンプレートＩＤが存在する（「ｖｍ０２−ｔｅｍｐｌａｔｅ」）と判定する。
【００２９】
ユーザが選択した条件に合う仮想マシンテンプレートＩＤが存在する場合（ステップＫ２；Ｙｅｓ）、論理テンプレート制御部Ｇ４は、その仮想マシンテンプレートＩＤを読み出して、管理サーバＧ１へ出力する。管理サーバＧ１は、取得した仮想マシンテンプレートＩＤに該当する仮想マシンテンプレートを用いて仮想マシンを作成する（ステップＫ８）。
【００３０】
他方、ユーザが選択した条件に合う仮想マシンテンプレートＩＤが存在しない場合（ステップＫ２；Ｎｏ）、論理テンプレート制御部Ｇ４は、ユーザが選択した論理テンプレートＩＤおよびハイパーバイザ種別に紐づく仮想マシンテンプレートＩＤがテーブルＬに存在するかどうかを判定する（ステップＳＫ３）。例えば、図２の設定例で、ユーザが選択した論理テンプレートＩＤ、ロケーションＩＤ、ハイパーバイザ種別が、それぞれ「ｌｏｇｉｃａｌ０１」、「Ｔｏｋｙｏ」、「ＫＶＭ」であれば、論理テンプレート制御部Ｇ４は、仮想マシンテンプレートＩＤが存在する（「ｖｍ０２−ｔｅｍｐｌａｔｅ」）と判定する。また、例えば、ユーザが選択した論理テンプレートＩＤ、ロケーションＩＤ、ハイパーバイザ種別が、それぞれ「ｌｏｇｉｃａｌ０１」、「Ｔｏｋｙｏ」、「Ｘｅｎ」であれば、論理テンプレート制御部Ｇ４は、仮想マシンテンプレートＩＤが存在しないと判定する。
【００３１】
仮想マシンテンプレートＩＤが存在する場合（ステップＫ３；Ｙｅｓ）、仮想マシンテンプレート制御部Ｇ５は、ユーザが選択した論理テンプレートＩＤおよびハイパーバイザ種別と一致する仮想マシンテンプレートＩＤに該当する仮想マシンテンプレートをコピーして、仮想マシンテンプレートをクローンする（ステップＫ４）。
【００３２】
仮想マシンテンプレートＩＤが存在しない場合（ステップＫ３；Ｎｏ）、仮想マシンテンプレート制御部Ｇ５は、異なるハイパーバイザ種別であるためｖ２ｖクローン機能を活用してクローンを作成する（ステップＫ５）。例えば、仮想マシンテンプレート制御部Ｇ５は、ユーザが選択した論理テンプレートＩＤと一致するレコードの中から任意に仮想マシンテンプレートＩＤを選んで（例えば、ロケーションＩＤが一致するものを選択）、その仮想マシンテンプレートＩＤに該当するテンプレートからｖ２ｖにより仮想マシンテンプレートをクローンする。
なお、ステップＫ４，Ｋ５の何れの場合も、仮想マシンテンプレート制御部Ｇ５は、クローンした仮想マシンテンプレートのＩＤを生成し、論理テンプレート制御部Ｇ４へ通知する。
【００３３】
次に仮想マシンテンプレート制御部Ｇ５は、ユーザが選択したロケーションの共有ディスクにクローンした仮想マシンテンプレートを保存する（ステップＫ６）。
次に論理テンプレート制御部Ｇ４は、クローンした仮想マシンテンプレートのＩＤをテーブルＬに格納する（ステップＫ７）。例えば、論理テンプレート制御部Ｇ４は、クローン元のテンプレートに関連するレコードをコピーして、仮想マシンテンプレートＩＤとロケーションＩＤを、クローンした仮想マシンテンプレートＩＤ、保存先のロケーションＩＤで更新する。
次に論理テンプレート制御部Ｇ４は、格納した仮想マシンテンプレートＩＤを管理サーバＧ１へ出力する。管理サーバＧ１は、その仮想マシンテンプレートＩＤが示す仮想マシンテンプレートを用いて仮想マシンを作成する（ステップＫ８）。
【００３４】
図４を用いて説明した処理によれば、ユーザが利用したい仮想マシンの論理テンプレートＩＤ、ロケーションＩＤ、ハイパーバイザ種別を選択すると、選択した条件を満たす仮想マシンを作成することができる。特に選択された条件を満たす仮想マシンテンプレートが存在しない場合、自動的に仮想マシンテンプレートをクローンして、その仮想マシンテンプレートから仮想マシンを作成することができる。従って、ユーザは、個別に条件に合う仮想マシンテンプレートの作成を行う必要が無く、仮想マシンテンプレートの管理コストを低減することができる。
【００３５】
（論理テンプレートの削除）
次に、論理テンプレートの削除について図５を用いて説明する。
図５は、本発明の一実施形態による処理の一例を示す第３のフローチャートである。
まず、ユーザが、削除対象の論理テンプレートＩＤを選択し(ステップＬ１)、管理サーバＧ１へ削除を指示する。論理テンプレート制御部Ｇ４は、論理テンプレート管理ＤＢＧ３のテーブルＬを参照し、ユーザが選択した論理テンプレートＩＤに対応する仮想マシンテンプレートＩＤを取得する（ステップＬ２）。論理テンプレート制御部Ｇ４は、仮想マシンテンプレートＩＤを仮想マシンテンプレート制御部Ｇ５へ出力し、削除を指示する。仮想マシンテンプレート制御部Ｇ５は、取得した仮想マシンテンプレートＩＤに該当する仮想マシンテンプレートを全て削除する（ステップＬ３）。
次に論理テンプレート制御部Ｇ４は、削除対象の論理テンプレートＩＤを有するレコードを論理テンプレート管理ＤＢＧ３のテーブルＬから全て削除する（ステップＬ４）。
【００３６】
図５を用いて説明した処理によれば、不要になった仮想マシンの仮想マシンテンプレートを一括して削除することができ、仮想マシンテンプレートの管理コストを低減することができる。
【００３７】
マルチロケーション、マルチハイパーバイザ仮想化システムでは、ロケーションやハイパーバイザごとに仮想マシンテンプレートを管理するため、管理コストが増加する可能性がある。これに対し、本実施形態によれば、環境別の複数の仮想マシンテンプレートを同一の論理テンプレートＩＤで管理することにより、あたかも１つの仮想マシンテンプレートを作成、更新、削除、クローンする場合と同様にして、ロケーション別、ハイパーバイザ別のテンプレートを作成等することができる。これにより、仮想マシンテンプレートの管理コストを削減することができる。また、本実施形態の管理サーバＧ１、マルチＨＶＬＯマネージャＧ２によれば、各ロケーションに管理サーバを設ける必要が無く、マルチロケーションに跨る仮想化システムを一元的に管理することができる。
【００３８】
図６は、本発明の一実施形態による仮想マシンテンプレート管理システムの最小構成を示す図である。
図６に示すように仮想マシンテンプレート管理システム１００は、少なくとも記憶部１０１と、制御部１０２を備える。
記憶部１０１は、複数の異なる環境で稼働する同一の構成を持つ仮想マシンの仮想マシンテンプレートの全てに対して設定される１つの論理テンプレートＩＤと、仮想マシンのそれぞれが稼働する環境を示す情報（例えば、ロケーションやハイパーバイザ種別）と、環境ごとに用意される仮想マシンテンプレートの識別情報とを対応付けて記憶する。
制御部１０２は、記憶部１０１に登録された情報に基づいて、仮想マシンテンプレートの管理（作成、更新、削除、クローンなど）を行う。また、制御部１０２は、仮想マシンテンプレートの管理に伴い、記憶部１０１に登録された情報の更新などを行う。
仮想マシンテンプレート管理システム１００は、図１のマルチＨＶＬＯマネージャＧ２に対応する。記憶部１０１は、論理テンプレート管理ＤＢＧ３に対応し、制御部１０２は、論理テンプレート制御部Ｇ４および仮想マシンテンプレート制御部Ｇ５に対応する。
【００３９】
図７は、本発明の各実施形態における情報処理装置のハードウェア構成の一例を示す図である。
コンピュータ９００は、ＣＰＵ９０１、主記憶装置９０２、補助記憶装置９０３、入出力インタフェース９０４、通信インタフェース９０５を備える。上述の管理サーバＧ１は、コンピュータ９００に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置９０３に記憶されている。ＣＰＵ９０１は、プログラムを補助記憶装置９０３から読み出して主記憶装置９０２に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ９０１は、プログラムに従って、記憶領域を主記憶装置９０２に確保する。また、ＣＰＵ９０１は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置９０３に確保する。
【００４０】
なお、少なくとも１つの実施形態において、補助記憶装置９０３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、入出力インタフェース９０４を介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ９００に配信される場合、配信を受けたコンピュータ９００が当該プログラムを主記憶装置９０２に展開し、上記処理を実行しても良い。また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置９０３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００４１】
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。仮想マシンテンプレートＩＤは個別テンプレートＩＤの一例である。
【符号の説明】
【００４２】
１・・・情報処理システム
Ａ１，Ａ２・・・データセンタ
Ｂ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６，Ｂ７，Ｂ８・・・サーバ
Ｃ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５，Ｃ６，Ｃ７，Ｃ８，Ｃ９，Ｃ１０，Ｃ１１，Ｃ１２，Ｃ１３，Ｃ１４・・・仮想マシン
Ｄ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５・・・テンプレート元仮想マシン
Ｅ１，Ｅ２・・・共有ディスク
Ｆ１，Ｆ２，Ｆ３，Ｆ４，Ｆ５，Ｆ６・・・仮想マシンテンプレート
Ｇ１・・・管理サーバ
Ｇ２・・・マルチＨＶＬＯマネージャ
Ｇ３・・・論理テンプレート管理ＤＢ
Ｇ４・・・論理テンプレート制御部
Ｇ５・・・仮想マシンテンプレート制御部
Ｈ１，Ｈ２，Ｈ３・・・ネットワーク
Ｌ・・・テーブル
１００・・・仮想マシンテンプレート管理システム
１０１・・・記憶部
１０２・・・制御部
９００・・・コンピュータ
９０１・・・ＣＰＵ
９０２・・・主記憶装置
９０３・・・補助記憶装置
９０４・・・入出力インタフェース
９０５・・・通信インタフェース
【図１】
2020080037.tif 000003
【図２】
2020080037.tif 000004
【図３】
2020080037.tif 000005
【図４】
2020080037.tif 000006
【図５】
2020080037.tif 000007
【図６】
2020080037.tif 000008
【図７】
2020080037.tif 000009