JP6772655B2 - 情報処理システムおよび情報処理方法 - Google Patents

情報処理システムおよび情報処理方法 Download PDF

Info

Publication number
JP6772655B2
JP6772655B2 JP2016159386A JP2016159386A JP6772655B2 JP 6772655 B2 JP6772655 B2 JP 6772655B2 JP 2016159386 A JP2016159386 A JP 2016159386A JP 2016159386 A JP2016159386 A JP 2016159386A JP 6772655 B2 JP6772655 B2 JP 6772655B2
Authority
JP
Japan
Prior art keywords
server
metadata
data
processing unit
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016159386A
Other languages
English (en)
Other versions
JP2018028740A (ja
Inventor
一穂 藤井
一穂 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016159386A priority Critical patent/JP6772655B2/ja
Priority to US15/670,035 priority patent/US10691478B2/en
Publication of JP2018028740A publication Critical patent/JP2018028740A/ja
Application granted granted Critical
Publication of JP6772655B2 publication Critical patent/JP6772655B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理システムおよび情報処理方法に関する。
仮想デスクトップ環境を利用して業務を行うことが一般的になってきている。ユーザがどのアクセスクライアントを利用しても同一の環境が利用できるということが仮想デスクトップ環境の利点である。そのため、ユーザは端末を持ち運ばずとも距離の離れた事業所間を移動し、移動先事業所のアクセスクライアントを利用して業務を行うことができる。
しかしながら、従来は仮想マシン(VM)の存在するデータセンター(DC)は単一であり、ユーザとDCの距離が離れている場合にはアクセスクライアントからVMへの応答性が問題となる。そのため、ユーザの移動に合わせて、VMもユーザの位置の近隣のDCに移動させる。そのためには、遠隔地にあるDC間でファイルシステム(FS)を共有し、どのDCからでもVMが有する記憶装置のイメージファイル(VMイメージファイル)にアクセスできるようにする。つまり、DC間にまたがる分散FSが用いられる。イメージファイルは、記憶装置に格納されている複数のデータを1つにまとめたファイルである。VMは、VMイメージファイルを用いて実行される。
VMの稼働中にVMイメージファイルに対して、頻繁にデータの書き込みが発生する。しかし、従来の分散FSは、データの書き込みの際の整合性を保つためにクラスタを構成するサーバ間で頻繁に通信が発生する。そのため、サーバ間の遠距離を考慮していない従来技術の分散FSをDC間にまたがって適用した場合には、アクセスクライアントからVMへの実用的な応答性能を得ることが難しい。
分散ファイルシステムにおいて、マスタサーバによって格納されるファイルカタログにアクセスし、アクセスされるべきファイルに関連付けられたメタサーバのルーティング情報を、マスタサーバから取得し、ルーティング情報に基づき、メタサーバにアクセスする。そして、アクセスされるべきファイルのメタ情報を、メタサーバから取得し、複数のノードサーバからアクセスされるべきファイルにアクセスする分散ファイルシステムが知られている(例えば、特許文献1参照)。
特表2015−528957号公報 特開2013−93050号公報 特表2014−503086号公報
DCをまたがってVMを移動させるためにVMイメージファイルを移動させる場合、VMイメージファイルを転送している間はVMの動作が停止する。
本発明の課題は、分散ファイルシステムにおいて、仮想マシンを移動させる場合に仮想マシンの停止時間を短縮することである。
実施の形態に係る情報処理システムは、第1のデータセンターと第2のデータセンターを有する。
前記第1のデータセンターは、第1の仮想マシンサーバ、第1のデータサーバ、および第1のメタデータサーバを備える。
前記第1の仮想マシンサーバは、仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第1の処理部を有する。
前記第1のデータサーバは、前記イメージファイルを構成する複数のチャンクを記憶する第1の記憶部と第2の処理部とを有する。
前記第1のメタデータサーバは、前記イメージファイルのメタデータであって前記複数のチャンクの各々についてのデータ書き込みの可否を表す情報を含む前記メタデータを記憶する第2の記憶部と第3の処理部とを有する。
前記第2のデータセンターは、第2の仮想マシンサーバ、第2のデータサーバ、および第2のメタデータサーバを備える。
前記第2の仮想マシンサーバは、前記イメージファイルを用いて前記仮想マシンを実行する第4の処理部を有する。
前記第2のデータサーバは、第3の記憶部と第5の処理部とを有する。
前記第2のメタデータサーバは、前記メタデータを記憶する第4の記憶部と第6の処理部とを有する。
前記第2の処理部は、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第2のデータセンターに送信する。
前記第5の処理部は、前記所定のチャンクを前記第3の記憶部に記憶させる。
前記第1の処理部は、前記所定のチャンクの送信後に前記第1の処理部で実行している前記仮想マシンを停止する。
前記第3の処理部は、前記メタデータを前記第2のメタデータサーバに送信する。
前記第6の処理部は、前記メタデータを前記第4の記憶部に記憶させる。
前記第4の処理部は、前記第3の記憶部が記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する。
実施の形態に係るファイル分散システムによれば、仮想マシンを移動させる場合に仮想マシンの停止時間を短縮することができる。
分散ファイルシステムの構成図の一例である。 分散ファイルシステムの読み込み処理のシーケンス図である。 分散ファイルシステムの書き込み処理のシーケンス図である。 実施の形態に係る分散ファイルシステムの構成図である。 スーパーメタデータの例を示す図である。 メタデータのうちのアロケーションテーブルの例を示す図である。 メタデータのうちのロックテーブルの例を示す図である。 実施の形態に係るメタデータの移動処理のシーケンス図であ 実施の形態に係るデータの読み込み処理のシーケンス図である。 実施の形態に係るデータの書き込み処理のシーケンス図である。 実施の形態に係るVMの移動処理のフローチャートである。 実施の形態に係るVMの移動処理のシーケンス図である。 データ移動中に当該データが更新された場合の処理のシーケンス図である。 情報処理装置(コンピュータ)の構成図である。
最初に、分散ファイルシステムを複数のデータセンターを含むシステムに適用した場合について説明する。
図1は、分散ファイルシステムの構成図の一例である。
分散ファイルシステム1101は、データセンター(DC)1201−i(i=1,2)を含む。以下、データセンター1201−1、1201−2は、それぞれDC1、DC2と表記する場合がある。データセンター1201−1とデータセンター1201−2は、ネットワーク1111を介して接続している。
データセンター1201−1は、管理サーバ1301、VMホストサーバ1401−1、データサーバ1501−1、およびメタデータサーバ1601−1を備える。管理サーバ1301、VMホストサーバ1401−1、データサーバ1501−1、およびメタデータサーバ1601−1は、ネットワーク1111を介して接続している。
管理サーバ1301は、チャンクの移動等の管理を行う。
VMホストサーバ1401−1は、仮想マシン(VM)1412−1、ハイパーバイザ1413−1、およびアクセスクライアント1414−1を実行する。
データサーバ1501−1は、チャンク1523−1−j(j=1〜n)を記憶する。チャンク1523−1−jは、それぞれファイル(データ)を所定のサイズで分割したデータである。
メタデータサーバ1601−1は、チャンク1523−1−jにより構成されるファイルに関する情報であるメタデータ1622−1を記憶する。
データセンター1201−2は、VMホストサーバ1401−2およびデータサーバ1501−2を備える。VMホストサーバ1401−2およびデータサーバ1501−2は、ネットワーク1111を介して接続している。
VMホストサーバ1401−2は、仮想マシン(VM)1412−2、ハイパーバイザ1413−2、およびアクセスクライアント1414−2を実行する。
データサーバ1501−2は、チャンク1523−−r(r=1〜p)を記憶する。チャンク1523−−rは、それぞれファイル(データ)を所定のサイズで分割したデータである。
次に図1の分散ファイルシステム1101によるファイルの読み込み処理について説明する。
図2は、分散ファイルシステムの読み込み処理のシーケンス図である。
図2では、VMホストサーバ1401−2のアクセスクライアント1414−2があるファイルの一部分に対応するチャンクを読み出す場合について説明する。
VMホストサーバ1401−2(アクセスクライアント1414−2)は、メタデータサーバ1601−1にファイルの読みたい箇所のチャンクを示す情報と該チャンクを記憶しているデータサーバを問い合わせる(ステップS11)。
メタデータサーバ1601−1は、記憶しているメタデータ1622−1に基づいて、問い合わせのあったチャンクの情報をVMホストサーバ1401−2に送信する(ステップS12)。チャンクの情報には、当該チャンクを記憶しているデータサーバ1501−iを示す情報が含まれている。
読み出したいチャンクがデータサーバ1501−2に記憶されている場合、以下のステップS13,S14が行われる。
VMホストサーバ1401−2(アクセスクライアント1414−2)は、チャンクを保持しているデータサーバ1501−2にチャンクのリードを要求する(ステップS13)。
データサーバ1501−2は、要求のあったチャンクをVMホストサーバ1401−2に送信する(ステップS14)。
読み出したいチャンクがデータサーバ1501−1に記憶されている場合、以下のステップS15,S16が行われる。
VMホストサーバ1401−2(アクセスクライアント1414−2)は、チャンクを保持しているデータサーバ1501−1にチャンクのリードを要求する(ステップS15)。
データサーバ1501−21は、要求のあったチャンクをVMホストサーバ1401−2に送信する(ステップS16)。
上記のように、VMホストサーバ1401−2(アクセスクライアント1414−2)と、メタデータサーバ1601−1およびデータサーバ1501−1が別のDCにある場合には、1度の読み込み処理ごとに最大2往復のDC間の通信が発生する。
次に図1の分散ファイルシステム1101によるファイルの書き込み処理について説明する。
図3は、分散ファイルシステムの書き込み処理のシーケンス図である。
図3では、VMホストサーバ1401−2のアクセスクライアント1414−2があるファイルの一部分に対応するチャンクを書き込む場合について説明する。
VMホストサーバ1401−2(アクセスクライアント1414−2)は、メタデータサーバ1601−1にファイルの書きたい箇所のチャンクを示す情報と該チャンクを記憶しているデータサーバ1501−iを問い合わせる。ファイルに追記を行う場合は、新たに作成するべきチャンクを示す情報と、チャンクが記憶されるデータサーバ1501−iを問い合わせる(ステップS21)。
メタデータサーバ1601−1は、記憶しているメタデータ1622−1に基づいて、問い合わせのあったチャンクの情報をVMホストサーバ1401−2に送信する(ステップS22)。
VMホストサーバ1401−2(アクセスクライアント1414−2)は、他のデータサーバ1501−iで同一のチャンクへの書き込みが同時に行われるとファイルの整合性が失われてしまうため、書き込み毎にチャンクのロック(リース)をメタデータサーバ1601−1に要求する(ステップS23)。
メタデータサーバ1601−1は、チャンクのリースをVMホストサーバ1401−2に付与し、チャンクのリースをVMホストサーバ1401−2に通知する(ステップS24)。
書き込み対象のチャンクにより更新されるチャンクがデータサーバ1501−2に記憶されている場合、以下のステップS25,S26が行われる。
VMホストサーバ1401−2(アクセスクライアント1414−2)は、データサーバ1501−2に書き込みの要求を行い、書き込み対象のチャンクを送信する(ステップS25)。
データサーバ1501−1は、受信したチャンクを記憶し、書き込み完了をVMホストサーバ1401−2に通知する(ステップS26)。
書き込み対象のチャンクにより更新されるチャンクがデータサーバ1501−1に記憶されている場合、以下のステップS27,S28が行われる。
VMホストサーバ1401−2(アクセスクライアント1414−2)は、データサーバ1501−1に書き込みの要求を行い、書き込み対象のチャンクを送信する(ステップS27)。
データサーバ1501−1は、受信したチャンクを記憶し、書き込み完了をVMホストサーバ1401−2に通知する(ステップS28)。
VMホストサーバ1401−2(アクセスクライアント1414−2)は、データの書き込みが完了すると、メタデータサーバ1601−1にメタデータ1622−1の更新とリースの開放を要求する(ステップS29)。
メタデータサーバ1601−1は、メタデータの更新完了とリースの解放をVMホストサーバ1401−2に通知する(ステップS30)。
上記のように、VMホストサーバ1401−2(アクセスクライアント1414−2)と、メタデータサーバ1601−1およびデータサーバ1501−1が、別のDCにある場合には最大で4回往復のDC間での通信を行う必要がある。
図1の分散FSでは、アクセスクライアントと、メタデータサーバおよびデータサーバがそれぞれ距離が離れた異なるDCに存在していると、整合性を保つためのアクセスクライアントとデータサーバおよびメタデータサーバの通信の応答が遅くなってしまう。
それぞれのDCで別々にファイルシステムを持つ場合(DC間にまたがったファイルシステムを作らない場合)には、メタデータはDC毎に別々にあるので、メタデータへの問い合わせの時間は小さくなる。しかし、この場合にはファイルは一度にまとめて移動させなければならず、データの移行中はシステムを停止していなければならないので、ファイルサイズが大きい場合にはシステムの停止時間が大きくなる。
以下、図面を参照しながら本発明の実施の形態について説明する。
図4は、実施の形態に係る分散ファイルシステムの構成図である。
分散ファイルシステム101は、データセンター(DC)201−i(i=1,2)を含む。以下、データセンター201−1、201−2は、それぞれDC1、DC2と表記する場合がある。データセンター201−1とデータセンター201−2は、ネットワーク111を介して接続している。
データセンター201−1は、管理サーバ301、VMホストサーバ401−1、データサーバ501、メタデータサーバ601−1、およびスーパーメタデータサーバ701を備える。管理サーバ301、VMホストサーバ401−1、データサーバ501−1、メタデータサーバ601−1、およびスーパーメタデータサーバ701は、ネットワーク111を介して接続している。
管理サーバ301は、処理部311および記憶部321を備える。
処理部311は、チャンクの移動等の管理を行う。
記憶部321は、管理サーバ301で使用されるデータやプログラム等を記憶する。
VMホストサーバ401−1は、処理部411−1および記憶部421−1を備える。
処理部411−1は、仮想マシン(VM)412−1、ハイパーバイザ413−1、およびアクセスクライアント414−1を実行する。VM412−1は、VM412−1が有する記憶装置のイメージファイル(VMイメージファイル)を用いて実現される仮想的な装置である。尚、VM412−1の数は複数であってもよい。ハイパーバイザ413−1は、VM412−1を制御する。アクセスクライアント414−1は、VM412−1とデータサーバ501−iやメタデータサーバ601−iとのデータの送受信を制御する。
記憶部421−1は、VMホストサーバ401−1で使用されるデータやプログラム等を記憶する。
データサーバ501−1は、処理部511−1および記憶部521−1を備える。
処理部511−1は、チャンク523−1−j(j=1〜n)の送受信等の処理を行う。
記憶部521−1は、ファイル522−1を記憶する。ファイル522−1は、チャンク523−1−jを含む。すなわち、チャンク523−1−jによりファイル522−1が構成されている。ファイル522−1は、例えば、VM412−iが有する記憶装置のイメージファイルである。
メタデータサーバ601−1は、処理部611−1および記憶部621−1を備える.
処理部611−1は、メタデータ622−1の更新やリースの付与等を行う。
記憶部621−1は、メタデータ622−1を格納する。メタデータ622−1は、ファイル522−1に関する情報である。メタデータ622−1は、ディレクトリの情報(inode)、ファイルを構成するチャンクとチャンクの位置の情報(アロケーションテーブル)、およびチャンクのロック(リース)の情報(ロックテーブル)等を含む。メタデータ622−1の詳細については後述する。
スーパーメタデータサーバ701は、処理部711および記憶部721を備える。
処理部711は、スーパーリースの付与等の処理を行う。
記憶部721は、スーパーメタデータ722を格納する。スーパーメタデータ722は、ファイル522−iのメタデータ622−iを管理するメタデータサーバを示す情報である。スーパーメタデータ722の詳細は後述する。
データセンター201−2は、VMホストサーバ401−2、データサーバ501−2、およびメタデータサーバ601−2を備える。VMホストサーバ401−2、データサーバ501−2、およびメタデータサーバ601−2は、ネットワーク111を介して接続している。
VMホストサーバ401−2は、処理部411−2および記憶部421−2を備える。
処理部411−は、仮想マシン(VM)412−2、ハイパーバイザ413−2、およびアクセスクライアント414−2を実行する。VM412−2は、VM412−2が有する記憶装置のイメージファイル(VMイメージファイル)を用いて実現される仮想的な装置である。尚、VM412−2の数は複数であってもよい。ハイパーバイザ413−2は、VM412−2を制御する。アクセスクライアント414−2は、VM412−2とデータサーバ501−iやメタデータサーバ601−iとのデータの送受信を制御する。
記憶部421−2は、VMホストサーバ401−2で使用されるデータやプログラム等を記憶する。
データサーバ501−2は、処理部511−2および記憶部521−2を備える。
処理部511−2は、チャンク523−2−r(r=1〜p)の送受信等の処理を行う。
記憶部521−2は、ファイル522−2を記憶する。ファイル522−2は、チャンク523−2−rを含む。すなわち、チャンク523−2−rによりファイル522−1が構成されている。ファイル522−2は、例えば、VM412−iが有する記憶装置のイメージファイルである。記憶部521−1、521−2は共有されており、VMホストサーバ401−1、402−2のいずれからもアクセス可能である。
メタデータサーバ601−2は、処理部611−2および記憶部621−2を備える.
処理部611−2は、メタデータ622−2の更新やリースの付与等を行う。
記憶部621−2は、メタデータ622−2を格納する。メタデータ622−2は、ファイル522−2に関する情報である。メタデータ622−2は、ディレクトリの情報(inode)、ファイルを構成するチャンクとチャンクの位置の情報(アロケーションテーブル)、およびチャンクのロック(リース)の情報(ロックテーブル)等を含む。
図5は、スーパーメタデータの例を示す図である。
スーパーメタデータ722は、項目として、ファイル名およびサーバIDを有する。スーパーメタデータ722には、ファイル名とサーバIDとが対応付けられて記載されている。
ファイル名は、ファイル522−iを識別する情報であり、ファイル522−iの名前である。
サーバIDは、ファイル522−iのメタデータを管理する権限(スーパーリース)を保持するメタデータサーバ501−iを示す情報である。サーバIDは、例えば、メタデータサーバ501−iのホスト名である。
図6は、メタデータのうちのアロケーションテーブルの例を示す図である。
メタデータ622−1のうちのアロケーションテーブル623−1は、項目として、ファイル名、チャンク番号、データオフセット、データ長、およびサーバIDを有する。アロケーションテーブル623−1には、ファイル名、チャンク番号、データオフセット、データ長、およびサーバIDが対応付けられて記載されている。
ファイル名は、チャンクが構成するファイル522−iを識別する情報であり、ファイル522−iの名前である。
チャンク番号は、チャンクを識別する情報であり、チャンクに割り当てられた番号である。
データオフセットは、ファイル522−iにおけるチャンク523−1−jの位置を示し、チャンク523−1−jが構成するファイル522−iの先頭からのオフセットを示す。
データ長は、チャンク523−1−jの長さ(サイズ)を示す。
サーバIDは、チャンクを保持しているデータサーバ501−iを示す情報である。サーバIDは、例えば、データサーバ501−iのホスト名である。
尚、メタデータ622−2のアロケーションテーブルも図6のアロケーションテーブル623−1と同様の形式である。
図7は、メタデータのうちのロックテーブルの例を示す図である。
メタデータ622−1のうちのロックテーブル624−1は、項目として、ファイル名、チャンク番号、およびリースを有する。ロックテーブル624−1には、ファイル名、チャンク番号、およびリースが対応付けられて記載されている。
ファイル名は、チャンク523−1−jが構成するファイル522−iを識別する情報であり、ファイル522−iの名前である。
チャンク番号は、チャンク523−1−jを識別する情報であり、チャンク523−1−jに割り当てられた番号である。
リースは、チャンク番号に対応するチャンク523−1−jがロックされているか否かを示す。リースが「有」の場合、VMホストサーバ401−i(アクセスクライアント414−i)にリースが付与されており、すなわち、チャンク番号に対応するチャンク523−1−jがロックされている。リースが「無」の場合、リースは付与されておらず、すなわちチャンク番号に対応するチャンク523−1−jがロックされていない。
尚、メタデータ622−2のロックテーブルも図7のロックテーブル624−1と同様の形式である。
次にスーパーリースとメタデータの移動の処理について説明する。
図8は、実施の形態に係るメタデータの移動処理のシーケンス図である。
あるファイル522−1をDC2で主に使用するために、当該ファイル522−1をDC1からDC2に移動したとする。その場合、ファイル522−1の移動に伴い、移動したファイル522−1のメタデータ622−1もDC1からDC2に移動させる。
図8において、DC1のメタデータサーバ601−1からDC2のメタデータサーバ601−2にメタデータ622−1が移動する場合について説明する。
管理サーバ301(処理部311)は、スーパーメタデータサーバ701に、移動したファイル522−1(対象ファイル)のメタデータを管理する権限(スーパーリース)を現在スーパーリースを持っているメタデータサーバ601−1からメタデータサーバ601−2に移動させるように要求する(ステップS801)。
スーパーメタデータサーバ701(処理部711)は、対象ファイルのメタデータのスーパーリースを持っているメタデータサーバ601−1に対象ファイルのメタデータのスーパーリースの開放を通知する(ステップS802)。
メタデータサーバ601−1(処理部611−1)は、スーパーリースの開放の通知を受信すると、当該通知を受信した旨をスーパーメタデータサーバ701に応答する(ステップS803)。
スーパーメタデータサーバ701(処理部711)は、前のスーパーリースの保持者であるメタデータサーバ601−1からメタデータ622−1を移動させる指示をメタデータサーバ601−2に送信する(ステップS804)。
メタデータサーバ601−2(処理部611−2)は、スーパーメタデータサーバ701から指示を受信すると、メタデータサーバ601−1にメタデータ622−1の要求を送信する(ステップS805)。
メタデータサーバ601−1(処理部611−1)は、メタデータ622−1をメタデータサーバ601−2に送信する(ステップS806)。
メタデータサーバ601−2(処理部611−2)は、メタデータ622−1を記憶部521−2に格納し、メタデータ622−1を取得した旨をスーパーメタデータサーバ701に送信する(ステップS807)。
スーパーメタデータサーバ701(処理部711)は、ファイル522−1のメタデータ622−1のスーパーリースの付与をメタデータサーバ601−2に通知する(ステップS808)。
メタデータサーバ601−2(処理部611−2)は、スーパーリースの付与の通知を受信した旨をスーパーメタデータサーバ701に応答する(ステップS809)。
スーパーメタデータサーバ701(処理部711)は、スーパーリースの移動が完了した旨を管理サーバ301に通知する(ステップS810)。
尚、新規に作成されたファイルに対しては、当該ファイルを作成したアクセスクライアントがいるデータセンター内のメタデータサーバにスーパーリースが付与される。
次に、実施の形態において、VM412−2があるデータを読み込む場合の処理について説明する。VM412−2からのデータの読み込み要求は、ハイパーバイザ413−2を介してアクセスクライアント414−2に送信され、アクセスクライアント414−2は、データサーバ501−2からデータを読み出して、VM412−2に読み出したデータを渡す。尚、読み込み対象のデータは、ファイル522−2またはファイル522−2の一部分であり、1つ以上のチャンク523−2−rで構成される。
図9は、実施の形態に係るデータの読み込み処理のシーケンス図である。
先ず、VM412−2があるデータの読み込み要求を出力したしたとする。アクセスクライアント414−2は、ハイパーバイザ413−2を介して、当該読み込み要求を受信する。
VMホストサーバ401−2(アクセスクライアント414−2)は、読み込み対象のデータのスーパーリースを保持しているメタデータサーバをスーパーメタデータサーバ701に問い合わせる(ステップS821)。
スーパーメタデータサーバ701(処理部711)は、VMホストサーバ401−2に読み込み対象のデータのスーパーリースを保持しているメタデータサーバを通知する(ステップS822)。
VMホストサーバ401−2(アクセスクライアント414−2)は、メタデータサーバ601−2に読み込み対象のデータのチャンク情報を問い合わせる(ステップS823)。
メタデータサーバ601−2(処理部611−2)は、チャンク情報をVMホストサーバ401−2に送信する(ステップS824)。チャンク情報は、読み込み対象のデータを構成するチャンクを記憶するデータサーバ501−iを示すサーバIDを含む。
VMホストサーバ401−2(アクセスクライアント414−2)は、データサーバ501−2に読み込み対象のデータの読み込み要求を送信する(ステップS825)。尚、読み込み要求は、チャンク情報から得られた読み込み対象のデータを構成するチャンクを記憶するデータサーバ501−iを示すサーバIDを含む。
VMホストサーバ401−2があるDC2とは別のDC1のデータサーバ501−1に読み込み対象のデータがある場合、以下のステップS826〜S829の処理を行う。
データサーバ501−2(処理部511−2)は、データサーバ501−1に読み込み対象のデータの要求を送信する(ステップS826)。
データサーバ501−1(処理部511−2)は、読み込み対象のデータをデータサーバ501−2に送信し、データサーバ501−2(処理部511−2)は、読み込み対象のデータを記憶部521−2に記憶する(ステップS827)。
データサーバ501−2(処理部511−2)は、読み込み対象のデータのメタデータの更新をメタデータサーバ601−2に指示する。(ステップS828)。
メタデータサーバ601−2(処理部611−2)は、読み込み対象のデータのメタデータを更新する。詳細には、メタデータサーバ601−2(処理部611−2)は、読み込み対象のデータをデータサーバ501−2が記憶していることをメタデータに書き込む。メタデータサーバ601−2(処理部611−2)は、更新完了をデータサーバ501−2に通知する(ステップS829)。
データサーバ501−(処理部511−)は、読み込み対象のデータをVMホストサーバに送信する(ステップS830)。アクセスクライアント414−2は、データを受信し、当該データをVM412−2に渡す。
図10は、実施の形態に係るデータの書き込み処理のシーケンス図である。
先ず、VM412−2があるデータの書き込み要求と書き込み対象のチャンク(データ)を出力したしたとする。アクセスクライアント414−2は、ハイパーバイザ413−2を介して、当該書き込み要求と書き込み対象のチャンクを受信する。
VMホストサーバ401−2(アクセスクライアント414−2)は、書き込み対象のデータのスーパーリースを保持しているメタデータサーバをスーパーメタデータサーバ701に問い合わせる(ステップS841)。
スーパーメタデータサーバ701(処理部711)は、VMホストサーバ401−2に書き込み対象のデータのスーパーリースを保持しているメタデータサーバを通知する(ステップS842)。
VMホストサーバ401−2(アクセスクライアント414−2)は、メタデータサーバ601−2に書き込み対象のデータのチャンク情報を問い合わせる(ステップS843)。
メタデータサーバ601−2(処理部611−2)は、チャンク情報をVMホストサーバ401−2に送信する(ステップS844)。
VMホストサーバ401−2(アクセスクライアント414−2)は、メタデータサーバ601−2に書き込み対象のデータのリースを要求する(ステップS845)。
メタデータサーバ601−2(処理部611−2)は、書き込み対象のデータのリースをVMホストサーバ401−2(アクセスクライアント414−2)に付与し、書き込み対象のデータのリースをVMホストサーバ401−2(アクセスクライアント414−2)に通知する(ステップS846)。
VMホストサーバ401−2は、データサーバ501−2に書き込み要求を送信する(ステップS847)。
VMホストサーバ401−2があるDC2とは異なるDC1のデータサーバ501−1に書き込み対象のデータにより更新されるチャンクがある場合、最初に以下のステップS848〜S851、S857、S858を行う。
データサーバ501−2(処理部511−2)は、データサーバ501−1に、書き込み対象のデータにより更新されるチャンクのコピーを要求する(ステップS848)。
データサーバ501−1(処理部511−1)は、書き込み対象のデータにより更新されるチャンクをデータサーバ501−2に送信される(ステップS849)。
データサーバ501−2(処理部511−2)は、メタデータサーバ601−2にメタデータ622−2の更新を要求する(ステップS850)。
メタデータサーバ601−2(処理部611−2)は、メタデータ622−2を更新し、更新完了をデータサーバ501−2に通知する(ステップS851)。
データサーバ501−2(処理部511−2)は、VMホストサーバ401−2に書き込み可能である旨を応答する(ステップS852)。
VMホストサーバ401−2(アクセスクライアント414−2)は、書き込み対象のデータをデータサーバ501−2に送信する(ステップS853)。
データサーバ501−2(処理部511−2)は、書き込み対象のデータを記憶部521−1に書き込み、書き込み完了をVMホストサーバ401−2に通知する(ステップS854)。
VMホストサーバ401−2(アクセスクライアント414−2)は、メタデータサーバ601−2にメタデータ622−2の更新と書き込み対象のデータのリースの開放を要求する(ステップS855)。
メタデータサーバ601−2(処理部611−2)は、メタデータ622−2を更新し、書き込み対象のデータのリースを解放し、メタデータの更新完了とリースの解放をVMホストサーバ401−2に通知する(ステップS856)。
メタデータサーバ601−2(処理部611−2)は、データサーバ501−1に書き込みデータにより更新されるチャンクの破棄を指示し、データサーバ501−1(処理部511−1)は、当該チャンクを破棄する(ステップS857)。
データサーバ501−1(処理部511−1)は、チャンクの破棄完了をメタデータサーバ601−2に通知する(ステップS858)。
次に、あるDCのVMホストサーバで稼動しているVMを他のDCに移動させ、移動先のVMホストサーバでVMを稼動させる場合の処理について説明する。
図11は、実施の形態に係るVMの移動処理のフローチャートである。
VM412−iは、移動元のDC201−i内のVMホストサーバ401−iで稼動されており、移動元のDC201−i内のデータサーバ521−iに格納されているVM412−iが有する記憶装置のイメージファイル(VMイメージファイル)を用いてVMは実現されているとする。VM412−iが有する記憶装置には、OS、アプリケーションプログラム、および各種データ等が記憶されている。イメージファイルは、記憶装置に格納されている複数のデータを1つにまとめたファイルである。よって、VM412−iが有する記憶装置のイメージファイルには、オペレーティングシステム(OS)、アプリケーションプログラム、および各種データ等が含まれている。VMイメージファイルは、例えば、ファイル522−1に相当する。尚、VM412−iが稼動している移動元のDC201−iに含まれるVM412−iホストサーバ401−i、データサーバ501―i、およびメタデータサーバ601―iは、移動元のVMホストサーバ401−i、移動元のデータサーバ501―i、移動元のメタデータサーバ601−iと称する。VM412−iの移動先のDC201−iに含まれるVMホストサーバ401−i、データサーバ501―i、およびメタデータサーバ601―iは、移動先のVMホストサーバ401−i、移動先のデータサーバ501―i、移動先のメタデータサーバ601−iと称する。
ステップS861において、移動元のデータサーバ521−i(処理部511−i)は、VMイメージファイルを構成するチャンクのうち未送信のチャンクの1つを移動先のデータサーバ521−iに送信し、移動先のデータサーバ521−iは受信したチャンクを記憶部521−iに記憶する(チャンクのコピー)。また、送信されるチャンクは、例えば、VMイメージファイルのうちVM412−iが有する記憶装置内のOSのデータに対応するチャンクである。OSのデータは、頻繁に読み込みが行われるが、更新はほとんど行われないため、優先的に送信される。
ステップS862において、移動元のメタデータサーバ601−i(処理部611−i)は、送信したチャンクのメタデータ523−iを更新する。詳細には、移動元のメタデータサーバ601−i(処理部611−i)は、メタデータ523−iにおいて、送信したチャンクを保持するデータサーバを示すサーバIDを送信先のデータサーバ521−iを示すサーバIDに更新する。
ステップS863において、所定のデータが全てコピー完了した場合(すなわち、所定のデータは全て移動先のデータサーバ521−iに送信された場合)、制御はステップs864に進む。所定のデータが全てコピー完了していない場合、制御はステップS861に戻る。尚、所定のデータは、例えば、VMイメージファイルのうちのVM412−iの記憶装置に格納されているOSのデータに対応するチャンクである。
ステップS864において、VM412−iを稼動しているVMホストサーバ401−iは、VM412−iを停止する。
ステップS865において、スーパーメタデータサーバ701(処理部711)は、VMイメージファイルのスーパーリースを持っている移動元のメタデータサーバ601−iにスーパーリースの開放を通知する。
ステップS866において、移動元のメタデータサーバ601−i(処理部611−i)は、VMイメージファイルのメタデータ622−iを移動先のメタデータサーバ601−iに送信する。移動先のメタデータサーバ601−i(処理部611−i)は、受信したメタデータ622−iを記憶部621−iに記憶する。
ステップS867において、スーパーメタデータサーバ701(処理部711)は、スーパーメタデータ722を更新する。
ステップS868において、スーパーメタデータサーバ701(処理部711)は、移動先のメタデータサーバ601−iにVMイメージファイルのスーパーリースを付与し、移動先のメタデータサーバ601−iは、VMイメージファイルのスーパーリースを取得する。
ステップS869において、移動先のVMホストサーバ401−iは、移動先のデータサーバ521−iに記憶されているチャンクを含むVMイメージファイルを用いてVM412−iを起動する。
次に、VMの移動処理の詳細をシーケンス図を用いて説明する。
図12は、実施の形態に係るVMの移動処理のシーケンス図である。
図12では、移動元のDC1で稼動している仮想マシン412−1を移動先のDC2に移動させる場合について説明する。
管理サーバ301(処理部311)は、メタデータサーバ601−1に所定のデータに対応するチャンクのコピーを要求する(ステップS901)。ここで、所定のデータは、仮想マシン412−1が有するOSやアプリケーションプログラム、各種データが記憶された記憶装置のイメージファイルのうちOSのデータとする。
メタデータサーバ601−1(処理部611−1)は、データサーバ501−2に所定のデータに対応するチャンクのコピーを要求する(ステップS902)。
データサーバ501−2(処理部511−2)は、データサーバ501−1に所定のデータに対応するチャンクを要求する(ステップS903)。
データサーバ501−1(処理部511−1)は、データサーバ501−2に所定のデータに対応するチャンクを送信する(ステップS904)。
データサーバ501−2(処理部511−2)は、メタデータサーバ601−1にチャンクのコピー完了を通知する(ステップS905)。
メタデータサーバ601−1(処理部611−1)は、メタデータ622−1を更新する(ステップS906)。
メタデータサーバ601−1(処理部611−1)は、管理サーバ301にチャンクのコピー完了を通知する(ステップS907)。
管理サーバ301(処理部311)は、VMホストサーバ401−1にVM412−1の停止を要求する(ステップS908)。
VMホストサーバ401−1(処理部411−1)は、VM412−1を停止する(ステップS909)。
VMホストサーバ401−1(処理部411−1)は、VM412−1の停止完了を管理サーバ301に通知する(ステップS910)。
管理サーバ301(処理部311)は、スーパーメタデータサーバ701に、移動したファイル522−1(対象ファイル)のメタデータを管理する権限(スーパーリース)を現在スーパーリースを持っているメタデータサーバ601−1からメタデータサーバ601−2に移動させるように要求する(ステップS911)。
スーパーメタデータサーバ701(処理部711)は、対象ファイルのスーパーリースを持っているメタデータサーバ601−1に対象ファイルのスーパーリースの開放を通知する(ステップS912)。
メタデータサーバ601−1(処理部611−1)は、スーパーリースの開放の通知を受信すると、当該通知を受信した旨をスーパーメタデータサーバ701に応答する(ステップS913)。
スーパーメタデータサーバ701(処理部711)は、前のスーパーリースの保持者であるメタデータサーバ601−1からメタデータ622−1を移動させる指示をメタデータサーバ601−2に送信する(ステップS914)。
メタデータサーバ601−2(処理部611−2)は、スーパーメタデータサーバ701から指示を受信すると、メタデータサーバ601−1にメタデータ622−1の要求を送信する(ステップS915)。
メタデータサーバ601−1(処理部611−1)は、メタデータ622−1をメタデータサーバ601−2に送信する(ステップS916)。
メタデータサーバ601−2(処理部611−2)は、メタデータ622−1を記憶部521−2に格納し、メタデータ622−1を取得した旨をスーパーメタデータサーバ701に送信する(ステップS917)。
スーパーメタデータサーバ701(処理部711)は、ファイル522−1のメタデータ622−1のスーパーリースの付与をメタデータサーバ601−2に通知する(ステップS918)。
メタデータサーバ601−2(処理部611−2)は、スーパーリースの付与の通知を受信した旨をスーパーメタデータサーバ701に応答する(ステップS919)。
スーパーメタデータサーバ701(処理部711)は、スーパーリースの移動が完了した旨を管理サーバ301に通知する(ステップS920)。
ライブマイグレーションを行う場合、以下のステップS921〜S924を行う。
管理サーバ301(処理部311)は、VMホストサーバ401−1に、仮想マシン412−1のメモリ上のデータの移動を要求する(ステップS921)。
VMホストサーバ401−1(処理部411−1)は、VMホストサーバ401−2に仮想マシン412−1のメモリ上のデータを送信する(ステップS922)。
VMホストサーバ401−2(処理部411−2)は、仮想マシン412−1のメモリ上のデータの受信完了をVMホストサーバ401−1に送信する(ステップS923)。
VMホストサーバ401−1(処理部411−1)は、仮想マシン412−1のメモリ上のデータの移動完了を管理サーバ301に通知する(ステップS924)。
管理サーバ301(処理部311)は、VMホストサーバ401−2に、仮想マシン412−2の起動を指示する(ステップS925)。
VMホストサーバ401−2(アクセスクライアント414−2)は、仮想マシン412−2のイメージファイルのスーパーリースを保持しているメタデータサーバをスーパーメタデータサーバ701に問い合わせる(ステップS926)。
スーパーメタデータサーバ701(処理部711)は、VMホストサーバ401−2に仮想マシン412−2のイメージファイルのスーパーリースを保持しているメタデータサーバを通知する(ステップS927)。
VMホストサーバ401−2(アクセスクライアント414−2)は、メタデータサーバ601−2に、仮想マシン412−2のイメージファイルを構成するチャンクのチャンク情報を問い合わせる(ステップS928)。
メタデータサーバ601−2(処理部611−2)は、チャンク情報をVMホストサーバ401−2に送信する(ステップS929)。
VMホストサーバ401−2(アクセスクライアント414−2)は、データサーバ501−2に仮想マシン412−2のイメージファイルの読み込み要求を送信する(ステップS930)。
データサーバ501−1(処理部511−1)は、仮想マシン412−2のイメージファイルをVMホストサーバ401−2に送信する(ステップS931)。
VMホストサーバ401−2(処理部411−2)は、VMホストサーバ401−1で稼動していた仮想マシン412−1のデータサーバ501−2に記憶されたイメージファイルのチャンクを用いて、VMホストサーバ401−2上で仮想マシン412−2を起動する。また、ライブマイグレーションを行う場合は、ステップS922で受信した仮想マシン412−1のメモリ上のデータを用いて、仮想マシン412−2を実行する。これにより、移動元のDC1のVMホストサーバ401−1で稼動していた仮想マシン412−1と同様の仮想マシン412−2が移動先のDC2のVMホストサーバ401−2で稼動する。
図13は、データ移動中に当該データが更新された場合の処理のシーケンス図である。
図13では、所定のデータに対応するチャンクを移動先のデータサーバ501−2にコピーした後、移動元のデータサーバ501−1のチャンクが更新された場合の処理について説明する。
管理サーバ301(処理部311)は、メタデータサーバ601−1に所定のデータに対応するチャンクのコピーを要求する(ステップS951)。
メタデータサーバ601−1(処理部611−1)は、データサーバ501−2に所定のデータに対応するチャンクのコピーを要求する(ステップS952)。
データサーバ501−2(処理部511−2)は、データサーバ501−1に所定のデータに対応するチャンクを要求する(ステップS953)。
データサーバ501−1(処理部511−1)は、データサーバ501−2に所定のデータに対応するチャンクを送信する(ステップS954)。データサーバ501−2(処理部511−2)は、受信したチャンクを記憶部522−2に記憶する。
データサーバ501−2(処理部511−2)は、メタデータサーバ601−1にチャンクのコピー完了を通知する(ステップS955)。
メタデータサーバ601−1(処理部611−1)は、メタデータ622−1を更新する(ステップS956)。詳細には、メタデータサーバ601−1(処理部611−1)は、所定のデータに対応するチャンクがデータサーバ501−2にコピーされたことをメタデータ622−1に記録する。
メタデータサーバ601−1(処理部611−1)は、管理サーバ301にチャンクのコピー完了を通知する(ステップS957)。
上記のステップS951〜S957の処理は、図12のステップS901〜S907の処理とそれぞれ同様である。
ここで、データサーバ501−1に記憶しているデータサーバ501−2にコピー済みのチャンクのうちのあるチャンク(更新対象チャンク)を更新する場合を説明する。
VMホストサーバ401−1(アクセスクライアント414−1)は、メタデータサーバ601に更新対象チャンクを記憶しているデータサーバを問い合わせる(ステップS958)。
メタデータサーバ601−1(処理部611−1)は、メタデータ622−1に基づいて、更新対象チャンクを記憶しているデータサーバをVMホストサーバ401−1に通知する(ステップS959)。ここでは、更新対象チャンクを記憶しているデータサーバとして、データサーバ501−1が通知されたとする。
VMホストサーバ401−1(アクセスクライアント414−1)は、更新対象チャンクのリースをメタデータサーバ601−1に要求する(ステップS960)。
メタデータサーバ601−1(処理部611−1)は、VMホストサーバ401−1に更新対象チャンクのリースを付与し、更新対象チャンクのリースをVMホストサーバ401−1に通知する(ステップS961)。
VMホストサーバ401−1(アクセスクライアント414−1)は、更新対象チャンクを更新するデータと書き込み要求をデータサーバ501−1に送信する(ステップS962)。データサーバ501−1(処理部511−1)は、受信したデータで記憶部522−2に記憶されている更新対象チャンクを更新する。
データサーバ501−1(処理部511−1)は、更新完了をVMホストサーバ401−1に通知する(ステップS963)。
VMホストサーバ401−1(アクセスクライアント414−1)は、メタデータサーバ601−1に更新対象チャンクに関するメタデータ621−1の更新を要求する(ステップS964)。
メタデータサーバ601−1(処理部611−2)は、メタデータ622−1を更新し、更新完了をVMホストサーバ401−1に通知する(ステップS965)。詳細には、メタデータサーバ601−1(処理部611−2)は、データサーバ501−2にコピーされている更新対象チャンクに対応するチャンクは古いため、更新対象チャンクがデータサーバ501−2にコピーされていることをメタデータ622−1から削除する。
VMホストサーバ401−1(アクセスクライアント414−1)は、メタデータサーバ601−1に更新対象チャンクのリースの開放を要求する(ステップS966)。
メタデータサーバ601−1(処理部611−1)は、更新対象チャンクのリースを解放し、メリースの解放をVMホストサーバ401−1に通知する(ステップS867)。
メタデータサーバ601−1(処理部611−2)は、更新対象チャンクに対応するチャンクの破棄要求をデータサーバ501−2に送信する(ステップS968)。
データサーバ501−2(処理部511−2)は、記憶部522−2に記憶されている更新対象チャンクに対応するチャンクを破棄し、破棄完了をメタデータサーバ601−1に通知する(ステップS969)。
実施の形態に係るファイル分散システムによれば、仮想マシンを移動させる場合に、仮想マシンのイメージファイルを仮想マシンを稼動させたまま、移動先に移動しておくことで、仮想マシンの停止時間を短縮することができる。
また、実施の形態に係るファイル分散システムによれば、移動先での仮想マシンの起動前に、仮想マシンのイメージファイルのメタデータを仮想マシンの移動先のDCに移動しておくことで、再起動後の仮想マシンの応答性能の低下を防止する。
図14は、情報処理装置(コンピュータ)の構成図である。
実施の形態の管理サーバ301−i、VMホストサーバ401−i、データサーバ501−i、メタデータサーバ601−i、およびスーパーメタデータサーバ701は、例えば、図14に示すような情報処理装置(コンピュータ)1によって実現可能である。
情報処理装置1は、CPU2、メモリ3、入力装置4、出力装置5、記憶部6、記録媒体駆動部7、及びネットワーク接続装置8を備え、それらはバス9により互いに接続されている。
CPU2は、情報処理装置1全体を制御する中央処理装置である。CPU2は、処理部311、411−i、511−i、611−i、711として動作する。
メモリ3は、プログラム実行の際に、記憶部6(あるいは可搬記録媒体10)に記憶されているプログラムあるいはデータを一時的に格納するRead Only Memory(ROM)やRandom Access Memory(RAM)等のメモリである。CPU2は、メモリ3を利用してプログラムを実行することにより、上述した各種処理を実行する。
この場合、可搬記録媒体10等から読み出されたプログラムコード自体が実施の形態の機能を実現する。
入力装置4は、ユーザ又はオペレータからの指示や情報の入力、情報処理装置1で用いられるデータの取得等に用いられる。入力装置4は、例えば、キーボード、マウス、タッチパネル、カメラ、またはセンサ等である。
出力装置5は、ユーザ又はオペレータへの問い合わせや処理結果を出力したり、CPU2による制御により動作する装置である。出力装置5は、例えば、ディスプレイ、またはプリンタ等である。
記憶部6は、例えば、磁気ディスク装置、光ディスク装置、テープ装置等である。情報処理装置1は、記憶部6に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ3に読み出して使用する。メモリ3および記憶部6は、記憶部321、421−i、521−i、621−i、721に対応する。
記録媒体駆動部7は、可搬記録媒体10を駆動し、その記録内容にアクセスする。可搬記録媒体としては、メモリカード、フレキシブルディスク、Compact Disk Read Only Memory(CD−ROM)、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体10に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ3に読み出して使用する。
ネットワーク接続装置8は、Local Area Network(LAN)やWide Area Network(WAN)等の任意の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インターフェースである。ネットワーク接続装置8は、通信ネットワークを介して接続された装置へデータの送信または通信ネットワークを介して接続された装置からデータを受信する。
以上の実施の形態に関し、さらに以下の付記を開示する。
(付記1)
第1のデータセンターと第2のデータセンターを有する情報処理システムであって、 前記第1のデータセンターは、 仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第1の処理部を有する第1の仮想マシンサーバと、前記イメージファイルを構成する複数のチャンクを記憶する第1の記憶部と第2の処理部と有する第1のデータサーバと、前記イメージファイルのメタデータを記憶する第2の記憶部と第3の処理部とを有する第1のメタデータサーバと、を備え、前記第2のデータセンターは、前記イメージファイルを用いて前記仮想マシンを実行する第4の処理部を有する第2の仮想マシンサーバと、第3の記憶部と第5の処理部とを有する第2のデータサーバと、前記メタデータを記憶する第4の記憶部と第6の処理部とを有する第2のメタデータサーバと、を備え、前記第2の処理部は、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第2のデータセンターに送信し、 前記第5の処理部は、前記所定のチャンクを前記第3の記憶部に記憶させ、前記第1の処理部は、前記所定のチャンクの送信後に前記第1の処理部で実行している前記仮想マシンを停止し、前記第3の処理部は、前記メタデータを前記第2のメタデータサーバに送信し、前記第6の処理部は、前記メタデータを前記第4の記憶部に記憶させ、前記第4の処理部は、前記第3の記憶部が記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動することを特徴とする情報処理システム。
(付記2)
前記所定のデータは、前記仮想マシンのオペレーティングシステムのデータであることを特徴とする付記1記載の情報処理システム。
(付記3)
前記分散ファイルシステムは、前記メタデータを管理する権限を有する装置を示す情報を格納する第5の記憶部と、前記メタデータが前記第2のメタデータサーバに送信された後に、前記第2のメタデータサーバに前記権限を付与する第7の処理部と、を備えるスーパーメタデータサーバをさらに備えることを特徴とする付記1または2記載の情報処理システム。
(付記4)
第1のデータセンターと第2のデータセンターを有する情報処理システムが実行する情報処理方法であって、前記第1のデータセンターは、仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第1の仮想マシンサーバ、前記イメージファイルを構成する複数のチャンクを記憶する第1のデータサーバ、および前記イメージファイルのメタデータを記憶する第1のメタデータサーバを含み、前記第2のデータセンターは、第2の仮想マシンサーバ、第2のデータサーバ、および第2のメタデータサーバを含み、前記第1のデータセンターは、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第2のデータセンターに送信し、前記第2のデータセンターは、前記所定のチャンクを記憶し、前記第1の仮想マシンサーバは、前記所定のチャンクの送信後に前記仮想マシンを停止し、前記第1のメタデータサーバは、前記メタデータを前記第2のメタデータサーバに送信し、前記第2のメタデータサーバは、前記メタデータを記憶し、前記第2の仮想マシンサーバは、前記第2のデータサーバが記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する処理を含む情報処理方法。
(付記5)
前記所定のデータは、前記仮想マシンのオペレーティングシステムのデータであることを特徴とする付記4記載の情報処理方法。
(付記6)
前記情報処理システムは、前記メタデータを管理する権限を付与するスーパーメタデータサーバをさらに含み、前記すーパーメタデータサーバは、前記メタデータが前記第2のメタデータサーバに送信された後に、前記第2のメタデータサーバに前記権限を付与する
処理をさらに備える付記4または5記載の情報処理方法。
101 分散ファイルシステム
201 データセンター
301 管理サーバ
401 VMホストサーバ
501 データサーバ
601 メタデータサーバ
701 スーパーメタデータサーバ
1101 分散ファイルシステム
1201 データセンター
1301 管理サーバ
1401 VMホストサーバ
1501 データサーバ
1601 メタデータサーバ

Claims (4)

  1. 第1のデータセンターと第2のデータセンターを有する情報処理システムであって、
    前記第1のデータセンターは、
    仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第1の処理部を有する第1の仮想マシンサーバと、
    前記イメージファイルを構成する複数のチャンクを記憶する第1の記憶部と第2の処理部と有する第1のデータサーバと、
    前記イメージファイルのメタデータであって前記複数のチャンクの各々についてのデータ書き込みの可否を表す情報を含む前記メタデータを記憶する第2の記憶部と第3の処理部とを有する第1のメタデータサーバと、
    を備え、
    前記第2のデータセンターは、
    前記イメージファイルを用いて前記仮想マシンを実行する第4の処理部を有する第2の仮想マシンサーバと、
    第3の記憶部と第5の処理部とを有する第2のデータサーバと、
    前記メタデータを記憶する第4の記憶部と第6の処理部とを有する第2のメタデータサーバと、
    を備え、
    前記第2の処理部は、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第2のデータセンターに送信し、
    前記第5の処理部は、前記所定のチャンクを前記第3の記憶部に記憶させ、
    前記第1の処理部は、前記所定のチャンクの送信後に前記第1の処理部で実行している前記仮想マシンを停止し、
    前記第3の処理部は、前記メタデータを前記第2のメタデータサーバに送信し、
    前記第6の処理部は、前記メタデータを前記第4の記憶部に記憶させ、
    前記第4の処理部は、前記第3の記憶部が記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する
    ことを特徴とする情報処理システム。
  2. 前記所定のデータは、前記仮想マシンのオペレーティングシステムのデータであることを特徴とする請求項1記載の情報処理システム。
  3. 前記メタデータを管理する権限を有する装置を示す情報を格納する第5の記憶部と、
    前記メタデータが前記第2のメタデータサーバに送信された後に、前記第2のメタデータサーバに前記権限を付与する第7の処理部と、
    を備えるスーパーメタデータサーバをさらに備えることを特徴とする請求項1または2記載の情報処理システム。
  4. 第1のデータセンターと第2のデータセンターを有する情報処理システムが実行する情報処理方法であって、前記第1のデータセンターは、仮想マシンが有する記憶装置のイメージファイルを用いて前記仮想マシンを実行する第1の仮想マシンサーバ、前記イメージファイルを構成する複数のチャンクを記憶する第1のデータサーバ、および前記イメージファイルのメタデータであって前記複数のチャンクの各々についてのデータ書き込みの可否を表す情報を含む前記メタデータを記憶する第1のメタデータサーバを含み、前記第2のデータセンターは、第2の仮想マシンサーバ、第2のデータサーバ、および第2のメタデータサーバを含み、
    前記第1のデータセンターは、前記複数のチャンクのうち前記記憶装置に記憶されている所定のデータに対応する所定のチャンクを前記第2のデータセンターに送信し、
    前記第2のデータセンターは、前記所定のチャンクを記憶し、
    前記第1の仮想マシンサーバは、前記所定のチャンクの送信後に前記仮想マシンを停止し、
    前記第1のメタデータサーバは、前記メタデータを前記第2のメタデータサーバに送信し、
    前記第2のメタデータサーバは、前記メタデータを記憶し、
    前記第2の仮想マシンサーバは、前記第2のデータサーバが記憶する前記所定のチャンクを含む前記イメージファイルを用いて前記仮想マシンを起動する
    処理を含む情報処理方法。
JP2016159386A 2016-08-15 2016-08-15 情報処理システムおよび情報処理方法 Active JP6772655B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016159386A JP6772655B2 (ja) 2016-08-15 2016-08-15 情報処理システムおよび情報処理方法
US15/670,035 US10691478B2 (en) 2016-08-15 2017-08-07 Migrating virtual machine across datacenters by transferring data chunks and metadata

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016159386A JP6772655B2 (ja) 2016-08-15 2016-08-15 情報処理システムおよび情報処理方法

Publications (2)

Publication Number Publication Date
JP2018028740A JP2018028740A (ja) 2018-02-22
JP6772655B2 true JP6772655B2 (ja) 2020-10-21

Family

ID=61159000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016159386A Active JP6772655B2 (ja) 2016-08-15 2016-08-15 情報処理システムおよび情報処理方法

Country Status (2)

Country Link
US (1) US10691478B2 (ja)
JP (1) JP6772655B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9998320B2 (en) * 2014-04-03 2018-06-12 Centurylink Intellectual Property Llc Customer environment network functions virtualization (NFV)
US11436033B2 (en) 2019-10-11 2022-09-06 International Business Machines Corporation Scalable virtual memory metadata management
CN114116655A (zh) * 2021-12-08 2022-03-01 北京交研智慧科技有限公司 基于虚拟机的并行文件存储方法、装置、设备及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6158010A (en) * 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US9235577B2 (en) * 2008-09-04 2016-01-12 Vmware, Inc. File transfer using standard blocks and standard-block identifiers
US9317314B2 (en) * 2010-06-29 2016-04-19 Microsoft Techology Licensing, Llc Techniques for migrating a virtual machine using shared storage
US8615588B2 (en) * 2011-01-20 2013-12-24 International Business Machines Corporation Accelerate copying of virtual machine images
EP2652588A1 (en) 2011-04-08 2013-10-23 Hitachi, Ltd. Information processing system and data processing method
US8490092B2 (en) * 2011-07-06 2013-07-16 Microsoft Corporation Combined live migration and storage migration using file shares and mirroring
US9110604B2 (en) * 2012-09-28 2015-08-18 Emc Corporation System and method for full virtual machine backup using storage system functionality
CN103581229B (zh) 2012-07-26 2018-06-15 腾讯科技(深圳)有限公司 分布式文件系统、文件访问方法以及客户端
JP5236129B2 (ja) 2013-02-04 2013-07-17 株式会社インテック ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム
US9424061B2 (en) * 2013-04-30 2016-08-23 International Business Machines Corporation Bandwidth-efficient virtual machine image delivery
JP6421470B2 (ja) 2014-06-17 2018-11-14 富士通株式会社 仮想マシンマイグレーションプログラム、仮想マシンマイグレーションシステムおよび仮想マシンマイグレーション方法
US10324743B2 (en) * 2014-08-27 2019-06-18 Red Hat Israel, Ltd. Announcing virtual machine migration
US9575856B2 (en) 2014-08-29 2017-02-21 Vmware, Inc. Preventing migration of a virtual machine from affecting disaster recovery of replica
US20160125059A1 (en) * 2014-11-04 2016-05-05 Rubrik, Inc. Hybrid cloud data management system
US10284433B2 (en) * 2015-06-25 2019-05-07 International Business Machines Corporation Data synchronization using redundancy detection
US9910906B2 (en) * 2015-06-25 2018-03-06 International Business Machines Corporation Data synchronization using redundancy detection
US9766945B2 (en) * 2015-06-25 2017-09-19 Wmware, Inc. Virtual resource scheduling for containers with migration
US10083062B2 (en) * 2015-07-31 2018-09-25 Cisco Technology, Inc. Data suppression for faster migration
US10061611B2 (en) * 2015-08-28 2018-08-28 Vmware, Inc. Virtual machine migration within a hybrid cloud system
US10810321B2 (en) * 2016-08-11 2020-10-20 Intel Corporation Secure public cloud
US10452430B2 (en) * 2016-08-29 2019-10-22 Vmware, Inc. Live migration of virtual computing instances between data centers

Also Published As

Publication number Publication date
US20180046491A1 (en) 2018-02-15
US10691478B2 (en) 2020-06-23
JP2018028740A (ja) 2018-02-22

Similar Documents

Publication Publication Date Title
US10895993B2 (en) Shared network-available storage that permits concurrent data access
EP3433739B1 (en) Multiple dataset backup versions across multi-tiered storage
JP5895099B2 (ja) 移行先ファイルサーバ及びファイルシステム移行方法
JP6772655B2 (ja) 情報処理システムおよび情報処理方法
JP5303038B2 (ja) 重複したデータを排除するストレージシステム
JP5391601B2 (ja) 資源転送システム、資源転送方法、情報処理装置及びコンピュータプログラム
JP5697754B2 (ja) 計算機システム、ファイル管理方法及びメタデータサーバ
JP6954891B2 (ja) 共有コンテンツの制御転送
WO2015186248A1 (ja) ストレージシステム、計算機システム及びデータ移行方法
WO2015049747A1 (ja) データ管理システム、及び、データ管理方法
CN106528338B (zh) 一种远程数据复制方法、存储设备及存储系统
JP2007183747A (ja) 物理サーバ間のシステム移動方法およびシステム移動システム
EP3651011B1 (en) Method and system to efficiently recovering a consistent view of a file system image from an asynchronously remote system
JP6230317B2 (ja) システム、情報処理装置およびその制御方法、並びにプログラム
WO2017096942A1 (zh) 一种文件存储系统、数据调度方法及数据节点
JP2017076264A (ja) ファイルアクセスシステム、方法及びプログラム
EP2669806A1 (en) Storage system
JP2009251756A (ja) クライアント装置、分散ファイルシステム、共有リソース多重化方法およびプログラム
JP5518143B2 (ja) 仮想マシンの移行方法、サーバ、プログラム、及び、仮想マシンシステム
WO2018011914A1 (ja) データアーカイブシステム、および、データアーカイブ方法
US11055286B2 (en) Incremental updates for nearest neighbor search
JP5735051B2 (ja) マスタサーバ、情報同期方法、および、情報同期プログラム
JP6089855B2 (ja) 仮想化システム、仮想サーバ、ファイル書き込み方法、及びファイル書き込みプログラム
JP7114877B2 (ja) 同期処理装置、ファイル同期システムおよびプログラム
JP5123355B2 (ja) 分散データ管理システム、データサーバ、負荷分散方法およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170824

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200414

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200424

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200424

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200424

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200914

R150 Certificate of patent or registration of utility model

Ref document number: 6772655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150