(57)【要約】  効率的に仮想マシンを構築し、構築時間を削減する。パラメータ設定の対象となるターゲット仮想マシン以外に設定用仮想マシン（１６）を設け、ターゲット仮想マシンを起動することなく、ホスト（４）のホスト側仮想マシン設定部（１２）が、ターゲット仮想マシン設定パラメータファイル（５）を取得し、ターゲット仮想マシンのパラメータ設定用の記憶領域（ターゲット仮想マシンデータ（８））を設定用仮想マシン（１６）からアクセス可能とし、ゲスト側仮想マシン設定部（１８）が、ホスト側仮想マシン設定部（１２）から設定パラメータファイル（５）を取得し、アクセス可能とされたターゲット仮想マシンのパラメータ設定用の記憶領域（ターゲット仮想マシンデータ（８））に設定パラメータを書き込んで、ターゲット仮想マシンを起動することなく、ターゲット仮想マシンのパラメータ設定を行う。
2009034760.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンのパラメータ設定を行う情報処理装置であって、
パラメータ設定の対象となるターゲット仮想マシンに設定する設定パラメータを記憶し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を有する記憶装置と、
ホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、前記ホストＯＳ上で動作するホスト側仮想マシン設定部とを有するホストと、
ゲストＯＳと、前記ゲストＯＳ上で動作するゲスト側仮想マシン設定部とを有し、前記ターゲット仮想マシンとは異なる仮想マシンである設定用仮想マシンとを備え、
前記ターゲット仮想マシンを起動することなく、
前記ホストのホスト側仮想マシン設定部が、
前記記憶装置から前記設定パラメータを取得し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を前記設定用仮想マシンからアクセス可能とし、
前記設定用仮想マシンのゲスト側仮想マシン設定部が、
前記ホストのホスト側仮想マシン設定部から前記設定パラメータを取得し、前記ホストのホスト側仮想マシン設定部によりアクセス可能とされた前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記ターゲット仮想マシンのパラメータ設定を行うことを特徴とする情報処理装置。
【請求項２】
前記記憶装置は、
設定パラメータが記述されたスクリプトを記憶し、
前記設定用仮想マシンのゲスト側仮想マシン設定部は、
前記ホストのホスト側仮想マシン設定部から前記スクリプトを取得し、前記スクリプトを実行して、前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、更に、
仮想マシンの複製を行う仮想マシン複製部を有し、
前記記憶装置は、
前記仮想マシン複製部により複製された複製ターゲット仮想マシンに設定する設定パラメータを記憶し、前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域を有し、
前記複製ターゲット仮想マシンを起動することなく、
前記ホストのホスト側仮想マシン設定部が、
前記記憶装置から前記複製ターゲット仮想マシンの設定パラメータを取得し、前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域を前記設定用仮想マシンからアクセス可能とし、
前記設定用仮想マシンのゲスト側仮想マシン設定部が、
前記ホストのホスト側仮想マシン設定部から前記複製ターゲット仮想マシンの設定パラメータを取得し、前記ホストのホスト側仮想マシン設定部によりアクセス可能とされた前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記複製ターゲット仮想マシンのパラメータ設定を行うことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、更に、
ハードウェアリソースに負荷を加える処理を行う負荷評価用仮想マシンと、
前記負荷評価用仮想マシンによる処理により前記ハードウェアリソースにかかる負荷をモニタするリソースモニタと、
前記リソースモニタによるモニタ結果値と閾値とを比較して、前記モニタ結果値が前記閾値以下である場合に、新たな負荷評価用仮想マシンを起動させ、前記モニタ結果値が前記閾値を超える場合に、負荷評価用仮想マシンの現在の動作数に基づいて、仮想マシンの動作可能限度数を判断する負荷評価部とを有することを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
仮想マシンのパラメータ設定を行う情報処理装置であって、
パラメータ設定の対象となるターゲット仮想マシンに設定する設定パラメータを記憶し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を有する記憶装置と、
ホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、前記ホストＯＳ上で動作する仮想マシン設定部とを有するホストを備え、
前記ターゲット仮想マシンを起動することなく、
前記ホストの仮想マシン設定部が、
前記記憶装置から前記設定パラメータを取得し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域をアクセス可能とし、アクセス可能とした前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記ターゲット仮想マシンのパラメータ設定を行うことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの設定を効率的に行う技術に関する。
【背景技術】
【０００２】
仮想マシンを構築する場合、通常は、仮想マシン作成後にゲストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のインストール、ゲストＯＳの設定、アプリケーションのインストール、アプリケーションの設定などを行う。
一度仮想マシンを作成した後は、この仮想マシンのイメージを利用して複製することにより新たな仮想マシンを構築することができる。
この場合の仮想マシン構築方法は以下のようになる。
（１）仮想マシンデータ（例えばイメージファイルなど）をターゲットサーバのストレージにコピーする。
（２）コピーした仮想マシンデータで仮想マシンを起動する。
（３）起動した仮想マシン上で設定（ライセンス、ホスト名、ＩＰアドレス、アプリケーションの設定、その他の設定項目）を行う。【０００３】
このように、設定は複製した仮想マシンを起動した後に仮想マシン上で行う必要がある。
複製した仮想マシンを起動せずに設定まで行う方法として、設定用のイメージファイルを多数用意しておき、マスタイメージファイルと組み合わせて仮想マシンを構築する方法がある（特許文献１）。
これは複数の仮想マシンが稼動する環境を管理し、必要な時にすぐに環境の再構築を行うことができる仮想マシン管理システムを提供する。
【特許文献１】特開２００５−３３２２２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
仮想マシン搭載の製品を大量に生産する場合について考えてみる。
ライセンスやホスト名などは別々の値に設定する必要があるため、仮想マシンデータをターゲットのサーバに複製するだけではなく、個別の設定が必要である。
従来の方法で設定を行う場合、ターゲットの仮想マシンを個別に起動した後に個別に設定を行っていかなければならず、効率が悪いという課題がある。特にターゲットの仮想マシン上のＯＳが重く起動に時間がかかる場合は、さらに作業効率が悪くなる。
また、特許文献１に示されている設定用のイメージファイルを用いて設定する場合は、製品個別の設定用イメージファイルを大量に用意しておかなければならないという課題がある。
また、製品モデルによってインストールするアプリケーションや設定が異なったりする場合がある。この場合、モデルにしたがった仮想マシンを作成後、ＯＳをインストールし、モデルにしたがってパラメータを設定し、必要なアプリケーションをインストールする必要がある。このため、モデルごと個別に設定していかなければならず効率が悪いという課題がある。【０００５】
この発明は、上記のような課題を解決することを主な目的としており、効率的に仮想マシンを構築し、構築時間を削減することを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、
仮想マシンのパラメータ設定を行う情報処理装置であって、
パラメータ設定の対象となるターゲット仮想マシンに設定する設定パラメータを記憶し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を有する記憶装置と、
ホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、前記ホストＯＳ上で動作するホスト側仮想マシン設定部とを有するホストと、
ゲストＯＳと、前記ゲストＯＳ上で動作するゲスト側仮想マシン設定部とを有し、前記ターゲット仮想マシンとは異なる仮想マシンである設定用仮想マシンとを備え、
前記ターゲット仮想マシンを起動することなく、
前記ホストのホスト側仮想マシン設定部が、
前記記憶装置から前記設定パラメータを取得し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を前記設定用仮想マシンからアクセス可能とし、
前記設定用仮想マシンのゲスト側仮想マシン設定部が、
前記ホストのホスト側仮想マシン設定部から前記設定パラメータを取得し、前記ホストのホスト側仮想マシン設定部によりアクセス可能とされた前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記ターゲット仮想マシンのパラメータ設定を行うことを特徴とする。【０００７】
前記記憶装置は、
設定パラメータが記述されたスクリプトを記憶し、
前記設定用仮想マシンのゲスト側仮想マシン設定部は、
前記ホストのホスト側仮想マシン設定部から前記スクリプトを取得し、前記スクリプトを実行して、前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込むことを特徴とする。【０００８】
前記情報処理装置は、更に、
仮想マシンの複製を行う仮想マシン複製部を有し、
前記記憶装置は、
前記仮想マシン複製部により複製された複製ターゲット仮想マシンに設定する設定パラメータを記憶し、前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域を有し、
前記複製ターゲット仮想マシンを起動することなく、
前記ホストのホスト側仮想マシン設定部が、
前記記憶装置から前記複製ターゲット仮想マシンの設定パラメータを取得し、前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域を前記設定用仮想マシンからアクセス可能とし、
前記設定用仮想マシンのゲスト側仮想マシン設定部が、
前記ホストのホスト側仮想マシン設定部から前記複製ターゲット仮想マシンの設定パラメータを取得し、前記ホストのホスト側仮想マシン設定部によりアクセス可能とされた前記複製ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記複製ターゲット仮想マシンのパラメータ設定を行うことを特徴とする。【０００９】
前記情報処理装置は、更に、
ハードウェアリソースに負荷を加える処理を行う負荷評価用仮想マシンと、
前記負荷評価用仮想マシンによる処理により前記ハードウェアリソースにかかる負荷をモニタするリソースモニタと、
前記リソースモニタによるモニタ結果値と閾値とを比較して、前記モニタ結果値が前記閾値以下である場合に、新たな負荷評価用仮想マシンを起動させ、前記モニタ結果値が前記閾値を超える場合に、負荷評価用仮想マシンの現在の動作数に基づいて、仮想マシンの動作可能限度数を判断する負荷評価部とを有することを特徴とする。【００１０】
本発明に係る情報処理装置は、
仮想マシンのパラメータ設定を行う情報処理装置であって、
パラメータ設定の対象となるターゲット仮想マシンに設定する設定パラメータを記憶し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域を有する記憶装置と、
ホストＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、前記ホストＯＳ上で動作する仮想マシン設定部とを有するホストを備え、
前記ターゲット仮想マシンを起動することなく、
前記ホストの仮想マシン設定部が、
前記記憶装置から前記設定パラメータを取得し、前記ターゲット仮想マシンのパラメータ設定用の記憶領域をアクセス可能とし、アクセス可能とした前記ターゲット仮想マシンのパラメータ設定用の記憶領域に前記設定パラメータを書き込んで、前記ターゲット仮想マシンのパラメータ設定を行うことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ターゲット仮想マシンを起動することなくターゲット仮想マシンの設定が行えるため、実際にターゲット仮想マシンを起動して設定を行う場合に比較して効率的に設定が行える。
また、設定パラメータが記述されたスクリプトを実行して設定を行うため、設定用イメージファイルを大量に用意しておく必要がない。
【発明を実施するための最良の形態】
【００１２】
実施の形態１．
本実施の形態に係るサーバ装置（情報処理装置）を用いた仮想マシンの設定方法の詳細を説明する前に、先ず、本実施の形態に係る仮想マシンの設定方法の概要を説明する。【００１３】
本実施の形態では、仮想マシンの設定は、ターゲット仮想マシン（パラメータ設定の対象となる仮想マシン）を立ち上げて行うのではなく、設定用の仮想マシンを別途立ち上げ、この設定用仮想マシン上のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に、ターゲット仮想マシンのディスクをマウントし、マウントしたファイルを書き換えることにより行う。本実施の形態での仮想マシン構築方法の流れは以下となる。
（１）仮想マシンデータ（例えばイメージファイルなど）をターゲットサーバのストレージにコピーする。
（２）設定用仮想マシンデータ（例えばイメージファイルなど）をターゲットサーバのストレージにコピーする。
（３）設定パラメータファイルを用意する。
（４）設定用仮想マシンを起動する。
（５）ターゲット仮想マシンデータをマウントして、設定用仮想マシンからファイルアクセスできるようにする。
（６）設定用仮想マシン上でターゲット仮想マシンの設定を行う（ホスト名やＩＰアドレス、アプリケーションの設定、ライセンス、その他の設定項目）。
（７）設定用仮想マシンをシャットダウンする。
（８）設定用仮想マシン、設定パラメータファイルをストレージから削除する（削除の必要がなければそのままでも可）。【００１４】
設定用仮想マシンのＯＳは必要最小限の機能だけにすることによりＯＳ起動時間を短くすることができ、実際にターゲット仮想マシンのＯＳを起動するのに比較して効率的に設定が行える。
ターゲット仮想マシンを立ち上げる前に設定が行えるため、例えば、ＩＰアドレス設定の場合、ある仮想マシンをコピーして新たな仮想マシンを構築した場合、新たな仮想マシンを立ち上げるとＩＰアドレスが重複するためエラーになってしまう問題を回避できる。
また、複数の仮想マシンの設定を行う場合は、設定用仮想マシンで、ターゲット仮想マシンデータをマウント、アンマウントをすることにより設定用仮想マシンをターゲット仮想マシンが変わる度に再起動する必要がなく、効率化できる。
なお、本方式は、仮想マシンモニタ（または、ホストＯＳ）に手を加えずに実現できるため、市販の仮想マシンソフトウェアにも適用可能である。【００１５】
次に、本実施の形態に係るサーバ装置（情報処理装置）及び仮想マシンの設定方法の詳細を説明する。【００１６】
図１に本実施の形態に係るサーバ装置（１）（情報処理装置）の全体構成例を示す。
なお、以下、サーバ装置（１）を単にサーバ（１）ともいう。
サーバ（１）内には記憶装置（２）があり、仮想マシンモニタ（３）により仮想マシンが管理される。ここでは、仮想マシンモニタ（３）上でホスト（４）が動作する例で示すが、仮想マシンモニタ（３）自身がホストの機能を含む場合や、ホストＯＳ上に仮想マシンモニタが存在する場合でも同様である。
また、図１では、ホスト（４）と設定用仮想マシン（１６）が起動された後の状態を示している。【００１７】
ホスト（４）ではホストＯＳ（１１）が動作し、その上にホスト側仮想マシン設定部（１２）のアプリケーションが動作する。
ホスト側仮想マシン設定部（１２）は、主に、ユーザインタフェース（１３）、ファイル読込部（１４）、ゲスト側仮想マシン設定部とのインタフェース部（１５）で構成される。
また、ホスト側仮想マシン設定部（１２）が設定用仮想マシン定義ファイル（９）と設定用仮想マシンデータ（１０）を使用して、設定用仮想マシン（１６）の起動（２３）を仮想マシンモニタ（３）に依頼する。【００１８】
設定用仮想マシン（１６）内で、ゲストＯＳ（１７）が動作し、その上でゲスト側仮想マシン設定部（１８）のアプリケーションが動作する。
ゲスト側仮想マシン設定部（１８）は、主に、仮想マシン設定パラメータ解析・実行部（１９）、仮想マシン定義解析部（２０）、ディスクまたはファイルマウント部（２１）、ホスト側仮想マシン設定部とのインタフェース部（２２）で構成される。
ゲスト側仮想マシン設定部とのインタフェース部（１５）とホスト側仮想マシン設定部とのインタフェース部（２２）は、ホスト側仮想マシン設定部（１２）とゲスト側仮想マシン設定部（１８）との間でデータを受け渡し（２４）するための機能である。例えばソケット通信などで実現できる。【００１９】
詳細は後述するが、本実施の形態では、ターゲット仮想マシンを起動することなく、設定用仮想マシン（１６）のゲスト側仮想マシン設定部（１８）が、ゲスト側仮想マシン設定部とのインタフェース部（１５）とホスト側仮想マシン設定部とのインタフェース部（２２）との通信により、ホスト（４）のホスト側仮想マシン設定部（１２）に記憶装置（２）からのターゲット仮想マシン設定パラメータファイル（５）の取得を依頼し、ホスト側仮想マシン設定部（１２）が、記憶装置（２）からターゲット仮想マシン設定パラメータファイル（５）を取得し、また、ターゲット仮想マシンのパラメータ設定用の記憶領域を設定用仮想マシン（１６）からアクセス可能とする（ターゲット仮想マシン用の仮想ディスクをアタッチする）。
そして、設定用仮想マシン（１６）のゲスト側仮想マシン設定部（１８）が、ホスト側仮想マシン設定部（１２）から設定パラメータを取得し、アクセス可能とされたターゲット仮想マシンのパラメータ設定用の記憶領域（アタッチされたターゲット仮想マシンの仮想ディスク）に設定パラメータを書き込んで、ターゲット仮想マシンを起動することなく、ターゲット仮想マシンのパラメータ設定を行う。【００２０】
記憶装置（２）には、ターゲット仮想マシン定義ファイル（７）とターゲット仮想マシンデータ（８）が記憶されている。
ターゲット仮想マシン定義ファイル（７）には、パラメータ設定の対象となるターゲット仮想マシンの仮想ハードウェアの構成（ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の数、メモリ容量、ディスク容量等）が定義されている。
ターゲット仮想マシンデータ（８）は、ターゲット仮想マシンが用いる仮想ディスクの実体であるファイルまたはディスクパーティションであり、ターゲット仮想マシンのパラメータを書き込むための記憶領域である。後述するように、ホスト（４）のホスト側仮想マシン設定部（１２）がターゲット仮想マシンが用いる仮想ディスク（ターゲットディスク）をアタッチし、設定用仮想マシン（１６）のゲスト側仮想マシン設定部（１８）がアタッチされた仮想ディスク（ターゲットディスク）に設定パラメータを書き込むが、実際にはパラメータ設定用の記憶領域であるターゲット仮想マシンデータ（８）にパラメータを書き込むことになる。【００２１】
また、記憶装置（２）には、ターゲット仮想マシンを設定するためのターゲット仮想マシン設定パラメータファイル（５）が記憶されている。ターゲット仮想マシン設定パラメータファイル（５）が使用するデータファイルとして、ターゲット仮想マシン設定データファイル（６）を別途使用することも可能とする。
ターゲット仮想マシン設定パラメータファイル（５）の例を図２に示す。この例ではＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述しているが、仮想マシン設定パラメータ解析・実行部（１９）が認識できる形式であれば他の形式でもかまわない。
設定ファイル（３１０）は、ターゲットの仮想マシン毎にブロック分けをして記述する。この例では、仮想マシンＶＭ１用ブロック（３２０）と仮想マシンＶＭ２用ブロック（３３０）の２つのブロックを記述している。
各ブロックでは、ターゲットの仮想マシン名と設定パラメータが記述される。仮想マシンＶＭ１用ブロック（３２０）では、実行スクリプト（３４０）が記述されている。この例では、Ｌｉｎｕｘ（登録商標）の実行コマンドが記述されているが、仮想マシン設定パラメータ解析・実行部（１９）で実行できる形式であれば他の形式でもかまわない。
ゲスト側仮想マシン設定部（１８）では、仮想マシン設定パラメータ解析・実行部（１９）がこの実行スクリプト（３４０）を実行することによりターゲット仮想マシンデータ（８）に設定パラメータを書込み、ターゲット仮想マシンのパラメータ設定を行う。
仮想マシンＶＭ２用ブロック（３３０）では、実行スクリプト（３６０）に加えて、実行スクリプトで使用するデータのマウントを行うための命令（３５０）も記述されている。この形式についても、仮想マシン設定パラメータ解析・実行部（１９）で認識できる形式であれば他の形式でもかまわない。
図２に示す命令（３５０）に示されるマウント対象のデータ（実行スクリプトで使用するデータ）は、図１のターゲット仮想マシン設定データファイル（６）に含まれている。【００２２】
また、記憶装置（２）には、設定用仮想マシン定義ファイル（９）と設定用仮想マシンデータ（１０）が記憶されている。
設定用仮想マシン定義ファイル（９）と設定用仮想マシンデータ（１０）は、ターゲット仮想マシン定義ファイル（７）とターゲット仮想マシンデータ（８）に相当する。
つまり、設定用仮想マシン定義ファイル（９）には、設定用仮想マシン（１６）の仮想ハードウェアの構成（ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の数、メモリ容量、ディスク容量等）が定義されている。
また、設定用仮想マシンデータ（１０）は、設定用仮想マシン（１６）が用いる仮想ディスクの実体であるファイルまたはディスクパーティションである。【００２３】
次に、本実施の形態に係るサーバ（１）における動作の流れについて、フローチャートを使い説明する。
図３及び図４にホスト側仮想マシン設定部（１２）の動作フローチャート、図５及び図６にゲスト側仮想マシン設定部（１８）の動作フローチャートを示す。【００２４】
まず、例えばユーザが、ホスト側仮想マシン設定部（１２）を起動する（図３）。
そして、ホスト側仮想マシン設定部（１２）は、ユーザ入力を待つ（Ｓ１）。
ユーザからユーザインタフェース（１３）を介して設定の要求があったら、ホスト側仮想マシン設定部（１２）は、設定用仮想マシン定義ファイル（９）及び設定用仮想マシンデータ（１０）を用いて、設定用仮想マシン（１６）の起動（２３）を仮想マシンモニタ（３）に依頼して、設定用仮想マシン（１６）を起動する（Ｓ２）。この設定用仮想マシン（１６）の起動手順は、一般的な仮想マシンの起動手順と同様なので、詳細な説明は省略する。【００２５】
設定用仮想マシン（１６）が起動すると、ゲスト側仮想マシン設定部（１８）が起動される（図５）。
ホスト側仮想マシン設定部（１２）は、ゲスト側仮想マシン設定部（１８）からの要求を待つ状態になる（Ｓ３）。【００２６】
ゲスト側仮想マシン設定部（１８）では、仮想マシン設定パラメータ解析・実行部（１９）がホスト側仮想マシン設定部とのインタフェース部（２２）を介して設定パラメータファイルの取得をホスト側仮想マシン設定部（１２）に依頼し（Ｓ２１）、ホスト側仮想マシン設定部（１２）からの回答待ちの状態になる（Ｓ２２）。
ホスト側仮想マシン設定部（１２）では、ゲスト側仮想マシン設定部とのインタフェース部（１５）がゲスト側仮想マシン設定部（１８）から設定パラメータファイル読込の要求（Ｓ４）を受け、ファイル読込部（１４）がターゲット仮想マシン設定パラメータファイル（５）を読込み、ゲスト側仮想マシン設定部とのインタフェース部（１５）からゲスト側仮想マシン設定部（１８）に通知する（Ｓ５）。
通知した後、ゲスト側仮想マシン設定部（１８）からの要求待ち状態となる（Ｓ３）。【００２７】
ゲスト側仮想マシン設定部（１８）では、ホスト側仮想マシン設定部とのインタフェース部（２２）がターゲット仮想マシン設定パラメータファイル（５）をホスト側仮想マシン設定部（１２）から入力し、仮想マシン設定パラメータ解析・実行部（１９）がこの設定パラメータファイルを解析し（Ｓ２３）、ターゲットとなる仮想マシンをまず１つ選択する。例えばＶＭ１を選択する。
そして、仮想マシン設定パラメータ解析・実行部（１９）が、ホスト側仮想マシン設定部とのインタフェース部（２２）を介してターゲット仮想マシン（例えば、ＶＭ１）に対する仮想マシン定義ファイルの取得をホスト側仮想マシン設定部（１２）に依頼し（Ｓ２４）、ホスト側仮想マシン設定部（１２）からの回答待ち状態となる（Ｓ２５）。【００２８】
ホスト側仮想マシン設定部（１２）では、ゲスト側仮想マシン設定部とのインタフェース部（１５）がゲスト側仮想マシン設定部（１８）からの仮想マシン定義ファイルの読み込み要求を受け（Ｓ６）、ファイル読込部（１４）がターゲット仮想マシン定義ファイル（７）を読込み、ゲスト側仮想マシン設定部とのインタフェース部（１５）がゲスト側仮想マシン設定部（１８）に通知する（Ｓ７）。
通知した後、ゲスト側仮想マシン設定部（１８）からの要求待ち状態となる（Ｓ３）。【００２９】
ゲスト側仮想マシン設定部（１８）では、ホスト側仮想マシン設定部とのインタフェース部（２２）がターゲット仮想マシン定義ファイル（７）をホスト側仮想マシン設定部（１２）から入力し、仮想マシン定義解析部（２０）が、この定義ファイルを解析する（Ｓ２５）。
次に、仮想マシン定義解析部（２０）が、ターゲット仮想マシン定義ファイル（７）からディスクの情報（デバイス名、ファイル名など）を取得し、このディスクを設定用仮想マシン（１６）にアタッチするようにホスト側仮想マシン設定部とのインタフェース部（２２）を通じてホスト側仮想マシン設定部（１２）に依頼する（Ｓ２７）。
ターゲット仮想マシン定義ファイル（７）内に設定されているディスクが複数ある場合は、それらすべての情報をホスト側仮想マシン設定部（１２）に通知し、ホスト側仮想マシン設定部（１２）からの回答待ち状態となる（Ｓ２８）。
ここで、アタッチとは仮想マシンからディスクパーティションまたはファイルをマウントできるようにすること、すなわち、ゲスト側仮想マシン設定部（１８）が、ディスク、換言すればターゲット仮想マシンのパラメータ設定用の記憶領域であるターゲット仮想マシンデータ（８）にアクセスできるようにすることである。【００３０】
ホスト側仮想マシン設定部（１２）では、ゲスト側仮想マシン設定部とのインタフェース部（１５）がゲスト側仮想マシン設定部（１８）からのディスクアタッチの要求を受け（Ｓ８）、ファイル読込部（１４）が、指定されたターゲットディスクまたはファイルを設定用仮想マシン（１６）にアタッチする。
そして、ゲスト側仮想マシン設定部とのインタフェース部（１５）が、ゲスト側仮想マシン設定部（１８）にアタッチしたことを通知し（Ｓ９）、ゲスト側仮想マシン設定部（１８）からの要求待ちの状態となる（Ｓ３）。【００３１】
ゲスト側仮想マシン設定部（１８）では、ホスト側仮想マシン設定部（１２）からの通知を受け、ディスクまたはファイルマウント部（２１）がターゲットディスクをマウントする（Ｓ２９）。複数のディスクがある場合はすべてマウントする。
次に、仮想マシン設定パラメータ解析・実行部（１９）が、ターゲット仮想マシン設定パラメータファイル（５）を解析し、ターゲット仮想マシン設定データファイル（６）が必要かどうかをチェックする（Ｓ３０）。
ターゲット仮想マシン設定データファイル（６）が必要な場合（図２に示す命令（３５０）が含まれている場合）、ターゲット仮想マシン設定データファイル（６）のアタッチをホスト側仮想マシン設定部（１２）に依頼し（Ｓ３１）、ホスト側仮想マシン設定部（１２）からの回答待ち状態となる（Ｓ３２）。【００３２】
ホスト側仮想マシン設定部（１２）では、ゲスト側仮想マシン設定部とのインタフェース部（１５）が、ゲスト側仮想マシン設定部（１８）からのターゲット仮想マシン設定データファイル（６）のアタッチ要求を受け（Ｓ１２）、ファイル読込部（１４）が、ターゲット仮想マシン設定データファイル（６）を設定用仮想マシン（１６）にアタッチし（Ｓ１３）、ゲスト側仮想マシン設定部とのインタフェース部（１５）が、ゲスト側仮想マシン設定部（１８）にアタッチしたことを通知する。【００３３】
ゲスト側仮想マシン設定部（１８）では、ホスト側仮想マシン設定部とのインタフェース部（２２）がホスト側仮想マシン設定部（１２）からの通知を受け、ディスクまたはファイルマウント部（２１）がターゲット仮想マシン設定データファイル（６）をマウントする（Ｓ３３）。
そして、仮想マシン設定パラメータ解析・実行部（１９）が、ターゲット仮想マシン設定パラメータファイル（５）のスクリプトを実行する（Ｓ３４）。
これにより、設定パラメータが、ターゲット仮想マシンデータ（８）に書き込まれ、ターゲット仮想マシンの設定が実行される。また、スクリプトの実行後、仮想マシン設定パラメータ解析・実行部（１９）は、ターゲット仮想マシン設定データファイル（６）をアンマウントする（Ｓ３５）。
その後、仮想マシン設定パラメータ解析・実行部（１９）は、ホスト側仮想マシン設定部とのインタフェース部（２２）を介してターゲット仮想マシン設定データファイル（６）のデタッチをホスト側仮想マシン設定部（１２）に依頼し（Ｓ３６）、ホスト側仮想マシン設定部（１２）からの回答待ち状態となる（Ｓ３７）。
ここで、デタッチとはアタッチしたディスクパーティションまたはファイルを仮想マシンからアクセスできなくすることである。【００３４】
ホスト側仮想マシン設定部（１２）では、ゲスト側仮想マシン設定部とのインタフェース部（１５）が、ゲスト側仮想マシン設定部（１８）からのターゲット仮想マシン設定データファイル（６）のデタッチ要求（Ｓ１４）を受け、ファイル読込部（１４）が、ターゲット仮想マシン設定データファイル（６）を設定用仮想マシン（１６）からデタッチし（Ｓ１５）、ゲスト側仮想マシン設定部（１８）にデタッチしたことを通知する。
ゲスト側仮想マシン設定部（１８）は、ホスト側仮想マシン設定部（１２）からの通知を受け、ディスクまたはファイルマウント部（２１）が、マウントしたターゲットディスクのアンマウントを行う（Ｓ３９）。
また、仮想マシン設定パラメータ解析・実行部（１９）は、ホスト側仮想マシン設定部とのインタフェース部（２２）を介してターゲットディスクのデタッチをホスト側仮想マシン設定部（１２）に依頼し（Ｓ４０）、ホスト側仮想マシン設定部（１２）からの回答待ち状態となる（Ｓ４１）。【００３５】
ホスト側仮想マシン設定部（１２）では、ゲスト側仮想マシン設定部とのインタフェース部（１５）が、ゲスト側仮想マシン設定部（１８）からのターゲットディスクのデタッチ要求（Ｓ１０）を受け、ファイル読込部（１４）が、ターゲットディスクを設定用仮想マシン（１６）からデタッチし（Ｓ１１）、ゲスト側仮想マシン設定部とのインタフェース部（１５）が、ゲスト側仮想マシン設定部（１８）にデタッチしたことを通知する。【００３６】
ゲスト側仮想マシン設定部（１８）では、ホスト側仮想マシン設定部とのインタフェース部（２２）がホスト側仮想マシン設定部（１２）からの通知を受け、次に進む。
ターゲット仮想マシン設定パラメータファイル（５）で指定されているターゲット仮想マシンがまだある場合はＳ２４から繰り返す（Ｓ４２）。
すべての仮想マシンについて設定が完了したらホスト側仮想マシン設定部（１２）に設定完了を通知し（Ｓ４３）、終了する。
終了は、自分自身でＯＳのシャットダウンまで実行し設定用仮想マシン（１６）を終了させる。【００３７】
ホスト側仮想マシン設定部（１２）は、ゲスト側仮想マシン設定部（１８）からの設定完了の通知を受け（Ｓ１６）、ユーザインタフェース（１３）を介してユーザに設定完了を報告する（Ｓ１７）。その後ユーザ入力待ちから繰り返す（Ｓ１）。【００３８】
なお、図６のＳ３０において、ターゲット仮想マシン設定データファイル（６）が必要ない場合は、ターゲット仮想マシン設定データファイル（６）のマウントは実行せず、仮想マシン設定パラメータ解析・実行部（１９）が、ターゲット仮想マシン設定パラメータファイル（５）のスクリプトを実行する（Ｓ３８）。【００３９】
以上の処理により、ターゲットの仮想マシンを起動することなくターゲット仮想マシンの設定が行える。
また、ホスト（４）に配置されているホスト側仮想マシン設定部（１２）では、ターゲットディスクであるターゲット仮想マシンデータ（８）にアクセスすることができず、設定データを書き込むことができないが、本実施の形態では、設定用仮想マシン（１６）で動作するゲスト側仮想マシン設定部（１８）を起動することで、ゲスト側仮想マシン設定部（１８）からターゲットディスクであるターゲット仮想マシンデータ（８）にアクセスすることができ、設定データを書き込むことができる。【００４０】
また、設定用仮想マシンのＯＳは必要最小限の機能だけにすることによりＯＳ起動時間を短くすることができ、実際にターゲット仮想マシンのＯＳを起動するのに比較して効率的に設定が行える。
ターゲット仮想マシンを立ち上げる前に設定が行えるため、例えば、ＩＰアドレス設定の場合、ある仮想マシンをコピーして新たな仮想マシンを構築した場合、新たな仮想マシンを立ち上げるとＩＰアドレスが重複するためエラーになってしまう問題を回避できる。
また、複数の仮想マシンの設定を行う場合は、設定用仮想マシンで、ターゲット仮想マシンデータをマウント、アンマウントをすることにより設定用仮想マシンをターゲット仮想マシンが変わる度に再起動するが必要なく、効率化できる。
なお、本方式は、仮想マシンモニタ（または、ホストＯＳ）に手を加えずに実現できるため、市販の仮想マシンソフトウェアにも適用可能である。
また、設定パラメータが記述されたスクリプトを実行して設定を行うため、設定用イメージファイルを大量に用意しておく必要がない。【００４１】
以上、本実施の形態では、仮想マシンを構築する際にターゲットの仮想マシンとは別に設定用の仮想マシンを用意し、ターゲットの仮想マシンのディスクやファイルを設定用仮想マシンからアクセスできるように割り当て、ターゲットの仮想マシンを起動することなく、ターゲットの仮想マシンの設定を行うサーバ装置について説明した。【００４２】
また、本実施の形態では、設定用の仮想マシンに自動設定用のアプリケーションを用意し、ターゲットの仮想マシンの設定を自動的に行うサーバ装置について説明した。【００４３】
なお、本実施の形態及び以降の実施の形態において、設定用仮想マシンは、ターゲット仮想マシンの設定に特化した仮想マシンであってもよいし、ターゲット仮想マシンの設定機能を有しながらも他の機能を主機能とする仮想マシンであってもよい。【００４４】
実施の形態２．
図７は、本実施の形態に係るサーバ装置（１）（情報処理装置）の構成例を示す。
本実施の形態に係るサーバ装置（１）は、実施の形態１と同様に、記憶装置（２）、ホスト（４）及び設定用仮想マシン（１６）を備えるが、記憶装置（２）及びホスト（４）の内部構成が異なる。記憶装置（２）及びホスト（４）の内部構成の詳細は後述する。なお、設定用仮想マシン（１６）の構成は、実施の形態１と同じなので、説明を省略する。
また、図７では、図１と同様に、ホスト（４）と設定用仮想マシン（１６）が起動した後の状態を示している。【００４５】
本実施の形態では、記憶装置（２）はターゲット仮想マシン設定パラメータとターゲット仮想マシン設定データ、ターゲット仮想マシンデータ、ターゲット仮想マシン定義を複数の仮想マシンについて記憶している。
具体的には、ターゲット仮想マシンＡ用の設定パラメータファイルであるターゲット仮想マシン設定パラメータＡファイル（４１）と、ターゲット仮想マシンＢ用の設定パラメータファイルであるターゲット仮想マシン設定パラメータＢファイル（４２）を記憶している。
また、ターゲット仮想マシンＡ用の設定データファイルであるターゲット仮想マシン設定データＡファイル（４３）と、ターゲット仮想マシンＢ用の設定データファイルであるターゲット仮想マシン設定データＢファイル（４４）を記憶している。
また、ターゲット仮想マシンＡの仮想ハードウェア構成が定義されているターゲット仮想マシン定義Ａファイル（４５）と、ターゲット仮想マシンＢの仮想ハードウェア構成が定義されているターゲット仮想マシン定義Ｂファイル（４７）を記憶している。
また、ターゲット仮想マシンＡのターゲットディスクであるターゲット仮想マシンデータＡ（４６）と、ターゲット仮想マシンＢのターゲットディスクであるターゲット仮想マシンデータＢ（４８）を記憶している。
ここで、ターゲット仮想マシンＡは、複製元の仮想マシンであり、ターゲット仮想マシンＢは、ホスト（４）の仮想マシン複製部（３１）により複製された仮想マシンとする。【００４６】
なお、ターゲット仮想マシン設定パラメータＡファイル（４１）とターゲット仮想マシン設定パラメータＢファイル（４２）は、図１に示したターゲット仮想マシン設定パラメータファイル（５）と同様である。
また、ターゲット仮想マシン設定データＡファイル（４３）とターゲット仮想マシン設定データＢファイル（４４）は、図１に示したターゲット仮想マシン設定データファイル（６）と同様である。
また、ターゲット仮想マシン定義Ａファイル（４５）とターゲット仮想マシン定義Ｂファイル（４７）はターゲット仮想マシン定義ファイル（７）と同様である。
また、ターゲット仮想マシンデータＡ（４６）とターゲット仮想マシンデータＢ（４８）は、図１に示したターゲット仮想マシンデータ（８）と同様である。
このため、各々についての詳細な説明は省略する。
また、設定用仮想マシン定義ファイル（９）及び設定用仮想マシンデータ（１０）は、図１に示したものと同じである。【００４７】
本実施の形態に係るホスト（４）は、実施の形態１に示したホストＯＳ（１１）及びホスト側仮想マシン設定部（１２）に加えて、ホストＯＳ（１１）上で動作するアプリケーションである仮想マシン複製部（３１）を備える。
仮想マシン複製部（３１）は、仮想マシンの複製を行う。図７の例では、ターゲット仮想マシンＡを複製してターゲット仮想マシンＢとする。
仮想マシン複製部（３１）は、仮想マシン設定パラメータ自動生成部（３２）とデータ複製部（３３）を備える。
仮想マシン設定パラメータ自動生成部（３２）は、複製元のターゲット仮想マシンＡの設定パラメータ及び設定データであるターゲット仮想マシン設定パラメータＡファイル（４１）及びターゲット仮想マシン設定データＡファイル（４３）から、複製先のターゲット仮想マシンＢの設定パラメータ及び設定データであるターゲット仮想マシン設定パラメータＢファイル（４２）及びターゲット仮想マシン設定データＢファイル（４４）を生成する。
データ複製部（３３）は、ターゲット仮想マシン定義Ａファイル（４５）を複製してターゲット仮想マシン定義Ｂファイル（４７）を生成する。
また、データ複製部（３３）は、ターゲット仮想マシンデータＡ（４６）と同様の構成のターゲット仮想マシンデータＢ（４８）を生成する。【００４８】
次に、本実施の形態に係るサーバ装置（１）の動作を説明する。
先ず、前提として、ホスト（４）の仮想マシン複製部（３１）によりターゲット仮想マシンＡの複製として、ターゲット仮想マシンＢが生成され、また、ターゲット仮想マシン設定パラメータＢファイル（４２）、ターゲット仮想マシン設定データＢファイル（４４）、ターゲット仮想マシン定義Ｂファイル（４７）及びターゲット仮想マシンデータＢ（４８）が記憶装置（２）に格納されているものとする。
この状態で、設定用仮想マシン（１６）のゲスト側仮想マシン設定部（１８）は、ターゲット仮想マシンＢを起動することなく、ホスト（４）のホスト側仮想マシン設定部（１２）に記憶装置（２）からのターゲット仮想マシン設定パラメータＢファイル（４２）の取得を依頼し、ホスト側仮想マシン設定部（１２）が、記憶装置（２）からターゲット仮想マシン設定パラメータＢファイル（４２）を取得し、また、ターゲット仮想マシンＢのパラメータ設定用の記憶領域を設定用仮想マシン（１６）からアクセス可能とする（ターゲット仮想マシンデータＢ（４８）をアタッチする）。
そして、設定用仮想マシン（１６）のゲスト側仮想マシン設定部（１８）が、ホスト側仮想マシン設定部（１２）からターゲット仮想マシン設定パラメータＢファイル（４２）を取得し、アクセス可能とされたターゲット仮想マシンＢのパラメータ設定用の記憶領域（アタッチされたターゲット仮想マシンデータＢ（４８））にターゲット仮想マシン設定パラメータＢファイル（４２）を書き込んで、ターゲット仮想マシンＢのパラメータ設定を行う。
つまり、本実施の形態では、ホスト（４）の仮想マシン複製部（３１）により複製された複製ターゲット仮想マシンに対しても、当該複製ターゲット仮想マシンを起動することなく、複製ターゲット仮想マシンの設定を行うことができる。
なお、ホスト側仮想マシン設定部（１２）及びゲスト側仮想マシン設定部（１８）の動作の詳細は、図３〜図６に示したものと同様であり、説明は省略する。【００４９】
以上、本実施の形態では、仮想マシンの複製を自動的に行い、複製した仮想マシンの設定も自動で行うことのできるサーバ装置について説明した。【００５０】
実施の形態３．
本実施の形態では、負荷試験や評価試験など、１つのサーバ上に多数の仮想マシンを構築したい場合に、複数の仮想マシンを自動的に作成する負荷評価部の例について示す。
この機能は、対象の仮想マシンを複製し、ホスト名やＩＰアドレスなど個別でなければならないものも自動的に設定されるものである。【００５１】
図８に、本実施の形態に係るサーバ装置（１）（情報処理装置）の全体構成例を示す。
本実施の形態では、ホスト（４）内に、実施の形態１に示したホストＯＳ（１１）及びホスト側仮想マシン設定部（１２）に加えて、ホストＯＳ（１１）上で動作するアプリケーションである負荷評価部（５１）を設ける。
負荷評価部（５１）は、仮想マシン設定パラメータ自動生成部（５７）と負荷情報取得・負荷評価用仮想マシン自動起動・停止部（５８）で構成される。
負荷評価部（５１）が負荷評価用仮想マシン定義ファイル（５５）、負荷評価用仮想マシンデータ（５６）を使用して、負荷評価用仮想マシン（６０）、（６１）の起動を仮想マシンモニタ（３）に依頼する（５９）。
図８では、負荷評価用仮想マシンを２つ示しているが、２台以上で動作することが可能である。
なお、記憶装置（２）内の負荷評価用仮想マシン設定パラメータファイル（５２）、負荷評価用仮想マシン設定データファイル（５３）、（５４）は仮想マシン設定パラメータ自動生成部（５７）が生成するファイルである。
この図の例では、負荷評価用仮想マシン設定データＡファイル（５３）と負荷評価用仮想マシン設定データＢファイル（５４）の２つを示している。
本実施の形態に係る仮想マシン設定パラメータ自動生成部（５７）は、実施の形態２に示した仮想マシン設定パラメータ自動生成部（３２）と同様である。【００５２】
負荷評価用仮想マシン（６０）、（６１）は、ゲストＯＳ（６２）、（６３）と負荷評価アプリケーション（６４）、（６５）で構成される。【００５３】
また、仮想マシンモニタ（３）内には、ＣＰＵの使用率やメモリの使用率などハードウェアリソースの使用率や性能情報をモニタするリソースモニタ（６６）を設ける。
ホスト側仮想マシン設定部（１２）と設定用仮想マシン（１６）の内部構成は図１と同じであり省略する。【００５４】
本実施の形態において、負荷評価用仮想マシン（６０）、（６１）は、サーバ装置（１）のＣＰＵやメモリといったハードウェアリソースに負荷を加える処理を行う。
そして、リソースモニタ（６６）は、負荷評価用仮想マシン（６０）（６１）による処理によりハードウェアリソースにかかる負荷をモニタする。
また、ホスト（４）内の負荷評価部（５１）は、リソースモニタ（６６）によるモニタ結果値と閾値とを比較して、モニタ結果値が閾値以下である場合に、新たな負荷評価用仮想マシンを起動させ、モニタ結果値が閾値を超える場合に、負荷評価用仮想マシンの現在の動作数に基づいて、仮想マシンの動作可能限度数を判断する。【００５５】
負荷評価部（５１）の動作について、サーバ（１）で実行可能な仮想マシン動作可能限度数を求める例を説明する。
仮想マシンが実行可能か不可かは、サーバ（１）全体のＣＰＵとメモリの使用率がある指定した値以下であれば実行可能と判断する。【００５６】
図９に負荷評価部（５１）の動作フローチャートを示す。
なお、実施の形態１で説明した動作については同様のため詳細な説明を省略する。
まず、負荷情報取得・負荷評価用仮想マシン自動起動・停止部（５８）が、負荷仮想マシンＮｏ変数を１に設定する（Ｓ６１）。この負荷仮想マシンＮｏ変数は、仮想マシン動作可能限度数をカウントするための変数である。
次に、仮想マシン設定パラメータ自動生成部（５７）が、負荷仮想マシンＮｏ＝１用の負荷評価用仮想マシン設定パラメータファイル（５２）と、負荷評価用仮想マシン定義ファイル（図示せず）と、負荷評価用仮想マシンデータ（図示せず）を生成する（Ｓ６２）。Ｎｏ＝１用負荷評価用仮想マシン定義ファイルは、負荷評価用仮想マシン定義ファイル（５５）を複製して生成する。Ｎｏ＝１用負荷評価用仮想マシンデータは、負荷評価用仮想マシンデータ（５６）を複製して生成する。このとき必要ならば負荷評価用仮想マシン設定データファイル（５３）、（５４）も生成する。
負荷情報取得・負荷評価用仮想マシン自動起動・停止部（５８）が、生成した負荷評価用仮想マシン設定パラメータファイル（５３）を使い、ホスト側仮想マシン設定部（１２）に負荷評価用仮想マシン（６０）の設定を依頼する（Ｓ６３）。
ホスト側仮想マシン設定部（１２）は負荷評価用仮想マシン（６０）の設定を行う。
負荷評価用仮想マシン（６０）の設定は、実施の形態１に示した手順にて、ホスト側仮想マシン設定部（１２）が設定用仮想マシン（１６）を起動し、その後、ホスト側仮想マシン設定部（１２）と設定用仮想マシン（１６）のゲスト側仮想マシン設定部（１８）との協働により行われる。【００５７】
設定完了後、負荷評価部（５１）の負荷情報取得・負荷評価用仮想マシン自動起動・停止部（５８）が、負荷評価用仮想マシン（６０）の起動を仮想マシンモニタ（３）に依頼する。
負荷評価用仮想マシン（６０）が起動される（Ｓ６４）と、負荷評価アプリケーション（６４）が自動起動され、ＣＰＵ及びメモリに負荷を加える処理が実行される。
リソースモニタ（６６）は、負荷評価用仮想マシン（６０）による処理によりＣＰＵ使用率及びメモリ使用率をモニタする。
負荷評価部（５１）の負荷情報取得・負荷評価用仮想マシン自動起動・停止部（５８）は、リソースモニタ（６６）からＣＰＵとメモリの使用率（モニタ結果値）を取得する（Ｓ６５）。
そして、負荷情報取得・負荷評価用仮想マシン自動起動・停止部（５８）は、取得したＣＰＵ使用率及びメモリ使用率の両者が予め決めておいた閾値よりも小さければまだ負荷に余裕があると判断し（Ｓ６６でＹＥＳ）、負荷仮想マシンＮｏを次の値に設定し（Ｓ６７）、Ｓ６２から繰り返す。
ＣＰＵ使用率及びメモリ使用率の少なくともいずれかが予め決めておいた閾値以上であり、負荷に余裕がない場合（Ｓ６６でＮＯ）は、負荷情報取得・負荷評価用仮想マシン自動起動・停止部（５８）は、ここが限界と判断し、負荷数（仮想マシン動作可能限度数）を決定する（Ｓ６８）。
現在の負荷評価用仮想マシン動作数（負荷仮想マシンＮｏ変数）−１が、このサーバで実行可能な仮想マシン数、すなわち仮想マシン動作可能限度数となる。
負荷数決定後、負荷情報取得・負荷評価用仮想マシン自動起動・停止部（５８）は、負荷評価用仮想マシン（６０）、（６１）をすべて停止し（Ｓ６９）、Ｓ６２で生成した負荷評価用仮想マシン設定パラメータファイル（５２）、負荷評価用仮想マシン設定データファイル（５３）、（５４）、負荷評価用仮想マシン定義ファイル（図示せず）、負荷評価用仮想マシンデータ（図示せず）を削除して（Ｓ７０）、終了する。
以上の方法により仮想マシンの負荷の評価が自動的に実行できる。【００５８】
このように、本実施の形態では、仮想マシンの負荷評価を行い、負荷の調整を自動的に行うことができるサーバ装置について説明した。【００５９】
実施の形態４．
実施の形態１〜３では、ターゲットの仮想マシンデータをホストが直接マウントできない場合の方法を示したが、ターゲット仮想マシンデータ（８）の形式が、ホスト側からもマウントできる形式である場合の例について示す。この場合は、設定用仮想マシンを使用せず、ゲスト側仮想マシン設定部（１８）もホスト（４）内に置くことにより同様の処理で実現可能である。【００６０】
図１０に本実施の形態に係るサーバ装置（１）（情報処理装置）の全体構成例を示す。
ホスト（４）ではホストＯＳ（１１）が動作し、その上に仮想マシン設定部（７１）のアプリケーションが動作する。
仮想マシン設定部（７１）は、主に、ユーザインタフェース（１３）、ファイル読込部（１４）、仮想マシン設定パラメータ解析・実行部（１９）、仮想マシン定義解析部（２０）、ディスクまたはファイルマウント部（２１）で構成される。これら１３、１４、１９、２０、２１は実施の形態１と同じ構成である。また、記憶装置（２）内は、実施の形態１と同じである。【００６１】
次に、本実施の形態に係るサーバ（１）における動作の流れについて、フローチャートを使い説明する。
図１１に仮想マシン設定部（７１）の動作フローチャートを示す。
まず、例えばユーザが、仮想マシン設定部（７１）を起動する（図１１）。
そして、仮想マシン設定部（７１）は、ユーザ入力を待つ（Ｓ８１）。
ユーザからユーザインタフェース（１３）を介して設定の要求があったら、仮想マシン設定部（７１）は、ファイル読込部（１４）がターゲット仮想マシン設定パラメータファイル（５）を読込み（Ｓ８２）、仮想マシン設定パラメータ解析・実行部（１９）がこの設定パラメータファイルを解析し（Ｓ８３）、ターゲットとなる仮想マシンをまず１つ選択する。例えばＶＭ１を選択する。選択された仮想マシンに対するターゲット仮想マシン定義ファイル（７）をファイル読込部（１４）が読込み、仮想マシン定義解析部（２０）が、この定義ファイルを解析する（Ｓ８５）。
ディスクまたはファイルマウント部（２１）がターゲットディスクをマウントする（Ｓ８６）。複数のディスクがある場合はすべてマウントする。
次に、仮想マシン設定パラメータ解析・実行部（１９）が、ターゲット仮想マシン設定パラメータファイル（５）を解析し、ターゲット仮想マシン設定データファイル（６）が必要かどうかをチェックする（Ｓ８７）。
ターゲット仮想マシン設定データファイル（６）が必要な場合（図２に示す命令（３５０）が含まれている場合）、ディスクまたはファイルマウント部（２１）がターゲット仮想マシン設定データファイル（６）をマウントする（Ｓ８８）。
そして、仮想マシン設定パラメータ解析・実行部（１９）が、ターゲット仮想マシン設定パラメータファイル（５）のスクリプトを実行する（Ｓ８９）。
これにより、設定パラメータが、ターゲット仮想マシンデータ（８）に書き込まれ、ターゲット仮想マシンの設定が実行される。スクリプトの実行後、仮想マシン設定パラメータ解析・実行部（１９）は、ターゲット仮想マシン設定データファイル（６）をアンマウントする（Ｓ９０）。
その後、ディスクまたはファイルマウント部（２１）が、マウントしたターゲットディスクのアンマウントを行う（Ｓ９２）。
ターゲット仮想マシン設定パラメータファイル（５）で指定されているターゲット仮想マシンがまだある場合はＳ８４から繰り返す（Ｓ９３）。
すべての仮想マシンの設定が完了したら、仮想マシン設定部（７１）は、ユーザインタフェース（１３）を介してユーザに設定完了を報告する（Ｓ９４）。その後ユーザ入力待ちから繰り返す（Ｓ８１）。
なお、図１１のＳ８７において、ターゲット仮想マシン設定データファイル（６）が必要ない場合は、ターゲット仮想マシン設定データファイル（６）のマウントは実行せず、仮想マシン設定パラメータ解析・実行部（１９）が、ターゲット仮想マシン設定パラメータファイル（５）のスクリプトを実行する（Ｓ９１）。【００６２】
以上の処理により、ターゲットの仮想マシンを起動することなくターゲット仮想マシンの設定が行える。
実際にターゲット仮想マシンのＯＳを起動しないため効率的に設定が行える。
また、ターゲット仮想マシンを立ち上げる前に設定が行えるため、例えば、ＩＰアドレス設定の場合、ある仮想マシンをコピーして新たな仮想マシンを構築した場合、新たな仮想マシンを立ち上げるとＩＰアドレスが重複するためエラーになってしまう問題を回避できる。
なお、本方式は、仮想マシンモニタ（または、ホストＯＳ）に手を加えずに実現できるため、市販の仮想マシンソフトウェアにも適用可能である。
また、設定パラメータが記述されたスクリプトを実行して設定を行うため、設定用イメージファイルを大量に用意しておく必要がない。【００６３】
以上、本実施の形態では、ターゲット仮想マシンデータの形式がホスト側からもマウントできる形式である場合に、ホストからターゲットの仮想マシンのディスクやファイルを設定用仮想マシンからアクセスできるように割り当て、ターゲットの仮想マシンを起動することなく、ターゲットの仮想マシンの設定を行うサーバ装置について説明した。
また、本実施の形態では、設定用の仮想マシンに自動設定用のアプリケーションを用意し、ターゲットの仮想マシンの設定を自動的に行うサーバ装置について説明した。【００６４】
最後に、実施の形態１〜４に示したサーバ装置（１）のハードウェア構成例について説明する。
図１２は、実施の形態１〜４に示すサーバ装置（１）のハードウェア資源の一例を示す図である。
なお、図１２の構成は、あくまでもサーバ装置（１）のハードウェア構成の一例を示すものであり、サーバ装置（１）のハードウェア構成は図１２に記載の構成に限らず、他の構成であってもよい。【００６５】
図１２において、サーバ装置（１）は、プログラムを実行するＣＰＵ（９１１）（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ（９１１）は、バス（９１２）を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）（９１３）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）（９１４）、通信ボード（９１５）、表示装置（９０１）、キーボード（９０２）、マウス（９０３）、磁気ディスク装置（９２０）と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ（９１１）は、ＦＤＤ（９０４）（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置（９０５）（ＣＤＤ）、プリンタ装置（９０６）、スキャナ装置（９０７）と接続していてもよい。また、磁気ディスク装置（９２０）の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ（９１４）は、揮発性メモリの一例である。ＲＯＭ（９１３）、ＦＤＤ（９０４）、ＣＤＤ（９０５）、磁気ディスク装置（９２０）の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード（９１５）、キーボード（９０２）、マウス（９０３）、スキャナ装置（９０７）、ＦＤＤ（９０４）などは、入力部、入力装置の一例である。
また、通信ボード（９１５）、表示装置（９０１）、プリンタ装置（９０６）などは、出力部、出力装置の一例である。【００６６】
通信ボード（９１５）は、ネットワークに接続される。例えば、通信ボード（９１５）は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続される。【００６７】
磁気ディスク装置（９２０）には、仮想マシンモニタ（９２１）、ホストＯＳ（９２２）、プログラム群（９２３）、ファイル群（９２４）が記憶されている。
プログラム群（９２３）のプログラムは、ＣＰＵ（９１１）、仮想マシンモニタ（９２１）、ホストＯＳ（９２２）により実行される。
また、前述したように、仮想マシンモニタ（９２１）自身がホストＯＳ（９２２）の機能を含む場合や、ホストＯＳ（９２２）内に仮想マシンモニタ（９２１）が存在する場合もある。【００６８】
ＲＯＭ（９１３）には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置（９２０）にはブートプログラムが格納されている。
サーバ装置（１）の起動時には、ＲＯＭ（９１３）のＢＩＯＳプログラム及び磁気ディスク装置（９２０）のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムにより仮想マシンモニタ（９２１）、ホストＯＳ（９２２）が起動される。【００６９】
プログラム群（９２３）には、実施の形態１〜３に示されるターゲット仮想マシン、設定用仮想マシン、負荷評価用仮想マシン、ホスト側仮想マシン設定部、仮想マシン複製部、負荷評価部及びこれらの内部要素を実現するプログラムが含まれる。
また、ファイル群（９２４）には、実施の形態１〜３に示されるターゲット仮想マシン設定パラメータファイル、ターゲット仮想マシン設定データファイル、ターゲット仮想マシンデータ、ターゲット仮想マシン定義ファイル等が含まれる。【００７０】
更に、ファイル群（９２４）には、実施の形態１〜４の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ（９１１）によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜３で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ（９１４）のメモリ、ＦＤＤ（９０４）のフレキシブルディスク、ＣＤＤ（９０５）のコンパクトディスク、磁気ディスク装置（９２０）の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス（９１２）や信号線やケーブルその他の伝送媒体によりオンライン伝送される。【００７１】
また、実施の形態１〜４の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ（９１３）に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ（９１１）により読み出され、ＣＰＵ（９１１）により実行される。すなわち、プログラムは、実施の形態１〜４の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜４の「〜部」の手順や方法をコンピュータに実行させるものである。【００７２】
このように、実施の形態１〜４に示すサーバ装置（１）は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００７３】
【図１】実施の形態１に係るサーバ装置の構成例を示す図。
【図２】実施の形態１に係るターゲット仮想マシン設定パラメータの例を示す図。
【図３】実施の形態１に係るホスト側仮想マシン設定部の動作例を示すフローチャート図。
【図４】実施の形態１に係るホスト側仮想マシン設定部の動作例を示すフローチャート図。
【図５】実施の形態１に係るゲスト側仮想マシン設定部の動作例を示すフローチャート図。
【図６】実施の形態１に係るゲスト側仮想マシン設定部の動作例を示すフローチャート図。
【図７】実施の形態２に係るサーバ装置の構成例を示す図。
【図８】実施の形態３に係るサーバ装置の構成例を示す図。
【図９】実施の形態３に係る負荷評価部の動作例を示すフローチャート図。
【図１０】実施の形態４に係るサーバ装置の構成例を示す図。
【図１１】実施の形態４に係る仮想マシン設定部の動作例を示すフローチャート図。
【図１２】実施の形態１〜４に係るサーバ装置のハードウェア構成例を示す図。
【符号の説明】
【００７４】
１  サーバ装置、２  記憶装置、３  仮想マシンモニタ、４  ホスト、５  ターゲット仮想マシン設定パラメータファイル、６  ターゲット仮想マシン設定データファイル、７  ターゲット仮想マシン定義ファイル、８  ターゲット仮想マシンデータ、９  設定用仮想マシン定義ファイル、１０  設定用仮想マシンデータ、１１  ホストＯＳ、１２  ホスト側仮想マシン設定部、１３  ユーザインタフェース、１４  ファイル読込部、１５  ゲスト側仮想マシン設定部とのインタフェース部、１６  設定用仮想マシン、１７  ゲストＯＳ、１８  ゲスト側仮想マシン設定部、１９  仮想マシン設定パラメータ解析・実行部、２０  仮想マシン定義解析部、２１  ディスクまたはファイルマウント部、２２  ホスト側仮想マシン設定部とのインタフェース部、３１  仮想マシン複製部、３２  仮想マシン設定パラメータ自動生成部、３３  データ複製部、４１  ターゲット仮想マシン設定パラメータＡファイル、４２  ターゲット仮想マシン設定パラメータＢファイル、４３  ターゲット仮想マシン設定データＡファイル、４４  ターゲット仮想マシン設定データＢファイル、４５  ターゲット仮想マシン定義Ａファイル、４６  ターゲット仮想マシンデータＡ  ４７  ターゲット仮想マシン定義Ｂファイル、４８  ターゲット仮想マシンデータＢ、５１  負荷評価部、５７  仮想マシン設定パラメータ自動生成部、５８  負荷情報取得・負荷評価用仮想マシン自動起動・停止部、６０  負荷評価用仮想マシン、６１  負荷評価用仮想マシン、６２  ゲストＯＳ、６３  ゲストＯＳ、６４  負荷評価アプリケーション、６５  負荷評価アプリケーション、６６  リソースモニタ、７１  仮想マシン設定部。
【図１】
2009034760.tif 000003
【図２】
2009034760.tif 000004
【図３】
2009034760.tif 000005
【図４】
2009034760.tif 000006
【図５】
2009034760.tif 000007
【図６】
2009034760.tif 000008
【図７】
2009034760.tif 000009
【図８】
2009034760.tif 000010
【図９】
2009034760.tif 000011
【図１０】
2009034760.tif 000012
【図１１】
2009034760.tif 000013
【図１２】
2009034760.tif 000014
【国際調査報告】
2009034760.tif 000015
2009034760.tif 000016