(57)【要約】【課題】サーバクラスタの構築（または構成変更）や設定を自動化することを課題とする。【解決手段】本発明のサーバクラスタシステム１では、保守者がサーバクラスタ管理装置４００にサーバクラスタ１００の構築（ロードバランサ２００の起動）の指示を与えるだけで、サーバクラスタ管理装置４００は、空きサーバ８１０にロードバランサブートイメージを取得させるなどして、空きサーバ８１０をロードバランサ２００として起動させる。【選択図】図１
2011242968.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して対向装置にサービスを提供する複数のサーバおよびそれらのサーバに処理を振り分けるロードバランサからなるサーバクラスタを管理するサーバクラスタ管理装置と、予備のサーバである空きサーバと、を備えるサーバクラスタシステムであって、
前記サーバクラスタ管理装置は、
前記サーバクラスタの構築時に前記空きサーバをロードバランサとして起動させるためのロードバランサブートイメージを記憶するブートイメージ管理部と、
保守システムからの要求に応じて前記サーバクラスタを構築するサーバクラスタ構成管理部と、を有し、
前記空きサーバは、
前記サーバクラスタ管理装置のサーバクラスタ構成管理部からロードバランサとしての起動の指示を受けたとき、前記サーバクラスタ管理装置のブートイメージ管理部にアクセスして前記ロードバランサブートイメージを取得し、当該取得したロードバランサブートイメージを使用することで、前記ロードバランサとして起動する
ことを特徴とするサーバクラスタシステム。
【請求項２】
ネットワークを介して対向装置にサービスを提供する複数のサーバおよびそれらのサーバに処理を振り分けるロードバランサからなるサーバクラスタと、予備のサーバである空きサーバと、前記サーバクラスタを管理するサーバクラスタ管理装置と、を備えるサーバクラスタシステムであって、
前記サーバクラスタ管理装置は、
前記空きサーバを前記サーバクラスタにおけるサーバとして起動させるためのサーバブートイメージを記憶するブートイメージ管理部と、
保守システムからの要求に応じて前記サーバクラスタにおけるサーバを増加させるサーバクラスタ構成管理部と、を有し、
前記空きサーバは、
前記サーバクラスタ管理装置のサーバクラスタ構成管理部から前記サーバクラスタのサーバとしての起動の指示を受けたとき、前記サーバクラスタ管理装置のブートイメージ管理部にアクセスして前記サーバブートイメージを取得し、当該取得したサーバブートイメージを使用することで、前記サーバとして起動し、
前記サーバクラスタ管理装置のサーバクラスタ構成管理部は、
前記ロードバランサに、前記起動したサーバを前記サーバクラスタに追加する旨の設定変更を指示する
ことを特徴とするサーバクラスタシステム。
【請求項３】
前記サーバクラスタを構成するサーバの少なくとも１つ以上は、前記サーバブートイメージを記憶しており、
前記空きサーバは、
前記サーバクラスタ管理装置のサーバクラスタ構成管理部から前記サーバクラスタのサーバとしての起動の指示を受けたとき、前記サーバクラスタ管理装置のブートイメージ管理部の代わりに前記サーバブートイメージを記憶するサーバにアクセスして前記サーバブートイメージを取得し、当該取得したサーバブートイメージを使用することで、前記サーバとして起動する
ことを特徴とする請求項２に記載のサーバクラスタシステム。
【請求項４】
ネットワークを介して対向装置にサービスを提供する複数のサーバおよびそれらのサーバに処理を振り分けるロードバランサからなるサーバクラスタを管理するサーバクラスタ管理装置と、予備のサーバである空きサーバと、を備えるサーバクラスタシステムにおける前記サーバクラスタ管理装置であって、
前記サーバクラスタの構築時に前記空きサーバをロードバランサとして起動させるためのロードバランサブートイメージを記憶し、前記空きサーバからアクセスがあったときは前記ロードバランサブートイメージを取得させるブートイメージ管理部と、
保守システムからの要求に応じて、前記空きサーバに対してロードバランサとしての起動の指示を与えることで前記サーバクラスタを構築するサーバクラスタ構成管理部と、
を有することを特徴とするサーバクラスタ管理装置。
【請求項５】
ネットワークを介して対向装置にサービスを提供する複数のサーバおよびそれらのサーバに処理を振り分けるロードバランサからなるサーバクラスタと、予備のサーバである空きサーバと、前記サーバクラスタを管理するサーバクラスタ管理装置と、を備えるサーバクラスタシステムにおける前記サーバクラスタ管理装置であって、
前記空きサーバを前記サーバクラスタにおけるサーバとして起動させるためのサーバブートイメージを記憶し、前記空きサーバからアクセスがあったときは前記サーバブートイメージを取得させるブートイメージ管理部と、
保守システムからの要求に応じて、前記空きサーバに対して起動の指示を与えることで前記サーバクラスタにおけるサーバを増加させ、前記ロードバランサに、前記起動したサーバを前記サーバクラスタに追加する旨の設定変更を指示するサーバクラスタ構成管理部と、
を有することを特徴とするサーバクラスタ管理装置。
【請求項６】
ネットワークを介して対向装置にサービスを提供する複数のサーバおよびそれらのサーバに処理を振り分けるロードバランサからなるサーバクラスタを管理するサーバクラスタ管理装置と、予備のサーバである空きサーバと、を備えるサーバクラスタシステムにおける前記サーバクラスタ管理装置によるサーバクラスタ管理方法であって、
前記サーバクラスタ管理装置は、
前記サーバクラスタの構築時に前記空きサーバをロードバランサとして起動させるためのロードバランサブートイメージを記憶するブートイメージ管理部と、サーバクラスタ構成管理部と、を有しており、
前記サーバクラスタ構成管理部は、
保守システムからの要求に応じて、前記空きサーバに対してロードバランサとしての起動の指示を与え、
前記ブートイメージ管理部は、
前記空きサーバからアクセスがあったときは前記ロードバランサブートイメージを取得させる
ことを特徴とするサーバクラスタ管理方法。
【請求項７】
ネットワークを介して対向装置にサービスを提供する複数のサーバおよびそれらのサーバに処理を振り分けるロードバランサからなるサーバクラスタと、予備のサーバである空きサーバと、前記サーバクラスタを管理するサーバクラスタ管理装置と、を備えるサーバクラスタシステムにおける前記サーバクラスタ管理装置によるサーバクラスタ管理方法であって、
前記サーバクラスタ管理装置は、
前記空きサーバを前記サーバクラスタにおけるサーバとして起動させるためのサーバブートイメージを記憶するブートイメージ管理部と、サーバクラスタ構成管理部と、を有しており、
前記サーバクラスタ構成管理部は、
保守システムからの要求に応じて、前記空きサーバに対して起動の指示を与え、
前記ブートイメージ管理部は、
前記空きサーバからアクセスがあったときは前記サーバブートイメージを取得させ、
前記サーバクラスタ構成管理部は、
前記ロードバランサに、前記取得したサーバブートイメージを使用して起動したサーバを前記サーバクラスタに追加する旨の設定変更を指示する
ことを特徴とするサーバクラスタ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数台のサーバとロードバランサによって構成されるサーバクラスタの構築（または構成変更）や設定を自動的に行うための技術に関する。
【背景技術】
【０００２】
従来、サーバにおいて、アプリケーションの処理容量を拡大したり、システムを冗長化したりするために、複数台のサーバで分散処理を行うサーバクラスタを採用する場合がある（非特許文献１参照）。一般的なサーバクラスタでは、ロードバランサを前段に配備して後段のサーバ群にメッセージを振り分ける構成をとる。サーバクラスタと対向する装置（以下、対向装置と称する。）からはロードバランサのアドレスがあたかもサーバの終端点のように見えるため、後段のサーバに故障が発生した場合や、サーバを増減させた場合でも、対向装置に接続先の変更等を意識させることなく、サービス運用が可能となる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】徳永健治  他、「Webアプリケーション・サーバー  設計・構築ノウハウ」、日経ＢＰ社、p.24-34
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、サーバクラスタは、複数台で役割分担されたサーバとロードバランサによって構成されるため、構成が複雑であり、構築（または構成変更）や設定にかかるコストの増加が問題となる。
【０００５】
そこで、本発明は、前記問題に鑑みてなされたものであり、サーバクラスタの構築（または構成変更）や設定を自動化することを課題とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明は、ネットワークを介して対向装置にサービスを提供する複数のサーバおよびそれらのサーバに処理を振り分けるロードバランサからなるサーバクラスタを管理するサーバクラスタ管理装置と、予備のサーバである空きサーバと、を備えるサーバクラスタシステムである。
前記サーバクラスタ管理装置は、前記サーバクラスタの構築時に前記空きサーバをロードバランサとして起動させるためのロードバランサブートイメージを記憶するブートイメージ管理部と、保守システムからの要求に応じて前記サーバクラスタを構築するサーバクラスタ構成管理部と、を有する。
前記空きサーバは、前記サーバクラスタ管理装置のサーバクラスタ構成管理部からロードバランサとしての起動の指示を受けたとき、前記サーバクラスタ管理装置のブートイメージ管理部にアクセスして前記ロードバランサブートイメージを取得し、当該取得したロードバランサブートイメージを使用することで、前記ロードバランサとして起動する。
【０００７】
本発明によれば、保守システムからサーバクラスタ管理装置にサーバクラスタの構築（ロードバランサの起動）の指示が与えられるだけで、サーバクラスタ管理装置は、空きサーバをロードバランサとして起動する。つまり、サーバクラスタの構築と設定を自動化することができる。
【０００８】
また、本発明は、ネットワークを介して対向装置にサービスを提供する複数のサーバおよびそれらのサーバに処理を振り分けるロードバランサからなるサーバクラスタと、予備のサーバである空きサーバと、前記サーバクラスタを管理するサーバクラスタ管理装置と、を備えるサーバクラスタシステムである。
前記サーバクラスタ管理装置は、前記空きサーバを前記サーバクラスタにおけるサーバとして起動させるためのサーバブートイメージを記憶するブートイメージ管理部と、保守システムからの要求に応じて前記サーバクラスタにおけるサーバを増加させるサーバクラスタ構成管理部と、を有する。
前記空きサーバは、前記サーバクラスタ管理装置のサーバクラスタ構成管理部から前記サーバクラスタのサーバとしての起動の指示を受けたとき、前記サーバクラスタ管理装置のブートイメージ管理部にアクセスして前記サーバブートイメージを取得し、当該取得したサーバブートイメージを使用することで、前記サーバとして起動する。
前記サーバクラスタ管理装置のサーバクラスタ構成管理部は、前記ロードバランサに、前記起動したサーバを前記サーバクラスタに追加する旨の設定変更を指示する。
【０００９】
かかる発明によれば、保守システムからサーバクラスタ管理装置にサーバクラスタにおけるサーバの増加の指示が与えられるだけで、サーバクラスタ管理装置は、空きサーバをサーバクラスタにおけるサーバとして追加する。つまり、サーバクラスタの構成変更と設定を自動化することができる。
【００１０】
また、本発明では、前記サーバクラスタを構成するサーバの少なくとも１つ以上が、前記サーバブートイメージを記憶しており、前記空きサーバは、前記サーバクラスタ管理装置のサーバクラスタ構成管理部から前記サーバクラスタのサーバとしての起動の指示を受けたとき、前記サーバクラスタ管理装置のブートイメージ管理部の代わりに前記サーバブートイメージを記憶するサーバにアクセスして前記サーバブートイメージを取得し、当該取得したサーバブートイメージを使用することで、前記サーバとして起動する。
【００１１】
かかる発明によれば、サーバブートイメージを、サーバクラスタ管理装置のブートイメージ管理部だけでなく、サーバクラスタを構成するサーバのいずれかに記憶させておく。これにより、複数の空きサーバがサーバクラスタのサーバとして起動する場合でも、サーバクラスタ管理装置のブートイメージ管理部にサーバブートイメージ取得のための空きサーバからのアクセスの集中を回避することができ、サーバブートイメージのコピーに要する時間を短縮することができる。
【発明の効果】
【００１２】
本発明によれば、サーバクラスタの構築（または構成変更）や設定を自動化することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態のサーバクラスタシステムの全体構成図である。
【図２】サーバクラスタ管理装置の機能構成図である。
【図３】サーバクラスタの構築時の手順を示すシーケンス図である。
【図４】サーバクラスタにサーバを追加する手順を示すシーケンス図である。
【図５】変形例の場合のサーバ、サーバクラスタ管理装置および空きサーバの状態の概要を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照（言及図以外の図も適宜参照）して、本発明を実施するための形態（以下「実施形態」と称する。）について、詳細に説明する。図１は、本実施形態のサーバクラスタシステムの全体構成図である。図１に示すように、サーバクラスタシステム１において、サーバクラスタ１００は、ＩＰ（Internet Protocol）ネットワーク５００を介してサーバ６１０や端末６２０等の対向装置６００に対してサービスの提供を行う。
【００１５】
サーバクラスタ１００は、ロードバランサ２００と複数のサーバ３００とから構成され、サーバクラスタ管理装置４００によって管理される。サーバクラスタ管理装置４００は、保守ネットワーク７００に接続されており、保守者は保守システム７１０を通じてサーバクラスタ管理装置４００を利用してサーバクラスタ１００の管理を行う。
【００１６】
サーバプール８００は、１以上の空きサーバ８１０から構成される。空きサーバ８１０は、サーバクラスタ１００に対する予備装置として停止状態のサーバであり、サーバクラスタ管理装置４００によって管理される。
【００１７】
図２は、サーバクラスタ管理装置４００の機能構成図である。図２に示すように、サーバクラスタ管理装置４００は、ブートイメージ管理部４１０とサーバクラスタ構成管理部４２０とサーバプール管理部４３０とを具備する。
【００１８】
ブートイメージ管理部４１０は、サーバクラスタ１００を構成するロードバランサ２００やサーバ３００を起動させるためのソフトウェアイメージ（例えば、ＯＳ（Operating System）、アプリケーションソフトウェアなど）を管理（記憶、読み出しなど）する。ロードバランサブートイメージ４１１は、ロードバランサ２００を起動させるためのソフトウェアイメージであり、例えば、ＬＶＳ（Linux Virtual Server）を導入、設定されたLinuxのブートイメージのように、汎用サーバで動作するロードバランサ２００のブートイメージである。
【００１９】
サーバブートイメージ４１２は、サーバ３００を起動させるためのソフトウェアイメージであり、例えば、ＷｅｂアプリケーションサーバやＳＩＰ（Session Initiation Protocol）アプリケーションサーバなどの、クラスタを構成するサーバを動作させるためのブートイメージである。
【００２０】
サーバクラスタ構成管理部４２０は、ロードバランサブートイメージ４１１とサーバブートイメージ４１２を利用してサーバクラスタ１００を遠隔で起動し、また、保守システム７１０を使用する保守者からの要求に応じてサーバクラスタ１００を構成するサーバ３００の台数を増減させる。サーバ３００の増設時は、サーバプール８００で管理されている空きサーバ８１０が利用される。保守者は、ある程度まとまった台数の空きサーバ８１０をサーバプール８００に停止状態で結線しておくことにより、サーバ３００への処理要求が増加した場合でも、即座に、サーバクラスタ構成管理部４２０を利用して空きサーバ８１０を用いてサーバ３００を増やすことで対応することができる。
【００２１】
具体的には、サーバクラスタ構成管理部４２０は、ロードバランサ初期設定部４２１とロードバランサ設定変更部４２２とサーバ初期設定部４２３とを具備する。これらの各部の機能について、図３、図４を参照して説明する。なお、サーバクラスタ構成管理部４２０は、ロードバランサブートイメージ４１１やサーバブートイメージ４１２が記憶されている箇所を示すアドレスを記憶している。また、サーバプール管理部４３０は、サーバプール８００の空きサーバ８１０の情報を管理（記憶、読み出しなど）する。
【００２２】
図３は、サーバクラスタ１００の構築時の手順を示すシーケンス図である。まず、保守者は、保守システム７１０を通じてサーバクラスタ管理装置４００のブートイメージ管理部４１０にロードバランサ２００のブートイメージを登録しておく（ロードバランサブートイメージ４１１が登録される。）（Ｓ３０１）。なお、登録するブートイメージはＤＨＣＰ（Dynamic Host Configuration Protocol）等を用いて立ち上げ時にアドレス設定がなされるように設定しておくのが好ましい。
【００２３】
次に、保守者は、サーバクラスタ１００を新規に構築するための指示をサーバクラスタ構成管理部４２０に送る（Ｓ３０２）。このとき、指示する主なパラメータはサーバクラスタ１００が対向装置６００に対して公開する代表アドレスと、ロードバランサ２００を立ち上げるためのロードバランサブートイメージ４１１のアドレスであり、その情報はロードバランサ初期設定部４２１に保存される。
【００２４】
その後、サーバクラスタ構成管理部４２０は、サーバプール管理部４３０から空きサーバ８１０の情報を取得し、取得した情報に基づいて、利用する空きサーバ８１０に対して、遠隔から、ロードバランサとしての起動を指示する（Ｓ３０３）。この遠隔起動指示は、ＷＯＬ（Wake On LAN）やＩＰＭＩ（Intelligent Platform Management Interface）などのＩＦ（Interface）を利用することで実現できる。
【００２５】
遠隔起動指示を受けた空きサーバ８１０は、サーバクラスタ構成管理部４２０に、ロードバランサとして起動するためのブートイメージ（ロードバランサブートイメージ４１１）のアドレスを問い合わせる（Ｓ３０４）。空きサーバ８１０は、サーバクラスタ構成管理部４２０のロードバランサ初期設定部４２１からの応答によって、ロードバランサブートイメージ４１１のアドレスを取得する。
【００２６】
空きサーバ８１０は、取得したアドレスを用いてブートイメージ管理部４１０のロードバランサブートイメージ４１１を取得し、遠隔ブート（起動）を試みる（Ｓ３０５）。なお、ブートイメージのアドレスを立ち上げ時に指定する遠隔ブート方法としては、例えば、ＤＨＣＰとＰＸＥ（Preboot eXecution Environment）の組合せなどが考えられる。
【００２７】
空きサーバ８１０は、Ｓ３０５で起動して以降、Ｓ３０２で指定された条件（アドレス等）のサーバクラスタ１００を構成するロードバランサ２００として動作するようになる。
【００２８】
次に、サーバクラスタ１００にサーバ３００を追加する手順について説明する。図４は、サーバクラスタ１００にサーバ３００を追加する手順を示すシーケンス図である。まず、保守者は、保守システム７１０を介してサーバクラスタ管理装置４００のブートイメージ管理部４１０にサーバブートイメージ４１２を登録する（Ｓ４０１）。サーバブートイメージ４１２にはサーバクラスタ１００として動作するアプリケーションなどを含むサーバの起動イメージが含まれている。サーバクラスタ１００のクラスタリング方式によっては、メッセージを直接処理することなくクラスタ内の特定機能を補助的に担当するサーバも存在する（例えば、ＤＢ（Data Base）サーバのような非メッセージ処理サーバ）。そのようなサーバ３００の特徴を表す追加情報などもサーバブートイメージ４１２に合わせて保存される。
【００２９】
次に、保守者は、サーバクラスタ構成管理部４２０に対して、特定のサーバクラスタ１００にサーバ３００を追加するように指示する（Ｓ４０２）。このとき、指示する主なパラメータは、対象となるサーバクラスタ１００の情報とサーバ３００を立ち上げるためのサーバブートイメージ４１２のアドレスであり、その情報はサーバ初期設定部４２３に保存される。Ｓ４０３〜Ｓ４０５の処理は、Ｓ３０３〜Ｓ３０５の処理における「ロードバランサ」を「サーバ」に置き換えたものであるので、説明を省略する。
【００３０】
空きサーバ８１０は、サーバ３００としての起動時に、サーバクラスタ構成情報を必要とするクラスタリングソフトウェアを起動する場合、サーバクラスタ構成管理部４２０にサーバクラスタ構成情報（サーバクラスタ１００の代表アドレス等）を問い合わせる（Ｓ４０６）。なお、このＳ４０６以降について、元は空きサーバ８１０でサーバ３００になったものを「新たに追加したサーバ３００」と称する。
【００３１】
Ｓ４０６の後、サーバクラスタ構成管理部４２０のロードバランサ設定変更部４２２は、必要に応じて、Ｓ４０１で保存したサーバブートイメージ４１２における追加情報を元に、予め起動しているロードバランサ２００に対して、新たに追加したサーバ３００にメッセージを振り分けるように設定変更の要求を送信する（Ｓ４０７）。
【００３２】
このように、サーバクラスタ１００を構築する場合も、サーバクラスタ１００にサーバ３００を追加する場合も、保守者が最初のブートイメージの登録と構築や追加の指示とを行うだけで、自動的にそれらの構築や追加を実現することができる。つまり、サーバクラスタ１００の構築（または構成変更）や設定を自動化することができる。
【００３３】
また、本実施形態によれば、空きサーバ８１０に対して適用する２つのブートイメージを使い分けることで、空きサーバ８１０をロードバランサ２００にもサーバ３００にもすることができる。したがって、従来のように、ロードバランサ用のハードウェアとサーバ用のハードウェアとをそれぞれ準備していた場合と比較して、予備のハードウェア（空きサーバ８１０）を少なくすることができる。
【００３４】
また、サーバブートイメージ４１２に関連づけて保存された追加情報によりサーバクラスタ１００を構成するサーバ３００の役割とロードバランサ２００の振り分け論理が自動的に連動するため、どのようなクラスタリングモデルのサーバクラスタ１００に対しても、構成の自動化を実現することができる。
【００３５】
次に、本実施形態の変形例について説明する。図５は、変形例の場合のサーバ３００、サーバクラスタ管理装置４００および空きサーバ８１０の状態の概要を示す図である。図５に示すように、サーバ３００に、記憶領域として、一旦書き込んだサーバブートイメージを書き換え不可とするサーバブートイメージ領域３１０と、一時ファイル領域３２０とを設けておく。そして、サーバブートイメージ領域３１０に、サーバクラスタ管理装置４００のサーバブートイメージ４１２をコピーしておく。
【００３６】
これにより、サーバブートイメージを、サーバクラスタ管理装置４００だけでなく、既存のサーバ３００にも保存しておくことができる。そうすれば、サーバクラスタ１００の構築時やサーバ３００の追加時に、空きサーバ８１０は、サーバブートイメージを取得するために、サーバクラスタ管理装置４００と、その既存のサーバ３００のいずれにアクセスしてもよくなる。そうすれば、複数の空きサーバ８１０がサーバブートイメージを取得する場合でも、サーバクラスタ管理装置４００に対するサーバブートイメージ４１２の読み出しのためのアクセスの集中を回避することができる。また、それによって、複数のサーバ３００を増加（起動）させる場合に、サーバブートイメージのコピーに要する時間を短縮することができる。
【００３７】
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。ハードウェアやソフトウェアの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００３８】
１      サーバクラスタシステム
１００  サーバクラスタ
２００  ロードバランサ
３００  サーバ
３１０  サーバブートイメージ領域
３２０  一時ファイル領域
４００  サーバクラスタ管理装置
４１０  ブートイメージ管理部
４１１  ロードバランサブートイメージ
４１２  サーバブートイメージ
４２０  サーバクラスタ構成管理部
４２１  ロードバランサ初期設定部
４２２  ロードバランサ設定変更部
４２３  サーバ初期設定部
４３０  サーバプール管理部
５００  ＩＰネットワーク
６００  対向装置
６１０  サーバ
６２０  端末
７００  保守ネットワーク
７１０  保守システム
８００  サーバプール
８１０  空きサーバ
【図１】
2011242968.tif 000003
【図２】
2011242968.tif 000004
【図３】
2011242968.tif 000005
【図４】
2011242968.tif 000006
【図５】
2011242968.tif 000007