JP5561308B2 - Exclusive control method for clustered computer system - Google Patents
Exclusive control method for clustered computer system Download PDFInfo
- Publication number
- JP5561308B2 JP5561308B2 JP2012091516A JP2012091516A JP5561308B2 JP 5561308 B2 JP5561308 B2 JP 5561308B2 JP 2012091516 A JP2012091516 A JP 2012091516A JP 2012091516 A JP2012091516 A JP 2012091516A JP 5561308 B2 JP5561308 B2 JP 5561308B2
- Authority
- JP
- Japan
- Prior art keywords
- reset
- computer
- procedure
- priority
- computers
- 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
- 238000000034 method Methods 0.000 title claims description 39
- 238000012545 processing Methods 0.000 claims description 27
- 238000012544 monitoring process Methods 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 3
- 230000026676 system process Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 12
- 238000001152 differential interference contrast microscopy Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
次に、非特許文献1では、現用系で障害が発生し、系切替を行なう場合に、クラスタプログラムがSCSIコマンドのRESERVEとRESETとを利用し、共有ディスクへのアクセス権限を排他制御する技術が記載される。ここで、RESERVEはディスクへのアクセス権限を予約するコマンドであり、ある計算機によってRESERVE予約されたディスクは他の計算機からのアクセスとRESERVEを拒否するコマンドである。一方、RESETは、ディスクのアクセス権限を解放するコマンドであり、RESERVEされたディスクのアクセス権限を解放するコマンドである。
Next, Non-Patent
特許文献1では、クラスタ構成のコンピュータシステムにおいて、予備系は、現用系の監視が出来なくなった場合には、現用系を停止させることで、共有リソースの排他制御を実現している。しかし、お互いが相手の予備系であるような2台からなるクラスタにおいて、ネットワークスプリット時が生じた場合には、互いに相手の系をリセットしようとするため、全ての系がリセットされてしまう可能性がある。従って、ネットワークスプリット時には処理が中断してしまい、高可用性が実現できないという問題がある。
In
また、予備系は現用系をリセットするが、現用系が予備系をリセットすることはない。従って、現用系とそれを引き継ぐ予備系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 (
また、非特許文献1では、クラスタ構成のコンピュータシステムにおいて、予備系は、現用系の監視が出来なくなった場合には、共有ディスクに対する現用系の制御権をSCSIコマンドのRESETにより強制的に解放させる処理と、その後、任意の予備系がSCSIのRESERVEコマンドを発行することで解放された共有ディスクの制御権を獲得する処理とからなり、この二つの処理によって、共有ディスクを引継ぐ系、すなわち、処理を引き継ぐ系が決定する。ここで、後者のRESERVEによる処理が、前者のRESETによる処理によって無効化されてしまうと、一度、ある予備系がRESERVEによって引継ぎが行なわれた処理を、別の予備系が引き継ぎ直すという過剰な系切り替えが生じてしまうため、これを防ぐために、前者のRESETによる処理から、後者のRESERVEによる処理が行なわれるまでの間は、全ての予備系がRESETコマンドを発行し終えることが保証できるために十分な時間が必要となる。従って、ネットワークスプリットが実際に起きているかどうかに関わらず、系切替時間が一定時間遅延してしまう問題がある。
Further, in Non-Patent
また、この方式では、ネットワークスプリットが生じた場合であっても、系切り替えを行なうことが可能であるが、共有ディスク以外の共有リソースの引継ぎに、例えば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.
本発明に関する図と説明は、本発明を鮮明に理解するのに適当な要素を示すために簡単化されており、発明を実施するのに支障ない範囲で既知の要素等は省略していることを理解されたい。本技術中で従来技術の中には、本発明を実装するために他の要素が望ましく、かつ/または、必要とされると思われるものが幾つかある。しかし、技術中のこれらの要素は既知であり、本発明の理解を容易にするものではないので、ここでは説明しない。以下では、添付の図に関して詳細に説明していく。 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 an explanation 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
次に、リセット部1106は、他系のクラスタプログラム1210、1310からのリセットを受け、系Aを停止させる機能を持つ。この系の停止機能として、例えば、OS1105に対して、強制停止を行うことで実現する。クラスタプログラム1110は、3つのモジュールを有する。以降、クラスタプログラムの説明のため、図2を用いて、説明する。
Next, the reset unit 1106 has a function of receiving a reset from the
(1)監視部1111は、自系のアプリケーション1102が正常動作するか監視する機能と、通信部1112を介して、他系のクラスタプログラム1210、1310の状態を監視する機能とをもつ。
(1) The monitoring unit 1111 has a function of monitoring whether the own-
(2)通信部1102は、前記NIC1104を介して、他系のクラスタプログラム1210、1310と通信する機能と、系切替部1113からの要求によって他系のリセット部1206、1306に対してリセット指示を行う通信機能とをもつ。
(2) The
(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
さらに、前記系切替部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
(3)
(4) When resetting the other system, a
(5) A
ここで、リセットタイマ25には、障害系が検出されてから自系が障害系に対してリセットを発行するまでの遅延時間(リセット遅延時間)が格納される。ある障害が発生し、それにより例えば系C及のハートビート検出が不可能になった場合、各系にて各々のタイマに設定されるリセット遅延時間は差を有する。つまり、複数の系でそれぞれトリガされるリセット指示の発行タイミングが時間間隔を有するように、各系それぞれ個別のリセット遅延時間が格納される。実施例では、具体的には前記リセット優先度23に基づいた順番で、リセットが行われるように各系個別のリセット遅延時間が格納される。
Here, the
たとえば、自系より優先度が一つ高い系がリセットを指示し、リセットが行われることが保証される一定以上の時間差であれば、リセット優先度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
また、リセット優先度23は、クラスタを構成する全ての系で、重複がなく、一意に定まる値を用いればよい。例えば、ユーザが静的に与える場合には、クラスタプログラム1110に対して、優先度定義1115で与える方法がある。図5は、優先度定義1115を示したものである。優先度定義1115には、系識別子51とリセット優先度52が含まれる。前記系識別子51は、前記系識別子21と同一の値であっても良いし、一意に前記計識別子21に対応する値であれば良い。
Further, the
また、前記リセット優先度52も、前記リセット優先度識別子23と同一の値であっても良いし、前記リセット優先度52を用いて、前記リセット優先度23を一意に決定する値であれば良い。例えば、IPアドレスをリセット優先度52に用いた場合には、その大小関係を用いることで、リセット優先度23が一意に定まる。また、ユーザが前期優先度定義1115によって静的に与える以外に、クラスタプログラムが動的に定める方法を用いても良く、この場合も、前記優先度定義1115に含まれる情報を用いても良い。
Also, the
さらに、状態管理表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
次に、前記ステップ301によって得られた各系の系状態22を参照することで、障害の発生した系(障害系)が存在するかどうかを判断する(ステップ302)。もし、障害系が存在していない場合には、全系が正常に動作しているため、ステップ301に戻り、定期的に障害監視を継続する。一方、障害系が存在する場合には、前記監視部1111が系切替部1113を呼び出し(図中点線)、系切替部のステップ401が実行される(ステップ303)。監視部1111は、ステップ303を実行後、再び、ステップ301に戻り、再びクラスタ内の他系の状態を監視を行なう。
Next, by referring to the
一方、前記ステップ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
ステップ404では、ステップ403で設定されたリセットタイマの時間が経過したかどうかを判断する。もし、リセットを発行する時間になった場合には、前記状態管理表1114からリセット対象となる系識別子21のリセット先識別子24に示される他系のリセット部1206、1306に対して、通信部1112を介して、リセットを指示する(ステップ405)。ここで、リセットを受け取ったリセット部1206、1306は、自系の動作を停止させることで、共有リソースの使用を停止する。自系の動作を停止させる方法は、たとえば、電源オフであったり、あるいは、ソフトウェアリセットであったり、OSのシャットダウンであったり、OSをハングアップさせる処理であってもよい。
In
ステップ405で、リセットに成功した後、系切替部1113は、通信部1112を介して、他系のクラスタプログラムに対して、障害系のリセットを行ったことを通知する(ステップ406)。さらに、状態管理表1114中からリセットされた障害系のリセットタイマ25をクリアし(ステップ407)、再度ステップ401へと戻る。
After successful resetting at
一方、ステップ404で、まだステップ403で設定されたリセットタイマの時間が経過していない場合には、続いて、リセット完了が他系から行われたかどうかを判断する(ステップ408)。これは、自系よりもリセット優先度が高い他系が存在する場合に、その他系のクラスタプログラムが先に前記ステップ404〜407を実行するため、すでに障害系がリセットされている場合があるためである。従って、もし、他系のクラスタプログラムからリセット完了通知があった場合には、リセットされた障害系のリセットタイマをクリアし(ステップ407)、リセット済みの障害系を再度リセットしないようにしてから、ステップ401へと戻る。
On the other hand, if the reset timer time set in
一方、上記ステップ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
また、説明の簡略化のため、図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 (
まず、リセットパスを持つクラスタ構成の高可用性コンピュータシステムにおいて、系監視用のハートビートが失われた場合には、リセット優先度に従って、障害系をリセットすることにより、リセットを行った系が存在するクラスタ内の系だけが、共有リソースを利用することを保証するため、ネットワークスプリット時でも、系切替を実現することが可能となる。さらに、リセット優先度が最も高い系が障害にならない場合であれば、その系が障害系をすぐにリセットすることにより、高速な系切替を実現可能である。 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 Department
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 (8)
コンピュータの動作を監視するための監視手段と、他のコンピュータを停止するためのリ
セット手段とを有し、もって前記複数台のコンピュータの一つが実行系として前記共有リ
ソースを用いる処理を実行するとき、前記共有リソースの排他制御が行われ、他のコンピ
ュータは前記実行系のコンピュータの予備系として機能するクラスタ構成コンピュータの
系切替方法であって、
各コンピュータが
どのコンピュータがクラスタ内の他のコンピュータをリセットするかの優先度を一意に決
定する手続き1と、
前記監視手段によるハートビート検出が途絶えたコンピュータを障害系として検知した場
合に、前記優先度に基づいて障害系にリセットを発行するまでのリセット遅延時間を設定
する手続き2と、
前記手続き2で設定されたリセット遅延時間が経過すると障害系をリセットする手続き3
と、
前記手続き3を実行した場合に、他のコンピュータに障害系のリセット完了を通知する手
続き4と、
障害の発生を検知してから前記リセット遅延時間が経過するまでの間に、他のコンピュー
タから障害系のリセット完了の通知を受けた場合に、前記リセット遅延時間によるタイミ
ングを無効にして、障害系へのリセットを停止する手続き5とをもつことを特徴とする系切替方法。 A plurality of computers having a shared resource, each of the plurality of computers having a monitoring means for monitoring the operation of the other computer, and a resetting means for stopping the other computer; When one of the computers executes processing using the shared resource as an execution system, exclusive control of the shared resource is performed, and the other computers perform system switching of the cluster configuration computer functioning as a backup system of the execution system computer A method,
Procedure 1 for uniquely determining the priority of which computer resets other computers in the cluster;
A procedure 2 for setting a reset delay time until a reset is issued to a faulty system based on the priority when a computer in which heartbeat detection by the monitoring unit is interrupted is detected as a faulty system;
Procedure 3 for resetting the faulty system when the reset delay time set in the procedure 2 elapses
When,
A procedure 4 for notifying other computers of the completion of the reset of the faulty system when the procedure 3 is executed;
When a failure completion reset notification is received from another computer after the occurrence of a failure until the reset delay time elapses, the timing due to the reset delay time is invalidated, And a system switching method characterized by comprising a procedure 5 for stopping resetting.
受けて前記優先度を決定することを特徴とする請求項1に記載の系切替方法。 2. The system switching method according to claim 1, wherein in the procedure 1, the priority is determined in response to designation of the reset delay time until a reset is issued to a faulty system.
とを特徴とする請求項1に記載の系切替方法。 2. The system switching method according to claim 1, wherein in the procedure 1, the priority is determined based on designation of an order of systems to be reset.
請求項1の系切替方法。 2. The system switching method according to claim 1, wherein the computer executing said procedure 3 takes over the processing of said faulty system.
定める手続き6を更に有し、前記手続き6によって定められたコンピュータが、他のコン
ピュータから前記障害系のリセット完了の通知を受けたことを契機として、障害系の処理
を引き継ぐことを特徴とする請求項1に記載の系切替方法。 Each computer further includes a procedure 6 for determining a standby system that takes over the processing of the fault system when the procedure 3 is executed, and the computer determined by the procedure 6 completes the reset of the fault system from another computer. The system switching method according to claim 1, wherein the faulty system process is taken over when the notification is received.
のそれぞれが、他のコンピュータの状態を監視するための監視手段と、他のコンピュータ
を停止するためのリセット手段とを備えたクラスタ構成コンピュータシステムであって、
前記複数のコンピュータは、どのコンピュータが他のコンピュータをリセットするかの優
先度が一意に決定され、
各コンピュータは、
現用系であるコンピュータの障害発生を前記監視手段により検知したとき、自コンピュー
タに決定された前記優先度の値に応じて定められるリセット遅延時間をタイマに設定する
手段、
他コンピュータから障害発生による現用系コンピュータのリセットの完了が通知されると
前記タイマを停止させる手段、
前記タイマが前記設定されたリセット遅延時間の経過を検知したことを条件に前記障害が
発生した現用系コンピュータに対しリセットを指示し、かつリセットの完了を他のコンピ
ュータに通知する手段、及び
他コンピュータからリセットが指示されると自コンピュータを強制的に停止させる手段、
を有することを特徴とするクラスタ構成コンピュータシステム。 Each of the plurality of computers includes a monitoring unit for monitoring the state of the other computer and a reset unit for stopping the other computer. A cluster configuration computer system,
In the plurality of computers, the priority of which computer resets the other computer is uniquely determined,
Each computer
Means for setting, in a timer, a reset delay time determined according to the priority value determined for the own computer when the monitoring means detects the occurrence of a failure in the computer that is the active system;
Means for stopping the timer when the completion of resetting of the active computer due to the occurrence of a failure is notified from another computer;
Means for instructing reset to the active computer on which the failure has occurred on the condition that the timer detects that the set delay time has elapsed, and notifying other computers of the completion of the reset, and another computer Means to forcibly stop the computer when reset is instructed from
A cluster configuration computer system comprising:
を特徴とする請求項6のクラスタ構成コンピュータシステム。 7. The cluster configuration computer system according to claim 6, further comprising an interface for individually setting the reset delay time for each computer.
としてそれぞれ設定する手段と、予め設定されたリセットの時間間隔と各コンピュータに
設定された前記優先度とからそれぞれの前記リセット遅延時間を決定する手段を有するこ
とを特徴とする請求項6のクラスタ構成コンピュータシステム。 Each of the plurality of computers receives a designation of the order in which reset is performed, and sets each of the orders as the priority, a preset reset time interval, and the priority set for each computer. 7. The cluster configuration computer system according to claim 6, further comprising means for determining the reset delay time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012091516A JP5561308B2 (en) | 2012-04-13 | 2012-04-13 | Exclusive control method for clustered computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012091516A JP5561308B2 (en) | 2012-04-13 | 2012-04-13 | Exclusive control method for clustered computer system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009122653A Division JP5012850B2 (en) | 2009-05-21 | 2009-05-21 | Exclusive control method for clustered computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012155744A JP2012155744A (en) | 2012-08-16 |
JP5561308B2 true JP5561308B2 (en) | 2014-07-30 |
Family
ID=46837338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012091516A Expired - Fee Related JP5561308B2 (en) | 2012-04-13 | 2012-04-13 | Exclusive control method for clustered computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5561308B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02224170A (en) * | 1989-02-27 | 1990-09-06 | Mitsubishi Electric Corp | Multiprocessor control device |
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 |
-
2012
- 2012-04-13 JP JP2012091516A patent/JP5561308B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012155744A (en) | 2012-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4353005B2 (en) | System switching method for clustered computer systems | |
US9110717B2 (en) | Managing use of lease resources allocated on fallover in a high availability computing environment | |
JP4529767B2 (en) | Cluster configuration computer system and system reset method thereof | |
US9037826B1 (en) | System for optimization of input/output from a storage array | |
CN103677967B (en) | A kind of remote date transmission system of data base and method for scheduling task | |
US9208029B2 (en) | Computer system to switch logical group of virtual computers | |
CA3168286A1 (en) | Data flow processing method and system | |
WO2017067484A1 (en) | Virtualization data center scheduling system and method | |
WO2017063521A1 (en) | Coroutine monitoring method and apparatus | |
JP2009129148A (en) | Server switching method and server system | |
JP2005209191A (en) | Remote enterprise management of high availability system | |
JP2008217285A (en) | Operation management apparatus and operation management method for information processing system | |
WO2016045439A1 (en) | Vnfm disaster-tolerant protection method and device, nfvo and storage medium | |
EP2645635B1 (en) | Cluster monitor, method for monitoring a cluster, and computer-readable recording medium | |
CA2616229A1 (en) | Redundant systems management frameworks for network environments | |
CN101442437B (en) | Method, system and equipment for implementing high availability | |
Salapura et al. | Resilient cloud computing | |
JP5012850B2 (en) | Exclusive control method for clustered computer system | |
CN104052799B (en) | A kind of method that High Availabitity storage is realized using resource ring | |
US9032251B2 (en) | Re-forming an application control tree without terminating the application | |
JP2010086363A (en) | Information processing apparatus and apparatus configuration rearrangement control method | |
JP5561308B2 (en) | Exclusive control method for clustered computer system | |
JP2000222376A (en) | Computer system and method for operating the same | |
JP6856574B2 (en) | Service continuation system and service continuation method | |
US10514975B2 (en) | Preventing corruption by blocking requests |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140417 |
|
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: 20140513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140526 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5561308 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |