JP2012118841A - 仮想マシン管理装置、移行先決定方法および移行先決定プログラム - Google Patents

仮想マシン管理装置、移行先決定方法および移行先決定プログラム Download PDF

Info

Publication number
JP2012118841A
JP2012118841A JP2010269077A JP2010269077A JP2012118841A JP 2012118841 A JP2012118841 A JP 2012118841A JP 2010269077 A JP2010269077 A JP 2010269077A JP 2010269077 A JP2010269077 A JP 2010269077A JP 2012118841 A JP2012118841 A JP 2012118841A
Authority
JP
Japan
Prior art keywords
virtual machine
physical server
failure
migration
migration destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010269077A
Other languages
English (en)
Inventor
Feng Zhou
鋒 周
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010269077A priority Critical patent/JP2012118841A/ja
Publication of JP2012118841A publication Critical patent/JP2012118841A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】仮想化環境において仮想マシンの使用目的を好適に達成できるように仮想マシンを移行する。
【解決手段】管理サーバ100は、物理サーバ103に発生した障害の履歴を、例えば物理サーバ障害履歴情報テーブル125、物理サーバ障害発生回数情報テーブル126、仮想マシン稼働履歴情報テーブル127および障害時マシン構成履歴情報テーブル129として記憶し、各物理サーバ103において障害が発生した程度を示す障害率などを、仮想マシン131の使用目的に基づいて算出する。算出の結果、その障害率などで示される障害の程度が最も小さな物理サーバ103に仮想マシン131を移行する。
【選択図】図1

Description

