JP5338906B2 - サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 - Google Patents

サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 Download PDF

Info

Publication number
JP5338906B2
JP5338906B2 JP2011518062A JP2011518062A JP5338906B2 JP 5338906 B2 JP5338906 B2 JP 5338906B2 JP 2011518062 A JP2011518062 A JP 2011518062A JP 2011518062 A JP2011518062 A JP 2011518062A JP 5338906 B2 JP5338906 B2 JP 5338906B2
Authority
JP
Japan
Prior art keywords
server
virtual
physical
servers
load
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
JP2011518062A
Other languages
English (en)
Other versions
JPWO2010140183A1 (ja
Inventor
浩之 高見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010140183A1 publication Critical patent/JPWO2010140183A1/ja
Application granted granted Critical
Publication of JP5338906B2 publication Critical patent/JP5338906B2/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction

Description

本発明は、複数の物理サーバ上で複数の仮想サーバを動作させる仮想コンピューティングの技術に係り、より具体的には、仮想サーバを物理サーバに配置するに当たってのスケジューリングに関する。
近年の仮想サーバ技術の発展により、物理サーバ上で複数の仮想サーバを動作させることや、仮想サーバを稼動させたまま異なる物理サーバ間で移動できる技術(オンラインマイグレーション)が利用可能になっている。マイグレーションについては、例えば特許文献1において言及されている。
特開2006−244481号公報
ところで、稼働中の1又は複数の物理サーバで得られる性能の総和と比較して、配置対象の複数の仮想サーバによる負荷が低すぎる場合には、物理サーバを無駄に稼動させていることになる。すなわち、この場合、稼動する物理サーバの電力消費量の観点から効率的ではない。
逆に、稼働中の1又は複数の物理サーバで得られる性能の総和と比較して、配置対象の複数の仮想サーバによる負荷が高すぎるとしたならば、稼動する物理サーバにおいて処理上の余裕がなく、突発的な仮想サーバの負荷の上昇に対して対処できず、処理期間が遅延する可能性がある。
よって、本発明の1つの側面では、複数の物理サーバに対して複数の仮想サーバを配置するとき、物理サーバの処理能力、及びその電力消費量の観点から効率的な配置を行うサーバ管理プログラム、管理サーバ、仮想サーバ配置方法を提供することを目的とする。
第1の観点では、複数の仮想サーバを複数の物理サーバに配置するためのサーバ管理プログラムが提供される。このサーバ管理プログラムは、
(A)複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する手順と、
(B)物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定する手順と、
(C)前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う手順と、
をコンピュータに実行させるためのプログラムである。同様の観点の、管理サーバによって実行される仮想サーバ配置方法も提供される。
第2の観点では、複数の仮想サーバを複数の物理サーバに配置するための管理サーバが提供される。この管理サーバは、
(D)複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する負荷予測部と、
(E)物理サーバに配置される1又は複数の仮想サーバの第2負荷の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの第2負荷に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定するスケジュール生成部と、
(F)前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う配置実行部と、
を備える。
複数の物理サーバに対して複数の仮想サーバを配置するとき、物理サーバの処理能力、及びその電力消費量の観点から効率的な配置を行うことができる。
実施形態におけるシステム全体の構成を示すブロック図。 実施形態のシステムにおいて負荷データが伝達される経路を例示する図。 実施形態の管理サーバにおいて、負荷データベースのデータ構造を例示する図。 実施形態の管理サーバにおいて、サーバ管理データベースの内容の一例を示す図。 管理端末から実施形態の管理サーバに対して管理情報の要求を送信し、その応答を受信する態様を示す図。 1ヶ月間における、1時間単位の予測結果(稼動期間、又は停止期間)を例示する図。 図6に対してさらに、1時間単位の負荷値の例を付加した図。 168時間(1週間)のすべての時間における負荷値の予測例を示す図。 実施形態の管理サーバにおいて、負荷予測アルゴリズムに従った、負荷値の予測処理のフローチャート。 ある時間区間における各仮想サーバの負荷予測値、及び各物理サーバの処理能力値を例示した図。 実施形態の管理サーバにおいて、最適配置作成部による処理を示すフローチャート。 図11における最適化処理を示すフローチャート。 実施形態の管理サーバにおける配置スケジュールの一例を示す図。 実施形態の管理サーバにおける再配置実行の例を示す図。 実施形態の管理サーバにおける再配置実行の例を示す図。 実施形態の管理サーバにおける再配置処理のフローチャート。 実施形態の管理サーバにおいて、物理サーバで故障または故障予知が発生した場合の処理を示すフローチャート。 実施形態の管理サーバにおいて、物理サーバが保守交換等により正常に復旧した場合の処理を示すフローチャート。
(1)システム構成
以下、実施形態に係る管理サーバを含むネットワークシステム(以下、単に「システム」という。)の全体構成について、図1を参照して説明する。
図1に示すように、このシステムには、管理サーバ2、管理端末3及び管理対象サーバ群4がネットワークを介して接続される。このシステムでは、管理サーバ2により、管理対象サーバ群4における各物理サーバに対して1又は複数仮想サーバが配置されるように制御される。このとき、物理サーバの処理能力、及びその電力消費量の観点から効率的な仮想サーバの配置が行われることが意図されている。
図1に示すように、管理対象サーバ群4は、複数の仮想サーバ(図中、「V」で示す。)、及び複数の物理サーバ(図中、「P」で示す。)を含み、ネットワークを介して管理サーバ2により管理される対象となるサーバ群である。ここで、物理サーバは、仮想サーバが動作するためのプラットフォームであり、コンピュータハードウエア、及びハイパーバイザなどの仮想サーバ管理ソフトウエアを備える。
仮想サーバは、物理サーバ上においてソフトウエア的に実現されるサーバである。仮想サーバ上では1つ以上の業務(アプリケーション)が動作する。異なる業務を行う仮想サーバが複数組み合わされて物理サーバ上に配置される場合もあり、同一の業務を行う複数の仮想サーバが異なる物理サーバ上に配置される場合もある。
なお、仮想サーバのデータは、物理サーバに直接接続されたディスク装置に格納されてもよいし、物理サーバと別に存在し、ネットワークまたは直接結線により接続された共用ディスク(SAN(Storage Area Network)、NFS(Network File System)、iSCSI(Internet Small Computer System Interface)等)に格納されてもよい。また、仮想サーバのデータが格納されるディスクの物理媒体の種類についても限定しない。
管理サーバ2は、管理対象サーバ群4とはネットワークを介して通信可能であるが、管理対象サーバ群4とは独立して存在し、システム全体を統括し制御する。
図1に示すように、管理サーバ2は、システム制御部21と、負荷データベース(負荷DB)22と、サーバ管理データベース(サーバ管理DB)23と、負荷予測部24と、最適配置作成部25(スケジュール生成部)と、再配置実行部26(配置実行部)と、故障監視部27と、配置スケジュールデータ格納部28と、を備える。この管理サーバ2の各構成要素は物理的に単一のサーバに収容されてもよいし、構成要素ごとに複数のサーバに亘って存在してもよい。
管理端末3は、管理情報表示部31を備えたクライアントである。管理端末3は、管理サーバ2と直接、又はネットワークを経由して接続される。図1は、管理端末3がネットワークを経由して管理サーバ2と接続されている例を示している。なお、管理情報表示部31は、管理端末3に実装してもよいし、管理サーバ2に実装してもよい。図1は、管理情報表示部31が管理端末3に実装された例を示している。
(2)管理サーバの構成
次に、図1に示した管理サーバ2の各構成要素について、より詳細に説明する。
[システム制御部21]
システム制御部21は主としてマイクロコントローラにより構成され、管理サーバ2全体の制御、各データベースの管理、管理サーバ2の各部への指令の送出を行う。管理サーバ2が複数のコンピュータによって構成される場合には、システム制御部21はその複数のコンピュータ全体を統括する。また、システム制御部21は、管理端末3からの要求の受信、及びその要求に基づいて管理端末3で表示すべきデータの送信を行う。
[負荷データベース22]
負荷データベース22には、各仮想サーバの過去の負荷データが蓄積される。
ここで、負荷データは、各仮想サーバの負荷値、及び各仮想サーバの動作状態(稼動又は停止)に関する情報(以下、「動作情報」という。)を含む。
負荷データに含まれる負荷値は、後述する処理能力値と比較可能な指標であれば何でもよい。負荷値は、例えば、CPU、メモリ或いはディスクなどの計算機のリソースに係る使用率、又はそれらのリソースを総合した指標値でもよいし、ある業務量を実行するのに必要な計算能力のベンチマーク値でもよい。
負荷データが負荷データベース22に蓄積されるときの経路、蓄積される方法、蓄積されるタイミング等は限定しない。例えば、負荷データが負荷データベース22に蓄積されるときの経路に関して言及すれば、仮想サーバ側に負荷データを計測し、管理サーバ2へ定期的に送信する機能を備えたエージェントを設けるようにしてもよいし、管理サーバ2から仮想サーバに対して定期的に負荷データを取得するマネージャを設けるようにしてもよい。物理サーバ上で動作し仮想サーバを管理するハイパーバイザ、又は物理サーバのインタフェースを経由して負荷データが管理サーバ2へ送信されるようにしてもよい。
図2は、このシステムにおいて、負荷データが伝達される経路を例示する図である。
図2(a)に示す例では、システム制御部21がサーバ管理データベース23に対して問い合わせを行い、負荷データの取得の対象となる仮想サーバの情報(例えば、仮想サーバIDやIPアドレスなど、ネットワーク上の位置を示す特定情報)を得る。システム制御部21は、その仮想サーバの情報に基づいて、ネットワークを経由して、対象の仮想サーバが動作する物理サーバ上のハイパーバイザに問い合わせる。図2(a)に示す例では、ハイパーバイザは、仮想サーバの負荷データを読み取る機構を備えており、システム制御部21からの問い合わせに対して、対象の仮想サーバの負荷データを返す。対象の仮想サーバの負荷データを取得したシステム制御部21は、負荷データベース22の該当仮想サーバIDのレコードに負荷データを記録する。以上の処理を全仮想サーバについて繰り返すことで、ある時刻におけるすべての仮想サーバの負荷データが取得される。このデータ取得処理を1分間等の一定期間ごとに繰り返し実行することで、負荷データベース22には負荷データが蓄積されていく。
図2(b)に示す例では、図2(a)とは異なり、仮想サーバ上に負荷データを送信するエージェントを設けた場合を示している。このとき、仮想サーバ上のエージェントは、ハイパーバイザを経由せず、直接管理サーバ2に対して負荷データを送信する。負荷データを受信したシステム制御部21は、負荷データを送信した仮想サーバをサーバ管理データベース23と照合し、負荷データベース21の該当仮想サーバIDのレコードに記録する。
なお、図1及び図2では、負荷データベース22とサーバ管理データベース23をそれぞれ別個のデータベースとして存在することを前提として説明したが、単一のデータベース(単一のテーブル)として構成するようにしてもよい。
一定期間ごとに負荷データベース22に記録される負荷データに含まれる負荷値は、瞬時値(1サンプル)でもよいし、平均値(複数のサンプルの平均値)でもよいし、合計値(複数のサンプルの合計値)でもよい。複数のサンプルに基づいて記録される負荷データを決定する場合には、そのサンプル数について特に限定しない。また、負荷データの取得間隔(上記の一定期間)は、少なくとも後述する負荷予測に必要な間隔以下に設定される。
前述したように、負荷データベース22に記録される負荷データには、各仮想サーバの負荷値だけでなく、各仮想サーバの動作情報も含む。この動作情報は、後述する負荷予測において、仮想サーバの停止期間を考慮した、正確な予測値を算出するために利用される。
図2(a)に示す例では、システム制御部21がハイパーバイザに問い合わせる際、対象の仮想サーバの動作情報を負荷値と同時に取得し、負荷値と動作情報を含む負荷データが負荷データベース22に記録される。
図2(b)に示す例では、仮想サーバの起動時及び停止時に、仮想サーバ、又はハイパーバイザは、システム制御部21に対して、仮想サーバの動作状態の変更の通知を行う。この通知に基づき、システム制御部21は、仮想サーバの動作情報を負荷データベース22に記録する。
図3に負荷データベース22のデータ構造の例を示す。
図3において、負荷データベース22には、複数のレコード(レコード1,2,…,m)に対応して、各仮想サーバID(VM1,VM2,…,VMm)と、該当する仮想サーバの負荷データとが記録されている。仮想サーバIDは、負荷データベース22上の仮想サーバと、サーバ管理データベース23上の仮想サーバとを関連付けるための情報である。図3に示すように、負荷データは、負荷データを取得した時刻ごとの、仮想サーバの負荷値と動作情報が含まれる。図3では、負荷データの記録時刻として、一例として1分間単位の実際の時刻が記録される例を示しているが、必ずしも実際の時刻そのものが記録される必要はない。記録の開始時刻からのオフセットを記録してもよいし、記録時刻を特定可能な文字列を記録してもよい。
[サーバ管理データベース23]
サーバ管理データベース23には、物理サーバとその処理能力一覧、及び仮想サーバ一覧が記録される。管理サーバからアクセス可能であれば、物理サーバのデータと仮想サーバのデータはそれぞれ独立のデータベースとして存在してもよい。
各物理サーバの処理能力値は、各物理サーバの処理能力(又は計算能力)に関する性能を示す指標値であって、前述した負荷値と比較可能なものであれば何でもよい。処理能力値は、例えば、CPU、メモリ或いはディスクなどの計算機のリソースを示す値(計算速度、メモリ容量等)、又はそれらのリソースを総合した指標値でもよい。
図4は、サーバ管理データベース23のテーブル(物理サーバテーブル、仮想サーバテーブル)が含む内容の一例を示している。ここでは、n個の物理サーバとm個の仮想サーバが管理対象となっている。なお、仮想サーバの数が物理サーバの数よりも多いのが一般的である(m>n)。
物理サーバテーブルには、レコード1〜nに対応してn個の物理サーバの特定情報(例えばアドレス)及び処理能力値が含まれる。図4に示すように、物理サーバテーブルにはさらに、各レコードに対応して、故障情報と動作情報が含まれる。物理サーバの故障情報とは、物理サーバが正常か否かについての情報(“正常”又は“故障”を示す。)である。物理サーバの動作情報とは、物理サーバの動作状態に関する情報(“稼動”又は“停止”を示す。)である。この故障情報及び/又は動作情報は、後述する配置スケジュールを作成する時においてスケジュール対象の物理サーバを特定するのに有用となる。
仮想サーバテーブルには、レコード1〜mに対応してm個の物理サーバの特定情報、仮想サーバID及び仮想サーバのイメージデータが含まれる。特定情報とは、管理サーバ2内で物理サーバ又は仮想サーバを一意に特定し、アクセス可能とするための情報であり、例えばネットワーク上のコンピュータ名やアドレスなどである。図4では、特定情報としてアドレスを例示してある。仮想サーバIDは、負荷データベース22上のレコードと対応付けるために用いられる。
図4のサーバ管理データベース23において、また、図4に示したデータ構成は例示に過ぎず、物理サーバ及び/又は仮想サーバの管理に必要な情報を、適宜加えて構成するようにしてもよい。
[負荷予測部24]
負荷予測部24は、後述する負荷予測アルゴリズムに従って動作し、過去の負荷データに基づいて、特定の仮想サーバの特定の期間における将来の負荷値の予測(負荷予測)を行う。負荷予測にあたっては、負荷データベース22から各仮想サーバの負荷データに含まれる負荷値と動作情報を、ある程度長い一定期間(例えば1週間、1ヶ月)、又は全期間について参照する。以下の説明において、予測された負荷値(第2負荷)を、適宜「負荷予測値」という。負荷予測アルゴリズムについては、後で詳細に説明する。
[最適配置作成部25]
スケジュール生成部としての最適配置作成部25は、後述する最適配置作成アルゴリズムに従って動作し、負荷予測部24が予測した負荷値に基づき、物理サーバに対する仮想サーバの最適な配置スケジュールを作成する。ここで、「最適な配置」とは、ある物理サーバ上に配置された複数の仮想サーバから予測される負荷値の合計が、その物理サーバの処理能力値に対して適切な比率の範囲(許容範囲)に収まるようになっていることである。その許容範囲の上限は、仮想サーバの突発的な負荷上昇に耐えうる余裕を持たせるために設けられ、許容範囲の下限は、物理サーバの性能を無駄なく使い、稼動する物理サーバの台数を最小限にとどめることで消費電力の低減を図るために設けられる。
最適配置作成部25は、配置スケジュールを作成するとき、サーバ管理データベース23及び負荷予測部24をそれぞれ参照する。最適配置作成アルゴリズムについては、後で詳細に説明する。
[再配置実行部26]
再配置実行部26は、最適配置作成部25が作成した配置スケジュールに従って、仮想サーバの再配置を行う。再配置実行部26は、マイグレーションの指示を出すためのインタフェースを備える。このインタフェースは主に、ハイパーバイザなどの仮想サーバ管理ソフトウエアが提供するものを利用したものである。
再配置を実行するためのマイグレーションの方法については限定しない。再配置実行部26は、マイグレーション対象の仮想サーバが停止中であればオフラインマイグレーションを行うが、マイグレーション対象の仮想サーバが稼動中の場合、一度仮想サーバを停止してからオフラインマイグレーションを行ってもよい。また、再配置実行部26は、マイグレーション対象の仮想サーバが稼働中の場合、オンラインマイグレーションを行ってもよい。
再配置実行部26は、物理サーバに対する電源の投入・停止の指示が可能なインタフェース、及び仮想サーバに対するマイグレーションの指示が可能なインタフェースを備える。
再配置実行部26は、再配置の実行の結果、仮想サーバ数が0となる物理サーバに対しては、その物理サーバの電源を停止させる。また、再配置実行部26は、再配置の実行の結果、新たに物理サーバを起動することが必要となったときには、その物理サーバを起動させる。さらには、再配置実行部26は、その物理サーバが故障となったとき(故障情報が“故障”を示すようになったとき)には、その物理サーバの電源を停止させ、別の物理サーバを起動させる。電源の投入及び停止に使用されるインタフェースは、物理サーバそのものが備えるもの、物理サーバのベンダが提供する制御ソフト、一般のツールまたは独自の実装によるものでもかまわない。また、そのインタフェースにおけるプロトコル及び制御経路についても限定しない。
なお、再配置を実行するに際して、オンラインマイグレーション時、バッファとなる物理サーバが必要となる場合は、一時的に稼動していない物理サーバを起動してもよい。
また、再配置実行部26による、物理サーバに対する電源の投入・停止の指示、仮想サーバに対するマイグレーションの指示は、いかなるプロトコルを介して行われてもよい。そのようなプロトコルの例として、SNMP(Simple Network Management Protocol),IPMI(Intelligent Platform Management
Interface)、SMASH−CLP(System Management Architecture for Server Hardware Command Line
Protocol)を挙げることができる。
[故障監視部27]
故障監視部27は、各物理サーバの状態(正常/故障)について監視し、故障が発生した場合にはサーバ管理データベース23上の物理サーバに対応するレコードの故障情報を“故障”と書き換える。また、故障していた物理サーバが復旧した場合には、その物理サーバに対応するレコードの故障情報を“正常”と書き換える。
[配置スケジュールデータ格納部28]
配置スケジュールデータ格納部28には、最適配置作成部25が作成した配置スケジュールが格納される。再配置実行部26は、配置スケジュールデータ格納部28に格納されている配置スケジュールを参照して、再配置を実行する。なお、配置スケジュールは、定期的に更新される。
(3)管理端末の構成
次に、図1に示した管理端末3の構成要素についてさらに説明する。
[管理情報表示部31]
管理情報表示部31は、管理サーバ2から与えられるデータに基づいて、システムの運用情報を含む様々な情報を表示する。管理情報表示部31で表示される情報は、例えば以下の情報である。
・物理サーバ、仮想サーバの詳細及び一覧
・仮想サーバ負荷データ(負荷値、動作情報)
・仮想サーバの負荷予測値
・仮想サーバの配置スケジュール
・仮想サーバの現在の配置状況
図5は、管理端末3から管理サーバ2に対して管理情報の要求を送信し、その応答を受信する態様を示す図である。図5において、管理情報の要求を受けた管理サーバ2では、システム制御部21が負荷データベース22又はサーバ管理データベース23を参照して、要求に係る管理情報を取り出し、管理端末3へ管理情報を送信する。管理端末3では、管理サーバ2からの応答として受信した管理情報を、管理情報表示部31に表示させる。これにより、例えば管理端末3を操作するシステム管理者が上記管理情報を視認できるようになっている。
(4)負荷予測アルゴリズム
次に、管理サーバ2の負荷予測部24に実装されている負荷予測アルゴリズムの一例を、図6〜図9を参照して詳細に説明する。
負荷予測アルゴリズムでは先ず、各仮想サーバの将来の負荷予測値(第2負荷)を算出するに当たって、各仮想サーバが24時間稼動するサーバであるか、又は停止期間(あるいは稼動期間)が存在するサーバであるかについて解析する。そして、停止期間が存在するサーバについては、その停止期間が予測される。
停止期間が存在する仮想サーバとしては、例えば週末や夜間に業務を行わないような利用方法が適用される仮想サーバが典型的である。停止期間がスケジュール化されている場合には、負荷予測アルゴリズムは、その停止期間のスケジュールを停止期間の予測値として直接利用できる。この場合、システム管理者がサーバ管理データベース23に仮想サーバの稼動スケジュールを予め登録するようにしてもよい。
停止期間がスケジュール化されていない場合は、負荷予測アルゴリズムは、例えば1日のうちのある時間区間(特定の1時間)について数週間に亘って動作情報(負荷データベース22内の情報;図3参照)を解析することにより、停止期間を予測(算出)する。この解析は例えば、仮想サーバの動作情報に基づき、1日のある特定の時間区間においてその仮想サーバが稼動している率(稼動率)を算出し、その稼動率が所定の閾値以下であることを条件として、その特定の時間区間が停止期間であると判断することにより行われる。停止期間を算出するために基礎とする動作情報は、日単位のもの、週単位のもの、又は月単位でもよいし、これらを組み合わせるようにしてもよい。
なお、負荷予測アルゴリズムにおいて稼動期間と停止期間を区別する理由は、仮に全期間中の負荷値の平均を算出したならば、その平均値は停止期間も含めて算出されるため、稼働中における負荷値の平均よりも低い値となって、実状と合致しないためである。
上述したようにして、例えば1ヶ月間において1時間単位で、稼動期間であるか、又は停止期間であるかを予測することができる。図6は、1ヶ月間における、1時間単位の予測結果(稼動期間、又は停止期間)を例示する図である。図6では、横軸を1時間単位で0〜23時間、縦軸を1日単位の0〜30日としたマトリクスにおいて、灰色で表した時間は仮想サーバの停止期間、白色で表した時間が仮想サーバの稼動期間、を例示している。
負荷予測アルゴリズムは、図6に示した1時間単位のデータに基づいて、特定の仮想サーバの休業日、営業日、及び就業時間を予測するようにしてもよい。以下の説明では、1時間単位の稼動期間及び停止期間をそれぞれ、稼動時間及び停止時間という。
負荷予測アルゴリズムは、仮想サーバについて稼動時間が所定の閾値(例えば、30%)を下回る日を、その仮想サーバの「休業日」であると判断する。この休業日が7日おきに周期的に発生しているとすれば、その仮想サーバは土曜日・日曜日が休業日であり、将来も土曜日・日曜日は稼動しないことが予測できる。逆に、負荷予測アルゴリズムは、仮想サーバについて稼動時間が所定の閾値(例えば、30%)を上回る日を、その仮想サーバの「営業日」であると判断する。
また、負荷予測アルゴリズムは、1ヶ月間の営業日のうち所定の閾値(例えば、30%)を下回る日数で稼動時間となっている特定の時間帯は「休業時間」であると判断する。例えば図6の例では、この仮想サーバは朝2時から6時が休業時間であり、将来も2時から6時は稼動しないことが予測できる。また、負荷予測アルゴリズムは、1ヶ月間の営業日のうち所定の閾値(例えば、30%)を上回る日数で稼動時間となっている特定の時間帯は「就業時間」であると判断する。
負荷予測アルゴリズムでは、以下で述べる、仮想サーバの負荷値の予測方法を、その仮想サーバの営業日の営業時間のみを対象として実行することが好ましい。
次に、負荷予測アルゴリズムによる負荷値の予測方法について説明する。
図7は、図6に対してさらに、1時間単位の負荷値の例を付加した図である。図7に示す例において、灰色で表した仮想サーバの停止時間の負荷値はすべて0となっている。
以下では、負荷予測アルゴリズムが168時間周期(1週間の周期)で順次、負荷値を予測していく方法について説明する。この方法では、過去の数週間、例えば10週間の過去のデータ(168時間周期の負荷値のデータ×10)で毎週、各時間の負荷値についての移動平均処理を実行することにより、1週間分の負荷値を予測する。このとき、10週間に亘って特定の1時間に注目すると、その特定の1時間が稼働時間であったか、又は停止時間であったかについて平均処理において考慮される。例えば、特定の1時間に注目したときに、10週間中7週間で稼動時間(3週間で停止時間)であったならば、稼動時間であった7時間分の負荷値の合計を7で割った値を、その特定の1時間の負荷予測値とする。このような移動平均処理を行うことにより、毎週、将来の168時間(1週間)のすべての時間における負荷値が予測される。この168時間(1週間)のすべての時間における負荷値の予測例を図8に示す。
なお、所定期間の移動平均処理により順次負荷値を予測していく上記方法は一例に過ぎず、その他の統計処理(例えば標準偏差を考慮する処理)、及び/又は予測計算の基礎とするデータ(サンプル)の他の取得方法(周期の設定、時間区分の設定等)を用いてもよい。
次に、図9のフローチャートを参照して、負荷予測部24において負荷予測アルゴリズムに従って実行される負荷値の予測処理について説明する。図9において、ステップS10〜S18の処理がm個のすべての仮想サーバVx(x=0,1,…,m)を対象として実行される。
先ず、負荷予測部24は、負荷データベース22を参照し、例えば10週間分の仮想サーバVxの負荷データ(負荷値、動作情報)を取得し(ステップS10)、取得した仮想サーバVxの動作情報を解析する(ステップS12)。すなわち、取得した動作情報により、例えば1分間隔ごとの仮想サーバVxの状態(稼動又は停止)が分かるため(図3参照)、負荷予測部24は、1日のある特定の時間区間において仮想サーバVxの稼動率を算出する。そして、負荷予測部24は、その稼動率が所定の閾値以下であることを条件としてその特定の時間区間が停止時間であると判断し、稼動率が所定の閾値を上回ることを条件としてその特定の時間区間が稼働時間であると判断する。この解析によって、負荷予測部24は、例えば図6に示した、稼動状況に関する予測データを作成する(ステップS14)。さらに、負荷予測部24は、稼動期間(各1時間ごとの稼動時間)中の負荷値を解析する(ステップS16)。具体的には、負荷予測部24は、稼動時間について、ステップS10で取得した1分間隔ごとの負荷値の平均をとり、その稼動時間における負荷値を算出する。これにより、例えば図7に例示したようなマトリクスのデータ(例えば10週間分のデータ)が得られる。そして、負荷予測部24は、稼動時間のみを対象として、10週間分の負荷値の平均をとることで、稼動時間における予測負荷データを得る(ステップS18)。このとき、前述したように、特定の1時間において10週間中7週間で稼動時間(3週間で停止時間)であったならば、稼動時間であった7時間分の負荷値の合計を7で割った値を、その特定の1時間の負荷予測値とする。なお、予測負荷データには、負荷予測値とともに、停止時間の情報も含まれる。
図9に示す処理を、例えば毎週実行することで1週間ごとの負荷予測データがすべての仮想サーバについて生成される。
(5)最適配置作成アルゴリズム
次に、管理サーバ2の最適配置作成部25に実装されている最適配置作成アルゴリズムについて、図10〜図13を参照して詳細に説明する。
最適配置作成部25は、負荷予測部24からすべての仮想サーバについて、例えば将来の1週間分の各時間区間における予測負荷データを得る。予測負荷データを得るタイミングについては特に限定しないが、例えば1時間等、負荷データのサンプルタイミング(図3では1分間)よりも長い期間ごとでよい。
最適配置作成アルゴリズムでは、物理サーバに配置される1又は複数の仮想サーバの負荷予測値の総和がその物理サーバの処理能力に対して所定の比率の範囲(許容範囲)内となるように、各仮想サーバの負荷予測値に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールが決定される。上記許容範囲の上限は、仮想サーバの突発的な負荷上昇に耐えうる余裕を持たせるために設定され、許容範囲の下限は、物理サーバの性能を無駄なく使い、稼動する物理サーバの台数を最小限にとどめることで消費電力の低減を図るために設定される。例えば、上記所定の比率として適性値を70%、上記許容範囲の上限が80%で下限が60%、に設定される。
上記比率の範囲の数値例(適性値:70%,許容範囲:60〜80%)を用いて、以下、スケジュール決定の具体的な方法について、図10を参照して説明する。図10は、ある時間区間における各仮想サーバV1〜Vmの負荷予測値、及び各物理サーバP1〜Pnの処理能力値を例示したものである。図10に示す負荷予測値、及び処理能力値は、説明のための例示に過ぎず、また、両者は比較可能な指標値である。
例えば、図10に示すように、各物理サーバの処理能力値がすべて100であり、配置対象の複数の仮想サーバの負荷予測値の合計が500である場合を想定する。仮想サーバすべてを動作させるのに必要な物理サーバ台数をNとすると、100×N×70%≧500という不等式が成立する最小の整数Nが最低限必要なサーバ台数となる。この場合、N≧7.14となるため、最低8台の物理サーバが必要となる。ここではすべての物理サーバの性能が同一としたが、同一でない場合は、物理サーバ性能の総和に0.7を乗じたものが左辺になると考えてよい。
図10に示す例では、最適配置作成アルゴリズムでは、8台の物理サーバ(P,P,…,P)に対して、負荷予測値が大きい仮想サーバの順で物理サーバに割り当てていく。具体的には、最適配置作成アルゴリズムでは、1番目の仮想サーバVを物理サーバP、2番目の仮想サーバVを物理サーバP、…、8番目の仮想サーバVを物理サーバP、9番目の仮想サーバVを物理サーバP、…、16番目の仮想サーバを物理サーバPというようにして、順番に割り当てる。このとき、割り当てようとした仮想サーバの負荷予測値の合計値が物理サーバの処理能力値100に適正範囲の上限80%を乗じた80を超える場合、その物理サーバには割り当てず、次の物理サーバに割り当てる。次の物理サーバにも割り当てることができず、最終的に8番目の物理サーバPにも割り当てができない場合は、9番目の物理サーバPを新たに用意して割り当てる。このようにして、最適配置作成アルゴリズムでは、すべての仮想サーバを割り当て、ある時間区間における配置スケジュールが作成される。
次に、図11及び図12のフローチャートを参照して、最適配置作成部25において最適配置作成アルゴリズムに従って実行される配置スケジュールの生成処理について説明する。なお、図11は、最適配置作成部25による処理を示すフローチャートであり、図12は、図11における最適化処理を示すフローチャート(上述した最適配置作成アルゴリズムをフローチャートにしたもの)である。
図11において、ステップS20〜S26の処理が、例えば将来の1週間分のすべての時間区間Pt(t=0,1,…,max)を対象として実行される。
最適配置作成部25は先ず、サーバ管理データベース23を参照し、物理サーバと仮想サーバの一覧を取得する(ステップS20)。これにより、配置対象の仮想サーバの仮想サーバID、及び各物理サーバの処理能力値が分かる(図4参照)。次に最適配置作成部25は、負荷予測部24から時間区間Ptにおける全仮想サーバの予測負荷データ(負荷予測値、停止時間のデータ)を取得する(ステップS22)。ステップS20及びS22により、時間区間Ptにおける、配置対象のすべての仮想サーバの負荷予測値と、各物理サーバの処理能力値とが得られたので、上述した最適配置作成アルゴリズムに従って最適化処理が実行される(ステップS24)。
図12を参照すると、この最適化処理は以下のとおり実行される。
すなわち、先ず、図11のステップS22で得られた負荷予測値の合計と、図20で得られた、稼働中の物理サーバの処理能力値とに基づいて、最低限必要な物理サーバの台数の初期値ntmpを算出する(ステップS30)。その後、ステップS32、S34、S36が、時間区間Ptにおける、配置対象のすべての仮想サーバx(x=0,1,…,m)と、ntmp個の物理サーバy(y=0,1,…,ntmp)とに対して実行される。ステップS32及びS34では、各仮想サーバを順に1つずつ物理サーバに割り当てる処理が行われる。ステップS32において、物理サーバyに仮想サーバxを配置可能かについての判断は、物理サーバに配置される仮想サーバの負荷予測値の総和がその物理サーバの処理能力に対して所定の比率の範囲内にあるか否かに基づく。
ステップS36で、物理サーバ0〜ntmpにこれ以上配置できない、すなわち、ステップS30で決めた物理サーバ台数では上記所定の比率の範囲(許容範囲)を満足しない場合には、物理サーバに余裕があることを条件として(ステップS38)、配置先の物理サーバを1台追加した上で(ステップS40)、処理が継続される。
図11の説明に戻る。
図11において最適化処理が実行されると、時間区間Ptにおける最適配置の組合せ(各物理サーバと、各物理サーバに配置される仮想サーバとの組合せ)が決定される(ステップS26)。ステップS20〜S26をすべての時間区間を対象に実行することで、例えば将来の1週間分における1時間ごとの配置スケジュールが作成される(ステップS28)。この配置スケジュールの一例を図13に示す。図13の例では、YYYY/MM/DDの日付の時刻10:00:00において、例えば物理サーバP1に仮想サーバV,V,V,V10,V12が配置される予定であることを示している。配置スケジュールは、配置スケジュールデータとして配置スケジュールデータ格納部28に格納される。
(6)再配置実行部の処理
次に、管理サーバ2の再配置実行部26の処理について、図14〜図16を参照して説明する。
再配置実行部26によって行われる処理は、再配置の実行の対象となる時間区間(「対象時間区間」という。)についての、以下の3つの処理(処理6A,6B,6C)である。
[処理6A]
対象時間区間における配置スケジュールデータを読み込む。また、物理サーバ及び仮想サーバの情報をサーバ管理データベース23に問い合わせる。
[処理6B]
対象時間区間で稼動する物理サーバと、対象時間区間の一つ前の(1時間前の)時間区間で稼動する物理サーバとを比較する。一致する物理サーバ(すなわち、両方の時間区間で稼動する物理サーバ)に対しては特に何も処理しないが、一致しない物理サーバ(すなわち、一方の時間区間のみで稼動する物理サーバ)に対しては電源の投入または停止の指示を行う。ここで、対象時間区間において物理サーバ数が増加する場合、電源の投入が対象時間区間の仮想サーバの配置に先立って行われる。対象時間区間において物理サーバ数が減少する場合、対象時間区間で停止する物理サーバの電源の切断は、その物理サーバに配置されていた仮想サーバを別の物理サーバへ移動し、すべての仮想サーバがその物理サーバ上で動作していない状態になってから実施する。
[処理6C]
処理6Bと同様に、対象時間区間とその一つ前の時間区間において、各仮想サーバが配置されている物理サーバを比較する。その結果、配置される物理サーバが一致する仮想サーバに対しては何も処理を行わないが、一致しない仮想サーバに対してはマイグレーションの指示を行う。
処理6B,処理6Cのいずれにおいても、対象時間区間とその一つ前の時間区間の比較は、処理6Aで読み込まれた配置スケジュールデータを比較することにより行われる。比較するための他の方法として、リアルタイムな稼働状況に関する情報を取得することによって行う方法も考えられる。後者の方法では、スケジュールされていないシステム管理者によるオペレーション、あるいは物理サーバの故障等を考慮することも可能となる。
図14及び図15に再配置実行の例を示す。
図14の例では、(a)に示すように再配置前に物理サーバが8台稼動している場合を想定する。このとき、配置スケジュールデータを参照し、9台の物理サーバが必要なスケジュールであると分かると、再配置実行部26は、(b)に示すように、再配置前に1台の物理サーバの電源を投入する指示を行う。そして、再配置実行部26は、(c)に示すように、新たに電源投入された物理サーバに対して仮想サーバのマイグレーションを行うための指示を出す。
図15の例では、(a)に示すように再配置前に物理サーバが10台稼動している場合を想定する。このとき、配置スケジュールデータを参照し、9台の物理サーバで足りるスケジュールであると分かると、再配置実行部26は、(b)に示すように、仮想サーバのマイグレーションを行うための指示を出し、再配置を実行する。そして、再配置実行部26は、(c)に示すように、マイグレーションにより仮想サーバを1つも配置しなくなった物理サーバの電源を切断する指示を行う。
次に、図16のフローチャートを参照して、特定の時間区間(対象時間区間)に対して、再配置実行部26によって実行される再配置処理について説明する。
図16において、先ず、再配置実行部26は、配置スケジュールデータ格納部28に格納されている配置スケジュールデータを読み出し、その配置スケジュールデータから対象時間区間における配置一覧(仮想サーバをどの物理サーバに配置するかについての一覧のデータ)を読み込む(ステップS50)。そして、再配置実行部26は、サーバ管理データベース23に対して物理サーバ及び仮想サーバの動作情報(“稼動”又は“停止”のいずれかの状態を示す情報)を問い合わせる(ステップS52)。そして、再配置実行部26は、ステップS52で得られた動作情報に基づき、対象時間区間とその1つ前の時間区間における各物理サーバの動作状態を比較し、各物理サーバの動作状態の変化を調べる(ステップS54)。さらに、再配置実行部26は、負荷データベース22を参照して、対象時間区間とその1つ前の時間区間における各仮想サーバの動作状態を比較し、各仮想サーバの動作状態の変化を調べる(ステップS56)。
そして、再配置実行部26は、対象時間区間とその1つ前の時間区間との間で、物理サーバの数を増加させるべき場合には(ステップS58のYES)、新たに追加する物理サーバの電源の投入を指示し(ステップS60)、物理サーバの数を増加させる必要がなければ何もしない。そして、再配置実行部26は、ステップS50で読み出した配置スケジュールデータに従って、仮想サーバのマイグレーションを指示する(ステップS62)。逆に、対象時間区間とその1つ前の時間区間との間で、物理サーバの数を減少させるべき場合には(ステップS64のYES)、削減する物理サーバの電源の切断を指示し(ステップS66)、物理サーバの数を減少させる必要がなければ何もしない。
以上、再配置処理についてフローチャートを参照して説明したが、再配置の実行にあたっては、対象時間区間の処理を開始する時刻に達したことを検知するためのスケジューラを設けることが好ましい。このスケジューラは、システム制御部21に設けてもよいし、再配置実行部26に設けてもよい。システム制御部21にスケジューラを設けた場合は、処理開始時刻に達した時点で再配置実行部26に対して処理開始の指示を出す。
また、再配置処理においては、オンライン又はオフラインで行ったとしても、再配置に処理に関わるオーバヘッド(ネットワーク負荷など)が生ずるため、最適配置作成部25では、このオーバヘッドが極力少なくなるような配置スケジュールとなるように考慮がされたアルゴリズムの実装が好ましい。
(7)物理サーバ故障時及び復旧時の処理
次に、本実施形態の管理サーバ2の好ましい処理として、物理サーバ故障時及び復旧時の処理について説明する。
物理サーバに故障が生じた場合には、故障が生じた物理サーバ上の仮想サーバを代替の別の物理サーバ上へ移動することが好ましい。具体的には、故障監視部27が各物理サーバの状態(正常/故障)について監視し、故障が発生した場合(直ちに物理サーバが停止した場合)にはサーバ管理データベース23上の物理サーバに対応するレコードの故障情報を“故障”と書き換える。同時に、再配置実行部26は、サーバ管理データベース23上物理サーバの故障情報に変化に応じて、代替の別の物理サーバの起動、及び仮想サーバのマイグレーションにより自動復旧を行う。また、最適配置作成部25は、サーバ管理データベース23上物理サーバの故障情報に変化に基づき、故障が生じた物理サーバをスケジュール対象の物理サーバから除外する。
物理サーバに故障ではなく、故障の予兆が発生した場合には、直ちにその故障の予兆が生じた物理サーバを別の物理サーバへの切り替える処理は行わないが、故障監視部27は、サーバ管理データベース23上で、故障の予兆が発生した物理サーバに対応するレコードの故障情報を“故障”と書き換えることが好ましい。これにより、次回の配置スケジュール作成時に、故障の予兆が生じた物理サーバがスケジュール対象の物理サーバから除外される。
なお、ここで故障の予兆とは、サーバに備わる冷却用ファンの回転数に異常が生ずることや、一定期間にコレクタブルエラーが所定の回数以上発生すること等、放置しておけば故障につながる可能性が高い事象をいう。
また、物理サーバが保守交換等により正常に復旧した場合は、故障監視部27がサーバ管理データベース23の該当する物理サーバの故障情報を“正常”に書き換える。これにより、最適配置作成部25では、次回の配置スケジュール作成時に、復旧した物理サーバがスケジュール対象の物理サーバに組み込まれるようになる。
次に、物理サーバ故障時及び復旧時の処理について、それぞれ図17及び図18のフローチャートを参照して説明する。図17は物理サーバで故障または故障予知が発生した場合の処理を示すフローチャートであり、図18は物理サーバが保守交換等により正常に復旧した場合の処理を示すフローチャートである。
図17では、先ず、故障監視部27が各物理サーバを監視することにより、物理サーバの故障/故障予兆を検知する(ステップS70)。そして、物理サーバに故障が生じた場合には(ステップS72)、再配置実行部26は、故障した物理サーバ上に配置されている仮想サーバをすべて代替の別の物理サーバへマイグレーションを行う指示を出す(ステップS74)。ステップS72で物理サーバの故障の予兆が検知された場合には、ステップS74は実行しない。さらに、故障監視部27は、サーバ管理データベース23上で、故障又は故障の予兆が検知された物理サーバの故障情報を“故障”に書き換える(ステップS76)。これにより、最適配置作成部25では、次回の配置スケジュール作成時に、稼動物理サーバの候補、すなわち、スケジュール対象の物理サーバの候補から、故障又は故障の予兆が検知された物理サーバが除外される。
図18では、先ず、故障監視部27が各物理サーバを監視することにより、物理サーバの復旧を検知する(ステップS80)。そして、故障監視部27は、サーバ管理データベース23上で、復旧を検知した物理サーバの故障情報を“正常”に書き換える(ステップS82)。これにより、最適配置作成部25では、次回の配置スケジュール作成時に、スケジュール対象の物理サーバの候補に、復旧した物理サーバが組み込まれるようになる。
なお、前述した最適配置作成アルゴリズム(最適配置作成部25の処理)では、将来の1週間分の配置スケジュールを予め作成する場合について説明したが、配置スケジュールに組み込まれた物理サーバに故障または故障の予兆が発生した場合は、次の時間区間以降について故障または故障の予兆が発生した物理サーバを除外してスケジュールが再作成される。このとき、故障または故障の予兆が発生した物理サーバと同一の処理能力を有し、かつ配置スケジュールに組み込まれていない別の物理サーバが存在する場合には、その別の物理サーバを故障または故障の予兆が発生した物理サーバと置換することで、スケジュールの再作成を省略することも可能である。
故障監視部27による、物理サーバの故障検知(復旧)方法は、特に限定しないが、例えば、物理サーバのベンダなどから提供される監視ソフトからのイベントをトリガにする方法、又は故障監視部27が各物理サーバとの通信により物理サーバの状態に関する情報を収集する方法、オペレータの操作による入力から物理サーバの状態に関する情報を取得・更新する方法等が考えられる。
以上説明したように、本実施形態の管理サーバによれば、複数の仮想サーバの各々の過去の負荷データから負荷予測値を算出し、物理サーバに対する仮想サーバの最適な配置スケジュールを作成し、定期的に再配置が実行される。この配置スケジュールでは、ある物理サーバ上に配置された複数の仮想サーバから予測される負荷値の合計が、その物理サーバの処理能力値に対して適切な比率の範囲に収まるようにして行われる。よって、仮想サーバの突発的な負荷上昇に耐えうる余裕があり、かつ物理サーバの性能を無駄なく使い、稼動する物理サーバの台数を最小限にとどめることで消費電力の低減、ひいては二酸化炭素排出量削減が図られる。
また、上記配置スケジュールの生成及び再配置の実行は、自動的に行われて人手を要しないため、運用・管理コストが上昇しない。
以上、実施形態に係る管理サーバ、及びそのシステムについて詳細に説明したが、本発明の管理サーバは上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのは勿論である。
また、上記実施形態に係る管理サーバの各部の動作に関連して、この管理サーバによって実行される仮想サーバ配置方法が開示される。
この仮想サーバ配置方法によれば、複数の仮想サーバの各々の現在までの所定期間における負荷値に基づいて、各仮想サーバの将来の負荷値(負荷予測値)を予測し、物理サーバに配置される1又は複数の仮想サーバの負荷予測値の総和がその物理サーバの処理能力に対して所定の比率の範囲内となるように、各仮想サーバの負荷予測値に基づいて、複数の仮想サーバを複数の物理サーバに配置するためのスケジュールを決定し、そのスケジュールに従って、複数の仮想サーバの一部又はすべてを、複数の物理サーバの一部又はすべての上に配置するための指示を行う。
上記実施形態に係る管理サーバの各部の動作、又は上記仮想サーバ配置方法は、プログラムによって実現することができる。この場合、上記仮想サーバ配置方法による手順が記述されたサーバ管理プログラムを、例えばシステム制御部21に含まれるマイクロコントローラ(コンピュータ)に実行させ、これにより、負荷予測部24、最適配置作成部25、配置スケジュールデータ格納部28、及び再配置実行部26の各部のハードウエア資源を用いて上記仮想サーバ配置方法が実現される。また、上記プログラムは、ファームウエアとして管理サーバに予め組み込まれるものでもよいし、汎用ソフトウエアとして管理サーバに実行されるものでもよい。
2…管理サーバ、21…システム制御部、22…負荷データベース、23…サーバ管理データベース、24…負荷予測部、25…最適配置作成部、26…再配置実行部、27…故障監視部、28…配置スケジュールデータ格納部、3…管理端末、31…管理情報表示部、4…管理対象サーバ群(複数の物理サーバ、複数の仮想サーバ)

Claims (9)

  1. 複数の仮想サーバを複数の物理サーバに配置するためのサーバ管理プログラムであって、
    複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する手順と、
    各仮想サーバの前記第2負荷に基づいて、前記複数の物理サーバのうちから順に1つずつ物理サーバを選択し、該選択された物理サーバの処理能力に対して割り当てられた負荷の総和が所定の比率の範囲内となるように、前記選択された物理サーバに前記複数の仮想サーバを割り当ててゆくことで、前記複数の仮想サーバを前記複数の物理サーバに配置するスケジュールを決定する手順と、
    前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行う手順と、
    前記複数の物理サーバの一部又はすべての上に配置するための指示を行う手順において、仮想サーバが割り当てられなかった物理サーバの電源を停止させる指示を行う手順と、
    をコンピュータに実行させるためのサーバ管理プログラム。
  2. 前記第2負荷を予測する手順において、
    前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
    請求項1に記載されたサーバ管理プログラム。
  3. 前記スケジュールを決定する手順において、
    前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
    請求項1に記載されたサーバ管理プログラム。
  4. 複数の仮想サーバを複数の物理サーバに配置するための管理サーバであって、
    複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測する負荷予測部と、
    各仮想サーバの前記第2負荷に基づいて、前記複数の物理サーバのうちから順に1つずつ物理サーバを選択し、該選択された物理サーバの処理能力に対して割り当てられた負荷の総和が所定の比率の範囲内となるように、前記選択された物理サーバに前記複数の仮想サーバを割り当ててゆくことで、前記複数の仮想サーバを前記複数の物理サーバに配置するスケジュールを決定するスケジュール生成部と、
    前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行い、該配置するための指示により仮想サーバが割り当てられなかった物理サーバの電源を停止させる指示を行う配置実行部と、
    を備えた管理サーバ。
  5. 前記負荷予測部は、前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
    請求項4に記載された管理サーバ。
  6. 前記スケジュール生成部は、前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
    請求項4に記載された管理サーバ。
  7. 複数の仮想サーバを複数の物理サーバに配置するために、管理サーバによって実行される仮想サーバ配置方法であって、
    複数の仮想サーバの各々の現在までの所定期間における第1負荷に基づいて、各仮想サーバの将来の第2負荷を予測し、
    各仮想サーバの前記第2負荷に基づいて、前記複数の物理サーバのうちから順に1つずつ物理サーバを選択し、該選択された物理サーバの処理能力に対して割り当てられた負荷の総和が所定の比率の範囲内となるように、前記選択された物理サーバに前記複数の仮想サーバを割り当ててゆくことで、前記複数の仮想サーバを前記複数の物理サーバに配置するスケジュールを決定し、
    前記スケジュールに従って、前記複数の仮想サーバの一部又はすべてを、前記複数の物理サーバの一部又はすべての上に配置するための指示を行い、
    前記複数の物理サーバの一部又はすべての上に配置するための指示を行う手順において、仮想サーバが割り当てられなかった物理サーバの電源を停止させる指示を行う、
    仮想サーバ配置方法。
  8. 前記第2負荷を予測するとき、
    前記所定期間のうち仮想サーバの稼動期間を対象として各仮想サーバの前記第1負荷を統計処理し、各仮想サーバの前記第2負荷を算出する、
    請求項7に記載された仮想サーバ配置方法。
  9. 前記スケジュールを決定するとき、
    前記複数の物理サーバのうち故障中の物理サーバを、前記複数の仮想サーバの配置対象から除外する、
    請求項7に記載された仮想サーバ配置方法。
JP2011518062A 2009-06-01 2009-06-01 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法 Active JP5338906B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/002421 WO2010140183A1 (ja) 2009-06-01 2009-06-01 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法

Publications (2)

Publication Number Publication Date
JPWO2010140183A1 JPWO2010140183A1 (ja) 2012-11-15
JP5338906B2 true JP5338906B2 (ja) 2013-11-13

Family

ID=43297332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011518062A Active JP5338906B2 (ja) 2009-06-01 2009-06-01 サーバ管理プログラム、管理サーバ、仮想サーバ配置方法

Country Status (6)

Country Link
US (1) US8782652B2 (ja)
EP (1) EP2439641B1 (ja)
JP (1) JP5338906B2 (ja)
KR (1) KR101351688B1 (ja)
CN (1) CN102449603B (ja)
WO (1) WO2010140183A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011118424A1 (ja) * 2010-03-25 2011-09-29 日本電気株式会社 マシン稼動計画作成装置、マシン稼動計画作成方法、及びマシン稼動計画作成用プログラム
US8782211B1 (en) * 2010-12-21 2014-07-15 Juniper Networks, Inc. Dynamically scheduling tasks to manage system load
JP5257709B2 (ja) * 2010-12-28 2013-08-07 株式会社日立製作所 仮想計算機の移動方法、仮想計算機システム及び管理サーバ
JP5708013B2 (ja) * 2011-02-22 2015-04-30 富士通株式会社 仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラム
JP5412599B2 (ja) * 2011-03-03 2014-02-12 株式会社日立製作所 計算機システム、および、計算機システムにおける仮想計算機の最適配置方法
JP5664376B2 (ja) * 2011-03-17 2015-02-04 日本電気株式会社 仮想計算機割り当てシステム、及び仮想計算機割り当て方法
JP5576827B2 (ja) * 2011-06-03 2014-08-20 日本電信電話株式会社 サーバ管理システム、サーバ管理装置、サーバ管理方法、及びサーバ管理プログラム
TW201305824A (zh) * 2011-07-21 2013-02-01 Hon Hai Prec Ind Co Ltd 電源管理系統及方法
US9183102B2 (en) * 2011-09-30 2015-11-10 Alcatel Lucent Hardware consumption architecture
US9459898B2 (en) * 2011-10-06 2016-10-04 Hitachi, Ltd. Virtual server processing control method, system, and virtual server processing control management server
JP5722247B2 (ja) * 2012-02-10 2015-05-20 株式会社野村総合研究所 仮想サーバ管理システム
CN103368785A (zh) * 2012-04-09 2013-10-23 鸿富锦精密工业(深圳)有限公司 服务器运行监测系统及方法
JP5377775B1 (ja) * 2012-09-21 2013-12-25 株式会社東芝 システム管理装置、ネットワークシステム、システム管理方法およびプログラム
US9104607B2 (en) * 2012-10-31 2015-08-11 International Business Machines Corporation Simulation engine for use in disaster recovery virtualization
EP2755135B1 (en) * 2013-01-14 2016-07-13 Fujitsu Limited Computing device, method, and program for energy-efficient distribution of computational load
JP2014142678A (ja) * 2013-01-22 2014-08-07 Hitachi Ltd 仮想サーバ移行計画作成方法およびシステム
US9384059B2 (en) 2013-05-31 2016-07-05 Hitachi, Ltd. Comparing resource costs between allocation plans in a load balance apparatus
JP6264102B2 (ja) * 2014-03-07 2018-01-24 富士通株式会社 情報処理プログラム、情報処理方法、及び情報処理装置
JP6263083B2 (ja) * 2014-05-13 2018-01-17 日本電信電話株式会社 仮想システムの稼働率管理方法、稼働率管理プログラム、および稼働率管理装置
JP6455035B2 (ja) 2014-09-10 2019-01-23 富士通株式会社 負荷分散管理装置、制御方法およびプログラム
JP6259388B2 (ja) * 2014-12-03 2018-01-10 日本電信電話株式会社 電源制御装置、サーバ仮想化システム、および、電源制御方法
JP5857144B2 (ja) * 2015-03-04 2016-02-10 株式会社野村総合研究所 仮想サーバ管理システム
JP6426532B2 (ja) * 2015-05-08 2018-11-21 株式会社日立製作所 仮想マシン運用支援システムおよび仮想マシン運用支援方法
KR102607808B1 (ko) * 2015-09-11 2023-11-30 삼성전자주식회사 분산 이종 컴퓨터 시스템에서의 최적화된 잡 성능을 위한 동적 자원 재할당
JP6640025B2 (ja) * 2016-05-27 2020-02-05 本田技研工業株式会社 分散処理制御システム及び分散処理制御方法
JP6571046B2 (ja) * 2016-06-21 2019-09-04 株式会社東芝 サーバ装置、情報処理方法及びプログラム
CN110495111B (zh) 2017-02-16 2021-03-23 卡萨系统公司 可缩放演进分组核心
JP6891611B2 (ja) 2017-04-17 2021-06-18 富士通株式会社 管理装置、情報処理システムの制御方法、および管理装置の管理プログラム
US10594216B2 (en) 2018-03-23 2020-03-17 Dell Products, L.P. Configurable voltage drop compensation method and apparatus for voltage regulators
CN108881435B (zh) * 2018-06-15 2021-12-03 广东美的制冷设备有限公司 实时时钟提供方法、服务器、家电设备、系统和介质
JP7035858B2 (ja) 2018-07-03 2022-03-15 富士通株式会社 マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム
JP2020038434A (ja) 2018-09-03 2020-03-12 日本電信電話株式会社 リソース割当装置、リソース割当方法およびリソース割当プログラム
JP7197776B2 (ja) * 2018-11-01 2022-12-28 富士通株式会社 スケジューリングプログラム、スケジューリング方法、およびスケジューリング装置
KR102062157B1 (ko) * 2019-04-29 2020-01-03 오케스트로 주식회사 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102135208B1 (ko) * 2019-07-31 2020-07-17 오케스트로 주식회사 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102135209B1 (ko) * 2019-08-19 2020-07-17 오케스트로 주식회사 가상 머신 배치 모의 실험 방법 및 이를 구현하는 가상 머신 배치 모의 실험 장치
KR102316749B1 (ko) * 2019-07-31 2021-10-25 오케스트로 주식회사 가상 머신 워크로드 예측 방법, 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102347371B1 (ko) * 2019-08-19 2022-01-05 오케스트로 주식회사 딥러닝을 이용한 가상 머신 배치 시뮬레이션 방법 및 이를 실행하는 가상 머신 배치 모의 실험 장치
KR102284074B1 (ko) * 2019-12-26 2021-07-30 연세대학교 산학협력단 가상머신 워크로드 클러스터링 예측을 활용한 높은 전력 효율성을 제공하는 다중 서버 관리 방법
KR102126434B1 (ko) * 2019-12-27 2020-06-25 오케스트로 주식회사 딥 러닝을 활용한 워크 로드 예측을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
JP7261195B2 (ja) * 2020-03-25 2023-04-19 株式会社日立製作所 サーバ負荷予測システム及びサーバ負荷予測方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200347A (ja) * 2007-03-26 2007-08-09 Hitachi Ltd 仮想計算機システム及びプログラム
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP2008276320A (ja) * 2007-04-25 2008-11-13 Nec Corp 仮想システム制御方法およびコンピュータシステム
JP2009110347A (ja) * 2007-10-31 2009-05-21 Hewlett-Packard Development Co Lp 資源管理システム、資源管理装置およびその方法
JP2009116852A (ja) * 2007-10-18 2009-05-28 Fujitsu Ltd マイグレーションプログラム、および仮想マシン管理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271572A (ja) 2002-03-14 2003-09-26 Fuji Photo Film Co Ltd 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
US7689685B2 (en) * 2003-09-26 2010-03-30 International Business Machines Corporation Autonomic monitoring for web high availability
JP3861087B2 (ja) 2003-10-08 2006-12-20 株式会社エヌ・ティ・ティ・データ 仮想マシン管理装置及びプログラム
US7437730B2 (en) * 2003-11-14 2008-10-14 International Business Machines Corporation System and method for providing a scalable on demand hosting system
JP2006172241A (ja) 2004-12-17 2006-06-29 Fujitsu Ltd 負荷分散装置,負荷分散方法および負荷分散プログラム
US7730486B2 (en) 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
JP5229590B2 (ja) * 2007-09-18 2013-07-03 日本電気株式会社 サーバ組替支援システム、サーバ組替支援方法
US8468230B2 (en) 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
JP5378946B2 (ja) 2009-10-26 2013-12-25 株式会社日立製作所 サーバ管理装置およびサーバ管理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP2007200347A (ja) * 2007-03-26 2007-08-09 Hitachi Ltd 仮想計算機システム及びプログラム
JP2008276320A (ja) * 2007-04-25 2008-11-13 Nec Corp 仮想システム制御方法およびコンピュータシステム
JP2009116852A (ja) * 2007-10-18 2009-05-28 Fujitsu Ltd マイグレーションプログラム、および仮想マシン管理装置
JP2009110347A (ja) * 2007-10-31 2009-05-21 Hewlett-Packard Development Co Lp 資源管理システム、資源管理装置およびその方法

Also Published As

Publication number Publication date
EP2439641A1 (en) 2012-04-11
WO2010140183A1 (ja) 2010-12-09
EP2439641A4 (en) 2013-05-01
JPWO2010140183A1 (ja) 2012-11-15
US20120066684A1 (en) 2012-03-15
CN102449603B (zh) 2014-10-08
KR101351688B1 (ko) 2014-01-14
KR20120023703A (ko) 2012-03-13
US8782652B2 (en) 2014-07-15
EP2439641B1 (en) 2016-10-12
CN102449603A (zh) 2012-05-09

Similar Documents

Publication Publication Date Title
JP5338906B2 (ja) サーバ管理プログラム、管理サーバ、仮想サーバ配置方法
US8589932B2 (en) Data processing workload control
EP3847549B1 (en) Minimizing impact of migrating virtual services
EP3550426B1 (en) Improving an efficiency of computing resource consumption via improved application portfolio deployment
US9436516B2 (en) Virtual machines management apparatus, virtual machines management method, and computer readable storage medium
US9807159B2 (en) Allocation of virtual machines in datacenters
US8291414B2 (en) Shared resource service provisioning using a virtual machine manager
US8381219B2 (en) Monitoring performance on workload scheduling systems
US9965264B2 (en) Application bundle pulling
US20080295095A1 (en) Method of monitoring performance of virtual computer and apparatus using the method
US10389850B2 (en) Managing redundancy among application bundles
US10152516B2 (en) Managing staleness latency among application bundles
CN102959510A (zh) 用于计算机功率和资源消耗建模的方法和系统
US10389794B2 (en) Managing redundancy among application bundles
Ying et al. Optimizing energy, locality and priority in a mapreduce cluster
US20220382603A1 (en) Generating predictions for host machine deployments
JP2012181647A (ja) 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
US11562299B2 (en) Workload tenure prediction for capacity planning
US20100274621A1 (en) Method and System for Integration of Systems Management with Project and Portfolio Management
US11656914B2 (en) Anticipating future resource consumption based on user sessions
JP2006344091A (ja) システム再構成自動化装置
JP2011253475A (ja) 計算機システム
US8234513B2 (en) Power management method
US20230032812A1 (en) Auto-split and auto-merge clusters
JP7259288B2 (ja) ジョブスケジューリング装置、管理システム、及びスケジューリング方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130610

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130722

R150 Certificate of patent or registration of utility model

Ref document number: 5338906

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150