JPWO2008062864A1 - 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置 - Google Patents

仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置 Download PDF

Info

Publication number
JPWO2008062864A1
JPWO2008062864A1 JP2008545447A JP2008545447A JPWO2008062864A1 JP WO2008062864 A1 JPWO2008062864 A1 JP WO2008062864A1 JP 2008545447 A JP2008545447 A JP 2008545447A JP 2008545447 A JP2008545447 A JP 2008545447A JP WO2008062864 A1 JPWO2008062864 A1 JP WO2008062864A1
Authority
JP
Japan
Prior art keywords
virtual machine
server device
resource
resource usage
server
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.)
Granted
Application number
JP2008545447A
Other languages
English (en)
Other versions
JP5317010B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008545447A priority Critical patent/JP5317010B2/ja
Publication of JPWO2008062864A1 publication Critical patent/JPWO2008062864A1/ja
Application granted granted Critical
Publication of JP5317010B2 publication Critical patent/JP5317010B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

課題 仮想マシンが分散配置されるシステムにおいて、突発的な負荷変動に対して、必要な実効性能が得られる形で即座に仮想マシンを再配置し、さらに、再配置中にシステム全体の動作を継続する。解決手段 単一のサーバ装置3全体についての資源使用状況と、サーバ装置上で動作する仮想マシン33による資源使用状況とについての測定データを用いて資源の競合を検出する資源競合検出手段12と、資源の競合が検出されたサーバ装置上の仮想マシンを、資源使用率の低い他のサーバ装置に移動させる仮想マシン再配置決定手段13とを含む。

Description

本発明は、仮想マシン配置システム、仮想マシン配置方法に関し、特に、稼働時の資源競合状況に基づいて仮想マシンの配置を変更する仮想マシン配置システム、仮想マシン配置方法、仮想マシン管理装置、プログラムおよびサーバ装置に関する。
単一のサーバ装置(ワークステーションやパーソナルコンピュータ、サーバ専用機等のコンピュータ)上で複数のオペレーティングシステム(OS)を動作させることにより、1台のコンピュータを仮想的に複数台のサーバとして使うことのできる仮想マシン(VM:Virtual Machine)技術が知られている。この種の技術を適用した製品として、ヴイエムウェア社による「VMWare(登録商標) ESX Server」、マイクロソフト(登録商標)社による「VirtualServer」、および米国XenSource社による「Xen」などが知られている。これらの製品では、仮想マシン生成用のコマンドを発行することにより新たな仮想マシンを、サーバ装置上に生成することができる。
また、サーバ装置がネットワークを通じて複数台接続された分散プロセッサ環境において、或るサーバ装置に生成された仮想マシンを他のサーバ装置に移動させる技術が知られている。仮想マシンの移動技術を記載した文献としては、例えば、特開平10−283210号公報(特許文献1)がある。また、このような技術は、VMware(登録商標)ではvMotion、Xenではmigrationとして仮想マシンの移動機能を提供している。
このようにサーバ装置が複数台に分散した環境において、各仮想マシンはそれぞれ異なる性能要件を持つことから、どの仮想マシンをどのサーバ装置に配置するか(以下、仮想マシンの配置)は、仮想マシンの実効性能に影響を与える。
仮想マシンの配置を決定する方法として、特開2005−115653号公報(特許文献2)に記載されるように、既存の仮想マシンの性能を示す実測データに基づいて、各仮想マシンと各サーバ装置の可能な組合せのそれぞれについて性能値の合計を算出し、それが最大になるように各仮想マシンの再配置を行う方法が知られている。
特開平10−283210号公報 特開2005−115653号公報
上述した通り、特許文献記載の技術では、配置対象となる仮想マシンにおける過去の性能データに基づいて、仮想マシンの配置を決定している。
この方法の第1の問題点は、仮想マシン上の負荷の変動に対して、仮想マシンの再配置を迅速に行えないということである。
その理由は、性能データを一定期間(典型的には数分間から数時間)に渡って収集する必要があるために、突発的な負荷の上昇を検出できないためである。
第2の問題点は、仮想マシン上に構築されたシステムを一時的に利用できない状況が発生することである。
その理由は、既存のすべての仮想マシンが再配置の対象となるために、再配置作業の途中ではシステムが一時的な停止状態となるためである。
(発明の目的)
本発明の目的は、突発的な負荷の上昇に起因する性能低下が発生した場合に、直ちに仮想マシンを再配置することによって、最適な仮想マシンの配置を維持できる仮想マシン配置システムを提供することにある。
本発明の他の目的は、再配置の対象となる仮想マシンを限定することによって、仮想マシン上のシステムを稼動したまま、仮想マシンを再配置できる仮想マシン配置システムを提供することである。
本発明の仮想マシン配置システムは、単一のサーバ装置全体についての資源使用状況と、サーバ装置上で動作する仮想マシンによる資源使用状況とについての測定データを用いて資源の競合を検出する資源競合検出手段と、資源の競合が検出されたサーバ装置上の仮想マシンを、資源使用率の低い他のサーバ装置に移動させる仮想マシン再配置決定手段とを含む。
本発明によれば、以下の効果を達成することができる。
第1の効果は、突発的な負荷状況の変動に対応して、即座に仮想マシンを再配置できることにある。
第2の効果は、仮想マシン上で動作するシステムを止めることなく、仮想マシンを再配置できることにある。
本発明の第1の実施の形態による仮想マシン配置システムの構成を示すブロック図である。 第1の実施の形態の仮想マシンによるCPU使用率の概念を説明するための図である。 第1の実施の形態の資源使用状況記憶手段14に格納される資源使用状況データ311の構成例を示す図である。 第1の実施の形態による仮想マシン配置システムの仮想マシン管理装置1のハードウェア構成例を示すブロック図である。 第1の実施の形態による資源使用状況収集手段11の動作手順を説明するフローチャートである。 第1の実施の形態による資源競合検出手段12の動作手順を説明するフローチャートである。 第1の実施の形態による仮想マシン再配置決定手段13の動作手順を説明するフローチャートである。 本発明の第2の実施の形態による仮想マシン配置システムの構成を示すブロック図である。 第2の実施の形態における資源使用状況収集手段11の動作手順を説明するフローチャートである。 第2の実施の形態におけるサーバ内資源競合検出手段34の動作手順を説明するフローチャートである。 本発明の第3の実施の形態による仮想マシン配置システムの構成を示すブロック図である。 第3の実施の形態による仮想マシン再配置決定手段13の動作手順を説明するフローチャートである。
(第1の実施の形態)
本発明の第1の実施の形態による仮想マシン配置システムについて図面を参照して詳細に説明する。
(第1の実施の形態の構成)
図1は、本実施の形態による仮想マシン配置システムの構成を示すブロック図である。
図1を参照すると、本実施の形態による仮想マシン配置システムは、仮想マシン管理装置1と、管理端末2と、複数のサーバ装置3とを備えている。
仮想マシン管理装置1は、プログラム制御により動作するコンピュータであって、資源使用状況収集手段11と、資源競合検出手段12と、仮想マシン(VM)再配置決定手段13と、資源使用状況記憶手段14とを含む。
管理端末2は、仮想マシン管理装置1に接続され、システム管理者によって操作される端末装置(コンソール)である。管理端末2は、通常、表示装置(ディスプレイ、モニタ)とキーボード、およびマウス等を備える。図1を参照すると、管理端末2は、仮想マシン管理装置1に直接接続される形態になっているが、ネットワーク4を介して接続される形態であってもよい。
サーバ装置3は、1つまたは複数の仮想マシンを稼動させる能力を持つコンピュータであって、資源使用情報収集手段31と、仮想マシン制御手段32と、複数の仮想マシン33とを含む。
仮想マシン管理装置1およびサーバ装置3(さらに、場合により管理端末2)は、ネットワーク4を介して相互に接続される。ネットワーク4は、イーサネット(Ethernet(登録商標))などのローカルエリアネットワーク(Local Area Network, LAN)、インターネットなどの広域ネットワーク(Wide Area Network, WAN)、それらの混合のいずれでもよい。
これらの各手段は、それぞれ概略つぎのような機能を有する。
資源使用状況収集手段11は、ネットワーク4を介して、最新の資源使用状況を示す資源使用状況データ311(不図示)を複数の資源使用状況取得手段31から取得する機能と、取得した資源使用状況データ311を資源使用状況記憶手段14に格納する機能とを有する。
資源使用状況データ311の典型的な例は、サーバ装置3全体についてのCPU(プロセッサ、中央処理装置、Central Processing Unit)使用率と、サーバ装置3上で動作する各仮想マシン33によって使用されるCPU使用率と、メモリ(主記憶、main memory)使用量、I/O(入出力、input/output)帯域幅(バンド幅、bandwidth)などを含むデータである。
資源競合検出手段12は、資源使用状況収集手段11によって資源使用状況取得手段31から収集された資源使用状況データ311に基づいて、資源競合状態の有無を判別する機能を有する。
資源競合状態とは、単一のサーバ装置3上で動作する2つ以上の仮想マシン33が、同一種類の資源について高負荷状態であることを指す。資源競合状態の具体的な判断基準の一例は、単一のサーバ装置3全体についてのCPU使用率が所定の閾値(例えば80%)に達しており、かつその単一のサーバ装置3上で動作する仮想マシン33のうち少なくとも2つについて、CPU使用率が別の所定の閾値(例えば10%)に達している場合に資源競合状態であると判断するものである。
仮想マシン再配置決定手段13は、資源競合検出手段12によって資源競合状態と判断されたサーバ装置3に関し、そのサーバ装置3上で動作する仮想マシン33について移動先のサーバ装置3を決定するとともに、その決定に従って仮想マシン33の移動を制御する機能を有する。ここでの移動先のサーバ装置3の決定方法の一例は、サーバ装置3全体についてのCPU使用率が最も低いものを選択するというものである。
資源使用状況記憶手段14は、資源使用状況データ311を格納する機能を有する。
資源使用状況取得手段31は、サーバ装置3とその上で動作する仮想マシン33について、CPU使用率、メモリ(主記憶、main memory)使用量、I/O(入出力、input/output)帯域幅(バンド幅、bandwidth)などを示す資源使用状況データ311を定期的に取得し、その結果を資源情報収集手段11に送付する機能を有する。
仮想マシン制御手段32は、仮想マシン移動制御手段13からの命令に従って、既存の仮想マシン33の移動を制御する機能を有する。この機能は、典型的には、移動元のサーバ装置3における仮想マシン33の実行状態の保存および仮想マシン33の停止や、移動先のサーバ装置3における仮想マシン33の実行状態の復元および仮想マシン33の起動等の各処理を実行する。
上記の資源使用状況取得手段31および仮想マシン制御手段32は、前出の仮想マシン製品(VMware(登録商標), Microsoft(登録商標) Virtual Server, Xenなど)によって提供される機能を利用する。
ここで、サーバ装置3全体についてのCPU使用率及び仮想マシン33によるCPU使用率の詳細を説明する。
まず、資源使用状況記憶手段14に格納される資源使用状況データ311について説明すると、資源使用状況データ311に含まれる項目は、例えば、(1)単一のサーバ装置3全体についてのCPU使用率(以下、全CPU使用率と表記)や、(2)サーバ装置3上で稼動する各仮想マシン33によるCPU使用率である。
次に、上記の全CPU使用率および仮想マシン33によるCPU使用率の概念を説明する。
全CPU使用率は、単一のサーバ装置3に搭載されたCPUのCPU使用率のうち、資源使用状況取得手段31が資源使用状況データ311を取得したデータ取得時刻までの一定時間(例えば1分間)におけるCPUの使用率を意味する。その最大値は100%である。この全CPU使用率は、単一のサーバ装置3が複数個のCPUあるいはCPUコアを搭載する場合、それらのCPUまたはCPUコアについての使用率の平均を取り、最大値が100%になるように正規化されて算出される。
図2は、本実施の形態の仮想マシンによるCPU使用率の概念を説明するための図である。
単一のサーバ装置3上で稼動する仮想マシンモニタ(VMM)と複数の仮想マシン33とは、それぞれ全CPU使用率のうちの一部を使用する。図2の例では、仮想マシンモニタと2つの仮想マシン33(VM1、VM2)がサーバ装置3上で稼動しており、VM1とVM2はそれぞれ30%および40%のCPU時間を使用している。すなわち、VM1およびVM2によるCPU使用率はそれぞれ30%、40%である。
一般に、単一のサーバ装置3における全CPU使用率の値は、そのサーバ装置3上で稼動する仮想マシンモニタ(VMM)によるCPU使用率とすべての仮想マシン33によるCPU使用率(VM1(30%)、VM2(40%))の和よりも若干小さい。
次に、資源使用状況データ311の構成について説明する。資源使用状況データ311は、必ずしもCPU使用率に限定されない。資源使用状況データ311は、例えば、時間当たりのメモリ転送量、時間当たりのディスク転送量(I/O転送量)、時間当たりのネットワーク通信量を含むこともできる。また、複数種類の資源使用状況データ311が併用されてもよい。
図3は、資源使用状況記憶手段14に格納される資源使用状況データ311の構成例を示す図である。
図3を参照すると、本実施の形態による資源使用状況記憶手段14は、この例では、host01からhost05までの5台のサーバ装置3についての資源使用状況データ311を格納している。これらの資源使用状況データ311は、各サーバ装置3に共通して、全CPU使用率についての測定値を含む。さらに、本実施の形態による資源使用状況データ311は、各サーバ装置3上で稼動している仮想マシン33のそれぞれについて、その仮想マシン33によるCPU使用率を含む。
ただし、サーバ装置3によって稼働中の仮想マシン33の台数は異なる場合があるので、仮想マシン33によるCPU使用率に関するデータ数(VM1〜VMnのCPU使用率の個数)はサーバ装置3によって異なる場合がある。図3において、仮想マシン33によるCPU使用率に関するデータ数は、例えば、host01およびhost01ではそれぞれ2個(VM1、VM2)であり、host03およびhost04ではそれぞれ3個(VM1、VM2、VM3)であり、host05では4個(VM1、VM2、VM3、VM4)である。
なお、資源使用状況取得手段31の収集対象となる資源使用状況データ311がCPU使用率以外のものである場合、資源使用状況記憶手段14に格納される資源使用状況データ311の構成もそれに合わせて変わる。
ここで、仮想マシン管理装置1のハードウェア構成の説明をする。
図4は、本実施の形態による仮想マシン配置システムの仮想マシン管理装置1のハードウェア構成例を示すブロック図である。
図4を参照すると、本発明による仮想マシン管理装置1は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、CPU(Central Processing Unit)101、RAM(Random Access Memory)等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部102、ネットワーク4を介してデータの送受信を行う通信制御部103、液晶ディスプレイ、プリンタやスピーカ等の提示部104、キーボードやマウス等の入力部105、周辺機器と接続してデータの送受信を行うインタフェース部106、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリから構成される補助記憶部107、本情報処理装置の上記各構成要素を相互に接続するシステムバス108等を備えている。
本発明による仮想マシン管理装置1は、その動作を、仮想マシン管理装置1内部にそのような機能を実現するプログラムを組み込んだ、LSI(Large Scale Integration)等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のCPU101で実行することにより、ソフトウェア的に実現することができる。
すなわち、CPU101は、補助記憶部107に格納されているプログラムを、主記憶部102にロードして実行し、仮想マシン管理装置1の動作を制御することにより、上述した各機能をソフトウェア的に実現する。
なお、本実施の形態または後述する各実施の形態によるサーバ装置3が上述のような構成を有し、上述した各機能をハードウェア的又はソフトウェア的に実現してもよい。
(第1の実施の形態の動作)
次に、本実施の形態による仮想マシン配置システムの動作について詳細に説明する。
(資源使用状況収集手段11の動作手順)
資源使用状況収集手段11は、事前に設定された一定の周期で、管理下のサーバ装置3から資源使用状況データ311を取得し、取得した資源使用状況データ311を資源使用状況記憶手段14に格納するという動作を繰り返し行う。
以下では、図5のフローチャートを用いて、資源使用状況収集手段11の動作手順を説明する。
まず、資源使用状況収集手段11は、ネットワーク4を介して接続された複数のサーバ装置3から、それらのサーバ装置3についての資源使用状況データ311を取得する(ステップS111)。
次に、資源使用状況収集手段11は、前ステップで取得した資源使用状況データ311を、資源使用状況記憶手段14に格納する(ステップS112)。
最後に、資源使用状況収集手段11は、資源競合検出手段12に対して、最新の資源使用状況データ311の到着を通知する(ステップS113)。なお、資源競合検出手段12は、この通知を受け取ることによって動作を開始する。
(資源使用状況データ311の取得動作)
資源使用状況収集手段11がサーバ装置3から取得するこれら資源使用状況データ311は、管理対象のサーバ装置3上の資源使用状況取得手段31によって取得される。資源使用状況取得手段31は、ホストOS、仮想マシンモニタ、特権仮想マシン(他の仮想マシン33を制御するための特殊な仮想マシン)のいずれかの上で動作するプログラムであり、既存のOSあるいは仮想マシン製品によって提供されるコマンドあるいはAPI(Application Programming Interface)(例えばUNIX(登録商標)系OSにおけるvmstatコマンド、Xenにおけるxenmonコマンド)を通して資源使用状況データ311を取得する。
(資源競合検出手段12の動作手順)
次に、資源競合検出手段12の動作を詳細に説明する。資源競合検出手段12は、資源使用状況収集手段11から資源使用状況データ311の到着の通知を受け取ると、資源使用状況記憶手段14に格納された資源使用状況データ311を順次取り出して、管理下にあるサーバ装置3について資源競合発生の有無を調べる。資源競合検出手段12は、もし資源競合を検出した場合には、仮想マシン再配置決定手段13に対して資源競合発生を通知し、競合解消のための仮想マシン再配置処理を開始する。
以下では、図6のフローチャートを用いて、資源競合検出手段12の動作手順を説明する。
まず、資源競合検出手段12は、資源使用状況収集手段11から資源使用状況データ311の到着の通知を受け取ると、資源使用状況記憶手段14から、単一のサーバ装置3についての資源使用状況データ311を取得する(ステップS121)。
ここで、もし資源使用状況記憶手段14に格納されたすべてのサーバ装置3の最新の資源使用状況データ311についてステップS123〜ステップS125までの処理が実行済み(全サーバ装置3の最新の資源使用状況データ311について資源競合検出処理済み)であった場合には、資源競合検出手段12の処理を終了する(ステップS122)。そうでない場合には、ステップS123に進む。
ステップS123では、資源競合検出手段12は、取得した資源使用状況データ311について、全CPU使用率の値が、事前に指定した所定の値に達しているか否かを調べる。もし達している場合にはステップS124に進む。そうでない場合にはステップS121に戻り、次の単一のサーバ装置3についての資源使用状況データ311を調査する。ここで用いる閾値(事前に指定した所定の値)は、例えば、システム運用管理者によって指定されるものであり、全サーバ装置3について一律の値(例えば80%)が指定されてもよいし、サーバ装置3ごとに異なる値が指定されてもよい。
ステップS124では、資源競合検出手段12は、取得した資源使用状況データ311について、2つ以上の仮想マシンによるCPU使用率が、事前に指定した所定の値に達しているか否かを調べる。もし達している場合にはステップS125に進む。そうでない場合にはステップS121に戻り、次の単一のサーバ装置3についての資源使用状況データ311を調査する。ここでの閾値(事前に指定した所定の値)の決定方法については後述する。
最後に、ステップS125では、資源競合検出手段12は、仮想マシン再配置決定手段13に対して、仮想マシン再配置処理の開始を通知する。この通知の内容は、ステップS121において取得した資源使用状況データ311の内容を含む。なお、このステップによって、仮想マシン再配置決定手段13は動作を開始する。
(仮想マシン33のCPU使用率についての閾値の決定方法(その1))
ステップS124で使用される、仮想マシン33のCPU使用率についての閾値の決定方法の一例は、全仮想マシン33について一律の閾値を指定するというものである。
例えば、一律の閾値として20%を指定した場合には、単一のサーバ装置3上で稼動する仮想マシン33のうちの2つ以上についてのCPU使用率がそれぞれ20%以上であれば、資源競合検出手段12は、当該サーバ装置については資源競合とは判定してステップS125に進むことになる。
(仮想マシン33のCPU使用率についての閾値の決定方法(その2))
仮想マシン33のCPU使用率についての閾値の決定方法の別の例は、単一のサーバ装置3上で動作する仮想マシン33の数と、全CPU使用率の値とに基づいて動的に当該閾値を決定するというものである。
すなわち、現在注目しているサーバ装置3の全CPU使用率をUp、そのサーバ装置3上で稼動している仮想マシンの数をNとした場合に、Up / N を当該閾値として用いる。
図3に示す資源使用状況データ311を用いて、当該閾値の決定方法の具体例を示す。
サーバ装置host01の全CPU使用率は24%、同サーバ装置上で稼働中の仮想マシンは2台であるので、閾値は24% / 2 = 12% となる。
図3の資源使用状況データ311では、サーバ装置host01において、2つの仮想マシンのうちの1つ仮想マシン(VM1)がこの閾値を下回っているために、資源競合検出手段12は、host01については資源競合とは判定しない。
また、サーバ装置host05の全CPU使用率は84%、同サーバ装置上で稼働中の仮想マシンは4台であるので、閾値は 84% / 4 = 21% となる。
図3の資源使用状況データ311では、サーバ装置host05において、3つの仮想マシンが閾値以上であるので、資源競合検出手段12は、host05上の3つの仮想マシン(VM1, VM2, VM3)によって資源競合が発生していると判定する。
さらに、この決定方法の変形として、閾値をUp / N とする代わりに、事前に指定する定数kを用いて、Up / N − k を閾値とすることもできる。この場合には、Up / N を閾値とする場合に比べて、競合発生と判断する条件が緩くなる。例えば、図3におけるサーバ装置host05について、k = 5% である場合、競合発生検出の閾値は 84% / 4 − 5% = 16% となる。
(CPU使用率以外の資源使用状況データ311の利用)
上記ステップS123およびステップS124において、資源競合検出の判断基準として用いる資源使用状況データ(測定データ)311は、CPU使用率に限定されず、時間当たりのメモリ転送量、ディスク転送量もしくはネットワーク通信量なども用いることができる。これらの測定データを用いた場合の競合検出方法は、CPU使用率をそれらの測定データに置き換えれば良い。
ただし、CPU使用率に限定されず、時間当たりのメモリ転送量、ディスク転送量もしくはネットワーク通信量などの上記データのうち、異なる2種類のデータ(資源種別)に関する測定データを用いて資源競合を検出する場合には、前述の競合検出方法を以下の2種類の検出方法のいずれかに置き換える必要がある。
(1)判断基準として用いる資源種別のそれぞれについて、上記ステップS121からステップS124を実行し、いずれかの資源種別について競合発生を検出した場合に、ステップS125に進む。
(2)上記ステップS121からS125の手順をそのまま実行する。ただし、S123において、判断基準となるすべての資源種別について、測定値が一定値以上である場合にのみS124に進む。さらに、S124において、判断基準となるすべての資源種別について判断基準を満たす場合に、ステップS125に進む。
(仮想マシン再配置決定手段13の動作手順)
次に、仮想マシン再配置決定手段13の動作手順を説明する。本手段では、資源競合検出手段12によって資源競合が検出された場合に、以下の3つの情報を決定し、それらに基づいて仮想マシン33の再配置を制御する。
(1)移動対象の仮想マシン33を決定する。移動対象の仮想マシン33とは、仮想マシン再配置の際に、当該仮想マシン33が自身が属するサーバ装置3から他のサーバ装置3に移動する仮想マシン33である。
(2)移動元サーバ装置を決定する。移動元サーバ装置とは、移動対象の仮想マシン33が、移動前に所属しているサーバ装置3である。
(3)移動先サーバ装置を決定する。移動先サーバ装置とは、移動対象の仮想マシン33が、移動後に所属するサーバ装置3である。
以下では、図7のフローチャートを用いて、仮想マシン再配置決定手段13の動作手順を示す。
まず、仮想マシン再配置決定手段13は、資源競合検出手段12から仮想マシン再配置処理の開始の通知をうけると、資源競合の発生したサーバ装置3を、移動元サーバ装置として選択する(ステップS131)。ここで、仮想マシン再配置決定手段13は、資源競合の発生したサーバ装置3の名前を、上記ステップS125において発行された通知に含まれる資源使用状況データ311から得ることができる。
次に、仮想マシン再配置決定手段13は、移動元サーバ装置上で稼動している仮想マシン33の中から、その仮想マシン33によるCPU使用率が最大であるものを、移動対象の仮想マシン33として選択する(ステップS132)。移動元サーバ装置上で稼動する各仮想マシン33によるCPU使用率は、上記ステップS125で発行された通知に含まれる資源使用状況データ311の中に含まれている。
次に、仮想マシン再配置決定手段13は、管理下のサーバ装置3のうち、空きCPU使用率が最大であるものを、移動先サーバ装置として選択する(ステップS133)。ここで、空きCPU使用率とは、空きCPU使用率=100% − 全CPU使用率として得られる数値を指す。
次に、仮想マシン再配置決定手段13は、ステップS133で選択した移動先サーバ装置の空きCPU使用率が、ステップS132で選択した移動対象の仮想マシン33によるCPU使用率を上回っているか否かを調べる(ステップS134)。そうである場合にはステップS135に進み、そうでない場合には処理を終了する。後者の場合には、仮想マシン33の再配置は実施しない。
最後に、ステップS135では、仮想マシン再配置決定手段13は、移動元・移動先のサーバ装置3のうち一方または両方に対して、移動対象の仮想マシン33の移動を要求する。これらのサーバ装置3上の仮想マシン制御手段32は、この通知を受け取ると、既存の仮想マシン移動用コマンド(例えばxenにおけるxm migrateコマンド)を発行して、仮想マシン33の再配置を実施する。
(移動対象仮想マシンの選択方法)
上記ステップS132において、仮想マシン再配置決定手段13が移動対象の仮想マシン33を選択方法するは、仮想マシン33のCPU使用率を基準にする方法に限定されない。
移動対象の仮想マシン33を選択する別の方法の1つは、CPU使用率以外の資源使用状況データ(測定データ)311を基準とする方法である。例えば、移動元のサーバ装置3上で稼動している仮想マシンのうち、I/O使用量が最大であるものを測定データとして選択するという方法がある。この例の場合、資源使用状況収集手段11において、各仮想マシン33のI/O使用量のデータを測定データとして収集することが前提となる。
移動対象の仮想マシン33を選択する他の方法は、事前に指定した所定の優先度を基準にする方法である。例えば、移動元のサーバ装置3で2つの仮想マシンVM1,VM2が動作しており、かつそれらの仮想マシンについて優先度2,1がそれぞれ設定されていた場合(優先度2>1の場合)、仮想マシン再配置決定手段13は、優先度の高い仮想マシンVM1を移動対象として選択する。
また、CPU、メモリ、ディスクもしくはネットワークなどの複数種類の資源についての測定データを組み合わせたり、さらに、それらに優先度を組み合わせて移動対象の仮想マシン33を選択してもよい。この場合、これらの測定データおよび優先度を含む計算式を事前に指定し、その計算式による計算結果が最大となるような仮想マシン33を移動対象の仮想マシン33として選択する。
(移動先サーバ装置の選択方法)
上記ステップS133において、仮想マシン再配置決定手段13による移動先のサーバ装置3の選択方法は、サーバ装置3の空きCPU使用率を基準とする方法に限定されない。
移動先のサーバ装置3を選択する別の方法の1つは、CPU使用率以外の資源使用状況データ(測定データ)311を基準とする方法である。
例えば、単一のサーバ装置3全体についてのI/O使用量(以下、全I/O使用量)が最小であるサーバ装置3を移動先として選択する方法がある。この例の場合、資源使用状況収集手段11において、各サーバ装置3についての全I/O使用量のデータを収集することが前提となる。また、何らかの計算式を用いて、CPU、メモリ、ディスクもしくはネットワークなどの複数種類の資源についての測定データを組み合わせたものを、移動先のサーバ装置3を選択する基準としてもよい。
なお、管理下のサーバ装置3の中にハードウェア構成の異なるものが含まれている場合、単純に空きCPU使用率(あるいは他の測定データ)を比較して移動先のサーバ装置3を決定するのは必ずしも適切ではない。例えば、あるサーバ装置3−1がCPUを1基搭載し、別のサーバ装置3−2は同一種類のCPUを2基搭載しており、いずれのサーバ装置についても空きCPU使用率が80%という状況を考える。この場合、サーバ装置3−2の方がCPU資源に余裕があると考えられるので、サーバ装置3−2を選択することが適切である。このような状況を扱うために、サーバ装置ごとに係数を指定して、空きCPU使用率(あるいは他の測定データ)に係数を乗じたものを選択基準として用いてもよい。
さらに移動先サーバ装置の別の選択方法として、各サーバ装置3の状態に基づいて優先度を決定してもよい。具体的には、仮想マシン33が1つも稼動していないサーバ装置3は、それ以外のサーバ装置3よりも低い優先度で移動先として選択する(すなわち、仮想マシン33が稼動するサーバ装置3のうち、十分な空き資源のあるものが1つもない場合に限って、仮想マシン33が稼動していないサーバ装置3を選択する)という方法がある。この方法だと、できるだけ少ない台数のサーバ装置3で仮想マシン33を稼動させて、残りのサーバ装置3の電源を切ることにより、サーバ装置3による電力消費を節約することが可能である。この種の優先順位付けは、上に挙げた他の選択方法と組み合わせて用いることもできる。
(第1の実施の形態の効果)
本実施の形態によれば、以下の効果を達成することができる。
第1の効果は、突発的な負荷状況の変動に対応して、即座に仮想マシン33を再配置できることにある。
その理由は、仮想マシン管理装置1が、仮想マシン33の再配置において、仮想マシン33の性能についての過去のデータを必要とせず、仮想マシン33の最新の資源使用状況データ311に基づいて仮想マシン33を再配置するためである。
第2の効果は、仮想マシン33上で動作するシステムを止めることなく、仮想マシン33を再配置できることである。
その理由は、一度の再配置の対象となるのは、資源競合の原因となった仮想マシン33だけなので、他の仮想マシン33の動作には影響を及ぼさないためである。
第3の効果は、後述する第2および第3の実施の形態に比べて、サーバ装置3に必要なCPU性能が低いことである。
その理由は、資源競合の検出および仮想マシン33の再配置決定を含む大部分の処理を、サーバ装置3とは別の仮想マシン管理装置1で行うためである。その半面、仮想マシン管理装置1には比較的高性能なハードウェア資源を持たせる必要がある。
(第2の実施の形態)
次に、本発明の第2の実施の形態による仮想マシン配置システムについて図面を参照して詳細に説明する。
(第2の実施の形態の構成)
図8は、本実施の形態による仮想マシン配置システムの構成を示すブロック図である。
図8を参照すると、本実施の形態による仮想マシン配置システムは、第1の実施の形態(図1)と同様に、仮想マシン管理装置1と、管理端末2と、複数のサーバ装置3とを備えている。仮想マシン管理装置1と複数のサーバ装置3とは、ネットワーク4によって相互に接続される。
第1の実施の形態との相違点は、仮想マシン管理装置1が資源競合検出手段12を備えない点と、サーバ装置3がサーバ内資源競合検出手段34を備える点である。
すなわち、本実施の形態では、収集した資源使用状況データ311を用いて、仮想マシン管理装置1が資源競合を検出する代わりに、個々のサーバ装置3が備えるサーバ内資源競合検出手段34で資源競合を検出する。
サーバ内資源競合検出手段34は、第1の実施の形態による資源競合検出手段12と同様の資源競合を検出する機能と、サーバ内資源競合検出手段34自身が備えられたサーバ装置3の資源競合を検出すると、仮想マシン管理装置1が備える仮想マシン再配置決定手段13に対してサーバ装置3を介して競合発生を通知する機能とを備える。また、サーバ内資源競合検出手段34は、第1の実施の形態による資源使用状況記憶手段14と同様の資源使用状況データ311を格納する機能を備えていてもよい。なお、サーバ内資源競合検出手段34は、資源使用状況取得手段31から取得した資源使用状況データ311の内容を含んで当該通知を行ってもよい。
仮想マシン再配置決定手段13は、上記通知を受け取った時点で仮想マシン再配置決定処理を開始するという機能を有する。
(第2の実施の形態の動作)
次に、本実施の形態による仮想マシン配置システムの動作について、第1の実施の形態との相違点を中心に、詳細に説明する。
(資源使用状況収集手段11の動作手順)
図9に、第2の実施の形態における資源使用状況収集手段11の動作手順を示す。
ステップS211およびステップS212については、第1の実施の形態における同手段の動作手順を示す図5のステップS111およびステップS112と共通である。相違点は、ステップS113が存在しない点である。すなわち、相違点は、本実施の形態による資源使用状況収集手段11が収集した資源使用状況データ311を資源使用状況記憶手段14に格納した時点で処理を終了する点である。
原則として、第1の実施の形態と同様に、資源使用状況収集手段11を一定周期で実行する。また、その代わりに、仮想マシン再配置決定手段13がサーバ内資源競合検出手段34から資源競合発生の通知を受け取った時点で資源使用状況収集手段11を実行してもよい。前者の場合は、資源競合を検出した場合に、仮想マシン再配置決定手段13が即座に仮想マシン再配置処理を開始することができる。一方、後者では、資源競合発生時に資源使用状況データ311を収集する時間を要するものの、平常時(すなわち、資源競合が発生しないとき)に資源使用状況データ311を収集することによって生じるCPUとネットワーク帯域の消費を抑制することができる。
(仮想マシン再配置決定手段13の動作手順)
本実施の形態における仮想マシン再配置決定手段13の動作は、基本的に第1の実施の形態における同手段の動作(図7)と同様である。ただし、第1の実施の形態では資源競合検出手段12からの通知によって仮想マシン再配置決定手段13の動作を開始するのに対して、第2の実施の形態ではサーバ内資源競合検出手段34からの通知によって仮想マシン再配置決定手段13の動作を開始するという点で異なる。
また、資源使用状況収集手段11を一定周期で実行しない場合(すなわち、仮想マシン再配置決定手段13が資源競合発生の通知を受け取った時点で資源使用状況収集手段11の処理を開始する場合)には、図7のステップS131に先立って、資源使用状況収集手段11の処理(図9のステップS211およびステップS212)を完了させる必要がある。
(サーバ内資源競合検出手段34の動作手順)
サーバ内資源競合検出手段34の動作手順を、図10のフローチャートを用いて説明する。基本的な動作の流れは、第1の実施の形態における資源競合検出手段12(図6)と共通である。ただし、サーバ内資源競合検出手段34は、資源使用状況記憶手段14に格納された全データを順に取得するのではなく、単一のサーバ装置3についての資源使用状況データ311のみを処理対象とする点で異なる。本実施の形態では、サーバ内資源競合検出手段34を事前に指定した一定時間ごとに実行する。
まず、サーバ内資源競合検出手段34は、サーバ装置3内の資源使用状況取得手段31から、最新の資源使用状況データ311を取得する(ステップS221)。ここで取得する資源使用状況データ311は、単一のサーバ装置3についてのデータに限られる。例えば、あるサーバ装置3−1内の資源使用状況収集手段31は、同一のサーバ装置3−1についての資源使用状況データ311のみを取得する。
次に、サーバ内資源競合検出手段34は、取得した資源使用状況データ311について、全CPU使用率の値が、事前に指定した所定の値に達しているか否かを調べる(ステップS222)。もし達している場合にはステップS223に進む。そうでない場合にはサーバ内資源競合検出手段34の処理を終了し、一定時間待機した後でステップS221以降の処理を再度実行する。本ステップでの処理の内容は、資源競合検出手段12におけるステップS123と共通である。
ステップS223では、サーバ内資源競合検出手段34は、取得した資源使用状況データ311について、2つ以上の仮想マシン33によるCPU使用率が、事前に指定した所定の値に達しているか否かを調べる。もし達している場合にはステップS224に進む。そうでない場合にはサーバ内資源競合検出手段34の処理を終了し、一定時間待機した後でステップS221以降の処理を再度実行する。本ステップでの処理の内容は、資源競合検出手段12におけるステップS124と共通である。
最後に、ステップS224では、サーバ内資源競合検出手段34は、サーバ管理装置1内の仮想マシン再配置決定手段13に対して、仮想マシン再配置処理の開始を通知する。この通知は、ステップS221において取得した資源使用状況データ311の内容を含む。このステップにより、仮想マシン再配置決定手段13の処理を開始する。
(第2の実施の形態の効果)
本実施の形態によれば、以下の効果を達成することができる。
第1の効果は、サーバ内資源競合検出手段34が各サーバ装置3に設置されることから、競合発生から検出までの所要時間が短いことである。
第2の効果は、仮想マシン管理装置1において資源競合検出処理を行わないことから、第1の実施の形態に比べて、仮想マシン管理装置1に必要な性能が低いことである。その半面、サーバ装置3に要求される性能は第1の実施の形態よりも高くなる。
(第3の実施の形態)
本発明の第3の実施の形態による仮想マシン配置システムについて図面を参照して詳細に説明する。
(第3の実施の形態の構成)
図11は、本実施の形態による仮想マシン配置システムの構成を示すブロック図である。
図11を参照すると、本実施の形態による仮想マシン配置システムは、ネットワーク4によって相互に接続される複数のサーバ装置3を備える。
本実施の形態による仮想マシン配置システムは、第1および第2の実施の形態とは異なり、仮想マシン管理装置1は存在しない。その代わりに、本実施の形態による仮想マシン配置システムは、第1および第2の実施の形態における仮想マシン管理装置1に相当する機能が個々のサーバ装置3の中に含まれる。すなわち、本実施の形態によるサーバ装置3は、資源使用状況収集手段11と、仮想マシン(VM)再配置決定手段13と、資源使用状況記憶手段(DB)14とを含む。
さらに、本実施の形態によるサーバ装置3内の仮想マシン制御手段32は、ロック(lock)機構321を備える。
ロック機構321は、あるサーバ装置3中の仮想マシン再配置決定手段13が、当該ロック機構321を備えるサーバ装置3に対して仮想マシン33の移動を決定して当該サーバ装置3に対してアクセスした場合、最初にアクセスした当該仮想マシン再配置決定手段13に排他的にアクセス権(ロック)を取得させる機能を有する。このため、あるサーバ装置3中の仮想マシン再配置決定手段13が所定のサーバ装置3のロックを取得済みである場合には、当該同一のサーバ装置3に対する他のサーバ装置3中の仮想マシン再配置決定手段13からのアクセスは許可されない。
本実施の形態による仮想マシン配置システムは、第2の実施の形態と同様に、個々のサーバ装置3が備えるサーバ内競合検出手段34を用いて、個々のサーバ装置3における資源競合を検出する。サーバ内競合検出手段34を用いて資源競合を検出した場合、資源競合の発生したサーバ装置3が備えるサーバ再配置決定手段13を用いて、仮想マシン33の再配置処理を行う。
(第3の実施の形態の動作)
次に、本実施の形態による仮想マシン配置システムの動作について、1および第2の実施の形態との相違点を中心に、詳細に説明する。
(サーバ内資源競合検出手段34の動作手順)
本実施の形態におけるサーバ内資源競合検出手段34の動作手順は、第2の実施の形態における同手段の動作手順(図10)と共通である。ただし、本実施の形態におけるサーバ内資源競合検出手段34が、ステップS224において、仮想マシン管理装置1に対して仮想マシン再配置処理の開始を通知するのではなく、自身が備えられた同一のサーバ装置3内の仮想マシン再配置決定手段13に通知する点が異なる。すなわち、本実施の形態におけるサーバ内資源競合検出手段34は、例えば、あるサーバ装置3−1のサーバ内資源競合検出手段34が資源競合を検出した場合、同じサーバ装置3−1の仮想マシン再配置決定手段13に対して、仮想マシン再配置処理の開始を通知する。
(資源使用状況収集手段11の動作手順)
本実施の形態における資源使用状況収集手段11の動作手順は、第2の実施の形態における資源使用状況収集手段11の動作手順(図9)と共通である。ただし、本実施の形態では、資源使用状況収集手段11を一定周期で実行することはなく、常に仮想マシン再配置決定手段13(後述)の実行開始時に実行する。
(仮想マシン再配置決定手段13の動作手順)
本実施の形態における仮想マシン再配置決定手段13の動作は、基本的に第1の実施の形態における仮想マシン再配置決定手段13の動作(図7)と共通である。ただし、以下の2点において異なる。
(1)本実施の形態における仮想マシン再配置決定手段13は、ステップS131において、資源競合検出手段12からの通知によって動作を開始するのではなく、自身が備えられたサーバ装置3又は他のサーバ装置3のサーバ内資源競合検出手段34からの通知によって動作を開始する。
(2)本実施の形態における仮想マシン再配置決定手段13は、ステップS131の実行に先立って、資源使用状況収集手段11の処理(図9、ステップS211およびステップS212)を完了させる。その際、本実施の形態における仮想マシン再配置決定手段13は、ステップS211において、各サーバ装置3から資源使用状況データを取得するのではなく、自身が備えられたサーバ装置3から資源使用状況データを取得する。
本実施の形態では、各サーバ装置3が仮想マシン再配置決定手段13を備えるために、複数のサーバ装置3で同時に仮想マシン再配置決定手段13が動作し、その結果単一のサーバ装置3に対して同時に仮想マシン33の移動が試みられる可能性がある。
この状況を避ける手段として、サーバ装置3内の仮想マシン制御手段32は、前述のロック(lock)機構321を備える。
仮想マシン再配置決定手段13は、ステップ133において、あるサーバ装置3を移動先サーバ装置として選択した場合、そのサーバ装置3上のロックを獲得する必要がある。仮想マシン再配置決定手段13は、ロックが獲得できなかった場合、すなわち他のサーバ装置3中の仮想マシン再配置決定手段13がロックを取得済みである場合には、別のサーバ装置3を移動先サーバ装置として選択する。
以下では、図12のフローチャートを用いて、ロック機構35が導入された本実施の形態による仮想マシン再配置決定手段13の動作手順を説明する。
ステップS311からステップS314まで、およびステップS315は、ロック機構を導入しない場合(図7のステップS131からステップS134まで、およびステップS135)と共通である。本実施の形態による仮想マシン再配置決定手段13は、ステップS314において、移動先サーバ装置の空きCPU使用率が移動対象仮想マシンによるCPU使用率を上回る場合、ステップS315ではなくステップS316に進む。
ステップS316において、本実施の形態による仮想マシン再配置決定手段13は、移動先サーバ装置のロックの獲得を試みる。ステップS316においてロックの獲得に成功した場合にはステップS235に進む。ステップS316においてロックの獲得に失敗した場合にはステップS313に戻り、仮想マシン再配置決定手段13は、移動先サーバ装置を再度選択する。この場合、仮想マシン再配置決定手段13は、前回までにロック獲得に失敗したサーバ装置3を、移動先サーバ装置として選択する対象から外す。
ステップS315において仮想マシン移動操作が完了した後で、ステップS317に進む。ステップS237において、仮想マシン再配置決定手段13は、ステップS316において獲得したロックを解放する。
(第3の実施の形態の効果)
第3の実施の形態の効果は、専用の仮想マシン管理装置(あるいは仮想マシン管理装置として動作するためのプログラムを組み込んだサーバ装置)を設置する必要がないことである。第1および第2の実施の形態では、仮想マシン33を再配置するためには仮想マシン管理装置1が必要であることから、仮想マシン管理装置1の故障時には本発明が機能しない。一方、第3の実施の形態では、どのサーバ装置3が故障した場合でも仮想マシン33の再配置を実施することができる。
上述した本発明の実施の形態によれば、以下の効果を達成することができる。
第1の効果は、突発的な負荷状況の変動に対応して、即座に仮想マシンを再配置できることにある。
その理由は、単一のサーバ装置全体についての資源使用状況と、上記サーバ装置上で動作する仮想マシンによる資源使用状況の測定結果とを用いて資源の競合を検出する資源競合検出手段を備えるため、仮想マシンの再配置において、仮想マシンの性能についての過去のデータを必要とせず、仮想マシンの資源使用状況についての最新の情報のみに基づいて動作するためである。
第2の効果は、仮想マシン上で動作するシステムを止めることなく、仮想マシンを再配置できることにある。
その理由は、資源の競合が検出されたサーバ装置上の仮想マシンを、資源使用率の低い他のサーバ装置に移動させる仮想マシン再配置決定手段を備えるため、一度の再配置の対象となるのは、資源競合の原因となった仮想マシンのみなので、他の仮想マシンの動作には影響を及ぼさないためである。
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。
この出願は、2006年11月24日に出願された日本出願特願2006−317175を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、企業情報システムあるいはデータセンタを構成するサーバ資源を一元的に管理する運用管理ミドルウェアといった用途に適用でき、また、企業情報システムあるいはデータセンタにおける自己管理型のサーバ装置といった用途にも適用できる。

Claims (26)

  1. 単一のサーバ装置全体についての資源使用状況と、前記サーバ装置上で動作する仮想マシンによる資源使用状況とについての測定データを用いて資源の競合を検出する資源競合検出手段と、
    前記資源の競合が検出された前記サーバ装置上の前記仮想マシンを、資源使用率の低い他のサーバ装置に移動させる仮想マシン再配置決定手段と
    を備えることを特徴とする仮想マシン配置システム。
  2. 前記測定データを、当該サーバ装置からネットワーク経由で収集する資源使用状況収集手段
    を備えることを特徴とする請求項1に記載の仮想マシン配置システム。
  3. 前記資源競合検出手段が、
    前記単一のサーバ装置全体についての資源使用率が事前に指定された一定値以上であり、かつ当該サーバ装置上で動作する複数の仮想マシンによる資源使用率が別に指定された一定値以上である場合に資源競合と判断する
    ことを特徴とする請求項1または請求項2に記載の仮想マシン配置システム。
  4. 前記資源競合検出手段が、
    資源使用率として、一定時間内におけるCPU使用率、I/O転送量、ネットワーク転送量、のいずれかまたはそれらの組合せを用いる
    ことを特徴とする請求項1から請求項3のいずれか1項に記載の仮想マシン配置システム。
  5. 前記仮想マシン再配置決定手段が、
    競合の発生した前記サーバ装置上で動作する仮想マシンの中から最も資源使用率の高いものを移動対象として選択し、
    全前記サーバ装置のうち最も資源使用率の低いものを移動先として選択する
    ことを特徴とする請求項1から請求項4のいずれか1項に記載の仮想マシン配置システム。
  6. 前記仮想マシン再配置決定手段が、
    資源使用率として、一定時間内におけるCPU使用率、I/O転送量、ネットワーク転送量、のいずれかまたはそれらの組合せを用いる
    ことを特徴とする請求項5に記載の仮想マシン配置システム。
  7. 前記仮想マシン再配置決定手段が、
    移動先として選択した前記サーバ装置についてロックを獲得し、
    前記仮想マシンの移動処理を完了させた後に当該ロックを解放する
    ことを特徴とする請求項1から請求項6のいずれか1項に記載の仮想マシン配置システム。
  8. サーバ装置間で仮想マシンを移動させる仮想マシン配置方法であって、
    資源競合検出手段において、
    単一のサーバ装置全体についての資源使用状況と、前記サーバ装置上で動作する仮想マシンによる資源使用状況とについての測定データを用いて資源の競合を検出し、
    仮想マシン再配置決定手段において、
    前記資源の競合が検出された前記サーバ装置上の前記仮想マシンを、資源使用率の低い他のサーバ装置に移動させる
    ことを特徴とする仮想マシン配置方法。
  9. 資源使用状況収集手段において、
    前記測定データを、当該サーバ装置からネットワーク経由で収集する
    ことを特徴とする請求項8に記載の仮想マシン配置方法。
  10. 前記資源競合検出手段において、
    前記単一のサーバ装置全体についての資源使用率が事前に指定された一定値以上であり、かつ当該サーバ装置上で動作する複数の仮想マシンによる資源使用率が別に指定された一定値以上である場合に資源競合と判断する
    ことを特徴とする請求項8または請求項9に記載の仮想マシン配置方法。
  11. 前記資源競合検出手段において、
    資源使用率として、一定時間内におけるCPU使用率、I/O転送量、ネットワーク転送量、のいずれかまたはそれらの組合せを用いる
    ことを特徴とする請求項8から請求項10のいずれか1項に記載の仮想マシン配置方法。
  12. 前記仮想マシン再配置決定手段において、
    前記仮想マシンの移動先を決定する際に、
    競合の発生した前記サーバ装置上で動作する仮想マシンの中から最も資源使用率の高いものを移動対象として選択し、
    全前記サーバ装置のうち最も資源使用率の低いものを移動先として選択する
    ことを特徴とする請求項8から請求項11のいずれか1項に記載の仮想マシン配置方法。
  13. 前記仮想マシン再配置決定手段において、
    前記仮想マシンの移動先を決定する際に、
    資源使用率として、一定時間内におけるCPU使用率、I/O転送量、ネットワーク転送量、のいずれかまたはそれらの組合せを用いる
    ことを特徴とする請求項12に記載の仮想マシン配置方法。
  14. 前記仮想マシン再配置決定手段において、
    前記仮想マシンを移動させる際に、
    移動先として選択した前記サーバ装置についてロックを獲得し、
    前記仮想マシンの移動処理を完了させた後に当該ロックを解放する
    ことを特徴とする請求項8から請求項13のいずれか1項に記載の仮想マシン配置方法。
  15. サーバ装置間で仮想マシンの移動を実行させるプログラムであって、
    前記サーバ装置又はネットワークを介して前記サーバ装置と接続する管理端末において、
    単一のサーバ装置全体についての資源使用状況と、前記サーバ装置上で動作する仮想マシンによる資源使用状況とについての測定データを用いて資源の競合を検出する資源競合検出機能と、
    前記資源の競合が検出された前記サーバ装置上の前記仮想マシンを移動対象として選択する移動対象選択機能と、
    資源使用率の低い他のサーバ装置を移動対象の前記仮想マシンの移動先として選択する移動先選択機能と
    を実現させることを特徴とするプログラム。
  16. 前記サーバ装置又は前記ネットワークを介して前記サーバ装置と接続する管理端末において、
    前記測定データを、当該サーバ装置から前記ネットワーク経由で収集する資源使用状況収集機能を実現させることを特徴とする請求項15に記載のプログラム。
  17. 前記資源競合検出機能において、
    前記単一のサーバ装置全体についての資源使用率が事前に指定された一定値以上であり、かつ当該サーバ装置上で動作する複数の仮想マシンによる資源使用率が別に指定された一定値以上である場合に資源競合と判断する
    ことを特徴とする請求項15または請求項16に記載のプログラム。
  18. 前記資源競合検出機能において、
    資源使用率として、一定時間内におけるCPU使用率、I/O転送量、ネットワーク転送量、のいずれかまたはそれらの組合せを用いる
    ことを特徴とする請求項15から請求項17のいずれか1項に記載のプログラム。
  19. 前記移動対象選択機能において、
    競合の発生した前記サーバ装置上で動作する仮想マシンの中から最も資源使用率の高いものを移動対象として選択し、
    前記移動先選択機能において、
    全前記サーバ装置のうち最も資源使用率の低いものを移動先として選択する
    ことを特徴とする請求項15から請求項18のいずれか1項に記載のプログラム。
  20. 前記移動対象選択機能および前記移動先選択機能において、
    資源使用率として、一定時間内におけるCPU使用率、I/O転送量、ネットワーク転送量、のいずれかまたはそれらの組合せを用いる
    ことを特徴とする請求項19に記載のプログラム。
  21. 前記移動先選択機能において、
    移動先として選択した前記サーバ装置についてロックを獲得し、
    前記仮想マシンの移動処理を完了させた後に当該ロックを解放する
    ことを特徴とする請求項15から請求項20のいずれか1項に記載のプログラム。
  22. 複数のサーバ装置から資源使用状況についての測定データを受け取る資源使用状況収集手段と、
    前記測定データに基づいて、資源の競合が検出された前記サーバ装置上の仮想マシンを移動対象として、移動対象の前記仮想マシンと移動先のサーバ装置を選択する仮想マシン再配置決定手段と
    を備えることを特徴とする仮想マシン管理装置。
  23. 受け取った前記測定データに基づいて資源の競合を検出する資源競合検出手段
    を備えることを特徴とする請求項22に記載の仮想マシン管理装置。
  24. 自身の上で複数の仮想マシンが稼動し、
    自身が備える資源について、全体の使用状況と、稼動中の前記仮想マシンによる使用状況とを取得する資源使用状況取得手段と、
    取得した前記使用状況に基づいて自身の上で稼動する前記仮想マシンの移動を制御する仮想マシン制御手段と
    を備えることを特徴とするサーバ装置。
  25. 取得した前記使用状況についての測定データに基づいて資源の競合を検出する資源競合検出手段
    を備えることを特徴とする請求項24に記載のサーバ装置。
  26. 前記資源使用状況取得手段が、他のサーバ装置が備える資源について、全体の使用状況と、他のサーバ装置上で稼動中の前記仮想マシンによる使用状況とを取得し、
    前記仮想マシン制御手段が、取得した前記使用状況に基づいて、前記資源の競合が検出された前記サーバ装置上の前記仮想マシンを移動対象として、移動対象の前記仮想マシンと移動先のサーバ装置を選択する仮想マシン再配置決定手段
    を備えることを特徴とする請求項24または請求項25に記載のサーバ装置。
JP2008545447A 2006-11-24 2007-11-22 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置 Active JP5317010B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008545447A JP5317010B2 (ja) 2006-11-24 2007-11-22 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006317175 2006-11-24
JP2006317175 2006-11-24
JP2008545447A JP5317010B2 (ja) 2006-11-24 2007-11-22 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置
PCT/JP2007/072640 WO2008062864A1 (en) 2006-11-24 2007-11-22 Virtual machine locating system, virtual machine locating method, program, virtual machine management device and server

Publications (2)

Publication Number Publication Date
JPWO2008062864A1 true JPWO2008062864A1 (ja) 2010-03-04
JP5317010B2 JP5317010B2 (ja) 2013-10-16

Family

ID=39429793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008545447A Active JP5317010B2 (ja) 2006-11-24 2007-11-22 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置

Country Status (3)

Country Link
US (1) US8346933B2 (ja)
JP (1) JP5317010B2 (ja)
WO (1) WO2008062864A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186821A (ja) * 2010-03-09 2011-09-22 Nec Corp 仮想化環境管理システム、装置、方法及びプログラム

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970903B2 (en) * 2007-08-20 2011-06-28 Hitachi, Ltd. Storage and server provisioning for virtualized and geographically dispersed data centers
US20090144404A1 (en) * 2007-12-04 2009-06-04 Microsoft Corporation Load management in a distributed system
JP5029440B2 (ja) * 2008-03-14 2012-09-19 富士通株式会社 情報処理システム、情報処理方法及びコンピュータプログラム
JP5006280B2 (ja) * 2008-07-17 2012-08-22 Kddi株式会社 ネットワーク運用管理方法および装置
WO2010024027A1 (ja) * 2008-08-28 2010-03-04 日本電気株式会社 仮想サーバシステム及び物理サーバ選択方法
US8117613B2 (en) * 2009-04-08 2012-02-14 Microsoft Corporation Optimized virtual machine migration mechanism
US9852011B1 (en) * 2009-06-26 2017-12-26 Turbonomic, Inc. Managing resources in virtualization systems
US8489744B2 (en) * 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
US8694638B2 (en) 2009-06-29 2014-04-08 Red Hat Israel Selecting a host from a host cluster to run a virtual machine
JP5446040B2 (ja) * 2009-09-28 2014-03-19 日本電気株式会社 コンピュータシステム、及び仮想マシンのマイグレーション方法
US8327060B2 (en) * 2009-11-30 2012-12-04 Red Hat Israel, Ltd. Mechanism for live migration of virtual machines with memory optimizations
US8589921B2 (en) * 2009-11-30 2013-11-19 Red Hat Israel, Ltd. Method and system for target host optimization based on resource sharing in a load balancing host and virtual machine adjustable selection algorithm
US8832683B2 (en) * 2009-11-30 2014-09-09 Red Hat Israel, Ltd. Using memory-related metrics of host machine for triggering load balancing that migrate virtual machine
US8533711B2 (en) * 2009-11-30 2013-09-10 Red Hat Israel, Ltd. Method and system for adjusting a selection algorithm for selecting a candidate host with a highest memory sharing history value with a target virtual machine from amongst a set of host machines that have a standard deviation of memory sharing history with the virtual machine below a threshold amount
WO2011093011A1 (ja) * 2010-01-29 2011-08-04 日本電気株式会社 情報処理装置及び情報処理方法
JP4982578B2 (ja) * 2010-02-22 2012-07-25 西日本電信電話株式会社 リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
JP5585140B2 (ja) 2010-03-18 2014-09-10 富士通株式会社 仮想計算機システムの管理プログラム,管理装置及び管理方法
JP5544967B2 (ja) * 2010-03-24 2014-07-09 富士通株式会社 仮想マシン管理プログラム及び仮想マシン管理装置
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
JP2011209811A (ja) * 2010-03-29 2011-10-20 Nec Corp 仮想マシンシステムおよび仮想マシン配置方法
US8224957B2 (en) 2010-05-20 2012-07-17 International Business Machines Corporation Migrating virtual machines among networked servers upon detection of degrading network link operation
US9342373B2 (en) * 2010-05-20 2016-05-17 International Business Machines Corporation Virtual machine management among networked servers
US8826292B2 (en) * 2010-08-06 2014-09-02 Red Hat Israel, Ltd. Migrating virtual machines based on level of resource sharing and expected load per resource on candidate target host machines
US8769534B2 (en) * 2010-09-23 2014-07-01 Accenture Global Services Limited Measuring CPU utilization in a cloud computing infrastructure by artificially executing a bursting application on a virtual machine
JPWO2012053393A1 (ja) * 2010-10-19 2014-02-24 株式会社日立製作所 仮想計算機を配置する方法及び装置
EP2631799A4 (en) * 2010-10-22 2014-08-20 Fujitsu Ltd DATA CENTER, INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING DEVICE, METHOD FOR CONTROLLING INFORMATION PROCESSING DEVICE, AND CONTROL PROGRAM
US20120102190A1 (en) * 2010-10-26 2012-04-26 International Business Machines Corporation Inter-virtual machine communication
TWI590179B (zh) * 2010-10-27 2017-07-01 緯創資通股份有限公司 電子系統、壽命管理電路及壽命管理方法
US8756602B2 (en) 2010-11-14 2014-06-17 Brocade Communications Systems, Inc. Virtual machine and application migration over local and wide area networks without timeout
US8516495B2 (en) * 2010-12-09 2013-08-20 International Business Machines Corporation Domain management and integration in a virtualized computing environment
US20130283273A1 (en) * 2011-01-05 2013-10-24 Hirohisa Miyazaki Service reservation management method, virtual machine system and storage medium
CN102156665B (zh) * 2011-04-13 2012-12-05 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法
US8665345B2 (en) 2011-05-18 2014-03-04 Intellectual Ventures Fund 83 Llc Video summary including a feature of interest
JP2012243255A (ja) * 2011-05-24 2012-12-10 Intelligent Willpower Corp バーチャルマシン提供システム
JP2012243254A (ja) * 2011-05-24 2012-12-10 Intelligent Willpower Corp バーチャルマシン提供システム
CN102402466B (zh) * 2011-08-10 2014-04-16 华为技术有限公司 一种解决虚拟化平台多边冲突的方法及系统
US9722866B1 (en) * 2011-09-23 2017-08-01 Amazon Technologies, Inc. Resource allocation to reduce correlated failures
US8756601B2 (en) 2011-09-23 2014-06-17 Qualcomm Incorporated Memory coherency acceleration via virtual machine migration
US9047087B2 (en) * 2012-02-01 2015-06-02 Vmware, Inc. Power management and virtual machine migration between logical storage units based on quantity of shared physical storage units
KR101878297B1 (ko) * 2012-03-06 2018-08-07 삼성전자주식회사 락 홀더 선점 회복 방법 및 장치
US9167493B2 (en) * 2012-06-15 2015-10-20 At&T Intellectual Property I, L.P. Method and apparatus for providing a cloud-based mobility in a wireless network
US9122780B2 (en) 2012-06-20 2015-09-01 Intel Corporation Monitoring resource usage by a virtual machine
JP6160253B2 (ja) 2013-05-30 2017-07-12 富士通株式会社 仮想機械管理装置、仮想機械管理方法及び情報処理システム
US10581728B1 (en) * 2013-09-20 2020-03-03 Amazon Technologies, Inc. Rate limiting of network traffic
US9817683B2 (en) * 2014-01-10 2017-11-14 Dell Products, Lp Optimized remediation policy in a virtualized environment
JP2015194855A (ja) * 2014-03-31 2015-11-05 富士通株式会社 情報処理システム、制御プログラム、及び情報処理システムの制御方法
US10142192B2 (en) * 2014-04-09 2018-11-27 International Business Machines Corporation Management of virtual machine resources in computing environments
US10129105B2 (en) 2014-04-09 2018-11-13 International Business Machines Corporation Management of virtual machine placement in computing environments
US10235264B2 (en) 2014-09-11 2019-03-19 Infosys Limited Method and system for monitoring health of a virtual environment
US9836476B2 (en) * 2014-09-25 2017-12-05 Netapp, Inc. Synchronizing configuration of partner objects across distributed storage systems using transformations
WO2016054770A1 (en) * 2014-10-08 2016-04-14 Intel Corporation Techniques for checkpointing/delivery between primary and secondary virtual machines
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
US10254992B2 (en) 2015-04-30 2019-04-09 International Business Machines Corporation Rebalancing data storage in a dispersed storage network
WO2017014786A1 (en) * 2015-07-23 2017-01-26 Hewlett-Packard Development Company, L.P. Power management for electronic devices
US9529620B1 (en) * 2015-12-17 2016-12-27 International Business Machines Corporation Transparent virtual machine offloading in a heterogeneous processor
US9965727B2 (en) * 2016-01-14 2018-05-08 International Business Machines Corporation Method and apparatus for resolving contention in a computer system
US9858107B2 (en) * 2016-01-14 2018-01-02 International Business Machines Corporation Method and apparatus for resolving contention at the hypervisor level
US10346201B2 (en) * 2016-06-15 2019-07-09 International Business Machines Corporation Guided virtual machine migration
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
US11169836B2 (en) * 2019-01-23 2021-11-09 International Business Machines Corporation Hardware placement and maintenance scheduling in high availability systems
CN110784337B (zh) * 2019-09-26 2023-08-22 平安科技(深圳)有限公司 一种云服务质量监控方法及相关产品

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3429582B2 (ja) * 1994-11-28 2003-07-22 富士通株式会社 マルチプロセッサシステム
JP3653159B2 (ja) 1997-04-01 2005-05-25 株式会社日立製作所 仮想計算機システム間の仮想計算機移動制御方法
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP4018900B2 (ja) 2001-11-22 2007-12-05 株式会社日立製作所 仮想計算機システム及びプログラム
JP4099115B2 (ja) * 2003-07-10 2008-06-11 株式会社日立製作所 ジョブ実行システム及び実行制御方法
JP3861087B2 (ja) * 2003-10-08 2006-12-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理装置及びプログラム
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US7971095B2 (en) 2005-02-16 2011-06-28 Honeywell International Inc. Fault recovery for real-time, multi-tasking computer system
US7730486B2 (en) 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US20080127182A1 (en) * 2006-11-29 2008-05-29 Newport William T Managing Memory Pages During Virtual Machine Migration
US20080196043A1 (en) * 2007-02-08 2008-08-14 David Feinleib System and method for host and virtual machine administration
US8996890B2 (en) * 2008-02-07 2015-03-31 Dell Products L.P. Method for power conservation in virtualized environments

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011186821A (ja) * 2010-03-09 2011-09-22 Nec Corp 仮想化環境管理システム、装置、方法及びプログラム

Also Published As

Publication number Publication date
JP5317010B2 (ja) 2013-10-16
US20100005465A1 (en) 2010-01-07
WO2008062864A1 (en) 2008-05-29
US8346933B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
JP5317010B2 (ja) 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置
JP6646114B2 (ja) 動的仮想マシンサイジング
US11853809B2 (en) Systems, methods and devices for determining work placement on processor cores
US11088961B2 (en) Monitoring data streams and scaling computing resources based on the data streams
AU2014309371B2 (en) Virtual hadoop manager
US7673113B2 (en) Method for dynamic load balancing on partitioned systems
US8271989B2 (en) Method and apparatus for virtual processor dispatching to a partition based on shared memory pages
US8510747B2 (en) Method and device for implementing load balance of data center resources
EP2430541B1 (en) Power management in a multi-processor computer system
US9852008B2 (en) Computer-readable recording medium storing execution information notification program, information processing apparatus, and information processing system
JP2013516021A (ja) プロセッサコアのハイパーバイザ離隔
JP2007207219A (ja) 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US20190235902A1 (en) Bully vm detection in a hyperconverged system
EP1393175A2 (en) A resource management method
JP2019114173A (ja) 情報処理装置、情報処理方法及びプログラム
US7178146B1 (en) Pizza scheduler
US20190087124A1 (en) Dynamic scheduling for virtual storage devices
KR20230063015A (ko) 가상화 서버에서 가상머신 cpu 자원을 관리하는 장치 및 방법
US8656375B2 (en) Cross-logical entity accelerators
KR20240091183A (ko) 프로세서 코어 상의 작업 배치를 결정하기 위한 시스템, 방법 및 디바이스

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130306

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130416

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

R150 Certificate of patent or registration of utility model

Ref document number: 5317010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130630