JP4599435B2 - Computer and program constituting cluster system - Google Patents
Computer and program constituting cluster system Download PDFInfo
- Publication number
- JP4599435B2 JP4599435B2 JP2008186289A JP2008186289A JP4599435B2 JP 4599435 B2 JP4599435 B2 JP 4599435B2 JP 2008186289 A JP2008186289 A JP 2008186289A JP 2008186289 A JP2008186289 A JP 2008186289A JP 4599435 B2 JP4599435 B2 JP 4599435B2
- Authority
- JP
- Japan
- Prior art keywords
- heartbeat
- time
- computer
- transmission
- time interval
- 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)
Description
本発明は、クラスタシステムを構成する計算機に係り、特に、当該計算機のスローダウンに起因するスプリットブレインの発生を当該計算機自身が判定するのに好適なクラスタシステムを構成する計算機及びプログラムに関する。 The present invention relates to a computer constituting a cluster system, and more particularly to a computer and a program constituting a cluster system suitable for the computer itself to determine the occurrence of split brain due to slowdown of the computer.
従来から、複数の計算機が相互に接続されたクラスタシステムが知られている。この種のクラスタシステムでは、複数の計算機(ノード)のいずれかで障害が発生すると、障害が発生したノード(クラスタノード)で実行されていたクライアントに対するサービスを他のいずれかのノードが引き継ぐ、いわゆるフェイルオーバが行われる。このため、クラスタシステムでは、当該システム内のノードの障害を検出することが重要となる。 Conventionally, a cluster system in which a plurality of computers are connected to each other is known. In this type of cluster system, when a failure occurs in any of a plurality of computers (nodes), any other node takes over the service for the client that was executed on the failed node (cluster node). Failover occurs. For this reason, in a cluster system, it is important to detect a failure of a node in the system.
従来のクラスタシステムでは、当該システム内のノードの障害の検出は、例えば非特許文献1に記載されているように、ノード相互が接続系路を用いて状態を監視することによって行われる。この状態監視のために、クラスタシステム内の各ノードは、自身の状態を通知するための情報(状態通知パケット)を接続経路を介して他のノードに定期的に送信する。この定期的な情報送信はハートビート(またはハートビート送信)と呼ばれる。各ノードは、他のノードからのハートビートを監視する。
In a conventional cluster system, detection of a failure of a node in the system is performed by monitoring the state between nodes using a connection system path as described in Non-Patent
ここで、あるノード(以下、第1のノードと称する)が他のノード(以下、第2のノードと称する)からのハートビートが途絶したことを検出したものとする。この場合、第1のノードは第2のノードで障害が発生したと判断する。そして第1のノードは、第2のノードで実行されていたサービスを引き継ぐフェイルオーバを行う。
上記従来技術では、第2のノードのハートビートの途絶が、スローダウン等の一過性の障害に起因する場合でも、第1のノードは当該第2のノードの状態に無関係に、当該第2のノードで障害が発生したと判断する。このような場合、第2のノードでサービスが実行されているにも拘わらず、フェイルオーバにより第1のノードで当該サービスが開始されることになり、いわゆるスプリットブレインが発生する。 In the above prior art, even when the heartbeat disruption of the second node is caused by a transient failure such as slowdown, the first node is independent of the state of the second node. It is determined that a failure has occurred on the node. In such a case, although the service is executed on the second node, the service is started on the first node due to the failover, and so-called split brain occurs.
そこで、クラスタシステム内の全てのノードからアクセス可能な共有リソースを排他的に利用することで、その所有権により、スプリットブレインを含めたサービスの稼働状態を判定することが考えられる。しかし、そのためには、共有ディスク装置のような共有リソースが必要となる。 Therefore, it is conceivable to determine the operating state of the service including the split brain by exclusively using the shared resources accessible from all the nodes in the cluster system based on the ownership. However, this requires a shared resource such as a shared disk device.
本発明は上記事情を考慮してなされたものでその目的は、自身のスローダウンに起因するスプリットブレインの発生を自身で判定できる、クラスタシステムを構成する計算機及びプログラムを提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a computer and a program constituting a cluster system that can determine by itself the occurrence of split brain caused by its own slowdown.
本発明の1つの観点によれば、クラスタシステムを構成する計算機が提供される。この計算機は、前記計算機の状態を、前記クラスタシステムを構成する他の計算機に通知するためのハートビート送信を一定時間間隔で行うと共に、前記他の計算機からのハートビート受信を監視し、前記他の計算機からのハートビート受信が予め定められたハートビートタイムアウト時間を超えて途絶した場合、前記他の計算機の障害を判定して前記他の計算機の計算機で実行されていたサービスを継続するためのフェイルオーバを行うクラスタ制御機構と、時間または日時を計時するための計時手段と、前記クラスタ制御機構による前記他の計算機への前記ハートビート送信を監視して、当該ハートビート送信の時間間隔を前記計時手段を用いて計測し、計測された前記ハートビート送信の時間間隔が前記ハートビートタイムアウト時間を超えている場合に前記計算機のスローダウンに起因するスプリットブレイン発生状態にあると判定して、前記計算機を強制的に停止させるハートビート監視機構とを具備する。 According to one aspect of the present invention, a computer constituting a cluster system is provided. The computer performs heartbeat transmission at a predetermined time interval for notifying other computers constituting the cluster system of the state of the computer, and monitors reception of heartbeats from the other computers. When the heartbeat reception from the other computer is interrupted beyond a predetermined heartbeat timeout period, it is possible to determine the failure of the other computer and continue the service being executed on the computer of the other computer A cluster control mechanism for performing failover, a time measuring means for measuring time or date and time, monitoring the heartbeat transmission to the other computer by the cluster control mechanism, and measuring the time interval of the heartbeat transmission. The time interval of the measured heartbeat transmission is the heartbeat timeout time. And it determines that the split brain occurs conditions due to the slow down of the computer when it exceeds comprises a heartbeat monitoring mechanism for forcibly stopping the computer.
本発明によれば、クラスタシステムを構成する計算機のハートビート監視機構が、当該計算機(自ノード)が有するクラスタ制御機構によるクラスタシステム内の他の計算機(他ノード)へのハートビート送信の時間間隔を計時手段を用いて計測し、計測された送信時間間隔がハートビートタイムアウト時間を超えている場合に当該計算機自身のスローダウンに起因するスプリットブレイン発生状態にあると判定して、当該計算機を強制的に停止させるようにしたので、スプリットブレイン発生状態を速やかに解消することができる。 According to the present invention, the heartbeat monitoring mechanism of the computers constituting the cluster system is configured to transmit the heartbeat transmission time interval to other computers (other nodes) in the cluster system by the cluster control mechanism of the computer (own node). When the measured transmission time interval exceeds the heartbeat timeout time, it is determined that a split brain has occurred due to the slowdown of the computer itself, and the computer is forced Therefore, the split brain occurrence state can be quickly resolved.
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るクラスタシステムのハードウェア構成を示すブロック図である。このクラスタシステムは、例えば2台の計算機(以下、ノードと称する)10-1及び10-2から構成されるものとする。しかし、クラスタシステムが、3台以上のノード(クラスタノード)から構成されていても構わない。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a hardware configuration of a cluster system according to an embodiment of the present invention. This cluster system is composed of, for example, two computers (hereinafter referred to as nodes) 10-1 and 10-2. However, the cluster system may be composed of three or more nodes (cluster nodes).
ノード10-1及び10-2は、それぞれ、CPU11-1及び11-2と、主メモリ12-1及び12-2と、外部記憶装置13-1及び13-2と、通信機構14-1及び14-2とを有している。通信機構14-1及び14-2は通信路20と接続されている。つまりノード10-1及び10-2は、通信路20によって相互接続されている。なお、図1では省略されているが、ノード10-1は、後述するリアルタイムクロック230(図3参照)を有する。同様にノード10-2も、リアルタイムクロックを有する。
Nodes 10-1 and 10-2 include CPUs 11-1 and 11-2, main memories 12-1 and 12-2, external storage devices 13-1 and 13-2, communication mechanisms 14-1 and 14-2. The communication mechanisms 14-1 and 14-2 are connected to the
外部記憶装置13-1及び13-2は、それぞれ記憶媒体としてのディスク130-1及び130-2を有しており、当該ディスク130-1及び130-2には、それぞれ、オペレーティングシステム(OS)131-1及び131-2と、プログラム132-1及び132-2とが格納されている。本実施形態において、プログラム132-i(i=1,2)は、ノード10-iに後述するクラスタ制御機構210-i(図2参照)及びハートビート監視機構220-i(図2参照)の機能を持たせるのに用いられる。この機能は、CPU11-iがプログラム132-iを主メモリ13-iに読み込んで実行することにより実現されるものとする。 The external storage devices 13-1 and 13-2 respectively have disks 130-1 and 130-2 as storage media, and the disks 130-1 and 130-2 each have an operating system (OS). 131-1 and 131-2 and programs 132-1 and 132-2 are stored. In this embodiment, the program 132-i (i = 1, 2) is stored in the cluster control mechanism 210-i (see FIG. 2) and the heartbeat monitoring mechanism 220-i (see FIG. 2) described later on the node 10-i. Used to give functionality. This function is realized by the CPU 11-i reading the program 132-i into the main memory 13-i and executing it.
なお、プログラム132-iが、ディスク130-i以外の記憶媒体、例えば不揮発性メモリのような記憶媒体に格納されていても構わない。また、プログラム132-iがネットワークを介して外部記憶装置13-iにダウンロードされたものでも構わない。 The program 132-i may be stored in a storage medium other than the disk 130-i, for example, a storage medium such as a nonvolatile memory. The program 132-i may be downloaded to the external storage device 13-i via a network.
図2は、図1のハードウェア構成を有するクラスタシステムの主として機能構成を示すブロック図である。
ノード10-1及び10-2は、それぞれ、OS131-1及び131-2と、通信機構14-1及び14-2と、クラスタ制御機構210-1及び210-2とを有する。
FIG. 2 is a block diagram mainly showing a functional configuration of the cluster system having the hardware configuration of FIG.
The nodes 10-1 and 10-2 have OSs 131-1 and 131-2, communication mechanisms 14-1 and 14-2, and cluster control mechanisms 210-1 and 210-2, respectively.
クラスタ制御機構210-1及び210-2は一般にクラスタカーネルと呼ばれ、フェイルオーバを含む周知のクラスタ制御を行う。クラスタ制御機構210-1及び210-2は、それぞれ、主制御部211-1及び211-2と、ハートビート送信部(HB送信部)212-1及び212-2と、ハートビート受信部(HB受信部)213-1及び213-2とを含む。 The cluster control mechanisms 210-1 and 210-2 are generally called cluster kernels and perform well-known cluster control including failover. The cluster control mechanisms 210-1 and 210-2 respectively include main control units 211-1 and 211-2, heartbeat transmission units (HB transmission units) 212-1 and 212-2, and heartbeat reception units (HB). Receiving section) 213-1 and 213-2.
HB送信部212-i(i=1,2)は、当該HB送信部212-iを含むノード10-iが正常な状態において、状態通知パケットとしてのハートビート(HB)を他のノード宛てに、通信機構14-iを介して予め定められた一定の時間間隔Thbで(つまり定期的に)送信する。HB受信部213-iは、他のノードから送信されるハートビートを通信機構14-iを介して受信する。 When the node 10-i including the HB transmission unit 212-i is in a normal state, the HB transmission unit 212-i (i = 1, 2) sends a heartbeat (HB) as a state notification packet to other nodes. Then, transmission is performed at a predetermined time interval Thb (that is, periodically) via the communication mechanism 14-i. The HB receiving unit 213-i receives a heartbeat transmitted from another node via the communication mechanism 14-i.
主制御部211-iは、クラスタ制御機構210-iの中枢(カーネル)をなす。主制御部211-iは、HB受信部213-iによるハートビート受信状況に基づき他のノードの障害を検出してフェイルオードを行う。ここでは、一定期間(ハートビートタイムアウト時間Tout)を超えてハートビートが受信されない、いわゆるハートビートタイムアウトの場合、上記他のノードの障害が検出(判定)される。 The main control unit 211-i forms the center of the cluster control mechanism 210-i. The main control unit 211-i detects a failure of another node based on the heartbeat reception status by the HB reception unit 213-i and performs a failover. Here, in the case of a so-called heartbeat timeout in which a heartbeat is not received over a certain period (heartbeat timeout time Tout), the failure of the other node is detected (determined).
OS131-1及び131-2はそれぞれ、ハートビート監視機構220-1及び220-2を含む。
ハートビート監視機構220-i(i=1,2)は、HB送信部212-iと通信機構14-iとの間に位置し、HB送信部212-iによるハートビート送信(ハートビート監視機構220-iを含むノード10-iによるハートビート送信)を監視する。そしてハートビート監視機構220-iは、HB送信部212-iによるハートビート送信毎に、先行するハートビート送信との時間間隔(先行するハートビート送信からの経過時間)を計測(算出)する。もし、先行するハートビート送信時から今回のハートビート送信時までの期間にハートビート監視機構220-iまたはOS131-iが一時的に停止すると、計測された時間間隔がハートビートタイムアウト時間Toutを超える可能性がある。
The OSs 131-1 and 131-2 include heartbeat monitoring mechanisms 220-1 and 220-2, respectively.
The heartbeat monitoring mechanism 220-i (i = 1, 2) is located between the HB transmission unit 212-i and the communication mechanism 14-i, and the heartbeat transmission (heartbeat monitoring mechanism) by the HB transmission unit 212-i. Heartbeat transmission by node 10-i including 220-i) is monitored. The heartbeat monitoring mechanism 220-i measures (calculates) a time interval (elapsed time from the preceding heartbeat transmission) with respect to the preceding heartbeat transmission for each heartbeat transmission by the HB transmission unit 212-i. If the heartbeat monitoring mechanism 220-i or OS131-i temporarily stops during the period from the preceding heartbeat transmission to the current heartbeat transmission, the measured time interval exceeds the heartbeat timeout time Tout. there is a possibility.
ハートビート監視機構220-iは、計測された時間間隔がハートビートタイムアウト時間Toutを超えるような場合に、ノード10-iのスローダウンに起因するスプリットブレインの発生を判定する。この場合、ハートビート監視機構220-iは、クラスタシステムとしての整合性を保持するために、ノード10-i(ハートビート監視機構220-iを含むノード10-i)を強制停止させる。 The heartbeat monitoring mechanism 220-i determines the occurrence of split brain due to the slowdown of the node 10-i when the measured time interval exceeds the heartbeat timeout time Tout. In this case, the heartbeat monitoring mechanism 220-i forcibly stops the node 10-i (the node 10-i including the heartbeat monitoring mechanism 220-i) in order to maintain consistency as a cluster system.
ここで、ハートビート監視機構220-iによるスプリットブレイン発生の判定の原理について説明する。ここでは、ハートビート監視機構220-iがハートビート監視機構220-1(i=1)であるものとする。ハートビート監視機構220-1は、HB送信部212-1からのハートビート送信毎に時刻情報を取得し、当該時刻情報を少なくとも次のハートビート送信が行われるまで保持する。またハートビート監視機構220-1は、前回のハートビート送信から今回のハートビート送信までの経過時間(つまりハートビート送信の時間間隔)を、自身が保持している時刻情報に基づいて計測(算出)し、その経過時間が、予め定められた閾値を超えていないかをチェックする。ここで、閾値には、クラスタ制御機構210-1及び10-2で用いられるハートビートタイムアウト時間Toutが用いられる。 Here, the principle of determination of split brain occurrence by the heartbeat monitoring mechanism 220-i will be described. Here, it is assumed that the heartbeat monitoring mechanism 220-i is the heartbeat monitoring mechanism 220-1 (i = 1). The heartbeat monitoring mechanism 220-1 acquires time information for each heartbeat transmission from the HB transmission unit 212-1, and holds the time information until at least the next heartbeat transmission is performed. The heartbeat monitoring mechanism 220-1 measures (calculates) the elapsed time from the previous heartbeat transmission to the current heartbeat transmission (that is, the time interval of heartbeat transmission) based on the time information held by itself. It is checked whether the elapsed time exceeds a predetermined threshold value. Here, the heartbeat timeout time Tout used in the cluster control mechanisms 210-1 and 10-2 is used as the threshold.
HB送信部212-1によるハートビート送信は、ノード10-1が正常に動作している限り、常にハートビートタイムアウト時間Toutより短い一定時間間隔Thbで行われる。このため、ハートビート監視機構220-1で計測(算出)されるハートビート送信の時間間隔が一定時間間隔Thbを超える場合には、何らかの原因によりノード10-1で(OS131-1またはクラスタ制御機構210-1の)スローダウンが発生していることが予測される。特に、ハートビートの送信時間間隔がハートビートタイムアウト時間(閾値)Toutを超えた場合、ノード10-1(内のHB送信部212-1)によるハートビート送信の相手となるノード10-2のクラスタ制御機構210-2も、当該ノード10-1(内のHB送信部212-1)からのハートビート送信がハートビートタイムアウト時間Toutを超えて途絶したことを検出する。この場合、クラスタ制御機構210-2は、ノード10-1の障害(ハートビートタイムアウト)を判定しフェイルオーバを開始する。 Heartbeat transmission by the HB transmission unit 212-1 is always performed at a constant time interval Thb shorter than the heartbeat timeout time Tout as long as the node 10-1 is operating normally. Therefore, when the heartbeat transmission time interval measured (calculated) by the heartbeat monitoring mechanism 220-1 exceeds the predetermined time interval Thb, the node 10-1 (OS 131-1 or cluster control mechanism) for some reason. It is predicted that a slowdown of 210-1) has occurred. In particular, when the heartbeat transmission time interval exceeds the heartbeat timeout time (threshold value) Tout, the cluster of the node 10-2 serving as a heartbeat transmission partner by the node 10-1 (the HB transmission unit 212-1) The control mechanism 210-2 also detects that heartbeat transmission from the node 10-1 (internal HB transmission unit 212-1) has been interrupted beyond the heartbeat timeout time Tout. In this case, the cluster control mechanism 210-2 determines a failure (heartbeat timeout) of the node 10-1 and starts failover.
そこでハートビート監視機構220-1は、HB送信部212-1からのハートビート送信の時間間隔がハートビートタイムアウト時間Toutを超えていた場合、既にハートビート送信の相手であるノード10-2はフェイルオーバを開始しており、スプリットブレイン発生状態になると判定する。つまりノード10-1内のハートビート監視機構220-1は、当該ノード10-1内のHB送信部212-1からのハートビート送信の時間間隔を監視することにより、当該ノード10-1自身のスローダウンに起因するスプリットブレインの発生を相手ノード10-2から独立に判定(検出)することができる。この場合、ハートビート監視機構220-1は、上述のように、ノード10-1を強制停止させる。 Therefore, when the heartbeat transmission time interval from the HB transmission unit 212-1 exceeds the heartbeat timeout time Tout, the heartbeat monitoring mechanism 220-1 has failed over the node 10-2 that is already the heartbeat transmission partner. Has been started, and it is determined that a split-brain occurrence state has been reached. That is, the heartbeat monitoring mechanism 220-1 in the node 10-1 monitors the time interval of heartbeat transmission from the HB transmission unit 212-1 in the node 10-1, thereby The occurrence of split brain due to slowdown can be determined (detected) independently from the counterpart node 10-2. In this case, the heartbeat monitoring mechanism 220-1 forcibly stops the node 10-1 as described above.
図3は、ノード10-1の主としてハートビート監視機構220-1の構成を示すブロック図である。ノード10-1は、リアルタイムクロック230を有する。リアルタイムクロック230は、日時を計時するハードウェア構成の計時手段である。リアルタイムクロック230の示す日時(時刻)は、後述するシステムクロック232の日時が例えばユーザからの指示に基づいてOS131-1によって操作(変更)される場合に、当該システムクロック232と同期するようにOS131-1によって操作(変更)される。
FIG. 3 is a block diagram showing the configuration of mainly the heartbeat monitoring mechanism 220-1 of the node 10-1. The node 10-1 has a
ノード10-1のOS131-1は、ハートビート監視機構220-1に加えて、時間カウンタ(以下、Tickカウンタと称する)231とシステムクロック(システム時計)232とを有する。Tickカウンタ231は、OS131-1の起動時からの経過時間をカウントするソフトウェアカウンタ(計時手段)である。Tickカウンタ231は、OS131-1によって一定の時間間隔で更新される。システムクロック232は、OS131-1が管理する日時(時刻)を計時するソフトウェアタイマ(計時手段)である。
The OS 131-1 of the node 10-1 includes a time counter (hereinafter referred to as a “tick counter”) 231 and a system clock (system clock) 232 in addition to the heartbeat monitoring mechanism 220-1. The
ハートビート監視機構220-1は、時刻情報記憶部221とハートビート検出部222と障害判定処理部223と強制停止処理部224とを含む。
時刻情報記憶部221は、図1に示される主メモリ12-1の記憶領域の一部を用いて実現される。時刻情報記憶部221は、前回HB送信部212-1からハートビートが送信された際の時刻(時間)を示す時刻(時間)情報を(少なくとも、次にHB送信部212-1からハートビートが送信されるまで)格納するのに用いられる。ここでは、時刻情報記憶部221に格納される時刻情報として、Tickカウンタ231のカウント値T(OS131-1の起動時からの経過時間)、システムクロック232の示す値(日時)S、及びリアルタイムクロック230の示す値(日時)Rが用いられる。時刻情報記憶部221は、OS131-1の起動時に初期化される。
The heartbeat monitoring mechanism 220-1 includes a time
The time
ハートビート検出部222は、HB送信部212-1からのハートビート送信を検出する。障害判定処理部223は、ハートビート検出部222によってHB送信部212-1からの新たなハートビート送信が検出されると、OS131-1から、その時点における時刻(時間)情報として、Tickカウンタ231のカウント値(Tickカウント)Tc、及びシステムクロック232の値Scを取得する。また障害判定処理部223は、リアルタイムクロック230の値Rcを取得する。このとき、時刻情報記憶部221には、HB送信部212-1からの前回のハートビート送信時における時刻(時間)情報として、その時点に取得されたTickカウンタ231のカウント値Tp、システムクロック232の値Sp及びリアルタイムクロック230の値Rpが格納されているものとする。障害判定処理部223は、新たに取得した時刻情報(Tc,Sc,Rc)と前回のハートビート送信時に取得された時刻情報(Tp,Sp,Rp)とから、ノード10-1のスローダウンに起因するスプリットブレインの発生状態を判定する。この判定の仕組みについては後述する。
The
強制停止処理部224は、障害判定処理部223によってスプリットブレイン発生状態と判定された場合、ノード10-1を強制的に停止させるための強制停止処理を行う。この強制停止処理では、例えば、OS131-1を停止させる動作(OS停止動作)223aまたはノード10-1の電源を遮断する動作(電源OFF動作)223bが行われる。
なお、ハートビート監視機構220-2も、図3に示すハートビート監視機構220-1と同様の構成を有しているものとする。また、ノード10-2にもリアルタイムクロック230が設けられ、ノード10-2のOS131-2にもTickカウンタ231及びシステムクロック232が設けられているものとする。
The forced
It is assumed that the heartbeat monitoring mechanism 220-2 has the same configuration as the heartbeat monitoring mechanism 220-1 shown in FIG. In addition, it is assumed that the
次に、ハートビート監視機構220-1の動作の詳細について、図4のフローチャートを参照して説明する。 Next, details of the operation of the heartbeat monitoring mechanism 220-1 will be described with reference to the flowchart of FIG.
OS131-1が起動されると、ハートビート監視機構220-1も起動される。するとハートビート監視機構220-1のハートビート検出部222は、フラグF(図示せず)をOFF(リセット)する(ステップS1)。このフラグFは、時刻情報記憶部221に有効な時刻情報(Tp,Sp,Rp)が格納されているかを示す。
When the OS 131-1 is activated, the heartbeat monitoring mechanism 220-1 is also activated. Then, the
次にハートビート検出部222は、HB送信部212-1からのハートビート送信を監視する(ステップS2)。この監視により、ハートビート検出部222がHB送信部212-1からのハートビート送信を検出したものとする(ステップS3)。するとハートビート監視機構220-1の障害判定処理部223は、その時点における時刻(時間)情報として、Tickカウンタ231のカウント値Tc、システムクロック232の値Sc及びリアルタイムクロック230の値Rcを取得する(ステップS4)。
Next, the
次に障害判定処理部223は、フラグFがON(セット)されているかを判定する(ステップS5)。もし、フラグFがOFF(リセット)されているならば(ステップS5がNO)、障害判定処理部223は、今回ハートビート検出部222によって検出されたハートビート送信は、OS131-1が起動された後の最初のハートビート送信であり、時刻情報記憶部221には有効な時刻情報(Tp,Sp,Rp)は格納されていないと判定する。
Next, the failure
この場合、障害判定処理部223は、ステップS4で取得された時刻情報(Tc,Sc,Rc)を、時刻情報(Tp,Sp,Rp)として時刻情報記憶部221に格納する(ステップS6)。これにより後述するように、今回のハートビート送信の検出時に取得された時刻情報(Tc,Sc,Rc)が、次にハートビート送信が検出された際に、(前回のハートビート送信の検出時の)時刻情報(Tp,Sp,Rp)として用いられる。
In this case, the failure
ハートビート検出部222は、障害判定処理部223によって上記ステップS6が実行されると、フラグFをON(セット)して(ステップS7)、再びハートビート送信を監視する(ステップS2)。その後、ハートビート検出部222が、HB送信部212-1からの新たなハートビート送信を検出したものとする(ステップS3)。
When step S6 is executed by the failure
この場合、障害判定処理部223は、新たなハートビート送信の検出時点における時刻情報(Tc,Sc,Rc)を取得し(ステップS4)、しかる後にフラグFがONされているかを判定する(ステップS5)。このとき、時刻情報記憶部221には今回のハートビート送信に先行するハートビート送信(前回のハートビート送信)の検出時に取得された時刻情報が有効な時刻情報(Tp,Sp,Rp)として格納されており、フラグFはONされている。
In this case, the failure
障害判定処理部223は、フラグFがONされている場合(ステップS5がYES)、前回のハートビート送信の検出時に取得された有効な時刻情報(Tp,Sp,Rp)が時刻情報記憶部221に格納されていると判定する。すると障害判定処理部223は、今回ステップS4で取得された最新の時刻情報(Tc,Sc,Rc)中のTcと、時刻情報記憶部221に格納されている、前回のハートビート送信の検出時に取得された時刻情報(Tp,Sp,Rp)中のTpとに基づき、前回のハートビート送信時から今回のハートビート送信時までの経過期間(最新のハートビート送信時間間隔)ΔTを算出する(ステップS8)。即ち障害判定処理部223は、今回のハートビート送信時のTickカウンタ231の値Tcと前回のハートビート送信時のTickカウンタ231の値Tpとから、最新のハートビート送信時間間隔ΔTを次式
ΔT=Tc−Tp (1)
に従って算出する。このハートビート送信時間間隔(第1の時間間隔)ΔTは、Tickカウンタ231を用いて計測されたのと等価である。
When the flag F is ON (YES in step S5), the failure
Calculate according to This heartbeat transmission time interval (first time interval) ΔT is equivalent to that measured using the
次に障害判定処理部223は、Tickカウンタ231の値を用いて算出された(つまりTickカウンタ231を用いて計測された)ハートビート送信時間間隔ΔTが、ハートビートタイムアウト時間Toutを超えているか(ΔT>Tout)を判定する(ステップS9)。
Next, the failure
ハートビート送信時間間隔ΔTがハートビートタイムアウト時間Toutを超えている場合、OS131-1(の時間空間)上では、前回のハートビート送信時からハートビートタイムアウト時間Toutを超える時間が経過しており、少なくてもその期間、クラスタ制御機構210-1内のHB送信部212-1からのハートビート送信がなかったことになる。そこで障害判定処理部223は、ハートビート送信時間間隔ΔTがハートビートタイムアウト時間Toutを超えている場合(ステップS9がYES)、クラスタシステムがノード10-1のクラスタ制御機構(クラスタカーネル)210-1の障害(スローダウン)に起因する(ハートビート送信遅延による)スプリットブレイン発生状態(以下、タイプ2の障害と称する)にあると判定する(ステップS17)。
When the heartbeat transmission time interval ΔT exceeds the heartbeat timeout time Tout, the time exceeding the heartbeat timeout time Tout has elapsed since the last heartbeat transmission on the OS 131-1 (time space). At least during that period, there is no heartbeat transmission from the HB transmission unit 212-1 in the cluster control mechanism 210-1. Therefore, when the heartbeat transmission time interval ΔT exceeds the heartbeat timeout time Tout (YES in step S9), the failure
このように本実施形態においては、ノード10-1でのハートビート送信遅延によるスプリットブレイン発生状態を、当該ノード10-1(のハートビート監視機構220-1)により判定できるだけでなく、その原因が当該ノード10-1のクラスタ制御機構(クラスタカーネル)210-1の障害(スローダウン)にあることも判定できる。 As described above, in this embodiment, the split brain occurrence state due to the heartbeat transmission delay in the node 10-1 can be determined not only by the node 10-1 (the heartbeat monitoring mechanism 220-1) but also the cause thereof. It can also be determined that there is a failure (slowdown) in the cluster control mechanism (cluster kernel) 210-1 of the node 10-1.
強制停止処理部224は、障害判定処理部223によってタイプ2の障害が判定された場合(ステップS17)、クラスタ制御機構210-1を含むノード10-1(自ノード)を強制的に停止させるための強制停止処理(自ノード強制停止処理)を行う(ステップS19)。ここでは、クラスタシステムとしての整合性を保持するために、前述のようなOS停止動作223aまたは電源OFF動作223bが行われる。これによりスプリットブレイン発生状態を速やかに解消することができる。
The forcible
ところで、Tickカウンタ231はOS131-1が保持し、且つ当該OS131-1によって更新される。このため、OS131-1の障害(スローダウン)が発生していると、その間はTickカウンタ231は正確に更新されない。つまり、Tickカウンタ231を用いて計測されたハートビート送信時間間隔ΔTが、ハートビートタイムアウト時間Toutを超えていない場合、OS131-1のスローダウンの影響により、実際にはハートビートタイムアウト時間Toutを超える時間が経過している可能性がある。
Incidentally, the
このため、ハートビート送信時間間隔ΔTがハートビートタイムアウト時間Toutを超えていない場合には、そのハートビート送信時間間隔ΔT自体が正しい値かを判定する必要がある。つまり、OS131-1のスローダウンが発生しており、ハートビート送信時間間隔ΔTが、そのスローダウンの影響を受けているかを判定する必要がある。 For this reason, when the heartbeat transmission time interval ΔT does not exceed the heartbeat timeout time Tout, it is necessary to determine whether the heartbeat transmission time interval ΔT itself is a correct value. That is, it is necessary to determine whether the OS 131-1 has been slowed down and the heartbeat transmission time interval ΔT is affected by the slow-down.
そこでハートビート送信時間間隔ΔTがハートビートタイムアウト時間Toutを超えていない場合(ステップS9がNO)、障害判定処理部223は、今回ステップS4で取得された最新の時刻情報(Tc,Sc,Rc)中のRcと前回のハートビート送信の検出時に取得された時刻情報(Tp,Sp,Rp)中のRpとに基づき、前回のハートビート送信時から今回のハートビート送信時までの経過期間(最新のハートビート送信時間間隔)ΔRを算出する(ステップS10)。即ち障害判定処理部223は、今回のハートビート送信時のリアルタイムクロック230の値Rcと前回のハートビート送信時のリアルタイムクロック230の値Rpとから、最新のハートビート送信時間間隔ΔRを次式
ΔR=Rc−Rp (2)
に従って算出する。このハートビート送信時間間隔(第2の時間間隔)ΔRは、リアルタイムクロック230を用いて計測されたのと等価である。
Therefore, when the heartbeat transmission time interval ΔT does not exceed the heartbeat timeout time Tout (NO in step S9), the failure
Calculate according to This heartbeat transmission time interval (second time interval) ΔR is equivalent to that measured using the real-
次に障害判定処理部223は、リアルタイムクロック230の値を用いて算出された(つまりリアルタイムクロック230を用いて計測された)ハートビート送信時間間隔ΔRが、ハートビートタイムアウト時間Toutを超えているか(ΔR>Tout)を判定する(ステップS11)。ここでリアルタイムクロック230の値は、OS131-1の動作とは独立にハードウェアレベルで一定時間間隔で更新されている。このため、Tickカウンタ231を用いて計測されたハートビート送信時間間隔ΔTがハートビートタイムアウト時間Toutを超えておらず、且つリアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRがハートビートタイムアウト時間Toutを超えているならば、基本的には、クラスタシステムがノード10-1のOS131-1の障害(スローダウン)に起因する(ハートビート送信遅延による)スプリットブレイン発生状態にあると判定することができる。
Next, the failure
但し、リアルタイムクロック230は、OS131-1が管理するシステムクロック232との同期をとるために、例えばユーザからの指示に応じてOS131-1によって操作されることがある。このため、リアルタイムクロック230単独では正確なハートビート送信時間間隔を測定できないことがある。よって、リアルタイムクロック230がシステムクロック232を用いて日時操作がなされたために、当該リアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRがハートビートタイムアウト時間Toutを超えているかを判定する必要がある。
However, in order to synchronize with the
リアルタイムクロック230とシステムクロック232とは、OS131-1の起動時に同期がとられる。しかし、OS131-1の障害(スローダウン)が発生すると、当該OS131-1によって管理されているシステムクロック232は正確に更新されない状態となる。この結果、リアルタイムクロック230とシステムクロック232とは値が一致しない状態(同期が外れた状態)となる。
The real-
そこで、障害判定処理部223は、リアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRが、ハートビートタイムアウト時間Toutを超えている場合(ステップS11がYES)、今回ステップS4で取得された最新の時刻情報(Tc,Sc,Rc)中のScと前回のハートビート送信の検出時に取得された時刻情報(Tp,Sp,Rp)中のSpとに基づき、前回のハートビート送信時から今回のハートビート送信時までの経過期間(最新のハートビート送信時間間隔)ΔSを算出する(ステップS12)。即ち障害判定処理部223は、今回のハートビート送信時のシステムクロック232の値Scと前回のハートビート送信時のシステムクロック232の値Spとから、最新のハートビート送信時間間隔ΔSを次式
ΔS=Sc−Sp (3)
に従って算出する。このハートビート送信時間間隔(第3の時間間隔)ΔSは、システムクロック232を用いて計測されたのと等価である。
Therefore, when the heartbeat transmission time interval ΔR measured using the real-
Calculate according to This heartbeat transmission time interval (third time interval) ΔS is equivalent to that measured using the
次に障害判定処理部223は、システムクロック232を用いて計測されたハートビート送信時間間隔ΔSが、リアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRに一致するか(ΔS=ΔR)を判定する(ステップS13)。このステップS13の判定は、システムクロック232の値とリアルタイムクロック230の値とが一致するかを判定すること、つまりリアルタイムクロック230がシステムクロック232に同期しているかを判定することと等価である。なお、ステップS13において、ΔSがΔRに対して一定の誤差δの範囲に入っている場合(ΔR−δ≦ΔS≦ΔR+δ)に、ΔSがΔRに一致すると判定されても構わない。以上のステップS8乃至S13の処理を判定処理(ステップS20)と称する。
Next, the failure
障害判定処理部223は、ステップS13の判定がNOの場合、即ちTickカウンタ231を用いて計測されたハートビート送信時間間隔ΔTは、ハートビートタイムアウト時間Toutを超えていないものの、リアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRがハートビートタイムアウト時間Toutを超えていて、且つシステムクロック232を用いて計測されたハートビート送信時間間隔ΔSが当該ΔRに一致しない場合、OS131-1の障害(スローダウン)により当該ΔR(リアルタイムクロック230を用いて計測されたハートビート送信時間間隔)がハートビートタイムアウト時間Toutを超えたと判定する。即ち障害判定処理部223は、ステップS13の判定がNOの場合、クラスタシステムがノード10-1のOS131-1の障害(スローダウン)に起因する(ハートビート送信遅延による)スプリットブレイン発生状態(以下、タイプ1の障害と称する)にあると判定する(ステップS16)。このように本実施形態においては、ノード10-1でのハートビート送信遅延によるスプリットブレイン発生の原因が、当該ノード10-1のOS131-1の障害にあることを、当該ノード10-1(のハートビート監視機構220-1)により判定できる。
The failure
強制停止処理部224は、障害判定処理部223によってタイプ1の障害が判定された場合(ステップS16)、前述したタイプ2の障害が判定された場合(ステップS17)と同様に、ノード10-1を強制的に停止させるための強制停止処理を行う(ステップS19)。これによりスプリットブレイン発生状態を速やかに解消することができる。
The forcible
これに対し、ステップS13の判定がYESの場合、つまりシステムクロック232とリアルタイムクロック230との同期がとれている場合、障害判定処理部223は、システムクロック232が正常に更新されていることからOS131-1の障害(スローダウン)は発生しておらず、リアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRがハートビートタイムアウト時間Toutを超えているのは、当該リアルタイムクロック230がシステムクロック232を用いてOS131-1によって日時操作されたためであり、ノード10-1(を含むクラスタシステム)が正常な状態(以下、タイプ2の正常状態と称する)にあると判定する(ステップS15)。これにより、スプリットブレイン発生状態の誤検出を防止することができる。
On the other hand, if the determination in step S13 is YES, that is, if the
一方、ステップS11の判定がNOの場合、つまりTickカウンタ231を用いて計測されたハートビート送信時間間隔ΔT及びリアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRが、いずれもハートビートタイムアウト時間Toutを超えていない場合、障害判定処理部223は、クラスタ制御機構210-1及びOS131-1はいずれも障害(スローダウン)を発生しておらず、ノード10-1(を含むクラスタシステム)が正常な状態(以下、タイプ1の正常状態と称する)にあると判定する(ステップS14)。
On the other hand, if the determination in step S11 is NO, that is, the heartbeat transmission time interval ΔT measured using the
障害判定処理部223は、ノード10-1(を含むクラスタシステム)がタイプ1またはタイプ2の正常状態にあると判定すると(ステップS14またはS15)、今回上記ステップS4で取得された時刻情報(Tc,Sc,Rc)を新たな時刻情報(Tp,Sp,Rp)として、当該新たな時刻情報(Tp,Sp,Rp)で、現在時刻情報記憶部221に格納されている時刻情報(Tp,Sp,Rp)を更新する(ステップS18)。するとハートビート検出部222は、再びハートビート送信を監視する(ステップS2)。
ノード10-2内のハートビート監視機構220-2においても、上述のハートビート監視機構220-1と同様の動作が行われる。
If the failure
The heartbeat monitoring mechanism 220-2 in the node 10-2 also performs the same operation as that of the heartbeat monitoring mechanism 220-1.
[第1の変形例]
次に、上記実施形態の第1の変形例について説明する。
第1の変形例の第1の特徴は、上記実施形態における判定処理(ステップS20)でタイプ1またはタイプ2の正常状態が判定された場合、当該判定処理(ステップS20)と同様の判定処理が、ハートビートタイムアウト時間Toutに代わる閾値(以下、スローダウン検出時間と称する)Tsdに基づき実行される点にある。スローダウン検出時間Tsdは、ノード10-1が正常な場合のHB送信部212-1からのハートビート送信の時間間隔Thbよりも長く、ハートビートタイムアウト時間Toutよりも短い値(Thb<Tsd<Tout)に設定される。このようなスローダウン検出時間Tsdに基づく判定処理により、スプリットブレイン発生状態には至らない程度のクラスタ制御機構210-1またはOS131-1の障害(スローダウン)、つまりノード10-1の軽度のスローダウンが判定(検出)される。第1の変形例において、スローダウン検出時間Tsdは、ノード10-1及び10-2と通信路20または当該通信路20とは別の通信路(ネットワーク)を介して接続されるクライアント端末からユーザの操作に応じて設定されるものとする。
[First Modification]
Next, a first modification of the above embodiment will be described.
The first feature of the first modification is that when the normal state of
第1の変形例の第2の特徴は、スローダウン検出時間Tsdに基づく判定処理で、スプリットブレイン発生状態には至らない程度のノード10-1のスローダウンが判定された場合、当該スローダウン状態が警告のためにユーザに通知される点にある。 A second feature of the first modification is that when the determination process based on the slow-down detection time Tsd determines that the slow-down of the node 10-1 does not reach the split brain occurrence state, the slow-down state Is notified to the user for warning.
以下、上記実施形態の第1の変形例におけるハートビート監視機構220-1の動作について、上記実施形態と相違する点を中心に、図5のフローチャートを参照して説明する。なお、図5において、図4と同様の処理ステップには同一符号を付してある。 Hereinafter, the operation of the heartbeat monitoring mechanism 220-1 in the first modification of the above embodiment will be described with reference to the flowchart of FIG. 5 focusing on differences from the above embodiment. In FIG. 5, the same processing steps as those in FIG. 4 are denoted by the same reference numerals.
まず、前記ステップS8乃至S13から構成される判定処理(ステップS20)で、タイプ1またはタイプ2の正常状態が判定されたものとする(ステップS14またはS15)。この場合、上記実施形態では、ステップS18が実行される。これに対して第1の変形例では、上記ステップS20の判定処理に相当する次のような判定処理が行われる。ここで実行される判定処理の特徴は、ハートビートタイムアウト時間Toutに相当する閾値として、スローダウン検出時間Tsd(Thb<Tsd<Tout)が用いられる点にある。
First, it is assumed that the normal state of
まず障害判定処理部223は、Tickカウンタ231を用いて計測されたハートビート送信時間間隔ΔTが、スローダウン検出時間Tsdを超えているか(ΔT>Tsd)を判定する(ステップS21)。このとき、ハートビート送信時間間隔ΔTは、ハートビートタイムアウト時間Toutを超えていない。そこで、ハートビート送信時間間隔ΔTが、ハートビートタイムアウト時間Toutを超えていないものの、スローダウン検出時間Tsdを超えている場合(ステップS21がYES)、障害判定処理部223は、クラスタ制御機構(クラスタカーネル)210-1の軽度の障害(スローダウン)であると判定する(ステップS27)。この障害をタイプ4の障害と称する。
First, the failure
これに対し、ハートビート送信時間間隔ΔTがスローダウン検出時間Tsdを超えていない場合(ステップS21がNO)、OS131-1の軽度の障害である可能性もあることから、障害判定処理部223は、リアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRが、スローダウン検出時間Tsdを超えているか(ΔR>Tsd)を判定する(ステップS22)。もし、ハートビート送信時間間隔ΔRが、スローダウン検出時間Tsdを超えている場合(ステップS22がYES)、リアルタイムクロック230がシステムクロック232を用いて日時操作された可能性もあることから、障害判定処理部223は、システムクロック232を用いて計測されたハートビート送信時間間隔ΔSが、リアルタイムクロック230を用いて計測されたハートビート送信時間間隔ΔRに一致するか(ΔS=ΔR)を判定する(ステップS23)。なお、ステップS23において、ΔSがΔRに対して一定の誤差δの範囲に入っている場合(ΔR−δ≦ΔS≦ΔR+δ)に、ΔSがΔRに一致すると判定されても構わない。
On the other hand, when the heartbeat transmission time interval ΔT does not exceed the slowdown detection time Tsd (NO in step S21), the failure
もし、ハートビート送信時間間隔ΔSがハートビート送信時間間隔ΔRに一致しない場合(ステップS23がNO)、障害判定処理部223は、OS131-1の軽度の障害(スローダウン)であると判定する(ステップS26)。この障害をタイプ3の障害と称する。
If the heartbeat transmission time interval ΔS does not coincide with the heartbeat transmission time interval ΔR (step S23 is NO), the failure
強制停止処理部224は、障害判定処理部223によってタイプ3またはタイプ4の障害(スローダウン)が判定された場合(ステップS26またはS27)、当該判定されたスローダウンの状態(ノード10-1における、クラスタ制御機構210-1またはOS131-1のスローダウン)を、ノード10-1を含むクラスタシステムがスプリットブレイン発生状態に至る前に、クライアント端末を介してユーザに通知する(ステップS28)。ここでは、強制停止処理部224からユーザが利用するクライアント端末に対し、通信機構14-1を介してスローダウンを通知することにより、当該ユーザへのスローダウン通知が行われる。
When the failure
このように第1の変形例においては、ノード10-1(に含まれるクラスタ制御機構210-1及びOS131-1)が正常状態(タイプ1またはタイプ2の正常状態)にあると判定された場合でも、ハートビート監視機構220-1(の障害判定処理部223)が、この正常状態の判定条件に用いられた閾値(ハートビートタイムアウト時間Tout)よりもゆるい判定条件のユーザ指定の閾値(スローダウン検出時間Tsd)を用いてステップS20と同様の判定処理を行うことにより、スプリットブレイン発生状態には至らないようなクラスタ制御機構210-1またはOS131-1のスローダウン(タイプ3またはタイプ4の障害)を判定(検出)することができる。つまり第1の変形例によれば、ハートビート監視機構220-1は、当該ハートビート監視機構220-1を含むノード10-1のスローダウンによりクラスタシステムがスプリットブレイン発生状態となる可能性のあることを予測することができる。
ノード10-2内のハートビート監視機構220-2においても、上述のハートビート監視機構220-1と同様の動作が行われる。
As described above, in the first modification, when it is determined that the node 10-1 (the cluster control mechanism 210-1 and the OS 131-1 included therein) is in a normal state (normal state of
The heartbeat monitoring mechanism 220-2 in the node 10-2 also performs the same operation as that of the heartbeat monitoring mechanism 220-1.
[第2の変形例]
次に、上記実施形態の第2の変形例について図6を参照して説明する。
図6は、上記実施形態の第2の変形例におけるクラスタシステムの主として機能構成を示すブロック図である。図6に示すクラスタシステムにおけるノード10-1及び10-2が上記実施形態と相違するのは、図2に示されるハートビート監視機構220-1及び220-2に代えて、それぞれハートビート監視機構240-1及び240-2が用いられる点にある。
[Second Modification]
Next, a second modification of the above embodiment will be described with reference to FIG.
FIG. 6 is a block diagram mainly showing a functional configuration of the cluster system in the second modification of the embodiment. The nodes 10-1 and 10-2 in the cluster system shown in FIG. 6 are different from the above embodiment in that heartbeat monitoring mechanisms are used instead of the heartbeat monitoring mechanisms 220-1 and 220-2 shown in FIG. 240-1 and 240-2 are used.
ノード10-1及び10-2のハートビート監視機構240-1及び240-2は、図3に示されるハートビート監視機構220-1と同様の構成を有する。つまりノード10-1及び10-2のハートビート監視機構240-1及び240-2は、上記実施形態におけるハートビート監視機構220-1及び220-2と同様に、ノード10-1及び10-2自身の障害を判定する機能を有する。ハートビート監視機構240-1及び240-2は更に、ハートビート監視機構220-1及び220-2にはない第1及び第2の機能をそれぞれ有する。 The heartbeat monitoring mechanisms 240-1 and 240-2 of the nodes 10-1 and 10-2 have the same configuration as the heartbeat monitoring mechanism 220-1 shown in FIG. That is, the heartbeat monitoring mechanisms 240-1 and 240-2 of the nodes 10-1 and 10-2 are similar to the heartbeat monitoring mechanisms 220-1 and 220-2 in the above-described embodiment. It has a function of judging its own fault. The heartbeat monitoring mechanisms 240-1 and 240-2 further have first and second functions not provided in the heartbeat monitoring mechanisms 220-1 and 220-2, respectively.
以下、第1及び第2の機能について、ハートビート監視機構240-1の第1の機能とハートビート監視機構240-2の第2の機能とを例に説明する。
ノード10-1のハートビート監視機構240-1は、クラスタ制御機構210-1のHB送信部212-1から送信されたハートビート(HB)を検出した際に、その時点のTickカウンタ231の値Tc、システムクロック232の値Sc及びリアルタイムクロック230の値Rc、つまり時刻情報(Tc,Sc,Rc)を当該検出されたハートビートに付加する(第1の機能)。ハートビート監視機構240-1によって時刻情報(Tc,Sc,Rc)が付加されハートビートは、通信機構14-1から通信路20を介してノード10-2に送信され、当該ノード10-2の通信機構14-2で受信される。
Hereinafter, the first function and the second function will be described by taking the first function of the heartbeat monitoring mechanism 240-1 and the second function of the heartbeat monitoring mechanism 240-2 as examples.
When the heartbeat monitoring mechanism 240-1 of the node 10-1 detects the heartbeat (HB) transmitted from the HB transmission unit 212-1 of the cluster control mechanism 210-1, the value of the
ノード10-2のハートビート監視機構240-2は、通信機構14-2で受信されるノード10-1からのハートビートを監視している。このハートビートには時刻情報(Tc,Sc,Rc)が付加されている。 The heartbeat monitoring mechanism 240-2 of the node 10-2 monitors the heartbeat from the node 10-1 received by the communication mechanism 14-2. Time information (Tc, Sc, Rc) is added to the heartbeat.
ハートビート監視機構240-2は、ノード10-1から送信されたハートビートを検出すると、上記第1の変形例においてノード10-1から送信されたハートビートを検出した場合に行われる判定処理(ハートビート送信時判定処理)と同様の判定処理(ハートビート受信時判定処理)を行う。但し、ハートビート監視機構240-2によるハートビート受信時判定処理では、ハートビート送信側のノード10-1(つまり他ノード)のスローダウン状態(タイプ3またはタイプ4の障害)が判定される。また、このハートビート監視機構240-2による判定には、検出されたハートビートに付加された時刻情報(Tc,Sc,Rc)が用いられる。
When the heartbeat monitoring mechanism 240-2 detects a heartbeat transmitted from the node 10-1, the heartbeat monitoring mechanism 240-2 performs a determination process performed when the heartbeat transmitted from the node 10-1 is detected in the first modified example ( A determination process (determination process at heartbeat reception) similar to the determination process at heartbeat transmission is performed. However, in the heartbeat reception determination process by the heartbeat monitoring mechanism 240-2, the slowdown state (
つまりハートビート監視機構240-2は、前回ハートビートを検出した際に当該ハートビートに付加されていた時刻情報(Tc,Sc,Rc)を時刻情報(Tp,Sp,Rp)として時刻情報記憶部(図3に示す時刻情報記憶部221に相当)に格納しておき、この時刻情報(Tp,Sp,Rp)と今回検出したハートビートに付加されていた時刻情報(Tc,Sc,Rc)とに基づき、ノード10-1(他ノード)の軽度のスローダウン状態(タイプ3またはタイプ4の障害)を判定する(第2の機能)。ハートビート監視機構240-2は、ノード10-1(他ノード)のタイプ3またはタイプ4の障害を判定すると、当該ノード10-1(他ノード)における(クラスタ制御機構210-1またはOS131-1の)軽度のスローダウンを、クライアント端末を介してユーザに通知する。
That is, the heartbeat monitoring mechanism 240-2 uses the time information (Tc, Sc, Rc) added to the heartbeat when the heartbeat was detected last time as time information (Tp, Sp, Rp) as a time information storage unit. (Corresponding to the time
このように第2の変形例によれば、ノード10-1からノード10-2に送信されるハートビートにハートビート監視機構240-1が時刻情報を付加して送信することにより、ノード10-2のハートビート監視機構240-2では、当該ハートビートに付加されている時刻情報を用いて、ハートビートの送信時と同様の判定処理によってノード10-1(他ノード)のスローダウン状態(タイプ3またはタイプ4の障害)を判定し、ユーザに通知することができる。 As described above, according to the second modification, the heartbeat monitoring mechanism 240-1 adds the time information to the heartbeat transmitted from the node 10-1 to the node 10-2 and transmits it. The second heartbeat monitoring mechanism 240-2 uses the time information added to the heartbeat to determine the slowdown state (type) of the node 10-1 (other node) by the same determination process as when the heartbeat is transmitted. 3 or type 4 failure) and can notify the user.
なお、ノード10-1(他ノード)がハートビート監視機構240-1のハートビート送信時判定処理で判定しているため、通常はハートビート監視機構240-2のハードビート受信時判定処理でスローダウン状態(タイプ1またはタイプ2の障害)と判定することはないが、ノード10-1(他ノード)のノード障害以外、例えば通信路20の一過性の障害によりハートビートタイムアウト時間Thb以上の間ハートビートが届かずにハートビート監視機構240-2がハートビートを受信できていなかった場合、ノード10-1(他ノード)のスローダウン状態(タイプ1またはタイプ2の障害)として判定される。このような場合には、当該ノード10-1(他ノード)を停止させるための強制停止処理を行う。これにより、上記実施形態と同様にスプリットブレイン発生状態を速やかに解消することができる。
Since the node 10-1 (another node) has made a determination in the heartbeat transmission mechanism determination process of the heartbeat monitoring mechanism 240-1, it is normally thrown in the hardbeat reception determination process of the heartbeat monitoring mechanism 240-2. Although it is not determined as a down state (
ノード10-2のハートビート監視機構240-2においても、ノード10-1(他ノード)へのハートビートの送信時に、当該ノード10-1(他ノード)に送信されるハートビートに時刻情報(Tc,Sc,Rc)を付加する動作が行われる。またノード10-1のハートビート監視機構240-1においても、ノード10-2(他ノード)からのハートビートを検出した際に、上記ノード10-2のハートビート監視機構240-2で行われるのと同様のハートビート受信時判定処理が行われる。 Also in the heartbeat monitoring mechanism 240-2 of the node 10-2, when the heartbeat is transmitted to the node 10-1 (other node), the time information ( The operation of adding (Tc, Sc, Rc) is performed. The heartbeat monitoring mechanism 240-1 of the node 10-1 also performs the heartbeat monitoring mechanism 240-2 of the node 10-2 when a heartbeat from the node 10-2 (another node) is detected. The same heartbeat reception time determination process as that described above is performed.
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。 In addition, this invention is not limited to the said embodiment or its modification example as it is, A component can be deform | transformed and embodied in the range which does not deviate from the summary in an implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment or its modification. For example, you may delete a some component from all the components shown by embodiment or its modification.
10-1,10-2…ノード(計算機)、13-1,13-2…外部記憶装置、14-1,14-2…通信機構、20…通信路、131-1,131-2…OS(オペレーティングシステム)、132-1,132-2…プログラム、210-1,210-2…クラスタ制御機構、211-1,211-2…主制御部、212-1,212-2…HB送信部(ハートビート送信部)、213-1,213-2…HB受信部(ハートビート送信部)、220-1,220-2,240-1,240-2…ハートビート監視機構、221…時刻情報記憶部、222…ハートビート検出部、223…障害判定処理部、224…強制停止処理部、230…リアルタイムクロック、231…Tickカウンタ(時間カウンタ)、232…システムクロック。
10-1, 10-2 ... nodes (computers), 13-1, 13-2 ... external storage devices, 14-1, 14-2 ... communication mechanism, 20 ... communication path, 131-1, 131-2 ... OS (Operating system), 132-1, 132-2 ... program, 210-1, 210-2 ... cluster control mechanism, 211-1, 211-2 ... main control unit, 212-1, 212-2 ... HB transmission unit (Heartbeat transmitter), 213-1, 213-2 ... HB receiver (Heartbeat transmitter), 220-1, 220-2, 240-1, 240-2 ... Heartbeat monitoring mechanism, 221 ... Time
Claims (7)
前記計算機の状態を、前記クラスタシステムを構成する他の計算機に通知するためのハートビート送信を一定時間間隔で行うと共に、前記他の計算機からのハートビート受信を監視し、前記他の計算機からのハートビート受信が予め定められたハートビートタイムアウト時間を超えて途絶した場合、前記他の計算機の障害を判定して前記他の計算機の計算機で実行されていたサービスを継続するためのフェイルオーバを行うクラスタ制御機構と、
時間または日時を計時するための計時手段と、
前記クラスタ制御機構による前記他の計算機への前記ハートビート送信を監視して、当該ハートビート送信の時間間隔を前記計時手段を用いて計測し、計測された前記ハートビート送信の時間間隔が前記ハートビートタイムアウト時間を超えている場合に前記計算機のスローダウンに起因するスプリットブレイン発生状態にあると判定して、前記計算機を強制的に停止させるハートビート監視機構と
を具備することを特徴とするクラスタシステムを構成する計算機。 In the computers that make up the cluster system,
Heartbeat transmission for notifying other computers constituting the cluster system of the state of the computer is performed at regular time intervals, and heartbeat reception from the other computers is monitored. A cluster that performs failover to continue the service that was executed on the computer of the other computer by determining the failure of the other computer when the heartbeat reception is interrupted beyond a predetermined heartbeat timeout period A control mechanism;
Time keeping means for keeping time or date and time,
The heartbeat transmission to the other computer by the cluster control mechanism is monitored, the time interval of the heartbeat transmission is measured using the time measuring means, and the measured time interval of the heartbeat transmission is the heartbeat transmission time. A heartbeat monitoring mechanism that determines that a split brain has occurred due to slowdown of the computer when the beat timeout time is exceeded, and forcibly stops the computer. Computers that make up the system.
前記ハートビート監視機構は、前記クラスタ制御機構による前記他の計算機への前記ハートビート送信の時間間隔を前記時間カウンタを用いて計測し、計測された前記ハートビート送信の時間間隔が前記ハートビートタイムアウト時間を超えている場合に、前記クラスタ制御機構のスローダウンに起因するスプリットブレイン発生状態にあると判定する
ことを特徴とする請求項1記載のクラスタシステムを構成する計算機。 The time measuring means is a time counter managed by an operating system, and includes a time counter that counts an elapsed time from the startup of the operating system,
The heartbeat monitoring mechanism measures the time interval of the heartbeat transmission to the other computer by the cluster control mechanism using the time counter, and the measured time interval of the heartbeat transmission is the heartbeat timeout. 2. The computer constituting the cluster system according to claim 1, wherein when the time is exceeded, it is determined that a split brain is generated due to a slowdown of the cluster control mechanism. 3.
前記ハートビート監視機構は、前記クラスタ制御機構による前記他の計算機への前記ハートビート送信の時間間隔を前記リアルタイムクロックを用いて計測し、前記時間カウンタを用いて計測された前記ハートビート送信の時間間隔である第1の時間間隔が前記ハートビートタイムアウト時間を超えていなくても、前記リアルタイムクロックを用いて計測された前記ハートビート送信の時間間隔である第2の時間間隔が前記ハートビートタイムアウト時間を超えている場合、前記オペレーティングシステムのスローダウンに起因するスプリットブレイン発生状態にあると判定する
ことを特徴とする請求項2記載のクラスタシステムを構成する計算機。 The timekeeping means further includes a real-time clock that times the date and time independently of the operating system,
The heartbeat monitoring mechanism measures the time interval of the heartbeat transmission to the other computer by the cluster control mechanism using the real time clock, and measures the heartbeat transmission time measured using the time counter. Even if the first time interval that is the interval does not exceed the heartbeat timeout time, the second time interval that is the time interval of the heartbeat transmission measured using the real-time clock is the heartbeat timeout time. 3. The computer constituting the cluster system according to claim 2, wherein the computer is determined to be in a split brain occurrence state due to a slowdown of the operating system.
前記リアルタイムクロックは、前記オペレーティングシステムによる前記システムクロックの日時操作時に、当該システムクロックに同期するように前記オペレーティングシステムによって日時操作され、
前記ハートビート監視機構は、前記クラスタ制御機構による前記他の計算機への前記ハートビート送信の時間間隔を前記システムクロックを用いて計測し、前記第1の時間間隔が前記ハートビートタイムアウト時間を超えておらず、且つ前記第2の時間間隔が前記ハートビートタイムアウト時間を超えている場合でも、前記システムクロックを用いて計測された前記ハートビート送信の時間間隔である第3の時間間隔が前記第2の時間間隔に一致するならば、前記計算機は正常であると判定することを特徴とする請求項3記載のクラスタシステムを構成する計算機。 The timekeeping means further includes a system clock that is managed by the operating system and counts the date and time, and can be changed by the operating system.
The real-time clock is operated by the operating system to synchronize with the system clock at the time of the system clock operation by the operating system,
The heartbeat monitoring mechanism measures the time interval of the heartbeat transmission to the other computer by the cluster control mechanism using the system clock, and the first time interval exceeds the heartbeat timeout time. Even if the second time interval exceeds the heartbeat timeout time, the third time interval that is the time interval of the heartbeat transmission measured using the system clock is the second time interval. 4. The computer constituting the cluster system according to claim 3, wherein the computer is determined to be normal if the time intervals coincide with each other.
ことを特徴とする請求項1記載のクラスタシステムを構成する計算機。 Although the measured heartbeat transmission time interval does not exceed the heartbeat timeout time, the heartbeat monitoring mechanism is longer than the fixed time interval and shorter than the heartbeat timeout time. When the preset slowdown detection time is exceeded, the client computer connected to the computer is notified that a slowdown that has not reached the split brain occurrence state has occurred in the computer. The computer constituting the cluster system according to claim 1.
前記ハートビート監視機構が、前記クラスタ制御機構による前記他の計算機への前記ハートビート送信を監視することにより、当該ハートビート送信の時間間隔を前記計時手段を用いて計測するステップと、
前記ハートビート監視機構が、前記計測された前記ハートビート送信の時間間隔を前記ハートビートタイムアウト時間と比較するステップと、
前記ハートビート監視機構が、前記計測された前記ハートビート送信の時間間隔が前記ハートビートタイムアウト時間を超えている場合、前記計算機のスローダウンに起因するスプリットブレイン発生状態にあると判定するステップと、
前記スプリットブレイン発生状態にあると判定された場合、前記ハートビート監視機構が前記計算機を強制的に停止させるステップと
を実行させるためのプログラム。 A computer constituting a cluster system, wherein heartbeat transmission for notifying other computers constituting the cluster system of the state of the computer is performed at regular time intervals, and heartbeat reception from the other computers is performed. When the heartbeat reception from the other computer is interrupted after exceeding a predetermined heartbeat timeout time, the failure of the other computer is determined and executed by the computer of the other computer. To a computer having a cluster control mechanism that performs failover to continue the service, a time measuring means for measuring time or date, and a heartbeat monitoring mechanism,
The heartbeat monitoring mechanism measures the heartbeat transmission time interval by using the time measuring means by monitoring the heartbeat transmission to the other computer by the cluster control mechanism;
The heartbeat monitoring mechanism comparing the measured heartbeat transmission time interval with the heartbeat timeout time;
When the heartbeat monitoring mechanism determines that the measured brainbeat transmission time interval exceeds the heartbeat timeout time, it is in a split brain occurrence state due to slowdown of the computer;
A program for causing the heartbeat monitoring mechanism to forcibly stop the computer when it is determined that the split brain has occurred.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008186289A JP4599435B2 (en) | 2008-07-17 | 2008-07-17 | Computer and program constituting cluster system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008186289A JP4599435B2 (en) | 2008-07-17 | 2008-07-17 | Computer and program constituting cluster system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010026714A JP2010026714A (en) | 2010-02-04 |
| JP4599435B2 true JP4599435B2 (en) | 2010-12-15 |
Family
ID=41732505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008186289A Expired - Fee Related JP4599435B2 (en) | 2008-07-17 | 2008-07-17 | Computer and program constituting cluster system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4599435B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2012063306A1 (en) * | 2010-11-08 | 2012-05-18 | 三菱電機株式会社 | Virtual machine control device, virtual machine control system, virtual machine control method of virtual machine control device, and virtual machine control program |
| JP6856574B2 (en) | 2018-05-09 | 2021-04-07 | 日本電信電話株式会社 | Service continuation system and service continuation method |
| CN114138208B (en) * | 2022-02-07 | 2022-04-29 | 苏州浪潮智能科技有限公司 | Processing method for preventing DRBD brain cracking and related components |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04262428A (en) * | 1991-02-15 | 1992-09-17 | Nec Corp | Hot standby system |
| JPH11175488A (en) * | 1997-12-16 | 1999-07-02 | Toshiba Corp | Server system and failover control method |
| JP3190880B2 (en) * | 1998-05-26 | 2001-07-23 | 北海道日本電気ソフトウェア株式会社 | Standby system, standby method, and recording medium |
| JP3785931B2 (en) * | 2000-12-28 | 2006-06-14 | 日本電気株式会社 | I/O request blocking system, I/O request blocking method, and recording medium having recorded thereon an I/O request blocking program |
| US6996502B2 (en) * | 2004-01-20 | 2006-02-07 | International Business Machines Corporation | Remote enterprise management of high availability systems |
| JP3910967B2 (en) * | 2004-03-12 | 2007-04-25 | 東芝ソリューション株式会社 | Duplex system and multiplexing control method |
| JP2006253900A (en) * | 2005-03-09 | 2006-09-21 | Hitachi Ltd | IP address takeover method, IP address address takeover program, server, and network system |
-
2008
- 2008-07-17 JP JP2008186289A patent/JP4599435B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2010026714A (en) | 2010-02-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7783736B2 (en) | Definition of an active stratum-1 server in a coordinated timing network | |
| US8930608B2 (en) | Switch disk array, storage system and data storage path switching method | |
| US9582373B2 (en) | Methods and systems to hot-swap a virtual machine | |
| US7062676B2 (en) | Method and system for installing program in multiple system | |
| US8332684B2 (en) | Timer bounded arbitration protocol for resource control | |
| JP5042318B2 (en) | Method, system, and computer program for defining a tier 1 configuration in an agreement timing network | |
| US11330071B2 (en) | Inter-process communication fault detection and recovery system | |
| US20140032173A1 (en) | Information processing apparatus, and monitoring method | |
| US7925916B2 (en) | Failsafe recovery facility in a coordinated timing network | |
| EP3724761B1 (en) | Failure handling in a cloud environment | |
| JP4155399B2 (en) | Computer processing method, its execution system, and its processing program | |
| JP4599435B2 (en) | Computer and program constituting cluster system | |
| JPWO2012111112A1 (en) | Information processing apparatus, time setting method, and time setting program | |
| JP5760847B2 (en) | Information processing apparatus, information processing system, abnormality sign detection method for information processing apparatus, and abnormality sign detection program | |
| JPWO2008120352A1 (en) | Information processing apparatus and error processing method | |
| JP2010009258A (en) | Fault detection device of software | |
| JP2009008444A (en) | Time management server, time management program, and time management method | |
| CN110321261B (en) | Monitoring system and monitoring method | |
| JP4291713B2 (en) | Time adjustment method in logical computer system | |
| JP7298412B2 (en) | Abnormality determination device, abnormality determination method, and program | |
| EP3729271B1 (en) | Devices with networking functionality | |
| TWI643063B (en) | Detection method | |
| US10367682B2 (en) | Node failure recovery tool | |
| US9703315B2 (en) | Transmission device and time synchronization method | |
| US8595560B2 (en) | Information processing apparatus and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100826 |
|
| 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: 20100831 |
|
| 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: 20100927 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131001 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |