(57)【特許請求の範囲】
【請求項１】
１つ以上の仮想マシンが動作する仮想マシンサーバと、
前記仮想マシンサーバに接続され、前記仮想マシンに関する所定の情報を格納するストレージとを備え、
前記ストレージが、
マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、前記仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、
前記仮想マシンサーバが、
何れかの前記参照用レプリカファイルがアクセスできなくなった場合に、前記構成情報に基づいて、当該参照用レプリカファイルを参照先としていた前記ＶＭファイルの参照先を変更する参照変更手段とを含む
ことを特徴とする仮想マシンシステム。
【請求項２】
前記構成情報は、前記予備の参照先レプリカイメージの情報が、優先度の高い順にリストされ、
前記参照変更手段は、優先度が最も高い予備の参照先レプリカイメージを、新たな参照先レプリカイメージとすることを特徴とする請求項１に記載の仮想マシンシステム。
【請求項３】
前記仮想マシンの作成及び管理を行う管理サーバを備え、
前記管理サーバが、
特定の参照用レプリカイメージへの参照が集中している場合に、各前記ＶＭファイルの参照先の変更を前記参照変更手段に指示する参照分散手段を備えることを特徴とする請求項１又は請求項２に記載の仮想マシンシステム。
【請求項４】
前記管理サーバが、
各前記ＶＭファイルの参照先レプリカイメージを管理する参照関係情報テーブルと、
各前記レプリカイメージが利用可能か否かを管理する利用可能レプリカイメージ情報テーブルとを含み、
前記参照分散手段は、
前記参照関係情報テーブルと、前記利用可能レプリカイメージ情報テーブルとに基づいて、各前記ＶＭファイルの新たな参照先を決定し、前記参照変更手段に通知し、
前記参照変更手段は、当該通知に基づき、各前記ＶＭファイルの参照先を変更することを特徴とする請求項３に記載の仮想マシンシステム。
【請求項５】
前記参照変更手段は、
前記ＶＭファイルの参照先を変更した場合、その旨を前記参照分散手段に通知し、
前記参照分散手段は、
当該通知があった場合、前記参照関係情報テーブルと前記利用可能レプリカイメージ情報テーブルを書き換えた後、特定の参照用レプリカイメージへの参照が集中しているか否かを判定することを特徴とする請求項３又は請求項４に記載の仮想マシンシステム。
【請求項６】
１つ以上の仮想マシンが動作する仮想マシンサーバと、前記仮想マシンサーバに接続され、前記仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステムの仮想マシンサーバであって、
マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルの何れかがアクセスできなくなった場合に、前記仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルの前記構成情報に基づいて、当該参照用レプリカファイルを参照先としていた前記ＶＭファイルの参照先を変更する参照変更手段を
備えることを特徴とする仮想マシンサーバ。
【請求項７】
１つ以上の仮想マシンが動作する仮想マシンサーバと、前記仮想マシンサーバに接続され、前記仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステムの仮想マシン運用方法であって、
前記ストレージに、
マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、前記仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、
前記仮想マシンサーバが、
何れかの前記参照用レプリカファイルがアクセスできなくなった場合に、前記構成情報に基づいて、当該参照用レプリカファイルを参照先としていた前記ＶＭファイルの参照先を変更する参照変更ステップを有する
ことを特徴とする仮想マシン運用方法。
【請求項８】
前記仮想マシンの作成及び管理を行う管理サーバが、
特定の参照用レプリカイメージへの参照が集中している場合に、各前記ＶＭファイルの参照先の変更を前記仮想マシンサーバに指示する参照分散ステップを含むことを特徴とする請求項７に記載の仮想マシン運用方法。
【請求項９】
前記管理サーバが、
各前記ＶＭファイルの参照先レプリカイメージを管理する参照関係情報テーブルと、
各前記レプリカイメージが利用可能か否かを管理する利用可能レプリカイメージ情報テーブルとを含み、
前記参照分散ステップで、
前記参照関係情報テーブルと、前記利用可能レプリカイメージ情報テーブルとに基づいて、各前記ＶＭファイルの新たな参照先を決定し、前記参照変更手段に通知し、
前記参照変更手段は、当該通知に基づき、各前記ＶＭファイルの参照先を変更することを特徴とする請求項８に記載の仮想マシン運用方法。
【請求項１０】
１つ以上の仮想マシンが動作する仮想マシンサーバと、前記仮想マシンサーバに接続され、前記仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステム上で動作する仮想マシン運用プログラムであって、
前記ストレージに、
マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、前記仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、
前記仮想マシンサーバに、
何れかの前記参照用レプリカファイルがアクセスできなくなった場合に、前記構成情報に基づいて、当該参照用レプリカファイルを参照先としていた前記ＶＭファイルの参照先を変更する参照変更処理を実行させる
ことを特徴とする仮想マシン運用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、差分ディスク形式の仮想マシンシステムに関し、特に、参照用のレプリカイメージが利用できなくなった場合に、参照先を自動変更する技術に関する。
【背景技術】
【０００２】
近年では、仮想化技術を用いて、サーバ装置において仮想マシン（バーチャルマシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ））を動作させるシステムが多くなってきている。
【０００３】
仮想マシンの実体は、ストレージに格納されているファイルであり、そのファイルには、仮想的なハードディスク（仮想ディスク）を実現するためのディスクイメージや構成情報（ハードウェアの情報・コンピュータ名・ＩＰアドレスなど）が含まれる。
【０００４】
このディスクイメージには、ＯＳ（ゲストＯＳ）やアプリケーションが含まれており、仮想マシン上のゲストＯＳは、仮想ディスク対して、通常のハードディスクと同様に書き込み読み込みを行う。
【０００５】
仮想マシンは一台一台個別で作成することもできるが、一台の仮想マシン（以下、マスタ仮想マシンとする）だけを準備し、このマスタ仮想マシンを元に、コンピュータ名やＩＰアドレスなど固有情報だけを変更して、複数の仮想マシンを作成することもできる。
【０００６】
このとき、マスタ仮想マシンのディスクイメージが各仮想マシンにコピーされた後、固有情報の変更がおこなわれる。これにより、仮想マシンのセットアップの手間を減らすことができる。
【０００７】
マスタ仮想マシンから多数の仮想マシンを作成すると、マスタ仮想マシンの仮想ディスク容量と仮想マシンの台数に応じたディスク容量が必要になる。仮想マシンの作成は固有情報だけを変更するものであり、ディスクイメージに加わる変更は軽微なものである。そのため、仮想マシン作成直後は、マスタ仮想マシンのディスクイメージと作成された仮想マシンのディスクイメージは、共通している部分が多く、無駄が多い。
【０００８】
そこで、仮想マシンごとにマスタ仮想マシンのディスクイメージを完全にコピーするのではなく、１つだけ仮想マシンのディスクイメージのコピー（以下、レプリカイメージとする）を用意し、仮想マシンにはそのディスクイメージのコピーを参照させることで、共通部分を複数の仮想マシンで共有する形式が取られることがある。
【０００９】
この場合、各仮想マシンには、差分ディスクと呼ばれる仮想ディスクがそれぞれ作成され、レプリカイメージとの差分に関しては、差分ディスクに書き込みが行われる。
【００１０】
各仮想マシンにおいて、読み込みは、まず、レプリカイメージと差分ディスクの両方が利用される。この形式は、差分ディスク形式と呼ばれる。
【００１１】
なお、１つのレプリカイメージを多数の仮想マシンで参照すると、レプリカイメージの読み込みが多くなり、性能劣化につながることから、仮想マシンの数に応じて、複数のレプリカイメージが作られることも多い。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１０−１０２４１５号公報
【特許文献２】特開２０１０−２３１６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
差分ディスク形式では、レプリカイメージの破損等によりレプリカイメージにアクセスできないといった状況になった場合、そのレプリカイメージを参照する仮想マシンはすべて正常に動作できなくなるという課題がある。
【００１４】
（発明の目的）
本発明の目的は、上述の課題を解決し、差分ディスク形式の仮想マシンシステムにおいて、参照用のレプリカイメージが利用できなくなった場合に、参照先を自動変更する仮想マシンシステム、仮想マシンサーバ、仮想マシン運用方法、及び仮想マシン運用プログラムを提供することである。
【課題を解決するための手段】
【００１５】
本発明の第１の仮想マシンシステムは、１つ以上の仮想マシンが動作する仮想マシンサーバと、仮想マシンサーバに接続され、仮想マシンに関する所定の情報を格納するストレージとを備え、ストレージが、マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、仮想マシンサーバが、何れかの参照用レプリカファイルがアクセスできなくなった場合に、構成情報に基づいて、当該参照用レプリカファイルを参照先としていたＶＭファイルの参照先を変更する参照変更手段とを含む。
【００１６】
本発明の第１の仮想マシンサーバは、１つ以上の仮想マシンが動作する仮想マシンサーバと、仮想マシンサーバに接続され、仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステムの仮想マシンサーバであって、マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルの何れかがアクセスできなくなった場合に、仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルの構成情報に基づいて、当該参照用レプリカファイルを参照先としていたＶＭファイルの参照先を変更する参照変更手段を備える。
【００１７】
本発明の第１の仮想マシン運用方法は、１つ以上の仮想マシンが動作する仮想マシンサーバと、仮想マシンサーバに接続され、仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステムの仮想マシン運用方法であって、ストレージに、マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、仮想マシンサーバが、何れかの参照用レプリカファイルがアクセスできなくなった場合に、構成情報に基づいて、当該参照用レプリカファイルを参照先としていたＶＭファイルの参照先を変更する参照変更ステップを有する。
【００１８】
本発明の第１の仮想マシン運用プログラムは、１つ以上の仮想マシンが動作する仮想マシンサーバと、仮想マシンサーバに接続され、仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステム上で動作する仮想マシン運用プログラムであって、ストレージに、マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、仮想マシンサーバに、何れかの参照用レプリカファイルがアクセスできなくなった場合に、構成情報に基づいて、当該参照用レプリカファイルを参照先としていたＶＭファイルの参照先を変更する参照変更処理を実行させる。
【発明の効果】
【００１９】
本発明によれば、差分ディスク形式の仮想マシンシステムにおいて、参照用のレプリカイメージが利用できなくなった場合に、参照先を自動変更することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態による仮想マシンシステムの構成を示すブロック図である。
【図２】第１の実施の形態による構成情報の構成例を示す図である。
【図３】第１の実施の形態による参照関係情報テーブルの構成例を示す図である。
【図４】第１の実施の形態による利用可能レプリカイメージ情報テーブルの構成例を示す図である。
【図５】第１の実施の形態による仮想マシンシステムの動作を示すフローチャートである。
【図６】本発明の仮想マシンサーバのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
上記課題への解決方法として、本特許では、各仮想マシンに対して、参照可能なレプリカイメージを複数設定することで多重化をおこなう。このため、参照しているレプリカイメージが利用不可になったときに、他のレプリカイメージを参照するように変更することでダウンタイムなく仮想マシンの使用を継続できる。
【００２２】
なお、上述のように、通常レプリカイメージは仮想マシンの数に応じて複数作成されるため、本解決方法のために、新たにレプリカイメージを作成する必要がない場合も多い。
【００２３】
また、レプリカイメージの障害時に、仮想マシンの参照するレプリカイメージを変更することで、あるレプリカイメージへの参照が集中する可能性があり、これが、上述のように性能劣化につながるおそれがある。
【００２４】
これを回避するために、本解決手段では、一つのレプリカイメージへの参照が多くなった場合に、参照を分散させる機能を持たせる。
【００２５】
本発明の上記及び他の目的、特徴及び利点を明確にすべく、添付した図面を参照しながら、本発明の実施形態を以下に詳述する。なお、上述の本願発明の目的のほか、他の技術的課題、その技術的課題を解決する手段及びその作用効果についても、以下の実施形態による開示によって明らかとなるものである。
【００２６】
なお、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００２７】
（第１の実施の形態）
図１は、本発明の第１の実施の形態による仮想マシンシステム１０００の構成を示すブロック図である。
【００２８】
図１を参照すると、仮想マシンシステム１０００は、仮想マシンサーバ１００と、ストレージ２００と、管理サーバ３００とから構成される。
【００２９】
仮想マシンサーバ１００は、ハイパーバイザ１１０と１つ以上の仮想マシン１２０（１２０−１〜１２０−ｎ）と、参照変更手段１３０とを含む。
【００３０】
ハイパーバイザ１１０は、仮想マシンサーバ１００が有しているＣＰＵやメモリなどの資源を各仮想マシンに割り当てる機能を有している。
【００３１】
仮想マシン１２０上では、ゲストＯＳ１２１と各種アプリケーション（ＡＰ）１２２が動作している。仮想マシン１２０はハイパーバイザ１１０から資源を配分され、ゲストＯＳ１２１は、配分されたＣＰＵ・メモリを利用したり、ハイパーバイザ１１０を通してストレージ２００にアクセスしたりすることが可能である。
【００３２】
なお、図１において図示は省略しているが、仮想マシンサーバ１００は、仮想マシン１２０の他に、１台のマスタ仮想マシン１４０を含む。
【００３３】
参照変更手段１３０は、あるレプリカイメージ２２１−ｋに障害が発生したときに、該レプリカイメージ２２１−ｋを参照するＶＭファイル２３０―ｎの参照先を変更する機能を有する。
【００３４】
また、参照変更手段１３０は、ＶＭファイル２３０―ｎの参照先を変更した場合、変更内容を管理サーバ３００に通知する機能を有する。
【００３５】
また、参照変更手段１３０は、管理サーバ３００から所定のＶＭファイル２３０−ｎについて参照先のレプリカイメージ２２１を変更するよう要求があった場合、該要求に従い参照先を変更する。
【００３６】
ストレージ２００は、マスタＶＭファイル２１０と、参照用レプリカファイル２２０（２２０−１〜２２０−ｋ）と、ＶＭファイル２３０（２３０−１〜２３０−ｎ）とを格納している。
【００３７】
マスタＶＭファイル２１０は、マスタ仮想マシン１４０に対応するファイルであり、マスタイメージ２１１と構成情報ファイル２１２とで構成される。
【００３８】
マスタイメージ２１１は、マスタ仮想マシン１４０のディスクイメージであり、インストールされているＯＳやアプリケーションの情報、レジストリ情報、ファイル情報などが格納されている。構成情報ファイル２１２は、マスタ仮想マシン１４０のコンピュータ名やＩＰアドレスの情報を格納している。
【００３９】
参照用レプリカファイル２２０（２２０−１〜２２０−ｋ）は、レプリカイメージ２２１（２２１−１〜２２１−ｋ）を有する。
【００４０】
レプリカイメージ２２１は、マスタＶＭファイル２１０のマスタイメージ２１１のコピーである。レプリカイメージ２１１は、各仮想マシン１２０から、読み込みのためにアクセスされる。参照用レプリカファイル２２０は、複数作成できる。
【００４１】
参照用レプリカファイル２２０は、マスタＶＭファイル２１０のマスタイメージ２１１をコピーすることで作成される。この際、同じマスタＶＭファイル２１０から、複数の参照用レプリカファイル２２０を作成しておく。
【００４２】
ＶＭファイル２３０は、各仮想マシン１２０に対応するファイルであり、差分ディスク２３１と構成情報２３２で構成される。
【００４３】
ＶＭファイル２３０は、管理サーバ３００によってレプリカイメージ２２１を元に作成され、差分ディスク２３１と構成情報２３２が作成される。
【００４４】
このとき、差分ディスク２３１は空であり、構成情報２３２にはハードウェア情報やコンピュータ名、ＩＰアドレスなどの他、参照するレプリカイメージ２２１が設定される。
【００４５】
また、構成情報２３２には、図２の様に、ＶＭファイル２３０のＩＤ番号、コンピュータ名、ＩＰアドレス、参照するレプリカイメージ２２１、設定されたレプリカイメージ２２１にアクセス出来ない場合にアクセスする予備のレプリカイメージ２２１のリストが設定される。予備のレプリカイメージ２２１は、優先順位が高い順にリストとして書き込まれる。
【００４６】
ＶＭファイル２３０がハイパーバイザ１１０に読み込まれることで仮想マシン１２０が起動される。
【００４７】
このとき、参照するレプリカイメージ２２１と差分ディスク２３１が読み込まれ、ゲストＯＳ１２１（１２１−１〜１２１−ｎ）やＡＰ１２２（１２２−１〜１２２−ｎ）が起動する。起動した仮想マシン１２０のゲストＯＳ１２１が、仮想ディスクにデータの書き込みを行うと、差分ディスク２３１にデータが書き込まれる。
【００４８】
管理サーバ３００は、記憶手段３１０と、仮想マシン作成手段３２０と、参照分散手段３３０とＯＳ３４０とから構成される。
【００４９】
ＯＳ３４０は、管理サーバ３００のＯＳである。
【００５０】
記憶手段３１０は、参照関係情報テーブル３１１と、利用可能レプリカイメージ情報テーブル３１２を有する。
【００５１】
参照関係情報テーブル３１１は、図３に示すように、各ＶＭファイル２３０が現在どのレプリカイメージ２２１を参照しているかの紐付け情報を格納している。
【００５２】
すなわち、参照関係情報テーブル３１１は、各ＶＭファイル２３０が現在参照しているレプリカイメージ２２１の情報を格納している。
【００５３】
利用可能レプリカイメージ情報テーブル３１２は、図４に示すように、現在利用可能なレプリカイメージ２２１の情報を格納している。
【００５４】
仮想マシン作成手段３２０は、レプリカイメージ２２１を元にＶＭファイル２３０を作成する機能を有する。
【００５５】
参照分散手段３３０は、参照関係情報テーブル３１１を参照し、ＶＭファイル２３０からの参照が集中しているレプリカイメージ２２１がある場合、ＶＭファイル２３０の参照を分散させる機能を有する。
【００５６】
参照分散手段３３０は、あるレプリカイメージ２２１―ｋに障害が発生し、ハイパーバイザ１１０によって該レプリカイメージ２２１―ｋを参照していたＶＭファイル２３０―ｎの参照先が変更されたことを参照変更手段１３０から通知された場合に、分散が必要かどうかを判定する。
【００５７】
（第１の実施の形態の動作の説明）
次に、本実施の形態による仮想マシンシステム１０００の動作について、図面を参照して詳細に説明する。
【００５８】
図５は、本実施の形態による仮想マシンシステム１０００における参照用レプリカファイル２２１の障害時の動作を示すフローチャートである。
【００５９】
図５を参照すると、まず、レプリカイメージ２２１−ｋの破損等によりレプリカイメージ２２１−ｋにアクセス出来ない場合、仮想ディスクへの読み込み書き込みを行うハイパーバイザ１１０が、その障害を検知する（ステップＳ５０１）。
【００６０】
障害を検知したハイパーバイザ１１０は、該レプリカイメージ２２１−ｋを参照先としているＶＭファイル２３０−ｎのＩＤ番号を、参照変更手段１３０へ通知する（ステップＳ５０２）。
【００６１】
参照変更手段１３０は、通知されたＶＭファイル２３０−ｎのＩＤ番号に基づいて構成情報２３２−ｎを特定し、該構成情報２３２−ｎから、予備のレプリカイメージ２２１のリストを読み込む（ステップＳ５０３）。
【００６２】
次いで、参照変更手段１３０は、予備のレプリカイメージ２２１のリストの中に、正常なレプリカイメージ２２１があるかを確認する（ステップＳ５０４）。
【００６３】
正常なレプリカイメージ２２１が１つもない場合、エラーとなり処理は終了する（ステップＳ５０４”ＮＯ”）。
【００６４】
正常なレプリカイメージ２２１がある場合（ステップＳ５０４”ＹＥＳ”）、参照変更手段１３０は、正常なレプリカイメージ２２１の中から、リストでの優先度が最も高いレプリカイメージ２２１−ｋを、新たな参照先として構成情報２３２−ｎを書き換える（ステップＳ５０５）。
【００６５】
なお、当然ながら、正常なレプリカイメージ２２１が１つだけであった場合は、該正常なレプリカイメージ２２１が新たな参照先となる。
【００６６】
また、ハイパーバイザ１１０から複数のＩＤ番号を通知されていた場合は、それぞれのＶＭファイル２３０について、同様の動作を行う。
【００６７】
構成情報２３２−ｎを書き換えた後、参照変更手段１３０は、その旨を、仮想マシンサーバ１００のハイパーバイザ１１０と、管理サーバ３００の参照分散手段３３０に通知する（ステップＳ５０６）。
【００６８】
通知を受け取った仮想マシンサーバ１００のハイパーバイザ１１０は、その時点から、アクセスできなくなったレプリカイメージ２２１を参照していたＶＭファイル２３０の参照先を新たな参照先レプリカイメージ２２１に変更して、仮想マシンを動作させる（ステップＳ５０７）。
【００６９】
一方、参照変更手段１３０からの通知を受け取った管理サーバ３００の参照分散手段３３０は、参照関係情報テーブル３１１と利用可能レプリカイメージ情報テーブル３１２を書き換える（ステップＳ５０８）。
【００７０】
参照分散手段３３０は、利用可能レプリカイメージ情報テーブル３１２において、アクセスできなくなったレプリカイメージ２２１−ｋの利用可能情報を利用不可（”×”）に書き換える。
【００７１】
また、参照分散手段３３０は、参照関係情報テーブル３１１において、参照先の変更があったＶＭファイル２３０−ｎの参照先のレプリカイメージ２２１を、新たな参照先へ書き換える。
【００７２】
このとき、あるレプリカイメージ２２１−ｋに各ＶＭファイル２３０の参照が集中する可能性がある。参照するＶＭファイル２３０が多くなると、そのレプリカイメージ２２１−ｋの読み込みが集中し、性能が劣化する可能性がある。
【００７３】
そのため、参照分散手段３３０は、参照関係情報テーブル３１１の書き換えを行った後、参照関係情報テーブル３１１を参照し、１つのレプリカイメージ２２１−ｋにＶＭファイル２３０からの参照が集中していないかどうかを確認し、参照を分散させる必要があるか否かを判定する（ステップＳ５０９）。
【００７４】
ここで、分散させる必要があるか否かの判定方法と分散方法は、例えば、予め１つのレプリカイメージ２２１を参照するＶＭファイル２３０の数に上限値を定めておき、上限値を超えているレプリカイメージ２２１を参照しているＶＭファイル２３０を、参照数が少ないレプリカイメージ２２１を参照するように分散させる方法がある。ただしこれに限定はされない。
【００７５】
参照を分散させる必要がなければ、処理を終了する（ステップＳ５０９”ＮＯ”）。
【００７６】
参照を分散させる必要があると判定した場合（ステップＳ５０９”ＹＥＳ”）、参照分散手段３３０は、仮想マシンサーバ１００の参照変更手段１３９に、各ＶＭファイル２３０に参照させるレプリカイメージ２２１のリストを送付し、参照の変更を要求する（ステップＳ５１２）。
【００７７】
例えば、レプリカイメージ２１１を適切に書き換えた参照関係情報テーブル３１１の内容をリストとすることができる。
【００７８】
ＶＭファイル２３０に参照させるレプリカイメージのリストを受け取り、参照の変更を要求された参照変更手段１３０は、上述したステップＳ５０５からの処理を行う。
【００７９】
なお、参照分散手段３３０からの変更要求に対しては、参照変更手段１３０は、参照分散手段３３０から送付されたリストに基づいて変更を行う。
【００８０】
（第１の実施の形態による効果）
【００８１】
本実施の形態によれば、あるレプリカイメージ２２１−ｋにアクセスできなくなった場合、該レプリカイメージ２２１−ｋを参照していたＶＭファイル２３０−ｎの参照先が自動的に変更されるため、仮想マシン１２０−ｎが引き続き動作可能となる。
【００８２】
また、本実施の形態によれば、ＶＭファイル２３０の参照先が変更されると、その都度、特定のレプリカイメージ２２１−ｋへの参照が集中していないかが判定され、集中している場合は参照先の分散処理が行われることにより、性能劣化を防ぐことができる。
【００８３】
なお、管理サーバ３００を除いた構成としても、上述した本発明の課題を解決することができる。
【００８４】
次に、本発明の仮想マシンサーバ１００のハードウェア構成例について、図６を参照して説明する。図６は、仮想マシンサーバ１００のハードウェア構成例を示すブロック図である。
【００８５】
図６を参照すると、仮想マシンサーバ１００は、一般的なコンピュータ装置と同様のハードウェア構成であり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメモリからなる、データの作業領域やデータの一時退避領域に用いられる主記憶部８０２、ネットワークを介してデータの送受信を行う通信部８０３、入力装置８０５や出力装置８０６及び記憶装置８０７と接続してデータの送受信を行う入出力インタフェース部８０４、上記各構成要素を相互に接続するシステムバス８０８を備えている。記憶装置８０７は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置等で実現される。
【００８６】
本発明の仮想マシンサーバ１００の参照変更手段１３０は、プログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品である回路部品を実装することにより、その動作をハードウェア的に実現することは勿論として、その機能を提供するプログラムを、記憶装置８０７に格納し、そのプログラムを主記憶部８０２にロードしてＣＰＵ８０１で実行することにより、ソフトウェア的に実現することも可能である。
【００８７】
また、管理サーバ３００も、上記のようなハードウェア構成を有し、該管理サーバ３００が有する各機能をハードウェア的又はソフトウェア的に実現する。
【００８８】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
【００８９】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【００９０】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００９１】
また、本発明の方法およびコンピュータプログラムには複数の手順を順番に記載してあるが、その記載の順番は複数の手順を実行する順番を限定するものではない。このため、本発明の方法およびコンピュータプログラムを実施する時には、その複数の手順の順番は内容的に支障しない範囲で変更することができる。
【００９２】
また、本発明の方法およびコンピュータプログラムの複数の手順は個々に相違するタイミングで実行されることに限定されない。このため、ある手順の実行中に他の手順が発生すること、ある手順の実行タイミングと他の手順の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【００９３】
さらに、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、これに限定されない。
【００９４】
（付記１）
１つ以上の仮想マシンが動作する仮想マシンサーバと、
前記仮想マシンサーバに接続され、前記仮想マシンに関する所定の情報を格納するストレージとを備え、
前記ストレージが、
マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、前記仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、
前記仮想マシンサーバが、
何れかの前記参照用レプリカファイルがアクセスできなくなった場合に、前記構成情報に基づいて、当該参照用レプリカファイルを参照先としていた前記ＶＭファイルの参照先を変更する参照変更手段とを含む
ことを特徴とする仮想マシンシステム。
【００９５】
（付記２）
前記構成情報は、前記予備の参照先レプリカイメージの情報が、優先度の高い順にリストされ、
前記参照変更手段は、優先度が最も高い予備の参照先レプリカイメージを、新たな参照先レプリカイメージとすることを特徴とする付記１に記載の仮想マシンシステム。
【００９６】
（付記３）
前記仮想マシンの作成及び管理を行う管理サーバを備え、
前記管理サーバが、
特定の参照用レプリカイメージへの参照が集中している場合に、各前記ＶＭファイルの参照先の変更を前記参照変更手段に指示する参照分散手段を備えることを特徴とする付記１又は付記２に記載の仮想マシンシステム。
【００９７】
（付記４）
前記管理サーバが、
各前記ＶＭファイルの参照先レプリカイメージを管理する参照関係情報テーブルと、
各前記レプリカイメージが利用可能か否かを管理する利用可能レプリカイメージ情報テーブルとを含み、
前記参照分散手段は、
前記参照関係情報テーブルと、前記利用可能レプリカイメージ情報テーブルとに基づいて、各前記ＶＭファイルの新たな参照先を決定し、前記参照変更手段に通知し、
前記参照変更手段は、当該通知に基づき、各前記ＶＭファイルの参照先を変更することを特徴とする付記３に記載の仮想マシンシステム。
【００９８】
（付記５）
前記参照変更手段は、
前記ＶＭファイルの参照先を変更した場合、その旨を前記参照分散手段に通知し、
前記参照分散手段は、
当該通知があった場合、前記参照関係情報テーブルと前記利用可能レプリカイメージ情報テーブルを書き換えた後、特定の参照用レプリカイメージへの参照が集中しているか否かを判定することを特徴とする付記３又は付記４に記載の仮想マシンシステム。
【００９９】
（付記６）
１つ以上の仮想マシンが動作する仮想マシンサーバと、前記仮想マシンサーバに接続され、前記仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステムの仮想マシンサーバであって、
マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルの何れかがアクセスできなくなった場合に、前記仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルの前記構成情報に基づいて、当該参照用レプリカファイルを参照先としていた前記ＶＭファイルの参照先を変更する参照変更手段を
備えることを特徴とする仮想マシンサーバ。
【０１００】
（付記７）
前記構成情報は、前記予備の参照先レプリカイメージの情報が、優先度の高い順にリストされ、
前記参照変更手段は、優先度が最も高い予備の参照先レプリカイメージを、新たな参照先レプリカイメージとすることを特徴とする付記６に記載の仮想マシンサーバ。
【０１０１】
（付記８）
１つ以上の仮想マシンが動作する仮想マシンサーバと、前記仮想マシンサーバに接続され、前記仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステムの仮想マシン運用方法であって、
前記ストレージに、
マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、前記仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、
前記仮想マシンサーバが、
何れかの前記参照用レプリカファイルがアクセスできなくなった場合に、前記構成情報に基づいて、当該参照用レプリカファイルを参照先としていた前記ＶＭファイルの参照先を変更する参照変更ステップを有する
ことを特徴とする仮想マシン運用方法。
【０１０２】
（付記９）
前記構成情報は、前記予備の参照先レプリカイメージの情報が、優先度の高い順にリストされ、
前記参照変更ステップで、優先度が最も高い予備の参照先レプリカイメージを、新たな参照先レプリカイメージとすることを特徴とする付記８に記載の仮想マシン運用方法。
【０１０３】
（付記１０）
前記仮想マシンの作成及び管理を行う管理サーバが、
特定の参照用レプリカイメージへの参照が集中している場合に、各前記ＶＭファイルの参照先の変更を前記仮想マシンサーバに指示する参照分散ステップを含むことを特徴とする付記８又は付記９に記載の仮想マシン運用方法。
【０１０４】
（付記１１）
前記管理サーバが、
各前記ＶＭファイルの参照先レプリカイメージを管理する参照関係情報テーブルと、
各前記レプリカイメージが利用可能か否かを管理する利用可能レプリカイメージ情報テーブルとを含み、
前記参照分散ステップで、
前記参照関係情報テーブルと、前記利用可能レプリカイメージ情報テーブルとに基づいて、各前記ＶＭファイルの新たな参照先を決定し、前記参照変更手段に通知し、
前記参照変更手段は、当該通知に基づき、各前記ＶＭファイルの参照先を変更することを特徴とする付記１０に記載の仮想マシン運用方法。
【０１０５】
（付記１２）
前記参照変更ステップで、
前記ＶＭファイルの参照先を変更した場合、その旨を前記管理サーバに通知し、
前記参照分散ステップで、
当該通知があった場合、前記参照関係情報テーブルと前記利用可能レプリカイメージ情報テーブルを書き換えた後、特定の参照用レプリカイメージへの参照が集中しているか否かを判定することを特徴とする付記１０又は付記１１に記載の仮想マシン運用方法。
【０１０６】
（付記１３）
１つ以上の仮想マシンが動作する仮想マシンサーバと、前記仮想マシンサーバに接続され、前記仮想マシンに関する所定の情報を格納するストレージとを備える仮想マシンシステム上で動作する仮想マシン運用プログラムであって、
前記ストレージに、
マスタ仮想マシンのディスクイメージをコピーしたレプリカイメージを有する複数の参照用レプリカファイルと、前記仮想マシンのディスクイメージと、参照先レプリカイメージの情報と予備の参照先レプリカイメージの情報を含む構成情報を有するＶＭファイルとを含み、
前記仮想マシンサーバに、
何れかの前記参照用レプリカファイルがアクセスできなくなった場合に、前記構成情報に基づいて、当該参照用レプリカファイルを参照先としていた前記ＶＭファイルの参照先を変更する参照変更処理を実行させる
ことを特徴とする仮想マシン運用プログラム。
【０１０７】
（付記１４）
前記構成情報は、前記予備の参照先レプリカイメージの情報が、優先度の高い順にリストされ、
前記参照変更処理で、優先度が最も高い予備の参照先レプリカイメージを、新たな参照先レプリカイメージとすることを特徴とする付記１３に記載の仮想マシン運用プログラム。
【０１０８】
（付記１５）
前記仮想マシンの作成及び管理を行う管理サーバに、
特定の参照用レプリカイメージへの参照が集中している場合に、各前記ＶＭファイルの参照先の変更を前記仮想マシンサーバに指示する参照分散処理を実行させることを特徴とする付記１３又は付記１４に記載の仮想マシン運用プログラム。
【０１０９】
（付記１６）
前記管理サーバが、
各前記ＶＭファイルの参照先レプリカイメージを管理する参照関係情報テーブルと、
各前記レプリカイメージが利用可能か否かを管理する利用可能レプリカイメージ情報テーブルとを含み、
前記参照分散処理で、
前記参照関係情報テーブルと、前記利用可能レプリカイメージ情報テーブルとに基づいて、各前記ＶＭファイルの新たな参照先を決定し、前記参照変更手段に通知し、
前記参照変更手段は、当該通知に基づき、各前記ＶＭファイルの参照先を変更することを特徴とする付記１５に記載の仮想マシン運用プログラム。
【０１１０】
（付記１７）
前記参照変更処理で、
前記ＶＭファイルの参照先を変更した場合、その旨を前記管理サーバに通知し、
前記参照分散処理で、
当該通知があった場合、前記参照関係情報テーブルと前記利用可能レプリカイメージ情報テーブルを書き換えた後、特定の参照用レプリカイメージへの参照が集中しているか否かを判定することを特徴とする付記１５又は付記１６に記載の仮想マシン運用プログラム。
【符号の説明】
【０１１１】
１０００：仮想マシンシステム
１００：仮想マシンサーバ
１１０：ハイパーバイザ
１２０（１２０−１〜１２０−ｎ）：仮想マシン
１２１（１２１−１〜１２１−ｎ）：ゲストＯＳ
１２２（１２２−１〜１２２−ｎ）：ＡＰ
１３０：参照変更手段
１４０：マスタ仮想マシン
２００：ストレージ
２１０：マスタＶＭファイル
２１１：マスターイメージ
２１２：構成情報
２２０（２２０−１〜２２０−ｋ）：参照用レプリカファイル
２２１（２２１−１〜２２１−ｋ）：レプリカイメージ
２３０（２３０−１〜２３０−ｎ）：ＶＭファイル
２３１（２３１−１〜２３１−ｎ）：差分ディスク
２３２（２３２−１〜２３２−ｎ）：構成情報
３００：管理サーバ
３１０：記憶手段
３１１：参照関係情報テーブル
３１２：利用可能レプリカイメージ情報テーブル
３２０：仮想マシン作成手段
３３０：参照分散手段
３４０：ＯＳ
８０１：ＣＰＵ
８０２：主記憶部
８０３：通信部
８０４：入出力インタフェース部
８０５：入力装置
８０６：出力装置
８０７：記憶装置
８０８：システムバス
【図１】
0005664348.tif 000002
【図２】
0005664348.tif 000003
【図３】
0005664348.tif 000004
【図４】
0005664348.tif 000005
【図５】
0005664348.tif 000006
【図６】
0005664348.tif 000007