以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
<第1実施形態>
図1に、本実施形態に係る仮想マシン管理システム10の構成の一例を示す。仮想マシン管理システム10では、管理用ネットワーク等によるネットワーク20に、管理装置12と、仮想マシンを含む複数拠点のデータセンターと、が各々接続されている。図1には、仮想マシン管理システム10に、3拠点のデータセンター22(図1ではDC1,DC2,DC3と内部表記)が含まれる一例を示す。なお、図1では、仮想マシン管理システム10に、3拠点のデータセンター22が含まれる一例を示したが、3拠点に限定されるものではなく、4拠点以上でもよい。
管理装置12は、ライブマイグレーションの実行に関係して、データセンター22における仮想マシンが用いる資源(以下、リソースという。)を管理するためのものであり、例えばコンピュータで実現可能である(詳細は後述)。管理装置12は、情報収集管理機能部13、中継地算出機能部14、マイグレーション管理機能部15、仮想化リソース制御機能部17、及び記憶部16を含む。なお、管理装置12は、仮想化リソース管理機能部18を含むことができる。また、記憶部16は、物理マシンおよび仮想マシンの状態等を各種の管理情報として保持する。
情報収集管理機能部13は、ネットワーク20に接続される各種ノードのIPアドレス(Internet Protocol Address)、およびノード間の遅延時間等の各種情報を収集したり管理したりする機能部である。各種ノードは、管理装置12と相違する他の管理装置、データセンターに備えられる物理マシン、および物理マシン上で動作する仮想マシン、そして物理マシンおよび仮想マシンに接続されるネットワーク機器を含む。例えば、情報収集管理機能部13は、仮想マシン管理システム10上の仮想化基盤に関する情報、および仮想マシンに関する情報等を収集し、記憶部16に記憶して管理する。なお、仮想マシンに関する情報は、仮想マシンを示す情報、および仮想マシンで用いるリソースを示すリソース情報を含む。例えば、リソース情報は、仮想マシンで用いるリソースについて、リソースの名称と、使用量(割り当て量)とを含む。
中継地算出機能部14は、管理者等の指示により、ライブマイグレーションを実行する場合に、移動元のデータセンターから移動先のデータセンターまでの中継地を算出する機能部である。中継地算出機能部14は、ライブマイグレーションにより移動対象の仮想マシンを移動する、移動元のデータセンター22および移動先のデータセンター22を示す情報の入力によって、移動元から移動先へ中継する中継地および経路(順序)を算出する。
なお、中継地算出機能部14は、算出した移動元から移動先へ中継する中継地および経路(順序)を示す情報を保持してもよく、記憶部16に記憶してもよい。中継地および経路(順序)を示す情報を記憶部16に記憶する場合、中継地算出機能部14が情報収集管理機能部13へ情報を送り、情報収集管理機能部13が記憶部16に記憶してもよい。
マイグレーション管理機能部15は、ライブマイグレーションに関係する情報および処理を管理する機能部であり、ネットワーク20に接続される他の管理装置、およびデータセンターに対して情報を授受するインタフェース機能を含む。例えば、マイグレーション管理機能部15は、移動元から移動先へ中継地算出機能部14で算出された中継地および経路(順序)に応じてデータセンター22へ仮想マシン28の移動を指示する。
仮想化リソース制御機能部17は、データセンター22において仮想マシンを管理する仮想化リソース管理機能部34に対して、仮想マシン28が用いるリソースの確保、および解放の各々の制御を指示する機能部である。つまり、仮想化リソース制御機能部17は、移動元から中継地を介して移動先へ仮想マシン28が確実に移動されるように、データセンター22へ仮想マシン28が用いるリソースを確保する指示をしたり、使用が終了したリソースを解放する指示をしたりする。
なお、管理装置12は、仮想化リソース管理機能部18を備えて、データセンター22における仮想マシンの管理を行ってもよい。
ネットワーク20に接続されるデータセンター22は、仮想化技術を用いて1台または複数台の各物理マシン上に、1台または複数台の仮想マシンを構築することができる。データセンター22では、構築される1台または複数台の仮想マシンの各々を管理する。本実施形態では、説明を簡単にするため、データセンター22を1台の物理マシンとして説明する。
なお、以下の説明で、3拠点のデータセンター22またはデータセンター22に含まれる要素について個別に対象とする場合は、記号(図1に示すDC1,DC2,DC3)を付与して区別して扱う。また、仮想マシンを移動する場合のデータセンター22として、移動元のデータセンター22DC1、中継地のデータセンター22DC2、および移動先のデータセンター22DC3を一例として説明する。
データセンター22は、ゲートウェイ(GW)24、仮想化基盤26、および仮想マシン28を含む。GW24は、情報を目的地へ仲介するためのものであり、ネットワーク20に接続されるGW・ルータ機能部30を含む。GW・ルータ機能部30は、所謂ルータと呼ばれる接続機器の機能を有した機能部である。なお、GW・ルータ機能部30は、管理装置12からの指示により他のデータセンター22との間の遅延時間を計測する等の各種機能を含む。
仮想化基盤26は、仮想マシンを管理し、ライブマイグレーションを実現するための機能部である。仮想化基盤26は、仮想化基盤主要機能部32、仮想化リソース管理機能部34、および仮想化リソース制御機能部36を含んでいる。
仮想化基盤主要機能部32は、仮想化技術を用いて物理マシン上に仮想マシンを構築して稼働するための、主要機能を含む。例えば、仮想化基盤主要機能部32は、ライブマイグレーション等のイベントに応じて管理装置12に、ライブマイグレーションの実行中の各種情報を通知するイベント通知機能を含む。
仮想化リソース管理機能部34は、管理装置12からの指示に応じて、データセンター22で管理する仮想マシン28が用いるリソースの確保、および解放の各々の処理を管理する機能を含む。
仮想化リソース制御機能部36は、仮想マシン28が用いるリソースの確保、解放、およびライブマイグレーション実行等のイベントに応じて、仮想マシンが用いるリソースの確保、および解放等の各々の処理を実行する機能を含む。
仮想マシン28は、仮想化基盤26上で動作するOS(Operating System)とアプリケーションプログラムを含む仮想マシン機能部38が動作されることによる仮想的なコンピュータである。また、仮想マシン28は、管理装置12の指示により別のデータセンター22の仮想化基盤26上へライブマイグレーションされる。
本実施形態では、仮想マシン管理システム10において、仮想マシン28を確実にライブマイグレーションする処理を実行するために、記憶部16に記憶される管理情報を用いる。管理情報の一例に、仮想化基盤テーブル63、仮想マシンテーブル64、仮想化基盤稼働率情報テーブル65、仮想化リソース空塞管理テーブル66、仮想化リソースタイマー管理テーブル67の各々に格納される情報がある。なお、本実施形態では、ライブマイグレーションする処理は、中継地リスト68(図8)の情報を参照して実行される。
図2に、仮想化基盤テーブル63の一例を示す。仮想化基盤テーブル63には、ネットワーク20に接続される全てのデータセンター22の各々に含まれる仮想化基盤26を示す情報および最終更新日時を示す情報が管理情報として登録される。図2の例では、仮想化基盤テーブル63は、「HV ID」、「HV Name」、「HV IP」、「Site ID」、「Latency」、及び「Latest」の各々を示す情報を含む。
図2の例に示す仮想化基盤テーブル63の「HV ID」は、仮想化基盤26に固有の識別情報である。「HV Name」は、仮想化基盤26の名称を示す情報である。「HV IP」は、物理マシンの位置情報としての、仮想化基盤26に割り当てられるIPアドレス等の位置を示す情報である。「Site ID」は、仮想化基盤26を含む物理マシンであるデータセンター22の識別情報である。「Latency」は、仮想化基盤26に対してアクセスするのに要する時間を示す情報である。「Latest」は、「HV ID」、「HV Name」、「Site ID」、及び「Latency」を示す情報を取得し登録または更新した最新日時を示す情報である。
図3に、仮想マシンテーブル64の一例を示す。仮想マシンテーブル64には、ネットワーク20に接続される全てのデータセンター22の各々に含まれる仮想マシン28を示す情報および仮想マシン28のリソース情報が管理情報として登録される。図3の例では、仮想マシンテーブル64は、「VM ID」、「VM Name」、「CPU」、「Memory」、「HDD」、「NIC」、「NW-Name」、及び「HV ID」の各々を示す情報を含む。
図3の例に示す仮想マシンテーブル64の「VM ID」は、仮想マシン28に固有の識別情報である。「VM Name」は、仮想マシン28の名称を示す情報である。「CPU」、「Mem」、及び「HDD」は、仮想マシン28の主なリソース情報の一例である。「CPU」は、CPUの使用率を示し、「Mem」は、メモリの使用量を示し、「HDD」は、ハードディスク装置等の2次記憶媒体の使用量を示す。「NIC」は、ネットワーク20への接続ポート数を示す情報である。「NW-Name」は、仮想マシン28が参加するネットワークを示す情報である。「HV ID」は、仮想マシン28を担当する仮想化基盤26に固有の識別情報である。
図4に、仮想化基盤稼働率情報テーブル65の一例を示す。仮想化基盤稼働率情報テーブル65には、仮想マシンテーブル64(図3)に示す各々の情報に、「リソースID」を示す情報が対応付けられた情報が管理情報として登録される。図4の例に示す仮想化基盤稼働率情報テーブル65の「リソースID」は、仮想マシン28が使用するリソースを仮想マシン28毎に識別するための識別情報である。
図5に、仮想化リソース空塞管理テーブル66の一例を示す。仮想化リソース空塞管理テーブル66には、仮想マシン28が使用するリソースの割当状態を示す情報を含む情報が管理情報として登録される。図5の例では、仮想化リソース空塞管理テーブル66は、「リソースID」、「空塞状態」、「HV ID」、および「Latest」の各々を示す情報を含む。
図5の例に示す仮想化リソース空塞管理テーブル66の「リソースID」は、仮想マシン28が使用するリソースを識別するための識別情報であり、「リソースID」を通じて仮想化基盤稼働率情報テーブル65を参照できる。「空塞状態」は、仮想マシン28が使用するリソースの割当状態を示す情報である。空塞状態として記憶される割当状態を示す情報の一例として、空き状態の場合に「idle」、使用状態の場合に「busy」、確保状態の場合に「temporary」、及びマイグレーション中状態の場合に「temporary on migration」の値が記憶される。「HV ID」は、仮想マシン28を担当する仮想化基盤26に固有の識別情報であり、「HV ID」を通じて仮想マシンテーブル64を参照できる。「Latest」は、「リソースID」、「空塞状態」、および「HV ID」を示す情報を取得して登録または更新した最新日時を示す情報である。
図6及び図7に、仮想化リソースタイマー管理テーブル67の一例を示す。仮想化リソースタイマー管理テーブル67は、仮想マシン28が使用するリソースを、未使用時等に確保しておく時間を定めるタイムテーブルである。本実施形態では、仮想化リソースタイマー管理テーブル67として、VM時限タイマーテーブル67Aと、タイムリミット値テーブル67Bとを用いる。VM時限タイマーテーブル67Aには、「リソースID」を示す情報に、「タイムリミット値」を示す情報が対応付けられる。タイムリミット値テーブル67Bには、「リソースクラス」を示す情報に、「タイムリミット値」を示す情報が対応付けられる。「リソースクラス」は、仮想マシン28が使用するリソースの種類及び大きさなどに応じて予めクラス分けされるリソースのクラスを示す情報である。
本実施形態では、仮想マシン28が使用するリソース毎に、リソースを確保しておくタイムリミット時間を定める。例えば、リソースID「VRSid007」のリソースがリソースクラス「VRS_class0」に分類されている場合を説明する。リソースID「VRSid007」のリソースについて、図7に示すタイムリミット値テーブル67Bで、リソースクラス「VRS_class0」のタイムリミット値「T001」が特定される。特定されたタイムリミット値「T001」がリソースID「VRSid007」に対応付けてVM時限タイマーテーブル67Aに登録される。
図8に、中継地リスト68の一例を示す。中継地リスト68は、中継地算出機能部14で算出される移動元から移動先へ中継する中継地および経路(順序)を示す情報のリストである。図8に示す例では、移動元から移動先まで仮想マシン28が移動する経路で、4か所のデータセンター22に仮想マシン28が滞在する場合を示す。第1HV〜第4HVの各々は、データセンター22の仮想化基盤26を示す情報が格納される。また、図8に示す例では、「H0001」で示す移動元の仮想化基盤26から、「H0003」で示す移動先の仮想化基盤26までについての中継地及び経路について、3種類の中継地および経路が算出されたことを示す。なお、図8に示す例では、4か所のデータセンター22を仮想マシン28が位置する場合を示すが、4か所に限定されるものではなく、3か所でもよく、5か所以上でもよい。また、4か所で種類が相違する経路が算出される場合を示すが、仮想マシン28が位置する数を固定とするものではなく、経路毎に、3か所以上のデータセンター22を仮想マシン28が位置すればよい。また、複数種類の経路が算出された中継地リスト68は、データセンター22間の情報遅延時間などにより優先度を付与し、優先度が高いものからリスト化することができる。
ここで、仮想マシン28が用いるリソースの確保について説明する。本実施形態では、ライブマイグレーションを実行するにあたり、仮想マシン28が用いるリソースを確保してからライブマイグレーションを実行する。
図9に、仮想マシン28が用いるリソースとして、CPUの使用率を模式化したCPUリソース33のイメージ図を示す。図9の例は、仮想化技術によるCPUの仮想性能が40GHzの場合に、2GHz単位のセルで使用率であるCPUリソース33を管理することを示すものである。例えば、移動元のデータセンター22Aにおいて、第1の仮想マシン28Aと、第2の仮想マシン28Bが稼働する場合を考える。第1の仮想マシン28Aが30%のCPU使用率で6GHz分を使用する場合、移動元のデータセンター22Aの仮想化リソース管理機能部34Aは、3つのセル33Aを使用することを管理する。また、第2の仮想マシン28Bが20%のCPU使用率で4GHz分を使用する場合、仮想化リソース管理機能部34Aは、2つのセル33Bを使用することを管理する。
図10に、仮想マシン28が用いるリソースとして、メモリの使用率を模式化したメモリリソース35のイメージ図を示す。図10の例は、仮想化技術によるメモリの仮想性能が80GBの場合に、4GB単位のセルで使用量であるメモリリソース35を管理することを示すものである。例えば、第1の仮想マシン28Aのメモリ使用量が8GB分である場合、移動元のデータセンター22Aの仮想化リソース管理機能部34Aは、2つのセル35Aを使用することを管理する。また、第2の仮想マシン28Bのメモリ使用量が12GB分である場合、仮想化リソース管理機能部34Aは、3つのセル35Bを使用することを管理する。
ライブマイグレーション実行時に、第1の仮想マシン28Aおよび第2の仮想マシン28Bの何れかが移動対象の仮想マシン28であるとき、移動対象の仮想マシン28のリソース情報が管理装置12の仮想化リソース制御機能部17により取得される。ここでは、CPUリソース33およびメモリリソース35が取得される。管理装置12の仮想化リソース制御機能部17は、中継先のデータセンター22Bおよび移動先のデータセンター22Cの各々の仮想化リソース管理機能部34B,34Cにリソース確保を指示する。中継先のデータセンター22B、および移動先のデータセンター22Cの各仮想化リソース管理機能部34B,34Cは、管理装置12の仮想化リソース制御機能部17からの指示に応じて、仮想化リソース制御機能部36B,36Cへリソース確保を指示する。仮想化リソース制御機能部36B,36Cは、各々リソース確保を実行する。
なお、仮想マシン管理システム10は開示の技術における仮想マシン管理システムの一例であり、管理装置12は開示の技術における仮想マシン管理装置の一例である。また、情報収集管理機能部13は、開示の技術における取得部の一例であり、仮想化リソース制御機能部17は、開示の技術における要求部および指示部の一例である。
仮想マシン管理システム10は、図11に示すコンピュータシステム40で実現することができる。管理装置12は、例えば、図11に示すコンピュータ42で実現することができる。また、データセンター22は、図11に示す物理マシン70で実現することができる。
管理装置12をコンピュータ42で実現する場合、コンピュータ42はCPU44、メモリ46、及び不揮発性の格納部54を備える。CPU44、メモリ46、及び格納部54は、バス53を介して互いに接続される。また、コンピュータ42は、表示装置であるディスプレイ48、入力装置であるキーボード49およびマウス50を備え、ディスプレイ48、キーボード49およびマウス50はバス53に接続される。さらに、コンピュータ42は、記録媒体69に対して読み書きするための装置(RW装置)51を備え、RW装置51はバス53に接続される。また、コンピュータ42は、ネットワーク20に接続するためのインタフェースを含む通信部(I/O)52を備える。なお、格納部54はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。
なお、ディスプレイ48、キーボード49、マウス50、及びRW装置51は、省略してもよく、必要に応じてバス53に接続するようにしてもよい。
格納部54には、コンピュータ42を管理装置12として機能させるためのプログラム、及び情報が記憶される。具体的には、格納部54には、管理プログラム55、テーブル62が記憶される。管理プログラム55は、情報収集プロセス56、中継地算出プロセス57、マイグレーション管理プロセス58、仮想化リソース制御プロセス59を含む。なお、管理プログラム55は、仮想化リソース管理プロセス60を含むことができる。また、テーブル62は、仮想化基盤テーブル63、仮想マシンテーブル64、仮想化基盤稼働率情報テーブル65、仮想化リソース空塞管理テーブル66、及び仮想化リソースタイマー管理テーブル67を含む。なお、格納部54には、テーブル62を構成する情報の各々が記憶され、テーブル62を構成する情報の各々がメモリ46に展開されることによりテーブルとなる。
CPU44は、管理プログラム55を格納部54から読み出してメモリ46に展開し、管理プログラム55に含まれるプロセスを順次実行することで、コンピュータ42は図1に示す管理装置12として動作する。CPU44は、情報収集プロセス56を実行することで、図1に示す情報収集管理機能部13として動作し、中継地算出プロセス57を実行することで、図1に示す中継地算出機能部14として動作する。また、CPU44は、マイグレーション管理プロセス58を実行することで、図1に示すマイグレーション管理機能部15として動作する。さらに、CPU44は、仮想化リソース制御プロセス59を実行することで、図1に示す仮想化リソース制御機能部17として動作する。なお、管理プログラム55に仮想化リソース管理プロセス60が含まれる場合、CPU44が仮想化リソース管理プロセス60を実行することで、図1に示す仮想化リソース管理機能部18として動作する。
管理装置12がコンピュータ42で実現される場合、テーブル62の各情報を格納した格納部54の記憶領域は、図1に示すテーブルを記憶する記憶部16として用いられる。つまり、格納部54に記憶されたテーブル62を構成する各情報の記憶領域は、図1に示すテーブルの各情報を記憶する記憶部16の記憶領域に対応され、管理装置12において記憶部16の記憶領域に記憶された各情報が展開されることによりテーブルとなる。
データセンター22を物理マシン70で実現する場合、物理マシン70はCPU72、メモリ74、及び不揮発性の格納部82を備える。CPU72、メモリ74、及び格納部82は、バス81を介して互いに接続される。また、物理マシン70は、表示装置であるディスプレイ76、入力装置であるキーボード77およびマウス78を備え、ディスプレイ76、キーボード77およびマウス78はバス81に接続される。さらに、物理マシン70は、記録媒体69に対して読み書きするための装置(RW装置)79を備え、RW装置79はバス81に接続される。また、物理マシン70は、ネットワーク20に接続するためのインタフェースを含む通信部(I/O)80を備える。なお、格納部82はHDDやフラッシュメモリ等によって実現できる。
なお、ディスプレイ76、キーボード77、マウス78、及びRW装置79は、省略してもよく、必要に応じてバス81に接続するようにしてもよい。
格納部82には、物理マシン70をデータセンター22として機能させるためのプログラム、及び情報が記憶される。具体的には、格納部82には、GWプログラム83、仮想化基盤プログラム84、仮想マシンプログラム88が記憶される。仮想化基盤プログラム84は、仮想化基盤主要プロセス85、仮想化リソース管理プロセス86、および仮想化リソース制御プロセス87を含む。
物理マシン70のCPU72は、格納部82からプログラムを読み出してメモリ74に展開し、順次実行することで、物理マシン70は図1に示すデータセンター22として動作する。具体的には、CPU72は、GWプログラム83を格納部82から読み出してメモリ74に展開し、GWプログラム83を実行することで、物理マシン70は図1に示すデータセンター22のGW24として動作する。また、CPU72は、仮想化基盤プログラム84を格納部82から読み出してメモリ74に展開し、仮想化基盤プログラム84に含まれるプロセスを順次実行することで、物理マシン70は図1に示すデータセンター22の仮想化基盤26として動作する。さらに、CPU72は、仮想マシンプログラム88を実行することで、図1に示す仮想マシン28として動作する。
なお、CPU72は、仮想化基盤プログラム84の仮想化基盤主要プロセス85を実行することで、図1に示す仮想化基盤主要機能部32として動作する。また、CPU72は、仮想化リソース管理プロセス86を実行することで、仮想化リソース管理機能部34として動作し、仮想化リソース制御プロセス87を実行することで、仮想化リソース制御機能部36として動作する。
また、以下の説明で、データセンター22を物理マシン70で実現する場合、物理マシン70または物理マシン70に含まれる要素について個別に対象とする場合は、記号(図11に示すDC1,DC2,DC3)を付与して区別して扱う。具体的には、移動元のデータセンター22DC1を実現する物理マシン70は、物理マシン70DC1と表記して説明する。また、中継地のデータセンター22DC2を実現する物理マシン70は物理マシン70DC2と表記し説明する。さらに、移動先のデータセンター22DC3を実現する物理マシン70は物理マシン70DC3と表記して説明する。
なお、管理プログラム55は、開示の技術における仮想マシン管理プログラムの一例である。また、管理プログラム55は、管理装置12を開示の技術における仮想マシン管理装置として機能させるためのプログラムでもある。また、格納部54の実現例であるHDDは、開示の技術の記録媒体の一例である。また、光ディスク等の記録媒体69も開示の技術の記録媒体の一例である。
次に、本実施形態に係る仮想マシン管理システム10の動作について説明する。なお、第1実施形態では、1台の仮想マシン28を移動対象として、移動元のデータセンター22DC1から、中継地のデータセンター22DC2を中継して、移動先のデータセンター22DC3へ移動する場合を説明する。
図12に、仮想マシン管理システム10をコンピュータシステム40で実現する場合に管理装置12として動作するコンピュータ42における処理の流れの一例を示す。
コンピュータシステム40では、コンピュータ42で管理プログラム55が実行されることで、コンピュータ42が管理装置12(図1)として動作する。また、物理マシン70において、GWプログラム83、仮想化基盤プログラム84、および仮想マシンプログラム88が実行されることで、物理マシン70はデータセンター22として動作される。
なお、管理装置12として動作するコンピュータ42のCPU44は、情報収集プロセス56を実行し、各種情報を取得し、収集した各種情報をテーブル62に登録する。つまり、コンピュータ42のCPU44は、管理プログラム55に含まれる情報収集プロセス56を実行することで、情報収集管理機能部13として動作し、定期的、ユーザの指示、または後述するプロセスの要求に応じて情報収集処理を実行する。また、情報収集管理機能部13は、収集した各種情報をテーブル62に登録する。
例えば、データセンター22に、仮想化基盤26が構築された場合、情報収集管理機能部13は、構築された仮想化基盤26を示す情報を収集し、収集した各情報を仮想化基盤テーブル63(図2参照)に登録する。また、情報収集管理機能部13は、登録済みの仮想化基盤26を示す情報が更新された場合には、更新された仮想化基盤26を示す情報で、仮想化基盤テーブル63を更新する。
また、仮想化基盤26に仮想マシン28が構築された場合、情報収集管理機能部13は、構築された仮想マシン28を示す情報を収集し、収集した各情報を仮想マシンテーブル64(図3参照)に登録する。また、情報収集管理機能部13は、登録済みの仮想マシン28を示す情報が更新された場合には、更新された仮想マシン28を示す情報で、仮想マシンテーブル64を更新する。また、情報収集管理機能部13は、仮想マシン28を示す情報を収集する場合、仮想マシンで用いるリソースを示すリソース情報を識別するためのリソースIDを付与して、仮想化基盤稼働率情報テーブル65(図4参照)に登録する。また、情報収集管理機能部13は、登録済みの情報が更新された場合には、更新された情報で、仮想化基盤稼働率情報テーブル65を更新する。
さらに、情報収集管理機能部13は、仮想マシン28で用いるリソースの状態も収集して、仮想化リソース空塞管理テーブル66(図5参照)に登録する。また、情報収集管理機能部13は、登録済みの情報が更新された場合には、更新された情報で、仮想化基盤稼働率情報テーブル65を更新する。
まず、管理装置12として動作するコンピュータ42のCPU44は、ステップ100で、移動対象の仮想マシン28について、移動元のデータセンター22から移動先のデータセンター22へ中継する中継地のデータセンター22を算出する。つまり、CPU44が中継地算出プロセス57を実行することによって、中継地算出機能部14(図1)は、例えば、キーボード49等でユーザにより入力された仮想マシン28の移動元および移動先を示す情報に応じて、中継地および経路(順序)を算出する。例えば、中継地および経路(順序)として、「HV IP」で示される位置情報の移動元の仮想化基盤26から「HV IP」で示される位置情報の移動先の仮想化基盤26までの移動時間が最短となる中継地および経路が算出される。つまり、移動対象の仮想マシン28を含む仮想化基盤26が、次に仮想マシン28を受け入れる仮想化基盤26として移動時間が最短となる仮想化基盤26を、移動元の仮想化基盤26から移動先の仮想化基盤26まで順次求める。算出された中継地および経路(順序)を示す情報は、中継地リスト68(図8)として記憶される。
次に、CPU44は、ステップ102で、仮想マシン28、および移動元から中継地を介して移動先のデータセンター22についての情報を取得する。つまり、CPU44が仮想化リソース制御プロセス59のうちの情報取得処理を実行することによって、仮想化リソース制御機能部17(図1)は仮想マシン28およびデータセンター22の情報を取得する。まず、仮想化リソース制御機能部17は、中継地リスト68(図8)を参照し、移動対象の仮想マシン28について移動元から、中継地を介して移動先へ至る物理マシン70および経路(順序)を示す情報を取得する。ここでは、中継地リスト68から経路番号「1」の情報が取得された場合を説明する。つまり、「H0001」で示される仮想化基盤26が移動元であり、「H0003」で示される仮想化基盤26が移動先である。また、「H0002」および「H0004」で示される仮想化基盤26が中継地である。なお、以下の説明を簡単にするため、中継地は、「H0002」で示される仮想化基盤26を代表して説明する。
仮想化リソース制御機能部17は、移動対象の仮想マシン28が使用するリソース情報を取得する。移動対象の仮想マシン28が使用するリソース情報の取得は、情報収集管理機能部13へリソース情報を取得する指示に対する応答により取得する。つまり、情報収集管理機能部13は、仮想マシンテーブル64(図)3および仮想化基盤稼働率情報テーブル65(図4)を参照し、移動対象の仮想マシン28が使用するリソース情報を応答する。ここでは、仮想化リソース制御機能部17は、「VRSid001」で示されるリソースIDの仮想マシン28が使用するリソース情報を取得する。
次に、CPU44は、ステップ104で、中継地および移動先のデータセンター22に移動対象の仮想マシン28のリソースを確保する要求を実行する。つまり、CPU44が仮想化リソース制御プロセス59のうちのリソース確保処理を実行することによって、仮想化リソース制御機能部17(図1)はデータセンター22にリソースの確保を要求する。つまり、仮想化リソース制御機能部17は、中継地および移動先のデータセンター22として動作する物理マシン70へ、移動対象の仮想マシン28が使用するリソース情報(リソースID「VRSid001」で示される情報)が示すリソースを確保する要求を実行する。移動対象の仮想マシン28が使用するリソース情報の一例は、リソースの使用率を示す情報、例えばCPU負荷、CPU利用率、メモリ利用量がある。
次に、CPU44は、ステップ106において、移動対象の仮想マシン28を移動するライブマイグレーションを実行する。つまり、CPU44がマイグレーション管理プロセス58を実行することによって、マイグレーション管理機能部15(図1)は、移動対象の仮想マシン28を移動する指示をする。ライブマイグレーションの実行が終了すると、次のステップ108で、ステップ104で確保を要求したリソースの解放を指示する。つまり、CPU44が仮想化リソース制御プロセス59のうちの解放処理を実行することによって、仮想化リソース制御機能部17(図1)はステップ102の実行により確保されたリソースIDのリソースの解除(解放)を要求する。
一方、管理装置12として動作するコンピュータ42からの指示に応じて、データセンター22として動作する物理マシン70では、各種処理が実行される。
なお、物理マシン70のCPU72は、GWプログラム83を実行することで、管理装置12または他のデータセンター22との情報授受が可能となる。また、CPU72は、仮想化基盤プログラム84を実行することで、仮想化技術による仮想化環境の構築が可能となる。さらに、CPU72は、仮想マシンプログラム88を実行することで、仮想化環境における仮想マシン28の構築が可能となる。
図13に、データセンター22として動作する物理マシン70で実行される仮想化基盤プログラム84による処理の流れの一例を示す。
物理マシン70のCPU72は、ステップ200で、管理装置12として動作するコンピュータ42からの指示が、移動対象の仮想マシン28のリソース情報の取得のためのリソース参照の要求であるか否かを判断する。CPU72は、ステップ200で肯定判断の場合、ステップ202へ進み、移動対象の仮想マシン28のリソース参照処理を実行し、本処理ルーチンを終了する。一方、ステップ200で否定判断の場合、CPU72は、ステップ204へ進み、管理装置12として動作するコンピュータ42からの指示が、移動対象の仮想マシン28のリソース確保の要求であるか否かを判断する。CPU72は、ステップ204で肯定判断の場合、ステップ206へ進み、移動対象の仮想マシン28のリソース確保処理を実行し、本処理ルーチンを終了する。
ステップ204で否定判断の場合、CPU72は、ステップ208へ進み、管理装置12として動作するコンピュータ42からの指示が、移動対象の仮想マシン28の移動要求であるか否かを判断する。ステップ208で肯定判断の場合、CPU72は、ステップ210へ進み、移動対象の仮想マシン28の移動処理を実行し、本処理ルーチンを終了する。一方、ステップ208で否定判断の場合、CPU72は、ステップ212へ進み、管理装置12として動作するコンピュータ42からの指示が、ステップ206で確保したリソースの解放要求であるか否かを判断する。ステップ212で肯定判断の場合、CPU72は、ステップ214へ進み、確保済みのリソース解放処理を実行し、本処理ルーチンを終了する。
次に、仮想マシン管理システム10において、ライブマイグレーション前に、中継地および移動先のデータセンター22にリソースを確保することについてさらに説明する。
図14に、仮想マシン管理システム10における仮想マシン28のリソース参照およびリソース確保についての情報授受の一例を示す。
管理装置12の中継地算出機能部14は、入力された仮想マシン28の移動元および移動先を示す情報に応じて、中継地および経路(順序)を算出する(ステップ100)。仮想化リソース制御機能部17は、仮想マシン28およびデータセンター22の情報を取得する(ステップ102)。つまり、中継地リスト68から経路番号「1」の情報が取得され、移動元の仮想化基盤26が「H0001」で、中継地の仮想化基盤26が「H0002」で、移動先の仮想化基盤26が「H0003」である。また、移動対象の仮想マシン28は、VMID「V0001」のVM Name「VM-A1-1」で示される仮想マシン28である。つまり、仮想化リソース制御機能部17は、VMID「V0001」のVM Name「VM-A1-1」で示される仮想マシン28のリソース情報(図3)を取得する。具体的には、管理装置12は、移動元のデータセンター22の物理マシン70からの応答を受け取り、移動対象のVMID「V0001」で示される仮想マシン28のリソース情報を、仮想マシンテーブル64(図3)に登録する。また、管理装置12は、受け取った移動対象のVMID「V0001」で示される仮想マシン28のリソース情報を、リソースID「VRSid001」を付与して仮想化基盤稼働率情報テーブル65に登録する。
一方、移動元のデータセンター22の物理マシン70は、管理装置12の要求に応じて、移動対象の仮想マシン28のリソース参照処理を実行する(ステップ202)。つまり、移動元のデータセンター22の仮想化リソース管理機能部34が管理装置12からの要求を受け付け、仮想化リソース制御機能部36へ移動対象のVMID「V0001」で示される仮想マシン28のリソース参照を指示する。仮想化リソース制御機能部36は、移動対象の仮想マシン28のリソースを確認し、リソース情報として仮想化リソース管理機能部34へ返信する。仮想化リソース管理機能部34は、移動対象の仮想マシン28のリソースを示すリソース情報を管理装置12へ応答する。
管理装置12は、情報取得が終了すると、仮想化リソース制御機能部17で、中継地および移動先のデータセンター22に移動対象の仮想マシン28のリソースの確保を要求する(ステップ104)。つまり、仮想化リソース制御機能部17は、中継地で「H0002」の仮想化基盤26および移動先で「H0003」の仮想化基盤26へ、リソースID「VRSid001」で示されるリソースの確保を要求する。
中継地のデータセンター22の物理マシン70は、移動対象の仮想マシン28のリソース確保処理を実行する(ステップ206)。つまり、管理装置12からのリソースID「VRSid001」のリソース確保の要求を、中継地のデータセンター22における仮想化リソース管理機能部34が受け付け、仮想化リソース制御機能部36へ移動対象の仮想マシン28のリソース確保を指示する。仮想化リソース制御機能部36は、リソース確保の指示に応じてリソースを確保する要求を仮想化基盤主要機能部32へ指示する。仮想化基盤主要機能部32は、仮想化リソース制御機能部36からのリソース確保指示に応じてリソースの確保を行う処理を実行し、処理結果を示すリソース確保処理結果情報を仮想化リソース制御機能部36へ通知する。リソース確保処理結果情報の一例は、リソースの確保が完了したことを示す情報がある。仮想化リソース制御機能部36は、リソース確保処理結果情報の通知を、仮想化リソース管理機能部34へ送る。仮想化リソース管理機能部34は、リソース確保処理結果情報を管理装置12へ応答する。なお、リソース確保処理結果情報は、移動対象の仮想マシン28のリソースの確保を完了したこと示す場合、確保したリソースを示す情報を含む。
管理装置12は、中継地のデータセンター22の物理マシン70からの応答を受け取り、リソースID「VRSid007」を付与して仮想化基盤稼働率情報テーブル65(図4)および仮想化リソース空塞管理テーブル66(図5)に登録する。仮想化基盤稼働率情報テーブル65には、物理マシン70で確保したリソースを示す情報に対して、仮想マシン28は未定であるため、VMID、VM Name、およびNW Nameを示す情報は、未定であることを示す「NONE」の情報が記憶される。また、仮想化基盤稼働率情報テーブル65のリソースID「VRSid007」に対応する仮想化リソース空塞管理テーブル66の空塞情報には、確保状態を示す「temporary」の情報が記憶される。
本実施形態では、物理マシン70でリソースが確保された場合、未使用時等に確保されたリソースを解放するためのタイムリミット値を定めることができる。例えば、リソースID「VRSid007」の空塞情報に、確保状態を示す「temporary」の情報が記憶された場合、仮想化リソースタイマー管理テーブル67を参照してタイムリミット値が定められる。具体的には、リソースID「VRSid007」は、仮想マシン28が使用する予め定めたリソースの種類及び大きさ等に対応する「VRS_class0」のリソースクラスに設定される。「VRS_class0」のリソースクラスは、「T001」のタイムリミット値になるので(図7に示すタイムリミット値テーブル67B参照)、リソースID「VRSid007」のタイムリミット値は「T001」になる(図6に示すVM時限タイマーテーブル67A参照)。
移動先のデータセンター22の物理マシン70も同様に、移動対象の仮想マシン28のリソース確保処理を実行する(ステップ206)。
管理装置12は、移動対象の仮想マシン28のリソース確保が終了すると、移動対象の仮想マシン28を移動するライブマイグレーションを実行する(ステップ106)。
図15に、管理装置12として動作するコンピュータ42で実行されるステップ102(図12)における情報取得処理の流れの一例を示す。また、図16に、移動元のデータセンター22として動作する物理マシン70で実行されるステップ202(図13)におけるリソース参照処理の流れの一例を示す。
管理装置12の仮想化リソース制御機能部17として動作するコンピュータ42のCPU44は、ステップ110で、中継地リスト68を参照して、移動元から中継地を介して移動先のデータセンター22についての情報を取得する。次にCPU44は、ステップ112で、移動元で稼働する移動対象の仮想マシン28が使用するリソース情報を取得する。つまり、CPU44は、移動元のデータセンター22の物理マシン70へリソース情報を要求し、応答によりリソースID「VRSid001」で示すことになるリソース情報を取得する。
一方、移動元のデータセンター22として動作する物理マシン70のCPU72は、ステップ220において仮想化リソース管理機能部34で、管理装置12の要求を受け付け、仮想化リソース制御機能部36へ仮想マシン28のリソース参照を指示する。次にCPU72は、ステップ222において、仮想化リソース制御機能部36で、移動対象の仮想マシン28のリソースを確認する取得処理を実行して仮想化リソース管理機能部34へ返信する。次にCPU72は、ステップ224において、仮想化リソース管理機能部34で、移動対象の仮想マシン28のリソースを示すリソース情報を取得結果として応答する。
図17に、管理装置12として動作するコンピュータ42で実行されるステップ104(図12)におけるリソース確保を要求する処理の流れの一例を示す。また、図18に、データセンター22として動作する物理マシン70で実行されるステップ206(図13)におけるリソース確保処理の流れの一例を示す。
管理装置12の仮想化リソース制御機能部17として動作するコンピュータ42のCPU44は、ステップ114で、中継地および移動先のデータセンター22に移動対象の仮想マシン28のリソースの確保を要求する。つまり、CPU44は、リソースID「VRSid001」のリソース情報によるリソースの確保を要求する。
一方、データセンター22の物理マシン70のCPU72は、ステップ226において仮想化リソース管理機能部34で、管理装置12からの要求を受け付け、仮想化リソース制御機能部36へ移動対象の仮想マシン28のリソース確保を指示する。つまり、CPU72は、リソースID「VRSid001」のリソース情報によるリソースを確保する指示を行う。次にCPU72は、ステップ228において、仮想化リソース制御機能部36で、リソースを確保する要求を仮想化基盤主要機能部32へ行う。CPU72は、次のステップ230において、仮想化基盤主要機能部32で、リソースを確保する処理を実行し、処理結果を示すリソース確保処理結果情報を仮想化リソース制御機能部36へ通知する。また、仮想化リソース制御機能部36は、リソース確保処理結果情報の通知を、仮想化リソース管理機能部34へ送る。次にCPU72は、ステップ232において、仮想化リソース管理機能部34で、移動対象の仮想マシン28のリソースについてのリソース確保処理結果情報を管理装置12へ応答する。
例えは、データセンター22の物理マシン70において、第1の仮想マシン28Aが稼働中に、第2の仮想マシン28Bのリソースを確保する場合を考える。仮想マシン28が用いるCPU使用率をリソースとする場合、第1の仮想マシン28Aが30%のCPU使用率(6GHz分)で稼働中のとき、CPUリソース33は、3つのセル33Aを使用することになる(図9)。データセンター22の物理マシン70に第2の仮想マシン28Bの20%のCPU使用率(4GHz分)であるリソースを確保する要求を受け取ると、仮想化リソース管理機能部34は、空きのリソースから2つのセル33Bを確保することを実行する。
また、例えば、仮想マシン28が用いるメモリの使用率をリソースとする場合、第1の仮想マシン28Aが8GB分のメモリ使用量で稼働中のとき、メモリリソース35は、2つのセル35Aを使用することになる(図10)。データセンター22の物理マシン70に第2の仮想マシン28Bの12GB分のメモリ使用量であるリソースを確保する要求を受け取ると、仮想化リソース管理機能部34は、第3つのセル35Bを確保することを実行する。
ところで、データセンター22の物理マシン70では、リソースの確保を失敗する場合がある。そこで、管理装置12では、リソースの確保に失敗したデータセンター22を除外して移動先までの中継地および経路(順序)を再度算出して処理を継続する。
つまり、管理装置12の仮想化リソース制御機能部17として動作するコンピュータ42のCPU44は、ステップ116で、ステップ114による要求の応答がリソース確保の成功か否かを判断する。ステップ116で肯定判断の場合には、そのまま本処理ルーチンを終了する。一方、ステップ116で否定判断される場合には、ステップ118へ処理を移行する。ステップ118では、リソース確保に失敗した中継地を除き、移動元から移動先に至る中継地のデータセンター22を再算出する指示を、中継地算出機能部14へ行い、中継地のデータセンター22を示す情報を再取得する。中継地を示す情報の再取得は、中継地リスト68の中からリソース確保に失敗した中継地を除く経路を選択することにより実行できる。次に、CPU44は、ステップ114へ戻り、再取得した中継地のデータセンター22を示す情報に応じてリソース確保処理を実行する。
なお、CPU44は、ステップ116で肯定判断した場合、物理マシン70で確保されたリソースを未使用時等に解放するため、タイムリミット値を定めることができる。例えば、リソースID「VRSid007」のリソースについては、「VRS_class0」のリソースクラスが設定され、「T001」のタイムリミット値で(図7に示すタイムリミット値テーブル67B参照)、タイムリミット値が「T001」に設定される(図6に示すVM時限タイマーテーブル67A参照)。
次に、仮想マシン管理システム10におけるライブマイグレーション処理についてさらに説明する。
図19に、仮想マシン管理システム10におけるライブマイグレーションについての情報授受の一例を示す。
管理装置12のマイグレーション管理機能部15は、移動順序に従って、受け入れ先のデータセンター22へ仮想マシン28の受け入れ確認を行った後に、仮想マシン28の移動を指示する(ステップ106)。
まず、移動元のデータセンター22から中継地のデータセンター22へ仮想マシン28を移動する場合について説明する。この場合、中継地のデータセンター22は、移動元のデータセンター22で稼働する仮想マシン28の受け入れ先である。移動元のデータセンター22と受け入れ先である中継地のデータセンター22との間で、仮想マシン28が移動される(ステップ210)。
受け入れ先のデータセンター22の物理マシン70は、仮想化基盤主要機能部32で、管理装置12の要求に応じて、移動対象の仮想マシン28を受け入れることが可能か否かを確認し、確認結果を返信する。次に、移動元のデータセンター22の物理マシン70は、仮想マシン28が受け入れ先で受け入れ可能である場合、管理装置12からの指示に応じて、仮想化基盤主要機能部32で、仮想マシン28の移動処理を実行する。受け入れ先のデータセンター22の物理マシン70は、仮想化基盤主要機能部32で、仮想マシン28の受け入れ処理を実行し、処理結果を、移動元のデータセンター22へ返信する。移動元のデータセンター22の仮想化基盤主要機能部32は、仮想マシン28の移動処理による処理結果を示す情報で、管理装置12へ応答する。
管理装置12は、受け入れ先で仮想マシン28の受け入れが可能である場合、仮想化リソース空塞管理テーブル66(図5)の空塞情報に、マイグレーション中状態を示す「temporary on migration」の値を登録し、仮想マシン28の移動開始を指示する。つまり、移動元におけるリソースID「VRSid001」の空塞情報を「temporary on migration」に更新し、受け入れ先におけるリソースID「VRSid007」の空塞情報を「temporary」から「temporary on migration」に更新する。
次に、中継地のデータセンター22から移動先のデータセンター22へ仮想マシンを移動する場合について説明する。この場合、中継地のデータセンター22は、仮想マシンの移動元のデータセンターであり、移動先のデータセンター22は、仮想マシンの受け入れ先である。移動元のデータセンター22から受け入れ先である中継地のデータセンター22へ仮想マシン28を移動するのと同様に、中継地のデータセンター22と受け入れ先である移動先のデータセンター22との間で、仮想マシン28が移動される(ステップ210)。
図20に、管理装置12として動作するコンピュータ42で実行されるステップ106(図12)における移動処理の流れの一例を示す。また、図21に、移動元及び受け入れ先のデータセンター22として動作する物理マシン70で実行されるステップ210(図13)における移動処理の流れの一例を示す。
管理装置12のマイグレーション管理機能部15として動作するコンピュータ42のCPU44は、ステップ120で、受け入れ先のデータセンター22へ、移動元の仮想マシン28の受け入れを要求する受入情報を通知する。次にCPU44は、ステップ122で、受け入れ先のデータセンター22からの返信が、受け入れ可能であることを示す情報であるか否かを判断する。CPU44は、ステップ122で肯定判断した場合、ステップ124へ処理を移行し、移動元のデータセンター22における仮想化基盤26へ、移動対象の仮想マシン28の移動を指示する。
次にCPU44は、ステップ126で、移動元のデータセンター22からの返信が、仮想マシン28の移動に成功したことを示す情報であるか否かを判断する。ステップ126で、CPU44が肯定判断した場合、次のステップ128で、最終の移動先のデータセンター22であるか否かを判別することにより仮想マシン28の移動順序で次のデータセンター22がないか否かを判断する。次のデータセンター22が存在する場合、CPU44は、ステップ128で否定判断し、ステップ120へ処理を戻す。一方、CPU44がステップ128で肯定判断した場合、移動順序に従って仮想マシン28の移動が全て成功しているものとして、本処理ルーチンを終了する。
一方、データセンター22の仮想化基盤主要機能部32として動作する物理マシン70のCPU72は、ステップ240で、自己の仮想化基盤26が仮想マシン28の受け入れ先であるか否かを判断する。ステップ240の判断は、管理装置12から受入情報を受信したか否かを判別することにより判断できる。自己の仮想化基盤26が仮想マシン28の受け入れ先である場合、CPU72は、ステップ240で肯定判断し、ステップ242へ処理を移行する。CPU72は、ステップ242で、仮想マシン28を受け入れることが可能であるか否かを確認し、確認結果を管理装置12へ返信する。次にCPU72は、ステップ244で、管理装置12へ返信した確認結果が仮想マシン28を受け入れ可能か否かを判断し、否定判断の場合、そのまま本処理ルーチンを終了する。一方、CPUは、ステップ244で肯定判断した場合、ステップ246へ処理を移行し、仮想化基盤26に仮想マシン28を受け入れる処理を実行し、処理結果を管理装置12へ通知する。
また、自己の仮想化基盤26が移動対象の仮想マシン28を管理する仮想化基盤26である場合、CPU72は、ステップ240で否定判断し、ステップ248へ処理を移行する。ステップ248では、CPU72は、移動対象の仮想マシン28を受け入れ先に移動する処理を実行し、次のステップ250で処理結果を管理装置12へ応答する。
ところで、データセンター22の物理マシン70では、稼働状況によって仮想マシン28を受け入れることが困難な場合がある。また、仮想マシン28の移動を失敗する場合がある。そこで、管理装置12では、データセンター22で仮想マシン28の受け入れが困難な場合、または仮想マシン28の移動を失敗する場合、該当するデータセンター22を除外して移動先までの中継地および経路(順序)を再度算出して処理を継続する。
つまり、管理装置12として動作するコンピュータ42のCPU44は、ステップ132において、マイグレーション管理機能部15より仮想化リソース制御機能部17へ、仮想マシン28の受け入れが困難、または移動が失敗したことを通知する。仮想化リソース制御機能部17は、図17に示すステップ118の処理と同様に、移動先に至る中継地のデータセンター22を再算出する指示を、中継地算出機能部14へ行い、中継地のデータセンター22を示す情報を再取得する。なお、ステップ132では、仮想マシン28の受け入れが困難な場合には、移動先に至る中継地のデータセンター22を再算出する指示を、中継地算出機能部14へ行う。また、仮想マシン28の移動処理の過程であることが考えられるため、移動に失敗した場合、ステップ132では、失敗した中継地を移動元として移動先に至る中継地のデータセンター22を再算出する指示を、中継地算出機能部14へ行う。次のステップ134では、図17に示す処理と同様に、中継地および移動先のリソースを確保し、本処理ルーチンを終了する。
次に、仮想マシン管理システム10において、仮想マシン28の移動前に、中継地および移動先のデータセンター22に確保したリソースを、解放することについてさらに説明する。
図22に、仮想マシン管理システム10における仮想マシン28のリソース解放についての情報授受の一例を示す。
管理装置12では、マイグレーション管理機能部15による仮想マシン28の移動処理が終了すると(ステップ106)、仮想化リソース制御機能部17によって、確保済みの仮想マシン28のリソースの解放を要求する(ステップ108)。つまり、管理装置12は、仮想化リソース空塞管理テーブル66に基づいて、仮想マシン28の移動のために確保したリソースの開放を要求する。具体的には、管理装置12は、確保済みの仮想マシン28のリソースについて、移動処理が終了してから未使用のまま所定時間を経過したリソース、または確保してから未使用のまま所定時間を経過したリソースの解放を要求する。
移動元のデータセンター22の物理マシン70は、管理装置12の要求に応じて、確保済みの仮想マシン28のリソースの解除(解放)する確保リソース解放処理を実行する(ステップ214)。つまり、仮想化リソース管理機能部34が管理装置12からの要求を受け付け、仮想化リソース制御機能部36へ確保済みの仮想マシン28のリソース解放を指示する。仮想化リソース制御機能部36は、リソース解放の指示に応じてリソースを解放する要求を仮想化基盤主要機能部32へ指示する。仮想化基盤主要機能部32は、仮想化リソース制御機能部36からのリソース解放指示に応じてリソースを解放し、解放を完了すると仮想化リソース制御機能部36へリソース解放完了を通知する。仮想化リソース制御機能部36は、リソース解放完了の通知を、仮想化リソース管理機能部34へ送る。仮想化リソース管理機能部34は、仮想マシン28のリソースの解放を完了したこと示す情報を管理装置12へ応答する。
中継地および移動先のデータセンター22の物理マシン70も同様に、順次、仮想マシン28のリソース解放処理を実行する(ステップ214)。
図23に、管理装置12として動作するコンピュータ42で実行されるステップ108(図12)におけるリソース解放の要求処理の流れの一例を示す。また、図24に、データセンター22として動作する物理マシン70で実行されるステップ214(図13)におけるリソース解放処理の流れの一例を示す。
管理装置12の仮想化リソース制御機能部17として動作するコンピュータ42のCPU44は、ステップ140で、仮想化リソース空塞管理テーブル66(図5)から1個のリソースIDを取得する。次にCPU44は、ステップ142で、ステップ140で取得したリソースIDが最後のリソースIDに対する処理が終了したか否かを判別することで全てのリソースIDに対する処理が終了したか否かを判断する。CPU44は、ステップ142で肯定判断した場合には、そのまま本処理ルーチンを終了し、否定判断した場合にはステップ144へ処理を移行する。
ステップ144では、CPU44は、ステップ140で取得したリソースIDのリソースの状態が確保状態である「temporary」か否かを判断し、肯定判断の場合はステップ146へ処理を移行し、否定判断の場合はステップ152へ処理を移行する。ステップ146では、CPU44は、仮想化リソース空塞管理テーブル66を参照し、確保状態の経過時間T(現在時刻から最終更新時刻を減算した時間)を計算し、ステップ148へ進む。CPU44は、ステップ148で、経過時間Tが確保状態用に予め定めた時間T1を超えるか否かを判断する。予め定めた時間T1は、リソースの確保後に(図17に示すステップ116の肯定判断後に)、定めたタイムリミット値を用いることができる。例えば、リソースID「VRSid007」には、「VRS_class0」のリソースクラスで「T001」のタイムリミット値が設定される(図6および図7)。経過時間Tが時間T1以内の場合、確保されたリソースが利用される可能性があるため、CPU44はステップ148で否定判断し、ステップ140へ処理を戻し、次のリソースIDについての処理を実行する。一方、経過時間Tが時間T1を超える場合、CPU44はステップ148で肯定判断し、ステップ150で、リソースの解放を指示した後に、ステップ140へ処理を戻し、次のリソースIDについての処理を実行する。なお、ステップ150では、リソースの解放を指示する場合に、リソースIDを示す情報を含めて指示する。
CPU44は、ステップ144で否定判断した場合、ステップ152で、ステップ140で取得したリソースIDのリソースの状態がマイグレーション中状態である「temporary on migration」か否かを判断する。CPU44は、ステップ152で肯定判断した場合、ステップ154へ処理を移行し、否定判断した場合、ステップ140へ処理を戻す。ステップ154では、CPU44は、仮想化リソース空塞管理テーブル66を参照し、マイグレーション中状態の経過時間T(現在時刻から最終更新時刻を減算した時間)を計算し、ステップ156へ進む。CPU44は、ステップ156で、経過時間Tがマイグレーション中状態用に予め定めた時間T2を超えるか否かを判断する。予め定めた時間T2は、時間T1と同一であってもよく、異なる時間を定めてもよい。本実施形態では、時間T1と時間T2とが同一の場合を説明する。経過時間Tが時間T2以内の場合、確保されたリソースが利用される可能性があるため、CPU44はステップ156で否定判断し、ステップ140へ処理を戻し、次のリソースIDについての処理を実行する。一方、経過時間Tが時間T2を超える場合、CPU44はステップ156で肯定判断し、ステップ158で、リソースの解放を指示した後に、ステップ140へ処理を戻し、次のリソースIDについての処理を実行する。なお、ステップ158では、リソースの解放を指示する場合に、リソースIDを示す情報を含めて指示する。
一方、データセンター22の物理マシン70のCPU72は、ステップ260において仮想化リソース管理機能部34で、管理装置12からのリソース解放要求を受け付け、仮想化リソース制御機能部36へ確保済みの仮想マシン28のリソース解放を指示する。つまり、CPU72は、リソースIDを示す情報で指示されたリソースの解放を指示することを、仮想化リソース制御機能部36へ行う。次にCPU72は、ステップ262において、仮想化リソース制御機能部36で、確保済みのリソースを解放する処理を実行する要求を仮想化基盤主要機能部32へ行う。CPU72は、次のステップ264において、仮想化基盤主要機能部32で、指示されたリソースIDのリソースを解放し、解放を完了すると仮想化リソース制御機能部36へリソース解放完了を通知する。また、仮想化リソース制御機能部36は、リソース解放完了の通知を、仮想化リソース管理機能部34へ送る。次にCPU72は、ステップ266において、仮想化リソース管理機能部34で、仮想マシン28のリソースの解放を完了したこと示す情報を管理装置12へ応答する。
以上説明したように、第1実施形態では、仮想マシン28の移動、例えばライブマイグレーションを行う前に、中継地および移動先の環境で、移動対象の仮想マシン28が使用するリソースを確保してから、ライブマイグレーションを実行する。つまり、仮想マシン28を移動する以前に、仮想マシン28が使用するリソースを予め確保でき、仮想マシン28を確実に移動することができる。また、仮想マシン28が使用するリソースを予め確保してから移動するので、仮想マシン28の移動後の仮想マシン28の稼働時に、リソース不足による仮想マシン28の性能低下を招くことはない。
また、第1実施形態では、移動元から移動先へ中継する中継地および経路(順序)を、中継地算出機能部14において算出し、算出された中継地および経路(順序)を示す情報に基づいて、仮想マシン28を移動する。従って、仮想マシン28を移動する中継地および経路(順序)を算出する部分を構成として分離でき、中継地算出機能部14で算出された情報を用いて、移動元から移動先へ至る仮想マシン28の移動を確実に行うことができる。
さらに、第1実施形態では、仮想マシン28が使用するリソースの確保が困難な場合に、移動元から移動先へ中継する中継地および経路(順序)を再取得する。従って、仮想マシン28の移動前に、仮想マシン28が使用するリソースを確保できる中継地および経路を特定でき、性能低下の可能性を含む仮想マシン28の移動を中止することができる。再取得で特定された中継地および経路によって、仮想マシン28を移動するので、移動対象の仮想マシン28の性能を低下させることなく、仮想マシン28を移動できる。
また、第1実施形態では、仮想マシン28の移動中に、移動が困難な状況になる場合に、移動が困難な状況になった移動元から移動先へ中継する中継地および経路を再取得する。従って、仮想マシン28の移動中であっても、仮想マシン28が使用するリソースを確保できる中継地および経路を特定でき、移動対象の仮想マシン28の性能を低下させることなく、仮想マシン28を移動できる。
さらにまた、第1実施形態では、移動対象の仮想マシン28が使用するリソースを確保してから、所定時間の未使用状態である場合に、確保済みのリソースを解放する。従って、リソースを長時間確保した状態で維持させることを抑制できる。また、第1実施形態では、移動対象の仮想マシン28を移動してから、所定時間を経過した場合に、確保済みのリソースを解放する。従って、仮想マシン28の移動後にリソースを長時間確保した状態で維持させることを抑制できる。
<第2実施形態>
次に第2実施形態を説明する。第2実施形態は、複数の仮想マシンを移動する場合に開示の技術を適用したものである。なお、第2実施形態は、第1実施形態と略同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
図25に、第2実施形態にかかる仮想マシン管理システム10における仮想マシン28のリソース参照およびリソース確保についての情報授受の一例を示す。
管理装置12の中継地算出機能部14は、中継地および経路(順序)を算出し(ステップ100)、仮想化リソース制御機能部17は、仮想マシン28およびデータセンター22の情報を取得する(ステップ102)。なお、第2実施形態では、移動対象の仮想マシン28は、VM IDが「V0001」、「V0002」、「V0003」で示される仮想マシン28とする。移動元のデータセンター22は、「V0001」、「V0002」、および「V0003」のVM IDで示される移動対象の仮想マシン28のリソース参照処理を実行する(ステップ202)。管理装置12は、複数の仮想マシン28の各リソース情報に、リソースID「VRSid001」、「VRSid002」、「VRSid003」を付与して仮想化基盤稼働率情報テーブル65に登録し、中継地および移動先に仮想マシン28のリソースの確保を要求する(ステップ104)。
中継地のデータセンター22は、移動対象の仮想マシン28のリソース確保処理を実行する(ステップ206)。なお、詳細は後述するが、第2実施形態では、中継地のデータセンター22に、複数の移動対象の仮想マシン28の各々のリソースを確保することを要求しない。つまり、第2実施形態では、複数の移動対象の仮想マシン28を順次移動することを前提として、移動対象の複数の仮想マシン28のうち最大のリソースを使用可能にリソース領域を確保しておき、確保したリソース領域を用いる。従って、管理装置12は、中継地のデータセンター22に、移動対象の複数の仮想マシン28のうち最大のリソースを使用可能に確保する指示を行う。そして、管理装置12は、仮想化リソース空塞管理テーブル66の空塞情報に、確保状態を示す「temporary」の情報が記憶される。一方、移動先のデータセンター22は、複数の移動対象の仮想マシン28の各々のリソースを確報するリソース確保処理を実行する(ステップ206)。
図26に、第2実施形態にかかる管理装置12における情報取得処理の流れの一例を示す。また、図27に、第2実施形態にかかる移動元のデータセンター22におけるリソース参照処理の流れの一例を示す。
コンピュータ42のCPU44は、中継地リスト68を参照して、移動元から中継地を介して移動先のデータセンター22についての情報を取得する(ステップ110)。次にCPU44は、ステップ112Aで、移動元で稼働する移動対象の複数の仮想マシン28が使用する各リソース情報(リソースIDの「VRSid001」「VRSid002」「VRSid003」で示すリソース情報)を取得する。
一方、物理マシン70のCPU72は、ステップ220Aで、仮想化リソース制御機能部36へ移動対象の複数の仮想マシン28のリソース参照を指示し、ステップ222Aで、複数の仮想マシン28のリソースを確認する。次にCPU72は、ステップ224Aにおいて、移動対象の複数の仮想マシン28のリソースを示すリソース情報を取得結果として応答する。
図28に、第2実施形態にかかる管理装置12におけるリソース確保要求処理の流れの一例を示す。また、図29に、第2実施形態にかかるデータセンター22におけるリソース確保処理の流れの一例を示す。
管理装置12の仮想化リソース制御機能部17として動作するコンピュータ42のCPU44は、ステップ114Aで、移動対象の複数の仮想マシン28のリソースを示すリソース情報のうち、最大となるリソースを示すリソース情報を特定する。次にCPU44は、ステップ114Bで、中継地のデータセンター22に、ステップ114Aで求めた最大のリソースを示すリソース情報の確保を要求する。なお、ステップ114Bでは、ステップ114Aで求めた最大のリソースを示すリソース情報を確保する要求を行うために、最大のリソース以上のリソースを示すリソース情報を要求してもよい。次のステップ114Cでは、CPU44は、移動先のデータセンター22に移動対象の複数の仮想マシン28の各々のリソースの確保を要求する。つまり、CPU44は、リソースID「VRSid001」「VRSid002」「VRSid003」のリソース情報によるリソースの確保を要求する。
一方、データセンター22では、CPU72は、まず、ステップ225で、管理装置12からの要求が中継地に対するものであるか否かを判断する。管理装置12からの要求が中継地に対する場合、CPU72は、ステップ225で肯定判断し、ステップ225Aにおいて、図18に示す処理と同様に、要求された(最大の)リソースを示すリソース情報によるリソースを確保する処理を実行する。一方、CPU72が、ステップ225で否定判断した場合、移動先のデータセンター22として、複数のリソースを確保する処理を実行する。つまり、CPU72は、ステップ226Aで、仮想化リソース制御機能部36へ移動対象の複数の仮想マシン28のリソース確保を指示する。次にCPU72は、ステップ228Aにおいて、仮想化リソース制御機能部36で、各リソースを確保する要求を仮想化基盤主要機能部32へ行う。CPU72は、次のステップ230Aにおいて、仮想化基盤主要機能部32で、複数のリソースを確保し、確保を完了すると仮想化リソース制御機能部36へ複数のリソース確保完了を通知する。また、仮想化リソース制御機能部36は、複数のリソース確保完了の通知を、仮想化リソース管理機能部34へ送る。次にCPU72は、ステップ232Aにおいて、仮想化リソース管理機能部34で、移動対象の複数の仮想マシン28のリソースの確保を完了したこと示す情報を管理装置12へ応答する。
図30に、第2実施形態にかかる仮想マシン管理システム10におけるライブマイグレーションについての情報授受の一例を示す。
管理装置12のマイグレーション管理機能部15は、移動順序に従って、受け入れ先のデータセンター22へ仮想マシン28の受け入れ確認を行った後に仮想マシン28の移動を指示することを(ステップ106)、移動対象の複数の仮想マシン28の各々について、順次実行する。
まず、移動元から受け入れ先として中継地へ仮想マシン28を移動する場合、移動元のデータセンター22と受け入れ先である中継地のデータセンター22との間で、仮想マシン28が移動される(ステップ210)。中継地のデータセンター22では、移動対象の複数の仮想マシン28のうち最大のリソースが使用可能に確保された1つの共通利用リソース(CPUリソース33及びメモリリソース35として確保されるリソース領域)を用いる。
なお、管理装置12は、仮想化リソース空塞管理テーブル66(図5)の空塞情報に、複数の各仮想マシン28の移動中にのみ、マイグレーション中状態を示す「temporary on migration」の値を登録してもよく、複数の仮想マシン28の移動中にマイグレーション中状態を示す「temporary on migration」の値を維持させてもよい。
次に、中継地のデータセンター22から移動先のデータセンター22へ仮想マシンを移動する場合、中継地のデータセンター22と受け入れ先である移動先のデータセンター22との間で、仮想マシン28が移動される(ステップ210)。中継地のデータセンター22では、共通利用リソースとして確保されたリソースを用いて中継地のデータセンター22から、移動先のデータセンター22へ、仮想マシンが移動される。
図31に、第2実施形態にかかる移動元及び受け入れ先のデータセンター22として動作する物理マシン70で実行されるステップ210(図13)における移動処理の流れの一例を示す。なお、管理装置12で実行される移動対象の複数の仮想マシン28の移動処理は、図20に示す移動処理(図12に示すステップ106)を繰り返し実行するため、詳細な説明を省略する。
データセンター22の仮想化基盤主要機能部32として動作する物理マシン70のCPU72は、仮想マシン28の受け入れが可能である場合(ステップ244で肯定判断した場合)、ステップ245へ処理を移行する。CPU72は、ステップ245で、自己の仮想化基盤26が中継地の仮想化基盤26であるか否かを判断する。ステップ245の判断は、管理装置12から中継地を示す受入情報であるか否かを判別することにより判断できる。CPU72は、ステップ245で、肯定判断した場合、ステップ247へ処理を移行し、移動対象の複数の仮想マシン28のうち最大のリソースが使用可能に確保された1つの共通利用リソースを用いて仮想マシン28を受け入れる。一方、CPU72は、ステップ245で、否定判断した場合、図21に示すステップ246の処理と同様に、仮想化基盤26に仮想マシン28を受け入れる処理を実行する。
以上説明したように、第2実施形態では、複数の仮想マシン28を移動する場合に、中継地における環境で、移動対象の複数の仮想マシン28の各々が使用するリソースのうち最大となるリソース以上の1つのリソースを確保して移動を実行する。従って、中継地のデータセンター22において、複数の仮想マシン28の各々を移動するときに、複数の仮想マシン28のリソースの総和を確保する必要はない。これにより、第2実施形態では、第1実施形態の効果に加えて、中継地における環境で、移動対象の複数の仮想マシン28を移動するにあたり、リソース確保によるリソースの消費を抑制することができる。
<第3実施形態>
次に第3実施形態を説明する。なお、第3実施形態は、第1実施形態と同様の構成のため、同一部分には同一符号を付して詳細な説明を省略する。
第1実施形態および第2実施形態では、移動対象の仮想マシン28が使用するリソースを参照して、受け入れ先のデータセンター22に、移動対象の仮想マシン28が使用するリソースを確保した。第3実施形態では、所定の時期に、仮想化基盤26に予め定めた一定量のリソースを予約してしておき、仮想マシン28を移動するときに、予約したリソースを、確保用のリソースとして用いるものである。つまり、ネットワーク20に接続され、仮想マシン28の移動について、受け入れ先となる可能性を有するデータセンター22に、予め定めた一定量のリソースを、仮想マシン28の移動用のリソースとして予約する。
図32に、仮想マシン管理システム10における仮想マシン28のリソース参照およびリソース確保までの情報授受の一例を示す。
まず、管理装置12では、ライブマイグレーションの処理前に、仮想化リソース制御機能部17で、ネットワーク20に接続されるデータセンター22の各々に、仮想マシン28が使用するリソース用として定めたリソースの予約を行う(ステップ101)。つまり、管理装置12は、仮想化リソース制御機能部17で、データセンター22の各々に、仮想マシン28が使用するリソースとして予め定めた量のリソースを予約しておく。詳細には、管理装置12は、仮想化基盤テーブル63を参照して、仮想マシン28を構築可能な仮想化基盤26へ、予め定めたリソースを、仮想マシン28の移動時に使用可能に予約する要求を行う。なお、仮想マシン28が使用するリソース用として定めたリソースは、予め定めた仮想マシン28が使用するリソースの所定数分(例えば3倍)のリソースを定めることができる。
データセンター22の各々では、管理装置12からのリソース予約処理を実行する(ステップ207)。つまり、管理装置12からのリソース予約の要求を、仮想化リソース管理機能部34が受け付け、仮想化リソース制御機能部36へリソース予約を指示する。仮想化リソース制御機能部36は、リソース予約の指示に応じてリソースを予約する要求を仮想化基盤主要機能部32へ指示する。仮想化基盤主要機能部32は、仮想化リソース制御機能部36からのリソース予約指示に応じてリソースを使用可能に予約し、予約を完了すると仮想化リソース制御機能部36へリソース予約完了を通知する。仮想化リソース制御機能部36は、リソース予約完了の通知を、仮想化リソース管理機能部34へ送る。仮想化リソース管理機能部34は、リソースの予約を完了したこと示す情報を管理装置12へ応答する。
管理装置12は、データセンター22の各々からの応答を受け取り、仮想化基盤稼働率情報テーブル65(図4)および仮想化リソース空塞管理テーブル66(図5)に登録する。仮想化基盤稼働率情報テーブル65には、予約したリソースを示す情報に対して、仮想マシン28は未定であるため、VMID、VM Name、およびNW Nameを示す情報は、未定であることを示す「NONE」の情報が記憶される。また、仮想化リソース空塞管理テーブル66の空塞情報には、確保状態を示す「temporary」またはマイグレーション中状態を示す「temporary on migration」の情報が記憶される。なお、仮想化リソース空塞管理テーブル66の空塞情報には、予約したリソースを示す情報として専用の情報を記憶してもよい。
図33に、第3実施形態にかかる仮想化基盤稼働率情報テーブル65の一例を示す。また、図34に、第3実施形態にかかる仮想化リソース空塞管理テーブル66の一例を示す。
図33は、仮想化基盤稼働率情報テーブル65にはリソースID「VRS002」、「VRS003」および「VRS006」、「VRS007」によるリソースが予約されることを示す。図34は、リソースID「VRS002」、「VRS003」および「VRS006」、「VRS007」によるリソースが、予約されたリソースとしてマイグレーション中状態を示す「temporary on migration」の情報が記憶されたことを示す。
以上説明したように、第3実施形態では、仮想マシン28の移動前に、事前に一定量のリソースを予約しておくので、仮想マシン28の移動時に使用するリソース確保の失敗を抑制できる。
なお、上記では仮想マシン管理システム10をコンピュータシステム40により実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
また、上記ではプログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されるものではない。例えば、開示の技術における管理プログラムおよび仮想化基盤プログラムは、CD−ROMやDVD−ROM等の記録媒体に記録されている形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
移動元の第1の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第2の物理マシンで中継して、移動先の第3の物理マシンへ、移動する場合に、前記第1の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第1の物理マシン、前記第2の物理マシンおよび前記第3の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得する取得部と、
前記取得部で取得した位置情報に基づいて、前記第2の物理マシンおよび前記第3の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信する要求部と、
前記第2の物理マシン及び前記第3の物理マシンの各々から、前記要求部で送信した要求情報の応答を受け取り、前記取得部で取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行う指示部と、
を備えた仮想マシン管理装置。
(付記2)
前記取得部は、入力された、移動元の第1の物理マシン上で稼働する移動対象の仮想マシンを示す情報、前記第1の物理マシンを示す情報、および移動先の第3の物理マシンを示す情報に基づいて、中継地の前記第2の物理マシンを示す情報を求めて、移動対象の仮想マシンが移動される物理マシンの移動順序情報を求める順序演算部から、前記位置情報および前記移動順序情報を取得する
ことを含む付記1に記載の仮想マシン管理装置。
(付記3)
前記指示部は、前記第2の物理マシンおよび前記第3の物理マシンの各々から、前記資源割当情報により示される資源割当量を確保したことを示す応答を受け取った場合、移動対象の仮想マシンを、移動する指示を行い、前記第2の物理マシン及び前記第3の物理マシンの少なくとも一方から、前記資源割当量を確保したことを示す応答を受け取れなかった場合、前記応答を受け取れなかった第2の物理マシンと相違する物理マシンの位置情報および前記移動順序情報を、再取得する指示を行う
ことを含む付記1または付記2に記載の仮想マシン管理装置。
(付記4)
前記指示部は、前記第2の物理マシンまたは前記第3の物理マシンから、移動対象の仮想マシンの移動が失敗したことを示す情報を受け取ったときに、前記第2の物理マシンと相違する物理マシンの位置情報を、前記中継地の第2の物理マシンの位置情報として再取得する指示を行う
ことを含む付記1〜付記3の何れか1項に記載の仮想マシン管理装置。
(付記5)
前記取得部は、前記第1の物理マシン上で稼働する複数の移動対象の仮想マシンの各々の資源割当情報を取得し、
前記要求部は、前記取得部で取得した資源割当情報のうち、確保する資源割当量が所定量以上を示す資源割当情報により示される資源割当量を確保することを示す要求情報を送信する
ことを含む付記1〜付記4の何れか1項に記載の仮想マシン管理装置。
(付記6)
複数の物理マシンの各々に、予め定めた資源割当量を確保する処理を実行する確保部
をさらに備え、
前記要求部は、前記確保部で確保した資源割当量を用いて、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信する
ことを含む付記1〜付記5の何れか1項に記載の仮想マシン管理装置。
(付記7)
前記移動対象の仮想マシンが移動されたことを示す情報を受け取った場合に、前記第2の物理マシンおよび前記第3の物理マシンの各々に対して、前記確保した資源割当量の資源の割り当てを解放する処理を実行する解放部
をさらに備えた付記1〜付記6の何れか1項に記載の仮想マシン管理装置。
(付記8)
前記要求部より前記要求情報を送信した前記第2の物理マシン及び前記第3の物理マシンの少なくとも一方の物理マシンについて、前記要求情報を送信してから所定時間を経過しても前記移動対象の仮想マシンが移動されたことを示す情報を受け取れない場合に、該当する前記第2の物理マシンおよび前記第3の物理マシンの少なくとも一方の物理マシンに対して、前記確保した資源割当量の資源の割り当てを解放する処理を実行する解放部
をさらに備えた
ことを含む付記1〜付記6の何れか1項に記載の仮想マシン管理装置。
(付記9)
移動対象の仮想マシンが稼働する移動元の第1の物理マシンと、前記移動対象の仮想マシンの移動を中継する中継地の第2の物理マシンと、前記移動対象の仮想マシンの移動先の第3の物理マシンと、を含む仮想マシンシステムにおいて、
前記移動対象の仮想マシンを、移動元の第1の物理マシンから中継地の第2の物理マシンで中継して移動先の第3の物理マシンへ移動する制御を実行するコンピュータに、
前記コンピュータが、
前記第1の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第1の物理マシン、前記第2の物理マシンおよび前記第3の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第2の物理マシンおよび前記第3の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し
前記第2の物理マシン及び前記第3の物理マシンの各々から、送信した要求情報の応答を受け取り、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行う、
処理を実行させる仮想マシン管理システム。
(付記10)
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて、移動元の第1の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第2の物理マシンで中継して、移動先の第3の物理マシンへの移動を制御する仮想マシン管理方法であって、
コンピュータに、
前記コンピュータが
移動元の第1の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第2の物理マシンで中継して、移動先の第3の物理マシンへ、移動する場合に、前記第1の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第1の物理マシン、前記第2の物理マシンおよび前記第3の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第2の物理マシンおよび前記第3の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し、
前記第2の物理マシン及び前記第3の物理マシンの各々から、送信した要求情報の応答を受け取り、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行う、
ことを含む処理を実行させる仮想マシン管理方法。
(付記11)
仮想マシンが動作可能な複数の物理マシンを有する仮想マシンシステムにおいて、移動元の第1の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第2の物理マシンで中継して、移動先の第3の物理マシンへ、移動する制御をコンピュータに実行させる仮想マシン管理プログラムであって、
前記コンピュータに、
前記コンピュータが
移動元の第1の物理マシン上で稼働する移動対象の仮想マシンを、中継地の第2の物理マシンで中継して、移動先の第3の物理マシンへ、移動する場合に、前記第1の物理マシンにおける移動対象の仮想マシンの資源割当量の情報を含む資源割当情報を取得すると共に、第1の物理マシン、前記第2の物理マシンおよび前記第3の物理マシンの各々の位置情報と、移動対象の仮想マシンが移動される物理マシンの移動順序情報とを取得し、
取得した位置情報に基づいて、前記第2の物理マシンおよび前記第3の物理マシンの各々に、移動対象の仮想マシンの資源割当情報により示される資源割当量を確保することを示す要求情報を送信し、
前記第2の物理マシン及び前記第3の物理マシンの各々から、送信した要求情報の応答を受け取り、取得した位置情報、移動順序情報および受け取った応答に基づいて、移動対象の仮想マシンを、前記移動順序情報に従って移動する指示を行う、
処理を実行させる仮想マシン管理プログラム。