JP5594668B2 - Node, clustering system, clustering system control method, and program - Google Patents

Node, clustering system, clustering system control method, and program Download PDF

Info

Publication number
JP5594668B2
JP5594668B2 JP2010236770A JP2010236770A JP5594668B2 JP 5594668 B2 JP5594668 B2 JP 5594668B2 JP 2010236770 A JP2010236770 A JP 2010236770A JP 2010236770 A JP2010236770 A JP 2010236770A JP 5594668 B2 JP5594668 B2 JP 5594668B2
Authority
JP
Japan
Prior art keywords
node
nodes
stop
virtual address
state
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
JP2010236770A
Other languages
Japanese (ja)
Other versions
JP2012090180A (en
Inventor
淳 金子
正通 中田
省治 香西
Original Assignee
データアクセス株式会社
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 データアクセス株式会社 filed Critical データアクセス株式会社
Priority to JP2010236770A priority Critical patent/JP5594668B2/en
Publication of JP2012090180A publication Critical patent/JP2012090180A/en
Application granted granted Critical
Publication of JP5594668B2 publication Critical patent/JP5594668B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

複数のノードから構成される高可用性クラスタリングシステムに関し、特には、仮想IPアドレスを用いてノードのIPアドレスをフェイルオーバーする技術に関する。   The present invention relates to a high-availability clustering system composed of a plurality of nodes, and more particularly to a technique for failing over a node IP address using a virtual IP address.

従来、コンピュータシステムの負荷分散、拡張性、高可用性を実現するために適したシステムアーキテクチャとして、クラスタリングシステムが知られている。クラスタリングシステムは、複数のノード(コンピュータシステム)をネットワークで接続して構成され、当該ネットワークを介して個々のノードからクライアントに対してサービスが提供される。   Conventionally, a clustering system is known as a system architecture suitable for realizing load balancing, scalability, and high availability of a computer system. The clustering system is configured by connecting a plurality of nodes (computer systems) via a network, and services are provided to clients from individual nodes via the network.

クラスタリングシステムでは、高可用性を実現するための1つの方策として、1つのノードが故障や保守などのためにサービスを停止した場合に、停止したノードのリソースを他のノードが引き継ぎ、リソースを引き継いだノードが停止したノードのサービスを継続して提供する、フェイルオーバーと呼ばれる処理が行われることがある。   In a clustering system, as one measure for realizing high availability, when one node stops a service due to a failure or maintenance, the resources of the stopped node are taken over by other nodes and the resources are taken over. There is a case where a process called failover is performed in which the service of the stopped node is continuously provided.

ノードがクライアントに対してサービスを提供するためのIPアドレスは、フェイルオーバーによって引き継がれるべきリソースの1つである。IPアドレスの引き継ぎを、仮想IPアドレス(IPエイリアスとも呼ばれる)を用いて行う技術が知られている(例えば、特許文献1を参照)。   An IP address for a node to provide a service to a client is one of resources to be taken over by failover. A technique for taking over an IP address using a virtual IP address (also called an IP alias) is known (see, for example, Patent Document 1).

特許文献1には、1つの運用系ノード(以下、運用ノード)と1つの予備系ノード(以下、待機ノード)とからなり、個々のノードに固定IPアドレスを割り当て、運用ノードにはクライアントにサービスを提供するための仮想IPアドレスを割り当てたクラスタリングシステムが開示されている。   Patent Document 1 is composed of one active node (hereinafter referred to as “active node”) and one standby node (hereinafter referred to as “standby node”). Each node is assigned a fixed IP address, and the active node serves a client. A clustering system in which a virtual IP address for providing a virtual IP address is provided is disclosed.

このクラスタリングシステムは、固定IPアドレスを通してノード間でヘルスチェックを行い、運用ノードの障害が検出されると、前記仮想IPアドレスを待機ノードに割り当てることで、IPアドレスのフェイルオーバーを行っている。   This clustering system performs a health check between nodes through a fixed IP address, and when a failure of the operation node is detected, the virtual IP address is assigned to a standby node to perform failover of the IP address.

特開2004−32452号公報JP 2004-32452 A

しかしながら、特許文献1は、仮想IPアドレスを用いてノードのIPアドレスをフェイルオーバーするという基本的な考え方を示しているものの、開示されている具体例は、1つの運用ノードと1つの待機ノードによる運用形態(いわゆるACT/SBY運用)のみである。   However, although Patent Document 1 shows a basic idea of failing over a node IP address using a virtual IP address, the disclosed specific example is based on one active node and one standby node. Only the operation mode (so-called ACT / SBY operation).

クラスタリングシステムの運用形態は多様であり、特許文献1に例示される運用形態の他にも、例えば、1つの運用ノードと複数の待機ノードによる運用形態(ACT/SBY運用の冗長性を高めた形態)、複数の運用ノードによる運用形態(いわゆるACT/ACT運用)、複数の運用ノードと1つ以上の待機ノードによる運用形態(ACT/ACT運用に冗長性を付加した形態)といった、各種の運用形態のクラスタリングシステムが考えられる。   There are various operation forms of the clustering system. Besides the operation form exemplified in Patent Document 1, for example, an operation form with one operation node and a plurality of standby nodes (an form in which redundancy of ACT / SBY operation is increased) ), Operation modes with a plurality of operation nodes (so-called ACT / ACT operation), and operation modes with a plurality of operation nodes and one or more standby nodes (ACT / ACT operation with redundancy added). A clustering system can be considered.

このような各種の運用形態のクラスタリングシステムにおいて、仮想IPアドレスを用いてノードのIPアドレスをフェイルオーバーする場合、運用形態に応じた処理の違いを検討する必要がある。例えば、サービスを停止した運用ノードのIPアドレスを引き継ぐべき代替ノードを決めるにあたって、代替ノードの候補は運用形態によって異なるであろう。   In such a clustering system of various operation modes, when a node IP address is failed over using a virtual IP address, it is necessary to consider a difference in processing according to the operation mode. For example, in determining an alternative node that should take over the IP address of the operation node that has stopped the service, alternative node candidates will differ depending on the operation mode.

運用形態に応じて適切にIPアドレスがフェイルオーバーされるようにノードの機能(制御プログラム)を運用形態ごとにカスタマイズしてもよいが、そうすると、ノードの汎用性や異なる運用形態への適応性が損なわれるという問題が生じる。   The node function (control program) may be customized for each operation mode so that the IP address can be appropriately failed over according to the operation mode. However, this makes the node more versatile and adaptable to different operation modes. The problem of being damaged arises.

本発明は、上記の問題に鑑みてなされたものであり、クラスタリングシステムを構成するノードであって、仮想IPアドレスを用いたIPアドレスのフェイルオーバーを、異なる複数の運用形態のクラスタリングシステムにおいて統一的に実行することによって、汎用性や異なる運用形態への適応性に優れたノード、そのようなノードで構成されるクラスタリングシステム、およびそのようなノードにおいて実行されるクラスタリングシステムの制御方法を提供することを目的とする。   The present invention has been made in view of the above problems, and is a node constituting a clustering system, in which failover of an IP address using a virtual IP address is unified in a clustering system of a plurality of different operation modes. To provide a node having excellent versatility and adaptability to different operation modes, a clustering system composed of such nodes, and a control method of the clustering system executed in such nodes With the goal.

上記課題を解決するため、本発明のノードは、クライアントに対してサービスを提供するクラスタリングシステムを構成している複数のノードのうちの1つのノードであって、前記複数のノードの各々は、管理用の1つの固定アドレスと、前記クライアントに対して前記サービスを提供するための1つ以上の仮想アドレスとが指定され、前記仮想アドレスを通して前記サービスを提供する運用状態、前記サービスを提供可能な状態で待機している待機状態、および前記サービスを提供することができない停止状態のうちの、どの状態にもなることができ、前記クラスタリングシステムは、全てのノードに同じ仮想アドレスが指定され高々1つのノードが運用状態になり得る第1のクラスタリングシステム、及び全てのノードに異なる仮想アドレスが指定され全てのノードが運用状態になり得る第2のクラスタリングシステム、及び前記第2のクラスタリングシステムに待機状態のままでリザーブされるノードを加えた第3のクラスタリングシステムのうちの何れか1つであり、前記1つのノードである自ノードは、前記複数のノードのうち運用状態から停止状態になったノードを停止ノードとして検出する停止ノード検出部と、前記停止ノードが検出されると、自ノードが待機状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しいか、または、自ノードが運用状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なることにより、自ノードが前記停止ノードの代替候補であると判断する代替判断部と、自ノードが前記代替候補であると判断されると、前記複数のノードのうち自ノードと同じ状態にある1つ以上のノードのなかから、前記停止ノードを実際に代替する代替ノードを決定する代替ノード決定部と、自ノードが前記代替ノードに決定されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しい場合、自ノードに指定された仮想アドレスを維持したまま自ノードの状態を運用状態に変更し、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードに前記停止ノードの仮想アドレスを追加指定することにより、自ノードを、前記停止ノードに指定された仮想アドレスを通して前記サービスを提供する運用状態にする代替開始部とを備える。 In order to solve the above problems, the node of the present invention is one of a plurality of nodes constituting a clustering system that provides services to clients, and each of the plurality of nodes is managed. One fixed address for use and one or more virtual addresses for providing the service to the client are designated, and an operation state in which the service is provided through the virtual address and a state in which the service can be provided The clustering system can be in any one of a standby state waiting in the state and a stopped state in which the service cannot be provided . A first clustering system in which nodes can be in operation, and different virtual addresses for all nodes Any one of a second clustering system in which a node is designated and all nodes can be in an operating state, and a third clustering system in which a node reserved in a standby state is added to the second clustering system. When the stop node is detected, the stop node detecting unit that detects a node that is in the stop state from the operation state among the plurality of nodes as a stop node, and the stop node is detected. The virtual address specified for the own node is equal to the virtual address specified for the stop node and the virtual address specified for the stop node is equal to the virtual address specified for the own node Since the virtual address specified for the stop node is different, it is determined that the own node is an alternative candidate for the stop node. And when the local node is determined to be the alternative candidate, it actually replaces the stop node from one or more nodes in the same state as the local node among the plurality of nodes. An alternative node determination unit that determines an alternative node, and when the local node is determined as the alternative node, if the virtual address specified in the local node is equal to the virtual address specified in the stop node, it is specified as the local node If the status of the current node is changed to the operating status while maintaining the virtual address, and if the virtual address specified for the current node is different from the virtual address specified for the stop node, the status of the current node is changed to the operating status. By additionally specifying the virtual address of the stop node to the local node while maintaining the local node, the local node is passed through the virtual address specified for the stop node. And an alternative start unit that puts the service into an operational state.

この構成によれば、前記代替判断部は、自ノードが停止ノードの代替候補になるか否かを、自ノードと停止ノードとでの仮想アドレスの異同、および自ノードの状態がSBYおよびACTのいずれであるかの比較を組み合わせて定義される特徴的な条件に従って判断している。   According to this configuration, the substitution determination unit determines whether or not the own node is a candidate for the stop node, whether the own node and the stop node have different virtual addresses, and the state of the own node is SBY or ACT. Judgment is made according to a characteristic condition defined by a combination of comparisons.

この判断の条件は、例えば、全てのノードに同じ仮想IPアドレスが指定され高々1つのノードが運用状態になり得るクラスタリングシステムにおいても、また全てのノードに異なる仮想IPアドレスが指定され全てのノードが運用状態になり得るクラスタリングシステムにおいても、さらにまたそのようなクラスタリングシステムに待機状態のままでリザーブされるノードを加えたクラスタリングシステムにおいても、共通かつ有効に機能することから、仮想IPアドレスを用いたIPアドレスのフェイルオーバーを、異なる複数の運用形態のクラスタリングシステムにおいて統一的に実行できるノードが実現される。   For example, in a clustering system in which the same virtual IP address is specified for all nodes and at most one node can be in an operating state, different virtual IP addresses are specified for all nodes. In a clustering system that can be in an operational state, and in a clustering system in which a node that is reserved in a standby state is added to such a clustering system, it functions in common and effectively, so a virtual IP address is used. A node capable of performing IP address failover uniformly in a clustering system of a plurality of different operation modes is realized.

また、さらに、前記停止ノードが待機状態になったことを検出する復帰検出部と、前記待機状態が検出されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードから前記停止ノードの仮想アドレスの指定を削除する代替終了部とを備えてもよい。   In addition, a return detection unit that detects that the stop node is in a standby state, and when the standby state is detected, a virtual address specified for the own node and a virtual address specified for the stop node, If the two nodes are different from each other, an alternative end unit may be provided that deletes the designation of the virtual address of the stop node from the own node while maintaining the state of the own node in the operating state.

この構成によれば、前記代替開始部および前記代替終了部で行われる処理は、例えば前述の各種の運用形態のクラスタリングシステムにおいて、共通かつ有効に機能することから、仮想IPアドレスを用いたIPアドレスのフェイルオーバーを、異なる複数の運用形態のクラスタリングシステムにおいて統一的に実行できるノードが実現される。   According to this configuration, the processing performed by the substitution start unit and the substitution end unit functions in a common and effective manner in, for example, the clustering system of the various operation modes described above. Therefore, an IP address using a virtual IP address Nodes that can perform the same failover in a clustering system in a plurality of different operation modes are realized.

また、前記代替ノード決定部は、前記複数のノードのうち自ノードと同じ状態にある前記1つ以上のノードに対して、自ノードが前記代替ノードになることの承認要求を送信し、前記承認要求を送信した全てのノードから前記承認要求に対する受諾応答が受信されると、自ノードを前記代替ノードに決定するとともに、前記承認要求をコミットしてもよい。   Further, the alternative node determination unit transmits an approval request that the own node becomes the alternative node to the one or more nodes in the same state as the own node among the plurality of nodes, and the approval node When an acceptance response to the approval request is received from all the nodes that transmitted the request, the node may be determined as the alternative node and the approval request may be committed.

この構成によれば、代替候補となった複数のノード間で、2フェーズコミットの考え方に基づいて矛盾なく代替ノードを決定することができる。   According to this configuration, it is possible to determine an alternative node without contradiction between a plurality of nodes that are alternative candidates based on the concept of two-phase commit.

また、前記代替ノード決定部は、自ノードの負荷レベルが高いほどより長い時間を設定し、設定された時間の経過後に前記承認要求を送信してもよい。   The alternative node determination unit may set a longer time as the load level of the own node is higher, and transmit the approval request after the set time has elapsed.

この構成によれば、負荷レベルが高いノードほど承認要求を送信するタイミングを意図的に遅らせるので、複数のノードが代替候補となった場合に、負荷レベルが低いノードほど早いタイミングで承認要求を送信することになる。その結果、処理能力に余裕があるノードほど代替ノードになりやすくなるという効果が得られる。   This configuration intentionally delays the approval request transmission timing for nodes with a higher load level, so when multiple nodes become alternative candidates, the approval request is transmitted earlier with a lower load level. Will do. As a result, it is possible to obtain an effect that a node having a sufficient processing capacity is more likely to become an alternative node.

また、前記代替ノード決定部は、前記承認要求を送信したノードの中に、自ノードよりも負荷レベルが低いノードがない場合にのみ、自ノードを前記代替ノードに決定するとともに、前記承認要求をコミットしてもよい。   The alternative node determination unit determines the alternative node as the alternative node only when there is no node having a lower load level than the own node among the nodes that transmitted the approval request, and the approval request is determined. You may commit.

この構成によれば、自ノードよりも負荷レベルが低いノードがない場合にのみ、自ノードが代替ノードとして決定されるので、代替候補となった複数のノードのうち、最も負荷レベルが低いノードが代替ノードに決定されるという、合理的な決定がなされる。   According to this configuration, only when there is no node having a lower load level than the own node, the own node is determined as an alternative node. Therefore, among the plurality of nodes that are alternative candidates, the node with the lowest load level is determined. A reasonable decision is made to be determined as an alternative node.

また、本発明は、前述したようなノードとして実現できるだけでなく、そのような複数のノードから構成されるクラスタリングシステムとして実現することもできる。また、前記ノードが備える特徴的な手段によって実行される処理をステップとするクラスタリングシステムの制御方法として実現することも、さらにはコンピュータプログラムとして実現することもできる。   The present invention can be realized not only as a node as described above but also as a clustering system including a plurality of such nodes. Further, it can be realized as a control method of a clustering system having a process executed by characteristic means included in the node as a step, or can be realized as a computer program.

本発明のノードによれば、クライアントに対してサービスを提供するクラスタリングシステムを構成している複数のノードのうちの1つのノードであって、前記複数のノードの各々は、管理用の1つの固定アドレスと、前記クライアントに対して前記サービスを提供するための1つ以上の仮想アドレスとが指定され、前記仮想アドレスを通して前記サービスを提供する運用状態、前記サービスを提供可能な状態で待機している待機状態、および前記サービスを提供することができない停止状態のうちの、どの状態にもなることができ、前記クラスタリングシステムは、全てのノードに同じ仮想アドレスが指定され高々1つのノードが運用状態になり得る第1のクラスタリングシステム、及び全てのノードに異なる仮想アドレスが指定され全てのノードが運用状態になり得る第2のクラスタリングシステム、及び前記第2のクラスタリングシステムに待機状態のままでリザーブされるノードを加えた第3のクラスタリングシステムのうちの何れか1つであり、前記1つのノードである自ノードは、前記複数のノードのうち運用状態から停止状態になったノードを停止ノードとして検出する停止ノード検出部と、前記停止ノードが検出されると、自ノードが待機状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しいか、または、自ノードが運用状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なることにより、自ノードが前記停止ノードの代替候補であると判断する代替判断部と、自ノードが前記代替候補であると判断されると、前記複数のノードのうち自ノードと同じ状態にある1つ以上のノードのなかから、前記停止ノードを実際に代替する代替ノードを決定する代替ノード決定部と、自ノードが前記代替ノードに決定されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しい場合、自ノードに指定された仮想アドレスを維持したまま自ノードの状態を運用状態に変更し、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードに前記停止ノードの仮想アドレスを追加指定することにより、自ノードを、前記停止ノードに指定された仮想アドレスを通して前記サービスを提供する運用状態にする代替開始部とを備える。 According to the node of the present invention, one node among a plurality of nodes constituting a clustering system that provides services to clients, each of the plurality of nodes being one fixed for management. An address and one or more virtual addresses for providing the service to the client are specified, and an operation state in which the service is provided through the virtual address and a state in which the service can be provided are waited for. The clustering system can be in any of a standby state and a stopped state in which the service cannot be provided. In the clustering system, the same virtual address is assigned to all nodes and at most one node is in an operating state. The first clustering system that can be, and all the nodes are all assigned different virtual addresses Node second clustering system which can be the operation state, and is any one of the third clustering system plus nodes reserve remains in the standby state to the second clustering system, the 1 The own node, which is one node, includes a stop node detection unit that detects a node that has been stopped from the operation state as a stop node among the plurality of nodes, and when the stop node is detected, the own node enters a standby state. And the virtual address specified for the own node and the virtual address specified for the stop node are equal, or the own node is in an operating state and the virtual address specified for the own node and the stop node specified An alternative determination unit that determines that the own node is an alternative candidate for the stop node because the virtual address differs When it is determined that the own node is the alternative candidate, an alternative is to determine an alternative node that actually replaces the stop node from one or more nodes in the same state as the own node among the plurality of nodes. When the node determination unit and the local node are determined as the alternative node, the virtual address specified in the local node is maintained if the virtual address specified in the local node is equal to the virtual address specified in the stop node. If the virtual address specified for the local node is different from the virtual address specified for the stop node, the local node remains in the operational state and the local node remains in the operational state. By additionally specifying the virtual address of the stop node, the local node provides the service through the virtual address specified by the stop node. And an alternative start unit for setting the operation state.

この構成によれば、前記代替判断部は、自ノードが停止ノードの代替候補になるか否かを、自ノードと停止ノードとでの仮想アドレスの異同、および自ノードの状態がSBYおよびACTのいずれであるかの比較を組み合わせて定義される特徴的な条件に従って判断している。   According to this configuration, the substitution determination unit determines whether or not the own node is a candidate for the stop node, whether the own node and the stop node have different virtual addresses, and the state of the own node is SBY or ACT. Judgment is made according to a characteristic condition defined by a combination of comparisons.

この判断の条件は、例えば、全てのノードに同じ仮想IPアドレスが指定され高々1つのノードが運用状態になり得るクラスタリングシステムにおいても、また全てのノードに異なる仮想IPアドレスが指定され全てのノードが運用状態になり得るクラスタリングシステムにおいても、さらにまたそのようなクラスタリングシステムに待機状態のままでリザーブされるノードを加えたクラスタリングシステムにおいても、共通かつ有効に機能することから、仮想IPアドレスを用いたIPアドレスのフェイルオーバーを、異なる複数の運用形態のクラスタリングシステムにおいて統一的に実行できるノードが実現される。   For example, in a clustering system in which the same virtual IP address is specified for all nodes and at most one node can be in an operating state, different virtual IP addresses are specified for all nodes. In a clustering system that can be in an operational state, and in a clustering system in which a node that is reserved in a standby state is added to such a clustering system, it functions in common and effectively, so a virtual IP address is used. A node capable of performing IP address failover uniformly in a clustering system of a plurality of different operation modes is realized.

本発明の実施の形態に係るクラスタリングシステムの一例を示す概略構成図Schematic configuration diagram showing an example of a clustering system according to an embodiment of the present invention ノードが取り得る状態を説明する状態遷移図State transition diagram explaining the possible states of the node ノードの機能的な構成の一例を示すブロック図Block diagram showing an example of the functional configuration of a node 状態テーブルの一例を示す図The figure which shows an example of a state table 仮想アドレス制御処理の一例を示すフローチャートFlow chart showing an example of virtual address control processing 代替ノード決定処理の一例を示すフローチャートA flowchart showing an example of an alternative node determination process 代替開始処理の一例を示すフローチャートFlowchart showing an example of alternative start processing 代替終了処理の一例を示すフローチャートA flowchart showing an example of the substitution end process 第1実施例におけるシステムの動作の一例を示すシーケンスチャートSequence chart showing an example of operation of the system in the first embodiment 第2実施例におけるシステムの動作の一例を示すシーケンスチャートSequence chart showing an example of the operation of the system in the second embodiment

本発明の実施の形態におけるクラスタリングシステムおよびノードについて、図面を参照しながら詳細に説明する。   A clustering system and nodes according to an embodiment of the present invention will be described in detail with reference to the drawings.

(クラスタリングシステムの構成)
図1は、本発明の実施の形態におけるクラスタリングシステム10の一例を示す概略構成図である。
(Clustering system configuration)
FIG. 1 is a schematic configuration diagram illustrating an example of a clustering system 10 according to an embodiment of the present invention.

クラスタリングシステム10は、ネットワークを介してクライアント91〜94にサービスを提供するシステムであり、ノード11〜14をネットワーク19で接続してなる。   The clustering system 10 is a system that provides services to clients 91 to 94 via a network, and is configured by connecting nodes 11 to 14 via a network 19.

ノード11〜14の各々は、一例として、3層モデルによるWebアプリケーションサーバであり、管理用の1つの固定IPアドレスipn(n=1〜4)と、クライアント91〜94に対してサービスを提供するための1つ以上の仮想IPアドレスvipn(n=1〜4)とが指定される。ここで、固定IPアドレス、仮想IPアドレスは、それぞれ本発明の固定アドレス、仮想アドレスの一例である。以下では、簡便のために、固定IPアドレス、仮想IPアドレスを、それぞれ固定アドレス、仮想アドレスと言うことがある。   Each of the nodes 11 to 14 is a web application server based on a three-layer model, for example, and provides a service for one fixed IP address ipn (n = 1 to 4) for management and clients 91 to 94. One or more virtual IP addresses vipn (n = 1 to 4) are designated. Here, the fixed IP address and the virtual IP address are examples of the fixed address and the virtual address of the present invention, respectively. Hereinafter, for convenience, the fixed IP address and the virtual IP address may be referred to as a fixed address and a virtual address, respectively.

ノード11〜14は、相互に、管理用の固定IPアドレスipnを通して、自ノードの最新の状態の通知、ヘルスチェック、およびデータベースの一致制御といった管理用の通信を行うとともに、クライアントに対して、仮想IPアドレスvipnを通して、サービスを提供する。   Each of the nodes 11 to 14 performs management communication such as notification of the latest state of the own node, health check, and database matching control through a management fixed IP address ipn, and also performs virtual communication with the client. The service is provided through the IP address vipn.

(ノードが取り得る状態)
図2は、ノード11が取り得る状態を説明する状態遷移図である。ノード12〜14も同様の状態を取り得るものとし、ここではノード11について代表して説明する。
(State that the node can take)
FIG. 2 is a state transition diagram illustrating states that the node 11 can take. The nodes 12 to 14 can assume the same state, and the node 11 will be described as a representative here.

ノード11は、指定された仮想IPアドレスを通してサービスを提供する運用状態(ACT:ACTive)、サービスを提供可能な状態で待機している待機状態(SBY:StandBY)、サービスを提供することができない停止状態(OUS:OUt of Service)、および電源投入後などにおいてノードが起動中の初期状態(INIT:INITial)のうちの、どの状態にもなることができる。   The node 11 is in an operation state (ACT: ACTIVE) in which a service is provided through a designated virtual IP address, a standby state (SBY: StandBY) in which the service can be provided, and a stop in which the service cannot be provided. The state can be any of a state (OUS: OUt of Service) and an initial state (INIT: INITial) in which the node is activated after the power is turned on.

本発明は停止状態の種類を限定しないが、一例として、SBYまたはACTになるために修理を要する故障状態(FAIL:FAILure)は停止状態の1つの典型例であり、また定期点検や停電によるサービス停止も停止状態の一例になり得る。   Although the present invention does not limit the types of stop states, as an example, a failure state (FAIL: FAILure) that requires repair to become SBY or ACT is one typical example of a stop state, and is also a service due to periodic inspections and power outages. A stop can also be an example of a stop state.

以下では簡潔のため、ノードの状態を記号で表記することがある。   In the following, for the sake of brevity, the state of a node may be represented by a symbol.

INITとSBYとの間は、オペレータからスタートアップコマンド、シャットダウンコマンドが投入されることで遷移する。SBYとACTとの間は、オペレータからアクティベートコマンド、スタンバイコマンドが投入されることで遷移するほかに、後述する代替開始終了部36が行う制御によって遷移する。INIT、SBY、ACTの各々からFAILへは、故障が発生することで遷移し、FAILからINITへはオペレータによる修理作業を経て遷移する。   A transition is made between INIT and SBY by inputting a startup command and a shutdown command from the operator. Between SBY and ACT, in addition to the transition by the activation command and standby command being input from the operator, the transition is made by the control performed by the alternative start / end unit 36 described later. Transition from each of INIT, SBY, and ACT to FAIL occurs when a failure occurs, and transition from FAIL to INIT occurs after repair work by the operator.

なお、ノード11〜14の状態は、各ノード間で交換され、記録されるものとする。   Note that the states of the nodes 11 to 14 are exchanged between the nodes and recorded.

ノード11〜14は、例えば、状態遷移の都度、遷移後の状態を示す情報を全てのノードにブロードキャストしてもよく、また、例えば、ヘルスチェックのための通信を行う際に自ノードの状態を他ノードへ通知してもよい。   For example, each time a state transition occurs, the nodes 11 to 14 may broadcast information indicating the state after the transition to all the nodes. For example, when performing communication for health check, the node 11-14 You may notify to another node.

ノード11〜14は、そのようにして通知される他ノードの状態を、後述する状態テーブルに記録する。   The nodes 11 to 14 record the statuses of the other nodes thus notified in a status table described later.

(ノードの構成)
図3は、ノード11の機能的な構成の一例を示すブロック図である。ノード12〜14も同様に構成されるものとし、ここではノード11について代表して説明する。
(Node configuration)
FIG. 3 is a block diagram illustrating an example of a functional configuration of the node 11. The nodes 12 to 14 are also configured in the same manner, and here, the node 11 will be described as a representative.

ノード11は、HDD(ハードディスク装置)17、NIC(ネットワークインタフェースコントローラ)18、サービス実行部20、および仮想アドレス制御部30を備え、さらに、図示されていないプロセッサ、メモリなどを用いて構成されたコンピュータシステムである。サービス実行部20および仮想アドレス制御部30は、前記プロセッサが前記メモリを用いて所定のプログラムを実行することにより果たされるソフトウェア機能である。   The node 11 includes an HDD (hard disk device) 17, a NIC (network interface controller) 18, a service execution unit 20, and a virtual address control unit 30, and is further configured by a processor, a memory, and the like not shown. System. The service execution unit 20 and the virtual address control unit 30 are software functions that are fulfilled by the processor executing a predetermined program using the memory.

サービス実行部20は、仮想IPアドレスvip1を通して、図外のクライアントにサービスを提供する実行部であり、例えば3層モデルによるWebアプリケーションサーバの機能を果たす、WEB層21、AP層22、およびDB層23を有する。   The service execution unit 20 is an execution unit that provides a service to a client (not shown) through the virtual IP address vip1, and performs, for example, a web application server function based on a three-layer model. The web layer 21, the AP layer 22, and the DB layer 23.

なお、サービス実行部20のこのような構成は1つの例示であることに注意する。サービス実行部20は、仮想IPアドレスvip1を通してクライアントにサービスを提供するものであればよく、3層モデルによるWebアプリケーションサーバには限定されない。   Note that such a configuration of the service execution unit 20 is an example. The service execution unit 20 only needs to provide a service to the client through the virtual IP address vip1, and is not limited to the Web application server based on the three-layer model.

仮想アドレス制御部30は、仮想IPアドレスを用いたIPアドレスのフェイルオーバーを、異なる複数の構成のクラスタリングシステムにおいて統一された手順で実行する制御部であり、状態管理部31、停止復帰検出部33、代替判断部34、代替ノード決定部35、および代替開始終了部36を有する。状態管理部31は、状態テーブル32を有する。   The virtual address control unit 30 is a control unit that executes failover of an IP address using a virtual IP address in a unified procedure in a clustering system having a plurality of different configurations, and includes a state management unit 31 and a stop / return detection unit 33. , An alternative determination unit 34, an alternative node determination unit 35, and an alternative start / end unit 36. The state management unit 31 has a state table 32.

ここで、停止復帰検出部33、代替判断部34、代替ノード決定部35、および代替開始終了部36は、それぞれ本発明の停止ノード検出部、代替判断部、代替ノード決定部、および代替開始部の一例である。また、停止復帰検出部33、代替開始終了部36は、それぞれ本発明の復帰検出部、代替終了部の一例でもある。   Here, the stop / return detection unit 33, the substitution determination unit 34, the substitution node determination unit 35, and the substitution start / end unit 36 are respectively a stop node detection unit, a substitution determination unit, a substitution node determination unit, and a substitution start unit according to the present invention. It is an example. The stop / return detection unit 33 and the substitution start / end unit 36 are also examples of the restoration detection unit and the substitution end unit according to the present invention, respectively.

状態管理部31は、自ノードであるノード11の状況を定期的にまたは逐次検出し、検出された状態テーブル32に記録する。ここで言う状況には、例えば、自ノードの状態、負荷レベル、自ノードに指定されている仮想IPアドレスが含まれる。   The state management unit 31 periodically or sequentially detects the status of the node 11 that is its own node, and records it in the detected state table 32. The situation mentioned here includes, for example, the state of the own node, the load level, and the virtual IP address specified for the own node.

