JP5012850B2 - Exclusive control method for clustered computer system - Google Patents

Exclusive control method for clustered computer system Download PDF

Info

Publication number
JP5012850B2
JP5012850B2 JP2009122653A JP2009122653A JP5012850B2 JP 5012850 B2 JP5012850 B2 JP 5012850B2 JP 2009122653 A JP2009122653 A JP 2009122653A JP 2009122653 A JP2009122653 A JP 2009122653A JP 5012850 B2 JP5012850 B2 JP 5012850B2
Authority
JP
Japan
Prior art keywords
reset
computer
priority
exclusive control
control method
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
Application number
JP2009122653A
Other languages
Japanese (ja)
Other versions
JP2009181597A (en
Inventor
恒彦 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009122653A priority Critical patent/JP5012850B2/en
Publication of JP2009181597A publication Critical patent/JP2009181597A/en
Application granted granted Critical
Publication of JP5012850B2 publication Critical patent/JP5012850B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明はアプリケーションシステムを構築する障害許容性のあるコンピュータシステムに関し、特にアプリケーションを実行中であるコンピュータのプログラムもしくはオペレーティングシステムに障害があった時に、その実行中のアプリケーションを別のコンピュータに引き継がせる系切替機能を有するプログラムを持つコンピュータシステムに関する。   The present invention relates to a fault-tolerant computer system for constructing an application system, and in particular, when a computer program or operating system that is executing an application has a fault, a system that allows the running application to be transferred to another computer. The present invention relates to a computer system having a program having a switching function.

高信頼性を必要とするコンピュータシステムでは、処理(アプリケーション)を実行する現用系コンピュータと、現用系に障害が発生した際に処理を引き継ぐ予備系コンピュータとを含む構成をとる。現用系で発生した障害の検出から予備系に処理を引き継ぐ手続きはクラスタプログラムによって提供される。さらに、アプリケーションがディスク上のデータを利用する場合には、ディスクは現用系と予備系との間で共有される構成をとる。現用系障害時に予備系が処理を引き継ぐためには、クラスタを構成するコンピュータから予備系となるコンピュータを決定することと、アプリケーションやオペレーティングシステム(OS)が使用している資源のうち、同時に利用することのできない資源(共有リソース)、例えば、共有ディスクやIPアドレスを引き継ぐことが必要となる。さらに、予備系が現用系の障害を監視するパスが遮断される障害(ネットワークスプリット)が生じた場合であっても、現用系と予備系が同時に共有リソースを利用しないように保証することが、さらなる高信頼性を実現するためには必要である。   A computer system that requires high reliability has a configuration including an active computer that executes a process (application) and a standby computer that takes over the process when a failure occurs in the active system. A procedure for taking over the processing from the detection of a failure occurring in the active system to the standby system is provided by the cluster program. Further, when the application uses data on the disk, the disk is configured to be shared between the active system and the standby system. In order for the standby system to take over processing in the event of a failure in the active system, determine the computer that will be the standby system from the computers that make up the cluster, and simultaneously use the resources used by the application and operating system (OS). It is necessary to take over resources that cannot be used (shared resources), for example, shared disks and IP addresses. Furthermore, even if a failure (network split) occurs that interrupts the path where the standby system monitors the failure of the active system, it is guaranteed that the active system and the standby system do not use shared resources at the same time. It is necessary to achieve higher reliability.

クラスタ構成において、共有ディスクを排他的に引き継ぐことで、処理を引き継ぐ予備系を決定する方法が多くのクラスタプログラムで行われており、その例として、文献1と特許文献2がある。特許文献1では、予備系から現用系を停止させるための機構を利用し、予備系が現用系をリセットすることによって、現用系が所有する共有リソースを解放させ、予備系が解放された共有リソースを所有することで、共有リソースを排他制御する技術が記載される。   In a cluster configuration, a method for determining a standby system to take over processing by taking over a shared disk exclusively is performed by many cluster programs. Examples of such methods include Document 1 and Patent Document 2. In Patent Document 1, a shared resource is released by using a mechanism for stopping the active system from the standby system, so that the standby system resets the active system to release the shared resources owned by the active system. A technology for exclusive control of a shared resource by owning a resource is described.

次に、非特許文献1では、現用系で障害が発生し、系切替を行なう場合に、クラスタプログラムがSCSIコマンドのRESERVEとRESETとを利用し、共有ディスクへのアクセス権限を排他制御する技術が記載される。ここで、RESERVEはディスクへのアクセス権限を予約するコマンドであり、ある計算機によってRESERVE予約されたディスクは他の計算機からのアクセスとRESERVEを拒否するコマンドである。一方、RESETは、ディスクのアクセス権限を解放するコマンドであり、RESERVEされたディスクのアクセス権限を解放するコマンドである。   Next, Non-Patent Document 1 discloses a technique in which a cluster program uses the SCSI commands RESERVE and RESET to exclusively control access authority to a shared disk when a failure occurs in the active system and the system is switched. be written. Here, RESERVE is a command for reserving access authority to a disk, and a disk reserved for RESERVE by a computer is a command for denying access and RESERVE from other computers. On the other hand, RESET is a command for releasing the access authority of the disk, and a command for releasing the access authority of the reserved disk.

特開平10−207855号公報 共有ディスク型多重系システムJP 10-207855 A Shared disk type multiplex system

マイクロソフト社 サポート技術情報 309186Microsoft support technical information 309186

特許文献1では、クラスタ構成のコンピュータシステムにおいて、予備系は、現用系の監視が出来なくなった場合には、現用系を停止させることで、共有リソースの排他制御を実現している。しかし、お互いが相手の予備系であるような2台からなるクラスタにおいて、ネットワークスプリット時が生じた場合には、互いに相手の系をリセットしようとするため、全ての系がリセットされてしまう可能性がある。従って、ネットワークスプリット時には処理が中断してしまい、高可用性が実現できないという問題がある。   In Patent Document 1, in a cluster-structured computer system, when the active system can no longer be monitored, the active system is stopped to realize exclusive control of the shared resource. However, in a two-cluster cluster where each other is the other's standby system, if a network split occurs, all the other systems may be reset because they try to reset each other's system. There is. Therefore, there is a problem that processing is interrupted at the time of network split, and high availability cannot be realized.

また、予備系は現用系をリセットするが、現用系が予備系をリセットすることはない。従って、現用系とそれを引き継ぐ予備系2台(予備系1、予備系2)から構成されるクラスタを考えた場合、ネットワークスプリットにより、現用系と予備系1からなる2台のクラスタと、予備系2とに分離するようなケースにおいては、予備系2は、現用系をリセットし、系切替を行なう。一方で、予備系1も、予備系2により現用系がリセットされたことで、現用系の障害を検知し、系切替を実行してしまう。そのため、予備系1と予備系2が同時に現用系になり、共有リソースの二重アクセスが生じてしまうという問題がある。   The standby system resets the active system, but the active system does not reset the standby system. Therefore, when considering a cluster composed of a working system and two standby systems (standby system 1 and standby system 2) that take over it, two clusters consisting of the active system and the standby system 1 and In a case where the system 2 is separated from the system 2, the standby system 2 resets the active system and performs system switching. On the other hand, when the active system is reset by the standby system 2, the standby system 1 also detects a failure of the active system and executes system switching. Therefore, there is a problem that the standby system 1 and the standby system 2 become the active system at the same time, and double access of the shared resource occurs.

また、非特許文献1では、クラスタ構成のコンピュータシステムにおいて、予備系は、現用系の監視が出来なくなった場合には、共有ディスクに対する現用系の制御権をSCSIコマンドのRESETにより強制的に解放させる処理と、その後、任意の予備系がSCSIのRESERVEコマンドを発行することで解放された共有ディスクの制御権を獲得する処理とからなり、この二つの処理によって、共有ディスクを引継ぐ系、すなわち、処理を引き継ぐ系が決定する。ここで、後者のRESERVEによる処理が、前者のRESETによる処理によって無効化されてしまうと、一度、ある予備系がRESERVEによって引継ぎが行なわれた処理を、別の予備系が引き継ぎ直すという過剰な系切り替えが生じてしまうため、これを防ぐために、前者のRESETによる処理から、後者のRESERVEによる処理が行なわれるまでの間は、全ての予備系がRESETコマンドを発行し終えることが保証できるために十分な時間が必要となる。従って、ネットワークスプリットが実際に起きているかどうかに関わらず、系切替時間が一定時間遅延してしまう問題がある。   Further, in Non-Patent Document 1, in a computer system having a cluster configuration, when the active system cannot be monitored, the standby system forcibly releases the control right of the active system for the shared disk by the SCSI command RESET. Processing, and after that, any standby system issues a SCSI RESERVE command to acquire the control right of the shared disk that has been released. By these two processes, the system that takes over the shared disk, that is, processing The system to take over is determined. Here, if the latter processing by RESERVE is invalidated by the former processing by RESET, an excessive system in which one standby system takes over the processing once taken over by RESERVE. In order to prevent this from happening, switching is sufficient to guarantee that all standby systems have finished issuing the RESET command between the former RESET processing and the latter RESERVE processing. Time is required. Therefore, there is a problem that the system switching time is delayed for a fixed time regardless of whether or not a network split actually occurs.

また、この方式では、ネットワークスプリットが生じた場合であっても、系切り替えを行なうことが可能であるが、共有ディスク以外の共有リソースの引継ぎに、例えばIPアドレスの引継ぎを行なうためにさらなる処理が必要であり、系切り替えが完了するまでに要する時間が増大し、系切り替え時間が遅くなる問題がある。   In this method, even if a network split occurs, system switching can be performed, but further processing is required for taking over shared resources other than shared disks, for example, taking over IP addresses. There is a problem that the time required for completing the system switching increases and the system switching time is delayed.

本発明は、現用/待機系コンピュータを含む高可用性コンピュータシステムであって、現用/待機系が少なくとも一つのリソースを共有し、各コンピュータ間が互いの障害を監視するためのハートビートパスと、互いの系を停止させるためのリセットパスとを兼ね備えているコンピュータシステムにおいて、系切替を実現する機能を提供する。たとえば、共有されるリソースは、ディスク装置である。   The present invention is a high availability computer system including a working / standby computer, wherein the working / standby system shares at least one resource, and each computer monitors each other's faults, and a mutual heartbeat path. In a computer system having a reset path for stopping the system, a function for realizing system switching is provided. For example, the shared resource is a disk device.

本発明では、各コンピュータが他系をリセットするためのリセット命令を発行する順番を決定するための指標(リセット優先度)を有する。リセット優先度は、コンピュータシステム内で一意に決定される値からなる。たとえば、各系のコンピュータのIPアドレスの順に優先度が定まる。現用系以外のクラスタ内の各コンピュータは、現用系コンピュータが監視できなくなるような障害が発生した場合に、それぞれ自己のコンピュータのリセット優先度に基づいてリセット発行までの遅延時間をタイマに設定する。   The present invention has an index (reset priority) for determining the order in which each computer issues a reset command for resetting another system. The reset priority is a value uniquely determined in the computer system. For example, the priority is determined in the order of the IP address of each computer. Each computer in the cluster other than the active system sets a delay time until reset issuance in the timer based on the reset priority of its own computer when a failure occurs that makes it impossible for the active computer to monitor.

タイマが設定されたリセット遅延時間の経過を検出した場合、その系は、障害となった現用系(障害系)にリセットを発行する。各系に設定されるリセット遅延時間は、各系が同時にリセットを行うことが生じない時間差を持つ。たとえば、各系のリセット遅延時間の間に、リセットを実行し、リセットが成功あるいは失敗したことが確定するまでに生じる一定の時間差を用いるのが好ましい。   When detecting the elapse of the reset delay time set by the timer, the system issues a reset to the active system (failed system) that has failed. The reset delay time set for each system has a time difference at which each system does not reset at the same time. For example, during the reset delay time of each system, it is preferable to perform a reset and use a certain time difference that occurs until it is determined that the reset has succeeded or failed.

つぎに、ある系によって障害系のリセットが行われると、障害系の動作を停止させ、共有リソースの使用を終了させる。この動作の停止処理は、たとえば、電源オフであったり、あるいは、OSのシャットダウンであったりしてもよい。さらに、リセットを発行した系(リセット系)は、障害系のリセットをその他の系に対して通知する。この障害系のリセット通知を受けた系は、その障害系に対するリセットタイマを停止させる。このようにして、同じマシンに対して、リセットが複数回行われることを防ぐ。   Next, when the faulty system is reset by a certain system, the operation of the faulty system is stopped and the use of the shared resource is terminated. This operation stop processing may be, for example, power off or OS shutdown. Furthermore, the system that issued the reset (reset system) notifies the other system of the reset of the faulty system. The system that has received the reset notification of the faulty system stops the reset timer for the faulty system. In this way, the same machine is prevented from being reset multiple times.

障害系がリセットされた後、障害系の処理を引き継ぐ予備系が共有リソースを引き継ぎ、障害系で行なわれていた処理を引き継ぐ。ここで、予備系コンピュータの決定は、障害系をリセットしたリセット系が行なう方式でもよいし、リセット系が別のコンピュータに通知を行い、そのコンピュータが行なう方式でもよい。   After the faulty system is reset, the standby system that takes over the processing of the faulty system takes over the shared resource and takes over the processing performed in the faulty system. Here, the determination of the standby computer may be performed by a reset system that resets the fault system, or may be performed by the reset system notifying another computer.

このようにして、クラスタ構成のコンピュータシステムにおいて、正常に動作している系があれば、その系のうち、最上位のリセット優先度を有する系によって、必ず障害系がリセットされ、さらに、障害系の処理を引き継ぐべき予備系も、リセット系を含め必ず一つ存在することになるため、予備系に系切り替えされることで処理が引継がれる高可用性システムが実現される。   In this way, in a clustered computer system, if there is a normally operating system, the faulty system is always reset by the system having the highest reset priority among the systems. Since there is always one standby system that should take over the process, including the reset system, a high availability system is realized in which the process is taken over by switching over to the standby system.

本発明の実施例において、系切替が行なわれる場合におけるクラスタ構成のコンピュータシステムモデルの高位のシステムブロック図である。In the Example of this invention, it is a high-level system block diagram of the computer system model of a cluster structure in case system switching is performed. 本発明の実施例において、クラスタプログラムが管理するクラスタ状態管理表の構成を示した図である。In the Example of this invention, it is the figure which showed the structure of the cluster state management table which a cluster program manages. 本発明の実施例において、クラスタプログラムが他系の監視時に行なう処理を説明した処理フロー図である。In the Example of this invention, it is a processing flowchart explaining the process which a cluster program performs at the time of monitoring of another system. 本発明の実施例において、クラスタプログラムが系切替を行なう処理を説明した処理フロー図である。In the Example of this invention, it is a processing flowchart explaining the process in which a cluster program performs system switching. 本発明の実施例において、クラスタプログラムがリセットを行う優先度を定義する優先度定義の構成を示した図である。In the Example of this invention, it is the figure which showed the structure of the priority definition which defines the priority which a cluster program resets. 本発明の実施例において、クラスタプログラムがリセットを行うタイミングについて説明したシーケンス図である。In the Example of this invention, it is a sequence diagram explaining the timing which a cluster program resets.

本発明に関する図と説明は、本発明を鮮明に理解するのに適当な要素を示すために簡単化されており、発明を実施するのに支障ない範囲で既知の要素等は省略していることを理解されたい。本技術中で従来技術の中には、本発明を実装するために他の要素が望ましく、かつ/または、必要とされると思われるものが幾つかある。しかし、技術中のこれらの要素は既知であり、本発明の理解を容易にするものではないので、ここでは説明しない。以下では、添付の図に関して詳細に説明していく。   The drawings and descriptions relating to the present invention have been simplified to show appropriate elements for a clear understanding of the present invention, and known elements have been omitted so far as they do not hinder the practice of the invention. I want you to understand. Some of the prior art in the art may have other elements desirable and / or required to implement the present invention. However, these elements in the art are known and will not be described here as they do not facilitate understanding of the present invention. The following is a detailed description with reference to the accompanying drawings.

図1・図2は、本発明における現用/予備系コンピュータのシステムブロックを簡易に示したものである。説明を分かりやすくするために、各プログラムのラベルとして4桁の数字を用いている。また、数字は現用系コンピュータと待機系コンピュータは同一のプログラムに対して同じ下3桁の数字を用い、千の位は現用系コンピュータ(系A)で1を、予備系コンピュータ(系B、系C)ではそれぞれ2、3で表している。以下では、先に各プログラムについて説明する。この説明では、各コンピュータのプログラムは現用系コンピュータ上のプログラム番号で説明しているが、待機系コンピュータ上の対応したプログラムの説明も兼ねる。さらに、以降の図2において同様の番号を用いているものがあるが、それらについては特に説明がない場合、図1の説明と同様である。   FIGS. 1 and 2 simply show the system blocks of the working / standby computer in the present invention. For ease of explanation, a 4-digit number is used as the label for each program. The numbers of the active computer and standby computer use the same last three digits for the same program, and the thousands are 1 for the active computer (system A) and the standby computer (system B, system). In (C), they are represented by 2, 3 respectively. Below, each program is demonstrated previously. In this description, the program of each computer is described by the program number on the active computer, but it also serves as the description of the corresponding program on the standby computer. Further, in FIG. 2, the same numbers are used in the following, but these are the same as those in FIG. 1 unless otherwise described.

図1では、系Aは、外部との通信を送受信するための装置として、ネットワークアダプタ(NIC)1103、1104、1105と、リセット部1106とを持つ。また、ソフトウェアプログラムとして、オペレーティングシステム(OS)1105、アプリケーション1102、クラスタプログラム1110を持つ。NIC1103は、アプリケーション1102が外部と通信するために用いられ、NIC1104はクラスタプログラム1110がお互いの系の監視するための通信に用いられ、NIC1105は、クラスタプログラム1110が他系をリセットするために用いられる。ここで、NIC1103と1104は理解のために別としたが、同一であっても良い。   In FIG. 1, the system A has network adapters (NICs) 1103, 1104, 1105 and a reset unit 1106 as devices for transmitting and receiving communications with the outside. The software program includes an operating system (OS) 1105, an application 1102, and a cluster program 1110. The NIC 1103 is used for the application 1102 to communicate with the outside, the NIC 1104 is used for communication for the cluster program 1110 to monitor each other system, and the NIC 1105 is used for the cluster program 1110 to reset the other system. . Here, NICs 1103 and 1104 are separated for understanding, but may be the same.

次に、リセット部1106は、他系のクラスタプログラム1210、1310からのリセットを受け、系Aを停止させる機能を持つ。この系の停止機能として、例えば、OS1105に対して、強制停止を行うことで実現する。クラスタプログラム1110は、3つのモジュールを有する。以降、クラスタプログラムの説明のため、図2を用いて、説明する。   Next, the reset unit 1106 has a function of receiving a reset from the other cluster programs 1210 and 1310 and stopping the system A. This system stop function is realized by forcibly stopping the OS 1105, for example. The cluster program 1110 has three modules. Hereinafter, the cluster program will be described with reference to FIG.

(1)監視部1111は、自系のアプリケーション1102が正常動作するか監視する機能と、通信部1112を介して、他系のクラスタプログラム1210、1310の状態を監視する機能とをもつ。
(2)通信部1102は、前記NIC1104を介して、他系のクラスタプログラム1210、1310と通信する機能と、系切替部1113からの要求によって他系のリセット部1206、1306に対してリセット指示を行う通信機能とをもつ。
(1) The monitoring unit 1111 has a function of monitoring whether the own-system application 1102 operates normally, and a function of monitoring the status of the other-system cluster programs 1210 and 1310 via the communication unit 1112.
(2) The communication unit 1102 communicates with the other system cluster programs 1210 and 1310 via the NIC 1104, and issues a reset instruction to the other system reset units 1206 and 1306 in response to a request from the system switching unit 1113. It has a communication function to perform.

(3)系切替部1113は、前記監視部1111によって得られた各系の状態に基づいて、障害が生じている系に対して前期通信部1112を介してリセットを指示する機能と、リセットが成功した場合に、前記通信部1112を用いて他系のクラスタプログラム1210、1310に障害系のリセット成功を通知する機能を持つ。さらに、他系のクラスタプログラム1210、1310から障害系のリセット成功を通知された場合に、自系が障害系の処理を引き継ぐ必要がある予備系である場合には、障害系の処理を引き継ぐ機能とを有する。クラスタプログラム1110、1210、1310のより詳細な処理については、図3を用いて後述する。   (3) Based on the status of each system obtained by the monitoring unit 1111, the system switching unit 1113 has a function for instructing the system in which a failure has occurred via the previous communication unit 1112 and a reset. When successful, the communication unit 1112 is used to notify the other cluster programs 1210 and 1310 of the successful reset of the faulty system. In addition, when the failure of resetting the faulty system is notified from the cluster program 1210 or 1310 of another system, if the local system is a standby system that needs to take over the faulty system processing, it can take over the faulty system processing. And have. More detailed processing of the cluster programs 1110, 1210, and 1310 will be described later with reference to FIG.

さらに、前記系切替部1113は、クラスタの状態を管理するためのクラスタ状態管理表1114を持つ。図2は、本発明によるクラスタ状態管理表を表したものである。図2では、クラスタ状態管理表は、5つの情報を有する。
(1)各系を一意に識別するための系識別子21と、
(2)前記監視部1111によって監視された状態を表す系状態22、
(3)各系がリセットを発行する順序を表すリセット優先度23、
(4)他系をリセットする場合に、そのリセット指示の通信先となる他系のリセット部1206、1306を識別するためのリセット先識別子24、
(5)各系のリセットをどのタイミングで指示するかを表すリセットタイマ25である。
Further, the system switching unit 1113 has a cluster state management table 1114 for managing the state of the cluster. FIG. 2 shows a cluster state management table according to the present invention. In FIG. 2, the cluster state management table has five pieces of information.
(1) a system identifier 21 for uniquely identifying each system;
(2) a system state 22 representing a state monitored by the monitoring unit 1111;
(3) Reset priority 23 indicating the order in which each system issues resets,
(4) When resetting the other system, a reset destination identifier 24 for identifying the reset unit 1206, 1306 of the other system that is the communication destination of the reset instruction,
(5) A reset timer 25 that indicates at which timing the reset of each system is instructed.

ここで、リセットタイマ25には、障害系が検出されてから自系が障害系に対してリセットを発行するまでの遅延時間(リセット遅延時間)が格納される。ある障害が発生し、それにより例えば系C及のハートビート検出が不可能になった場合、各系にて各々のタイマに設定されるリセット遅延時間は差を有する。つまり、複数の系でそれぞれトリガされるリセット指示の発行タイミングが時間間隔を有するように、各系それぞれ個別のリセット遅延時間が格納される。実施例では、具体的には前記リセット優先度23に基づいた順番で、リセットが行われるように各系個別のリセット遅延時間が格納される。   Here, the reset timer 25 stores a delay time (reset delay time) from when the fault system is detected until the own system issues a reset to the fault system. When a certain failure occurs and, for example, the heartbeat detection of the system C and the system becomes impossible, the reset delay time set for each timer in each system has a difference. That is, the individual reset delay time is stored for each system so that the issuing timing of the reset instruction triggered by each of the plurality of systems has a time interval. In the embodiment, specifically, the reset delay time for each system is stored so that the reset is performed in the order based on the reset priority 23.

たとえば、自系より優先度が一つ高い系がリセットを指示し、リセットが行われることが保証される一定以上の時間差であれば、リセット優先度23に則ったリセットが行われることが保証できる。したがって、各系のタイマに設定されるリセット遅延時間は、各系に設定されたリセット優先度に応じて、システムハードウエアに即した系ごとの時間差を有するように設定すれば良い。リセット間隔定義1116、1216、1316はこの時間差の情報を保持するものである。また別の方法では、このリセット間隔定義1116、1216、1316に対しそれぞれ直接その系のリセット遅延時間をユーザが設定するようにしても良い。   For example, if a system with one priority higher than its own system gives a reset instruction and the time difference is more than a certain level that guarantees that the reset will be performed, it can be guaranteed that the reset will be performed according to the reset priority 23 . Therefore, the reset delay time set in each system timer may be set to have a time difference for each system in accordance with the system hardware in accordance with the reset priority set in each system. The reset interval definitions 1116, 1216, and 1316 hold information on this time difference. In another method, the reset delay time of the system may be directly set by the user for each of the reset interval definitions 1116, 1216, and 1316.

また、リセット優先度23は、クラスタを構成する全ての系で、重複がなく、一意に定まる値を用いればよい。例えば、ユーザが静的に与える場合には、クラスタプログラム1110に対して、優先度定義1115で与える方法がある。図5は、優先度定義1115を示したものである。優先度定義1115には、系識別子51とリセット優先度52が含まれる。前記系識別子51は、前記系識別子21と同一の値であっても良いし、一意に前記計識別子21に対応する値であれば良い。   Further, the reset priority 23 may be a value that is uniquely determined and does not overlap in all systems constituting the cluster. For example, when the user gives statically, there is a method of giving the cluster program 1110 with the priority definition 1115. FIG. 5 shows the priority definition 1115. The priority definition 1115 includes a system identifier 51 and a reset priority 52. The system identifier 51 may be the same value as the system identifier 21, or may be a value uniquely corresponding to the total identifier 21.

また、前記リセット優先度52も、前記リセット優先度識別子23と同一の値であっても良いし、前記リセット優先度52を用いて、前記リセット優先度23を一意に決定する値であれば良い。例えば、IPアドレスをリセット優先度52に用いた場合には、その大小関係を用いることで、リセット優先度23が一意に定まる。また、ユーザが前期優先度定義1115によって静的に与える以外に、クラスタプログラムが動的に定める方法を用いても良く、この場合も、前記優先度定義1115に含まれる情報を用いても良い。   Also, the reset priority 52 may be the same value as the reset priority identifier 23, or any value that uniquely determines the reset priority 23 using the reset priority 52. . For example, when the IP address is used as the reset priority 52, the reset priority 23 is uniquely determined by using the magnitude relationship. Further, in addition to the static assignment given by the prior term priority definition 1115 by the user, a method dynamically determined by the cluster program may be used. In this case, the information included in the priority definition 1115 may be used.

さらに、状態管理表1114における系の追加削除は次のように行なわれる。まず、クラスタプログラム1110が前記監視部1111によって、新たな系のクラスタプログラムとの監視を開始したことを契機として、新たな系が表に加えられる。一方、クラスタプログラム1110が前記系切替部1113によって、障害系をリセットした場合、あるいは、他系のクラスタプログラムがクラスタプログラム1110に対して、障害系をリセットしたことを通知してきた場合に、障害系の削除が行なわれる。   Furthermore, addition and deletion of systems in the state management table 1114 are performed as follows. First, when the cluster program 1110 starts monitoring the new cluster program by the monitoring unit 1111, a new system is added to the table. On the other hand, when the cluster program 1110 resets the failed system by the system switching unit 1113, or when another cluster program notifies the cluster program 1110 that the failed system has been reset, Is deleted.

本実施例では、説明を容易にするために、系切替部1113が一つのクラスタ状態管理表1114を持つ例を示しているが、クラスタ状態管理表に含まれる各情報21〜25は、幾つかの表に分割して管理してもよいし、さらには、系切替部以外のクラスタプログラム内にあっても良い。図3、図4は、本発明によるクラスタプログラムの処理のフローを表しており、図3は、監視部1111を中心とした系の障害監視動作を、図4は系切替部1113を中心とした系切り替え動作を表している。以下、図1、図2と対応づけながら、詳細に説明する。   In the present embodiment, for ease of explanation, an example in which the system switching unit 1113 has one cluster state management table 1114 is shown, but there are some pieces of information 21 to 25 included in the cluster state management table. The table may be divided and managed, or may be in a cluster program other than the system switching unit. 3 and 4 show the processing flow of the cluster program according to the present invention. FIG. 3 shows a system fault monitoring operation centered on the monitoring unit 1111. FIG. 4 shows the system switching unit 1113. This represents a system switching operation. Hereinafter, it will be described in detail with reference to FIGS.

まず、クラスタプログラム1110は実行されると、互いの系の障害を監視する。まず、前記監視部1111が定期的に前記通信部1112を介して、他のクラスタプログラム1210、1310と通信することで、他系の系監視を行なう。ステップ31によって得られた各系の状態は、前記状態管理表1114中の系識別子21に対応する系状態22に登録される(ステップ301)。   First, when the cluster program 1110 is executed, it monitors each other's faults. First, the monitoring unit 1111 periodically communicates with other cluster programs 1210 and 1310 via the communication unit 1112 to monitor the other system. The state of each system obtained in step 31 is registered in the system state 22 corresponding to the system identifier 21 in the state management table 1114 (step 301).

次に、前記ステップ301によって得られた各系の系状態22を参照することで、障害の発生した系(障害系)が存在するかどうかを判断する(ステップ302)。もし、障害系が存在していない場合には、全系が正常に動作しているため、ステップ301に戻り、定期的に障害監視を継続する。一方、障害系が存在する場合には、前記監視部1111が系切替部1113を呼び出し(図中点線)、系切替部のステップ401が実行される(ステップ303)。監視部1111は、ステップ303を実行後、再び、ステップ301に戻り、再びクラスタ内の他系の状態を監視を行なう。   Next, by referring to the system state 22 of each system obtained in the step 301, it is determined whether or not there is a faulty system (failed system) (step 302). If there is no faulty system, the entire system is operating normally, so the process returns to step 301 and the fault monitoring is continued periodically. On the other hand, if there is a faulty system, the monitoring unit 1111 calls the system switching unit 1113 (dotted line in the figure), and step 401 of the system switching unit is executed (step 303). After executing Step 303, the monitoring unit 1111 returns to Step 301 again, and again monitors the status of other systems in the cluster.

一方、前記ステップ303で行われた系切替部への指示は、ステップ401で判断される。ステップ401では、新たな障害系が発生するかどうかを判断し、もし、新たな障害系がある場合は、系切替部1113が前記管理表1114のリセット優先度23を参照する(ステップ402)。続いて、前記のリセット優先度に基づいて、自系が障害系をリセットするまでの時間を状態管理表1114のリセットタイマ25に設定し(ステップ403)、ステップ404が行なわれる。
一方、ステップ401で、新たな障害系が存在しない場合には、そのままステップ404が行なわれる。
On the other hand, the instruction to the system switching unit performed in step 303 is determined in step 401. In step 401, it is determined whether or not a new failure system occurs. If there is a new failure system, the system switching unit 1113 refers to the reset priority 23 in the management table 1114 (step 402). Subsequently, based on the reset priority, the time until the own system resets the failed system is set in the reset timer 25 of the state management table 1114 (step 403), and step 404 is performed.
On the other hand, if there is no new fault system in step 401, step 404 is performed as it is.

ステップ404では、ステップ403で設定されたリセットタイマの時間が経過したかどうかを判断する。もし、リセットを発行する時間になった場合には、前記状態管理表1114からリセット対象となる系識別子21のリセット先識別子24に示される他系のリセット部1206、1306に対して、通信部1112を介して、リセットを指示する(ステップ405)。ここで、リセットを受け取ったリセット部1206、1306は、自系の動作を停止させることで、共有リソースの使用を停止する。自系の動作を停止させる方法は、たとえば、電源オフであったり、あるいは、ソフトウェアリセットであったり、OSのシャットダウンであったり、OSをハングアップさせる処理であってもよい。   In step 404, it is determined whether or not the reset timer time set in step 403 has elapsed. If it is time to issue a reset, the communication unit 1112 communicates with the other system reset units 1206 and 1306 indicated in the reset destination identifier 24 of the system identifier 21 to be reset from the state management table 1114. The reset is instructed via (step 405). Here, the reset units 1206 and 1306 that have received the reset stop the use of the shared resource by stopping the operation of the own system. The method of stopping the operation of the own system may be, for example, power off, software reset, OS shutdown, or processing that hangs up the OS.

ステップ405で、リセットに成功した後、系切替部1113は、通信部1112を介して、他系のクラスタプログラムに対して、障害系のリセットを行ったことを通知する(ステップ406)。さらに、状態管理表1114中からリセットされた障害系のリセットタイマ25をクリアし(ステップ407)、再度ステップ401へと戻る。   After successful resetting at step 405, the system switching unit 1113 notifies the other system cluster program that the faulty system has been reset via the communication unit 1112 (step 406). Further, the reset timer 25 of the faulty system reset from the state management table 1114 is cleared (step 407), and the process returns to step 401 again.

一方、ステップ404で、まだステップ403で設定されたリセットタイマの時間が経過していない場合には、続いて、リセット完了が他系から行われたかどうかを判断する(ステップ408)。これは、自系よりもリセット優先度が高い他系が存在する場合に、その他系のクラスタプログラムが先に前記ステップ404〜407を実行するため、すでに障害系がリセットされている場合があるためである。従って、もし、他系のクラスタプログラムからリセット完了通知があった場合には、リセットされた障害系のリセットタイマをクリアし(ステップ407)、リセット済みの障害系を再度リセットしないようにしてから、ステップ401へと戻る。   On the other hand, if the reset timer time set in step 403 has not yet elapsed in step 404, it is subsequently determined whether or not reset completion has been performed from another system (step 408). This is because when there is another system with a higher reset priority than the own system, the cluster system of the other system executes steps 404 to 407 first, so the faulty system may already be reset. It is. Therefore, if there is a reset completion notification from the cluster program of another system, clear the reset fault system reset timer (step 407), and do not reset the reset fault system again. Return to step 401.

一方、上記ステップ408において、他系のクラスタプログラムからリセット完了通知がない場合には、まだ障害系がリセットされていないため、何も行わず、再びステップ401へと戻る。図6は、本発明によって実現されるリセットが行われるタイミングについて示した図である。図6の縦軸は時間経過になっており、時間経過によるリセット処理を表す。また、図6の左は共有リソースの所有者、すなわち、現用系がどの系かを表しており、図6の右は各系でのリセット処理を表している。   On the other hand, if there is no reset completion notification from the other system cluster program in the above step 408, the faulty system has not been reset yet, so nothing is done and the process returns to step 401 again. FIG. 6 is a diagram showing the timing at which the reset realized by the present invention is performed. The vertical axis in FIG. 6 indicates that time has elapsed, and represents reset processing over time. 6 represents the shared resource owner, that is, which system is the active system, and the right of FIG. 6 represents reset processing in each system.

また、説明の簡略化のため、図6は、リセット優先度が高い順番に系A・系B・系Cという3台からなるクラスタにおいて、ネットワークスプリットが発生した場合について示している。時刻T0にネットワークスプリットが発生すると、リセット優先度に基づいて、系A、系B、系Cのリセットタイマは、それぞれ時刻T1、T2、T3が設定される。各系が正常である場合には、それぞれ、設定された時間に、自系からみて障害となっている系に対してリセットを行う。   For simplification of explanation, FIG. 6 shows a case where a network split occurs in a cluster consisting of three units of system A, system B, and system C in descending order of reset priority. When a network split occurs at time T0, time T1, T2, and T3 are set for the reset timers of system A, system B, and system C, respectively, based on the reset priority. If each system is normal, the system is reset at a set time for the system that is in trouble as viewed from the own system.

例えば、系Aからみて系B、系Cが障害であるため、時刻T1に系Aは、それぞれをリセットする(矢印601、602)。仮に、系Aがリセットを行えないような障害が同時に発生していた場合には、時刻T1に系Bがリセットを行う(矢印603、604)。同様に系Bもリセットが行えないような障害が生じていれば、時刻T2には、系Cがリセットを行う(矢印605、606)ゆえに、時刻T0〜T2までは系Aが、時刻T2〜T3までは系Bが、時刻T3〜T4までは系Cが共有リソースを所有することとなり、系切替が行なわれる。時刻T4以降になる場合は、リセットパスが正常でない場合であるので、本発明の対象外である。以上に述べた本発明の実施例によれば、以下のような効果がある。   For example, since the system B and the system C are faulty when viewed from the system A, the system A resets each at time T1 (arrows 601 and 602). If a failure that prevents system A from being reset has occurred at the same time, system B resets at time T1 (arrows 603 and 604). Similarly, if a failure has occurred so that the system B cannot be reset, the system C resets at time T2 (arrows 605 and 606). The system B owns the shared resource until T3, and the system C owns the shared resource from time T3 to T4, and system switching is performed. Since the time after time T4 is a case where the reset path is not normal, it is out of the scope of the present invention. According to the embodiment of the present invention described above, there are the following effects.

まず、リセットパスを持つクラスタ構成の高可用性コンピュータシステムにおいて、系監視用のハートビートが失われた場合には、リセット優先度に従って、障害系をリセットすることにより、リセットを行った系が存在するクラスタ内の系だけが、共有リソースを利用することを保証するため、ネットワークスプリット時でも、系切替を実現することが可能となる。さらに、リセット優先度が最も高い系が障害にならない場合であれば、その系が障害系をすぐにリセットすることにより、高速な系切替を実現可能である。   First, in a high-availability computer system with a cluster configuration that has a reset path, if the heartbeat for system monitoring is lost, there is a system that has been reset by resetting the faulty system according to the reset priority. Since it is guaranteed that only the system in the cluster uses the shared resource, system switching can be realized even during a network split. Furthermore, if the system with the highest reset priority does not become a failure, the system can immediately reset the failed system, thereby realizing high-speed system switching.

さらに、ユーザが優先度定義をクラスタプログラムに静的に定義することで、リセット優先度を自由に設定し、系切替先を制御した系切替を実現可能である。さらに、ユーザがリセット間隔をクラスタプログラムに定義することで、リセットが行なわれるタイミングを制御することが可能である。   Furthermore, when the user defines the priority definition statically in the cluster program, it is possible to realize system switching in which the reset priority is freely set and the system switching destination is controlled. Furthermore, when the user defines the reset interval in the cluster program, the timing at which the reset is performed can be controlled.

本発明によれば、現用系コンピュータの監視ができなくなった場合に、リセット優先度の高い系が存在するクラスタに系切替を実現することができるので、高速な系切替を可能とし、高可用性コンピュータシステムとして広く実施されることが期待される。   According to the present invention, when the active computer can no longer be monitored, system switching can be realized in a cluster in which a system having a high reset priority exists. It is expected to be widely implemented as a system.

1101,1201,1301 コンピュータ1102,1202,1302 アプリケーション1103,1104,1105,1203,1204,1205,1303,1304,1305 ネットワークアダプタ(NIC)1106,1206,1306 リセット部1107,1207,1307 オペレーティングシステム(OS)1110,1210,1310 クラスタプログラム1111,1211,1311 監視部1112,1212,1312 通信部1113,1213,1313 系切替部1114,1214,1314 クラスタ状態管理表1115,1215,1315 優先度定義1116,1216,1316 リセット間隔定義21,51 系識別子22 系状態23,52 リセット優先度24 リセット先識別子25 リセットタイマ。 1101,1201,1301 Computer 1102,1202,1302 Application 1103,1104,1105,1203,1204,1205,1303,1304,1305 Network adapter (NIC) 1106,1206,1306 Reset section 1107,1207,1307 Operating system (OS ) 1110, 1210, 1310 Cluster program 1111, 1211, 1311 Monitoring unit 1112, 1212, 1312 Communication unit 1113, 1213, 1313 System switching unit 1114, 1214, 1314 Cluster status management table 1115, 1215, 1315 Priority definition 1116, 1216 , 1316 Reset interval definition 21,51 System identifier 22 System status 23,52 Reset priority 24 Reset destination identifier 25 Reset timer.

Claims (6)

複数のコンピュータが共有リソースを有し、かつ互いに他のコンピュータの動作を監視するためのハートビートパスと、他のコンピュータを停止するためのリセットパスで接続され、もって前記複数台のコンピュータの一つが実行系として前記共有リソースを用いる処理を実行するとき、前記共有リソースの排他制御が行われ、他のコンピュータは前記実行系のコンピュータの予備系として機能するクラスタ構成コンピュータの排他制御方法であって、
前記複数のコンピュータのいずれもが、
どのコンピュータがクラスタ内の他のコンピュータをリセットするのかを示す一意的な優先度を示す優先度情報をそれぞれ格納する手続き1と、
前記ハートビートパスによるハートビート検出が途絶えた他の前記コンピュータを障害系として検知した場合に、前記格納された前記優先度情報を参照して、前記優先度に基づいて前記障害系にリセットを発行するまでのリセット遅延時間を設定する手続き2と、
前記手続き2で設定されたリセット遅延時間が経過すると前記障害系をリセットし、前記障害系の処理を引き継ぐ手続き3と、
を含む手順を共通に有し、
前記手続き2において、前記優先度が高い前記コンピュータほど前記リセット遅延時間を短く設定することを特徴とする排他制御方法。
A plurality of computers have a shared resource and are connected to each other by a heartbeat path for monitoring operations of other computers and a reset path for stopping other computers, and one of the plurality of computers is When executing processing using the shared resource as an execution system, exclusive control of the shared resource is performed, and the other computer is an exclusive control method of a cluster configuration computer functioning as a backup system of the execution system computer,
Any of the plurality of computers
Procedure 1 for storing priority information indicating a unique priority indicating which computer resets other computers in the cluster, respectively .
When detecting another computer whose heartbeat detection by the heartbeat path has been interrupted as a faulty system, it issues a reset to the faulty system based on the priority by referring to the stored priority information Procedure 2 to set the reset delay time until
When the reset delay time set in the procedure 2 elapses, the failure system is reset, and the procedure 3 that takes over the processing of the failure system;
Have a common procedure that includes
In the procedure 2, the exclusive control method is characterized in that the reset delay time is set shorter for the computer having the higher priority.
前記手続き3を実行した場合に、前記コンピュータが他のコンピュータに障害系のリセット完了を通知する、ことを特徴とする請求項1に記載の排他制御方法。   2. The exclusive control method according to claim 1, wherein, when the procedure 3 is executed, the computer notifies the other computer of the completion of the reset of the faulty system. 前記手続き1では、リセットを行う系の順番の指定を受けて前記優先度として決定することを特徴とする請求項1に記載の排他制御方法。   2. The exclusive control method according to claim 1, wherein in the procedure 1, the priority is determined in response to designation of an order of systems to be reset. 3. 前記優先度情報は前記コンピュータのIPアドレスに基づいて決定する、ことを特徴とする請求項1に記載の排他制御方法。   The exclusive control method according to claim 1, wherein the priority information is determined based on an IP address of the computer. 前記優先度情報はユーザによって設定される情報であることを特徴とする請求項1に記載の排他制御方法。   The exclusive control method according to claim 1, wherein the priority information is information set by a user. 前記コンピュータが、前記障害の発生を検知してから前記リセット遅延時間が経過するまでの間に、他の前記コンピュータにより障害系のリセット完了がなされた場合に、前記リセット遅延時間を無効にする、ことを特徴とする請求項1に記載の排他制御方法。   The reset delay time is invalidated when the reset of the fault system is completed by another computer between the time when the computer detects the occurrence of the failure and the time when the reset delay time elapses. The exclusive control method according to claim 1, wherein:
JP2009122653A 2009-05-21 2009-05-21 Exclusive control method for clustered computer system Expired - Fee Related JP5012850B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009122653A JP5012850B2 (en) 2009-05-21 2009-05-21 Exclusive control method for clustered computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009122653A JP5012850B2 (en) 2009-05-21 2009-05-21 Exclusive control method for clustered computer system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004190633A Division JP4353005B2 (en) 2004-06-29 2004-06-29 System switching method for clustered computer systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012091516A Division JP5561308B2 (en) 2012-04-13 2012-04-13 Exclusive control method for clustered computer system

Publications (2)

Publication Number Publication Date
JP2009181597A JP2009181597A (en) 2009-08-13
JP5012850B2 true JP5012850B2 (en) 2012-08-29

Family

ID=41035464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009122653A Expired - Fee Related JP5012850B2 (en) 2009-05-21 2009-05-21 Exclusive control method for clustered computer system

Country Status (1)

Country Link
JP (1) JP5012850B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6984437B2 (en) * 2018-01-24 2021-12-22 富士通株式会社 Processing takeover method, cluster construction program and cluster construction device
CN111901395B (en) * 2020-07-07 2024-03-22 青岛海尔科技有限公司 Multi-cluster switching method and device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233579A (en) * 1992-02-17 1993-09-10 Nec Corp Hot standby duplex system
JP3537281B2 (en) * 1997-01-17 2004-06-14 株式会社日立製作所 Shared disk type multiplex system
US6061600A (en) * 1997-05-09 2000-05-09 I/O Control Corporation Backup control mechanism in a distributed control network

Also Published As

Publication number Publication date
JP2009181597A (en) 2009-08-13

Similar Documents

Publication Publication Date Title
JP4353005B2 (en) System switching method for clustered computer systems
JP4529767B2 (en) Cluster configuration computer system and system reset method thereof
US9110717B2 (en) Managing use of lease resources allocated on fallover in a high availability computing environment
US6952766B2 (en) Automated node restart in clustered computer system
CA3168286A1 (en) Data flow processing method and system
US9037826B1 (en) System for optimization of input/output from a storage array
US20040205148A1 (en) Method for operating a computer cluster
CN107147540A (en) Fault handling method and troubleshooting cluster in highly available system
US20130290771A1 (en) Computer system
JP2005209191A (en) Remote enterprise management of high availability system
JP2009129148A (en) Server switching method and server system
JP2002526821A (en) Coordination of persistent status information between multiple file servers
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
CA2616229A1 (en) Redundant systems management frameworks for network environments
Maurer Fail at scale
CN101442437B (en) Method, system and equipment for implementing high availability
JP5012850B2 (en) Exclusive control method for clustered computer system
JP2013196452A (en) Cluster system
CN104052799B (en) A kind of method that High Availabitity storage is realized using resource ring
JP5561308B2 (en) Exclusive control method for clustered computer system
JP2000222376A (en) Computer system and method for operating the same
JP2014048933A (en) Plant monitoring system, plant monitoring method, and plant monitoring program
JP2010086363A (en) Information processing apparatus and apparatus configuration rearrangement control method
JP4485560B2 (en) Computer system and system management program
JP6856574B2 (en) Service continuation system and service continuation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120413

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5012850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees