JP2014142720A - 仮想マシン移動方法、情報処理装置及びプログラム - Google Patents

仮想マシン移動方法、情報処理装置及びプログラム Download PDF

Info

Publication number
JP2014142720A
JP2014142720A JP2013009619A JP2013009619A JP2014142720A JP 2014142720 A JP2014142720 A JP 2014142720A JP 2013009619 A JP2013009619 A JP 2013009619A JP 2013009619 A JP2013009619 A JP 2013009619A JP 2014142720 A JP2014142720 A JP 2014142720A
Authority
JP
Japan
Prior art keywords
virtual machine
hypervisor
migration
unit
movement
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.)
Pending
Application number
JP2013009619A
Other languages
English (en)
Inventor
Kei Furusawa
慧 古澤
Tatsuhiro Ando
達宏 安藤
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 JP2013009619A priority Critical patent/JP2014142720A/ja
Priority to US14/064,720 priority patent/US20140208049A1/en
Publication of JP2014142720A publication Critical patent/JP2014142720A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】仮想マシンの複数のマイグレーションを管理する物理サーバに係る処理負荷を軽減する。
【解決手段】仮想マシン移動方法は、第1の仮想マシンを起動させる第1の物理装置によって、第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する処理と、第1の仮想マシンのデータを受け入れる処理と、第2のマイグレーション指示を含む第2の移動情報を、第2の仮想マシンを動作させている第2の物理装置に転送する転送処理とを含む。
【選択図】図5

Description

