説明

サーバ管理システム、サーバ管理方法、及びプログラム

【課題】コストを抑えると共にサービス・レベル・アグリーメント(SLA)違反を回避するサーバ管理システム等を提供する。
【解決手段】サーバ管理システム1は、サービスレベル管理テーブルに記憶されているサービスレベルに関わる情報を基に、仮想マシンで構成された複数のシステムのうち、SLA違反が発生する危険性のあるシステムを自動的に高可用性の環境に移行させる。具体的に、冗長構成可能な場合には仮想マシンを物理サーバ10及び20上に追加してクラスタを構成する一方で、冗長構成が取れない場合には、FTサーバ30に移行する。また、SLAの計算単位期間終了後には、FTサーバ30に移動したシステムや冗長構成にしたシステムを元のシングル構成に戻す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ管理システム、サーバ管理方法、及びプログラムに関し、特に、コストを抑えると共にサービス・レベル・アグリーメント(SLA)違反を回避するサーバ管理システム、サーバ管理方法、及びプログラムに関する。
【背景技術】
【0002】
ネットワーク上のオンラインシステム等のホスティング環境の構築及び保守について、保守管理コスト低減等のため、多くの企業では、データセンタと呼ばれるサービス業者にアウトソーシングしている。
【0003】
通常、こうしたデータセンタでは、顧客との間でサービス品質に関する契約が存在する。これは、一般的にサービス・レベル・アグリーメント(SLA)と呼ばれ、データセンタを提供する側は、システムトラブル等を排し、SLAに従ったサービスレベルを保持する必要がある。
【0004】
従来より、SLAに基づき、計算機の稼働状況を確認しながら、各ユーザに割り当てる資源を決定するというものが知られている(例えば特許文献1及び2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−174201号公報
【特許文献2】特開2002−024192号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来のSLAについては、下記の様な問題点があった。すなわち、可用性を高くするために冗長構成をとると、機器の設置費用及び管理コストが増大してしまうという問題があった。また、一度障害が発生したシステムに障害が再発すると著しいサービスレベルの低下となりSLA違反となってしまいやすいといった問題もあった。
【0007】
このような費用のかさみを防止するためには、できるだけ冗長化していない環境で運用してコストを削減する必要がある。また、SLA違反を防止するためには、障害履歴のあるシステムに障害が再発しないよう、可用性向上のための対処を実施する必要がある。
【0008】
本発明は、上記の課題を解決するためになされたものであり、コストを抑えると共にサービス・レベル・アグリーメント(SLA)違反を回避するサーバ管理システム、サーバ管理方法、及びプログラムを提供する。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の第1の観点に係るサーバ管理システムは、物理サーバ上の仮想マシンによって構成されるシステムにおける所定の状態値が、SLA(service level agreement)に基づいて定められた違反値を超えるか否かを判別することによって、該システムが該SLAに違反する危険性があるか否かを判別するSLA違反判別手段と、前記SLA違反判別手段によって前記SLAに違反する危険性があると判別されたシステムを冗長構成化することが可能か否かを判別する冗長構成化判別手段と、前記冗長構成化判別手段によって前記システムを冗長構成化することが可能であると判別された場合、該システムを構成する前記仮想マシンを複数の前記物理サーバ上に配置して冗長構成化する一方で、該システムを冗長構成化することが不能であると判別した場合、該システムを構成する該仮想マシンを該物理サーバ上から所定のFT(Fault Tolerant)サーバ上に移行する仮想マシン移行手段と、を備える。
【0010】
上記サーバ管理システムは、前記仮想マシン移行手段によって前記冗長構成化された前記システムが再度前記SLAに違反する危険性があるか否かを判別するSLA再違反判別手段と、前記SLA再違反判別手段によって前記システムが再度前記SLAに違反する可能性がないと判別された場合、該システムを構成する前記仮想マシンが配置された前記複数の物理サーバのうちのいずれかの物理サーバ上における該仮想マシンを削減する仮想マシン削減手段と、をさらに備えてもよい。
【0011】
また、上記サーバ管理システムは、前記仮想マシン移行手段によって前記システムが冗長構成化される毎に、多重度を1加算して更新する一方で、前記仮想マシン削減手段によって前記仮想マシンが削減される毎に、該多重度を1減算して更新する多重度更新手段をさらに備え、前記冗長構成化判別手段は、前記多重度更新手段によって更新された前記多重度が、前記SLA違反判別手段によって前記SLAに違反する危険性があると判別されたシステムの最大多重度未満である場合、該システムを冗長構成化することが可能であると判別してもよい。
【0012】
さらに、上記目的を達成するため、本発明の第2の観点に係るサーバ管理方法は、物理サーバ上の仮想マシンによって構成されるシステムにおける所定の状態値が、SLA(service level agreement)に基づいて定められた違反値を超えるか否かを判別することによって、該システムが該SLAに違反する危険性があるか否かを判別するSLA違反判別ステップと、前記SLA違反判別ステップによって前記SLAに違反する危険性があると判別されたシステムを冗長構成化することが可能か否かを判別する冗長構成化判別ステップと、前記冗長構成化判別ステップによって前記システムを冗長構成化することが可能であると判別された場合、該システムを構成する前記仮想マシンを複数の前記物理サーバ上に配置して冗長構成化する一方で、該システムを冗長構成化することが不能であると判別した場合、該システムを構成する該仮想マシンを該物理サーバ上から所定のFT(Fault Tolerant)サーバ上に移行する仮想マシン移行ステップと、を備える。
【0013】
そして、上記目的を達成するため、本発明の第3の観点に係るプログラムは、コンピュータに、物理サーバ上の仮想マシンによって構成されるシステムにおける所定の状態値が、SLA(service level agreement)に基づいて定められた違反値を超えるか否かを判別することによって、該システムが該SLAに違反する危険性があるか否かを判別するSLA違反判別手順と、前記SLA違反判別手順によって前記SLAに違反する危険性があると判別されたシステムを冗長構成化することが可能か否かを判別する冗長構成化判別手順と、前記冗長構成化判別手順によって前記システムを冗長構成化することが可能であると判別された場合、該システムを構成する前記仮想マシンを複数の前記物理サーバ上に配置して冗長構成化する一方で、該システムを冗長構成化することが不能であると判別した場合、該システムを構成する該仮想マシンを該物理サーバ上から所定のFT(Fault Tolerant)サーバ上に移行する仮想マシン移行手順と、を実行させる。
【発明の効果】
【0014】
本発明によれば、コストを抑えると共にサービス・レベル・アグリーメント(SLA)違反を回避するサーバ管理システム、サーバ管理方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【0015】
【図1】サーバ管理システムの構成例を示すブロック図である。
【図2】サービスレベルマネージャの構成例を示すブロック図である。
【図3】構成管理部の構成例を示すブロック図である。
【図4】サービスレベル管理テーブルの構成例を示す図である。
【図5】サービスステータス管理テーブルの構成例を示す図である。
【図6】システム構成テーブルの構成例を示す図である。
【図7】システム管理テーブルの構成例を示す図である。
【図8】リソース管理テーブルの構成例を示す図である。
【図9】移行スケジュールテーブルの構成例を示す図である。
【図10】履歴管理テーブルの構成例を示す図である。
【図11】システム構成制御処理の一例を示すフローチャートである。
【図12】性能監視処理の一例を示すフローチャートである。
【図13】VM再配置案決定処理の一例を示すフローチャートである。
【図14】VM再配置案決定(縮退)処理の一例を示すフローチャートである。
【図15】VM再配置処理の一例を示すフローチャートである。
【図16】サーバ管理システムの動作例を示すタイミングチャートである。
【図17】サーバ管理システムの動作例を示すタイミングチャートである。
【発明を実施するための形態】
【0016】
以下、本発明を実施するための形態について説明する。
【0017】
まず、本実施形態に係るサーバ管理システムの構成について、図面を参照しつつ説明する。
【0018】
図1は、サーバ管理システムの構成例を示すブロック図である。
【0019】
サーバ管理システム1は、図1に示すように、物理サーバ10(S01)と、物理サーバ(S02)20と、FT(Fault Tolerant)サーバ(FT1)30と、共有ディスク40と、ロードバランサ50と、サービスレベルマネージャ100と、から構成され、インターネット(Internet)60を介してサービス利用者端末70、80、及び90に接続されている。
【0020】
物理サーバ10は、例えば汎用サーバコンピュータなどから構成され、物理サーバ10の実リソース上で仮想マシン(Virtual Machine:VM)を実行するとともに実リソースの割当を行うハイパバイザ(HV1)11を備えている。
【0021】
物理サーバ20は、例えば汎用サーバコンピュータなどから構成され、物理サーバ20の実リソース上で仮想マシンを実行するとともに実リソースの割当を行うハイパバイザ(HV2)21を備えている。
【0022】
FTサーバ30は、例えばCPU(Central Processing Unit)、メインメモリ、ハードディスク、ネットワークインタフェイス、PCI(Peripheral Component Interconnect)スロット、及び電源などのハードウェア部品をそれぞれ2つずつ(又は3つ以上)搭載し、冗長化を持たせた構成を有している。FTサーバ30は、FTサーバ30の実リソース上で仮想マシンを実行するとともに実リソースの割当を行うハイパバイザ31(HVft)を備えている。
【0023】
共有ディスク40は、例えばハードディスクなどから構成され、データや仮想マシンのイメージの実ファイル(イメージファイル)を記録する。
【0024】
共有ディスク40には、FTサーバ30環境で実行可能な構成を備え、かかる環境に対応したシステムの場合、通常の物理サーバ10及び20用のイメージファイルと、FTサーバ30用のイメージファイルと、の双方が用意されている。そして、共有ディスク40からは、通常の物理サーバ10及び20用のイメージファイル及びFTサーバ30用のイメージファイルのいずれかが、物理サーバ10、20、及びFTサーバ30のいずれに配置するかに合わせて選択される。
【0025】
ロードバランサ50は、物理サーバ10及び20といった複数のサーバによって提供されるサーバ管理システム1において、そのトラフィックの振分等を行う。
【0026】
サービスレベルマネージャ100は、サービスレベルの管理、仮想マシンの管理、及び実構成の管理を行うとともに、サービスレベルを維持するための組替等を行うもので、例えば汎用サーバコンピュータなどから構成されている。
【0027】
図2は、サービスレベルマネージャの構成例を示すブロック図である。
【0028】
サービスレベルマネージャ100は、図2に示すように、サービスレベル管理部110と、サービス監視部120と、再配置決定部130と、システム構成制御部140と、構成管理部150と、を備えている。
【0029】
サービスレベル管理部110は、例えばCPUや、ROM(Read Only Memory)、RAM(Random Access Memory)などによって実現され、それぞれのサービス毎に、サービス・レベル・アグリーメント(SLA)と状態値とを記録及び管理する。
【0030】
サービス監視部120は、例えばCPUや、ROM、RAMなどによって実現され、それぞれのサービス状況を監視してサービスレベルに関わる情報を収集する。
【0031】
再配置決定部130は、例えばCPUや、ROM、RAMなどによって実現され、サービスレベル管理部110で管理された状態値が所定の違反値や警告値を超えた場合に、SLA違反の危険性(可能性)があるものと判別して、仮想マシンの配置先(移行先)スケジュールを決定する。
【0032】
システム構成制御部140は、例えばCPUや、ROM、RAMなどによって実現され、再配置決定部130で決定された仮想マシンの配置先に従って、配置換えを行う。
【0033】
構成管理部150は、例えばハードディスクなどによって実現され、物理サーバ10及び20の資源情報、サービス、並びに仮想マシンの配置状況を記録したテーブルを管理する。
【0034】
図3は、構成管理部の構成例を示すブロック図である。
【0035】
構成管理部150は、図3に示すように、サービスレベル管理テーブル151と、サービスステータス管理テーブル152と、システム構成テーブル153と、システム管理テーブル154と、リソース管理テーブル155と、移行スケジュールテーブル156と、履歴管理テーブル157と、を有している。
【0036】
サービスレベル管理テーブル151は、各システム毎に、それぞれSLAとして管理すべき項目を記録するもので、レスポンスタイム(応答時間)及び停止時間など最低限守るべき規定の値(サービスレベル)、警告を発する値(警告値)、並びにそれぞれにおいて、契約上のペナルティなどに応じて設定したリスク値(違反リスク値及び警告リスク値)などを記憶する。
【0037】
図4は、サービスレベル管理テーブルの構成例を示す図である。
【0038】
本実施形態において、サービスレベル管理テーブル151には、図4に示すように、サービスレベルID(Identification Data)と、システムIDと、管理項目と、業務IDと、サービスレベル(違反値)と、違反リスク値と、警告値と、警告リスク値と、管理単位と、が対応付けて記憶されている。
【0039】
図3に示すサービスステータス管理テーブル152は、各システム毎に、それぞれSLAとして管理すべき項目ごとにどのような状況にあるか管理するもので、サービス監視部120の監視によって適宜更新される。
【0040】
図5は、サービスステータス管理テーブルの構成例を示す図である。
【0041】
本実施形態において、サービスステータス管理テーブル152には、図5に示すように、サービスレベルIDと、システムIDと、管理項目と、業務IDと、状態値と、違反回数と、警告回数と、前回更新日時と、が対応付けて記憶されている。
【0042】
図3に示すシステム構成テーブル153は、各システムを構成する仮想マシン、その仮想マシンの実態となるイメージファイル、自動対処が可能か否か、並びにクラスタ化可能な最大多重度等のシステム構成を表すものである。
【0043】
図6は、システム構成テーブルの構成例を示す図である。
【0044】
本実施形態において、システム構成テーブル153には、図6に示すように、システムIDと、システム名と、自動対処と、最大多重度と、システム構成マシン名と、通常の物理サーバ10及び20用のイメージファイルと、FTサーバ30用のイメージファイルと、が対応付けて記憶されている。
【0045】
図3に示すシステム管理テーブル154は、各システムがどのような状態にあるかを管理するためのものである。
【0046】
図7は、システム管理テーブルの構成例を示す図である。
【0047】
本実施形態において、システム管理テーブル154には、図7に示すように、システムIDと、対処ステータスと、多重度と、が対応付けて記憶されている。図中、Nullは、特に多重化等対応を行っていない状態を表している。
【0048】
図3に示すリソース管理テーブル155は、各仮想マシンがどのサーバ上で動作しているかを管理する。
【0049】
図8は、リソース管理テーブルの構成例を示す図である。
【0050】
本実施形態において、リソース管理テーブル155には、図8に示すように、仮想マシンIDと、システムIDと、サーバIDと、が対応付けて記憶されている。図中、仮想マシンIDは、仮想マシン名に対応するイメージファイルが実際に仮想マシンとして動作する単位毎に付与される。
【0051】
図3に示す移行スケジュールテーブル156は、移行スケジュールを管理するもので、再配置決定部130によって更新される。新たに仮想マシンを追加する際、空きがない場合には、削除してから追加となるため、このような移行スケジュールテーブル156が必要になる。
【0052】
図9は、移行スケジュールテーブルの構成例を示す図である。
【0053】
本実施形態において、移行スケジュールテーブル156には、図9に示すように、仮想マシンIDと、移行元サーバと、移行先サーバと、移行理由と、が対応付けて記憶されている。
【0054】
図10は、履歴管理テーブルの構成例を示す図である。
【0055】
本実施形態において、履歴管理テーブル157には、図10に示すように、日時と、仮想マシンIDと、移行元サーバと、移行先サーバと、移行理由と、が対応付けて記憶されている。
【0056】
次に、上記構成を備えるサーバ管理システムが実行するシステム構成制御処理について図面を参照しつつ説明する。
【0057】
図11は、システム構成制御処理の一例を示すフローチャートである。
【0058】
システム構成制御処理において、サービスレベルマネージャ100は、まず、図11に示すように、性能監視処理を実行する(ステップS1)。
【0059】
図12は、性能監視処理の一例を示すフローチャートである。
【0060】
性能監視処理が開始されると、サービス監視部120は、まず、図12に示すように、各システムの状況を計測して、所定のレスポンスタイム(応答時間)等の各状況に関する情報を、サービスレベルに関わる情報として収集する(ステップS11)。より具体的に、サービス監視部120は、各リクエストに対するレスポンスタイム(応答時間)を計測したり、定期的にPING(Packet INternet Groper)やリソースの使用状況などを確認したりして、サービスレベルに関わる情報を収集する。
【0061】
次に、サービスレベル管理部110は、ステップS11の処理にて収集した情報を用いて、図5に示すサービスステータス管理テーブル152に記憶されている状態値を更新する(ステップS12)。
【0062】
そして、サービスレベル管理部110は、図4に示すサービスレベル管理テーブル151に記載された管理単位と、図5に示すサービスステータス管理テーブル152に記載された前回更新日時と、から、定期的にそれぞれのサービスの違反回数及び警告回数をリセットしてから(ステップS13)、性能監視処理を終了する。
【0063】
ステップS13の処理では、管理単位と前回更新日時とが、それぞれ図4に示すサービスレベル管理テーブル151と図5に示すサービスステータス管理テーブル152とから読み出され、前回更新日時から管理単位(SLAの計算単位期間)が経過したか否かが判別される。そして、SLAの計算単位期間が経過したと判別された場合には、所定の時間問題がない状況であったと判断して、前回更新日時に対応する違反回数及び警告回数がリセットされるとともに、前回更新日時が現在の日時に更新される。
【0064】
図11に示すステップS1の性能監視処理にて各状況(状態値)を更新した後、サービスレベルマネージャ100は、SLA違反可能性検知処理を実行する(ステップS2)。SLA違反可能性検知処理では、サービスレベル管理部110が、図4に示すサービスレベル管理テーブル151を参照して、違反値や警告値に達したサービスを検知する。
【0065】
ステップS2の処理では、違反値及び警告値と状態値とが、それぞれ図4に示すサービスレベル管理テーブル151と図5に示すサービスステータス管理テーブル152とから読み出され、状態値が違反値や警告値を超えているか否かが判別される。そして、状態値が違反値や警告値を超えていると判別された場合には、SLA違反の可能性があるものと判別されて、状態値に対応するシステムIDが読み出される。
【0066】
ここで、違反値及び警告値に達したサービスを検知した場合には(ステップS3;Yes)、次のVM再配置案決定処理に移行する(ステップS4)。
【0067】
図13は、VM再配置案決定処理の一例を示すフローチャートである。
【0068】
VM再配置案決定処理が開始されると、再配置決定部130は、まず、図13に示すように、移行対象のサービス(違反値及び警告値に達したサービス)を有するシステムについて、図6に示すシステム構成テーブル153を確認して、クラスタ化が可能であるかFTサーバ30への移行が可能であるかを判別することにより、移行形態を決定する(ステップS41)。
【0069】
ステップS41の処理では、システムIDに対応する最大多重度と多重度とが、それぞれ図6に示すシステム構成テーブル153とシステム管理テーブル154とから読み出され、多重度が最大多重度に達しているか否かが判別される。ここで、多重度が最大多重度に達していないと判別された場合には、冗長構成が可能であると判別して、冗長構成(クラスタ構成)の環境に移行させることが決定される。これに対して、多重度が最大多重度に達していると判別された場合には、冗長構成が取れないと判別して、FTサーバ30に移行させることが決定される。
【0070】
次に、再配置決定部130は、ステップS41の処理にて決定した移行形態が、冗長構成の環境への移行かFTサーバ30への移行かを判別する(ステップS42)。
【0071】
ここで、ステップS41の処理にて決定した移行形態が冗長構成の環境への移行であると判別した場合には(ステップS42;Yes)、図8に示すリソース管理テーブル155を参照して、移行可能なリソース候補を抽出する(ステップS43)。そして、再配置決定部130は、それぞれのリソース候補毎に移行コストを算出して、移行先サーバを物理サーバ10及び20のいずれかに決定する(ステップS44)。
【0072】
移行コストは、物理リソースの空き、当該物理リソース上にあるサービスのパフォーマンス状況、及び同一システムに属する仮想マシンの有無等に応じて算出される。例えば、移行先サーバに空きがある場合を優先するときには、以下のような移行コストの算出方法が考えられる。
【0073】
移行先の物理サーバ10及び20に空きがある場合には、同じシステムを構成する仮想マシンを同じ物理サーバ10及び20に集めないようにするとともに、類似の警告(管理種別)で移行してきた仮想マシンを同じ物理サーバ10及び20上に集めないようにするため、以下の数1に示すように、物理サーバ10及び20への移行コストを算出する。
【0074】
【数1】

【0075】
ここで、a〜cは、重み付係数で、サーバ管理システム1を構成する物理サーバ10及び20の規模や実際に稼働する仮想マシンに応じて決定される。
【0076】
これに対して、移行先の物理サーバ10及び20のいずれにも空きがない場合には、多重化されている全てのシステムについて、SLA違反リスクを算出する。
【0077】
再配置決定部130は、以下の数2に示すように、システムiのSLA違反リスクを、それぞれのシステムに設定されたSLA(0〜j)について、違反回数及び警告回数などに重み付けを行って計算する。
【0078】
【数2】

【0079】
新たに警告が発生したシステムiのSLA違反リスクと比較し、新たに警告が発生したシステムiがいずれかのシステムのSLA違反リスクを上回った場合には、当該システムに含まれる仮想マシンのうち、最もコストの低い物理サーバ10及び20にある仮想マシンを特定する。そして、特定した仮想マシンを物理サーバ10及び20からアンマウントし、当該物理サーバ10及び20を移行先として、新たに仮想マシンを配置する。
【0080】
ステップS42の処理にて移行形態がFTサーバ30への移行であると判別した場合や(ステップS42;No)、ステップS44の処理にて移行先を決定した後、再配置決定部130は、当該移行について、図9に示す移行スケジュールテーブル156に記録してから(ステップS45)、VM再配置案決定処理を終了する。
【0081】
ここで、仮想マシンを収容する空きがない場合には、既にクラスタ化又はFT化されている仮想マシンを縮退し、今回対応を行う仮想マシンと入れ替える処理を行う。具体的には、仮想マシンを収容する空きがないと判別した場合、図5に示すサービスステータス管理テーブル152を参照して縮退すべき仮想マシンを決定し、当該移行対象となる仮想マシンよりも前に移行されるよう、図9に示す移行スケジュールテーブル156に記録する。
【0082】
なお、複数のサービスで警告が発生し、仮想マシンの再配置が行われる可能性がある。その場合には、図9に示す移行スケジュールテーブル156を参照して、移行先が重複するか否かを判別し、移行先が重複するときには、後から移行可能なリソース候補を抽出したサービスについて別の移行先を選択すればよい。
【0083】
図11に示すステップS3の処理にて違反値(サービスレベル)及び警告値に達したサービスを検知しなかった場合や(ステップS3;No)、ステップS4の処理を実行した後、サービスレベル管理部110は、減退移行条件検知処理を実行する(ステップS5)。減退移行条件検知処理では、サービスレベル管理部110が、図12に示すステップS13の処理にてSLAの計算単位期間が経過し、違反回数及び警告回数がリセットされたサービスがあるか否かを判別する(ステップS6)。
【0084】
ここで、違反回数及び警告回数がリセットされたサービスがあると判別した場合(ステップS6;Yes)、再配置決定部130は、VM再配置案決定(縮退)処理を実行する(ステップS7)。
【0085】
図14は、VM再配置案決定(縮退)処理の一例を示すフローチャートである。
【0086】
VM再配置案決定(縮退)処理が開始されると、再配置決定部130は、図14に示すように、安全にリソースの空きを確保すべく、当面の違反や警告により仮想マシンの再配置が行われる可能性を判別し、再配置の可能性がないものについて、順次物理サーバ10及び20から縮退(停止)すべき仮想マシンを決定する(ステップS71)。なお、図13に示すVM再配置案決定処理の際と同様に、移行コストを算出して停止する仮想マシンを決定するようにしてもよい。
【0087】
ここで、VM再配置案決定(縮退)処理にて当面の違反や警告が起きないと判別するには、再配置の発生回数は少ない方が安全であることからそもそも少ない方がよく、再配置の発生回数と縮退する仮想マシンの数とは同じ回数の方が安全ではあるが、再配置の発生回数が多いと、移行コストが発生するためできるだけ避けた方がよいといった考え方から、例えば以下の数3に示す評価値を計算し、所定の閾値以下になる仮想サーバを、縮退すべきものと決定すればよい。
【0088】
【数3】

【0089】
なお、d、eは、重みとなる所定の定数である。
【0090】
その後、再配置決定部130は、当該減縮について、図9に示す移行スケジュールテーブル156に記録してから(ステップS72)、VM再配置案決定(縮退)処理を終了する。
【0091】
ステップS6の処理にて違反回数及び警告回数がリセットされたサービスがないと判別した場合や(ステップS6;No)、ステップS7のVM再配置案決定(縮退)処理を実行した後、システム構成制御部140は、図9に示す移行スケジュールテーブル156を確認し、各仮想マシンの配置換え等を行うVM再配置処理を実行する(ステップS8)。
【0092】
図15は、VM再配置処理の一例を示すフローチャートである。
【0093】
VM再配置処理が開始されると、システム構成制御部140は、まず、図15に示すように、図9に示す移行スケジュールテーブル156を確認して、仮想サーバIDと移行サーバと移行先サーバと移行理由とを特定する(ステップS81)。
【0094】
ここで、ステップS81の処理にて特定した移行理由がクラスタ構成の環境への移行又はFTサーバ30への移行である場合には(ステップS82;No)、仮想マシンIDに対応する仮想マシンのイメージファイルを図6に示すシステム構成テーブル153から特定し、移行先(配置先)サーバに共有ディスク40から対象の仮想マシンのイメージファイルの読出を指示して、移行先サーバ上に仮想マシンを配置させる(ステップS83)。
【0095】
また、システム構成制御部140は、移行先サーバ上の仮想マシンを起動させる(ステップS84)。
【0096】
その後、仮想マシンの起動の完了が確認されると(ステップS85;Yes)、移行理由がクラスタ構成の環境への移行であった場合には(ステップS86;Yes)、仮想マシンIDに対応するシステムIDをリソース管理テーブル155から特定する(ステップS87)。
【0097】
そして、システム構成制御部140は、ステップS87の処理にて特定したシステムIDに対応する多重度を1インクリメントするなどして、システム管理テーブル154を更新してから(ステップS88)、VM再配置決定処理を終了する。
【0098】
これに対して、移行理由がFTサーバ30への移行であった場合には(ステップS86;No)、移行処理を実行する(ステップS89)。ステップS89の移行処理では、ステップS83の処理にて特定された移行元サーバ上で現在稼働している仮想マシンの停止を行う一方で、図示せぬメモリの情報を読み出した上、FTサーバ30の仮想マシン上で処理を継続させることにより、仮想マシンをFTサーバ30に移行させる。
【0099】
また、ステップS81の処理にて特定した移行理由が仮想サーバの縮退である場合には(ステップS82;Yes)、移行元サーバ(物理サーバ10及び20)に、仮想サーバIDが示す仮想サーバの停止処理の実行を指示する停止命令を発効する(ステップS90)。
【0100】
その後、移行元サーバ(物理サーバ10及び20)から停止通知を受信して、仮想サーバの停止を確認すると(ステップS91;Yes)、システム構成制御部140は、仮想マシンIDに対応するシステムIDをリソース管理テーブル155から特定する(ステップS92)。
【0101】
そして、システム構成制御部140は、ステップS92の処理にて特定したシステムIDに対応する多重度を1デクリメントするなどして、システム管理テーブル154を更新してから(ステップS93)、VM再配置決定処理を終了する。
【0102】
続いて、上記システム構成制御処理を実行するサーバ管理システムの動作例について図面を参照しつつ説明する。
【0103】
図16及び図17は、サーバ管理システムの動作例を示すタイミングチャートである。
【0104】
この動作例において、初期状態では、図16(a)に示すように、システム001を構成する仮想マシン001M01a及び001M02aが物理サーバ(SO1)10で、システム002を構成する仮想マシン002M01aが物理サーバ(SO2)20で稼働しているものとする。また、システム003は、クラスタ化され、仮想マシン003M01aが物理サーバ(SOl)10で、003M01bが物理サーバ(SO2)20で稼働しているものとする。
【0105】
サービスレベル管理部110は、図11に示すステップS1の性能監視処理において、システム002の停止状態を検知し、ステップS2のSLA違反可能性検知処理において、停止時間が警告時間を超えたか否かを判別する。
【0106】
そして、サービスレベル管理部110によって停止時間が警告時間を超えたと判別された場合(ステップS3;Yes)、再配置決定部130は、ステップS4のVM再配置案決定処理において、仮想マシン002M01aの移行先(再配置先)サーバを決定する。
【0107】
図16(b)に示す動作例では、図13に示すステップS41の処理にてFTサーバ30への移行が可能であると判別されるので、FTサーバ30が移行先サーバとして決定され(ステップS42;No)、ステップS45の処理にて移行元サーバとして物理サーバ20が、移行先サーバとしてFTサーバ30が図9に示す移行スケジュールテーブル156に記録される。
【0108】
そして、システム構成制御部140は、図15に示すステップS83の処理にて図6に示すシステム構成テーブル153を参照し、共有ディスク40から仮想マシン002M01に対応するFTサーバ30用のイメージファイル002M01_f.vmxをFTサーバ30に読み出させ、FTサーバ30上に仮想マシン002M01を配置させるとともに、ステップS84の処理にてFTサーバ30上の仮想マシン002M01を起動させる。
【0109】
その後、サービスレベル管理部110は、図12に示すステップS13の処理にて、図5に示すサービスステータス管理テーブル152を参照して、システム003に対応するSLAの計算単位期間が経過して所定の時間が問題ない状況であったと判別した場合、違反回数及び警告回数等をリセットする。
【0110】
図16(c)に示す動作例では、図14に示すステップS71の処理にて物理サーバ10及び20から縮退(停止)すべき仮想マシンとして、仮想マシン003が決定され、ステップS72の処理にて図9に示す移行スケジュールテーブル156への記録が行われる。
【0111】
そして、システム構成制御部140は、ステップS90の処理にて仮想マシン003を停止させて、仮想マシン003を物理サーバ20上から取り除く。
【0112】
次に、サービスレベル管理部110は、図11に示すステップS1の性能監視処理において、システム001の商品検索の応答時間の低下を検知し、ステップS2のSLA違反可能性検知処理において、応答時間が警告時間を超えたか否かを判別する。
【0113】
そして、サービスレベル管理部110によって応答時間が警告時間を超えたと判別された場合(ステップS3;Yes)、再配置決定部130は、ステップS4のVM再配置案決定処理において、仮想マシン002M01aの移行先(再配置先)サーバを決定する。
【0114】
図17に示す動作例では、図13に示すステップS41の処理にて多重度が最大多重度の範囲内にあり、クラスタ化が可能であると判別されるので、クラスタ化を行うこととし、物理サーバ20が移行先サーバとして決定され(ステップS44)ステップS45の処理にて移行元サーバとして物理サーバ10が、移行先サーバとして物理サーバ20が図9に示す移行スケジュールテーブル156に記録される。
【0115】
そして、システム構成制御部140は、図15に示すステップS83の処理にて図6に示すシステム構成テーブル153を参照し、共有ディスク40からシステム001を構成する仮想マシン001M01及び001M02に対応するイメージファイル001M01_f.vmx及び001M02_f.vmxを物理サーバ20に読み出させ、物理サーバ20上に仮想マシン001M01及び001M02を配置させるとともに、ステップS84の処理にてFTサーバ30上の仮想マシン001M01及び仮想マシン001M01bを起動させる。
【0116】
以上説明したように、本実施形態に係るサーバ管理システム1によれば、ユーザに提供するホスティング環境を、マシンの仮想化技術を用いて構築し、サービスレベル管理テーブル151やサービスステータス管理テーブル152に記憶されているSLA情報や障害履歴などのサービスレベルに関わる情報を基に、仮想マシンで構成された複数のシステムのうち、SLA違反が発生する危険性のあるシステムを、SLA違反が起きないよう、自動的に高可用性の環境に移行させる。
【0117】
具体的に、システム構成テーブル153やシステム管理テーブル154で冗長構成が可能なシステムかどうかを管理しておき、冗長構成可能な場合には仮想マシンを物理サーバ10及び20上に追加してクラスタを構成する一方で、冗長構成が取れない場合には、物理的に堅牢なFTサーバ30に移行する。
【0118】
また、SLAの計算単位期間終了後には、SLAに違反するリスクが低い仮想マシンを物理サーバ10及び20から減らすことにより、FTサーバ30に移動したシステムや冗長構成にしたシステムを元のシングル構成に戻す。
【0119】
このように、SLAの違反状況に応じて、適宜、可用性の高い環境に切り替えることで、コストを抑えると共にSLA違反を回避ことができる。
【0120】
この結果、SLA違反の危険性が発生する以前は、冗長化なしの環境でシステム運用するため、低コストで運用することができる。また、障害発生履歴等によりSLA違反による違約金等のビジネスリスクがあるシステムを高可用性環境に移行することで、リスクを軽減できる。さらに、顧客に高い確率でSLAが保持されるシステムを低価格で提供できる。
【0121】
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。以下、本発明に適用可能な上記実施形態の変形態様について、説明する。
【0122】
上記実施形態では、上記システム構成制御処理を実行させるためのプログラムを、予め既存の汎用コンピュータに適用することで、上記実施形態に係るサービスレベルマネージャ100として機能させるものとして説明した。しかしながら、本発明はこれに限定されるものではなく、例えばコンピュータが読取可能な記録媒体(例えばフレキシブルディスク、CD(Compact Disc)−ROM、DVD(Digital Versatile Disc)−ROMなど)に格納して配布されるプログラムや、インターネット等のネットワーク上のストレージからダウンロードしたプログラムを、既存の汎用コンピュータに適用して、上記実施形態に係るサービスレベルマネージャ100として機能させてもよい。
【0123】
また、上記システム構成制御処理をOS(Operating System)とアプリケーションプログラムとの分担、又はOSとアプリケーションプログラムとの協働によって実行する場合には、アプリケーションプログラムのみを記録媒体やストレージに格納してもよい。また、搬送波にプログラムを重畳し、ネットワークを介して配信することも可能である。例えば、ネットワーク上の掲示板(BBS:Bulletin Board System)に上記プログラムを掲示し、ネットワークを介してプログラムを配信してもよい。そして、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
【符号の説明】
【0124】
1 サーバ管理システム
10 物理サーバ
11 ハイパバイザ
20 物理サーバ
21 ハイパバイザ
30 FTサーバ
31 ハイパバイザ
40 共有ディスク
50 ロードバランサ
60 インターネット
70 サービス利用者端末
80 サービス利用者端末
90 サービス利用者端末
100 サービスレベルマネージャ
110 サービスレベル管理部
120 サービス監視部
130 再配置決定部
140 システム構成制御部
150 構成管理部
151 サービスレベル管理テーブル
152 サービスステータス管理テーブル
153 システム構成テーブル
154 システム管理テーブル
155 リソース管理テーブル
156 移行スケジュールテーブル
157 履歴管理テーブル

【特許請求の範囲】
【請求項1】
物理サーバ上の仮想マシンによって構成されるシステムにおける所定の状態値が、SLA(service level agreement)に基づいて定められた違反値を超えるか否かを判別することによって、該システムが該SLAに違反する危険性があるか否かを判別するSLA違反判別手段と、
前記SLA違反判別手段によって前記SLAに違反する危険性があると判別されたシステムを冗長構成化することが可能か否かを判別する冗長構成化判別手段と、
前記冗長構成化判別手段によって前記システムを冗長構成化することが可能であると判別された場合、該システムを構成する前記仮想マシンを複数の前記物理サーバ上に配置して冗長構成化する一方で、該システムを冗長構成化することが不能であると判別した場合、該システムを構成する該仮想マシンを該物理サーバ上から所定のFT(Fault Tolerant)サーバ上に移行する仮想マシン移行手段と、
を備えるサーバ管理システム。
【請求項2】
前記仮想マシン移行手段によって前記冗長構成化された前記システムが再度前記SLAに違反する危険性があるか否かを判別するSLA再違反判別手段と、
前記SLA再違反判別手段によって前記システムが再度前記SLAに違反する可能性がないと判別された場合、該システムを構成する前記仮想マシンが配置された前記複数の物理サーバのうちのいずれかの物理サーバ上における該仮想マシンを削減する仮想マシン削減手段と、
をさらに備えることを特徴とする請求項1に記載のサーバ管理システム。
【請求項3】
前記仮想マシン移行手段によって前記システムが冗長構成化される毎に、多重度を1加算して更新する一方で、前記仮想マシン削減手段によって前記仮想マシンが削減される毎に、該多重度を1減算して更新する多重度更新手段をさらに備え、
前記冗長構成化判別手段は、前記多重度更新手段によって更新された前記多重度が、前記SLA違反判別手段によって前記SLAに違反する危険性があると判別されたシステムの最大多重度未満である場合、該システムを冗長構成化することが可能であると判別する、
ことを特徴とする請求項2に記載のサーバ管理システム。
【請求項4】
物理サーバ上の仮想マシンによって構成されるシステムにおける所定の状態値が、SLA(service level agreement)に基づいて定められた違反値を超えるか否かを判別することによって、該システムが該SLAに違反する危険性があるか否かを判別するSLA違反判別ステップと、
前記SLA違反判別ステップによって前記SLAに違反する危険性があると判別されたシステムを冗長構成化することが可能か否かを判別する冗長構成化判別ステップと、
前記冗長構成化判別ステップによって前記システムを冗長構成化することが可能であると判別された場合、該システムを構成する前記仮想マシンを複数の前記物理サーバ上に配置して冗長構成化する一方で、該システムを冗長構成化することが不能であると判別した場合、該システムを構成する該仮想マシンを該物理サーバ上から所定のFT(Fault Tolerant)サーバ上に移行する仮想マシン移行ステップと、
を備えるサーバ管理方法。
【請求項5】
コンピュータに、
物理サーバ上の仮想マシンによって構成されるシステムにおける所定の状態値が、SLA(service level agreement)に基づいて定められた違反値を超えるか否かを判別することによって、該システムが該SLAに違反する危険性があるか否かを判別するSLA違反判別手順と、
前記SLA違反判別手順によって前記SLAに違反する危険性があると判別されたシステムを冗長構成化することが可能か否かを判別する冗長構成化判別手順と、
前記冗長構成化判別手順によって前記システムを冗長構成化することが可能であると判別された場合、該システムを構成する前記仮想マシンを複数の前記物理サーバ上に配置して冗長構成化する一方で、該システムを冗長構成化することが不能であると判別した場合、該システムを構成する該仮想マシンを該物理サーバ上から所定のFT(Fault Tolerant)サーバ上に移行する仮想マシン移行手順と、
を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate