JP3987517B2 - 計算機システム及びクラスタシステム用プログラム - Google Patents

計算機システム及びクラスタシステム用プログラム Download PDF

Info

Publication number
JP3987517B2
JP3987517B2 JP2004254427A JP2004254427A JP3987517B2 JP 3987517 B2 JP3987517 B2 JP 3987517B2 JP 2004254427 A JP2004254427 A JP 2004254427A JP 2004254427 A JP2004254427 A JP 2004254427A JP 3987517 B2 JP3987517 B2 JP 3987517B2
Authority
JP
Japan
Prior art keywords
service
computer
load
optimal
relocation
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
JP2004254427A
Other languages
English (en)
Other versions
JP2005100387A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004254427A priority Critical patent/JP3987517B2/ja
Publication of JP2005100387A publication Critical patent/JP2005100387A/ja
Application granted granted Critical
Publication of JP3987517B2 publication Critical patent/JP3987517B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、一般的には、複数の計算機で構成される計算機システムに関し、特に、計算機の障害や負荷状況に応じてサービスの最適配置機能を実現するクラスタシステムの技術に関する。
近年、複数の計算機(例えばサーバ)で構成される計算機システムを管理し、アプリケーションプログラムを実行することによりクライアント端末(ユーザ)に提供するサービスの処理性能及び信頼性を高めるクラスタシステムと呼ばれるソフトウェア技術が開発されている。クラスタシステムは、計算機の起動時や障害発生,負荷状況の変動に対応して、
計算機システム上で稼動するサービスを最適な計算機にスケジュールするなどの機能を有し、可用性の向上や負荷分散を実現する。
クラスタシステムは大別して、負荷分散機能を重視した負荷分散型クラスタシステムと、フェイルオーバ機能を重視した高可用型クラスタシステムがある(例えば、非特許文献1及び非特許文献2を参照)。
クラスタシステムは、システム運用上のルールに相当するポリシ(policy)情報の設定に基づいて、サービスを実行するのに最適な計算機を決定している。通常では、ポリシ情報はユーザの設定により変更可能である。
また、クラスタシステムは、全ての計算機が高負荷状態で、サービスを割当てる最適な計算機が無い場合には、予備用の計算機(プロビジョニング計算機)を利用して対応している。
R. Buyya,"High Performance Cluster Computing: Architecture and Systems(Volume 1&2)",1999年,Prentice Hall 金子哲夫、森良哉、「クラスタソフトウェア」、東芝レビュー、Vol.54 No.12(1999)、p.18-21
近年では、負荷分散型クラスタシステムと高可用型クラスタシステムとが混在するクラスタシステムが開発されている。このようなシステムでは、単純に前記のポリシ情報の設定のみでサービスの最適配置(最適な計算機へのサービスの割当て)がなされると、計算機の負荷状況の変動に応じたサービスの実行が保証されない事態が発生する。具体的には、サービスの自動スイッチオーバを実行すると、負荷の変動に伴なって頻繁にスイッチオーバが発生したり、低優先度サービスが先に実行していた時の対応が不明であったり、またサービスの実行可能な計算機が無い時には、起動されないことがあった。
そこで、本発明の目的は、サービスの最適配置後の動的な負荷状況の変化等のサービスの実行状況に応じたサービスの再配置を確実に行なうことが可能なクラスタシステムを実現することができる。
本発明の一観点に従った2台以上の計算機を持つ計算機システムは、前記各計算機が実行する複数のサービスの割当て処理を決定するためのポリシ情報を保存するポリシ管理部と、前記ポリシ情報に従って、各サービスを最適な計算機に割当てる処理を実行するサービス最適配置部と、前記計算機間におけるサービスの実行状況に応じて、前記サービス最適配置部により割当てられたサービスの再配置処理を前記ポリシ情報を参照して実行するサービス再配置部とを具備することを特徴とする。
本発明の他の観点によれば、特に、負荷分散型クラスタシステムと高可用型クラスタシステムとが混在する複合クラスタシステムにおいて、動的な負荷状況の変化に応じたクラスタシステム間のサービスの最適配置を可能とする構成を有する計算機システムが構成される。
本発明によれば、サービスの最適配置後の動的な負荷状況の変化等のサービスの実行状況に応じたサービスの再配置を確実に行なうことが可能なクラスタシステムを実現することができる。
以下図面を参照して、本発明の実施形態を説明する。
(第1の実施形態)
図1は、第1の実施形態に関する計算機システムのシステム構成を示すブロック図である。
計算機システムは、例えば4台の計算機C1〜C4がネットワークN上で相互に接続された構成である。各計算機C1〜C4はそれぞれ、オペレーティングシステム(OS-1〜OS-4)31〜34の制御下で動作する。なお、ここでは、1台の予備用の計算機(プロビジョニング計算機)C5がネットワークNを介して計算機システムに接続されている。更に1台またはそれ以上の予備用の計算機をネットワークNに接続してもよい。
計算機C1〜計算機C4によって、クラスタシステムを構成している。このクラスタシステムでは、クラスタ制御部(CS1)10が動作する。クラスタ制御部10は、計算機C1〜計算機C4にそれぞれ設けられたクラスタ制御用のプログラム(クラスタソフトウェア)(図示せず)が相互に通信を行いながら同期して一体となって動作することにより実現されるバーチャルマシンである。このため、クラスタ制御部10は計算機C1〜計算機C4にまたがって存在していると考えることができる。クラスタ制御部10は、サービス最適配置機能を実現するサービス最適配置部11、サービス再配置機能を実現するサービス再配置部12、ポリシ管理機能を実現するポリシ管理部13、負荷管理機能を実現する負荷管理部14、及びサービス制御機能を実現するサービス制御部15を有する。
サービス最適配置部11は、サービスの起動が必要になった場合に、サービス実行に最適な計算機を、ポリシ管理部13により保管されているポリシ情報に従って決定する。ポリシ情報は、具体的には例えば以下のような項目(1)〜(5)のポリシ(運用上のルール)を指定する。
(1)サービスの優先順位。
サービス毎に実行を優先する順位が付けられる。サービスの優先順位に従って、必要なリソース、即ち計算機を割当てる順序が決められる。また、優先順位の高いサービスを実行するために優先順位の低いサービスを停止させることもある。
(2)サービスに割当てる計算機の優先順位。
サービスを実行可能な計算機が複数あるときに優先的に割当てられる計算機の順位をつける。
(3)サービス間の関係(排他,依存など)。
同時に実行不可能なサービスを排他関係にあるサービスと言い、他のサービスが実行されている時にしか実行できないサービスを依存関係にあるサービスとする。また、同じ計算機で実行不可能なサービスをサーバ排他関係にあるサービスと言い、他のサービスが実行されている時にしか実行できないサービスをサーバ依存関係にあるサービスとする。このようなサービス相互間の関係を設定する。
(4)サービス実行の必須リソース(周辺機器など)の割当て。
サービスを実行するのに必須なリソースを設定し、そのリソースを持つ計算機以外でサービスが実行されないように設定する。
(5)計算機の負荷状況(最低負荷状況の計算機に割当てる)。
サービスを実行するときに最低負荷の計算機を選択し、そのサービスを実行しても過負荷にならない計算機を選択するなどの条件を設定する。
サービス再配置部12は、本実施形態の要旨に関する要素であり、サービスの負荷状況の変化や計算機停止に至らない障害発生などで、サービスの計算機配置に不均衡が発生した時に、サービスの再配置をポリシ管理部13により保管されているポリシ情報に従って決定する。
この再配置に関するポリシ情報は、例えば以下のような項目(1)〜(4)のポリシを指定する。
(1)自サービスのスイッチオーバの可/不可。
実行中のサービスを停止し、この停止したサービスを他の計算機で実行を継続させるために他の計算機に移送することをスイッチオーバと言う。このスイッチオーバの可・不可の設定をする。これは、予め静的に設定する場合と、クリティカルな処理を実行中に不可に設定する動的な設定をする場合とがある。
(2)サービスの実行可能なノードが無い場合に他サービス停止の可/不可。
あるサービスの起動時にこれを実行可能な計算機がない場合に当該サービスより優先度の低い実行中のサービスを停止してそのサービスを起動させることの可・不可を設定する。
この場合、停止されたサービスは他の計算機へスイッチオーバするように設定される場合がある。これらの設定は、システム全体、サービス単位、あるいは計算機単位で設定することができる。
(3)スイッチオーバ/停止サービスの判定基準(高負荷優先/低負荷優先)。
判断基準の例としては、
高負荷のサービスから先にスイッチオーバ・停止させる場合、
低負荷のサービスから先にスイッチオーバ・停止させる場合、
スイッチオーバ・停止させるサービスの優先順位を設定する場合
がある。このような設定をシステム単位、計算機単位で設定することが可能である。
また、最後に1つだけ残ったサービスのスイッチオーバの可/不可の設定にはそのサービスの大きさと計算機の容量との関係などを考慮して設定する必要がある。例えば、ある計算機に対しては過負荷となるサービスを同じ程度の容量の計算機にスイッチオーバしてもやはり過負荷となり、この場合はスイッチオーバは不可となる。
(4)負荷状況の変化時の対応。
計算機の負荷状況が変化したときにサービスのスイッチオーバ/停止などを実行するかどうか、を設定する。負荷状況は変化の閾値なども設定できる。
(4−1)現状維持重視の場合で、サービスのスイッチオーバ/停止が起きない程度でサービスの再配置を実行する。
(4−2)最適配置重視の場合で、たとえサービスのスイッチオーバ/停止が起きても最適になるようにサービスを再配置する。
このほかに、例えばある計算機にその停止に至らない程度の不具合が生じて一時的にその容量が低下した時なども後で述べるサービス再配置部はその必要性を検知してサービス再配置の処理が行われる。
これらのポリシ情報は、予めユーザにより設定が可能である。なお、再配置が決定したサービスは、サービス最適配置部11によって、実行される計算機が割当てられるまで停止状態になる。
ポリシ管理部13は、サービス最適配置部11やサービス再配置部12が使用するポリシ情報を保存・管理している。
負荷管理部14は、各計算機C1〜C4でのサービス負荷や計算機負荷状況を判定し、
この判定結果によりサービスの再配置が必要な場合には、その旨を負荷情報と共にサービス再配置部12に通知する。この通知を受けて、サービス再配置部12は、後述するようなサービスの再配置処理を実行する。
当該負荷情報には、各計算機C1〜C4のCPU、メモリ、ディスクの使用量やレスポンスタイムなどが含まれる。また、各計算機C1〜C4はそれぞれ、ノード負荷モニタ21〜24を有し、それぞれの負荷状況を監視している。
(クラスタシステムの動作)
クラスタシステム10は、ユーザが作成した並列実行型サービス及び高可用型サービスの実行を管理する。並列実行型サービスは、例えばWebサービスなどであり、一時期に複数の計算機C1〜C4で同時に実行可能なタイプのサービスである。並列実行型サービスが一時期に実行されるサービス数は、負荷管理部14により管理されており、高負荷になればサービス数が増大し、低負荷になればサービス数が減少する。
一方、ユーザが作成した高可用型サービスは、例えばデータベース検索サービスなどであり、一時期にどこか一つの計算機(例えばC2)でのみ実行可能なタイプのサービスである。高可用型サービスは、障害発生時にフェイルオーバや、障害予測時や高負荷時のスイッチオーバで他の計算機に移動して処理を継続するように作成されている。
例えば計算機C2で実行中の高可用型サービスの負荷が急激に上昇したときに、クラスタシステム10の負荷管理部14は、当該計算機C2の負荷が限界に近いと判定すると、サービスの再配置の必要をサービス再配置部12に通知する。
サービス再配置部12は、ポリシ管理部13で保管されているポリシ情報(ユーザにより設定可能)に従って、高可用型サービスまたは並列実行型サービスのサービス再配置処理を開始する。
具体的には、サービス再配置部12は例えば並列実行型サービスの再配置を決定すると、これを受けて、サービス制御部15が一時的に並列実行型サービスの停止を行なう。この並列実行型サービスの停止後に、サービス最適配置部11は、サービス実行に最適な計算機(例えばC1)を選択する。選択された計算機(例えばC1)上のサービス制御部15は、並列実行型サービスを起動させることで、サービスの自動スイッチオーバを実行する。
以上のようなクラスタシステム10によるサービス自動スイッチオーバ機構により、動的な負荷変動に対応したサービスの最適配置が可能になる。
(サービス配置処理)
以下図2のフローチャートを参照して、本実施形態のクラスタシステム10のサービス再配置処理の手順を説明する。
サービス再配置部12は、ポリシ管理部13に問い合わせを実行して、例えばユーザにより設定されたポリシ情報の設定に従って再配置処理を実行する。ポリシ情報は、前述したように、例えば以下のような項目(1)〜(4)のポリシを指定する。
(1)サービス毎のスイッチオーバの可/不可。
(2)サービスの実行可能なノードが無い場合に他サービス停止の可/不可。
(3)スイッチオーバ/停止サービスの判定基準。
(3−1)高負荷優先/低負荷優先。
(3−2)最後のサービスのスイッチオーバの可/不可。
(4)負荷状況の変化時の対応。
(4−1)現状維持重視の場合で、サービス停止が起きない程度で再配置。
(4−2)最適配置重視の場合で、サービス停止を起こしながら再配置。
前述したように、負荷管理部14は、負荷状況の判定に応じて、サービスの再配置が必要であるか否かを判定する(ステップS1)。この判定基準としては、例えば「計算機が継続的に高負荷でサービス実行の遅延が予測される場合」や、「計算機に実行待ちになっている高負荷(予測)の高優先度サービスがある場合」等であり、サービスの再配置が必要であると判断される。
以下、サービスの再配置が必要な場合の処理(ステップS1のYES)を説明する。
サービス再配置部12は、ポリシ情報のポリシ(1及び3)に従って、サービスのスイッチオーバや、停止可能なサービスがあるか否かを判定する(ステップS2)。判定結果が「YES」であれば、クラスタシステム10のサービス制御部15は、スイッチオーバ可能と設定されたサービスより、優先度の低いものからサービスの再配置が必要なくなるまでサービスのスイッチオーバを実行する(ステップS3)。
一方、スイッチオーバ可能なサービスが無い場合は、サービス再配置部12は、ポリシ情報のポリシ(2)に従って、強制処置が可能であるか否かを判定する(ステップS2のNO,S4)。強制処置が可能であれば、優先度の低いものからサービスの再配置が必要なくなるまでスイッチオーバを実行する処理に移行する(ステップS4のYES,S3)。
強制処置できない場合は、クラスタシステム10は、利用可能なプロビジョニング計算機(予備計算機)を探索し、存在する場合には当該計算機C5を追加する(ステップS4のNO,S5,S6)。ここで、追加されたプロビジョニング計算機C5は、計算機システムの負荷が低下したときに返却の指定がある場合には、当該負荷が低下したときに返却される。なお、利用可能なプロビジョニング計算機が存在しない場合には、一定時間のスリープ状態を経てリターンとなる(ステップS5のNO,S11)。
次に、負荷管理部14の判定結果により、サービスの再配置が不必要である場合について説明する(ステップS1のNO)。
サービス再配置部12は、ポリシ情報のポリシ(4−2)に従って、最適化配置重視で高負荷になりつつある場合には、サービス再配置処理を実行する(ステップS7のYES,S8のYES)。そうでなければ、サービス再配置処理は終了となる(ステップS7のNO,S8のNO)。
ここで、計算機が高負荷になりつつあるか否かの判定は、一定の間隔で平均した負荷が単調に増加していて、遠くない将来において高負荷になることが予測できるか否かで判定できる。
さらに、サービス再配置処理を実行する場合に、サービス再配置部12は、サービスを移動した方がより最適な配置かどうかを判定し、最適な場合にはサービスのスイッチオーバを実行する(ステップS9のYES,S10)。最適な配置であると判断できない場合には、サービス再配置処理は終了となる(ステップS9のNO)。
ここで、最適な配置の判断基準は、選択された計算機で再配置するサービスを現在と同じ負荷で稼動させた場合、計算機間の負荷の状態がより平均化される場合である。また、サービスのスイッチオーバのオーバヘッドを加味しても、選択された計算機で処理を行う方が早いと考えられる場合などである。
ここで、サービス再配置のポリシとして、サービス毎にスイッチオーバの可/不可や現状維持重視のポリシが出来ることや、スイッチオーバで停止しても、スイッチオーバ先の計算機で起動可能にならないかぎり実行されないことで、計算機の負荷変動に過敏に反応して、スイッチオーバを繰り返す事を防止することが可能になる。
以上要するに、本実施形態のクラスタシステムであれば、ポリシベースで管理されたサービス再配置機能を持たせることで、動的な負荷状況の変化に応じてサービスの再配置を可能とし、かつ、ユーザの運用環境に合ったクラスタシステムの構築を容易に実現することが可能となる。
(第2の実施形態)
図3から図5は、第2の実施形態に関する計算機システムのシステム構成及びその変化を示すブロック図である。
図3に示すように、初期状態での計算機システムは、例えば5台の計算機C1〜C5がネットワークN上で相互に接続された構成である。さらに、ネットワークN上には6台目の計算機C6が接続されている。当該計算機C6は、停止しており、プロビジョニング計算機(予備計算機)としてプロビジョニング計算機プール60に登録されている。
プロビジョニング計算機プール60とは、停止している1台又は複数台の計算機をプロビジョニング計算機として登録したことを概念的に図示し総称したものである。
計算機をプロビジョニング計算機としてプロビジョニング計算機プール60に登録することは、図示しないプロビジョニング計算機に関する情報(例えばプロセッサ名やMACアドレスなど)を登録情報として登録することを意味し、この登録情報によりプロビジョニング計算機プール60に登録された複数のプロビジョニング計算機を管理する。
計算機C1〜C3はそれぞれオペレーティングシステムOS(OS-1-1〜OS-1-3)の制御下で稼動中である。また、計算機C4,C5はそれぞれオペレーティングシステムOS(OS-2-1,OS-2-2)の制御下で稼動中である。
稼動中の計算機C1〜C5では、プロビジョニング計算機割当て機能を実現するプロビジョニング計算機割当て部31と、プロビジョニング計算機切離し機能を実現するプロビジョニング計算機切離し部32と、プロビジョニングポリシ管理機能を実現するプロビジョニングポリシ管理部(以下単にポリシ管理部との略す場合がある)33とが稼動している。計算機C1、計算機C2、計算機C3でそれぞれプロビジョニング計算機割当て部31と、プロビジョニング計算機切離し部32と、プロビジョニングポリシ管理部33とが稼働し相互に通信を行いながら同期をとって連携することで、計算機C1、計算機C2、計算機C3がクラスタシステムCS1を構成する。符号30は、クラスタシステムCS1を模式的に図示している。一方、計算機C4、計算機C5でそれぞれプロビジョニング計算機割当て部31と、プロビジョニング計算機切離し部32と、プロビジョニングポリシ管理部33とが稼働し相互に通信を行いながら同期をとって連携することで、計算機C4、計算機C5がクラスタシステムCS2を構成する。符号40は、クラスタシステムCS2を模式的に図示している。これらの各クラスタシステムは、相互に無関係であり、相互にサービスを関係付けたりすることは無い。
本計算機システムには、ストレージエリアネットワークSAN( Storage Area Network )45を介して複数のストレージ装置(ディスク装置)50〜57、70が接続されている。
本計算機システムでは、各計算機を起動するためのブートイメージを、ストレージ装置(ディスク装置)50〜57に予め記憶させ登録している。ここでブートイメージとは、計算機を起動するためのオペレーティングシステム及びこのオペレーティングシステムで実行可能なアプリケーションプログラムを含んでいる。
各ストレージ装置50〜53及び54〜57には、それぞれブートイメージOS−1−1、OS−1−2、OS−1−3、OS−1−4、OS−2−1、OS−2−2、OS−2−3、OS−2−4が登録されている。例えば計算機C3を起動させるためのブートイメージ(OS-1-3)をストレージ装置52上に登録している。計算機C3をこのブートイメージ(OS-1-3)を用いて起動させると、当該計算機C3は、OS(OS-1-3)によりその動作が制御される稼動計算機となる。図3において、どの計算機がどのブートイメージで起動したかを矢印で図示した。
一方、図5に示すように、計算機C3を起動させるためのブートイメージ(OS-2-4)をストレージ装置57上に登録している。計算機C3をこのブートイメージ(OS-2-4)を用いて起動させると、当該計算機C3は、OS(OS-2-4)によりその動作が制御される稼動計算機となる。図5において、どの計算機がどのブートイメージで起動したかを矢印で図示した。
(クラスタシステムの動作)
プロビジョニング計算機割当て部31は、クラスタ制御部30,40で実行する計算機が必要になった場合、ポリシ管理部33を介してアクセス可能なプロビジョニングポリシデータベース(以下ポリシDBと略す)70に蓄積されたプロビジョニングポリシ情報に従って、プロビジョニング計算機をクラスタシステムに割当てる。
プロビジョニング計算機切離し部32は、クラスタ制御部30,40で実行する計算機に余剰が発生した場合、ポリシ管理部33を介してアクセス可能なポリシDB70に従って、クラスタシステム内の計算機を切離し、プロビジョニング計算機としてプール60に登録する。
ポリシ管理部33は、プロビジョニングポリシ情報(以下単にポリシ情報と略す場合がある)の設定/参照機能を提供する。当該ポリシ情報は、例えば以下のような項目(1)〜(4)のプロビジョニングポリシを指定する。
(1)クラスタシステム毎の計算機割当てレベル(優先度)。
同時に二つ以上のクラスタシステムからプロビジョニング計算機要求が来た場合、優先的に割り当てるクラスタシステムの順位(優先度)の設定をする。クラスタシステムからの要求があったときに必要なプロビジョニングノードが無い場合に、優先度の低いクラスタシステムに割当てられた計算機を強制的に要求のあったクラスタシステムに割当てる場合もある。
(2)提供計算機の返還の可/不可。
クラスタシステムにおいて割当てられたプロビジョニング計算機をプロビジョニングプールに変換することが可能か否かを設定する。従って、この設定で不可の場合は、そのクラスタシステム内の割当て計算機数は増加する一方となる。
(3)提供計算機の強制返還の可/不可。
プロビジョニングプールよりクラスタシステムへ提供されている計算機を強制的に返還させることができるか否かを設定する。すなわち、強制的に返還させてもシステムの運用に支障がないかなどを設定の際の条件とする。例えば、優先度の高いクラスタシステムより要求があったときにプロビジョニングプールに予備の計算機がない場合には、優先度の低いクラスタシステムへ強制返還の要求が行くように設定される。
(4)提供計算機数の指標(必須計算機数,最大計算機数,初期計算機数)。
クラスタシステムを構成するために必要な計算機数を必須計算機数とする。クラスタシステムに割当て可能な最大の計算機数を最大計算機数とする。また、クラスタシステムの起動時に最適な割当て計算機数を初期計算機数とする。このように、クラスタシステムへ提供する計算機数を決定する際の指標を設定することができる。
ポリシ情報は、通常では、ユーザが計算機システムの構築/保守時に、ポリシDB70に設定される。
図8には、図3に示したクラスタシステムにおける各計算機に登録するためのプロビジョニングDB70に登録したプロビジョニングポリシ情報の一例を示す。
(プロビジョニング計算機割当て処理)
以下図6のフローチャートを参照して、本実施形態のプロビジョニング計算機割当て処理の手順を説明する。
まず、図3に示すように、初期状態での計算機システムは、計算機C1〜C3が稼動中であり、クラスタシステム(CS1)30が動作中である。また、計算機C4,C5が稼動中であり、クラスタシステム(CS2)40が動作中である。さらに、計算機C6は、停止しており、プロビジョニング計算機としてプール60に登録されている。
ここで、クラスタシステム(CS2)40の負荷が増大し、2台の計算機C4,C5では処理できない状況になると、クラスタシステム(CS2)40はプロビジョニング計算機割当て部41に計算機追加を要請する(ステップS21のYES)。
プロビジョニング計算機割当て部41は、プロビジョニング計算機プール60を検索し、
登録されている計算機C6を取り出し、要求されたクラスタシステム(CS2)40に追加する(ステップS23のYES,S24)。ここで、プロビジョニング計算機割当て部41は、図4に示すように、クラスタシステム(CS2)40に所属するブートイメージの中で、使用されていないブートイメージ(OS-2-3)をストレージ装置56から取り出し、計算機C6に接続して起動させる。
但し、クラスタシステム(CS2)40から、ブートイメージの満たすべき要件が、詳細に指定された場合は、その要件に合うブートイメージを検索することになる。
ところで、2つのクラスタシステム30,40から同時に、計算機追加の要求がなされた場合には、プロビジョニング計算機割当て部31,41は、ポリシ管理部33,43を介してポリシDB70をアクセスし、ポリシ情報に従って計算機割当てレベルの大きいクラスタ制御部を選択する(ステップS22)。そして、例えばクラスタシステム(CS2)40の方が割当てレベルが大きい場合には、プロビジョニング計算機割当て部41は、プロビジョニング計算機プール60を検索し、登録されている計算機C6を優先的に割当てる(ステップS23のYES,S24)。
さらに、クラスタシステム(CS2)40の負荷がさらに増大し、3台の計算機C4〜C6でも処理ができなくなると、クラスタ制御部40は、プロビジョニング計算機割当て部41に計算機追加を要請する。
プロビジョニング計算機割当て部41は、プロビジョニング計算機プール60には計算機が登録されていないため、前記のポリシ情報に従って強制返還可能なクラスタ制御部が存在するか否かを判断する(ステップS23のNO,S25)。存在しない場合には、一定時間のスリープ状態を経て、計算機がプール60に登録されるまで待機状態となる(ステップS25のNO,S26)。
一方、例えばクラスタシステム(CS1)30が強制返還可能な場合には、プロビジョニング計算機割当て部41は、当該クラスタシステム(CS1)30上の計算機に強制返還を要求する(ステップS25のYES)。強制返還を要求されたクラスタシステム(CS1)30の計算機上のプロビジョニング計算機切離し部32は、切り離し可能な計算機(例えばC3)を決定し、プロビジョニング計算機としてプロビジョニング計算機プール60に登録する(ステップS27)。
クラスタシステム(CS1)30から切離された計算機C3がプロビジョニング計算機プール60へ登録されると、クラスタシステム(CS2)40のプロビジョニング計算機割当て部41は、プロビジョニング計算機プール60を検索し、登録されている計算機C3を取り出して割当てる(ステップS23のYES,S24)。
プロビジョニング計算機割当て部41は、図5に示すように、クラスタシステム(CS2)40に所属するブートイメージの中で、使用されていないブートイメージ(OS-2-4)をストレージ装置57から取り出し、計算機C3に接続して起動させる。
(プロビジョニング計算機切離し処理)
次に、図7のフローチャートを参照して、本実施形態のプロビジョニング計算機切離し処理の手順を説明する。
ここでは、クラスタシステム(CS1)30のプロビジョニング計算機切離し部32は、計算機切り離し要求を受けると、ポリシ情報に従って、クラスタシステム(CS1)30上の切離し可能な計算機(ここではC3)を決定する(ステップS31のYES,S33)。
さらに、プロビジョニング計算機切離し部32は、決定した計算機C3で稼動中のサービスにスイッチオーバ要求を出す(ステップS34)。ここで、クラスタ制御部30において、ポリシ情報に従って、切離し条件として全サービスの停止待ちの場合には、プロビジョニング計算機切離し部32は、全サービスの停止を待って、計算機C3を切離して、プロビジョニング計算機としてプロビジョニング計算機プール60に登録する(ステップS35のYES,S37,S38)。
一方、切離し条件として全サービスの停止待ちではない場合には、プロビジョニング計算機切離し部32は、切離し準備として一定時間だけ待って、計算機C3を切離して、プロビジョニング計算機としてプロビジョニング計算機プール60に登録する(ステップS35のNO,S36,S38)。
以上のように本実施形態によれば、複数のクラスタシステムからプロビジョニング計算機の追加要求があった場合に、ポリシ情報に従って、例えば強制返還が設定されているクラスタシステム(CS1)30から、相対的に計算機割当てレベルの高いクラスタシステム(CS2)40へ、計算機を切離して割当てる処理を実行できる。要するに、クラスタシステム毎にプロビジョニングポリシを設定可能なプロビジョニング計算機の割当て/切離し機能を持つことにより、クラスタシステム間で計算機割当てレベルに基づいた最適な計算機の割当て(移動)が可能となる。このようなクラスタシステムと、例えば課金システムとを連動させることで、ネットワークサービスでの高度なSLA(service level agreement)等を実現するシステムを構築することが可能になる。
この実施形態の種々の実施の態様をまとめると次のようになる。
(1)2台以上の計算機が接続されて、2つ以上のクラスタシステムを実現する計算機システムにおいて、
前記各クラスタシステムが共通して使用可能な少なくとも1つのプロビジョニング計算機と、
プロビジョニング計算機の割当て処理又は切離し処理のポリシを指定するためのポリシ情報を変更可能に保存するポリシ管理手段と、
前記ポリシ情報に従って、前記少なくとも1つのプロビジョニング計算機から追加要求の計算機を割当る割当て処理または余剰な計算機を切離す切離し処理を実行する割当て/切離し手段と
を具備した計算機システム。
(2)前記割当て/切離し手段は、前記ポリシ情報に従って少なくとも1つのプロビジョニング計算機として登録されている計算機、または他のクラスタシステムで使用されている計算機を、必要なクラスタシステムに割当てる(1)項に記載の計算機システム。
(3)前記割当て/切離し手段は、前記ポリシ情報に従ってクラスタシステムで使用されている計算機を切離し、前記少なくとも1つのプロビジョニング計算機として登録する(1)項に記載の計算機システム。
(4)前記ポリシ管理手段は、前記ポリシ情報を変更可能に保存するデータベースを管理し、前記各計算機からのアクセスに応じて、当該データベースから前記ポリシ情報の取出し、または設定を行なう(1)項に記載の計算機システム。
(5)2台以上の計算機が接続された計算機システムに適用し、2つ以上のクラスタシステムのそれぞれに含まれるプログラムであって、
変更可能なポリシ情報に従って、各クラスタシステムが共通して使用可能な少なくとも1つのプロビジョニング計算機から追加要求の計算機を割当る処理を実行する手順と、
前記ポリシ情報に従って、各クラスタシステムが使用している少なくとも1つのプロビジョニング計算機を切離す処理を実行する手順と
を前記計算機システムに実行させるためのプログラム。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の第1の実施形態に関するシステム構成を示すブロック図。 第1の実施形態に関するサービス再配置処理の手順を説明するためのフローチャート。 第2の実施形態に関するシステム構成を示すブロック図。 第2の実施形態に関するシステム構成の変化を示すブロック図。 第2の実施形態に関するシステム構成の変化を示すブロック図。 第2の実施形態に関するプロビジョニング計算機の割当て処理の手順を説明するためのフローチャート。 第2の実施形態に関するプロビジョニング計算機の切離し処理の手順を説明するためのフローチャート。 第2の実施形態に関するプロビジョニングポリシ情報の一例を示す図。
符号の説明
10…クラスタ制御部、11…サービス最適配置部、
12…サービス再配置部、13…ポリシ管理部、14…負荷管理部、
15…サービス制御部、30…クラスタシステムCS1、
31…プロビジョニング計算機割当て部、
32…プロビジョニング計算機切離し部、33…プロビジョニングポリシ管理部、
40…クラスタシステムCS2、
50〜57…ストレージ装置(ブートイメージ登録ディスク)、
60…プロビジョニング計算機プール、
70…プロビジョニングポリシデータベース(ポリシDB)、C1〜C6…計算機。