状態管理部31は、自ノードの状況に何らかの変化が生じる都度、自ノードの最新の状況を示す情報を全てのノードにブロードキャストする。例えば、自ノードの状態が遷移した場合、負荷レベルが一定量変動した場合、および自ノードに指定されている仮想IPアドレスが追加および削除された場合など、その都度、自ノードの最新の状態、負荷レベル、および仮想IPアドレスを示す情報を、全ノードにブロードキャストする。   The state management unit 31 broadcasts information indicating the latest status of the own node to all the nodes whenever any change occurs in the status of the own node. For example, when the state of the own node changes, when the load level fluctuates by a certain amount, or when the virtual IP address specified for the own node is added or deleted, the latest state of the own node, Information indicating the load level and virtual IP address is broadcast to all nodes.

状態管理部31は、他ノードからブロードキャストされるそのような情報を参照して、各ノードの最新の状態、負荷レベル、および仮想IPアドレスを状態テーブル32に記録する。   The state management unit 31 refers to such information broadcast from other nodes and records the latest state, load level, and virtual IP address of each node in the state table 32.

状態管理部31はまた、例えば、固定IPアドレスipnを通して、ノード12〜14との間でヘルスチェックのための通信を行うことで、各ノードの仮想IPアドレス、状態、および負荷レベルを定期的に収集し、収集された最新の情報を状態テーブル32に記録してもよい。   The state management unit 31 also performs communication for health check with the nodes 12 to 14 through the fixed IP address ipn, for example, so that the virtual IP address, state, and load level of each node are periodically The latest information collected may be recorded in the state table 32.

図4は、ノード11における状態テーブル32の一例を示す図である。   FIG. 4 is a diagram illustrating an example of the state table 32 in the node 11.

状態テーブル32は、自ノードであるノード11、および他ノードであるノード12〜14の各々について、固定アドレス欄321にはノードに指定されたIPアドレス、仮想アドレス欄322にはノードに指定された1つ以上の仮想IPアドレス、状態欄323にはノードの状態(ACT、SBY、FAIL、INITの何れかの記号)、および負荷レベル欄324にはノードの負荷レベル値(例えばロードアベレージ値)を保持している。   In the status table 32, for each of the node 11 that is the own node and the nodes 12 to 14 that are other nodes, the IP address specified as the node in the fixed address column 321 and the node specified in the virtual address column 322 One or more virtual IP addresses, a status column 323 indicates a node status (ACT, SBY, FAIL, or INIT symbol), and a load level column 324 indicates a node load level value (for example, a load average value). keeping.

同様の状態テーブル32は、ノード12〜14にも設けられ、ノード11〜14の各々において、ノード11〜14の状態に関する同一の内容が記録される。   A similar state table 32 is also provided for the nodes 12 to 14, and the same contents regarding the states of the nodes 11 to 14 are recorded in each of the nodes 11 to 14.

(ノードにおける仮想アドレス制御動作)
図5〜図8のフローチャートを参照しながら、仮想アドレス制御部30の動作について説明を続ける。
(Virtual address control operation in the node)
The operation of the virtual address control unit 30 will be described with reference to the flowcharts of FIGS.

図5は、仮想アドレス制御部30による仮想アドレス制御処理の一例を示すフローチャートである。   FIG. 5 is a flowchart illustrating an example of a virtual address control process performed by the virtual address control unit 30.

仮想アドレス制御部30において、停止復帰検出部33は、運用状態から停止状態になったノードを停止ノードとして検出する(S10)。   In the virtual address control unit 30, the stop / return detection unit 33 detects a node that has changed from the operation state to the stop state as a stop node (S10).

停止ノードは、いくつかの態様で検出される。例えば、直接的には、自ノードで発生した故障を検出することによって、自ノードを停止ノードとして検出してもよく、また、状態管理部31が行うヘルスチェックのための通信が途絶したノードを停止ノードとして検出してもよい。いずれの場合も、停止ノードを検出したノードは、通信が可能である限り、検出された停止ノードを特定する停止通知をブロードキャストすることが望ましい。そうすれば、ブロードキャストされる停止通知を受信することによっても、停止ノードを検出できる。停止通知のブロードキャストによって、全ノードにおいて速やかに当該停止ノードの検出が完了する。   Stop nodes are detected in several ways. For example, by directly detecting a failure occurring in the own node, the own node may be detected as a stop node, and a node for which the communication for health check performed by the state management unit 31 is interrupted is detected. You may detect as a stop node. In any case, it is desirable that the node that detects the stop node broadcasts a stop notification that identifies the detected stop node as long as communication is possible. Then, the stop node can be detected also by receiving the broadcast stop notification. By detecting the stop notification, the detection of the stop node is completed promptly in all nodes.

停止ノードが検出されると(S11でY)、代替判断部34は、自ノードが停止ノードの代替候補であるかを判断する(S20)。より具体的には、自ノードが待機状態にありかつ自ノードに指定された仮想アドレスと停止ノードに指定された仮想アドレスとが等しいか(S21でY)、または、自ノードが運用状態にありかつ自ノードに指定された仮想アドレスと停止ノードに指定された仮想アドレスとが異なる(S22でY)ことにより、自ノードが停止ノードの代替候補であると判断する。   When a stop node is detected (Y in S11), the substitution determination unit 34 determines whether the own node is a substitution candidate for the stop node (S20). More specifically, whether the own node is in a standby state and the virtual address designated as the own node is equal to the virtual address designated as the stop node (Y in S21), or the own node is in the operating state. In addition, when the virtual address designated as the own node is different from the virtual address designated as the stop node (Y in S22), it is determined that the own node is an alternative candidate for the stop node.

ステップS20で自ノードが代替候補であると判断されると、代替ノード決定部50は、停止ノードを実際に代替する代替ノードを、自ノードと同じ状態にある全てのノードの中から決定する代替ノード決定処理を行う(S50)。   When it is determined in step S20 that the own node is an alternative candidate, the alternative node determination unit 50 determines an alternative node that actually replaces the stop node from all the nodes that are in the same state as the own node. Node determination processing is performed (S50).

図6は、代替ノード決定処理の一例を示すフローチャートである。図6に示される代替ノード決定処理の要部は、一般的な2フェーズコミットの手順に基づいている。   FIG. 6 is a flowchart illustrating an example of the alternative node determination process. The main part of the alternative node determination process shown in FIG. 6 is based on a general two-phase commit procedure.

まず、代替ノード決定部50は、自ノードの負荷レベルが高いほどより長い時間を設定し、設定された時間が経過するまで待つ(S31)。   First, the alternative node determination unit 50 sets a longer time as the load level of the own node is higher, and waits until the set time elapses (S31).

その後、一般的な2フェーズコミットの手順に従って以下の処理を行う。自ノードと同じ状態にある全てのノードに対して、自ノードが代替ノードになることの承認要求を送信し(S32)、承認要求を送信したノードから返信されてくる受諾応答を受信する(S33)。   Thereafter, the following processing is performed according to a general two-phase commit procedure. An approval request that the own node becomes an alternative node is sent to all nodes in the same state as the own node (S32), and an acceptance response returned from the node that sent the approval request is received (S33). ).

承認要求を送信した全てのノードから受諾応答が受信され(S34でY)、かつ承認要求を送信したノードの中に自ノードよりも負荷レベルが低いノードがない(S35でN)場合のみ、自ノードを代替ノードに決定し(S36)、承認要求をコミットする(S37)。承認要求を送信した全てのノードから受諾応答が受信されない場合(S34でN)、および承認要求を送信したノードの中に自ノードよりも負荷レベルが低いノードがある場合(S35でY)は、自ノードを代替ノードに決定することなく、承認要求をロールバックする(S38)。負荷レベルの比較は、例えば、状態テーブル32を参照することにより行われる。   Only when the acceptance response is received from all the nodes that transmitted the approval request (Y in S34), and there is no node having a lower load level than the own node among the nodes that transmitted the approval request (N in S35). The node is determined as an alternative node (S36), and the approval request is committed (S37). When the acceptance response is not received from all the nodes that transmitted the approval request (N in S34), and when there is a node having a lower load level than the own node among the nodes that transmitted the approval request (Y in S35), The approval request is rolled back without determining the own node as an alternative node (S38). The load level is compared by referring to the state table 32, for example.

なお、上記の代替ノード決定処理の手順において、ステップS31およびステップS35は必須ではないが、ステップS31およびステップS35の両方またはいずれか一方を設けることによって、それぞれ次のような追加的な効果を得ることができる。   In the above alternative node determination processing procedure, step S31 and step S35 are not essential, but by providing both or one of step S31 and step S35, the following additional effects can be obtained respectively. be able to.

すなわち、ステップS31では、負荷レベルが高いノードほど承認要求を送信するタイミングを意図的に遅らせるので、複数のノードが代替候補となった場合に、負荷レベルが低いノードほど早いタイミングで承認要求を送信することになる。その結果、処理能力に余裕があるノードほど代替ノードになりやすくなるという効果が得られる。   In other words, in step S31, the approval request is transmitted to a node with a higher load level intentionally delayed. Therefore, when a plurality of nodes become alternative candidates, an approval request is transmitted at an earlier timing to a node with a lower load level. Will do. As a result, it is possible to obtain an effect that a node having a sufficient processing capacity is more likely to become an alternative node.

また、ステップS35を設けることで、自ノードよりも負荷レベルが低いノードがない場合にのみ、自ノードが代替ノードとして決定されるので、代替候補となった複数のノードのうち、最も負荷レベルが低いノードが代替ノードに決定されるという、合理的な決定がなされる。   In addition, by providing step S35, only when there is no node having a load level lower than that of the own node, the own node is determined as an alternative node. Therefore, among the plurality of nodes that are alternative candidates, the load level is the highest. A reasonable decision is made that the lower node is determined to be the alternate node.

なお、ステップS35は、自ノードの負荷レベルからあらかじめ定められた余裕値を減じて得た基準値よりも負荷レベルが低いノードがない場合のみ、自ノードが代替ノードとして決定されるように変形してもよい。そうすれば、自ノードの負荷レベルと他ノードの負荷レベルとの大小が頻繁に入れ替わるような実際的な状況において、代替候補となった全てのノードが、負荷レベルを判断するタイミングの差によって、自ノードを代替ノードに決定しないという不具合が生じる可能性を低減できる。   Note that step S35 is modified so that the own node is determined as an alternative node only when there is no node whose load level is lower than the reference value obtained by subtracting a predetermined margin value from the load level of the own node. May be. Then, in a practical situation where the load level of the own node and the load level of other nodes are frequently switched, all the nodes that have become alternative candidates are determined by the difference in timing for determining the load level. It is possible to reduce the possibility of a problem that the own node is not determined as an alternative node.

なお、自ノードと同じ状態にあるノードが自ノードの他になければ、上記のような2フェーズコミットに基づく手順の必要がないことは明らかであり、ステップS36のみを実行して、自ノードを直ちに代替ノードに決定すればよい。   If there is no other node in the same state as the own node, it is clear that there is no need for the procedure based on the two-phase commit as described above. What is necessary is just to determine an alternative node immediately.

再び図5を参照して、自ノードが代替ノードに決定されると(S39でY)、代替開始終了部36は、自ノードを、停止ノードに指定された仮想アドレスを通してサービスを提供する運用状態にする代替開始処理を行う(S40)。   Referring to FIG. 5 again, when the own node is determined to be the substitute node (Y in S39), the substitute start / end unit 36 provides the service status to the own node through the virtual address designated as the stop node. An alternative start process is performed (S40).

図7は、代替開始処理の一例を示すフローチャートである。   FIG. 7 is a flowchart illustrating an example of an alternative start process.

代替開始終了部36は、自ノードに指定された仮想アドレスと停止ノードに指定された仮想アドレスとが等しい場合(S41でY)、自ノードに指定された仮想アドレスを維持したまま自ノードの状態を運用状態に変更し(S42)、自ノードに指定された仮想アドレスと停止ノードに指定された仮想アドレスとが異なる場合(S41でN)、自ノードの状態を運用状態に維持したまま自ノードに停止ノードの仮想アドレスを追加指定する(S43)。   If the virtual address specified for the own node and the virtual address specified for the stop node are equal (Y in S41), the substitution start / end unit 36 maintains the virtual address specified for the own node while maintaining the status of the own node. Is changed to the operating state (S42), and if the virtual address specified for the own node and the virtual address specified for the stop node are different (N in S41), the own node is maintained in the operating state. In addition, the virtual address of the stop node is designated (S43).

再び図5を参照して、停止復帰検出部33は、代替している停止ノードが待機状態に復帰したことを検出する(S60)。復帰検出は、一例として、代替している停止ノードが修理されスタートアップコマンドの実行により待機状態になり、その結果として、停止ノードからブロードキャストされる、停止ノードが待機状態になったことを示す情報を受信することによって行ってもよい。   Referring to FIG. 5 again, the stop / return detection unit 33 detects that the substituting stop node has returned to the standby state (S60). As an example, the return detection includes repairing a stopped node that has been replaced and entering a standby state by executing a startup command. As a result, information indicating that the stopped node has entered a standby state is broadcast from the stopped node. You may carry out by receiving.

代替していた停止ノードの復帰が検出されると、代替開始終了部36は代替終了処理を行う(S70)。   When the return of the replacement stop node is detected, the replacement start / end unit 36 performs a replacement end process (S70).

図8は、代替終了処理の一例を示すフローチャートである。   FIG. 8 is a flowchart illustrating an example of the substitution end process.

代替開始終了部36は、自ノードに指定された仮想アドレスと停止ノードに指定された仮想アドレスとが異なる場合(S71でN)、自ノードの状態を運用状態に維持したまま自ノードから停止ノードの仮想アドレスの指定を削除する(S73)。なお、自ノードに指定された仮想アドレスと停止ノードに指定された仮想アドレスとが等しい場合(S71でN)は、実質的な代替終了処理は行われない。この場合、自ノードは実行状態のままサービスを提供し続ける。   If the virtual address specified for the own node and the virtual address specified for the stop node are different (N in S71), the substitution start / end unit 36 continues from the own node to the stop node while maintaining the state of the own node. The designation of the virtual address is deleted (S73). If the virtual address specified for the own node is equal to the virtual address specified for the stop node (N in S71), the substantial substitution end process is not performed. In this case, the own node continues to provide the service in the execution state.

(実施例)
以下では、上記のように構成されたノードが、ノード自体の構成を全く変更することなく、異なる2つの運用形態のクラスタリングシステムに適用され、いずれの運用形態でも、仮想IPアドレスを用いたIPアドレスのフェイルオーバーが、統一された手順で適切に実行されることを説明する。
(Example)
In the following, a node configured as described above is applied to a clustering system of two different operation modes without changing the configuration of the node itself, and in either operation mode, an IP address using a virtual IP address. Explain that the failover is properly performed in a unified procedure.

第1実施例として、1つのノードを運用状態とし、複数のノードを待機状態とする運用形態(ACT/SBY運用の冗長性を高めた形態)のクラスタリングシステムへの適用例について説明する。   As a first embodiment, an application example to a clustering system in an operation mode (a mode in which redundancy of ACT / SBY operation is increased) in which one node is in an operation state and a plurality of nodes are in a standby state will be described.

第1実施例に係るクラスタリングシステムは、図1のクラスタリングシステム10からノード14を除いた構成に対応し、ノード11〜13に同一の仮想IPアドレスAが指定され、ノード11〜13のうち高々1つのノードがACTになり得る形態で運用される。クライアントは、仮想IPアドレスAを通して、このクラスタリングシステムからサービスを受ける。   The clustering system according to the first embodiment corresponds to the configuration in which the node 14 is excluded from the clustering system 10 of FIG. 1, the same virtual IP address A is designated for the nodes 11 to 13, and at most one of the nodes 11 to 13. One node is operated in a form that can be an ACT. The client receives services from this clustering system through the virtual IP address A.

図9は、第1実施例におけるシステムの動作の一例を示すシーケンスチャートである。図9のシーケンスチャートには、図5〜8のフローチャートの対応するステップの符号が示されている。   FIG. 9 is a sequence chart showing an example of the operation of the system in the first embodiment. In the sequence chart of FIG. 9, reference numerals of corresponding steps in the flowcharts of FIGS. 5 to 8 are shown.

最初、ノード11がACTであり、クライアントは仮想IPアドレスAを通してノード11からサービスを受けている。また、ノード12、13はSBYであり、クライアントに対するサービスを提供可能な状態で待機している(つまり、いつでもACTになり得る状態にあってサービスの提供を保留している)。   Initially, node 11 is an ACT and the client is receiving service from node 11 through virtual IP address A. Further, the nodes 12 and 13 are SBY, and are waiting in a state where a service can be provided to a client (that is, in a state where the service can be an ACT at any time and the provision of the service is suspended).

ノード11で、例えばハードディスク装置に故障が発生する。それにより、ノード11は、自ノードを停止ノードとして検出してFAILになるとともに、ノード11を特定する停止通知STOPをブロードキャストする。ここで、停止通知STOPには、ノード11を特定する情報(例えば、ノード11の固定IPアドレス)が含まれている。ノード12、13は、停止通知STOPを受信することにより、ノード11を停止ノードとして検出する(S10)。   For example, a failure occurs in the hard disk device at the node 11. Thereby, the node 11 detects its own node as a stop node, becomes FAIL, and broadcasts a stop notification STOP that identifies the node 11. Here, the stop notification STOP includes information for specifying the node 11 (for example, the fixed IP address of the node 11). The nodes 12 and 13 detect the node 11 as a stop node by receiving the stop notification STOP (S10).

ノード11、12、13は、代替判断(S20)を行う。ノード12、13は、自ノードがSBYであり、かつ自ノードに指定された仮想IPアドレスAと停止ノードに指定された仮想IPアドレスAとが等しいことにより(S21でY)、自ノードが停止ノードの代替候補であると判断する。ノード11は、故障によりFAILとなっているため、代替判断の条件が成立しない。   The nodes 11, 12, and 13 perform substitution determination (S20). The nodes 12 and 13 stop when their own node is SBY and the virtual IP address A designated as the own node is equal to the virtual IP address A designated as the stop node (Y in S21). Judged as an alternative candidate for the node. Since the node 11 is FAIL due to a failure, the condition for substitution determination is not satisfied.

ノード12、13は、代替ノード決定処理(S30)を行う。ノード12、13は、それぞれの承認要求を、自ノードと同じくSBYであるノード13、12へ送信しようとする。ここで、ノード12がノード13よりも先に承認要求を送信したとすると(S31)、ノード13は自らの承認要求を送信するのをやめてノード12に受諾応答を返信し、ノード12はその受諾応答を受信する(S32)。ノード12は自ノードを代替ノードに決定し(S34)、ノード13にコミットを送信する(S35)。これにより、ノード12、13の間で、ノード12が代替ノードとして確定する。   The nodes 12 and 13 perform an alternative node determination process (S30). The nodes 12 and 13 try to transmit the respective approval requests to the nodes 13 and 12 that are SBY as the own node. If the node 12 transmits an approval request before the node 13 (S31), the node 13 stops transmitting its own approval request and returns an acceptance response to the node 12, and the node 12 accepts the approval. A response is received (S32). The node 12 determines its own node as an alternative node (S34), and transmits a commit to the node 13 (S35). Thereby, the node 12 is determined as an alternative node between the nodes 12 and 13.

ノード12は、自ノードと停止ノードとで仮想IPアドレスが一致するので、自ノードをACTにする代替開始処理を行う(S42)。これにより、クライアントは仮想IPアドレスAを通してノード12から引き続きサービスを受けることができる。   Since the virtual IP address of the node 12 is the same as that of the stop node, the node 12 performs an alternative start process for making the node ACT (S42). As a result, the client can continue to receive services from the node 12 through the virtual IP address A.

ノード11が修理される(S50)。ノード11は、起動してINITになった後、オペレータからスタートアップコマンドが投入されることでSBYになる(S55)。   The node 11 is repaired (S50). After the node 11 is activated and becomes INIT, the node 11 becomes SBY when a startup command is input from the operator (S55).

ノード12は、ノード11が状態遷移の都度ブロードキャストする最新の状態を表す情報を受信することでノード11の復帰を検出する(S60)。ノード12は、自ノードと停止ノードとで仮想IPアドレスが一致することで、実質的な代替終了処理を行わず、ノード12はACTのままで、仮想IPアドレスAを通してサービスを提供し続ける。その結果、クライアントは仮想IPアドレスAを通してノード12から引き続きサービスを受けることができる。   The node 12 detects the return of the node 11 by receiving information representing the latest state that the node 11 broadcasts every time the state transition occurs (S60). Since the virtual IP addresses of the node 12 and the stop node coincide with each other, the node 12 does not perform a substantial replacement end process, and the node 12 continues to provide services through the virtual IP address A while remaining in ACT. As a result, the client can continue to receive services from the node 12 through the virtual IP address A.

このようにして、クラスタリングシステムが唯一の仮想アドレスAを通してサービスを提供する運用形態において、サービスの無中断が実現される。   In this way, in an operation mode in which the clustering system provides a service through the only virtual address A, service interruption is realized.

次に、第2実施例として、3つのノードを運用状態とし、1つのノードを待機状態とする運用形態(ACT/ACT運用に冗長性を付加した形態)のクラスタリングシステムへの適用例について説明する。   Next, as a second embodiment, an application example to a clustering system in an operation mode (a mode in which redundancy is added to ACT / ACT operation) in which three nodes are in an operating state and one node is in a standby state will be described. .

第2実施例に係るクラスタリングシステムは、図1のクラスタリングシステム10の構成に対応し、ノード11〜14に相異なる仮想IPアドレスA〜Dが指定され、ノード11〜13が全てACTになり得る形態で運用される。クライアントは、仮想IPアドレスA〜Cを通して、このクラスタリングシステムからサービスを受ける。   The clustering system according to the second embodiment corresponds to the configuration of the clustering system 10 in FIG. 1, and different virtual IP addresses A to D are designated for the nodes 11 to 14, and the nodes 11 to 13 can all be ACT. It is operated by. Clients receive services from this clustering system through virtual IP addresses A-C.

なお、この運用形態では、ノード14は、SBYに維持され、仮想IPアドレス制御処理における停止ノードの代替候補にはならない。ノード14は、ノード11〜13の修理が長期化する場合など、オペレータの操作に応じてノード11〜13を置き換えるための機材としてリザーブされる。   In this operation mode, the node 14 is maintained in SBY, and does not become a substitute candidate for the stop node in the virtual IP address control process. The node 14 is reserved as equipment for replacing the nodes 11 to 13 according to the operation of the operator, such as when the repair of the nodes 11 to 13 is prolonged.

図10は、第2実施例におけるシステムの動作の一例を示すシーケンスチャートである。図10のシーケンスチャートには、図5〜8のフローチャートの対応するステップの符号が示されている。   FIG. 10 is a sequence chart showing an example of the operation of the system in the second embodiment. In the sequence chart of FIG. 10, reference numerals of corresponding steps in the flowcharts of FIGS. 5 to 8 are shown.

最初、ノード11〜13がACTであり、クライアントは仮想IPアドレスAを通してノード11からサービスを受けている。ノード14は、SBYであり、クライアントに対するサービスを提供可能な状態で待機している(つまり、いつでもACTになり得る状態にあってサービスの提供を保留している)。   Initially, the nodes 11 to 13 are ACT, and the client receives service from the node 11 through the virtual IP address A. The node 14 is SBY and is waiting in a state where it can provide a service to the client (that is, in a state where it can become an ACT at any time and is suspending the provision of the service).

ノード11で、例えばハードディスク装置に故障が発生する。それにより、ノード11は、自ノードを停止ノードとして検出してFAILになるとともに、ノード11を特定する停止通知STOPをブロードキャストする。ここで、停止通知STOPには、ノード11を特定する情報(例えば、ノード11の固定IPアドレス)が含まれている。ノード12〜14は、停止通知STOPを受信することにより、ノード11を停止ノードとして検出する(S10)。   For example, a failure occurs in the hard disk device at the node 11. Thereby, the node 11 detects its own node as a stop node, becomes FAIL, and broadcasts a stop notification STOP that identifies the node 11. Here, the stop notification STOP includes information for specifying the node 11 (for example, the fixed IP address of the node 11). The nodes 12 to 14 detect the node 11 as a stop node by receiving the stop notification STOP (S10).

ノード11〜14は、代替判断(S20)を行う。ノード12、13は、自ノードがACTであり、かつ自ノードに指定された仮想IPアドレスB、Cと停止ノードに指定された仮想IPアドレスAとが異なることにより(S22でY)、自ノードが停止ノードの代替候補であると判断する。ノード11は、故障によりFAILとなっているため、代替判断の条件が成立しない。ノード14は、自ノードがSBYであり、かつ自ノードに指定された仮想IPアドレスDと停止ノードに指定された仮想IPアドレスAとが異なるため、代替判断の条件が成立しない。   The nodes 11 to 14 make an alternative determination (S20). The nodes 12 and 13 have their own nodes being ACT, and because the virtual IP addresses B and C designated as the own nodes are different from the virtual IP addresses A designated as the stop nodes (Y in S22), Is an alternative candidate for the stop node. Since the node 11 is FAIL due to a failure, the condition for substitution determination is not satisfied. Since the node 14 is SBY and the virtual IP address D designated as the own node is different from the virtual IP address A designated as the stop node, the alternative determination condition is not satisfied.

ノード12、13は、代替ノード決定処理(S30)を行う。ノード12、13は、それぞれの承認要求を、自ノードと同じくACTであるノード13、12へ送信しようとする。ここで、ノード12がノード13よりも先に承認要求を送信したとすると(S31)、ノード13は自らの承認要求を送信するのをやめてノード12に受諾応答を返信し、ノード12はその受諾応答を受信する(S32)。ノード12は自ノードを代替ノードに決定し(S34)、ノード13にコミットを送信する(S35)。これにより、ノード12、13の間で、ノード12が代替ノードとして確定する。   The nodes 12 and 13 perform an alternative node determination process (S30). The nodes 12 and 13 try to transmit the respective approval requests to the nodes 13 and 12 that are ACTs in the same manner as the own node. If the node 12 transmits an approval request before the node 13 (S31), the node 13 stops transmitting its own approval request and returns an acceptance response to the node 12, and the node 12 accepts the approval. A response is received (S32). The node 12 determines its own node as an alternative node (S34), and transmits a commit to the node 13 (S35). Thereby, the node 12 is determined as an alternative node between the nodes 12 and 13.

ノード12は、自ノードと停止ノードとで仮想IPアドレスが異なるので、自ノードに停止ノードの仮想IPアドレスAを追加指定する代替開始処理を行う。ノード12は、仮想IPアドレスB、Aが指定された状態となる(S43)。これにより、クライアントは仮想IPアドレスAを通してノード12から引き続きサービスを受けることができる。   Since the node 12 has a different virtual IP address between the own node and the stop node, the node 12 performs an alternative start process for additionally specifying the stop node's virtual IP address A to the own node. The node 12 enters a state in which the virtual IP addresses B and A are designated (S43). As a result, the client can continue to receive services from the node 12 through the virtual IP address A.

ノード11が修理される(S50)。ノード11は、起動してINITになった後、オペレータからスタートアップコマンドが投入されることでSBYになる(S55)。   The node 11 is repaired (S50). After the node 11 is activated and becomes INIT, the node 11 becomes SBY when a startup command is input from the operator (S55).

ノード12は、ノード11が状態遷移の都度ブロードキャストする最新の状態を表す情報を受信するすることでノード11の復帰を検出する(S60)。ノード12は、自ノードと停止ノードとで仮想IPアドレスが異なるので、自ノードから停止ノードの仮想IPアドレスAを削除する代替終了処理を行う。ノード12に指定された仮想IPアドレスは、再びBのみになる(S73)。   The node 12 detects the return of the node 11 by receiving information representing the latest state broadcasted every time the node 11 changes state (S60). Since the virtual IP address is different between the own node and the stop node, the node 12 performs an alternative end process of deleting the virtual IP address A of the stop node from the own node. The virtual IP address specified for the node 12 is only B again (S73).

これにより、ノード12は仮想IPアドレスBのみを通してサービスを提供することになり、ノード12の負荷レベルは直ちに平常化される。   As a result, the node 12 provides the service only through the virtual IP address B, and the load level of the node 12 is immediately normalized.

その後速やかに、ノード11は、オペレータからアクティベートコマンドが投入されることで、ACTになる(S80)。これにより、クライアントは仮想IPアドレスAを通して再びノード11からサービスを受けることができるようになる。   Immediately thereafter, the node 11 becomes ACT when an activate command is input from the operator (S80). As a result, the client can receive service from the node 11 again through the virtual IP address A.

(まとめ)
以上説明した第1実施例と第2実施例とを比較すれば、本実施の形態のノードは、ノード自体の構成を全く変更することなく、ACT/SBY運用の冗長性を高めた形態、およびACT/ACT運用に冗長性を付加した形態の、2つの異なる運用形態のクラスタリングシステムに適用され、いずれの運用形態でも、仮想IPアドレスを用いたIPアドレスのフェイルオーバーが、統一された手順で適切に実行されることが分かる。
(Summary)
Comparing the first example and the second example described above, the node of the present embodiment has a configuration in which redundancy of ACT / SBY operation is increased without changing the configuration of the node itself, and Applicable to clustering systems in two different operation modes, with redundancy added to ACT / ACT operations. In either operation mode, failover of IP addresses using virtual IP addresses is appropriate with a unified procedure. It can be seen that

とりわけ、本実施の形態のノードでは、自ノードが停止ノードの代替候補になるか否かを、自ノードと停止ノードとでの仮想IPアドレスの異同、および自ノードの状態がSBYおよびACTのいずれであるかの比較を組み合わせて定義される特徴的な条件に従って判断している。   In particular, in the node according to the present embodiment, whether or not the own node becomes an alternative candidate for the stop node, whether the own node and the stop node are different in virtual IP address, and the status of the own node is SBY or ACT. Judgment is made according to a characteristic condition defined by a combination of comparisons.

この判断の条件は、全てのノードに同じ仮想IPアドレスが指定され高々1つのノードがACTになり得るACT/SBY運用においても、また全てのノードに異なる仮想IPアドレスが指定され全てのノードがACTになり得るACT/ACT運用においても、さらにまたACT/ACT運用にSBYのままでリザーブされるべきノードを加えた運用においても、共通かつ有効に機能することから、クラスタリングシステムを構成するための優れた汎用性や異なる運用形態への高い適応性を持ったノードが実現される。   This judgment condition is that in the ACT / SBY operation in which the same virtual IP address is specified for all nodes and at most one node can be ACT, different virtual IP addresses are specified for all nodes, and all nodes are ACT. In ACT / ACT operation that can be used, and in addition to the ACT / ACT operation, in addition to the node that should be reserved with SBY, it functions in common and effectively, so it is excellent for configuring a clustering system. A node with high versatility and high adaptability to different operation modes is realized.

以上、本発明のノード、そのような複数のノードから構成されるクラスタリングシステム、クラスタリングシステムの制御方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものも本発明の範囲内に含まれる。   As mentioned above, although the node of this invention, the clustering system comprised from such a some node, and the control method of a clustering system were demonstrated based on embodiment, this invention is limited to this embodiment. is not. Unless it deviates from the meaning of the present invention, those in which various modifications conceived by those skilled in the art are applied to the present embodiment are also included in the scope of the present invention.

本発明のノード、クラスタリングシステム、クラスタリングシステムの制御方法、およびプログラムは、IPアドレスのフェイルオーバーを行う高可用性クラスタリングシステムに好適に利用できる。   The node, clustering system, clustering system control method, and program of the present invention can be suitably used for a high-availability clustering system that performs IP address failover.

10 クラスタリングシステム
11〜14 ノード
17 HDD
18 NIC
19 ネットワーク
20 サービス実行部
21 WEB層
22 AP層
23 DB層
30 仮想アドレス制御部
31 状態管理部
32 状態テーブル
33 停止復帰検出部
34 代替判断部
35 代替ノード決定部
36 代替開始終了部
91〜94 クライアント
10 Clustering system 11-14 Node 17 HDD
18 NIC
DESCRIPTION OF SYMBOLS 19 Network 20 Service execution part 21 WEB layer 22 AP layer 23 DB layer 30 Virtual address control part 31 State management part 32 State table 33 Stop / return detection part 34 Alternative judgment part 35 Alternative node determination part 36 Alternative start end part 91-94 Client

Claims (9)

クライアントに対してサービスを提供するクラスタリングシステムを構成している複数のノードのうちの1つのノードであって、
前記複数のノードの各々は、管理用の1つの固定アドレスと、前記クライアントに対して前記サービスを提供するための1つ以上の仮想アドレスとが指定され、前記仮想アドレスを通して前記サービスを提供する運用状態、前記サービスを提供可能な状態で待機している待機状態、および前記サービスを提供することができない停止状態のうちの、どの状態にもなることができ、
前記クラスタリングシステムは、全てのノードに同じ仮想アドレスが指定され高々1つのノードが運用状態になり得る第1のクラスタリングシステム、及び全てのノードに異なる仮想アドレスが指定され全てのノードが運用状態になり得る第2のクラスタリングシステム、及び前記第2のクラスタリングシステムに待機状態のままでリザーブされるノードを加えた第3のクラスタリングシステムのうちの何れか1つであり、
前記1つのノードである自ノードは、
前記複数のノードのうち運用状態から停止状態になったノードを停止ノードとして検出する停止ノード検出部と、
前記停止ノードが検出されると、自ノードが待機状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しいか、または、自ノードが運用状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なることにより、自ノードが前記停止ノードの代替候補であると判断する代替判断部と、
自ノードが前記代替候補であると判断されると、前記複数のノードのうち自ノードと同じ状態にある1つ以上のノードのなかから、前記停止ノードを実際に代替する代替ノードを決定する代替ノード決定部と、
自ノードが前記代替ノードに決定されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しい場合、自ノードに指定された仮想アドレスを維持したまま自ノードの状態を運用状態に変更し、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードに前記停止ノードの仮想アドレスを追加指定することにより、自ノードを、前記停止ノードに指定された仮想アドレスを通して前記サービスを提供する運用状態にする代替開始部と
を備えるノード。
One of a plurality of nodes constituting a clustering system that provides services to clients,
In each of the plurality of nodes, one fixed address for management and one or more virtual addresses for providing the service to the client are designated, and the service is provided through the virtual address. Can be any of a state, a standby state waiting in a state where the service can be provided, and a stopped state where the service cannot be provided,
In the clustering system, the first virtual clustering system in which the same virtual address is specified for all nodes and at most one node can be in an operating state, and different virtual addresses are specified in all nodes and all nodes are in an operating state. Any one of a second clustering system to be obtained and a third clustering system obtained by adding a node to be reserved in a standby state to the second clustering system,
The node that is the one node is
A stop node detection unit that detects a node that is in a stop state from an operation state among the plurality of nodes as a stop node;
When the stop node is detected, the own node is in a standby state and the virtual address specified for the own node is equal to the virtual address specified for the stop node, or the own node is in an operating state and An alternative determination unit that determines that the own node is an alternative candidate for the stop node because the virtual address specified for the own node is different from the virtual address specified for the stop node;
When it is determined that the own node is the alternative candidate, an alternative is to determine an alternative node that actually replaces the stop node from one or more nodes in the same state as the own node among the plurality of nodes. A node determination unit;
When the own node is determined to be the alternative node, if the virtual address specified for the own node and the virtual address specified for the stop node are equal, the virtual address specified for the own node is maintained while maintaining the virtual address specified for the own node. When the status is changed to the operating status, and the virtual address specified for the own node is different from the virtual address specified for the stopped node, the virtual node of the stopped node is set to the own node while maintaining the status of the own node. A node comprising: an alternative start unit that, by additionally specifying an address, causes the local node to enter an operation state in which the service is provided through the virtual address specified by the stop node.
さらに、
前記停止ノードが待機状態になったことを検出する復帰検出部と、
前記待機状態が検出されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードから前記停止ノードの仮想アドレスの指定を削除する代替終了部と
を備える請求項に記載のノード。
further,
A return detection unit for detecting that the stop node is in a standby state;
When the standby state is detected, if the virtual address specified for the own node is different from the virtual address specified for the stop node, the state of the stop node is maintained from the own node while maintaining the state of the own node. The node according to claim 1 , further comprising: an alternative end unit that deletes designation of a virtual address.
前記代替ノード決定部は、前記複数のノードのうち自ノードと同じ状態にある前記1つ以上のノードに対して、自ノードが前記代替ノードになることの承認要求を送信し、前記承認要求を送信した全てのノードから前記承認要求に対する受諾応答が受信されると、自ノードを前記代替ノードに決定するとともに、前記承認要求をコミットする
請求項1に記載のノード。
The alternative node determination unit transmits an approval request that the own node becomes the alternative node to the one or more nodes in the same state as the own node among the plurality of nodes, and The node according to claim 1, wherein when an acceptance response to the approval request is received from all the transmitted nodes, the node is determined as the alternative node and the approval request is committed.
前記代替ノード決定部は、自ノードの負荷レベルが高いほどより長い時間を設定し、設定された時間の経過後に前記承認要求を送信する
請求項に記載のノード。
The node according to claim 3 , wherein the alternative node determination unit sets a longer time as the load level of the own node is higher, and transmits the approval request after the set time has elapsed.
前記代替ノード決定部は、前記承認要求を送信したノードの中に、自ノードよりも負荷レベルが低いノードがない場合にのみ、自ノードを前記代替ノードに決定するとともに、前記承認要求をコミットする
請求項に記載のノード。
The alternative node determination unit determines the own node as the alternative node and commits the approval request only when there is no node having a lower load level than the own node among the nodes that transmitted the approval request. The node according to claim 3 .
複数のノードで構成され、クライアントに対してサービスを提供するクラスタリングシステムであって、
前記複数のノードの各々は、管理用の1つの固定アドレスと、前記クライアントに対して前記サービスを提供するための1つ以上の仮想アドレスとが指定され、前記仮想アドレスを通して前記サービスを提供する運用状態、前記サービスを提供可能な状態で待機している待機状態、および前記サービスを提供することができない停止状態のうちの、どの状態にもなることができ、
前記クラスタリングシステムは、全てのノードに同じ仮想アドレスが指定され高々1つのノードが運用状態になり得る第1のクラスタリングシステム、及び全てのノードに異なる仮想アドレスが指定され全てのノードが運用状態になり得る第2のクラスタリングシステム、及び前記第2のクラスタリングシステムに待機状態のままでリザーブされるノードを加えた第3のクラスタリングシステムのうちの何れか1つであり、
前記各ノードは、
前記複数のノードのうち運用状態から停止状態になったノードを停止ノードとして検出する停止ノード検出部と、
前記停止ノードが検出されると、自ノードが待機状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しいか、または、自ノードが運用状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なることにより、自ノードが前記停止ノードの代替候補であると判断する代替判断部と、
自ノードが前記代替候補であると判断されると、前記複数のノードのうち自ノードと同じ状態にある1つ以上のノードのなかから、前記停止ノードを実際に代替する代替ノードを決定する代替ノード決定部と、
自ノードが前記代替ノードに決定されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しい場合、自ノードに指定された仮想アドレスを維持したまま自ノードの状態を運用状態に変更し、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードに前記停止ノードの仮想アドレスを追加指定することにより、自ノードを、前記停止ノードに指定された仮想アドレスを通して前記サービスを提供する運用状態にする代替開始部と
を備えるクラスタリングシステム。
A clustering system composed of a plurality of nodes and providing services to clients,
In each of the plurality of nodes, one fixed address for management and one or more virtual addresses for providing the service to the client are designated, and the service is provided through the virtual address. Can be any of a state, a standby state waiting in a state where the service can be provided, and a stopped state where the service cannot be provided,
In the clustering system, the first virtual clustering system in which the same virtual address is specified for all nodes and at most one node can be in an operating state, and different virtual addresses are specified in all nodes and all nodes are in an operating state. Any one of a second clustering system to be obtained and a third clustering system obtained by adding a node to be reserved in a standby state to the second clustering system,
Each of the nodes
A stop node detection unit that detects a node that is in a stop state from an operation state among the plurality of nodes as a stop node;
When the stop node is detected, the own node is in a standby state and the virtual address specified for the own node is equal to the virtual address specified for the stop node, or the own node is in an operating state and An alternative determination unit that determines that the own node is an alternative candidate for the stop node because the virtual address specified for the own node is different from the virtual address specified for the stop node;
When it is determined that the own node is the alternative candidate, an alternative is to determine an alternative node that actually replaces the stop node from one or more nodes in the same state as the own node among the plurality of nodes. A node determination unit;
When the own node is determined to be the alternative node, if the virtual address specified for the own node and the virtual address specified for the stop node are equal, the virtual address specified for the own node is maintained while maintaining the virtual address specified for the own node. When the status is changed to the operating status, and the virtual address specified for the own node is different from the virtual address specified for the stopped node, the virtual node of the stopped node is set to the own node while maintaining the status of the own node. A clustering system comprising: an alternative start unit that places an own node into an operation state in which the service is provided through a virtual address specified as the stop node by additionally specifying an address.
複数のノードで構成され、クライアントに対してサービスを提供するクラスタリングシステムの制御方法であって、
前記複数のノードの各々は、管理用の1つの固定アドレスと、前記クライアントに対して前記サービスを提供するための1つ以上の仮想アドレスとが指定され、前記仮想アドレスを通して前記サービスを提供する運用状態、前記サービスを提供可能な状態で待機している待機状態、および前記サービスを提供することができない停止状態のうちの、どの状態にもなることができ、
前記クラスタリングシステムは、全てのノードに同じ仮想アドレスが指定され高々1つのノードが運用状態になり得る第1のクラスタリングシステム、及び全てのノードに異なる仮想アドレスが指定され全てのノードが運用状態になり得る第2のクラスタリングシステム、及び前記第2のクラスタリングシステムに待機状態のままでリザーブされるノードを加えた第3のクラスタリングシステムのうちの何れか1つであり、
前記複数のノードのうちの1つである自ノードは、停止ノード検出部と、代替判断部と、代替ノード決定部と、代替開始部とを備え、
前記停止ノード検出部で、前記複数のノードのうち運用状態から停止状態になったノードを停止ノードとして検出し、
前記停止ノードが検出されると、前記代替判断部で、自ノードが待機状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しいか、または、自ノードが運用状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なることにより、自ノードが前記停止ノードの代替候補であると判断し、
自ノードが前記代替候補であると判断されると、前記代替ノード決定部で、前記複数のノードのうち自ノードと同じ状態にある1つ以上のノードのなかから、前記停止ノードを実際に代替する代替ノードを決定し、
自ノードが前記代替ノードに決定されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しい場合、自ノードに指定された仮想アドレスを維持したまま自ノードの状態を運用状態に変更し、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードに前記停止ノードの仮想アドレスを追加指定することにより、前記代替開始部で、自ノードを、前記停止ノードに指定された仮想アドレスを通して前記サービスを提供する運用状態にする
制御方法。
A control method of a clustering system configured by a plurality of nodes and providing services to clients,
In each of the plurality of nodes, one fixed address for management and one or more virtual addresses for providing the service to the client are designated, and the service is provided through the virtual address. Can be any of a state, a standby state waiting in a state where the service can be provided, and a stopped state where the service cannot be provided,
In the clustering system, the first virtual clustering system in which the same virtual address is specified for all nodes and at most one node can be in an operating state, and different virtual addresses are specified in all nodes and all nodes are in an operating state. Any one of a second clustering system to be obtained and a third clustering system obtained by adding a node to be reserved in a standby state to the second clustering system,
The own node which is one of the plurality of nodes includes a stop node detection unit, an alternative determination unit, an alternative node determination unit, and an alternative start unit.
In the stop node detection unit, a node that is in a stop state from an operation state among the plurality of nodes is detected as a stop node,
When the stop node is detected, the substitution determination unit determines that the own node is in a standby state and the virtual address specified for the own node is equal to the virtual address specified for the stop node, or the own node Is determined to be an alternative candidate for the stop node because the virtual address specified for the own node and the virtual address specified for the stop node are different,
If it is determined that the node is the replacement candidate, the replacement node determination unit actually replaces the stop node from one or more nodes in the same state as the node among the plurality of nodes. Determine an alternate node to
When the own node is determined to be the alternative node, if the virtual address specified for the own node and the virtual address specified for the stop node are equal, the virtual address specified for the own node is maintained while maintaining the virtual address specified for the own node. When the status is changed to the operating status, and the virtual address specified for the own node is different from the virtual address specified for the stopped node, the virtual node of the stopped node is set to the own node while maintaining the status of the own node. A control method in which, by specifying an additional address, the substitution start unit sets its own node to an operation state in which the service is provided through a virtual address specified as the stop node.
複数のノードで構成され、クライアントに対してサービスを提供するクラスタリングシステムを制御するためのコンピュータ実行可能なプログラムであって、
前記複数のノードの各々は、管理用の1つの固定アドレスと、前記クライアントに対して前記サービスを提供するための1つ以上の仮想アドレスとが指定され、前記仮想アドレスを通して前記サービスを提供する運用状態、前記サービスを提供可能な状態で待機している待機状態、および前記サービスを提供することができない停止状態のうちの、どの状態にもなることができ、
前記クラスタリングシステムは、全てのノードに同じ仮想アドレスが指定され高々1つのノードが運用状態になり得る第1のクラスタリングシステム、及び全てのノードに異なる仮想アドレスが指定され全てのノードが運用状態になり得る第2のクラスタリングシステム、及び前記第2のクラスタリングシステムに待機状態のままでリザーブされるノードを加えた第3のクラスタリングシステムのうちの何れか1つであり、
前記複数のノードのうちの1つである自ノードにおいて、
前記複数のノードのうち運用状態から停止状態になったノードを停止ノードとして検出する停止ノード検出ステップと、
前記停止ノードが検出されると、自ノードが待機状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しいか、または、自ノードが運用状態にありかつ自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なることにより、自ノードが前記停止ノードの代替候補であると判断する代替判断ステップと、
自ノードが前記代替候補であると判断されると、前記複数のノードのうち自ノードと同じ状態にある1つ以上のノードのなかから、前記停止ノードを実際に代替する代替ノードを決定する代替ノード決定ステップと、
自ノードが前記代替ノードに決定されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが等しい場合、自ノードに指定された仮想アドレスを維持したまま自ノードの状態を運用状態に変更し、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードに前記停止ノードの仮想アドレスを追加指定することにより、自ノードを、前記停止ノードに指定された仮想アドレスを通して前記サービスを提供する運用状態にする代替開始ステップと
をコンピュータに実行させるプログラム。
A computer-executable program for controlling a clustering system configured with a plurality of nodes and providing services to clients,
In each of the plurality of nodes, one fixed address for management and one or more virtual addresses for providing the service to the client are designated, and the service is provided through the virtual address. Can be any of a state, a standby state waiting in a state where the service can be provided, and a stopped state where the service cannot be provided,
In the clustering system, the first virtual clustering system in which the same virtual address is specified for all nodes and at most one node can be in an operating state, and different virtual addresses are specified in all nodes and all nodes are in an operating state. Any one of a second clustering system to be obtained and a third clustering system obtained by adding a node to be reserved in a standby state to the second clustering system,
In its own node that is one of the plurality of nodes,
A stop node detection step of detecting, as a stop node, a node that is in a stop state from an operation state among the plurality of nodes;
When the stop node is detected, the own node is in a standby state and the virtual address specified for the own node is equal to the virtual address specified for the stop node, or the own node is in an operating state and An alternative determination step for determining that the own node is an alternative candidate for the stop node because the virtual address specified for the own node is different from the virtual address specified for the stop node;
When it is determined that the own node is the alternative candidate, an alternative is to determine an alternative node that actually replaces the stop node from one or more nodes in the same state as the own node among the plurality of nodes. A node determination step;
When the own node is determined to be the alternative node, if the virtual address specified for the own node and the virtual address specified for the stop node are equal, the virtual address specified for the own node is maintained while maintaining the virtual address specified for the own node. When the status is changed to the operating status, and the virtual address specified for the own node is different from the virtual address specified for the stopped node, the virtual node of the stopped node is set to the own node while maintaining the status of the own node. A program that causes a computer to execute an alternative start step of setting an own node to an operation state of providing the service through a virtual address specified by the stop node by additionally specifying an address.
請求項に記載のプログラムを記憶しているコンピュータ読み取り可能な記録媒体。 A computer-readable recording medium storing the program according to claim 8 .
JP2010236770A 2010-10-21 2010-10-21 Node, clustering system, clustering system control method, and program Expired - Fee Related JP5594668B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010236770A JP5594668B2 (en) 2010-10-21 2010-10-21 Node, clustering system, clustering system control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010236770A JP5594668B2 (en) 2010-10-21 2010-10-21 Node, clustering system, clustering system control method, and program

