Cluster system

A cluster system of the present invention is a cluster system including a plurality of node devices. Each of the node devices is connected with the other node devices by a first network and a second network, and includes: a first node managing unit configured to operate on an operating system embedded in an own device and detect operation statuses of the other node devices via the first network; a second node managing unit configured to operate without being affected by the operating system and detect operation statuses of the other node devices via the second network; and a node status judging unit configured to judge whether each of the node devices is in a down state according to a preset standard, based on results of the detection of the other node devices by the first node managing unit and the second node managing unit.

INCORPORATION BY REFERENCE

This application is based upon and claims the benefit of priority from Japanese patent application No. 2012-052640, filed on Mar. 9, 2012, the disclosure of which is incorporated herein in its entirety by reference.

TECHNICAL FIELD

The present invention relates to a cluster system, specifically, a cluster system configured by a plurality of nodes and managing whether the nodes are alive.

BACKGROUND ART

In recent years, the advent of cloud computing leads to an issue how to guarantee the quality of a service provided to a user by a provider, namely, how to keep SLA (Service Level Agreement). Therefore, a cluster system configured by a plurality of nodes as shown in Patent Document 1 has a redundant configuration to, even when a node providing a service comes into a down state, take over the service to another node, thereby guaranteeing the quality of the service. On the other hand, it is also an issue for clusterware installed in such a cluster system how quickly and accurately grasp the states (operation statues, or whether a fault has occurred or not) of the nodes in order to realize higher SLA.

Alive monitoring of nodes in a cluster system is performed in a manner that the nodes check the operation states each other by using, as a communication path, something that enables the nodes to exchange information, such as a LAN (Local Area Network), serial ports or a shared disk. In a case that it is impossible to perform communication with a certain node for a given time or more, the certain node is judged to be in the down state.

However, in the abovementioned method, a LAN, serial ports, a shared disk and so on are all controlled as management resources of an OS (Operating System), and therefore, are affected by the operation state of the OS, other than a physical fault of a communication path. For example, in a case that the OS of a specific node comes into a high load condition and cannot perform communication with other nodes for a given time or more, the specific node is considered to be in the down state by the other nodes though the node is not down actually.

Further, in a case that a node goes down due to a hardware fault or the like, it takes a specific time or more before the node is judged to be in the down state, and therefore, it is impossible to instantly execute system switching. For example, when power interruption is caused by a CPU (Central Processing Unit) fault and one node comes into a down state, it takes a specific time or more before another node judges the one node to be in the down state.

Thus, there is a problem for a cluster system that it is impossible to accurately and rapidly grasp the statuses of nodes, and therefore, it is impossible to rapidly switch the nodes and the reliability of the system decreases.

SUMMARY

Accordingly, an object of the present invention is to solve the abovementioned problem, “the reliability of the system decreases.”

A cluster system of an exemplary embodiment of the present invention is a cluster system including a plurality of node devices.

Each of the node devices is connected with the other node devices by a first network and a second network, and includes:

a first node managing unit configured to operate on an operating system embedded in an own device and detect operation statuses of the other node devices via the first network;

a second node managing unit configured to operate without being affected by the operating system and detect operation statuses of the other node devices via the second network; and

a node status judging unit configured to judge whether each of the node devices is in a down state according to a preset standard, based on results of the detection of the other node devices by the first node managing unit and the second node managing unit.

Further, a program of another exemplary embodiment of the present invention is a program for causing each of a plurality of node devices configuring a cluster system including the plurality of node devices, to realize:

a first node managing unit configured to operate on an operating system embedded in an own device and detect operation statuses of the other node devices via a first network connected to the other node devices;

a second node managing unit configured to operate without being affected by the operating system and detect operation statuses of the other node devices via a second network connected to the other node device; and

a node status judging unit configured to judge whether each of the node devices is in a down state according to a preset standard, based on results of the detection of the other node devices by the first node managing unit and the second node managing unit.

Further, a node management method of another exemplary embodiment of the present invention includes, in a cluster system including a plurality of node devices:

by a first node managing unit configured to operate on an operating system embedded in each of the node devices, detecting operation statuses of the other node devices via a first network connected with the other node devices;

by a second node managing unit configured to operate without being affected by the operating system embedded in the node device, detecting operation statuses of the other node devices via a second network connected with the other node device; and

judging whether each of the node devices is in a down state according to a preset standard, based on results of the detection of the other node devices by the first node managing unit and the second node managing unit.

With the configurations as described above, the present invention can increase the reliability of a cluster system.

EXEMPLARY EMBODIMENT

A cluster system (also referred to as a “cluster” hereinafter) according to the present invention includes a plurality of node devices (also referred to as “nodes” hereinafter). The respective nodes execute alive monitoring each other. The cluster system has a function to, in a case that one node comes into a down state, execute a system switching process of causing another node to restart a service having been executed by the one node. Below, the cluster system according to the present invention will be described.

First Exemplary Embodiment

A first exemplary embodiment of the present invention will be described with reference toFIGS. 1 to 11.FIGS. 1 and 2are diagrams for describing the configuration of the cluster system.FIGS. 3 to 11are views for describing the operation of the cluster system.

As shown inFIG. 1, the cluster system according to the present invention includes a plurality of node devices as shown with a node (1)101, a node (2)102, and a node (N)103. The node devices101. . . are each configured by an information processing device like a server computer. However, the node devices101. . . may be each configured by an information processing device virtually structured as explained in a second exemplary embodiment described later. The number of the node devices101. . . configuring the cluster system according to the present invention is not limited to the number thereof inFIG. 1.

The node devices101. . . described above, in each of which an operating system (also referred to as “OS” hereinafter) is embedded, has service units106. . . for performing a predetermined service process provided to users and clusterwares107. . . for controlling the operation of the cluster system, respectively. The service units106. . . and the clusterwares107. . . are structured by embedding programs into arithmetic devices installed in the node devices101. . . , respectively. Hereinafter, the node devices101. . . will be shown and described with reference numeral201inFIG. 2.

Among the service units described above, the service unit106included in the node device101, which is an active system among the node devices101. . . configuring the cluster system, operates and provides a service process to a user. On the other hand, the service units109and112included in the other node devices102and103, which are standby systems, are on standby (refer to dotted lines inFIG. 1). Then, the clusterware107controls a process to start or stop the service units106. . . . Therefore, in a case that the service unit106is incapable of continuing to operate because of, for example, a fault of the node device101, the clusterware107executes system switching, which is switching between the active system and the standby system regarding the node devices, and the service unit included in another one of the node devices restarts the service.

The clusterware107, which is denoted by reference numeral203inFIG. 2, includes a cluster controlling unit205, a node managing unit206, an operation status transmitting unit207and an operation status receiving unit208as shown inFIG. 2. The node managing unit206manages a node list A209for holding “identifiers,” “addresses” and “operation statuses” of all of the nodes contained in the cluster system. The respective units205to208and the node list A209will be described in detail in explanation of the operation later.

Further, as shown inFIG. 1, the respective node devices101. . . are connected to a wired or wireless LAN (Local Area Network) (a first network). The respective node devices101. . . are enabled to perform communication with each other via the LAN and a network switch (1)104by the clusterware107operating on the operating system.

Furthermore, as shown inFIG. 1, the node devices101. . . include baseboard management controllers108. . . , respectively. Each of the baseboard management controllers108. . . operates as firmware implemented on hardware such as a processor installed in each of the node device101. . . , and operates independently of the aforementioned OS embedded in each of the node device101. . . . Therefore, even when any of the node devices101. . . comes to a standstill, a baseboard management controller204installed in each of the node devices101. . . can keep operating.

The baseboard management controllers108. . . installed in the node devices101. . . , respectively, are connected to a wired or wireless management LAN (a second network), and are capable of performing communication with each other via the management LAN and a network switch (2)105. Because the network switch (1)104and the network switch (2)105are connected by a predetermined network, the clusterwares107. . . and the baseboard management controllers108. . . can also perform communication with each other.

InFIG. 2, the baseboard management controllers108. . . are denoted by reference numeral204. The baseboard management controller204includes a BMC node managing unit210, a BMC operation status acquiring unit211, a BMC controlling unit212and a hardware monitoring unit213as shown inFIG. 2. Then, the BMC node managing unit210manages a node list B214for holding “identifiers” and “addresses” of all of the nodes contained in the cluster system. The respective units210to213and the node list B214will be described in detail in explanation of an operation later.

Next, the operation of the abovementioned node device210(each of the node devices101. . . ) will be described with reference toFIGS. 2 to 11.

First, the cluster controlling unit205requests the node managing unit206to start alive monitoring of the node devices, that is, start detection of operation statuses representing whether the own node and the other nodes are normally operating or are down (are not normally operating) (step S1inFIG. 4). The cluster controlling unit205waists for notification of the operation statuses from the respective node devices (step S2inFIG. 4).

Upon reception of the request for alive monitoring of the operation statuses from the cluster controlling unit205as described above, the node managing unit206(a first node managing unit) requests the operation status transmitting unit207to notify the operation status “operating” of the own node (step S21inFIG. 5). Then, based on the addresses of all of the nodes acquired from the node list A209via the node managing unit206(step S31inFIG. 6), the operation status transmitting unit207notifies the operation status “operating” of the own node to all of the nodes (steps S32and S33inFIG. 6). The notification of the operation status by the operation status transmitting unit207is received by the operation status receiving unit208of each of the nodes, and the operation status receiving unit208notifies the notified operation status of each of the nodes to the node managing unit206every time receiving the notification (steps S41and S42inFIG. 7). The node managing unit206receives the operation status of each of the nodes from the operation status receiving unit208(step S23inFIG. 5), and holds as the result of detection of the operation status of each of the nodes.

The node managing unit206judges a node device having not notified to the operation status receiving unit208for a given time or more to be in the down state, and holds the result of detection of the operation status of the node device. Because detection of the operation statuses of all of the nodes by the node managing unit206is executed on the OS, in such a case that the OS of any of the own node device or the other node devices is in a high-load condition, the node device cannot perform communication with the other nodes for a given time or more, and the node device is judged to be in the down state though the node device is not in the down state actually as mentioned above.

Further, the node managing unit206requests the BMC node managing unit210to acquire the operation statuses of all of the node devices almost in tandem with the process of detection of the operation statuses of all of the nodes executed on the OS described above (step S22inFIG. 5). Thus, the BMC node managing unit210(a second node managing unit) requests the BMC operation status acquiring unit211to acquire the operation statuses of all of the nodes (step S51inFIG. 8).

Based on the addresses of all of the nodes acquired from the node list B214via the BMC node managing unit210(step S61inFIG. 9), the BMC operation status acquiring unit211acquires the operation status from the BMC operation status acquiring unit211of each of the nodes (steps S62and S63inFIG. 9). The acquired operation status result is notified to the BMC node managing unit210(step S64inFIG. 9, step S52inFIG. 8), and notified from the BMC node managing unit210to the node managing unit206(step S53inFIG. 8).

Thus, by notification from the BMC node managing unit210, the node managing unit206accepts and holds the result of detection of the operation statuses of all of the nodes without being affected by the OS, via the baseboard management controller204(step S24inFIG. 5). Although the request to the BMC node managing unit210by the node managing unit206(step S22inFIG. 5described above) is periodically made, it is detected that the operation status of the own node in the BMC node managing unit210is a down state in a case that there is no request for a given time or more.

Subsequently, based on the result of detection of the operation statuses of all of the node devices executed on the OS received from the operation status receiving unit208as described above and the result of detection of the operation statuses of all of the node devices executed without affected by the OS received from the BMC node managing unit210, the node managing unit206(a node status judging unit) judges the operation status of the node device (step S25inFIG. 5). To be specific, the node managing unit206judges only a node device considered in the down state based on both the detection results to be in the down state that the node device is not normally operating actually.

Then, in a case that there is a node device judged to be in the down state (“Yes” at step S26inFIG. 5), the node managing unit206updates the operation status of a corresponding node in the node list A209(step S28inFIG. 5). In a case that the service unit202is operating in the node device judged to be in the down state, the node managing unit206requests the cluster controlling unit205to execute a system switching process (step S29inFIG. 5). After that, upon reception of the system switching request (step S3inFIG. 4), the cluster controlling unit205executes the system switching process, and the node managing unit206comes to standby for a given time (step S27inFIG. 5).

Next, an operation of monitoring the hardware of a node device by the baseboard management controller204(a second node managing unit) will be described. The hardware monitoring unit213monitors the hardware of the own node (step S91inFIG. 11) and, when detecting a fault, notifies to the BMC controlling unit212(“Yes” at step S92and step S94inFIG. 11, step S71inFIG. 10). The BMC controlling unit212judges whether there is a need to stop the node depending on the severity of the fault, and takes the following measures.

(1) When There is a Need to Immediately Stop the Node (“Yes” at Step S72and “Yes” at Step S74inFIG. 10)

The BMC controlling unit212forcibly stops the node (step S81inFIG. 10), and notifies stoppage of the node to the cluster controlling unit205of the other node (step S82inFIG. 10, step S93inFIG. 11). In a case that the service unit202of the node201having been stopped has been operating, the cluster controlling unit205of the node201having received the notification executes system switching.

(2) When There is a Need to Stop the Node Within a Predetermined Time (“Yes” at Step S72inFIG. 10and “No” at Step S74inFIG. 10)

The BMC controlling unit212gives an advance notice of stoppage to the cluster controlling unit205of the own node201(step S75inFIG. 10, arrow Y1inFIG. 3). In a case that the service unit202is not operating in the own node (“from own node” at step S3and “No” at step S6inFIG. 4), the cluster controlling unit205requests the BMC controlling unit212to stop the node (step11inFIG. 4, step S76and “Yes” at step S77inFIG. 10), and the BMC controlling unit212stops the node201(step S81inFIG. 10).

Further, in a case that the service unit202is operating in the own node (“Yes” at step S6inFIG. 4), the cluster controlling unit205requests the BMC controlling unit212to wait for completion of the system switching, in order to inhibit the stoppage process by the BMC controlling unit212(“No” at step S77and step S78inFIG. 10, step S7inFIG. 4, arrow Y2shown inFIG. 3). The cluster controlling unit205executes the system switching (step S8inFIG. 4). For example, in the example shown inFIG. 3, the cluster controlling unit205stops the service unit106operating in the node (1) denoted by reference numeral101, and executes the system switching so that the service unit109can move in the node (2) denoted by reference numeral102(arrow Y3and Y4inFIG. 3).

After completion of the system switching, in order to cancel the inhibition of the stoppage process by the BMC controlling unit212, the cluster controlling unit205notifies the completion of the system switching to the BMC controlling unit212(step S9inFIG. 4, arrow Y5inFIG. 3). The BMC controlling unit212having received the notification stops the node201(“No” at step S79and step S80inFIG. 10, arrow Y6inFIG. 3). However, in a case that the system switching is not completed within a predetermined time (“Yes” at step S79inFIG. 10), the BMC controlling unit212forcibly stops the node201(step S81inFIG. 10), and notifies the stoppage of the node201to the cluster controlling unit205of the other node201(step S82inFIG. 10). The cluster controlling unit205of the other node201having received the notification executes system switching (step S10, “from other node” at step S3, step S4, and step S5inFIG. 4).

(3) When There is No Need to Stop the Node (“No” at Step S72inFIG. 10)

The BMC controlling unit212takes measures for restoration of hardware in which a fault is caused (step S73inFIG. 10).

Thus, in the cluster system according to the present invention, alive monitoring of nodes by the baseboard management controller108is not affected by the operation status of the OS, so that it is possible, even when a node comes into a state incapable of performing communication with another node due to the operation status of the OS, to accurately grasp the operation status of the node. Therefore, it is possible to avoid judging that a node device is in the down state, and it is possible to increase the reliability of the cluster system.

Further, the cluster system according to the present invention detects a hardware fault in hardware monitoring by the baseboard management controller108that is not affected by the operation status of the OS and immediately notifies to all nodes, and hence, can immediately execute system switching in a case that a node goes down due to a hardware fault. As a result, it is possible to increase the reliability of the cluster system.

Second Exemplary Embodiment

Next, a second exemplary embodiment of the present invention will be described with reference toFIGS. 12 and 13. As shown inFIGS. 12 and 13, it is possible to realize the cluster system according to the present invention in a virtual environment.

In a virtual environment, as shown inFIG. 12, a plurality of nodes1105. . . operate within a virtual infrastructure (1)1101, but it is enough to install only one baseboard management controller1108. Each of K nodes within a virtual infrastructure1201shown inFIG. 13acquires the operation statuses of the other nodes via the same baseboard management controller1205without being affected by the OS.

A node list A1212managed by a node managing unit1209has the same configuration as the node list described in the first exemplary embodiment, whereas a node list B1217managed by a BMC node managing unit1213holds the “addresses” of virtual infrastructures and the “operation statuses of nodes within each of virtual infrastructures.” Thus, it is possible to acquire the operations statuses of a plurality of nodes in bulk from one virtual infrastructure.

The whole or part of the exemplary embodiments disclosed above can be described as the following supplementary notes. Below, the outline of configurations of a cluster system (refer toFIG. 14), a program and a node management method according to the present invention will be described. However, the present invention is not limited to the following configurations.

A cluster system comprising a plurality of node devices, wherein each of the node devices1is connected with the other node devices by a first network5and a second network6, and includes:

a first node managing unit2configured to operate on an operating system embedded in an own device and detect operation statuses of the other node devices via the first network5;

a second node managing unit3configured to operate without being affected by the operating system and detect operation statuses of the other node devices via the second network6; and

a node status judging unit4configured to judge whether each of the node devices is in a down state according to a preset standard, based on results of the detection of the other node devices by the first node managing unit2and the second node managing unit3.

The cluster system according to Supplementary Note 1, wherein the node status judging unit is configured to, in a case that both the first node managing unit and the second node managing unit detect that any of the node devices is in the down state according to the preset standard, judge the node device to be in the down state.

The cluster system according to Supplementary Note 2, comprising a cluster controlling unit configured to, in a case that the node device judged to be in the down state by the node status judging unit is executing a preset process, execute a node switching process of switching so that another of the node devices executes the preset process.

The cluster system according to Supplementary Note 3, wherein the second node managing unit is configured to operate without being affected by the operating system and monitor an operation status of hardware installed in the own device and, depending on a result of the monitoring, stop operation of the own device.

The cluster system according to Supplementary Note 4, wherein:

the second node managing unit is configured to notify, to the cluster controlling unit, that the operation of the own device is due to be stopped based on the result of the monitoring;

the cluster controlling unit is configured to receive notification that the operation of the own device is due to be stopped from the second node managing unit and, in a case that the own device is executing a preset process, execute the node switching process of switching so that another of the other node devices executes the process, and notify completion of the node switching process to the second node managing unit after the completion of the node switching process; and

the second node managing unit is configured to stop the operation of the own device after receiving notification that the node switching process by the cluster controlling unit is completed.

A program for causing each of a plurality of node devices configuring a cluster system including the plurality of node devices, to realize:

a first node managing unit configured to operate on an operating system embedded in an own device and detect operation statuses of the other node devices via a first network connected to the other node devices;

a second node managing unit configured to operate without being affected by the operating system and detect operation statuses of the other node devices via a second network connected to the other node device; and

a node status judging unit configured to judge whether each of the node devices is in a down state according to a preset standard, based on results of the detection of the other node devices by the first node managing unit and the second node managing unit.

The program according to Supplementary Note 6, wherein the node status judging unit is configured to, in a case that both the first node managing unit and the second node managing unit detect that any of the node devices is in the down state according to the preset standard, judge the node device to be in the down state.

A node management method comprising, in a cluster system including a plurality of node devices:

by a first node managing unit configured to operate on an operating system embedded in each of the node devices, detecting operation statuses of the other node devices via a first network connected with the other node devices;

by a second node managing unit configured to operate without being affected by the operating system embedded in the node device, detecting operation statuses of the other node devices via a second network connected with the other node device; and

judging whether each of the node devices is in a down state according to a preset standard, based on results of the detection of the other node devices by the first node managing unit and the second node managing unit.

The node management method according to Supplementary Note 8, comprising:

in a case that both the first node managing unit and the second node managing unit detect that any of the node devices is in the down state according to the preset standard, judging the node device to be in the down state.

The program disclosed above is stored in a storage device, or recorded on a non-transitory computer-readable recording medium. For example, the non-transitory computer-readable recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk and a semiconductor memory.

Although the present invention has been described above with reference to the aforementioned exemplary embodiments, the present invention is not limited to the exemplary embodiments. The configurations and details of the present invention can be altered in various manners that can be understood by those skilled in the art within the scope of the present invention.