Claims (9)

  1. 2台以上の計算機を持つ計算機システムにおいて、
    前記計算機が実行する複数のサービスの割当てを決定するためのサービスの優先順位とサービスに割当てる計算機の優先順位とサービス間の排他、依存関係を含む関係とサービス実行に必須の周辺機器を含むリソースの割当てと最低負荷状況の計算機にサービスを割当てるための計算機の負荷状況とのうち少なくとも一つを持つ最適配置用ポリシ情報と、サービスのスイッチオーバの可/不可とサービスの実行可能なノードが無い場合の他サービスの停止の可/不可と前記スイッチオーバ/他サービス停止の判断基準と負荷状況の変化時の対応とのうち少なくとも一つを持つサービスの再配置用ポリシ情報とを保存するポリシ管理部と、
    前記最適配置用ポリシ情報に基づいて実行するサービスを最適な計算機に割当てるサービス最適配置部と、
    前記最適配置後の各計算機でのサービス負荷や計算機負荷状況によりサービスの再配置が必要か否かを判定する負荷管理部と、
    前記負荷管理部によるサービスの再配置が必要との判定結果に従って、前記再配置用ポリシ情報に基づき、前記負荷管理部により再配置が必要と判定されたサービスの実行に最適な計算機を決定するサービス再配置部と、
    前記再配置が必要と判定されたサービスの実行を一時的に停止させ、前記サービス配置部により決定された前記再配置が必要と判定されたサービスの実行に最適な計算機で前記再配置が必要と判定されたサービスを起動してサービスをスイッチオーバーするサービス制御部とを具備することを特徴とする計算機システム。
  2. 前記サービス最適配置部は所望のサービスの起動時にその実行に最適な計算機を前記ポリシ管理部に保管されている最適配置用ポリシ情報を参照して決定することを特徴とする請求項1に記載の計算機システム。
  3. 前記サービス再配置部は計算機間における実行中のサービス配置に不均衡が発生した時にサービスの再配置の必要性を検知する手段を含み、前記検知する手段の出力により前記再配置用ポリシ情報を参照して前記サービスの再配置を行うことを特徴とする、請求項1に記載の計算機システム。
  4. 前記検知する手段は、各計算機の負荷の状況を検知する検知手段として前記負荷管理部に含まれることを特徴とする、請求項3に記載の計算機システム。
  5. 前記検知する手段は各計算機のノード負荷モニタを含むことを特徴とする請求項4に記載の計算機システム。
  6. 前記サービス再配置部は、前記各計算機の負荷状況の変化に応じてサービスの再配置の必要性を判断し、
    当該サービスの再配置の必要性がある場合に、前記再配置用ポリシ情報に従って予備計算機の使用を含む再配置処理を実行することを特徴とする、請求項1に記載の計算機システム。
  7. 更に、前記計算機システムは2つ以上のクラスタシステムおよび各クラスタシステムが共通して使用可能なプロビジョニング計算機群を含み、
    前記ポリシ管理部は、前記プロビジョニング計算機の割当て処理および切り離し処理のポリシを指定する為の割当て、切り離し処理用ポリシ情報を保管し、
    前記計算機システムは更に前記割当て、切り離し処理用ポリシ情報に従って、前記プロビジョニング計算機群から追加要求の計算機を割当る割当て処理または余剰な計算機を切り離す切り離し処理を実行する割当て/切り離し手段を含む、請求項1に記載の計算機システム。
  8. 2台以上の計算機が接続されて一つのクラスタシステムを実現する計算機システムによるサービス実行方法であって、
    前記計算機が実行する複数のサービスの割当てを決定するためのサービスの優先順位とサービスに割当てる計算機の優先順位とサービス間の排他、依存関係を含む関係とサービス実行に必須の周辺機器を含むリソースの割当てと最低負荷状況の計算機にサービスを割当てるための計算機の負荷状況とのうち少なくとも一つを持つ最適配置用ポリシ情報と、サービスのスイッチオーバの可/不可とサービスの実行可能なノードが無い場合の他サービスの停止の可/不可と前記スイッチオーバ/他サービス停止の判断基準と負荷状況の変化時の対応とのうち少なくとも一つを持つサービスの再配置用ポリシ情報とを保存し、
    前記最適配置用ポリシ情報に基づいて実行するサービスを最適な計算機に割当てる処理を実行し、
    前記最適配置後の各計算機でのサービス負荷や計算機負荷状況によりサービスの再配置が必要か否かを判定し、
    前記負荷管理部によるサービスの再配置が必要との判定結果に従って、前記再配置用ポリシ情報に基づき、前記負荷管理部により再配置が必要と判定されたサービスの実行に最適な計算機を決定し、
    前記再配置が必要と判定されたサービスの実行を一時的に停止させ、前記サービス配置部により決定された前記再配置が必要と判定されたサービスの実行に最適な計算機で前記再配置が必要と判定されたサービスを起動してサービスをスイッチオーバーすることを特徴とするサービス実行方法。
  9. 2台以上の計算機が接続された計算機システムに適用し、一つのクラスタシステムを実現するためのプログラムであって、
    前記計算機が実行する複数のサービスの割当てを決定するためのサービスの優先順位とサービスに割当てる計算機の優先順位とサービス間の排他、依存関係を含む関係とサービス実行に必須の周辺機器を含むリソースの割当てと最低負荷状況の計算機にサービスを割当てるための計算機の負荷状況とのうち少なくとも一つを持つ最適配置用ポリシ情報と、サービスのスイッチオーバの可/不可とサービスの実行可能なノードが無い場合の他サービスの停止の可/不可と前記スイッチオーバ/他サービス停止の判断基準と負荷状況の変化時の対応とのうち少なくとも一つを持つサービスの再配置用ポリシ情報とを保存する手順と、
    前記最適配置用ポリシ情報に基づいて実行するサービスを最適な計算機に割当てる処理を実行する手順と、
    前記最適配置後の各計算機でのサービス負荷や計算機負荷状況によりサービスの再配置が必要か否かを判定する手順と、
    前記負荷管理部によるサービスの再配置が必要との判定結果に従って、前記再配置用ポリシ情報に基づき、前記負荷管理部により再配置が必要と判定されたサービスの実行に最適な計算機を決定する手順と、
    前記再配置が必要と判定されたサービスの実行を一時的に停止させ、前記サービス配置部により決定された前記再配置が必要と判定されたサービスの実行に最適な計算機で前記再配置が必要と判定されたサービスを起動してサービスをスイッチオーバーする手順と、
    を前記計算機システムに実行させるためのプログラム
JP2004254427A 2003-09-02 2004-09-01 計算機システム及びクラスタシステム用プログラム Active JP3987517B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004254427A JP3987517B2 (ja) 2003-09-02 2004-09-01 計算機システム及びクラスタシステム用プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003310161 2003-09-02
JP2004254427A JP3987517B2 (ja) 2003-09-02 2004-09-01 計算機システム及びクラスタシステム用プログラム

Publications (2)

Publication Number Publication Date
JP2005100387A JP2005100387A (ja) 2005-04-14
JP3987517B2 true JP3987517B2 (ja) 2007-10-10

Family

ID=34467514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004254427A Active JP3987517B2 (ja) 2003-09-02 2004-09-01 計算機システム及びクラスタシステム用プログラム

Country Status (1)

Country Link
JP (1) JP3987517B2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005081672A2 (en) * 2004-01-30 2005-09-09 International Business Machines Corporation Componentized automatic provisioning and management of computing environments for computing utilities
JP2007148469A (ja) * 2005-11-24 2007-06-14 Hitachi Ltd ビジネスプロセス定義を用いた事前リソース割り当て方法
JP5110315B2 (ja) * 2006-05-24 2012-12-26 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法およびプログラム
JP4751265B2 (ja) * 2006-08-01 2011-08-17 株式会社日立製作所 リソース管理システム及びその方法
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP4863959B2 (ja) * 2007-10-11 2012-01-25 株式会社日立製作所 業務サービス実行システム、業務サービス実行方法および業務サービス実行プログラム
KR100968202B1 (ko) 2007-12-12 2010-07-06 한국전자통신연구원 소비전력 감소를 위한 클러스터 시스템 및 그의 전원 관리방법
JP2010218344A (ja) * 2009-03-18 2010-09-30 Hitachi Ltd サービス連携装置、プログラム、サービス連携方法及びサービス提供システム
JP5471080B2 (ja) * 2009-06-30 2014-04-16 日本電気株式会社 情報システム、制御装置、そのデータ処理方法およびプログラム
JP5412304B2 (ja) * 2010-01-20 2014-02-12 株式会社エヌ・ティ・ティ・データ リソース提供システム、リソース提供方法および仮想化装置
JP5470177B2 (ja) * 2010-07-06 2014-04-16 株式会社日立製作所 トレースシステム
US20120102200A1 (en) * 2010-10-26 2012-04-26 Qualcomm Incorporated Application specific resource management
JP5738133B2 (ja) * 2011-09-09 2015-06-17 三菱電機株式会社 縮退処理装置、縮退処理システム、縮退処理装置の縮退処理方法および縮退処理プログラム
JP2013205859A (ja) * 2012-03-27 2013-10-07 Hitachi Solutions Ltd 分散コンピューティングシステム
JP2014078160A (ja) 2012-10-11 2014-05-01 International Business Maschines Corporation 仮想リソースの組み合わせの決定を支援する装置及び方法
WO2014091580A1 (ja) 2012-12-12 2014-06-19 株式会社東芝 クラウドシステム管理装置、クラウドシステム、再配置方法、及びプログラム
US9727355B2 (en) * 2013-08-23 2017-08-08 Vmware, Inc. Virtual Hadoop manager
JP2015069283A (ja) * 2013-09-27 2015-04-13 日本電気株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CA3085009A1 (en) 2017-12-08 2019-06-13 Net-Thunder, Llc Automatically deployed information technology (it) system and method
CN113055427B (zh) * 2019-12-28 2022-12-23 浙江宇视科技有限公司 一种基于业务的服务器集群接入方法及装置

Also Published As

Publication number Publication date
JP2005100387A (ja) 2005-04-14

Similar Documents

Publication Publication Date Title
JP3987517B2 (ja) 計算機システム及びクラスタシステム用プログラム
US20050050200A1 (en) Computer system and cluster system program
US8589920B2 (en) Resource allocation
CN102479099B (zh) 虚拟机管理***及其使用方法
JP5575641B2 (ja) 共有データセンタ災害復旧システム及び方法
US6931640B2 (en) Computer system and a method for controlling a computer system
US10628273B2 (en) Node system, server apparatus, scaling control method, and program
US9442763B2 (en) Resource allocation method and resource management platform
US9874924B1 (en) Equipment rack power reduction using virtual machine instance migration
US8656355B2 (en) Application-based specialization for computing nodes within a distributed processing system
JP4119162B2 (ja) 多重化計算機システム、論理計算機の割当方法および論理計算機の割当プログラム
JP4519098B2 (ja) 計算機の管理方法、計算機システム、及び管理プログラム
JP5039951B2 (ja) ストレージ・デバイス・ポートの選択の最適化
US7900206B1 (en) Information technology process workflow for data centers
US7167854B2 (en) Database control method
US20040250248A1 (en) System and method for server load balancing and server affinity
CN110221920B (zh) 部署方法、装置、存储介质及***
KR20090059851A (ko) 가상 서버 환경에서의 서비스 수준 관리 시스템 및 그 방법
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
WO2020108337A1 (zh) 一种cpu资源调度方法及电子设备
US11726684B1 (en) Cluster rebalance using user defined rules
CN115705198A (zh) 运行容器组的节点,容器组的管理***和方法
US20070180452A1 (en) Load distributing system and method
Wang et al. Provision of storage QoS in distributed file systems for clouds
US7669202B1 (en) Resource management

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070712

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100720

Year of fee payment: 3