JP4520899B2 - Cluster control method, cluster control program, cluster system, and standby server - Google Patents
Cluster control method, cluster control program, cluster system, and standby server Download PDFInfo
- Publication number
- JP4520899B2 JP4520899B2 JP2005129559A JP2005129559A JP4520899B2 JP 4520899 B2 JP4520899 B2 JP 4520899B2 JP 2005129559 A JP2005129559 A JP 2005129559A JP 2005129559 A JP2005129559 A JP 2005129559A JP 4520899 B2 JP4520899 B2 JP 4520899B2
- Authority
- JP
- Japan
- Prior art keywords
- execution server
- server
- transaction
- execution
- recovery
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
Abstract
Description
本発明は、コンピュータシステムの高可用性を実現するクラスタ制御技術に関する。 The present invention relates to a cluster control technique for realizing high availability of a computer system.
コンピュータシステムの高可用性を実現する技術として、独立して動作する複数のコン
ピュータをまとめて1台のコンピュータとして取り扱うようにしたクラスタシステムがあ
る。そのクラスタシステムには、大きく分けて、通常は全てのコンピュータを使って動作
し、障害発生時には縮退して動作を継続するスケーラブル型クラスタシステムと、障害発
生時に動作する待機系コンピュータを持つスタンバイ型クラスタシステムとがある。更に
、そのスタンバイ型クラスタシステムは、1:1待機型、1:1相互待機型、N:1待機
型、N:M待機型などに分類される。N:1待機型は、N台の現用系コンピュータと1台
の待機系コンピュータとからなるクラスタシステムである。このN:1待機型は、待機系
コンピュータのコストを抑えつつ、コンピュータシステムの高可用性および業務処理の拡
張性(スケーラビリティ)を実現することができる。また、N:M待機型は、N台の現用
系コンピュータとM台の待機系コンピュータとからなるクラスタシステムである(通常は
、N>M)。このN:M待機型は、N:1待機型の長所を受け継ぐと共に、M回の障害に
対応することができる。なお、N:1待機型クラスタシステムの一例が、特許文献1に開
示されている。
しかしながら、従来のN:1待機型は、業務処理がトランザクションである場合、短時
間にコンピュータシステムの二重障害に対応することは困難であった。これは、1台の現
用系コンピュータに障害が発生したとき、1台の待機系コンピュータがその中断したトラ
ンザクション(業務処理)を回復し、引き継ぐことになるので、障害が発生した現用系コ
ンピュータが正常に稼働できる状態にならない限り、次に発生する他の現用系コンピュー
タの障害に対応することができないことによる。ここで、トランザクションとは、業務処
理が複数のプロセスから構成されるものの、分割することができない処理の単位をいう。
これに対して、従来のN:M待機型は、M回の障害に対応することができるが、N:1待
機型と比較して運用の複雑さや待機系コンピュータのコストなどが問題となっていた。
However, in the conventional N: 1 standby type, when the business process is a transaction, it is difficult to cope with a double failure of the computer system in a short time. This is because when a failure occurs in one active computer, the standby computer recovers and takes over the interrupted transaction (business process), so the active computer where the failure occurred is normal. This is because the failure of another active computer that occurs next cannot be dealt with unless it becomes ready for operation. Here, a transaction is a unit of processing that cannot be divided even though business processing is composed of a plurality of processes.
On the other hand, the conventional N: M standby type can cope with M failures, but the operational complexity and the cost of the standby computer are problematic as compared with the N: 1 standby type. It was.
また、従来のN:1待機型クラスタシステムでは、現用系および待機系のサーバ構成(アプリケーションプログラムの種類や取り扱うデータベースの構造など)が一様である必要があった。これは、複数の現用系コンピュータに対して、1台の待機系コンピュータがトランザクションを回復し、その後の処理を含めて引き継ぐ必要があるからである。このため、N台の現用系においてサーバ構成が異なる場合は、同じサーバ構成の現用系をグループ化し、各グループについて1台の待機系を用意しなければならず、待機系のコストが増えるという問題があった。 Further, in the conventional N: 1 standby cluster system, the server configuration of the active system and the standby system (type of application program, database structure to be handled, etc.) needs to be uniform. This is because it is necessary for one standby computer to recover the transaction for a plurality of active computers and take over it including the subsequent processing. For this reason, when the server configurations are different in the N active systems, the active systems having the same server configuration must be grouped and one standby system must be prepared for each group, which increases the cost of the standby system. was there.
以上を換言すれば、従来のスタンバイ型クラスタシステムは、業務処理がトランザクシ
ョンである場合、待機系コンピュータのコストを最小限に抑えつつ、短時間にコンピュー
タシステムの二重障害に対応することが困難であるという問題があった。
In other words, it is difficult for a conventional standby cluster system to cope with a double failure of a computer system in a short time while minimizing the cost of a standby computer when the business process is a transaction. There was a problem that there was.
そこで、本発明は、前記問題に鑑み、クラスタシステムにおいて、業務処理がトランザクションである場合であっても、待機系コンピュータのコストを最小限に抑える手段を提供することを課題とする。 In view of the above problems, an object of the present invention is to provide means for minimizing the cost of a standby computer even in a cluster system, even when business processing is a transaction.
本発明は、クライアントと通信可能であり、そのクライアントから受信した処理要求を振り分ける負荷分散装置と、
前記負荷分散装置が振り分けた処理要求を受信し、その処理を実行する実行サーバと、
前記実行サーバの障害を検出したとき、その実行サーバのトランザクションを回復する待機サーバと、がネットワーク接続されて構成されるクラスタシステムにおいて、
前記待機サーバが、前記実行サーバごとに、その稼働状態を監視し、障害が発生した実行サーバのトランザクションを回復すると共に、その実行サーバの縮退制御を行うクラスタ制御方法であって、
前記待機サーバは、前記実行サーバごとに、障害発生時のトランザクションの回復順序を制御するために、NULLまたは次にトランザクションを回復する実行サーバへのポインタを設定する回復順序ポインタを備え、
前記待機サーバは、所定の実行サーバに対して処理を行う場合、
初期化処理として、前記実行サーバの回復順序ポインタをNULLにするステップと、
所定の時間ごとに前記実行サーバの稼働状態を監視するステップと、
前記監視の結果として前記実行サーバの障害を検出したとき、前記実行サーバをリセットし、縮退させるステップと、
前記トランザクションを回復する前に、既にトランザクション回復中の実行サーバがある場合、その回復中の実行サーバから前記回復順序ポインタを辿っていったとき、最初にNULLになった回復順序ポインタに当該実行サーバへのポインタを設定するステップと、
その次に、他の実行サーバに対する処理からトランザクションの回復処理完了が通知されるのを待って、トランザクションの回復を開始して、前記実行サーバのトランザクションを回復し、前記トランザクションを回復した後、当該実行サーバの回復順序ポインタがNULLでないとき、その回復順序ポインタが示す実行サーバに対する処理に回復処理完了を通知し、その回復順序ポインタにNULLを設定し、前記稼働状態の監視に戻るステップと、
前記監視の結果として前記実行サーバの正常を検出し、かつ、前記実行サーバが縮退しているとき、前記実行サーバの縮退を解除し、前記稼働状態の監視に戻るステップと、を実行することを特徴とする。
これによって、実行サーバの障害が発生した順序に従って、その実行サーバのトランザクションを回復することができる。
The present invention is a load distribution device that can communicate with a client and distributes a processing request received from the client;
Receiving the processing request load balancer is distributed, and the executing server to execute the process,
Upon detection of a failure of the execution server, the standby server to recover transactions that execution server, but the networked constructed by torque raster system,
The standby server, for each of the execution server, monitoring the operating state, as well as restore the transaction execution the failed server, a cluster control method for performing degeneration control of the execution server,
The standby server includes, for each execution server, a recovery order pointer that sets a pointer to an execution server that recovers NULL or the next transaction in order to control the recovery order of transactions when a failure occurs,
When the standby server performs processing for a predetermined execution server,
As an initialization process, the recovery sequence pointer of the execution server is set to NULL,
Monitoring the operating state of the execution server at predetermined time intervals;
When detecting a failure of the execution server as a result of the monitoring, resetting the execution server and degenerating;
If there is an execution server that is already recovering a transaction before recovering the transaction, when the recovery order pointer is traced from the recovery execution server, the execution server is first set to the recovery order pointer that is NULL. Setting a pointer to
Next, after the completion of the transaction recovery process is notified from the processing for the other execution server, the recovery of the transaction is started, the transaction of the execution server is recovered, the transaction is recovered, When the recovery sequence pointer of the execution server is not NULL, the completion of the recovery processing is notified to the processing for the execution server indicated by the recovery sequence pointer, NULL is set in the recovery sequence pointer, and the process returns to the monitoring of the operation state;
Detecting normality of the execution server as a result of the monitoring, and when the execution server is degenerated, canceling the degeneration of the execution server and returning to the monitoring of the operating state, Features.
As a result, the transactions of the execution server can be recovered according to the order in which the failure of the execution server occurs.
この方法において、待機サーバは、実行サーバごとに行う処理として、所定の時間ごと
に実行サーバの稼働状態を監視し、障害が発生した実行サーバのトランザクションの回復
を行った後、その実行サーバの処理を引き継ぐことは行わず、再び実行サーバの稼働状態
の監視を継続する。これによって、待機サーバが障害の発生した実行サーバのトランザク
ションを随時回復するため、その回復が停滞することがなくなるので、その実行サーバの
未完了のトランザクションによる他の実行サーバの業務処理の中断を回避することができ
る。
In this method, the standby server monitors the operating state of the execution server every predetermined time as the processing to be performed for each execution server, recovers the transaction of the execution server in which the failure has occurred, and then performs the processing of the execution server. The monitoring of the operating state of the execution server is continued again. As a result, the standby server recovers the failed execution server transaction from time to time, so that the recovery does not stagnate, so it is possible to avoid interruption of business processing of other execution servers due to incomplete transactions of the execution server. can do.
また、この方法において、待機サーバは、障害が発生した実行サーバを縮退させるとき
、負荷分散装置に対して実行サーバの構成リストから当該実行サーバをはずすことを指示
するメッセージを送信する。これによって、障害が発生した実行サーバおよびそのIPア
ドレスを引き継いでトランザクションを回復する(フェールオーバ中の)待機サーバに、
負荷分散装置から不当に処理要求が来ることがなくなる。また、障害から回復して稼働で
きる状態になった実行サーバの縮退を解除するとき、負荷分散装置に対して実行サーバの
構成リストに当該実行サーバを追加することを指示するメッセージを送信する。これによ
って、稼働できる状態になった実行サーバに、負荷分散装置から処理要求が来るようにな
り、負荷分散が図られる。
In this method, when the standby server degenerates the failed execution server, the standby server transmits a message instructing the load balancer to remove the execution server from the configuration list of the execution server. As a result, the standby server that is taking over the failed execution server and its IP address and recovering the transaction (during failover)
Unfair processing requests from the load balancer are eliminated. In addition, when the degeneration of the execution server that has recovered from the failure and can be operated is released, a message instructing to add the execution server to the configuration list of the execution server is transmitted to the load balancer. As a result, a processing request comes from the load balancer to the execution server that is ready to operate, and load balancing is achieved.
続いて、この方法において、待機サーバは、障害が発生した実行サーバのリソース接続情報を取得する。そして、このリソース接続情報を用いてリソースにアクセスし、仕掛かり中のトランザクションを回復する。これによって、実行サーバの構成が一様でなくても、処理対象の実行サーバを切り替えた場合にリソース接続情報を取得するため、障害のあった実行サーバが接続していたリソースに接続でき、トランザクションを回復することができる。 Subsequently, in this method, the standby server acquires the resource connection information of the execution server in which the failure has occurred. Then, the resource is accessed using this resource connection information, and the transaction in progress is recovered. Even if the execution server configuration is not uniform, resource connection information is acquired when the execution server to be processed is switched. Can be recovered.
なお、本発明は、クラスタシステムおよび待機サーバを含む。また、請求項における「所定の実行サーバに対して処理を行う場合」の「処理」および「実行サーバに対する処理」は、後記する発明を実施するための最良の形態における「待機サーバの実行サーバ監視スレッド」に相当する。また、請求項における「実行サーバの縮退」の状態および「回復順序ポインタ」は、後記する発明を実施するための最良の形態においては、「実行サーバ管理テーブル」によって管理される。 The present invention includes a cluster system and a standby server. In addition, “processing” and “processing for an execution server” in “when processing is performed on a predetermined execution server” in the claims are “execution server monitoring of a standby server” in the best mode for carrying out the invention described later. Corresponds to “thread”. Further, the “execution server degeneration” state and “recovery order pointer” in the claims are managed by an “execution server management table” in the best mode for carrying out the invention described later.
本発明によれば、待機サーバがトランザクションを回復した後、業務処理を引き継がずに再び待機するので、待機系のコストを抑えることができる。 According to the present invention, after the standby server recovers the transaction, the standby server waits again without taking over the business process, so that the cost of the standby system can be suppressed.
以下、本発明を実施するための最良の形態(以下、「本発明の実施の形態」という)に
ついて図面を参照して詳細に説明する。
Hereinafter, the best mode for carrying out the present invention (hereinafter referred to as “embodiment of the present invention”) will be described in detail with reference to the drawings.
≪第1の実施の形態≫
(クラスタシステムの構成と概要)
図1を参照して、第1の実施の形態に係るスタンバイ型クラスタシステムの構成について説明する。このスタンバイ型クラスタシステム(図1および以下において、単に「クラスタシステム10」とする)においては、負荷分散装置100がクライアント20から受けた業務処理要求を複数の各実行サーバに分散処理させるために、各実行サーバに同一の業務処理プログラムが配備されている。クラスタシステム10は、ネットワークセグメント110に接続された1台の負荷分散装置100、N台の実行サーバ160〜162および1台の待機サーバ170と、ネットワークセグメント120に接続された2台のDBサーバ180、181とから構成されている。ネットワークセグメント110と、ネットワークセグメント120とは、ネットワーク115によって接続されている。各実行サーバ160〜162と、待機サーバ170とは、それぞれ、KA(Keep Alive)パス130〜132、リセットパス140〜142および共有ディスク装置150〜152を介して接続されている。各DBサーバ180、181は、それぞれ、実行サーバ160〜162から業務処理中に参照、更新される業務DB190、191を配下に持つ。
<< First Embodiment >>
(Cluster system configuration and overview)
With reference to FIG. 1, the configuration of the standby cluster system according to the first embodiment will be described. In this standby type cluster system (referred to simply as “cluster system 10” in FIG. 1 and the following), the load distribution apparatus 100 distributes the business processing requests received from the
負荷分散装置100は、ネットワーク30を介して接続されたクライアント20から業
務処理要求を受ける。そして、自らが保持している実行サーバの構成リスト(図示せず)
において現在有効な実行サーバに対して、その業務処理要求を振り分ける。その振り分け
には、例えば、ラウンドロビン方式を使用する。その構成リストは、待機サーバ170の
負荷分散装置制御手段171からの指示によって更新するものとする。実行サーバ160
〜162は、負荷分散装置100から振り分けられた業務処理要求に対応する業務処理を
実行するサーバであり、いわゆる現用系である。業務処理を実行するときには、DBサー
バ180を介して業務DB190を参照、更新し、DBサーバ181を介して業務DB1
91を参照、更新する。業務処理がトランザクションである場合、業務DB190および
191の両方を更新するものとする。なお、「実行サーバ1」、「実行サーバ2」および
「実行サーバN」のように数字を付与しているのは、図5に示す実行サーバ識別子501
に対応させるためである。待機サーバ170は、実行サーバが停止したときにトランザク
ションの回復処理を行うサーバであり、いわゆる予備系(待機系)である。待機サーバ1
70は、負荷分散装置制御手段171、フェールオーバ順序制御手段172およびトラン
ザクション回復処理手段173を備えている。負荷分散装置制御手段171は、負荷分散
装置100を制御する機能を持ち、特に、実行サーバの稼働状態に応じて、前記構成リス
トに対する実行サーバの追加、削除などを負荷分散装置100に指示する。フェールオー
バ順序制御手段172は、二重障害が発生したときのトランザクション回復順序を制御す
る機能を持つ。トランザクション回復処理手段173は、実行サーバが停止したとき、そ
の実行サーバの仕掛かり(未完了の)トランザクションを回復する機能を持つ。
The load balancer 100 receives a business process request from the
In FIG. 2, the business process request is distributed to the currently effective execution server. For the distribution, for example, a round robin method is used. The configuration list is updated by an instruction from the load
˜162 are servers that execute business processing corresponding to business processing requests distributed from the load balancer 100, and are so-called active systems. When executing business processing, the
91 is referred to and updated. When the business process is a transaction, both
This is to correspond to. The
70 includes a load
KAパス130〜132は、待機サーバ170が各実行サーバの稼働状態を監視するた
めに使用する信号線である。リセットパス140〜142は、待機サーバ170が各実行
サーバのネットワークアダプタ停止やCPU(Central Processing Unit)リセットなど
のリセット処理を行うために使用する信号線である。共有ディスク装置150〜152は
、各実行サーバにおけるトランザクションの状態を遂次格納する。その格納されているト
ランザクションの状態は、各実行サーバおよび待機サーバ170から参照、更新可能であ
る。
The
第1の実施の形態では、実行サーバ160〜162に配備された各業務処理プログラムが、それぞれDBサーバ180、181に対してグローバルトランザクションを実行し、そのトランザクションの状態をそれぞれ共有ディスク装置150〜152に格納することを想定しているが、単一DBに対するローカルトランザクションを実行してもよいし、共有ディスク装置150〜152を同一の共有ディスク装置で実現してもよい。また、第1の実施の形態では、説明の便宜上、負荷分散装置、ネットワーク、ネットワークアダプタ、DBサーバなどの冗長構成を採用していないが、これらの冗長構成を採ってもよい。
In the first embodiment, each business processing program deployed on the
ここで、各構成要素の実現形態について説明する。クライアント20は、PC(Person
al Computer)などのクライアント用コンピュータによって実現される。負荷分散装置1
00は、負荷分散ソフトウエアを搭載したPCや専用のハードウエアなどによって実現さ
れる。実行サーバ160〜162、待機サーバ170およびDBサーバ180、181は
、いわゆるサーバ用コンピュータによって実現される。共有ディスク装置150〜152
および業務DB190、191は、ハードディスク装置などの記憶装置によって実現され
る。また、負荷分散装置制御手段171、フェールオーバ順序制御手段172およびトラ
ンザクション回復処理手段173は、待機サーバ170に内蔵されるCPUが所定のメモ
リに記憶されたプログラムを実行することによって実現される。
Here, an implementation form of each component will be described.
al Computer). Load balancer 1
00 is realized by a PC equipped with load balancing software, dedicated hardware, or the like. The
The
(クラスタシステムの処理)
図2を参照して、第1の実施の形態に係る待機サーバの処理の流れについて説明する(適宜図1参照)。待機サーバ170は、まず、図5に示す実行サーバ管理テーブル500を初期化する(ステップS200)。ここで、実行サーバ管理テーブル500は、待機サーバ170に保存され、実行サーバの状態を管理するテーブルである。その詳細は後記する(図5参照)。次に、待機サーバ170による監視の対象となる各実行サーバにそれぞれ対応したN個の実行サーバ監視スレッドを実行する(ステップS201)。第1の実施の形態では、待機サーバ170において実行サーバを監視するために、各実行サーバに対応した複数のスレッド(プロセスの分割単位)を使用しているが、各実行サーバに対応した複数のプロセス(タスク)を利用してもよい。
(Cluster system processing)
With reference to FIG. 2, the flow of processing of the standby server according to the first embodiment will be described (see FIG. 1 as appropriate). The
図3を参照して、第1の実施の形態に係る実行サーバ管理テーブルの初期化処理の流れについて説明する。これは、図2のステップS200の処理に相当する。待機サーバ170は、まず、実行サーバ管理テーブル500の稼働状態504(図5参照)を全て「停止」に初期化する(ステップS300)。次に、実行サーバ管理テーブル500の回復順序ポインタ505(図5参照)を全てNULLに初期化する(ステップS301)。なお、これらの初期化処理は、後記する実行サーバ監視スレッドが行うようにしてもよい。
With reference to FIG. 3, the flow of the initialization process of the execution server management table according to the first embodiment will be described. This corresponds to the process of step S200 in FIG. The
図4を参照して、第1の実施の形態に係る実行サーバ監視スレッドの処理の流れについて説明する(適宜図1参照)。これは、図2のステップS201の処理に相当する。実行サーバM(M=1〜N)に対応する実行サーバ監視スレッドMは、まず、実行サーバMに接続されたKAパスを使用して実行サーバMの稼働状態を定期的に(所定の時間ごとに)監視する(ステップS400)。実行サーバ監視スレッドMは、稼働状態の監視がタイムアウトになったか否かによって監視対象の実行サーバMの稼働状態を判断する(ステップS401)。ここで、「稼働状態の監視がタイムアウトになった」とは、実行サーバ監視スレッドMがKAパスを介して実行サーバMに応答要求を送信したのに対して、所定のタイムアウト時間が経過しても実行サーバMから応答がなかったことを意味し、換言すれば、実行サーバMが障害によって停止していることを意味する。 With reference to FIG. 4, the flow of processing of the execution server monitoring thread according to the first embodiment will be described (see FIG. 1 as appropriate). This corresponds to the process of step S201 in FIG. The execution server monitoring thread M corresponding to the execution server M (M = 1 to N) first uses the KA path connected to the execution server M to periodically change the operating state of the execution server M (at predetermined time intervals). To monitor) (step S400). The execution server monitoring thread M determines the operation state of the execution server M to be monitored depending on whether the monitoring of the operation state has timed out (step S401). Here, “the monitoring of the operating state has timed out” means that the execution server monitoring thread M has sent a response request to the execution server M via the KA path, whereas a predetermined timeout time has elapsed. Means that there is no response from the execution server M. In other words, it means that the execution server M is stopped due to a failure.
所定のタイムアウト時間以内に稼働状態を取得できた(応答要求に対する応答があった)場合は(ステップS401のN)、図5に示す実行サーバ管理テーブル500における実行サーバMの稼働状態504をチェックする(ステップS410)。実行サーバMの稼働状態504が「停止」の場合は(ステップS410のY)、その稼働状態504を「停止」から「稼働中」に変更する(ステップS411)。そして、実行サーバ監視スレッドMの指示によって、負荷分散装置制御手段171が実行サーバMに対する負荷分散を開始する(ステップS412)。具体的には、まず、負荷分散装置制御手段171が、負荷分散装置100に対して、前記構成リストに実行サーバMを追加するように指示するメッセージを送信する。次に、負荷分散装置100は、その指示のメッセージを受信して、前記構成リストに実行サーバMを追加する。これによって、負荷分散装置100は、実行サーバMにも業務処理を振り分けるようになるので、実行サーバMに対する負荷分散が開始されたことになる。その後、実行サーバ監視スレッドMは、再び実行サーバMの稼働状態を監視する(ステップS400)。実行サーバMの稼働状態504が「停止」でない場合、すなわち、「稼働中」の場合は(ステップS410のN)、再び実行サーバMの稼働状態を監視する(ステップS400)。
If the operating state can be acquired within a predetermined timeout period (the response to the response request is received) (N in step S401), the operating
実行サーバ監視スレッドMは、タイムアウト時間以内に稼働状態を取得できなかった場
合(ステップS401のY)、実行サーバ管理テーブル500における実行サーバMの稼
働状態504が「稼働中」であるか否かをチェックする(ステップS402)。稼働状態
504が「稼働中」でない場合、すなわち、「停止」の場合は(ステップS402のN)
、再び実行サーバMの稼働状態を監視する(ステップS400)。稼働状態504が「稼
働中」の場合は(ステップS402のY)、実行サーバMに接続されたリセットパスを使
用して、実行サーバMのネットワークアダプタ停止やCPUリセットなどのリセット処理
を行う(ステップS420)。次に、実行サーバ監視スレッドMの指示によって、負荷分
散装置制御手段171が、実行サーバMのIPアドレスに対する負荷分散を停止する(ス
テップS421)。
If the execution server monitoring thread M cannot acquire the operation state within the timeout period (Y in step S401), it is determined whether or not the
The operating state of the execution server M is again monitored (step S400). When the
具体的には、まず、負荷分散装置制御手段171が、負荷分散装置100に対して、前記構成リストから実行サーバMのIPアドレスを削除するように指示するメッセージを送信する。次に、負荷分散装置100は、その指示のメッセージを受信して、前記構成リストから実行サーバMのIPアドレスを削除する。これによって、負荷分散装置100は、実行サーバMのIPアドレスに業務処理を振り分けることがなくなるので、実行サーバMのIPアドレスに対する負荷分散が停止されたことになる。これは、別途トランザクションを回復するときに、待機サーバ170が実行サーバMのIPアドレスをテークオーバする(引き継ぐ)ことに起因して、クライアント20からの新たな業務処理要求に対応する業務処理が、負荷分散装置100から待機サーバ170に振り分けられるのを回避するためである。
Specifically, first, the load
続いて、実行サーバ監視スレッドMは、実行サーバ管理テーブル500の稼働状態50
4を検索して、トランザクション「回復中」状態の実行サーバがあるか否かを判断する(
ステップS422)。「回復中」の実行サーバが存在する場合(ステップS422のY)
、実行サーバMの稼働状態504を「稼働中」から「待機中」に変更する(ステップS4
30)。次に、「回復中」状態の実行サーバの回復順序ポインタ505を順に辿り、最初
にNULLを検出した個所に実行サーバMへのポインタを書き込む(ステップS431)
。そして、実行サーバ監視スレッドMは、他の実行サーバ監視スレッドからトランザクシ
ョン回復処理の完了通知が届くまで待機する(ステップS432)。
Subsequently, the execution server monitoring thread M indicates the operating state 50 of the execution server management table 500.
4 is searched to determine whether or not there is an execution server in the transaction “in recovery” state (
Step S422). When there is an execution server “in recovery” (Y in step S422)
The operating
30). Next, the
. Then, the execution server monitoring thread M stands by until a notification of completion of transaction recovery processing is received from another execution server monitoring thread (step S432).
実行サーバ監視スレッドMは、「回復中」の実行サーバが存在しない場合(ステップS
422のN)、または、前記トランザクション回復処理の完了通知を受けた場合(ステッ
プS432の待ちが解除された場合)、実行サーバ管理テーブル500における実行サー
バMの稼働状態504を「稼働中」または「待機中」から「回復中」に変更する(ステッ
プS440)。そして、実行サーバMのIPアドレスをテークオーバ(引き継ぎ)する(
ステップS441)。具体的には、待機サーバ170のLANアダプタ(図示せず)には
固有のIPアドレスが予め設定されているが、そのIPアドレスの別名(alias)として
実行サーバMのIPアドレスを設定する。これによって、待機サーバ170は、仕掛かり
トランザクションを回復するために他の実行サーバから要求される業務処理を、実行サー
バMに代わって実行することができる。
The execution server monitoring thread M determines that there is no “recovering” execution server (step S
422 N), or when the completion notification of the transaction recovery process is received (when the wait in step S432 is released), the
Step S441). Specifically, a unique IP address is set in advance in the LAN adapter (not shown) of the
次に、実行サーバ監視スレッドMは、実行サーバ管理テーブル500における実行サー
バMの共有ディスク装置情報503から当該共有ディスク装置に格納されているトランザ
クションの状態を取得し、トランザクション回復処理手段173に指示することによって
、実行サーバMの仕掛かりトランザクションを回復する(ステップS442)。具体的に
は、トランザクション回復処理手段173が、実行サーバMのトランザクションの状態に
応じて、負荷分散装置100からのトランザクションおよび他の実行サーバからのトラン
ザクションを回復する。
Next, the execution server monitoring thread M acquires the status of the transaction stored in the shared disk device from the shared
負荷分散装置100からのトランザクションを回復するときには、コミットを行うこと
によってトランザクションを完了させたり、ロールバックを行うことによってトランザク
ション前の状態に戻したりする。例えば、そのトランザクションが、業務DB190の更
新が発生するプロセスAを行い、次に、業務DB191の更新が発生するプロセスBを行
うものであるとする。その場合、トランザクションの状態としてプロセスAおよびプロセ
スBが正常終了であったときには、トランザクションを完了させるために業務DB190
および191の更新を行うコミットを行う。また、プロセスAまたはプロセスBが異常終
了であったときには、トランザクション前の状態に戻すために業務DB190および19
1の更新を止めて元に戻すロールバックを行う。
When recovering a transaction from the load balancer 100, the transaction is completed by committing, or returned to the state before the transaction by performing rollback. For example, it is assumed that the transaction performs process A in which the
And commit to update 191. When the process A or the process B is abnormally terminated, the
Roll back to stop the update of 1 and restore it.
一方、実行サーバMは、負荷分散装置100からではなく、他の実行サーバからトラン
ザクションを受けることがある。例えば、他の実行サーバが、負荷分散装置100から受
けたグローバルトランザクションを実行サーバMにブランチすることがある。実行サーバ
Mがそのブランチされたトランザクションを実行中に異常停止すると、その業務処理が中
断する。このような他の実行サーバからブランチされたトランザクションを回復するとき
、待機サーバ170のトランザクション回復処理手段173は、まず、ブランチされた仕
掛かりトランザクションに係る他の実行サーバに対して、トランザクションの回復を行う
ように指示する。これに応じて、他の実行サーバは、ブランチしたトランザクションをど
う決着するかを判断し、前記ブランチしたトランザクションの決着の指示を待機サーバ1
70に対して行う。そして、待機サーバ170のトランザクション回復処理手段173は
、他の実行サーバから受けた指示に従ってトランザクションを決着する。なお、このとき
、他の実行サーバは、ステップS441でテークオーバされた実行サーバMのIPアドレ
スを使用して、待機サーバ170とのやりとりを行うことになる。
On the other hand, the execution server M may receive a transaction from another execution server instead of from the load distribution apparatus 100. For example, another execution server may branch a global transaction received from the load balancer 100 to the execution server M. If the execution server M stops abnormally while executing the branched transaction, the business process is interrupted. When recovering a branched transaction from such another execution server, the transaction
70. Then, the transaction
以上によって、実行サーバMの仕掛かりトランザクションに起因する、他の実行サーバ
における業務処理の中断を回避することができる。特に、グローバルトランザクションの
場合、比較的長いトランザクションタイムアウト値を設定するため、仕掛かりトランザク
ションの回復処理による可用性の向上効果は大きい。
As described above, it is possible to avoid interruption of business processing in another execution server due to an in-process transaction of the execution server M. In particular, in the case of a global transaction, since a relatively long transaction timeout value is set, the effect of improving availability due to the recovery processing of an in-process transaction is great.
実行サーバ監視スレッドMは、当該共有ディスク装置に格納されたトランザクションの
状態を更新した後、テークオーバした実行サーバMのIPアドレスを破棄する(ステップ
S443)。具体的には、ステップS441において別名として設定した実行サーバMの
IPアドレスを、待機サーバ170のLANアダプタの設定からはずす。次に、実行サー
バ管理テーブル500における実行サーバMの稼働状態504を「回復中」から「停止」
に変更する(ステップS444)。そして、実行サーバ監視スレッドMは、実行サーバ管
理テーブル500における実行サーバMの回復順序ポインタ505がNULLか否かをチ
ェックする(ステップS445)。NULLの場合は(ステップS445のY)、再び実
行サーバMの稼働状態を監視する(ステップS460、S400)。NULLでない場合
は(ステップS445のN)、回復順序ポインタ505の指す実行サーバに対応する実行
サーバ監視スレッドにトランザクション回復処理の完了を通知し、その回復順序ポインタ
505をNULLにリセットする(ステップS450)。このトランザクション回復処理
の完了の通知によって、通知先の実行サーバ監視スレッドにおけるステップS432の通
知待ちが解除される。そして、再び実行サーバMの稼働状態を監視する(ステップS46
0、S400)。
The execution server monitoring thread M updates the transaction state stored in the shared disk device, and then discards the IP address of the take-over execution server M (step S443). Specifically, the IP address of the execution server M set as an alias in step S441 is removed from the LAN adapter setting of the
(Step S444). Then, the execution server monitoring thread M checks whether or not the
0, S400).
第1の実施の形態では、複数の実行サーバに同一の業務処理プログラムを配備しているため、ステップS442〜S444によって、実行サーバ160〜162の多重障害が発生したときにおいても、クラスタシステム10を縮退して業務処理を継続することができる。
In the first embodiment, since the same business processing program is deployed on a plurality of execution servers, the cluster system 10 is configured even when multiple failures occur in the
図5を参照して、第1の実施の形態に係る実行サーバ監視スレッドが使用する実行サーバ管理テーブルの構成について説明する。実行サーバ管理テーブル500は、実行サーバを一意に識別する実行サーバ識別子501、実行サーバのLANアダプタに付与するIPアドレス502、トランザクションの状態を格納する共有ディスク装置に関する情報である共有ディスク装置情報503、実行サーバの稼働状態504およびトランザクションの回復順序ポインタ505で構成されるレコードからなるテーブルである。
The configuration of the execution server management table used by the execution server monitoring thread according to the first embodiment will be described with reference to FIG. The execution server management table 500 includes an
稼働状態504には、「停止」、「稼働中」、「回復中」および「待機中」がある。「
停止」は、当該実行サーバが、電源投入後、または、障害発生に対するトランザクション
回復後、まだ業務処理を行う状態になっていないことを示す。「稼働中」は、当該実行サ
ーバが、業務処理を行う状態になっていることを示す。「回復中」は、待機サーバ170
が、当該実行サーバの障害を検出して、トランザクションを回復している状態を示す。「
待機中」は、待機サーバ170が、実行サーバの多重障害が発生したとき、他の実行サー
バのトランザクションを回復中のため、当該実行サーバのトランザクションの回復を待機
させている状態を示す。
The operating
“Stopped” indicates that the execution server is not yet in a state of performing business processing after power-on or after recovery of a transaction for the occurrence of a failure. “In operation” indicates that the execution server is in a state of performing business processing. “Recovering” indicates
Shows a state in which the failure of the execution server is detected and the transaction is recovered. "
“Waiting” indicates a state in which the
回復順序ポインタ505には、実行サーバの多重障害発生時、トランザクションを回復
する順序を示すリストを形成するために、次にトランザクションを回復する実行サーバへ
のポインタを格納する。前記リストの先頭は、稼働状態504が回復中の実行サーバであ
り、前記リストの最後は、前記リストを辿っていったときに初めて回復順序ポインタ50
5がNULLとなる実行サーバである。これによれば、障害が発生した順序に従ってトランザクションを回復するので、二重障害が発生したときのトランザクション回復の整合性を保障することができる。
The
An execution server 5 is NULL. According to this, since the transactions are recovered in the order in which the failures occur, it is possible to guarantee the consistency of transaction recovery when a double failure occurs.
≪第2の実施の形態≫
次に、第1の実施の形態と比較しながら、第2の実施の形態について説明する。図6は、第2の実施の形態に係るスタンバイ型クラスタシステムの構成を示す図である。この構成を第1の実施の形態のシステム構成(図1参照)と比較すると、図1のトランザクション回復処理手段173がトランザクション回復処理手段2(174)に置き換わっている。トランザクション回復処理手段2(174)は、実行サーバが停止した場合、その実行サーバの仕掛かりトランザクションを回復する機能を持つが、さらに、そのトランザクションを回復するためにリソースにアクセスするのに必要な情報を利用する機能を併せ持つ。
<< Second Embodiment >>
Next, the second embodiment will be described in comparison with the first embodiment. FIG. 6 is a diagram illustrating a configuration of a standby cluster system according to the second embodiment. When this configuration is compared with the system configuration of the first embodiment (see FIG. 1), the transaction recovery processing means 173 in FIG. 1 is replaced with the transaction recovery processing means 2 (174). The transaction recovery processing means 2 (174) has a function of recovering the in-process transaction of the execution server when the execution server is stopped, and further, information necessary for accessing the resource to recover the transaction. It also has a function to use.
図7は、第2の実施の形態に係る実行サーバ管理テーブルの構成を示す図である。この構成を第1の実施の形態のテーブル構成(図5参照)と比較すると、リソース接続情報506が追加されている。リソース接続情報506は、実行サーバが接続していたリソースに関する情報であり、待機サーバがそのリソースにアクセスするのに必要な情報である。リソースとは、例えば、DBサーバ180やDBサーバ181である。その場合、リソース接続情報506は、例えば、DBサーバのIPアドレス、ユーザ名、パスワード、データベース名などである。図7では、1つのまとまったリソース接続情報506をRAと表現し、RA1、RA2、RA3のように例示している。仕掛かりトランザクションが2台以上のDBサーバまたは2個以上のDBにわたっているような場合には、実行サーバ1や実行サーバNのレコードに示すように、リソース接続情報506が2つ以上のRAからなる。なお、リソースには、DBサーバの他に、トランザクション処理を実現するTPモニタ(Transaction Processing Monitor)などが考えられる。
FIG. 7 is a diagram illustrating a configuration of an execution server management table according to the second embodiment. When this configuration is compared with the table configuration of the first embodiment (see FIG. 5),
図8は、第2の実施の形態に係る実行サーバ監視スレッドの処理の一部を示すフローチャートである。この処理を第1の実施の形態の処理(図4参照)と比較すると、図4のステップS442がステップS801およびステップS802に置き換わっている。実行サーバ監視スレッドMは、実行サーバMのIPアドレスをテークオーバした(ステップS441)後、実行サーバ管理テーブル510から実行サーバMのリソース構成情報506を取得する(ステップS801)。そして、その取得したリソース構成情報506のトランザクションを回復する(ステップS802)。
FIG. 8 is a flowchart showing a part of processing of the execution server monitoring thread according to the second embodiment. When this process is compared with the process of the first embodiment (see FIG. 4), step S442 in FIG. 4 is replaced with step S801 and step S802. The execution server monitoring thread M takes over the IP address of the execution server M (step S441), and then acquires the
具体的には、リソース構成情報506と、実行サーバ管理テーブル510の共有ディスク装置情報503により当該共有ディスク装置から取得したトランザクションの状態とをトランザクション回復処理手段2(174)に指示することによって、実行サーバMの仕掛かりトランザクションを回復する。このとき、トランザクション回復処理手段2(174)は、実行サーバ監視スレッドMから指示されたリソース構成情報506に従ってDBサーバ180やDBサーバ181にアクセスし、同じく指示されたトランザクションの状態からトランザクションを回復する。その後、回復したトランザクションの状態を更新後、テークオーバしたIPアドレスを破棄する(ステップS443)。なお、以上説明した処理以外については、第1の実施の形態と同様である。
More specifically, the
以上によれば、複数の実行サーバについて、それらのアプリケーションプログラムの種類や取り扱うデータベースの構造などのサーバ構成が一様でなくても、1台の待機サーバが各実行サーバのリソース接続情報を参照することによって、トランザクションの回復を行うことができる。なお、待機サーバが実行サーバの処理を引き継ぐことは行わないので、サーバ構成が一様である必要はない。これによれば、リソース接続情報を用いてリソースにアクセスするので、実行サーバの構成ごとに待機サーバを設ける必要はなく、待機系のコストを抑えることができる。 According to the above, one standby server refers to the resource connection information of each execution server even if the server configuration such as the types of application programs and the structure of the database to be handled is not uniform for a plurality of execution servers. Thus, transaction recovery can be performed. Since the standby server does not take over the processing of the execution server, the server configuration does not have to be uniform. According to this, since the resource is accessed using the resource connection information, it is not necessary to provide a standby server for each configuration of the execution server, and the cost of the standby system can be suppressed.
以上本発明の実施の形態について説明したが、図1に示す負荷分散装置および各サーバ
のそれぞれで実行されるプログラムをコンピュータによる読み取り可能な記録媒体に記録
し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行す
ることにより、本発明の実施の形態に係るクラスタシステムが実現されるものとする。こ
こでいうコンピュータシステムとは、OS(Operating System)などのソフトウエアや周
辺機器などのハードウエアを含むものである。
Although the embodiment of the present invention has been described above, the program executed by each of the load distribution apparatus and each server shown in FIG. 1 is recorded on a computer-readable recording medium, and the program recorded on this recording medium is recorded. It is assumed that the cluster system according to the embodiment of the present invention is realized by being read and executed by a computer system. Here, the computer system includes software such as an OS (Operating System) and hardware such as peripheral devices.
≪その他の実施の形態≫
以上本発明について好適な実施の形態について一例を示したが、本発明は前記実施の形
態に限定されず、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、以下
のような実施の形態が考えられる。
(1)前記実施の形態においては、待機サーバ170が各実行サーバを監視したり、リセ
ットしたりするためにKAパスやリセットパスなどの信号線を使用するように記載したが
、それらの機能をネットワークによって実現してもよい。これによれば、待機サーバ17
0と各実行サーバとの間に信号線を接続する必要がなくなるので、クラスタシステムの構
築コストを節減することができる。
(2)前記実施の形態においては、待機サーバ170が1台で構成されているように記載
したが、待機サーバに1:1スタンバイ構成を適用してもよい。また、現用系の実行サー
バやDBサーバなどのコストと比較して待機系として問題のないコストの範囲内で、複数
の待機サーバを配置してもよい。これによれば、待機サーバの可用性を向上させることが
できる。
<< Other embodiments >>
An example of the preferred embodiment of the present invention has been described above, but the present invention is not limited to the above-described embodiment, and can be changed as appropriate without departing from the spirit of the present invention. For example, the following embodiments can be considered.
(1) In the above-described embodiment, the
Since it is not necessary to connect a signal line between 0 and each execution server, the construction cost of the cluster system can be reduced.
(2) In the above-described embodiment, the
10 クラスタシステム
20 クライアント
30、115 ネットワーク
100 負荷分散装置
110、120 ネットワークセグメント
130、131、132 KAパス
140、141、142 リセットパス
150、151、152 共有ディスク装置
160、161、162 実行サーバ
170 待機サーバ
171 負荷分散装置制御手段
172 フェールオーバ順序制御手段
173 トランザクション回復処理手段
180、181 DBサーバ
190、191 業務DB
506 リソース接続情報
10
506 Resource connection information
Claims (6)
前記負荷分散装置が振り分けた処理要求を受信し、その処理を実行する実行サーバと、
前記実行サーバの障害を検出したとき、その実行サーバのトランザクションを回復する待機サーバと、がネットワーク接続されて構成されるクラスタシステムにおいて、
前記待機サーバが、前記実行サーバごとに、その稼働状態を監視し、障害が発生した実行サーバのトランザクションを回復すると共に、その実行サーバの縮退制御を行うクラスタ制御方法であって、
前記待機サーバは、前記実行サーバごとに、障害発生時のトランザクションの回復順序を制御するために、NULLまたは次にトランザクションを回復する実行サーバへのポインタを設定する回復順序ポインタを備え、
前記待機サーバは、所定の実行サーバに対して処理を行う場合、
初期化処理として、前記実行サーバの回復順序ポインタをNULLにするステップと、
所定の時間ごとに前記実行サーバの稼働状態を監視するステップと、
前記監視の結果として前記実行サーバの障害を検出したとき、前記実行サーバをリセットし、縮退させるステップと、
前記トランザクションを回復する前に、既にトランザクション回復中の実行サーバがある場合、その回復中の実行サーバから前記回復順序ポインタを辿っていったとき、最初にNULLになった回復順序ポインタに当該実行サーバへのポインタを設定するステップと、
その次に、他の実行サーバに対する処理からトランザクションの回復処理完了が通知されるのを待って、トランザクションの回復を開始して、前記実行サーバのトランザクションを回復し、前記トランザクションを回復した後、当該実行サーバの回復順序ポインタがNULLでないとき、その回復順序ポインタが示す実行サーバに対する処理に回復処理完了を通知し、その回復順序ポインタにNULLを設定し、前記稼働状態の監視に戻るステップと、
前記監視の結果として前記実行サーバの正常を検出し、かつ、前記実行サーバが縮退しているとき、前記実行サーバの縮退を解除し、前記稼働状態の監視に戻るステップと、を実行することを特徴とするクラスタ制御方法。 A load balancer that is communicable with a client and distributes processing requests received from the client;
An execution server that receives the processing request distributed by the load balancer and executes the processing;
When a failure of the execution server is detected, a standby server that recovers the transaction of the execution server, and a cluster system configured by network connection,
The standby server is a cluster control method for monitoring the operating state of each execution server, recovering a transaction of the execution server in which a failure has occurred, and performing degeneration control of the execution server,
The standby server includes, for each execution server, a recovery order pointer that sets a pointer to an execution server that recovers NULL or the next transaction in order to control the recovery order of transactions when a failure occurs,
When the standby server performs processing for a predetermined execution server,
As an initialization process, the recovery sequence pointer of the execution server is set to NULL,
Monitoring the operating state of the execution server at predetermined time intervals;
When detecting a failure of the execution server as a result of the monitoring, resetting the execution server and degenerating;
If there is an execution server that is already recovering a transaction before recovering the transaction, when the recovery order pointer is traced from the recovery execution server, the execution server is first set to the recovery order pointer that is NULL. Setting a pointer to
Next, after the completion of the transaction recovery process is notified from the processing for the other execution server, the recovery of the transaction is started, the transaction of the execution server is recovered, the transaction is recovered, When the recovery sequence pointer of the execution server is not NULL, the completion of the recovery processing is notified to the processing for the execution server indicated by the recovery sequence pointer, NULL is set in the recovery sequence pointer, and the process returns to the monitoring of the operation state;
Detecting normality of the execution server as a result of the monitoring, and when the execution server is degenerated, canceling the degeneration of the execution server and returning to the monitoring of the operating state, A featured cluster control method.
前記処理要求を振り分ける実行サーバの構成リストを備え、
前記待機サーバは、所定の実行サーバに対して処理を行う場合、
前記実行サーバを縮退させるとき、前記負荷分散装置に対して前記構成リストから前記実行サーバをはずすことを指示するメッセージを送信し、
前記実行サーバの縮退を解除するとき、前記負荷分散装置に対して前記構成リストに前記実行サーバを追加することを指示するメッセージを送信する
ことを特徴とする請求項1に記載のクラスタ制御方法。 The load balancer is:
A configuration list of execution servers that distribute the processing requests;
When the standby server performs processing for a predetermined execution server,
When degenerating the execution server, send a message instructing the load balancer to remove the execution server from the configuration list;
The cluster control method according to claim 1, wherein when releasing the degeneration of the execution server, a message instructing the load distribution apparatus to add the execution server to the configuration list is transmitted.
前記実行サーバごとに、トランザクションを回復するためにリソースにアクセスするのに必要なリソース接続情報を備え、
所定の実行サーバに対して処理を行う場合、
前記実行サーバが接続していたリソースのリソース接続情報を取得するステップと、
その取得したリソース接続情報を用いてトランザクションを回復するステップと、
を更に実行することを特徴とする請求項1または請求項2に記載のクラスタ制御方法。 The standby server is
Each execution server comprises resource connection information necessary to access a resource to recover a transaction;
When processing for a given execution server,
Obtaining resource connection information of a resource to which the execution server is connected;
Recovering the transaction using the obtained resource connection information;
Furthermore cluster control method according to claim 1 or claim 2, characterized in that to perform.
前記負荷分散装置が振り分けた処理要求を受信し、その処理を実行する実行サーバと、
前記実行サーバの障害を検出したとき、その実行サーバのトランザクションを回復する待機サーバと、
がネットワーク接続されて構成されるクラスタシステムであって、
前記待機サーバは、前記実行サーバごとに、障害発生時のトランザクションの回復順序を制御するために、NULLまたは次にトランザクションを回復する実行サーバへのポインタを設定する回復順序ポインタを備え、
前記待機サーバは、所定の実行サーバに対して処理を行う場合、
初期化処理として、前記実行サーバの回復順序ポインタをNULLにし、
所定の時間ごとに前記実行サーバの稼働状態を監視し、
前記監視の結果として前記実行サーバの障害を検出したとき、前記実行サーバをリセットし、縮退させ、
前記トランザクションを回復する前に、既にトランザクション回復中の実行サーバがある場合、その回復中の実行サーバから前記回復順序ポインタを辿っていったとき、最初にNULLになった回復順序ポインタに当該実行サーバへのポインタを設定し、
その次に、他の実行サーバに対する処理からトランザクションの回復処理完了が通知されるのを待って、トランザクションの回復を開始して、前記実行サーバのトランザクションを回復し、前記トランザクションを回復した後、当該実行サーバの回復順序ポインタがNULLでないとき、その回復順序ポインタが示す実行サーバに対する処理に回復処理完了を通知し、その回復順序ポインタにNULLを設定し、前記稼働状態の監視に戻り、
前記監視の結果として前記実行サーバの正常を検出し、かつ、前記実行サーバが縮退しているとき、前記実行サーバの縮退を解除し、前記稼働状態の監視に戻ることを特徴とするクラスタシステム。 A load balancer that is communicable with a client and distributes processing requests received from the client;
An execution server that receives the processing request distributed by the load balancer and executes the processing;
A standby server that recovers a transaction of the execution server when a failure of the execution server is detected;
Is a cluster system configured by network connection,
The standby server includes, for each execution server, a recovery order pointer that sets a pointer to an execution server that recovers NULL or the next transaction in order to control the recovery order of transactions when a failure occurs,
When the standby server performs processing for a predetermined execution server,
As an initialization process, the execution order pointer of the execution server is set to NULL,
Monitor the operating state of the execution server at predetermined time intervals,
When a failure of the execution server is detected as a result of the monitoring, the execution server is reset, degenerated,
If there is an execution server that is already recovering a transaction before recovering the transaction, when the recovery order pointer is traced from the recovery execution server, the execution server is first set to the recovery order pointer that is NULL. Set a pointer to
Next, after the completion of the transaction recovery process is notified from the processing for the other execution server, the recovery of the transaction is started, the transaction of the execution server is recovered, the transaction is recovered, When the recovery order pointer of the execution server is not NULL, the processing for the execution server indicated by the recovery order pointer is notified of the completion of the recovery process, the recovery order pointer is set to NULL, and the operation status monitoring is returned to.
A cluster system, wherein normality of the execution server is detected as a result of the monitoring, and when the execution server is degenerated, degeneration of the execution server is canceled and the operation state monitoring is resumed.
前記実行サーバごとに、障害発生時のトランザクションの回復順序を制御するために、NULLまたは次にトランザクションを回復する実行サーバへのポインタを設定する回復順序ポインタを備え、
所定の実行サーバに対して処理を行う場合、
初期化処理として、前記実行サーバの回復順序ポインタをNULLにし、
所定の時間ごとに前記実行サーバの稼働状態を監視し、
前記監視の結果として前記実行サーバの障害を検出したとき、前記実行サーバをリセットし、縮退させ、
前記トランザクションを回復する前に、既にトランザクション回復中の実行サーバがある場合、その回復中の実行サーバから前記回復順序ポインタを辿っていったとき、最初にNULLになった回復順序ポインタに当該実行サーバへのポインタを設定し、
その次に、他の実行サーバに対する処理からトランザクションの回復処理完了が通知されるのを待って、トランザクションの回復を開始して、前記実行サーバのトランザクションを回復し、前記トランザクションを回復した後、当該実行サーバの回復順序ポインタがNULLでないとき、その回復順序ポインタが示す実行サーバに対する処理に回復処理完了を通知し、その回復順序ポインタにNULLを設定し、前記稼働状態の監視に戻り、
前記監視の結果として前記実行サーバの正常を検出し、かつ、前記実行サーバが縮退しているとき、前記実行サーバの縮退を解除し、前記稼働状態の監視に戻ることを特徴とする待機サーバ。
It is a standby server that receives a processing request received and distributed from a client by a load balancer, is connected to an execution server that executes the processing, and recovers a transaction of the execution server when a failure of the execution server is detected. And
For each execution server, in order to control the recovery order of transactions when a failure occurs, a recovery order pointer that sets a pointer to the execution server that recovers NULL or the next transaction is provided,
When processing for a given execution server,
As an initialization process, the execution order pointer of the execution server is set to NULL,
Monitor the operating state of the execution server at predetermined time intervals,
When a failure of the execution server is detected as a result of the monitoring, the execution server is reset, degenerated,
If there is an execution server that is already recovering a transaction before recovering the transaction, when the recovery order pointer is traced from the recovery execution server, the execution server is first set to the recovery order pointer that is NULL. Set a pointer to
Next, after the completion of the transaction recovery process is notified from the processing for the other execution server, the recovery of the transaction is started, the transaction of the execution server is recovered, the transaction is recovered, When the recovery order pointer of the execution server is not NULL, the processing for the execution server indicated by the recovery order pointer is notified of the completion of the recovery process, the recovery order pointer is set to NULL, and the operation status monitoring is returned to.
A standby server which detects normality of the execution server as a result of the monitoring and releases the degeneration of the execution server and returns to the monitoring of the operating state when the execution server is degenerated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005129559A JP4520899B2 (en) | 2004-04-27 | 2005-04-27 | Cluster control method, cluster control program, cluster system, and standby server |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004131071 | 2004-04-27 | ||
JP2005129559A JP4520899B2 (en) | 2004-04-27 | 2005-04-27 | Cluster control method, cluster control program, cluster system, and standby server |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005339525A JP2005339525A (en) | 2005-12-08 |
JP4520899B2 true JP4520899B2 (en) | 2010-08-11 |
Family
ID=35492976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005129559A Expired - Fee Related JP4520899B2 (en) | 2004-04-27 | 2005-04-27 | Cluster control method, cluster control program, cluster system, and standby server |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4520899B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007226400A (en) * | 2006-02-22 | 2007-09-06 | Hitachi Ltd | Computer management method, computer management program, stand-by server for managing configuration of execution server, and computer system |
JP2010176472A (en) * | 2009-01-30 | 2010-08-12 | Nec Corp | System and method for providing service and program |
US9069617B2 (en) * | 2011-09-27 | 2015-06-30 | Oracle International Corporation | System and method for intelligent GUI navigation and property sheets in a traffic director environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11184825A (en) * | 1997-12-19 | 1999-07-09 | Mitsubishi Electric Corp | Cluster system |
JP2002163241A (en) * | 2000-11-29 | 2002-06-07 | Ntt Data Corp | Client server system |
-
2005
- 2005-04-27 JP JP2005129559A patent/JP4520899B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11184825A (en) * | 1997-12-19 | 1999-07-09 | Mitsubishi Electric Corp | Cluster system |
JP2002163241A (en) * | 2000-11-29 | 2002-06-07 | Ntt Data Corp | Client server system |
Also Published As
Publication number | Publication date |
---|---|
JP2005339525A (en) | 2005-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713362B2 (en) | Obviation of recovery of data store consistency for application I/O errors | |
US6952766B2 (en) | Automated node restart in clustered computer system | |
US7234075B2 (en) | Distributed failover aware storage area network backup of application data in an active-N high availability cluster | |
US8037367B1 (en) | Method and system for providing high availability to computer applications | |
US6996502B2 (en) | Remote enterprise management of high availability systems | |
EP1451687B1 (en) | Real composite objects for providing high availability of resources on networked systems | |
US7246256B2 (en) | Managing failover of J2EE compliant middleware in a high availability system | |
JP2007226400A (en) | Computer management method, computer management program, stand-by server for managing configuration of execution server, and computer system | |
US20070083641A1 (en) | Using a standby data storage system to detect the health of a cluster of data storage servers | |
US20120179798A1 (en) | Autonomous primary node election within a virtual input/output server cluster | |
EP2805239A1 (en) | Systems and methods for server cluster application virtualization | |
US11995100B2 (en) | System and method for highly available database service | |
US11550820B2 (en) | System and method for partition-scoped snapshot creation in a distributed data computing environment | |
JP2009025965A (en) | Computer system and method for autonomously changing succession destination in fail-over | |
JP2012173996A (en) | Cluster system, cluster management method and cluster management program | |
JP2007156679A (en) | Failure recovery method for server, and database system | |
US7401256B2 (en) | System and method for highly available data processing in cluster system | |
US20240036997A1 (en) | Methods and systems to improve input/output (i/o) resumption time during a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US11119872B1 (en) | Log management for a multi-node data processing system | |
US8683154B2 (en) | Computer system and system control method | |
JP4520899B2 (en) | Cluster control method, cluster control program, cluster system, and standby server | |
US20200319918A1 (en) | Transferral Of Process State And/Or Components In Computing Environments | |
US20050044193A1 (en) | Method, system, and program for dual agent processes and dual active server processes | |
US12019873B2 (en) | Methods and systems to improve resumption time of input/output (I/O) operations based on prefetching of configuration data and early abort of conflicting workflows during a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system | |
US20240036996A1 (en) | Methods and systems to improve input/output (i/o) resumption time by batching multiple non-conflicting operations during a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090928 |
|
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: 20100518 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100521 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4520899 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |