(57)【要約】      （修正有）【課題】仮想マシンが非稼動状態のままリソースプール中に存在しうるシステムにおいてもリソースプールを無駄に使用せずに低コストで大容量のリソースプールを運用する。【解決手段】稼動状態の仮想マシンが使用する仮想ディスクを配置する高速のオンラインストレージＣ１と非稼動状態の仮想マシンが使用する仮想ディスクを配置する低速・大容量のオフラインストレージＣ２を配備し、仮想ディスクがオフラインストレージＣ２上にある仮想マシンに対して起動要求があるにも関わらずオンラインストレージＣ１の空き容量が不足している場合には、オンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えるまで、非稼動状態となっているオンラインストレージＣ１上の仮想ディスクを削除し、起動要求に対応する仮想マシンの仮想ディスクの内容をオフラインストレージＣ２からオンラインストレージＣ１上にリストアする。【選択図】図２
2014146118.tif 000002
【特許請求の範囲】
【請求項１】
稼動状態の仮想マシンが使用する仮想ディスクを高速ストレージからなるオンラインストレージに配置する一方、非稼動状態の仮想マシンが使用する仮想ディスクを低速・大容量ストレージからなるオフラインストレージに配置しておき、
外部から入力される仮想マシンの起動要求を受けると、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあれば前記起動要求に対応した仮想マシンを直ちに起動する一方、
前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあれば、更に、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定し、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていれば、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていなければ、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えるまでの間、非稼動状態となっていてオンラインストレージ上の仮想ディスクを使用している仮想マシンを順に１つずつ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップしてオンラインストレージから削除する処理を繰り返し実行し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えた時点で、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動することを特徴としたリソースプール管理方法。
【請求項２】
稼動状態の仮想マシンが使用する仮想ディスクを高速ストレージからなるオンラインストレージに配置する一方、非稼動状態の仮想マシンが使用する仮想ディスクを低速・大容量ストレージからなるオフラインストレージに配置した後、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に管理情報として記憶しておき、
外部から入力される仮想マシンの起動要求を受けると、前記管理情報を参照して前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあれば前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報として再記憶する一方、
前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあれば、更に、前記オンラインストレージの空き容量を参照し、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定し、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていれば、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記起動要求に対応する仮想マシンの状態が稼動状態となったこと、および、其の仮想ディスクの保存先がオンラインストレージとなったことを前記管理情報として再記憶し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていなければ、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えるまでの間、前記管理情報を参照して仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを順に１つずつ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップしてオンラインストレージから削除し、其の保存先がオフラインストレージとなったことを前記管理情報として再記憶する処理を繰り返し実行し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えた時点で、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記起動要求に対応する仮想マシンの状態が稼動状態となったこと、および、其の仮想ディスクの保存先がオンラインストレージとなったことを前記管理情報として再記憶することを特徴とした請求項１記載のリソースプール管理方法。
【請求項３】
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量に加え、更に、仮想マシンの状態が稼動状態から非稼動状態に変化した時期を前記管理情報に記憶し、
オンラインストレージから削除する仮想ディスクの選択に際し、前記管理情報を参照して仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンの中から仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシンから順に仮想マシンを選択することを特徴とした請求項２記載のリソースプール管理方法。
【請求項４】
オンラインストレージから削除する仮想ディスクとして選択した仮想ディスクの内容をオフラインストレージにディスクイメージでバックアップすることを特徴とした請求項１，請求項２または請求項３のうち何れか一項に記載のリソースプール管理方法。
【請求項５】
複数の仮想マシンをホスティングする物理マシンと、
高速ストレージからなるオンラインストレージと低速・大容量ストレージからなるオフラインストレージとによって構成される仮想ディスク保存用リソースプールと、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段と、
外部から入力される仮想マシンの起動要求を検知して前記管理情報記憶手段にアクセスし、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあると判定した場合に限り、更に、前記オンラインストレージの空き容量を参照して、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段と、
前記判定手段により前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあると判定されると、前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報記憶手段に再記憶させる仮想マシン即時起動手段と、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記管理情報記憶手段にアクセスして前記起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージに変更する仮想マシン遅延起動手段と、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、前記管理情報記憶手段にアクセスし、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップし、オンラインストレージから削除して其の保存先をオフラインストレージに変更して前記判定手段を再び作動させるリストア領域作成手段とを備えたことを特徴とするリソースプール管理システム。
【請求項６】
前記管理情報記憶手段は、更に、仮想マシンの状態が稼動状態から非稼動状態に変化した時期を仮想マシン毎に記憶し、
前記リストア領域作成手段は、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンの中から仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシンから順に仮想マシンを選択することを特徴とした請求項５記載のリソースプール管理システム。
【請求項７】
前記リストア領域作成手段は、選択した仮想マシンの仮想ディスクの内容をオフラインストレージにディスクイメージでバックアップすることを特徴とした請求項５または請求項６のうち何れか一項に記載のリソースプール管理システム。
【請求項８】
前記管理情報記憶手段，判定手段，仮想マシン即時起動手段，仮想マシン遅延起動手段，リストア領域作成手段が、前記物理マシンに対して情報伝達可能に接続された管理サーバに内蔵されていることを特徴とした請求項５，請求項６または請求項７のうち何れか一項に記載のリソースプール管理システム。
【請求項９】
複数の仮想マシンをホスティングする物理マシンと、
高速ストレージからなるオンラインストレージと低速・大容量ストレージからなるオフラインストレージとによって構成される仮想ディスク保存用リソースプールと、
前記物理マシンに対して情報伝達可能に接続された管理サーバと、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段とを備えたリソースプール管理システムを制御するリソースプール管理プログラムであって、
前記管理サーバが備えるマイクロプロセッサを、
外部から入力される仮想マシンの起動要求を検知して前記管理情報記憶手段にアクセスし、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあると判定した場合に限り、更に、前記オンラインストレージの空き容量を参照して、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段、
前記判定手段により前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあると判定されると、前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報記憶手段に再記憶させる仮想マシン即時起動手段、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記管理情報記憶手段にアクセスして前記起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージに変更する仮想マシン遅延起動手段、および、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、前記管理情報記憶手段にアクセスし、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップし、オンラインストレージから削除して其の保存先をオフラインストレージに変更して前記判定手段を再び作動させるリストア領域作成手段として機能させることを特徴としたリソースプール管理プログラム。
【請求項１０】
複数の仮想マシンをホスティングする物理マシンと、
高速ストレージからなるオンラインストレージと低速・大容量ストレージからなるオフラインストレージとによって構成される仮想ディスク保存用リソースプールと、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段とを備えたリソースプール管理システムを制御するリソースプール管理プログラムであって、
前記物理マシンが備えるマイクロプロセッサを、
外部から入力される仮想マシンの起動要求を検知して前記管理情報記憶手段にアクセスし、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあると判定した場合に限り、更に、前記オンラインストレージの空き容量を参照して、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段、
前記判定手段により前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあると判定されると、前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報記憶手段に再記憶させる仮想マシン即時起動手段、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記管理情報記憶手段にアクセスして前記起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージに変更する仮想マシン遅延起動手段、および、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、前記管理情報記憶手段にアクセスし、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップし、オンラインストレージから削除して其の保存先をオフラインストレージに変更して前記判定手段を再び作動させるリストア領域作成手段として機能させることを特徴としたリソースプール管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンに提供するリソースの割り振りを制御するリソースプール管理方法とリソースプール管理システムおよびリソースプール管理プログラムに関する。
【背景技術】
【０００２】
コンピュータのリソースの合計をリソースプールと見做して業務を実行する仮想マシンにリソースプールからリソースを払い出すことで複数の仮想マシンをホスティングするシステムでは、マイクロプロセッサ，メモリ，ストレージといった各種のリソースを抽象化して管理する。
ここで、マイクロプロセッサやメモリについては仮想マシンが稼動状態の場合にのみリソースが消費され、それ以外の場合はリソースが消費されないが、ストレージについては仮想マシンの状態に関わらず、仮想マシンが利用する仮想ディスクが存在する限りリソースが消費され続ける。
このため、例えば昼夜で動作させる業務サーバを切り替えるようなシステムやユーザの利用時にのみ仮想マシンを起動するようなクライアント向けシステムあるいはユーザが仮想マシンを破棄してから実際に削除されるまでに日数の猶予期間を設けているようなシステムなど、比較的多くの仮想マシンが非稼動状態のままリソースプール中に存在しうるシステムにおいては、マイクロプロセッサやメモリに比べてストレージのリソースが無駄に消費されてしまう問題があった。
ストレージの利用を効率化する一般的な方法としては、ILM(Information Lifecycle Management)の考え方に基づいてコストやサービスレベルの異なる複数のストレージを階層化するものが知られている。この方法は大量の文書ファイルなどを各々のファイルがもつ情報のライフサイクルに従って適切なストレージ上に再配置するものである。
しかし、リソースプールにおいては再配置の対象は仮想ディスクであり、各々の仮想ディスクには様々な種類のファイルや仮想マシンのＯＳ（Operating System）が含まれるので、仮想ディスクの単位でライフサイクルを判断することは難しい。このため、ILMの考え方に基づく方法ではリソースプールのストレージの利用をうまく効率化できなかった。
【０００３】
一方、複数の仮想マシンをホスティングするシステムにおいてストレージ・リソースの使用効率を向上させるための技術としては、プールを特性毎に階層に分類し、各プールが枯渇するまでの期間を予測して各プール間で仮想ボリュームを再配置するようにした仮想ボリュームの再配置システムが特許文献１として既に提案されている。
ここでいうプールの特性とは例えばブールを構成するディスクの信頼性や超高速，高速，低速と言った読み書きの速度等である。
また、各プールが枯渇するまでの期間の予測は、例えば、一日当たりのディスク使用量の増分と日数およびディスク使用量の現在値等を一次予測関数に代入することで得られるとしている。
しかし、これらの信頼性，読み書きの速度，プールが枯渇するまでの期間といった特性はユーザがボリュームを再配置する時に配置先を人為的に特定するための条件すなわちポリシーの設定に用いられるものに過ぎず、これらの特性をコストや性能が異なるプールをストレージ・リソースの使用効率の向上や低コスト化に如何様にして役立てるかといった技術思想について開示するものではない。
【０００４】
また、ストレージ・リソースの使用効率を向上させるための技術の他の例としては、ハイパーバイザーが提供する仮想マシンに割り当てられた仮想ディスクの容量不足を解消するため、仮想ディスクの容量が不足した仮想マシンから他の仮想マシンにディスク領域削減要求を送信し、他の仮想マシンに割り当てられたディスクの一部を開放させ、その記憶領域を利用して仮想ディスクの容量が不足した仮想マシンのディスク容量を拡張させるようにした資源管理方法が特許文献２として提案されている。
この技術は基本的には単一のディスク装置つまり共通の特性の下で記憶領域を分割して複数の仮想マシンに割り当てるもので、読み書きの速度等が異なる複数のディスク装置を併用することを考慮したものではない。
【０００５】
また、リソースの使用効率を向上させるための技術の更に他の例として、仮想マシンの各々が実行するジョブの数を取得し、ジョブの数に応じて比例配分するかたちで仮想マシンの各々にマイクロプロセッサやメモリ等のリソースを割り振るようにしたリソース制御方法が特許文献３として提案されている。
この技術をストレージ・リソースに転用することは可能と思われるが、前述した資源管理方法と同様、読み書きの速度等が異なる複数のディスク装置を併用することを考慮したものではない。
【０００６】
更に別の例として、仮想マシンを別の物理マシンに移動させた時に生じる仮想マシンの演算処理性能の変動を抑制するための技術として、演算処理性能の向上した仮想マシンを提供する物理マシンのマイクロプロセッサの処理速度を低下させたり処理結果の出力を遅延させたりすることで仮想マシンの演算処理性能の変動を許容範囲内に収めるようにした管理装置が特許文献４として提案されている。
特許文献４では演算処理性能を調整するために仮想マシンに割り当てる演算処理資源を調整する点について記載されているが、前述した資源管理方法やリソース制御方法と同様、読み書きの速度等が異なる複数のディスク装置を併用することを考慮したものではなく、単に、仮想マシンの演算処理性能を制限して性能を低いレベルで安定化するものに過ぎない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１１２２７６号公報（段落０００７，００１２，００２６，０１０５，００２７，０１０９）
【特許文献２】特開２０１０−２７７５８１号公報（段落００７１，００８７〜００８９）
【特許文献３】特開２０１１−１１８８６４号公報（段落００４３〜００４４）
【特許文献４】特開２０１１−１９２１８７号公報（段落００３３，０１０４，０１８５，００５４）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、多くの仮想マシンが非稼動状態のままリソースプール中に存在しうるシステムにおいても仮想ディスク保存用のリソースプールを構成する高速ストレージが無駄に使用されることなく、低コストで大容量のリソースプールを運用することのできるリソースプール管理方法とリソースプール管理システムおよびリソースプール管理プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明のリソースプール管理方法は、前記目的を達成するため、
稼動状態の仮想マシンが使用する仮想ディスクを高速ストレージからなるオンラインストレージに配置する一方、非稼動状態の仮想マシンが使用する仮想ディスクを低速・大容量ストレージからなるオフラインストレージに配置しておき、
外部から入力される仮想マシンの起動要求を受けると、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあれば前記起動要求に対応した仮想マシンを直ちに起動する一方、
前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあれば、更に、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定し、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていれば、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていなければ、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えるまでの間、非稼動状態となっていてオンラインストレージ上の仮想ディスクを使用している仮想マシンを順に１つずつ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップしてオンラインストレージから削除する処理を繰り返し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えた時点で、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動することを特徴とした構成を有する。
【００１０】
本発明のリソースプール管理システムは、前記目的を達成するため、
複数の仮想マシンをホスティングする物理マシンと、
高速ストレージからなるオンラインストレージと低速・大容量ストレージからなるオフラインストレージとによって構成される仮想ディスク保存用リソースプールと、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段と、
外部から入力される仮想マシンの起動要求を検知して前記管理情報記憶手段にアクセスし、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあると判定した場合に限り、更に、前記オンラインストレージの空き容量を参照して、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段と、
前記判定手段により前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあると判定されると、前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報記憶手段に再記憶させる仮想マシン即時起動手段と、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記管理情報記憶手段にアクセスして前記起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージに変更する仮想マシン遅延起動手段と、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、前記管理情報記憶手段にアクセスし、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップし、オンラインストレージから削除して其の保存先をオフラインストレージに変更して前記判定手段を再び作動させるリストア領域作成手段とを備えたことを特徴とする構成を有する。
【００１１】
本発明のリソースプール管理プログラムは、前記目的を達成するため、
複数の仮想マシンをホスティングする物理マシンと、
高速ストレージからなるオンラインストレージと低速・大容量ストレージからなるオフラインストレージとによって構成される仮想ディスク保存用リソースプールと、
前記物理マシンに対して情報伝達可能に接続された管理サーバと、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段とを備えたリソースプール管理システムを制御するリソースプール管理プログラムであって、
前記管理サーバが備えるマイクロプロセッサを、
外部から入力される仮想マシンの起動要求を検知して前記管理情報記憶手段にアクセスし、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあると判定した場合に限り、更に、前記オンラインストレージの空き容量を参照して、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段、
前記判定手段により前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあると判定されると、前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報記憶手段に再記憶させる仮想マシン即時起動手段、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記管理情報記憶手段にアクセスして前記起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージに変更する仮想マシン遅延起動手段、および、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、前記管理情報記憶手段にアクセスし、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップし、オンラインストレージから削除して其の保存先をオフラインストレージに変更して前記判定手段を再び作動させるリストア領域作成手段として機能させることを特徴とした構成を有する。
また、リソースプール管理プログラムは前記物理マシンが備えるマイクロプロセッサを判定手段，仮想マシン即時起動手段，仮想マシン遅延起動手段，リストア領域作成手段として機能させるものであってもよい。
【発明の効果】
【００１２】
本発明は、稼動状態の仮想マシンが使用する仮想ディスクを高速ストレージからなるオンラインストレージに配置する一方、非稼動状態の仮想マシンが使用する仮想ディスクを低速・大容量ストレージからなるオフラインストレージに配置し、仮想ディスクがオンラインストレージ上にある仮想マシンに対して起動要求があった場合には其の仮想マシンを直ちに起動し、仮想ディスクがオフラインストレージ上にある仮想マシンに対して起動要求があった場合には、オンラインストレージの空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えている場合に限り、起動要求に対応する仮想マシンの仮想ディスクの内容を無条件にオフラインストレージからオンラインストレージ上にリストアして其の仮想マシンを起動する一方、オンラインストレージの空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えていない場合には、オンラインストレージの空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えるまで非稼動状態となっているオンラインストレージ上の仮想ディスクの内容を次々と削除して起動要求に対応する仮想マシンの仮想ディスクの内容をオフラインストレージからオンラインストレージ上にリストアして其の仮想マシンを起動するようにしているので、稼動対象となる仮想マシンに対応した仮想ディスクを常に高速ストレージからなる高性能のオンラインストレージ上に常駐させながら非稼動状態となった仮想マシンに対応する仮想ディスクを低速・大容量ストレージからなる低コストのオフラインストレージに退避させることができる。
従って、仮想マシンが非稼動状態のままリソースプール中に存在しうるシステムにおいても、高速ストレージからなる高性能のオンラインストレージを無駄に消費することなく、低コストで大容量のリソースプールを運用することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明を適用した一実施形態のリソースプール管理システムの構成について簡略化して示した機能ブロック図である。
【図２】物理マシンに対して情報伝達可能に接続された管理サーバに管理情報記憶手段，判定手段，仮想マシン即時起動手段，仮想マシン遅延起動手段，リストア領域作成手段を内蔵した場合の構成例について示したブロック図である。
【図３】リソースプール管理プログラムの一例を示したフローチャートである。
【図４】管理情報記憶手段として機能する管理情報記憶テーブルの論理的な構成例について一例を示した概念図である。
【図５】物理マシンに対して情報伝達可能に接続された管理サーバに管理情報記憶手段，判定手段，仮想マシン即時起動手段，仮想マシン遅延起動手段，リストア領域作成手段を内蔵した場合の他の一実施形態について示したブロック図である。
【発明を実施するための形態】
【００１４】
次に、本発明を実施するための実施形態について図面を参照して説明する。
【００１５】
図１は本発明を適用した一実施形態のリソースプール管理システムの構成について簡略化して示した機能ブロック図である。
【００１６】
このリソースプール管理システムＡは、複数の仮想マシンをホスティングする物理マシンＢと、高速ストレージからなるオンラインストレージＣ１および低速・大容量ストレージからなるオフラインストレージＣ２によって構成される仮想ディスク保存用リソースプールＣと、仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段Ｄを備える。
【００１７】
また、リソースプール管理システムＡは、外部から入力される仮想マシンの起動要求を検知して管理情報記憶手段Ｄにアクセスし、起動要求に対応する仮想マシンが使用する仮想ディスクがオンラインストレージＣ１上にあるのかオフラインストレージＣ２上にあるのかを判定し、起動要求に対応する仮想マシンが使用する仮想ディスクがオフラインストレージＣ２上にあると判定した場合に限り、更に、オンラインストレージＣ１の空き容量を参照して、その空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段Ｅを備える。
【００１８】
リソースプール管理システムＡは、更に、判定手段Ｅにより起動要求に対応する仮想マシンが使用する仮想ディスクがオンラインストレージＣ１上にあると判定されると、起動要求に対応した仮想マシンを直ちに起動して起動要求に対応する仮想マシンの状態が稼動状態となったことを管理情報記憶手段Ｄに再記憶させる仮想マシン即時起動手段Ｆと、判定手段ＥによりオンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、起動要求に対応する仮想マシンの仮想ディスクの内容をオフラインストレージＣ２から読み出してオンラインストレージＣ１上にリストアし、オフラインストレージＣ２から此の仮想ディスクの内容を削除して起動要求に対応する仮想マシンを起動すると共に管理情報記憶手段Ｄにアクセスして起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージＣ１に変更する仮想マシン遅延起動手段Ｇを有し、判定手段ＥによりオンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、管理情報記憶手段Ｄにアクセスし、仮想ディスクの保存先がオンラインストレージＣ１で仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージＣ２にバックアップし、オンラインストレージＣ１から削除して其の保存先をオフラインストレージＣ２に変更して判定手段Ｅを再び作動させるリストア領域作成手段Ｈを備える。
【００１９】
より望ましくは、管理情報記憶手段Ｄは、前述した仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係に加え、更に、仮想マシンの状態が稼動状態から非稼動状態に変化した時期（年，月，日，時，分，秒）を仮想マシン毎に管理情報として記憶するものであり、また、リストア領域作成手段Ｈは、管理情報記憶手段Ｄを参照し、仮想ディスクの保存先がオンラインストレージＣ１で仮想マシンの状態が非稼動状態となっている仮想マシンの中から、仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシンから順に仮想マシンを選択するものである。
【００２０】
図２は、より具体的に、複数の仮想マシンをホスティングする物理マシンＢと低速・大容量ストレージからなるオフラインストレージＣ２に対して情報伝達可能に接続された管理サーバＩに管理情報記憶手段Ｄ，判定手段Ｅ，仮想マシン即時起動手段Ｆ，仮想マシン遅延起動手段Ｇ，リストア領域作成手段Ｈを内蔵した場合の構成例について示したブロック図である。
【００２１】
物理マシンＢは１台または複数台のコンピュータによって構成されるハイパーバイザークラスタであり、物理マシンＢによってホスティングされる複数の仮想マシンにマイクロプロセッサやメモリ等のリソースを提供する。
【００２２】
高速ストレージからなるオンラインストレージＣ１は例えばフラッシュドライブ等で構成され、物理マシンＢに直接的に情報伝達可能に接続されており、また、低速・大容量ストレージからなるオフラインストレージＣ２は例えばシリアルATAドライブ等で構成されている。
【００２３】
管理サーバＩは通常のパーソナルコンピュータやワークステーション等によって構成され、演算処理用のマイクロプロセッサと、管理サーバＩの起動に必要とされるＢＩＯＳプログラム等を格納したＲＯＭ、および、ＢＩＯＳが利用する各種のパラメータ等を記憶する不揮発性メモリと、ＯＳやアプリケーション・プログラムの常駐さらには演算データの一時記憶等に利用されるランダム・アクセス・メモリ、ならびに、ＯＳやアプリケーション・プログラムおよび各種のデータ等を格納するための大容量記憶装置として機能するハードディスクドライブ、各種の周辺装置やネットワーク等に接続するための入出力インターフェイス等を備え、マイクロプロセッサの入出力回路には、マン・マシン・インターフェイスとして機能するキーボードやマウス等が接続されている。
【００２４】
管理サーバＩと物理マシンＢとの接続および管理サーバＩとオフラインストレージＣ２との接続は管理サーバＩの入出力インターフェイスを介して行なわれ、管理サーバＩのハードディスクドライブには、管理サーバＩのマイクロプロセッサを判定手段Ｅ，仮想マシン即時起動手段Ｆ，仮想マシン遅延起動手段Ｇ，リストア領域作成手段Ｈとして機能させるためのリソースプール管理プログラム（図３参照）が格納されている。
そして、このリソースプール管理プログラムが管理サーバＩのハードディスクドライブから管理サーバＩのランダム・アクセス・メモリに実行対象のアプリケーションプログラムとして読み出されて常駐し、管理サーバＩのマイクロプロセッサが此のリソースプール管理プログラムを実行することで、管理サーバＩのマイクロプロセッサが、判定手段Ｅ，仮想マシン即時起動手段Ｆ，仮想マシン遅延起動手段Ｇ，リストア領域作成手段Ｈとして機能することになる。
【００２５】
管理情報記憶手段Ｄとして機能する管理サーバＩのハードディスクドライブには、その記憶領域の一部を利用して管理情報記憶テーブルＤ１（図４参照）が設けられている。
【００２６】
図２では、一例として、物理マシンＢが複数の仮想マシン１１〜１８に対してマイクロプロセッサやメモリ等のリソースを提供してホスティングしている環境下で、仮想マシン１１〜１２が稼動状態（ＯＮ状態）となり、かつ、仮想マシン１３〜１８が非稼動状態（ＯＦＦ状態）となって、仮想マシン１１〜１４に対応した仮想ディスク２１〜２４がオンラインストレージＣ１上に配置され、仮想マシン１５〜１８に対応した仮想ディスク３５〜３８がディスクイメージ（イメージファイル）としてオフラインストレージＣ２上に配置された状況を表している。
【００２７】
図４に例示した管理情報記憶テーブルＤ１は図２の状況に対応させて仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量、および、仮想マシンの状態が稼動状態（ＯＮ状態）から非稼動状態（ＯＦＦ状態）に変化した時期を表したものである。
例えば、識別子１１で管理される仮想マシン１１は現時点で稼動状態にあり、仮想マシン１１の状態が最後に稼動状態から非稼動状態に変化した時期は2012/1/1 17:50:00であって、仮想マシン１１に対応する仮想ディスク２１の識別子が２１であり、その容量が８GB、また、その保存先がオンラインストレージＣ１上であることが分かる。
なお、仮想マシン１１等の状態が最後に稼動状態から非稼動状態に変化した時期は、通常のパーソナルコンピュータやワークステーション等によって構成される管理サーバＩが標準的に備える時計機能を利用して取得されるようになっている。
【００２８】
また、仮想マシン１１〜１８を利用するために必要とされる複数のターミナルは、管理サーバＩにネットワーク経由で接続されており、各ターミナルが管理サーバＩを経由して仮想マシン１１〜１８を利用するものとする。
【００２９】
次に、リソースプール管理プログラムの概略を示した図３のフローチャートを参照して判定手段Ｅ，仮想マシン即時起動手段Ｆ，仮想マシン遅延起動手段Ｇ，リストア領域作成手段Ｈとして機能する管理サーバＩのマイクロプロセッサの処理動作について具体的に説明する。
【００３０】
外部からの起動要求がターミナルを介して管理サーバＩに入力されると、管理サーバＩのマイクロプロセッサは、まず、物理マシンＢのマイクロプロセッサやメモリのリソースに新たな仮想マシンを立上げるに足る空きがある否かを確認し（ステップＡ１）、リソースの空きがなければ、仮想マシンの起動は不可能とである判定して処理を終了する（ステップＡ１２）。
【００３１】
一方、ステップＡ１の判定結果が真となって物理マシンＢのマイクロプロセッサやメモリのリソースに新たな仮想マシンを立上げるに足る空きがあることが確認された場合には、判定手段Ｅとして機能する管理サーバＩのマイクロプロセッサが、更に、管理情報記憶手段Ｄとして機能する管理サーバＩのハードディスクドライブにアクセスし、起動要求で指定された仮想マシンの識別子に基いて管理情報記憶テーブルＤ１を参照し、起動要求で指定された仮想マシンの識別子に対応する仮想ディスクがオンラインストレージＣ１上に配置されているか否かを判定する（ステップＡ２）。
【００３２】
ステップＡ２の判定結果が真となった場合には、起動要求で指定された仮想マシンに対応する仮想ディスクがオンラインストレージＣ１上に直ちに利用可能な状態で配置されていることを意味するので、仮想マシン即時起動手段Ｆとして機能する管理サーバＩのマイクロプロセッサが、ターミナルからの起動要求で指定された仮想マシンの起動指令を物理マシンＢに送信して起動要求で指定された仮想マシンを直ちに起動させ、併せて、起動要求に対応した仮想マシンの状態が非稼動状態から稼動状態に変化したことを管理情報記憶テーブルＤ１に再記憶させる（ステップＡ３）。
例えば、図４の例で言えば、非稼動状態となっている仮想マシン１３に対応した仮想ディスク２３はオンラインストレージＣ１上にあるので、仮想マシン１３の起動は即時的に可能である。従って、仮に、ステップＡ１の処理でターミナルから仮想マシンの識別子１３を指定して仮想マシン１３の起動要求が入力されたとするなら、この仮想マシン１３が直ちに起動されると共に、図４の管理情報記憶テーブルＤ１中で仮想マシンの識別子１３に対応する状態の欄の値が非稼動状態（ＯＦＦ状態）から稼動状態（ＯＮ状態）に更新されることになる。
【００３３】
一方、ステップＡ２の判定結果が偽となった場合には、起動要求で指定された仮想マシンに対応する仮想ディスクがオフラインストレージＣ２上にあって直ちには利用できない状態で配置されていることを意味するので、判定手段Ｅとして機能する管理サーバＩのマイクロプロセッサは、更に、オンラインストレージＣ１の空き容量を参照して、その空き容量が、管理情報記憶テーブルＤ１から得られる起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否か、つまり、オンラインストレージＣ１上にある他の仮想ディスクを削除しなくても起動要求で指定された仮想マシンの識別子に対応した仮想ディスクをオンラインストレージＣ１上に再配置することが可能であるか否かを判定することになる（ステップＡ４）。
なお、オンラインストレージＣ１の空き容量はオンラインストレージＣ１に直接的に接続された物理マシンＢによって管理されているので、管理サーバＩのマイクロプロセッサは、物理マシンＢにアクセスすることにより、オンラインストレージＣ１の空き容量を容易に認識することができる。
【００３４】
ここで、ステップＡ４の判定結果が真となった場合には、オンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えていること、すなわち、オンラインストレージＣ１上にある他の仮想ディスクを削除しなくても起動要求で指定された仮想マシンの識別子に対応した仮想ディスクを改めてオンラインストレージＣ１上に再配置できることを意味する。
【００３５】
従って、この場合、仮想マシン遅延起動手段Ｇとして機能する管理サーバＩのマイクロプロセッサは、オンラインストレージＣ１上に空の仮想ディスクを生成し（ステップＡ５）、起動要求で指定された仮想マシンの識別子に対応した仮想ディスクの識別子を指定して起動要求に対応する仮想マシンの仮想ディスクのディスクイメージをオフラインストレージＣ２から読み出し、オンラインストレージＣ１上に新たに生成された仮想ディスクにリストアして（ステップＡ６）、オフラインストレージＣ２から此の仮想ディスクのディスクイメージを削除し、更に、管理情報記憶手段Ｄとして機能する管理サーバＩのハードディスクドライブにアクセスして、起動要求に対応した仮想マシンの状態が非稼動状態から稼動状態に変化したことを管理情報記憶テーブルＤ１に再記憶させると共に、起動要求に対応した仮想マシンの仮想ディスクの保存先がオフラインストレージＣ２からオンラインストレージＣ１に変更されたことを管理情報記憶テーブルＤ１に更新記憶させて（ステップＡ７）、起動要求で指定された仮想マシンの起動指令を物理マシンＢに送信し、起動要求で指定された仮想マシンを起動させる（ステップＡ３）。
例えば、図４の例で言えば、非稼動状態となっている仮想マシン１５に対応した仮想ディスク３５はオフラインストレージＣ２上にあるので、このままでは仮想マシン１５を起動することはできない。従って、仮に、ステップＡ１の処理で仮想マシンの識別子１５を指定して仮想マシン１５の起動要求が入力されたとするなら、まず、オンラインストレージＣ１の空き容量が仮想マシン１５に対応した仮想ディスク３５の容量を超えているか否かが判定され（ステップＡ４参照）、オンラインストレージＣ１の空き容量が仮想ディスク３５の容量を超えている場合に限ってオンラインストレージＣ１上に空の仮想ディスクが生成され（ステップＡ５参照）、起動要求で指定された仮想マシン１５の識別子１５に対応した識別子３５の仮想ディスク３５のディスクイメージがオフラインストレージＣ２から読み出されてオンラインストレージＣ１上に新たに生成された仮想ディスクにリストアされ（ステップＡ６参照）、オフラインストレージＣ２上から仮想ディスク３５のディスクイメージが削除されて、図４の管理情報記憶テーブルＤ１中で仮想マシンの識別子１５に対応した状態の欄の値が非稼動状態（ＯＦＦ状態）から稼動状態（ＯＮ状態）に更新され、同時に、仮想ディスク３５の保存先がオフラインストレージＣ２からオンラインストレージＣ１に変更されることになる（ステップＡ７参照）。
【００３６】
これに対し、ステップＡ４の判定結果が偽となった場合には、オンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量に満たないこと、すなわち、オンラインストレージＣ１上にある他の仮想ディスクを幾つか削除しなければ起動要求で指定された仮想マシンの識別子に対応した仮想ディスクをオンラインストレージＣ１上に再配置できないことを意味する。
【００３７】
従って、この場合、リストア領域作成手段Ｈとして機能する管理サーバＩのマイクロプロセッサは、まず、管理情報記憶手段Ｄとして機能する管理サーバＩのハードディスクドライブにアクセスして管理情報記憶テーブルＤ１を参照し、仮想ディスクの保存先がオンラインストレージＣ１となっていて仮想マシンの状態が非稼動状態となっている仮想マシンの中から仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシン、つまり、最近は利用されていないと考えられる仮想マシンを１つ選択する処理を試行し（ステップＡ８）、仮想ディスクの保存先がオンラインストレージＣ１となっていて仮想マシンの状態が非稼動状態となっている仮想マシンが少なくとも１つあるか否かを判定する（ステップＡ９）。
【００３８】
ステップＡ９の判定結果が偽となった場合には、仮想ディスクの保存先がオンラインストレージＣ１となっていて仮想マシンの状態が非稼動状態となっている仮想マシンが１つもないこと、つまり、オンラインストレージＣ１上に配置された仮想ディスクの全てが稼動状態の仮想マシンによって使用されており、削除対象として選択可能な仮想ディスクがオンラインストレージＣ１上に全く存在しないことを意味するので、管理サーバＩのマイクロプロセッサは、オンラインストレージＣ１上の仮想ディスクを削除して起動要求で指定された仮想マシンの仮想ディスクを配置することは不可能であると判定して処理を終了する（ステップＡ１２）。
【００３９】
一方、ステップＡ９の判定結果が真となった場合には、仮想ディスクの保存先がオンラインストレージＣ１となっていて仮想マシンの状態が非稼動状態となっている仮想マシンが１つ以上存在し、かつ、現時点で選択されている仮想マシンが、稼動状態から非稼動状態に変化した時期が最も古い仮想マシンであることを意味するので、リストア領域作成手段Ｈとして機能する管理サーバＩのマイクロプロセッサは、まず、管理情報記憶手段Ｄとして機能する管理サーバＩのハードディスクドライブにアクセスして管理情報記憶テーブルＤ１を参照し、ステップＡ８の処理で選択された仮想マシンに対応する仮想ディスクの識別子を求め、此の識別子に対応した仮想ディスクの内容をオンラインストレージＣ１から読み込み、これをディスクイメージとしてオフラインストレージＣ２に格納することで削除対象として選択した仮想ディスクのバックアップを取り（ステップＡ１０）、ステップＡ８の処理で選択された仮想マシンつまり削除対象として選択された仮想マシンに対応する仮想ディスクの内容をオンラインストレージＣ１から削除し、其の保存先をオンラインストレージＣ１からオフラインストレージＣ２に変更して管理情報記憶テーブルＤ１に更新記憶させた後（ステップＡ１１）、判定手段Ｅとして機能する管理サーバＩのマイクロプロセッサに改めてステップＡ４の処理を実行させることで判定手段Ｅを再び作動させる。
例えば、管理情報記憶テーブルＤ１が図４に示されるような状況となっている時に仮想マシン１６に対応した起動要求が入力され、オフラインストレージＣ２上で仮想マシン１６に対応する仮想ディスク３６の容量がオフラインストレージＣ１の空き容量を超えていたとすると、オンラインストレージＣ１上にある仮想ディスクを幾つか削除しない限り、オンラインストレージＣ１上に仮想ディスク３６を改めて再配置することはできない。従って、この場合、リストア領域作成手段Ｈとして機能する管理サーバＩのマイクロプロセッサは、まず、管理情報記憶テーブルＤ１を参照し、仮想ディスクの保存先がオンラインストレージＣ１となっていて且つ仮想マシンの状態が非稼動状態となっている仮想マシン１３〜１４の中から、仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシン、つまり、稼動状態から非稼動状態に変化した時期が2012/1/2 08:00:00となっている仮想マシン１４を最初に選択し（ステップＡ８〜ステップＡ９参照）、管理情報記憶テーブルＤ１を参照して仮想マシン１４に対応する仮想ディスクの識別子２４を求め、此の識別子２４に対応した仮想ディスク２４の内容をオンラインストレージＣ１から読み込み、これをディスクイメージとしてオフラインストレージＣ２に格納することで削除対象とした仮想ディスク２４のバックアップを取り（ステップＡ１０参照）、次いで、仮想マシン１４に対応する仮想ディスク２４の内容をオンラインストレージＣ１から削除して、仮想ディスク２４の保存先をオンラインストレージＣ１からオフラインストレージＣ２に変更して管理情報記憶テーブルＤ１に更新記憶させることになる（ステップＡ１１参照）。
【００４０】
このようにしてオンラインストレージＣ１から１つの仮想ディスクが削除される結果、オンラインストレージＣ１の空き容量は、削除した仮想ディスクの容量、例えば、仮想ディスク２４の容量分だけ増大することになる。
【００４１】
そこで、判定手段Ｅとして機能する管理サーバＩのマイクロプロセッサは、改めて、オンラインストレージＣ１の空き容量を参照し、その空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否か、つまり、オンラインストレージＣ１上にある他の仮想ディスクを更に削除しなくてもオンラインストレージＣ１上に起動要求で指定された仮想マシンの識別子に対応した仮想ディスクを再配置することが可能であるか否かを判定することになる（ステップＡ４）。
【００４２】
ここでステップＡ４の判定結果が真となった場合には、オンラインストレージＣ１上から更に他の仮想ディスクを削除しなくてもオンラインストレージＣ１上に起動要求で指定された仮想マシンの識別子に対応した仮想ディスクを再配置することが可能であることを意味する。
【００４３】
従って、ステップＡ４の判定結果が真となった場合においては、仮想マシン遅延起動手段Ｇとして機能する管理サーバＩのマイクロプロセッサが前記と同様にしてステップＡ５〜ステップＡ７およびステップＡ３の処理を実行し、起動要求で指定された仮想マシンを起動させることになる。
【００４４】
また、ステップＡ４の判定結果が再び偽となった場合には、リストア領域作成手段Ｈとして機能する管理サーバＩのマイクロプロセッサが前記と同様にしてステップＡ８〜ステップＡ１１の処理を実行し、仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシン、つまり、稼動状態（ＯＮ状態）から非稼動状態（ＯＦＦ状態）に変化した時期が2012/1/2 08:10:00となっている仮想マシン１３を２つ目の対象として選択し、これに対応する仮想ディスク２３の内容をオンラインストレージＣ１から読み込み、これをディスクイメージとしてオフラインストレージＣ２に格納することで削除対象とした仮想ディスク２３のバックアップを取り、仮想ディスク２３の内容をオンラインストレージＣ１から削除して、仮想ディスク２３の保存先をオンラインストレージＣ１からオフラインストレージＣ２に変更して管理情報記憶テーブルＤ１に更新記憶させ、判定手段Ｅとして機能する管理サーバＩのマイクロプロセッサに改めてステップＡ４の処理を実行させることで判定手段Ｅを再び作動させることになる。
【００４５】
従って、オンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量に満たない場合にあっては、仮想ディスクの保存先がオンラインストレージＣ１となっていて仮想マシンの状態が非稼動状態となっている仮想マシンが存在する限り、その中から、仮想マシンの状態が稼動状態から非稼動状態に変化した時期が古い順に仮想マシンが１つずつ選択され、その仮想マシンに対応した仮想ディスクがオンラインストレージＣ１からオフラインストレージＣ２にバックアップされてオンラインストレージＣ１上から削除され続ける。
そして、オンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えた時点で、起動要求に対応した仮想マシンの仮想ディスクがオフラインストレージＣ２からオンラインストレージＣ１にリストアされて、起動要求に対応した仮想マシンが起動される。
但し、仮想ディスクの保存先がオンラインストレージＣ１となっていて仮想マシンの状態が非稼動状態となっている仮想マシンに対応する仮想ディスクの全てをオンラインストレージＣ１から削除してもオンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量に満たないような状況下、つまり、ステップＡ８〜ステップＡ１１およびステップＡ４の処理が繰り返し実行される間にステップＡ９の判定結果が偽となった状況下では、起動要求に対応した仮想マシンの起動は不可能となる。
【００４６】
以上に述べた通り、この実施形態では、稼動状態（ＯＮ状態）の仮想マシンが使用する仮想ディスクを高速ストレージからなるオンラインストレージＣ１に配置する一方、非稼動状態（ＯＦＦ状態）の仮想マシンが使用する仮想ディスクを低速・大容量ストレージからなるオフラインストレージＣ２に配置し、仮想ディスクがオンラインストレージＣ１上にある仮想マシンに対して起動要求があった場合には其の仮想マシンを直ちに起動し、仮想ディスクがオフラインストレージＣ２上にある仮想マシンに対して起動要求があった場合には、オンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えている場合に限り、起動要求に対応する仮想マシンの仮想ディスクの内容を無条件にオフラインストレージＣ２からオンラインストレージＣ１上にリストアして起動要求に対応した仮想マシンを起動する一方、オンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えていない場合には、オンラインストレージＣ１の空き容量が起動要求に対応した仮想マシンの仮想ディスクの容量を超えるまで非稼動状態となっていてオンラインストレージＣ１上の仮想ディスクの内容を次々と削除して起動要求に対応する仮想マシンの仮想ディスクの内容をオフラインストレージＣ２からオンラインストレージＣ１上にリストアして起動要求に対応した仮想マシンを起動するようにしている。
従って、稼動対象（ＯＮ状態）となる仮想マシンに対応した仮想ディスクを常に高速ストレージからなる高性能のオンラインストレージＣ１上に常駐させながら非稼動状態（ＯＦＦ状態）となった仮想マシンに対応する仮想ディスクを低速・大容量ストレージからなる低コストのオフラインストレージＣ２に退避させておくことができ、仮想マシンが非稼動状態のままリソースプール中に存在しうるシステム、例えば、昼夜で動作させる仮想マシンを切り替えるようなシステムやユーザの利用時にのみ仮想マシンを起動するようなクライアント向けシステムあるいはユーザが仮想マシンを破棄してから実際に削除されるまでに日数の猶予期間を設けているようなシステム等においても、高速ストレージからなる高価で高性能のオンラインストレージＣ１の記憶容量を無駄に消費することなく、低コストで大容量のリソースプールを運用することができる。
【００４７】
しかも、この実施形態にあっては、特に、仮想マシンの状態が非稼動状態（ＯＦＦ状態）となっている仮想マシンの中から仮想マシンの状態が稼動状態（ＯＮ状態）から非稼動状態（ＯＦＦ状態）に変化した時期が最も古い仮想マシン、つまり、最近は利用されていないと考えられる仮想マシンを順に選択して対応する仮想ディスクをオンラインストレージＣ１から削除するようにしているので、其の時点で非稼動状態となっていても頻繁に利用される可能性の高い仮想マシンに対応した仮想ディスクがオンラインストレージＣ１から不用意に削除されるといった不都合が発生する可能性を低く抑制することができ、オフラインストレージＣ２からオンラインストレージＣ１への仮想ディスクの再配置、および、そのための前処理として必要とされるオンラインストレージＣ１上での仮想ディスクの削除処理等のために頻繁に使用される仮想マシンの起動所要時間が増長するといった問題を最小限度に抑制することができる。
【００４８】
また、仮想マシンの状態が稼動状態（ＯＮ状態）から非稼動状態（ＯＦＦ状態）に変化した時期が最も古い仮想マシン、つまり、最近は利用されていないと考えられる仮想マシンを順に選択して対応する仮想ディスクをオンラインストレージＣ１から削除し、その時点で起動要求を受けた別の仮想マシンの仮想ディスクをオフラインストレージＣ２からオンラインストレージＣ１に再配置するといった処理が繰り返し実行されるため、頻繁に使用される仮想マシンの仮想ディスクがオンラインストレージＣ１上に常駐する可能性が高くなり、頻繁に使用される仮想マシンの起動所要時間の更なる短縮が可能となる。
【００４９】
同時に、余り使用されない仮想マシンの仮想ディスクがオンラインストレージＣ１上に何時までも居座り続けるといった問題も改善されるので、その結果として、特に、多数の仮想マシンを必ずしも同時に使用しないような環境下において、オンラインストレージＣ１の小容量化すなわちシステムの運用コストの削減が可能となる。
【００５０】
つまり、高いサービスレベルを要求される高速ストレージからなるオンラインストレージＣ１を効率よく稼動させ、かつ、非稼動状態となった仮想マシンに対応する仮想ディスクを低速・大容量ストレージからなる低コストのオフラインストレージＣ２に退避させることができるので、高速・大容量ストレージのみを用いて多数の仮想マシンの同時稼動に対処する場合と比べ、リソースプールにおけるストレージ装置のコストを削減することができ、しかも、ストレージ装置の一部つまりオンラインストレージＣ１のみを高速ストレージとすればよいので、より高価で高速なストレージ装置をオンラインストレージＣ１に採用することがコスト的に可能となり、サービスレベルの向上が可能となる。
【００５１】
なお、頻繁に利用される可能性の高い仮想マシンに対応した仮想ディスクがオンラインストレージＣ１から不用意に削除されることや頻繁に使用される仮想マシンの起動所要時間が増長することを特に問題視しないのであれば、仮想マシンの状態が稼動状態（ＯＮ状態）から非稼動状態（ＯＦＦ状態）に変化した時期が最も古い仮想マシン、つまり、最近は利用されていないと考えられる仮想マシンから順に選択して対応する仮想ディスクをオンラインストレージＣ１から削除していく必要は必ずしもない。その場合、リストア領域作成手段Ｈは、例えば、仮想ディスクの保存先がオンラインストレージＣ１となっていて仮想マシンの状態が非稼動状態となっている仮想マシンを管理情報記憶テーブルＤ１の先頭から順に選択し、その仮想マシンに対応した仮想ディスクを順にオンラインストレージＣ１から削除していってもよい。
【００５２】
図５は複数の仮想マシンをホスティングする物理マシンＢに対して情報伝達可能に接続された管理サーバＩに管理情報記憶手段Ｄ，判定手段Ｅ，仮想マシン即時起動手段Ｆ，仮想マシン遅延起動手段Ｇ，リストア領域作成手段Ｈを内蔵した場合の他の一実施形態について示したブロック図である。
【００５３】
先に述べた実施形態との相違は、前述のオンラインストレージＣ１と同様にサービスレベルの高い高速ストレージＣ１１とサービスレベルが中程度の中速ストレージＣ１２からなる二層構造のストレージ群をオンラインストレージＣ１’として利用する点、および、オンラインストレージＣ１’を構成する高速ストレージＣ１１および中速ストレージＣ１２とサービスレベルの低い低速・大容量ストレージからなるオフラインストレージＣ２を物理マシンＢに直接的に情報伝達可能に接続し、仮想ディスクの再配置に関わる処理を管理サーバＩからの指令で物理マシンＢのみによって実行させるようにした点にある。
【００５４】
高速ストレージＣ１１と中速ストレージＣ１２からなるオンラインストレージＣ１’とオフラインストレージＣ２との間で行われる仮想ディスクのリストア処理やバックアップ処理に関しては前述した実施形態の場合（図３参照）と同等であるが、この実施形態にあっては、オンラインストレージＣ１’からオフラインストレージＣ２にバックアップする仮想ファイルをディスクイメージには変換せず、非稼動状態（ＯＦＦ状態）の仮想マシンと接続した状態のままオンラインストレージＣ１’からオフラインストレージＣ２に格納される。
【００５５】
また、オンラインストレージＣ１’を構成する高速ストレージＣ１１と中速ストレージＣ１２の間では、仮想マシンの状態が稼動状態（ＯＮ状態）であると非稼動状態（ＯＦＦ状態）であるとを問わず仮想ディスクを移動することができる。
オンラインストレージＣ１’の内部では、例えば、仮想マシンの業務優先度や負荷状況などに応じて仮想ディスクの配置を変更するようなポリシーによる運用が考えられるが、本実施形態ではポリシーについては任意とする。
【００５６】
以上の実施形態では、複数の仮想マシンをホスティングする物理マシンＢとは独立したハードウェアからなる管理サーバＩが備えるマイクロプロセッサによって判定手段Ｅ，仮想マシン即時起動手段Ｆ，仮想マシン遅延起動手段Ｇ，リストア領域作成手段Ｈを構成する例について述べたが、物理マシンＢがホスティングする仮想マシンの１つと物理マシンＢのリソースを利用して判定手段Ｅ，仮想マシン即時起動手段Ｆ，仮想マシン遅延起動手段Ｇ，リストア領域作成手段Ｈと管理情報記憶手段Ｄの機能を実現するといったことも可能である。
【００５７】
以上に開示した実施形態の一部または全部は、以下の付記に示す記載によって適切に表現され得るが、発明を実施するための形態や発明の技術思想は、これらのものに制限されるものではない。
【００５８】
また、リソースプール管理プログラムプログラムは非一時的な記録媒体に記憶されてもよい。非一時的な記録媒体としては、例えば、ＤＶＤ，ＣＤ，フラッシュメモリ等のものを利用することができる。リソースプール管理プログラムを非一時的な記録媒体に記憶した場合、リソースプール管理プログラムは非一時的な記録媒体からコンピュータによって読み出され、そのマイクロプロセッサによって実行されることになる。
【００５９】
〔付記１〕
稼動状態の仮想マシンが使用する仮想ディスクを高速ストレージからなるオンラインストレージに配置する一方、非稼動状態の仮想マシンが使用する仮想ディスクを低速・大容量ストレージからなるオフラインストレージに配置しておき、
外部から入力される仮想マシンの起動要求を受けると、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあれば前記起動要求に対応した仮想マシンを直ちに起動する一方、
前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあれば、更に、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定し、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていれば、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていなければ、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えるまでの間、非稼動状態となっていてオンラインストレージ上の仮想ディスクを使用している仮想マシンを順に１つずつ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップしてオンラインストレージから削除する処理を繰り返し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えた時点で、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動することを特徴としたリソースプール管理方法。
【００６０】
〔付記２〕
稼動状態の仮想マシンが使用する仮想ディスクを高速ストレージからなるオンラインストレージに配置する一方、非稼動状態の仮想マシンが使用する仮想ディスクを低速・大容量ストレージからなるオフラインストレージに配置し、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に管理情報として記憶した後、
外部から入力される仮想マシンの起動要求を受けると、前記管理情報を参照して前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあれば前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報として再記憶する一方、
前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあれば、更に、前記オンラインストレージの空き容量を参照し、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定し、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていれば、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記起動要求に対応する仮想マシンの状態が稼動状態となったこと、および、其の仮想ディスクの保存先がオンラインストレージとなったことを前記管理情報として再記憶し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていなければ、前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えるまでの間、前記管理情報を参照して仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを順に１つずつ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップしてオンラインストレージから削除し、其の保存先がオフラインストレージとなったことを前記管理情報として再記憶する処理を繰り返し実行し、
前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えた時点で、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記起動要求に対応する仮想マシンの状態が稼動状態となったこと、および、其の仮想ディスクの保存先がオンラインストレージとなったことを前記管理情報として再記憶することを特徴としたリソースプール管理方法。
【００６１】
〔付記３〕
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量に加え、更に、仮想マシンの状態が稼動状態から非稼動状態に変化した時期を前記管理情報に記憶し、
オンラインストレージから削除する仮想ディスクの選択に際し、前記管理情報を参照して仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンの中から仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシンから順に仮想マシンを選択することを特徴とした付記２記載のリソースプール管理方法。
【００６２】
〔付記４〕
オンラインストレージから削除する仮想ディスクとして選択した仮想ディスクの内容をオフラインストレージにディスクイメージでバックアップすることを特徴とした付記１，付記２または付記３のうち何れか一項に記載のリソースプール管理方法。
【００６３】
〔付記５〕
複数の仮想マシンをホスティングする物理マシンと、
高速ストレージからなるオンラインストレージと低速・大容量ストレージからなるオフラインストレージとによって構成される仮想ディスク保存用リソースプールと、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段と、
外部から入力される仮想マシンの起動要求を検知して前記管理情報記憶手段にアクセスし、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあると判定した場合に限り、更に、前記オンラインストレージの空き容量を参照して、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段と、
前記判定手段により前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあると判定されると、前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報記憶手段に再記憶させる仮想マシン即時起動手段と、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記管理情報記憶手段にアクセスして前記起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージに変更する仮想マシン遅延起動手段と、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、前記管理情報記憶手段にアクセスし、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップし、オンラインストレージから削除して其の保存先をオフラインストレージに変更して前記判定手段を再び作動させるリストア領域作成手段とを備えたことを特徴とするリソースプール管理システム。
【００６４】
〔付記６〕
前記管理情報記憶手段は、更に、仮想マシンの状態が稼動状態から非稼動状態に変化した時期を仮想マシン毎に記憶し、
前記リストア領域作成手段は、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンの中から仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシンから順に仮想マシンを選択することを特徴とした付記５記載のリソースプール管理システム。
【００６５】
〔付記７〕
前記リストア領域作成手段は、選択した仮想マシンの仮想ディスクの内容をオフラインストレージにディスクイメージでバックアップすることを特徴とした付記５または付記６のうち何れか一項に記載のリソースプール管理システム。
【００６６】
〔付記８〕
前記管理情報記憶手段，判定手段，仮想マシン即時起動手段，仮想マシン遅延起動手段，リストア領域作成手段が、前記物理マシンに対して情報伝達可能に接続された管理サーバに内蔵されていることを特徴とした付記５，付記６または付記７のうち何れか一項に記載のリソースプール管理システム。
【００６７】
〔付記９〕
複数の仮想マシンをホスティングする物理マシンと、
高速ストレージからなるオンラインストレージと低速・大容量ストレージからなるオフラインストレージとによって構成される仮想ディスク保存用リソースプールと、
前記物理マシンに対して情報伝達可能に接続された管理サーバと、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段とを備えたリソースプール管理システムを制御するリソースプール管理プログラムであって、
前記管理サーバが備えるマイクロプロセッサを、
外部から入力される仮想マシンの起動要求を検知して前記管理情報記憶手段にアクセスし、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあると判定した場合に限り、更に、前記オンラインストレージの空き容量を参照して、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段、
前記判定手段により前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあると判定されると、前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報記憶手段に再記憶させる仮想マシン即時起動手段、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記管理情報記憶手段にアクセスして前記起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージに変更する仮想マシン遅延起動手段、および、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、前記管理情報記憶手段にアクセスし、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップし、オンラインストレージから削除して其の保存先をオフラインストレージに変更して前記判定手段を再び作動させるリストア領域作成手段として機能させることを特徴としたリソースプール管理プログラム。
【００６８】
〔付記１０〕
複数の仮想マシンをホスティングする物理マシンと、
高速ストレージからなるオンラインストレージと低速・大容量ストレージからなるオフラインストレージとによって構成される仮想ディスク保存用リソースプールと、
仮想マシンの状態と，仮想マシンが使用する仮想ディスクの保存先と，仮想ディスクの容量との対応関係を仮想マシン毎に記憶する管理情報記憶手段とを備えたリソースプール管理システムを制御するリソースプール管理プログラムであって、
前記物理マシンが備えるマイクロプロセッサを、
外部から入力される仮想マシンの起動要求を検知して前記管理情報記憶手段にアクセスし、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあるのかオフラインストレージ上にあるのかを判定し、前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オフラインストレージ上にあると判定した場合に限り、更に、前記オンラインストレージの空き容量を参照して、その空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えているか否かを判定する判定手段、
前記判定手段により前記起動要求に対応する仮想マシンが使用する仮想ディスクが前記オンラインストレージ上にあると判定されると、前記起動要求に対応した仮想マシンを直ちに起動して前記起動要求に対応する仮想マシンの状態が稼動状態となったことを前記管理情報記憶手段に再記憶させる仮想マシン即時起動手段、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていると判定されると、前記起動要求に対応する仮想マシンの仮想ディスクの内容を前記オフラインストレージから読み出して前記オンラインストレージ上にリストアし、前記オフラインストレージから該仮想ディスクの内容を削除して前記起動要求に対応する仮想マシンを起動すると共に前記管理情報記憶手段にアクセスして前記起動要求に対応する仮想マシンの状態を稼動状態にセットして其の保存先をオンラインストレージに変更する仮想マシン遅延起動手段、および、
前記判定手段により前記オンラインストレージの空き容量が前記起動要求に対応した仮想マシンの仮想ディスクの容量を超えていないと判定されると、前記管理情報記憶手段にアクセスし、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンを１つ選択して此の仮想マシンの仮想ディスクの内容をオフラインストレージにバックアップし、オンラインストレージから削除して其の保存先をオフラインストレージに変更して前記判定手段を再び作動させるリストア領域作成手段として機能させることを特徴としたリソースプール管理プログラム。
【００６９】
〔付記１１〕
前記管理情報記憶手段は、更に、仮想マシンの状態が稼動状態から非稼動状態に変化した時期を仮想マシン毎に記憶し、
前記リストア領域作成手段は、仮想ディスクの保存先がオンラインストレージで仮想マシンの状態が非稼動状態となっている仮想マシンの中から仮想マシンの状態が稼動状態から非稼動状態に変化した時期が最も古い仮想マシンから順に仮想マシンを選択することを特徴とした付記９または付記１０のうち何れか一項に記載のリソースプール管理プログラム。
【００７０】
〔付記１２〕
前記リストア領域作成手段は、選択した仮想マシンの仮想ディスクの内容をオフラインストレージにディスクイメージでバックアップすることを特徴とした付記９，付記１０または付記１１のうち何れか一項に記載のリソースプール管理プログラム。
【産業上の利用可能性】
【００７１】
本発明は、複数のコンピュータのリソースの合計をリソースプールとして抽象化して管理するシステムにおいて、管理ソフトウェアおよび仮想化ソフトウェアに適用できる。
【符号の説明】
【００７２】
１１〜１８  仮想マシン
２１〜２４  仮想ディスク
３５〜３８  仮想ディスク
Ａ  リソースプール管理システム
Ｂ  物理マシン
Ｃ  仮想ディスク保存用リソースプール
Ｃ１  オンラインストレージ
Ｃ１’  オンラインストレージ
Ｃ１１  高速ストレージ（オンラインストレージの一部）
Ｃ１２  中速ストレージ（オンラインストレージの他部）
Ｃ２  オフラインストレージ
Ｄ  管理情報記憶手段
Ｄ１管理情報記憶テーブル
Ｅ  判定手段
Ｆ  仮想マシン即時起動手段
Ｇ  仮想マシン遅延起動手段
Ｈ  リストア領域作成手段
Ｉ  管理サーバ
【図１】
2014146118.tif 000003
【図２】
2014146118.tif 000004
【図３】
2014146118.tif 000005
【図４】
2014146118.tif 000006
【図５】
2014146118.tif 000007