本発明は、物理サーバ上で稼働する仮想マシンの配置先を決定する技術に関する。
データセンタには、多くの物理サーバからなる計算機システムが導入されており、その計算機システムでは仮想化環境が実現されている。各物理サーバ上では、1台以上の仮想マシンが稼働しており、必要に応じてある物理サーバ上で稼働していた仮想マシンは別の物理サーバ上に移行(配置)される。
一般的には、計算機システムを運用すれば、多少なりとも物理サーバにおいて何らかの障害が発生する。前記障害には、例えば、CPU(Central Processing Unit)障害、メモリやディスクの容量オーバ、I/O(Input/Output)エラー、ネットワークや電源の障害などが含まれる。従来では、物理サーバ上で稼働する仮想マシンを、所定の条件を満たすようにして他の物理サーバに移行する技術が知られている(例えば、特許文献1参照)。前記所定の条件には、前記障害に関する条件も含まれる。
特開2010−117760号公報
計算機システムの運用では、一定以上の信頼性を確保するため、稼働率を所定値以上に維持すること、つまり、障害頻度を所定値以下に抑えることが求められる。ただ一般的には、各物理サーバはそれぞれ固有の性能を備えるとともに、各仮想マシンにはそれぞれ固有の使用目的が存在する。そのため、その使用目的を適切に達成できる物理サーバに仮想マシンを移行することが望ましく、そうでないと、障害が多発する可能性が高くなる。例えば、データベースサーバについていえば、ディスクおよびI/Oの性能が重視される。このため、仮想マシンを移行するときは、ディスクの容量オーバやI/Oエラーの無いまたはほとんど無い物理サーバを仮想マシンの移行先として選択することが望ましい。特許文献1をはじめとして、従来技術では、このように仮想マシンの使用目的を考慮して仮想マシンの好適な移行先を決定することはできない。
そこで本発明は、仮想化環境において仮想マシンの使用目的を好適に達成できるように仮想マシンを移行することを課題とする。
前記課題を解決するため、本発明では、物理サーバに発生した障害の履歴を記憶し、各物理サーバにおいて障害が発生した程度を示す障害率などを、仮想マシンの使用目的に基づいて算出する。算出の結果、その障害率などで示される障害の程度が最も小さな物理サーバに仮想マシンを移行する。
詳細は、後記する。
本発明によれば、仮想化環境において仮想マシンの使用目的を好適に達成できるように仮想マシンを移行することができる。
本実施形態の計算機システムのソフトウェアの構成を示す図である。 本実施形態の計算機システムのハードウェアの構成の一例を示す図である。 マシン構成情報テーブル121のデータ構造を示す図である。 物理サーバリソース情報テーブル122のデータ構造を示す図である。 リソース重み付け情報テーブル123のデータ構造を示す図である。 仮想マシン使用目的情報テーブル124のデータ構造を示す図である。 物理サーバ障害履歴情報テーブル125のデータ構造を示す図である。 物理サーバ障害発生回数情報テーブル126のデータ構造を示す図である。 仮想マシン稼働履歴情報テーブル127のデータ構造を示す図である。 障害タイプ一覧テーブル128のデータ構造を示す図である。 障害時マシン構成履歴情報テーブル129のデータ構造を示す図である。 管理サーバ100で実行される処理を示すフローチャートである。 仮想マシン移行先決定処理を示すフローチャートである。 リソース譲渡可能物理サーバ判定処理を示すフローチャートである。 移行先物理サーバ選択ロジックの処理を示すフローチャートである。 移行先物理サーバ選択ロジックの処理を示すフローチャートである。
以下、本発明を実施するための形態(以下、「実施形態」と称する)について、図面を参照して詳細に説明する。
≪構成≫
図1は、本実施形態の計算機システムのソフトウェアの構成を示す図である。この計算機システムは、管理サーバ100および物理サーバ103を備える。物理サーバ103は、1以上存在する。管理サーバ100は、例えば外部の補助記憶部101と接続されるようにして補助記憶部101を備える。管理サーバ100および物理サーバ103はネットワーク102により通信可能に接続されている。
物理サーバ103は、1以上の仮想マシン131、仮想化機構部132およびマシン構成情報提供部133を備える。
仮想マシン131は、物理サーバ103上で稼働する仮想的なコンピュータである。
仮想化機構部132は、物理サーバ103上に仮想マシン131を構成し、稼働させる。仮想化機構部132は、後記するハイパーバイザ(図2参照)に等しい。
マシン構成情報提供部133は、物理サーバ103が備える仮想マシン131の構成情報を管理サーバ100に送信する。構成情報(「マシン構成情報」という場合もある)とは、物理サーバ103が、当該物理サーバ103上で稼働する仮想マシン131と、その仮想マシン131に割り当てたリソースを示す情報、つまりマシン構成を示す情報であるが、詳細は後記する。
管理サーバ100は、ハードウェアとしてのCPU104(制御部)、メモリ105(記憶部)および補助記憶部101(記憶部)を備える。
メモリ105は、ソフトウェアとしてマシン構成情報取得部111、障害監視部112、障害情報管理部113、仮想マシン移行先決定部114および仮想マシン移行実施部115を備える。
マシン構成情報取得部111は、物理サーバ103から、稼働する仮想マシン131に関する物理サーバ103の構成情報を受信する。
障害監視部112は、物理サーバ103を常時監視し、物理サーバ103に障害が発生したか否か、物理サーバ103が障害から回復したか否か、障害の種類などを判定する。
障害情報管理部113は、補助記憶部101が備える各種テーブルを管理する。
仮想マシン移行先決定部114は、障害が発生したため移行することになった仮想マシン131の移行先となる物理サーバ103を決定する。
仮想マシン移行実施部115は、仮想マシン移行先決定部114により移行先と決定した物理サーバ103に仮想マシン131を移行する。
補助記憶部101は、ソフトウェアとしてマシン構成情報テーブル121(図3参照)、物理サーバリソース情報テーブル122(図4参照)、リソース重み付け情報テーブル123(図5参照)、仮想マシン使用目的情報テーブル124(図6参照)、物理サーバ障害履歴情報テーブル125(図7参照)、物理サーバ障害発生回数情報テーブル126(図8参照)、仮想マシン稼働履歴情報テーブル127(図9参照)、障害タイプ一覧テーブル128(図10参照)および障害時マシン構成履歴情報テーブル129(図11参照)を備え、リレーショナルデータベースを形成し、所定の情報を記憶する。各種テーブルの詳細については、後記する。
なお、管理サーバ100および物理サーバ103は、コンピュータとしての入力部、表示部、制御部、記憶部を備える。制御部は、例えばCPUとして実装され、記憶部は、例えばROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)として実装される。
CPU104は、メモリ105の備えるソフトウェアによる機能(移行先決定プログラムによる機能を含む)を実行(演算処理)する。CPU104が、メモリ105の備えるソフトウェアを読み出し、相応の機能を実行することにより、ソフトウェアとハードウェアとの協働が実現される。
図2は、本実施形態の計算機システムのハードウェアの構成の一例を示す図である。本実施形態では、計算機システムは、1台の管理サーバ100と5台の物理サーバA〜E(103)を備えるものとする。
物理サーバAでは、仮想マシン131として「VM1」、「VM2」の2台分が稼働している。
物理サーバBでは、仮想マシン131として「VM3」、「VM4」の2台分が稼働している。
物理サーバCでは、仮想マシン131として「VM5」、「VM6」、「VM7」の3台分が稼働している。
物理サーバDでは、仮想マシン131として「VM8」、「VM9」の2台分が稼働している。
物理サーバEでは、仮想マシン131として「VM10」、「VM11」の2台分が稼働している。
図3は、マシン構成情報テーブル121のデータ構造を示す図である。マシン構成情報テーブル121は、各物理サーバ103上の仮想マシン131と、仮想マシン131が使用するリソースのリソース量を構成情報(物理サーバ103と仮想マシン131との組み合わせ)として管理するテーブルである。マシン構成情報テーブル121は、物理サーバ名301、仮想マシン名302、CPU使用量303、メモリ使用量304およびディスク使用量305といったフィールドを備えている。
物理サーバ名301には、計算機システムの物理サーバ103の名称が格納される。
仮想マシン名302には、計算機システムの仮想マシン131の名称が格納される。
CPU使用量303には、仮想マシン131に割り当てられたCPUの使用量(周波数)(MHz)を示す値が格納される。
メモリ使用量304には、仮想マシン131に割り当てられたメモリの使用量(MB)を示す値が格納される。
ディスク使用量305には、仮想マシン131に割り当てられたディスクの使用量(GB)を示す値が格納される。
マシン構成情報テーブル121は、後記する処理が実行されると自動的に作成または更新される。
図4は、物理サーバリソース情報テーブル122のデータ構造を示す図である。物理サーバリソース情報テーブル122は、物理サーバ103が持っている各リソースのリソース量をリソース情報として管理するテーブルである。物理サーバリソース情報テーブル122は、物理サーバ名401、CPU402、メモリ403およびディスク404といったフィールドを備えている。
物理サーバ名401は、物理サーバ名301(図3参照)に等しい。
CPU402には、物理サーバ103が持つCPUの使用量(周波数)(MHz)を示す値が格納される。
メモリ403には、物理サーバ103が持つメモリの使用量(MB)を示す値が格納される。
ディスク404には、物理サーバ103が持つディスクの使用量(GB)を示す値が格納される。
物理サーバリソース情報テーブル122は、後記する処理が実行されると自動的に作成または更新される。
図5は、リソース重み付け情報テーブル123のデータ構造を示す図である。リソース重み付け情報テーブル123は、仮想マシン131の使用目的ごとに、障害率希望値、各リソースの優先度を示す数値(初期値)を管理するテーブルである。リソース重み付け情報テーブル123は、使用目的501、障害率希望値502、CPU優先度503、メモリ優先度504、I/O優先度505、ハードディスク優先度506、ネットワーク優先度507および電源優先度508といったフィールドを備えている。
使用目的501には、物理サーバ103の用途を表すサーバの名称が格納される。例えば、「DBサーバ」と格納されれば、物理サーバ103をデータベースサーバとして使用することを意味する。
障害率希望値502には、物理サーバ103を使用目的501に示されたサーバとして使用する場合に、例えばシステム管理者が発生してもよいと定めた障害の障害率の上限値(使用目的に応じた障害に関する閾値)である。「障害率」とは、一般的には、物理サーバ103のある運用期間と、その期間内に障害が存在していた期間(障害時間)との比で示されるが、本発明では、この比をCPU優先度などの優先度で重み付けしたときの障害率を算出する。その障害率および重み付けについては後記する。
CPU優先度503には、リソースとしてのCPUに対して設定した重み付け用の値が格納される。
メモリ優先度504には、リソースとしてのメモリに対して設定した重み付け用の値が格納される。
I/O優先度505には、リソースとしてのI/Oに対して設定した重み付け用の値が格納される。
ハードディスク優先度506には、リソースとしてのハードディスク(ディスク)に対して設定した重み付け用の値が格納される。
ネットワーク優先度507には、リソースとしてのネットワークに対して設定した重み付け用の値が格納される。
電源優先度508には、リソースとしての電源に対して設定した重み付け用の値が格納される。
リソース重み付け情報テーブル123に格納される値は、システム管理者が例えば管理サーバ100の入力部から入力する値である。システム管理者はこれらの値を追加、変更、削除などする権限を有する。一般的に、CPU優先度503、メモリ優先度504、I/O優先度505、ハードディスク優先度506、ネットワーク優先度507および電源優先度508に格納される値は、使用目的501に示されたサーバの使用目的を達成するための仮想マシンに関するリソース(CPU、メモリ、I/O、ハードディスク、ネットワーク、電源)が重要であるほど大きな値となる。
リソース重み付け情報テーブル123により管理されるデータは、後記する仮想マシン使用目的情報テーブル124の対応する箇所に自動的にマッピングされる。
図6は、仮想マシン使用目的情報テーブル124のデータ構造を示す図である。仮想マシン使用目的情報テーブル124は、仮想マシンごとに設定した使用目的、障害率希望値、各リソースの優先度を示す数値を管理するテーブルである。仮想マシン使用目的情報テーブル124は、仮想マシン名601、使用目的602、障害率希望値603、CPU優先度604、メモリ優先度605、I/O優先度606、ハードディスク優先度607、ネットワーク優先度608および電源優先度609といったフィールドを備えている。
仮想マシン名601は、仮想マシン名302(図3参照)に等しい。
使用目的602、障害率希望値603、CPU優先度604、メモリ優先度605、I/O優先度606、ハードディスク優先度607、ネットワーク優先度608および電源優先度609はそれぞれ、使用目的501、障害率希望値502、CPU優先度503、メモリ優先度504、I/O優先度505、ハードディスク優先度506、ネットワーク優先度507および電源優先度508(図5参照)に等しい。
仮想マシン使用目的情報テーブル124に格納される値は、仮想マシン131の使用目的が設定されれば、リソース重み付け情報テーブル123を用いて自動的に作成される。システム管理者が例えば管理サーバ100の入力部からの入力により、これらの値を追加、変更、削除などすることも可能である。
図7は、物理サーバ障害履歴情報テーブル125のデータ構造を示す図である。物理サーバ障害履歴情報テーブル125は、各物理サーバ103に発生した障害を障害履歴情報として管理するテーブルである。物理サーバ障害履歴情報テーブル125は、物理サーバ名701、運用開始日時702、障害発生日時703、障害回復日時704、障害時間705および障害タイプ706といったフィールドを備えている。
物理サーバ名701には、障害が発生した物理サーバ103の名称が格納される。
運用開始日時702には、物理サーバ103の運用の開始時刻を示す値が格納される。例えば、「200901010000」は、2009年1月1日0時0分を意味する。この値により、当該物理サーバの運用時間が求められる。
障害発生日時703には、障害が発生した時刻を示す値が格納される。
障害回復日時704には、障害から回復した時刻を示す値が格納される。
障害時間705には、障害が存在していた時間を示す値(単位:分(m))が格納される。この時間は、障害発生日時703に格納されている値が示す時刻から障害回復日時704に格納されている値が示す時刻までの時間に等しい。
障害タイプ706には、障害の種別(障害タイプ)を示す値、つまり障害タイプコード(仮想マシンに関するリソースにより分類される障害の種類)が登録される。障害タイプコードについては後記する。
物理サーバ障害履歴情報テーブル125は、後記する処理が実行されると自動的に作成または更新される。
図8は、物理サーバ障害発生回数情報テーブル126のデータ構造を示す図である。物理サーバ障害発生回数情報テーブル126は、物理サーバ103において、各種別の障害が発生した回数を管理するテーブルである。物理サーバ障害発生回数情報テーブル126は、物理サーバ名801、障害タイプ802および発生回数803といったフィールドを備えている。
物理サーバ名801および障害タイプ802は、物理サーバ名701および障害タイプ706(図7参照)に等しい。
発生回数803には、当該障害タイプコードの障害が発生した回数を示す値(物理サーバ用発生回数)が格納される。
物理サーバ障害発生回数情報テーブル126は、後記する処理が実行されると自動的に作成または更新される。
図9は、仮想マシン稼働履歴情報テーブル127のデータ構造を示す図である。仮想マシン稼働履歴情報テーブル127は、仮想マシン131が各物理サーバ103上で稼働したときの稼働回数と、障害タイプごとの障害の発生回数を管理するテーブルである。仮想マシン稼働履歴情報テーブル127は、仮想マシン名901、物理サーバ名902、稼働回数903、障害タイプ904および発生回数905といったフィールドを備えている。
仮想マシン名901には、障害が発生した仮想マシン131の名称が格納される。なお、仮想マシン131に発生した障害とは、当該仮想マシン131が稼働する物理サーバ103に発生した障害を意味する。したがって、基本的には、障害は物理サーバ103に発生するものとして説明を続ける。
物理サーバ名902は、当該仮想マシン131が稼働する物理サーバ103の名称が格納される。
稼働回数903には、当該仮想マシン131が当該物理サーバ103上で稼働した回数を示す値が格納される。なお、この回数、つまり稼働回数は、仮想マシン131が該当物理サーバ103上に配置されてから退避や別の物理サーバ103へ移行するまでの状態を、1回の稼働として計数する。また、障害発生による運用停止後に、再び同じ障害から回復した物理サーバ103上に稼働する状態を、2回の稼働として計数する。
障害タイプ904には、当該仮想マシン131に発生した障害の種別が登録される。
発生回数905には、当該仮想マシン131において、当該障害タイプコードの障害が発生した回数を示す値(仮想マシン用発生回数)が登録される。
仮想マシン稼働履歴情報テーブル127は、後記する処理が実行されると自動的に作成または更新される。
図10は、障害タイプ一覧テーブル128のデータ構造を示す図である。障害タイプ一覧テーブル128は、障害タイプと障害内容との関連を管理するテーブルである。前記した障害タイプコードとは、この障害内容を識別するコードである。障害タイプ一覧テーブル128は、障害タイプ1001、障害内容1002および障害確定リトライ時間1003といったフィールドを備えている。
障害タイプ1001には、障害タイプコードが格納される。
障害内容1002には、障害の詳細を示すデータが格納され、例えばその障害が発生したリソースの名称が格納される。必要に応じて障害の特徴を示す他の値を格納するようにしてもよい。
なお、障害内容1002に格納されたリソースの名称は、仮想マシン使用目的情報テーブル124のフィールドにおいて優先度を定めた仮想マシンに関するリソースの名称(図6の符号604〜609参照)に対応する。つまり、障害内容1002の「電源」は、電源優先度609に対応する。障害内容1002の「ネットワーク」は、ネットワーク優先度608に対応する。障害内容1002の「メモリ」は、メモリ優先度605に対応する。障害内容1002の「CPU」は、CPU優先度604に対応する。障害内容1002の「I/O」は、I/O優先度606に対応する。障害内容1002の「ハードディスク」は、ハードディスク優先度607に対応する。よって、物理サーバ障害発生回数情報テーブル126を参照して、物理サーバ103における障害発生回数を算出するときは、上記した対応の関係を用いることで、仮想マシンに関するリソースの優先度を用いた重み付けを施した障害発生回数を算出することができる(後記する図15Aのステップ1512の説明参照)。
障害確定リトライ時間1003には、障害監視部112により障害を検知した後に、障害として確定するまでの時間(単位:分(m))を示す値が格納される。この時間は、障害から回復するための複数回の復旧手順に要するリトライ時間である。障害確定リトライ時間が経過しても障害から回復できない場合は、障害が発生したものとみなす。
障害タイプ一覧テーブル128に格納される値は、システム管理者が例えば管理サーバ100の入力部から入力する値である。システム管理者はこれらの値を追加、変更、削除などする権限を有する。
図11は、障害時マシン構成履歴情報テーブル129のデータ構造を示す図である。障害時マシン構成履歴情報テーブル129は、障害発生時の仮想マシン131と物理サーバ103との組み合わせを管理するテーブルである。障害時マシン構成履歴情報テーブル129は、物理サーバ名1101、仮想マシン構成1102および障害回数1103といったフィールドを備えている。
物理サーバ名1101は、物理サーバ名701(図7参照)に等しい。
仮想マシン構成1102には、障害発生時の物理サーバ103上に稼働していた仮想マシン131の構成情報が格納される。障害時マシン構成履歴情報テーブル129の1番目のレコードを例にとると、物理サーバAに障害が発生した時点で、物理サーバA上を稼働していた仮想マシン131は、VM1およびVM2の2台である。このとき、仮想マシン構成1102には、「[VM1]+[VM2]」と表記する。
障害回数1103には、物理サーバ名1101で示される物理サーバ103と、仮想マシン構成1102で示される仮想マシン131との組み合わせにおいて発生した障害の回数を示す値が格納される。この値、つまり障害回数は、物理サーバ障害履歴情報テーブル125(図7参照)により特定される各物理サーバ103の運用期間内に発生した障害の累積回数である。
障害時マシン構成履歴情報テーブル129は、後記する処理が実行されると自動的に作成または更新される。
≪処理≫
次に、図12から図15までを参照して、本実施形態で実行される処理について説明する。なお、図15は、図15Aおよび図15Bの総称である。
図12は、管理サーバ100で実行される処理を示すフローチャートである。この処理の主体は、CPU104である。なお、図12から図15までに示す処理は、物理サーバAの障害が発生し、その発生日時は、2010年2月1日0時0分(201002010000)であるとした場合を例として説明する。また、前記例の説明は、基本的には、図3から図11までに示した各種テーブルに示された値に従う。図12の処理を開始すると、ステップ1201に進む。
ステップ1201において、CPU104は、障害監視部112により物理サーバ103(またはその物理サーバ103で稼働する仮想マシン131)に障害が存在しているか否かを常時監視する。ステップ1201の後、ステップ1202に進む。
ステップ1202において、CPU104は、監視の対象となる物理サーバ103について障害が発生したか否か判定する。発生したのであれば(ステップ1202でYes)、ステップ1203に進み、発生していないのであれば(ステップ1202でNo)、当該物理サーバ103において元々障害が発生していない状態であるか、障害が存在していたがその障害から回復した状態であるかを意味しており、ステップ1212に進む。
本例では、物理サーバAについては、障害が発生したことが(この段階では暫定的に)検出され、ステップ1203に進む。
ステップ1203において、CPU104は、監視の対象となる物理サーバ103において、障害確定リトライ時間を経過しても依然として障害から回復できないか否か判定する。回復できないのであれば(ステップ1203でYes)、障害であると確定し、ステップ1204に進み、回復できたのであれば(ステップ1203でNo)、障害は無かったとみなし、ステップ1201に戻る。なお、確定した障害につき、その障害の障害タイプが特定される。
本例では、物理サーバAについては、障害が発生したことを確定し、ステップ1204に進む。
ステップ1204において、CPU104は、マシン構成情報取得部111により、対象となる物理サーバ103に対し、その構成情報を要求し、その物理サーバ103の構成情報を取得する。なお、物理サーバ103は、マシン構成情報提供部133により、自身の構成情報を管理サーバ100に送信する。ステップ1204の後、ステップ1205に進む。
本例では、物理サーバA〜Eから、物理サーバA〜Eの構成情報を取得する。物理サーバAの構成情報は、物理サーバAで稼働する仮想マシンは「VM1」と「VM2」である(図2参照)。
ステップ1205において、CPU104は、物理サーバ103から取得した構成情報を用いてマシン構成情報テーブル121を更新する。ステップ1205の後、ステップ1206に進む。
本例では、物理サーバA〜Eについてマシン構成情報テーブル121を更新する(図3参照)。
ステップ1206において、CPU104は、障害時マシン構成履歴情報テーブル129を更新する。ステップ1206の後、ステップ1207に進む。
本例では、物理サーバAについて障害時マシン構成履歴情報テーブル129を更新する(図11参照)。
ステップ1207において、CPU104は、発生した障害について障害履歴情報を作成し、その障害履歴情報を用いて物理サーバ障害履歴情報テーブル125を更新する。具体的には、対象となる物理サーバ103のレコードについて、障害発生日時703および障害タイプ706に相応の値を格納する。ステップ1207の後、ステップ1208に進む。
本例では、物理サーバAに発生した障害について物理サーバ障害履歴情報テーブル125を更新する(図7参照)。
ステップ1208において、CPU104は、物理サーバ障害発生回数情報テーブル126を更新する。ステップ1208の後、ステップ1209に進む。
本例では、物理サーバAに発生した障害について物理サーバ障害発生回数情報テーブル126を更新する(図8参照)。
ステップ1209において、CPU104は、仮想マシン稼働履歴情報テーブル127を更新する。ステップ1209の後、ステップ1210に進む。
本例では、物理サーバA上で稼働する仮想マシン「VM1」と「VM2」について、仮想マシン稼働履歴情報テーブル127を更新する(図9参照)。
ステップ1210において、CPU104は、仮想マシン移行先決定処理を実行する。仮想マシン移行先決定処理については、図13で説明する。仮想マシン移行先決定処理を実行すると、障害が発生した物理サーバ103上で稼働する仮想マシン131の移行先となる物理サーバ103が決定する。ステップ1210の後、ステップ1211に進む。
本例では、物理サーバA上で稼働する仮想マシン「VM1」と「VM2」の移行先が決定する。
ステップ1211において、CPU104は、仮想マシンの移行(マイグレーション)を実行する。なお、障害タイプにより移行が不可能な場合は、移行する仮想マシンと同じ性能を持つ仮想マシンを、移行先となる物理サーバ上に生成する。ステップ1211の処理を実行することで、処理全体を終了する。
ステップ1212において、CPU104は、監視の対象となる物理サーバ103について障害から回復したか否か判定する。回復したのであれば(ステップ1212でYes)、ステップ1213に進み、回復していないのであれば(ステップ1212でNo)、当該物理サーバ103において元々障害が発生していない状態であることを意味しており、ステップ1201に戻る。
本例では、障害が発生していた物理サーバAがその障害から回復すれば、障害監視部112によりその回復が検出され、ステップ1213に進む。
ステップ1213において、CPU104は、マシン構成情報取得部111により、対象となる物理サーバ103に対し、その構成情報を要求し、その物理サーバ103の構成情報を取得する。なお、物理サーバ103は、マシン構成情報提供部133により、自身の構成情報を管理サーバ100に送信する。ステップ1213の後、ステップ1214に進む。
本例では、障害から回復した後に、物理サーバA〜Eから、物理サーバA〜Eの構成情報を取得する。
ステップ1214において、CPU104は、物理サーバ103から取得した構成情報を用いてマシン構成情報テーブル121を更新する。ステップ1214の後、ステップ1215に進む。
本例では、物理サーバA〜Eについてマシン構成情報テーブル121を更新する(図3参照)。
ステップ1215において、CPU104は、物理サーバリソース情報テーブル122を更新する。ステップ1215の後、ステップ1216に進む。
本例では、物理サーバA〜Eについて物理サーバリソース情報テーブル122を更新する(図4参照)。
ステップ1216において、CPU104は、発生した障害について障害履歴情報を作成し、その障害履歴情報を用いて物理サーバ障害履歴情報テーブル125を更新する。具体的には、対象となる物理サーバ103のレコードについて、障害回復日時704および障害時間705に相応の値を格納する。ステップ1216の処理を実行することで、処理全体を終了する。
本例では、物理サーバAにおける障害からの回復について物理サーバ障害履歴情報テーブル125を更新する(図7参照)。
以上により、管理サーバ100で実行される処理の説明を終える。
図13は、仮想マシン移行先決定処理を示すフローチャートである。この処理は、ステップ1210(図12参照)の詳細を示している。図13の処理を開始すると、ステップ1301に進む。
ステップ1301において、CPU104は、仮想マシン使用目的情報テーブル124を参照し、移行する仮想マシン131において、障害率希望値の低いものから昇順で移行対象を決め、仮想マシン131ごとに、ステップ1302以降の処理を実行する。なお、移行対象となる仮想マシンを「移行仮想マシン」と称する場合がある。ステップ1301の後、ステップ1302に進む。
本例では、「VM1」の障害率希望値は1%であり、「VM2」の障害率希望値は10%であるため(図6参照)、まず、障害率希望値の低い「VM1」を移行対象とする。
ステップ1302において、CPU104は、仮想マシン使用目的情報テーブル124および物理サーバ障害履歴情報テーブル125を参照し、移行仮想マシンに用いられるリソースの優先度(図6の符号604〜609参照)で重み付けを施し、各物理サーバ103(基本的に、移行元の物理サーバ103は除く)の障害率を算出する。ステップ1302の後、ステップ1303に進む。このような障害率(重み付けの物理サーバ障害率)は、以下の式により算出される。
Figure 2012118841
本例では、移行仮想マシン「VM1」において、「VM1」に用いられるリソースの優先度で重み付けを施したときの各物理サーバの障害率は、以下の通りである。

物理サーバB:6×100%×[(720+720)/786240×50/100] = 0.55%
物理サーバC:6×100%×[720/786240×30/100 + 720/786240×0/100] = 0.17%
物理サーバD:6×100%×[(720+720)/786240×10/100 + 720/786240×0/100 + 2880/786240×50/100] = 1.21%
物理サーバE:6×100%×[(720+720)/786240×10/100 + 720/786240×0/100 + 2880/786240×50/100] = 1.21%
ステップ1303において、CPU104は、移行仮想マシンの障害率希望値を満たせる物理サーバを検索する。ステップ1303の後、ステップ1304に進む。
ステップ1304において、CPU104は、ステップ1303の検索により、該当する物理サーバが存在するか否か判定する。存在する場合は(ステップ1304でYes)、ステップ1305に進み、存在しない場合は(ステップ1304でNo)、当該移行仮想マシンについては、処理全体が終了し、次に障害率希望値の低い移行仮想マシンについて、ステップ1302以降の処理を実行する。
本例では、移行仮想マシン「VM1」の障害率希望値(1%)を満たせる、つまり下回る物理サーバ103として、物理サーバBおよび物理サーバCが存在するので、ステップ1305に進む。なお、移行仮想マシンの移行先の候補となりうる物理サーバを「移行先候補物理サーバ」と称する場合がある。
ステップ1305において、CPU104は、マシン構成情報テーブル121および物理サーバリソース情報テーブル122を参照し、ステップ1303の検索により該当した物理サーバに十分な空きリソースがあるか確認する。ステップ1305の後、ステップ1307に進む。ステップ1305では、マシン構成情報テーブル121から移行仮想マシンの必要なリソース量と、移行先候補物理サーバ上で稼働する1以上の仮想マシン131のリソース量とを取得し、物理サーバリソース情報テーブル122から移行先候補物理サーバのリソース量(物理サーバリソース量)を取得し、以下の式により十分な空きリソースがあるか確認する。
Figure 2012118841
ステップ1307において、CPU104は、ステップ1303の検索により該当した物理サーバに十分な空きリソースがあるか存在するか否か判定する。存在する場合は(ステップ1307でYes)、ステップ1311に進み、存在しない場合は(ステップ1307でNo)、ステップ1308に進む。
本例では、移行先の候補となりうる物理サーバBおよび物理サーバCともに、十分な空きリソースが存在しないので、いずれについてもステップ1308に進む。
ステップ1308において、CPU104は、リソース譲渡可能物理サーバ判定処理を実行する。リソース譲渡可能物理サーバ判定処理については、図14で説明する。リソース譲渡可能物理サーバ判定処理を実行すると、前記移行先候補物理サーバのうち、そこで稼働する仮想マシン131を他の物理サーバ103に移行する、つまりリソースを譲渡することで十分な空きリソースを確保し、移行仮想マシンの移行先となりうるものが存在するか否か確認することができる。ステップ1308の後、ステップ1309に進む。
ステップ1309において、CPU104は、ステップ1308のリソース譲渡可能物理サーバ判定処理により該当する物理サーバが存在するか否か判定する。存在する場合は(ステップ1309でYes)、ステップ1311に進み、存在しない場合は(ステップ1309でNo)、当該移行仮想マシンについては、処理全体が終了し、次に障害率希望値の低い移行仮想マシンについて、ステップ1302以降の処理を実行する。
詳細は後記するが、本例では、物理サーバBおよび物理サーバCともに、リソースを譲渡できる仮想マシンが存在するので、いずれについてもステップ1311に進む。なお、ステップ1308によりリソースを譲渡できる物理サーバを「リソース譲渡可能物理サーバ」と称する場合がある。
ステップ1311において、CPU104は、移行先物理サーバ選択ロジックの処理を実行する。移行先物理サーバ選択ロジックの処理については、図15で説明する。移行先物理サーバ選択ロジックの処理を実行すると、前記移行先候補物理サーバ(リソース譲渡可能物理サーバを含む)のうち、最も相応しいものが移行仮想マシンの移行先として決定する。ステップ1311の処理を実行することで、当該移行仮想マシンについては、処理全体を終了し、次に障害率希望値の低い移行仮想マシンについて、ステップ1302以降の処理を実行する。
詳細は後記するが、本例では、移行仮想マシン「VM1」について、リソース譲渡可能物理サーバとなる物理サーバBおよび物理サーバCのうち物理サーバCが「VM1」の移行先となる。ちなみに、物理サーバC上を稼働していた仮想マシン「VM5」「VM6」「VM7」(図3参照)のうち「VM7」が物理サーバEに移行する。
移行仮想マシン「VM1」について、仮想マシン移行先決定処理を終了した後は、移行仮想マシン「VM2」について、仮想マシン移行先決定処理を実行する。移行仮想マシン「VM2」は、その障害率希望値(10%。図6参照。)を参照すると、ステップ1304において、すべての物理サーバ(Aを除くB〜E)が該当する。そのうちステップ1307において、十分な空きリソースがある物理サーバは、物理サーバDおよび物理サーバEである。そして、ステップ1311の移行先物理サーバ選択ロジックの処理により、物理サーバEが「VM2」の移行先となる。
以上により、仮想マシン移行先決定処理の説明を終える。
図14は、リソース譲渡可能物理サーバ判定処理を示すフローチャートである。この処理は、ステップ1308(図13参照)の詳細を示している。障害率希望値を満たせるが空きリソースが足りない物理サーバ103(移行先候補物理サーバ)において、そこで稼働する仮想マシン131のうち移行しても差し支えないものを、障害の発生が無いまたはほとんど無いと見込まれる他の物理サーバ上に移行することで、移行仮想マシンのためにリソースを空けるようにする。図14の処理を開始すると、ステップ1401に進む。
ステップ1401において、CPU104は、ステップ1303(図13参照)において検索された移行仮想マシンの障害率希望値を満たせる物理サーバ103において、移行仮想マシンに対する障害率の低いものから昇順で対象を決め、物理サーバ103ごとに、ステップ1402以降の処理を実行する。ステップ1401の後、ステップ1402に進む。
本例では、移行仮想マシン「VM1」の障害率希望値(1%)を満たせる物理サーバBおよび物理サーバCにおいて、まず、「VM1」に対する障害率(重み付けの物理サーバ障害率)がより低い物理サーバCを対象とする。
ステップ1402において、CPU104は、仮想マシン使用目的情報テーブル124を参照し、ステップ1401にて対象と決めた物理サーバ103上で稼働する仮想マシン131のうち、その仮想マシン131の障害率希望値が、移行仮想マシンのそれよりも高いものを検索する。ステップ1402の後、ステップ1403に進む。
ステップ1403において、CPU104は、ステップ1402の検索により、該当する仮想マシンが存在するか否か判定する。存在する場合は(ステップ1403でYes)、ステップ1404に進み、存在しない場合は(ステップ1403でNo)、当該物理サーバについては、処理全体が終了し、次に障害率の低い物理サーバ103について、ステップ1402以降の処理を実行する。
本例では、物理サーバC上で稼働する仮想マシン「VM5」「VM6」「VM7」(図3参照)のうち移行仮想マシン「VM1」の障害率希望値(1%)よりも高い障害率希望値を持つ仮想マシンは、「VM7」(10%。図6参照。)であるので、ステップ1404に進む。なお、リソースを譲渡する候補となりうる仮想マシンを「譲渡候補仮想マシン」と称する場合がある。
ステップ1404において、CPU104は、マシン構成情報テーブル121および物理サーバリソース情報テーブル122を参照し、譲渡候補仮想マシンによるリソースの譲渡により、ステップ1401にて対象と決めた物理サーバ103に十分な空きリソースが存在することになるか否か確認する。ステップ1404の後、ステップ1405に進む。ステップ1404では、マシン構成情報テーブル121から移行仮想マシン(具体的には「VM1」)の必要なリソース量と、ステップ1401にて対象と決めた物理サーバ103(具体的には「物理サーバC」)を取得するとともに、物理サーバリソース情報テーブル122からステップ1401にて対象と決めた物理サーバ103のリソース量(物理サーバリソース量)を取得し、以下の式により、十分な空きリソースがあるか確認する。
Figure 2012118841
ステップ1405において、CPU104は、ステップ1402の検索により該当した仮想マシンによるリソースの譲渡により、ステップ1401にて対象と決めた物理サーバ103に十分な空きリソースが存在するか否か判定する。存在する場合は(ステップ1405でYes)、ステップ1406に進み、存在しない場合は(ステップ1405でNo)、当該物理サーバについては、処理全体が終了し、次に障害率の低い物理サーバ103について、ステップ1402以降の処理を実行する。
本例では、譲渡候補仮想マシンである、物理サーバC上で稼働する「VM7」を他の物理サーバ103に移行し、そのリソースを譲渡すると、物理サーバCにおいて、移行仮想マシン「VM1」の移行に十分な空きリソースが存在するので、ステップ1406に進む。
ステップ1406において、CPU104は、譲渡候補仮想マシンに対して、ステップ1210の仮想マシン移行先決定処理(図12参照)を再帰的に実行する。この仮想マシン移行先決定処理を実行すると、十分な空きリソースを確保するためにリソースが譲渡されることになる譲渡候補仮想マシンの移行先となる物理サーバ103が決定する。ステップ1406の後、ステップ1407に進む。
詳細は省略するが、本例では、譲渡候補仮想マシン「VM7」の移行先は、物理サーバDになる。
ステップ1407において、CPU104は、ステップ1401にて対象と決めた物理サーバ103を移行仮想マシンの移行先候補とする。ステップ1407の処理を実行することで、当該物理サーバについては、処理全体が終了し、次に障害率の低い物理サーバについて、ステップ1402以降の処理を実行する。
本例では、物理サーバCが、移行仮想マシン「VM1」の移行先候補物理サーバとなる。
物理サーバCについてリソース譲渡可能物理サーバ判定処理を終了した後は、物理サーバBについて、リソース譲渡可能物理サーバ判定処理を実行し、移行仮想マシン「VM1」の移行先候補物理サーバとなるか否か判定する。詳細な説明は省略するが、物理サーバBも、移行仮想マシン「VM1」の移行先候補物理サーバとなる。その際、物理サーバBにおける譲渡候補仮想マシンは「VM4」(図3参照)であり、ステップ1406による譲渡候補仮想マシン「VM4」の移行先は、物理サーバDとなる。
以上により、リソース譲渡可能物理サーバ判定処理の説明を終える。
図15(図15A、図15B)は、移行先物理サーバ選択ロジックの処理を示すフローチャートである。この処理は、ステップ1311(図13参照)の詳細を示している。移行先物理サーバ選択ロジックの処理を実行すると、移行先候補物理サーバとして決定した物理サーバ103のうち、最も相応しいものが移行仮想マシンの移行先として選択される。図15の処理を開始すると、ステップ1501に進む。
ステップ1501において、CPU104は、移行後のマシン構成における過去の障害状況を検索する。その際、障害時マシン構成履歴情報テーブル129を参照し、移行後のマシン構成の障害回数(図11の符号1103参照)を用いる。ステップ1501の処理は、過去に1台の物理サーバ103上に、移行後のマシン構成と同じマシンの構成で障害が発生したことがあるのであれば、再び障害が発生する可能性が高い、という考えに基づいている。このため、そのようなマシン構成は避け、障害の無い、または最も障害回数の少ないマシン構成を選択する。ステップ1501の後、ステップ1502に進む。
ステップ1502において、CPU104は、ステップ1501の検索により、過去に移行後のマシン構成で、障害の無いマシン構成となる物理サーバ103が存在するか否か判定する。存在する場合は(ステップ1502でYes)、ステップ1508に進み、存在しない場合は(ステップ1502でNo)、すべての物理サーバ103において、移行後の構成で障害が発生したことがあることを意味し、ステップ1503に進む。
本例では、図11を参照すると、移行仮想マシン「VM1」を移行する場合は、移行先が物理サーバBであれ、物理サーバCであれ、移行後のマシン構成は、過去に障害の無いマシン構成となる。また、移行仮想マシン「VM2」を移行する場合は、移行先が物理サーバDであるときは、移行後のマシン構成は、過去に障害の無いマシン構成となる。一方、移行先が物理サーバDであるときは、移行後のマシン構成は、[VM2]+[VM10]+[VM11]となり、過去に1度障害が発生したマシン構成となる。よって、移行仮想マシン「VM1」であれ、「VM2」であれ、障害の無いマシン構成となる物理サーバ103が存在することになるため、ステップ1508に進む。
ステップ1503において、CPU104は、障害時マシン構成履歴情報テーブル129移行後のマシン構成で、過去に一番障害の少なかった物理サーバを103検索する。ステップ1503の後、ステップ1504に進む。
ステップ1504において、CPU104は、ステップ1503の検索により、過去に一番障害の少なかった物理サーバ103が1台のみであるか否か判定する。1台のみであれば(ステップ1504でYes)、ステップ1505に進み、1台のみでない場合は(ステップ1504でNo)、2台以上存在することを意味し、ステップ1507に進む。
ステップ1505において、CPU104は、一番障害の少なかった唯一の物理サーバ103を移行仮想マシンの移行先として決定し、処理全体が終了する。なお、移行仮想マシンの移行先が決定した物理サーバを「移行先物理サーバ」と称する場合がある。
ステップ1507において、CPU104は、2台以上存在する、過去に一番障害の少なかった物理サーバ103を移行先候補とする。ステップ1507の後、ステップ1512に進む。
ステップ1508において、CPU104は、過去に移行後のマシン構成で、障害が発生したことの無いマシン構成となる物理サーバ103を移行先候補物理サーバとする。ステップ1508の後、ステップ1509に進む。
本例では、移行仮想マシン「VM1」については、物理サーバBおよび物理サーバCを移行先候補物理サーバとする。また、移行仮想マシン「VM2」については、物理サーバDを移行先候補物理サーバとする。
ステップ1509において、CPU104は、ステップ1508において移行先候補物理サーバとした物理サーバ103が1台のみであるか否か判定する。1台のみであれば(ステップ1509でYes)、ステップ1510に進み、1台のみでない場合は(ステップ1509でNo)、2台以上存在することを意味し、ステップ1512に進む。
ステップ1510において、CPU104は、過去に移行後のマシン構成で、障害が発生したことの無いマシン構成となる唯一の物理サーバ103を移行仮想マシンの移行先として決定し、処理全体が終了する。
本例では、移行仮想マシン「VM1」については、移行先候補物理サーバとして物理サーバBおよび物理サーバCの2台が存在しているので、ステップ1512に進む。また、移行仮想マシン「VM2」については、移行先候補物理サーバとして物理サーバDの1台のみ存在しているので、ステップ1510に進み、物理サーバDを移行先物理サーバとして決定する。
ステップ1512において、CPU104は、仮想マシン使用目的情報テーブル124および物理サーバ障害発生回数情報テーブル126などを参照し、移行仮想マシンの各リソースの優先度(図6の符号604〜609参照)で重み付けをするようにして、移行先候補となる物理サーバ103の障害発生回数を算出し、障害発生回数が0の物理サーバ103を検索する。ステップ1512の後、ステップ1513に進む。このような障害発生回数(重み付けの物理サーバ障害発生回数)は、以下の式により算出される。
Figure 2012118841
本例では、移行仮想マシン「VM1」の場合の計算結果は、以下の通りである。

物理サーバB:6×[2×50/100] = 6
物理サーバC:6×[1×0/100 + 1×30/100] = 1.8
ステップ1513において、CPU104は、ステップ1512の検索により、重み付けの障害発生回数が0の物理サーバ103が存在するか否か判定する。存在する場合は(ステップ1513でYes)、ステップ1519に進み、存在しない場合は(ステップ1513でNo)、ステップ1514に進む。
本例では、前記計算結果によれば、移行仮想マシン「VM1」について、重み付けの障害発生回数が0の物理サーバ103が存在しないので、ステップ1514に進む。
ステップ1514において、CPU104は、ステップ1512の検索により、重み付けの障害発生回数の一番少ない物理サーバ103を検索する。ステップ1514の後、ステップ1515に進む。
ステップ1515において、CPU104は、ステップ1514の検索において重み付けの障害発生回数の一番少ない物理サーバ103が1台のみであるか否か判定する。1台のみであれば(ステップ1515でYes)、ステップ1516に進み、1台のみでない場合は(ステップ1515でNo)、2台以上存在することを意味し、ステップ1518に進む。
ステップ1516において、CPU104は、重み付けの障害発生回数の一番少ない唯一の物理サーバ103を移行仮想マシンの移行先として決定し、処理全体が終了する。
本例では、前記計算結果によれば、移行仮想マシン「VM1」について、重み付けの障害発生回数の一番少ない物理サーバ103は、物理サーバCとなる。また、物理サーバC1台のみとなるので、物理サーバCを移行先物理サーバとして決定する。
ステップ1518において、CPU104は、2台以上存在する、重み付けの障害発生回数の一番少なかった物理サーバ103を移行先候補とする。ステップ1518の後、ステップ1523に進む。
ステップ1519において、CPU104は、重み付けの障害発生回数が0の物理サーバ103を移行先候補とする。ステップ1519の後、ステップ1520に進む。
ステップ1520において、CPU104は、ステップ1519において移行先候補物理サーバとした物理サーバ103が1台のみであるか否か判定する。1台のみであれば(ステップ1520でYes)、ステップ1521に進み、1台のみでない場合は(ステップ1520でNo)、2台以上存在することを意味し、ステップ1523に進む。
ステップ1521において、CPU104は、重み付けの障害発生回数が0となる唯一の物理サーバ103を移行仮想マシンの移行先として決定し、処理全体が終了する。
ステップ1523において、CPU104は、仮想マシン稼働履歴情報テーブル127などを参照し、移動先候補となる物理サーバ103上で稼働することになる移行仮想マシンの障害可能率を算出する。ステップ1523の後、ステップ1524に進む。「障害可能率」とは、移行仮想マシンの移行を実施した場合に過去の障害の履歴から推定される障害の発生の可能性を示す値であり、仮想マシン使用目的情報テーブル124によりリソースの優先度による重み付けを施すことができる。このような障害可能率(重み付けの物理サーバ上の仮想マシン障害可能率)は、以下の式により算出される。
Figure 2012118841
ステップ1524において、CPU104は、ステップ1523の処理により、算出された障害可能率の一番低い物理サーバ103を移行仮想マシンの移行先として決定し、処理全体が終了する。
本例では、移行仮想マシン「VM1」、「VM2」ともにステップ1523の処理に至るまでに移行先が決定されるため、ステップ1523、ステップ1524の処理を実行することはなく、そのような場合もある。
以上により、移行先物理サーバ選択ロジックの処理の説明を終える。
≪まとめ≫
本実施形態によれば、仮想化環境において仮想マシンの使用目的を好適に達成できるように仮想マシンを移行することができる。
具体的には、仮想マシンに関する複数種類のリソースに対し設定した優先度を用いて前記使用目的を表現し、過去に物理サーバに発生した障害の状況を、前記優先度により重み付けして定量化する。これにより、物理サーバに障害が発生したことを契機に仮想マシンを移行するときの移行先として、障害が無いまたはほとんど無い物理サーバを選択することができる。そして、そのように移行した仮想マシンを用いて運用すれば、その仮想マシンの使用目的を好適に達成することができる。換言すれば、使用目的を考慮しているので、使用目的に合わず障害を引き起こし易い物理サーバに仮想マシンを移行する、といった事態を回避することができる。
また、前記障害の状況を、障害率、障害発生回数および障害可能率により表現することで、仮想マシンの移行先を適切に決定することができる。なお、障害率、障害発生回数および障害可能率には、リソースの優先度を用いた重み付けが施されている。
また、せっかく仮想マシンの移行先として決定した物理サーバに十分な空きリソースが無いためにその仮想マシンを移行できない場合であっても、その物理サーバ上で稼働する仮想マシンを他の物理サーバに移行し、リソースを譲渡する。これにより、より確実に、障害が無いまたはほとんど無い物理サーバを仮想マシンの移行先として選択することができる。
≪その他≫
なお、前記実施形態は、本発明を実施するために好適のものであるが、その実施形式はこれらに限定されるものでなく、本発明の要旨を変更しない範囲内において種々変形することが可能である。
例えば、本実施形態では、仮想マシン移行先決定処理(図13参照)により、物理サーバに障害が発生したときは、その物理サーバ上で稼働する仮想マシンは別の物理サーバに移行するようにした。しかし、仮想マシン移行先決定処理を実行してもどこにも移行せず、元の物理サーバに留まるようにしてもよい。たとえ障害が発生したとはいえ、元の物理サーバにおける障害率などが、決定した移行先となる物理サーバの障害率などよりも小さいのであれば、移行しないほうが得策だからである。
具体的には、仮想マシン移行先決定処理のステップ1302において、元の物理サーバも含めたすべての物理サーバの障害率を算出し、移行先を決定するようにすればよい。障害発生回数や障害可能率についても同様である(図15のステップ1512、ステップ1523参照)。
また、本実施形態では、障害率、障害発生回数、障害可能率を用いて仮想マシンの移行先として最も相応しい物理サーバを決定するようにした。しかし、逆に当該仮想マシンの移行先として避けるべき物理サーバを決定し、残りの物理サーバから任意に選択して移行先を決定する、という消去法を採用してもよい。本実施形態の障害率希望値を用いた障害率がこの消去法の役割を一部果たしているといえるが、障害発生回数、障害可能率にもこの役割を持たせるということである。例えば、障害発生回数が3回を超えるマシン構成になってしまう移行を要する物理サーバは移行先候補から除外する、といった判定を行うようにソフトウェアの設計変更をするとよい。このようにすれば、移行先の決定の要件が緩和されるので、決定すべき移行先が存在しない、といった不都合な事態は起こりにくくなる。
また、本実施形態で説明した種々の技術を適宜組み合わせた技術を実現することもできる。
その他、ハードウェア、ソフトウェア、各フローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
100 管理サーバ(仮想マシン管理装置)
101 補助記憶部(記憶部)
103 物理サーバ
104 CPU(制御部)
105 メモリ(記憶部)
131 仮想マシン
121 マシン構成情報テーブル
122 物理サーバリソース情報テーブル
123 リソース重み付け情報テーブル
124 仮想マシン使用目的情報テーブル
125 物理サーバ障害履歴情報テーブル
126 物理サーバ障害発生回数情報テーブル
127 仮想マシン稼働履歴情報テーブル
128 障害タイプ一覧テーブル
129 障害時マシン構成履歴情報テーブル

Claims (12)

  1. 複数の仮想マシンが稼働する複数の物理サーバを管理し、前記物理サーバに障害が発生すると、当該物理サーバ上で稼働する仮想マシンを移行仮想マシンとしていずれの物理サーバに移行するかを決定する仮想マシン管理装置において、
    前記仮想マシン管理装置の記憶部は、
    前記物理サーバと、当該物理サーバ上で稼働する仮想マシンとの組み合わせを示す情報と、
    前記仮想マシンごとに、当該仮想マシンの使用目的と、前記使用目的に応じた障害に関する閾値と、仮想マシンに関する複数種類のリソースに対し設定した優先度とを定めた情報と、
    前記物理サーバごとに、当該物理サーバの運用時間と、前記リソースにより分類される障害の種類と、障害が存在していた時間を示す障害時間とを定めた情報と、
    前記障害が発生した時点における前記組み合わせと、当該組み合わせにおいて前記障害が発生した回数を示す障害回数とを定めた情報と、を記憶しており、
    前記仮想マシン管理装置の制御部は、
    前記物理サーバに障害が発生すると、当該発生した障害の種類を特定し、当該障害に応じて前記記憶部に記憶されている情報を更新する制御と、
    前記物理サーバごとに、前記運用時間に対する前記障害時間の割合を、前記優先度により重み付けした障害率を算出する制御と、
    前記算出した障害率が、前記障害が発生した物理サーバ上で稼働する前記移行仮想マシンに定めた前記閾値を下回る物理サーバを、前記移行仮想マシンの移行先候補とする制御と、
    前記移行先候補となる物理サーバのうち、移行後の前記組み合わせにおいて前記障害回数が0となる物理サーバを前記移行仮想マシンの移行先とする制御と、を実行する
    ことを特徴とする仮想マシン管理装置。
  2. 前記仮想マシン管理装置の記憶部は、
    前記物理サーバごとに、当該物理サーバで発生した前記障害の種類と、当該種類の障害が発生した回数を示す物理サーバ用発生回数を定めた情報を記憶しており、
    前記仮想マシン管理装置の制御部は、
    前記物理サーバごとに、前記物理サーバ用発生回数を、前記優先度により重み付けする制御と、
    前記移行先候補となる物理サーバのうち、前記重み付けした物理サーバ用発生回数が0となる物理サーバを、前記移行仮想マシンの移行先とする制御と、を実行する
    ことを特徴とする請求項1に記載の仮想マシン管理装置。
  3. 前記仮想マシン管理装置の記憶部は、
    前記仮想マシンごとに、当該仮想マシンが稼働していた物理サーバと、前記稼働の回数を示す稼働回数と、当該物理サーバで発生した前記障害の種類と、当該種類の障害が発生した回数を示す仮想マシン用発生回数を定めた情報を記憶しており、
    前記仮想マシン管理装置の制御部は、
    前記仮想マシンごとに、前記移行先候補となる物理サーバにおける前記稼動回数に対する前記仮想マシン用発生回数の割合を、前記優先度により重み付けした障害可能率を算出する制御と、
    前記移行先候補となる物理サーバのうち、前記算出した障害可能率が最も小さい物理サーバを、前記移行仮想マシンの移行先とする制御と、を実行する
    ことを特徴とする請求項1または請求項2に記載の仮想マシン管理装置。
  4. 前記仮想マシン管理装置の制御部は、
    前記移行先候補とした物理サーバに、前記移行仮想マシンを移行するのに十分な空きリソースが存在しない場合、前記移行先候補とした物理サーバ上で稼働する仮想マシンのうち、前記移行仮想マシンに定めた前記閾値を超える閾値を持つ仮想マシンを特定する制御と、
    前記特定した仮想マシンを他の物理サーバに移行することで、前記十分な空きリソースが存在する場合、前記移行先候補とした物理サーバを、前記移行仮想マシンの移行先候補とする制御と、を実行する
    ことを特徴とする請求項1に記載の仮想マシン管理装置。
  5. 複数の仮想マシンが稼働する複数の物理サーバを管理し、前記物理サーバに障害が発生すると、当該物理サーバ上で稼働する仮想マシンを移行仮想マシンとしていずれの物理サーバに移行するかを決定する仮想マシン管理装置における移行先決定方法において、
    前記仮想マシン管理装置の記憶部は、
    前記物理サーバと、当該物理サーバ上で稼働する仮想マシンとの組み合わせを示す情報と、
    前記仮想マシンごとに、当該仮想マシンの使用目的と、前記使用目的に応じた障害に関する閾値と、仮想マシンに関する複数種類のリソースに対し設定した優先度とを定めた情報と、
    前記物理サーバごとに、当該物理サーバの運用時間と、前記リソースにより分類される障害の種類と、障害が存在していた時間を示す障害時間とを定めた情報と、
    前記障害が発生した時点における前記組み合わせと、当該組み合わせにおいて前記障害が発生した回数を示す障害回数とを定めた情報と、を記憶しており、
    前記仮想マシン管理装置の制御部は、
    前記物理サーバに障害が発生すると、当該発生した障害の種類を特定し、当該障害に応じて前記記憶部に記憶されている情報を更新するステップと、
    前記物理サーバごとに、前記運用時間に対する前記障害時間の割合を、前記優先度により重み付けした障害率を算出するステップと、
    前記算出した障害率が、前記障害が発生した物理サーバ上で稼働する前記移行仮想マシンに定めた前記閾値を下回る物理サーバを、前記移行仮想マシンの移行先候補とするステップと、
    前記移行先候補となる物理サーバのうち、移行後の前記組み合わせにおいて前記障害回数が0となる物理サーバを前記移行仮想マシンの移行先とするステップと、を実行する
    ことを特徴とする移行先決定方法。
  6. 前記仮想マシン管理装置の記憶部は、
    前記物理サーバごとに、当該物理サーバで発生した前記障害の種類と、当該種類の障害が発生した回数を示す物理サーバ用発生回数を定めた情報を記憶しており、
    前記仮想マシン管理装置の制御部は、
    前記物理サーバごとに、前記物理サーバ用発生回数を、前記優先度により重み付けするステップと、
    前記移行先候補となる物理サーバのうち、前記重み付けした物理サーバ用発生回数が0となる物理サーバを、前記移行仮想マシンの移行先とするステップと、を実行する
    ことを特徴とする請求項5に記載の移行先決定方法。
  7. 前記仮想マシン管理装置の記憶部は、
    前記仮想マシンごとに、当該仮想マシンが稼働していた物理サーバと、前記稼働の回数を示す稼働回数と、当該物理サーバで発生した前記障害の種類と、当該種類の障害が発生した回数を示す仮想マシン用発生回数を定めた情報を記憶しており、
    前記仮想マシン管理装置の制御部は、
    前記仮想マシンごとに、前記移行先候補となる物理サーバにおける前記稼動回数に対する前記仮想マシン用発生回数の割合を、前記優先度により重み付けした障害可能率を算出するステップと、
    前記移行先候補となる物理サーバのうち、前記算出した障害可能率が最も小さい物理サーバを、前記移行仮想マシンの移行先とするステップと、を実行する
    ことを特徴とする請求項5または請求項6に記載の移行先決定方法。
  8. 前記仮想マシン管理装置の制御部は、
    前記移行先候補とした物理サーバに、前記移行仮想マシンを移行するのに十分な空きリソースが存在しない場合、前記移行先候補とした物理サーバ上で稼働する仮想マシンのうち、前記移行仮想マシンに定めた前記閾値を超える閾値を持つ仮想マシンを特定するステップと、
    前記特定した仮想マシンを他の物理サーバに移行することで、前記十分な空きリソースが存在する場合、前記移行先候補とした物理サーバを、前記移行仮想マシンの移行先候補とするステップと、を実行する
    ことを特徴とする請求項5に記載の移行先決定方法。
  9. 複数の仮想マシンが稼働する複数の物理サーバを管理し、前記物理サーバに障害が発生すると、当該物理サーバ上で稼働する仮想マシンを移行仮想マシンとしていずれの物理サーバに移行するかを決定する仮想マシン管理装置をコンピュータとして機能させるにおける移行先決定プログラムにおいて、
    前記仮想マシン管理装置の記憶部は、
    前記物理サーバと、当該物理サーバ上で稼働する仮想マシンとの組み合わせを示す情報と、
    前記仮想マシンごとに、当該仮想マシンの使用目的と、前記使用目的に応じた障害に関する閾値と、仮想マシンに関する複数種類のリソースに対し設定した優先度とを定めた情報と、
    前記物理サーバごとに、当該物理サーバの運用時間と、前記リソースにより分類される障害の種類と、障害が存在していた時間を示す障害時間とを定めた情報と、
    前記障害が発生した時点における前記組み合わせと、当該組み合わせにおいて前記障害が発生した回数を示す障害回数とを定めた情報と、を記憶しており、
    前記仮想マシン管理装置の制御部に、
    前記物理サーバに障害が発生すると、当該発生した障害の種類を特定し、当該障害に応じて前記記憶部に記憶されている情報を更新する処理と、
    前記物理サーバごとに、前記運用時間に対する前記障害時間の割合を、前記優先度により重み付けした障害率を算出する処理と、
    前記算出した障害率が、前記障害が発生した物理サーバ上で稼働する前記移行仮想マシンに定めた前記閾値を下回る物理サーバを、前記移行仮想マシンの移行先候補とする処理と、
    前記移行先候補となる物理サーバのうち、移行後の前記組み合わせにおいて前記障害回数が0となる物理サーバを前記移行仮想マシンの移行先とする処理と、を実行する
    ことを特徴とする移行先決定プログラム。
  10. 前記仮想マシン管理装置の記憶部は、
    前記物理サーバごとに、当該物理サーバで発生した前記障害の種類と、当該種類の障害が発生した回数を示す物理サーバ用発生回数を定めた情報を記憶しており、
    前記仮想マシン管理装置の制御部は、
    前記物理サーバごとに、前記物理サーバ用発生回数を、前記優先度により重み付けする処理と、
    前記移行先候補となる物理サーバのうち、前記重み付けした物理サーバ用発生回数が0となる物理サーバを、前記移行仮想マシンの移行先とする処理と、を実行する
    ことを特徴とする請求項9に記載の移行先決定プログラム。
  11. 前記仮想マシン管理装置の記憶部は、
    前記仮想マシンごとに、当該仮想マシンが稼働していた物理サーバと、前記稼働の回数を示す稼働回数と、当該物理サーバで発生した前記障害の種類と、当該種類の障害が発生した回数を示す仮想マシン用発生回数を定めた情報を記憶しており、
    前記仮想マシン管理装置の制御部は、
    前記仮想マシンごとに、前記移行先候補となる物理サーバにおける前記稼動回数に対する前記仮想マシン用発生回数の割合を、前記優先度により重み付けした障害可能率を算出する処理と、
    前記移行先候補となる物理サーバのうち、前記算出した障害可能率が最も小さい物理サーバを、前記移行仮想マシンの移行先とする処理と、を実行する
    ことを特徴とする請求項9または請求項10に記載の移行先決定プログラム。
  12. 前記仮想マシン管理装置の制御部は、
    前記移行先候補とした物理サーバに、前記移行仮想マシンを移行するのに十分な空きリソースが存在しない場合、前記移行先候補とした物理サーバ上で稼働する仮想マシンのうち、前記移行仮想マシンに定めた前記閾値を超える閾値を持つ仮想マシンを特定する処理と、
    前記特定した仮想マシンを他の物理サーバに移行することで、前記十分な空きリソースが存在する場合、前記移行先候補とした物理サーバを、前記移行仮想マシンの移行先候補とする処理と、を実行する
    ことを特徴とする請求項9に記載の移行先決定プログラム。
JP2010269077A 2010-12-02 2010-12-02 仮想マシン管理装置、移行先決定方法および移行先決定プログラム Pending JP2012118841A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010269077A JP2012118841A (ja) 2010-12-02 2010-12-02 仮想マシン管理装置、移行先決定方法および移行先決定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010269077A JP2012118841A (ja) 2010-12-02 2010-12-02 仮想マシン管理装置、移行先決定方法および移行先決定プログラム

Publications (1)

Publication Number Publication Date
JP2012118841A true JP2012118841A (ja) 2012-06-21

Family

ID=46501560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010269077A Pending JP2012118841A (ja) 2010-12-02 2010-12-02 仮想マシン管理装置、移行先決定方法および移行先決定プログラム

Country Status (1)

Country Link
JP (1) JP2012118841A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127134A (ja) * 2012-12-27 2014-07-07 Fujitsu Ltd 情報処理装置、サーバ管理方法およびサーバ管理プログラム
WO2014118902A1 (ja) * 2013-01-30 2014-08-07 株式会社日立製作所 計算機及び計算機管理方法
JP2016177345A (ja) * 2015-03-18 2016-10-06 富士通株式会社 情報処理システム及び情報処理システムの制御方法
JPWO2014141593A1 (ja) * 2013-03-15 2017-02-16 日本電気株式会社 情報処理装置
JP2019008340A (ja) * 2017-06-20 2019-01-17 日本電信電話株式会社 冗長化システムおよびハードウェア障害検出方法
KR20210044194A (ko) * 2020-05-29 2021-04-22 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 메모리 오류 처리 방법, 장치, 전자 기기 및 저장매체
JP2023086394A (ja) * 2021-12-10 2023-06-22 防衛装備庁長官 移行先決定プログラム、装置、及び方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014127134A (ja) * 2012-12-27 2014-07-07 Fujitsu Ltd 情報処理装置、サーバ管理方法およびサーバ管理プログラム
WO2014118902A1 (ja) * 2013-01-30 2014-08-07 株式会社日立製作所 計算機及び計算機管理方法
JPWO2014141593A1 (ja) * 2013-03-15 2017-02-16 日本電気株式会社 情報処理装置
US9720755B2 (en) 2013-03-15 2017-08-01 Nec Corporation Information processing device
JP2016177345A (ja) * 2015-03-18 2016-10-06 富士通株式会社 情報処理システム及び情報処理システムの制御方法
JP2019008340A (ja) * 2017-06-20 2019-01-17 日本電信電話株式会社 冗長化システムおよびハードウェア障害検出方法
KR20210044194A (ko) * 2020-05-29 2021-04-22 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 메모리 오류 처리 방법, 장치, 전자 기기 및 저장매체
JP2021108174A (ja) * 2020-05-29 2021-07-29 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド メモリ故障処理の方法、装置、電子機器及び記憶媒体
JP7168833B2 (ja) 2020-05-29 2022-11-10 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド メモリ故障処理の方法、装置、電子機器及び記憶媒体
KR102488882B1 (ko) 2020-05-29 2023-01-17 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 메모리 오류 처리 방법, 장치, 전자 기기 및 저장매체
JP2023086394A (ja) * 2021-12-10 2023-06-22 防衛装備庁長官 移行先決定プログラム、装置、及び方法
JP7332249B2 (ja) 2021-12-10 2023-08-23 防衛装備庁長官 移行先決定プログラム、装置、及び方法

Similar Documents

Publication Publication Date Title
US11281377B2 (en) Method and apparatus for managing storage system
US9436516B2 (en) Virtual machines management apparatus, virtual machines management method, and computer readable storage medium
JP2012118841A (ja) 仮想マシン管理装置、移行先決定方法および移行先決定プログラム
US8006134B2 (en) Method for analyzing fault caused in virtualized environment, and management server
US20140359356A1 (en) Information processing apparatus and method for shutting down virtual machines
US20200167252A1 (en) Method and apparatus for managing storage system
US9916215B2 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
JP2011128852A (ja) 仮想ハードディスクの管理サーバおよび管理方法、管理プログラム
US10664401B2 (en) Method and system for managing buffer device in storage system
JP2009252204A (ja) 計算機の運用管理システム及び運用管理方法
JP2011128967A (ja) 仮想計算機の移動方法、仮想計算機システム及びプログラム
US9270539B2 (en) Predicting resource provisioning times in a computing environment
US8694827B2 (en) Job migration in response to loss or degradation of a semi-redundant component
JPWO2014073046A1 (ja) 情報処理装置、プログラムおよび仮想マシン移動方法
JP5942509B2 (ja) バッチ処理システム
US10353786B2 (en) Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program
US11836067B2 (en) Hyper-converged infrastructure (HCI) log system
CN108255576A (zh) 虚拟机热迁移异常处理方法、装置和存储介质
WO2016048919A1 (en) Storage device management in computing systems
US20210132812A1 (en) Parallel upgrade of nodes in a storage system
US20150074454A1 (en) Information processing method and apparatus for migration of virtual disk
US20120110288A1 (en) Temporary vtoc locking during defragmentation
US20190173770A1 (en) Method and system for placement of virtual machines using a working set computation
US20170257286A1 (en) Advance verification method and recording medium
US20230305917A1 (en) Operation management apparatus and method