Publications (2)

Publication Number Publication Date
JP2012090180A JP2012090180A (en) 2012-05-10
JP5594668B2 true JP5594668B2 (en) 2014-09-24

Family

ID=46261295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010236770A Expired - Fee Related JP5594668B2 (en) 2010-10-21 2010-10-21 Node, clustering system, clustering system control method, and program

Country Status (1)

Country Link
JP (1) JP5594668B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6217358B2 (en) * 2013-12-02 2017-10-25 富士通株式会社 Information processing apparatus and recovery management method
WO2023065294A1 (en) * 2021-10-22 2023-04-27 Telefonaktiebolaget Lm Ericsson (Publ) Moveable ip based network resilience

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079397A1 (en) * 1999-06-23 2000-12-28 Fujitsu Limited Network protocol controller and network protocol controlling method, and recorded medium on which network protocol controlling program is recorded
JP2004032452A (en) * 2002-06-26 2004-01-29 Nec Corp System changing method and system of cluster-configured machines
JP2007133665A (en) * 2005-11-10 2007-05-31 Hitachi Ltd Computer system, distributed processing method, computer and distributed processing program

Also Published As

Publication number Publication date
JP2012090180A (en) 2012-05-10

Similar Documents

Publication Publication Date Title
US7225356B2 (en) System for managing operational failure occurrences in processing devices
CN107465721B (en) Global load balancing method and system based on double-active architecture and scheduling server
JP4659062B2 (en) Failover method, program, management server, and failover system
US7849178B2 (en) Grid computing implementation
US20130073894A1 (en) Techniques for achieving high availability with multi-tenant storage when a partial fault occurs or when more than two complete faults occur
JP5352115B2 (en) Storage system and method for changing monitoring condition thereof
US7895468B2 (en) Autonomous takeover destination changing method in a failover
WO2016058307A1 (en) Fault handling method and apparatus for resource
US8112518B2 (en) Redundant systems management frameworks for network environments
WO2016202051A1 (en) Method and device for managing active and backup nodes in communication system and high-availability cluster
US20080288812A1 (en) Cluster system and an error recovery method thereof
CN105337780B (en) A kind of server node configuration method and physical node
CN102394914A (en) Cluster brain-split processing method and device
CN101689114A (en) Dynamic cli mapping for clustered software entities
CN104036043A (en) High availability method of MYSQL and managing node
CN112887367B (en) Method, system and computer readable medium for realizing high availability of distributed cluster
WO2017097006A1 (en) Real-time data fault-tolerance processing method and system
WO2016082078A1 (en) Path management system, device and method
CN110971662A (en) Two-node high-availability implementation method and device based on Ceph
JP5594668B2 (en) Node, clustering system, clustering system control method, and program
JP5930029B2 (en) Management device and log collection method
CN111309515A (en) Disaster recovery control method, device and system
Zhang et al. Reliability models for systems with internal and external redundancy
CN105490847A (en) Real-time detecting and processing method of node failure in private cloud storage system
CN115145782A (en) Server switching method, mooseFS system and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140703

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140728

R150 Certificate of patent or registration of utility model

Ref document number: 5594668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees