(57)【要約】【課題】仮想マシンが占有するストレージ容量を削減する。【解決手段】本発明は、仮想マシンをマスタのディスクイメージとの差分データのみを格納したデルタディスクを使って稼動させる、仮想化ソフトのリンクド仮想マシン機能を利用したシステムに関する。本システムでは、マスタとして使用するディスクイメージと重複排除対象とするディスクイメージとをユーザに指定させ、マスタのディスクイメージを参照するデルタディスクを作成する。また、マスタのディスクイメージと重複排除対象のディスクイメージとの差分セクタ情報をデルタディスクに書き込み、既存の仮想マシンのディスクイメージをデルタディスクに変換するとともに、リンクド仮想マシンとして動作させる。【選択図】図２
2011248742.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンを含む物理サーバと、前記複数の仮想マシンに対応するディスクイメージを格納するストレージ装置と、前記仮想マシン及び前記ディスクイメージに対して重複排除処理を実行する処理実行計算機と、を有し、
前記処理実行計算機は、
前記ストレージ装置内の既存のディスクイメージにおいて、マスタとして使用するマスタディスクイメージと重複排除対象ディスクイメージの指定入力を受付け、
前記重複排除対象ディスクイメージに対応し、前記指定されたマスタディスクイメージを参照するデルタディスクイメージを作成し、
前記マスタディスクイメージと前記重複排除ディスクイメージの差分情報を生成し、
前記生成した差分情報を前記デルタディスクイメージに書き込み、
前記デルタディスクイメージを前記仮想マシンに関連付け、前記重複排除対象ディスクイメージを削除することを特徴とするストレージ管理システム。
【請求項２】
請求項１において、
前記処理実行計算機は、前記重複排除対象ディスクイメージに対応する仮想マシンをコピーして、リンクド仮想マシンを生成し、当該リンクド仮想マシンに前記デルタディスクイメージを関連付け、前記重複排除対象ディスクイメージ及びそれに対応する仮想マシンを削除することを特徴とするストレージ管理システム。
【請求項３】
請求項１において、
前記処理実行計算機は、前記デルタディスクイメージを前記重複排除対象ディスクイメージに対応する仮想マシンの参照先に設定し、前記重複排除対象ディスクイメージを削除することを特徴とするストレージ管理システム。
【請求項４】
請求項１において、
前記処理実行計算機は、前記差分情報を生成して前記デルタディスクイメージに書き込む際に、前記マスタディスクイメージと前記重複排除対象ディスクイメージとで異なるデータを格納している差分セクタ情報を取得し、当該取得した差分セクタ情報を前記デルタディスクイメージに書き込むことを特徴とするストレージ管理システム。
【請求項５】
請求項４において、
前記処理実行計算機は、前記マスタディスクイメージと前記重複排除対象ディスクイメージのデータ内容を比較し、データ内容が不一致の場合に、当該不一致のデータが格納されているセクタ位置と、前記重複排除対象ディスクイメージのデータ内容と、を前記差分セクタ情報として取得することを特徴とするストレージ管理システム。
【請求項６】
請求項４において、
前記処理実行計算機は、前記マスタディスクイメージと前記重複排除対象ディスクイメージの差分セクタ位置を記録した、予め作成された変更トラックファイルを読み込み、変更トラックファイルに記録されたセクタ位置と、前記重複排除対象ディスクイメージの当該セクタ位置におけるデータ内容と、を前記差分セクタ情報として取得することを特徴とするストレージ管理システム。
【請求項７】
請求項１において、
前記処理実行計算機は、前記重複排除処理を実行するときには、前記指定された重複排除対象ディスクイメージに対する書き込みを一時的に遮断することを特徴とするストレージ管理システム。
【請求項８】
物理サーバに含まれる複数の仮想マシンと、ストレージ装置が格納する、前記複数の仮想マシンに対応するディスクイメージに対して重複排除処理を実行する管理計算機であって、
所定の演算を実行するプロセッサと、前記物理サーバと通信するためのインタフェースと、を有し、
前記プロセッサは、
前記ストレージ装置内の既存のディスクイメージにおいて、マスタとして使用するマスタディスクイメージと重複排除対象ディスクイメージの指定入力を受付け、
前記重複排除対象ディスクイメージに対応し、前記指定されたマスタディスクイメージを参照するデルタディスクイメージを作成し、
前記マスタディスクイメージと前記重複排除ディスクイメージの差分情報を生成し、
前記生成した差分情報を前記デルタディスクイメージに書き込み、
前記デルタディスクイメージを前記仮想マシンに関連付け、前記重複排除対象ディスクイメージを削除することを特徴とする管理計算機。
【請求項９】
請求項８において、
前記プロセッサは、前記重複排除対象ディスクイメージに対応する仮想マシンをコピーして、リンクド仮想マシンを生成し、当該リンクド仮想マシンに前記デルタディスクイメージを関連付け、前記重複排除対象ディスクイメージ及びそれに対応する仮想マシンを削除することを特徴とする管理計算機。
【請求項１０】
請求項８において、
前記プロセッサは、前記デルタディスクイメージを前記重複排除対象ディスクイメージに対応する仮想マシンの参照先に設定し、前記重複排除対象ディスクイメージを削除することを特徴とする管理計算機。
【請求項１１】
コンピュータを請求項８に記載の管理計算機として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ管理システム、及び管理計算機、並びにプログラムに関し、例えば、仮想マシンディスクイメージの重複排除を実行する技術に関するものである。
【背景技術】
【０００２】
仮想マシン（以下、「ＶＭ」と記述することがある）が占有するストレージ装置の容量を削減する技術に、ＶＭディスクイメージの重複排除技術がある。
【０００３】
例えば、特許文献１には、ディスクイメージの重複排除の例が開示されている。具体的には、ＶＭがデータを保存する際に、新規に保存しようとするデータと類似したデータが既に別のＶＭにより保存されているかを確認する。そして、類似データが保存されている場合には、データそのものを保存するのではなく、既に保存されているデータを参照するためのブロック識別子を保存する。これにより、ディスクイメージの重複排除を行う。
【０００４】
また、非特許文献２には、既存のＶＭを複製（クローン）して新たにＶＭを作成する際に、クローン元のＶＭが保持するディスクイメージ（以下、マスタディスクイメージと記載）全体をコピーするのではなく、マスタディスクイメージへの参照情報とマスタディスクイメージとの差分データを格納するデルタディスクを保持するリンクドＶＭを作成する技術が開示されている。なお、リンクドＶＭに対し、ディスクイメージ全体をコピーしたＶＭはフルクローンＶＭと呼ばれる。
【０００５】
図１は、リンクドＶＭにおけるＩ／Ｏ処理の動作概念を示す図である。リンクドＶＭにおいては、データの書き込みは全てデルタディスクに対して行われる。一方、データの読込みは、デルタディスク又はクローン元となったマスタディスクのいずれかから行う。すなわち、要求されたデータがデルタディスクに存在する場合はデルタディスクから読み込み、要求されたデータがデルタディスクに存在しない場合はマスタディスクからデータを読み込む。リンクドＶＭはマスタディスクイメージと重複したデータを持たないため、フルクローンＶＭを使う場合と比較してストレージ容量が削減できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2010-26790号公報
【非特許文献】
【０００７】
【非特許文献１】VMware社Technical Note「Linked Virtual Machines」(http://www.vmware.com/support/developer/vc-sdk/linked_vms_note.pdf)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に開示の技術は、重複排除の仕組みがストレージ装置の物理構成に依存するため、汎用性が低い。つまり、特許文献１では、ストレージ装置のブロックの配置情報に基づくブロック識別子を使用して重複排除している。このブロックの配置情報はストレージ装置毎に異なるため、ＶＭ横断で一致データを探し、既に保存されているブロックを参照するためのブロック識別子情報をストレージ装置毎に用意しなければならならず、非常に煩雑である。
【０００９】
また、非特許文献１に開示の従来技術は、リンクドＶＭの新規作成しか考慮されておらず、既存のフルクローンＶＭをリンクドＶＭに作り変える方法は提供されていない。このため、既存のＶＭディスクイメージの重複を排除し、仮想マシンが占有するストレージ装置の容量を削減することは困難である。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、シンプルな処理により既存のＶＭディスクイメージの重複排除を実現できる技術を提供するものである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明では、マスタとして使用するディスクイメージと重複排除対象とするディスクイメージとをユーザに指定させ、マスタのディスクイメージを参照するデルタディスクを作成する。そして、マスタのディスクイメージと重複排除対象のディスクイメージとの差分セクタ情報をデルタディスクに書き込み、既存のＶＭディスクイメージをデルタディスクに変換するとともに、リンクドＶＭとして動作させることによって、ＶＭが占有するストレージ装置の容量を削減する。
【００１２】
さらなる本発明の特徴は、以下本発明を実施するための形態および添付図面によって明らかになるものである。
【発明の効果】
【００１３】
本発明によれば、シンプルな処理により既存のＶＭディスクイメージの重複排除を実現できるようになる。
【図面の簡単な説明】
【００１４】
【図１】リンクドＶＭとデルタディスクのＩＯ処理の動作を説明するための概念図である。
【図２】本発明の実施形態によるストレージ管理システム（仮想マシンディスクイメージの重複排除システム）の概略構成を示す図である。
【図３】ディスクイメージ変換プログラムの全体動作を説明するためのフローチャートである。
【図４】デルタディスク作成処理の詳細を説明する動作概念図である。
【図５】仮想マシンの作り替えによるデルタディスクの作成処理の詳細を説明するためのフローチャートである。
【図６】仮想マシンの作り替えによるデルタディスクの作成処理の動作概念図である。
【図７】ディスクイメージの付け替えによるデルタディスクの作成処理の詳細を説明するためのフローチャートである。
【図８】ディスクイメージの付け替えによるデルタディスクの作成処理の動作概念図である。
【発明を実施するための形態】
【００１５】
本発明は、仮想マシンディスクイメージの重複排除を実行する技術に関するが、特に、既存の仮想マシンをリンクド仮想マシンと呼ばれる特別なイメージに作り替える技術に関するものである。
【００１６】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００１７】
＜システム構成＞
図２は、本発明の実施形態によるストレージ管理システム（ディスクイメージ重複排除システム）の概略構成を示す図である。当該ストレージ管理システムは、複数の物理サーバ２０１と、ＶＭ管理サーバ２０２と、プログラム実行サーバ２０３と、ストレージ装置２０４と、を有し、それらが管理用ネットワーク２０５及びストレージネットワーク２０６で接続されている。プログラム実行サーバ２０３は独立して存在する必要は必ずしもなく、その機能はＶＭ管理サーバ２０２や物理サーバ２０１に含まれていても良い。また、図２には本発明に関係する構成要素のみが示されているが、物理サーバ、ＶＭ管理サーバ、及びプログラム実行サーバは、少なくともコンピュータとして通常有する制御部（ＣＰＵやＭＰＵ）、キャッシュ、ＲＯＭ及びＲＡＭ等のメモリ、通信用インタフェース（Ｉ／Ｆ）を有している。ＶＭ管理サーバ２０２は、さらに、管理者が物理サーバ２０１とストレージ装置２０４の状況を管理するため、表示装置を有するものである。
【００１８】
各物理サーバ２０１は、ＶＭ制御プログラム２０７と、少なくとも１つの仮想マシン（ＶＭ）２０８を含んでおり、ＶＭ制御プログラム２０７を実行してＶＭ２０８を動作させる。ＶＭ制御プログラム２０７は、物理サーバ２０１のハードウェア構成をソフトウェア技術でエミュレートし、任意のハードウェア構成をもつＶＭ２０８を動作可能にする機能を有している。ＶＭ制御プログラム２０７には、例えばVMware ESX（登録商標）を用いることができる。
【００１９】
ＶＭ管理サーバ２０２は、仮想環境管理プログラム２０９を実行するサーバである。仮想環境管理プログラム２０９は、ＶＭ制御プログラム２０７とＶＭ２０８及びストレージ装置２０４内のファイルやデータを操作する仮想環境管理ＡＰＩ（Application Programing Interface）２１０を提供する機能を有する。仮想環境管理プログラム２０９には、例えばVMware vCenter Server（登録商標）を用いることができる。
【００２０】
なお、ＶＭ制御プログラム２０７は、管理する全てのＶＭ２０８とディスクイメージ２１２に、これらを一意に特定するためのパスを設定する。例えば、図２に示す通り、ＶＭ制御プログラム２０７は、ＶＭ１には”/Host01/VM01”を設定し、ＶＭ１のディスクイメージには”/Host01/VM01.vmdk”を設定する。本実施形態で、ディスクイメージのパスは、ディスクイメージを参照するＶＭ２０８のパスと拡張子の組み合わせで構成されており、拡張子を取り除くことでディスクイメージのパスからＶＭのパスが容易に取得できるものとなっている。
【００２１】
プログラム実行サーバ２０３は、本発明の主たる処理を行うディスクイメージ変換プログラム２１１を実行するサーバである。
【００２２】
ストレージ装置２０４は、ディスクイメージ２１２や、その他の図示しないＶＭの構成ファイルを格納する記憶装置である。ディスクイメージ２１２はＶＭ２０８毎に存在する。なお、ＶＭ構成ファイルには、例えば当該ＶＭが使用するディスクイメージ２１２を指定する設定ファイルなどがある。
【００２３】
＜ＶＭディスクイメージの重複排除処理＞
以下、本発明のＶＭディスクイメージの重複排除処理の内容について説明する。ＶＭディスクイメージの重複排除処理に関しては、例えば、プログラム実行サーバ２０３がディスクイメージ変換プログラム２１１を実行することで実現している。なお、本実施の形態においてマスタディスクイメージと重複排除対象ディスクイメージのディスクサイズは同一であるとする。
【００２４】
図３は、ディスクイメージ変換プログラム２１１によるＶＭディスクイメージ重複排除処理の内容を説明するためのフローチャートである。プログラムはモジュール化したものであっても良い。以降の処理動作の説明では、「プログラム」（「モジュール」と読み替えても良い）を動作主体（主語）として説明を行う場合があるが、プログラムやモジュールは、プロセッサによって実行されることで、定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを動作主体（主語）とした処理に読み替えても良い。また、プログラムやモジュールを主語として開示された処理は、管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００２５】
ディスクイメージ変換プログラム２１１は、重複排除対象とする複数のディスクイメージのパスのリストと、マスタとして使用するディスクイメージのパスの入力を、ＶＭ管理サーバ２０２の表示装置によって表示されたＧＵＩを介して管理者に要求し、管理者の指定入力によりこれらを取得する（ステップ３０１）。入力は、例えば、上述のような管理者によるＧＵＩ（コンソール）操作によって行われても良いし、予め作成しておいたテキストファイルの読込みなどの方法でも良い。
【００２６】
次に、ディスクイメージ変換プログラム２１１は、ステップ３０１で取得した重複排除対象ディスクイメージのパスのリストを１行読み込み、重複排除対象ディスクイメージのパスを取得する（ステップ３０２）。
【００２７】
続いて、ディスクイメージ変換プログラム２１１は、ステップ３０２で取得した重複排除対象ディスクイメージのパスから拡張子を取り除き、当該重複排除対象ディスクイメージを保持するＶＭ２０８のパスを取得する。そして、ＶＭが稼動中の場合は、取得したＶＭのパスを引数に仮想環境管理ＡＰＩ２１０を使用してＶＭの電源を落とす（ステップ３０３）。ＶＭの電源を落とすのは、メモリ上の情報とディスクイメージ上の情報との間に不整合が発生するのを防止するためである。電源を落とすことによりメモリ上の情報を全てディスクイメージ上に反映させる。
【００２８】
そして、ディスクイメージ変換プログラム２１１は、デルタディスクの作成処理を実行し、重複排除対象ディスクイメージのデータ内容を反映したデルタディスクとリンクドＶＭを作成する（ステップ３０４）。当該処理の詳細については後述する。
【００２９】
また、ディスクイメージ変換プログラム２１１は、ステップ３０４で作成したデルタディスクのパスから拡張子を取り除き、リンクドＶＭのパスを取得する。そして、リンクドＶＭのパスを引数に仮想環境管理ＡＰＩ２１０を使用して、リンクドＶＭの電源を入れて起動する（ステップ３０５）。
【００３０】
重複排除対象ディスクイメージのパスのリストに未処理のパスが残っているならば、ディスクイメージ変換プログラム２１１は、読み込む行を１行進めてステップ３０２へ処理を移行させる。重複排除対象ディスクイメージのパスのリストの全ての行について処理が完了したら処理を終了する（ステップ３０６）。
【００３１】
＜デルタディスク作成処理の詳細＞
図４は、デルタディスクの作成処理の動作概念を示す図である。デルタディスクの作成処理では、マスタディスクイメージと重複排除対象ディスクイメージのデータ内容が異なる差分セクタを検出し、差分セクタを新規作成したデルタディスクに書き込む処理が行われる。なお、以下では、デルタディスクの作成処理について、ＶＭの作り替えによる例と、ディスクイメージの付け替えによる例の２通りの処理について説明する。
【００３２】
（１）ＶＭの作り替えによる処理
図５及び６を参照して、ＶＭの作り替えによるデルタディスクの作成処理について説明する。図６は、ＶＭの作り替えによるデルタディスクの作成処理の動作概念を示す図である。本例では、ＶＭとデルタディスクを新規作成し、その後、重複排除対象ディスクイメージと重複排除対象ディスクイメージを保持するＶＭとをそれぞれ作り直す。
【００３３】
図５は、ＶＭの作り替えによるデルタディスクの作成処理の詳細を説明するためのフローチャートである。
【００３４】
まず、ディスクイメージ変換プログラム２１１は、仮想環境管理ＡＰＩ２１０を使用して、重複排除対象のディスクイメージと重複排除対象ディスクイメージを保持するＶＭの名前を付け替え、パスを変更する（ステップ５０１）。例えば、図６に示すようにＶＭのパスを”/Host01/VM01”から”/Host01/VM01_tmp”へ変更し、またディスクイメージのパスを“/Host01/VM01.vmdk”から”/Host01/VM01_tmp.vmdk”に変更する。
【００３５】
そして、ディスクイメージ変換プログラム２１１は、仮想環境管理ＡＰＩ２１０を使用して、ステップ３０１で取得したマスタディスクイメージを参照するリンクドＶＭと、リンクドＶＭが参照するデルタディスクをそれぞれ作成する。なお、デルタディスクとリンクドＶＭのパスはそれぞれ、ステップ５０１で名前を付け替える前の重複排除対象ディスクイメージのパスと、重複排除対象ディスクイメージを参照するＶＭのパスを指定する（ステップ５０２）。即ち、本例では、”/Host01/VM01”と“/Host01/VM01.vmdk”が指定される。このステップ以降、前述したリンクドＶＭの仕組みにより、リンクドＶＭにおけるデータの読込み処理は、デルタディスク又はマスタディスクのいずれかから行われ、リンクドＶＭにおけるデータの書き込み処理は全てデルタディスクへ行われることになる。
【００３６】
続いて、ディスクイメージ変換プログラム２１１は、仮想環境管理ＡＰＩ２１０を使用して、マスタディスクイメージと重複排除対象ディスクイメージから指定セクタ分のデータを読み込み取得する（ステップ５０３）。
【００３７】
さらに、ディスクイメージ変換プログラム２１１は、ステップ５０３で取得したマスタディスクイメージと重複排除対象ディスクイメージのデータ内容を比較する（ステップ５０４）。そして、データ内容が一致しなかった場合（ステップ５０４でＮｏ）、処理はステップ５０５へ進む。データ内容が一致していた場合（ステップ５０４でＹｅｓ）、処理はステップ５０６へ進む。
【００３８】
そして、ディスクイメージ変換プログラム２１１は、ステップ５０３で取得した重複排除対象ディスクイメージのデータ内容を、セクタ位置情報と共にステップ５０２で作成したデルタディスクへ書き込む（ステップ５０５）。
【００３９】
ディスクイメージ変換プログラム２１１は、マスタディスクイメージ及び重複排除対象ディスクイメージの全セクタの読込みが完了していないと判断した場合、読込み位置を次の指定セクタ単位に移動させ、処理をステップ５０３に移行させる。全セクタの読込みが完了した場合は、処理はステップ５０７へ進む（ステップ５０６）。
【００４０】
最後に、ディスクイメージ変換プログラム２１１は、重複排除対象ディスクイメージと、重複排除対象ディスクイメージを保持するＶＭとを削除して、処理を終了する（ステップ５０７）。
【００４１】
（２）ディスクイメージの付け替えによる処理
図７及び８を参照して、ディスクイメージの付け替えによるデルタディスクの作成処理を説明する。図８は、ディスクイメージの付け替えによるデルタディスクの作成処理の動作概念を示す図である。本例では、デルタディスクのみを新規作成し、その後、既存のＶＭの参照先ディスクを作成したデルタディスクに付け替える処理が行われる。
【００４２】
図７は、ディスクイメージの付け替えによるデルタディスクの作成処理の詳細を説明するためのフローチャートである。
【００４３】
まず、ディスクイメージ変換プログラム２１１は、仮想環境管理ＡＰＩ２１０を使用して、重複排除対象ディスクイメージの名前を付け替え、パスを変更する（ステップ７０１）。
【００４４】
次に、ディスクイメージ変換プログラム２１１は、仮想環境管理ＡＰＩ２１０を使用して、ステップ３０１で取得したマスタディスクイメージを参照するデルタディスクを作成し、これを、重複排除対象ディスクを保持するＶＭ２０８に追加する。ＶＭへのデルタディスクの追加は、例えば、ストレージ装置に格納されたＶＭの構成ファイルを更新して行う。なお、デルタディスクのパスは、ステップ７０１で名前を付け替える前の重複排除対象ディスクのパスを指定する（ステップ７０２）。即ち、本例では“/Host01/VM01.vmdk”が指定される。
【００４５】
そして、ステップ７０３〜ステップ７０６では、それぞれステップ５０３〜ステップ５０６と同一の処理が実行される。
【００４６】
最後に、ディスクイメージ変換プログラム２１１は、重複排除対象のディスクイメージを削除して、処理を終了する（ステップ７０７）。
【００４７】
＜変形例＞
（１）差分情報作成の変形例
上述の実施形態において、ステップ５０３〜ステップ５０６及びステップ７０３〜ステップ７０６の差分セクタ情報の作成手順では、指定セクタ数分ずつディスクイメージを読み取ってデータ内容を比較している。
【００４８】
しかし、この手順は、仮想化プログラム（ソフトウェア）がマスタディスクイメージと重複排除対象ディスクイメージとの差分セクタ位置を記録した変更トラックファイルを作成する機能を持ち、変更トラックファイルが予め存在する場合は、以下の手順で実行してもよい。
【００４９】
まず、ステップ５０３〜ステップ５０４及びステップ７０３〜ステップ７０４では、ディスクイメージ変換プログラム２１１は、指定セクタ数分ディスクイメージを読み込んでデータを比較する代わりに、重複排除対象ディスクイメージから変更トラックファイルに記録されているセクタ位置のデータを全て読み込む。ここでは、これを変更データと呼ぶ。
【００５０】
次に、ステップ５０５及びステップ７０５では、ディスクイメージ変換プログラム２１１は、データ内容が不一致になった重複排除対象のディスクイメージのデータを書き込む代わりに、上記手順で読み込んだ変更データをデルタディスクに書き込む。
【００５１】
なお、ステップ５０６及びステップ７０６による処理は省略される。また、その他の手順は図５及び図７と同じ手順が実行される。
【００５２】
（２）ＶＭの電源シャットダウンに対する変形例
上述の実施形態において、ステップ３０３では重複排除対象ディスクイメージを使用するＶＭの電源を落とし、ステップ３０５ではＶＭを起動している。
【００５３】
しかし、この処理については、重複排除対象ディスクイメージへの書き込みを一時的に遮断及び再開できる処理であれば、別の処理でもよい。例えば、ステップ３０２でＶＭの電源を落とす代わりに、ＶＭをサスペンド状態にし、ステップ３０５でＶＭを起動する代わりにサスペンド状態からの復旧を行っても良い。同様に、ステップ３０２でＶＭの電源を落とす代わりに、ＶＭをハイバネーションし、ステップ３０５でＶＭを起動する代わりにハイバネーション状態からの復旧を行っても良い。
【００５４】
＜まとめ＞
本発明は、仮想マシンイメージを保存するストレージ装置の容量を削減し、空き容量を確保するといった用途に好適である。
【００５５】
本発明の実施形態では、まず、管理者が、ストレージ装置内の既存のディスクイメージにおいて、マスタとして使用するマスタディスクイメージと重複排除対象ディスクイメージの指定し、ＶＭ管理サーバ（管理計算機）がその入力を受付ける。そして、ディスクイメージ変換プログラムが、重複排除対象ディスクイメージに対応し、指定されたマスタディスクイメージを参照するデルタディスクイメージを新たに作成する。続いて、マスタディスクイメージと重複排除ディスクイメージの差分情報を生成し、それをデルタディスクイメージに書き込む。そして、デルタディスクイメージを仮想マシンに関連付け、重複排除対象ディスクイメージを削除する。このようにすることにより、既存のフルクローンＶＭをリンクドＶＭに変換して、ＶＭディスクイメージの重複排除を実現することができ、ストレージ装置の容量を効率よく使用することができるようになる。また、本発明では、仮想化ソフトの提供機能を用いて実現するため、仮想化ソフトがサポートするストレージ装置であれば、ストレージ装置の物理構成に依存せずに本実施形態の機能を導入することができる。
【００５６】
差分情報を生成してデルタディスクイメージに書き込む際、マスタディスクイメージと重複排除対象ディスクイメージとで異なるデータを格納している差分セクタ情報を取得する。そして、取得した差分セクタ情報をデルタディスクイメージに書き込む。より具体的には、マスタディスクイメージと重複排除対象ディスクイメージのデータ内容を比較し、データ内容が不一致の場合に、当該不一致のデータが格納されているセクタ位置と、重複排除対象ディスクイメージのデータ内容と、を差分セクタ情報として取得する。
【００５７】
この差分情報取得処理の別の態様として、次のように処理しても良い。つまり、マスタディスクイメージと重複排除対象ディスクイメージの差分セクタ位置を記録した、予め作成された変更トラックファイルを読み込む。そして、変更トラックファイルに記録されたセクタ位置と、重複排除対象ディスクイメージの当該セクタ位置におけるデータ内容と、を差分セクタ情報として取得する。
【００５８】
また、重複排除処理を実行するときには、指定された重複排除対象ディスクイメージに対する書き込みを一時的に遮断する（仮想マシンの電源をシャットダウンする、或いはサスペンド状態にする）ようにしても良い。これにより、ＶＭと重複排除対象のディスクイメージの内容の整合性を担保することが可能となる。
【００５９】
なお、本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００６０】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００６１】
また、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【符号の説明】
【００６２】
２０１  物理サーバ
２０２  ＶＭ管理サーバ
２０３  プログラム実行サーバ
２０８  ＶＭ
２０９  仮想環境管理プログラム
２１０  仮想環境管理ＡＰＩ
２１１  ディスクイメージ変換プログラム
２１２  ディスクイメージ
【図１】
2011248742.tif 000003
【図２】
2011248742.tif 000004
【図３】
2011248742.tif 000005
【図４】
2011248742.tif 000006
【図５】
2011248742.tif 000007
【図６】
2011248742.tif 000008
【図７】
2011248742.tif 000009
【図８】
2011248742.tif 000010