(57)【要約】【課題】仮想マシンを移動させる場合に仮想マシンの停止時間を短縮する。【解決手段】第１のデータセンターは、仮想マシンが有する記憶装置のイメージファイルを構成する複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを第２のデータセンターに送信し、前記第２のデータセンターは、前記所定のチャンクを記憶し、第１の仮想マシンサーバは、前記所定のチャンクの送信後に前記仮想マシンを停止し、第１のメタデータサーバは、前記イメージファイルのメタデータを第２のメタデータサーバに送信し、第２の仮想マシンサーバは、前記第２のデータサーバが記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する。【選択図】図４
2018028740.tif 000002
【特許請求の範囲】
【請求項１】
第１のデータセンターと第２のデータセンターを有する情報処理システムであって、
前記第１のデータセンターは、
仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第１の処理部を有する第１の仮想マシンサーバと、
前記イメージファイルを構成する複数のチャンクを記憶する第１の記憶部と第２の処理部と有する第１のデータサーバと、
前記イメージファイルのメタデータを記憶する第２の記憶部と第３の処理部とを有する第１のメタデータサーバと、
を備え、
前記第２のデータセンターは、
前記イメージファイルを用いて前記仮想マシンを実行する第４の処理部を有する第２の仮想マシンサーバと、
第３の記憶部と第５の処理部とを有する第２のデータサーバと、
前記メタデータを記憶する第４の記憶部と第６の処理部とを有する第２のメタデータサーバと、
を備え、
前記第２の処理部は、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第２のデータセンターに送信し、
前記第５の処理部は、前記所定のチャンクを前記第３の記憶部に記憶させ、
前記第１の処理部は、前記所定のチャンクの送信後に前記第１の処理部で実行している前記仮想マシンを停止し、
前記第３の処理部は、前記メタデータを前記第２のメタデータサーバに送信し、
前記第６の処理部は、前記メタデータを前記第４の記憶部に記憶させ、
前記第４の処理部は、前記第３の記憶部が記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する
ことを特徴とする情報処理システム。
【請求項２】
前記所定のデータは、前記仮想マシンのオペレーティングシステムのデータであることを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記メタデータを管理する権限を有する装置を示す情報を格納する第５の記憶部と、
前記メタデータが前記第２のメタデータサーバに送信された後に、前記第２のメタデータサーバに前記権限を付与する第７の処理部と、
を備えるスーパーメタデータサーバをさらに備えることを特徴とする請求項１または２記載の情報処理システム。
【請求項４】
第１のデータセンターと第２のデータセンターを有する情報処理システムが実行する情報処理方法であって、前記第１のデータセンターは、仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第１の仮想マシンサーバ、前記イメージファイルを構成する複数のチャンクを記憶する第１のデータサーバ、および前記イメージファイルのメタデータを記憶する第１のメタデータサーバを含み、前記第２のデータセンターは、第２の仮想マシンサーバ、第２のデータサーバ、および第２のメタデータサーバを含み、
前記第１のデータセンターは、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第２のデータセンターに送信し、
前記第２のデータセンターは、前記所定のチャンクを記憶し、
前記第１の仮想マシンサーバは、前記所定のチャンクの送信後に前記仮想マシンを停止し、
前記第１のメタデータサーバは、前記メタデータを前記第２のメタデータサーバに送信し、
前記第２のメタデータサーバは、前記メタデータを記憶し、
前記第２の仮想マシンサーバは、前記第２のデータサーバが記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する
処理を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムおよび情報処理方法に関する。
【背景技術】
【０００２】
仮想デスクトップ環境を利用して業務を行うことが一般的になってきている。ユーザがどのアクセスクライアントを利用しても同一の環境が利用できるということが仮想デスクトップ環境の利点である。そのため、ユーザは端末を持ち運ばずとも距離の離れた事業所間を移動し、移動先事業所のアクセスクライアントを利用して業務を行うことができる。
【０００３】
しかしながら、従来は仮想マシン（ＶＭ）の存在するデータセンター（ＤＣ）は単一であり、ユーザとＤＣの距離が離れている場合にはアクセスクライアントからＶＭへの応答性が問題となる。そのため、ユーザの移動に合わせて、ＶＭもユーザの位置の近隣のＤＣに移動させる。そのためには、遠隔地にあるＤＣ間でファイルシステム（ＦＳ）を共有し、どのＤＣからでもＶＭが有する記憶装置のイメージファイル（ＶＭイメージファイル）にアクセスできるようにする。つまり、ＤＣ間にまたがる分散ＦＳが用いられる。イメージファイルは、記憶装置に格納されている複数のデータを１つにまとめたファイルである。ＶＭは、ＶＭイメージファイルを用いて実行される。
【０００４】
ＶＭの稼働中にＶＭイメージファイルに対して、頻繁にデータの書き込みが発生する。しかし、従来の分散ＦＳは、データの書き込みの際の整合性を保つためにクラスタを構成するサーバ間で頻繁に通信が発生する。そのため、サーバ間の遠距離を考慮していない従来技術の分散ＦＳをＤＣ間にまたがって適用した場合には、アクセスクライアントからＶＭへの実用的な応答性能を得ることが難しい。
【０００５】
分散ファイルシステムにおいて、マスタサーバによって格納されるファイルカタログにアクセスし、アクセスされるべきファイルに関連付けられたメタサーバのルーティング情報を、マスタサーバから取得し、ルーティング情報に基づき、メタサーバにアクセスする。そして、アクセスされるべきファイルのメタ情報を、メタサーバから取得し、複数のノードサーバからアクセスされるべきファイルにアクセスする分散ファイルシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１５−５２８９５７号公報
【特許文献２】特開２０１３−９３０５０号公報
【特許文献３】特表２０１４−５０３０８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＤＣをまたがってＶＭを移動させるためにＶＭイメージファイルを移動させる場合、ＶＭイメージファイルを転送している間はＶＭの動作が停止する。
【０００８】
本発明の課題は、分散ファイルシステムにおいて、仮想マシンを移動させる場合に仮想マシンの停止時間を短縮することである。
【課題を解決するための手段】
【０００９】
実施の形態に係る情報処理システムは、第１のデータセンターと第２のデータセンターを有する。
【００１０】
前記第１のデータセンターは、第１の仮想マシンサーバ、第１のデータサーバ、および第１のメタデータサーバを備える。
【００１１】
前記第１の仮想マシンサーバは、仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第１の処理部を有する。
【００１２】
前記第１のデータサーバは、前記イメージファイルを構成する複数のチャンクを記憶する第１の記憶部と第２の処理部とを有する。
【００１３】
前記第１のメタデータサーバは、前記イメージファイルのメタデータを記憶する第２の記憶部と第３の処理部とを有する。
【００１４】
前記第２のデータセンターは、第２の仮想マシンサーバ、第２のデータサーバ、および第２のメタデータサーバを備える。
【００１５】
前記第２の仮想マシンサーバは、前記イメージファイルを用いて前記仮想マシンを実行する第４の処理部を有する。
【００１６】
前記第２のデータサーバは、第３の記憶部と第５の処理部とを有する。
前記第２のメタデータサーバは、前記メタデータを記憶する第４の記憶部と第６の処理部とを有する。
【００１７】
前記第２の処理部は、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第２のデータセンターに送信する。
【００１８】
前記第５の処理部は、前記所定のチャンクを前記第３の記憶部に記憶させる。
前記第１の処理部は、前記所定のチャンクの送信後に前記第１の処理部で実行している前記仮想マシンを停止する。
【００１９】
前記第３の処理部は、前記メタデータを前記第２のメタデータサーバに送信する。
前記第６の処理部は、前記メタデータを前記第４の記憶部に記憶させる。
【００２０】
前記第４の処理部は、前記第３の記憶部が記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する。
【発明の効果】
【００２１】
実施の形態に係るファイル分散システムによれば、仮想マシンを移動させる場合に仮想マシンの停止時間を短縮することができる。
【図面の簡単な説明】
【００２２】
【図１】分散ファイルシステムの構成図の一例である。
【図２】分散ファイルシステムの読み込み処理のシーケンス図である。
【図３】分散ファイルシステムの書き込み処理のシーケンス図である。
【図４】実施の形態に係る分散ファイルシステムの構成図である。
【図５】スーパーメタデータの例を示す図である。
【図６】メタデータのうちのアロケーションテーブルの例を示す図である。
【図７】メタデータのうちのロックテーブルの例を示す図である。
【図８】実施の形態に係るメタデータの移動処理のシーケンス図であ
【図９】実施の形態に係るデータの読み込み処理のシーケンス図である。
【図１０】実施の形態に係るデータの書き込み処理のシーケンス図である。
【図１１】実施の形態に係るＶＭの移動処理のフローチャートである。
【図１２】実施の形態に係るＶＭの移動処理のシーケンス図である。
【図１３】データ移動中に当該データが更新された場合の処理のシーケンス図である。
【図１４】情報処理装置（コンピュータ）の構成図である。
【発明を実施するための形態】
【００２３】
最初に、分散ファイルシステムを複数のデータセンターを含むシステムに適用した場合について説明する。
【００２４】
図１は、分散ファイルシステムの構成図の一例である。
分散ファイルシステム１１０１は、データセンター（ＤＣ）１２０１−ｉ（ｉ＝１，２）を含む。以下、データセンター１２０１−１、１２０１−２は、それぞれＤＣ１、ＤＣ２と表記する場合がある。データセンター１２０１−１とデータセンター１２０１−２は、ネットワーク１１１１を介して接続している。
【００２５】
データセンター１２０１−１は、管理サーバ１３０１、ＶＭホストサーバ１４０１−１、データサーバ１５０１−１、およびメタデータサーバ１６０１−１を備える。管理サーバ１３０１、ＶＭホストサーバ１４０１−１、データサーバ１５０１−１、およびメタデータサーバ１６０１−１は、ネットワーク１１１１を介して接続している。
【００２６】
管理サーバ１３０１は、チャンクの移動等の管理を行う。
ＶＭホストサーバ１４０１−１は、仮想マシン（ＶＭ）１４１２−１、ハイパーバイザ１４１３−１、およびアクセスクライアント１４１４−１を実行する。
【００２７】
データサーバ１５０１−１は、チャンク１５２３−１−ｊ（ｊ＝１〜ｎ）を記憶する。チャンク１５２３−１−ｊは、それぞれファイル（データ）を所定のサイズで分割したデータである。
【００２８】
メタデータサーバ１６０１−１は、チャンク１５２３−１−ｊにより構成されるファイルに関する情報であるメタデータ１６２２−１を記憶する。
【００２９】
データセンター１２０１−２は、ＶＭホストサーバ１４０１−２およびデータサーバ１５０１−２を備える。ＶＭホストサーバ１４０１−２およびデータサーバ１５０１−２は、ネットワーク１１１１を介して接続している。
【００３０】
ＶＭホストサーバ１４０１−２は、仮想マシン（ＶＭ）１４１２−２、ハイパーバイザ１４１３−２、およびアクセスクライアント１４１４−２を実行する。
【００３１】
データサーバ１５０１−２は、チャンク１５２３−１−ｒ（ｒ＝１〜ｐ）を記憶する。チャンク１５２３−１−ｒは、それぞれファイル（データ）を所定のサイズで分割したデータである。
【００３２】
次に図１の分散ファイルシステム１１０１によるファイルの読み込み処理について説明する。
【００３３】
図２は、分散ファイルシステムの読み込み処理のシーケンス図である。
図２では、ＶＭホストサーバ１４０１−２のアクセスクライアント１４１４−２があるファイルの一部分に対応するチャンクを読み出す場合について説明する。
【００３４】
ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）は、メタデータサーバ１６０１−１にファイルの読みたい箇所のチャンクを示す情報と該チャンクを記憶しているデータサーバを問い合わせる（ステップＳ１１）。
【００３５】
メタデータサーバ１６０１−１は、記憶しているメタデータ１６２２−１に基づいて、問い合わせのあったチャンクの情報をＶＭホストサーバ１４０１−２に送信する（ステップＳ１２）。チャンクの情報には、当該チャンクを記憶しているデータサーバ１５０１−ｉを示す情報が含まれている。
【００３６】
読み出したいチャンクがデータサーバ１５０１−２に記憶されている場合、以下のステップＳ１３，Ｓ１４が行われる。
【００３７】
ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）は、チャンクを保持しているデータサーバ１５０１−２にチャンクのリードを要求する（ステップＳ１３）。
【００３８】
データサーバ１５０１−２は、要求のあったチャンクをＶＭホストサーバ１４０１−２に送信する（ステップＳ１４）。
【００３９】
読み出したいチャンクがデータサーバ１５０１−１に記憶されている場合、以下のステップＳ１５，Ｓ１６が行われる。
【００４０】
ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）は、チャンクを保持しているデータサーバ１５０１−１にチャンクのリードを要求する（ステップＳ１５）。
【００４１】
データサーバ１５０１−２１は、要求のあったチャンクをＶＭホストサーバ１４０１−２に送信する（ステップＳ１６）。
【００４２】
上記のように、ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）と、メタデータサーバ１６０１−１およびデータサーバ１５０１−１が別のＤＣにある場合には、１度の読み込み処理ごとに最大２往復のＤＣ間の通信が発生する。
【００４３】
次に図１の分散ファイルシステム１１０１によるファイルの書き込み処理について説明する。
【００４４】
図３は、分散ファイルシステムの書き込み処理のシーケンス図である。
図３では、ＶＭホストサーバ１４０１−２のアクセスクライアント１４１４−２があるファイルの一部分に対応するチャンクを書き込む場合について説明する。
【００４５】
ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）は、メタデータサーバ１６０１−１にファイルの書きたい箇所のチャンクを示す情報と該チャンクを記憶しているデータサーバ１５０１−ｉを問い合わせる。ファイルに追記を行う場合は、新たに作成するべきチャンクを示す情報と、チャンクが記憶されるデータサーバ１５０１−ｉを問い合わせる（ステップＳ２１）。
【００４６】
メタデータサーバ１６０１−１は、記憶しているメタデータ１６２２−１に基づいて、問い合わせのあったチャンクの情報をＶＭホストサーバ１４０１−２に送信する（ステップＳ２２）。
【００４７】
ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）は、他のデータサーバ１５０１−ｉで同一のチャンクへの書き込みが同時に行われるとファイルの整合性が失われてしまうため、書き込み毎にチャンクのロック(リース)をメタデータサーバ１６０１−１に要求する（ステップＳ２３）。
【００４８】
メタデータサーバ１６０１−１は、チャンクのリースをＶＭホストサーバ１４０１−２に付与し、チャンクのリースをＶＭホストサーバ１４０１−２に通知する（ステップＳ２４）。
【００４９】
書き込み対象のチャンクにより更新されるチャンクがデータサーバ１５０１−２に記憶されている場合、以下のステップＳ２５，Ｓ２６が行われる。
【００５０】
ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）は、データサーバ１５０１−２に書き込みの要求を行い、書き込み対象のチャンクを送信する（ステップＳ２５）。
【００５１】
データサーバ１５０１−１は、受信したチャンクを記憶し、書き込み完了をＶＭホストサーバ１４０１−２に通知する（ステップＳ２６）。
【００５２】
書き込み対象のチャンクにより更新されるチャンクがデータサーバ１５０１−１に記憶されている場合、以下のステップＳ２７，Ｓ２８が行われる。
【００５３】
ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）は、データサーバ１５０１−１に書き込みの要求を行い、書き込み対象のチャンクを送信する（ステップＳ２７）。
【００５４】
データサーバ１５０１−１は、受信したチャンクを記憶し、書き込み完了をＶＭホストサーバ１４０１−２に通知する（ステップＳ２８）。
【００５５】
ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）は、データの書き込みが完了すると、メタデータサーバ１６０１−１にメタデータ１６２２−１の更新とリースの開放を要求する（ステップＳ２９）。
【００５６】
メタデータサーバ１６０１−１は、メタデータの更新完了とリースの解放をＶＭホストサーバ１４０１−２に通知する（ステップＳ３０）。
【００５７】
上記のように、ＶＭホストサーバ１４０１−２（アクセスクライアント１４１４−２）と、メタデータサーバ１６０１−１およびデータサーバ１５０１−１が、別のＤＣにある場合には最大で４回往復のＤＣ間での通信を行う必要がある。
【００５８】
図１の分散ＦＳでは、アクセスクライアントと、メタデータサーバおよびデータサーバがそれぞれ距離が離れた異なるＤＣに存在していると、整合性を保つためのアクセスクライアントとデータサーバおよびメタデータサーバの通信の応答が遅くなってしまう。
【００５９】
それぞれのＤＣで別々にファイルシステムを持つ場合（ＤＣ間にまたがったファイルシステムを作らない場合）には、メタデータはＤＣ毎に別々にあるので、メタデータへの問い合わせの時間は小さくなる。しかし、この場合にはファイルは一度にまとめて移動させなければならず、データの移行中はシステムを停止していなければならないので、ファイルサイズが大きい場合にはシステムの停止時間が大きくなる。
【００６０】
以下、図面を参照しながら本発明の実施の形態について説明する。
図４は、実施の形態に係る分散ファイルシステムの構成図である。
【００６１】
分散ファイルシステム１０１は、データセンター（ＤＣ）２０１−ｉ（ｉ＝１，２）を含む。以下、データセンター２０１−１、２０１−２は、それぞれＤＣ１、ＤＣ２と表記する場合がある。データセンター２０１−１とデータセンター２０１−２は、ネットワーク１１１を介して接続している。
【００６２】
データセンター２０１−１は、管理サーバ３０１、ＶＭホストサーバ４０１−１、データサーバ５０１、メタデータサーバ６０１−１、およびスーパーメタデータサーバ７０１を備える。管理サーバ３０１、ＶＭホストサーバ４０１−１、データサーバ５０１−１、メタデータサーバ６０１−１、およびスーパーメタデータサーバ７０１は、ネットワーク１１１を介して接続している。
【００６３】
管理サーバ３０１は、処理部３１１および記憶部３２１を備える。
処理部３１１は、チャンクの移動等の管理を行う。
【００６４】
記憶部３２１は、管理サーバ３０１で使用されるデータやプログラム等を記憶する。
ＶＭホストサーバ４０１−１は、処理部４１１−１および記憶部４２１−１を備える。
【００６５】
処理部４１１−１は、仮想マシン（ＶＭ）４１２−１、ハイパーバイザ４１３−１、およびアクセスクライアント４１４−１を実行する。ＶＭ４１２−１は、ＶＭ４１２−１が有する記憶装置のイメージファイル（ＶＭイメージファイル）を用いて実現される仮想的な装置である。尚、ＶＭ４１２−１の数は複数であってもよい。ハイパーバイザ４１３−１は、ＶＭ４１２−１を制御する。アクセスクライアント４１４−１は、ＶＭ４１２−１とデータサーバ５０１−ｉやメタデータサーバ６０１−ｉとのデータの送受信を制御する。
【００６６】
記憶部４２１−１は、ＶＭホストサーバ４０１−１で使用されるデータやプログラム等を記憶する。
【００６７】
データサーバ５０１−１は、処理部５１１−１および記憶部５２１−１を備える。
処理部５１１−１は、チャンク５２３−１−ｊ（ｊ＝１〜ｎ）の送受信等の処理を行う。
【００６８】
記憶部５２１−１は、ファイル５２２−１を記憶する。ファイル５２２−１は、チャンク５２３−１−ｊを含む。すなわち、チャンク５２３−１−ｊによりファイル５２２−１が構成されている。ファイル５２２−１は、例えば、ＶＭ４１２−ｉが有する記憶装置のイメージファイルである。
【００６９】
メタデータサーバ６０１−１は、処理部６１１−１および記憶部６２１−１を備える．
処理部６１１−１は、メタデータ６２２−１の更新やリースの付与等を行う。
【００７０】
記憶部６２１−１は、メタデータ６２２−１を格納する。メタデータ６２２−１は、ファイル５２２−１に関する情報である。メタデータ６２２−１は、ディレクトリの情報（inode）、ファイルを構成するチャンクとチャンクの位置の情報（アロケーションテーブル）、およびチャンクのロック（リース）の情報（ロックテーブル）等を含む。メタデータ６２２−１の詳細については後述する。
【００７１】
スーパーメタデータサーバ７０１は、処理部７１１および記憶部７２１を備える。
処理部７１１は、スーパーリースの付与等の処理を行う。
【００７２】
記憶部７２１は、スーパーメタデータ７２２を格納する。スーパーメタデータ７２２は、ファイル５２２−ｉのメタデータ６２２−ｉを管理するメタデータサーバを示す情報である。スーパーメタデータ７２２の詳細は後述する。
【００７３】
データセンター２０１−２は、ＶＭホストサーバ４０１−２、データサーバ５０１−２、およびメタデータサーバ６０１−２を備える。ＶＭホストサーバ４０１−２、データサーバ５０１−２、およびメタデータサーバ６０１−２は、ネットワーク１１１を介して接続している。
【００７４】
ＶＭホストサーバ４０１−２は、処理部４１１−２および記憶部４２１−２を備える。
処理部４１１−１は、仮想マシン（ＶＭ）４１２−２、ハイパーバイザ４１３−２、およびアクセスクライアント４１４−２を実行する。ＶＭ４１２−２は、ＶＭ４１２−２が有する記憶装置のイメージファイル（ＶＭイメージファイル）を用いて実現される仮想的な装置である。尚、ＶＭ４１２−２の数は複数であってもよい。ハイパーバイザ４１３−２は、ＶＭ４１２−２を制御する。アクセスクライアント４１４−２は、ＶＭ４１２−２とデータサーバ５０１−ｉやメタデータサーバ６０１−ｉとのデータの送受信を制御する。
【００７５】
記憶部４２１−２は、ＶＭホストサーバ４０１−２で使用されるデータやプログラム等を記憶する。
【００７６】
データサーバ５０１−２は、処理部５１１−２および記憶部５２１−２を備える。
処理部５１１−２は、チャンク５２３−２−ｒ（ｒ＝１〜ｐ）の送受信等の処理を行う。
【００７７】
記憶部５２１−２は、ファイル５２２−２を記憶する。ファイル５２２−２は、チャンク５２３−２−ｒを含む。すなわち、チャンク５２３−２−ｒによりファイル５２２−１が構成されている。ファイル５２２−２は、例えば、ＶＭ４１２−ｉが有する記憶装置のイメージファイルである。記憶部５２１−１、５２１−２は共有されており、ＶＭホストサーバ４０１−１、４０２−２のいずれからもアクセス可能である。
【００７８】
メタデータサーバ６０１−２は、処理部６１１−２および記憶部６２１−２を備える．
処理部６１１−２は、メタデータ６２２−２の更新やリースの付与等を行う。
【００７９】
記憶部６２１−２は、メタデータ６２２−２を格納する。メタデータ６２２−２は、ファイル５２２−２に関する情報である。メタデータ６２２−２は、ディレクトリの情報（inode）、ファイルを構成するチャンクとチャンクの位置の情報（アロケーションテーブル）、およびチャンクのロック（リース）の情報（ロックテーブル）等を含む。
【００８０】
図５は、スーパーメタデータの例を示す図である。
スーパーメタデータ７２２は、項目として、ファイル名およびサーバＩＤを有する。スーパーメタデータ７２２には、ファイル名とサーバＩＤとが対応付けられて記載されている。
【００８１】
ファイル名は、ファイル５２２−ｉを識別する情報であり、ファイル５２２−ｉの名前である。
【００８２】
サーバＩＤは、ファイル５２２−ｉのメタデータを管理する権限（スーパーリース）を保持するメタデータサーバ５０１−ｉを示す情報である。サーバＩＤは、例えば、メタデータサーバ５０１−ｉのホスト名である。
【００８３】
図６は、メタデータのうちのアロケーションテーブルの例を示す図である。
メタデータ６２２−１のうちのアロケーションテーブル６２３−１は、項目として、ファイル名、チャンク番号、データオフセット、データ長、およびサーバＩＤを有する。アロケーションテーブル６２３−１には、ファイル名、チャンク番号、データオフセット、データ長、およびサーバＩＤが対応付けられて記載されている。
【００８４】
ファイル名は、チャンクが構成するファイル５２２−ｉを識別する情報であり、ファイル５２２−ｉの名前である。
【００８５】
チャンク番号は、チャンクを識別する情報であり、チャンクに割り当てられた番号である。
【００８６】
データオフセットは、ファイル５２２−ｉにおけるチャンク５２３−１−ｊの位置を示し、チャンク５２３−１−ｊが構成するファイル５２２−ｉの先頭からのオフセットを示す。
【００８７】
データ長は、チャンク５２３−１−ｊの長さ（サイズ）を示す。
サーバＩＤは、チャンクを保持しているデータサーバ５０１−ｉを示す情報である。サーバＩＤは、例えば、データサーバ５０１−ｉのホスト名である。
【００８８】
尚、メタデータ６２２−２のアロケーションテーブルも図６のアロケーションテーブル６２３−１と同様の形式である。
【００８９】
図７は、メタデータのうちのロックテーブルの例を示す図である。
メタデータ６２２−１のうちのロックテーブル６２４−１は、項目として、ファイル名、チャンク番号、およびリースを有する。ロックテーブル６２４−１には、ファイル名、チャンク番号、およびリースが対応付けられて記載されている。
【００９０】
ファイル名は、チャンク５２３−１−ｊが構成するファイル５２２−ｉを識別する情報であり、ファイル５２２−ｉの名前である。
【００９１】
チャンク番号は、チャンク５２３−１−ｊを識別する情報であり、チャンク５２３−１−ｊに割り当てられた番号である。
【００９２】
リースは、チャンク番号に対応するチャンク５２３−１−ｊがロックされているか否かを示す。リースが「有」の場合、ＶＭホストサーバ４０１−ｉ（アクセスクライアント４１４−ｉ）にリースが付与されており、すなわち、チャンク番号に対応するチャンク５２３−１−ｊがロックされている。リースが「無」の場合、リースは付与されておらず、すなわちチャンク番号に対応するチャンク５２３−１−ｊがロックされていない。
【００９３】
尚、メタデータ６２２−２のロックテーブルも図７のロックテーブル６２４−１と同様の形式である。
【００９４】
次にスーパーリースとメタデータの移動の処理について説明する。
図８は、実施の形態に係るメタデータの移動処理のシーケンス図である。
【００９５】
あるファイル５２２−１をＤＣ２で主に使用するために、当該ファイル５２２−１をＤＣ１からＤＣ２に移動したとする。その場合、ファイル５２２−１の移動に伴い、移動したファイル５２２−１のメタデータ６２２−１もＤＣ１からＤＣ２に移動させる。
【００９６】
図８において、ＤＣ１のメタデータサーバ６０１−１からＤＣ２のメタデータサーバ６０１−２にメタデータ６２２−１が移動する場合について説明する。
【００９７】
管理サーバ３０１（処理部３１１）は、スーパーメタデータサーバ７０１に、移動したファイル５２２−１（対象ファイル）のメタデータを管理する権限（スーパーリース）を現在スーパーリースを持っているメタデータサーバ６０１−１からメタデータサーバ６０１−２に移動させるように要求する（ステップＳ８０１）。
【００９８】
スーパーメタデータサーバ７０１（処理部７１１）は、対象ファイルのメタデータのスーパーリースを持っているメタデータサーバ６０１−１に対象ファイルのメタデータのスーパーリースの開放を通知する（ステップＳ８０２）。
【００９９】
メタデータサーバ６０１−１（処理部６１１−１）は、スーパーリースの開放の通知を受信すると、当該通知を受信した旨をスーパーメタデータサーバ７０１に応答する（ステップＳ８０３）。
【０１００】
スーパーメタデータサーバ７０１（処理部７１１）は、前のスーパーリースの保持者であるメタデータサーバ６０１−１からメタデータ６２２−１を移動させる指示をメタデータサーバ６０１−２に送信する（ステップＳ８０４）。
【０１０１】
メタデータサーバ６０１−２（処理部６１１−２）は、スーパーメタデータサーバ７０１から指示を受信すると、メタデータサーバ６０１−１にメタデータ６２２−１の要求を送信する（ステップＳ８０５）。
【０１０２】
メタデータサーバ６０１−１（処理部６１１−１）は、メタデータ６２２−１をメタデータサーバ６０１−２に送信する（ステップＳ８０６）。
【０１０３】
メタデータサーバ６０１−２（処理部６１１−２）は、メタデータ６２２−１を記憶部５２１−２に格納し、メタデータ６２２−１を取得した旨をスーパーメタデータサーバ７０１に送信する（ステップＳ８０７）。
【０１０４】
スーパーメタデータサーバ７０１（処理部７１１）は、ファイル５２２−１のメタデータ６２２−１のスーパーリースの付与をメタデータサーバ６０１−２に通知する（ステップＳ８０８）。
【０１０５】
メタデータサーバ６０１−２（処理部６１１−２）は、スーパーリースの付与の通知を受信した旨をスーパーメタデータサーバ７０１に応答する（ステップＳ８０９）。
【０１０６】
スーパーメタデータサーバ７０１（処理部７１１）は、スーパーリースの移動が完了した旨を管理サーバ３０１に通知する（ステップＳ８１０）。
【０１０７】
尚、新規に作成されたファイルに対しては、当該ファイルを作成したアクセスクライアントがいるデータセンター内のメタデータサーバにスーパーリースが付与される。
【０１０８】
次に、実施の形態において、ＶＭ４１２−２があるデータを読み込む場合の処理について説明する。ＶＭ４１２−２からのデータの読み込み要求は、ハイパーバイザ４１３−２を介してアクセスクライアント４１４−２に送信され、アクセスクライアント４１４−２は、データサーバ５０１−２からデータを読み出して、ＶＭ４１２−２に読み出したデータを渡す。尚、読み込み対象のデータは、ファイル５２２−２またはファイル５２２−２の一部分であり、１つ以上のチャンク５２３−２−ｒで構成される。
【０１０９】
図９は、実施の形態に係るデータの読み込み処理のシーケンス図である。
先ず、ＶＭ４１２−２があるデータの読み込み要求を出力したしたとする。アクセスクライアント４１４−２は、ハイパーバイザ４１３−２を介して、当該読み込み要求を受信する。
【０１１０】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、読み込み対象のデータのスーパーリースを保持しているメタデータサーバをスーパーメタデータサーバ７０１に問い合わせる（ステップＳ８２１）。
【０１１１】
スーパーメタデータサーバ７０１（処理部７１１）は、ＶＭホストサーバ４０１−２に読み込み対象のデータのスーパーリースを保持しているメタデータサーバを通知する（ステップＳ８２２）。
【０１１２】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、メタデータサーバ６０１−２に読み込み対象のデータのチャンク情報を問い合わせる（ステップＳ８２３）。
【０１１３】
メタデータサーバ６０１−２（処理部６１１−２）は、チャンク情報をＶＭホストサーバ４０１−２に送信する（ステップＳ８２４）。チャンク情報は、読み込み対象のデータを構成するチャンクを記憶するデータサーバ５０１−ｉを示すサーバＩＤを含む。
【０１１４】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、データサーバ５０１−２に読み込み対象のデータの読み込み要求を送信する（ステップＳ８２５）。尚、読み込み要求は、チャンク情報から得られた読み込み対象のデータを構成するチャンクを記憶するデータサーバ５０１−ｉを示すサーバＩＤを含む。
【０１１５】
ＶＭホストサーバ４０１−２があるＤＣ２とは別のＤＣ１のデータサーバ５０１−１に読み込み対象のデータがある場合、以下のステップＳ８２６〜Ｓ８２９の処理を行う。
【０１１６】
データサーバ５０１−２（処理部５１１−２）は、データサーバ５０１−１に読み込み対象のデータの要求を送信する（ステップＳ８２６）。
【０１１７】
データサーバ５０１−１（処理部５１１−２）は、読み込み対象のデータをデータサーバ５０１−２に送信し、データサーバ５０１−２（処理部５１１−２）は、読み込み対象のデータを記憶部５２１−２に記憶する（ステップＳ８２７）。
【０１１８】
データサーバ５０１−２（処理部５１１−２）は、読み込み対象のデータのメタデータの更新をメタデータサーバ６０１−２に指示する。（ステップＳ８２８）。
【０１１９】
メタデータサーバ６０１−２（処理部６１１−２）は、読み込み対象のデータのメタデータを更新する。詳細には、メタデータサーバ６０１−２（処理部６１１−２）は、読み込み対象のデータをデータサーバ５０１−２が記憶していることをメタデータに書き込む。メタデータサーバ６０１−２（処理部６１１−２）は、更新完了をデータサーバ５０１−２に通知する（ステップＳ８２９）。
【０１２０】
データサーバ５０１−１（処理部５１１−１）は、読み込み対象のデータをＶＭホストサーバに送信する（ステップＳ８３０）。アクセスクライアント４１４−２は、データを受信し、当該データをＶＭ４１２−２に渡す。
【０１２１】
図１０は、実施の形態に係るデータの書き込み処理のシーケンス図である。
先ず、ＶＭ４１２−２があるデータの書き込み要求と書き込み対象のチャンク（データ）を出力したしたとする。アクセスクライアント４１４−２は、ハイパーバイザ４１３−２を介して、当該書き込み要求と書き込み対象のチャンクを受信する。
【０１２２】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、書き込み対象のデータのスーパーリースを保持しているメタデータサーバをスーパーメタデータサーバ７０１に問い合わせる（ステップＳ８４１）。
【０１２３】
スーパーメタデータサーバ７０１（処理部７１１）は、ＶＭホストサーバ４０１−２に書き込み対象のデータのスーパーリースを保持しているメタデータサーバを通知する（ステップＳ８４２）。
【０１２４】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、メタデータサーバ６０１−２に書き込み対象のデータのチャンク情報を問い合わせる（ステップＳ８４３）。
【０１２５】
メタデータサーバ６０１−２（処理部６１１−２）は、チャンク情報をＶＭホストサーバ４０１−２に送信する（ステップＳ８４４）。
【０１２６】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、メタデータサーバ６０１−２に書き込み対象のデータのリースを要求する（ステップＳ８４５）。
【０１２７】
メタデータサーバ６０１−２（処理部６１１−２）は、書き込み対象のデータのリースをＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）に付与し、書き込み対象のデータのリースをＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）に通知する（ステップＳ８４６）。
【０１２８】
メタデータサーバ６０１−２は、データサーバ５０１−２に書き込み要求を送信する（ステップＳ８４７）。
【０１２９】
ＶＭホストサーバ４０１−２があるＤＣとは異なるＤＣ２のデータサーバ５０１−１に書き込み対象のデータにより更新されるチャンクがある場合、最初に以下のステップＳ８４８〜Ｓ８５１、Ｓ８５７、Ｓ８５８を行う。
【０１３０】
データサーバ５０１−２（処理部５１１−２）は、データサーバ５０１−１に、書き込み対象のデータにより更新されるチャンクのコピーを要求する（ステップＳ８４８）。
【０１３１】
データサーバ５０１−１（処理部５１１−１）は、書き込み対象のデータにより更新されるチャンクをデータサーバ５０１−２に送信される（ステップＳ８４９）。
【０１３２】
データサーバ５０１−２（処理部５１１−２）は、メタデータサーバ６０１−２にメタデータ６２２−２の更新を要求する（ステップＳ８５０）。
【０１３３】
メタデータサーバ６０１−２（処理部６１１−２）は、メタデータ６２２−２を更新し、更新完了をデータサーバ５０１−２に通知する（ステップＳ８５１）。
【０１３４】
データサーバ５０１−２（処理部５１１−２）は、ＶＭホストサーバ４０１−２に書き込み可能である旨を応答する（ステップＳ８５２）。
【０１３５】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、書き込み対象のデータをデータサーバ５０１−２に送信する（ステップＳ８５３）。
【０１３６】
データサーバ５０１−２（処理部５１１−２）は、書き込み対象のデータを記憶部５２１−１に書き込み、書き込み完了をＶＭホストサーバ４０１−２に通知する（ステップＳ８５４）。
【０１３７】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、メタデータサーバ６０１−２にメタデータ６２２−２の更新と書き込み対象のデータのリースの開放を要求する（ステップＳ８５５）。
【０１３８】
メタデータサーバ６０１−２（処理部６１１−２）は、メタデータ６２２−２を更新し、書き込み対象のデータのリースを解放し、メタデータの更新完了とリースの解放をＶＭホストサーバ４０１−２に通知する（ステップＳ８５６）。
【０１３９】
メタデータサーバ６０１−２（処理部６１１−２）は、データサーバ５０１−１に書き込みデータにより更新されるチャンクの破棄を指示し、データサーバ５０１−１（処理部５１１−１）は、当該チャンクを破棄する（ステップＳ８５７）。
【０１４０】
データサーバ５０１−１（処理部５１１−１）は、チャンクの破棄完了をメタデータサーバ６０１−２に通知する（ステップＳ８５８）。
【０１４１】
次に、あるＤＣのＶＭホストサーバで稼動しているＶＭを他のＤＣに移動させ、移動先のＶＭホストサーバでＶＭを稼動させる場合の処理について説明する。
【０１４２】
図１１は、実施の形態に係るＶＭの移動処理のフローチャートである。
ＶＭ４１２−ｉは、移動元のＤＣ２０１−ｉ内のＶＭホストサーバ４０１−ｉで稼動されており、移動元のＤＣ２０１−ｉ内のデータサーバ５２１−ｉに格納されているＶＭ４１２−ｉが有する記憶装置のイメージファイル（ＶＭイメージファイル）を用いてＶＭは実現されているとする。ＶＭ４１２−ｉが有する記憶装置には、ＯＳ、アプリケーションプログラム、および各種データ等が記憶されている。イメージファイルは、記憶装置に格納されている複数のデータを１つにまとめたファイルである。よって、ＶＭ４１２−ｉが有する記憶装置のイメージファイルには、オペレーティングシステム（ＯＳ）、アプリケーションプログラム、および各種データ等が含まれている。ＶＭイメージファイルは、例えば、ファイル５２２−１に相当する。尚、ＶＭ４１２−ｉが稼動している移動元のＤＣ２０１−ｉに含まれるＶＭ４１２−ｉホストサーバ４０１−ｉ、データサーバ５０１―ｉ、およびメタデータサーバ６０１―ｉは、移動元のＶＭホストサーバ４０１−ｉ、移動元のデータサーバ５０１―ｉ、移動元のメタデータサーバ６０１−ｉと称する。ＶＭ４１２−ｉの移動先のＤＣ２０１−ｉに含まれるＶＭホストサーバ４０１−ｉ、データサーバ５０１―ｉ、およびメタデータサーバ６０１―ｉは、移動先のＶＭホストサーバ４０１−ｉ、移動先のデータサーバ５０１―ｉ、移動先のメタデータサーバ６０１−ｉと称する。
【０１４３】
ステップＳ８６１において、移動元のデータサーバ５２１−ｉ（処理部５１１−ｉ）は、ＶＭイメージファイルを構成するチャンクのうち未送信のチャンクの１つを移動先のデータサーバ５２１−ｉに送信し、移動先のデータサーバ５２１−ｉは受信したチャンクを記憶部５２１−ｉに記憶する（チャンクのコピー）。また、送信されるチャンクは、例えば、ＶＭイメージファイルのうちＶＭ４１２−ｉが有する記憶装置内のＯＳのデータに対応するチャンクである。ＯＳのデータは、頻繁に読み込みが行われるが、更新はほとんど行われないため、優先的に送信される。
【０１４４】
ステップＳ８６２において、移動元のメタデータサーバ６０１−ｉ（処理部６１１−ｉ）は、送信したチャンクのメタデータ５２３−ｉを更新する。詳細には、移動元のメタデータサーバ６０１−ｉ（処理部６１１−ｉ）は、メタデータ５２３−ｉにおいて、送信したチャンクを保持するデータサーバを示すサーバＩＤを送信先のデータサーバ５２１−ｉを示すサーバＩＤに更新する。
【０１４５】
ステップＳ８６３において、所定のデータが全てコピー完了した場合（すなわち、所定のデータは全て移動先のデータサーバ５２１−ｉに送信された場合）、制御はステップｓ８６４に進む。所定のデータが全てコピー完了していない場合、制御はステップＳ８６１に戻る。尚、所定のデータは、例えば、ＶＭイメージファイルのうちのＶＭ４１２−ｉの記憶装置に格納されているＯＳのデータに対応するチャンクである。
【０１４６】
ステップＳ８６４において、ＶＭ４１２−ｉを稼動しているＶＭホストサーバ４０１−ｉは、ＶＭ４１２−ｉを停止する。
【０１４７】
ステップＳ８６５において、スーパーメタデータサーバ７０１（処理部７１１）は、ＶＭイメージファイルのスーパーリースを持っている移動元のメタデータサーバ６０１−ｉにスーパーリースの開放を通知する。
【０１４８】
ステップＳ８６６において、移動元のメタデータサーバ６０１−ｉ（処理部６１１−ｉ）は、ＶＭイメージファイルのメタデータ６２２−ｉを移動先のメタデータサーバ６０１−ｉに送信する。移動先のメタデータサーバ６０１−ｉ（処理部６１１−ｉ）は、受信したメタデータ６２２−ｉを記憶部６２１−ｉに記憶する。
【０１４９】
ステップＳ８６７において、スーパーメタデータサーバ７０１（処理部７１１）は、スーパーメタデータ７２２を更新する。
【０１５０】
ステップＳ８６８において、スーパーメタデータサーバ７０１（処理部７１１）は、移動先のメタデータサーバ６０１−ｉにＶＭイメージファイルのスーパーリースを付与し、移動先のメタデータサーバ６０１−ｉは、ＶＭイメージファイルのスーパーリースを取得する。
【０１５１】
ステップＳ８６９において、移動先のＶＭホストサーバ４０１−ｉは、移動先のデータサーバ５２１−ｉに記憶されているチャンクを含むＶＭイメージファイルを用いてＶＭ４１２−ｉを起動する。
【０１５２】
次に、ＶＭの移動処理の詳細をシーケンス図を用いて説明する。
図１２は、実施の形態に係るＶＭの移動処理のシーケンス図である。
【０１５３】
図１２では、移動元のＤＣ１で稼動している仮想マシン４１２−１を移動先のＤＣ２に移動させる場合について説明する。
【０１５４】
管理サーバ３０１（処理部３１１）は、メタデータサーバ６０１−１に所定のデータに対応するチャンクのコピーを要求する（ステップＳ９０１）。ここで、所定のデータは、仮想マシン４１２−１が有するＯＳやアプリケーションプログラム、各種データが記憶された記憶装置のイメージファイルのうちＯＳのデータとする。
【０１５５】
メタデータサーバ６０１−１（処理部６１１−１）は、データサーバ５０１−２に所定のデータに対応するチャンクのコピーを要求する（ステップＳ９０２）。
【０１５６】
データサーバ５０１−２（処理部５１１−２）は、データサーバ５０１−１に所定のデータに対応するチャンクを要求する（ステップＳ９０３）。
【０１５７】
データサーバ５０１−１（処理部５１１−１）は、データサーバ５０１−２に所定のデータに対応するチャンクを送信する（ステップＳ９０４）。
【０１５８】
データサーバ５０１−２（処理部５１１−２）は、メタデータサーバ６０１−１にチャンクのコピー完了を通知する（ステップＳ９０５）。
【０１５９】
メタデータサーバ６０１−１（処理部６１１−１）は、メタデータ６２２−１を更新する（ステップＳ９０６）。
【０１６０】
メタデータサーバ６０１−１（処理部６１１−１）は、管理サーバ３０１にチャンクのコピー完了を通知する（ステップＳ９０７）。
【０１６１】
管理サーバ３０１（処理部３１１）は、ＶＭホストサーバ４０１−１にＶＭ４１２−１の停止を要求する（ステップＳ９０８）。
【０１６２】
ＶＭホストサーバ４０１−１（処理部４１１−１）は、ＶＭ４１２−１を停止する（ステップＳ９０９）。
【０１６３】
ＶＭホストサーバ４０１−１（処理部４１１−１）は、ＶＭ４１２−１の停止完了を管理サーバ３０１に通知する（ステップＳ９１０）。
【０１６４】
管理サーバ３０１（処理部３１１）は、スーパーメタデータサーバ７０１に、移動したファイル５２２−１（対象ファイル）のメタデータを管理する権限（スーパーリース）を現在スーパーリースを持っているメタデータサーバ６０１−１からメタデータサーバ６０１−２に移動させるように要求する（ステップＳ９１１）。
【０１６５】
スーパーメタデータサーバ７０１（処理部７１１）は、対象ファイルのリースを持っているメタデータサーバ６０１−１に対象ファイルのスーパーリースの開放を通知する（ステップＳ９１２）。
【０１６６】
メタデータサーバ６０１−１（処理部６１１−１）は、スーパーリースの開放の通知を受信すると、当該通知を受信した旨をスーパーメタデータサーバ７０１に応答する（ステップＳ９１３）。
【０１６７】
スーパーメタデータサーバ７０１（処理部７１１）は、前のスーパーリースの保持者であるメタデータサーバ６０１−１からメタデータ６２２−１を移動させる指示をメタデータサーバ６０１−２に送信する（ステップＳ９１４）。
【０１６８】
メタデータサーバ６０１−２（処理部６１１−２）は、スーパーメタデータサーバ７０１から指示を受信すると、メタデータサーバ６０１−１にメタデータ６２２−１の要求を送信する（ステップＳ９１５）。
【０１６９】
メタデータサーバ６０１−１（処理部６１１−１）は、メタデータ６２２−１をメタデータサーバ６０１−２に送信する（ステップＳ９１６）。
【０１７０】
メタデータサーバ６０１−２（処理部６１１−２）は、メタデータ６２２−１を記憶部５２１−２に格納し、メタデータ６２２−１を取得した旨をスーパーメタデータサーバ７０１に送信する（ステップＳ９１７）。
【０１７１】
スーパーメタデータサーバ７０１（処理部７１１）は、ファイル５２２−１のメタデータ６２２−１のスーパーリースの付与をメタデータサーバ６０１−２に通知する（ステップＳ９１８）。
【０１７２】
メタデータサーバ６０１−２（処理部６１１−２）は、スーパーリースの付与の通知を受信した旨をスーパーメタデータサーバ７０１に応答する（ステップＳ９１９）。
【０１７３】
スーパーメタデータサーバ７０１（処理部７１１）は、スーパーリースの移動が完了した旨を管理サーバ３０１に通知する（ステップＳ９２０）。
【０１７４】
ライブマイグレーションを行う場合、以下のステップＳ９２１〜Ｓ９２４を行う。
管理サーバ３０１（処理部３１１）は、ＶＭホストサーバ４０１−１に、仮想マシン４１２−１のメモリ上のデータの移動を要求する（ステップＳ９２１）。
【０１７５】
ＶＭホストサーバ４０１−１（処理部４１１−１）は、ＶＭホストサーバ４０１−２に仮想マシン４１２−１のメモリ上のデータを送信する（ステップＳ９２２）。
【０１７６】
ＶＭホストサーバ４０１−２（処理部４１１−２）は、仮想マシン４１２−１のメモリ上のデータの受信完了をＶＭホストサーバ４０１−１に送信する（ステップＳ９２３）。
【０１７７】
ＶＭホストサーバ４０１−１（処理部４１１−１）は、仮想マシン４１２−１のメモリ上のデータの移動完了を管理サーバ３０１に通知する（ステップＳ９２４）。
【０１７８】
管理サーバ３０１（処理部３１１）は、ＶＭホストサーバ４０１−２に、仮想マシン４１２−２の起動を指示する（ステップＳ９２５）。
【０１７９】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、仮想マシン４１２−２のイメージファイルのスーパーリースを保持しているメタデータサーバをスーパーメタデータサーバ７０１に問い合わせる（ステップＳ９２６）。
【０１８０】
スーパーメタデータサーバ７０１（処理部７１１）は、ＶＭホストサーバ４０１−２に仮想マシン４１２−２のイメージファイルのスーパーリースを保持しているメタデータサーバを通知する（ステップＳ９２７）。
【０１８１】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、メタデータサーバ６０１−２に、仮想マシン４１２−２のイメージファイルを構成するチャンクのチャンク情報を問い合わせる（ステップＳ９２８）。
【０１８２】
メタデータサーバ６０１−２（処理部６１１−２）は、チャンク情報をＶＭホストサーバ４０１−２に送信する（ステップＳ９２９）。
【０１８３】
ＶＭホストサーバ４０１−２（アクセスクライアント４１４−２）は、データサーバ５０１−２に仮想マシン４１２−２のイメージファイルの読み込み要求を送信する（ステップＳ９３０）。
【０１８４】
データサーバ５０１−１（処理部５１１−１）は、仮想マシン４１２−２のイメージファイルをＶＭホストサーバ４０１−２に送信する（ステップＳ９３１）。
【０１８５】
ＶＭホストサーバ４０１−２（処理部４１１−２）は、ＶＭホストサーバ４０１−１で稼動していた仮想マシン４１２−１のデータサーバ５０１−２に記憶されたイメージファイルのチャンクを用いて、ＶＭホストサーバ４０１−２上で仮想マシン４１２−２を起動する。また、ライブマイグレーションを行う場合は、ステップＳ９２２で受信した仮想マシン４１２−１のメモリ上のデータを用いて、仮想マシン４１２−２を実行する。これにより、移動元のＤＣ１のＶＭホストサーバ４０１−１で稼動していた仮想マシン４１２−１と同様の仮想マシン４１２−２が移動先のＤＣ２のＶＭホストサーバ４０１−２で稼動する。
【０１８６】
図１３は、データ移動中に当該データが更新された場合の処理のシーケンス図である。
図１３では、所定のデータに対応するチャンクを移動先のデータサーバ５０１−２にコピーした後、移動元のデータサーバ５０１−１のチャンクが更新された場合の処理について説明する。
【０１８７】
管理サーバ３０１（処理部３１１）は、メタデータサーバ６０１−１に所定のデータに対応するチャンクのコピーを要求する（ステップＳ９０５１）。
【０１８８】
メタデータサーバ６０１−１（処理部６１１−１）は、データサーバ５０１−２に所定のデータに対応するチャンクのコピーを要求する（ステップＳ９５２）。
【０１８９】
データサーバ５０１−２（処理部５１１−２）は、データサーバ５０１−１に所定のデータに対応するチャンクを要求する（ステップＳ９５３）。
【０１９０】
データサーバ５０１−１（処理部５１１−１）は、データサーバ５０１−２に所定のデータに対応するチャンクを送信する（ステップＳ９５４）。データサーバ５０１−２（処理部５１１−２）は、受信したチャンクを記憶部５２２−２に記憶する。
【０１９１】
データサーバ５０１−２（処理部５１１−２）は、メタデータサーバ６０１−１にチャンクのコピー完了を通知する（ステップＳ９５５）。
【０１９２】
メタデータサーバ６０１−１（処理部６１１−１）は、メタデータ６２２−１を更新する（ステップＳ９５６）。詳細には、メタデータサーバ６０１−１（処理部６１１−１）は、所定のデータに対応するチャンクがデータサーバ５０１−２にコピーされたことをメタデータ６２２−１に記録する。
【０１９３】
メタデータサーバ６０１−１（処理部６１１−１）は、管理サーバ３０１にチャンクのコピー完了を通知する（ステップＳ９５７）。
【０１９４】
上記のステップＳ９５１〜Ｓ９５７の処理は、図１２のステップＳ９０１〜Ｓ９０７の処理とそれぞれ同様である。
【０１９５】
ここで、データサーバ５０１−１に記憶しているデータサーバ５０１−２にコピー済みのチャンクのうちのあるチャンク（更新対象チャンク）を更新する場合を説明する。
【０１９６】
ＶＭホストサーバ４０１−１（アクセスクライアント４１４−１）は、メタデータサーバ６０１に更新対象チャンクを記憶しているデータサーバを問い合わせる（ステップＳ９５８）。
【０１９７】
メタデータサーバ６０１−１（処理部６１１−１）は、メタデータ６２２−１に基づいて、更新対象チャンクを記憶しているデータサーバをＶＭホストサーバ４０１−１に通知する（ステップＳ９５９）。ここでは、更新対象チャンクを記憶しているデータサーバとして、データサーバ５０１−１が通知されたとする。
【０１９８】
ＶＭホストサーバ４０１−１（アクセスクライアント４１４−１）は、更新対象チャンクのリースをメタデータサーバ６０１−１に要求する（ステップＳ９６０）。
【０１９９】
メタデータサーバ６０１−１（処理部６１１−１）は、ＶＭホストサーバ４０１−１に更新対象チャンクのリースを付与し、更新対象チャンクのリースをＶＭホストサーバ４０１−１に通知する（ステップＳ９６１）。
【０２００】
ＶＭホストサーバ４０１−１（アクセスクライアント４１４−１）は、更新対象チャンクを更新するデータと書き込み要求をデータサーバ５０１−１に送信する（ステップＳ９６２）。データサーバ５０１−１（処理部５１１−１）は、受信したデータで記憶部５２２−２に記憶されている更新対象チャンクを更新する。
【０２０１】
データサーバ５０１−１（処理部５１１−１）は、更新完了をＶＭホストサーバ４０１−１に通知する（ステップＳ９６３）。
【０２０２】
ＶＭホストサーバ４０１−１（アクセスクライアント４１４−１）は、メタデータサーバ６０１−１に更新対象チャンクに関するメタデータ６２１−１の更新を要求する（ステップＳ９６４）。
【０２０３】
メタデータサーバ６０１−１（処理部６１１−２）は、メタデータ６２２−１を更新し、更新完了をＶＭホストサーバ４０１−１に通知する（ステップＳ９６５）。詳細には、メタデータサーバ６０１−１（処理部６１１−２）は、データサーバ５０１−２にコピーされている更新対象チャンクに対応するチャンクは古いため、更新対象チャンクがデータサーバ５０１−２にコピーされていることをメタデータ６２２−１から削除する。
【０２０４】
ＶＭホストサーバ４０１−１（アクセスクライアント４１４−１）は、メタデータサーバ６０１−１に更新対象チャンクのリースの開放を要求する（ステップＳ９６６）。
【０２０５】
メタデータサーバ６０１−１（処理部６１１−１）は、更新対象チャンクのリースを解放し、メリースの解放をＶＭホストサーバ４０１−１に通知する（ステップＳ８６７）。
【０２０６】
メタデータサーバ６０１−１（処理部６１１−２）は、更新対象チャンクに対応するチャンクの破棄要求をデータサーバ５０１−２に送信する（ステップＳ９６８）。
【０２０７】
データサーバ５０１−２（処理部５１１−２）は、記憶部５２２−２に記憶されている更新対象チャンクに対応するチャンクを破棄し、破棄完了をメタデータサーバ６０１−１に通知する（ステップＳ９６９）。
【０２０８】
実施の形態に係るファイル分散システムによれば、仮想マシンを移動させる場合に、仮想マシンのイメージファイルを仮想マシンを稼動させたまま、移動先に移動しておくことで、仮想マシンの停止時間を短縮することができる。
【０２０９】
また、実施の形態に係るファイル分散システムによれば、移動先での仮想マシンの起動前に、仮想マシンのイメージファイルのメタデータを仮想マシンの移動先のＤＣに移動しておくことで、再起動後の仮想マシンの応答性能の低下を防止する。
【０２１０】
図１４は、情報処理装置（コンピュータ）の構成図である。
実施の形態の管理サーバ３０１−ｉ、ＶＭホストサーバ４０１−ｉ、データサーバ５０１−ｉ、メタデータサーバ６０１−ｉ、およびスーパーメタデータサーバ７０１は、例えば、図１４に示すような情報処理装置（コンピュータ）１によって実現可能である。
【０２１１】
情報処理装置１は、ＣＰＵ２、メモリ３、入力装置４、出力装置５、記憶部６、記録媒体駆動部７、及びネットワーク接続装置８を備え、それらはバス９により互いに接続されている。
【０２１２】
ＣＰＵ２は、情報処理装置１全体を制御する中央処理装置である。ＣＰＵ２は、処理部３１１、４１１−ｉ、５１１−ｉ、６１１−ｉ、７１１として動作する。
【０２１３】
メモリ３は、プログラム実行の際に、記憶部６（あるいは可搬記録媒体１０）に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ＲＯＭ)やRandom Access Memory(ＲＡＭ)等のメモリである。ＣＰＵ２は、メモリ３を利用してプログラムを実行することにより、上述した各種処理を実行する。
【０２１４】
この場合、可搬記録媒体１０等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
【０２１５】
入力装置４は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置１で用いられるデータの取得等に用いられる。入力装置４は、例えば、キーボード、マウス、タッチパネル、カメラ、またはセンサ等である。
【０２１６】
出力装置５は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、ＣＰＵ２による制御により動作する装置である。出力装置５は、例えば、ディスプレイ、またはプリンタ等である。
【０２１７】
記憶部６は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置１は、記憶部６に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ３に読み出して使用する。メモリ３および記憶部６は、記憶部３２１、４２１−ｉ、５２１−ｉ、６２１−ｉ、７２１に対応する。
【０２１８】
記録媒体駆動部７は、可搬記録媒体１０を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(ＣＤ−ＲＯＭ)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体１０に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ３に読み出して使用する。
【０２１９】
ネットワーク接続装置８は、Local Area Network（ＬＡＮ）やWide Area Network（ＷＡＮ）等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置８は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
【０２２０】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
第１のデータセンターと第２のデータセンターを有する情報処理システムであって、  前記第１のデータセンターは、  仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第１の処理部を有する第１の仮想マシンサーバと、前記イメージファイルを構成する複数のチャンクを記憶する第１の記憶部と第２の処理部と有する第１のデータサーバと、前記イメージファイルのメタデータを記憶する第２の記憶部と第３の処理部とを有する第１のメタデータサーバと、を備え、前記第２のデータセンターは、前記イメージファイルを用いて前記仮想マシンを実行する第４の処理部を有する第２の仮想マシンサーバと、第３の記憶部と第５の処理部とを有する第２のデータサーバと、前記メタデータを記憶する第４の記憶部と第６の処理部とを有する第２のメタデータサーバと、を備え、前記第２の処理部は、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第２のデータセンターに送信し、  前記第５の処理部は、前記所定のチャンクを前記第３の記憶部に記憶させ、前記第１の処理部は、前記所定のチャンクの送信後に前記第１の処理部で実行している前記仮想マシンを停止し、前記第３の処理部は、前記メタデータを前記第２のメタデータサーバに送信し、前記第６の処理部は、前記メタデータを前記第４の記憶部に記憶させ、前記第４の処理部は、前記第３の記憶部が記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動することを特徴とする情報処理システム。
（付記２）
前記所定のデータは、前記仮想マシンのオペレーティングシステムのデータであることを特徴とする付記１記載の情報処理システム。
（付記３）
前記分散ファイルシステムは、前記メタデータを管理する権限を有する装置を示す情報を格納する第５の記憶部と、前記メタデータが前記第２のメタデータサーバに送信された後に、前記第２のメタデータサーバに前記権限を付与する第７の処理部と、を備えるスーパーメタデータサーバをさらに備えることを特徴とする付記１または２記載の情報処理システム。
（付記４）
第１のデータセンターと第２のデータセンターを有する情報処理システムが実行する情報処理方法であって、前記第１のデータセンターは、仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第１の仮想マシンサーバ、前記イメージファイルを構成する複数のチャンクを記憶する第１のデータサーバ、および前記イメージファイルのメタデータを記憶する第１のメタデータサーバを含み、前記第２のデータセンターは、第２の仮想マシンサーバ、第２のデータサーバ、および第２のメタデータサーバを含み、前記第１のデータセンターは、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第２のデータセンターに送信し、前記第２のデータセンターは、前記所定のチャンクを記憶し、前記第１の仮想マシンサーバは、前記所定のチャンクの送信後に前記仮想マシンを停止し、前記第１のメタデータサーバは、前記メタデータを前記第２のメタデータサーバに送信し、前記第２のメタデータサーバは、前記メタデータを記憶し、前記第２の仮想マシンサーバは、前記第２のデータサーバが記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する処理を含む情報処理方法。
（付記５）
前記所定のデータは、前記仮想マシンのオペレーティングシステムのデータであることを特徴とする付記４記載の情報処理方法。
（付記６）
前記情報処理システムは、前記メタデータを管理する権限を付与するスーパーメタデータサーバをさらに含み、前記すーパーメタデータサーバは、前記メタデータが前記第２のメタデータサーバに送信された後に、前記第２のメタデータサーバに前記権限を付与する
処理をさらに備える付記４または５記載の情報処理方法。
【符号の説明】
【０２２１】
１０１    分散ファイルシステム
２０１    データセンター
３０１    管理サーバ
４０１    ＶＭホストサーバ
５０１    データサーバ
６０１    メタデータサーバ
７０１    スーパーメタデータサーバ
１１０１    分散ファイルシステム
１２０１    データセンター
１３０１    管理サーバ
１４０１    ＶＭホストサーバ
１５０１    データサーバ
１６０１    メタデータサーバ
【図１】
2018028740.tif 000003
【図２】
2018028740.tif 000004
【図３】
2018028740.tif 000005
【図４】
2018028740.tif 000006
【図５】
2018028740.tif 000007
【図６】
2018028740.tif 000008
【図７】
2018028740.tif 000009
【図８】
2018028740.tif 000010
【図９】
2018028740.tif 000011
【図１０】
2018028740.tif 000012
【図１１】
2018028740.tif 000013
【図１２】
2018028740.tif 000014
【図１３】
2018028740.tif 000015
【図１４】
2018028740.tif 000016
【手続補正書】
【提出日】平成29年8月24日(2017.8.24)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
データサーバ１５０１−２は、チャンク１５２３−２−ｒ（ｒ＝１〜ｐ）を記憶する。チャンク１５２３−２−ｒは、それぞれファイル（データ）を所定のサイズで分割したデータである。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
ＶＭホストサーバ４０１−２は、処理部４１１−２および記憶部４２１−２を備える。
処理部４１１−２は、仮想マシン（ＶＭ）４１２−２、ハイパーバイザ４１３−２、およびアクセスクライアント４１４−２を実行する。ＶＭ４１２−２は、ＶＭ４１２−２が有する記憶装置のイメージファイル（ＶＭイメージファイル）を用いて実現される仮想的な装置である。尚、ＶＭ４１２−２の数は複数であってもよい。ハイパーバイザ４１３−２は、ＶＭ４１２−２を制御する。アクセスクライアント４１４−２は、ＶＭ４１２−２とデータサーバ５０１−ｉやメタデータサーバ６０１−ｉとのデータの送受信を制御する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１２０
【補正方法】変更
【補正の内容】
【０１２０】
データサーバ５０１−２（処理部５１１−２）は、読み込み対象のデータをＶＭホストサーバに送信する（ステップＳ８３０）。アクセスクライアント４１４−２は、データを受信し、当該データをＶＭ４１２−２に渡す。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１２８
【補正方法】変更
【補正の内容】
【０１２８】
ＶＭホストサーバ４０１−２は、データサーバ５０１−２に書き込み要求を送信する（ステップＳ８４７）。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１２９
【補正方法】変更
【補正の内容】
【０１２９】
ＶＭホストサーバ４０１−２があるＤＣ２とは異なるＤＣ１のデータサーバ５０１−１に書き込み対象のデータにより更新されるチャンクがある場合、最初に以下のステップＳ８４８〜Ｓ８５１、Ｓ８５７、Ｓ８５８を行う。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１６５
【補正方法】変更
【補正の内容】
【０１６５】
スーパーメタデータサーバ７０１（処理部７１１）は、対象ファイルのスーパーリースを持っているメタデータサーバ６０１−１に対象ファイルのスーパーリースの開放を通知する（ステップＳ９１２）。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１８７
【補正方法】変更
【補正の内容】
【０１８７】
管理サーバ３０１（処理部３１１）は、メタデータサーバ６０１−１に所定のデータに対応するチャンクのコピーを要求する（ステップＳ９５１）。