一つ以上の記憶装置と、前記記憶装置に接続される一つ以上のホスト計算機と、を備える計算機システムであって、前記ホスト計算機は、前記記憶装置に接続される第1インターフェースと、前記第1インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1記憶デバイスと、を含み、前記第1プロセッサは、各々が一つ以上のアプリケーションを実行する一つ以上の仮想マシンを制御し、前記記憶装置は、前記ホスト計算機に接続されるコントローラと、前記コントローラに接続される一つ以上の物理記憶デバイスと、を含み、複数の仮想ボリュームと、各々が前記物理記憶デバイスの実記憶領域を含む複数のプールと、を対応付ける情報を保持し、前記ホスト計算機から書き込み先のボリュームとして前記仮想ボリュームが指定されたデータの書き込み要求を受信した場合、書き込み先の前記仮想ボリュームに対応する前記プールに含まれる前記実記憶領域を前記書き込み先の仮想ボリュームに割り当てて、当該データを前記割り当てられた実記憶領域に格納し、前記計算機システムは、前記記憶装置が保持する情報に基づいて、前記ホスト計算機による書き込み先としての前記ボリュームの優先順位を決定し、決定した前記優先順位を保持することを特徴とする計算機システム。請求項1に記載の計算機システムであって、前記記憶装置は、前記各プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量を示す情報を保持し、前記計算機システムは、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量に基づいて前記優先順位を決定することを特徴とする計算機システム。請求項2に記載の計算機システムであって、前記計算機システムは、前記プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量が多いほど、当該プールに対応する前記仮想ボリュームの順位が高くなるよう、前記優先順位を決定することを特徴とする計算機システム。請求項3に記載の計算機システムであって、前記計算機システムは、ファイル作成指示が入力された場合、前記優先順位が最も高い前記ボリュームを書き込み先として指定し、前記書き込み先として指定されたボリュームへのファイルの書き込みを実行し、前記書き込み先として指定されたボリュームへのファイルの書き込みに失敗した場合、前記書き込み先として指定されたボリュームの次に前記優先順位が高い前記ボリュームを新たな書き込み先として指定することを特徴とする計算機システム。請求項4に記載の計算機システムであって、前記ホスト計算機および前記記憶装置は、第1ネットワークを介して相互に接続され、前記計算機システムは、第2ネットワークを介して前記ホスト計算機及び前記記憶装置に接続される管理計算機をさらに備え、前記管理計算機は、前記第2ネットワークに接続される第2インターフェースと、前記第2インターフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2記憶デバイスと、を含み、前記第2ネットワークを介して、前記記憶装置から、前記各プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量を示す情報を取得し、前記プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量が多いほど、当該プールに対応する前記仮想ボリュームの順位が高くなるよう、前記優先順位を決定し、前記決定した優先順位を保持し、前記ファイル作成指示を入力されると、ファイルを作成し、前記作成されたファイルに加えて、前記作成されたファイルの書き込み先を指定する情報として、前記優先順位が最も高い前記仮想ボリュームを識別する情報を前記ホスト計算機に送信し、前記第1プロセッサは、前記第1記憶デバイスに格納された仮想マシン制御プログラムを実行することによって、前記一つ以上の仮想マシンを制御し、前記仮想マシン制御プログラムは、ファイル及び当該ファイルの書き込み先を指定する情報を入力されると、当該指定された書き込み先に当該ファイルを書き込む処理を前記第1プロセッサに実行させ、前記ホスト計算機は、前記仮想マシン制御プログラムに従って、前記管理計算機から受信したファイルを、前記管理計算機によって指定されたボリュームに書き込むことを特徴とする計算機システム。請求項5に記載の計算機システムであって、前記記憶装置は、さらに、予め前記実記憶領域が割り当てられ、かつ、前記プールに対応付けられていない一つ以上の論理ボリュームを管理し、前記ホスト計算機は、前記各仮想ボリュームの空き容量を示す情報を保持し、前記管理計算機は、前記第2ネットワークを介して、前記ホスト計算機から、前記各仮想ボリュームの空き容量を示す情報を取得し、前記一つ以上の論理ボリュームのうち空き容量が所定の閾値より大きいものの順位がいずれの前記仮想ボリュームの順位より高くなり、空き容量が所定の閾値より大きい仮想ボリュームの順位が、前記空き容量が前記所定の閾値より小さい仮想ボリュームの順位より高くなり、かつ、前記プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量が多いほど、当該プールに対応する前記仮想ボリュームの順位が高くなるよう、前記優先順位を決定することを特徴とする計算機システム。請求項4に記載の計算機システムであって、前記ホスト計算機および前記記憶装置は、第1ネットワークを介して相互に接続され、前記計算機システムは、第2ネットワークを介して前記ホスト計算機及び前記記憶装置に接続される管理計算機をさらに備え、前記管理計算機は、前記第2ネットワークに接続される第2インターフェースと、前記第2インターフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2記憶デバイスと、を含み、前記第2ネットワークを介して、前記記憶装置から、前記各プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量を示す情報を取得し、前記プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量が多いほど、当該プールに対応する前記仮想ボリュームの順位が高くなるよう、前記優先順位を決定し、前記決定した優先順位を示す情報を前記ホスト計算機に送信し、前記第1プロセッサは、前記第1記憶デバイスに格納された仮想マシン制御プログラムを実行することによって、前記一つ以上の仮想マシンを制御し、前記ホスト計算機は、前記第1記憶デバイスに格納され、前記第1プロセッサによって実行される追加プログラムをさらに含み、前記管理計算機から受信した前記優先順位を示す情報を保持し、前記ファイル作成指示を入力されると、前記仮想マシン制御プログラムに従ってファイルを作成し、前記追加プログラムに従って、前記作成されたファイルを、前記優先順位が最も高い前記ボリュームに書き込むことを特徴とする計算機システム。請求項4に記載の計算機システムであって、前記ホスト計算機および前記記憶装置は、第1ネットワークを介して相互に接続され、前記第1プロセッサは、前記第1記憶デバイスに格納された仮想マシン制御プログラムを実行することによって、前記一つ以上の仮想マシンを制御し、前記ホスト計算機は、前記第1記憶デバイスに格納され、前記第1プロセッサによって実行される追加プログラムをさらに含み、前記追加プログラムに従って、前記第1ネットワークを介して、前記記憶装置から、前記各プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量を示す情報を取得し、前記プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量が多いほど、当該プールに対応する前記仮想ボリュームの順位が高くなるよう、前記優先順位を決定し、前記決定した優先順位を保持し、前記ファイル作成指示を入力されると、前記仮想マシン制御プログラムに従ってファイルを作成し、前記追加プログラムに従って、前記作成されたファイルを、前記優先順位が最も高い前記ボリュームに書き込むことを特徴とする計算機システム。請求項8に記載の計算機システムであって、前記ホスト計算機は、前記追加プログラムに従う前記第1ネットワークを介した前記記憶装置との通信に、SCSIInquiryを用いることを特徴とする計算機システム。請求項3に記載の計算機システムであって、前記計算機システムは、ファイル作成指示が入力された場合、前記ファイル作成指示に従っていずれかの前記ボリュームへのファイルの書き込みを実行し、前記ファイルが書き込まれたボリュームの前記優先順位が所定の順位より低い場合、警告を出力することを特徴とする計算機システム。請求項1に記載の計算機システムであって、前記記憶装置は、前記各プールへのI/O量を示す情報を保持し、前記計算機システムは、前記プールへのI/O量が少ないほど、当該プールに対応する前記仮想ボリュームの順位が高くなるように、前記優先順位を決定することを特徴とする計算機システム。一つ以上の記憶装置と、前記記憶装置に接続される一つ以上のホスト計算機と、を備える計算機システムの制御方法であって、前記ホスト計算機は、前記記憶装置に接続される第1インターフェースと、前記第1インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1記憶デバイスと、を含み、前記第1プロセッサは、各々が一つ以上のアプリケーションを実行する一つ以上の仮想マシンを制御し、前記記憶装置は、前記ホスト計算機に接続されるコントローラと、前記コントローラに接続される一つ以上の物理記憶デバイスと、を含み、複数の仮想ボリュームと、各々が前記物理記憶デバイスの実記憶領域を含む複数のプールと、を対応付ける情報を保持し、前記ホスト計算機から書き込み先のボリュームとして前記仮想ボリュームが指定されたデータの書き込み要求を受信した場合、書き込み先の前記仮想ボリュームに対応する前記プールに含まれる前記実記憶領域を前記書き込み先の仮想ボリュームに割り当てて、当該データを前記割り当てられた実記憶領域に格納し、前記制御方法は、前記記憶装置が保持する情報に基づいて、前記ホスト計算機による書き込み先としての前記ボリュームの優先順位を決定する第1手順と、決定した前記優先順位を保持する第2手順と、を含むことを特徴とする計算機システムの制御方法。請求項12に記載の計算機システムの制御方法であって、前記記憶装置は、前記各プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量を示す情報を保持し、前記第1手順は、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量に基づいて前記優先順位を決定する手順を含むことを特徴とする計算機システムの制御方法。請求項13に記載の計算機システムの制御方法であって、前記第1手順は、前記プールに含まれる実記憶領域のうち、まだ前記仮想ボリュームに割り当てられていない実記憶領域の量が多いほど、当該プールに対応する前記仮想ボリュームの順位が高くなるよう、前記優先順位を決定する手順を含むことを特徴とする計算機システムの制御方法。請求項14に記載の計算機システムの制御方法であって、ファイル作成指示が入力された場合、前記優先順位が最も高い前記ボリュームを書き込み先として指定し、前記書き込み先として指定されたボリュームへのファイルの書き込みを実行する第3手順をさらに含み、前記第3手順は、前記書き込み先として指定されたボリュームへのファイルの書き込みに失敗した場合、前記書き込み先として指定されたボリュームの次に前記優先順位が高い前記ボリュームを新たな書き込み先として指定する手順をさらに含むことを特徴とする計算機システムの制御方法。従来技術において、仮想ボリュームがホスト計算機に割り当てられた場合、ホスト計算機は仮想ボリュームの空容量のみ認識し、仮想ボリュームのデータを実際に格納するボリュームプールの情報を認識しない。このため、複数ボリュームプールからなる複数仮想ボリュームをホスト計算機に割り当てた環境で、管理者がVMを作成したとき、ハイパーバイザはボリュームプールのリソース使用量使用容量、I/O量等を考慮せずに、空容量の大きい仮想ボリュームにVMの実体であるイメージファイルを作成する。その結果、ボリュームプール間でのリソース使用量の偏りが発生又は助長される可能性がある。この偏りを原因として他のボリュームプールに空容量があるにもかかわらず、特定のボリュームプールの容量が枯渇してしまい、そのプールから切り出した仮想ボリュームへの書き込みができなくなる、およびI/O性能が低下するといった課題があった。偏りが発生した場合、解消するためにはボリュームプール間でのデータコピーが必要だが、このためには一時的にストレージのリソースメモリ、ネットワーク帯域等をデータコピーのために使用しなくてはならず、I/O性能低下の可能性がある。上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、一つ以上の記憶装置と、前記記憶装置に接続される一つ以上のホスト計算機と、を備える計算機システムであって、前記ホスト計算機は、前記記憶装置に接続される第1インターフェースと、前記第1インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1記憶デバイスと、を含み、前記第1プロセッサは、各々が一つ以上のアプリケーションを実行する一つ以上の仮想マシンを制御し、前記記憶装置は、前記ホスト計算機に接続されるコントローラと、前記コントローラに接続される一つ以上の物理記憶デバイスと、を含み、複数の仮想ボリュームと、各々が前記物理記憶デバイスの実記憶領域を含む複数のプールと、を対応付ける情報を保持し、前記ホスト計算機から書き込み先のボリュームとして前記仮想ボリュームが指定されたデータの書き込み要求を受信した場合、書き込み先の前記仮想ボリュームに対応する前記プールに含まれる前記実記憶領域を前記書き込み先の仮想ボリュームに割り当てて、当該データを前記割り当てられた実記憶領域に格納し、前記計算機システムは、前記記憶装置が保持する情報に基づいて、前記ホスト計算機による書き込み先としての前記ボリュームの優先順位を決定し、決定した前記優先順位を保持することを特徴とする。本発明の一実施形態によれば、ボリュームプール間でのリソース使用量の偏り発生を防止することによって、ストレージ側でのプール間データコピーの回数を減らすことができる。以下、添付図面に基づいて、本発明の実施形態を説明する。<第1の実施形態>図1から図15、図19、図20に基づいて、本発明に従う第1の実施形態について説明する。図1は、本発明の第1の実施形態におけるITシステムの全体概要を示すブロック図である。本システムは、ホスト計算機100、管理サーバ200、および一つ以上のストレージ装置400から構成され、それらは互いにLAN301で接続されている。ストレージ装置400とホスト計算機100とは互いにSANStorageAreaNetwork300で接続されている。なお、本システムは複数のホスト計算機を含んでもよく、その場合は管理用のLAN301に加えてデータ転送用のLANで複数のホスト計算機が互いに接続されていてもよい。図2Aは、本発明の第1の実施形態のホスト計算機100の内部構成を示すブロック図である。ホスト計算機100は、一つ以上のCPU110、一つ以上のメモリ111、一つ以上のSANアダプタ112、一つ以上のLANアダプタ113、および一つ以上のストレージデバイス114で構成され、それらは互いに内部バス115で接続されている。ホスト計算機100はSANアダプタ112を介してストレージ装置400と接続されている。またホスト計算機100はLANアダプタ113を介して管理サーバ200と接続されている。なお、ホスト計算機100はストレージデバイス114を必ずしも備えなくてもよい。ホスト計算機100は、ストレージデバイス114を備えない場合、ストレージ装置400内のボリュームをソフトウェアの記憶領域として用いる。図2Bは、本発明の第1の実施形態の管理サーバ200の内部構成を示すブロック図である。管理サーバ200の内部構成はホスト計算機100と同様だが、必ずしもSANアダプタを備えていない。図2Bに示す管理サーバ200は、一つ以上のCPU210、一つ以上のメモリ211、一つ以上のLANアダプタ212、および一つ以上のストレージデバイス213で構成され、それらは互いに内部バス214で接続されている。管理サーバ200はLANアダプタ212を介して、ストレージ装置400およびホスト計算機100と接続されている。図3は、本発明の第1の実施形態のストレージ装置400の内部構成を示すブロック図である。ストレージ装置400は一つ以上のコントローラ410および一つ以上の物理ディスク411で構成される。コントローラ410は、一つ以上のCPU412、一つ以上のメモリ413、一つ以上のNVRAMNonVolatileRandomAccessMemory414、一つ以上のキャッシュメモリ415、一つ以上のバックエンドインターフェース416および417、一つ以上のLANアダプタ418、ならびに一つ以上のSANアダプタ419で構成され、それらは相互に内部バス420で接続されている。コントローラ410はバックエンドインターフェース416および417を介して物理ディスク411と接続されている。また、ストレージ装置400はLANアダプタ418を介して管理サーバ200と接続されている。また、ストレージ装置400はSANアダプタ419を介してホスト計算機100と接続されている。図4は、本発明の第1の実施形態におけるITシステムのソフトウェア構成の概要を示すブロック図である。ホスト計算機100上では一つ以上の仮想マシン500、一つ以上のハイパーバイザ501、および追加モジュール502が動作する。なお、追加モジュールは、本実施形態においてハイパーバイザ501に追加されるプログラムモジュールである。これらのソフトウェアすなわち仮想マシン500、ハイパーバイザ501および追加モジュール502に対応するプログラムはストレージデバイス114またはストレージ装置400に格納されており、メモリ111にロードされ、CPU110を用いて実行される。以下の説明において仮想マシン500、ハイパーバイザ501または追加モジュール502を主語として説明を行う場合があるが、上記のプログラムは、プロセッサCPU110によって実行されることで、定められた処理を、メモリ111および通信ポート例えばSANアダプタ112またはLANアダプタ113のような通信制御デバイスを用いながら行うため、それらの説明における主語をプロセッサに置き換えてもよい。ホスト計算機100の場合、仮想マシン500、ハイパーバイザ501または追加モジュール502が実行する処理を、CPU110が上記のプログラムに従って実行する処理として説明することができる。また、以下の説明において仮想マシン500、ハイパーバイザ501または追加モジュール502が保持する情報は、実際にはメモリ111またはストレージデバイス114に保持される。また、プロセッサを主語として開示された処理は、そのプロセッサを含む計算機または情報処理装置上記の仮想マシン500、ハイパーバイザ501および追加モジュール502の場合は、ホスト計算機100、または、それを包含する計算機システムが実行する処理として説明してもよい。また、プログラムの一部または全部が専用ハードウェアによって実現されてもよい。また、各種プログラムは、プログラム配布サーバまたは計算機が読み取り可能な非一時的記憶メディアによって各計算機等にインストールされてもよい。以下に説明する管理サーバ200およびストレージ装置400についても同様である。管理サーバ200上では管理ソフトウェア600が動作する。管理ソフトウェア600はストレージデバイス213に格納されており、メモリ211にロードされ、CPU210を用いて実行される。なお、ホスト計算機100の場合と同様、以下の説明において管理ソフトウェア600が実行する処理は、CPU210が管理ソフトウェア600に従って実行する処理、管理サーバ200が実行する処理、または計算機システムが実行する処理として説明することもできる。また、以下の説明において管理ソフトウェア600が保持する情報は、実際にはメモリ211またはストレージデバイス213に保持される。なお、管理サーバ200はさらに入出力デバイス図示省略を有する。入出力デバイスの例としてはディスプレイ、キーボードおよびポインティングデバイスが考えられるが、これ以外のデバイスであってもよい。あるいは、管理サーバ200がシリアルインターフェースまたはイーサネットインターフェースを入出力デバイスとして有し、当該インターフェースにディスプレイ、キーボードまたはポインティングデバイスを有する表示用計算機図示省略を接続し、表示用情報を表示用計算機に送信したり、入力用情報を表示用計算機から受信したりすることによって、表示用計算機による表示または入力の受付を行い、これによって入出力デバイスによる入力および表示を代替してもよい。以後、計算機システムを管理し、本発明の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理サーバ200が表示用情報を表示する場合、管理サーバ200が管理システムである。また、管理サーバ200と表示用計算機図示省略との組み合わせも管理システムである。また、管理処理の高速化および高信頼化のために複数の計算機が管理サーバ200と同等の処理を実現してもよく、その場合は当該複数の計算機さらに表示用計算機が表示を行う場合はその表示用計算機も含むが管理システムである。ストレージ装置400上には一つ以上のボリュームプール700があり、これらから作成された一つ以上の仮想ボリューム701後述がある。仮想ボリューム701は、SAN300を介してホスト計算機100に割り当てられている。なお、ストレージ装置400上には仮想ボリューム701だけでなく、後述の論理ボリュームが混在していてもよい。また、ハイパーバイザ501が複数のホスト計算機に跨っていてもよい。ハイパーバイザ501は複数の仮想マシンを実行するための環境を提供する。また、ハイパーバイザ501はボリュームすなわち仮想ボリューム701および論理ボリューム702図5参照を認識し、管理する。さらに、ハイパーバイザ501は、仮想マシン500のイメージファイル503がどのボリュームに格納されているかを管理し、イメージファイル503への書き込み処理等を実行する。ただし、イメージファイルの新規作成時は、ハイパーバイザ501の新規ファイル作成処理をキャプチャした追加モジュール502が、イメージファイル格納先ボリュームを決定する。図19は、本発明の第1の実施形態のハイパーバイザ501が保持するホストボリューム管理テーブル2100の一例を示す説明図である。なお、以下の説明において、計算機システムに保持される情報を、テーブルの表現を用いて説明するが、これらの情報はテーブル以外のデータ構造、例えばリスト、データベースDBまたはキュー等で表現されてもよい。これらの情報がデータ構造に依存しないことを示すために、例えばホストボリューム管理テーブルをホストボリューム管理情報のように呼ぶことがある。また、各情報の内容を説明する際に識別情報、識別子、名、名前またはIDなどの表現を用いる場合があるが、これらは互いに置換可能である。以下に説明するホストボリューム管理テーブル2100以外のテーブルについても同様である。ホストボリューム管理テーブル2100は、ホストボリュームID列2101、ストレージID列2102、ストレージボリュームID列2103、および空容量列2104からなる。ホストボリュームID列2101には、ハイパーバイザ501が認識し、付与するボリューム仮想ボリュームまたは論理ボリュームの識別子が登録される。ストレージID列2102にはホストボリュームすなわちホスト計算機100によって認識されるボリュームに対応するストレージボリュームすなわちストレージ装置400によって認識されるボリュームが存在するストレージ装置の識別子が登録される。ストレージボリュームID列2103には、ホストボリュームに対応するストレージボリュームの識別子が登録される。空容量列2104にはホストボリュームの空容量が登録される。ホストボリューム管理テーブル2100は、上記以外の情報、例えば、各ホストボリュームに対するI/O量を示す情報を登録する列をさらに含んでもよい。例えば、ホスト計算機100が各ホストボリュームへのI/O量を定期的に測定し、その結果をホストボリューム管理テーブル2100に登録してもよい。なお、ストレージIDおよびストレージボリュームIDは、ストレージ装置400が付与および保持する情報であるが、ハイパーバイザ501は、例えば、SCSIInquiryを利用してこれらの情報をストレージ装置400から取得できる。管理ソフトウェア600はホスト計算機100およびストレージ装置400から構成情報を取得し、管理テーブルに格納する。また管理ソフトウェア600は追加モジュール502に対して書き込み先ボリュームの優先順位情報を送信する。管理ソフトウェア600については詳細を後述する。図5は、本発明の第1の実施形態のストレージ装置400内のソフトウェア構成の概要を示すブロック図である。ストレージ装置400上では、ストレージエージェント703、仮想ボリュームマネージャ704、および論理ボリュームマネージャ705が動作している。これらは物理ディスク411またはNVRAM414に格納されており、メモリ413にロードされ、CPU412を用いて実行される。なお、ホスト計算機100の場合と同様、以下の説明においてストレージエージェント703、仮想ボリュームマネージャ704または論理ボリュームマネージャ705が実行する処理は、CPU412がプログラムに従って実行する処理、ストレージ装置400が実行する処理、または計算機システムが実行する処理として説明することもできる。また、以下の説明においてストレージエージェント703、仮想ボリュームマネージャ704または論理ボリュームマネージャ705が保持する情報は、実際にはメモリ111またはストレージデバイス114に保持される。なお、図5の例において、仮想ボリューム701はホスト計算機100に割り当てられるが、ボリュームプール700に属する論理ボリューム702は、仮想ボリューム701に割り当てられるために使用されるものであり、直接すなわち仮想ボリューム701を介さずにホスト計算機100に割り当てられることはない。しかし、実際には、ストレージ装置400は、ボリュームプール700に属さない論理ボリューム702を含んでもよい。ボリュームプール700に属さない論理ボリューム702は、仮想ボリューム701に割り当てることができないが、仮想ボリューム701を介さずに直接ホスト計算機100に割り当てることができる。図4を参照して、ストレージ装置400上に仮想ボリューム701と論理ボリュームとが混在し得ることを記載したが、これは、ホスト計算機100に割り当て可能な仮想ボリューム701と、ホスト計算機100に割り当て可能な論理ボリューム702とが混在し得ること、言い換えると、ボリュームプール700に属する論理ボリューム702と、ボリュームプール700に属さない論理ボリューム702とが混在し得ることを意味する。論理ボリュームマネージャ705は、物理ディスク411から一つ以上の論理ボリューム702を作成し、論理ボリューム702と物理ディスク411の間のマッピングを管理する。図6は、本発明の第1の実施形態における論理ボリューム702と物理ディスク411との関係を示した概念図である。図6の例では論理ボリューム702は四つの物理ディスク800、801、802および803から構成されている。1-1、1-2、1-3...とラベル付けした物理ディスク内の領域は、あらかじめ決められたサイズに区切られた領域であり、ストライプと呼ばれる。一方、P1、P2...とラベル付けした領域は、対応するストライプのパリティ情報を格納する領域であり、パリティストライプと呼ばれる。論理ボリュームマネージャ705は論理ボリューム702と物理ディスク411のマッピング関係を管理するために、ボリューム管理テーブルを保持する。図7は、本発明の第1の実施形態の論理ボリュームマネージャ705が保持するボリューム管理テーブルの一例を示す説明図である。ボリューム管理テーブルは、論理ボリュームID列900、ディスク列901、RAIDレベル列902、およびストライプサイズ列903からなる。論理ボリュームID列900には、論理ボリュームマネージャ705が各論理ボリュームに割り当てた識別子が登録される。ディスク列901には論理ボリュームを構成する物理ディスクの識別子が登録される。RAIDレベル列902には論理ボリュームの構成に使用されているRAIDRedundantArraysofInexpensiveDisksレベルが登録される。ストライプサイズ列903には、論理ボリュームの構成に使用されているストライプのサイズが登録される。仮想ボリュームマネージャ704は、ボリュームプール700に登録された論理ボリューム702から一つ以上の仮想ボリューム701を作成し、仮想ボリューム701と、論理ボリューム702との間のマッピングを管理する。図8は、本発明の第1の実施形態における仮想ボリューム701と論理ボリューム702の関係を示した概念図である。多くの場合、仮想ボリューム701へは、物理ディスクの記憶領域以下、実記憶領域と記載が直接割り当てられるのではなく、図8のように論理ボリューム702が構成され、論理ボリューム702内の一部領域が割り当てられる。仮想ボリューム701にデータの書き込みがあった場合、仮想ボリュームマネージャ704は、論理ボリューム702内の未使用のすなわちまだ仮想ボリューム701に割り当てられていない領域を、仮想ボリューム701の書き込みがあった場所に割り当てる。図8の例では、仮想ボリューム701の領域1000に論理ボリューム702の領域1003が割り当てられ、仮想ボリューム701の領域1001に論理ボリューム702の領域1005が割り当てられている。このことは、既にホスト計算機から領域1000及び領域1001へのデータの書き込みが行われたことを意味している。例えば、ストレージ装置400がホスト計算機100から領域1000へのデータ書き込み要求を受信した場合、データは、領域1000に割り当てられた論理ボリューム702の領域1003より正確には、その領域1003に割り当てられた物理ディスク801内の実記憶領域に格納される。なお、図7に示すように、論理ボリューム702内の全ての領域に、物理ディスク801内の実記憶領域が予め割り当てられている。図8の例において、仮想ボリューム701のうち領域1000及び1001を除く残りの領域1002には論理ボリューム702の領域が割り当てられていない。一方、論理ボリューム702のうち領域1003及び1005を除く残りの領域1004は、まだ仮想ボリューム701に割り当てられていないすなわち未使用である。ストレージ装置400が新たに領域1002へのデータの書き込み要求を受信した場合、領域1002のうち少なくともデータが書き込まれる部分には、領域1004の少なくとも一部が割り当てられ、当該割り当てられた領域にデータが格納される。なお、上記のように、多くの場合は本実施形態の場合も含めて仮想ボリューム701へは論理ボリューム702の一部領域が割り当てられるが、仮想ボリュームに物理ディスクの実記憶領域が直接割り当てられてもよい。上記のように論理ボリューム702の一部領域が割り当てられる場合であっても、最終的には、割り当ての結果、仮想ボリューム701の領域1000、1001等に、物理ディスクの実記憶領域が対応付けられる。仮想ボリューム701と論理ボリューム702との関係、仮想ボリューム701の割り当て状況、および論理ボリューム702内の使用状況を管理するため、仮想ボリュームマネージャ704は、仮想ボリューム管理テーブル1100および未使用領域管理テーブル1200を保持する。図9は、本発明の第1の実施形態の仮想ボリュームマネージャ704が保持する仮想ボリューム管理テーブル1100の一例を示す説明図である。仮想ボリューム管理テーブル1100は大きく分けて、仮想ボリューム内の位置を示す仮想ボリューム列、および論理ボリューム内の対応する領域を示す論理ボリューム列からなる。仮想ボリューム列は、ボリュームID列1101、開始LBA列1102、および終了LBA列1103からなる。ボリュームID列1101には、仮想ボリュームに付与されたボリュームの識別子が登録される。開始LBA列1102には、仮想ボリューム内の領域の開始LBALogicalBlockAddressが登録される。終了LBA列1103には、仮想ボリューム内の領域の終了LBAが登録される。論理ボリューム列も同様に、ボリュームID列1104、開始LBA列1105、および終了LBA列1106からなる。ボリュームID列1104には、対応する仮想ボリュームの領域へ割り当てられたデータ保存領域を持つ論理ボリュームの識別子が登録される。開始LBA列1105には、論理ボリューム内の領域の開始LBAが登録される。終了LBA列1106には、論理ボリューム内の領域の終了LBAが登録される。例えば、図9の仮想ボリューム管理テーブル1100の先頭の行のボリュームID列1101、開始LBA列1102および終了LBA列1103には、それぞれ、3、0x00000000および0x0001af0fが登録され、ボリュームID列1104、開始LBA列1105および終了LBA列1106には、それぞれ、0、0x00000000および0x0001af0fが登録されている。これは、ボリュームID3で識別される仮想ボリューム701のLBA0x00000000から0x0001af0fまでの領域に、ボリュームID0で識別される論理ボリューム702のLBA0x00000000から0x0001af0fまでの領域が割り当てられていることを示す。論理ボリューム内の領域にはあらかじめ物理ディスク411の実記憶領域が割り当てられているため図6および図7参照、結局、仮想ボリューム管理テーブル1100に基づいて、仮想ボリューム701内の領域に割り当てられた物理ディスク411の実記憶領域を特定することができる。図10は、本発明の第1の実施形態の仮想ボリュームマネージャ704が保持する未使用領域管理テーブル1200の一例を示す説明図である。未使用領域管理テーブル1200は、論理ボリュームID列1201、開始LBA列1202、および終了LBA列1203からなる。論理ボリュームID列1201には、仮想ボリューム701へのデータ保存領域割り当て用としてボリュームプール700に登録されている論理ボリューム702の識別子が登録される。開始LBA列1202および終了LBA列1203には、論理ボリューム702の中で未使用の領域1004の開始LBAおよび終了LBA列がそれぞれ登録される。ストレージエージェント703は、論理ボリューム702および仮想ボリューム701を管理する。図20は、本発明の第1の実施形態のストレージエージェント703が保持するストレージボリューム管理テーブル2200の一例を示した説明図である。ストレージボリューム管理テーブル2200は、ストレージボリュームID列2201、プールID列2202、およびプール空容量列2203からなる。ストレージボリュームID列2201には、ストレージボリュームすなわち、仮想ボリューム701または論理ボリューム702の識別子が登録される。プールID列2202には、ストレージボリュームID列2201に登録された識別子によって識別されるボリューム以下、図20の説明において当該ボリュームと記載するに対応するボリュームプールの識別子が登録される。プール空容量列2203には、当該ボリュームに対応するボリュームプールの空容量が登録される。ボリュームプールの空容量とは、ボリュームプール700のうち、まだ仮想ボリューム701に割り当てられていない領域の容量である。なお、当該ボリュームが論理ボリューム702である場合は、当該ボリュームにボリュームプール700が対応付けられないため、プールID列2202には空欄が登録され、プール空容量列2203には、当該ボリュームの実際の容量および空容量にかかわらず、プール空容量列2203に登録され得る最大値が登録される。このような値が登録される理由については後述する図15参照。ただし、論理ボリューム702に関する情報は、上記以外の形式でストレージボリューム管理テーブル2200に登録されてもよい。例えば、ストレージボリューム管理テーブル2200に、当該ボリュームが論理ボリューム702または仮想ボリューム701のいずであるかを示す列を登録し、当該ボリュームが論理ボリューム702である場合のプールID列2202およびプール空容量列2203を空欄としてもよい。ストレージボリューム管理テーブル2200は上記以外の列をさらに含んでもよい。例えば、ストレージボリューム管理テーブル2200は、各ストレージボリュームに対するI/O量または各ボリュームプールに対するI/O量を登録する列をさらに含んでもよい。例えば、ストレージ装置400が各ストレージボリュームまたは各ボリュームプールへのI/O量を定期的に測定し、その結果をストレージボリューム管理テーブル2200に登録してもよい。図11は、本発明の第1の実施形態の管理ソフトウェア600が保持するホストストレージボリューム管理テーブル1600の一例を示した説明図である。ホストストレージボリューム管理テーブル1600は大きく分けてホスト側情報列およびストレージ側情報列を持つ。ホスト側情報列はホストボリュームID列1601および空容量列1602からなる。ホストボリュームID列1601にはハイパーバイザ501の認識するボリュームの識別子が登録される。以下、図11の説明において、ホストボリュームID列1601に登録された識別子によって識別されるボリュームを当該ボリュームと記載する。当該ボリュームは、ホスト計算機に割り当てられた仮想ボリューム701または論理ボリューム702のいずれかである。空容量列1602には当該ボリュームの空容量が登録される。ストレージ側情報列はストレージID列1603、ストレージボリュームID列1604、プールID列1605、およびプール空容量列1606からなる。ストレージID列1603およびストレージボリュームID列1604には、ホストボリュームID列1601に対応する、ストレージ装置およびストレージボリュームの識別子言い換えると、当該ボリュームを格納するストレージ装置400の識別子、および、そのストレージ装置400が当該ボリュームに付与した識別子がそれぞれ登録される。プールID列1605には、当該ボリュームに対応するボリュームプールの識別子が登録される。プール空容量列1606には、当該ボリュームに対応するボリュームプール700の空容量が登録される。なお、ホストボリュームID列1601の識別子とストレージボリュームID列1604の識別子は、一般に異なる。また、当該ボリュームが論理ボリュームである場合は、図20の場合と同様、プールID列1605は空欄となり、プール空容量列1606の値は登録され得る最大値となる。また、ホスト側情報列およびストレージ側情報列には、上記以外の列が含まれてもよい。例えば、ホストボリューム管理テーブル2100が各ホストボリュームに対するI/O量を登録する列を含む場合、ホストストレージボリューム管理テーブル1600のホスト側情報列も同様の列を含んでよい。また、ストレージボリューム管理テーブル2200が各ストレージボリュームまたは各ボリュームプールに対するI/O量を登録する列を含む場合、ホストストレージボリューム管理テーブル1600のストレージ側情報列も同様の列を含んでよい。なお、ホストストレージボリューム管理テーブル1600は、ホストボリューム管理テーブル2100およびストレージボリューム管理テーブル2200に各ストレージ装置400の識別子ストレージIDを付与したテーブルから作成できる。具体的には、ホストボリューム管理テーブル2100の行とストレージボリューム管理テーブル2200に各ストレージ装置400の識別子ストレージIDを付与したテーブルの行とを比較し、ストレージIDおよびストレージボリュームIDが一致するものを結合することによって、ホストストレージボリューム管理テーブル1600の各行が作成される。ただし、ホストボリューム管理テーブル2100に登録されていないボリュームすなわち、ホスト計算機100の認識していないボリュームは、ホストストレージボリューム管理テーブル1600に登録されない。図12は、本発明の第1の実施形態の追加モジュール502が保持する書き込み先候補ボリューム管理テーブル1700の一例を示した説明図である。書き込み先候補ボリューム管理テーブル1700は優先順位列1701およびホストボリュームID列1702からなる。優先順位列1701には、追加モジュール502のファイル作成処理時に書き込み先のボリュームを検索するための順位が登録される。ホストボリュームID列1702には、ハイパーバイザ501が認識するボリュームの識別子が登録される。なお、書き込み先候補ボリューム管理テーブル1700に登録された順位は、各ボリュームの、イメージファイル503の格納先としての望ましさを示す指標である。高い順位が付与されたボリュームほど、イメージファイル503の格納先として望ましいことを意味する。ただし、後述するように、必ずしも優先順位の通りに格納先が選択されるとは限らず、単に警告を発するためだけに優先順位が参照される場合もある。図13は、本発明の第1の実施形態の管理ソフトウェア600が、ハイパーバイザ501および各ストレージ装置400の構成情報を取得して、追加モジュール502が書き込み先候補ボリューム管理テーブル1700を保持するまでの処理を示したシーケンス図である。なお、この処理は、書き込み先候補ボリューム管理テーブル1700の更新のために定期的に実行される。ただし、図13の処理は、定期的に実行されるほかに、ユーザが指示をした時、または、ハイパーバイザ501もしくはストレージ装置401からの情報プッシュ時など、所定のイベントを契機として実行されてもよいし、任意のタイミングで実行されてもよい。最初に、管理ソフトウェア600は、ハイパーバイザ501に対してホスト側構成情報の送信を要求するステップ1300。次に、管理ソフトウェア600は、ハイパーバイザ501からホスト側構成情報を受信するステップ1301。取得する構成情報は、ホストボリューム管理テーブル2100に含まれる情報項目である。なお、取得した構成情報に上記以外の情報が含まれていてもよい。また、ホスト側構成情報は、管理ソフトウェア600からの要求なしに、ハイパーバイザ501から送信されてもよい。次に、管理ソフトウェア600は、各ストレージ装置400に対してストレージ側構成情報の送信を要求するステップ1302。次に、管理ソフトウェア600は、各ストレージ装置400からストレージ側構成情報を受信するステップ1303。取得する構成情報は、各ストレージ装置400の識別子ストレージID、およびストレージボリューム管理テーブル2200に含まれる情報項目である。なお、取得した構成情報に上記以外の情報が含まれていてもよい。また、ストレージ側構成情報は、管理ソフトウェア600の要求なしに、各ストレージ装置400から送信されてもよい。次に、管理ソフトウェア600は、ステップ1301およびステップ1303で取得した情報をもとに、ホストストレージボリューム管理テーブル1600を作成するステップ1304。作成方法は、図11を参照して説明した通りである。次に、管理ソフトウェア600は、後述の処理によって、書き込み先候補ボリュームの優先順位を決定するステップ1305。次に、管理ソフトウェア600は、追加モジュール502に、書き込み先候補ボリュームの優先順位情報を送信するステップ1306。追加モジュール502は、管理ソフトウェア600から受信した書き込み先候補ボリュームの優先順位情報に基づいて、書き込み先候補ボリューム管理テーブル1700を保持するステップ1307。図14は、本発明の第1の実施形態において、管理者1400がハイパーバイザ501上でファイル作成を伴う操作を行い、追加モジュール502が各ストレージ装置400の指定ボリュームにファイルを書き込むまでの処理を示したシーケンス図である。なお、ファイル作成を伴う操作とは、仮想マシン500の新規作成または仮想マシン500に新たにディスクイメージを追加する等の、イメージファイル503の新規作成の指示を含む操作を指す。あるいは、イメージファイル503の新規作成の指示を含む他の操作であってもよい。また、図14の処理の前に、図13に示す処理を実行し、書き込み先候補ボリューム管理テーブル1700を作成しておく必要がある。最初に、管理者1400がハイパーバイザ501上でファイル作成を伴う操作を行うステップ1401。次に、ハイパーバイザ501が、ステップ1401の操作に応じてファイル作成処理を実行するステップ1402。次に、追加モジュール502が、ハイパーバイザ501のファイル作成処理をキャプチャするステップ1403。なお、キャプチャの実現方法の一例として、ハイパーバイザ501からのファイル作成処理イベントの発生通知を、追加モジュール502が受信する方法がある。次に、追加モジュール502が、書き込み先候補ボリューム管理テーブル1700を用いて、書き込み先ボリュームを決定するステップ1404。基本的には追加モジュール502は書き込み先ボリュームとして優先順位が最高位であるボリュームを選択し、次のステップ1405において、I/Oエラーまたは容量不足等に起因する書き込み失敗が発生した場合に、順次、下位順位のボリュームを選択する。次に、追加モジュール502が、ステップ1404で決定したボリュームに書き込み処理を行うステップ1405。なお、ステップ1405において、追加モジュール502は、ステップ1404で決定したボリュームではなく、ハイパーバイザ501が優先順位に関係なく指定したボリュームに書き込みを行ってもよい。この場合において、ハイパーバイザ501が指定したボリュームが、書き込み先候補ボリューム管理テーブル1700における優先順位が低いボリュームである場合に、管理者1400に対しての警告を、ハイパーバイザ501、または管理ソフトウェア600が表示する。優先順位が低いか否かは、所定の閾値に基づいて判定されてもよい。例えば、上位10パーセント以下の優先順位、10位以下の優先順位、または、管理者1400が定義した順位より低い優先順位を、低い優先順位と判定してもよい。図15は、本発明の第1の実施形態において実行される、書き込み先候補ボリューム管理テーブル1700の優先順位決定の処理ステップ1305の一例を示すフローチャートである。最初に、管理ソフトウェア600は、プール空容量列1606の降順に、ホストストレージボリューム管理テーブル1600をソートするステップ1501。これは次の理由による。すなわち、イメージファイル503が格納された後、そのイメージファイル503へのデータの書き込みが行われ、その結果、格納先の仮想ボリューム701に割り当てられたボリュームプール700の容量が不足すると、この不足を解消するために、ボリュームプール700間でのデータのコピーが必要になり、これによってI/O性能の低下が発生する。このようなデータのコピーの回数を減らすためには、空容量が大きいボリュームプール700に割り当てられた仮想ボリューム701にイメージファイル503を格納することが望ましいためである。なお、ホストストレージボリューム管理テーブル1600にボリュームプールへのI/O量が登録されている場合には、そのI/O量の昇順にホストストレージボリューム管理テーブル1600をソートしてもよい。特定の物理ディスクへのI/Oの集中による性能低下を防ぐためには、I/O量の少ないボリュームプール700に割り当てられた仮想ボリューム701にイメージファイル503を格納することが望ましいためである。次に、管理ソフトウェア600は、変数nおよびiを0で初期化するステップ1502。nはステップ1503からステップ1507の繰り返し処理に用いる変数であり、繰り返しが何回目かを表す。iはステップ1503からステップ1507の繰り返し処理内で用いる変数であり、ホストストレージボリューム管理テーブル1600の何行目を処理するかを示す。変数nがホストストレージボリューム管理テーブル1600に登録されている行数より小さい場合、管理ソフトウェア600は、ステップ1503からステップ1507の繰り返し処理を実行するステップ1503。その他の場合は、全行数分の処理が終了したため、ステップ1508に移る。ステップ1503において変数nがホストストレージボリューム管理テーブル1600に登録された行数より小さいと判定された場合、管理ソフトウェア600は、ホストストレージボリューム管理テーブル1600の第i行が所定の条件を満たすか否かを判定するステップ1504。ここで、所定の条件とは、イメージファイル503の格納先として望ましくないボリュームの条件である。例えば、一般に、容量に余裕のないボリュームに新たなイメージファイル503を格納することは望ましくない。また、仮想マシン500の性能を確保するためには、I/Oが混雑したボリュームプール700に対応する仮想ボリューム701に新たなイメージファイル503を格納することは望ましくない。このため、ステップ1504の条件は、例えば、第i行に登録されたボリュームの空容量がしきい値未満、または第i行に登録されたボリュームに対応するボリュームプールに対するI/O量がしきい値以上等のいずれかであってもよいし、それらの組み合わせであってもよい。管理ソフトウェア600は、上記の条件が満たされる場合にステップ1505を実行し、満たされない場合にステップ1506を実行する。ステップ1505において、管理ソフトウェア600は、ホストストレージボリューム管理テーブル1600の第i行を最終行に移動する。この処理の後、第i行には、それまで第i1行だった行がシフトしているので、ステップ1506でiをインクリメントする必要はなく、ステップ1507に移るだけでよい。ステップ1506において、管理ソフトウェア600は、処理対象をホストストレージボリューム管理テーブル1600の次行に移すため、iをインクリメントする。管理ソフトウェア600は、ステップ1505または1506を実行した後、繰り返し処理のため、nをインクリメントしステップ1507、ステップ1503に移る。ステップ1503において変数nがホストストレージボリューム管理テーブル1600の行数以上と判定された場合、管理ソフトウェア600は優先順位決定処理を終了するステップ1508。この段階で、ホストストレージボリューム管理テーブル1600の行は優先順位降順にソートされている。すなわち、先頭の行に登録されたボリュームの優先順位が最も高く、末尾の行に登録されたボリュームの優先順位が最も低い。ここで、図11に示したホストストレージボリューム管理テーブル1600を参照して、図15の優先順位決定処理の具体例を説明する。なお、記載を簡略化するため、ここでは例えばホストボリュームID列1601の値1によって識別されるホストボリュームをホストボリューム1、ストレージID列1603の値storage1によって識別されるストレージ装置400をストレージ装置1、ストレージボリュームID列1604の値Vol1によって識別されるストレージボリュームをストレージボリューム1、プールID列1605の値pool1によって識別されるボリュームプール700をボリュームプール1のように記載する。他のIDの値についても同様である。ステップ1501において、ホストストレージボリューム管理テーブル1600の行がプール空容量列1606の値の順にソートされる。ホストボリューム1、2、3、4、5のプール空容量列1606の値がそれぞれ300GB、175GB、1024GB、105GBおよびMAXすなわち登録可能な最大値であるため、ソートの結果、ホストボリューム5、3、1、2、4の順に行が並ぶ。その後、並べ替えられた各行について、ステップ1504の判定が行われる。例えば、ステップ1504において、ボリュームの空容量のしきい値として20GBが使用された場合、ホストボリューム1の空容量がしきい値より小さい10GBであるため、ホストボリューム1の行がホストストレージボリューム管理テーブル1600の最後尾に移動するステップ1505。その結果、図15の処理が終了した時点で、ホストストレージボリューム管理テーブル1600の行は、ホストボリューム5、3、2、4、1の順に並ぶ。この場合、ホストボリューム5、3、2、4、1の優先順位がそれぞれ1、2、3、4、5となり、それらの値が書き込み先候補ボリューム管理テーブル1700に登録される。すなわち、イメージファイル503の書き込み先としてホストボリューム5が選択され、その書き込みに失敗した場合に、次に順位が高いホストボリューム3が選択され、さらに失敗した場合には同様に順位に従ってホストボリュームが選択される。上記のように、ステップ1501においてボリュームプール700の空容量の順に行がソートされているため、より空容量が大きいボリュームプール700に対応する仮想ボリュームがイメージファイル503の格納先として優先的に選択される。なお、本実施形態では、ホスト計算機100に割り当て可能な論理ボリューム702のプール空容量列1606として、その項目に登録可能な最大値が登録される。図11の例では、ホストボリューム5すなわちストレージ装置2のストレージボリューム3がこのような論理ボリューム702に相当する。このため、ストレージ装置400に仮想ボリューム701とホスト計算機100に割り当て可能な論理ボリューム702とが混在する場合、ステップ1501のソートの結果、論理ボリューム702の優先順位は仮想ボリューム701のそれより必ず高くなる。これは、一般に、論理ボリューム702へのI/Oが仮想ボリューム701へのI/Oより高速に処理されるため、それらが混在する場合には論理ボリューム702を優先的に選択することによって仮想マシン500およびストレージ装置401の性能を確保することを意図している。仮想ボリューム701へのI/Oを実行するためには、仮想ボリューム701とボリュームプール700内の論理ボリューム702とのマッピングを参照し、必要があれば割り当てを実行しなければならないが、ホスト計算機100に直接割り当てられた論理ボリューム702へのI/Oを実行するためにはそのような参照および割り当ての処理が不要となるためである。また、ステップ1504から1505において、イメージファイル503の格納先として望ましくないボリューム例えば空容量が小さいボリュームまたはI/Oが混雑したボリュームの優先順位が下げられるため、そのようなボリュームは、イメージファイル503の格納先として選択されにくい。以上のように、本実施形態によれば、ボリュームプール間でのリソース使用量の偏り発生を防止することができ、その結果、ストレージ側でのプール間データコピーの回数を減らすことができる。<第2の実施形態>図1から図12、図15から図17、および図19から図21に基づいて、本発明に従う第2の実施形態について説明する。本実施形態と第1の実施形態の相違は、管理者1400の観点から、管理者1400がファイル作成を伴う操作を実行するソフトウェアモジュールが異なる点である。第1の実施形態においては、管理者1400はハイパーバイザ501上でファイル作成を伴う操作を実行したが、本実施形態においては、管理者1400は管理ソフトウェア600上でファイル作成を伴う操作を実行する。これに伴い、本実施形態の管理ソフトウェア600、ハイパーバイザ501、および追加モジュール502の動作が、第1の実施形態のものと異なる。本実施形態におけるシステム構成は、第1の実施形態において、図1から図5を用いて説明したものと同様である。また、各ソフトウェアモジュールの役割は、管理ソフトウェア600、ハイパーバイザ501、および追加モジュール502を除いて、第1の実施形態と同様である。図6から図12に示す第1の実施形態の概念図および管理テーブルは、本実施形態にも適用される。また、本実施形態の管理ソフトウェア600は、第1の実施形態と同様、図15に示す書き込み先候補ボリューム管理テーブル1700の優先順位決定の処理を実行する。本実施形態の管理ソフトウェア600、ハイパーバイザ501、追加モジュール502の役割の、第1の実施形態との相違については、後述する。図16は、本発明の第2の実施形態の管理ソフトウェア600がハイパーバイザ501および各ストレージ装置400の構成情報を取得し、管理ソフトウェア600が書き込み先候補ボリューム管理テーブル1700を保持するまでの処理を示したシーケンス図である。ステップ1800からステップ1805は、実施例1のステップ1300からステップ1305と同様であるため、説明を省略する。本実施形態では、ステップ1806において、管理ソフトウェア600が、書き込み先候補ボリューム管理テーブル1700を保持する。本処理は、書き込み先候補ボリューム管理テーブル1700の更新のために、必要に応じて繰り返し実行される。なお本実施形態において、追加モジュール502はハイパーバイザ501上のインターフェースとして動作し、独立した処理は実行しない。図17は、本発明の第2の実施形態において、管理者1400が管理ソフトウェア600上でファイル作成操作を行い、管理ソフトウェア600がインターフェース追加モジュール502を通して、各ストレージ装置400の指定ボリュームにファイルを書き込むまでの処理を示したシーケンス図である。なお、この処理の前に、管理ソフトウェア600等が図16に示す処理を実行し、書き込み先候補ボリューム管理テーブル1700を作成しておく必要がある。最初に、管理者1400が管理ソフトウェア600上で、ファイル作成操作を行うステップ1900。なお、ファイル作成操作とは、第1の実施形態において説明したとおり、仮想マシン500の新規作成または仮想マシン500に新たにディスクイメージを追加する等の、イメージファイル503の新規作成を伴う操作を指す。ただし、本実施形態のファイル作成操作は、ハイパーバイザ501上ではなく管理ソフトウェア600上で行われる。次に、管理ソフトウェア600が、ファイル作成処理を実行し、イメージファイル503を、管理サーバ200上のメモリ211またはストレージデバイス213上に保持するステップ1901。次に、管理ソフトウェア600が、書き込み先候補ボリューム管理テーブル1700を用いて、書き込み先ボリュームを決定するステップ1902。管理ソフトウェア600は、基本的には優先順位の最高位のボリュームを選択し、I/Oエラーまたは容量不足等に起因する書き込み失敗時に、順次、下位順位のボリュームを選択する。次に、管理ソフトウェア600が、ステップ1902で決定したボリュームを指定し、ハイパーバイザ501上のインターフェースである追加モジュール502を通して、ハイパーバイザ501にファイルを送信するステップ1903。なお、管理ソフトウェア600は、ボリュームを指定せずにファイルを送信してもよい。この場合、ステップ1904に記載の追加処理が行われる。次に、ハイパーバイザ501が、ステップ1903において受信したファイルを、指定されたボリュームに書き込むステップ1904。本実施形態において、追加モジュール502は、書き込むべきファイルと、そのファイルの書き込み先のボリュームの指定と、を受信した場合に、そのファイルを指定されたボリュームに書き込むためのインターフェースである。なお、ステップ1903で、ボリュームを指定せずにファイルが送信された場合は、ハイパーバイザ501が優先順位に関係なくいずれかのボリュームにファイルを書き込む。以下、ステップ1903で、ボリュームを指定せずにファイルが送信された場合追加処理について説明する。管理ソフトウェア600は、ハイパーバイザ501にホスト側構成情報を要求し、図21に示すようなイメージファイル列2105を含むホストボリューム管理テーブル2106を取得する。図21は、本発明の第2の実施形態のハイパーバイザ501が保持するホストボリューム管理テーブル2106の一例を示す説明図である。ホストボリューム管理テーブル2106のホストボリュームID列2101~空容量列2104は、ホストボリューム管理テーブル2100図19の対応する列と同様であるため、説明を省略する。ホストボリューム管理テーブル2106のイメージファイル列2105には、ホストボリュームに格納されるイメージファイル503のファイル名が登録されている。管理ソフトウェア600は、イメージファイル列2105を検索し、ステップ1904においてファイルの作成されたボリュームを特定する。特定したボリュームが、書き込み先候補ボリューム管理テーブル1700における優先順位が低いボリュームである場合に、管理ソフトウェア600は、管理者1400に対して、警告を提示する。なお、優先順位の低さの判定は、第1の実施形態と同様に実行されてもよい。例えば、上位10パーセント以下の優先順位、10位以下の優先順位、または、管理者1400が定義した順位より低い優先順位を、低い優先順位と判定してもよい。以上が、ステップ1903で、ボリュームを指定せずにファイルを送信した場合についての説明である。以上の第2の実施形態によれば、管理者1400が管理ソフトウェア600上でファイル作成操作を行った場合にも、第1の実施形態と同様の効果を得ることができる。<第3の実施形態>図1から図12、図14、図15、および図18から図20に基づいて、本発明に従う第3の実施形態について説明する。なお本実施形態と第1の実施形態との相違は、第1の実施形態において管理ソフトウェア600が実行する処理を、本実施形態においては追加モジュール502が実行する点である。これに伴い、本実施形態の追加モジュール502の動作は、第1の実施形態のものと異なる。本実施形態におけるシステム構成は、第1の実施形態において図1から図5を用いて説明したものと、管理サーバ200およびLAN301を必要としない点を除いて同様である。また、各ソフトウェアモジュールの役割は、追加モジュール502を除いて、第1の実施形態と同様である。図6から図12に示す第1の実施形態の概念図および管理テーブルは、本実施形態にも適用される。ただし、本実施形態は、管理サーバ200上の管理ソフトウェア600を必要としない。図14に示すファイル作成処理時の処理を実行するためには、追加モジュール502等が事前に図18に示す処理を実行し、追加モジュール502が書き込み先候補ボリューム管理テーブル1700を保持しておく必要がある。また、図15に示す処理も第1の実施形態と同様に実行される。ただし、ステップ1405において、追加モジュール502が書き込み先を制御せず、管理者1400に対して警告を提示する場合、警告の提示は、ハイパーバイザ501によって実行される。図18は、本発明の第3の実施形態の追加モジュール502が、ハイパーバイザ501および各ストレージ装置400の構成情報を取得し、書き込み先候補ボリューム管理テーブル1700を保持するまでの処理を示したシーケンス図である。なお、この処理は、書き込み先候補ボリューム管理テーブル1700の更新のために、必要に応じて繰り返し実行される。最初に、追加モジュール502は、ハイパーバイザ501に対してホスト側構成情報の送信を要求するステップ2000。次に、追加モジュール502は、ハイパーバイザ501からホスト側構成情報を受信するステップ2001。取得する構成情報は、ホストボリューム管理テーブル2100に含まれる情報項目である。なお、取得した構成情報に上記以外の情報が含まれていてもよい。また、追加モジュール502の要求なしに、ハイパーバイザ501が構成情報を送信してもよい。次に、追加モジュール502は、各ストレージ装置400に対してストレージ側構成情報の送信を要求するステップ2002。次に、追加モジュール502は、各ストレージ装置400からストレージ側構成情報を受信するステップ2003。取得する構成情報は、各ストレージ装置400の識別子ストレージID、およびストレージボリューム管理テーブル2200に含まれる情報項目である。取得した構成情報に上記以外の情報が含まれていてもよい。なお、ステップ2002とステップ2003において、要求の発行および返信を実行するために、SCSIInquiryを利用してもよい。この場合、追加モジュール502はSCSIInquiryを発行して構成情報を要求し、各ストレージ装置400はInquiryDataのVendor-specific領域に構成情報を格納して返送する。次に、追加モジュール502が、ホストボリューム管理テーブル2100およびストレージボリューム管理テーブル2200をもとに、ホストストレージボリューム管理テーブル1600を作成するステップ2004。作成方法は第1の実施形態と同様であり、ホストボリューム管理テーブル2100の行と、ストレージボリューム管理テーブル2200の行とを比較し、ストレージID列2102およびストレージボリュームID列2103が一致する行を結合することによってホストストレージボリューム管理テーブル1600の各行が作成される。次に、追加モジュール502が、図15に示した処理によって、書き込み先候補ボリュームの優先順位を決定するステップ2005。次に、追加モジュール502が、書き込み先候補ボリューム管理テーブル1700を保持するステップ2006。以上の第3の実施形態によれば、管理サーバ200を備えない計算機システムにおいても、第1の実施形態と同様の効果を得ることができる。