本技術は、仮想マシンのマイグレーション技術に関する。
例えばIaaS(Infrastructure as a Service)に係るクラウド事業は、物理サーバ上で仮想マシンを動作させるサーバ仮想化技術を用いて、インターネットを介して利用者にサーバ資源を提供している。
クラウド事業者は、例えば自らの資源を有効に活用するために、動作中の仮想マシンを物理サーバ間で移動させることがある。このような仮想マシンの移動に際しては、仮想マシンによるサービスを停止させることのないように、ライブマイグレーションが行われる。また、多くの仮想マシンを管理しているクラウド事業者が複数のライブマイグレーションを行う場合、迅速に処理することが望ましい。
ある特許文献には、複数のライブマイグレーションをパラレルに処理する形態が開示されている。パラレルにライブマイグレーションを実行する場合には、ある仮想マシンについてのライブマイグレーションと別の仮想マシンのライブマイグレーションとを同時に開始することになる。
また、別の特許文献には、複数のライブマイグレーションをシリアルに処理する形態が開示されている。シリアルにライブマイグレーションを実行する場合には、ある仮想マシンについてのライブマイグレーションが完了した後に、次の仮想マシンのライブマイグレーションを開始することになる。
いずれの形態においても、複数のライブマイグレーションを実行する場合に、それぞれのライブマイグレーションに係る物理サーバは同一とは限らない。その為、複数のライブマイグレーションを管理する物理サーバにおける処理負荷は大きい。
特開2012−88808号公報 特開2011−232916号公報
本技術の目的は、一側面では、仮想マシンの複数のマイグレーションを管理する物理サーバに係る処理負荷を軽減することを目的とする。
一態様に係る仮想マシン移動方法は、第1の仮想マシンを起動させる第1の物理装置によって、第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する処理と、第1の仮想マシンのデータを受け入れる処理と、第2のマイグレーション指示を含む第2の移動情報を、第2の仮想マシンを動作させている第2の物理装置に転送する転送処理とを含む。
一側面としては、仮想マシンの複数のマイグレーションを管理する物理サーバに係る処理負荷を軽減することができる。
図1は、仮想マシン移動システムにおけるネットワークの概要を示す図である。 図2は、仮想マシンを有する物理サーバの構成例を示す図である。 図3は、運用管理用ネットワークの構成例を示す図である。 図4は、管理部を有する物理サーバの構成例を示す図である。 図5は、仮想マシン移動システムにおけるシーケンスの例を示す図である。 図6は、移動テーブルの例を示す図である。 図7は、移動テーブルの例を示す図である。 図8は、ARP(Address Resolution Protocol)パケットの構成を示す図である。 図9は、データ部の構成例を示す図である。 図10は、仮想マシン移動システムにおけるシーケンスの例を示す図である。 図11は、移動テーブルの例を示す図である。 図12は、管理部のモジュール構成例を示す図である。 図13は、管理部における処理フローの例を示す図である。 図14は、仮想マシンを有する物理サーバのモジュール構成例を示す図である。 図15は、仮想マシンを有するハイパーバイザにおけるメイン処理フローの例を示す図である。 図16は、送出処理フローの例を示す図である。 図17は、受入処理フローの例を示す図である。 図18は、仮想マシンを有するハイパーバイザにおけるメイン処理フローの例を示す図である。 図19は、解析処理フローの例を示す図である。 図20は、移動テーブルの遷移例を示す図である。 図21は、移動テーブルの遷移例を示す図である。 図22は、エラー発生時におけるシーケンスの例を示す図である。 図23は、仮想マシンを有するハイパーバイザにおけるメイン処理フローの例を示す図である。 図24は、リカバリー処理フローの例を示す図である。 図25は、コンピュータの機能ブロック図である。
図1に、仮想マシン移動システムにおけるネットワークの概要を示す。物理サーバ101a乃至101dは、仮想マシンを有する物理サーバ101の例である。物理サーバ101a乃至101dは、ユーザデータ通信用ネットワーク103に接続されている。ユーザデータ通信用ネットワーク103は、インターネットにも接続している。ユーザデータ通信用ネットワーク103は、物理サーバ101a乃至101d同士の通信及び物理サーバ101a乃至101dとインターネット側との通信に用いられる。
物理サーバ101a乃至101dは、運用管理用ネットワーク105を介して接続されている。運用管理用ネットワーク105には、物理サーバ101eと管理者端末107も接続されている。管理者端末107は、管理者が用いる端末である。物理サーバ101eは、物理サーバ101a乃至101dを管理する管理部を有する。管理者は、管理者端末107を操作して、管理部を動作させる。
図2に、仮想マシン209を有する物理サーバ101の構成例を示す。物理サーバ101a乃至101dの構成は同様であるので、ここでは、物理サーバ101aの構成について説明する。物理サーバ101aは、CPU(Central Processing Unit)201と、補助記憶装置203と、メモリ205aを有している。
CPU201は、演算処理を行う。補助記憶装置203は、データを記憶する。ハイパーバイザ207aは、メモリ205a上に展開されている。メモリ205aは、メモリ205の例であり、ハイパーバイザ207aは、ハイパーバイザ207の例である。ハイパーバイザ207aは、仮想スイッチ211と仮想マシン209とを含んでいる。仮想スイッチ211は、ユーザデータ通信用ネットワーク103に接続されている。仮想マシン209aと仮想マシン209bは、仮想マシン209の例である。ハイパーバイザ207で保持する仮想マシン209の数は、一又は複数である。また、ハイパーバイザ207で仮想マシン209を保持していない場合もある。仮想マシン209aと仮想マシン209bは、ユーザデータ通信用ネットワーク103を介してインターネット側に接続する。利用者は、利用者の端末からインターネットを介して仮想マシン209にアクセスする。ハイパーバイザ207aは、運用管理用ネットワーク105と接続されている。
図3に、運用管理用ネットワーク105の構成例を示す。この例で、運用管理用ネットワーク105は、階層的な物理スイッチ301を有している。この例で、運用管理用ネットワーク105は、下位層の物理スイッチ301aと物理スイッチ301b、更に上位層の物理スイッチ301cを有している。物理サーバ101aのハイパーバイザ207aと物理サーバ101bのハイパーバイザ207bとは、下位層の物理スイッチ301aに接続されている。物理サーバ101cのハイパーバイザ207cと物理サーバ101dのハイパーバイザ207dとは、下位層の物理スイッチ301bに接続されている。
尚、前述の通り、ハイパーバイザ207aは、物理サーバ101aのメモリ205a上に展開されている。同様に、ハイパーバイザ207bは、物理サーバ101bのメモリ205b上に展開されている。同様に、ハイパーバイザ207cは、物理サーバ101cのメモリ205c上に展開されている。同様に、ハイパーバイザ207dは、物理サーバ101dのメモリ205d上に展開されている。また、ハイパーバイザ207aは、仮想マシン209aと仮想マシン209bとを有している。ハイパーバイザ207bは、仮想マシン209cを有している。ハイパーバイザ207cは、仮想マシン209dと仮想マシン209eとを有している。ハイパーバイザ207dは、仮想マシン209を有していない。
管理部401を有する物理サーバ101の構成について説明する。図4に、管理部401を有する物理サーバ101の構成例を示す。物理サーバ101eは、CPU201と、補助記憶装置203と、メモリ205eを有している。CPU201は、演算処理を行う。補助記憶装置203は、データを記憶する。ハイパーバイザ207eは、メモリ205e上に展開されている。ハイパーバイザ207eは、管理部401を含んでいる。管理部401は、運用管理用ネットワーク105に接続されている。つまり、管理部401と図3に示したハイパーバイザ207a乃至207dとは、運用管理用ネットワーク105を介して接続されている。
管理部401とハイパーバイザ207との間の制御用の通信やライブマイグレーションによる仮想マシン209のデータ転送には運用管理用ネットワーク105が使用され、インターネット上の利用者と仮想マシン209の通信あるいは仮想マシン209同士の通信にはユーザデータ通信用ネットワーク103が使用される。
次に、シーケンスについて説明する。図5に、仮想マシン移動システムにおけるシーケンスの例を示す。尚、以下のシーケンスの例において、ハイパーバイザ207cは、仮想マシン209の送出側にも受入側にもならないので省略している。管理部401は、管理者端末107から、ライブマイグレーション指示を受信する(S501)。ライブマイグレーション指示は、移動テーブルとリトライ制限回数を含んでいる。リトライ制限回数は、ライブマイグレーションでエラーが発生した場合に行うリトライの回数である。
図6に、初期段階の移動テーブル601aの例を示す。移動テーブル601aは、ライブマイグレーションの指示毎にレコードを有している。レコードは、実行順位と、仮想マシンIDと、送出側ハイパーバイザIP(Internet Protocol)アドレスと、受入側ハイパーバイザIPアドレスと、エラー回数とのフィールドを含んでいる。実行順位は、ライブマイグレーションを行う順位を示している。仮想マシンIDは、ライブマイグレーションにより移動する仮想マシン209の識別情報である。送出側ハイパーバイザIPアドレスは、仮想マシン209の移動元となる送出側のハイパーバイザ207のIPアドレスである。受入側ハイパーバイザIPアドレスは、仮想マシン209の移動先となる受入側のハイパーバイザ207のIPアドレスである。この例では、送出側ハイパーバイザIPアドレスと受入側ハイパーバイザIPアドレスともにサブネットマスク「/16」を含む形式で示している。エラー回数は、当該仮想マシン209のライブマイグレーションにおいて発生したエラーの回数である。
移動テーブル601aの第1レコードは、仮想マシンIDが「1010023」である仮想マシン209aを、IPアドレス「10.0.0.1/16」で特定されるハイパーバイザ207aからIPアドレス「10.0.0.2/16」で特定されるハイパーバイザ207bへ移動させるライブマイグレーション指示を示す。また、その実行順位が「1」であることを示している。この例で、実行順位の値が小さい方が、早く実行されることを意味する。
移動テーブル601aの第2レコードは、仮想マシンIDが「1010011」である仮想マシン209cを、IPアドレス「10.0.0.2/16」で特定されるハイパーバイザ207bからIPアドレス「10.0.0.4/16」で特定されるハイパーバイザ207dへ移動させるライブマイグレーション指示を示す。また、その実行順位が「2」であることを示している。
移動テーブル601aの第3レコードは、仮想マシンIDが「1010121」である仮想マシン209bを、IPアドレス「10.0.0.1/16」で特定されるハイパーバイザ207aからIPアドレス「10.0.0.2/16」で特定されるハイパーバイザ207bへ移動させるライブマイグレーション指示を示す。また、その実行順位が「3」であることを示している。
移動テーブル601aの第4レコードは、仮想マシンIDが「1012001」である仮想マシン209dを、IPアドレス「10.0.0.3/16」で特定されるハイパーバイザ207cからIPアドレス「10.0.0.4/16」で特定されるハイパーバイザ207dへ移動させるライブマイグレーション指示を示す。また、その実行順位が「3」であることを示している。
この例で、移動テーブル601aの第3レコードに示したライブマイグレーションと第4レコードに示したライブマイグレーション指示は同じ実行順位であるので、パラレルに実行されることを意味する。
移動テーブル601aの第5レコードは、仮想マシンIDが「1010751」である仮想マシン209eを、IPアドレス「10.0.0.3/16」で特定されるハイパーバイザ207cからIPアドレス「10.0.0.4/16」で特定されるハイパーバイザ207dへ移動させるライブマイグレーション指示を示す。また、その実行順位が「4」であることを示している。
初期段階では、まだライブマイグレーションを実行していないので、移動テーブル601aにおいていずれのレコードにおけるエラー数も「0」である。
図5に示したシーケンスの説明に戻って、管理部401は、実行順位が「1」である第1レコードの送出側となるハイパーバイザ207aを特定し、管理部401は、ハイパーバイザ207aに初回指示を送信する(S503)。初回指示は、移動テーブル601aとリトライ制限回数を含んでいる。初回指示を受信したハイパーバイザ207aは、移動テーブル601aを一時的に保持する。
ハイパーバイザ207aは、実行順位が「1」である第1レコードの受入側となるハイパーバイザ207bを特定し、ハイパーバイザ207aは、ハイパーバイザ207bに受入指示を送信する(S505)。受入指示は、移動テーブル601aとリトライ制限回数を含んでいる。受入指示を受信したハイパーバイザ207bは、移動テーブル601aを一時的に保持する。
ハイパーバイザ207aは、ライブマイグレーションを行う(S507)。具体的には、ハイパーバイザ207aは、仮想マシン209aのデータ(仮想マシンID:1010023)をハイパーバイザ207bに送信する(S509)。
仮想マシン209aのデータ(仮想マシンID:1010023)を受信したハイパーバイザ207bは、所定の領域に仮想マシン209aのデータを記憶し、当該仮想マシン209aを起動する(S511)。一方、ハイパーバイザ207aは、送出した仮想マシン209aを停止させる(S513)。例えば、ハイパーバイザ207aが受入側のハイパーバイザ207bからライブマイグレーション完了通知を受信した後に、仮想マシン209aを停止させる。ライブマイグレーション完了通知によらず、ライブマイグレーションの終了が判定されるようにしてもよい。尚、図5に示したシーケンスでは、ライブマイグレーション完了通知を省略している。ハイパーバイザ207aは、保持している移動テーブル601aを破棄する。
ハイパーバイザ207bは、移動テーブル601aを更新する。具体的には、ハイパーバイザ207bは、既に実行したライブマイグレーションに係る第1レコードを削除する。
図7に、第1回のライブマイグレーションが完了した段階の移動テーブル601bの例を示す。初期段階の移動テーブル601aにおける第1レコードが削除されている。初期段階の移動テーブル601aにおける第2レコード乃至第5レコードが、第1レコード乃至第4レコードに繰り上げられている。
図5に示したシーケンスの説明に戻って、ハイパーバイザ207bは、移動テーブル601bを含むARPパケットを生成し、生成したARPパケットをブロードキャストする(S515)。ARPパケットは、ユーザデータ通信用ネットワーク103を介して送られる。
図8に、ARPパケットの構成を示す。ARPパケットは、IPアドレスに対応するMAC(Media Access Control)アドレスを動的に特定するために用いられる。本実施の形態では、ARPパケットの一部を用いて、仮想マシン移動を制御するためのデータを転送する。
ARPパケット801は、宛先MACアドレス803、送信元MACアドレス805、タイプ807、宛先IPアドレス809、送信元IPアドレス811、データ部813及びFCS(Frame Check Sequence)815を含んでいる。
宛先MACアドレス803は、宛先のMACアドレスである。送信元MACアドレス805は、送信元のMACアドレスである。タイプ807は、ARPを示す所定の値が設定される。宛先IPアドレス809は、宛先のIPアドレスである。送信元IPアドレス811は、送信元のIPアドレスである。データ部813は、任意のデータを格納してもよい。FCS815は、エラー検出のための付加データである。
本実施の形態において、データ部813には仮想マシン移動を制御するためのデータが書き込まれる。図9に、本実施の形態におけるデータ部813の構成を示す。データ部813は、認証情報901、リトライ制限回数903及び移動テーブル905を有している。認証情報901は、仮想マシン移動に係る正当なARPパケットであることの認証に用いられる。リトライ制限回数903は、前述の通り、ライブマイグレーションでエラーが発生した場合に行うリトライの回数である。移動テーブル905には、ハイパーバイザ207で保持する移動テーブル601が設定される。
図5に示したシーケンスの説明に戻って、ARPパケットを受信したハイパーバイザ207aは、ARPパケットを解析する(S517)。ハイパーバイザ207aは、実行すべきライブマイグレーションを特定する。具体的には、ハイパーバイザ207aは、実行順位の最も小さいレコード(図7に示した移動テーブル601bの第1レコード)を特定する。そして、ハイパーバイザ207aは、当該レコードに含まれる仮想マシンIDに基づいて、自身が送出側のハイパーバイザ207であるかを判定する。この段階で、ハイパーバイザ207aは、送出側のハイパーバイザ207ではないので処理を行わない。
ARPパケットを受信したハイパーバイザ207dも、ARPパケットを解析する(S519)。ハイパーバイザ207dも、同様に送出側のハイパーバイザ207ではないので処理を行わない。
ハイパーバイザ207bは、実行順位の最も小さいレコード(図7に示した移動テーブル601bの第1レコード)に含まれる仮想マシンID:1010011により特定される仮想マシンを自ら動作させているので、自身が送出側のハイパーバイザ207であると判断する。そして、ハイパーバイザ207bは、受入側のハイパーバイザ207dに受入指示を送信する(S521)。受入指示は、移動テーブル601とリトライ制限回数を含んでいる。尚、送出側ハイパーバイザIPアドレスに基づいて、自身が送出側のハイパーバイザ207であると判断するようにしてもよい。
ハイパーバイザ207bは、前述と同様にライブマイグレーションを行う(S523)。具体的には、ハイパーバイザ207bは、仮想マシン209cのデータ(仮想マシンID:1010011)をハイパーバイザ207dに送信する(S525)。
図10に、図5に続くシーケンスの例を示す。仮想マシン209cのデータ(仮想マシンID:1010011)を受信したハイパーバイザ207dは、所定の領域に仮想マシン209cのデータを記憶し、当該仮想マシン209cを起動する(S1001)。一方、ハイパーバイザ207bは、送出した仮想マシン209cを停止させる(S1003)。ハイパーバイザ207bは、保持している移動テーブル601bを破棄する。
ハイパーバイザ207dは、移動テーブル601bを更新する。具体的には、ハイパーバイザ207dは、既に実行したライブマイグレーションに係る第1レコード削除する。
図11に、第2回のライブマイグレーションが完了した段階の移動テーブル601cの例を示す。第1回のライブマイグレーションが完了した段階の移動テーブル601bにおける第1レコードが削除されている。第2回のライブマイグレーションが完了した段階の移動テーブル601bにおける第2レコード乃至第4レコードが、第1レコード乃至第3レコードに繰り上げられている。
図10に示したシーケンスの説明に戻って、ハイパーバイザ207dは、移動テーブル601cを含むARPパケットを生成し、生成したARPパケットをブロードキャストする(S1005)。
ARPパケットを受信したハイパーバイザ207aは、前述と同様にARPパケットを解析する(S1007)。ハイパーバイザ207aは、実行すべきライブマイグレーションを特定する。具体的には、ハイパーバイザ207aは、実行順位の最も小さいレコード(図11に示した移動テーブル601cの第1レコードと第2レコード)を特定する。そして、ハイパーバイザ207aは、特定した両レコードに含まれる仮想マシンIDに基づいて、自身が送出側のハイパーバイザ207であるかを判定する。この段階で、ハイパーバイザ207aは、送出側のハイパーバイザ207であるので、移動テーブル601cを保持し、ハイパーバイザ207aは、受入側のハイパーバイザ207bに受入指示を送信する(S1011)。
ハイパーバイザ207aは、前述と同様にライブマイグレーションを行う(S1013)。具体的には、ハイパーバイザ207aは、仮想マシン209bのデータ(仮想マシンID:1010121)をハイパーバイザ207bに送信する(S1015)。
ARPパケットを受信したハイパーバイザ207bも、ARPパケットを解析する(S1009)。ハイパーバイザ207bは、送出側のハイパーバイザ207ではないので処理を行わない。
ハイパーバイザ207dも、受入側のハイパーバイザ207であるので、パラレルにライブマイグレーションを行う。パラレルによる動作については、図20と図21を用いて後述する。以上で、シーケンスの説明を終える。
続いて、管理部401の構成と管理部401における処理について説明する。図12に、管理部401のモジュール構成例を示す。管理部401は、受信部1201、受付部1203、生成部1205、格納部1207、指示部1209、送信部1211、構成管理部1213及び構成情報格納部1215を有している。
受信部1201は、運用管理用ネットワーク105を介してデータを受信する。受付部1203は、管理者端末107から指示を受け付ける。生成部1205は、移動テーブル601を生成する。格納部1207は、移動テーブル601を格納する。指示部1209は、ハイパーバイザ207へ指示する。送信部1211は、運用管理用ネットワーク105を介してデータを送信する。構成管理部1213は、物理サーバ101のCPU、メモリ及びネットワークインターフェースなどの構成に関する情報と、CPU負荷、メモリの使用状況およびネットワーク使用状況などの統計情報を管理する。構成情報格納部1215は、CPU、メモリ及びネットワークインターフェースなどの構成に関する情報と、CPU負荷、メモリの使用状況およびネットワーク使用状況などの統計情報を格納する。
図13に、管理部401における処理フローの例を示す。受付部1203は、受信部1201を介して、管理者端末107からライブマイグレーション指示を受け付ける(S1301)。ライブマイグレーション指示は、移動させる仮想マシン209の仮想マシンID、送出側ハイパーバイザIPアドレス及び受入側ハイパーバイザIPアドレスを含んでいる。更に、ライブマイグレーション指示は、実行順位を含んでいる。受付部1203は、一又は複数のライブマイグレーション指示を受け付ける。管理部401は、ライブマイグレーション指示の数が1つであるか、2つ以上であるかを判定する。(S1303)。
ライブマイグレーション指示の数が1つであると判定した場合には、送信部1211は、通常のライブマイグレーションコマンドを送出側ハイパーバイザ207に送信する(S1305)。通常のライブマイグレーションコマンドによる処理は、従来技術に相当するので、説明を省略する。
ライブマイグレーション指示の数が2つ以上であると判定した場合には、生成部1205は、例えば図6に示した初期段階の移動テーブル601aを生成する(S1307)。移動テーブル601aは、格納部1207に格納される。
送信部1211は、初回指示を最初のライブマイグレーションにおける送出側のハイパーバイザ207に送信する(S1309)。初回指示は、前述の通り、初期段階の移動テーブル601とリトライ制限回数を含んでいる。
構成情報格納部1215を用いた構成管理部1213の処理は、従来技術に相当するので、説明を省略する。
続いて、仮想マシン209を有する物理サーバ101の構成と仮想マシン209を有するハイパーバイザ207における処理について説明する。
図14に、仮想マシン209を有する物理サーバ101のモジュール構成例を示す。物理サーバ101は、受信部1401、送信部1403、ライブマイグレーション部1405、テーブル記憶部1407、制御部1409、仮想マシン管理部1411、構成管理部1413及び構成情報格納部1415を有している。
受信部1401は、ユーザデータ通信用ネットワーク103又は運用管理用ネットワーク105を介してデータを受信する。送信部1403は、ユーザデータ通信用ネットワーク103又は運用管理用ネットワーク105を介してデータを送信する。ライブマイグレーション部1405は、送出側のライブマイグレーション処理と受入側のライブマイグレーション処理を行う。テーブル記憶部1407は、移動テーブル601を記憶する。制御部1409は、仮想マシン209の移動処理を制御する。仮想マシン管理部1411は、仮想マシン209と仮想スイッチ211を所定の領域に格納し、仮想マシン209と仮想スイッチ211を管理する。
構成管理部1413は、物理サーバ101のCPU、メモリ及びネットワークインターフェースなどの構成に関する情報と、CPU負荷、メモリの使用状況およびネットワーク使用状況などの統計情報を管理する。構成情報格納部1415は、CPU、メモリ及びネットワークインターフェースなどの構成に関する情報と、CPU負荷、メモリの使用状況およびネットワーク使用状況などの統計情報を格納する。構成情報格納部1415を用いた構成管理部1413の処理は、従来技術に相当するので、説明を省略する。
制御部1409は、送出部1421、受入部1423、解析部1425、リカバリー部1427及び転送部1429を有している。送出部1421は、仮想マシン209のデータを送出する処理を行う。受入部1423は、仮想マシン209のデータを受け入れる処理を行う。解析部1425は、移動テーブル601込みのARPパケットを解析する。リカバリー部1427は、ライブマイグレーション処理でエラーが生じた場合のリカバリー処理を行う。転送部1429は、ユーザデータ通信用ネットワーク103を介してARPパケットを転送する。
続いて、図15に、仮想マシン209を有するハイパーバイザ207におけるメイン処理フローの例を示す。制御部1409は、受信部1401を介して初回指示を受信したか否かを判定する(S1501)。受信部1401を介して初回指示を受信したと判定した場合には、制御部1409は、受信した初回指示に含まれる移動テーブル601をテーブル記憶部1407に記憶させる(S1503)。そして、送出部1421は、送出処理を行う(S1505)。
図16に、送出処理フローの例を示す。送出部1421は、受入側のハイパーバイザ207を特定する(S1601)。具体的には、送出部1421は、移動テーブル601における実行順位に基づいて実行すべきライブマイグレーションに係るレコードを特定し、当該レコードから受入側のハイパーバイザIPアドレスを読み取る。このとき、送出部1421は、受入側のハイパーバイザ207が移動すべき仮想マシン209を受け入れ得る環境であるか否かの構成チェックを行う。
送出部1421は、受入側のハイパーバイザ207へ受入指示を送信する(S1603)。前述の通り、受入指示には、移動テーブル601とリトライ制限回数とが含められる。
送出部1421は、ライブマイグレーション部1405による送出側のライブマイグレーション処理を起動する(S1605)。送出部1421は、送出側のライブマイグレーション処理の終了を待たずに、図15に示したS1501の処理に戻る。尚、S1501乃至S1505の処理は、図5に示したシーケンスのうちS503乃至S509におけるハイパーバイザ207aの動作に相当する。
図15に示したメイン処理フローの説明に戻って、S1501で、受信部1401を介して初回指示を受信していないと判定した場合には、制御部1409は、受信部1401を介して受入指示を受信したか否かを判定する(S1507)。受信部1401を介して受入指示を受信したと判定した場合には、制御部1409は、テーブル記憶部1407に移動テーブル601を記憶させる(S1509)。そして、受入部1423は、受入処理を行う(S1511)。
図17に、受入処理フローの例を示す。受入部1423は、受入側のライブマイグレーション処理を実行する(S1701)。受入側のライブマイグレーション処理では、受信した仮想マシン209を仮想マシン管理部1411の所定領域に記憶させる。
送出側における仮想マシン209の記憶領域と受入側における仮想マシン209の記憶領域の同期が完了した時点でライブマイグレーション処理は終了する。受入側のライブマイグレーション処理の終了を待って、送信部1403は、ライブマイグレーション完了通知を送出側のハイパーバイザ207に送信する(S1703)。そして、受入部1423は、所定領域に記憶させた仮想マシン209を起動させる(S1705)。
受入部1423は、移動テーブル601に未処理のレコードがあるか否かを判定する(S1707)。移動テーブル601に未処理のレコードがないと判定した場合には、送信部1403は、通常のARPパケットをブロードキャストする(S1709)。通常のARPパケットをブロードキャストする処理は、従来技術に相当するので、説明を省略する。尚、通常のARPパケットをブロードキャストする動作は、前述のシーケンスで例示していない。
移動テーブル601に未処理のレコードがあると判定した場合には、受入部1423は、ライブマイグレーション処理済みのレコードを削除する(S1711)。受入部1423は、移動テーブル601込みのARPパケットを生成する(S1713)。具体的には、受入部1423は、通常のARPパケットを生成し、図8に示したデータ部813に、図9に示したように認証情報901とリトライ制限回数903と移動テーブル905とを含むデータを書き込む。転送部1429は、送信部1403を介して生成した移動テーブル601込みのARPパケットをブロードキャストする(S1715)。
受入部1423は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であるか否かを判定する(S1717)。具体的には、受入部1423は、移動テーブル601における実行順位に基づいて、次に実行すべきライブマイグレーションに係るレコードを特定し、当該レコードに含まれる仮想マシンIDにより特定される仮想マシンを自ら動作させているか否かを判定する。仮想マシンIDにより特定される仮想マシン209を自ら動作させていると判定した場合には、受入部1423は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であると判定する。一方、仮想マシンIDにより特定される仮想マシン209を自ら起動していないと判定した場合には、受入部1423は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207でないと判定する。尚、受入部1423は、当該レコードに含まれる送出側ハイパーバイザIPアドレスに基づいて、自身が送出側のハイパーバイザ207であると判断するようにしてもよい。
また、同じ実行順位であるマイグレーション指示が複数ある場合には、各マイグレーション指示について判定する。いずれかのマイグレーション指示において、仮想マシンIDにより特定される仮想マシン209を自ら動作させていると判定した場合には、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であるか否かを判定する。いずれのマイグレーション指示においても仮想マシンIDにより特定される仮想マシン209を自ら動作させていないと判定した場合には、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207でないと判定する。
自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であると判定した場合には、受入部1423は、終了ステースに「送出する」を設定する(S1719)。自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207でないと判定した場合には、受入部1423は、終了ステースに「送出しない」を設定する(S1721)。そして、図15に示したS1513の処理に戻る。
図15に示したメイン処理フローの説明に戻って、制御部1409は、受入処理(S1511)の終了ステータスが「送出する」であるか、あるいは「送出しない」であるかを判定する(S1513)。
受入処理(S1511)の終了ステータスが「送出する」であると判定した場合は、送出部1421は、上述と同様の送出処理を行う(S1515)。そして、S1501の処理に戻る。尚、S1507乃至S1515の処理は、図5に示したシーケンスのうちS505、S509、S511、S515、S521、S523及びS525におけるハイパーバイザ207bの動作に相当する。
一方、受入処理(S1511)の終了ステータスが「送出しない」であると判定した場合は、制御部1409は、テーブル記憶部1407に記憶されている移動テーブル601を削除する(S1517)。そして、S1501の処理に戻る。尚、S1507乃至S1513及びS1517の処理は、図5及び図10に示したシーケンスのうちS521、S525、S1001及びS1005におけるハイパーバイザ207dの動作に相当する。
図15に示したS1507で、受信部1401を介して受入指示を受信していないと判定した場合には、端子Aを介して、図18のS1801の処理に移る。
図18に、メイン処理フローの続きを示す。制御部1409は、受信部1401を介してライブマイグレーション完了通知を受信したか否かを判定する(S1801)。受信部1401を介してライブマイグレーション完了通知を受信したと判定した場合には、制御部1409は、送出させた仮想マシン209を停止させる(S1803)。制御部1409は、テーブル記憶部1407に記憶させた移動テーブル601を削除する(S1805)。そして、端子Bを介して、図15に示したS1501の処理に戻る。尚、S1801乃至S1805の処理は、図5に示したシーケンスのうちS513におけるハイパーバイザ207aの動作及び図10に示したシーケンスのうちS1003におけるハイパーバイザ207bの動作に相当する。
本実施の形態では、ライブマイグレーション完了通知によって仮想マシンを停止させる例を示したが、制御部1409は、ライブマイグレーション完了通知によらずにライブマイグレーションの終了を判定して、仮想マシン209を停止させるようにしてもよい。
一方、S1801で、受信部1401を介してライブマイグレーション完了通知を受信していないと判定した場合には、制御部1409は、受信部1401を介して移動テーブル601込みのARPパケットを受信したか否かを判定する(S1807)。受信部1401を介して移動テーブル601込みのARPパケットを受信したと判定した場合には、解析部1425は、解析処理を行う(S1809)。
図19に、解析処理フローの例を示す。解析部1425は、まず認証処理を行う(S1901)。具体的には、解析部1425は、ARPパケット801のデータ部813に含まれる認証情報901を抽出し、認証情報901に基づいて、正当なARPパケットであるか否かを判定し、正当なARPパケットであると判定した場合に、認証成功と判断する。解析部1425は、正当なARPパケットでないと判定した場合には、認証失敗と判断する。例えば、解析部1425は、認証情報901が所定の秘密コードと一致した場合に、正当なARPパケットであると判定し、認証情報901が所定の秘密コードと一致しない場合に、正当なARPパケットでないと判定する。秘密コードは、例えば管理部401とハイパーバイザ207が共有するIDとパスワードとである。
S1901で認証失敗と判断した場合には、解析部1425は、終了ステースに「送出しない」を設定する(S1911)。このように処理することにより、不正な仮想マシンの受け入れを防ぐ。
一方、S1901で認証成功と判断した場合には、解析部1425は、移動テーブル601をテーブル記憶部1407に記憶しているか否かを判定する(S1903)。移動テーブル601をテーブル記憶部1407に記憶していないと判定した場合には、解析部1425は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であるか否かを判定する(S1905)。具体的には、解析部1425は、移動テーブル601における実行順位に基づいて、次に実行すべきライブマイグレーションに係るレコードを特定し、当該レコードに含まれる仮想マシンIDにより特定される仮想マシン209を自ら動作させているか否かを判定する。仮想マシンIDにより特定される仮想マシン209を自ら動作させていると判定した場合には、解析部1425は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であると判定する。一方、仮想マシンIDにより特定される仮想マシン209を自ら動作させていないと判定した場合には、解析部1425は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207でないと判定する。尚、解析部1425は、当該レコードに含まれる送出側ハイパーバイザIPアドレスに基づいて、自身が送出側のハイパーバイザ207であるかを判断するようにしてもよい。
また、同じ実行順位であるマイグレーション指示が複数ある場合には、各マイグレーション指示について判定する。いずれかのマイグレーション指示において、仮想マシンIDにより特定される仮想マシン209を自ら動作させていると判定した場合には、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であるか否かを判定する。いずれのマイグレーション指示においても仮想マシンIDにより特定される仮想マシン209を自ら動作させていないと判定した場合には、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207でないと判定する。
自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であると判定した場合には、解析部1425は、終了ステースに「送出する」を設定する(S1907)。
自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207でないと判定した場合には、解析部1425は、終了ステースに「送出しない」を設定する(S1911)。
S1903で移動テーブル601をテーブル記憶部1407に記憶していると判定した場合には、解析部1425は、移動テーブル601を更新する(S1909)。具体的には、解析部1425は、テーブル記憶部1407に記憶されている移動テーブル601を、ARPパケット801のデータ部813から抽出された移動テーブル905に書き換える。そして、解析部1425は、終了ステースに「送出しない」を設定する(S1911)。
終了ステースに「送出する」あるいは「送出しない」を設定すると、解析処理を終え、図18に示したS1811の処理に移る。
シリアルにライブマイグレーションを実行している場合には、移動テーブル601込みのARPパケットを受信した時点で、移動テーブル601をテーブル記憶部1407に記憶していることはない。パラレルにライブマイグレーションを実行している場合に、移動テーブル601込みのARPパケットを受信した時点で、移動テーブル601をテーブル記憶部1407に記憶している状況が生じる。従って、S1909で移動テーブルを更新するのは、パラレルにライブマイグレーションを実行している場合である。
以下、パラレルにライブマイグレーションを実行している場合における移動テーブル601の遷移について説明する。
図10のシーケンスに示したS1005では、図11に示した移動テーブル601cを含むARPパケットがブロードキャストされる。ハイパーバイザ207a乃至207cは、解析処理を行う。その結果、ハイパーバイザ207aは第1レコードに基づいて、自ら送出側のハイパーバイザ207であると判定し、図10に示したように、ハイパーバイザ207bに受入指示を送信し(S1011)、更に送出側のライブマイグレーション処理(S1013)により仮想マシン209b(仮想マシンID:1010121)のデータをハイパーバイザ207bに送信する(S1015)。これに応じて、ハイパーバイザ207bは、受入側のライブマイグレーション処理を行う。
また、同時にハイパーバイザ207cは図11に示した移動テーブル601cの第2レコードに基づいて、自ら送出側のハイパーバイザであると判定する。図10には示していないが、ハイパーバイザ207dに受入指示を送信し、更に送出側のライブマイグレーション処理により仮想マシン209d(仮想マシンID:1012001)のデータをハイパーバイザ207dに送信する。これに応じて、ハイパーバイザ207dは、受入側のライブマイグレーション処理を行う。
このときのハイパーバイザ207bにおける移動テーブル601dを、図20に示す。尚、移動テーブル601dは、図11に示した移動テーブル601cと同様である。
一方のハイパーバイザ207dにおける移動テーブル601hを、図21に示す。移動テーブル601hも、図11に示した移動テーブル601cと同様である。
つまり、受入側のライブマイグレーション処理を開始した時点では、パラレルに受入側となるハイパーバイザ207bもハイパーバイザ207dも同様の移動テーブル601を保持している。
この例では、ハイパーバイザ207dにおける受入側のライブマイグレーション処理が先に終了することを想定する。この時点で、ハイパーバイザ207dは実行済みのライブマイグレーションに係る第1レコードを削除する。その結果、図21に示した移動テーブル601iのように更新される。
一方、ハイパーバイザ207bにおける受入側のライブマイグレーション処理はまだ継続しているので、この時点では図20に示した移動テーブル601eのようにライブマイグレーション処理開始時点の移動テーブル601dから変化していない。
仮に、移動テーブル601eの状態のまま、ハイパーバイザ207bが受入側のライブマイグレーション処理を終え、実行済みのライブマイグレーションに係る第2レコードを削除すると、すでにハイパーバイザ207dで受入側のライブマイグレーション処理を終えている第1レコードが残存することになり、不具合の原因となる。
本実施の形態では、先に受け入れを終えたハイパーバイザ207dが、移動テーブル601iを含むARPパケットをブロードキャストし、ハイパーバイザ207bは、受信したARPパケットに含まれる移動テーブル601iに書き換える。その結果、ハイパーバイザ207bは、図20に示した移動テーブル601fを保持することになる。このようにして、移動テーブル601は適正な状態に保たれる。尚、ハイパーバイザ207dは、その後自ら保持する移動テーブル601iを破棄する。
その後、ハイパーバイザ207bが受入側のライブマイグレーション処理を終え、実行済みのライブマイグレーションに係る移動テーブル601fの第1レコードを削除し、移動テーブル601gのように更新する。
そして、ハイパーバイザ207bは、移動テーブル601gを含むARPパケットをブロードキャストする。その後、移動テーブル601gは破棄される。
例えば、図20に示した移動テーブル601eを保持している状態で、ハイパーバイザbの解析部1425は、図19に示したS1903で移動テーブル601を記憶していると判定する。そして、図19に示したS1909で移動テーブルを更新する処理によって、図20に示した移動テーブル601fに遷移させる。
以上で、パラレルにライブマイグレーションを実行している場合における移動テーブル601の遷移についての説明を終える。
図18に示したメイン処理フローの説明に戻って、制御部1409は、解析処理(S1809)の終了ステータスが「送出する」であるか、あるいは「送出しない」であるかを判定する(S1811)。 解析処理(S1809)の終了ステータスが「送出しない」であると判定した場合には、端子Bを介して、図15に示したS1501の処理に移る。尚、S1807乃至S1811で、終了ステータスが「送出しない」と判定される処理は、図5に示したシーケンスのうちS517におけるハイパーバイザ207aの動作、S519におけるハイパーバイザ207dの動作及び図10に示したシーケンスのうちS1009におけるハイパーバイザ207bの動作に相当する。
解析処理(S1809)の終了ステータスが「送出する」であると判定した場合には、制御部1409は、移動テーブル601込みのARPパケットから抽出された移動テーブル601をテーブル記憶部1407に記憶させる(S1813)。送出部1421は、前述の送出処理を行う(S1815)。そして、端子Bを介して、図15に示したS1501の処理に戻る。尚、S1807乃至S1815の処理は、図10に示したシーケンスのうちS1007におけるハイパーバイザ207aの動作に相当する。
続いて、図22乃至図24を用いて、ライブマイグレーションでエラー発生した場合のリカバリーについて説明する。例えば、運用管理用ネットワーク105における一時的な輻輳などによって、エラーが発生することがある。
図22に、エラー発生時におけるシーケンスの例を示す。図5と同様に、管理部401は、管理者端末107からライブマイグレーション指示を受信する(S2201)。ライブマイグレーション指示は、移動テーブル601とリトライ制限回数を含んでいる。リトライ制限回数は、ライブマイグレーションでエラーが発生した場合に行うリトライの回数である。
図5に示したシーケンスと同様に、受入指示には図6に示した初期段階の移動テーブル601aが含まれる。初期段階ではまだライブマイグレーションを実行していないので、いずれのレコードにおいれも、エラー数は「0」である。
図5に示したシーケンスと同様に、管理部401は、実行順位が「1」である第1レコードに基づいて送出側となるハイパーバイザ207aを特定し、管理部401は、ハイパーバイザ207aに初回指示を送信する(S2203)。初回指示は、移動テーブル601aとリトライ制限回数を含んでいる。初回指示を受信したハイパーバイザ207aは、移動テーブル601aを一時的に保持する。
図5に示したシーケンスと同様に、ハイパーバイザ207aは受入指示をハイパーバイザ207bに送信する(S2205)。そして、ハイパーバイザ207aは、ライブマイグレーションを行う(S2207)。具体的には、ハイパーバイザ207aは、仮想マシン209aのデータ(仮想マシンID:1010023)をハイパーバイザ207bに送信する(S2209)。このライブマイグレーションにおいて、エラーが発生した場合を想定する。
ライブマイグレーションの失敗を検出したハイパーバイザ207aは、リカバリー処理を行う(S2211)。具体的には、ハイパーバイザ207aは、移動テーブル601aのうち、失敗したライブマイグレーションに係るレコードのエラー回数をインクリメントする。この例では、エラー回数に「1」が設定される。また、失敗したライブマイグレーションに係るレコードの実行順位を繰り下げる。
ハイパーバイザ207aは、更新した移動テーブル601を含むARPパケットのブロードキャストする(S2213)。
以降は、図6に示した移動テーブル601aの第2レコードに基づく通常の動作に移る。具体的には、ハイパーバイザ207bは、ARPパケットの解析を行い(S2215)、ハイパーバイザ207dも、ARPパケットの解析を行う(S2217)。ハイパーバイザ207bは自らが送出側のハイパーバイザ207であると判断し、受入指示をハイパーバイザ207dに送信する(S2219)。そして、ハイパーバイザ207bは、ライブマイグレーションを行う(S2221)。つまり、ハイパーバイザ207bは、仮想マシン209cのデータ(仮想マシンID:1010011)をハイパーバイザ207dに送信する(S2223)。
続いて、リカバリーの処理について説明する。図18に示したメイン処理フローのS1807において、受信部1401を介して移動テーブル601込みのARPパケットを受信していないと判定した場合には、端子Cを介して図23に示したS2301の処理に移る。図23にメイン処理フローの続きを示す。制御部1409は、ライブマイグレーション部1405によってライブマイグレーション失敗を検出したか否かを判定する(S2301)。ライブマイグレーション部1405によってライブマイグレーション失敗を検出していないと判定した場合には、端子Bを介して、図15のS1501に戻る。
ライブマイグレーション部1405によってライブマイグレーション失敗を検出したと判定した場合には、リカバリー部1427は、リカバリー処理を行う(S2303)。
図24に、リカバリー処理フローの例を示す。リカバリー部1427は、移動テーブル601のうち失敗したライブマイグレーションに係るレコードを特定し、当該レコードのエラー回数をインクリメントする(S2401)。リカバリー部1427は、当該レコードの実行順位を繰り下げる(S2403)。例えば、最後の実行順位を特定し、その次の順位に設定する。リカバリー部1427は、エラー回数がリトライ制限回数より大きいか否かを判定する(S2405)。エラー回数がリトライ制限回数以下であると判定した場合には、S2411の処理に移る。一方、エラー回数がリトライ制限回数より大きいと判定した場合には、送信部1403は、管理部401にライブマイグレーション未完了通知を送信する(S2407)。ライブマイグレーション未完了通知は、例えば、仮想マシンID、送出側ハイパーバイザIPアドレス及び受入側ハイパーバイザIPアドレスを含む。リカバリー部1427は、当該レコードを削除する(S2409)。リカバリー部1427は、移動テーブル601に未処理のレコードがあるか否かを判定する(S2411)。移動テーブル601に未処理のレコードがないと判定した場合には、リカバリー部1427は、リカバリー処理を終えて呼出元の処理に戻る。
移動テーブル601に未処理のレコードがあると判定した場合には、リカバリー部1427は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であるか否かを判定する(S2413)。具体的には、リカバリー部1427は、移動テーブル601における実行順位に基づいて、次に実行すべきライブマイグレーションに係るレコードを特定し、当該レコードに含まれる仮想マシンIDにより特定される仮想マシンを自ら動作させているか否かを判定する。仮想マシンIDにより特定される仮想マシン209を自ら動作させていると判定した場合には、リカバリー部1427は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であると判定する。一方、仮想マシンIDにより特定される仮想マシン209を自ら動作させていないと判定した場合には、リカバリー部1427は、自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207でないと判定する。尚、リカバリー部1427は、当該レコードに含まれる送出側ハイパーバイザIPアドレスに基づいて、自身が送出側のハイパーバイザ207であるかを判断するようにしてもよい。
自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207であると判定した場合には、リカバリー部1427は、終了ステースに「送出する」を設定し(S2415)、リカバリー処理を終える。自らが次に実行すべきライブマイグレーションの送出側ハイパーバイザ207でないと判定した場合には、リカバリー部1427は、終了ステースに「送出しない」を設定し(S2417)、リカバリー処理を終える。リカバリー処理を終えると、図23に示したS2305の処理に戻る。
図23に示したメイン処理フローの説明に戻って、制御部1409は、リカバリー処理(S2303)の終了ステータスが「送出する」であるか、あるいは「送出しない」であるかを判定する(S2305)。リカバリー処理(S2303)の終了ステータスが「送出する」であると判定した場合には、送出部1421は、送出処理を行い(S2307)、端子Bを介して図15のS1501に戻る。
リカバリー処理(S2303)の終了ステータスが「送出しない」であると判定した場合には、制御部1409は、テーブル記憶部1407に記憶されている移動テーブル601を削除し(S2309)、端子Bを介して図15のS1501に戻る。
最後に、シリアルにライブマイグレーションを行う設定とパラレルにライブマイグレーションを行う設定との各々の利点について説明する。
例えば、図6に示した移動テーブル601aにおける第1レコードに示したライブマイグレーション指示を実行する場合には、仮想マシン209aのデータは、ハイパーバイザ207aからハイパーバイザ207bに送られる。このとき、仮想マシン209aのデータは、物理スイッチ301aを経由する。また、第2レコードに示したライブマイグレーション指示を実行する場合には、仮想マシン209cのデータは、ハイパーバイザ207bからハイパーバイザ207dに送られる。このとき、仮想マシン209cのデータは、物理スイッチ301aと物理スイッチ301cと物理スイッチ301bとを経由する。仮にこの2つのライブマイグレーションをパラレルに実行すると、物理スイッチ301aと物理サーバ101bの間の伝送路における帯域を共有することになるので、シリアルにライブマイグレーションを実行する場合に比べて、データ転送に要する時間が長くなる。
このように、データ転送が完了するまでの時間が長くなると、その間に仮想マシン209のデータが更新される可能性が高くなる。仮想マシン209のデータが更新された場合には、その間に生じたデータの差分を再転送する処理が生じ、更に遅くなる。従って、伝送路の帯域を共有することになる複数のライブマイグレーションは、シリアルに行わせることが適している。
別の例で、図6に示した移動テーブル601aにおける第3レコードに示したライブマイグレーション指示を実行する場合には、仮想マシン209bのデータは、ハイパーバイザ207aからハイパーバイザ207bに送られる。このとき、仮想マシン209bのデータは、物理スイッチ301aを経由する。また、第4レコードに示したライブマイグレーション指示を実行する場合には、仮想マシン209dのデータは、ハイパーバイザ207cからハイパーバイザ207dに送られる。このとき、仮想マシン209dのデータは、物理スイッチ301bを経由する。この2つのライブマイグレーションをパラレルに実行しても伝送路の帯域を共有することにはならないので遅くならない。
従って、伝送路において帯域を共有しない複数のライブマイグレーションは、パラレルに行わせることが適している。
このように、仮想マシンのデータを転送する経路によって、シリアルによるライブマイグレーションとパラレルによるライブマイグレーションを設定し分けることによって、全体の処理時間を短縮することができる。
本実施の形態によれば、例えば管理部401により複数のマイグレーションを集中的に指示しなくても済むようになる。このように、次のマイグレーションの指示を受入側の物理サーバ101に処理させることにより、複数のマイグレーションの制御に係る処理を分散させ、複数のマイグレーションを管理する物理サーバに係る処理負荷を軽減することができる。
ブロードキャストによって移動テーブルを受信した物理サーバ101が、自ら送出側となるか否かを判定するので、移動テーブルを送信する物理サーバ101が送出側となる物理サーバ101を特定しなくても済むようになる。
また、ライブマイグレーションに伴い、送出側の物理サーバ101から受入側の物理サーバ101に移動テーブルを送信し、ライブマイグレーションが完了した受入側の物理サーバ101が、移動テーブルをブロードキャストする処理を順次繰り返すことによって、管理部401の関与は無く連鎖的に複数のライブマイグレーションを実行することができる。
また、移動テーブルをARPパケットに含めて転送するので、仮想マシンの移動に伴う制御が簡単になる。
また、ARPパケットに認証情報を含めるので、偽りの移動情報を排除することに役立つ。
上述の例では、ARPパケットに移動テーブルを含めて転送する例について説明したが、ARPパケットとは別に移動テーブルを転送するようにしてもよい。例えば、図17のS1715に示した転送部1429による処理において、移動テーブルをブロードキャストする。そして、図18のS1807で移動テーブルの受信を判定し、S1809に示した解析処理では、受信した移動テーブルを用いて解析する。また、移動テーブルに認証情報を付加するようにしてもよい。
上述の例では、移動テーブルを含むARPパケットをブロードキャストすることによって、次の送出側のハイパーバイザ207に転送する例を説明したが、ユニキャストによって移動テーブルを次の送出側のハイパーバイザ207に転送するようにしてもよい。その場合には、図17のS1715に示した転送部1429によるブロードキャストの処理に代えて、転送部1429によるユニキャストの処理を行なうようにしてもよい。ユニキャストの処理では、次の実行順位に相当するマイグレーション指示に含まれる送出側ハイパーバイザIPアドレスを特定し、特定した送出側ハイパーバイザIPアドレス宛に移動テーブルを転送する。また、図18のS1807で移動テーブルを受信したと判定した場合に、S1809に示した解析処理を省略するようにしてもよい。解析処理を省略する場合には、S1811に示した終了ステータスの判定において「送出する」と判定した場合に行う処理を行なうようにしてもよい。つまり、S1813に示した移動テーブルを記憶させる処理と、S1815に示した送出処理を行なうようにしてもよい。
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べた物理サーバ101は、コンピュータ装置であって、図25に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る仮想マシン移動方法は、第1の仮想マシンを起動させる第1の物理装置によって、第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する処理と、第1の仮想マシンのデータを受け入れる処理と、第2のマイグレーション指示を含む第2の移動情報を、第2の仮想マシンを動作させている第2の物理装置に転送する転送処理とを含む。
このようにすれば、第1のマイグレーション指示に係る第1の仮想マシンを受け入れる第1の物理装置が、第2のマイグレーション指示を含む第2の移動情報を第2の仮想マシンを動作させている第2の物理装置に転送するので、例えば管理部により複数のマイグレーションを集中的に指示しなくても済むようになる。このように、次のマイグレーションの指示を受入側の物理装置に処理させることにより、複数のマイグレーションの制御に係る処理を分散させ、複数のマイグレーションを管理する物理サーバに係る処理負荷を軽減することができる。
仮想マシン移動方法は、更に、ブロードキャストされ且つ第3のマイグレーション指示を含む第3の移動情報を受信すると、当該第3のマイグレーション指示に係る第3の仮想マシンを自ら動作させているか否かを判定する判定処理を含むようにしてもよい。仮想マシン移動方法は、更に、第3の仮想マシンを自ら動作させていると判定した場合に、第3の仮想マシンを受け入れるべき物理装置宛に、第3の仮想マシンのデータを送出する送出処理を含むようにしてもよい。
このようにすれば、第3のマイグレーション指示を含む第3の移動情報を受信した第1の物理装置が、自ら第3のマイグレーション指示に係る第3の仮想マシンの送出側となるか否かを判定するので、第3の移動情報の送信側が第3の仮想マシンの送出側となる物理装置を特定しなくても済むようになる。
第3の移動情報は、更に第4のマイグレーション指示を含むようにしてもよい。仮想マシン移動方法は、更に、第3の仮想マシンを自ら動作させていると判定した場合に、第3の仮想マシンを受け入れるべき物理装置宛に、第3の移動情報を送信する処理を含むようにしてもよい。
このようにすれば、上記第3の仮想マシンを受け入れるべき物理装置が、第4のマイグレーション指示を含む移動情報を、当該第4のマイグレーション指示に従って仮想マシンを移動させる物理装置へ転送できるようになるため、複数のマイグレーションを連鎖的に管理部の関与無く実行できるようになる。
第3の移動情報は、第3のマイグレーション指示を含む複数のマイグレーション指示及び当該複数のマイグレーション指示の各々に対する実行順位を含むようにしてもよい。仮想マシン移動方法は、更に、判定処理において、各々の実行順位に従って、第3のマイグレーション指示を特定するようにしてもよい。
このようにすれば、実行順位に従ってマイグレーション指示を特定し、上記判定処理と上記送出処理とを行うようになるので、順序付けてマイグレーションを実行させることができる。
第3の移動情報は、第3のマイグレーション指示と同じ実行順位である第5のマイグレーション指示を含むようにしてもよい。仮想マシン移動方法は、更に、判定処理において、第3のマイグレーション指示とともに第5のマイグレーション指示を特定し第5のマイグレーション指示に係る第4の仮想マシンを自ら動作させているか否かを判定するようにしてもよい。仮想マシン移動方法は、更に、第4の仮想マシンを自ら動作させていると判定した場合に、第4の仮想マシンを受け入れるべき物理装置宛に、第4の仮想マシンのデータを送出する処理を含むようにしてもよい。
このようにすれば、同じ実行順位である2つのマイグレーション指示の各々について、判定処理と送出処理とを行うようになるので、パラレルに設定されたマイグレーション指示の一方又は両方を実行することができる。
仮想マシン移動方法は、更に、転送処理において、第2の移動情報をブロードキャストするようにしてもよい。
このようにすれば、次の送出側となる可能性のある物理装置群に漏れなく移動情報を渡すことができる。
仮想マシン移動方法は、更に、転送処理において、第2の移動情報をARPパケットに含めるようにしてもよい。
このようにすれば、第2の移動情報とARPによる通知が一体となるので、仮想マシンの移動に伴う制御が簡単になる。
仮想マシン移動方法は、更に、転送処理において、第2の移動情報とともに、第2の移動情報を認証するための認証情報を転送するようにしてもよい。
このようにすれば、認証情報によって偽りの移動情報を排除することに役立つ。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1の仮想マシンを起動させる第1の物理装置によって、
前記第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する処理と、
前記第1の仮想マシンのデータを受け入れる処理と、
前記第2のマイグレーション指示を含む第2の移動情報を、前記第2の仮想マシンを動作させている第2の物理装置に転送する転送処理と
を含む仮想マシン移動方法。
(付記2)
更に、
ブロードキャストされ且つ第3のマイグレーション指示を含む第3の移動情報を受信すると、当該第3のマイグレーション指示に係る第3の仮想マシンを自ら動作させているか否かを判定する判定処理と、
前記第3の仮想マシンを自ら動作させていると判定した場合に、前記第3の仮想マシンを受け入れるべき物理装置宛に、前記第3の仮想マシンのデータを送出する送出処理と
を含む付記1記載の仮想マシン移動方法。
(付記3)
前記第3の移動情報は、更に第4マイグレーション指示を含み、
更に、
前記第3の仮想マシンを自ら動作させていると判定した場合に、前記第3の仮想マシンを受け入れるべき前記物理装置宛に、前記第3の移動情報を送信する処理
を含む付記2記載の仮想マシン移動方法。
(付記4)
前記第3の移動情報は、前記第3のマイグレーション指示を含む複数のマイグレーション指示及び当該複数のマイグレーション指示の各々に対する実行順位を含み、
前記判定処理において、各々の前記実行順位に従って、前記第3のマイグレーション指示を特定する
付記2又は3記載の仮想マシン移動方法。
(付記5)
前記第3の移動情報は、前記第3のマイグレーション指示と同じ実行順位である第5のマイグレーション指示を含み、
前記判定処理において、前記第3のマイグレーション指示とともに前記第5のマイグレーション指示を特定し、前記第5のマイグレーション指示に係る第4の仮想マシンを自ら動作させているか否かを判定し、
更に、
前記第4の仮想マシンを自ら動作させていると判定した場合に、前記第4の仮想マシンを受け入れるべき物理装置宛に、前記第4の仮想マシンのデータを送出する処理
を含む付記4記載の仮想マシン移動方法。
(付記6)
前記転送処理において、前記第2の移動情報をブロードキャストする
付記1乃至5のいずれか1つ記載の仮想マシン移動方法。
(付記7)
前記転送処理において、前記第2の移動情報をARPパケットに含める
付記1乃至6いずれか1つ記載の仮想マシン移動方法。
(付記8)
前記転送処理において、前記第2の移動情報とともに、前記第2の移動情報を認証するための認証情報を転送する
付記1乃至7いずれか1つ記載の仮想マシン移動方法。
(付記9)
第1の仮想マシンを起動させる情報処理装置であって、
前記第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する受信部と、
前記第1の仮想マシンのデータを受け入れる受入部と、
前記第2のマイグレーション指示を含む第2の移動情報を、前記第2の仮想マシンを起動させる別の情報処理装置に転送する転送部と
を含む情報処理装置。
(付記10)
第1の仮想マシンを起動させる情報処理装置に、
前記第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する処理と、
前記第1の仮想マシンのデータを受け入れる処理と、
前記第2のマイグレーション指示を含む第2の移動情報を、前記第2の仮想マシンを起動させる別の情報処理装置に転送する処理と
を実行させるためのプログラム。
101 物理サーバ 103 ユーザデータ通信用ネットワーク
105 運用管理用ネットワーク 107 管理者端末
201 CPU 203 補助記憶装置
205 メモリ 207 ハイパーバイザ
209 仮想マシン 211 仮想スイッチ
301 物理スイッチ 401 管理部
601 移動テーブル 801 ARPパケット
803 宛先MACアドレス 805 送信元MACアドレス
807 タイプ 809 宛先IPアドレス
811 送信元IPアドレス 813 データ部
815 FCS 901 認証情報
903 リトライ制限回数 905 移動テーブル
1201 受信部 1203 受付部
1205 生成部 1207 格納部
1209 指示部 1211 送信部
1213 構成管理部 1215 構成情報格納部
1401 受信部 1403 送信部
1405 ライブマイグレーション部 1407 テーブル記憶部
1409 制御部 1411 仮想マシン管理部
1413 構成管理部 1415 構成情報格納部
1421 送出部 1423 受入部
1425 解析部 1427 リカバリー部
1429 転送部

