JP5804050B2 - 移動管理装置、移動管理方法および移動管理プログラム - Google Patents

移動管理装置、移動管理方法および移動管理プログラム Download PDF

Info

Publication number
JP5804050B2
JP5804050B2 JP2013505703A JP2013505703A JP5804050B2 JP 5804050 B2 JP5804050 B2 JP 5804050B2 JP 2013505703 A JP2013505703 A JP 2013505703A JP 2013505703 A JP2013505703 A JP 2013505703A JP 5804050 B2 JP5804050 B2 JP 5804050B2
Authority
JP
Japan
Prior art keywords
migration
host
guest
virtual machine
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.)
Expired - Fee Related
Application number
JP2013505703A
Other languages
English (en)
Other versions
JPWO2012127633A1 (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
Publication of JPWO2012127633A1 publication Critical patent/JPWO2012127633A1/ja
Application granted granted Critical
Publication of JP5804050B2 publication Critical patent/JP5804050B2/ja
Expired - Fee Related 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/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
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、移動管理装置、移動管理方法および移動管理プログラムに関する。
従来、大規模データセンタ等の分散コンピュータシステムのような大規模システムでは、処理を担当するハーウェアを交代させる、すなわち処理を異なるハードウェアに移動させることで、システムの可用性を高めている。一例として、ハードウェア上でVM(Virtual Machine)ホストを動作させ、このVMホスト上でVMゲストを動作させる技術が知られている。
VMホストは、コンピュータシステムの動作環境を仮想的に実現するプログラムである。VMゲストは、VMホストによって提供された環境で仮想マシンとして動作し、ユーザに提供される処理を担う。このVMゲストは、異なるVMホストに移動しても処理を継続することができる。
このように、VMゲストを異なるVMホストに移動させる技術として、VMゲストの稼動を停止させることなく移動させるライブマイグレーションやVMゲストの稼動を停止してから移動させるコールドマイグレーションなどのマイグレーションが利用されている。なお、VMゲストに限らず、VMホストを他の物理サーバに移動させる場合にも、マイグレーションが利用されている。
例えば、従来では、GUI(Graphical User Interface)、CLI(Command line interface)、Scriptなどを用いて、移動対象のVMゲストを1台ずつ、移動先VMホストを指定して移動させる技術が利用されている。
近年では、自動でマイグレーションを実行する技術も知られている。例えば、VMゲストの移動先対象となる各サーバのCPU使用率、メモリ使用量、移動にかかる時間に基づいて、当該VMゲストが移動できるサーバ上の仮想化ソフトウェアを特定する。そして、特定した仮想化ソフトウェア上に、移動対象のVMゲストをライブマイグレーションする技術が知られている。
また、VMホストやVMゲストを稼動させる仮想マシンシステムの負荷のサイクルに基づいてスケジューリングし、スケジューリングに従ってライブマイグレーションを自動実行する技術も知られている。
特開2008−217302号公報 特開2010−117760号公報 特表2007−536657号公報
しかしながら、従来の技術では、複数の仮想マシンが移動対象である場合に、仮想マシンを1つ1つ移動させたり、仮想マシン1つ1つの移動完了を確認したりするので、仮想マシンの移動処理を管理する管理者の作業が煩雑になり、管理者を拘束する時間が長いという問題がある。
例えば、GUIやコマンド等を用いる技術では、移動対象のVMゲスト1台ずつに対して、移動先VMホストの指定およびライブマイグレーションの実行をして、ライブマイグレーションが正常に終了したかを確認することになる。つまり、連続してライブマイグレーションを実行できない。このため、全てのVMゲストの移動が正常に完了するまで、管理者を拘束することになる。
また、スケジュール等に従ってライブマイグレーションを自動化する場合、移動対象のVMゲストが停止中である場合には、ライブマイグレーションが異常終了する。この結果、移動させたいVMゲストが移動できないまま処理が終了する場合もある。つまり、自動で実行する場合も、自動で実行された後に管理者が正常終了を確認することになるので、結果として、実行後から正常終了確認まで管理者を拘束することになる。したがって、この技術を用いた場合でも、管理者の作業時間は短くない。
1側面では、本発明は、仮想マシンの移動処理の作業時間を短縮することができる移動管理装置、移動管理方法および移動管理プログラムを提供することを目的とする。
第1の案では、移動管理装置は、移動対象である仮想マシン各々について、当該仮想マシンの移動をシミュレーションして、移動先を決定する第1決定部を有する。移動管理装置は、前記第1決定部によって移動先が決定された仮想マシンの電源状態に基づいて、当該仮想マシンの移動方式を決定する第2決定部を有する。移動管理装置は、前記移動対象である仮想マシン各々について移動先および移動方式が決定された場合に、前記第1決定部によって決定された移動先に、前記第2決定部によって決定された移動方式で、前記仮想マシン各々を移動させる移動処理部を有する。
仮想マシンの移動処理の作業時間を短縮することができる。
図1は、実施例1に係る移動管理装置を含むシステムの全体構成を示す図である。 図2は、実施例2に係る移動管理装置を含むシステムを形成する各装置の構成を示すブロック図である。 図3は、変数管理テーブルが記憶するsrc_vm_hosts変数の例を示す図である。 図4は、変数管理テーブルが記憶するsrc_vm_guests変数の例を示す図である。 図5は、変数管理テーブルが記憶するdst_vm_hosts変数の例を示す図である。 図6は、変数管理テーブルが記憶するmigration_lists変数の例を示す図である。 図7は、VMホストテーブルに記憶される情報の例を示す図である。 図8は、VMテーブルに記憶される情報の例を示す図である。 図9は、VMゲストテーブルに記憶される情報の例を示す図である。 図10は、サーバプロファイルテーブルに記憶される情報の例を示す図である。 図11は、VM管理テーブルに記憶される情報の例を示す図である。 図12は、管理ソフトテーブルに記憶される情報の例を示す図である。 図13は、マイグレーション処理のTOP画面例を示す図である。 図14は、移動管理装置が実行する処理の全体的な流れを説明するフローチャートである。 図15は、VMゲスト候補生成処理の流れを説明するフローチャートである。 図16は、移動先候補のVMホストリスト生成処理の流れを説明するフローチャートである。 図17は、移動可能判定処理の流れを説明するフローチャートである。 図18は、移動種別決定処理の流れを説明するフローチャートである。 図19は、TOP画面例を示す図である。 図20は、移動対象のVMゲスト一覧を表示させた画面例を示す図である。 図21は、移動先候補のVMホスト一覧を表示させた画面例を示す図である。 図22は、移動先候補として1つのVMホストが選択された画面例を示す図である。 図23は、移動先のVMホストが決定された画面例を示す図である。 図24は、移動種別が決定された画面例を示す図である。 図25は、TOP画面例を示す図である。 図26は、移動対象のVMゲスト一覧を表示させた画面例を示す図である。 図27は、移動先候補のVMホスト一覧を表示させた画面例を示す図である。 図28は、移動先候補として1つのVMホストが選択された画面例を示す図である。 図29は、移動先のVMホストが決定された画面例を示す図である。 図30は、移動種別が決定された画面例を示す図である。 図31は、既に他のVMゲストの移動が決定された状態で別の移動元VMホストが選択された画面例を示す図である。 図32は、図31の状態から移動対象のVMゲストが選択された画面例を示す図である。 図33は、図32の状態から移動先候補のVMホストが選択された画面例を示す図である。 図34は、図33の状態から移動先のVMホストが決定した画面例を示す図である。 図35は、図34の状態から移動種別が決定された画面例を示す図である。 図36は、図35の状態からさらに続けて他のVMゲストの移動先を決定する画面例を示す図である。 図37は、図36の状態から移動先対象のVMゲストが選択された画面例を示す図である。 図38は、移動先候補として選択されたVMホストに既に別のVMゲストの移動が決定されている画面例を示す図である。 図39は、図38の状態から移動種別が決定された画面例を示す図である。 図40は、1つのVMホストに複数のVMゲストが移動することが決定された画面例を示す図である。 図41は、移動管理プログラムを実行するコンピュータの例を示す図である。
以下に、本発明にかかる移動管理装置、移動管理方法および移動管理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、実施例1に係る移動管理装置を含むシステムの全体構成を示す図である。図1に示すように、このシステムは、クライアント装置10と、移動管理装置30と、VM(Virtual Machine)管理装置50と、VM管理装置70と、複数のサーバ(VMホスト)60とを有する。なお、図1に示したサーバの台数や装置の台数は、あくまで例示であり、これに限定されるものではなく、任意の台数を設定することができる。
クライアント装置10は、このシステムの管理者やユーザが利用するコンピュータであり、VMゲストの移動指示を移動管理装置30に送信して、VMゲストのマイグレーションを実行させる。
移動管理装置30は、第1決定部30a、第2決定部30b、移動処理部30cを有し、クライアント装置10からVMゲストのマイグレーション指示を受信して、VM管理装置50やVM管理装置70に、VMゲストのマイグレーションの実行を要求する。
VM管理装置50やVM管理装置70は、物理サーバ上で動作しているVMホストや、VMホスト上で動作しているVMゲストに関する情報等を記憶して、仮想マシン全体を管理するサーバである。例えば、VM管理装置50やVM管理装置70は、VMホストやVMゲストのリソース状況や、VMホスト上で動作可能なVMゲストの最大数などVMホストに関する情報を記憶する。
サーバ60は、仮想マシンであるVMゲストを動作させる、他のコンピュータシステムの動作環境を仮想的に実現するプログラムであるVMホストを実行する物理サーバである。VMゲストは、VMホストによって提供された環境でユーザに提供される処理を担う仮想マシンである。
このような状況において、移動管理装置30の第1決定部30aは、移動対象であるVMゲスト各々について、当該VMゲストの移動をシミュレーションして、移動先のVMホストを決定する。続いて、第2決定部30bは、移動先のVMホストが決定されたVMゲストの電源状態に基づいて、当該VMゲストの移動方式を決定する。その後、移動処理部30c、移動対象であるVMゲスト各々について移動先および移動方式が決定された場合に、第1決定部30aが決定した移動先に、第2決定部30bが決定した移動方式で、VMゲスト各々を一括で移動させる。
このように、VMゲストの移動先候補として特定されたVMホストに、実際に移動可能か否かをシミュレーションする。そして、移動可能である場合に、VMゲストの電源状態に応じた移動方式で実際に移動させる。この結果、VMゲストが移動できるVMホストを特定し、特定したVMホストに、VMゲストに適した移動方式で実行させることができる。したがって、各VMゲストについて、移動可能なことを判定して適切な移動方式で一括で移動させることができるので、各VMゲストのマイグレーションの正常終了を確認する手間も省ける。この結果、VMゲストを1つずつ移動させるより、VMゲストの移動処理を管理する管理者の作業時間を短縮することができる。
次に、実施例2に係る移動管理装置について説明する。ここでは、図1に示したシステムにおける各装置の構成、処理の流れ、実施例2による効果を説明する。
[システムの構成]
図2は、実施例2に係る移動管理装置を含むシステムを形成する各装置の構成を示すブロック図である。なお、VM管理装置50とVM管理装置70とは同様の構成を有するので、ここでは、VM管理装置50を例にして説明する。同様に、図1に示した各サーバは同様の構成を有するので、ここでは、サーバ60を例にして説明する。
(移動管理装置の構成)
図2に示すように、移動管理装置30は、通信制御I/F部31と、入力部32と、表示部33と、記憶部34と、各制御部とを有する。なお、各制御部は、例えばCPUなどの電子回路であり、VMホスト生成部35、VMゲスト候補生成部36、移動先候補生成部37、移動判定部38、移動種別決定部39、移動指示部40を有する。
通信制御I/F部31は、少なくとも1つのポートを有し、他の装置との通信を制御するインタフェースである。例えば、通信制御I/F部31は、クライアント装置10と接続され、VMゲストのマイグレーション処理の開始指示を受信して、各制御部に出力する。また、通信制御I/F部31は、VM管理装置50やVM管理装置70と接続され、VM管理装置50やVM管理装置70に、移動指示部40から指示されたVMゲストのマイグレーション指示を送信する。また、通信制御I/F部31は、VM管理装置50やVM管理装置70からマイグレーション結果を受信する。また、通信制御I/F部31は、各制御部が生成したWeb画面をクライアント装置10に送信する。
入力部32は、例えばキーボードやマウスなどの入力装置であり、表示部33と協働してポインティングディバイス機能を実現し、表示部33に表示される入力画面や選択画面への入力を受け付けて、表示部33や各制御部に出力する。一例を挙げると、入力部32は、移動対象のVMホストやVMゲストの選択、移動種別の選択などを受け付ける。表示部33は、例えばディスプレイなどの表示装置であり、各制御部によって生成されたWeb画面などを表示する。
記憶部34は、例えば半導体メモリ素子やハードディスクなどの記憶装置である。この記憶部34は、変数管理テーブル34aと、VMホストテーブル34bと、VMテーブル34cと、VMゲストテーブル34dと、サーバプロファイルテーブル34eと、VM管理テーブル34fと、管理ソフトテーブル34gとを有する。なお、各テーブルの説明で例示する情報は、あくまで例示であり、これに限定されるものではなく、任意に設定変更できる。また、各テーブルに記憶される情報は、管理者等によって更新されてもよく、VM管理装置30によって定期的に更新されてもよい。
変数管理テーブル34aは、各制御部が処理を実行する際に用いる変数を記憶する。例えば、変数管理テーブル34aは、src_vm_hosts変数、src_vm_guests変数、dst_vm_hosts変数、migration_lists変数を記憶する。なお、図3から図6に示した情報は、例えばホスト名ではなくIP(Internet Protocol)アドレスやMAC(Media Access Control)アドレスなど、任意に変更可能である。
src_vm_hosts変数は、VMホスト生成部35等が移動元のVMホストを表示するWeb画面を生成する際に使用される。図3は、変数管理テーブルが記憶するsrc_vm_hosts変数の例を示す図である。図3に示すように、変数管理テーブル34aは、src_vm_hosts変数として「array_index、ID、NAME」を記憶する。ここで記憶される「array_index」は、格納する配列の位置を識別する識別子であり、「ID」は、VMホストを区別するために用いる識別子であり、「NAME」は、移動元のVMホストのホスト名である。
図3の例で説明すると、「array_index=0、ID=1、NAME=Host_a」の場合、src_vm_hosts変数の配列「0」には、ID「1」が割り与えられた「Host_a」のホスト名を有するVMホストに関する情報が格納されていることを示す。また、「array_index=7、ID=8、NAME=Host_h」の場合には、src_vm_hosts変数の配列「7」には、ID「8」が割り与えられた「Host_h」のホスト名を有するVMホストに関する情報が格納されていることを示す。
src_vm_guests変数は、VMゲスト候補生成部36等が移動対象となるVMゲストを表示するWeb画面を生成する際に使用される。図4は、変数管理テーブルが記憶するsrc_vm_guests変数の例を示す図である。なお、図4のs1は、移動候補のVMゲスト一覧を示しており、図4のs2は、s1の状態から「Guest_c1」が移動対象として決定された後の状態を示している。図4に示すように、変数管理テーブル34aは、src_vm_guests変数として「Hash_key、array_index、ID、NAME」を記憶する。ここで記憶される「Hash_key」は、「NAME」に格納されるVMゲストが動作するVMホストを識別する識別子であり、「array_index」は、格納位置を識別する識別子である。また、「ID」は、VMゲストを区別するために用いる識別子であり、「NAME」は、移動候補のVMゲストの名称である。
図4のs1に例示した「Hash_key=2、array_index=2、ID=23、NAME=Guest_b3」の場合について説明する。この場合、Hash_keyが「2」で識別されるVMホストが対応付けられた配列「2」には、ID「23」が割り与えられた移動対象候補であるVMゲスト「Guest_b3」が格納されることを示す。また、「Hash_key=3、array_index=1、ID=27、NAME=Guest_c3」の場合について説明する。この場合、Hash_keyが「3」で識別されるVMホストが対応付けられた配列「1」には、ID「27」が割り与えられた移動対象候補のVMゲスト「Guest_c3」が格納されることを示す。また、図4のs1の状態で「NAME=Guest_c3」が移動先対象として特定された場合には、図4のs2に示すように、「Hash_key=3、array_index=1、ID=27、NAME=Guest_c3」のレコードが削除される。
dst_vm_hosts変数は、移動先候補生成部37等が移動先候補のVMホストを表示するWeb画面を生成する際に使用される。図5は、変数管理テーブルが記憶するdst_vm_hosts変数の例を示す図である。なお、図5のs3は、移動先候補のVMホスト一覧を示しており、図5のs4は、s3の状態から「Guest_b2」が移動対象として決定された後の移動先候補となるVMホスト一覧を示している。図5に示すように、変数管理テーブル34aは、dst_vm_hosts変数として「Hash_key、array_index、ID、NAME」を記憶する。ここで記憶される「Hash_key」は、移動元となるホストを識別する識別子であり、「array_index」は、格納位置を識別する識別子である。また、「ID」は、移動先候補のVMホストを区別するために用いる識別子であり、「NAME」は、移動先候補のVMホストのホスト名である。
図5のs3に例示した「Hash_key=3、array_index=0、ID=1、NAME=Host_a」の場合について説明する。この場合、Hash_keyが「3」である移動元のVMホストに対応付けられた配列「0」には、移動先候補のVMホストとして、ID「1」が割り与えられた「Host_a」が格納されることを示す。また、図5のs3の状態で、VMゲスト「Guest_b2」が移動対象として決定された場合、図5のs4に示すように、「Hash_key=2、array_index=0、ID=6、NAME=Host_f」と「Hash_key=2、array_index=1、ID=7、NAME=Host_g」が追加される。つまり、移動先候補生成部37は、移動対象として決定されたVMゲスト「Guest_b2」の移動先候補として、VMホスト「Host_f」と「Host_g」をdst_vm_hosts変数に追加する。
migration_lists変数は、移動判定部38等が移動対象のVMゲストのマイグレーション手法を決定する場合や、移動指示部40が移動指示を送信する場合に用いられる。図6は、変数管理テーブルが記憶するmigration_lists変数の例を示す図である。図6に示すように、変数管理テーブル34aは、migration_lists変数として「Hash_key、array_index、ID、migration_type」を記憶する。ここで記憶される「Hash_key」は、移動先となるVMホストを識別する識別子であり、「array_index」は、格納位置を識別する識別子である。また、「ID」は、VMゲストを区別するために用いる識別子であり、「migration_type」は、マイグレーションの手法を示す情報である。
図6の例で説明すると、「Hash_key=7」であるVMホストを移動先として配列「0」に格納される「ID=22」のVMゲストは、コールドマイグレーションで移動されることを示す。また、「Hash_key=7」であるVMホストを移動先として配列「1」に格納される「ID=23」のVMゲストは、ライブマイグレーションで移動されることを示す。また、「Hash_key=1」であるVMホストを移動先として配列「0」に格納される「ID=25」のVMゲストは、ライブマイグレーションで移動されることを示す。
図2に戻り、VMホストテーブル34bは、移動管理装置30が管理するVMホストの一覧を記憶する。図7は、VMホストテーブル34bに記憶される情報の例を示す図である。図7に示すように、VMホストテーブル34bは、VMホストの情報として、「ID、NAME、api_type、virtual_machines、logical_server_id(SV)」を対応付けて記憶する。なお、ここで記憶される情報は、管理者等によって手動やジョブなどよって随時更新されてもよく、移動管理装置30が各VM管理装置から定期的に取得するようにしてもよい。
ここで記憶される「ID」は、VMホストテーブル34bに記憶される情報を識別する識別子であり、「NAME」は、VMホストのホスト名などである。「api_type」は、VMホストを実現してVMゲストを動作させるAPI(Application Programming Interface)の種別を示す。「virtual_machines」は、動作するVMゲストを示す情報であり、配列で格納される。「logical_server_id(SV)」は、後述するサーバプロファイルテーブルのレコードを特定する識別子である。
図7の例の場合、「ID=2」には、「API(B)」上でVMゲスト「VM101〜VM104」を実行するVMホスト「Host_b」の情報が記憶されており、この「Host_b」の情報には、「logical_server_id(SV)=2」が対応付けられている。また、「ID=3」には、「API(A)」上でVMゲスト「VM105〜VM107」を実行するVMホスト「Host_c」の情報が記憶されており、この「Host_c」の情報には、「logical_server_id(SV)=3」が対応付けられている。なお、図7に記載される「省略」は、説明上、記載を省略したことを示しており、例えばVM201〜VM203などの情報が格納される。
VMテーブル34cは、VMホスト上で仮想マシンとして動作しているVMゲストに関する詳細な情報を記憶する。図8は、VMテーブルに記憶される情報の例を示す図である。図8に示すように、VMテーブル34cは、VMゲストに関する詳細な情報として「ID、os_instance、power_status、vm_host_id、メモリ容量、CPU数、CPUスペック」を対応付けて記憶する。
ここで記憶される「ID」は、VMテーブル34cの各レコードを識別する識別子であり、「os_instance」は、VMゲストオブジェクトのリンク先を示す情報であり、仮想マシンとして動作するVMゲストを特定する情報である。「power_status」は、仮想マシン言い換えるとVMゲストの電源状態を示しており、電源がオンの場合には「ON」、電源がオフの場合には「OFF」、電源状態が検出できなかった場合には「unknown」が格納される。「vm_host_id」は、VMゲストが動作するVMホストを特定する情報であり、VMホストテーブル34bのIDが格納される。「メモリ容量」は、VMゲストに割り与えられたメモリ容量であり、「CPU数」は、VMゲストに割り与えられたCPUの数である。「CPUスペック」は、VMゲストに割り与えられたCPUの性能を示す情報であり、ここでは、CPUのクロック周波数が格納される例を示す。
図8の例の場合、IDが「101」であるレコードは、「vm_host_id=2」が割り与えられたVMホスト上で、メモリ容量が1GBであり、1.2GHzのCPU2つが割り与えられたVMゲスト「Guest_b1」が動作していることを示す。また、IDが「102」であるレコードは、「vm_host_id=2」が割り与えられたVMホスト上で、メモリ容量が750MBであり、3GHzのCPU2つが割り与えられたVMゲスト「Guest_b2」が停止中であることを示す。また、IDが「106」であるレコードは、「vm_host_id=3」が割り与えられたVMホスト上で、メモリ容量が1GBであり、2GHzのCPU3つが割り与えられたVMゲスト「Guest_c2」が存在するが、電源状態が検出できない状態であることを示す。
VMゲストテーブル34dは、VMゲストに関する情報を記憶する。図9は、VMゲストテーブルに記憶される情報の例を示す図である。図9に示すように、VMゲストテーブル34dは、VMゲストに関する情報として「ID、NAME、logical_server_id(VM)」を対応付けて記憶する。ここで記憶される「ID」は、VMゲストを一意に識別する識別子であり、「NAME」は、VMゲストの示す名称である。「logical_server_id(VM)」は、VMホストを特定する際に使用される識別子であり、VMテーブル34cに記憶される「ID」が格納される。
図9の例の場合、IDが「21」であるVMゲスト「Guest_b1」に関する情報は、VMテーブル34cのIが「101」であるレコードに対応することが示されている。同様に、IDが「25」であるVMゲスト「Guest_c1」に関する情報は、VMテーブル34cのIDが「105」であるレコードに対応することが示されている。
サーバプロファイルテーブル34eは、VMホストごとに、当該VMホストで利用可能なVM管理ソフトに関する情報を記憶する。図10は、サーバプロファイルテーブル34eに記憶される情報の例を示す図である。図10に示すように、サーバプロファイルテーブル34eは、VMホストの情報として「ID、os_instance、vm_managings」を対応付けて記憶する。
ここで記憶される「ID」は、サーバプロファイルテーブル34eに記憶されるレコード、言い換えると、VMホストを識別する識別子である。「os_instance」は、VMホストオブジェクトのリンク先を示す情報であり、VMゲストが動作するVMホストを特定する情報である。「vm_managings」は、VMホストで利用可能なVM管理ソフト、言い換えると、当該VMホストで対応可能なAPI種別を示し、配列として格納される。図10の場合、IDが「1」であるVMホスト「Host_a」は、AP1、AP2、AP4に対応していることを示している。なお、図10に記載される「省略」は、説明上、記載を単に省略したことを示しており、一般的にはAP1などの情報が格納される。
VM管理テーブル34fは、サーバプロファイルテーブル34eに記憶されるVMホストのVM管理ソフトが属するソフトウェアグループを特定する情報を記憶する。図11は、VM管理テーブルに記憶される情報の例を示す図である。図11に示すように、VM管理テーブル34fは、「ID、management_software_id、logical_server_id(SV)」を対応付けて記憶する。
ここで記憶される「ID」は、サーバプロファイルテーブル34eの各レコードを識別する識別子であり、「management_software_id」は、VM管理ソフトが属するソフトウェアグループを特定する情報である。「logical_server_id(SV)」は、サーバプロファイルテーブルのレコードを特定する識別子である。図11の例で説明すると、ID「1」のレコードは、サーバプロファイルテーブル34eのIDが「8」であるレコードがソフトウェアグループ「1」に属することを示している。同様に、ID「3」のレコードは、サーバプロファイルテーブル34eのIDが「9」であるレコードがソフトウェアグループ「2」に属することを示している。
管理ソフトテーブル34gは、VM管理ソフトのソフトウェアグループを記憶する。図12は、管理ソフトテーブルに記憶される情報の例を示す図である。図12に示すように、管理ソフトテーブル34gは、「ID、managings」として「1、Managing1,Managing3」や「2、Managing2」などを記憶する。
ここで記憶される「ID」は、管理ソフトテーブル34gの各レコードを識別するとともに「managings」を識別する識別子であり、VM管理テーブル34fの「management_software_id」に格納される識別子と同様の識別子である。「managings」は、VM管理ソフトのソフトウェアグループを示す。図12の例で説明すると、VM管理ソフトウェアである「Managing1」と「Managing3」は、ID「1」の同じグループに属し、「Managing2」は、ID「2」のグループに属することを示している。
図2に戻り、VMホスト生成部35は、移動元となるVMホストのリストを生成する。例えば、VMホスト生成部35は、クライアント装置10から送信されたVMゲストのマイグレーション処理開始指示が通信制御I/F部31等によって受け付けられると、図13に示すWeb画面をクライアント装置10に送信する。図13は、マイグレーション処理のTOP画面例を示す図である。図13に示すTOP画面は、「Source VM Host List」フィールドと、「Source VM Guest List」フィールドと、「Target VM Host List」フィールドと、「Cold Migration」フィールドと、「Live Migration」フィールドとを有する。また、各フィールドには、表示内容を上下左右に移動させるスクロールを設けてもよい。
「Source VM Host List」フィールドには、移動元のVMホストの一覧が表示される。「Source VM Guest List」フィールドには、「Source VM Host List」フィールドに表示されたVMホストのうち、ユーザによって選択されたVMホスト上で動作するVMゲストの一覧が移動対象候補のVMゲストとして表示される。「Target VM Host List」フィールドには、移動対象として特定されたVMゲストの移動先候補であるVMホストの一覧が表示される。「Cold Migration」フィールドは、移動先VMホストが決定したVMゲストのうち、移動種別がコールドマイグレーションと決定されたVMゲストの一覧が表示される。「Live Migration」フィールドは、移動先VMホストが決定したVMゲストのうち、移動種別がライブマイグレーションと決定されたVMゲストの一覧が表示される。また、「OK」ボタンがクリックされると、「Cold Migration」フィールドおよび「Live Migration」フィールドに表示されるVMゲストのマイグレーションが開始される。「Cancel」ボタンがクリックされると、マイグレーション処理が終了する。
TOP画面を表示させたVMホスト生成部35は、VMホストテーブル34bの各レコードにおける「NAME」からVMホスト名を取得する。そして、VMホスト生成部35は、取得した各VMホスト名をTOP画面の「Source VM Host List」フィールドに表示させた画面を生成して、クライアント装置10に送信する。このとき、VMホスト生成部35は、VMホストテーブル34bの「ID」と「NAME」とを対応付けて順番に取得し、src_vm_hosts変数の配列「0」から順に格納する。なお、格納順序は、配列番号の昇順に限らず、ランダムに取得して、配列にランダムに格納してもよい。
一例を挙げると、VMホスト生成部35は、TOP画面を表示させた後、図7に示した「NAME」を取得し、取得した「NAME」が表示されるアイコン等を生成する。そして、VMホスト生成部35は、生成したアイコンを「Source VM Host List」フィールドに表示させた画面を生成して、クライアント装置10に送信する。また、VMホスト生成部35は、生成したアイコン順に、src_vm_hosts変数の配列に、VMホストテーブル34bの「ID」と「NAME」を格納する。具体的には、VMホスト生成部35は、1番目に生成したアイコンに表示される「NAME」と「ID」とを配列「0」に格納し、2番目に生成したアイコンに表示される「NAME」と「ID」とを配列「1」に格納する。このようにすることで、VMホスト生成部35は、アイコンとテーブルの情報とを対応付けることができる。
図2に戻り、VMゲスト候補生成部36は、移動対象候補となるVMゲストの一覧を生成する。例えば、VMゲスト候補生成部36は、VMホスト生成部35が表示した画面の「Source VM Host List」フィールドに表示されるVMホストから、通信制御部I/F部31を介してユーザの選択を受け付ける。そして、VMゲスト候補生成部36は、選択されたVMホストで動作しているVMゲストを抽出し、抽出したVMゲストを「Source VM Guest List」フィールドに表示させた画面をクライアント装置10に送信する。
具体例を挙げると、VMゲスト候補生成部36は、VMホスト生成部35によって移動元VMホスト一覧が表示されると、src_vm_guests変数を生成する。そして、VMゲスト候補生成部36は、VMホストのアイコンがクリックされると、当該アイコンに対応するsrc_vm_hosts変数の配列から、クリックされたVMホストを特定する。続いて、VMゲスト候補生成部36は、特定したVMホストに対応付けてsrc_vm_guests変数の「NAME」に格納されるVMゲスト名を表示させたアイコンを生成する。その後、VMゲスト候補生成部36は、生成したアイコンを「Source VM Guest List」フィールドに表示させた画面をクライアント装置10に送信する。つまり、VMゲスト候補生成部36は、選択されたVMホスト上で動作するVMゲストを移動対象候補のVMゲストとしてユーザに表示する。
ここで、まず、src_vm_guests変数の生成例について説明する。VMゲスト候補生成部36は、VMホストテーブル34bを参照して、src_vm_hosts変数の「NAME=Host_b」に対応する「virtual_machines」として「VM101〜VM104」を特定する。そして、VMゲスト候補生成部36は、「VM101」の「101」をキーにして、VMゲストテーブル34dを検索し、「ID=21」と「NAME=Guest_b1」を特定する。また、VMゲスト候補生成部36は、「VM101」の「101」をキーにして、VMテーブル34cを検索し、「vm_host_id=2」を特定する。その後、VMゲスト候補生成部36は、特定した「vm_host_id=2」を「Hsh_key」とする配列(array_index)の「0」に、特定した「ID=21」と「NAME=Guest_b1」を登録したsrc_vm_guests変数を生成する。
同様に、VMゲスト候補生成部36は、「NAME=Guest_b1」と同様に「Host_b」で動作する「NAME=Guest_b2」、「NAME=Guest_b3」、「NAME=Guest_b4」についても上記処理を実行する。具体的には、VMゲスト候補生成部36は、「NAME=Guest_b2」については、「vm_host_id=2」を「Hsh_key」とする配列「1」に格納し、「NAME=Guest_b3」については配列「2」に格納し、「NAME=Guest_b4」については、配列「3」に格納する。このように、VMゲスト候補生成部36は、src_vm_hosts変数に格納されるVMホスト各々について、上記処理を実行して図4に示すようなsrc_vm_guests変数を生成する。
このとき、VMゲスト候補生成部36は、VMテーブル34cを検索した際に、「power_status」が「unkown」となっているVMゲストについてはsrc_vm_guests変数に格納しないようにすることもできる。例えば、VMゲスト候補生成部36は、図8に示した「Guest_b4」の「power_status」が「unkown」となっているために、図4のs1に示すように、「Guest_b4」をsrc_vm_guests変数に格納していない。
次に、VMゲスト候補生成部36がsrc_vm_guests変数を生成した状態で、ユーザがVMホストを選択した場合に、移動対象候補のVMゲストを表示する例について説明する。例えば、VMゲスト候補生成部36は、VMホストが表示されるアイコンがクリックされると、当該アイコンに対応するsrc_vm_hosts変数の配列から、クリックされたVMホストを特定する。
ここでは、ユーザによって「Host_b」が選択されたとする。この場合、VMゲスト候補生成部36は、src_vm_hosts変数を参照し、「Host_b」に対応する「ID=2」を特定する。そして、VMゲスト候補生成部36は、「ID=2」をキーにしてsrc_vm_guests変数の「Hash_key」を検索し、「NAME=Guest_b1」〜「NAME=Guest_b3」を特定する。その後、VMゲスト候補生成部36は、「NAME=Guest_b1」〜「NAME=Guest_b3」各々を示すアイコンを生成して、生成したアイコンを「Source VM Guest List」フィールドに表示させた画面をクライアント装置10に送信する。なお、VMゲスト候補生成部36は、array_indexの順番でアイコンを生成して表示させることで、アイコンとsrc_vm_guests変数とを関連付けることもできる。
図2に戻り、移動先候補生成部37は、移動対象のVMゲストが決定された場合に、移動先対象候補であるVMホストの一覧を生成する。具体的には、移動先候補生成部37は、ユーザの選択によって移動対象のVMゲストを特定し、特定したVMゲストの移動先候補を生成してユーザに表示する。
例えば、ユーザが、VMゲスト候補生成部36によって生成された「Source VM Guest List」フィールドの「Guest_b2」をクリックしたとする。この場合、移動先候補生成部37は、クリックされた「Guest_b2」を移動対象のVMゲストとして特定する。続いて、移動先候補生成部37は、「Guest_b2」の「Hash_key=2」をsrc_vm_guests変数から特定し、「Hash_key=2」をキーにしてVMホストテーブル34bの「ID」を検索する。そして、移動先候補生成部37は、「Hash_key=2」に対応する「NAME=Host_b」と「api_type=API(B)」をVMホストテーブル34bから抽出する。このようにして、移動先候補生成部37は、移動対象のVMゲストが動作するVMホストのapi_type、すなわち移動元VMホストが実行しているVM管理ソフトの種別を特定することができる。
その後、移動先候補生成部37は、「api_type=API(B)」をキーにしてVMホストテーブル34bの「api_type」を検索し、「api_type=API(B)」に対応付けられた「NAME」と「ID」を特定する。図7の例の場合、移動先候補生成部37は、「api_type=API(B)」であるVMホストとして「NAME=Host_f、ID=6」と「NAME=Host_g、ID=7」とを特定する。このようにして、移動先候補生成部37は、移動元VMホストと同様のVM動作環境を提供する移動先候補を特定することができる。
このとき、移動先候補生成部37は、移動元VMホストと同一の管理ソフトを有する移動先が存在しない場合には、移動元VMホストが実行する管理ソフトに対応した管理ソフトを実行する移動先を特定するようにしてもよい。さらに、移動先候補生成部37は、移動元VMホストの管理ソフトと同一ではないが同種の管理ソフトを実行するVMホストを特定するようにしてもよい。上記した例の場合、移動先候補生成部37は、「api_type=API(B)」と同一の管理ソフトを実行する「NAME」と「ID」だけでなく、「api_type=API(B)」と同種類の「API(B-1)」を実行する「NAME」と「ID」を特定するようにしてもよい。また、別例としては、移動先候補生成部37は、VM管理テーブル34fと管理ソフトテーブル34gを参照して、移動元VMホストのVM管理ソフトが属するグループ「manageings」を特定する。そして、移動先候補生成部37は、特定したグループ「manageings」と同じグループに属するVMホストを移動先候補とすることもできる。
その後、移動先候補生成部37は、dst_vm_hosts変数において、移動元VMホストの「Hash_key=2」に対応付けて、「array_index=0」に「ID=6、NAME=Host_f」を格納し、「array_index=1」に「ID=7、NAME=Host_g」を格納する。このようにして、移動先候補生成部37は、dst_vm_hosts変数を生成する。そして、移動先候補生成部37は、dst_vm_hosts変数に格納される「NAME」が表示されるアイコン等を生成し、生成したアイコン等を「Target VM Host List」フィールドにさらに表示させた画面をクライアント装置10に送信する。なお、移動先候補生成部37は、Hash_keyおよびarray_indexの順番でアイコンを生成して表示させることで、アイコンとdst_vm_hosts変数とを関連付けることもできる。
図2に戻り、移動判定部38は、移動対象VMゲストの移動先として特定されたVMホストに移動シミュレーションを実行して、移動可能か否かを判定する。例えば、移動判定部38は、まず、移動先候補生成部37によって生成された画面からユーザの選択を受け付けて、移動先候補となるVMホストを特定する。次に、移動判定部38は、移動先候補生成部37が特定した移動対象VMゲストのリソース状況等を用いて、移動先候補のVMホストに移動シミュレーションを実行して移動可能か否かを判定する。その後、移動判定部38は、移動可能と判定した場合には、移動種別決定部39にその旨を通知して処理を移行し、移動不可能と判定した場合には、ユーザにその旨を報知して別のVMホストを選択させる。
ここで、ユーザ端末が、移動先候補生成部37によって生成された「Target VM Host List」フィールドに表示される「Host_c」をクリックしたとする。この場合、移動判定部38は、移動先候補のVMホストを「Host_c」と特定する。つまり、移動判定部38は、移動対象のVMゲストが「Guest_b2」であり、移動先候補のVMホストを「Host_c」であると特定する。
次に、移動判定部38は、VMホスト「Host_c」を移動先して既に決定されたVMゲストが存在するか否かを、migration_list変数から判定する。具体的には、移動判定部38は、migration_list変数に、「Host_c」を示す「Hash_key=2」であるレコードが存在するか否かを判定する。そして、移動判定部38は、migration_list変数に「Hash_key=2」が存在しない場合、「Host_c」を移動先候補とするVMゲストが、現在の移動対象である「Guest_b2」のみであると判定する。
この場合、移動判定部38は、「Guest_b2」のマイグレーションコマンドを「Host_c」に発行して移動可能か否かを判定する。一手法としては、移動判定部38は、「Host_c」で動作しているVMゲストの数が「Host_c」の上限を超えていないかで判定することもできる。また、移動判定部38は、「Host_c」のリソース状況をVM管理装置から取得するとともに、「Guest_b2」のリソース状況をVMテーブル34cから取得して、「Host_c」で「Guest_b2」が動作可能か否かによって、移動可能か否かを判定することもできる。なお、リソース状況としては、CPU数、メモリ容量、ネットワーク帯域量などが挙げられる。
一方、migration_list変数に「Hash_key=2」が存在する場合、移動判定部38は、移動先候補のVMホスト「Host_c」で稼動するVM管理ソフトが、複数マイグレーションに対応しているソフトウェアであるか否かを判定する。一例を挙げると、移動判定部38は、サーバプロファイルテーブル34eを参照して、移動先候補のVMホスト「Host_c」に対応付けられた「ID」を抽出する。そして、移動判定部38は、抽出した「ID」に対応付けられた「management_software_id」をVM管理テーブル34fから抽出する。さらに、移動判定部38は、抽出した「management_software_id」に対応付けられた「managings」を管理ソフトテーブル34gから特定する。そして、移動判定部38は、インターネットや管理者等によってメモリ等に登録されている情報等に基づいて、特定した「managings」が複数マイグレーションに対応しているソフトウェア種別であるか否かを判定する。
そして、移動判定部38は、複数マイグレーションに対応しているソフトウェアであると判定した場合、「Host_c」のリソース状況と、既に移動する決定されている他VMゲストのリソース状況とから、「Guest_b2」が使用可能なリソース状況を特定する。その後、移動判定部38は、特定したリソース状況下で「Guest_b2」が動作可能か否かによって、「Guest_b2」が「Host_c」に移動可能か否かを判定する。別例としては、移動判定部38は、「Guest_b2」および他VMゲストのマイグレーションコマンドを同時に発行して、エラーが発生しないか否かを判定材料とすることもできる。
また、移動判定部38は、複数マイグレーションに対応していないソフトウェアであると判定した場合、既に移動が決定されている他VMゲストのリソース状況と、「Guest_b2」のリソース状況とを加算した1つのリソース状況を生成する。そして、移動判定部38は、生成した1つのリソース状況が「Host_c」のリソース状況の範囲内である場合には、「Guest_b2」が移動可能であると判定する。一方、移動判定部38は、生成した1つのリソース状況が「Host_c」のリソース状況の範囲内にない場合には、他VMゲストが「Host_c」に移動可能であり、「Guest_b2」が「Host_c」に移動不可能であると判定する。なお、移動判定部38は、他VMゲストのリソース状況や「Guest_b2」のリソース状況をVMテーブル34cから取得することができ、「Host_c」のリソース情報をVM管理装置50、70から取得することができる。このようにして、移動判定部38は、VMゲストの移動先を特定する。
移動種別決定部39は、移動判定部38が特定した移動対象のVMゲストの移動種別を決定する。具体的には、移動種別決定部39は、VMテーブル34cを参照して、移動対象のVMゲストの電源状態が「ON」である場合に、当該VMゲストの移動種別を「ライブマイグレーション」と決定する。また、移動種別決定部39は、VMテーブル34cを参照して、移動対象のVMゲストの電源状態が「OFF」である場合に、当該VMゲストの移動種別を「コールドマイグレーション」と決定する。また、移動種別決定部39は、VMテーブル34cを参照して、移動対象のVMゲストの電源状態が「unknown」である場合に、当該VMゲストの移動が「不可能」としてユーザに報知してもよく、移動種別を「コールドマイグレーション」と決定してもよい。
そして、移動種別決定部39は、移動種別が「コールドマイグレーション」と決定されたVMゲストの「NAME」をVMゲストテーブル34dから取得してアイコン等を生成する。その後、移動種別決定部39は、画面の「Cold Migration」フィールドに、生成したアイコン等を表示させる。同様に、移動種別決定部39は、移動種別が「ライブマイグレーション」と決定されたVMゲストの「NAME」をVMゲストテーブル34dから取得してアイコン等を生成する。その後、移動種別決定部39は、画面の「Live Migration」フィールドに、生成したアイコン等を表示させる。その後、移動種別決定部39は、生成したアイコンが表示される画面をクライアント装置10に送信する。
このとき、移動種別決定部39は、移動先VMホストの「Hash_key」をVMホストテーブル34b等から取得し、移動対象VMゲストの「ID」をVMゲストテーブル34e等から取得する。そして、移動種別決定部39は、migration_lists変数に、「Hash_key」と「ID」と決定された「マイグレーション種別」とを対応付けて格納する。
例えば、図6に示す状態で、「Guest_c2」が「Host_g」へ「ライブマイグレーションI」すると決定された例について説明する。この場合、移動種別決定部39は、「Guest_c2」の「ID=26」をVMゲストテーブル34eから特定し、「Host_g」の「Hash_key=7」をVMホストテーブル34bから取得する。そして、migration_lists変数の「Hash_key=7」の配列「0」および「1」に既にデータが登録されていることから、移動種別決定部39は、「Hash_key=7」とする配列「2」に対応付けて、「ID=26」および「live」をmigration_lists変数に格納する。
移動指示部40は、移動対象であるVMゲスト各々について移動先および移動方式が決定された場合に、移動種別決定部39によって決定された移動先に、移動種別決定部39によって決定された移動方式で、VMゲスト各々を移動させる。
例えば図6を例にして説明すると、移動指示部40は、クライアント装置10に表示される画面において「OK」がクリックされた場合、migration_lists変数を参照する。そして、移動指示部40は、「ID=22」のVMゲストが動作するVMホストを管理するVM管理装置50、70に、「Hash_Key=7」で特定されるVMホストへ「コールドマイグレーション」により、「ID=22」のVMゲストを移動させることを指示する。
このとき、移動指示部40は、移動対象のVMゲストの移動を一気に実行してもよい。また、移動指示部40は、「migration_type=cold」となっているVMゲストのマイグレーションを先に実行して完了した後に、「migration_type=Live」となっているVMゲストのマイグレーションを実行してもよい。そして、移動指示部40は、migration_lists変数に格納されるマイグレーションが終了すると、migration_lists変数を初期値に戻す。
(VM管理装置の構成)
次に、VM管理装置の構成について説明する。図2に示すように、VM管理装置50は、通信制御I/F部51とVM構成管理テーブル52と制御部53とを有する。
通信制御I/F部51は、少なくとも1つのポートを有し、移動管理装置30とVM管理装置50との間の通信や各サーバ60とVM管理装置50との間の通信を制御するインタフェースである。例えば、通信制御I/F部51は、VM管理装置50からVMゲストのマイグレーション指示を受信したり、各VMホストとの間のマイグレーションに関する各種通信を送受信したりする。
VM構成管理テーブル52は、半導体メモリ素子やハードディスクなどの記憶装置であり、VM管理装置50の管理下にあるVMホストおよびVMゲストに関する情報を記憶する。例えば、VM構成管理テーブル52は、サーバのIPアドレス、サーバで稼動するVMホスト、VM環境を提供するVM管理ソフト、VMホストで利用可能なリソース状況、動作しているVMゲストの数および各リソース状況などを記憶する。なお、ここで記憶される情報は、任意に設定変更でき、管理者等によって登録および更新されてもよく、各サーバから定期的に取得するようにしてもよい。また、VM管理装置50の制御部53は、VM構成管理テーブル52が記憶する情報を、移動管理装置30に定期的に送信するようにしてもよい。
制御部53は、内部メモリ等を有するCPUなどの電子回路であり、VM管理装置50が実行する各種処理を制御する。例えば、制御部53は、移動管理装置30からマイグレーション指示として、「移動種別」と「VMゲスト」と「VMホスト」とを受信する。そして、制御部53は、「移動種別」が「cold」であれば、指示されたVMゲストの移動元VMホストと移動先VMホストとにコールドマイグレーション指示を送信する。なお、ここで実行されるマイグレーションは、一般的なマイグレーションであるので詳細な説明は省略する。例えば、マイグレーション指示とは、移動対象VMゲストの作成指示、メモリ内容をコピーするプレコピー指示およびストップアンドコピー指示、移動が完了したVMゲストの起動指示、移動元へのVMゲスト削除指示などがある。
(サーバの構成)
次に、図1に示した各サーバの構成について説明する。図2に示すように、サーバ60は、通信制御I/F部61と制御部62とを有する。
通信制御I/F部61は、少なくとも1つのポートを有し、サーバ60とVM管理装置50との間の通信を制御するインタフェースである。例えば、通信制御I/F部61は、上記マイグレーション指示をVM管理装置50から受信して、制御部62に通知する。
制御部62は、内部メモリ等を有するCPUなどの電子回路であり、サーバ60における各種処理を実行する。例えば、制御部62は、VM管理ソフトを稼動させてVMホストを実行し、VMホスト上でVMゲストを動作させて仮想マシン環境を実現する。また、制御部62は、VM管理装置50から受信したマイグレーション指示に従って、VMゲスト作成、プレコピー、ストップアンドコピー、VM起動、VM削除などのマイグレーション処理を実行する。
[処理の流れ]
次に、図14〜図18を用いて、移動管理装置30が実行する各処理の流れを説明する。ここでは、図14を用いて全体的な処理の流れを説明し、図15を用いてVMゲスト候補生成処理の流れを説明する。また、図16を用いて移動先候補のVMホストリスト生成処理の流れを説明し、図17を用いて移動可能判定処理の流れを説明し、図18を用いて移動種別決定処理の流れを説明する。
(全体的な処理の流れ)
図14は、移動管理装置30が実行する処理の全体的な流れを説明するフローチャートである。図14に示すように、移動管理装置30のVMホスト生成部35は、クライアント装置10からVM処理開始指示を受信すると(S101肯定)、図13に例示したTOP画面をクライアント装置10に送信する(S102)。また、VM処理開始指示は、入力部32を介して管理者から受信することもできる。
続いて、VMホスト生成部35は、TOP画面の「Source VM Host List」フィールドにVMホスト名を表示させた画面をクライアント装置10に送信し、移動元VMホストの選択を受け付ける(S103)。例えば、VMホスト生成部35は、VM処理開始指示を受け付けると、VMホストテーブル34bに記憶されるVMホストをsrc_vm_hosts変数に格納して、移動元VMホストを選択させる画面をクライアント装置10に送信する。
そして、VMゲスト候補生成部36は、移動元VMホストの選択を受け付けると(S103肯定)、選択されたVMホストで動作するVMゲストを「Source VM Guest List」フィールドに表示させた画面をクライアント装置10に送信する(S104)。
続いて、移動先候補生成部37は、VMゲスト候補生成部36が生成した画面上で、移動対象とするVMゲストの選択を受け付ける(S105肯定)。その後、移動先候補生成部37は、選択されたVMゲストの移動先候補を「Target VM Host List」フィールドに表示させた画面をクライアント装置10に送信する(S106)。このとき、移動先候補生成部37は、移動元VMホストのVM管理ソフト等に基づいて、移動先候補のVMホストを決定する。
そして、移動判定部38は、移動先候補生成部37が生成した画面上で、移動先候補とするVMホストの選択を受け付ける(S107肯定)。その後、移動判定部38は、S103で選択されたVMゲストがS107で選択されたVMホストに移動可能か否かをシミュレーションによって判定する(S108)。
そして、移動種別決定部39は、移動判定部38によって移動可能と判定されたVMホストを移動先として決定し(S109肯定)、S103で選択されたVMゲストの電源状態に応じて移動種別を決定する(S110)。一方、移動判定部38は、ユーザが選択したVMホストに移動不可能と判定した場合には(S109否定)、S106に戻って、他のVMホストをユーザに選択させた後、S107以降の処理を実行する。
そして、移動指示部40は、移動対象の全VMゲストに対してS103〜S110までの処理が終了したとユーザが判定し(S111肯定)、クライアント装置10に表示される画面上で「OK」ボタンがクリックされると(S112肯定)、S113を実行する。すなわち、移動指示部40は、移動対象であるVMゲスト各々について移動先および移動方式が決定された場合に、移動種別決定部39によって決定された移動先に、移動種別決定部39によって決定された移動方式で、VMゲスト各々を移動させる。一方、ユーザが他のVMゲストに対してもS103〜S110までの処理を実行すると判定した場合(S111否定)、S103以降の処理が繰り返される。
(VMゲスト候補生成処理の流れ)
図15は、VMゲスト候補生成処理の流れを説明するフローチャートである。この処理は、図14に示したS104〜S105で実行される。以降で説明するフローチャートは、VMホスト生成部35が表示させたVMホスト一覧の中から1つのVMホストが選択された状態から実行される。
VMゲスト候補生成部36は、処理を開始すると初期化を実施する(S201)。すなわち、VMゲスト候補生成部36は、src_vm_guests変数を空にする。また、VMゲスト候補生成部36は、src_vm_guests変数を生成するのに使用する調査リストに、ユーザによって選択されたVMホストで動作するVMゲストをVMホストテーブル34bおよびVMゲストテーブル34dから特定して格納する。
続いて、VMゲスト候補生成部36は、調査リストに情報が格納されている場合には(S202肯定)、移動対象候補を表示させた画面を生成してクライアント装置10に送信する。すなわち、VMゲスト候補生成部36は、src_vm_guests変数に格納されたデータに基づいて、移動対象候補を表示させる(S207)。
また、VMゲスト候補生成部36は、調査リストに情報が格納されていない場合には(S202否定)、調査リストからVMゲストを1つ読み出し、臨時変数としてメモリ等に格納する(S203)。
続いて、VMゲスト候補生成部36は、臨時変数に格納したVMゲストの電源状態をVMテーブル34cから特定し、電源状態が正常であるか否かを判定する(S204)。ここで、VMゲスト候補生成部36は、当該VMゲストの電源状態が「unknown」でない場合には正常であると判定する。
そして、VMゲスト候補生成部36は、当該VMゲストの電源状態が正常である場合には(S204肯定)、当該VMゲストを移動可能候補としてsrc_vm_guests変数に格納し(S205)、臨時変数を空にした後に(S206)、S202以降の処理を繰り返す。一方、VMゲスト候補生成部36は、当該VMゲストの電源状態が正常でない場合には(S204否定)、当該VMゲストを移動可能候補とせずに臨時変数を空にした後に(S206)、S202以降の処理を繰り返す。
(移動先候補のVMホストリスト生成処理の流れ)
図16は、移動先候補のVMホストリスト生成処理の流れを説明するフローチャートである。この処理は、図14に示したS106〜S107で実行される。
移動先候補生成部37は、ユーザによって移動先対象のVMゲストが選択されると、当該VMゲストのキーとして、VMゲストと対応付けられてsrc_vm_guests変数に格納される「Hash_key」を取得する(S301)。続いて、移動先候補生成部37は、「Hash_key=2」をキーにしてVMホストテーブル34bの「ID」を検索して、「Hash_key=2」に対応する「NAME=Host_b」と「api_type=API(B)」を抽出する(S302)。
そして、移動先候補生成部37は、移動先候補VMホストリストを生成するのに使用する一時的なバッファである「管理ソフトリスト」と「移動先VMホスト候補リスト」を空にする初期化を実行する(S303)。
その後、移動先候補生成部37は、S302で特定した移動元VMホストの「api_type」が所定の管理ソフトであるか否かを判定する(S304)。そして、移動先候補生成部37は、移動元VMホストの「api_type」が所定の管理ソフトである場合(S304肯定)、所定の管理ソフトを動作させるVMホストをVMホストテーブル34bから特定して「移動先VMホスト候補リスト」に格納する(S305)。このとき、移動先候補生成部37は、「移動先VMホスト候補リスト」に格納した情報をdst_vm_hosts変数にも格納する。その後、移動先候補生成部37は、「移動先VMホスト候補リスト」やdst_vm_hosts変数に格納されるVMホストを、移動先候補のVMホストとしてクライアント装置10に表示させる(S306)。
なお、所定の管理ソフトであるか否かを判定した後に移動先VMホスト候補を作成する例としては、例えば移動元VMホストと同じメーカの管理ソフトを使用しているか否かなどを判定してもよい。また、仮想化環境を提供する仮想化ソフトウェアのプラットフォームが同じものか否か、すなわち、ハードウェアレベルで提供しているのか、ソフトウェアレベルで提供しているのか、言語レベルなのかを判定してもよい。また、S304およびS305で実行される別の処理例としては、移動先候補生成部37は、移動元VMホストの管理ソフトと同一の管理ソフトを動作させるVMホストを特定するようにしてもよい。
一方、移動先候補生成部37は、移動元VMホストの「api_type」が所定の管理ソフトでない場合(S304否定)、移動元VMホストの管理ソフトを「管理ソフトリスト」に格納する(S307)。すなわち、移動先候補生成部37は、移動元VMホストにインストールされて動作する管理ソフトをサーバプロファイルテーブル34eから特定して、「管理ソフトリスト」に格納する。
そして、移動先候補生成部37は、「管理ソフトリスト」に格納される管理ソフトが1つ以上である場合(S308肯定)、「管理ソフトリスト」から管理ソフト1つを取得して臨時変数に格納する(S309)。このとき、移動先候補生成部37は、臨時変数に格納した管理ソフトを「管理ソフトリスト」から削除する。なお、「管理ソフトリスト」に格納される管理ソフトが1つもない場合(S308否定)、移動先候補生成部37はS312を実行する。
続いて、移動先候補生成部37は、臨時変数に格納した管理ソフトが管理するVMホストが1つ以上であるか否かを判定する(S310)。具体的には、移動先候補生成部37は、臨時変数に格納した管理ソフトが属するソフトウェアグループを管理ソフトテーブル34gから特定する。そして、移動先候補生成部37は、特定したソフトウェアテーブルに属する管理ソフトを動作させるVMホストを、VM管理テーブル34fおよびVMテーブル34cから特定する。こうすることで、移動先候補生成部37は、移動元VMホストと同種の仮想化環境を提供するVMホストを特定することができる。
そして、移動先候補生成部37は、臨時変数に格納した管理ソフトが管理するVMホストが1つ以上である場合(S310肯定)、当該管理ソフトが管理するVMホストを「移動先VMホスト候補リスト」に格納する(S311)。このとき、移動先候補生成部37は、移動元VMホストについては格納対象外とする。また、移動先候補生成部37は、「移動先VMホスト候補リスト」に格納した情報をdst_vm_hosts変数にも格納する。
その後、移動先候補生成部37は、臨時変数に格納される情報を削除する初期化を行って(S312)、S308以降の処理を繰り返す。また、移動先候補生成部37は、S310において、臨時変数に格納した管理ソフトが管理するVMホストが1つもないと判定した場合(S310否定)、S312を実行する。
(移動可能判定処理の流れ)
図17は、移動可能判定処理の流れを説明するフローチャートである。この処理は、図14に示したS108〜S109で実行される。
移動判定部38は、移動先候補生成部37によって特定された移動先候補VMホストリストからユーザによって選択された移動先候補VMホストの「移動決定済みVMゲストリスト」が未設定であるか否かを判定する(S401)。すなわち、移動判定部38は、移動先候補のVMホストを移動先とする他のVMゲストが存在するか否かを示す「移動決定済みVMゲストリスト」が存在するか否かを判定する。
そして、移動判定部38は、「移動決定済みVMゲストリスト」が未設定である場合(S401肯定)、「移動決定済みVMゲストリスト」の初期化を実行する(S402)。例えば、移動判定部38は、「移動決定済みVMゲストリスト」に記憶されるデータを削除する。
一方、移動判定部38は、「移動決定済みVMゲストリスト」が設定済みである場合(S401否定)、「移動決定済みVMゲストリスト」を表示した画面をクライアント装置10に送信する(S403)。こうすることで、移動判定部38は、ユーザに、移動決定済みVMゲストに対する再考機会を与えることができる。
その後、移動判定部38は、移動先候補のVMホストを移動先とするVMゲストをまとめた「複数VMゲストリスト」を生成する(S404)。続いて、移動判定部38は、移動先候補のVMホストで動作するVM管理ソフトが複数移動に対応しているか否かを、VM管理テーブル34fに記憶される「managings」などの情報を用いて判定する(S405)。
そして、移動判定部38は、VM管理ソフトが複数移動に対応している場合(S405肯定)、マイグレーションコマンド等の引数に、複数VMゲストを設定し(S406)、シミュレーションを実行する(S407)。その後、移動判定部38は、シミュレーション結果を表示した画面をクライアント装置10に送信する(S408)。例えば、移動判定部38は、同一のVMホストに、複数のVMゲストのマイグレーションを同時に実行したり、連続して実行したり、先に決定されていたVMゲストを移動させた状態で次に移動可能か否かを判定したりするなど任意のシミュレーションを実行する。なお、移動判定部38は、シミュレーションによる判定手法として、リソース状況の比較コマンドの発行などを実行する。
一方、移動判定部38は、VM管理ソフトが複数移動に対応していない場合(S405否定)、各VMゲストのリソースを加算した1つのVMリストを移動条件として生成する(S406)。そして、移動判定部38は、S407以降で、この移動条件が移動先候補のVMゲストで移動可能か否かを判定する。
(移動種別決定処理の流れ)
図18は、移動種別決定処理の流れを説明するフローチャートである。この処理は、図14に示したS110で実行される。この処理は、移動先が決定されたVMゲスト各々について実行される。なお、ここでは、移動種別決定部39が移動対象のVMゲストに適した移動種別を決定する例を説明するが、これに限定されるものではない。例えば、ユーザに適切な移動種別を表示し、ユーザが最終的に移動種別を決定することもできる。
まず、移動種別決定部39は、移動判定部38によって移動対象のVMゲストおよび移動先VMホストが決定されると、クライアント装置10に表示されている画面の移動種別を非活性化にする(S501)。つまり、移動種別決定部39は、図13に示した画面上の「Cold Migration」フィールドおよび「Live Migration」フィールドを非活性化状態にする。
続いて、移動種別決定部39は、移動対象のVMゲストの電源状態をVMテーブル34cから特定する(S502)。そして、移動種別決定部39は、当該VMゲストの電源状態が「ON」である場合には、「Cold Migration」フィールドおよび「Live Migration」フィールドの両方を活性化する(S503)。その後、移動種別決定部39は、当該VMゲストのアイコンを「Live Migration」フィールドに表示させる(S504)。
また、移動種別決定部39は、当該VMゲストの電源状態が「OFF」である場合には、「Cold Migration」フィールドを活性化する(S505)。その後、移動種別決定部39は、当該VMゲストのアイコンを「Cold Migration」フィールドに表示させる(S506)。
また、移動種別決定部39は、当該VMゲストの電源状態が「unknown」である場合には、「Cold Migration」フィールドおよび「Live Migration」フィールドの両方を非活性化する(S507)。すなわち、移動種別決定部39は、移動不可能と判定する。
なお、移動種別決定部39は、S502〜S506によって移動種別が決定された場合には、移動先VMホストを示す「Hash_key」、移動対象VMゲストを示す「ID」、移動種別を示す「migration_type」を各テーブルおよび各変数から取得する。そして、移動種別決定部39は、取得した情報を対応付けてmigration_lists変数に格納する。
[画面遷移例]
次に、移動管理装置30がクライアント装置10に送信する画面の具体例を説明する。ここでは、具体例1として、図19〜図24を用いて、移動対象のVMゲストを決定して移動先を決定した後に移動種別を決定する例を説明する。また、具体例2として、図25〜図40を用いて、複数のVMゲストの移動先を決定する例について説明する。なお、各具体例で説明する画面の基本構成は、図13と同様である。すなわち、各具体例で説明する画面例は、「Source VM Host List」フィールドと、「Source VM Guest List」フィールドと、「Target VM Host List」フィールドと、「Cold Migration」フィールドと、「Live Migration」フィールドとを有する。さらに、各具体例で説明する画面例は、「OK」ボタンと「Cancel」ボタンとを有する。
(具体例1)
図19は、TOP画面例を示す図であり、図20は、移動対象のVMゲスト一覧を表示させた画面例を示す図であり、図21は、移動先候補のVMホスト一覧を表示させた画面例を示す図である。図22は、移動先候補として1つのVMホストが選択された画面例を示す図であり、図23は、移動先のVMホストが決定された画面例を示す図であり、図24は、移動種別が決定された画面例を示す図である。
移動管理装置30のVMホスト生成部35は、クライアント装置10から送信されたVMゲストのマイグレーション処理開始指示が通信制御I/F部31等によって受け付けられると、図19に示すTOP画面をクライアント装置10に送信する。具体的には、VMホスト生成部35は、図13に示した各フィールドを有する画面において、VMホストテーブル34b等から取得したVMホスト名(NAME)を「Source VM Host List」フィールドに表示させた画面をクライアント装置10に送信する。ここでは、VMホスト生成部35は、「Host_a」、「Host_b」、「Host_c」を表示したとする。
続いて、VMゲスト候補生成部36は、図19の画面例において「Host_c」がクライアント装置10によって選択されると、移動元VMホストを「Host_c」と決定する。続いて、VMゲスト候補生成部36は、各テーブルを参照し、「Host_c」で動作しているVMゲストとして「Guest_c1」と「Guest_c3」を抽出する。そして、VMゲスト候補生成部36は、図20に示すように、「Guest_c1」と「Guest_c3」を「Source VM Guest List」フィールドに表示させた画面をクライアント装置10に送信する。
その後、移動先候補生成部37は、図20の画面例において「Guest_c1」がクライアント装置10において選択されると、各テーブルを参照して、移動元VMホスト「Host_c」と同種または同一のVM管理ソフトを動作させる他のVMホストを特定する。続いて、移動先候補生成部37は、図21に示すように、移動先候補のVMホストとして「Host_a」、「Host_d」、「Host_e」を「Target VM Host List」フィールドに表示させた画面をクライアント装置10に送信する。
この状態で、図22に示すように、クライアント装置10によって「Host_a」が選択された場合、移動判定部38は、移動対象VMゲスト「Guest_c1」が「Host_a」に移動可能か否かを移動シミュレーションによって判定する。そして、移動種別決定部39は、移動判定部38が移動可能と判定した場合、VMゲスト「Guest_c」の電源状態が「ON」であることをVMゲストテーブル34eから特定する。その後、移動種別決定部39は、図23に示すように、「Cold Migration」フィールドと「Live Migration」フィールドとを活性化した状態の画面をクライアント装置10に送信する。この状態の画面例は、「Source VM Host List」フィールドの「Host_c」、「Source VM Guest List」フィールドの「Guest_c1」、「Target VM Host List」フィールドの「Host_a」が選択された状態である。
その後、移動種別決定部39は、図24に示すように、VMゲスト「Guest_c」の電源状態が「ON」であることより、「Live Migration」フィールドに「Guest_c」を表示させた画面をクライアント装置10に送信する。このようにして、各VMゲストに対して移動種別が決定された後に、「OK」がクリックされると、移動指示部40は、migration_lists変数を参照し、「Live Migration」フィールドに表示される「Guest_c」の移動の開始指示をVM管理装置に送信する。そして、VM管理装置は、移動元VMホストおよび移動先VMホストのそれぞれに、ライブマイグレーション指示を送信する。
(具体例2)
図25は、TOP画面例を示す図であり、図26は、移動対象のVMゲスト一覧を表示させた画面例を示す図であり、図27は、移動先候補のVMホスト一覧を表示させた画面例を示す図である。図28は、移動先候補として1つのVMホストが選択された画面例を示す図であり、図29は、移動先のVMホストが決定された画面例を示す図であり、図30は、移動種別が決定された画面例を示す図である。
図31は、既に他のVMゲストの移動が決定された状態で別の移動元VMホストが選択された画面例を示す図であり、図32は、図31の状態から移動対象のVMゲストが選択された画面例を示す図である。図33は、図32の状態から移動先候補のVMホストが選択された画面例を示す図であり、図34は、図33の状態から移動先のVMホストが決定した画面例を示す図であり、図35は、図34の状態から移動種別が決定された画面例を示す図である。
図36は、図35の状態からさらに続けて他のVMゲストの移動先を決定する画面例を示す図であり、図37は、図36の状態から移動先対象のVMゲストが選択された画面例を示す図である。図38は、移動先候補として選択されたVMホストに既に別のVMゲストの移動が決定されている画面例を示す図である。図39は、図38の状態から移動種別が決定された画面例を示す図であり、図40は、1つのVMホストに複数のVMゲストが移動することが決定された画面例を示す図である。
移動管理装置30のVMホスト生成部35は、クライアント装置10から送信されたVMゲストのマイグレーション処理開始指示が通信制御I/F部31等によって受け付けられると、図25に示すTOP画面をクライアント装置10に送信する。具体的には、VMホスト生成部35は、VMホストテーブル34b等から取得したVMホスト名(NAME)を「Source VM Host List」フィールドに表示させた画面をクライアント装置10に送信する。ここでは、VMホスト生成部35は、「Host_a」、「Host_b」、「Host_c」を表示したとする。
続いて、VMゲスト候補生成部36は、図25の画面例において「Host_b」がクライアント装置10によって選択されると、移動元VMホストを「Host_b」と決定する。続いて、VMゲスト候補生成部36は、各テーブルを参照し、「Host_b」で動作しているVMゲストとして「Guest_b1」と「Guest_b2」と「Guest_b3」とを抽出する。そして、VMゲスト候補生成部36は、図26に示すように、「Guest_b1」と「Guest_b2」と「Guest_b3」を「Source VM Guest List」フィールドに表示させた画面をクライアント装置10に送信する。
その後、移動先候補生成部37は、図26の画面例において「Guest_b2」がクライアント装置10において選択されると、各テーブルを参照し、移動元VMホスト「Host_b」と同種または同一のVM管理ソフトを動作させる他のVMホストを特定する。続いて、移動先候補生成部37は、図27に示すように、移動先候補のVMホストとして、「Host_f」、「Host_g」を「Target VM Host List」フィールドに表示させた画面をクライアント装置10に送信する。
この状態で、図28に示すように、クライアント装置10によって「Host_g」が選択された場合、移動判定部38は、移動対象VMゲスト「Guest_b2」が「Host_g」に移動可能か否かを移動シミュレーションによって判定する。そして、移動種別決定部39は、移動判定部38が移動可能と判定した場合、移動対象VMゲスト「Guest_b2」の電源状態に基づいてフィールドを活性化させた画面をクライアント装置10に送信する。
ここでは、移動種別決定部39は、VMゲスト「Guest_b2」の電源状態が「OFF」であることをVMゲストテーブル34eから特定する。すると、移動種別決定部39は、図29に示すように、「Cold Migration」フィールドを活性化した状態の画面をクライアント装置10に送信する。その後、移動種別決定部39は、図30に示すように、VMゲスト電源状態が「OFF」である「Guest_b2」を「Cold Migration」フィールドに表示させた画面をクライアント装置10に送信する。
続いて、図30の状態から「Source VM Host List」フィールドの「Host_c」がクライアント装置10において選択されると、VMゲスト候補生成部36は、移動元VMホストを「Host_c」と決定する。続いて、VMゲスト候補生成部36は、各テーブルを参照して、「Host_c」で動作しているVMゲストとして「Guest_c1」と「Guest_c3」を抽出する。そして、VMゲスト候補生成部36は、図31に示すように、「Guest_c1」と「Guest_c3」を「Source VM Guest List」フィールドに表示させた画面をクライアント装置10に送信する。
その後、移動先候補生成部37は、図31の画面例において「Guest_c1」がクライアント装置10によって選択されると、各テーブルを参照して、移動元VMホスト「Host_c」と同種または同一のVM管理ソフトを動作させる他のVMホストを特定する。続いて、移動先候補生成部37は、図32に示すように、移動先候補のVMホストとして「Host_a」、「Host_d」、「Host_e」を「Target VM Host List」フィールドに表示させた画面をクライアント装置10に送信する。
この状態で、図33に示すように、クライアント装置10において「Host_a」が選択された場合、移動判定部38は、移動対象VMゲスト「Guest_c1」が「Host_a」に移動可能か否かを移動シミュレーションによって判定する。そして、移動種別決定部39は、移動判定部38が移動可能と判定した場合、移動対象VMゲスト「Guest_c1」の電源状態に基づいてフィールドを活性化させた画面をクライアント装置10に送信する。ここでは、移動種別決定部39は、VMゲスト「Guest_c1」の電源状態が「ON」であることをVMゲストテーブル34eから特定する。そして、移動種別決定部39は、図34に示すように、「Cold Migration」フィールドと「Live Migration」フィールドとを活性化した状態の画面をクライアント装置10に送信する。
その後、図35に示すように、移動種別決定部39は、VMゲスト「Guest_c1」の電源状態が「ON」であることより、「Live Migration」フィールドに「Guest_c1」を表示させた画面をクライアント装置10に送信する。つまり、ここまでの状態では、移動管理装置30は、VMホスト「Host_b」で動作する「Guest_b2」を「コールドマイグレーション」で「Host_g」に移動させることが決定されている。さらに、移動管理装置30は、VMホスト「Host_c」で動作する「Guest_c1」を「ライブマイグレーション」で「Host_a」に移動させることが決定されている。
さらに続いて、図36に示すように、図35の状態から「Source VM Host List」フィールドの「Host_b」がクライアント装置10において選択されると、VMゲスト候補生成部36は、移動元VMホストを「Host_b」と決定する。続いて、VMゲスト候補生成部36は、各テーブルを参照して、「Host_b」で動作しているVMゲストとして「Guest_b1」と「Guest_b3」を抽出する。そして、VMゲスト候補生成部36は、図36に示すように、「Guest_b1」と「Guest_b3」を「Source VM Guest List」フィールドに表示させた画面をクライアント装置10に送信する。ここで、クライアント装置10が「Guest_b3」を選択したとする。なお、VMゲスト候補生成部36は、「Guest_b2」については、既に移動先が決定されているので、「Host_b」が移動元と選択されたとしても移動対象からは除外する。
その後、移動先候補生成部37は、「Guest_b3」がクライアント装置10において選択されると、各テーブルを参照して、移動元VMホスト「Host_b」と同種または同一のVM管理ソフトを動作させる他のVMホストを特定する。すなわち、移動先候補生成部37は、図37に示すように、移動先候補のVMホストとして、「Host_f」、「Host_g」を「Target VM Host List」フィールドに表示させた画面をクライアント装置10に送信する。
この状態で、図38に示すように、クライアント装置10において「Host_g」が選択された場合、移動判定部38は、移動対象VMゲスト「Guest_b3」が「Host_g」に移動可能か否かを移動シミュレーションによって判定する。
このとき、移動判定部38は、「Guest_b2」の移動先として「Host_g」が既に決定されているので、クライアント装置10が「Host_g」が選択すると、「Cole Migration」フィールドに「Guest_b2」を表示させた画面をクライアント装置10に送信する。また、移動判定部38は、「Host_g」が「Guest_b2」の移動先として決定されている状態で、新たな「Guest_b3」の移動先候補として選択されたことから、両方が移動可能か否かを判定する。なお、判定手法については、構成等で説明したので省略する。また、移動判定部38は、図38の状態では、「Guest_b3」の電源状態を特定していないので、「Cold Migration」フィールドと「Live Migration」フィールドとを非活性化にした状態で、「Cold Migration」フィールドに「Guest_b2」を表示させる。
そして、移動種別決定部39は、移動判定部38が移動可能と判定した場合、移動対象VMゲスト「Guest_b3」の電源状態に基づいてフィールドを活性化させた画面をクライアント装置10に送信する。ここでは、移動対象VMゲスト「Guest_b3」の電源状態が「ON」であることより、移動種別決定部39は、図39に示すように、「Cold Migration」フィールドと「Live Migration」フィールドとを活性化した状態の画面をクライアント装置10に送信する。
その後、図40に示すように、移動種別決定部39は、VMゲスト「Guest_b3」の電源状態が「ON」であることより、「Live Migration」フィールドに「Guest_b3」を表示させた画面をクライアント装置10に送信する。つまり、ここまでの状態では、移動管理装置30は、VMホスト「Host_b」で動作する「Guest_b2」を「コールドマイグレーション」で「Host_g」に移動させることが決定されている。さらに、移動管理装置30は、VMホスト「Host_c」で動作する「Guest_c1」を「ライブマイグレーション」で「Host_a」に移動させることが決定されている。さらに、移動管理装置30は、VMホスト「Host_b」で動作する「Guest_b3」を「ライブマイグレーション」で「Host_g」に移動させることが決定されている。
このようにして、各VMゲストに対して移動種別が決定された後に、「OK」がクリックされると、移動指示部40は、移動先および移動種別が決定されたVMゲストのマイグレーションを実行する。具体的には、移動指示部40は、migration_lists変数を参照し、「Cold Migration」フィールドおよび「Live Migration」フィールドに表示される各VMゲストの移動の開始指示をVM管理装置に送信する。そして、VM管理装置は、移動元VMホストおよび移動先VMホストのそれぞれに、マイグレーション指示を送信する。この結果、各VMホストは、指示されたVMゲストに対してマイグレーションを実行できる。
[実施例2による効果]
実施例2によれば、VMホストやVM管理装置の負荷を意識することなく、任意のVMゲストの移動を複数VMホストに移動できる。移動管理装置30は、VMゲストのマイグレーションに関する処理の内容をWeb画面でクライアント装置に送信するので、ユーザは、簡単な操作で複数の移動設定を行うことができる。
移動管理装置30は、一括でVMゲストの移動指示を実行できるため、管理者は、移動設定および移動実施後の正常終了の確認など、VMゲストの移動処理を実行するのに要する拘束時間を短縮することができる。この結果、管理者は、仕事の効率の向上も図れる。また、VMゲストを1つずつ移動させるより、全体移動処理時間を短縮することができ、サーバの負荷軽減にも繋がる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(Web画面)
実施例2では、移動管理装置30がWeb画面を生成してクライアント装置10に送信する例について説明したが、これに限定されるものではない。例えば、移動管理装置30は、自装置が有する表示部33に表示させて、表示部33に表示させた画面からユーザの操作を受け付けるようにしてもよい。また、移動管理装置30は、移動種別の結果などについて、アイコンに対するドラッグ&ドロップを受け付けて、ユーザの選択を受け付けることもできる。
(自動実行)
例えば、移動管理装置30は、Web画面を生成してユーザに問い合わせずに、各テーブルの情報を用いて、移動先VMホストや移動種別を決定することもできる。つまり、移動管理装置30は、移動対象であるVMゲスト各々を各テーブルから特定する。そして、移動管理装置30は、各VMゲストについて、当該VMゲストの移動をシミュレーションして、移動先を決定する。さらに、移動管理装置30は、移動先が決定されたVMゲストの電源状態に基づいて、当該VMゲストの移動方式を決定する。その後、移動管理装置30は、移動対象であるVMゲスト各々について移動先および移動方式が決定された場合に、決定された移動先に、決定された移動方式で、VMゲスト各々を移動させる。
このように、移動管理装置30が、各テーブルを用いて、全ての処理を自動で実行することもできる。また、移動管理装置30は、実施例2等で説明した処理のうち、移動種別決定結果など一部分だけをWeb画面として生成するようにしてもよい。つまり、移動管理装置30は、移動種別等を自動で決定できるだけでなく、ユーザからの指定をクライアント装置10に表示させた画面等から受け付けることもできる。この場合、移動管理装置30は、管理者等の指示または設定によって、自動決定を優先してもよく、ユーザ指定を優先してもよい。
(マイグレーション指示順序)
実施例2では、コールドマイグレーションを先に実行した後に、ライブマイグレーションを実行する例について説明したが、これに限定されるものではない。例えば、管理者等によって、移動先ホスト等が指定されている場合には、指定された移動先ホストへのマイグレーションを実行した後に、他の移動先にマイグレーションを実行することができる。したがって、移動先ホストや移動元ホストの負荷状況、VM管理装置の負荷状況、ネットワーク使用率等を考慮して、任意に設定変更することができる。
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、例えば図3〜図12等に示した各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えば移動判定部38と移動種別決定部39とを統合するなど各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
図41は、移動管理プログラムを実行するコンピュータの例を示す図である。図41に示すように、コンピュータ100は、RAM101と、HDD102と、ROM103と、CPU104と、記録媒体読み取り装置105とを有する。HDD102には、図2に示したテーブル34a〜34g各々と同様の機能を有するテーブルが設けられる。すなわち、HDD102には、変数管理テーブル102a、VMホストテーブル102b、VMテーブル102c、VMゲストテーブル102d、サーバプロファイルテーブル102e、VM管理テーブル102f、管理ソフトテーブル102gが設けられる。
ROM103には、上の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図41に示すように、ROM103には、移動管理プログラム103aがあらかじめ記憶されている。
そして、CPU104には、移動管理プログラム103aを読み出して実行することで、図41に示すように、移動管理プロセス104aを実行する。移動管理プロセス104aは、図2に示した各制御部と同様の動作を実行する。すなわち、移動管理プロセス104aは、VMホスト生成部35、VMゲスト候補生成部36、移動先候補生成部37、移動判定部38、移動種別決定部39、移動指示部40と同様の動作を実行する。
ところで、上記した移動管理プログラム103aは、必ずしもROM103に記憶させておく必要はない。例えば、コンピュータ100に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータ100の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN、WANなどを介してコンピュータ100に接続される「他のコンピュータ」に記憶させておいてもよい。そして、コンピュータ100がこれらからプログラムを読み出して実行するようにしてもよい。
すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものである。例えば、コンピュータ100は、記録媒体読み取り装置105によって記録媒体から移動管理プログラムを読み出し、読み出された移動管理プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
10 クライアント装置
30 移動管理装置
30a 第1決定部
30b 第2決定部
30c 移動処理部
31 通信制御I/F部
32 入力部
33 表示部
34 記憶部
34a 変数管理テーブル
34b VMホストテーブル
34c VMテーブル
34d VM管理テーブル
34e VMゲストテーブル
34f サーバプロファイルテーブル
34g 管理ソフトテーブル
35 VMホスト生成部
36 VMゲスト候補生成部
37 移動先候補生成部
38 移動判定部
39 移動種別決定部
40 移動指示部
50、70 VM管理装置
51 通信制御I/F部
52 VM構成管理テーブル
53 制御部
60 サーバ
61 通信制御I/F部
62 制御部

Claims (9)

  1. 移動対象である仮想マシン各々について、当該仮想マシンの移動をシミュレーションして移動先を決定し、決定された移動先で実行される、前記仮想マシンを稼働させるソフトウェアの種類に基づいて、複数の仮想マシンのマイグレーションを並行して実行できるか否か判定する第1決定部と、
    前記第1決定部によって移動先が決定された仮想マシンの電源状態が起動中である場合には、当該仮想マシンの移動方式をライブマイグレーションと決定し、前記仮想マシンの電源状態が停止中である場合には、当該仮想マシンの移動方式をコールドマイグレーションと決定する第2決定部と、
    前記移動対象である仮想マシン各々について移動先および移動方式が決定された場合に前記第2決定部によって決定された移動方式で前記第1決定部によって決定された移動先へ前記仮想マシン各々をマイグレーションさせる際に、前記第1決定部が判定した判定結果に基づいて、前記仮想マシン各々を並行または個別にマイグレーションさせる移動処理部と
    を有することを特徴とする移動管理装置。
  2. 前記仮想マシン各々が動作する動作環境に基づいて、前記仮想マシン各々の移動先候補を特定する特定部をさらに有し、
    前記第1決定部は、前記特定部によって特定された移動先候補に対して、前記仮想マシンのマイグレーションをシミュレーションして前記仮想マシンが移動可能か否かを判定して、前記移動先候補の中から移動先決定することを特徴とする請求項1に記載の移動管理装置。
  3. 前記第1決定部は、各サーバで動作する仮想マシンのうち電源状態が起動中または停止中である仮想マシンを移動対象候補として検出し、検出した移動対象候補のうちユーザが指定した仮想マシンを移動対象の仮想マシンとすることを特徴とする請求項1に記載の移動管理装置。
  4. 前記第1決定部は、シミュレーション対象である仮想マシンの移動先として特定された移動先候補が他の仮想マシンの移動先として決定されている状態で、前記仮想マシンを稼働させる当該移動先候補のソフトウェアが複数の仮想マシンのマイグレーションを同時に実行できるソフトウェアである場合には、前記他の仮想マシンが前記移動先候補にマイグレーションしたと仮定した状態で、前記シミュレーション対象である仮想マシンが前記移動先候補に移動可能か否かを判定することを特徴とする請求項2に記載の移動管理装置。
  5. 前記第1決定部は、シミュレーション対象である仮想マシンの移動先として特定された移動先候補が他の仮想マシンの移動先として決定されている状態で、前記仮想マシンを稼働させる当該移動先候補のソフトウェアが複数の仮想マシンのマイグレーションを同時に実行できないソフトウェアである場合には、所定の条件に基づいて、前記シミュレーション対象である仮想マシンおよび前記他の仮想マシンから移動条件を生成し、生成した移動条件に基づいて、前記シミュレーション対象である仮想マシンおよび前記他の仮想マシンが前記移動先候補に移動可能か否かを判定することを特徴とする請求項2に記載の移動管理装置。
  6. 前記第2決定部は、前記仮想マシン各々に対して移動方式が指定されている場合には、前記電源状態が起動中か停止中かに関らず、指定された移動方式で移動させると決定することを特徴とする請求項1に記載の移動管理装置。
  7. 前記移動処理部は、前記仮想マシン各々を移動させる場合に、コールドマイグレーションによる移動を先に実行し、コールドマイグレーションによる仮想マシンの移動が完了した後に、ライブマイグレーションによる移動を実行することを特徴とする請求項1に記載の移動管理装置。
  8. コンピュータが実行する移動管理方法であって、
    移動対象である仮想マシン各々について、当該仮想マシンの移動をシミュレーションして移動先を決定し、決定された移動先で実行される、前記仮想マシンを稼働させるソフトウェアの種類に基づいて、複数の仮想マシンのマイグレーションを並行して実行できるか否か判定し、
    移動先を決定した仮想マシンの電源状態が起動中である場合には、当該仮想マシンの移動方式をライブマイグレーションと決定し、前記仮想マシンの電源状態が停止中である場合には、当該仮想マシンの移動方式をコールドマイグレーションと決定し、
    前記移動対象である仮想マシン各々について移動先および移動方式が決定された場合に決定された移動方式で、決定された移動先へ前記仮想マシン各々をマイグレーションさせる際に、判定結果に基づいて、前記仮想マシン各々を並行または個別にマイグレーションさせる、
    ことを特徴とする移動管理方法。
  9. コンピュータに、
    移動対象である仮想マシン各々について、当該仮想マシンの移動をシミュレーションして移動先を決定し、決定された移動先で実行される、前記仮想マシンを稼働させるソフトウェアの種類に基づいて、複数の仮想マシンのマイグレーションを並行して実行できるか否か判定し、
    移動先を決定した仮想マシンの電源状態が起動中である場合には、当該仮想マシンの移動方式をライブマイグレーションと決定し、前記仮想マシンの電源状態が停止中である場合には、当該仮想マシンの移動方式をコールドマイグレーションと決定し、
    前記移動対象である仮想マシン各々について移動先および移動方式が決定された場合に決定された移動方式で、決定された移動先へ前記仮想マシン各々をマイグレーションさせる際に、判定結果に基づいて、前記仮想マシン各々を並行または個別にマイグレーションさせる処理、
    をコンピュータに実行させることを特徴とする移動管理プログラム。
JP2013505703A 2011-03-22 2011-03-22 移動管理装置、移動管理方法および移動管理プログラム Expired - Fee Related JP5804050B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/056851 WO2012127633A1 (ja) 2011-03-22 2011-03-22 移動管理装置、移動管理方法および移動管理プログラム

Publications (2)

Publication Number Publication Date
JPWO2012127633A1 JPWO2012127633A1 (ja) 2014-07-24
JP5804050B2 true JP5804050B2 (ja) 2015-11-04

Family

ID=46878826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013505703A Expired - Fee Related JP5804050B2 (ja) 2011-03-22 2011-03-22 移動管理装置、移動管理方法および移動管理プログラム

Country Status (4)

Country Link
US (1) US9244731B2 (ja)
EP (1) EP2690553A4 (ja)
JP (1) JP5804050B2 (ja)
WO (1) WO2012127633A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323563B2 (en) * 2012-02-28 2016-04-26 Red Hat Israel, Ltd. Determining virtual machine migration in view of a migration rule
JP2015001827A (ja) * 2013-06-14 2015-01-05 日本電信電話株式会社 管理装置、管理方法、管理プログラムおよび通信システム
CN104239083A (zh) * 2013-06-21 2014-12-24 中兴通讯股份有限公司 移动终端的应用的迁移方法、装置以及系统
US9274824B2 (en) * 2013-06-27 2016-03-01 Verizon Patent And Licensing Inc. Network technology standard operating environment
IN2013CH05013A (ja) * 2013-11-07 2015-05-08 Schneider Electric It Corp
US9529828B1 (en) * 2013-12-24 2016-12-27 EMC IP Holding Company LLC Automating configuration and migrating configurations of assets in a storage area network
US10884775B2 (en) * 2014-06-17 2021-01-05 Nokia Solutions And Networks Oy Methods and apparatus to control a virtual machine
US20160077854A1 (en) * 2014-09-12 2016-03-17 International Business Machines Corporation Expediting host maintenance mode in cloud computing environments
US9830349B2 (en) * 2014-10-31 2017-11-28 Vmware, Inc. Maintaining storage profile consistency in a cluster having local and shared storage
US10067800B2 (en) * 2014-11-06 2018-09-04 Vmware, Inc. Peripheral device sharing across virtual machines running on different host computing systems
US9612765B2 (en) * 2014-11-19 2017-04-04 International Business Machines Corporation Context aware dynamic composition of migration plans to cloud
US9740413B1 (en) * 2015-03-30 2017-08-22 EMC IP Holding Company LLC Migrating data using multiple assets
EP3311272B1 (en) * 2015-06-16 2023-04-12 Telefonaktiebolaget LM Ericsson (PUBL) A method of live migration
US9946564B2 (en) * 2015-06-23 2018-04-17 International Business Machines Corporation Adjusting virtual machine migration plans based on alert conditions related to future migrations
US10129331B2 (en) * 2015-06-25 2018-11-13 Vmware, Inc. Load balancing using a client swapping operation
US10628195B2 (en) 2015-10-22 2020-04-21 Genband Us Llc High availability for virtual network functions
CN109313568A (zh) * 2016-03-29 2019-02-05 诺基亚通信公司 用于在网络服务实例之间移动虚拟化网络功能实例的方法和装置
US10419547B1 (en) * 2017-04-10 2019-09-17 Plesk International Gmbh Method and system for composing and executing server migration process
JP6901683B2 (ja) * 2017-09-22 2021-07-14 富士通株式会社 調整プログラム、調整装置および調整方法
CN109617954B (zh) * 2018-11-29 2021-07-30 郑州云海信息技术有限公司 一种创建云主机的方法和装置
JP7193732B2 (ja) * 2019-04-08 2022-12-21 富士通株式会社 管理装置、情報処理システムおよび管理プログラム
US20220229689A1 (en) * 2019-06-26 2022-07-21 Nippon Telegraph And Telephone Corporation Virtualization platform control device, virtualization platform control method, and virtualization platform control program
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP2008217302A (ja) * 2007-03-02 2008-09-18 Nec Corp 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
JP2010244524A (ja) * 2009-03-17 2010-10-28 Hitachi Ltd 仮想サーバの移動方法の決定方法及びその管理サーバ
JP2011008780A (ja) * 2009-06-25 2011-01-13 Vmware Inc 仮想インフラストラクチャを用いた情報技術リスク管理

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156490B2 (en) 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US8141075B1 (en) * 2006-05-08 2012-03-20 Vmware, Inc. Rule engine for virtualized desktop allocation system
US8745295B2 (en) * 2007-02-12 2014-06-03 International Business Machines Corporation Device, method and computer program product for executing a migrated execution context by a storage controller
US8191063B2 (en) * 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US7945436B2 (en) * 2007-11-06 2011-05-17 Vmware, Inc. Pass-through and emulation in a virtual machine environment
JP4839361B2 (ja) 2008-11-11 2011-12-21 株式会社日立製作所 仮想マシン移動管理サーバおよび仮想マシン移動方法
US7904540B2 (en) * 2009-03-24 2011-03-08 International Business Machines Corporation System and method for deploying virtual machines in a computing environment
US9626206B2 (en) * 2010-03-18 2017-04-18 Microsoft Technology Licensing, Llc Virtual machine homogenization to enable migration across heterogeneous computers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP2008217302A (ja) * 2007-03-02 2008-09-18 Nec Corp 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
JP2010244524A (ja) * 2009-03-17 2010-10-28 Hitachi Ltd 仮想サーバの移動方法の決定方法及びその管理サーバ
JP2011008780A (ja) * 2009-06-25 2011-01-13 Vmware Inc 仮想インフラストラクチャを用いた情報技術リスク管理

Also Published As

Publication number Publication date
US9244731B2 (en) 2016-01-26
US20140019974A1 (en) 2014-01-16
WO2012127633A1 (ja) 2012-09-27
EP2690553A1 (en) 2014-01-29
EP2690553A4 (en) 2016-06-15
JPWO2012127633A1 (ja) 2014-07-24

Similar Documents

Publication Publication Date Title
JP5804050B2 (ja) 移動管理装置、移動管理方法および移動管理プログラム
JP5401922B2 (ja) 仮想システム制御プログラム、方法及び装置
JP5285353B2 (ja) 複数のサービス構成要素に対応するアクションの実行を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5352890B2 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
JP5803496B2 (ja) ストレージシステム
CN108667859A (zh) 一种实现资源调度的方法及装置
US20130227085A1 (en) Terminal and method for using cloud services
CN110520844A (zh) 云管理平台、虚拟机管理方法及其系统
JP2009199528A (ja) 複数のサービスステップを含むサービスプロセスを管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP2018026042A (ja) 移動制御プログラム、移動制御装置及び移動制御方法
JP2016508349A (ja) クラスタ境界にわたるサービス移行
EP3516517B1 (en) Service location management in computing systems
JP2014505911A (ja) 計算機システム及びその管理方法
JP2015132887A (ja) 要求分散プログラム、要求分散方法および情報処理装置
JP5725191B2 (ja) 電源管理装置、電源管理方法および電源管理プログラム
JP5988505B2 (ja) 仮想リソース管理装置、選択方法及び選択プログラム
JP5968451B2 (ja) 計算機システム、及びプログラム
US11818000B2 (en) Continuous delivery of management configurations
JP6278938B2 (ja) ストレージ管理装置、ストレージ管理方法、及び、プログラム
TW202031016A (zh) Ict資源管理裝置、ict資源管理方法以及ict資源管理程式
WO2014030203A1 (ja) 稼働管理装置、稼働管理方法、及び稼働管理プログラム
JP2012141698A (ja) 情報処理装置、情報処理方法、プログラム
JP5543653B2 (ja) 管理計算機
JP7247651B2 (ja) 情報処理装置、情報処理システム及び情報処理プログラム
US11855857B2 (en) Network virtualization system, virtual resource management device, virtual resource management method and program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

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: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150817

R150 Certificate of patent or registration of utility model

Ref document number: 5804050

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees