JP5594668B2 - Node, clustering system, clustering system control method, and program - Google Patents
Node, clustering system, clustering system control method, and program Download PDFInfo
- 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
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アドレスを割り当てたクラスタリングシステムが開示されている。
このクラスタリングシステムは、固定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.
しかしながら、特許文献1は、仮想IPアドレスを用いてノードのIPアドレスをフェイルオーバーするという基本的な考え方を示しているものの、開示されている具体例は、1つの運用ノードと1つの待機ノードによる運用形態(いわゆるACT/SBY運用)のみである。
However, although
クラスタリングシステムの運用形態は多様であり、特許文献1に例示される運用形態の他にも、例えば、1つの運用ノードと複数の待機ノードによる運用形態(ACT/SBY運用の冗長性を高めた形態)、複数の運用ノードによる運用形態(いわゆるACT/ACT運用)、複数の運用ノードと1つ以上の待機ノードによる運用形態(ACT/ACT運用に冗長性を付加した形態)といった、各種の運用形態のクラスタリングシステムが考えられる。
There are various operation forms of the clustering system. Besides the operation form exemplified in
このような各種の運用形態のクラスタリングシステムにおいて、仮想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.
本発明の実施の形態におけるクラスタリングシステムおよびノードについて、図面を参照しながら詳細に説明する。 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
クラスタリングシステム10は、ネットワークを介してクライアント91〜94にサービスを提供するシステムであり、ノード11〜14をネットワーク19で接続してなる。
The
ノード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
ノード11〜14は、相互に、管理用の固定IPアドレスipnを通して、自ノードの最新の状態の通知、ヘルスチェック、およびデータベースの一致制御といった管理用の通信を行うとともに、クライアントに対して、仮想IPアドレスvipnを通して、サービスを提供する。
Each of the
(ノードが取り得る状態)
図2は、ノード11が取り得る状態を説明する状態遷移図である。ノード12〜14も同様の状態を取り得るものとし、ここではノード11について代表して説明する。
(State that the node can take)
FIG. 2 is a state transition diagram illustrating states that the
ノード11は、指定された仮想IPアドレスを通してサービスを提供する運用状態(ACT:ACTive)、サービスを提供可能な状態で待機している待機状態(SBY:StandBY)、サービスを提供することができない停止状態(OUS:OUt of Service)、および電源投入後などにおいてノードが起動中の初期状態(INIT:INITial)のうちの、どの状態にもなることができる。
The
本発明は停止状態の種類を限定しないが、一例として、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 /
なお、ノード11〜14の状態は、各ノード間で交換され、記録されるものとする。
Note that the states of the
ノード11〜14は、例えば、状態遷移の都度、遷移後の状態を示す情報を全てのノードにブロードキャストしてもよく、また、例えば、ヘルスチェックのための通信を行う際に自ノードの状態を他ノードへ通知してもよい。
For example, each time a state transition occurs, the
ノード11〜14は、そのようにして通知される他ノードの状態を、後述する状態テーブルに記録する。
The
(ノードの構成)
図3は、ノード11の機能的な構成の一例を示すブロック図である。ノード12〜14も同様に構成されるものとし、ここではノード11について代表して説明する。
(Node configuration)
FIG. 3 is a block diagram illustrating an example of a functional configuration of the
ノード11は、HDD(ハードディスク装置)17、NIC(ネットワークインタフェースコントローラ)18、サービス実行部20、および仮想アドレス制御部30を備え、さらに、図示されていないプロセッサ、メモリなどを用いて構成されたコンピュータシステムである。サービス実行部20および仮想アドレス制御部30は、前記プロセッサが前記メモリを用いて所定のプログラムを実行することにより果たされるソフトウェア機能である。
The
サービス実行部20は、仮想IPアドレスvip1を通して、図外のクライアントにサービスを提供する実行部であり、例えば3層モデルによるWebアプリケーションサーバの機能を果たす、WEB層21、AP層22、およびDB層23を有する。
The
なお、サービス実行部20のこのような構成は1つの例示であることに注意する。サービス実行部20は、仮想IPアドレスvip1を通してクライアントにサービスを提供するものであればよく、3層モデルによるWebアプリケーションサーバには限定されない。
Note that such a configuration of the
仮想アドレス制御部30は、仮想IPアドレスを用いたIPアドレスのフェイルオーバーを、異なる複数の構成のクラスタリングシステムにおいて統一された手順で実行する制御部であり、状態管理部31、停止復帰検出部33、代替判断部34、代替ノード決定部35、および代替開始終了部36を有する。状態管理部31は、状態テーブル32を有する。
The virtual
ここで、停止復帰検出部33、代替判断部34、代替ノード決定部35、および代替開始終了部36は、それぞれ本発明の停止ノード検出部、代替判断部、代替ノード決定部、および代替開始部の一例である。また、停止復帰検出部33、代替開始終了部36は、それぞれ本発明の復帰検出部、代替終了部の一例でもある。
Here, the stop /
状態管理部31は、自ノードであるノード11の状況を定期的にまたは逐次検出し、検出された状態テーブル32に記録する。ここで言う状況には、例えば、自ノードの状態、負荷レベル、自ノードに指定されている仮想IPアドレスが含まれる。
The
状態管理部31は、自ノードの状況に何らかの変化が生じる都度、自ノードの最新の状況を示す情報を全てのノードにブロードキャストする。例えば、自ノードの状態が遷移した場合、負荷レベルが一定量変動した場合、および自ノードに指定されている仮想IPアドレスが追加および削除された場合など、その都度、自ノードの最新の状態、負荷レベル、および仮想IPアドレスを示す情報を、全ノードにブロードキャストする。
The
状態管理部31は、他ノードからブロードキャストされるそのような情報を参照して、各ノードの最新の状態、負荷レベル、および仮想IPアドレスを状態テーブル32に記録する。
The
状態管理部31はまた、例えば、固定IPアドレスipnを通して、ノード12〜14との間でヘルスチェックのための通信を行うことで、各ノードの仮想IPアドレス、状態、および負荷レベルを定期的に収集し、収集された最新の情報を状態テーブル32に記録してもよい。
The
図4は、ノード11における状態テーブル32の一例を示す図である。
FIG. 4 is a diagram illustrating an example of the state table 32 in the
状態テーブル32は、自ノードであるノード11、および他ノードであるノード12〜14の各々について、固定アドレス欄321にはノードに指定されたIPアドレス、仮想アドレス欄322にはノードに指定された1つ以上の仮想IPアドレス、状態欄323にはノードの状態(ACT、SBY、FAIL、INITの何れかの記号)、および負荷レベル欄324にはノードの負荷レベル値(例えばロードアベレージ値)を保持している。
In the status table 32, for each of the
同様の状態テーブル32は、ノード12〜14にも設けられ、ノード11〜14の各々において、ノード11〜14の状態に関する同一の内容が記録される。
A similar state table 32 is also provided for the
(ノードにおける仮想アドレス制御動作)
図5〜図8のフローチャートを参照しながら、仮想アドレス制御部30の動作について説明を続ける。
(Virtual address control operation in the node)
The operation of the virtual
図5は、仮想アドレス制御部30による仮想アドレス制御処理の一例を示すフローチャートである。
FIG. 5 is a flowchart illustrating an example of a virtual address control process performed by the virtual
仮想アドレス制御部30において、停止復帰検出部33は、運用状態から停止状態になったノードを停止ノードとして検出する(S10)。
In the virtual
停止ノードは、いくつかの態様で検出される。例えば、直接的には、自ノードで発生した故障を検出することによって、自ノードを停止ノードとして検出してもよく、また、状態管理部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
停止ノードが検出されると(S11でY)、代替判断部34は、自ノードが停止ノードの代替候補であるかを判断する(S20)。より具体的には、自ノードが待機状態にありかつ自ノードに指定された仮想アドレスと停止ノードに指定された仮想アドレスとが等しいか(S21でY)、または、自ノードが運用状態にありかつ自ノードに指定された仮想アドレスと停止ノードに指定された仮想アドレスとが異なる(S22でY)ことにより、自ノードが停止ノードの代替候補であると判断する。
When a stop node is detected (Y in S11), the
ステップ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 /
図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 /
再び図5を参照して、停止復帰検出部33は、代替している停止ノードが待機状態に復帰したことを検出する(S60)。復帰検出は、一例として、代替している停止ノードが修理されスタートアップコマンドの実行により待機状態になり、その結果として、停止ノードからブロードキャストされる、停止ノードが待機状態になったことを示す情報を受信することによって行ってもよい。
Referring to FIG. 5 again, the stop /
代替していた停止ノードの復帰が検出されると、代替開始終了部36は代替終了処理を行う(S70)。
When the return of the replacement stop node is detected, the replacement start /
図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 /
(実施例)
以下では、上記のように構成されたノードが、ノード自体の構成を全く変更することなく、異なる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
図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,
ノード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
ノード11、12、13は、代替判断(S20)を行う。ノード12、13は、自ノードがSBYであり、かつ自ノードに指定された仮想IPアドレスAと停止ノードに指定された仮想IPアドレスAとが等しいことにより(S21でY)、自ノードが停止ノードの代替候補であると判断する。ノード11は、故障によりFAILとなっているため、代替判断の条件が成立しない。
The
ノード12、13は、代替ノード決定処理(S30)を行う。ノード12、13は、それぞれの承認要求を、自ノードと同じくSBYであるノード13、12へ送信しようとする。ここで、ノード12がノード13よりも先に承認要求を送信したとすると(S31)、ノード13は自らの承認要求を送信するのをやめてノード12に受諾応答を返信し、ノード12はその受諾応答を受信する(S32)。ノード12は自ノードを代替ノードに決定し(S34)、ノード13にコミットを送信する(S35)。これにより、ノード12、13の間で、ノード12が代替ノードとして確定する。
The
ノード12は、自ノードと停止ノードとで仮想IPアドレスが一致するので、自ノードをACTにする代替開始処理を行う(S42)。これにより、クライアントは仮想IPアドレスAを通してノード12から引き続きサービスを受けることができる。
Since the virtual IP address of the
ノード11が修理される(S50)。ノード11は、起動してINITになった後、オペレータからスタートアップコマンドが投入されることでSBYになる(S55)。
The
ノード12は、ノード11が状態遷移の都度ブロードキャストする最新の状態を表す情報を受信することでノード11の復帰を検出する(S60)。ノード12は、自ノードと停止ノードとで仮想IPアドレスが一致することで、実質的な代替終了処理を行わず、ノード12はACTのままで、仮想IPアドレスAを通してサービスを提供し続ける。その結果、クライアントは仮想IPアドレスAを通してノード12から引き続きサービスを受けることができる。
The
このようにして、クラスタリングシステムが唯一の仮想アドレス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
なお、この運用形態では、ノード14は、SBYに維持され、仮想IPアドレス制御処理における停止ノードの代替候補にはならない。ノード14は、ノード11〜13の修理が長期化する場合など、オペレータの操作に応じてノード11〜13を置き換えるための機材としてリザーブされる。
In this operation mode, the
図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
ノード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
ノード11〜14は、代替判断(S20)を行う。ノード12、13は、自ノードがACTであり、かつ自ノードに指定された仮想IPアドレスB、Cと停止ノードに指定された仮想IPアドレスAとが異なることにより(S22でY)、自ノードが停止ノードの代替候補であると判断する。ノード11は、故障によりFAILとなっているため、代替判断の条件が成立しない。ノード14は、自ノードがSBYであり、かつ自ノードに指定された仮想IPアドレスDと停止ノードに指定された仮想IPアドレスAとが異なるため、代替判断の条件が成立しない。
The
ノード12、13は、代替ノード決定処理(S30)を行う。ノード12、13は、それぞれの承認要求を、自ノードと同じくACTであるノード13、12へ送信しようとする。ここで、ノード12がノード13よりも先に承認要求を送信したとすると(S31)、ノード13は自らの承認要求を送信するのをやめてノード12に受諾応答を返信し、ノード12はその受諾応答を受信する(S32)。ノード12は自ノードを代替ノードに決定し(S34)、ノード13にコミットを送信する(S35)。これにより、ノード12、13の間で、ノード12が代替ノードとして確定する。
The
ノード12は、自ノードと停止ノードとで仮想IPアドレスが異なるので、自ノードに停止ノードの仮想IPアドレスAを追加指定する代替開始処理を行う。ノード12は、仮想IPアドレスB、Aが指定された状態となる(S43)。これにより、クライアントは仮想IPアドレスAを通してノード12から引き続きサービスを受けることができる。
Since the
ノード11が修理される(S50)。ノード11は、起動してINITになった後、オペレータからスタートアップコマンドが投入されることでSBYになる(S55)。
The
ノード12は、ノード11が状態遷移の都度ブロードキャストする最新の状態を表す情報を受信するすることでノード11の復帰を検出する(S60)。ノード12は、自ノードと停止ノードとで仮想IPアドレスが異なるので、自ノードから停止ノードの仮想IPアドレスAを削除する代替終了処理を行う。ノード12に指定された仮想IPアドレスは、再びBのみになる(S73)。
The
これにより、ノード12は仮想IPアドレスBのみを通してサービスを提供することになり、ノード12の負荷レベルは直ちに平常化される。
As a result, the
その後速やかに、ノード11は、オペレータからアクティベートコマンドが投入されることで、ACTになる(S80)。これにより、クライアントは仮想IPアドレスAを通して再びノード11からサービスを受けることができるようになる。
Immediately thereafter, the
(まとめ)
以上説明した第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
18 NIC
DESCRIPTION OF
Claims (9)
前記複数のノードの各々は、管理用の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.
前記停止ノードが待機状態になったことを検出する復帰検出部と、
前記待機状態が検出されると、自ノードに指定された仮想アドレスと前記停止ノードに指定された仮想アドレスとが異なる場合、自ノードの状態を運用状態に維持したまま自ノードから前記停止ノードの仮想アドレスの指定を削除する代替終了部と
を備える請求項1に記載のノード。 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に記載のノード。 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.
請求項3に記載のノード。 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.
請求項3に記載のノード。 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.
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)
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)
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 |
-
2010
- 2010-10-21 JP JP2010236770A patent/JP5594668B2/en not_active Expired - Fee Related
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 |