"仮想マシンが動作可能な1またはそれ以上の情報処理装置を含む情報処理システムが行う仮想マシン管理方法であって、前記仮想マシンの動作に使用されている1またはそれ以上のファイルと、1またはそれ以上のテンプレートファイルとを比較し、比較結果に基づいて、前記仮想マシンの設定状況を示す構成情報を生成する、仮想マシン管理方法。前記仮想マシンにインストールされているソフトウェアを検出し、ソフトウェアのインストールに用いられるファイルを記憶する記憶装置から、前記仮想マシンにインストールされているソフトウェアに応じたファイルを取得することで、前記1またはそれ以上のテンプレートファイルを生成する、請求項1記載の仮想マシン管理方法。前記1またはそれ以上のファイルと前記1またはそれ以上のテンプレートファイルとの間の差分の少なくとも一部を含むパッケージファイルを生成し、生成した前記パッケージファイルと前記構成情報とを関連付ける、請求項1記載の仮想マシン管理方法。前記1またはそれ以上のファイルと前記1またはそれ以上のテンプレートファイルとの間の差分のうち、記憶装置に記憶された条件情報が示す条件に応じた差分を選択し、選択した差分を用いて、前記構成情報を生成する、請求項1記載の仮想マシン管理方法。生成した前記構成情報を記憶装置に保存し、前記仮想マシンを再起動する場合、前記記憶装置に保存した前記構成情報と前記1またはそれ以上のテンプレートファイルとを用いて、前記仮想マシンを起動する、請求項1記載の仮想マシン管理方法。自装置または他の装置で動作する仮想マシンを管理する情報処理装置であって、1またはそれ以上のテンプレートファイルを記憶する記憶部と、前記仮想マシンの動作に使用されている1またはそれ以上のファイルと前記1またはそれ以上のテンプレートファイルとを比較し、比較結果に基づいて、前記仮想マシンの設定状況を示す構成情報を生成する生成部と、を有する情報処理装置。自コンピュータまたは他のコンピュータで動作する仮想マシンを管理するための仮想マシン管理プログラムであって、コンピュータに、前記仮想マシンの動作に使用されている1またはそれ以上のファイルと、1またはそれ以上のテンプレートファイルとを比較し、比較結果に基づいて、前記仮想マシンの設定状況を示す構成情報を生成する、処理を実行させる仮想マシン管理プログラム。ところで、設定の異なる複数の仮想マシンを作成して、各仮想マシンの動作に使用されるファイルを保存しておき、複数の仮想マシンを使い分けることがある。例えば、ソフトウェアのテストを行うとき、配置するプログラムやデータ、通信設定などを仮想マシンによって変えて、複数通りのテストや分散処理のテストを行うことが考えられる。しかし、設定の異なる複数の仮想マシンを作成した場合、仮想マシンの管理が煩雑になるという問題がある。例えば、作成しておいた複数の仮想マシンの中から、所望の設定を行った仮想マシンを選択して起動したい場合、どのように設定を確認すればよいかが問題となる。一側面では、本発明は、仮想マシンの管理を容易にする仮想マシン管理方法、情報処理装置および仮想マシン管理プログラムを提供することを目的とする。一実施態様では、仮想マシンが動作可能な1またはそれ以上の情報処理装置を含む情報処理システムが行う仮想マシン管理方法が提供される。仮想マシン管理方法では、仮想マシンの動作に使用されている1またはそれ以上のファイルと、1またはそれ以上のテンプレートファイルとを比較する。比較結果に基づいて、仮想マシンの設定状況を示す構成情報を生成する。また、一実施態様では、自装置または他の装置で動作する仮想マシンを管理する情報処理装置が提供される。情報処理装置は、記憶部と生成部とを有する。記憶部は、1またはそれ以上のテンプレートファイルを記憶する。生成部は、仮想マシンの動作に使用されている1またはそれ以上のファイルと1またはそれ以上のテンプレートファイルとを比較し、比較結果に基づいて、仮想マシンの設定状況を示す構成情報を生成する。また、一実施態様では、自コンピュータまたは他のコンピュータで動作する仮想マシンを管理するための仮想マシン管理プログラムが提供される。仮想マシン管理プログラムは、コンピュータに以下の処理を実行させる。仮想マシンの動作に使用されている1またはそれ以上のファイルと、1またはそれ以上のテンプレートファイルとを比較する。比較結果に基づいて、仮想マシンの設定状況を示す構成情報を生成する。一実施態様によれば、仮想マシンの管理が容易になる。以下、本実施の形態を、図面を参照して説明する。[第1の実施の形態]図1は、第1の実施の形態の情報処理装置を示す図である。第1の実施の形態の情報処理装置10は、仮想マシンが動作可能な1またはそれ以上の情報処理装置を含む情報処理システムに用いられる。仮想マシン11が、情報処理装置10または情報処理装置10とネットワークで接続された他の情報処理装置で動作する。情報処理装置10は、生成部13を有する。生成部13は、CPUCentralProcessingUnitおよびRAMRandomAccessMemoryを用いて実行されるプログラムとして実装されてもよく、仮想マシンとして実装されてもよい。生成部13は、仮想マシン11の動作に使用されている1またはそれ以上のファイル11aと、記憶部12に記憶された1またはそれ以上のテンプレートファイル12aとを比較する。生成部13は、比較結果に基づいて、仮想マシン11の設定状況を示す構成情報13aを生成する。ファイル11aとしては、例えば、仮想マシン11のOSが管理するファイルシステムに含まれるファイルを使用できる。ファイル11aには、ホスト名などのシステム設定情報を記載した設定ファイル、アプリケーションソフトウェアのファイル、ユーザが作成したプログラムやデータのファイルが含まれてもよい。記憶部12は、情報処理装置10が備えていてもよいし、情報処理装置10とネットワークで接続された他の情報処理装置が備える記憶装置でもよい。テンプレートファイル12aとしては、例えば、ユーザによる設定変更やファイルの編集が行われる前の初期状態のファイルを使用できる。情報処理装置10は、テンプレートファイル12aを、構成情報13aを生成する際に生成してもよい。例えば、仮想マシン11にインストールされているソフトウェアOSやアプリケーションソフトウェアなどを確認し、確認したソフトウェアのインストールに用いられるインストールファイルを所定の記憶装置から取得し、テンプレートファイル12aを生成してもよい。テンプレートファイル12aの生成は、生成部13が行ってもよいし、生成部13とは異なるモジュールが行ってもよい。また、テンプレートファイル12aの生成は、情報処理装置10以外の他の情報処理装置が行ってもよい。構成情報13aは、1またはそれ以上のファイル11aと1またはそれ以上のテンプレートファイル12aとの間の差分に基づいて、生成することができる。例えば、生成部13は、差分を抽出し、差分のうち所定の条件に適合する差分を選択して、構成情報13aに挿入してもよい。選択される差分には、設定ファイルに記載されたシステム設定情報が含まれてもよい。また、生成部13は、ファイル11aの集合に含まれテンプレートファイル12aの集合に含まれないファイルを抽出して、仮想マシン11に固有のパッケージファイルを生成し、パッケージファイルを示す情報を構成情報13aに挿入してもよい。生成された構成情報13aは、不揮発性の記憶装置に保存しておくことができる。構成情報13aは、情報処理システムで動作可能な複数の仮想マシンの中から、起動する仮想マシンを検索するために利用されてもよい。また、構成情報13aは、仮想マシン11を起動する際に利用されてもよい。例えば、情報処理装置10または他の情報処理装置は、テンプレートファイル12aに構成情報13aに含まれる情報例えば、ホスト名などのシステム設定情報を適用することで、仮想マシン11を復元することができる。第1の実施の形態の情報処理装置10によれば、仮想マシン11の動作に使用されている1またはそれ以上のファイル11aと、1またはそれ以上のテンプレートファイル12aとが比較される。比較結果に基づいて、仮想マシン11の設定状況を示す構成情報13aが生成される。これにより、仮想マシンの管理が容易になる。例えば、設定の異なる複数の仮想マシンが作成されている場合でも、所望の仮想マシンを検索することが容易となる。また、仮想マシン11を起動する前に、仮想マシン11の設定を確認することもできる。また、テンプレートファイル12aとの比較によって構成情報13aが生成されるため、ユーザが構成情報13aに相当する情報を手作業で入力および管理しなくてもよく、仮想マシンの管理の負担が軽減される。[第2の実施の形態]図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、サーバ装置100,100a、ストレージ装置200、管理装置300および端末装置400を含む。サーバ装置100,100a、ストレージ装置200および管理装置300は、ネットワーク30に接続されている。端末装置400は、ネットワーク40に接続されている。第2の実施の形態の情報処理システムは、いわゆるクラウドコンピューティングの形態をとるシステムクラウドシステムとして実現できる。サーバ装置100,100aは、1またはそれ以上の仮想マシンVM:VirtualMachineを配置できるサーバコンピュータである。サーバ装置100,100aは、管理装置300からの指示に応じて、仮想マシンの起動や終了を行う。サーバ装置100,100aでは、仮想マシンを制御するソフトウェアであるハイパーバイザが動作している。ハイパーバイザは、CPUやRAMなどのリソースを仮想マシンに割り当てる。ストレージ装置200は、仮想マシンに関するデータを管理するコンピュータである。ストレージ装置200は、共通リポジトリ、固有リポジトリおよび構成情報データベースDBを有する。共通リポジトリには、OSやパッケージアプリケーションなど、複数のユーザから共通に利用できるソフトウェアのファイルが格納される。固有リポジトリには、ユーザが作成したプログラムやデータなど、ユーザ固有のファイルが格納される。構成情報DBには、仮想マシンの構成情報が格納される。構成情報は、ホスト名などのシステム設定情報や、インストールされているソフトウェアを示す情報を含む。管理装置300は、サーバ装置100,100aへの仮想マシンの配置を管理するコンピュータである。管理装置300は、端末装置400からユーザの仮想マシンの起動要求があると、負荷が偏らないように何れかのサーバ装置を選択し、選択したサーバ装置上でユーザの仮想マシンを起動させる。また、管理装置300は、端末装置400からユーザの仮想マシンに対応する構成情報を生成するよう要求があると、構成情報を生成する機能をもつ仮想マシンを、何れかのサーバ装置ユーザの仮想マシンが動作中のときは、好ましくは、当該ユーザの仮想マシンが動作しているサーバ装置上で起動させる。端末装置400は、ユーザが操作するクライアント装置としてのコンピュータである。端末装置400は、ネットワーク40を通じてネットワーク30にアクセスし、ユーザの仮想マシンの起動を管理装置300に要求する。また、端末装置400は、ユーザの仮想マシンに対応する構成情報を生成するよう、管理装置300に要求する。生成された構成情報は、例えば、起動する仮想マシンを選択するために利用される。端末装置400上では、アクセスに用いるユーザインタフェースとして、ウェブブラウザが動作してもよい。図3は、サーバ装置のハードウェア例を示すブロック図である。サーバ装置100は、CPU101、RAM102、HDDHardDiskDrive103、画像信号処理部104、入力信号処理部105、ディスクドライブ106および通信部107を有する。上記ユニットは、サーバ装置100内でバスに接続されている。なお、サーバ装置100a、ストレージ装置200、管理装置300および端末装置400も、サーバ装置100と同様のハードウェアにより実現できる。CPU101は、サーバ装置100における情報処理を制御する演算装置である。CPU101は、HDD103や他のコンピュータの記憶装置例えば、ストレージ装置200の記憶装置に記憶されたプログラムやデータの少なくとも一部を読み出して、RAM102に展開し、プログラムを実行する。なお、サーバ装置100は、複数の演算装置を備えて、情報処理を分散して実行してもよい。RAM102は、CPU101が扱うプログラムやデータを一時的に記憶しておく揮発性メモリである。なお、サーバ装置100は、RAM以外の種類のメモリを備えていてもよく、複数個のメモリを備えていてもよい。HDD103は、OSプログラムやアプリケーションプログラムなどのプログラム、および、情報処理に用いられるデータを記憶する不揮発性の記憶装置である。HDD103は、CPU101の命令に従って、内蔵の磁気ディスクに対する読み書きを行う。HDD103の記憶領域の一部は、仮想ディスクとして仮想マシンに割り当てられる。なお、サーバ装置100は、HDD以外の種類の不揮発性の記憶装置例えば、SSDSolidStateDriveを備えていてもよく、複数の記憶装置を備えていてもよい。画像信号処理部104は、CPU101の命令に従って、サーバ装置100に接続されたディスプレイ21に画像を出力する。ディスプレイ21として、例えば、CRTCathodeRayTubeディスプレイや液晶ディスプレイなどを用いることができる。入力信号処理部105は、サーバ装置100に接続された入力デバイス22から入力信号を取得し、CPU101に出力する。入力デバイス22として、例えば、マウスやタッチパネルなどのポインティングデバイスや、キーボードなどを用いることができる。ディスクドライブ106は、記録媒体23に記録されたプログラムやデータを読み取る駆動装置である。記録媒体23として、例えば、フレキシブルディスクFD:FlexibleDiskやHDDなどの磁気ディスク、CDCompactDiscやDVDDigitalVersatileDiscなどの光ディスク、光磁気ディスクMO:MagnetoOpticaldiskを使用できる。ディスクドライブ106は、例えば、CPU101の命令に従って、記録媒体23から読み取ったプログラムやデータをRAM102またはHDD103に格納する。通信部107は、ネットワーク30に接続して通信を行う通信インタフェースである。ネットワーク30への接続方法は、有線でも無線でもよい。すなわち、通信部107は、有線通信インタフェースでも無線通信インタフェースでもよい。図4は、VMイメージの差分例を示す図である。VMイメージテンプレートは、構成情報を生成する際に、ユーザの仮想マシンの現在のVMイメージと対比される基準となるVMイメージである。VMイメージテンプレートは、例えば、OSやパッケージアプリケーションがユーザから指定されて仮想マシンが生成された直後のVMイメージに相当する。VMイメージは、仮想マシンの動作に伴って更新されていく。VMイメージテンプレートは、例えば、OSファイルと共通パッケージを含む。OSファイルは、OSの動作に使用されるファイルであり、システム設定ファイルとログファイルを含む。VMイメージテンプレートのシステム設定ファイルには、システム設定情報の既定値が記載されている。ログファイルは、空であってもよい。共通パッケージは、データベース管理ソフトウェアなど、複数の仮想マシンが利用可能なパッケージアプリケーションの動作に使用されるファイルである。使用開始後の仮想マシンのVMイメージは、例えば、OSファイルと共通パッケージとユーザファイルを含む。OSファイルは、システム設定ファイルとログファイルと一時ファイルtmpファイルと呼ぶこともあるを含む。現在のVMイメージのシステム設定ファイルには、ユーザにより変更されたシステム設定情報が記載されている。ログファイルには、当該仮想マシンの使用状況を示すログ情報が記載されている。一時ファイルは、OSの動作に伴って一時的に生成されるファイルである。ユーザファイルは、ユーザが作成したプログラムやデータを含むファイルである。このように、現在のVMイメージをVMイメージテンプレートと比較すると、ユーザファイルがVMイメージに追加されていることがある。また、OSのシステム設定ファイルやログファイルが更新されていることがある。また、OSの一時ファイルがVMイメージに追加されていることがある。これら差分のうち、特にユーザファイルとシステム設定ファイルに関する差分が、当該仮想マシンの利用状況を把握する上で有用である。図5は、サーバ装置のソフトウェア例を示すブロック図である。サーバ装置100上では、ハイパーバイザ110および仮想マシン120、130,140が動作可能である。サーバ装置100a上でも、サーバ装置100と同様のソフトウェアが動作可能である。ハイパーバイザ110は、仮想マシン120,130,140などの仮想マシンを制御する。ハイパーバイザ110は、CPU101の処理能力、RAM102やHDD103の記憶領域、通信部107の通信帯域などのリソースを仮想マシン120,130,140に割り振る。また、ハイパーバイザ110は、仮想マシン120,130,140からデバイスへのアクセスおよび仮想マシン間のアクセスを中継する。仮想マシン120は、仮想マシン130,140などの仮想マシンの起動および停止を制御する。仮想マシン120は、管理装置300からユーザの仮想マシンの起動が指示されると、ストレージ装置200から当該仮想マシンに関するファイルを取得してHDD103上に割り当てられた記憶領域仮想ディスクに展開し、当該仮想マシンを起動させる。また、管理装置300からユーザの仮想マシンの終了が指示されると、当該仮想マシンを終了させる。また、仮想マシン120は、管理装置300から構成情報の生成が指示されると、ユーザの仮想マシンの場合と同様にして、仮想マシン140を起動させる。仮想マシン130は、仮想マシン120によって起動および終了が制御されるユーザの仮想マシンである。仮想マシン130は、端末装置400からの指示に応じて、仮想ディスク上のファイルを更新することがある。また、アプリケーションプログラムやユーザが作成したプログラムの実行に伴って、仮想ディスク上のファイルを更新することがある。仮想マシン140は、仮想マシン130などのユーザの仮想マシンに対応する構成情報を生成する。仮想マシン140は、管理装置300からの指示に基づいて、仮想マシン120の制御のもと起動される。以下の第2の実施の形態の説明では、仮想マシン140が仮想マシン130の構成情報を生成する場合を考える。仮想マシン140は、テンプレート生成部141、テンプレート記憶部142、差分抽出部143、条件情報記憶部144、構成情報生成部145、構成情報保存部146を有する。テンプレート生成部141は、仮想マシン130に対応するVMイメージテンプレートと構成情報テンプレートを生成する。テンプレート生成部141は、仮想マシン130にインストールされているOSおよびパッケージアプリケーションを確認し、これに対応するOSファイルおよび共通パッケージをストレージ装置200から取得してVMイメージテンプレートを生成する。また、インストールされているOSおよびパッケージアプリケーションに応じた既定デフォルト情報を記載した構成情報テンプレートを生成する。テンプレート記憶部142は、テンプレート生成部141が生成したVMイメージテンプレートおよび構成情報テンプレートを記憶する。テンプレート記憶部142は、仮想ディスクの記憶領域として実現できる。なお、テンプレート生成部141は、自身でテンプレートを生成せずに、仮想マシン120に生成を依頼してもよい。また、仮想マシン140が起動する前に、仮想マシン120がテンプレートを生成しておいてもよい。差分抽出部143は、仮想マシン130のVMイメージとテンプレート記憶部142に記憶されたVMイメージテンプレートとを比較して、両者の差分を抽出する。例えば、VMイメージテンプレートと比較して、仮想マシン130のVMイメージに追加されているファイル例えば、ユーザファイルや更新されている仮想マシン130のファイル例えば、システム設定ファイルを抽出する。仮想マシン130のVMイメージとVMイメージテンプレートとを比較するため、差分抽出部143は、例えば、仮想ディスクに記憶されている両者を仮想マシン140のファイルシステムにマウントする。条件情報記憶部144は、差分抽出部143で抽出された差分の中から、構成情報に関連する差分を選択するための条件を示す条件情報を記憶する。条件情報記憶部144は、例えば、RAM102またはHDD103に確保された記憶領域として実現できる。条件情報が示す条件は、抽出条件と無視条件とを含む。抽出条件は、特定の項目の情報例えば、システム設定情報に含まれるホスト名を抽出するファイルを示す。無視条件は、構成情報に関連しないために無視するファイルを示す。構成情報生成部145は、差分抽出部143で抽出された差分と条件情報記憶部144に記憶された条件情報に基づいて、仮想マシン130の構成情報と固有パッケージを生成する。例えば、構成情報生成部145は、抽出条件に適合するファイルから特定の項目の情報を抽出し、テンプレート記憶部142に記憶された構成情報テンプレートを書き換えて構成情報を生成する。また、抽出条件および無視条件の何れにも適合しないファイルをまとめて固有パッケージを生成し、固有パッケージの識別情報を構成情報に挿入する。構成情報保存部146は、構成情報生成部145で生成された構成情報を、ストレージ装置200の構成情報DBに保存する。また、構成情報生成部145で生成された固有パッケージを、ストレージ装置200が有する固有リポジトリに保存する。なお、第2の実施の形態では、仮想マシン130の構成情報を仮想マシン140が生成するものとしたが、仮想マシン以外のソフトウェアが生成するようにしてもよい。また、仮想マシン140は、仮想マシン130と異なるサーバ装置で動作してもよい。また、仮想マシン140は、仮想マシン130のOSがシャットダウンされることが検出されたときに、自動的に起動して仮想マシン130の構成情報を生成するようにしてもよい。図6は、抽出条件テーブルの例を示す図である。抽出条件テーブル147は、条件情報記憶部144に記憶されている。抽出条件テーブル147は、OSの種類毎に用意してもよい。抽出条件テーブル147は、ファイルパス、検索式および要素名を含む。ファイルパスは、ファイルシステム内でのファイルの位置を示す。例えば、システム設定ファイルが指定される。検索式は、ファイルパスが示すファイルの中から検索する文字列を示す。検索式は、正規表現を用いてもよく、変数sを含んでよい。例えば、ホスト名を定義した文字列が検索対象として指定される。要素名は、検索式にマッチした文字列に対応する情報例えば、変数sに相当する文字列を挿入すべき、構成情報内の位置を示す。検索式にマッチした文字列がVMイメージテンプレートから更新されているとき、構成情報内の要素名が示す位置に情報が挿入される。図7は、無視条件テーブルの例を示す図である。無視条件テーブル148は、条件情報記憶部144に記憶されている。無視条件テーブル148は、OSの種類毎に用意してもよい。無視条件テーブル148は、ファイルパスを含む。ファイルパスは、追加または更新されたことを無視する固有パッケージから除外するファイルの位置を示す。当該ファイルパスは、ワイルドカードを用いてもよく、ディレクトリを指定することもできる。例えば、ログファイルや一時ファイルが指定される。図8は、構成情報の生成処理を示すフローチャートである。以下、図8に示す生成処理をステップ番号に沿って説明する。ステップS11テンプレート生成部141は、仮想マシン130にインストールされているOSおよびパッケージアプリケーションを確認する。OSは、例えば、仮想マシン130のVMイメージの属性情報を参照することで確認できる。または、ユーザが端末装置400を操作して構成情報の生成を指示するとき、OSを示す情報をユーザに入力させてもよい。パッケージアプリケーションは、例えば、パッケージ管理ツールのコマンドrpmコマンドなどを仮想マシン130に送信し、パッケージアプリケーションのリストを仮想マシン130から取得することで確認できる。ステップS12テンプレート生成部141は、ステップS11で確認したOSに対応するOSファイルおよびパッケージアプリケーションに対応する共通パッケージを、ストレージ装置200が有する共通リポジトリから取得する。なお、ストレージ装置200の共通リポジトリに、高頻度で利用されるOSファイルと共通パッケージとを組み合わせたファイルを格納しておいてもよい。例えば、共通リポジトリに、高頻度で利用されるOSとパッケージアプリケーションとをインストール済みのVMテンプレートイメージを格納しておいてもよい。その場合、テンプレート生成部141は、ステップS11で確認したOSとパッケージアプリケーションの組み合わせに対応するファイルを、ストレージ装置200の共通リポジトリから取得すればよい。ステップS13テンプレート生成部141は、ステップS12で取得したOSファイルをテンプレート記憶部142に展開し、更に共通パッケージをテンプレート記憶部142に展開する例えば、インストール処理を行う。これにより、VMイメージテンプレートが生成される。また、テンプレート生成部141は、ステップS11におけるOSおよびパッケージアプリケーションの確認結果に基づいて、構成情報テンプレートを生成する。なお、VMイメージテンプレートの生成は、仮想マシン120が行ってもよい。ステップS14差分抽出部143は、仮想マシン130の現在のVMイメージと、ステップS13で生成されたVMイメージテンプレートを、仮想マシン140のファイルシステムにマウントする。これにより、仮想マシン140は、自身のファイルシステムのディレクトリ構造を辿ることで、仮想マシン130が使用しているファイルとVMイメージテンプレートに含まれるファイルにアクセスできるようになる。ステップS15差分抽出部143は、仮想マシン130が使用しているファイル群とVMイメージテンプレートに含まれるファイル群とを、ディレクトリ構造も含めて比較し、両者の差分を抽出する。ファイル群同士の比較には、例えば、rsyncコマンド、diffコマンド、findコマンド、testコマンドなどを用いることができる。抽出される差分には、何れか一方のファイル群のみに存在するファイルと、両方のファイル群に存在するが内容の異なるファイルとが含まれる。内容の異なるファイルについては、差分抽出部143は、ファイル内の更新されている部分の文字列を検出する。ステップS16構成情報生成部145は、ステップS15で抽出された差分であって、仮想マシン130が使用しているファイルを1つ選択する。ステップS17構成情報生成部145は、ステップS16で選択したファイルのパスを確認し、当該ファイルパスが無視条件テーブル148の無視条件に適合するか当該ファイルパスが登録されているか判断する。無視条件に適合する場合、処理をステップS21に進める。無視条件に適合しない場合、処理をステップS18に進める。ステップS18構成情報生成部145は、ステップS16で選択したファイルのパスが、抽出条件テーブル147の抽出条件に適合するか当該ファイルパスが登録されているか判断する。抽出条件に適合する場合、処理をステップS19に進める。抽出条件に適合しない場合、処理をステップS20に進める。ステップS19構成情報生成部145は、ステップS16で選択したファイル内の更新されている部分の文字列と、抽出条件テーブル147の検索式とを照合して、構成情報に記載する文字列を抽出する。そして、構成情報生成部145は、ステップS13で生成された構成情報テンプレートの中の、抽出条件テーブル147の要素名が示す位置に、抽出した文字列を挿入する。そして、処理をステップS21に進める。ステップS20構成情報生成部145は、ステップS16で選択したファイルを、固有パッケージに追加するファイルとして選択する。ステップS21構成情報生成部145は、ステップS16で差分としてのファイルを全て選択したか判断する。全て選択した場合、処理をステップS22に進める。未選択のファイルがある場合、処理をステップS16に進める。ステップS22構成情報生成部145は、ステップS20で選択した1またはそれ以上のファイルを含む固有パッケージを生成する。また、ステップS19で構成情報テンプレートに基づいて作成された構成情報に、固有パッケージの名称を挿入する。構成情報保存部146は、生成された構成情報を、ネットワーク30を介して、ストレージ装置200の構成情報DBに格納する。また、生成された固有パッケージを、ネットワーク30を介して、ストレージ装置200の固有リポジトリに格納する。なお、固有パッケージの名称は、端末装置400を操作するユーザが入力するようにしてもよいし、構成情報生成部145が自動的に付与してもよい。また、例えば、固有パッケージは、固有パッケージに含めるファイルを指定してrpmbuildコマンドを発行することで、生成することが可能である。図9は、VMイメージのディレクトリ構造の例を示す図である。仮想マシン130のVMイメージが仮想マシン140にマウントされると、例えば、仮想マシン140のディレクトリmntの下にディレクトリtargetが生成される。また、VMイメージテンプレートが仮想マシン140にマウントされると、例えば、仮想マシン140のディレクトリmntの下にディレクトリtemplateが生成される。仮想マシン130のファイルシステムは、システム設定ファイルnetwork、ユーザディレクトリtestapp/、ログファイルmessages、ユーザディレクトリtestdb/および一時ファイルaaaを含む。ここでは、上記のシステム設定ファイルとログファイルの内容が、VMイメージテンプレートのものと異なる更新されているとする。また、上記の一時ファイルと2つのユーザディレクトリが、VMイメージテンプレートには存在しないとする。図10は、仮想マシンのシステム設定情報の例を示す図である。システム設定ファイルnetworkには、ホスト名HOSTNAMEを含む複数の項目のシステム設定情報が記載されている。VMイメージテンプレートに含まれるシステム設定ファイルには、例えば、既定のホスト名localhostが記載されている。一方、仮想マシン130のVMイメージに含まれるシステム設定ファイルには、例えば、ユーザにより更新されたホスト名myhost1が記載されている。図11は、VMイメージの差分抽出結果の例を示す図である。差分抽出部143は、図9に示したファイルシステムに対して差分抽出を行うと、図11に示すような差分抽出結果を生成して構成情報生成部145に出力する。この差分抽出結果は、ディレクトリtestapp/,testdb/とファイルaaaが、仮想マシン130のVMイメージに含まれ、VMイメージテンプレートに含まれていないことを示している。また、この差分抽出結果は、ファイルnetwork,messagesの内容が、仮想マシン130のVMイメージとVMイメージテンプレートとで異なることを示している。また、仮想マシン130におけるファイルnetworkの3行目は、HOSTNAME=myhost1と記載されている一方、VMイメージテンプレートにおけるファイルnetworkの3行目は、HOSTNAME=localhostと記載されていることを示している。構成情報生成部145は、差分抽出部143で抽出された上記の差分それぞれを、抽出条件テーブル147および無視条件テーブル148に登録された条件情報と照合する。ファイルaaa,messagesは、無視条件テーブル148に登録されたファイルパスに適合するため、構成情報の生成において無視される。ファイルnetowrkは、抽出条件テーブル147に登録されたファイルパスに適合するため、検索式の変数に相当する文字列myhost1が構成情報として抽出される。ディレクトリtestapp/,testdb/および当該ディレクトリに含まれるファイルおよびディレクトリは、抽出条件テーブル147と無視条件テーブル148の何れにも適合しないため、固有パッケージに挿入される。図12は、仮想マシンの構成情報の例を示す図である。構成情報は、例えば、XMLExtensibleMarkupLanguageを用いて記述することができる。テンプレート生成部141は、仮想マシン130にインストールされているOSおよびパッケージアプリケーションに応じて、図12に示すような構成情報テンプレートを作成する。構成情報生成部145は、構成情報テンプレートに基づいて、図12に示すような構成情報を生成する。構成情報テンプレートは、例えば、仮想マシン130にインストールされているOSを示す情報、インストールされているパッケージアプリケーションを示す情報、および、既定のシステム設定情報を含む。OSを示す情報は、例えば、OSの名称とバージョン番号とを含む。パッケージアプリケーションを示す情報は、例えば、パッケージアプリケーションの名称とバージョン番号とを含む。既定のシステム設定情報は、例えば、VMイメージテンプレートのシステム設定ファイルに記載されているホスト名を含む。構成情報は、例えば、仮想マシン130にインストールされているOSを示す情報、インストールされているパッケージアプリケーションを示す情報、仮想マシン130に対応する固有パッケージを示す情報、および、システム設定情報を含む。OSを示す情報およびパッケージアプリケーションを示す情報は、構成情報テンプレートに含まれる情報を用いることができる。システム設定情報は、例えば、システム設定ファイルから抽出されたホスト名を含む。固有パッケージを示す情報は、構成情報生成部145で生成された固有パッケージの名称例えば、ユーザにより入力された名称を含む。仮想マシン140によって生成されストレージ装置200に保存された構成情報は、起動する仮想マシンをユーザが選択するために利用することができる。また、構成情報は、仮想マシン130を起動するために利用することもできる。図13は、仮想マシンの起動処理を示すフローチャートである。以下、仮想マシン130を起動する場合を想定して、図13に示す生成処理をステップ番号に沿って説明する。ステップS31仮想マシン120は、管理装置300からユーザの仮想マシン130の起動が指示されると、仮想マシン130の構成情報を、ネットワーク30を介してストレージ装置200の構成情報DBから取得する。ステップS32ハイパーバイザ110は、HDD103上に仮想ディスクの領域を確保し、仮想マシン130に割り当てる。ステップS33仮想マシン120は、ステップS31で取得した仮想マシン130の構成情報を参照して、仮想マシン130が利用しているOSを確認し、OSファイルをストレージ装置200の共通リポジトリから取得する。そして、仮想マシン120は、仮想マシン130に割り当てられた仮想ディスクに、OSファイルを展開する。ステップS34仮想マシン120は、仮想マシン130の構成情報を参照して、仮想マシン130が利用しているパッケージアプリケーションを確認し、共通パッケージをストレージ装置200の共通リポジトリから取得する。そして、仮想マシン120は、仮想ディスク130に割り当てられた仮想ディスクに、共通パッケージを展開する。ステップS35仮想マシン120は、仮想マシン130の構成情報を参照して、仮想マシン130に対応する固有パッケージをストレージ装置200の固有リポジトリから取得する。そして、仮想マシン120は、仮想マシン130に割り当てられた仮想ディスクに、固有パッケージを展開する。ステップS36仮想マシン120は、仮想マシン130の構成情報に記載されたシステム設定情報を、仮想マシン130のOSに適用する。例えば、構成情報に記載されたシステム設定情報を用いて、OSのシステム設定ファイルを更新する。その後、ハイパーバイザ110は、仮想マシン130のOSを起動させる。図14は、仮想マシンの保存方法の例を示す図である。ここでは、端末装置400を操作するユーザが、4つの仮想マシン仮想マシン1~4を作成した場合を考える。仮想マシン1,2は、OSとしてOS1を利用し、パッケージアプリケーションとしてDBMSDatabaseManagementSystem1を利用している。仮想マシン3,4は、OS2およびDBMS2を利用している。ストレージ装置200は、共通リポジトリ210、固有リポジトリ220および構成情報DB230を有する。共通リポジトリ210には、OS1,2のファイルと、DBMS1,2のパッケージが格納される。固有リポジトリ220には、仮想マシン1~4それぞれの固有パッケージTestPack1~4が格納される。構成情報DB230には、仮想マシン1~4それぞれの構成情報が格納される。このように、仮想マシン1~4のVMイメージを、OSファイルと共通パッケージと固有パッケージとに分割して保存することで、仮想マシン1~4のVMイメージをそのまま保存する場合と比べて、記憶領域を節約することができる。また、構成情報を参照して、仮想マシン1~4のうちの任意の仮想マシンを、OSファイルと共通パッケージと固有パッケージとを用いて復元することができる。図15は、仮想マシン管理のシーケンス例を示す図である。ここでは、仮想マシン130の構成情報を生成し、仮想マシン130を停止させた後に再起動する場合を考える。ステップS41端末装置400は、仮想マシン130の構成情報の生成を管理装置300に指示する。管理装置300は、仮想マシン130が配置されているサーバ装置100を検索し、仮想マシン130の構成情報の生成をサーバ装置100に指示する。ステップS42サーバ装置100は、構成情報を生成する仮想マシン140の動作に用いるファイル例えば、VMイメージを、ストレージ装置200から取得する。ステップS43サーバ装置100は、仮想マシン140を起動し、仮想マシン130の構成情報と固有パッケージを生成する。その際、サーバ装置100は、ストレージ装置200にアクセスし、VMイメージテンプレートの生成に用いるファイルを取得する。ステップS44サーバ装置100は、生成した仮想マシン130の構成情報と固有パッケージを、ストレージ装置200に保存する。ステップS45端末装置400は、仮想マシン130の停止を管理装置300に指示する。管理装置300は、仮想マシン130が配置されているサーバ装置100を検索し、仮想マシン130の停止をサーバ装置100に指示する。サーバ装置100は、仮想マシン130のOSに対してシャットダウンを指示する。ステップS46端末装置400は、管理装置300を介してストレージ装置200に格納されている構成情報の少なくとも一部を取得する。構成情報に基づいて、ユーザが起動する仮想マシンとして仮想マシン130を選択すると、端末装置400は、仮想マシン130の起動を管理装置300に指示する。管理装置300は、例えば、負荷を考慮してサーバ装置100を選択し、サーバ装置100に仮想マシン130の起動を指示する。ステップS47サーバ装置100は、仮想マシン130の構成情報をストレージ装置200から取得する。また、サーバ装置100は、構成情報が示すOSファイル、共通パッケージおよび固有パッケージを、ストレージ装置200から取得する。ステップS48サーバ装置100は、取得したOSファイル、共通パッケージおよび固有パッケージを仮想ディスクに展開して、仮想マシン130のVMイメージを復元する。そして、サーバ装置100は、仮想マシン130のOSを起動する。図16は、仮想マシンの管理画面の例を示す図である。管理画面411は、例えば、端末装置400が管理装置300にアクセスしたときに、端末装置400のディスプレイに表示される。管理画面411は、Webブラウザの画面であってもよい。管理画面411には、ユーザが作成した仮想マシンの一覧が表示される。仮想マシンの一覧は、例えば、管理装置300がストレージ装置200から構成情報を取得して生成する。ユーザは、管理画面411上で、仮想マシン1~4にインストールされているOSやパッケージアプリケーションなど、仮想マシン1~4の設定状況の概要を確認することができる。また、ユーザは、管理画面411上で、仮想マシンを1つ選択し、当該仮想マシンの起動や消去を指示することができる。また、ユーザは、管理画面411上で、仮想マシンを1つ選択し、当該仮想マシンの詳細情報を表示させることもできる。図17は、仮想マシンの管理画面の例続きを示す図である。管理画面412は、例えば、管理画面411上で1つの仮想マシンが選択され、詳細情報の表示が指示されたときに、端末装置400のディスプレイに表示される。管理画面412上には、ユーザにより選択された仮想マシンの構成情報が表示される。構成情報は、例えば、管理装置300を介してストレージ装置200から取得される。当該仮想マシンの構成情報が未生成である場合には、管理画面412の構成情報の欄は空欄となる。ユーザは、管理画面412上で、構成情報の生成再生成を含むを管理装置300に指示することができる。また、ユーザは、管理画面412上で、構成情報を編集することもできる。例えば、ホスト名やパッケージアプリケーションのバージョンを変更することが考えられる。ユーザが構成情報の編集操作を行った場合、端末装置400が管理装置300に編集内容を送信し、管理装置300がストレージ装置200に格納されている構成情報を更新する。ホスト名を変更した場合、当該仮想マシンを次に起動するとき、変更後のホスト名が当該仮想マシンに適用される。パッケージアプリケーションのバージョンを変更した場合、当該仮想マシンを次に起動するとき、変更後のバージョンのパッケージアプリケーションが当該仮想マシンにインストールされた状態で起動される。第2の実施の形態の情報処理システムによれば、既存の仮想マシンのVMイメージから当該仮想マシンの構成情報を自動的に生成することができる。よって、複数の仮想マシンが作成された場合でも、自動的に生成された構成情報を参照して各仮想マシンの設定状況を把握することができ、複数の仮想マシンの管理が容易となる。例えば、構成情報を参照することで、起動する仮想マシンや消去する仮想マシンの選択が容易となる。また、構成情報を参照して、OSファイルと共通パッケージと固有パッケージとを組み合わせて、仮想マシンを起動することができる。よって、仮想マシン毎のVMイメージをそのまま保存しておかなくてもよく、記憶装置の容量を節約することができる。また、構成情報を編集して、ホスト名や利用するパッケージアプリケーションのバージョンなど、仮想マシンの設定を変更することができる。よって、アプリケーションのバージョンアップなどの保守作業の負担を軽減できる。なお、前述のように、第2の実施の形態の仮想マシン管理方法は、コンピュータとしての機能を有するサーバ装置100,100aに、仮想マシン管理プログラムを実行させることで実現できる。仮想マシン管理プログラムは、コンピュータ読み取り可能な記録媒体例えば、記録媒体23に記録しておくことができる。記録媒体として、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FDおよびHDDが含まれる。光ディスクには、CD、CD-RRecordable/RWRewritable、DVDおよびDVD-R/RWが含まれる。プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータ例えば、ストレージ装置200の記憶装置に格納しておき、ネットワーク30経由で当該プログラムを配布することもできる。サーバ装置100,100aは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを記憶装置例えば、HDD103に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワーク30を介して受信したプログラムを直接実行してもよい。"