(57)【特許請求の範囲】
【請求項１】
計算機資源を使用して各々が主系及び従系のいずれかとして動作する複数ノードが含まれるクラスタシステムの各ノードにおける計算機資源使用量の情報を入力する情報入力部と、
各ノードが主系及び従系のいずれとして動作しているのかを判定するための基準を計算機資源使用量と関連付けて示す判定基準情報を所定の記憶領域から読み出す判定基準情報読み出し部と、
前記情報入力部により入力された各ノードの計算機資源使用量の情報と前記判定基準情報読み出し部により読み出された前記判定基準情報とに基づいて、各ノードが主系及び従系のいずれとして動作しているのかを判定する判定部とを有することを特徴とする情報処理システム。
【請求項２】
前記判定基準情報読み出し部は、
クラスタシステムの種別を判定するための基準を計算機資源使用量と関連付けて示す判定基準情報を読み出し、
前記判定部は、
前記情報入力部により入力された各ノードの計算機資源使用量の情報と前記判定基準情報読み出し部により読み出された前記判定基準情報とに基づいて、前記クラスタシステムの種別を判定するとともに、各ノードが主系及び従系のいずれとして動作しているのかを判定することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記判定部は、
前記クラスタシステムが、ノード間で共有ディスクを使用する共有ディスク型高可用性クラスタシステム、ノード間で共有ディスクを使用しない非共有ディスク型高可用性クラスタシステム、ノード間で共有ディスクを使用しない非共有ディスク型負荷分散クラスタシステムのマスタスレイブ形式及びノード間で共有ディスクを使用しない非共有ディスク型負荷分散クラスタシステムのマルチマスタ形式のいずれであるかを判定することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記情報入力部は、
計算機資源使用量の情報として、各ノードのＣＰＵ使用率、ディスク帯域幅及びネットワーク帯域幅の情報を入力し、
前記判定基準情報読み出し部は、
各ノードが主系及び従系のいずれとして動作しているのかを判定するための基準及びクラスタシステムの種別を判定するための基準をＣＰＵ使用率、ディスク帯域幅及びネットワーク帯域幅と関連付けて示す判定基準情報を読み出し、
前記判定部は、
各ノードのＣＰＵ使用率、ディスク帯域幅、及びネットワーク帯域幅の情報と前記判定基準情報とに基づいて、前記クラスタシステムの種別を判定するとともに、各ノードが主系及び従系のいずれとして動作しているのかを判定することを特徴とする請求項２又は３に記載の情報処理システム。
【請求項５】
前記情報入力部は、
第１のノードと第２のノードが含まれるクラスタシステムについて、前記第１のノードのＣＰＵ使用率、ディスク帯域幅及びネットワーク帯域幅の情報と、前記第２のノードのＣＰＵ使用率、ディスク帯域幅及びネットワーク帯域幅の情報を入力し、
前記判定部は、
前記第１のノードのＣＰＵ使用率と前記第２のノードのＣＰＵ使用率とを比較し、前記第１のノードのディスク帯域幅と前記第２のノードのディスク帯域幅とを比較し、前記第１のノードのネットワーク帯域幅と前記第２のノードのネットワーク帯域幅とを比較し、比較結果と前記判定基準情報とに基づいて、前記クラスタシステムの種別を判定するとともに、各ノードが主系及び従系のいずれとして動作しているのかを判定することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記判定部は、
ＣＰＵ使用率、ディスク帯域幅及びネットワーク帯域幅のすべてにおいて一方のノードの値が他方のノード値の２倍を超えている場合に、前記クラスタシステムを共有ディスク型高可用性クラスタシステムであると判定し、前記一方のノードが主系として動作し前記他方のノードが従系として動作していると判定することを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記判定部は、
ＣＰＵ使用率において一方のノードの値が他方のノード値の２倍を超えており、ディスク帯域幅において一方のノードの値と他方のノードの値が同レベルであり、ネットワーク帯域幅において一方のノードの値が他方のノードの値の約２倍である場合に、前記クラスタシステムを非共有ディスク型高可用性クラスタシステムであると判定し、前記一方のノードが主系として動作し前記他方のノードが従系として動作していると判定することを特徴とする請求項５又は６に記載の情報処理システム。
【請求項８】
前記判定部は、
ＣＰＵ使用率及びディスク帯域幅において一方のノードの値と他方のノードの値が同レベルであり、ネットワーク帯域幅において一方のノードの値が他方のノードの値の２倍又は３倍である場合に、前記クラスタシステムを非共有ディスク型負荷分散クラスタシステムのマスタスレイブ形式であると判定し、前記一方のノードが主系として動作し前記他方のノードが従系として動作していると判定することを特徴とする請求項５〜７のいずれか一項に記載の情報処理システム。
【請求項９】
前記判定部は、
ＣＰＵ使用率、ディスク帯域幅及びネットワーク帯域幅のすべてにおいて一方のノードの値と他方のノードの値が同レベルである場合に、前記クラスタシステムを非共有ディスク型負荷分散クラスタシステムのマルチマスタ形式であると判定し、前記第１のノード及び前記第２のノードの双方が主系として動作していると判定することを特徴とする請求項５〜８のいずれか一項に記載の情報処理システム。
【請求項１０】
前記情報入力部は、
３つ以上のノードが含まれるクラスタシステムについて、各ノードの計算機資源使用量の情報を入力し、
前記判定部は、
各ノードの計算機資源使用量が所定のレベル以上であり、各ノードの計算機資源使用量が同等レベルである場合に、前記クラスタシステムを非共有ディスク型負荷分散クラスタシステムのマルチマスタ形式であると判定し、各ノードが主系として動作していると判定することを特徴とする請求項３〜９のいずれか一項に記載の情報処理システム。
【請求項１１】
前記情報処理システムは、
複数の情報入力部を有し、
各情報入力部は、
複数の物理計算機上に構成されている複数の仮想計算機上で動作しており、
同じ物理計算機上に構成されている他の仮想計算機上で動作しているクラスタシステムのノードから、当該ノードの計算機資源使用量の情報を入力することを特徴とする請求項１〜１０のいずれか一項に記載の情報処理システム。
【請求項１２】
計算機資源を使用して各々が主系及び従系のいずれかとして動作する複数ノードが含まれるクラスタシステムの各ノードにおける計算機資源使用量の情報を入力する情報入力処理と、
各ノードが主系及び従系のいずれとして動作しているのかを判定するための基準を計算機資源使用量と関連付けて示す判定基準情報を所定の記憶領域から読み出す判定基準情報読み出し処理と、
前記情報入力処理により入力された各ノードの計算機資源使用量の情報と前記判定基準情報読み出し処理により読み出された前記判定基準情報とに基づいて、各ノードが主系及び従系のいずれとして動作しているのかを判定する判定処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ノードから構成され、それぞれのノードが主系／従系という動作モードを持つクラスタシステムにおいて、主系のノード、従系のノードを判別する技術に関する。
【背景技術】
【０００２】
以下、クラスタシステムの一例として、仮想化技術を用いたクラスタシステムについて説明する。
仮想化技術は、一つの物理計算機上に複数の論理的な計算機（仮想マシン）を生成でき、その上で異なるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を複数動作させることのできる技術である。
仮想マシンサーバ統合は、この仮想化技術を利用して従来複数のサーバ上で動作させていたシステムをより少数かつ高性能なサーバに集約するものである。これにより、サーバ台数を削減することで管理コストを削減することができ、複数システムが一つの高性能なサーバを共有することで計算機資源の利用率を向上させることができる。
【０００３】
仮想サーバ統合では、システムを最適な配置で集約することが重要となる。
一般的な配置決定では、システムの負荷が考慮される。
例えば、図１７のようにシステム全体で負荷を均一化するように配置するのが一般的である。
図１７は、ＨＷ（物理サーバ）上に仮想マシン環境（負荷）が構築され、複数の仮想マシンが動作している様子を示している。
図１７では、各ＨＷにかかる負荷が、左より３０、４０、３０とほぼ均一になっている。
【０００４】
さらに、アフィニティルールといったものを考慮して信頼性を考慮することもできる。
アフィニティルールは、図１８（ａ）のようにシステムＡとシステムＢを同じ物理サーバに配置するのではなく、図１８（ｂ）のようにシステムＡとシステムＢを異なる物理サーバに配置するという制約であり、これにより冗長化された対のシステムを同じ物理サーバに配置しないような組み合わせを算出することで、信頼性を考慮した配置が算出できる。
【０００５】
また、冗長構成における運用系や待機系といった動作モードも考慮して配置を決定することで、より信頼性を考慮した配置を行うことができる。
例えば図１９（ａ）に示す例では運用系と待機系が物理マシン１に集中しているので、物理マシン１の障害による影響が大きいが、図１９（ｂ）のように運用系／待機系を分散させて配置することにより、障害によるシステムへの影響を最小化することができる。
【０００６】
従来の動作モードを検出する方法としては、一般的に以下の二つがある。
（１）各ノードで動作するクラスタミドルウェアからコマンドやＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）経由で動作モードを取得する方法。
（２）クラスタで冗長化するサービスに割当てられる仮想ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス（フローティングＩＰアドレスとも呼ばれ、運用系に割当てられる）とＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスとの対応から動作モードを取得する方法。
仮想ＩＰアドレスは、クラスタが冗長化するサービスに対して割当てるＩＰアドレスで、クライアントはそのＩＰアドレスに対して接続し、サービスを受ける。仮想ＩＰアドレスは運用系ノードに割当てられ、運用系に障害が起きると待機系にＩＰアドレスを引き継ぐ。そのためクライアントは同じＩＰアドレスでサービスを継続して受けることができる。
各ノードのＭＡＣアドレスと仮想ＩＰアドレスのＭＡＣアドレスを調べることで、どのノードに仮想ＩＰアドレスが割当てられているかが分かり、それが運用系であると判断できる。
【０００７】
特許文献１では、各計算機の資源使用量、動作状態（運用系／待機系といったものを含む）から状況を判断し、資源再割当を決定する方法が開示されている。
運用系／待機系といった動作モードを考慮した方法が開示されているが、その動作モードをどう判別しているかについては述べられていない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−３３１３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
動作モードの判別手法として述べた上記の従来技術（１）、（２）の方法は、クラスタミドルウェアとのインターフェイスを利用したり、クラスタシステムのネットワークに接続することで動作モードを判別する方法である。
しかし、サーバ統合によるシステムでは、仮想マシンプラットフォームを管理する側から仮想マシン上で動作する各システムで動作するアプリケーションとインターフェイスを持つことや、ネットワーク経由で接続することができず、従来技術（１）、（２）の方法では動作モードが判別できないケースがある。
【００１０】
本発明は、このような課題を解決することを主な目的の一つとしており、クラスタミドルウェアとのインターフェイスの利用、ネットワーク接続といった方法をとらずに、クラスタシステムの各ノードが主系及び従系のいずれとして動作しているのかを判別できる技術を提供することを主な目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る情報処理システムは、
計算機資源を使用して各々が主系及び従系のいずれかとして動作する複数ノードが含まれるクラスタシステムの各ノードにおける計算機資源使用量の情報を入力する情報入力部と、
各ノードが主系及び従系のいずれとして動作しているのかを判定するための基準を計算機資源使用量と関連付けて示す判定基準情報を所定の記憶領域から読み出す判定基準情報読み出し部と、
前記情報入力部により入力された各ノードの計算機資源使用量の情報と前記判定基準情報読み出し部により読み出された前記判定基準情報とに基づいて、各ノードが主系及び従系のいずれとして動作しているのかを判定する判定部とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、クラスタシステムの各ノードにおける計算機資源使用量を解析して各ノードが主系及び従系のいずれとして動作しているのかを判別できるので、クラスタミドルウェアとのインターフェイスの利用、ネットワーク接続が許可されない環境においても、各ノードの動作モードを判定することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係るクラスタシステムの全体構成例を示す図。
【図２】実施の形態１に係る資源管理ツールの構成例を示す図。
【図３】実施の形態１に係る判定基準情報の例を示す図。
【図４】実施の形態１に係る資源管理ツールの動作例を示すフローチャート図。
【図５】実施の形態１に係る資源管理ツールの動作例を示すフローチャート図。
【図６】実施の形態１に係る共有ディスク型アクティブ／スタンバイ型のパターンを示す図。
【図７】実施の形態１に係る非共有ディスク型アクティブ／スタンバイ型のパターンを示す図。
【図８】実施の形態１に係る非共有ディスク型ロードバランス・マスタ／スレイブ型のパターンを示す図。
【図９】実施の形態１に係る非共有ディスク型ロードバランス・マルチ／マスタ型のパターンを示す図。
【図１０】実施の形態１に係る各ノードの計算機資源使用量情報の例を示す図。
【図１１】実施の形態１に係る通常時負荷情報の例を示す図。
【図１２】実施の形態１に係る各ノードの計算機資源使用量の比較結果を示す図。
【図１３】実施の形態１に係る共有ディスク型アクティブ／スタンバイ型を判定するためのフローチャート図。
【図１４】実施の形態１に係る非共有ディスク型アクティブ／スタンバイ型を判定するためのフローチャート図。
【図１５】実施の形態１に係る非共有ディスク型ロードバランス・マスタ／スレイブ型を判定するためのフローチャート図。
【図１６】実施の形態１に係る非共有ディスク型ロードバランス・マルチ／マスタ型を判定するためのフローチャート図。
【図１７】負荷を均一化する配置の例を示す図。
【図１８】アフィニティルールを考慮した配置の例を示す図。
【図１９】運用／待機を考慮した配置の例を示す図。
【図２０】仮想化技術を用いたクラスタシステムを説明する図。
【図２１】実施の形態１に係るクラスタシステムのハードウェア構成例を示す図。
【発明を実施するための形態】
【００１４】
実施の形態１．
本実施の形態では、冗長構成における主系や従系といった動作モード、クラスタシステムの種別（共有ディスク型、非共有ディスク型、ロードバランス型など）といった要素も考慮して配置を決定する事で、より信頼性を考慮した配置算出技術を説明する。
なお、主系という語は、高可用性クラスタシステム（ＨＡ（Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ）クラスタシステムともいう）における運用系及び負荷分散クラスタシステム（ロードバランスクラスタシステムともいう）におけるマスタを含む。
また、従系という語は、高可用性クラスタシステムにおける待機系及び負荷分散クラスタシステムにおけるスレイブを含む。
【００１５】
本実施の形態では仮想化技術を用いたクラスタシステムを例にして説明を行うため、まず、仮想化技術を用いたクラスタシステムについて説明する。
図２０のように、２つのサーバから構成される仮想マシンを利用したＰａａＳ（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）のようなシステムを考える。
仮想マシンプラットフォームを提供する事業者Ｂ社、Ｂ社が提供する仮想マシンプラットフォームの上でシステムを運営するＡ社がいる。
物理サーバ上では、仮想マシンを管理するＢ社特権ＯＳ（ホストＯＳともいう）とＡ社のゲストＯＳが動作し、Ａ社のゲストＯＳでは業務アプリケーションと２つのハードウェア間でクラスタシステムを構築するためのクラスタミドルウェアが動作している。
Ｂ社の特権ＯＳ上には、配置の最適化等を行う資源管理ツールが動作する。
また、Ａ社システムとＢ社システムが動作している物理マシンが２台配置されている冗長構成となっている。
Ａ社ゲストＯＳ同士はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）によって接続されている。Ｂ社特権ＯＳ同士はＡ社ゲストＯＳのＬＡＮとは別のＬＡＮによって接続されている。
このようなシステムでは、セキュリティ面からＢ社特権ＯＳ、Ａ社ゲストＯＳ、各々がネットワークアクセスや仮想マシンの機構を利用したアクセスなどをできないように隔絶するケースがある。
そのため、Ｂ社特権ＯＳからＡ社ゲストＯＳへは一切のアクセスができず、資源管理ツールが従来方法を利用して、クラスタミドルウェアにアクセスして動作モード／クラスタ種別を判別することはできない（図２０の右側のシステム構成に概要を図示）。
一方で、Ｂ社特権ＯＳは、仮想マシンモニタからＡ社ゲストＯＳの計算機資源の使用量を取得することはできる（図２０の左側のシステム構成に概要を図示）。
本実施の形態では、仮想マシンモニタから取得可能なゲストＯＳの計算機資源使用量を利用してゲストＯＳが主系及び従系のいずれで動作しているのかを判別するとともに、クラスタシステムの種別を判別する。
なお、図２０では、Ｂ社特権ＯＳがＡ社のクラスタミドルウェアにアクセスできないことが右側のシステム構成に図示されているが、左側のシステム構成でも同様にＢ社特権ＯＳはＡ社のクラスタミドルウェアにアクセスできない。
また、図２０では、Ｂ社特権ＯＳが仮想マシンモニタからＡ社ゲストＯＳの計算機資源使用量を取得可能であることが左側のシステム構成に図示されているが、右側のシステム構成でも同様にＢ社特権ＯＳが仮想マシンモニタからＡ社ゲストＯＳの計算機資源使用量を取得可能である。
【００１６】
図１は、本実施の形態に係るクラスタシステムの全体構成例を示す。
図１の構成では、物理サーバ１００、物理サーバ１１０があり、その上に仮想マシンモニタ２００、仮想マシンモニタ２１０が動作する。
仮想マシンモニタ２００には、仮想マシン３００、仮想マシン３１０が動作し、仮想マシン３００ではゲストＯＳ（Ａ）４００が動作し、ゲストＯＳ（Ａ）４００上でクラスタミドルウェア５００が動作する。
仮想マシン３１０では特権ＯＳ４５０が動作し、特権ＯＳ４５０上で資源管理ツール５５０が動作する。
仮想マシンモニタ２１０には、仮想マシン３２０、仮想マシン３３０が動作する。
仮想マシン３３０ではゲストＯＳ（Ｂ）４１０が動作し、ゲストＯＳ（Ｂ）４１０上でクラスタミドルウェア５１０が動作する。
仮想マシン３２０では特権ＯＳ４６０が動作し、特権ＯＳ４６０上で資源管理ツール５６０が動作する。
ゲストＯＳ（Ａ）４００とゲストＯＳ（Ｂ）４１０はＬＡＮ９００によって接続されている。特権ＯＳ４５０と特権ＯＳ４６０はＬＡＮ９５０によって接続され、ＬＡＮ９００とＬＡＮ９５０間のアクセスは遮断されている。
ゲストＯＳ（Ａ）４００とゲストＯＳ（Ｂ）４１０はクラスタミドルウェア５００、クラスタミドルウェア５１０により冗長構成の対となっている。
なお、ゲストＯＳ（Ａ）４００とクラスタミドルウェア５００、ゲストＯＳ（Ｂ）４１０とクラスタミドルウェア５１０が、クラスタシステムにおける各ノードに相当する。
【００１７】
図２は、資源管理ツール５５０と資源管理ツール５６０の内部構成例を示す。
なお、資源管理ツール５５０と資源管理ツール５６０を合わせたものが情報処理システムの例に相当する。
先ず、資源管理ツール５６０について説明する。
情報入力部５６２は、仮想マシン３２０を通じて仮想マシンモニタ２１０からゲストＯＳ（Ｂ）４１０の計算機資源使用量の情報（以下、計算機資源使用量情報という）を入力する。計算機資源使用量情報は、例えば、ＣＰＵ使用率、ディスク帯域幅、ネットワーク帯域幅の情報である。
通信部５６１は、情報入力部５６２が入力したゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を資源管理ツール５５０の通信部５５１に送信する。
次に、資源管理ツール５５０について説明する。
通信部５５１は、資源管理ツール５６０の通信部５６１から、ゲストＯＳ（Ｂ）４１０の計算機資源使用量の情報を受信する。
情報入力部５５２は、仮想マシン３１０を通じて仮想マシンモニタ２００からゲストＯＳ（Ａ）４００の計算機資源使用量の情報を入力するとともに、通信部５５１からゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を入力する。
判定基準情報読み出し部５５３は、各ノードの動作モードを判定し、また、クラスタシステムの種別を判定するための基準が示される判定基準情報を物理サーバ１００内の所定の記憶領域から読み出す。
判定部５５４は、情報入力部５５２からゲストＯＳ（Ａ）４００の計算機資源使用量情報とゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を入力し、また、判定基準情報読み出し部５５３から判定基準情報を入力し、これらの情報を用いて各ノードが主系及び従系のいずれとして動作しているのかを判定するとともに、クラスタシステムの種別を判定する。
【００１８】
次に、ゲストＯＳ（Ａ）４００とゲストＯＳ（Ｂ）４１０の計算機資源使用量からゲストＯＳ（Ａ）４００、ゲストＯＳ（Ｂ）４１０で構成されるクラスタの種別と、どちらのノードが運用系或いは待機系なのかを検出する手順を説明する。
【００１９】
先ず、図４のフローチャートを用いて、資源管理ツール５６０の動作例を説明する。
最初に、情報入力部５６２は、仮想マシン３２０を通じて仮想マシンモニタ２１０からゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を入力する（Ｓ４０１）。
次に、情報入力部５６２はゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を通信部５６１に出力し、通信部５６１がＬＡＮ９５０を通じてゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を通信部５５１に送信する（Ｓ４０２）。
【００２０】
次に、図５のフローチャートを用いて、資源管理ツール５５０の動作例を説明する。
最初に、情報入力部５５２は、仮想マシン３１０を通じて仮想マシンモニタ２００からゲストＯＳ（Ａ）４００の計算機資源使用量情報を入力する（Ｓ５０１）。
次に、通信部５５１が、通信部５６１から送信されたゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を受信し（Ｓ５０２）、通信部５５１はゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を情報入力部５５２に出力し、情報入力部５５２がゲストＯＳ（Ａ）４００の計算機資源使用量情報とゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を判定部５５４に出力する。
ここでは、例えば、ゲストＯＳ（Ａ）４００の計算機資源使用量情報とゲストＯＳ（Ｂ）４１０の計算機資源使用量情報として、図１０に示す計算機資源使用量情報が取得されたとする。
【００２１】
次に、判定部５５４では、ゲストＯＳ（Ａ）４００の計算機資源使用量情報とゲストＯＳ（Ｂ）４１０の計算機資源使用量情報を比較する（Ｓ５０３）。
判定部５５４は、比較に際して、取得した計算機資源使用量情報に示される負荷から通常時の負荷を取り除く。通常、アプリケーションが動作していなくてもある程度の負荷がシステムには発生している。
ここでは、取得した負荷から通常時の負荷を取り除き、アプリケーションが利用している負荷を取り出す。
例えば、通常時の負荷を図１１のように定義する。この負荷は、システムごとに計測し、適切な負荷を設定する必要がある。なお、通常時の負荷が計測した負荷より大きく取り除くと負数になる場合には、０とする。
次に、判定部５５４は、通常時の負荷を取り除いた負荷を比率化する。
まず、ＣＰＵ使用率に着目し、負荷の小さい方で大きい方を割りを小数点１位を四捨五入し整数値で取得する。ディスクアクセス帯域、ネットワークアクセス帯域に関しても同様に計算し、図１２のような表を得る。
【００２２】
また、判定基準情報読み出し部５５３が、判定基準情報を物理サーバ１００内の所定の記憶領域から読み出す（Ｓ５０４）。
次に、判定部５５４が、Ｓ５０３の比較結果と、Ｓ５０４で読み出された判定基準情報を用いて、クラスタシステム種別と各ノードの動作モードを判定する（Ｓ５０５）。
【００２３】
判定基準情報読み出し部５５３は、Ｓ５０４において、例えば、図３に示す判定基準情報を読み出す。
図３に示すように、判定基準情報は、判定のための条件である判定基準と、各ゲストＯＳの負荷の比較結果が判定基準に合致する場合のクラスタシステムのシステム種別と各ゲストＯＳの動作モードとが示される。
ＸｃｐｕはゲストＯＳ（Ｘ）のゲストＯＳ（Ｙ）に対するＣＰＵ使用率の比率値を意味し、ＹｃｐｕはゲストＯＳ（Ｙ）のゲストＯＳ（Ｘ）に対するＣＰＵ使用率の比率値を意味する。
ＸｄｉｓｋはゲストＯＳ（Ｘ）のゲストＯＳ（Ｙ）に対するディスクアクセス帯域の比率値を意味し、ＹｄｉｓｋはゲストＯＳ（Ｙ）のゲストＯＳ（Ｘ）に対するディスクアクセス帯域の比率値を意味する。
ＸｎｅｔはゲストＯＳ（Ｘ）のゲストＯＳ（Ｙ）に対するネットワークアクセス帯域の比率値を意味し、ＹｎｅｔはゲストＯＳ（Ｙ）のゲストＯＳ（Ｘ）に対するネットワークアクセス帯域の比率値を意味する。
【００２４】
次に、判定部５５４による判定手順（Ｓ５０５）の詳細を説明する。
判定部５５４は、Ｓ５０３の計算結果が、図３の判定基準情報に示される判定基準に合致するかどうかを順に判定していく。
つまり、判定部５５４は、Ｓ５０３の計算結果の値を図１３、図１４、図１５、図１６のフローに対して順次判定を行っていく。不明と検出された場合には、次のフローにより判定を実施し、全てのフローで不明と検出された場合には、最終的な判定結果を不明として出力する。
【００２５】
例えば、Ｓ５０３の計算結果が図６に示すパターン１の値である場合は、図３の１番目のレコードの判定基準に合致し、図１３のＳ１３０１でＹＥＳと判定され、ゲストＯＳ（Ａ）４００が運用系、ゲストＯＳ（Ｂ）４１０が待機系と判定され（Ｓ１３０２）、クラスタシステムの種別は共有ディスク型のアクティブ／スタンバイ型（共有ディスク型高可用性クラスタシステム）と判定される（Ｓ１３０３）。
【００２６】
次に、Ｓ５０３の計算結果が図７に示すパターン２の値である場合は、図３の１番目のレコードの判定基準に合致せず、図１３では動作モード、クラスタシステムの種別ともに不明と判定される（Ｓ１３０６、Ｓ１３０７）。
しかし、図３の２番目のレコードには合致するので、図１４のＳ１４０１でＹＥＳと判定され、ゲストＯＳ（Ａ）４００が運用系、ゲストＯＳ（Ｂ）４１０が待機系と判定され（Ｓ１４０２）、クラスタシステムの種別は非共有ディスク型のアクティブ／スタンバイ型（非共有ディスク型高可用性クラスタシステム）と判定される（Ｓ１４０３）。
【００２７】
次に、Ｓ５０３の計算結果が図８に示すパターン３の値である場合は、図３の１番目及び２番目のレコードの判定基準に合致せず、図１３及び図１４では動作モード、クラスタシステムの種別ともに不明と判定される（Ｓ１３０６、Ｓ１３０７、Ｓ１４０６、Ｓ１４０７）。
しかし、図３の３番目のレコードには合致するので、図１５のＳ１５０１でＹＥＳと判定され、ゲストＯＳ（Ａ）４００がマスタ、ゲストＯＳ（Ｂ）４１０がスレイブと判定され（Ｓ１５０２）、クラスタシステムの種別は非共有ディスク型のロードバランス・マスタ／スレイブ型（非共有ディスク型負荷分散クラスタシステムのマスタスレイブ形式）と判定される（Ｓ１５０３）。
【００２８】
次に、Ｓ５０３の計算結果が図９に示すパターン４の値である場合は、図３の１番目〜３番目のレコードの判定基準に合致せず、図１３〜図１５では動作モード、クラスタシステムの種別ともに不明と判定される（Ｓ１３０６、Ｓ１３０７、Ｓ１４０６、Ｓ１４０７、Ｓ１５０６、Ｓ１５０７）。
しかし、図３の４番目のレコードには合致するので、図１６のＳ１６０１でＹＥＳと判定され、ゲストＯＳ（Ａ）４００、ゲストＯＳ（Ｂ）４１０ともにマスタと判定され（Ｓ１６０２）、クラスタシステムの種別は非共有ディスク型のロードバランス・マルチ／マスタ型（非共有ディスク型負荷分散クラスタシステムのマルチマスタ形式）と判定される（Ｓ１６０３）。
【００２９】
なお、図６〜図９において、ＣＭはクラスタミドルウェアを表し、ＡＰはアプリケーションプログラムを表し、ＤＲはディスクレプリケーションを表す。
【００３０】
このように、本実施の形態によれば、クラスタシステムの各ノードにおける計算機資源使用量を解析して各ノードが主系及び従系のいずれとして動作しているのかを判別できるので、クラスタミドルウェアとのインターフェイスの利用、ネットワーク接続が許可されない環境においても、各ノードの動作モードを判定することができる。
更に、本実施の形態によれば、各ノードの動作モードとともにクラスタシステムの種別を検知することができ、信頼性をより高める配置や負荷をより効率的に分散させる配置を実現することができる。
【００３１】
なお、以上では、２ノード構成のクラスタシステムについて説明したが、３ノード以上の場合は、各ノードの計算機資源使用量が所定レベル以上であり、各ノードの計算機資源使用量が同等レベルである場合には、クラスタシステムの種別を非共有ディスク型のロードバランス・マルチ／マスタ型として判別し、動作モードは全てのノードをマスタと判定する。
上記の基準に合致しない場合は、種別、動作モード共に不明として判別する。
【００３２】
また、以上では、仮想化技術を利用したクラスタシステムについて説明したが、本実施の形態にて説明した手法は仮想化技術を利用していないクラスタシステムにも適用可能である。
【００３３】
以上、本実施の形態では、複数ノードから構成され、それぞれのノードが主系／従系（運用系／待機系、マスタ／スレイブ）という動作モードを持つ高信頼クラスタシステム（ＨＡクラスタ、高可用性クラスタ等）において、各ノードの計算機資源使用量（リソース使用量または負荷）を比較し、計算機資源使用量の大きいノードを主系（運用系またはマスタ）、小さいノードを従系（待機系またはスレイブ）と判別する動作モード判別方法を説明した。
【００３４】
また、本実施の形態では、計算機資源使用量としてＣＰＵ使用率、ディスク帯域幅、ネットワーク帯域幅を取得し各々比較、各使用量の比較パターンからクラスタシステムの種別（共有ディスク型、非共有ディスク型、ロードバランス型など）とそれに応じた動作モードを判別する動作モード判別方法を説明した。
【００３５】
また、２ノードでの判別では、各使用量の比較パターンとして以下の４つのパターンを定義し、各パターンから共有ディスク  アクティブ／スタンバイ型、非共有ディスク  アクティブ／スタンバイ型、非共有ディスク  ロードバランス  マスタ／スレイブ型、非共有ディスク  マルチ／マスタ型の４つの種別とそれぞれ動作モードを判別することを説明した。
【００３６】
また、３ノード以上の場合は、ノード間で全体的に計算機資源使用量が高く大体同じである場合には、ロードバランス  マルチ／マスタ型として判別し、動作モードは全てマスタとし、それ以外の場合には、種別、動作モード共に不明として判別することを説明した。
【００３７】
最後に、本実施の形態に示した仮想化技術を用いたクラスタシステムのハードウェア構成例について説明する。
図２１は、本実施の形態に示すクラスタシステムのハードウェア資源の一例を示す図である。
なお、図２１の構成は、あくまでもクラスタシステムのハードウェア構成の一例を示すものであり、クラスタシステムのハードウェア構成は図２１に記載の構成に限らず、他の構成であってもよい。
【００３８】
図２１において、クラスタシステムは、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００３９】
通信ボード９１５は、図１等に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮの他、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【００４０】
磁気ディスク装置９２０には、ＣＰＵ９１１により実行される仮想マシンモニタ９２１、仮想マシン９２５、特権ＯＳ９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムには、資源管理ツール、ゲストＯＳ、クラスタミドルウェア、アプリケーションプログラム等が含まれる。プログラム群９２３のプログラムは、ＣＰＵ９１１が仮想マシンモニタ９２１、仮想マシン９２５、特権ＯＳ９２２を利用しながら実行する。
【００４１】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるプログラムのなくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００４２】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
クラスタシステムの起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムにより仮想マシンモニタ９２１等が起動される。
【００４３】
また、上記プログラム群９２３には、資源管理ツールの「〜部」の機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
プログラムは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
【００４４】
ファイル群９２４には、本実施の形態の説明において、「〜の判定」、「〜の判別」、「〜の計算」、「〜の比較」、「〜の取得」、「〜の検出」、「〜の解析」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００４５】
また、本実施の形態の説明において「〜部」として説明しているものは、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
【００４６】
このように、本実施の形態に示すクラスタシステムは、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
【符号の説明】
【００４７】
１００  物理サーバ、１１０  物理サーバ、２００  仮想マシンモニタ、２１０  仮想マシンモニタ、３００  仮想マシン、３１０  仮想マシン、３２０  仮想マシン、３３０  仮想マシン、４００  ゲストＯＳ（Ａ）、４１０  ゲストＯＳ（Ｂ）、４５０  特権ＯＳ、４６０  特権ＯＳ、５００  クラスタミドルウェア、５１０  クラスタミドルウェア、５５０  資源管理ツール、５５１  通信部、５５２  情報入力部、５５３  判定基準情報読み出し部、５５４  判定部、５６０  資源管理ツール、５６１  通信部、５６２  情報入力部、９００  ＬＡＮ、９５０  ＬＡＮ。
【図１】
0005511262.tif 000002
【図２】
0005511262.tif 000003
【図３】
0005511262.tif 000004
【図４】
0005511262.tif 000005
【図５】
0005511262.tif 000006
【図６】
0005511262.tif 000007
【図７】
0005511262.tif 000008
【図８】
0005511262.tif 000009
【図９】
0005511262.tif 000010
【図１０】
0005511262.tif 000011
【図１１】
0005511262.tif 000012
【図１２】
0005511262.tif 000013
【図１３】
0005511262.tif 000014
【図１４】
0005511262.tif 000015
【図１５】
0005511262.tif 000016
【図１６】
0005511262.tif 000017
【図１７】
0005511262.tif 000018
【図１８】
0005511262.tif 000019
【図１９】
0005511262.tif 000020
【図２０】
0005511262.tif 000021
【図２１】
0005511262.tif 000022