JP7035858B2 - マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム - Google Patents

マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム Download PDF

Info

Publication number
JP7035858B2
JP7035858B2 JP2018127170A JP2018127170A JP7035858B2 JP 7035858 B2 JP7035858 B2 JP 7035858B2 JP 2018127170 A JP2018127170 A JP 2018127170A JP 2018127170 A JP2018127170 A JP 2018127170A JP 7035858 B2 JP7035858 B2 JP 7035858B2
Authority
JP
Japan
Prior art keywords
server
virtual
physical
virtual server
physical 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.)
Active
Application number
JP2018127170A
Other languages
English (en)
Other versions
JP2020008964A (ja
Inventor
宏喜 児玉
成人 鈴木
裕幸 福田
数実 小島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018127170A priority Critical patent/JP7035858B2/ja
Priority to US16/427,815 priority patent/US10871986B2/en
Publication of JP2020008964A publication Critical patent/JP2020008964A/ja
Application granted granted Critical
Publication of JP7035858B2 publication Critical patent/JP7035858B2/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/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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

Description

本発明は、マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステムに関する。
近年、1台の物理サーバに複数の仮想サーバを構築する運用は、物理サーバの性能向上に伴って急速に普及している。物理サーバ上で動作させる仮想サーバへのCPU(Central Processing Unit)やメモリなどの計算資源の分配は、例えば、仮想環境を構築するオペレーティングシステムの管理者によって決定される。
先行技術としては、システム全体の最適化のためのマイグレーションポリシーだけでなく、アプリケーションに依存するマイグレーションポリシーをユーザが定義でき、両ポリシーを考慮しながら、アプリケーションが稼働する仮想マシンを稼働させたまま、他のサーバに移動することを制御するものがある。
特開2009-116852号公報
しかしながら、従来技術では、物理サーバ間での負荷分散を行うにあたり、性能を保証すべき仮想サーバのマイグレーションが発生して、当該仮想サーバの性能劣化を引き起こしてしまう場合がある。
一つの側面では、本発明は、特定の仮想サーバをマイグレーション対象から外して性能劣化を抑制することを目的とする。
1つの実施態様では、物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の前記特定の仮想サーバの性能劣化率を参照して、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記特定の仮想サーバの性能劣化率が閾値を超える前の前記物理サーバの負荷状態に関する第1指標値を算出し、前記物理サーバ上で前記特定の仮想サーバを起動中に、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記物理サーバの負荷状態に関する第2指標値を算出し、算出した前記第2指標値が、算出した前記第1指標値を超えた場合に、前記物理サーバ上で動作する仮想サーバのうち、前記特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施する、マイグレーション管理プログラムが提供される。
本発明の一側面によれば、特定の仮想サーバをマイグレーション対象から外して性能劣化を抑制することができる。
図1は、実施の形態にかかるマイグレーション方法の一実施例を示す説明図である。 図2は、仮想サーバの稼働状況の時系列変化を示す説明図(その1)である。 図3は、仮想サーバの性能値の時系列変化を示す説明図(その1)である。 図4は、仮想サーバの稼働状況の時系列変化を示す説明図(その2)である。 図5は、仮想サーバの性能値の時系列変化を示す説明図(その2)である。 図6は、マイグレーションシステム600のシステム構成例を示す説明図である。 図7は、情報処理装置101のハードウェア構成例を示すブロック図である。 図8は、稼働状況DB620の記憶内容の一例を示す説明図である。 図9は、ホスト情報DB630の記憶内容の一例を示す説明図である。 図10は、情報処理装置101の機能的構成例を示すブロック図である。 図11は、負荷閾値テーブル1100の記憶内容の一例を示す説明図である。 図12は、仮想サーバの稼働状況の予測例を示す説明図(その1)である。 図13は、仮想サーバの稼働状況の予測例を示す説明図(その2)である。 図14は、仮想サーバのマイグレーション例を示す説明図である。 図15は、情報処理装置101のマイグレーション管理処理手順の一例を示すフローチャートである。 図16は、閾値決定処理の具体的処理手順の一例を示すフローチャートである。
以下に図面を参照して、本発明にかかるマイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステムの実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかるマイグレーション方法の一実施例を示す説明図である。図1において、情報処理装置101は、物理サーバ間での仮想サーバのマイグレーションを制御するコンピュータである。物理サーバは、自装置のハードウェア資源を仮想化して、複数の異なるOS(Operating System)を実行可能なコンピュータである。自装置のハードウェア資源とは、例えば、CPU、メモリ、I/F(Interface)などである。
具体的には、例えば、物理サーバは、自装置のハードウェア資源を分割して構築される実行環境で動作する仮想サーバによってOSを稼働させることができる。仮想サーバとは、物理的なコンピュータのハードウェア資源を分割して構築される実行環境で動作する仮想的なコンピュータである。マイグレーションとは、物理サーバ上で動作している仮想サーバを別の物理サーバに移行することである。
ここで、計算資源を有効活用すべく、できるだけ少ない物理サーバで、できるだけ多くの仮想サーバを運用することは重要である。例えば、仮想サーバを提供するサービスを行うにあたり、できるだけ少ない物理サーバで、できるだけ多くの仮想サーバを運用することは、利益の最大化につながる。
また、計算資源を有効活用する手段として、物理サーバ間のマイグレーションによる負荷分散がある。マイグレーションによる負荷分散は、全体最適化には必要不可欠な技術である。例えば、仮想サーバの稼働状況を監視し、物理サーバに対する負荷が大きいと判断したときに、別の物理サーバに仮想サーバを移動することで負荷分散を行う。
この際、負荷分散を効率的に行うという観点から、物理サーバ上で動作する仮想サーバのうち、負荷が相対的に大きい仮想サーバをマイグレーション対象とする手法がある。しかし、この手法では、運用者(サービス提供者)の意図に基づくマイグレーションができないだけでなく、仮想サーバの使用者(サービス利用者)の意図も反映されない。
すなわち、使用者や運用者がマイグレーションさせたくない仮想サーバがあっても、その意図を反映することができない。一方で、仮想サーバを移動する際には、マイグレーションによって仮想サーバの性能が低下してしまう場合がある。このため、運用者や使用者の都合等に応じてマイグレーション対象から除外する仮想サーバを選べないことは利便性の低下を招くおそれがある。
そこで、本実施の形態では、マイグレーションによる負荷分散を行うにあたり、運用者や使用者の都合等に応じて特定の仮想サーバをマイグレーション対象から除外して、特定の仮想サーバの性能劣化を抑制するマイグレーション方法について説明する。
以下、情報処理装置101の処理例について説明する。なお、下記(1)~(3)の処理のうち、下記(1)の処理は、例えば、物理サーバの運用開始前、すなわち、使用者による仮想サーバの使用開始前に行われる。また、下記(2)および(3)の処理は、物理サーバの運用中、すなわち、使用者による仮想サーバの使用中に行われる。
(1)情報処理装置101は、物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバの性能劣化率が閾値αを超える前の物理サーバの負荷状態に関する第1指標値を算出する。ここで、特定の仮想サーバは、マイグレーション対象から除外する仮想サーバであり、任意に指定可能である。特定の仮想サーバとしては、例えば、SLA(Service Level Agreement)を結んだ仮想サーバが指定される。
仮想サーバの性能劣化率とは、仮想サーバの絶対性能に対する劣化度合いを示す。仮想サーバの絶対性能は、物理サーバにおいて仮想サーバを唯一起動させたとき、もしくは、他の仮想サーバが全てアイドル状態のときに得られる性能である。閾値αは、任意に設定可能であり、絶対性能に対してどれだけの性能劣化を許容するかを示す。例えば、閾値αを「α=10%」とすると、絶対性能に対して10%までの性能劣化を許容することを意味する。
また、物理サーバの負荷状態に関する指標値とは、物理サーバにどの程度の負荷がかかっているかをあらわす指標である。物理サーバの負荷状態に関する指標値は、物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と仮想CPUの稼働率とに基づいて算出することができる。
具体的には、例えば、まず、情報処理装置101は、物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の特定の仮想サーバの性能劣化率を特定する。ただし、物理サーバは、物理サーバ上で動作する仮想サーバに割り当てられた仮想CPUの総数が、物理サーバが有する物理コア(CPUコア)の数を上回る、いわゆる、オーバーコミット状態である場合を想定する。
図1の例では、物理サーバPM1上で仮想サーバVM1,VM2を運用する場合を想定する。ここでは、物理サーバPM1が有する物理コアの数を「16」とする。また、仮想サーバVM1に割り当てられた仮想CPUの数を「12」とし、仮想サーバVM2に割り当てられた仮想CPUの数を「8」とする。
また、マイグレーション対象から除外する特定の仮想サーバを仮想サーバVM1とする。この場合、情報処理装置101は、物理サーバPM1上で動作する仮想サーバのうち、仮想サーバVM1以外の仮想サーバの稼働率を段階的に変化させた際の仮想サーバVM1の性能劣化率を特定する。
なお、仮想サーバVM1の性能劣化率を特定するにあたり、物理サーバPM1上で動作させる仮想サーバは、運用時と異なる仮想サーバであってもよい。ただし、物理サーバPM1上で動作させる仮想サーバの数、マイグレーション対象から除外する仮想サーバの数、および、各仮想サーバに割り当てる仮想CPUの数は、運用時と同一であることが好ましい。
より詳細に説明すると、例えば、情報処理装置101は、実際に物理サーバPM1上に仮想サーバVM1,VM2を起動し、仮想サーバVM2の稼働率を段階的に上昇させた際の仮想サーバVM1の性能値を測定する。この際、仮想サーバVM1の稼働率は固定としてもよい。
また、情報処理装置101は、仮想サーバVM1の絶対性能を測定する。仮想サーバVM1の絶対性能とは、物理サーバPM1において、仮想サーバVM1を唯一起動させたとき、もしくは、他の仮想サーバが全てアイドル状態のときに得られる仮想サーバVM1の性能値である。
そして、情報処理装置101は、測定した仮想サーバVM1の絶対性能に対する、測定した仮想サーバVM1の性能値の割合を算出することにより、仮想サーバVM1の性能劣化率を特定する。これにより、仮想サーバVM2の稼働率を段階的に上昇させた際の仮想サーバVM1の性能劣化率を特定することができる。
なお、仮想サーバVM2の稼働率を段階的に上昇させた際の仮想サーバVM1の性能劣化率については、図2および図3を用いて後述する。
つぎに、情報処理装置101は、特定した仮想サーバVM1の性能劣化率を参照して、仮想サーバVM1の性能劣化率が閾値αを超える前の物理サーバPM1の負荷状態に関する第1指標値を算出する。閾値αを「α=10%」とすると、情報処理装置101は、仮想サーバVM1の性能劣化率が10%を超える前の物理サーバPM1の負荷状態に関する第1指標値を算出する。
ここで、第1指標値は、これ以上物理サーバPM1に負荷がかかると、仮想サーバVM1の性能劣化率が閾値αを超えてしまうといえる物理サーバPM1の負荷状態をあらわす。換言すれば、物理サーバPM1の負荷状態に関する指標値が第1指標値を超えたことをもって、仮想サーバVM1の性能が許容範囲を超えて低下する予兆として捉えることができる。
より詳細に説明すると、例えば、情報処理装置101は、仮想サーバVM2の稼働率を段階的に変化させた複数の状態のうち、仮想サーバVM1の性能劣化率が閾値αを超えるときの状態変化を特定する。そして、情報処理装置101は、閾値αを超える直前の状態における物理サーバPM1の負荷状態に関する指標値を第1指標値として算出する。
この際、情報処理装置101は、物理サーバPM1の負荷状態に関する指標値として、例えば、下記式(1)を用いて、実総仮想CPU数を算出することにしてもよい。ただし、nは、仮想サーバに割り当てられた仮想CPUの数(vCPU数)である。Nは、物理サーバ上で動作する仮想サーバの数である。VMCPUutilは、仮想サーバのCPU稼働率である。VMCPUutilは、百分率ではなく比率であらわす。iは、「i=1,2,…,N」である。
実総仮想CPU数=ΣnVMiCPUutil
=(n1*VM1CPUutil+n2*VM2CPUutil+…+nN*VMNCPUutil
・・・(1)
nVMCPUutilは、仮想サーバに割り当てられる仮想CPUの数は異なることがあることを考慮して、vCPU数とCPU稼働率との積によって、仮想サーバの実際の稼働率をあらわした値である。したがって、上記式(1)により得られる実総仮想CPU数は、物理サーバにかかる実際の負荷をあらわしているといえる。実総仮想CPU数が、物理サーバが有する物理コアの数を超えると、CPU不足による待ち時間が生じて、物理サーバ上で動作する仮想サーバの性能が低下することを意味する。
なお、情報処理装置101は、物理サーバの負荷状態に関する指標値として、実総仮想CPU数から、マイグレーション対象から除外する特定の仮想サーバのnVM値(nVMCPUutil)を引いた値を算出することにしてもよい。この場合、算出される指標値は、特定の仮想サーバ以外の仮想サーバの実行にどれだけ物理サーバの負荷がかかっているかをあらわすものとなる。
(2)情報処理装置101は、物理サーバ上で特定の仮想サーバを起動中に、物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と仮想CPUの稼働率とに基づいて、物理サーバの負荷状態に関する第2指標値を算出する。すなわち、情報処理装置101は、特定の仮想サーバの運用中に、物理サーバにどの程度の負荷がかかっているかをあらわす指標値を算出する。
図1の例では、情報処理装置101は、物理サーバPM1上で動作する各仮想サーバVM1,VM2に割り当てられた仮想CPUの数と仮想CPUの稼働率とに基づいて、物理サーバPM1の負荷状態に関する第2指標値を随時算出する。具体的には、例えば、情報処理装置101は、物理サーバPM1の負荷状態に関する第2指標値として、上記式(1)を用いて、実総仮想CPU数を随時算出する。
(3)情報処理装置101は、算出した第2指標値が、算出した第1指標値を超えた場合に、物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施する。
ここで、第2指標値が第1指標値を超えたということは、特定の仮想サーバの性能が許容範囲を超えて劣化する可能性が高い状態であるといえる。このため、情報処理装置101は、第2指標値が第1指標値を超えたことに応じて、特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施する。
図1の例では、第2指標値(実総仮想CPU数)が第1指標値(実総仮想CPU数)を超えた場合に、物理サーバPM1上で動作する仮想サーバVM1,VM2のうち、仮想サーバVM1以外の仮想サーバVM2に対して他の物理サーバPM2へのマイグレーションを実施する。
これにより、仮想サーバVM1が許容できない程度まで性能劣化する前のタイミングで、仮想サーバVM2を他の物理サーバPM2へマイグレーションして、仮想サーバVM1の性能劣化を抑制することができる。また、物理サーバPM1,PM2間のマイグレーションによる負荷分散により全体最適化を図ることができる。
ここで、図2および図3を用いて、仮想サーバVM2の稼働率を段階的に上昇させた際の仮想サーバVM1の性能劣化率について説明する。
図2は、仮想サーバの稼働状況の時系列変化を示す説明図(その1)である。また、図3は、仮想サーバの性能値の時系列変化を示す説明図(その1)である。図2において、実験結果200は、物理サーバPM1上で動作する仮想サーバVM1,VM2のうち、仮想サーバVM2の稼働率を段階的に上昇させた際の仮想サーバVM1,VM2の稼働状況(状態1~4)を示す。
フラグ「#」は、マイグレーション対象から除外する特定の仮想サーバであることを示す。vCPU数は、仮想サーバVM1,VM2に割り当てられた仮想CPUの数である。例えば、1つの仮想CPUの最大性能は、物理サーバPM1が有する1つの物理コアの最大性能に相当する。ここでは、物理サーバPM1は、仮想サーバVM1,VM2に割り当てられた仮想CPUの総数「20」が、物理コアの数「16」を上回るオーバーコミット状態である。
CPU稼働率は、仮想サーバに割り当てられた仮想CPUの稼働率である。nVMは、vCPU数とCPU稼働率との積によって、仮想サーバの実際の稼働率をあらわした値である。性能劣化率は、仮想サーバの絶対性能に対する劣化度合いを示す。
ここで、状態1は、仮想サーバVM1のCPU稼働率が「67%」、仮想サーバVM2のCPU稼働率が「25%」の状態である。状態2は、仮想サーバVM1のCPU稼働率が「67%」、仮想サーバVM2のCPU稼働率が「50%」の状態である。状態3は、仮想サーバVM1のCPU稼働率が「67%」、仮想サーバVM2のCPU稼働率が「75%」の状態である。状態4は、仮想サーバVM1のCPU稼働率が「67%」、仮想サーバVM2のCPU稼働率が「100%」の状態である。
図3において、グラフ301は、仮想サーバVM1の性能値の時系列変化を示す。グラフ302は、仮想サーバVM2の性能値の時系列変化を示す。性能値は、値が高いほど、仮想サーバの性能が高いことを示す。なお、各仮想サーバVM1,VM2の性能値は、既存のベンチマークを用いて測定することができる。
図3中、期間T1は、仮想サーバVM1,VM2が同一の物理サーバPM1上で動作している期間を示す。丸数字1~4は、状態1~4の期間に対応している。期間T2は、仮想サーバVM2が物理サーバPM1から物理サーバPM2にマイグレーションされ、仮想サーバVM1が物理サーバPM1上で動作し、仮想サーバVM2が物理サーバPM2上で動作している期間を示す。
グラフ301によれば、期間T1において、仮想サーバVM2のCPU稼働率が上昇するにつれて、仮想サーバVM1の性能値が低下していることがわかる。また、期間T2において、物理サーバPM1上で仮想サーバVM1を唯一起動させたときの性能値(絶対性能)を特定することができる。
グラフ302によれば、期間T1において、仮想サーバVM2のCPU稼働率が上昇するにつれて、仮想サーバVM2の性能値が上昇していることがわかる。また、期間T2において、物理サーバPM2上でCPU稼働率を変化させつつ仮想サーバVM2を唯一起動させたときの性能値(絶対性能)を特定することができる。
ここで、期間T1において、仮想サーバVM2のCPU稼働率が上昇するにつれて、仮想サーバVM1の性能値が急激に低下するポイントがある。例えば、状態1から状態2に変化したときは、仮想サーバVM1の性能値は、低下しているものの急激に低下しているわけではない。
一方で、状態2から状態3に変化したときは、仮想サーバVM1の性能値は急激に低下しており、性能劣化率が「29.1%」となっている。性能劣化率は、仮想サーバVM1の絶対性能に対する性能値の割合、例えば、「(仮想サーバの性能値/仮想サーバの絶対性能)×100」によってあらわされる。
このように、物理サーバ上に複数の仮想サーバが共存している環境下では、ある仮想サーバの性能値は、他の仮想サーバの稼働率の上昇に応じて線形に変化するわけではないことがわかる。換言すれば、物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させることで、特定の仮想サーバの性能値が急激に低下するポイントを特定することができる。
例えば、仮想サーバVM1の性能劣化率に関する閾値αを「α=10%」とする。すなわち、仮想サーバVM1の絶対性能に対して10%までの性能劣化を許容するとする。図2および図3の例では、各状態1~4の仮想サーバVM1の性能劣化率は、「1.2%⇒3.4%⇒29.1%⇒34.7%」と変化している。
この場合、状態2から状態3に遷移したときに、仮想サーバVM1の性能値が急激に低下して、性能劣化率が「29.1%」となり、閾値αを超える。このため、情報処理装置101は、状態1~4のうちの状態2を、仮想サーバVM1の性能劣化率が閾値αを超える前の状態として特定する。
そして、情報処理装置101は、状態2のときの物理サーバPM1の負荷状態に関する指標値を、第1指標値として算出する。具体的には、例えば、情報処理装置101は、上記式(1)を用いて、物理サーバの負荷状態に関する指標値として、実総仮想CPU数を算出する。
図2の例では、状態2のときの物理サーバPM1の実総仮想CPU数は、「12(=8+4)」となる。このため、第1指標値は、「12」となる。
ただし、物理サーバの負荷状態に関する指標値として、実総仮想CPU数から、マイグレーション対象から除外する特定の仮想サーバのnVM値(nVMCPUutil)を引いた値を算出することにしてもよい。この場合、状態2のときの物理サーバPM1の負荷状態に関する第1指標値は、状態2のときの物理サーバPM1の実総仮想CPU数「12」から、仮想サーバVM1のnVM値「8」を引いた値「4」となる。
なお、仮想サーバVM1,VM2のうち、仮想サーバVM2を、マイグレーション対象から除外する特定の仮想サーバとした場合には、情報処理装置101は、仮想サーバVM1の稼働率を段階的に変化させて、仮想サーバVM2の性能値の時系列変化を特定する。
ここで、図4および図5を用いて、仮想サーバVM1の稼働率を段階的に上昇させた際の仮想サーバVM2の性能劣化率について説明する。ただし、ここでは図2に示した実験結果200の一部(状態1,2)を流用して、仮想サーバVM2の性能劣化率について説明する。
図4は、仮想サーバの稼働状況の時系列変化を示す説明図(その2)である。また、図5は、仮想サーバの性能値の時系列変化を示す説明図(その2)である。図4において、実験結果400は、仮想サーバVM1の稼働率を段階的に変化させた際の仮想サーバVM1,VM2の稼働状況を示す。ここでは、仮想サーバVM1,VM2の稼働状況が、状態1,2の後、状態5,6に遷移した場合を想定する。
図5において、グラフ501は、仮想サーバVM1の性能値の時系列変化を示す。グラフ502は、仮想サーバVM2の性能値の時系列変化を示す。図5中、期間T3は、仮想サーバVM1,VM2が同一の物理サーバPM1上で動作している期間を示す。期間T4は、仮想サーバVM2が物理サーバPM1から物理サーバPM2にマイグレーションされ、仮想サーバVM1が物理サーバPM1上で動作し、仮想サーバVM2が物理サーバPM2上で動作している期間を示す。丸数字5,6は、状態5,6の期間に対応している。
ここで、仮想サーバVM2の性能劣化率に関する閾値αを「10%」とする。図4および図5の例では、状態5の仮想サーバVM2の性能劣化率は、「8%」である。また、状態1の仮想サーバVM2の性能劣化率は、「10%」である。このため、情報処理装置101は、状態5を、仮想サーバVM2の性能劣化率が閾値「10%」を超える前の状態として特定する。
そして、情報処理装置101は、状態5のときの物理サーバPM1の負荷状態に関する指標値を、第1指標値として算出する。図4の例では、状態5のときの物理サーバPM1の実総仮想CPU数は、「8(=6+2)」となる。このため、第1指標値は、「8」となる。
(マイグレーションシステム600のシステム構成例)
つぎに、実施の形態にかかるマイグレーションシステム600のシステム構成例について説明する。
図6は、マイグレーションシステム600のシステム構成例を示す説明図である。図6において、マイグレーションシステム600は、情報処理装置101と、物理サーバPM1~PMm(m:2以上の自然数)と、待機サーバSTと、を含む。マイグレーションシステム600において、情報処理装置101、物理サーバPM1~PMmおよび待機サーバSTは、ネットワーク610を介して相互に通信可能に接続される。ネットワーク610は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
以下の説明では、物理サーバPM1~PMmのうちの任意の物理サーバを「物理サーバPMj」と表記する場合がある(j=1,2,…,m)。また、物理サーバPM1~PMmのうちの物理サーバPMjとは異なる他の物理サーバを「物理サーバPMk」と表記する場合がある(k≠j、k=1,2,…,m)。
情報処理装置101は、稼働状況DB(Database)620およびホスト情報DB630を有し、物理サーバ間での仮想サーバのマイグレーションを制御する。稼働状況DB620およびホスト情報DB630の記憶内容については、図8および図9を用いて後述する。
物理サーバPMjは、自装置のハードウェア資源を分割して構築される実行環境で動作する仮想サーバによってOSを稼働させることができるコンピュータである。待機サーバSTは、マイグレーション先として予め準備された専用の物理サーバである。図6では、待機サーバSTは、1台のみ表記したが、2台以上であってもよい。
以下の説明では、物理サーバPMj上で動作する仮想サーバを「仮想サーバVM1~VMn」と表記する場合がある(n:2以上の自然数)。また、仮想サーバVM1~VMnのうちの任意の仮想サーバを「仮想サーバVMi」と表記する場合がある(i=1,2,…,n)。
なお、ここでは、情報処理装置101を、物理サーバPM1~PMmとは別体に設けることにしたが、これに限らない。例えば、情報処理装置101は、物理サーバPMjによって実現されることにしてもよい。
(情報処理装置101のハードウェア構成例)
図7は、情報処理装置101のハードウェア構成例を示すブロック図である。図7において、情報処理装置101は、CPU701と、メモリ702と、I/F703と、ディスクドライブ704と、ディスク705と、を有する。また、各構成部は、バス700によってそれぞれ接続される。
ここで、CPU701は、情報処理装置101の全体の制御を司る。CPU701は、複数のコアを有していてもよい。メモリ702は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU701のワークエリアとして使用される。メモリ702に記憶されるプログラムは、CPU701にロードされることで、コーディングされている処理をCPU701に実行させる。
I/F703は、通信回線を通じてネットワーク610に接続され、ネットワーク610を介して外部のコンピュータ(例えば、図6に示した物理サーバPM1~PMm、待機サーバST)に接続される。そして、I/F703は、ネットワーク610と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。I/F703には、例えば、モデムやLANアダプタなどを採用することができる。
ディスクドライブ704は、CPU701の制御に従ってディスク705に対するデータのリード/ライトを制御する。ディスク705は、ディスクドライブ704の制御で書き込まれたデータを記憶する。ディスク705としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
なお、情報処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、図6に示した物理サーバPM1~PMm、待機サーバSTについても、情報処理装置101と同様のハードウェア構成により実現することができる。
(各種DB620,630の記憶内容)
つぎに、図8および図9を用いて、情報処理装置101が有する各種DB620,630の記憶内容について説明する。各種DB620,630は、例えば、図7に示したメモリ702、ディスク705などの記憶装置により実現される。
図8は、稼働状況DB620の記憶内容の一例を示す説明図である。図8において、稼働状況DB620は、ホスト名、仮想サーバ名、フラグ、vCPU数、CPU稼働率およびタイムスタンプのフィールドを有し、各フィールドに情報を設定することで、稼働状況情報(例えば、稼働状況情報800-1~800-10)をレコードとして記憶する。
ここで、ホスト名は、物理サーバPMjを一意に識別する識別子である。仮想サーバ名は、物理サーバPMj上で動作する仮想サーバVMiを一意に識別する識別子である。なお、仮想サーバ名「VMj-i」は、物理サーバPMj上で動作する仮想サーバVMiを示す。
フラグは、マイグレーション対象から除外する仮想サーバであるか否かを示すフラグである。フラグには、「1」または「0」が設定される。フラグ「1」は、マイグレーション対象から除外する仮想サーバであることを示す。フラグ「0」は、マイグレーション対象から除外する仮想サーバではないことを示す。
vCPU数は、仮想サーバVMiに割り当てられた仮想CPUの数である。CPU稼働率は、仮想サーバに割り当てられた仮想CPUの稼働率である(単位:%)。タイムスタンプは、CPU稼働率が測定された日時を示す。
例えば、稼働状況情報800-1は、物理サーバPM1上で動作する仮想サーバVM1のフラグ「1」、vCPU数「2」、CPU稼働率「100%」およびタイムスタンプ「2018/06/18 09:00:00」を示す。
図9は、ホスト情報DB630の記憶内容の一例を示す説明図である。図9において、ホスト情報DB630は、ホスト名、物理コア数および仮想サーバ構成のフィールドを有し、各フィールドに情報を設定することで、ホスト情報(例えば、ホスト情報900-1,900-2)をレコードとして記憶する。
ここで、ホスト名は、物理サーバPMjを一意に識別する識別子である。物理コア数は、物理サーバPMjが有する物理コア(CPUコア)の数である。仮想サーバ構成は、物理サーバPMj上で動作させる仮想サーバに関する構成情報である。例えば、仮想サーバ構成は、仮想サーバの数やvCPU数、マイグレーション対象から除外する仮想サーバの情報などを含む。より具体的には、例えば、仮想サーバ構成には、物理サーバPMj上で動作する仮想サーバVMiの仮想サーバ名、フラグ、vCPU数などが含まれていてもよい。フラグは、マイグレーション対象から除外する仮想サーバであるか否かを示す情報である。
(情報処理装置101の機能的構成例)
図10は、情報処理装置101の機能的構成例を示すブロック図である。図10において、情報処理装置101は、取得部1001と、第1の算出部1002と、第2の算出部1003と、マイグレーション制御部1004と、を含む。取得部1001~マイグレーション制御部1004は制御部となる機能であり、具体的には、例えば、図7に示したメモリ702、ディスク705などの記憶装置に記憶されたプログラムをCPU701に実行させることにより、または、I/F703により、その機能を実現する。各機能部の処理結果は、例えば、メモリ702、ディスク705などの記憶装置に記憶される。ただし、情報処理装置101の各機能部は、マイグレーションシステム600内の複数のコンピュータにより実現されることにしてもよい。
取得部1001は、ホスト情報を取得する。ここで、ホスト情報は、物理サーバPMjに関する情報であり、例えば、物理サーバPMjが有する物理コアの数や周波数などを含む。また、ホスト情報は、例えば、物理サーバPMj上で動作させる仮想サーバに関する構成情報を含む。具体的には、例えば、取得部1001は、物理サーバPM1~PMmそれぞれからホスト情報を受信することにより、受信したホスト情報を取得する。
取得されたホスト情報は、例えば、図9に示したホスト情報DB630に記憶される。なお、取得部1001は、不図示の入力装置を用いたユーザの操作入力により、ホスト情報を取得することにしてもよい。ユーザは、例えば、マイグレーションシステム600の管理者である。
また、取得部1001は、仮想サーバ情報を取得する。ここで、仮想サーバ情報は、物理サーバPMj上で動作する仮想サーバVMiに関する情報である。仮想サーバ情報は、例えば、仮想サーバVMiの仮想サーバ名、フラグ、vCPU数、CPU稼働率などを含む。フラグは、マイグレーション対象から除外する仮想サーバであるか否かを示す。
具体的には、例えば、取得部1001は、物理サーバPMjから、物理サーバPMj上で動作する各仮想サーバVMiの仮想サーバ情報を受信することにより、受信した各仮想サーバVMiの仮想サーバ情報を取得する。仮想サーバ情報を取得する処理は、例えば、数分程度の時間間隔で定期的に実施される。
取得された仮想サーバ情報は、例えば、物理サーバPMjのホスト名およびタイムスタンプと対応付けて、図8に示した稼働状況DB620に記憶される。タイムスタンプの日時は、例えば、仮想サーバ情報の受信日時であってもよい。
第1の算出部1002は、物理サーバPMj上で動作する仮想サーバVM1~VMnのうち、特定の仮想サーバの性能劣化率が閾値αを超える前の物理サーバPMjの負荷状態に関する第1指標値を算出する。ここで、特定の仮想サーバは、マイグレーション対象から除外する仮想サーバである。
具体的には、例えば、まず、第1の算出部1002は、物理サーバPMj上で動作する仮想サーバVM1~VMnのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の特定の仮想サーバの性能劣化率を特定する。ただし、物理サーバPMjは、オーバーコミット状態である場合を想定する。
より詳細に説明すると、例えば、第1の算出部1002は、物理サーバPMj上に仮想サーバVM1~VMnを起動する。そして、第1の算出部1002は、仮想サーバVM1~VMnのうち、特定の仮想サーバ以外の仮想サーバの稼働率(CPU稼働率)を段階的に変化させた際の特定の仮想サーバの性能値を測定する。この際、特定の仮想サーバの稼働率は、固定値としてもよい。固定値は、例えば、100%であってもよく、また、特定の仮想サーバの運用時の稼働状況を考慮して設定してもよい。
また、第1の算出部1002は、特定の仮想サーバの絶対性能を測定する。例えば、第1の算出部1002は、物理サーバPMj上に特定の仮想サーバを唯一起動させ、特定の仮想サーバに割り当てた各仮想CPUに負荷を与えることにより、特定の仮想サーバの絶対性能を測定する。なお、仮想サーバの絶対性能は、仮想サーバに割り当てる仮想CPUの数が増えるにつれて高くなる関係にある。
そして、第1の算出部1002は、測定した特定の仮想サーバの絶対性能に対する、測定した特定の仮想サーバの性能値の割合を算出することにより、特定の仮想サーバの性能劣化率を特定する。これにより、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の特定の仮想サーバの性能劣化率を特定することができる。
つぎに、第1の算出部1002は、特定した特定の仮想サーバの性能劣化率を参照して、特定の仮想サーバの性能劣化率が閾値αを超える前の物理サーバPMjの負荷状態に関する第1指標値を算出する。第1指標値は、これ以上物理サーバPMjに負荷がかかると、特定の仮想サーバの性能が低下して、特定の仮想サーバの性能劣化率が閾値αを超えてしまう、物理サーバPMjの負荷状態をあらわす指標である。
以下の説明では、物理サーバPMjの負荷状態に関する第1指標値を「物理サーバPMjの負荷閾値Lj」と表記する場合がある。
より詳細に説明すると、例えば、第1の算出部1002は、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に上昇させた複数の状態のうち、特定の仮想サーバの性能劣化率が閾値αを超えるときの状態変化を特定する。そして、第1の算出部1002は、閾値αを超える直前の状態における物理サーバPMjの負荷状態に関する指標値を、物理サーバPMjの負荷閾値Ljとして算出する。
ここで、物理サーバPMjの負荷状態に関する指標値は、例えば、上記式(1)を用いて得られる実総仮想CPU数であってもよい。また、物理サーバPMjの負荷状態に関する指標値は、実総仮想CPU数から、マイグレーション対象から除外する特定の仮想サーバのnVM値(nVMCPUutil)を引いた値を算出することにしてもよい。この際、マイグレーション対象から除外する仮想サーバが複数存在する場合には、物理サーバPMjの負荷状態に関する指標値は、実総仮想CPU数から、マイグレーション対象から除外する複数の仮想サーバのnVM値の合計を引いた値としてもよい。
これにより、物理サーバPMj上の各仮想サーバVMiのvCPU数とCPU稼働率との積で表現した指標をもとに、特定の仮想サーバを許容できない程度まで性能劣化させない負荷閾値Ljを予め知ることができる。
算出された物理サーバPMjの負荷閾値Ljは、例えば、図11に示すような負荷閾値テーブル1100に記憶される。負荷閾値テーブル1100は、例えば、メモリ702、ディスク705などの記憶装置により実現される。
図11は、負荷閾値テーブル1100の記憶内容の一例を示す説明図である。図11において、負荷閾値テーブル1100は、ホスト名および負荷閾値のフィールドを有し、各フィールドに情報を設定することで、負荷閾値情報(例えば、負荷閾値情報1100-1,1100-2)をレコードとして記憶する。
ここで、ホスト名は、物理サーバPMjを一意に識別する識別子である。負荷閾値は、特定の仮想サーバの性能劣化率が閾値αを超える前の物理サーバPMjの負荷状態に関する第1指標値である。例えば、負荷閾値情報1100-1は、物理サーバPM1の負荷閾値L1を示す。
第2の算出部1003は、物理サーバPMj上で特定の仮想サーバを起動中に、物理サーバPMjの負荷状態に関する第2指標値を算出する。具体的には、例えば、第2の算出部1003は、物理サーバPMj上で動作する各仮想サーバVM1~VMnに割り当てられた仮想CPUの数と仮想CPUの稼働率とに基づいて、物理サーバPMjの負荷状態に関する第2指標値を随時算出する。
例えば、物理サーバPMjの負荷閾値Lj(第1指標値)を、上記式(1)を用いて得られる実総仮想CPU数とする。この場合、第2の算出部1003は、図8に示した稼働状況DB620を参照して、各仮想サーバVM1~VMnの最新のvCPU数とCPU稼働率とを特定する。つぎに、第2の算出部1003は、上記式(1)を用いて、特定した各仮想サーバVM1~VMnのvCPU数とCPU稼働率とに基づいて、現在の実総仮想CPU数を算出する。そして、第2の算出部1003は、算出した現在の実総仮想CPU数を第2指標値とする。
また、物理サーバPMjの負荷閾値Lj(第1指標値)を、上記式(1)を用いて得られる実総仮想CPU数から、マイグレーション対象から除外する特定の仮想サーバのnVM値(nVMCPUutil)を引いた値とする。この場合、第2の算出部1003は、例えば、算出した現在の実総仮想CPU数から、特定の仮想サーバのnVM値(nVMCPUutil)を引いた値を第2指標値として算出する。
マイグレーション制御部1004は、算出された第2指標値が、算出された物理サーバPMjの負荷閾値Lj(第1指標値)を超えたか否かを判断する。物理サーバPMjの負荷閾値Ljは、例えば、図11に示した負荷閾値テーブル1100から特定される。ここで、第2指標値が負荷閾値Lj以下の場合、マイグレーション制御部1004は、物理サーバPMjから他の物理サーバへのマイグレーションは実施しない。
一方、第2指標値が負荷閾値Ljを超えた場合には、マイグレーション制御部1004は、物理サーバPMj上で動作する仮想サーバVM1~VMnのうち、特定の仮想サーバ以外の仮想サーバVMiに対して他の物理サーバへのマイグレーションを実施する。
具体的には、例えば、マイグレーション制御部1004は、稼働状況DB620を参照して、物理サーバPMj上で動作する仮想サーバVM1~VMnのうち、フラグ「0」のいずれかの仮想サーバVMiをマイグレーション対象として選択する。この際、マイグレーション制御部1004は、例えば、フラグ「0」の仮想サーバのうち、最も稼働率(nVM=vCPU数×CPU稼働率)が高い仮想サーバVMiをマイグレーション対象として選択することにしてもよい。
そして、マイグレーション制御部1004は、選択した仮想サーバVMiに対して他の物理サーバへのマイグレーションを実施する。この際、マイグレーション制御部1004は、例えば、物理サーバPMjのオーバーコミット状態が解消されるように、マイグレーション対象を繰り返し選択して、他の物理サーバへのマイグレーションを実施することにしてもよい。
他の物理サーバは、例えば、図6に示した待機サーバSTであってもよい。待機サーバSTは、マイグレーション先として予め準備された専用の物理サーバである。例えば、待機サーバSTには、初期状態ではいずれの仮想サーバも起動されていない。さらに、待機サーバSTは、実総仮想CPU数が所定値以下となるように稼働率が制限される。
また、他の物理サーバは、マイグレーション先候補となる複数の物理サーバのうち、稼働率が閾値β未満の物理サーバPMkであってもよい。マイグレーション先候補となる複数の物理サーバは、例えば、物理サーバPM1~PMmのうち、マイグレーション元の物理サーバPMjを除く物理サーバである。物理サーバの稼働率は、例えば、上記式(1)を用いて得られる実総仮想CPU数によってあらわすことができる。また、閾値βは、任意に設定可能であり、例えば、物理サーバが有する物理コア数の半分程度の値に設定される。
また、マイグレーション制御部1004は、物理サーバPMjの稼働率が閾値β未満となった場合、待機サーバST上のいずれかの仮想サーバに対して、物理サーバPMjへのマイグレーションを実施することにしてもよい。これにより、例えば、実総仮想CPU数が物理コア数の50%に満たないような物理サーバPMjに対して、待機サーバST上の仮想サーバを移動して稼働率を上げることができる。
また、第2の算出部1003は、一定時間t経過後の物理サーバPMj上で動作する各仮想サーバVM1~VMnの稼働率を予測することにしてもよい。ここで、仮想サーバVMiの稼働率の時間変化には、周期性が現れることが多い。例えば、仮想サーバVMiの使い方によっては、1日単位で周期性が現れることもあれば、1週間単位で現れることもある。
そこで、第2の算出部1003は、例えば、仮想サーバVMiの過去の稼働状況を参照して、仮想サーバVMiの稼働率の周期的な時系列変化を特定する。仮想サーバVMiの過去の稼働状況は、例えば、稼働状況DB620内の仮想サーバVMiのCPU稼働率から特定される。そして、第2の算出部1003は、特定した稼働率の周期的な時系列変化に基づいて、現時点から一定時間t経過後の仮想サーバVMiの稼働率を予測する。
なお、仮想サーバの稼働率を予測する技術としては、例えば、「Energy-aware scheduling of virtual machines in heterogeneous cloud computing systems:Future Generation Computer Systems,vol 74.2017」、「Service Clustering for Autonomic Clouds Using Random Forest:CCGrid2015」、「Virtual Machine Consolidation with Multiple Usage Prediction for Energy-Efficient Cloud Data Centers:IEEE Transactions on Services Computing,2017」などを参照することができる。
つぎに、第2の算出部1003は、予測した各仮想サーバVM1~VMnの稼働率に基づいて、一定時間t経過後の物理サーバPMjの負荷状態に関する第3指標値を算出することにしてもよい。第3指標値は、例えば、上記式(1)を用いて得られる一定時間t経過後の実総仮想CPU数である。
また、マイグレーション制御部1004は、算出された第3指標値が閾値γを超えたか否かを判断することにしてもよい。ここで、第3指標値は、例えば、一定時間t経過後の実総仮想CPU数である。閾値γは、任意に設定可能であり、例えば、物理サーバPMjが有する物理コアの数に設定される。一定時間t経過後の実総仮想CPU数が、物理サーバPMjが有する物理コアの数を超えるということは、一定時間t経過後にCPU不足による待ち時間が生じて、物理サーバPMj上で動作する仮想サーバVMiの性能が低下することを意味する。
そこで、マイグレーション制御部1004は、算出された第2指標値が物理サーバPMjの負荷閾値Ljを超え、かつ、算出された第3指標値が閾値γを超えた場合に、特定の仮想サーバ以外の仮想サーバVMiに対して、他の物理サーバへのマイグレーションを実施することにしてもよい。
これにより、現在の物理サーバPMjが、これ以上負荷がかかると特定の仮想サーバの性能劣化率が閾値αを超えてしまう状態であり、かつ、一定時間t経過後に負荷が上昇して性能劣化が起こると予測された場合に、マイグレーションを実施することができる。
また、算出された第3指標値が、限界値を超えている場合がある。ここで、限界値とは、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた複数の状態のうち、特定の仮想サーバの性能劣化率が閾値αを超えたときの状態における物理サーバPMjの負荷状態に関する指標値である。図2に示した例では、限界値は、状態3における物理サーバPM1の負荷状態に関する指標値に相当する。
そこで、マイグレーション制御部1004は、算出された第3指標値が限界値を超えている場合には、特定の仮想サーバ以外の仮想サーバVMiに対して他の物理サーバへのマイグレーションを実施することにしてもよい。これにより、一定時間t経過後に特定の仮想サーバの性能劣化率が閾値αを超えると予測された場合に、マイグレーションを実施することができる。
(マイグレーションシステム600の動作例)
つぎに、マイグレーションシステム600の動作例について説明する。ここでは、物理サーバPMj上にマイグレーション対象から除外する仮想サーバが複数存在する場合を想定する。
図12および図13は、仮想サーバの稼働状況の予測例を示す説明図である。図12において、状態Xは、図8に示した稼働状況情報800-1~800-10から特定される、物理サーバPM1上で動作している仮想サーバVM1~VM10の稼働状況を示す。
ここで、物理サーバPM1の物理コア数は「16」である(図9参照)。また、物理サーバPM1上の仮想サーバVM1~VM10に割り当てられたvCPU数の合計(仮想CPUの総数)は、「20」である。このため、物理サーバPM1は、オーバーコミット状態である。
また、状態Xにおける物理サーバPM1の負荷状態に関する第2指標値を、上記式(1)を用いて得られる実総仮想CPU数とする。この場合、第2指標値は、「10.8」となる。このため、状態Xでは、オーバーコミット状態ではあるものの、「実総仮想CPU数(10.8)<物理コア数(16)」となっており、CPU不足による性能劣化は生じていない。
ただし、ここでは、第2指標値「10.8」は、物理サーバPM1の負荷閾値L1(第1指標値)を超えているとする。すなわち、物理サーバPM1は、これ以上負荷がかかると、フラグ「1」の仮想サーバVM1,VM6の性能劣化率が閾値αを超えてしまう状態であるといえる。
また、ここでは、CPU不足による性能劣化を判断するにあたり、物理サーバPM1の物理コア数「16」から、フラグ「1」の仮想サーバVM1,VM6のvCPU数の合計「4」を減算した「対象総vCPU数」という指標を導入する。ここでは、対象総vCPU数は、「12」となる。
図13において、状態Yは、状態Xの10分後の仮想サーバVM1~VM10の稼働率(CPU稼働率)の予測結果を示す。ここで、状態Yにおける物理サーバPM1の負荷状態に関する第3指標値を、上記式(1)を用いて得られる実総仮想CPU数から、フラグ「1」の仮想サーバVM1,VM6のnVM値を引いた値とする。
この場合、第3指標値は、「12.8(=16.6-(2+1.8))」となる。この第3指標値が対象総vCPU数を超えていれば、状態Xの10分後の状態Yにおいて性能劣化が生じると予測される。ここでは、「第3指標値(12.8)>対象総vCPU数(12)」となっているため、状態Xの10分後の状態Yにおいて性能劣化が生じると予測される。
これらのことから、物理サーバPM1は、状態Xにおいて、これ以上負荷がかかるとフラグ「1」の仮想サーバVM1,VM6の性能劣化率が閾値αを超えてしまう状態であり、かつ、10分後に負荷が上昇して性能劣化が起こると予測される状態である。この場合、情報処理装置101は、物理サーバPM1上の仮想サーバVM1,VM6以外の仮想サーバに対して、他の物理サーバへのマイグレーションを実施する。
図14は、仮想サーバのマイグレーション例を示す説明図である。ここでは、物理サーバPM1のオーバーコミット状態を解消するように、物理サーバPM1上の仮想サーバVM1,VM6以外の仮想サーバVM8~VM10に対して、待機サーバSTへのマイグレーションを実施した場合を想定する。
この場合、物理サーバPM1のオーバーコミット状態が解消される。このため、マイグレーション後において、たとえ物理サーバPM1の負荷閾値L1(第1指標値)を第2指標値が超えているとしても、今後すぐに仮想サーバVM1,VM6の性能劣化率が閾値αを超えるような状態は回避できているといえる。
(情報処理装置101のマイグレーション管理処理手順)
つぎに、情報処理装置101のマイグレーション管理処理手順について説明する。情報処理装置101のマイグレーション管理処理は、例えば、物理サーバPM1~PMmに含まれる物理サーバPMjごとに実行される。
図15は、情報処理装置101のマイグレーション管理処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、情報処理装置101は、物理サーバPMjのホスト情報を取得する(ステップS1501)。つぎに、情報処理装置101は、物理サーバPMjの負荷閾値Ljを決定する閾値決定処理を実行する(ステップS1502)。
なお、閾値決定処理の具体的な処理手順については、図16を用いて後述する。また、ステップS1502の閾値決定処理の実行が完了すると、情報処理装置101は、例えば、物理サーバPMjでの全仮想サーバの実行を一旦終了させて、運用開始待ちとなる。
つぎに、情報処理装置101は、物理サーバPMjの運用開始指示があったか否かを判断する(ステップS1503)。なお、物理サーバPMjの運用開始指示は、例えば、マイグレーションシステム600の管理者により行われる。ここで、情報処理装置101は、物理サーバPMjの運用開始指示を待つ(ステップS1503:No)。
そして、情報処理装置101は、物理サーバPMjの運用開始指示があった場合(ステップS1503:Yes)、物理サーバPMj上に仮想サーバVM1~VMnを起動して、仮想サーバVM1~VMnの運用を開始する(ステップS1504)。つぎに、情報処理装置101は、物理サーバPMjから、物理サーバPMjで動作する各仮想サーバVMiの仮想サーバ情報を取得する(ステップS1505)。
そして、情報処理装置101は、取得した各仮想サーバVMiの仮想サーバ情報に基づいて、物理サーバPMjがオーバーコミット状態であるか否かを判断する(ステップS1506)。ここで、オーバーコミット状態ではない場合(ステップS1506:No)、情報処理装置101は、ステップS1505に戻る。この際、情報処理装置101は、一定時間(例えば、5分)待って、ステップS1505に戻ることにしてもよい。
一方、オーバーコミット状態の場合(ステップS1506:Yes)、情報処理装置101は、取得した各仮想サーバVMiの仮想サーバ情報に基づいて、物理サーバPMjの負荷状態に関する負荷指標値を算出する(ステップS1507)。算出される負荷指標値は、上述した「第2指標値」に相当する。
そして、情報処理装置101は、算出した物理サーバPMjの負荷指標値が、決定された物理サーバPMjの負荷閾値Ljを超えたか否かを判断する(ステップS1508)。ここで、負荷指標値が負荷閾値Ljを超えていない場合(ステップS1508:No)、情報処理装置101は、ステップS1505に戻る。この際、情報処理装置101は、一定時間待って、ステップS1505に戻ることにしてもよい。
一方、負荷指標値が負荷閾値Ljを超えた場合(ステップS1508:Yes)、情報処理装置101は、取得した各仮想サーバVMiの仮想サーバ情報に基づいて、フラグ「0」の仮想サーバVMiを選択する(ステップS1509)。そして、情報処理装置101は、選択した仮想サーバVMiに対して他の物理サーバへのマイグレーションを実施して(ステップS1510)、ステップS1505に戻る。
これにより、特定の仮想サーバが許容できない程度まで性能劣化する前のタイミングで、特定の仮想サーバ以外の仮想サーバを他の物理サーバへマイグレーションして、特定の仮想サーバの性能劣化を抑制することができる。
つぎに、図16を用いて、図15に示したステップS1502の閾値決定処理の具体的な処理手順について説明する。
図16は、閾値決定処理の具体的処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、情報処理装置101は、取得した物理サーバPMjのホスト情報に基づいて、物理サーバPMj上に仮想サーバVM1~VMnを起動する(ステップS1601)。
つぎに、情報処理装置101は、物理サーバPMj上の仮想サーバVM1~VMnのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の特定の仮想サーバの性能値を測定する(ステップS1602)。特定の仮想サーバは、マイグレーション対象から除外する仮想サーバである。
つぎに、情報処理装置101は、特定の仮想サーバの絶対性能を測定する(ステップS1603)。特定の仮想サーバの絶対性能は、物理サーバPMjにおいて、特定の仮想サーバを唯一起動させ、または、他の仮想サーバを全てアイドル状態にして測定される。そして、情報処理装置101は、測定した特定の仮想サーバの絶対性能に対する、測定した特定の仮想サーバの性能値の割合を算出することにより、特定の仮想サーバの性能劣化率を特定する(ステップS1604)。
つぎに、情報処理装置101は、特定した特定の仮想サーバの性能劣化率を参照して、特定の仮想サーバの性能劣化率が閾値αを超える前の物理サーバPMjの負荷状態に関する第1指標値を算出する(ステップS1605)。そして、情報処理装置101は、算出した第1指標値を、物理サーバPMjの負荷閾値Ljに決定して(ステップS1606)、閾値決定処理を呼び出したステップに戻る。
これにより、物理サーバPMjにこれ以上負荷がかかると、特定の仮想サーバの性能劣化率が閾値αを超えてしまうときの物理サーバPMjの負荷状態をあらわす指標値を、物理サーバPMjの負荷閾値Ljに決定することができる。
以上説明したように、実施の形態にかかる情報処理装置101によれば、物理サーバPMj上で動作する仮想サーバVM1~VMnのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の特定の仮想サーバの性能劣化率を参照して、各仮想サーバVMiに割り当てられた仮想CPUの数と仮想CPUの稼働率とに基づいて、特定の仮想サーバの性能劣化率が閾値αを超える前の物理サーバPMjの負荷状態に関する第1指標値(負荷閾値Lj)を算出することができる。また、情報処理装置101によれば、物理サーバPMj上で特定の仮想サーバを起動中に、物理サーバPMjの負荷状態に関する第2指標値を算出することができる。第2指標値の算出は、物理サーバPMj上で特定の仮想サーバを起動中に随時(例えば、5分間隔)行われる。そして、情報処理装置101によれば、算出した第2指標値が第1指標値を超えた場合に、物理サーバPMj上で動作する仮想サーバVM1~VMnのうち、特定の仮想サーバ以外の仮想サーバVMiに対して他の物理サーバへのマイグレーションを実施することができる。
これにより、特定の仮想サーバが許容できない程度まで性能劣化する前のタイミングで、特定の仮想サーバ以外の仮想サーバを他の物理サーバへマイグレーションして、特定の仮想サーバの性能劣化を抑制することができる。また、物理サーバ間のマイグレーションによる負荷分散により全体最適化を図ることができる。
また、情報処理装置101によれば、物理サーバPMj上の特定の仮想サーバ以外の仮想サーバVMiに対して、マイグレーション先として予め準備された待機サーバSTへのマイグレーションを実施することができる。これにより、マイグレーション先となる物理サーバの選定にかかる処理負荷や処理時間を軽減して、マイグレーションによる負荷分散を円滑に行うことができる。
また、情報処理装置101によれば、物理サーバPMjの稼働率が閾値β未満となった場合、待機サーバST上のいずれかの仮想サーバに対して、物理サーバPMjへのマイグレーションを実施することができる。これにより、例えば、実総仮想CPU数が物理コア数の50%に満たないような物理サーバPMjに対して、待機サーバST上の仮想サーバを移動して稼働率を上げることができる。
また、情報処理装置101によれば、物理サーバPMj上の特定の仮想サーバ以外の仮想サーバVMiに対して、マイグレーション先候補となる物理サーバPM1~PMm(物理サーバPMjは除く)のうち、稼働率が閾値β未満の物理サーバPMkへのマイグレーションを実施することができる。これにより、物理サーバPM1~PMmの物理サーバ間で負荷の平準化を図ることができる。
また、情報処理装置101によれば、物理サーバPMj上で動作する各仮想サーバVMiの過去の稼働状況を参照して、一定時間t経過後の各仮想サーバVMiの稼働率を予測し、予測した一定時間t経過後の各仮想サーバVMiの稼働率に基づいて、一定時間t経過後の物理サーバPMjの負荷状態に関する第3指標値(例えば、実総仮想CPU数)を算出することができる。そして、情報処理装置101によれば、算出した第2指標値が第1指標値(負荷閾値Lj)を超え、かつ、算出した第3指標値が閾値γ(例えば、物理コア数)を超えた場合に、特定の仮想サーバ以外の仮想サーバVMiに対してマイグレーションを実施することができる。
これにより、現在の物理サーバPMjが、これ以上負荷がかかると特定の仮想サーバの性能劣化率が閾値αを超えてしまう状態であり、かつ、一定時間t経過後に負荷が上昇して性能劣化が起こると予測された場合に、マイグレーションを実施することができる。
これらのことから、実施の形態にかかるマイグレーションシステム600によれば、マイグレーションによる負荷分散を行うにあたり、運用者や使用者の都合等に応じて特定の仮想サーバをマイグレーション対象から除外して、特定の仮想サーバの性能劣化を抑制することができる。
なお、本実施の形態で説明したマイグレーション方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本マイグレーション管理プログラムは、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本マイグレーション管理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の前記特定の仮想サーバの性能劣化率を参照して、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記特定の仮想サーバの性能劣化率が閾値を超える前の前記物理サーバの負荷状態に関する第1指標値を算出し、
前記物理サーバ上で前記特定の仮想サーバを起動中に、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記物理サーバの負荷状態に関する第2指標値を算出し、
算出した前記第2指標値が、算出した前記第1指標値を超えた場合に、前記物理サーバ上で動作する仮想サーバのうち、前記特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施する、
処理をコンピュータに実行させることを特徴とするマイグレーション管理プログラム。
(付記2)前記他の物理サーバは、マイグレーション先として予め準備された専用の物理サーバである、ことを特徴とする付記1に記載のマイグレーション管理プログラム。
(付記3)前記物理サーバの稼働率が閾値未満となった場合、前記他の物理サーバ上のいずれかの仮想サーバに対して前記物理サーバへのマイグレーションを実施する、
処理を前記コンピュータに実行させることを特徴とする付記2に記載のマイグレーション管理プログラム。
(付記4)前記他の物理サーバは、マイグレーション先候補となる複数の物理サーバのうち、稼働率が閾値未満の物理サーバである、ことを特徴とする付記1または2に記載のマイグレーション管理プログラム。
(付記5)前記物理サーバ上で動作する各仮想サーバの過去の稼働状況を参照して、一定時間経過後の前記各仮想サーバの稼働率を予測し、
予測した前記一定時間経過後の前記各仮想サーバの稼働率に基づいて、前記一定時間経過後の前記物理サーバの負荷状態に関する第3指標値を算出する、
処理を前記コンピュータに実行させ、
前記マイグレーションを実施する処理は、
算出した前記第2指標値が前記第1指標値を超え、かつ、算出した前記第3指標値が閾値を超えた場合に、前記マイグレーションを実施する、ことを特徴とする付記1~4のいずれか一つに記載のマイグレーション管理プログラム。
(付記6)前記物理サーバは、前記物理サーバ上で動作する仮想サーバに割り当てられた仮想CPUの総数が、前記物理サーバが有する物理コアの数を上回る状態である、ことを特徴とする付記1~5のいずれか一つに記載のマイグレーション管理プログラム。
(付記7)前記特定の仮想サーバの性能劣化率が閾値を超える前の前記物理サーバの負荷状態は、前記特定の仮想サーバ以外の仮想サーバの稼働率を段階的に上昇させた複数の状態のうち、前記特定の仮想サーバの性能劣化率が前記閾値を超える直前の状態における前記物理サーバの負荷状態である、ことを特徴とする付記1~6のいずれか一つに記載のマイグレーション管理プログラム。
(付記8)前記第2指標値を算出する処理は、
前記物理サーバ上で前記特定の仮想サーバを起動中に、前記物理サーバの負荷状態に関する第2指標値を随時算出する、ことを特徴とする付記1~7のいずれか一つに記載のマイグレーション管理プログラム。
(付記9)物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の前記特定の仮想サーバの性能劣化率を参照して、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記特定の仮想サーバの性能劣化率が閾値を超える前の前記物理サーバの負荷状態に関する第1指標値を算出し、
前記物理サーバ上で前記特定の仮想サーバを起動中に、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記物理サーバの負荷状態に関する第2指標値を算出し、
算出した前記第2指標値が、算出した前記第1指標値を超えた場合に、前記物理サーバ上で動作する仮想サーバのうち、前記特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施する、
処理をコンピュータが実行することを特徴とするマイグレーション方法。
(付記10)物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の前記特定の仮想サーバの性能劣化率を参照して、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記特定の仮想サーバの性能劣化率が閾値を超える前の前記物理サーバの負荷状態に関する第1指標値を算出する第1の算出部と、
前記物理サーバ上で前記特定の仮想サーバを起動中に、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記物理サーバの負荷状態に関する第2指標値を算出する第2の算出部と、
前記第2の算出部によって算出された前記第2指標値が、前記第1の算出部によって算出された前記第1指標値を超えた場合に、前記物理サーバ上で動作する仮想サーバのうち、前記特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施するマイグレーション制御部と、
を含むことを特徴とするマイグレーションシステム。
101 情報処理装置
200,400 実験結果
301,302,501,502 グラフ
600 マイグレーションシステム
610 ネットワーク
620 稼働状況DB
630 ホスト情報DB
700 バス
701 CPU
702 メモリ
703 I/F
704 ディスクドライブ
705 ディスク
1001 取得部
1002 第1の算出部
1003 第2の算出部
1004 マイグレーション制御部
1100 負荷閾値テーブル

Claims (5)

  1. 物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の前記特定の仮想サーバの性能劣化率を参照して、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記特定の仮想サーバの性能劣化率が閾値を超える前の前記物理サーバの負荷状態に関する第1指標値を算出し、
    前記物理サーバ上で前記特定の仮想サーバを起動中に、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記物理サーバの負荷状態に関する第2指標値を算出し、
    算出した前記第2指標値が、算出した前記第1指標値を超えた場合に、前記物理サーバ上で動作する仮想サーバのうち、前記特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施する、
    処理をコンピュータに実行させることを特徴とするマイグレーション管理プログラム。
  2. 前記他の物理サーバは、マイグレーション先として予め準備された専用の物理サーバである、ことを特徴とする請求項1に記載のマイグレーション管理プログラム。
  3. 前記物理サーバの稼働率が閾値未満となった場合、前記他の物理サーバ上のいずれかの仮想サーバに対して前記物理サーバへのマイグレーションを実施する、
    処理を前記コンピュータに実行させることを特徴とする請求項2に記載のマイグレーション管理プログラム。
  4. 物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の前記特定の仮想サーバの性能劣化率を参照して、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記特定の仮想サーバの性能劣化率が閾値を超える前の前記物理サーバの負荷状態に関する第1指標値を算出し、
    前記物理サーバ上で前記特定の仮想サーバを起動中に、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記物理サーバの負荷状態に関する第2指標値を算出し、
    算出した前記第2指標値が、算出した前記第1指標値を超えた場合に、前記物理サーバ上で動作する仮想サーバのうち、前記特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施する、
    処理をコンピュータが実行することを特徴とするマイグレーション方法。
  5. 物理サーバ上で動作する仮想サーバのうち、特定の仮想サーバ以外の仮想サーバの稼働率を段階的に変化させた際の前記特定の仮想サーバの性能劣化率を参照して、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記特定の仮想サーバの性能劣化率が閾値を超える前の前記物理サーバの負荷状態に関する第1指標値を算出する第1の算出部と、
    前記物理サーバ上で前記特定の仮想サーバを起動中に、前記物理サーバ上で動作する各仮想サーバに割り当てられた仮想CPUの数と前記仮想CPUの稼働率とに基づいて、前記物理サーバの負荷状態に関する第2指標値を算出する第2の算出部と、
    前記第2の算出部によって算出された前記第2指標値が、前記第1の算出部によって算出された前記第1指標値を超えた場合に、前記物理サーバ上で動作する仮想サーバのうち、前記特定の仮想サーバ以外の仮想サーバに対して他の物理サーバへのマイグレーションを実施するマイグレーション制御部と、
    を含むことを特徴とするマイグレーションシステム。
JP2018127170A 2018-07-03 2018-07-03 マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム Active JP7035858B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018127170A JP7035858B2 (ja) 2018-07-03 2018-07-03 マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム
US16/427,815 US10871986B2 (en) 2018-07-03 2019-05-31 Virtual server migration after performance deterioration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018127170A JP7035858B2 (ja) 2018-07-03 2018-07-03 マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム

Publications (2)

Publication Number Publication Date
JP2020008964A JP2020008964A (ja) 2020-01-16
JP7035858B2 true JP7035858B2 (ja) 2022-03-15

Family

ID=69101519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018127170A Active JP7035858B2 (ja) 2018-07-03 2018-07-03 マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム

Country Status (2)

Country Link
US (1) US10871986B2 (ja)
JP (1) JP7035858B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019061467A (ja) * 2017-09-26 2019-04-18 オムロン株式会社 サポート装置およびサポートプログラム
US11216314B2 (en) * 2018-11-02 2022-01-04 EMC IP Holding Company LLC Dynamic reallocation of resources in accelerator-as-a-service computing environment
JP7456781B2 (ja) * 2020-01-23 2024-03-27 株式会社三共 遊技機
US11630510B2 (en) 2021-06-23 2023-04-18 Huawei Technologies Co., Ltd. System, method and storage medium for 2D on-screen user gaze estimation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016053841A (ja) 2014-09-03 2016-04-14 日本電信電話株式会社 電源状態制御装置およびプログラム
JP2017010358A (ja) 2015-06-24 2017-01-12 富士通株式会社 制御方法、制御プログラム、及び情報処理装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7266823B2 (en) * 2002-02-21 2007-09-04 International Business Machines Corporation Apparatus and method of dynamically repartitioning a computer system in response to partition workloads
US8060610B1 (en) * 2005-10-28 2011-11-15 Hewlett-Packard Development Company, L.P. Multiple server workload management using instant capacity processors
JP5104588B2 (ja) 2007-10-18 2012-12-19 富士通株式会社 マイグレーションプログラム、および仮想マシン管理装置
US8032799B2 (en) * 2008-09-17 2011-10-04 International Business Machines Corporation System and method for managing server performance degradation in a virtual universe
WO2010050249A1 (ja) * 2008-10-30 2010-05-06 株式会社日立製作所 情報処理システムの運用管理装置
EP2439641B1 (en) 2009-06-01 2016-10-12 Fujitsu Limited Server control program, control server, virtual server distribution method
US9027017B2 (en) * 2010-02-22 2015-05-05 Virtustream, Inc. Methods and apparatus for movement of virtual resources within a data center environment
JP5557590B2 (ja) * 2010-05-06 2014-07-23 株式会社日立製作所 負荷分散装置及びシステム
US8543786B2 (en) * 2010-09-29 2013-09-24 Hitachi, Ltd. Computer system and computer system management method for adding an unused real volume to a pool
WO2013019185A1 (en) * 2011-07-29 2013-02-07 Hewlett-Packard Development Company, L.P. Migrating virtual machines
WO2013038547A1 (ja) * 2011-09-15 2013-03-21 富士通株式会社 仮想マシン管理装置、仮想マシン移動制御プログラムおよび仮想マシン移動制御方法
CN103116524A (zh) * 2011-11-16 2013-05-22 鸿富锦精密工业(深圳)有限公司 Cpu使用率调整系统及方法
US9619297B2 (en) * 2012-06-25 2017-04-11 Microsoft Technology Licensing, Llc Process migration in data center networks
US10387201B2 (en) * 2012-06-26 2019-08-20 Vmware, Inc. Storage performance-based virtual machine placement
US8966495B2 (en) * 2012-09-05 2015-02-24 Cisco Technology, Inc. Dynamic virtual machine consolidation
US9858095B2 (en) * 2012-09-17 2018-01-02 International Business Machines Corporation Dynamic virtual machine resizing in a cloud computing infrastructure
JP6079226B2 (ja) * 2012-12-27 2017-02-15 富士通株式会社 情報処理装置、サーバ管理方法およびサーバ管理プログラム
EP2948841A4 (en) * 2013-01-23 2016-09-07 Hewlett Packard Entpr Dev Lp COMPETITION BETWEEN COMMONLY USED RESOURCES
US20150309828A1 (en) * 2014-04-24 2015-10-29 Unisys Corporation Hypervisor manager for virtual machine management
US9626210B2 (en) * 2014-09-11 2017-04-18 Amazon Technologies, Inc. Resource credit pools for replenishing instance resource credit balances of virtual compute instances
US10237201B2 (en) * 2016-05-30 2019-03-19 Dell Products, L.P. Quality of service (QoS) based device for allocating compute workloads to hosts providing storage and network services in software-based data center
US20180113748A1 (en) * 2016-10-21 2018-04-26 Hewlett Packard Enterprise Development Lp Automated configuration of virtual infrastructure
US10148684B2 (en) * 2017-01-27 2018-12-04 Oracle International Corporation Method and system for placing a workload on one of a plurality of hosts
JP6973188B2 (ja) * 2018-03-06 2021-11-24 富士通株式会社 マイグレーションプログラム、マイグレーション方法及びマイグレーションを指示するサーバ
US10552200B2 (en) * 2018-03-22 2020-02-04 Nutanix, Inc. System and method for dynamic throttling for live migration of virtual machines
JP6957431B2 (ja) * 2018-09-27 2021-11-02 株式会社日立製作所 Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム
US10789102B2 (en) * 2019-01-09 2020-09-29 Microsoft Technology Licensing, Llc Resource provisioning in computing systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016053841A (ja) 2014-09-03 2016-04-14 日本電信電話株式会社 電源状態制御装置およびプログラム
JP2017010358A (ja) 2015-06-24 2017-01-12 富士通株式会社 制御方法、制御プログラム、及び情報処理装置

Also Published As

Publication number Publication date
US10871986B2 (en) 2020-12-22
JP2020008964A (ja) 2020-01-16
US20200012516A1 (en) 2020-01-09

Similar Documents

Publication Publication Date Title
JP7035858B2 (ja) マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム
US10055257B2 (en) Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity
RU2605473C2 (ru) Автоматизированное профилирование использования ресурса
US10261842B2 (en) System and method for managing a virtualized computing environment
US9436516B2 (en) Virtual machines management apparatus, virtual machines management method, and computer readable storage medium
US9935865B2 (en) System and method for detecting and preventing service level agreement violation in a virtualized environment
JP5756240B2 (ja) 管理システム及び管理方法
US10469565B2 (en) Management of unreturned system pool resources
US9384031B2 (en) Information processor apparatus, virtual machine management method and virtual machine management program
JP5332065B2 (ja) クラスタ構成管理方法、管理装置及びプログラム
JP6075226B2 (ja) プログラム、仮想マシン管理方法および情報処理装置
US20160156568A1 (en) Computer system and computer resource allocation management method
US9703594B1 (en) Processing of long running processes
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
Hoyer et al. Proactive dynamic resource management in virtualized data centers
JP7159887B2 (ja) 仮想化基盤および仮想化基盤のスケーリング管理方法
JP6620609B2 (ja) 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置
US20220237016A1 (en) Apparatus for determining resource migration schedule
CN112631994A (zh) 数据迁移方法及系统
WO2020261412A1 (ja) 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム
WO2017122263A1 (ja) 管理計算機及び管理方法
JP2014206805A (ja) 制御装置
JP6787032B2 (ja) 制御装置、制御方法、および制御プログラム
Daraghmeh et al. Local regression based box-cox transformations for resource management in cloud networks
WO2023218517A1 (ja) サーバモニタリング装置、サーバモニタリングシステム、サーバモニタリング方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220214

R150 Certificate of patent or registration of utility model

Ref document number: 7035858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150