JP5998577B2 - クラスタ監視装置、クラスタ監視方法、及びプログラム - Google Patents

クラスタ監視装置、クラスタ監視方法、及びプログラム Download PDF

Info

Publication number
JP5998577B2
JP5998577B2 JP2012077741A JP2012077741A JP5998577B2 JP 5998577 B2 JP5998577 B2 JP 5998577B2 JP 2012077741 A JP2012077741 A JP 2012077741A JP 2012077741 A JP2012077741 A JP 2012077741A JP 5998577 B2 JP5998577 B2 JP 5998577B2
Authority
JP
Japan
Prior art keywords
server
virtual
virtual server
agent
monitoring
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
JP2012077741A
Other languages
English (en)
Other versions
JP2013206379A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2012077741A priority Critical patent/JP5998577B2/ja
Priority to US13/765,821 priority patent/US9049101B2/en
Priority to EP13155374.5A priority patent/EP2645635B1/en
Priority to BR102013003822-9A priority patent/BR102013003822A2/pt
Priority to CN201310106707.6A priority patent/CN103368789B/zh
Publication of JP2013206379A publication Critical patent/JP2013206379A/ja
Application granted granted Critical
Publication of JP5998577B2 publication Critical patent/JP5998577B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、特に、高可用性クラスタシステムにおいて監視エージェントを起動するための、クラスタ監視装置、クラスタ監視方法、及びこれらを実現するためのプログラムに関する。
従来から、データベースなどの業務アプリケーションの監視には、エージェント方式による監視が行なわれている。エージェント方式では、監視エージェントと呼ばれる監視プログラムが、クライアントからのアクセスと同様の方法で、業務アプリケーションを実行するサーバに接続する。そして、監視エージェントは、業務アプリケーションに対して、ダミーの要求を行い、業務アプリケーションから正常な応答があるかどうかを確認する(例えば、特許文献1参照。)。
具体的には、特許文献1は、監視対象となるサーバとは別のコンピュータ上で、監視エージェントが構築されたシステムを開示している。特許文献1に開示されたシステムでは、サーバ、ディスク、ネットワーク等のシステムコンポーネントを個々に監視する場合と異なり、監視エージェントは、システムを利用する側の立場に立って、適切なサービスが提供されているかという視点で監視を行なうことができる。
また、近年においては、HA(高可用性:High Availability)クラスタシステムが登場している。HAクラスタシステムは、いくつものサーバをあたかも1つのサーバのように稼動させるシステムであり、このシステムでは、1台のサーバが故障等で停止しても、システム全体を止めることなく、処理を続行しつつ、修理及び交換を行なうことが可能となっている。また、特許文献1に開示されたシステムは、このようなHAクラスタシステムにも適用できると考えられる。
特開2008−293117号公報
しかしながら、上記特許文献1に開示されたシステムでは、監視エージェントが起動されるサーバは固定されており、動的に監視エージェントを起動すべき最適なサーバを判定して、そのサーバ上で監視エージェントを起動することは不可能である。このため、上記特許文献1に開示されたシステムを、HAクラスタシステムに適用した場合は、監視エージェントを起動しているサーバがダウンすると、それ以降監視が実施できなくなってしまう。
また、上記特許文献1に開示されたシステムでは、業務アプリケーションを実行しているサーバ上で、監視エージェントを起動することはできないが、負荷の分散の点からは、このような態様が求められる場合もある。上記特許文献1に開示されたシステムをHAクラスタシステムに適用した場合は、負荷分散を十分に図れないという問題も発生する。
本発明の目的の一例は、上記問題を解消し、クラスタシステムにおいて、監視エージェントの起動場所を動的に切り替えることができ、且つ、クラスタシステムにかかる負荷の分散を図り得る、クラスタ監視装置、クラスタ監視方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるクラスタ監視装置は、複数のサーバ装置を備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための装置であって、
前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、業務サーバ特定部と、
特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、エージェントサーバ選択部と、
を備えていることを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるクラスタ監視方法は、複数のサーバ装置を備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための方法であって、
(a)前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、ステップと、
(b)特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、ステップと、
を有することを特徴とする。
更に、上記目的を達成するため、本発明の一側面におけるプログラムは、コンピュータによって、複数のサーバ装置を備えるクラスタシステムにおける業務用のアプリケーションプログラム及び監視エージェントの起動を制御するためのプログラムであって、
前記コンピュータに、
(a)前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、ステップと、
(b)特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、ステップと、
を実行させることを特徴とする。
以上のように、本発明によれば、クラスタシステムにおいて、監視エージェントの起動場所を動的に切り替えることができ、且つ、クラスタシステムにかかる負荷の分散を図ることができる。
図1は、本発明の実施の形態1におけるクラスタ監視装置によって構築されたクラスタシステムの構成を示す図である。 図2は、本発明の実施の形態1におけるクラスタ監視装置の構成を示すブロック図である。 図3は、本発明の実施の形態1におけるクラスタ監視装置の動作を示すフロー図である。 図4は、本発明の実施の形態2におけるクラスタ監視装置の構成を示すブロック図である。 図5は、本発明の実施の形態2におけるクラスタ監視装置の動作を示すフロー図である。 図6は、本発明の実施の形態2におけるクラスタ監視装置の動作を模式的に表わした図である。 図7は、本発明の実施の形態1及び2におけるクラスタ監視装置を実現するコンピュータの一例を示すブロック図である。
(発明の概要)
例えば、HAクラスタシステムが、1又は2以上の物理サーバが提供する仮想環境下で動作する仮想サーバによって構成されているとする。この場合、従来から、業務サービスを提供するためのアプリケーションプログラム(以下「業務アプリケーション」と表記する。)が切替の単位(フェイルオーバグループ)として定義されており、任意の仮想サーバでの起動、及び業務アプリケーションを起動する仮想サーバの切替が可能となっている。
これに対して、本発明では、更に、業務アプリケーションを監視するために設けられたフェイルオーバグループ(以下「監視用フェイルオーバグループ」と表記する。)も定義することができる。そして、本発明では、業務アプリケーションによる業務用サービスの可用性を最大化するため、監視用フェイルオーバグループの起動に最適な仮想サーバを選択し、その仮想サーバ上で監視用フェイルオーバグループが起動される。
また、「最適な仮想サーバ」の選択は、具体的には、例えば、業務アプリケーションが起動している物理サーバと、監視用フェイルオーバグループが起動している物理サーバとが別々となるように行なわれる。なお、以降においては、従来からの「フェイルオーバグループ」を監視用フェイルオーバグループと区別するため、この「フェイルオーバグループ」を「業務用フェイルオーバグループ」と表記する。
また、本発明では、監視用フェイルオーバグループが起動した後も、業務アプリケーション及び監視用フェイルオーバグループがどの物理サーバ上で起動しているかを、常時確認することができる。この場合において、仮想化基盤の構成が変わったなどのシステム構成に変更が生じた際には、再度、同様の基準に照らして最も可用性が高くなるように、監視用フェイルオーバグループの起動に最適な起動サーバが選択される。そして、選択された起動サーバが現状の起動サーバと異なる場合は、切り替えが行なわれる。
(実施の形態1)
以下、本発明の実施の形態1における、クラスタ監視装置、クラスタ監視方法、及びプログラムについて、図1〜図2を参照しながら説明する。
[システム構成]
最初に、図1を用いて、本実施の形態1で対象となるクラスタシステムについて説明する。図1は、本発明の実施の形態1におけるクラスタ監視装置によって構築されたクラスタシステムの構成を示す図である。
図1に示すように、本実施の形態においては、サーバ50、サーバ60、サーバ70、及びサーバ80を備える高可用性のクラスタシステム300が構築されている。また、本実施の形態では、サーバ装置50〜80それぞれは、物理サーバ100及び200が提供する仮想環境下で動作する仮想サーバであり、以下、それぞれ「仮想サーバ」と表記する。
具体的には、仮想サーバ50及び60は、物理サーバ100に備えられた仮想化基盤管理装置330によって構築され、仮想サーバ70及び80は、物理サーバ200に備えられた仮想化基盤管理装置340よって構築されている。また、仮想化基盤管理装置330及び仮想化基盤管理装置340は、それぞれ、仮想環境を実現するためのソフトウェア(仮想化ソフト)によって構築されている。各仮想化基盤管理装置は、それが導入されている物理サーバで動作する仮想サーバを管理している。
また、物理サーバ100と物理サーバ200とは、ネットワーク310を介して相互に接続されている。ネットワーク310には、更に、各仮想サーバが提供する業務サービスを利用するクライアント320も接続されている。
また、図1に示すように、各仮想サーバには、業務アプリケーションと監視エージェントとが導入されており、各仮想サーバは、これらを動作させることができる。具体的には、仮想サーバ50には、業務アプリケーション51と監視エージェント52とが導入され、仮想サーバ60には、業務アプリケーション61と監視エージェント62とが導入されている。同様に、仮想サーバ70には、業務アプリケーション71と監視エージェント72とが導入され、仮想サーバ80には、業務アプリケーション81と監視エージェント82とが導入されている。
更に、本実施の形態1におけるクラスタ監視装置10は、仮想サーバ50〜80それぞれに構築されており、各クラスタ監視装置10は、互いに協調して、業務アプリケーション及び監視エージェントの起動を制御する。そして、具体的には、業務アプリケーション51、61、71、81は、全体でひとつの業務用フェイルオーバグループ91を構成しており、各クラスタ監視装置10は、これらを起動するサーバの切り替えを実行する。更に、監視エージェント52、62、72、82は、全体でひとつ監視用フェイルオーバグループ92を構成しており、各クラスタ監視装置10は、これら起動するサーバの切り替えも実行する。
また、各仮想サーバには、業務アプリケーションを動作させるための優先度が設定されている。本実施の形態では、同一順位は存在せず、任意の二つの仮想サーバ間には必ず優先度の高低がある。本実施の形態1では、仮想サーバ50、仮想サーバ60、仮想サーバ70、仮想サーバ80の順に、高から低となるように優先度が設定されているものとする。
また、通常、業務アプリケーションには、対応する監視エージェントが対応付けられている。本実施の形態1においては、業務アプリケーション51、61、71、81には、監視エージェント52、62、72、83が対応付けられており、図1には、これらのみが図示されている。
なお、本実施の形態1は、この例に限定されず、クラスタシステム300においては、他の複数の業務アプリケーションと、それぞれに対応した監視エージェントとが存在していても良い。例えば、データベースの複数のインスタンス同士をアクティブ−アクティブ構成とした場合、ファイルサーバをアクティブ-アクティブ構成とした場合、等では、クラスタシステムにおいて、複数の業務アプリケーションと、それぞれに対応する監視エージェントとが同時に存在することとなる。その他、データベース−ファイルサーバ等の異なる業務アプリケーション同士のアクティブ−アクティブ構成も挙げられる。
また、本実施の形態1では、説明のため、業務アプリケーション51、61、71、及び81と、監視エージェント52、62、72、及び82とのペアのみに着目する。また、このペア以外の業務アプリケーション及び監視エージェントについては、以降において、「他の業務アプリケーション」、「他の監視エージェント」と表記する。
[装置構成]
続いて、図2を用いて、本実施の形態1におけるクラスタ監視装置の構成について説明する。図2は、本発明の実施の形態1におけるクラスタ監視装置の構成を示すブロック図である。また、本実施の形態では、各仮想サーバにおけるクラスタ監視装置は、全て同様の構成を備えているため、図2においては、そのうちの一つのみが図示されている。
図2に示すように、本実施の形態1におけるクラスタ監視装置10は、監視エージェントの管理及び制御を行う監視エージェント制御装置20を備えている。また、監視エージェント制御装置20は、業務サーバ特定部21と、エージェントサーバ選択部22とを備えている。
業務サーバ特定部21は、仮想サーバ50〜80の中から、業務アプリケーションが動作している仮想サーバを特定する。また、エージェントサーバ選択部22は、特定された仮想サーバに基づいて、仮想サーバ50〜80の中から、監視エージェントを起動させるサーバを選択する。
このように、本実施の形態1では、クラスタ監視装置10は、クラスタシステム300において業務アプリケーションを動作させている仮想サーバを監視し、該当する仮想サーバを特定する。そして、クラスタ監視装置10は、特定した仮想サーバに基づいて、監視エージェントの起動に適切なサーバ(例えば、後述するように、業務アプリケーションを動作させている仮想サーバとは物理サーバが異なる仮想サーバなど)を選択することができる。つまり、本実施の形態1によれば、クラスタシステム300において、監視エージェントの起動場所を動的に切り替えることができる。そして、この結果、クラスタシステム300にかかる負荷の分散が図られる。
ここで、本実施の形態1におけるクラスタ監視装置10の構成を更に具体的に説明する。まず、図2に示すように、本実施の形態では、監視エージェント制御装置20は、起動サーバ特定部21及びエージェントサーバ選択部に加えて、対応する監視エージェントと、エージェント指示部23と、サーバ照合部24とを備えている。
このうち、エージェント指示部23は、エージェントサーバ選択部22によって仮想サーバが選択されると、選択に応じて、各仮想サーバ上の監視エージェントに対して起動及び停止を指示する。また、サーバ照合部24は、仮想サーバが動作している物理サーバを特定するため、仮想化基盤管理装置330及び340に対して照合を要求し、物理サーバを特定するための情報を収集する。収集された情報は、エージェントサーバ選択部22による仮想サーバの選択に利用される。
また、本実施の形態1においては、クラスタ監視装置10は、監視エージェント制御装置20に加えて、業務アプリケーションの管理及び制御を行う業務アプリケーション制御装置30と、クラスタ及び仮想サーバの情報を記憶する記憶装置40とを備えている。このうち、業務アプリケーション制御装置30は、業務アプリケーションを起動するための業務アプリケーション起動部31を備えている。
また、記憶装置40は、更に、業務サーバ記憶部41と、エージェントサーバ記憶部42とを備えている。そして、業務サーバ記憶部41は、動作している業務アプリケーションとそれを動作させている仮想サーバとを特定する情報を格納している。また、エージェントサーバ記憶部42は、監視エージェントとそれを動作させている仮想サーバとを特定する情報を格納している。
[装置動作]
次に、本発明の実施の形態1におけるクラスタ監視装置10の動作について図3を用いて説明する。図3は、本発明の実施の形態1におけるクラスタ監視装置の動作を示すフロー図である。以下の説明においては、適宜図1及び図2を参酌する。また、本実施の形態1では、クラスタ監視装置10を動作させることによって、クラスタ監視方法が実施される。よって、本実施の形態におけるクラスタ監視方法の説明は、以下のクラスタ監視装置10の動作説明に代える。
前提として、仮想サーバ50〜80それぞれにおいて、各クラスタ監視装置10は下記に示す各ステップが実行されるように、互いに連携して動作する。つまり、各ステップでは、その内容に応じて、各クラスタ監視装置10が互いに協調して論理的に同一の処理を行なったり、対応するクラスタ監視装置10のみが単独で処理を行なったりすることになる。
具体的には、下記に示すステップのうち、ステップA2〜A14は、各クラスタ監視装置10が協調して処理するステップであり、ステップA15は対応するクラスタ監視装置10のみが単独で処理するステップである。
まず、クラスタ監視装置10において全てのコンポーネントが正常に起動した状態で、外部から業務アプリケーションの実行が指示されると、業務アプリケーション起動部31は、4つの仮想サーバ50〜80のうち、最も優先度の高い仮想サーバ50上で業務アプリケーション51を起動する(ステップA1)。
同時に、ステップA1では、記憶装置40内の業務サーバ記憶部41は、業務アプリケーション51は仮想サーバ50上で起動していることを特定する情報を記憶する。なお、この時点では、未だ監視エージェントはどの仮想サーバ上でも動作していない状態である。
次に、業務アプリケーション起動部31は、業務アプリケーション51の起動が完了すると、起動完了を示す情報を、監視エージェント制御装置20内の業務サーバ特定部21に通知する(ステップA2)。
ステップA2が実行されると、監視エージェント制御装置20において、業務サーバ特定部21が、業務アプリケーション起動部31からの通知を受け取り、これを契機として、業務サーバ記憶部41にアクセスする。そして、業務サーバ特定部21は、業務サーバ記憶部41に格納されている情報に基づいて、業務アプリケーションが起動している仮想サーバを特定する(ステップA3)。なお、本実施の形態では、業務サーバ特定部21は、業務アプリケーション51が起動している仮想サーバ50を特定する。
続いて、業務サーバ特定部21は、サーバ照合部24に対して、仮想化基盤管理装置330及び340への照合を行なわせる。サーバ照合部24は、仮想サーバが動作している物理サーバを特定するため、仮想化基盤管理装置330及び340に対して照合を要求し、物理サーバを特定するための情報を収集し、収集した情報を業務サーバ特定部21に返却する。これにより、業務サーバ特定部21は、特定した仮想サーバが動作している物理サーバを特定する(ステップA4)。
本実施の形態では、業務サーバ特定部21は、例えば、仮想サーバ50が動作している物理サーバとして、物理サーバ100を特定する。また、業務サーバ特定部21は、ステップA3で特定した仮想サーバとステップA4で特定した物理サーバとの情報を、エージェントサーバ選択部22に渡す。
次に、エージェントサーバ選択部22は、次の4つの(条件1)〜(条件4)を順に適用して、監視エージェントを起動させるべき仮想サーバを選択する。
(条件1)ステップA4で特定された物理サーバ(業務アプリケーションが起動している物理サーバ)とは別の物理サーバ上で動作している仮想サーバを優先する。
(条件2)ステップA3で特定された仮想サーバ(業務アプリケーションが起動している仮想サーバ)とは異なる仮想サーバを優先する。
(条件3)クラスタシステムが管理している他の業務アプリケーションが起動していない物理サーバ上で動作している仮想サーバ(監視エージェント52〜82が監視対象としていないアプリケーションを動作させていない物理サーバ上で動作している仮想サーバ)を優先する。
(条件4)業務アプリケーションを動作させる際の優先度が最も低い仮想サーバを優先する。
まず、エージェントサーバ選択部22は、条件1を満たす仮想サーバが存在しているかどうかを判定する(ステップA5)。ステップA5の判定の結果、存在していない場合は、エージェントサーバ選択部22は、ステップA14を実行する。一方、ステップA5の判定の結果、存在している場合は、エージェントサーバ選択部22は、存在している仮想サーバが複数であるかどうかを判定する(ステップA6)。
そして、エージェントサーバ選択部22は、単一である場合はステップA15を実行し、複数である場合は、条件1を満たさない仮想サーバを選択肢から除外する(ステップA7)。
次に、エージェントサーバ選択部22は、ステップA7で絞られた選択肢の中から、条件2を満たす仮想サーバが存在しているかどうかを判定する(ステップA8)。ステップA8の判定の結果、存在していない場合は、エージェントサーバ選択部22は、ステップA14を実行する。一方、ステップA8の判定の結果、存在している場合は、エージェントサーバ選択部22は、存在している仮想サーバが複数であるかどうかを判定する(ステップA9)。
そして、エージェントサーバ選択部22は、単一である場合はステップA15を実行し、複数である場合は、条件2を満たさない仮想サーバを選択肢から除外する(ステップA10)。
次に、エージェントサーバ選択部22は、ステップA10で絞られた選択肢の中から、条件3を満たす仮想サーバが存在しているかどうかを判定する(ステップA11)。ステップA11の判定の結果、存在していない場合は、エージェントサーバ選択部22は、ステップA14を実行する。一方、ステップA8の判定の結果、存在している場合は、エージェントサーバ選択部22は、存在している仮想サーバが複数であるかどうかを判定する(ステップA12)。
そして、エージェントサーバ選択部22は、単一である場合はステップA15を実行し、複数である場合は、条件3を満たさない仮想サーバを選択肢から除外する(ステップA13)。
ステップA14では、エージェントサーバ選択部22は、条件4を満たす仮想サーバを特定する。なお、上記の条件1〜3による絞り込みの過程で、候補となる仮想サーバが存在しなくなっていた場合は、エージェントサーバ選択部22は、その直前まで候補として残っていた仮想サーバから、条件4に照らして対象の仮想サーバを1つ特定する。
また、業務アプリケーションを動作させるための優先度は、サーバ間で必ず高低がつくように設定されているものとする。従って、条件1〜3による絞り込みでは、対象となる仮想サーバを一つに絞り込むことができなかった場合でも、条件4により一意に仮想サーバが特定される。なお、本実施の形態では条件1〜条件4のうちの1部のみが適用されても良い。また、適用の順序は上述の例に限定されない。
その後、エージェントサーバ選択部22は、ステップA5、A8、A11、A14の結果に基づいて、監視エージェントを起動させるべき仮想サーバを選択する(ステップA15)。ステップA15が実行されると、選択された仮想サーバ上のクラスタ監視装置10のみにおいて、エージェント指示部23が、選択された仮想サーバに対して、監視エージェントの起動を指示する。ステップA1〜A15は、業務アプリケーションの実行が指示される度に繰り返し実行される。
また、本実施の形態1では、既に、監視エージェントが起動している状態にあるときに、それを起動させている仮想サーバに障害が発生した場合は、そのことを契機として、ステップA3〜A15を実行することもできる。つまり、この場合、ステップA3では、業務サーバ特定部21は、監視エージェントを起動させている仮想サーバが停止すると、業務サーバ記憶部41にアクセスして、業務アプリケーションが起動している仮想サーバを特定する。その後、ステップA4以降が実施される。
更に、本実施の形態1では、業務アプリケーションに関連する障害が発生し、これに伴って、業務アプリケーションのフェイルオーバが実施された場合も、ステップA1〜A15が実行される。この場合、ステップA1では、フェイルオーバによる引き継ぎ先の仮想サーバが特定され、これが起動される。その後、ステップA2〜A15の各ステップにより、改めて監視エージェントを起動すべき仮想サーバが判定され、監視エージェントが動作する仮想サーバの切り替えが行なわれる。
また、「業務アプリケーションに関連する障害」には、業務アプリケーション自体に発生した障害だけでなく、業務アプリケーションを実行するサーバに発生した障害、業務アプリケーションで利用されるネットワーク経路及びネットワーク機器で発生した障害も含まれる。
ここで、具体例に沿って、上記ステップA3〜A15を説明する。まず、エージェントサーバ選択部22は、条件1に基づいて、業務アプリケーションが起動している物理サーバ100とは、異なる物理サーバ、つまり物理サーバ200で動作している仮想サーバを列挙する。そして、エージェントサーバ選択部22は、サーバ照合部24に照会をかけ、その結果から、仮想サーバ70及び80がそれに該当し、条件1を満たしていると判定する(ステップA5)。
次に、エージェントサーバ選択部22は、複数の仮想サーバが選択されたので、ステップA7に進み、選択されなかった仮想サーバ50及び60を選択肢から除外する。
条件1を設ける理由は、業務アプリケーションが起動している物理サーバとは異なる物理サーバ上で監視エージェントを起動することにより、通常外部からアクセスするクライアントにより近い立場からの監視を実現するためである。
次に、エージェントサーバ選択部22は、条件2に基づいて、条件1を満たす仮想サーバ70及び80のうち、業務アプリケーションが起動していない側の仮想サーバを列挙する。そして、エージェントサーバ選択部22は、業務サーバ記憶部41に照会をかけ、その結果から、仮想サーバ70及び80は、共に業務アプリケーションを起動しておらず、条件2を満たしていると判定する(ステップA8)。
次に、エージェントサーバ選択部22は、複数の仮想サーバが選択されたので、ステップA10に進む。但し、この場合は、条件から外れる仮想サーバは存在しないため、どのサーバも選択肢から除外されない。
条件2を設ける理由は、業務アプリケーションが起動している仮想サーバとは異なる仮想サーバで監視エージェントを起動することにより、通常外部からアクセスするクライアントにより近い立場からの監視を実現するためである。
次に、エージェントサーバ選択部22は、条件3に基づいて、条件2を満たす仮想サーバ70及び80のうち、他の業務アプリケーションが起動していない物理サーバを列挙する。仮想サーバ70及び80を動作させる物理サーバ200では、他の業務アプリケーションは起動していないため、仮想サーバ70及び80は、共に条件3を満たしていると判定される(ステップA11)。
次に、エージェントサーバ選択部22は、複数の仮想サーバが選択されたので、ステップA13に進む。但し、この場合も、条件から外れる仮想サーバは存在しないため、どのサーバも選択肢から除外されない。
条件3を設ける理由は、他の業務アプリケーションが起動している物理サーバとは異なる物理サーバで監視エージェントを起動することにより、業務アプリケーション及び監視エージェントが与える、物理サーバへの負荷の分散を図るためである。
次に、エージェントサーバ選択部22は、条件4に基づいて、条件3を満たす仮想サーバ70及び80のうち、業務アプリケーションを動作させるための優先度が最も低い仮想サーバを選定する。仮想サーバ70の優先度は、仮想サーバ80のそれよりも高いため、仮想サーバ80が条件4を満たしていると判定される(ステップA14)。
条件4を設ける理由は、業務アプリケーションの起動先として優先度の低い仮想サーバを選ぶことにより、将来サーバダウン等でフェイルオーバが発生した際に、監視エージェントと業務アプリケーションとの起動サーバが重なる可能性を低くすることができるからである。
以上の要領で、エージェントサーバ選択部22は、仮想サーバ80を、監視エージェントを起動すべき仮想サーバとして選択し(ステップA15)、エージェント指示部23にその情報を渡す。これにより、エージェント指示部23は、仮想サーバ80上の監視エージェント82を起動する。同時に、エージェント指示部23は、エージェントサーバ記憶部42に、監視エージェントの起動サーバとして仮想サーバ80を登録する。
[プログラム]
本実施の形態1におけるプログラムは、コンピュータに、図3に示すステップA1〜A15を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1におけるクラスタ監視装置10とクラスタ監視方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、監視エージェント制御装置20及び業務アプリケーション制御装置30として機能し、処理を行なう。
[実施の形態1による効果]
以上のように、本実施の形態1によれば、クラスタシステム300において、監視エージェントの起動場所を動的に切り替えることができる。また、監視エージェントが起動している仮想サーバがダウンした場合でも、自動的に他の仮想サーバ上に監視エージェントを切り替えることで、監視を継続することができる。
更に、本実施の形態1では、監視エージェントのモジュールを、クラスタ監視装置10を構成するためのソフトウェアの一部として提供することができる。この場合、一般的なクラスタシステムを構築する場合と略同一の手間で、本実施の形態1におけるクラスタ監視装置10を構築し、運用することができる。よって、本実施の形態では、クラスタ監視装置10の構築にかかるコストの上昇を低減することができる。
また、この構築及び運用の手間がかからないという効果は、運用管理ソフトのカテゴリにおいて、従来「エージェントレス」技術と呼称されていた技術では実現できなかった特徴である。なお、「エージェントレス」技術とは、業務用とは異なるサーバによって監視マネージャを構築し、そこから業務アプリケーションの監視を行う技術である。
また、本実施の形態1では、業務アプリケーションが起動しているものとは異なるサーバから、クライアント視点での監視が可能になる。通常、クライアントは業務アプリケーションが動作している環境とは離れたところから接続してサービスを利用している。従って、本実施の形態1によれば、実際のクライアントに近い立場での業務アプリケーションを監視することができる。結果、物理的なネットワーク障害が発生した場合、業務アプリケーションが使用しているポートがファイアウォールなどによりフィルタリングされた場合等、業務アプリケーションと同一のサーバ上から監視行なった場合では検出できない異常も検出することができる。
つまり、監視エージェントが業務アプリケーションと同一の物理サーバ又は仮想サーバ上で実行されている場合、監視エージェントは、物理ネットワーク及び仮想OSのファイアウォール機構を介しない通信によって監視を行う。このため、実際には、ネットワーク上の離れた位置にいる端末からはアクセスができない状態が発生していても、監視エージェントは、その状態を検出できない事態が発生する。これに対して、本実施の形態1では、異なる物理サーバ及び仮想サーバを優先して監視エージェントを起動するため、このような場合でも確実に異常を検出することができる。
また、本実施の形態1では、業務アプリケーションの起動していない側の物理サーバを識別し、その上で、この物理サーバによって優先的に監視エージェントを動作させる。このため、業務アプリケーションと監視エージェントとが物理サーバに与える負荷を分散させることができ、各物理サーバの持つ資源を有効に利用することが可能となる。
(実施の形態2)
次に、本発明の実施の形態2における、クラスタ監視装置、クラスタ監視方法、及びプログラムについて、図4〜図6を参照しながら説明する。
[装置構成]
最初に、図4を用いて、本実施の形態2におけるクラスタ監視装置の構成について説明する。図4は、本発明の実施の形態2におけるクラスタ監視装置の構成を示すブロック図である。
図4に示すように、本実施の形態2におけるクラスタ監視装置11は、図2に示した実施の形態1におけるクラスタ監視装置10と異なり、監視エージェント制御装置20において、マイグレーション検知部25を備えている。
マイグレーション検知部25は、仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知することができる。そして、マイグレーション検知部25によってマイグレーションが検知されると、業務サーバ特定部21は、再度、業務アプリケーションが動作している仮想サーバを特定し、エージェントサーバ選択部22は、再度、監視エージェントを起動させる仮想サーバを選択する。
例えば、監視エージェント82が起動している状態で、外部からの仮想化基盤管理装置330又は340への操作等によって、仮想サーバ50が物理サーバ100から物理サーバ200にマイグレーションされたとする。この場合、そのままの状態では、同一の物理サーバ200によって、業務アプリケーションと監視エージェントとの両方が起動することになり、実施の形態1で述べた効果が得られない状態となる。
しかし、実施の形態2においては、マイグレーション発生のタイミングで、監視エージェントが適切な仮想サーバで動作しているかの判定が改めて行なわれ、他に適切な仮想サーバが存在する場合は、監視エージェントが動作する仮想サーバの切り替えが行なわれる。結果、実施の形態1で述べた効果を得ることが可能となる。
[装置動作]
次に、本発明の実施の形態2におけるクラスタ監視装置11の動作について図5及び図6を用いて説明する。図5は、本発明の実施の形態2におけるクラスタ監視装置の動作を示すフロー図である。図6は、本発明の実施の形態2におけるクラスタ監視装置の動作を模式的に表わした図である。
以下の説明においては、適宜図4を参酌する。また、本実施の形態2では、クラスタ監視装置11を動作させることによって、クラスタ監視方法が実施される。よって、本実施の形態におけるクラスタ監視方法の説明は、以下のクラスタ監視装置11の動作説明に代える。
まず、図5に示すように、マイグレーション検知部25は、定期的に、仮想化基盤管理装置330及び340にアクセスして、各仮想基盤が動作している物理サーバを確認し、マイグレーション(図6参照)が発生しているかどうかを判定する(ステップB1)。
ステップB1の判定の結果、マイグレーションが発生していない場合は、マイグレーション検知部25は待機状態となり、設定時間の経過後に再度ステップB1を実行する。一方、ステップB1の判定の結果、マイグレーションが発生している場合は、マイグレーション検知部25は、そのことを、業務サーバ特定部21に通知する(ステップB2)。
なお、上述の例では、マイグレーション検知部25が、定期的に、仮想化基盤管理装置330及び340にアクセスすることによってマイグレーションの発生を検知しているが、これに限定されることはない。本実施の形態2は、仮想化基盤管理装置330及び340が、マイグレーションの発生をマイグレーション検知部25に通知する態様であっても良い。
次に、ステップA2が実行されると、業務サーバ特定部21は、マイグレーション検知部25からの通知を契機として、業務サーバ記憶部41にアクセスし、そこに格納されている情報に基づいて、業務アプリケーションが起動している仮想サーバを特定する(ステップB3)。更に、業務サーバ特定部21は、サーバ照合部24に対して、仮想化基盤管理装置330及び340への照合を行なわせ、照合結果から、特定した仮想サーバが動作している物理サーバを特定する(ステップB4)なお、ステップB3及びB4は、それぞれ、図3に示したステップA3及びA4と同様のステップである。
次に、エージェントサーバ選択部22は、ステップB5〜B15を実行し、実施の形態1と同様に、(条件1)〜(条件4)を順に適用して、監視エージェントを起動させるべき仮想サーバを選択する。なお、ステップB5〜B15は、それぞれ、図3に示したステップA5〜A15と同様のステップである。
具体的には、本実施の形態2では、まず条件1より、物理サーバ100上で動作している仮想サーバ60が条件を満たしていると判定される(ステップB5)。条件1を満たしている仮想サーバは、1つだけしか存在しないため、エージェントサーバ選択部22は、仮想サーバ60を、監視エージェントを起動すべき仮想サーバとして選択する(ステップB15)。その後、エージェントサーバ選択部22は、エージェント指示部23にその情報を渡す。
また、エージェント指示部23は、直前まで起動していた仮想サーバ80上の監視エージェント82を停止するとともに、仮想サーバ60上の監視エージェント62を起動して監視を継続する。同時に、エージェントサーバ記憶部42において、監視エージェントの起動サーバとして仮想サーバ80を削除すると共に、仮想サーバ60を登録する。
[プログラム]
本実施の形態2におけるプログラムは、コンピュータに、図5に示すステップB1〜B15を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2におけるクラスタ監視装置11とクラスタ監視方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、監視エージェント制御装置20及び業務アプリケーション制御装置30として機能し、処理を行なう。
[実施の形態2による効果]
以上のように、本実施の形態2によれば、外部からのマイグレーションなどで運用中に構成が変更された場合でも、異なる物理サーバからの監視を継続することができる(図6参照)。また、本実施の形態2を用いた場合も、実施の形態1で述べた効果を得ることができる。
[その他の例]
本実施の形態1及び2は、クラウドシステムに応用することができる。つまり、近年、利用が拡大しているクラウドシステムは、仮想化を使用して実現されており、本実施の形態1及び2におけるクラスタ監視装置を適用できる。更に、遠隔間にまたがるクラウド間で、高可用性クラスタシステムが実現されている場合が考えられ、この場合にも、本実施の形態1及び2におけるクラスタ監視装置を適用できる。また、この場合では、監視エージェントを起動させるサーバを特定する条件として、物理サーバが業務アプリケーションを起動しているかどうかという条件等に、更に、距離的にクライアントの方により近いかどうかという条件等を追加しても良い。
また、実施の形態1及び2では、監視エージェントを仮想サーバによって起動する例のみが述べられているが、実施の形態1及び2は、これに限定されるべきではない。つまり、本実施の形態は、業務アプリケーションの実行と監視エージェントの起動とが、直接、物理サーバによって行なわれる態様であっても良い。つまり、本実施の形態におけるクラスタ監視装置は、物理サーバのみで構成されているHAクラスタシステムにおいても適用することができる。
ここで、本実施の形態1及び2におけるプログラムを実行することによって、クラスタ監視装置を実現するコンピュータについて図7を用いて説明する。図7は、本発明の実施の形態1及び2におけるクラスタ監視装置を実現するコンピュータの一例を示すブロック図である。
図7に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。
CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記憶媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記憶媒体が挙げられる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記15)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
複数のサーバ装置を備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための装置であって、
前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、業務サーバ特定部と、
特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、エージェントサーバ選択部と、
を備えていることを特徴とするクラスタ監視装置。
(付記2)
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記監視エージェントを起動しているサーバに障害が発生すると、そのことを契機として、前記業務サーバ特定部が、前記業務用のアプリケーションプログラムが動作しているサーバを特定し、前記エージェントサーバ選択部が、前記監視エージェントを起動させるサーバを選択する、
付記1に記載のクラスタ監視装置。
(付記3)
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記業務アプリケーションプログラムに関連する障害が発生し、前記業務アプリケーションプログラムのフェイルオーバが実行されると、そのことを契機として、前記業務サーバ特定部が、前記フェイルオーバによる引き継ぎ先となるサーバを特定し、前記エージェントサーバ選択部が、前記監視エージェントを起動させるサーバを選択する、
付記1または2に記載のクラスタ監視装置。
(付記4)
前記複数のサーバ装置それぞれが、1又は2以上の物理サーバが提供する仮想環境下で動作する仮想サーバであり、
前記業務サーバ特定部が、複数の仮想サーバの中から、業務用のアプリケーションプログラムが動作している仮想サーバを特定し、
前記エージェントサーバ選択部が、特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記1〜3のいずれかに記載のクラスタ監視装置。
(付記5)
前記仮想サーバを動作させている物理サーバを特定するための情報を取得する、サーバ照合部を更に備え、
前記エージェントサーバ選択部が、取得された前記情報を更に用いて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記4に記載のクラスタ監視装置。
(付記6)
前記エージェントサーバ選択部が、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第1の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第2の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第3の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第4の条件、のうち少なくとも1つを適用して、前記監視エージェントを起動させる仮想サーバを選択する、
付記4または5に記載のクラスタ監視装置。
(付記7)
前記仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知する、マイグレーション検知部を更に備え、
前記マイグレーション検知部によって前記マイグレーションが検知された場合に、前記業務サーバ特定部が、再度、前記業務用のアプリケーションプログラムが動作しているサーバを特定し、前記エージェントサーバ選択部が、再度、前記監視エージェントを起動させるサーバを選択する、
付記4〜6のいずれかに記載のクラスタ監視装置。
(付記8)
前記複数のサーバ装置の中から、それぞれに設定されている優先度に応じて、前記業務用のアプリケーションプログラムを動作させるサーバを特定し、特定したサーバに、前記業務用のアプリケーションプログラムを動作させる、業務アプリケーション起動部を、更に備えている、
付記1〜7のいずれかに記載のクラスタ監視装置。
(付記9)
複数のサーバ装置を備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための方法であって、
(a)前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、ステップと、
(b)特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、ステップと、
を有することを特徴とするクラスタ監視方法。
(付記10)
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記監視エージェントを起動しているサーバに障害が発生すると、そのことを契機として、前記(a)のステップ及び前記(b)のステップを再度実行する、
付記9に記載のクラスタ監視方法。
(付記11)
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記業務アプリケーションプログラムに関連する障害が発生し、前記業務アプリケーションプログラムのフェイルオーバが実行されると、そのことを契機として、
前記(a)のステップを、前記複数のサーバの中から、前記フェイルオーバによる引き継ぎ先となるサーバを特定するために再度実行し、更に、前記(b)のステップも再度実行する、
付記9または10に記載のクラスタ監視方法。
(付記12)
前記複数のサーバ装置それぞれが、1又は2以上の物理サーバが提供する仮想環境下で動作する仮想サーバであり、
前記(a)のステップにおいて、複数の仮想サーバの中から、業務用のアプリケーションプログラムが動作している仮想サーバを特定し、
前記(b)のステップにおいて、特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記9〜11のいずれかに記載のクラスタ監視方法。
(付記13)
(c)前記仮想サーバを動作させている物理サーバを特定するための情報を取得する、ステップを更に有し、
前記(b)のステップにおいて、前記(c)のステップで取得された前記情報を更に用いて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記12に記載のクラスタ監視方法。
(付記14)
前記(b)のステップにおいて、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第1の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第2の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第3の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第4の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
付記12または13に記載のクラスタ監視方法。
(付記15)
(d)前記仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知する、ステップを更に有し、
前記(d)のステップによって前記マイグレーションが検知された場合に、前記(a)のステップ及び前記(b)のステップを再度実行する、
付記12〜14のいずれかに記載のクラスタ監視方法。
(付記16)
(e)前記複数のサーバ装置の中から、それぞれに設定されている優先度に応じて、前記業務用のアプリケーションプログラムを動作させるサーバを特定し、特定したサーバに、前記業務用のアプリケーションプログラムを動作させる、ステップを更に有している、
付記9〜15のいずれかに記載のクラスタ監視方法。
(付記17)
コンピュータによって、複数のサーバ装置を備えるクラスタシステムにおける業務用のアプリケーションプログラム及び監視エージェントの起動を制御するためのプログラムであって、
前記コンピュータに、
(a)前記複数のサーバの中から、前記業務用のアプリケーションプログラムが動作しているサーバを特定する、ステップと、
(b)特定された前記サーバに基づいて、前記複数のサーバの中から、前記監視エージェントを起動させるサーバを選択する、ステップと、
を実行させるプログラム。
(付記18)
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記監視エージェントを起動しているサーバに障害が発生すると、そのことを契機として、前記コンピュータに、前記(a)のステップ及び前記(b)のステップを再度実行させる、
付記17に記載のプログラム。
(付記19)
前記監視エージェントが、前記複数のサーバ装置のうちのいずれかによって起動している場合において、前記業務アプリケーションプログラムに関連する障害が発生し、前記業務アプリケーションプログラムのフェイルオーバが実行されると、そのことを契機として、
前記(a)のステップを、前記複数のサーバの中から、前記フェイルオーバによる引き継ぎ先となるサーバを特定するために再度実行し、更に、前記(b)のステップも再度実行する、
付記17または18に記載のプログラム。
(付記20)
前記複数のサーバ装置それぞれが、1又は2以上の物理サーバが提供する仮想環境下で動作する仮想サーバであり、
前記(a)のステップにおいて、複数の仮想サーバの中から、業務用のアプリケーションプログラムが動作している仮想サーバを特定し、
前記(b)のステップにおいて、特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記17〜19のいずれかに記載のプログラム。
(付記21)
(c)前記仮想サーバを動作させている物理サーバを特定するための情報を取得する、ステップを更に前記コンピュータに実行させる、
前記(b)のステップにおいて、前記(c)のステップで取得された前記情報を更に用いて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
付記20に記載のプログラム。
(付記22)
前記(b)のステップにおいて、
前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第1の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第2の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第3の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第4の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
付記20または21に記載のプログラム。
(付記23)
前記コンピュータに、
(d)前記仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知する、ステップを、更に実行させ、
前記(d)のステップによって前記マイグレーションが検知された場合に、前記(a)のステップ及び前記(b)のステップを再度実行させる、
付記20〜22のいずれかに記載のプログラム。
(付記24)
前記コンピュータに、
(e)前記複数のサーバ装置の中から、それぞれに設定されている優先度に応じて、前記業務用のアプリケーションプログラムを動作させるサーバを特定し、特定したサーバに、前記業務用のアプリケーションプログラムを動作させる、ステップを更に実行させる、
付記17〜23のいずれかに記載のプログラム。
以上のように、本発明によれば、クラスタシステムにおいて、監視エージェントの起動場所を動的に切り替えることができ、且つ、クラスタシステムにかかる負荷の分散を図ることができる。本発明は、特に、仮想化環境(クラウドシステムを含む)上で構築される、高可用性クラスタシステムに有用である。
10 クラスタ監視装置(実施の形態1)
11 クラスタ監視装置(実施の形態2)
20 監視エージェント制御装置
21 業務サーバ特定部
22 エージェントサーバ選択部
23 エージェント指示部
24 サーバ照合部
25 マイグレーション検知部
30 業務アプリケーション制御装置
31 業務アプリケーション起動部
40 記憶装置
41 業務サーバ記憶部
42 エージェントサーバ記憶部
50、60、70、80 仮想サーバ
51、62、71、81 業務アプリケーション
52、62、72、82 監視エージェント
91 フェイルオーバグループ
92 監視用フェイルオーバグループ
100、200 物理サーバ
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス
300 クラスタシステム
310 ネットワーク
320 クライアント
330、340 仮想化基盤管理装置

Claims (8)

  1. 1又は2以上の物理サーバが提供する仮想環境下で動作する複数の仮想サーバを備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための装置であって、
    前記複数の仮想サーバの中から、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定する、業務サーバ特定部と、
    特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、エージェントサーバ選択部と、
    を備え、
    前記エージェントサーバ選択部は、
    前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第1の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第2の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第3の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第4の条件順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
    ことを特徴とするクラスタ監視装置。
  2. 前記監視エージェントが、前記複数の仮想サーバのうちのいずれかによって起動している場合において、前記監視エージェントを起動している仮想サーバに障害が発生すると、そのことを契機として、前記業務サーバ特定部が、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定し、前記エージェントサーバ選択部が、前記監視エージェントを起動させる仮想サーバを選択する、
    請求項1に記載のクラスタ監視装置。
  3. 前記監視エージェントが、前記複数の仮想サーバのうちのいずれかによって起動している場合において、前記業務アプリケーションプログラムに関連する障害が発生し、前記業務アプリケーションプログラムのフェイルオーバが実行されると、そのことを契機として、前記業務サーバ特定部が、前記フェイルオーバによる引き継ぎ先となる仮想サーバを特定し、前記エージェントサーバ選択部が、前記監視エージェントを起動させる仮想サーバを選択する、
    請求項1または2に記載のクラスタ監視装置。
  4. 前記仮想サーバを動作させている物理サーバを特定するための情報を取得する、サーバ照合部を更に備え、
    前記エージェントサーバ選択部が、取得された前記情報を更に用いて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、
    請求項1に記載のクラスタ監視装置。
  5. 前記仮想サーバを動作させている物理サーバを別の物理サーバへと変更させるマイグレーションを検知する、マイグレーション検知部を更に備え、
    前記マイグレーション検知部によって前記マイグレーションが検知された場合に、前記業務サーバ特定部が、再度、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定し、前記エージェントサーバ選択部が、再度、前記監視エージェントを起動させるサーバを選択する、
    請求項1〜4のいずれかに記載のクラスタ監視装置。
  6. 前記複数の仮想サーバの中から、それぞれに設定されている優先度に応じて、前記業務用のアプリケーションプログラムを動作させる仮想サーバを特定し、特定した仮想サーバに、前記業務用のアプリケーションプログラムを動作させる、業務アプリケーション起動部を、更に備えている、
    請求項1〜5のいずれかに記載のクラスタ監視装置。
  7. 1又は2以上の物理サーバが提供する仮想環境下で動作する複数の仮想サーバを備えるクラスタシステムにおいて業務用のアプリケーションプログラム及び監視エージェントの起動を制御するための方法であって、
    (a)前記複数の仮想サーバの中から、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定する、ステップと、
    (b)特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させる仮想サーバを選択する、ステップと、
    を有し、
    前記(b)のステップにおいて、
    前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第1の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第2の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第3の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第4の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
    することを特徴とするクラスタ監視方法。
  8. コンピュータによって、1又は2以上の物理サーバが提供する仮想環境下で動作する複数の仮想サーバを備えるクラスタシステムにおける業務用のアプリケーションプログラム及び監視エージェントの起動を制御するためのプログラムであって、
    前記コンピュータに、
    (a)前記複数の仮想サーバの中から、前記業務用のアプリケーションプログラムが動作している仮想サーバを特定する、ステップと、
    (b)特定された前記仮想サーバに基づいて、前記複数の仮想サーバの中から、前記監視エージェントを起動させ想サーバを選択する、ステップと、
    を実行させ、
    前記(b)のステップにおいて、
    前記予め設定された、特定された前記仮想サーバが動作している物理サーバとは別の物理サーバによって動作している仮想サーバを優先する第1の条件、特定された前記仮想サーバ以外の仮想サーバを優先する第2の条件、前記監視エージェントが監視対象としていないアプリケーションプログラムを動作させていない物理サーバによって動作している仮想サーバを優先する第3の条件、前記業務用のアプリケーションプログラムを動作させる際の優先度が最も低い仮想サーバを優先する第4の条件を、順に適用して、前記監視エージェントを起動させる仮想サーバを選択する、
    プログラム。
JP2012077741A 2012-03-29 2012-03-29 クラスタ監視装置、クラスタ監視方法、及びプログラム Active JP5998577B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012077741A JP5998577B2 (ja) 2012-03-29 2012-03-29 クラスタ監視装置、クラスタ監視方法、及びプログラム
US13/765,821 US9049101B2 (en) 2012-03-29 2013-02-13 Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
EP13155374.5A EP2645635B1 (en) 2012-03-29 2013-02-15 Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
BR102013003822-9A BR102013003822A2 (pt) 2012-03-29 2013-02-19 Monitor de agrupamento, método para monitorar um agrupamento e meio de gravação lido por computador
CN201310106707.6A CN103368789B (zh) 2012-03-29 2013-03-29 集群监视器、用于监视集群的方法及计算机可读记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012077741A JP5998577B2 (ja) 2012-03-29 2012-03-29 クラスタ監視装置、クラスタ監視方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2013206379A JP2013206379A (ja) 2013-10-07
JP5998577B2 true JP5998577B2 (ja) 2016-09-28

Family

ID=47832909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012077741A Active JP5998577B2 (ja) 2012-03-29 2012-03-29 クラスタ監視装置、クラスタ監視方法、及びプログラム

Country Status (5)

Country Link
US (1) US9049101B2 (ja)
EP (1) EP2645635B1 (ja)
JP (1) JP5998577B2 (ja)
CN (1) CN103368789B (ja)
BR (1) BR102013003822A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11262732B2 (en) 2017-03-31 2022-03-01 Mitsubishi Heavy Industries, Ltd. Plant monitoring system, plant operation assistance system, plant monitoring method, and program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6111791B2 (ja) * 2013-03-28 2017-04-12 日本電気株式会社 ネットワーク管理システム、ネットワーク管理装置、サーバ、ネットワーク管理方法、及びプログラム
JP6364203B2 (ja) * 2014-02-26 2018-07-25 株式会社日立システムズ システムの稼働状態を監視する監視サーバ及び監視サーバの制御方法
JP6295759B2 (ja) * 2014-03-20 2018-03-20 富士通株式会社 ネットワーク管理装置,情報処理システム及びプログラム
JP6562744B2 (ja) * 2015-07-13 2019-08-21 キヤノン株式会社 システム、及び制御方法
CN111600742B (zh) * 2020-04-02 2023-03-24 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 动态切换分布式存储系统主监视器的方法及系统
WO2023152535A1 (en) * 2022-02-08 2023-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Proactive malicious actor monitoring in a network using a virtual security agent (vsa)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114811A (ja) * 2001-10-05 2003-04-18 Nec Corp 自動障害復旧方法及びシステム並びに装置とプログラム
US7379989B2 (en) 2003-07-31 2008-05-27 International Business Machines Corporation Method for dual agent processes and dual active server processes
JP2007293603A (ja) * 2006-04-25 2007-11-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP5110315B2 (ja) * 2006-05-24 2012-12-26 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法およびプログラム
CN101136900B (zh) * 2006-10-16 2011-08-10 中兴通讯股份有限公司 一种面向服务的快速透明故障转移装置及实现方法
JP4869057B2 (ja) * 2006-12-27 2012-02-01 富士通株式会社 ネットワーク接続復旧方法及びaaaサーバ及び無線アクセス網ゲートウェイ装置
JP4980792B2 (ja) 2007-05-22 2012-07-18 株式会社日立製作所 仮想計算機の性能監視方法及びその方法を用いた装置
KR100956638B1 (ko) 2007-12-11 2010-05-11 한국전자통신연구원 대규모 클러스터 모니터링 시스템과 그의 자동 구축 및복구 방법
CA2616229A1 (en) 2007-12-21 2009-06-21 Ibm Canada Limited - Ibm Canada Limitee Redundant systems management frameworks for network environments
JP5526784B2 (ja) * 2007-12-26 2014-06-18 日本電気株式会社 縮退構成設計システムおよび方法
CN102148707A (zh) * 2011-01-28 2011-08-10 浪潮(北京)电子信息产业有限公司 监控代理的故障处理方法和系统
CN102231681B (zh) * 2011-06-27 2014-07-30 中国建设银行股份有限公司 一种高可用集群计算机系统及其故障处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11262732B2 (en) 2017-03-31 2022-03-01 Mitsubishi Heavy Industries, Ltd. Plant monitoring system, plant operation assistance system, plant monitoring method, and program

Also Published As

Publication number Publication date
JP2013206379A (ja) 2013-10-07
US20130262916A1 (en) 2013-10-03
BR102013003822A2 (pt) 2014-07-15
CN103368789A (zh) 2013-10-23
EP2645635A1 (en) 2013-10-02
US9049101B2 (en) 2015-06-02
EP2645635B1 (en) 2014-12-31
CN103368789B (zh) 2017-08-25

Similar Documents

Publication Publication Date Title
JP5998577B2 (ja) クラスタ監視装置、クラスタ監視方法、及びプログラム
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US9110717B2 (en) Managing use of lease resources allocated on fallover in a high availability computing environment
US7814364B2 (en) On-demand provisioning of computer resources in physical/virtual cluster environments
US7992032B2 (en) Cluster system and failover method for cluster system
US9489274B2 (en) System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI)
US7925923B1 (en) Migrating a virtual machine in response to failure of an instruction to execute
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
US8713352B2 (en) Method, system and program for securing redundancy in parallel computing system
WO2011074284A1 (ja) 仮想計算機の移動方法、仮想計算機システム及びプログラムを格納した記憶媒体
JP4669487B2 (ja) 情報処理システムの運用管理装置および運用管理方法
US11157373B2 (en) Prioritized transfer of failure event log data
US9792150B1 (en) Detecting site change for migrated virtual machines
JP2014522052A (ja) ハードウェア故障の軽減
US8990608B1 (en) Failover of applications between isolated user space instances on a single instance of an operating system
CN106537354B (zh) 虚拟化基础设施管理装置、系统、方法和记录介质
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
US9195528B1 (en) Systems and methods for managing failover clusters
WO2013190694A1 (ja) 計算機の復旧方法、計算機システム及び記憶媒体
JP2013117889A (ja) 広域分散構成変更システム
JP5597293B2 (ja) 計算機システム及びプログラム
US11755438B2 (en) Automatic failover of a software-defined storage controller to handle input-output operations to and from an assigned namespace on a non-volatile memory device
US10855521B2 (en) Efficient replacement of clients running large scale applications
US8595349B1 (en) Method and apparatus for passive process monitoring
US10365934B1 (en) Determining and reporting impaired conditions in a multi-tenant web services environment

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20150123

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160815

R150 Certificate of patent or registration of utility model

Ref document number: 5998577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150