JP2008305353A - Cluster system and fail-over method - Google Patents
Cluster system and fail-over method Download PDFInfo
- Publication number
- JP2008305353A JP2008305353A JP2007154481A JP2007154481A JP2008305353A JP 2008305353 A JP2008305353 A JP 2008305353A JP 2007154481 A JP2007154481 A JP 2007154481A JP 2007154481 A JP2007154481 A JP 2007154481A JP 2008305353 A JP2008305353 A JP 2008305353A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- failover
- status
- information
- server
- 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.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、フェイルオーバの実行を制御する技術に関する。 The present invention relates to a technique for controlling the execution of failover.
コンピュータシステムの信頼性や処理性能を向上するためのシステムとして、複数の計算機を疎結合したクラスタシステムがある。クラスタシステムとして、例えば、サーバ計算機1台あたりの処理負荷を低減する負荷分散型や、業務アプリケーションが動作するサーバ計算機(現用系サーバ)で障害が発生した場合に、当該サーバ計算機上の業務アプリケーション等のリソースを他のサーバ計算機(待機系サーバ)に引き継いで業務を継続させるフェイルオーバ型が知られている。例えば、特許文献1には、クラスタシステムにおいて、引き継ぐリソースとフェイルオーバ先で動作しているリソースの実行優先度に応じて、リソースの実行優先度を変更してフェイルオーバを実行する方法について記載されている。 As a system for improving the reliability and processing performance of a computer system, there is a cluster system in which a plurality of computers are loosely coupled. As a cluster system, for example, a load distribution type that reduces the processing load per server computer, or a business application on the server computer when a failure occurs in a server computer (active server) on which the business application operates A failover type is known in which resources are transferred to another server computer (standby server) to continue the business. For example, Patent Document 1 describes a method for executing failover by changing the execution priority of a resource in accordance with the execution priority of a resource that is taken over and a resource that is operating at a failover destination in a cluster system. .
さて、特許文献1の様な従来のフェイルオーバ型のクラスタシステムでは、例えば、サーバ計算機は、ハートビート通信により監視対象の他のサーバ計算機の正常稼動を確認し、監視対象のサーバ計算機の停止、すなわち、ハードウェア障害等によるダウンを検出した場合にフェイルオーバを実行する。 In a conventional failover type cluster system such as Patent Document 1, for example, a server computer confirms normal operation of another server computer to be monitored by heartbeat communication, and stops the server computer to be monitored, that is, Failover is executed when a down due to a hardware failure is detected.
しかしながら、上記のクラスタシステムでは、サーバ計算機上で稼動するプログラムの処理状況は、監視対象となっていない。すなわち、CPUやメモリ等のリソース不足やソフトウェア障害等によりプログラムの応答性が低下した場合に、フェイルオーバは実行されない。そのため、当該クラスタシステムは、クライアントに対するサービス提供の応答性を即座に正常な状態に回復することができない。 However, in the above cluster system, the processing status of the program running on the server computer is not monitored. In other words, failover is not executed when program responsiveness is reduced due to a shortage of resources such as CPU or memory or a software failure. Therefore, the cluster system cannot immediately recover the responsiveness of service provision to the client to a normal state.
そこで、本発明は、クラスタシステムにおいて、ハードウェア障害だけでなくプログラムの処理状況に応じてフェイルオーバの実行を制御する技術を提供することを目的とする。 Therefore, an object of the present invention is to provide a technique for controlling the execution of failover in accordance with not only hardware failure but also processing status of a program in a cluster system.
上記問題を解決するために、第1の態様によれば、フェイルオーバの実行指示を受けることにより、フェイルオーバ処理を行うフェイルオーバ処理部を各々備える複数のサーバを有するクラスタシステムを構成するサーバであって、フェイルオーバを行う処理状況の状態を特定する状態情報を記憶する記憶部と、サービスを提供する際の処理状況を特定する状況監視部と、前記状況監視部が特定した処理状況が、前記状態情報で特定される処理状況に一致する場合に、前記フェイルオーバ処理部にフェイルオーバの実行を指示するフェイルオーバ実行指示部と、を有する。 In order to solve the above problem, according to the first aspect, a server constituting a cluster system having a plurality of servers each including a failover processing unit that performs failover processing by receiving an instruction to execute failover, A storage unit for storing state information for specifying a state of a processing state for performing a failover, a state monitoring unit for specifying a processing state at the time of providing a service, and a processing state specified by the state monitoring unit are the state information. A failover execution instructing unit for instructing the failover processing unit to execute failover when the specified processing status is matched.
また、前記記憶部には、フェイルオーバを行う条件を特定する条件情報が前記状態情報毎に対応されて記憶されており、前記状況監視部が特定した処理状況が、前記状態情報で特定される処理状況に一致し、前記状況監視部が特定した処理状況が、一致すると判断された状態情報に対応する前記条件情報を満たす場合に、前記フェイルオーバ実行指示部は、前記フェイルオーバ処理部にフェイルオーバの実行を指示する。 Further, the storage unit stores condition information for specifying a condition for performing a failover in correspondence with each state information, and the processing status specified by the status monitoring unit is a process specified by the status information. When the processing status that matches the status and the processing status specified by the status monitoring unit satisfies the condition information corresponding to the status information determined to match, the failover execution instruction unit causes the failover processing unit to execute failover. Instruct.
本発明の実施の形態について図面を参照して説明する。 Embodiments of the present invention will be described with reference to the drawings.
以下、第1の実施形態について説明する。第1の実施形態では、ネットワークブートシステムに本発明を適用する構成を例に説明する。先ず、ネットワークブートシステムの概略を説明する。 The first embodiment will be described below. In the first embodiment, a configuration in which the present invention is applied to a network boot system will be described as an example. First, an outline of the network boot system will be described.
ネットワークブートシステムでは、クライアント計算機が起動するために必要なOSやアプリケーションプログラム(以下、アプリケーションと呼ぶ。)等のファイル群から構成される起動イメージは、サーバ計算機上に格納される。そして、クライアント計算機は、その起動時に、ネットワークを経由してサーバ計算機上の起動イメージを読み込んでブートを実行する。 In the network boot system, a boot image composed of a file group such as an OS and an application program (hereinafter referred to as an application) necessary for booting the client computer is stored on the server computer. When the client computer is activated, the client computer reads the activation image on the server computer via the network and executes booting.
1台のサーバ計算機で構成されるネットワークブートシステムにおいて、そのサーバ計算機がハードウエア障害またはソフトウエア障害によってダウンした場合、ネットワークブートのサービスを提供できなくなる。すなわち、クライアント計算機は、ネットワーク経由でブート及び起動されることができない。この結果、ユーザは、クライアントの計算機を使用できなくなる。また、そのサーバ計算機上の、ネットワークブートのサービスを提供するためのサーバプログラムの応答性低下が発生した場合、クラアント計算機は、ネットワークブートによる起動時間が長くなり、タイムアウト等によって起動ができなくなることがある。この結果、ユーザは、即座にクラアント計算機を使用開始できなくなる。 In a network boot system composed of one server computer, if the server computer goes down due to a hardware failure or a software failure, the network boot service cannot be provided. That is, the client computer cannot be booted and activated via the network. As a result, the user cannot use the client computer. In addition, if the responsiveness of the server program for providing the network boot service on the server computer is reduced, the client computer may have a longer boot time due to the network boot and may not start due to a timeout or the like. is there. As a result, the user cannot immediately start using the client computer.
ネットワークブートの方法としては、例えば、PXE(Preboot Excecution Environment)ブートが知られている。PXEブートでは、サーバ計算機で、クライアント計算機毎の起動イメージの設定が行われ、また、その起動イメージが格納される。クライアント計算機は、そのブート時に、自身のネットワークカードのMACアドレスをサーバ計算機に対して送信する。そして、サーバ計算機は、受信したMACアドレスに対応する起動イメージをクライアント計算機に送信する。 As a network boot method, for example, PXE (Preboot Execution Environment) boot is known. In PXE boot, a server computer sets a boot image for each client computer, and stores the boot image. At the time of booting, the client computer transmits the MAC address of its own network card to the server computer. Then, the server computer transmits an activation image corresponding to the received MAC address to the client computer.
さて、図1は、第1の実施形態が適用されるシステム構成、及び、サーバ計算機の機能構成を示すブロック図である。なお、サーバ計算機102bは、サーバ計算機102aと同様の機能構成を有するため、機能構成を図示しない。また、サーバ計算機102a及びサーバ計算機102bを区別しない場合は単にサーバ計算機102と表記する。
FIG. 1 is a block diagram showing a system configuration to which the first embodiment is applied and a functional configuration of the server computer. Since the server computer 102b has the same functional configuration as the server computer 102a, the functional configuration is not shown. Further, when the server computer 102a and the server computer 102b are not distinguished, they are simply expressed as the
本図に示すように、本システムでは、クラスタシステム101と、クライアント計算機104、105及び106とが、LAN(Local Area Network)107を介して接続される。もちろん、接続方法は、LANに限られず、他の方法であってもよい。
As shown in this figure, in this system, a cluster system 101 and
クラスタシステム101は、サーバ計算機102aとサーバ計算機102bから構成され、二重化されている。すなわち、サーバ計算機102a及びサーバ計算機102bいずれか一方が現用系として動作し、他方が待機系として動作する。サーバ計算機102aとサーバ計算機102bは、LAN108により接続され、LAN108を介してハートビート通信を行って互いに稼動状況を監視する。もちろん、サーバ計算機102aとサーバ計算機102bとの間の接続方法は、LANに限られず、例えば、シリアル通信であってもよい。
The cluster system 101 is composed of a server computer 102a and a server computer 102b, and is duplicated. That is, one of the server computer 102a and the server computer 102b operates as an active system, and the other operates as a standby system. The server computer 102a and the server computer 102b are connected by a
サーバ計算機102上には、制御部150及び記憶部152が構築される。制御部150は、クラスタ処理部111と、サービス提供部112と、サービス提供部状況監視部121とを備える。また、記憶部152は、サービス提供部動作履歴テーブル113と、サービス提供部特性テーブル122と、サービス提供部状態テーブル123と、フェイルオーバ指示ルールテーブル124とを備える。
On the
上記の機能で構成されるサーバ計算機102は、例えば、図7に示すような、CPU11と、主記憶装置12と、ハードディスク等の補助記憶装置13と、CD−ROM等の可搬性を有する可搬型記憶媒体の情報を読み出す読み取り装置16と、キーボードやマウス等の入力装置14と、ディスプレイ等の出力装置15と、外部装置と通信を行うための通信装置17と、を備えた一般的なコンピュータにより実現可能である。
The
例えば、制御部150や記憶部152は、CPU11が補助記憶装置13に予め記憶されている所定のプログラムを主記憶装置12にロードして実行することにより達成される。記憶部152は、データを一時的に保持する場合は主記憶装置12を利用して、継続的に保持する場合は補助記憶装置13を利用して実現される。プログラムは、読み取り装置16を介して可搬型記憶媒体から、あるいは、通信装置17を介してネットワークから、補助記憶装置13にダウンロードされ、それから、主記憶装置12上にロードされてCPU11により実行されるようにしてもよい。また、読み取り装置16を介して可搬型記憶媒体から、あるいは、通信装置17を介してネットワークから、主記憶装置12上に直接ロードされ、CPU301により実行されるようにしてもよい。
For example, the control unit 150 and the storage unit 152 are achieved by the
図1に戻って、クラスタ処理部111は、現用系及び待機系のサーバ計算機102上でそれぞれ動作し、LAN108を介して互いにハートビート通信を行う。待機系のクラスタ処理部111は、現用系のクラスタ処理部111からの生存信号が途絶えたことを検出して、フェイルオーバを実行する。また、現用系のクラスタ処理部111は、現用系のサービス提供部状況監視部121の指示を受けて、待機系のクラスタ処理部111にフェイルオーバを実行させる。
Returning to FIG. 1, the
以下、クラスタ処理部111の動作について、サーバ計算機102aが現用系、サーバ計算機102bが待機系である場合を例にとって具体的に説明する。
Hereinafter, the operation of the
この場合、クラスタ処理部111の制御により、サーバ計算機102a上のサービス提供部112は動作中であり、一方、サーバ計算機102b上のサービス提供部112は停止した状態である。サービス提供部112については後述する。また、サーバ計算機102a上のクラスタ処理部111とサーバ計算機102b上のクラスタ処理部111は、LAN108を介してハートビート通信を行い、互いのサーバ計算機の稼動状況を監視している。
In this case, under the control of the
ここで、例えば、サーバ計算機102aがハードウェア障害により停止した場合、サーバ計算機102b上のクラスタ処理部111は、サーバ計算機102aからの生存信号が途絶えたことを検出する。そして、サーバ計算機102aをダウンとみなしてリソースの引継ぎ(フェイルオーバ)を実行する。引き継がれるリソースは、サーバ計算機102aの、サービス提供部112がその処理に使用しているデータ、LAN107側のエイリアスIPアドレス、及び、サービス提供部112の処理などである。
Here, for example, when the server computer 102a is stopped due to a hardware failure, the
IPアドレスの引継ぎは、サーバ計算機102b上のクラスタ処理部111が、サーバ計算機102aのLAN107側のネットワークインタフェースのエイリアスIPアドレスと同一のエイリアスIPアドレスを、サーバ計算機102bのLAN107側のネットワークインタフェースの設定に追加することによって行われる。エイリアスIPアドレスとはIPアドレスの別名となるIPアドレスであり追加や変更がしやすい。サービス提供部112の処理の引継ぎは、サーバ計算機102b上のクラスタ処理部111が、サーバ計算機102b上のサービス提供部112を起動することによって行われる。また、データの引継ぎは、例えば、サーバ計算機102がそれぞれ接続された共有記憶装置等を介して行われる。
In taking over the IP address, the
サーバ計算機102aからサーバ計算機102bへリソースの引継ぎが行われた後、サーバ計算機102bは待機系から現用系へと切り替わる。サーバ計算機102aは停止したままであるが、停止から復帰した場合には現用系から待機系へと切り替わる。 After the handover of resources from the server computer 102a to the server computer 102b, the server computer 102b switches from the standby system to the active system. The server computer 102a remains stopped, but switches from the active system to the standby system when returning from the stop.
以上のように、現用系のサーバ計算機102aが停止した場合、サーバ計算機102bがリソースの引継ぎを行って待機系から現用系として切り替わる。そして、起動されたサービス提供部112は、引き継がれたデータを用いて、LAN107を介して、クライアント計算機104〜106へのサービス提供を開始する。クラアント計算機104〜106は、同一のIPアドレスを用いてサーバ計算機102bにアクセスできるため、フェイルオーバの実行に係らず、通常通りにサービス提供部112によるサービスの提供を受けられる。
As described above, when the active server computer 102a stops, the server computer 102b takes over resources and switches from the standby system to the active system. Then, the activated
サービス提供部112は、例えば、サーバプログラム、アプリケーションプログラムや業務処理プログラムなどであり、複数あってもよい。本実施形態では、サービス提供部112は、ネットワークブート用のサーバプログラムとして必要な、DHCP(Dynamic Host Configuration Protocol)サーバ、及び、TFTP(Trivial File Transfer Protocol)サーバである。DHCPサーバは、クライアント計算機のIPアドレスなどのネットワーク情報を自動設定するためのサーバプログラムである。TFTPサーバは、ユーザ名等の認証無しでクライアント計算機へのファイル転送を行うためのサーバプログラムである。転送されるファイルは、クライアント計算機が起動するときに必要なOSやアプリケーションのファイル群から構成される起動イメージである。
The
待機系のサーバ計算機102上のサービス提供部112は、クラスタ処理部111の制御により、起動されないため動作しない。なお、サーバ計算機102が現用系に切り替わった場合、クラスタ処理部111の制御により、サービス提供部112は起動され、動作を開始する。
The
一方、現用系のサービス提供部112は、クライアント計算機104〜106にサービスを提供すると共に、図2に示す、サービス提供部動作履歴管理テーブル113に、リアルタイムに動作履歴を格納する。
On the other hand, the active
図2は、サービス提供部動作履歴テーブル113の構成を示す図である。サービス提供部動作履歴テーブル113は、日付201と、時刻202と、ホスト名203と、サービス提供部名204と、内容205とが対応付けられた動作履歴情報を格納する。日付201は、サービス提供部112が動作した日付を格納する。時刻202は、サービス提供部112が動作した時刻を格納する。ホスト名203は、サービス提供部112をアクセスしたクライアント計算機を特定するホスト名を格納する。サービス提供部名204は、サービス提供部112を特定するサービス提供部の名称を格納する。内容205は、サービス提供部112の動作の詳細を格納する。
FIG. 2 is a diagram illustrating a configuration of the service providing unit operation history table 113. The service providing unit operation history table 113 stores operation history information in which the
具体的に、図2を参照して、サービス提供部112(DHCPサーバ、TFTPサーバ)が格納する動作履歴の一例を説明する。以下、"client1"、"client2"、"client3"は、クライアント計算機104〜106のホスト名を示す。また、"dhcpd"は、DHCPサーバのプログラム名を、"tftpd"は、TFTPサーバのプログラム名を示す。
Specifically, an example of an operation history stored in the service providing unit 112 (DHCP server, TFTP server) will be described with reference to FIG. Hereinafter, “client1”, “client2”, and “client3” indicate host names of the
第1行目の動作履歴210〜第4行目の動作履歴240は、クライアント計算機104"client1"がネットワークブートした場合の、サービス提供部112の動作履歴の内容を示している。クライアント計算機104"client1"のネットワークブートは、DHCPサーバ"dhcpd"がクライアント計算機104"client1"にIPアドレスを提供した後に、TFTPサーバ"tftpd"がクライアント計算機104"client1"に起動イメージをファイル転送することにより実行される。
The
動作履歴210は、DHCPサーバ"dhcpd"が、"2007 01 06"の日付で"12:00:01"の時刻に、クライアント計算機104"client1"からのアクセスを受け付け、サービスの提供を開始"start"したことを示す。動作履歴220は、DHCPサーバ"dhcpd"が、"2007 01 06"の日付で"12:00:03"の時刻に、クライアント計算機104"client1"へのサービスの提供を終了"end"したことを示す。なお、終了"end"は、DHCPサーバ"dhcpd"がサービスの受け付け待ち状態に入ったことを意味し、動作を停止した状態ではない。動作履歴230は、TFTPサーバ"tftpd"が、"2007 01 06"の日付で"12:00:04"の時刻に、クライアント計算機104"client1"からのアクセスを受け付け、サービスの提供を開始"start"したことを示す。動作履歴240は、TFTPサーバ"tftpd"が、"2007 01 06"の日付で"12:00:24"の時刻に、クライアント計算機104"client1"へのサービスの提供を終了"end"したことを示す。なお、終了"end"は、TFTPサーバ"tftpd"がサービスの受け付け待ち状態に入ったことを意味し、動作を停止した状態ではない。
The
以上のように、サービス提供部112は、クライアント計算機にサービスを提供すると共に、サービス提供部動作履歴管理テーブル113に、リアルタイムに動作履歴を格納する。後述するように、サービス提供部動作履歴テーブル113の内容は、サービス提供部112がクライアント計算機へのサービス提供を行う処理時間を求めるために使用される。
As described above, the
次に、サービス提供部状況監視部121について説明する。
Next, the service providing unit
サービス提供部状況監視部121は、所定の周期で以下の処理を実行する。サービス提供部動作履歴テーブル113に格納された動作履歴を参照して、サービス提供部112のサービス提供の処理経過時間を算出し、その時間をサービス提供部状態テーブル123に格納する。また、サービス提供部112の生死状態を、例えばOS(Operating System)から取得して、サービス提供部状態テーブル123に格納する。そして、サービス提供部状態テーブル123に格納したサービス提供部112の処理状況(生死状態、処理経過時間)に対応する指示ルールをフェイルオーバ指示ルールテーブル124から検索する。また、選定した指示ルールに定められた条件が成立する場合は、フェイルオーバの実行の指示をクラスタ処理部111に出す。
The service providing unit
以下、具体的に、サービス提供部状況監視部121の処理を、その処理に使用されるテーブルを参照しながら説明する。なお、サービス提供部状況監視部121は、サービス提供部112が動作する現用系のサーバ計算機102で動作する。
Hereinafter, the processing of the service providing unit
図3は、サービス提供部特性テーブル122の構成を示す図である。ユーザは、このテーブルに、サービス提供部112の動作の特性を設定しておく。サービス提供部特性テーブル122は、サービス提供部名301と、平均処理時間303と、限界処理時間304とが対応付けられた特性情報を格納する。サービス提供部名301は、サービス提供部112を特定するサービス提供部の名称を格納する。具体的には、本実施形態では、DHCPサーバのプログラム名"dhcpd"およびTFTPサーバのプログラム名"tftpd"を格納する。
FIG. 3 is a diagram illustrating a configuration of the service providing unit characteristic table 122. The user sets the operation characteristics of the
平均処理時間303は、サービス提供部112がクライアント計算機にサービスを提供する処理に要する平均的な処理時間(秒)を格納する。具体的には、例えば、図2に示すサービス提供部動作履歴テーブル113の動作履歴に基づいて求めた処理時間を、平均値と想定し、その値を格納する。すなわち、動作履歴210及び動作履歴220の時刻202の差分から、DHCPサーバ"dhcpd"がクライアント計算機にサービスを提供するために要する時間は、"2"となる。同様に、動作履歴230及び動作履歴240の時刻202の差分から、TFTPサーバ"tftpd"がクライアント計算機にサービスを提供するために要する時間は、"20"となる。
The
限界処理時間304は、何らかの異常によって、サービス提供部112の応答時間が低下した場合に、サービス提供部112の要求性能として、限界となる処理時間(秒)を格納する。例えば、ここでは、平均処理時間303の3倍を限界処理時間とし、限界処理時間304は、それぞれ"6"、"60"を格納する。なお、クライアント計算機104〜106からの同時アクセスの総数Nによって、サービス提供部112の処理時間が比例してN倍となる場合、限界処理時間304には、比例関係式として、例えば"6×N"、"60×N"格納することができる。ここで、同時アクセスの総数とは、ある処理の開始時点からの平均処理時間内のアクセス数をいう。以下の例では、処理時間は、同時アクセスの総数Nに無関係であるものとする。
The
図4は、サービス提供部状態テーブル123の構成を示す図である。サービス提供部状態テーブル123は、サービス提供部状況監視部121によって定期的に更新され、サービス提供部112の生死状態及び処理経過時間の最新の情報が格納される。サービス提供部状態テーブル123は、サービス提供部名401と、生死状態403と、処理経過時間404とが対応付けられた状態情報を格納する。サービス提供部名401は、サービス提供部112を特定するサービス提供部の名称を格納する。本実施形態では、監視対象のDHCPサーバのプログラム名"dhcpd"およびTFTPサーバのプログラム名"tftpd"を格納する。
FIG. 4 is a diagram illustrating a configuration of the service providing unit state table 123. The service providing unit status table 123 is periodically updated by the service providing unit
生死状態403は、サービス提供部112の生死状態(稼動中又は停止中)を格納する。具体的には、稼動中として"alive"、停止中として"dead"を格納する。なお、生死状態は、サービス提供部状況監視部121が、例えばOSに問い合わせることによって取得される。
The life /
処理経過時間404は、サービス提供部112がクライアント計算機にサービスを提供する処理を開始してからの経過時間(秒)を格納する。
The process elapsed
具体的には、サービス提供部状況監視部121は、図2に示すサービス提供部動作履歴テーブル113を参照して、参照した履歴情報の日付201及び時刻202と、現在日時との差分から、処理経過時間404を求める。例えば、サービス提供部動作履歴テーブル113を参照した現在日時が2007年01月06日"2007 01 06"の日付で12時00分14秒"12:00:14"の時刻(履歴情報240は未だ格納されていないものとする)であるものとする。この場合、DHCPサーバ"dhcpd"の履歴情報220において、内容205が"end"となっており、また、時刻"12:00:03"は現在時刻より前であるため、DHCPサーバ"dhcpd"の処理経過時間は"0"となる。一方、TFTPサーバ"tftpd"の履歴情報230において、内容205が"start"となっているため、処理経過時間は、現在時刻"12:00:14"と時刻"12:00:04"の差分"10"となる。以上のようにして、サービス提供部112それぞれの処理経過時間が算出され、処理経過時間404に格納される。
Specifically, the service providing unit
図5は、フェイルオーバ指示ルールテーブル124の構成を示す図である。ユーザは、このテーブルに、サービス提供部112の処理状況に応じたフェイルオーバの動作を指定するルールを設定しておく。ユーザが任意に設定できることにより、フェイルオーバを木目細かく制御することも可能となる。フェイルオーバ指示ルールテーブル124は、サービス提供部112毎の生死状態501と、サービス提供部112毎の処理経過時間502と、ルール503とが対応付けられた指示ルール情報を格納する。
FIG. 5 is a diagram showing the configuration of the failover instruction rule table 124. The user sets a rule for designating the failover operation according to the processing status of the
生死状態501は、サービス提供部状態テーブル123に格納された監視対象のサービス提供部112のサービス提供部名401についての生死状態を格納する。同様に、処理時間502は、監視対象のサービス提供部112のサービス提供部名401についての処理経過時間(秒)を格納する。これらの値(生死状態、処理経過時間)は、サービス提供部状態テーブル123に格納したサービス提供部112の処理状況と比較するための基準値若しくは閾値として使用されるデータである。本実施形態では、生死状態501は、監視対象であるDHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"それぞれの生死状態504及び505を格納する。また、処理経過時間502は、監視対象であるDHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"それぞれの処理経過時間506及び507を格納する。ユーザは、生死状態501と処理経過時間502の任意の組み合わせと、それらに対応付けたルール503を設定する。
The life /
ルール503は、条件508と実行内容509を対応付けて格納する。ルール503は、上述したように、サービス提供部112毎の生死状態504及び505と、サービス提供部112毎の処理経過時間506及び507と、の組み合わせそれぞれに対応している。条件508は、実行内容509を実行するための条件を格納する。
The
例えば、条件508が"無し"の場合、サービス提供部状況監視部121は、無条件で実行内容509の内容を実行する。条件508が、"サービス提供部の処理完了直後"の場合、サービス提供部状況監視部121は、指定されたサービス提供部の、サービス提供を開始したことを示す履歴情報(内容205が"start")に対応する履歴情報(内容205が"end")がサービス提供部動作履歴テーブル113に格納されていることを検出したときに、実行内容509の内容を実行する。条件508が、"サービス提供部の限界処理時間後"の場合、サービス提供部状況監視部121は、指定されたサービス提供部の、サービス提供部状態テーブル123の処理経過時間404がサービス提供部特性テーブル122の限界処理時間304を超えていることを検出したときに、実行内容509の内容を実行できる。これらの条件内容をAND条件やOR条件で結合しても良い。
For example, when the
実行内容509は、サービス提供部状況監視部121が実行すべき処理の内容を格納する。例えば、実行内容509が"通常処理"の場合、サービス提供部状況監視部121は何も行わない。実行内容509が"フェイルオーバ実行"の場合、サービス提供部状況監視部121は、クラスタ処理部111に対してフェイルオーバ実行を指示する。
The
上記のフェイルオーバ指示ルールテーブル124を使用して、サービス提供部状況監視部121は、指示ルールに従った処理を定期的に行う。先ず、サービス提供部状況監視部121は、サービス提供部状態テーブル123に格納された、各サービス提供部401の生死状態403及び処理経過時間404を取得する。その後、取得した生死状態及び処理経過時間と、指示ルール情報511〜541のうち、生死状態501及び処理経過時間502の内容とが一致する指示ルール情報を選択する。そして、選択した指示ルール情報の条件508が成立するか否かを判定する。成立すると判定した場合は、実行内容509の内容を実行する。成立しないと判断した場合は、実行内容509の内容を実行しない。以下、各指示ルール情報と、サービス提供部状況監視部121の動作について具体的に説明する。
Using the failover instruction rule table 124 described above, the service providing unit
指示ルール情報511は、DHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"の両方の生存状態403が稼動中"alive"であり、かつ、処理経過時間404が、それぞれ限界処理時間"6"秒、"60"秒以下である場合である。この場合、条件508は"無し"、実行内容509は"通常処理"であるため、サービス提供部状況監視部121は、特に何も処理を行わない。
The
指示ルール情報521は、DHCPサーバ"dhcpd"の生存状態403が停止中"dead"であり、かつ、TFTPサーバ"tftpd"の処理経過時間404が"0"秒(サービスの受け付け待ち状態)である場合である。また、指示ルール情報531は、TFTPサーバ"tftpd"の生存状態403が停止中"dead"であり、かつ、DHCPサーバ"dhcpd"の処理経過時間404が"0"秒である場合である。そして、指示ルール情報541は、DHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"の両方の生存状態403が、停止中"dead"である場合である。これらの場合、条件508は"無し"、実行内容509は"フェイルオーバ実行"であるため、サービス提供部状況監視部121は、フェイルオーバの実行指示をクラスタ処理部111に出す。
The
指示ルール情報512は、DHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"の両方の生存状態403が、稼動中"alive"であり、かつ、DHCPサーバ"dhcpd"の処理経過時間404が限界処理時間"6"秒を超え、かつ、TFTPサーバ"tftpd"の処理経過時間404が"0"秒である場合である。また、指示ルール情報514は、DHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"の両方の生存状態403が、稼動中"alive"であり、かつ、TFTPサーバ"tftpd"の処理経過時間404が限界処理時間"60"秒を超え、かつ、DHCPサーバ"dhcpd"の処理経過時間404が"0"秒である場合である。これらの場合、条件508は"無し"、実行内容509は"フェイルオーバ実行"であるため、サービス提供部状況監視部121は、フェイルオーバの実行指示をクラスタ処理部111に出す。このような指示ルール情報により、サービス提供部112のうち少なくとも1つの処理時間が限界処理時間を超えていた場合に、フェイルオーバが実行される。そのため、サービス提供部112の応答性が低下しても、その応答性の低下を回避することが可能となる。
The
指示ルール情報513及び515は、それぞれ指示ルール情報512及び514の内容を、より細かな条件設定としたものである。
The
指示ルール情報513は、DHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"の両方の生存状態403が、稼動中"alive"であり、かつ、DHCPサーバ"dhcpd"の処理経過時間404が限界処理時間"6"秒を超え、かつ、TFTPサーバ"tftpd"の処理経過時間404が"0"秒より大きい(クライアント計算機にサービスを提供中)場合である。条件508は、"tftpdの処理完了直後又はtftpdの限界処理時間60s後"であり、実行内容509は"フェイルオーバ実行"である。この場合、サービス提供部状況監視部121は、TFTPサーバ"tftpd"の、サービス提供を開始したことを示す履歴情報(内容205が"start")に対応する履歴情報(内容205が"end")がサービス提供部動作履歴テーブル113に格納されていることを検出した場合、又は、処理経過時間404が限界処理時間"60"秒を超えていることを検出した場合に、フェイルオーバの実行指示をクラスタ処理部111に出す。この条件508が成立しない場合は、フェイルオーバの実行指示を行わない。
The
指示ルール情報515は、DHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"の両方の生存状態403が、稼動中"alive"であり、かつ、DHCPサーバ"dhcpd"の処理経過時間404が"0"秒より大きく、かつ、TFTPサーバ"tftpd"の処理経過時間404が限界処理時間"60"秒を超える場合である。条件508は、"dhcpdの処理完了直後又はdhcpdの限界処理時間6s後"であり、実行内容509は"フェイルオーバ実行"である。この場合、サービス提供部状況監視部121は、DHCPサーバ"dhcpd"の、サービス提供を開始したことを示す履歴情報(内容205が"start")に対応する履歴情報(内容205が"end")がサービス提供部動作履歴テーブル113に格納されていることを検出した場合、又は、処理経過時間404が限界処理時間"6"秒を超えていることを検出した場合に、フェイルオーバの実行指示をクラスタ処理部111に出す。この条件508が成立しない場合は、フェイルオーバの実行指示を行わない。
The
指示ルール情報513及び515のような指示ルール情報により、サービス提供部112のうち少なくとも1つの処理時間が限界処理時間を超えていた場合に、他の停止状態でないサービス提供部112が処理中であるならば、処理中のサービス提供部112の処理完了後にフェイルオーバが実行される。そのため、サービス提供部112のクライアント計算機へのサービス提供が中断されない。なお、無条件でフェイルオーバを実行させる場合、指示ルール情報513及び515の条件508を"無し"に設定する。
According to the instruction rule information such as the
指示ルール情報522及び532は、それぞれ指示ルール情報521及び531の内容を、より細かな条件設定としたものである。
The
指示ルール情報522は、DHCPサーバ"dhcpd"の生存状態403が停止中"dead"であり、かつ、TFTPサーバ"tftpd"の処理経過時間404が"0"秒より大きい(クライアント計算機にサービスを提供中)場合である。条件508は、指示ルール情報513と同様に、"tftpdの処理完了直後又はtftpdの限界処理時間60s後"であり、実行内容509は"フェイルオーバ実行"である。この場合、サービス提供部状況監視部121は、TFTPサーバ"tftpd"の、サービス提供を開始したことを示す履歴情報(内容205が"start")に対応する履歴情報(内容205が"end")がサービス提供部動作履歴テーブル113に格納されていることを検出した場合、又は、処理経過時間404が限界処理時間"60"秒を超えていることを検出した場合に、フェイルオーバの実行指示をクラスタ処理部111に出す。この条件508が成立しない場合は、フェイルオーバの実行指示を行わない。
The
指示ルール情報532は、TFTPサーバ"tftpd"の生存状態403が停止中"dead"であり、かつ、DHCPサーバ"dhcpd"の処理経過時間404が"0"秒より大きい(クライアント計算機にサービスを提供中)場合である。条件508は、指示ルール情報515と同様に、"dhcpdの処理完了直後又はdhcpdの限界処理時間6s後"であり、実行内容509は"フェイルオーバ実行"である。この場合、サービス提供部状況監視部121は、DHCPサーバ"dhcpd"の、サービス提供を開始したことを示す履歴情報(内容205が"start")に対応する履歴情報(内容205が"end")がサービス提供部動作履歴テーブル113に格納されていることを検出した場合、又は、処理経過時間404が限界処理時間"6"秒を超えていることを検出した場合に、フェイルオーバの実行指示をクラスタ処理部111に出す。この条件508が成立しない場合は、フェイルオーバの実行指示を行わない。
The
指示ルール情報522及び532のような指示ルール情報により、サービス提供部112のうち少なくとも1つが停止していた場合でも、他の停止状態でないサービス提供部112が処理中であるならば、処理中のサービス提供部112の処理完了後にフェイルオーバが実行される。そのため、サービス提供部112のクライアント計算機へのサービス提供が中断されない。なお、無条件でフェイルオーバを実行させる場合、指示ルール情報522及び532の条件508を"無し"に設定する。
Even if at least one of the
以上のように指示ルールを設定することにより、ネットワークブートシステムにおいて、現用系のサーバ計算機、又は、DHCPサーバ若しくはTFTPサーバがダウンした場合であっても、クライアント計算機がネットワークブートできなくなる事態を回避することができる。また、DHCPサーバ若しくはTFTPサーバの応答性が低下した場合であっても、クラアント計算機がネットワークブートによる起動時間のタイムアウト等によって起動ができなくなる事態を回避することができる。 By setting the instruction rule as described above, in the network boot system, even when the active server computer, the DHCP server or the TFTP server is down, the situation where the client computer cannot be network booted is avoided. be able to. Moreover, even when the responsiveness of the DHCP server or the TFTP server is lowered, it is possible to avoid a situation in which the client computer cannot be started due to a timeout of the startup time due to the network boot.
次に、上記のように構成されるサービス提供部状況監視部121の動作を説明する。
Next, the operation of the service providing unit
図6は、サービス提供部状況監視部121の処理の流れを示すフロー図である。サービス提供部状況監視部121は、ユーザにより指定された周期で、定期的に以下のフローを実行する。例えば、周期は、ネットワークブート用のサービス提供部(DHCPサーバ、TFTPサーバ)では秒オーダの処理であるので、1秒程度とするのが好ましい。
FIG. 6 is a flowchart showing a processing flow of the service providing unit
先ず、サービス提供部状況監視部121は、サービス提供部動作履歴テーブル113に格納されているサービス提供部112の動作履歴を読み込む(S601)。
First, the service providing unit
それから、サービス提供部状況監視部121は、サービス提供部状態テーブル123を更新する(S602)。具体的には、サービス提供部112の稼動状態(稼動中"alive"又は停止中"dead")をOSに問い合わせ、取得した稼動状態を生死状態403に格納する。また、読み込んだ動作履歴を順番にチェックし、ホスト名203の名称毎およびサービス提供部名204毎に分類する。そして、サービス提供部毎の動作履歴の内容205を参照する。開始"start"に対応する終了"end"が記録されている動作履歴がある場合、"0"秒を処理経過時間404に格納する。開始"start"のみが記録されている場合、当該動作履歴の日付201及び時刻202と、現在日時の差分から求めた時間を処理経過時間404に格納する。
Then, the service providing unit
次に、サービス提供部状況監視部121は、S602で更新したサービス提供部状態テーブル123の各サービス提供部112の生死状態403が、フェイルオーバ指示ルールテーブル124の各指示ルール情報の生死状態501と一致するか判定し、一致する指示ルール情報を選択する(S603)。
Next, in the service providing unit
また、サービス提供部状況監視部121は、S602で更新したサービス提供部状態テーブル123の各サービス提供部112の処理経過時間404が、S603で選択した指示ルール情報の処理経過時間502と一致するか判定し、一致する指示ルール情報を選択する(S604)。S603、S604の処理を経て、指示ルール情報511〜541のうちのいずれか一つが選定される。
Also, the service providing unit
次に、サービス提供部状況監視部121は、S604で選定した指示ルール情報の条件508を、サービス提供部112の状態が満たすか否かを判定する(S605)。具体的には、条件508が“無し”の場合、S606に進む(S605で“YES”)。条件508が“無し”以外の場合、指定されたサービス提供部の処理が完了しているか、又は、指定されたサービス提供部の処理時間が限界処理時間を超えているか否かを判定する。そして、処理完了直後、又は、限界処理時間経過後であることを検出した場合、その条件508を満たしているので、S606に進む(S605で“YES”)。一方、条件508を満たさない場合は、処理を終了する(S605で“NO”、END)。
Next, the service providing unit
S606では、サービス提供部状況監視部121は、選定した指示ルール情報の実行内容509の内容を実行する(S606)。具体的には、実行内容509が"通常処理"の場合、サービス提供部状況監視部121は何も行わない。実行内容509が"フェイルオーバ実行"の場合、サービス提供部状況監視部121は、クラスタ処理部111に対してフェイルオーバ実行を指示する。クラスタ処理部111は、指示を受けると、現用系サーバ計算機102から待機系のサーバ計算機102にリソースの引継ぎを行い、待機系と現用系を切り替える。
In S606, the service providing unit
以上の各ステップを実行し、サービス提供部状況監視部121は、処理を終了する。以降も同様に、定期的に上記のフローを実行する。
The above steps are executed, and the service providing unit
以上、第1の実施形態について説明した。第1の実施形態によれば、クラスタシステムにおいて、現用系サーバ計算機上でサーバプログラムのうちの少なくとも1つが性能要求となる限界処理時間内に処理を終了していない場合に、待機系サーバ計算機上へフェイルオーバが実行される。これにより、サーバプログラムに高負荷状態が発生した場合にも、待機系サーバ計算機上へフェイルオーバが実行されるため、サーバ計算機のハードウェア障害だけでなく、サーバプログラムの応答性の低下にも対処ができる。 The first embodiment has been described above. According to the first embodiment, in the cluster system, when at least one of the server programs on the active server computer has not finished processing within the limit processing time that is a performance requirement, the standby server computer Failover is executed. As a result, even when a heavy load occurs in the server program, failover is performed on the standby server computer, so that not only hardware failure of the server computer but also a decrease in responsiveness of the server program can be dealt with. it can.
また、現用系サーバ計算機上でサーバプログラムのうちの少なくとも1つが限界処理時間内に処理を終了していない場合に、他のサーバプログラムの処理完了を待った後に、待機系サーバ計算機上へフェイルオーバを実行する。これにより、フェイルオーバ時にサーバプログラムとクライアント計算機の間の処理を中断させなくて済む。このように、サービスの無停止化を実現する高信頼かつ高応答なクラスタシステムを提供できる。 In addition, if at least one of the server programs on the active server computer has not finished processing within the limit processing time, it waits for the other server programs to complete and then performs failover to the standby server computer. To do. Thereby, it is not necessary to interrupt the processing between the server program and the client computer at the time of failover. In this way, a highly reliable and highly responsive cluster system that can realize non-stop service can be provided.
次に、第1の実施形態の変形例について説明する。この変形例は、第1の実施形態の一部をより簡単な構成としたものである。以下、この変形例について、第1の実施形態と異なる点を中心に、図8、9、10を用いて説明する。第1の実施形態と同様に、ネットワークブートシステムに本発明を適用する構成を例に説明する。システム構成及びサーバ計算機の機能構成(図1)、サービス提供部動作履歴テーブル113(図2)、サービス提供部特性テーブル122(図3)、サーバ計算機のハードウェア構成(図7)は、第1の実施形態と同様であるため説明を省略する。 Next, a modification of the first embodiment will be described. In this modification, a part of the first embodiment has a simpler configuration. Hereinafter, this modification will be described with reference to FIGS. 8, 9, and 10, focusing on differences from the first embodiment. Similar to the first embodiment, a configuration in which the present invention is applied to a network boot system will be described as an example. The system configuration and the functional configuration of the server computer (FIG. 1), the service providing unit operation history table 113 (FIG. 2), the service providing unit characteristic table 122 (FIG. 3), and the hardware configuration of the server computer (FIG. 7) are as follows. Since it is the same as that of the embodiment, the description is omitted.
この変形例は、第1の実施形態と異なり、図8に示すサービス提供部状態テーブル123と、図9に示すフェイルオーバ指示ルールテーブル124を有する。すなわち、これらのテーブルを用いるサービス提供部状況監視部121の処理が異なる。
Unlike the first embodiment, this modification has a service providing unit state table 123 shown in FIG. 8 and a failover instruction rule table 124 shown in FIG. That is, the processing of the service providing unit
図8は、変形例のサービス提供部状態テーブル123の構成を示す図である。第1の実施形態(図4)と異なるのは、生死状態403を省いた構成となっている点である。サービス提供部状態テーブル123は、サービス提供部状況監視部121によって定期的に更新され、サービス提供部112の処理経過時間の最新の情報が格納される。サービス提供部状態テーブル123は、サービス提供部名401と、処理経過時間404とが対応付けられた状態情報を格納する。処理経過時間404の内容は、第1の実施形態と同様である。
FIG. 8 is a diagram illustrating a configuration of the service providing unit state table 123 according to the modification. The difference from the first embodiment (FIG. 4) is that the life /
図9は、変形例のフェイルオーバ指示ルールテーブル124の構成を示す図である。第1の実施形態(図5)と異なるのは、サービス提供部112毎の生死状態501を省いた構成となっている点である。フェイルオーバ指示ルールテーブル124は、ユーザの設定により、サービス提供部112毎の処理経過時間502と、ルール503とが対応付けられた指示ルール情報を格納する。処理経過時間502及びルール503の内容は、第1の実施形態と同様である。
FIG. 9 is a diagram illustrating a configuration of a failover instruction rule table 124 according to a modification. The difference from the first embodiment (FIG. 5) is that the life /
上記のフェイルオーバ指示ルールテーブル124を使用して、サービス提供部状況監視部121は、指示ルールに従った処理を定期的に行う。先ず、サービス提供部状況監視部121は、サービス提供部状態テーブル123に格納された、各サービス提供部401の処理経過時間404を取得する。その後、取得した処理経過時間と、指示ルール情報911〜915のうち、処理経過時間502の内容が一致する指示ルール情報を選択する。そして、選択した指示ルール情報の条件508が成立するか否かを判定する。成立すると判定した場合は、実行内容509の内容を実行する。成立しないと判断した場合は、実行内容509の内容を実行しない。以下、各指示ルール情報と、サービス提供部状況監視部121の動作について具体的に説明する。
Using the failover instruction rule table 124 described above, the service providing unit
指示ルール情報911は、DHCPサーバ"dhcpd"及びTFTPサーバ"tftpd"の両方の処理経過時間404が、それぞれ限界処理時間"6"秒、"60"秒以下である場合である。この場合、条件508は"無し"、実行内容509は"通常処理"であるため、サービス提供部状況監視部121は、特に何も処理を行わない。
The
指示ルール情報912は、DHCPサーバ"dhcpd"の処理経過時間404が限界処理時間"6"秒を超え、かつ、TFTPサーバ"tftpd"の処理経過時間404が"0"秒である場合である。また、指示ルール情報914は、TFTPサーバ"tftpd"の処理経過時間404が限界処理時間"60"秒を超え、かつ、DHCPサーバ"dhcpd"の処理経過時間404が"0"秒である場合である。これらの場合、条件508は"無し"、実行内容509は"フェイルオーバ実行"であるため、サービス提供部状況監視部121は、フェイルオーバの実行指示をクラスタ処理部111に出す。このような指示ルール情報により、サービス提供部112のうち少なくとも1つの処理時間が限界処理時間を超えていた場合に、フェイルオーバが実行される。そのため、サービス提供部112の応答性が低下しても、その応答性の低下を回避することが可能となる。
The
指示ルール情報913は、DHCPサーバ"dhcpd"の処理経過時間404が限界処理時間"6"秒を超え、かつ、TFTPサーバ"tftpd"の処理経過時間404が"0"秒より大きい(クライアント計算機にサービスを提供中)場合である。条件508は、"tftpdの処理完了直後又はtftpdの限界処理時間60s後"であり、実行内容509は"フェイルオーバ実行"である。この場合、サービス提供部状況監視部121は、TFTPサーバ"tftpd"の、サービス提供を開始したことを示す履歴情報(内容205が"start")に対応する履歴情報(内容205が"end")がサービス提供部動作履歴テーブル113に格納されていることを検出した場合、又は、処理経過時間404が限界処理時間"60"秒を超えていることを検出した場合に、フェイルオーバの実行指示をクラスタ処理部111に出す。この条件508が成立しない場合は、フェイルオーバの実行指示を行わない。
The
指示ルール情報915は、DHCPサーバ"dhcpd"の処理経過時間404が"0"秒より大きく、かつ、TFTPサーバ"tftpd"の処理経過時間404が限界処理時間"60"秒を超える場合である。条件508は、"dhcpdの処理完了直後又はdhcpdの限界処理時間6s後"であり、実行内容509は"フェイルオーバ実行"である。この場合、サービス提供部状況監視部121は、DHCPサーバ"dhcpd"の、サービス提供を開始したことを示す履歴情報(内容205が"start")に対応する履歴情報(内容205が"end")がサービス提供部動作履歴テーブル113に格納されていることを検出した場合、又は、処理経過時間404が限界処理時間"6"秒を超えていることを検出した場合に、フェイルオーバの実行指示をクラスタ処理部111に出す。この条件508が成立しない場合は、フェイルオーバの実行指示を行わない。
The
指示ルール情報913及び915のような指示ルール情報により、サービス提供部112のうち少なくとも1つの処理時間が限界処理時間を超えていた場合に、他の停止状態でないサービス提供部112が処理中であるならば、処理中のサービス提供部112の処理完了後にフェイルオーバが実行される。そのため、サービス提供部112のクライアント計算機へのサービス提供が中断されない。
According to the instruction rule information such as the
以上のように指示ルールを設定することにより、ネットワークブートシステムにおいて、DHCPサーバ若しくはTFTPサーバの応答性が低下した場合であっても、クラアント計算機がネットワークブートによる起動時間のタイムアウト等によって起動ができなくなる事態を回避することができる。 By setting the instruction rule as described above, even if the response of the DHCP server or the TFTP server is lowered in the network boot system, the client computer cannot be started due to a timeout of the boot time due to the network boot. The situation can be avoided.
次に、上記のように構成されるサービス提供部状況監視部121の動作を説明する。
Next, the operation of the service providing unit
図10は、変形例のサービス提供部状況監視部121の処理の流れを示すフロー図である。第1の実施形態(図6)と異なるのは、S603を省いた処理となっている点である。また、サービス提供部状態テーブル123(図8)と、フェイルオーバ指示ルールテーブル124(図9)に応じた処理(S602´、S604´)を実行する点である。S601、S605、S606は、第1の実施形態と同様であるので説明を省略する。
FIG. 10 is a flowchart showing a process flow of the service providing unit
S601の後、サービス提供部状況監視部121は、サービス提供部状態テーブル123を更新する(S602´)。具体的には、読み込んだ動作履歴を順番にチェックし、ホスト名203の名称毎およびサービス提供部名204毎に分類する。そして、サービス提供部毎の動作履歴の内容205を参照する。開始"start"に対応する終了"end"が記録されている動作履歴がある場合、"0"秒を処理経過時間404に格納する。開始"start"のみが記録されている場合、当該動作履歴の日付201及び時刻202と、現在日時の差分から求めた時間を処理経過時間404に格納する。
After S601, the service providing unit
次に、サービス提供部状況監視部121は、S602´で更新したサービス提供部状態テーブル123の各サービス提供部112の処理経過時間404が、フェイルオーバ指示ルールテーブル124の各指示ルール情報の処理経過時間502と一致するか判定し、一致する指示ルール情報を選択する(S604´)。以降、サービス提供部状況監視部121は、S605、S606の処理を実行する。
Next, the service providing unit
以上、第1の実施形態の変形例について説明した。この変形例によれば、クラスタシステムにおいて、現用系サーバ計算機上でサーバプログラムのうちの少なくとも1つが性能要求となる限界処理時間内に処理を終了していない場合に、待機系サーバ計算機上へフェイルオーバが実行される。これにより、サーバプログラムに高負荷状態が発生した場合に、待機系サーバ計算機上へフェイルオーバが実行されるため、サーバプログラムの応答性の低下に対処ができる。 In the above, the modification of 1st Embodiment was demonstrated. According to this modification, in the cluster system, when at least one of the server programs on the active server computer has not finished processing within the limit processing time required for performance, the failover is performed on the standby server computer. Is executed. As a result, when a high load state occurs in the server program, a failover is executed on the standby server computer, so it is possible to cope with a decrease in the responsiveness of the server program.
また、現用系サーバ計算機上でサーバプログラムのうちの少なくとも1つが限界処理時間内に処理を終了していない場合に、他のサーバプログラムの処理完了を待った後に、待機系サーバ計算機上へフェイルオーバを実行する。これにより、フェイルオーバ時にサーバプログラムとクライアント計算機の間の処理を中断させなくて済む。このように、サービスの無停止化を実現する高信頼かつ高応答なクラスタシステムを提供できる。 In addition, if at least one of the server programs on the active server computer has not finished processing within the limit processing time, it waits for the other server programs to complete and then performs failover to the standby server computer. To do. Thereby, it is not necessary to interrupt the processing between the server program and the client computer at the time of failover. In this way, a highly reliable and highly responsive cluster system that can realize non-stop service can be provided.
以上、本発明について、例示的な実施形態と関連させて記載した。多くの代替物、修正および変形例が当業者にとって明らかであることは明白である。したがって、上に記載の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。 The present invention has been described in connection with exemplary embodiments. Obviously, many alternatives, modifications, and variations will be apparent to practitioners skilled in this art. Accordingly, the above-described embodiments of the present invention are intended to illustrate and not limit the gist and scope of the present invention.
101・・・クラスタシステム、102・・・サーバ計算機、104・・・クライアント計算機、105・・・クライアント計算機、106・・・クライアント計算機、107・・・LAN、108・・・LAN、111・・・クラスタ処理部、112・・・サービス提供部、113・・・サービス提供部動作履歴テーブル、122・・・サービス提供部特性テーブル、123・・・サービス提供部状態テーブル、124・・・フェイルオーバ指示ルールテーブル、150・・・制御部、152・・・記憶部、
201・・・日付、202・・・時刻、203・・・ホスト名、204・・・サービス提供部名、205・・・内容、210〜240・・・動作履歴、
301・・・サービス提供部名、303・・・平均処理時間、304・・・限界処理時間、310〜320・・・特性情報、
401・・・サービス提供部名、403・・・生死状態、404・・・処理経過時間、410〜420・・・状態情報、
501・・・生死状態、502・・・処理経過時間、503・・・ルール、504〜505・・・サービス提供部毎の生死状態、506〜507・・・サービス提供部毎の処理経過時間、508・・・条件、509・・・実行内容、511〜541・・・指示ルール情報、
11・・・CPU、12・・・主記憶装置、13・・・補助記憶装置、14・・・入力装置、15・・・出力装置、16・・・読み取り装置、17・・・通信装置。
DESCRIPTION OF SYMBOLS 101 ... Cluster system, 102 ... Server computer, 104 ... Client computer, 105 ... Client computer, 106 ... Client computer, 107 ... LAN, 108 ... LAN, 111 ... Cluster processing unit, 112 ... service providing unit, 113 ... service providing unit operation history table, 122 ... service providing unit characteristic table, 123 ... service providing unit state table, 124 ... failover instruction Rule table, 150 ... control unit, 152 ... storage unit,
201 ... Date, 202 ... Time, 203 ... Host name, 204 ... Service provider name, 205 ... Contents, 210-240 ... Operation history,
301 ... Service providing unit name, 303 ... Average processing time, 304 ... Limit processing time, 310-320 ... Characteristic information,
401 ... Service providing unit name, 403 ... Life / death state, 404 ... Process elapsed time, 410-420 ... Status information,
501 ... Life / death state, 502 ... Process elapsed time, 503 ... Rule, 504 to 505 ... Life / death state for each service providing unit, 506 to 507 ... Process elapsed time for each service providing unit, 508 ... condition, 509 ... execution content, 511-541 ... instruction rule information,
DESCRIPTION OF
Claims (15)
フェイルオーバを行う処理状況の状態を特定する状態情報を記憶する記憶部と、
サービスを提供する際の処理状況を特定する状況監視部と、
前記状況監視部が特定した処理状況が、前記状態情報で特定される処理状況に一致する場合に、前記フェイルオーバ処理部にフェイルオーバの実行を指示するフェイルオーバ実行指示部と、
を有することを特徴とするサーバ。 A server constituting a cluster system having a plurality of servers each including a failover processing unit that performs a failover process of taking over the provision of the service from one server that provides the service to another server by receiving a failover execution instruction Because
A storage unit for storing state information for specifying a state of a processing state for performing a failover;
A status monitoring unit that identifies the processing status when providing the service;
A failover execution instruction unit that instructs the failover processing unit to execute failover when the processing status specified by the status monitoring unit matches the processing status specified by the status information;
The server characterized by having.
前記記憶部には、フェイルオーバを行う条件を特定する条件情報が前記状態情報毎に対応されて記憶されており、
前記状況監視部が特定した処理状況が、前記状態情報で特定される処理状況に一致し、前記状況監視部が特定した処理状況が、一致すると判断された状態情報に対応する前記条件情報を満たす場合に、前記フェイルオーバ実行指示部は、前記フェイルオーバ処理部にフェイルオーバの実行を指示すること、
を特徴とするサーバ。 The server according to claim 1,
In the storage unit, condition information for specifying a condition for performing failover is stored corresponding to each state information,
The processing status specified by the status monitoring unit matches the processing status specified by the status information, and the processing status specified by the status monitoring unit satisfies the condition information corresponding to the status information determined to match. The failover execution instruction unit instructs the failover processing unit to execute failover,
A server characterized by
前記処理状況は、予め定められた処理の処理時間であり、
前記状態情報は、予め定められた処理の処理時間が予め定められた限界時間を超えたことを特定する情報であること、
を特徴とするサーバ。 The server according to claim 1,
The processing status is a processing time of a predetermined process,
The state information is information for specifying that a processing time of a predetermined process has exceeded a predetermined limit time;
A server characterized by
前記処理状況は、予め定められた処理の処理時間であり、
前記状態情報は、予め定められた処理の処理時間が予め定められた限界時間を超えたことを特定する情報であり、
前記条件情報は、前記予め定められた処理以外の他の処理が完了していること、および、前記予め定められた処理以外の他の処理の処理時間が予め定められた限界時間を超えたこと、の少なくともいずれか一方を特定する情報であること、
を特徴とするサーバ。 The server according to claim 2,
The processing status is a processing time of a predetermined process,
The state information is information for specifying that the processing time of a predetermined process has exceeded a predetermined limit time,
The condition information indicates that processing other than the predetermined processing has been completed and that the processing time of processing other than the predetermined processing has exceeded a predetermined limit time. Information identifying at least one of
A server characterized by
前記処理状況は、予め定められた処理の稼動又は停止を示す動作状態であり、
前記状態情報は、予め定められた処理の動作状態が停止中であることを特定する情報であり、
前記条件情報は、前記予め定められた処理以外の他の処理が完了していること、および、前記予め定められた処理以外の他の処理の処理時間が予め定められた限界時間を超えたこと、の少なくともいずれか一方を特定する情報であること、
を特徴とするサーバ。 The server according to claim 2,
The processing status is an operation state indicating operation or stop of a predetermined process,
The state information is information for specifying that an operation state of a predetermined process is stopped,
The condition information indicates that processing other than the predetermined processing has been completed and that the processing time of processing other than the predetermined processing has exceeded a predetermined limit time. Information identifying at least one of
A server characterized by
前記サーバは、
フェイルオーバを行う処理状況の状態を特定する状態情報を記憶し、
サービスを提供する際の処理状況を特定する状況監視ステップと、
前記状況監視ステップで特定した処理状況が、前記状態情報で特定される処理状況に一致する場合に、前記フェイルオーバ処理部にフェイルオーバの実行を指示するフェイルオーバ実行指示ステップと、
を実行することを特徴とするフェイルオーバ実行方法。 A server constituting a cluster system having a plurality of servers each including a failover processing unit that performs a failover process of taking over the provision of the service from one server that provides the service to another server by receiving a failover execution instruction The failover execution method in
The server
Stores status information that identifies the status of the processing status for failover,
A status monitoring step for identifying the processing status when providing the service;
A failover execution instruction step for instructing the failover processing unit to execute a failover when the processing status specified in the status monitoring step matches the processing status specified in the status information;
A failover execution method characterized in that is executed.
前記サーバは、
前記状態情報毎にフェイルオーバを行う条件を特定する条件情報を対応させて記憶しており、
前記フェイルオーバ実行指示ステップは、
前記状況監視部が特定した処理状況が、前記状態情報で特定される処理状況に一致し、前記状況監視部が特定した処理状況が、一致すると判断された状態情報に対応する前記条件情報を満たす場合に、前記フェイルオーバ処理部にフェイルオーバの実行を指示すること、
を特徴とするフェイルオーバ実行方法。 The failover execution method according to claim 6, wherein
The server
The condition information for specifying the condition for performing the failover for each state information is stored in association with each other,
The failover execution instruction step includes:
The processing status specified by the status monitoring unit matches the processing status specified by the status information, and the processing status specified by the status monitoring unit satisfies the condition information corresponding to the status information determined to match. Instructing the failover processing unit to execute failover,
Failover execution method characterized by this.
前記処理状況は、予め定められた処理の処理時間であり、
前記状態情報は、予め定められた処理の処理時間が予め定められた限界時間を超えたことを特定する情報であること、
を特徴とするフェイルオーバ実行方法。 The failover execution method according to claim 6, wherein
The processing status is a processing time of a predetermined process,
The state information is information for specifying that a processing time of a predetermined process has exceeded a predetermined limit time;
Failover execution method characterized by this.
前記処理状況は、予め定められた処理の処理時間であり、
前記状態情報は、予め定められた処理の処理時間が予め定められた限界時間を超えたことを特定する情報であり、
前記条件情報は、前記予め定められた処理以外の他の処理が完了していること、および、前記予め定められた処理以外の他の処理の処理時間が予め定められた限界時間を超えたこと、の少なくともいずれか一方を特定する情報であること、
を特徴とするフェイルオーバ実行方法。 The failover execution method according to claim 7, comprising:
The processing status is a processing time of a predetermined process,
The state information is information for specifying that the processing time of a predetermined process has exceeded a predetermined limit time,
The condition information indicates that processing other than the predetermined processing has been completed and that the processing time of processing other than the predetermined processing has exceeded a predetermined limit time. Information identifying at least one of
Failover execution method characterized by this.
前記処理状況は、予め定められた処理の稼動又は停止を示す動作状態であり、
前記状態情報は、予め定められた処理の動作状態が停止中であることを特定する情報であり、
前記条件情報は、前記予め定められた処理以外の他の処理が完了していること、および、前記予め定められた処理以外の他の処理の処理時間が予め定められた限界時間を超えたこと、の少なくともいずれか一方を特定する情報であること、
を特徴とするフェイルオーバ実行方法。 The failover execution method according to claim 7, comprising:
The processing status is an operation state indicating operation or stop of a predetermined process,
The state information is information for specifying that an operation state of a predetermined process is stopped,
The condition information indicates that processing other than the predetermined processing has been completed and that the processing time of processing other than the predetermined processing has exceeded a predetermined limit time. Information identifying at least one of
Failover execution method characterized by this.
前記コンピュータを、
フェイルオーバを行う処理状況の状態を特定する状態情報を記憶する記憶部と、
サービスを提供する際の処理状況を特定する状況監視部と、
前記状況監視部が特定した処理状況が、前記状態情報で特定される処理状況に一致する場合に、前記フェイルオーバ処理部にフェイルオーバの実行を指示するフェイルオーバ実行指示部として、
機能させることを特徴とするプログラム。 A cluster system having a plurality of servers each provided with a failover processing unit that performs failover processing to take over the provision of the service from one server that provides the service to another server by receiving a failover execution instruction for the computer A program for functioning as a server to be configured,
The computer,
A storage unit for storing state information for specifying a state of a processing state for performing a failover;
A status monitoring unit that identifies the processing status when providing the service;
When the processing status specified by the status monitoring unit matches the processing status specified by the status information, as a failover execution instruction unit that instructs the failover processing unit to execute failover,
A program characterized by functioning.
前記記憶部には、フェイルオーバを行う条件を特定する条件情報が前記状態情報毎に対応されて記憶されており、
前記状況監視部が特定した処理状況が、前記状態情報で特定される処理状況に一致し、前記状況監視部が特定した処理状況が、一致すると判断された状態情報に対応する前記条件情報を満たす場合に、前記フェイルオーバ実行指示部は、前記フェイルオーバ処理部にフェイルオーバの実行を指示すること、
を特徴とするプログラム。 The program according to claim 11,
In the storage unit, condition information for specifying a condition for performing failover is stored corresponding to each state information,
The processing status specified by the status monitoring unit matches the processing status specified by the status information, and the processing status specified by the status monitoring unit satisfies the condition information corresponding to the status information determined to match. The failover execution instruction unit instructs the failover processing unit to execute failover,
A program characterized by
前記処理状況は、予め定められた処理の処理時間であり、
前記状態情報は、予め定められた処理の処理時間が予め定められた限界時間を超えたことを特定する情報であること、
を特徴とするプログラム。 The program according to claim 11,
The processing status is a processing time of a predetermined process,
The state information is information for specifying that a processing time of a predetermined process has exceeded a predetermined limit time;
A program characterized by
前記処理状況は、予め定められた処理の処理時間であり、
前記状態情報は、予め定められた処理の処理時間が予め定められた限界時間を超えたことを特定する情報であり、
前記条件情報は、前記予め定められた処理以外の他の処理が完了していること、および、前記予め定められた処理以外の他の処理の処理時間が予め定められた限界時間を超えたこと、の少なくともいずれか一方を特定する情報であること、
を特徴とするプログラム。 A program according to claim 12,
The processing status is a processing time of a predetermined process,
The state information is information for specifying that the processing time of a predetermined process has exceeded a predetermined limit time,
The condition information indicates that processing other than the predetermined processing has been completed and that the processing time of processing other than the predetermined processing has exceeded a predetermined limit time. Information identifying at least one of
A program characterized by
前記処理状況は、予め定められた処理の稼動又は停止を示す動作状態であり、
前記状態情報は、予め定められた処理の動作状態が停止中であることを特定する情報であり、
前記条件情報は、前記予め定められた処理以外の他の処理が完了していること、および、前記予め定められた処理以外の他の処理の処理時間が予め定められた限界時間を超えたこと、の少なくともいずれか一方を特定する情報であること、
を特徴とするプログラム。 A program according to claim 12,
The processing status is an operation state indicating operation or stop of a predetermined process,
The state information is information for specifying that an operation state of a predetermined process is stopped,
The condition information indicates that processing other than the predetermined processing has been completed and that the processing time of processing other than the predetermined processing has exceeded a predetermined limit time. Information identifying at least one of
A program characterized by
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007154481A JP2008305353A (en) | 2007-06-11 | 2007-06-11 | Cluster system and fail-over method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007154481A JP2008305353A (en) | 2007-06-11 | 2007-06-11 | Cluster system and fail-over method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008305353A true JP2008305353A (en) | 2008-12-18 |
Family
ID=40233984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007154481A Pending JP2008305353A (en) | 2007-06-11 | 2007-06-11 | Cluster system and fail-over method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008305353A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012081059A1 (en) | 2010-12-17 | 2012-06-21 | Hitachi, Ltd. | Failure recovery method for information processing service and virtual machine image generation apparatus |
JP2013137699A (en) * | 2011-12-28 | 2013-07-11 | Mitsubishi Electric Corp | Electric power system monitoring controller for railroad |
EP2874067A1 (en) | 2013-11-14 | 2015-05-20 | Fujitsu Limited | Information processing system, information processing apparatus, terminal apparatus, control program, and control method |
CN111651291A (en) * | 2020-04-23 | 2020-09-11 | 国网河南省电力公司电力科学研究院 | Shared storage cluster brain crack prevention method, system and computer storage medium |
-
2007
- 2007-06-11 JP JP2007154481A patent/JP2008305353A/en active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012081059A1 (en) | 2010-12-17 | 2012-06-21 | Hitachi, Ltd. | Failure recovery method for information processing service and virtual machine image generation apparatus |
JP2013529799A (en) * | 2010-12-17 | 2013-07-22 | 株式会社日立製作所 | Information processing service failure recovery method and virtual machine image generation apparatus |
US8499191B2 (en) | 2010-12-17 | 2013-07-30 | Hitachi, Ltd. | Failure recovery method for information processing service and virtual machine image generation apparatus |
JP2013137699A (en) * | 2011-12-28 | 2013-07-11 | Mitsubishi Electric Corp | Electric power system monitoring controller for railroad |
EP2874067A1 (en) | 2013-11-14 | 2015-05-20 | Fujitsu Limited | Information processing system, information processing apparatus, terminal apparatus, control program, and control method |
US9454668B2 (en) | 2013-11-14 | 2016-09-27 | Fujitsu Limited | Information processing system, information processing apparatus, terminal apparatus, and control method |
CN111651291A (en) * | 2020-04-23 | 2020-09-11 | 国网河南省电力公司电力科学研究院 | Shared storage cluster brain crack prevention method, system and computer storage medium |
CN111651291B (en) * | 2020-04-23 | 2023-02-03 | 国网河南省电力公司电力科学研究院 | Method, system and computer storage medium for preventing split brain of shared storage cluster |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7711983B2 (en) | Fail over method for computer system | |
JP5851503B2 (en) | Providing high availability for applications in highly available virtual machine environments | |
US10310756B2 (en) | Node interconnection apparatus, resource control node, and server system | |
US7076689B2 (en) | Use of unique XID range among multiple control processors | |
US7284236B2 (en) | Mechanism to change firmware in a high availability single processor system | |
US7188237B2 (en) | Reboot manager usable to change firmware in a high availability single processor system | |
US9182998B2 (en) | Remote bios update in system having multiple computers | |
US7953831B2 (en) | Method for setting up failure recovery environment | |
JP4572250B2 (en) | Computer switching method, computer switching program, and computer system | |
US7065673B2 (en) | Staged startup after failover or reboot | |
US20070266120A1 (en) | System and method for handling instructions in a pre-boot execution environment | |
WO2012168995A1 (en) | Method for controlling i/o switch, method for controlling virtual computer, and computer system | |
US11341008B2 (en) | System and method for reducing failover times in a redundant management module configuration | |
US20090217081A1 (en) | System for providing an alternative communication path in a SAS cluster | |
US8423162B2 (en) | Control method for information processing system, information processing system, and program | |
US20110239038A1 (en) | Management apparatus, management method, and program | |
JP2008305353A (en) | Cluster system and fail-over method | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
US20110202921A1 (en) | Information processing device, computer system and program | |
JP2011086316A (en) | Takeover method, computer system, and management server | |
JP6822706B1 (en) | Cluster system, server equipment, takeover method, and program | |
US20180019923A1 (en) | System and method for managing distributed cluster identity | |
CN112965790B (en) | PXE protocol-based virtual machine starting method and electronic equipment | |
JP5549688B2 (en) | Information processing system and method for controlling information processing system | |
JP7057178B2 (en) | Management node, node, cluster system and node control method |