Claims (10)

  1. 第1の仮想マシンを起動させる第1の物理装置によって、
    前記第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する処理と、
    前記第1の仮想マシンのデータを受け入れる処理と、
    前記第2のマイグレーション指示を含む第2の移動情報を、前記第2の仮想マシンを動作させている第2の物理装置に転送する転送処理と
    を含む仮想マシン移動方法。
  2. 更に、
    ブロードキャストされ且つ第3のマイグレーション指示を含む第3の移動情報を受信すると、当該第3のマイグレーション指示に係る第3の仮想マシンを自ら動作させているか否かを判定する判定処理と、
    前記第3の仮想マシンを自ら動作させていると判定した場合に、前記第3の仮想マシンを受け入れるべき物理装置宛に、前記第3の仮想マシンのデータを送出する送出処理と
    を含む請求項1記載の仮想マシン移動方法。
  3. 前記第3の移動情報は、更に第4マイグレーション指示を含み、
    更に、
    前記第3の仮想マシンを自ら動作させていると判定した場合に、前記第3の仮想マシンを受け入れるべき前記物理装置宛に、前記第3の移動情報を送信する処理
    を含む請求項2記載の仮想マシン移動方法。
  4. 前記第3の移動情報は、前記第3のマイグレーション指示を含む複数のマイグレーション指示及び当該複数のマイグレーション指示の各々に対する実行順位を含み、
    前記判定処理において、各々の前記実行順位に従って、前記第3のマイグレーション指示を特定する
    請求項2又は3記載の仮想マシン移動方法。
  5. 前記第3の移動情報は、前記第3のマイグレーション指示と同じ実行順位である第5のマイグレーション指示を含み、
    前記判定処理において、前記第3のマイグレーション指示とともに前記第5のマイグレーション指示を特定し、前記第5のマイグレーション指示に係る第4の仮想マシンを自ら動作させているか否かを判定し、
    更に、
    前記第4の仮想マシンを自ら動作させていると判定した場合に、前記第4の仮想マシンを受け入れるべき物理装置宛に、前記第4の仮想マシンのデータを送出する処理
    を含む請求項4記載の仮想マシン移動方法。
  6. 前記転送処理において、前記第2の移動情報をブロードキャストする
    請求項1乃至5のいずれか1つ記載の仮想マシン移動方法。
  7. 前記転送処理において、前記第2の移動情報をARPパケットに含める
    請求項1乃至6いずれか1つ記載の仮想マシン移動方法。
  8. 前記転送処理において、前記第2の移動情報とともに、前記第2の移動情報を認証するための認証情報を転送する
    請求項1乃至7いずれか1つ記載の仮想マシン移動方法。
  9. 第1の仮想マシンを起動させる情報処理装置であって、
    前記第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する受信部と、
    前記第1の仮想マシンのデータを受け入れる受入部と、
    前記第2のマイグレーション指示を含む第2の移動情報を、前記第2の仮想マシンを起動させる別の情報処理装置に転送する転送部と
    を含む情報処理装置。
  10. 第1の仮想マシンを起動させる情報処理装置に、
    前記第1の仮想マシンに係る第1のマイグレーション指示と、第2の仮想マシンに係る第2のマイグレーション指示とを含む第1の移動情報を受信する処理と、
    前記第1の仮想マシンのデータを受け入れる処理と、
    前記第2のマイグレーション指示を含む第2の移動情報を、前記第2の仮想マシンを起動させる別の情報処理装置に転送する処理と
    を実行させるためのプログラム。
JP2013009619A 2013-01-22 2013-01-22 仮想マシン移動方法、情報処理装置及びプログラム Pending JP2014142720A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013009619A JP2014142720A (ja) 2013-01-22 2013-01-22 仮想マシン移動方法、情報処理装置及びプログラム
US14/064,720 US20140208049A1 (en) 2013-01-22 2013-10-28 Apparatus and method for migrating virtual machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013009619A JP2014142720A (ja) 2013-01-22 2013-01-22 仮想マシン移動方法、情報処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2014142720A true JP2014142720A (ja) 2014-08-07

Family

ID=51208678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013009619A Pending JP2014142720A (ja) 2013-01-22 2013-01-22 仮想マシン移動方法、情報処理装置及びプログラム

Country Status (2)

Country Link
US (1) US20140208049A1 (ja)
JP (1) JP2014142720A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017146675A (ja) * 2016-02-15 2017-08-24 日本電信電話株式会社 仮想マシン管理システムおよび仮想マシン管理方法
US10467047B2 (en) 2016-03-07 2019-11-05 NEC Corporatian Server system and execution-facilitating method

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9336039B2 (en) * 2014-06-26 2016-05-10 Vmware, Inc. Determining status of migrating virtual machines
US11210120B2 (en) * 2014-06-30 2021-12-28 Vmware, Inc. Location management in a volume action service
US10324743B2 (en) * 2014-08-27 2019-06-18 Red Hat Israel, Ltd. Announcing virtual machine migration
US9612765B2 (en) * 2014-11-19 2017-04-04 International Business Machines Corporation Context aware dynamic composition of migration plans to cloud
US9641417B2 (en) 2014-12-15 2017-05-02 Cisco Technology, Inc. Proactive detection of host status in a communications network
TW201624277A (zh) * 2014-12-31 2016-07-01 萬國商業機器公司 協助虛擬機器即時遷移的方法
CN105991440B (zh) * 2015-02-12 2019-03-15 新华三技术有限公司 防止虚拟机vm迁移引起的流量中断的方法和设备
US10721181B1 (en) * 2015-03-10 2020-07-21 Amazon Technologies, Inc. Network locality-based throttling for automated resource migration
US10536357B2 (en) 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US9652296B1 (en) 2015-11-13 2017-05-16 Red Hat Israel, Ltd. Efficient chained post-copy virtual machine migration
JP2017162416A (ja) * 2016-03-11 2017-09-14 富士通株式会社 レプリケーションプログラム、冗長化システム、およびレプリケーション方法
US10419547B1 (en) * 2017-04-10 2019-09-17 Plesk International Gmbh Method and system for composing and executing server migration process
US11816499B2 (en) * 2021-04-23 2023-11-14 Transitional Data Services, Inc. Transition manager system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401181B1 (en) * 2002-05-29 2008-07-15 Core Networks Llc System and method for comparand reuse
JP5246388B2 (ja) * 2007-03-08 2013-07-24 日本電気株式会社 仮想装置構成システム、及びその方法
KR101489466B1 (ko) * 2008-12-17 2015-02-03 삼성전자 주식회사 프로세스 마이그레이션을 관리하는 장치 및 방법
US8429651B2 (en) * 2010-01-20 2013-04-23 International Business Machines Corporation Enablement and acceleration of live and near-live migration of virtual machines and their associated storage across networks
JP5614226B2 (ja) * 2010-10-15 2014-10-29 富士通株式会社 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法
US8549519B2 (en) * 2011-08-19 2013-10-01 Hitachi, Ltd. Method and apparatus to improve efficiency in the use of resources in data center
WO2013115896A2 (en) * 2011-11-17 2013-08-08 President And Fellows Of Harvard College Systems, devices and methods for fabrication of polymeric fibers
US9201679B2 (en) * 2012-05-31 2015-12-01 Red Hat Israel, Ltd. Multiple destination live migration
US9110704B2 (en) * 2012-05-31 2015-08-18 Red Hat Israel, Ltd. Pre-warming of multiple destinations for fast live migration
US8997094B2 (en) * 2012-06-29 2015-03-31 Pulse Secure, Llc Migrating virtual machines between computing devices
US8966495B2 (en) * 2012-09-05 2015-02-24 Cisco Technology, Inc. Dynamic virtual machine consolidation
US9571507B2 (en) * 2012-10-21 2017-02-14 Mcafee, Inc. Providing a virtual security appliance architecture to a virtual cloud infrastructure
US20140143391A1 (en) * 2012-11-20 2014-05-22 Hitachi, Ltd. Computer system and virtual server migration control method for computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017146675A (ja) * 2016-02-15 2017-08-24 日本電信電話株式会社 仮想マシン管理システムおよび仮想マシン管理方法
US10467047B2 (en) 2016-03-07 2019-11-05 NEC Corporatian Server system and execution-facilitating method

Also Published As

Publication number Publication date
US20140208049A1 (en) 2014-07-24

Similar Documents

Publication Publication Date Title
JP2014142720A (ja) 仮想マシン移動方法、情報処理装置及びプログラム
US11863460B1 (en) Agent message delivery fairness
WO2017162173A1 (zh) 云服务器集群建立连接的方法和装置
EP3179701B1 (en) File upload and download methods and associated server
CN114338651B (zh) 文件传输方法、装置、电子设备及可读存储介质
WO2013071766A1 (zh) 异常处理方法、装置和客户端
US11995100B2 (en) System and method for highly available database service
CN112748991A (zh) 用于备份数据的方法、设备和计算机程序产品
US20190104082A1 (en) Live resegmenting of partitions in distributed stream-processing platforms
US10958539B1 (en) Network function virtualization compute element image upgrade
WO2013190737A1 (ja) サーバシステム、サーバ、サーバ制御方法、及びサーバ制御プログラムが格納された非一時的なコンピュータ可読媒体
US10613893B2 (en) System and method for reducing downtime during hypervisor conversion
WO2022143717A1 (zh) 一种虚拟机迁移方法、装置及系统
US11762673B2 (en) Extensible format-independent middleware message interpreter
US9736027B2 (en) Centralized enterprise image upgrades for distributed campus networks
US11474767B1 (en) Print from web services platform to local printer
US20190138409A1 (en) Modification of a cluster of communication controllers
US9348849B1 (en) Backup client zero-management
US10831420B2 (en) Distributed printing
US11403093B1 (en) Application modification with proxy service process
CN116938868A (zh) 基于自动检测的ip分配
US20170102913A1 (en) System and method to redirect display-port audio playback devices in a remote desktop protocol session
CN110633088A (zh) 一种Hadoop自动安装方法及装置
CN118260249A (zh) 一种基于nfs的远程文件夹挂载系统及方法
AU2015232037B2 (en) A method for controlling transfer of print data, a client controller arrangement, a print arrangement and a network