(57)【要約】  仮想マシンにホストの権限を与えずにハードウェアリソースの情報をバックアップする。ホストＯＳ（１１０）上で動作するエージェント（１１３）は、バックアップ対象ＯＳとなるゲストＯＳ（１１１）を検出する。次に、エージェント（１１３）は、エージェント（１１３）は、第１の記憶領域となるホストＯＳの管理領域（１１４）からゲストＯＳ（１１１）に対応する構成ファイル（１１２）を抽出する。続けて、エージェント（１１３）は、第２の記憶領域となるＶＨＤファイル（１１５）がバックアップツール（１２１）にマウントされていない間に、ＶＨＤファイル（１１５）内に構成ファイル（１１２）を複写する。複写後、バックアップツール（１２１）は、ＶＨＤファイル（１１５）をマウントして読出し、構成ファイル（１１２）をバックアップする。
2013030967.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
前記コンピュータ上で動作している複数のＯＳのうち特定のＯＳとは異なるバックアップ対象ＯＳを検出し、
前記バックアップ対象ＯＳを検出した場合、前記特定のＯＳがアクセス権限を有し前記バックアップ対象ＯＳがアクセス権限を有さない第１の記憶領域から、前記コンピュータのリソースのうち前記バックアップ対象ＯＳが使用するリソースに関する情報を抽出し、
前記リソースに関する情報を前記第１の記憶領域から前記特定のＯＳおよび前記バックアップ対象ＯＳがアクセス権限を有する第２の記憶領域に複写し、
前記第２の記憶領域に前記リソースに関する情報を複写した後、前記リソースに関する情報をバックアップする、
処理を実行することを特徴とするバックアップ方法。
【請求項２】
前記コンピュータが、
前記特定のＯＳにより、前記リソースに関する情報の複写先である前記第２の記憶領域が存在しているか否かを判定する処理を実行し、
前記抽出する処理は、
前記第２の記憶領域が存在していると判定された場合、前記第１の記憶領域から、前記リソースに関する情報を抽出する、
ことを特徴とする請求項１に記載のバックアップ方法。
【請求項３】
前記コンピュータが、
前記第２の記憶領域が前記バックアップ対象ＯＳに認識される前に、前記バックアップ対象ＯＳをバックアップする処理を停止させ、
前記リソースに関する情報を複写した後、前記バックアップ対象ＯＳをバックアップする処理を再開させる、
処理を実行することを特徴とする請求項１または２に記載のバックアップ方法。
【請求項４】
前記コンピュータが、
前記コンピュータで読出可能な状態になった記録媒体を検出する処理を実行し、
前記バックアップ対象ＯＳを検出する処理は、
前記記録媒体が検出された場合、前記複数のＯＳのうち操作対象となるＯＳを前記バックアップ対象ＯＳとして検出し、
前記バックアップする処理は、
前記リソースに関する情報を複写した後、前記記録媒体に記録されたソフトウェアにより、前記リソースに関する情報をバックアップする、
ことを特徴とする請求項１〜３のいずれか１つに記載のバックアップ方法。
【請求項５】
コンピュータに、
前記コンピュータ上で動作している複数のＯＳのうち特定のＯＳとは異なるバックアップ対象ＯＳを検出し、
前記バックアップ対象ＯＳを検出した場合、前記特定のＯＳがアクセス権限を有し前記バックアップ対象ＯＳがアクセス権限を有さない第１の記憶領域から、前記コンピュータのリソースのうち前記バックアップ対象ＯＳが使用するリソースに関する情報を抽出し、
前記リソースに関する情報を前記第１の記憶領域から前記特定のＯＳおよび前記バックアップ対象ＯＳがアクセス権限を有する第２の記憶領域に複写し、
前記第２の記憶領域に前記リソースに関する情報を複写した後、前記リソースに関する情報をバックアップする、
処理を実行させることを特徴とするバックアッププログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バックアップ方法、およびバックアッププログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータの物理的破損に備えたり、または、コンピュータの環境を移行したりするために、コンピュータのディスクイメージをバックアップすることが行われている。コンピュータのディスクイメージには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のプログラムコードとデータが含まれる。また、コンピュータのディスクイメージは、ＯＳのライブラリを利用して実行されるアプリケーションソフトウェア（以下、「アプリ」と称する）のプログラムコードとデータを含んでいてもよい。【０００３】
関連する先行技術としては、たとえば、ＯＳのデプロイ方法として、取得元のコンピュータのディスクイメージとハードウェア等のリソースに関する情報とを記憶し、デプロイ先と取得元のリソースに関する情報を比較してデプロイするか否かを決定するものがある。また、仮想マシンモニタ（ＶＭＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）によって実行される仮想マシン（仮想計算機）のイメージをバックアップする技術が存在する。仮想マシンのバックアップを行う場合、物理環境と同様に仮想マシンのリソースに関する情報をバックアップすることになる。仮想マシンに関連する先行技術としては、たとえば、仮想マシンで動作するゲストＯＳおよびアプリのイメージファイルを暗号化、またはメッセージダイジェスト値を添付して配布する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１２２９６３号公報
【特許文献２】特開２００９−１８７２４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術において、仮想マシンのハードウェア等のリソースに関する情報は仮想マシンを管理するホストＯＳが有しており、リソースに関する情報へのアクセス権限がないゲストＯＳがバックアップを行うことは難しい。【０００６】
１つの側面では、本発明は、リソースに関する情報のバックアップを効率的に行うバックアップ方法、およびバックアッププログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、コンピュータ上で動作している複数のＯＳのうち特定のＯＳとは異なるバックアップ対象ＯＳを検出し、バックアップ対象ＯＳを検出した場合、特定のＯＳがアクセス権限を有しバックアップ対象ＯＳがアクセス権限を有さない第１の記憶領域から、コンピュータのリソースのうちバックアップ対象ＯＳが使用するリソースに関する情報を抽出し、リソースに関する情報を第１の記憶領域から特定のＯＳおよびバックアップ対象ＯＳがアクセス権限を有する第２の記憶領域に複写し、第２の記憶領域にリソースに関する情報を複写した後、リソースに関する情報をバックアップするバックアップ方法、およびバックアッププログラムが提案される。
【発明の効果】
【０００８】
本発明の一様態によれば、リソースに関する情報のバックアップを効率的に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本実施の形態にかかるバックアップ方法の動作例を示す説明図である。
【図２】図２は、実施の形態にかかる情報処理装置のハードウェアの一例を示すブロック図である。
【図３】図３は、情報処理装置のソフトウェア例を示すブロック図である。
【図４】図４は、情報処理装置の機能例を示すブロック図である。
【図５】図５は、バックアップイメージファイルの記憶内容の一例を示す説明図である。
【図６】図６は、ゲストマシン管理テーブルの記憶内容の一例を示す説明図である。
【図７】図７は、バックアップ中の動作例を示す説明図（その１）である。
【図８】図８は、バックアップ中の動作例を示す説明図（その２）である。
【図９】図９は、バックアップ中の動作例を示す説明図（その３）である。
【図１０】図１０は、バックアップ処理の一例を示すフローチャート（その１）である。
【図１１】図１１は、バックアップ処理の一例を示すフローチャート（その２）である。
【図１２】図１２は、エージェントによる構成ファイルバックアップ処理の一例を示すフローチャートである。
【図１３】図１３は、バックアップツールによるイメージバックアップ処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、開示のバックアップ方法、およびバックアッププログラムの実施の形態を詳細に説明する。
【００１１】
図１は、本実施の形態にかかるバックアップ方法の動作例を示す説明図である。図１では、本実施の形態にかかるバックアップ方法を実行する情報処理装置１００の動作例を説明する。情報処理装置１００は、ＶＭＭ１０１上に、情報処理装置１００のゲストマシンを管理するホストマシン１０２と、ゲストマシン１０３と、ゲストマシン１０４と、を実行する。
【００１２】
ＶＭＭ１０１は、コンピュータを仮想化し、複数のＯＳを実行できるように制御するソフトウェアである。ホストマシン１０２〜ゲストマシン１０４は、仮想マシンであり、情報処理装置１００で動作する仮想的なコンピュータである。たとえば、ホストマシン１０２〜ゲストマシン１０４は、情報処理装置１００のハードウェアリソースとなるＣＰＵ、メモリ等を仮想化し、仮想化された実行環境を仮想マシン上で実行されるソフトウェアに提供するソフトウェアである。具体的に、ホストマシン１０２は、ホストＯＳ１１０を実行し、ゲストマシン１０３は、ゲストＯＳ１１１を実行する。なお、情報処理装置１００のハードウェアについては、図２にて後述する。
【００１３】
また、ホストマシン１０２は、ゲストマシン１０３、ゲストマシン１０４を管理する。具体的に、ホストマシン１０２は、ゲストマシン１０３、ゲストマシン１０４に、情報処理装置１００のハードウェアリソースを割り当てる。具体的に、仮想マシンが使用するリソースに関する情報（以下、「構成情報」と称する）は、構成ファイル１１２に記載されている。構成ファイル１１２の具体例は、図５にて示す。また、構成ファイル１１２は、ホストＯＳ１１０がアクセス権限を有しゲストＯＳ１１１がアクセス権限を有さない第１の記憶領域となるホストＯＳの管理領域１１４に記憶されている。
【００１４】
また、ホストＯＳ１１０は、エージェントコンポーネント（以下、「エージェント」と称する）１１３を実行する。エージェント１１３は、ゲストマシン１０３、ゲストマシン１０４のいずれかにてバックアップ処理が開始することを監視する。
【００１５】
バックアップ処理とは、バックアップ対象ＯＳがゲストＯＳ１１１である場合、ゲストＯＳ１１１をバックアップする処理である。なお、バックアップ処理は、ゲストＯＳ１１１がアクセス権限を有する第２の記憶領域となるＶＨＤ（Ｖｉｒｔｕａｌ  Ｈａｒｄ  Ｄｉｓｋ）ファイル１１５内に構成情報が存在する場合、構成情報を含めてバックアップする。さらに、バックアップ処理は、ＯＳのライブラリを利用して実行されるアプリが第２の記憶領域内にある場合、アプリのプログラムコードとデータを含めてバックアップしてもよい。なお、ＶＨＤファイル１１５とは、ハードディスクと構造的に似せたファイル形式に従ったファイルである。
【００１６】
このような状態で、仮想マシンの管理者等により、情報処理装置１００にバックアップ処理を実行するバックアップツール１２１が格納された記録媒体１２２が挿入された場合を想定する。記録媒体１２２は、たとえば、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）等の光ディスク等であったり、または、可搬できるフラッシュＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）であったりする。
【００１７】
エージェント１１３は、（１）番目の処理として、バックアップ対象ＯＳとなるゲストＯＳ１１１を検出する。たとえば、エージェント１１３は、記録媒体１２２が挿入された場合に、操作対象となっているＯＳをバックアップ対象ＯＳとして検出してもよい。さらに、エージェント１１３は、ホストＯＳ１１０がゲストＯＳ１１１の再起動を検出できる場合、再起動したゲストＯＳをバックアップ対象ＯＳとして検出してもよい。
【００１８】
バックアップ対象ＯＳが検出された場合、エージェント１１３は、（２）番目の処理として、第１の記憶領域となるホストＯＳの管理領域１１４からゲストＯＳ１１１に対応する構成ファイル１１２を抽出する。続けて、エージェント１１３は、（３）番目の処理として、第２の記憶領域となるＶＨＤファイル１１５がゲストＯＳ１１１またはバックアップツール１２１にマウントされていない間に、ＶＨＤファイル１１５に構成ファイル１１２を複写する。このとき、エージェント１１３は、ＶＨＤファイル１１５内に構成ファイル格納フォルダ１２３が存在する場合、構成ファイル１１２を複写してもよい。複写後、バックアップツール１２１は、ＶＨＤファイル１１５をマウントして読出し、ゲストＯＳ１１１を含めてバックアップする。
【００１９】
このように、エージェント１１３は、構成ファイル１１２をゲストＯＳ１１１がアクセス権限を有する領域に複写することで、ゲストＯＳ１１１にホストＯＳ１１０の権限を与えずに構成ファイル１１２のバックアップを行うことができる。図２〜図１３にて、図１の動作を行う情報処理装置１００の説明を行う。
【００２０】
（情報処理装置１００のハードウェア）
図２は、実施の形態にかかる情報処理装置のハードウェアの一例を示すブロック図である。図２において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、を含む。また、記憶装置として情報処理装置１００は、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、を含む。また、ユーザやその他の機器との入出力装置として情報処理装置１００は、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、を含む。また、各部はバス２１３によってそれぞれ接続されている。
【００２１】
ここで、ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００２２】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。なお、ＲＯＭ２０２、磁気ディスク２０５、光ディスク２０７のいずれかの記憶装置に、本実施の形態にかかるバックアッププログラムが格納されていてもよい。
【００２３】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。たとえば、ディスプレイ２０８は、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２４】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１２に接続され、このネットワーク２１２を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１２と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００２５】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、キーボード２１０は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。また、情報処理装置１００は、マウス２１１の代わりとして、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
【００２６】
図３は、情報処理装置のソフトウェア例を示すブロック図である。図３では、符号３０１が示す説明図にて、情報処理装置１００がハイパーバイザ型による仮想化環境を構築している場合のソフトウェア例を示している。また、符号３０２が示す説明図では、情報処理装置１００がホストＯＳ型による仮想化環境を構築している場合のソフトウェア例を示している。
【００２７】
符号３０１が示す説明図にて、ハイパーバイザ型のＶＭＭ１０１は、ハードウェア３０３を直接制御し、ホストマシン１０２〜ゲストマシン１０４を実行する。ホストマシン１０２のホストＯＳ１１０で動作するエージェント１１３は、記録媒体１２２の挿入を検出し、構成ファイル１１２を複写する。記録媒体１２２に格納されたバックアップツール１２１は、ゲストＯＳ１１１と複写先の構成ファイル１１２とをディスク３０４内のバックアップイメージファイル３０５に書き込む。このように、本実施の形態にかかる情報処理装置１００は、ハイパーバイザ型による仮想化環境を構築しているが、情報処理装置１００はホストＯＳ型による仮想化環境を構築してもよい。
【００２８】
符号３０２が示す説明図にて、情報処理装置１００は、情報処理装置１００を制御するホストＯＳ１１０を実行する。ホストＯＳ１１０は、ホストＯＳ１１０の１アプリとしてエージェント１１３とＶＭＭ１０１を実行する。エージェント１１３は、記録媒体１２２の挿入を検出し、構成ファイル１１２を複写する。記録媒体１２２に格納されたバックアップツール１２１は、ゲストＯＳ１１１と複写先の構成ファイル１１２とをディスク３０４内のバックアップイメージファイル３０５に書き込む。
【００２９】
なお、ディスク３０４は、図２で示した磁気ディスク２０５、光ディスク２０７等である。また、バックアップイメージファイル３０５は、ソフトウェアをイメージファイルとしてバックアップした複製情報である。次に、エージェント１１３およびバックアップツール１２１の機能について説明する。
【００３０】
（情報処理装置１００の機能）
次に、情報処理装置１００の機能について説明する。図４は、情報処理装置の機能例を示すブロック図である。情報処理装置１００は、検出部４０１と、停止部４０２と、判定部４０３と、抽出部４０４と、暗号化部４０５と、生成部４０６と、複写部４０７と、再開部４０８と、を含む。また、情報処理装置１００は、バックアップ部４１１と、復号部４１２と、生成部４１３と、判定部４１４と、書込部４１５と、を含む。
【００３１】
この制御部となる機能（検出部４０１〜書込部４１５）は、記憶装置に記憶されたプログラムをＣＰＵ２０１が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などである。または、Ｉ／Ｆ２０９を経由して他のＣＰＵが実行することにより、その機能を実現してもよい。
【００３２】
また、検出部４０１〜再開部４０８は、ホストマシン１０２にて実行されるエージェント１１３の機能であり、バックアップ部４１１〜書込部４１５は、ゲストマシン１０３にて実行されるバックアップツール１２１の機能である。なお、バックアップ部４１１〜書込部４１５は、記録媒体１２２内のＯＳによってブートされたゲストマシン１０３で実行されるバックアップツール１２１の機能であるが、ホストＯＳ１１０によって実行されるバックアップツール１２１の機能でもよい。
【００３３】
また、情報処理装置１００は、ゲストマシンの管理情報を記憶するゲストマシン管理テーブル４２１にアクセス可能である。ゲストマシン管理テーブル４２１の詳細は、図６にて後述する。
【００３４】
検出部４０１は、コンピュータ上で動作している複数のＯＳのうち特定のＯＳとは異なるバックアップ対象ＯＳを検出する機能を有する。具体的には、検出部４０１は、情報処理装置１００上で動作しているホストＯＳ１１０、ゲストＯＳ１１１のうち、特定のＯＳとなるホストＯＳ１１０とは異なるゲストＯＳ１１１をバックアップ対象ＯＳとして検出する。また、検出部４０１は、ゲストマシンの再起動の検出が可能である場合、再起動が行われたＯＳをバックアップ対象ＯＳとして検出してもよい。また、検出部４０１は、特定のＯＳとなるホストＯＳが実行してもよいし、ホストＯＳ、バックアップ対象ＯＳとは異なる他のＯＳが実行してもよい。なお、情報処理装置１００上で動作しているＯＳは、１つのホストＯＳ１１０と、１以上のゲストＯＳとなる。
【００３５】
また、検出部４０１は、コンピュータで読出可能な状態になった記録媒体１２２を検出し、記録媒体１２２が検出された場合、複数のＯＳのうち操作対象となるＯＳをバックアップ対象ＯＳとして検出してもよい。操作対象となるＯＳとは、キーボード２１０、マウス２１１といったユーザ入力を受け付けているＯＳである。
【００３６】
なお、記録媒体１２２が読出可能な状態になる場合とは、記録媒体１２２が光ディスク２０７であれば、情報処理装置１００に光ディスク２０７が挿入され、光ディスク２０７が読出可能となる場合である。また、記録媒体１２２が可搬できるフラッシュＲＯＭであれば、記録媒体１２２が読出可能な状態になる場合は、情報処理装置１００にフラッシュＲＯＭが接続され、フラッシュＲＯＭが読出可能となる場合である。
【００３７】
また、記録媒体１２２が磁気ディスク２０５、またはネットワーク２１２で接続されたサーバ等に格納されたＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）イメージファイルであれば、記録媒体１２２が読出可能な状態になる場合は、ＩＳＯイメージファイルをマウントしたときである。なお、検出したバックアップ対象ＯＳの識別情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００３８】
停止部４０２は、第２の記憶領域がバックアップ対象ＯＳに認識される前に、バックアップ対象ＯＳをバックアップする処理を停止させる機能を有する。なお、第２の記憶領域が認識されるとは、第２の記憶領域となるＶＨＤファイル１１５がマウントされた状態を示している。たとえば、停止部４０２は、ＶＨＤファイル１１５がマウントされる前にブレークポイントを設定しておき、ゲストＯＳ１１１が実行されていたゲストマシン１０３がＶＨＤファイル１１５をマウントする前にバックアップ部４１１を停止させる。
【００３９】
また、停止部４０２は、特定のＯＳとなるホストＯＳが実行してもよいし、他のＯＳが実行してもよい。なお、停止したという結果が、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４０】
判定部４０３は、バックアップ対象ＯＳが検出された場合、特定のＯＳにより、リソースに関する情報の複写先である第２の記憶領域が存在しているか否かを判定する機能を有する。第２の記憶領域は、たとえば、ＶＨＤファイル１１５でもよいし、ＶＨＤファイル１１５の内部にある構成ファイル格納フォルダ１２３でもよい。また、構成ファイル格納フォルダ１２３は、バックアップ対象ＯＳであるゲストＯＳ１１１がシャットダウンする前に、バックアップツール１２１によって作成されている。なお、バックアップ対象ＯＳに対応する構成ファイル格納フォルダ１２３のパスは、ゲストマシン管理テーブル４２１に記憶されている。
【００４１】
たとえば、判定部４０３は、ホストＯＳ１１０により、構成ファイル格納フォルダ１２３がＶＨＤファイル１１５内に存在するか否かを判定する。また、判定部４０３は、特定のＯＳとなるホストＯＳが実行してもよいし、ホストＯＳ、バックアップ対象ＯＳとは異なる他のＯＳが実行してもよい。なお、判定結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４２】
抽出部４０４は、バックアップ対象ＯＳを検出した場合、第１の記憶領域から、コンピュータのリソースのうちバックアップ対象ＯＳが使用するリソースに関する情報を抽出する機能を有する。なお、第１の記憶領域は、特定のＯＳがアクセス権限を有しバックアップ対象ＯＳがアクセス権限を有さない記憶領域である。たとえば、抽出部４０４は、バックアップ対象ＯＳとしてゲストＯＳ１１１を検出した場合、ホストＯＳ１１０により、第１の記憶領域となるホストＯＳの管理領域１１４から、ゲストＯＳ１１１が使用する構成情報を抽出する。
【００４３】
また、抽出部４０４は、特定のＯＳとなるホストＯＳにて実行されてもよいし、第１の記憶領域へのアクセス権限を有するバックアップ対象ＯＳ以外の他のＯＳで実行されてもよい。たとえば、ホストＯＳが、他のＯＳに一時的にアクセス権限を譲渡してもよい。さらに他のＯＳは、検出部４０１を実行した他のＯＳと異なってもよいし、同じであってもよい。
【００４４】
また、抽出部４０４は、判定部４０３によって、複写先の記憶領域が存在していると判定された場合、第１の記憶領域からリソースに関する情報を抽出してもよい。なお、抽出された構成情報へのポインタ等が、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４５】
暗号化部４０５は、抽出部４０４によって抽出されたリソースに関する情報を、バックアップ対象ＯＳに対応する仮想マシンの識別情報に基づく秘密鍵で暗号化する機能を有する。なお、仮想マシンの識別情報は、たとえば、暗号化部４０５は、仮想マシンの識別情報を初期化ベクトルとして生成された秘密鍵で構成情報を暗号化する。なお、暗号化の方法としては、たとえば、構成情報を一定の長さのブロックごとに区切り、ブロック単位で暗号化を行うブロック暗号等である。具体的な暗号化アルゴリズムとしては、３ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＲＣ５（Ｒｉｖｅｓｔ’ｓ  Ｃｉｐｈｅｒ  ５）等である。なお、暗号化された構成情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４６】
生成部４０６は、所定のハッシュ関数によって、抽出部４０４によって抽出されたリソースに関する情報のハッシュ値を生成する機能を有する。なお、所定のハッシュ関数とは、たとえば、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  Ａｌｇｏｒｉｔｈｍ  ５）、ＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）−１等である。たとえば、生成部４０６は、ＭＤ５にしたがって、構成情報のハッシュ値を生成する。なお、生成されたハッシュ値は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００４７】
複写部４０７は、リソースに関する情報を第１の記憶領域から特定のＯＳおよびバックアップ対象ＯＳがアクセス権限を有する第２の記憶領域に複写する機能を有する。たとえば、複写部４０７は、構成情報を第１の記憶領域から第２の記憶領域に複写する。また、複写部４０７は、第２の記憶領域がバックアップ対象ＯＳに認識されていない間に、リソースに関する情報を第１の記憶領域から第２の記憶領域に複写してもよい。たとえば、複写部４０７は、第２の記憶領域がマウントされていない間に、構成情報を第１の記憶領域から第２の記憶領域に複写する。
【００４８】
また、複写部４０７は、特定のＯＳとなるホストＯＳにて実行されてもよいし、第１の記憶領域へのアクセス権限を有するバックアップ対象ＯＳ以外の他のＯＳで実行されてもよい。たとえば、ホストＯＳが、他のＯＳに一時的にアクセス権限を譲渡してもよい。
【００４９】
また、複写部４０７は、暗号化部４０５によって暗号化されたリソースに関する情報を複写してもよい。また、複写部４０７は、リソースに関する情報と生成部４０６によって生成されたハッシュ値を複写してもよい。
【００５０】
なお、第２の記憶領域がマウントされていない間として、複写部４０７は、バックアップ対象ＯＳを検出して構成情報を抽出した後、第２の記憶領域に複写することを定期的に試みてもよい。たとえば、バックアップ対象ＯＳの検出直後である場合、第２の記憶領域がバックアップ対象ＯＳによりマウントされているため、複写部４０７が複写を試みても、複写部４０７が共有領域に設定されていない限り、失敗する。しかし、定期的に複写を試みることで、バックアップツール１２１によるゲストマシンの再起動により、バックアップ対象ＯＳは第２の記憶領域を一旦アンマウントしたときにも複写が試みられ、複写部４０７は、複写を行うことができる。
【００５１】
また、複写部４０７は、複写先の記憶領域が存在していると判定された場合、第２の記憶領域がバックアップ対象ＯＳに認識されていない間に、リソースに関する情報を第１の記憶領域から複写先の記憶領域に複写してもよい。たとえば、複写部４０７は、構成ファイル格納フォルダ１２３が存在している場合に複写してもよい。
【００５２】
再開部４０８は、停止部４０２によって、リソースに関する情報を複写した後、バックアップ対象ＯＳをバックアップする処理を再開させる機能を有する。たとえば、再開部４０８は、ブレークポイントによって停止したゲストマシン１０３について、停止を解除して、バックアップ部４１１を再開させる。なお、再開部４０８は、特定のＯＳとなるホストＯＳが実行してもよいし、他のＯＳが実行してもよい。
【００５３】
バックアップ部４１１は、第２の記憶領域にリソースに関する情報を複写した後、リソースに関する情報をバックアップする機能を有する。たとえば、バックアップ部４１１は、構成ファイル１１２をディスク３０４内のバックアップイメージファイル３０５に書き込む。また、バックアップ部４１１は、バックアップ対象ＯＳをバックアップイメージファイル３０５に書き込んでもよい。たとえば、バックアップ部４１１は、バックアップ対象ＯＳが既にバックアップイメージファイル３０５に書き込まれている場合、バックアップ対象ＯＳをバックアップせず、構成ファイル１１２のみをバックアップしてもよい。なお、この場合、ゲストマシン１０３は、バックアップ対象ＯＳとなるゲストＯＳ１１１で再起動してもよい。
【００５４】
また、バックアップ部４１１は、検出部４０１によって検出された記録媒体１２２に記録されたソフトウェアにより、バックアップ対象ＯＳとリソースに関する情報とをバックアップしてもよい。たとえば、バックアップ部４１１は、記録媒体１２２に記録されたバックアップツール１２１により、ゲストＯＳ１１１と構成ファイル１１２をディスク３０４内のバックアップイメージファイル３０５に書き込む。
【００５５】
復号部４１２は、ホストＯＳ１１０が使用した秘密鍵と同一の秘密鍵を用いて暗号化されたリソースに関する情報を復号する機能を有する。ホストＯＳ１１０が使用した秘密鍵と同一の秘密鍵を用いるために、復号部４１２は、たとえば、採用する暗号化アルゴリズムを予めホストＯＳ１１０と同一に決定しておき、初期化ベクトルとしてゲストマシン１０３の識別情報を使用する。たとえば、復号部４１２は、秘密鍵を用いて暗号化された構成情報を復号する。なお、復号された構成情報は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００５６】
生成部４１３は、所定のハッシュ関数と同一のハッシュ関数によって、複写先のリソースに関する情報のハッシュ値を生成する機能を有する。たとえば、生成部４１３は、構成ファイル格納フォルダ１２３内に複写された構成ファイル１１２のハッシュ値を生成する。なお、生成されたハッシュ値は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００５７】
判定部４１４は、生成部４１３によって生成されたハッシュ値と複写先のハッシュ値とを用いて複写先のリソースに関する情報の正当性を判定する機能を有する。たとえば、判定部４１４は、生成されたハッシュ値と複写先のハッシュ値が一致した場合、複写先のリソースに関する情報の正当性について、改ざんされていないことを判定する。なお、判定結果は、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶領域に記憶される。
【００５８】
書込部４１５は、バックアップ対象ＯＳとリソースに関する情報をバックアップイメージファイル３０５に書き込む。たとえば、書込部４１５は、ゲストＯＳ１１１と構成情報をバックアップイメージファイル３０５に書き込む。また、書込部４１５は、複写先のリソースに関する情報の正当性について、改ざんされていないことが判定できた場合、リソースに関する情報をバックアップイメージファイル３０５に書き込んでもよい。
【００５９】
図５は、バックアップイメージファイルの記憶内容の一例を示す説明図である。構成ファイル１１２は、ホストマシン１０２上に、たとえば、“ｘｘｘ．ｘｍｌ”といったファイルで存在している。エージェント１１３は、“ｘｘｘ．ｘｍｌ”を構成ファイル格納フォルダ１２３に複写する。バックアップツール１２１は、複写先の構成ファイル１１２とゲストマシン１０３のディスクイメージをバックアップイメージファイル３０５に書き込む。ゲストマシン１０３のディスクイメージとは、システムがバックアップされたディスク装置全体をファイル化したイメージファイルである。
【００６０】
また、構成ファイル１１２は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）情報、仮想ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＣＰＵに関する情報、メモリに関する情報、ハードウェアに関する情報が含まれる。ＢＩＯＳ情報としては、たとえば、時刻情報、ＢＩＯＳ起動までの時間等が含まれる。仮想ＮＩＣＭＡＣアドレスは、仮想マシンに割り当てられた仮想ＮＩＣのＭＡＣアドレスが設定される。ＣＰＵに関する情報は、たとえば、仮想マシンが使用するＣＰＵ数等が含まれる。メモリに関する情報は、たとえば、仮想マシンに割り当てられたメモリ量等が含まれる。ハードウェアに関する情報は、たとえば、Ｉ／Ｏ設定、ディスプレイ設定等が含まれる。
【００６１】
図６は、ゲストマシン管理テーブルの記憶内容の一例を示す説明図である。ゲストマシン管理テーブル４２１は、ゲストマシンの管理情報をゲストマシンごとに記憶する。図６で示すゲストマシン管理テーブル４２１は、レコード４２１−１を記憶している。ゲストマシン管理テーブル４２１は、仮想マシンＩＤ、プロセスＩＤ、デバッガアタッチフラグ、ＶＨＤファイルパス、構成ファイルパス、構成ファイル格納フォルダパスという６つのフィールドを含む。仮想マシンＩＤフィールドには、ホストマシン上の仮想マシンを一意に特定するＩＤが格納される。プロセスＩＤフィールドには、ホストマシン上の仮想マシンのプロセスＩＤが格納される。なお、仮想マシンは、ホストマシン上では１つのプロセスとして扱われる。
【００６２】
デバッガアタッチフラグフィールドには、デバッガ用プロセスが仮想マシンにアタッチしたか否かを示すフラグが格納される。たとえば、デバッガ用プロセスがアタッチした場合、デバッガアタッチフラグフィールドは‘０ｂ１’を格納し、デバッガ用プロセスがデタッチした場合、デバッガアタッチフラグフィールドは‘０ｂ０’を格納する。なお、‘０ｂ’は、２進数を示す接頭語である。
【００６３】
ＶＨＤファイルパスフィールドには、ＶＨＤファイル１１５のホストＯＳ上の物理パスが格納される。構成ファイルパスフィールドには、構成ファイル１１２のホストＯＳ上の物理パスが格納される。構成ファイル格納フォルダパスフィールドには、ＶＨＤファイル１１５をマウントした仮想ハードディスク内の、構成ファイル１１２を格納するフォルダのパスが格納される。
【００６４】
たとえば、レコード４２１−１では、仮想マシンＩＤ“１０３”となり、プロセスＩＤが“０ｘＡＡＡＡＡＡＡＡ”となる仮想マシンが、デバッガ用プロセスに未接続であることを示している。また、レコード４２１−１では、仮想マシンＩＤ“１０３”の仮想マシンが、ＶＨＤファイル１１５がホストマシン上の“Ｄ：￥ＶＭ￥ａａ．ｖｈｄ”に存在し、構成ファイル１１２が“Ｄ：￥ＶＭ￥ａａ．ｘｍｌ”に存在することを示している。また、レコード４２１−１では、ホストマシンがＶＨＤファイル１１５をマウントした際のドライブレターを“Ｃ”と想定すると、構成ファイル格納フォルダ１２３のパスが、“Ｃ：￥ＤｃＷ”であることを示す。
【００６５】
エージェント１１３は、図６で示したゲストマシン管理テーブル４２１を参照してバックアップ処理を実行する。続けて、図７〜図９にて、バックアップ中の動作例を説明する。
【００６６】
図７は、バックアップ中の動作例を示す説明図（その１）である。初めに、情報処理装置１００の運用開始時、ホストマシン１０２の管理者等によって、エージェント１１３がホストマシン１０２にインストールされる。たとえば、ホストマシン１０２が情報処理装置１００での操作対象の仮想マシンとなっている状態で、ホストマシン１０２は、記録媒体１２２を検出し、記録媒体１２２の記録されたプログラムを実行する。続けて、ホストマシン１０２は、記録されたプログラムにより表示されたバックアップツール１２１のメニューから、エージェント１１３のインストールがホストマシン１０２の管理者等によって選択された場合に、エージェント１１３をインストールする。
【００６７】
インストールされたエージェント１１３は、ホストマシン１０２が管理するゲストマシンの仮想マシンＩＤから、秘密鍵を生成する。次に、インストールされたエージェント１１３は、ゲストマシン１０３、ゲストマシン１０４の状態を監視し、記録媒体１２２が挿入されたか否かを定期的に確認する。エージェント１１３が挿入を検出した後の動作については、図８にて後述する。
【００６８】
続けて、ゲストマシン１０３は、ゲストマシン１０３の管理者等によって記録媒体１２２が挿入され、バックアップツール１２１を起動する。バックアップツール１２１は、特定のパスに構成ファイル格納フォルダ１２３を作成する。構成ファイル格納フォルダ１２３の作成後、バックアップツール１２１は、ゲストＯＳ１１１の実行を停止すべく、ゲストマシン１０３のシャットダウンを行い、記録媒体１２２のブートによりゲストマシン１０３を再起動する。
【００６９】
図８は、バックアップ中の動作例を示す説明図（その２）である。図８で示す情報処理装置１００は、記録媒体１２２が読出可能になった状態を検出した状態である。記録媒体１２２の検出後、ゲストマシン１０３のプログラムコード８０１のうち、ＶＨＤファイルマウント処理の前にブレークポイントを設定する。なお、プログラムコード８０１は、記録媒体１２２に記録されたＯＳのプログラムである。具体的には、エージェント１１３から起動されたデバッガ用プロセスがブレークポイントを設定する。なお、ブレークポイントは、ソフトウェアブレークポイントとハードウェアブレークポイントとのいずれであってもよい。
【００７０】
これにより、エージェント１１３は、ゲストマシン１０３が再起動し、ゲストＯＳ１１１が格納されたＶＨＤファイル１１５をマウントしようとする前のブレークポイントによってゲストマシン１０３の動作を停止させる。したがって、エージェント１１３は、ＶＨＤファイル１１５が他にマウントされていない間にＶＨＤファイル１１５内に構成ファイル１１２を複写することができる。ブレークポイントによってゲストマシン１０３の動作が停止した後の動作については、図９にて後述する。
【００７１】
図９は、バックアップ中の動作例を示す説明図（その３）である。図９で示す情報処理装置１００は、ゲストマシン１０３の動作がブレークポイントによって停止した状態である。エージェント１１３は、ゲストマシン１０３がマウントする予定であるＶＨＤファイル１１５をマウントし、特定のパスに構成ファイル格納フォルダ１２３が存在する否かを判断する。
【００７２】
特定のパスに構成ファイル格納フォルダ１２３がある場合、シャットダウン前にバックアップツール１２１が実行していたことを示すため、エージェント１１３は、構成ファイル１１２を構成ファイル格納フォルダ１２３に複写する。特定のパスに構成ファイル格納フォルダ１２３がない場合、通常のゲストマシンシャットダウンであることを示すため、エージェント１１３は何も行わない。また、構成ファイル格納フォルダ１２３があり、既に複写後の構成ファイル１１２がある場合、エージェント１１３は、リストア中であると判断する。
【００７３】
構成ファイル１１２を構成ファイル格納フォルダ１２３に複写する場合、エージェント１１３は、構成ファイル１１２を仮想マシンＩＤに基づいて生成された秘密鍵で暗号し、暗号化後の構成ファイル１１２を構成ファイル格納フォルダ１２３に複写してもよい。また、エージェント１１３は、構成ファイル１１２のハッシュ値を生成して、構成ファイル１１２と生成したハッシュ値を構成ファイル格納フォルダ１２３に複写してもよい。また、エージェント１１３は、暗号化後の構成ファイル１１２のハッシュ値を生成してもよいし、構成ファイル１１２のハッシュ値を暗号化してもよい。
【００７４】
上記４つのいずれかの処理について、エージェント１１３とバックアップツール１２１は、どの処理を実行するかを予め決定しておく。なお、後述する図１２、図１３のフローチャートでは、エージェント１１３は、暗号化後の構成ファイル１１２のハッシュ値を生成する処理が採用された場合を想定して説明を行う。
【００７５】
構成ファイル格納フォルダ１２３に複写後、エージェント１１３は、停止させていたゲストマシン１０３の動作の停止を解除する。停止が解除し、記録媒体１２２からブートしたゲストマシン１０３は、再びバックアップツール１２１を起動する。バックアップツール１２１は、ゲストＯＳ１１１が格納されているＶＨＤファイル１１５をマウントする。また、構成ファイル格納フォルダ１２３に複写される構成ファイル１１２、または、ハッシュ値のいずれかが暗号化されると決定されている場合、バックアップツール１２１は、ゲストマシン１０３の仮想マシンＩＤに基づいた秘密鍵を生成する。
【００７６】
ＶＨＤファイル１１５のマウント後、バックアップツール１２１は、バックアップイメージファイル３０５に複写先の構成ファイル１１２を書き込み、構成ファイル格納フォルダ１２３を消去する。構成ファイル格納フォルダ１２３を消去することにより、次にゲストマシン１０３が通常の再起動を行った場合に、エージェント１１３が、バックアップ処理が行われていると誤認識することを防ぐことができる。最後に、バックアップツール１２１は、バックアップイメージファイル３０５にゲストマシン１０３のディスクイメージを書き込む。
【００７７】
続けて、図７〜図９にて示した動作を行うフローチャートを、図１０〜図１３にて示す。図１０、図１１では、情報処理装置１００全体で行われるバックアップ処理を示し、図１２では、エージェント１１３で行われる構成ファイルバックアップ処理を示し、図１３では、バックアップツール１２１によるイメージバックアップ処理を示す。また、図１０〜図１３では、情報処理装置１００が、バックアップツール１２１が格納された記録媒体１２２を挿入された場合を想定している。
【００７８】
図１０は、バックアップ処理の一例を示すフローチャート（その１）である。ゲストマシン１０３は、バックアップツール１２１が格納された記録媒体１２２を読み出す（ステップＳ１００１）。次に、ゲストマシン１０３は、記録媒体１２２のバックアップツール１２１により、ゲストマシン１０３が仮想マシンか否かを判断する（ステップＳ１００２）。なお、バックアップ対象が仮想マシンか否かの判断方法として、たとえば、バックアップツール１２１はゲストＯＳ１１１の設定情報、レジストリ情報等を参照して、仮想マシンか否かを判断する。
【００７９】
ゲストマシン１０３が仮想マシンである場合（ステップＳ１００２：Ｙｅｓ）、ゲストマシン１０３は、特定のパスに構成ファイル格納フォルダ１２３を作成する（ステップＳ１００３）。特定のパスに構成ファイル格納フォルダ１２３の作成後、または、ゲストマシン１０３が仮想マシンでない場合（ステップＳ１００２：Ｎｏ）、ゲストマシン１０３は、図１１で示すステップＳ１１０１の処理に移行する。
【００８０】
エージェント１１３は、記録媒体１２２が読出可能な状態を検出したか否かを判断する（ステップＳ１００４）。読出可能な状態を検出していない場合（ステップＳ１００４：Ｎｏ）、エージェント１１３は、一定時間経過後、ステップＳ１００４の処理を再び実行する。読出可能な状態を検出した場合（ステップＳ１００４：Ｙｅｓ）、エージェント１１３は、操作対象となるゲストＯＳ１１１をバックアップ対象ＯＳとして検出する（ステップＳ１００５）。続けて、エージェント１１３は、検出したバックアップ対象ＯＳの仮想マシンＩＤから秘密鍵を生成する（ステップＳ１００６）。
【００８１】
秘密鍵の生成後、エージェント１１３は、デバッガ用プロセスを起動し（ステップＳ１００７）、デバッガ用プロセスをゲストマシン１０３へアタッチする（ステップＳ１００８）。なお、デバッガ用プロセスは、ゲストマシンごとに生成されるため、エージェント１１３は複数のゲストマシンにて同時にバックアップが行われていても対応することができる。ゲストマシン１０３へのアタッチ後、エージェント１１３は、アタッチしたゲストマシン１０３のデバッガアタッチフラグを’０ｂ１’に設定し（ステップＳ１００９）、ＶＨＤファイルマウント処理の前にブレークポイントを設定する（ステップＳ１０１０）。ブレークポイントの設定後、エージェント１１３は、図１１で示すステップＳ１１０２の処理に移行する。
【００８２】
図１１は、バックアップ処理の一例を示すフローチャート（その２）である。ゲストマシン１０３は、記録媒体１２２のバックアップツール１２１により、ゲストＯＳをシャットダウンし、記録媒体１２２からのブートにより再起動する（ステップＳ１１０１）。ゲストマシン１０３は、ＶＨＤファイル１１５をマウントする前にブレークポイントが設定されていた場合、動作を停止する。
【００８３】
エージェント１１３は、ブレーク割込を検出したか否かを判断する（ステップＳ１１０２）。ブレーク割込を検出していない場合（ステップＳ１１０２：Ｎｏ）、エージェント１１３は、一定時間経過後、ステップＳ１１０２の処理を再び実行する。ブレーク割込を検出した場合（ステップＳ１１０２：Ｙｅｓ）、エージェント１１３は、構成ファイルバックアップ処理を実行する（ステップＳ１１０３）。構成ファイルバックアップ処理の詳細は、図１２にて後述する。次に、エージェント１１３は、ブレークポイントを解除し（ステップＳ１１０４）、デバッガアタッチフラグを‘０ｂ０’に設定する（ステップＳ１１０５）。設定後、エージェント１１３は、デバッガ用プロセスをゲストマシン１０３からデタッチし（ステップＳ１１０６）、ゲストマシンのブレークポイントによる停止を解除し（ステップＳ１１０７）、バックアップ処理を終了する。
【００８４】
ステップＳ１１０７の処理にて停止が解除されたゲストマシン１０３は、イメージバックアップ処理を実行し（ステップＳ１１０８）、バックアップ処理を終了する。イメージバックアップ処理の詳細は、図１３にて後述する。
【００８５】
図１２は、エージェントによる構成ファイルバックアップ処理の一例を示すフローチャートである。エージェント１１３は、ＶＨＤファイル１１５をマウントし（ステップＳ１２０１）、ＶＨＤファイル１１５内の特定のパスに構成ファイル格納フォルダ１２３が存在するか否かを判断する（ステップＳ１２０２）。構成ファイル格納フォルダ１２３が存在する場合（ステップＳ１２０２：Ｙｅｓ）、エージェント１１３は、構成ファイル格納フォルダ１２３に構成ファイル１１２が存在するか否かを判断する（ステップＳ１２０３）。構成ファイル１１２が存在しない場合（ステップＳ１２０３：Ｎｏ）、エージェント１１３は、ホストＯＳの管理領域１１４から構成ファイル１１２を抽出する（ステップＳ１２０４）。
【００８６】
構成ファイル１１２の抽出後、エージェント１１３は、構成ファイル１１２を構成ファイル格納フォルダ１２３に複写する（ステップＳ１２０５）。続けて、エージェント１１３は、秘密鍵を用いて、構成ファイル１１２を暗号化し（ステップＳ１２０６）、暗号化した構成ファイル１１２のハッシュ値を生成し（ステップＳ１２０７）、ハッシュ値を構成ファイル格納フォルダ１２３内に格納する（ステップＳ１２０８）。
【００８７】
また、構成ファイル１１２が存在する場合（ステップＳ１２０３：Ｙｅｓ）、エージェント１１３は、構成ファイル１１２を用いてリストアし（ステップＳ１２０９）、構成ファイル格納フォルダ１２３を消去する（ステップＳ１２１０）。ステップＳ１２０８、ステップＳ１２１０、または、構成ファイル格納フォルダ１２３が存在しない場合（ステップＳ１２０２：Ｎｏ）、エージェント１１３は、ＶＨＤファイル１１５をアンマウントし（ステップＳ１２１１）、構成ファイルバックアップ処理を終了する。
【００８８】
図１３は、バックアップツールによるイメージバックアップ処理の一例を示すフローチャートである。バックアップツール１２１は、特定のパスに構成ファイル格納フォルダ１２３が存在するか否かを判断する（ステップＳ１３０１）。構成ファイル格納フォルダ１２３が存在しない場合（ステップＳ１３０１：Ｎｏ）、バックアップツール１２１は、リストア完了を出力し（ステップＳ１３０２）、イメージバックアップ処理を終了する。なお、出力先は、たとえば、バックアップツール１２１のコンソール内であってもよいし、テキストファイルとして情報処理装置１００の記憶領域に記憶されてもよい。
【００８９】
構成ファイル格納フォルダ１２３が存在する場合（ステップＳ１３０１：Ｙｅｓ）、バックアップツール１２１は、構成ファイル格納フォルダ１２３内に構成ファイル１１２が存在するか否かを判断する（ステップＳ１３０３）。構成ファイル１１２が存在する場合（ステップＳ１３０３：Ｙｅｓ）、バックアップツール１２１は、暗号化された構成ファイル１１２のハッシュ値を生成する（ステップＳ１３０４）。
【００９０】
続けて、バックアップツール１２１は、構成ファイル格納フォルダ１２３内に格納されているハッシュ値と生成されたハッシュ値が同一か否かを判断する（ステップＳ１３０５）。同一である場合（ステップＳ１３０５：Ｙｅｓ）、バックアップツール１２１は、秘密鍵を用いて、暗号化された構成ファイル１１２を復号し（ステップＳ１３０６）、バックアップイメージファイル３０５に構成ファイル１１２を書き込む（ステップＳ１３０７）。
【００９１】
構成ファイル１１２の書込後、構成ファイル１１２が存在しない場合（ステップＳ１３０３：Ｎｏ）、または、ハッシュ値が同一でない場合（ステップＳ１３０５：Ｎｏ）、構成ファイル格納フォルダ１２３を消去する（ステップＳ１３０８）。消去した後、バックアップツール１２１は、バックアップイメージファイル３０５にゲストＯＳを書き込む（ステップＳ１３０９）。ゲストＯＳの書込後、バックアップツール１２１は、イメージバックアップ処理を終了する。
【００９２】
以上説明したように、バックアップ方法、およびバックアッププログラムによれば、仮想マシンの記憶領域がマウントされる前にホストＯＳの管理領域となる第１の記憶領域の仮想マシンの構成情報をゲストがアクセス権限を有する第２の記憶領域に複写しておく。
【００９３】
これにより、バックアップ方法は、仮想マシンにホストＯＳの権限を与えずに、仮想マシンにて構成情報のバックアップを効率的に行うことができる。仮想マシンにホストの権限を与えてしまうと、仮想マシンが他の仮想マシンを操作することができてしまい、たとえば、他の仮想マシンへの誤操作等によるリスクが発生してしまっていた。また、仮想マシンの管理者に、アクセス権限としてパスワードを提供してしまうと、複写終了後、新たにパスワードを設定しなおさなくてはならず、余計な処理が発生していた。また、従来では、ホストの権限を与えない場合、仮想マシンの管理者は、ホストの管理者等から通知された構成情報を手入力で設定することになり、入力に時間がかかったり、完全に復旧することができなかったりする場合も存在していた。
【００９４】
また、バックアップ方法は、第２の記憶領域内に、構成情報の複写先となる記憶領域が存在する場合に、第１の記憶領域から構成情報を抽出してもよい。これにより、バックアップ方法は、バックアップツールによるバックアップ処理が開始されていることを判断でき、バックアップ対象ＯＳを絞り込むことができる。
【００９５】
また、バックアップ方法は、第２の記憶領域がバックアップ対象ＯＳまたは記録媒体のＯＳに認識される前に、バックアップする処理を停止させて、リソースに関する情報を複写してもよい。これにより、バックアップ方法は、バックアップ対象が認識される前に停止するため、バックアップ処理前に構成情報の複写が行われることを担保できる。
【００９６】
また、バックアップ方法は、コンピュータで読出可能な状態になった記録媒体を検出した場合に、操作対象となるＯＳをバックアップ対象ＯＳとして検出してもよい。これにより、バックアップ方法は、記録媒体によってバックアップされる可能性を検出しており、バックアップ対象ＯＳを絞り込むことができる。
【００９７】
また、バックアップ方法は、構成情報を仮想マシンに基づいた秘密鍵で暗号化してもよい。構成情報には、たとえば、仮想ＮＩＣＭＡＣアドレスが含まれており、仮想ＭＡＣアドレスが第３者に取得された場合、取得した仮想ＭＡＣアドレスを用いてなりすましによる不正なアクセスが行われる可能性がある。したがって、バックアップ方法は、構成情報を暗号化することで、なりすましを防止することができる。
【００９８】
また、バックアップ方法は、構成情報のハッシュ値を生成し、ハッシュ値から構成情報の正当性を判定してもよい。構成情報には、たとえば、仮想マシンに割り当てられたメモリ量の情報が含まれており、第３者によって、割り当てられたメモリ量が少なくするように改ざんされる可能性がある。したがって、バックアップ方法は、ハッシュ値を生成することで、改ざんされていない構成情報をバックアップすることができる。
【００９９】
また、バックアップ方法は、従来の物理環境のバックアップとほぼ同じオペレーションで、構成ファイルを含めた仮想マシンのバックアップを行うことができる。これにより、本バックアップ方法は、知識の少ない仮想マシンの管理者であっても、構成ファイルを含めたバックアップのために複雑な操作を覚えなくて済むという効果がある。
【０１００】
また、バックアップ方法によれば、ホストＯＳを実行する物理サーバが破損した場合、管理者は、構成情報を含めたシステムのリストアについて、構成情報を手入力するよりも早く正確に行うことができる。
【０１０１】
なお、本実施の形態で説明したバックアップ方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本バックアッププログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本バックアッププログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１０２】
１００  情報処理装置
１０２  ホストマシン
１０３  ゲストマシン
４０１  検出部
４０２  停止部
４０３  判定部
４０４  抽出部
４０５  暗号化部
４０６  生成部
４０７  複写部
４０８  再開部
４１１  バックアップ部
４１２  復号部
４１３  生成部
４１４  判定部
４１５  書込部
４２１  ゲストマシン管理テーブル
【図１】
2013030967.tif 000003
【図２】
2013030967.tif 000004
【図３】
2013030967.tif 000005
【図４】
2013030967.tif 000006
【図５】
2013030967.tif 000007
【図６】
2013030967.tif 000008
【図７】
2013030967.tif 000009
【図８】
2013030967.tif 000010
【図９】
2013030967.tif 000011
【図１０】
2013030967.tif 000012
【図１１】
2013030967.tif 000013
【図１２】
2013030967.tif 000014
【図１３】
2013030967.tif 000015
【国際調査報告】
2013030967.tif 000016
2013030967.tif 000017
2013030967.tif 000018
2013030967.tif 000019