[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2017047065A1 - Cluster system, information processing device, synchronization method for cluster system, and storage medium for storing program - Google Patents

Cluster system, information processing device, synchronization method for cluster system, and storage medium for storing program Download PDF

Info

Publication number
WO2017047065A1
WO2017047065A1 PCT/JP2016/004136 JP2016004136W WO2017047065A1 WO 2017047065 A1 WO2017047065 A1 WO 2017047065A1 JP 2016004136 W JP2016004136 W JP 2016004136W WO 2017047065 A1 WO2017047065 A1 WO 2017047065A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage unit
node
storage
synchronization data
unit
Prior art date
Application number
PCT/JP2016/004136
Other languages
French (fr)
Japanese (ja)
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 JP2017540498A priority Critical patent/JP6555353B2/en
Publication of WO2017047065A1 publication Critical patent/WO2017047065A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Definitions

  • the present invention relates to a cluster system, an information processing apparatus, a cluster system synchronization method, and a storage medium for storing a program.
  • the HA cluster system includes an active node that actually provides a service and a standby node that takes over the service when a failure occurs in the active node.
  • the standby node In order for the standby node to take over the service from the active node and provide it, it is necessary to take over not only the program used by the active node but also the data used by the program.
  • a method of transferring data from the active node to the standby node there are a method of using a shared disk (shared disk type), a method of mirroring data (data mirror type), and the like.
  • shared disk type shared disk type
  • data mirror type since data is synchronized by transferring data from the active node to the standby node using a network, the active node and the standby node must always be activated.
  • Patent Document 1 in a clustering system composed of a primary server and a slave server, updates to the storage means connected to the primary server are updated in the storage means connected to the slave server via a common disk. It is disclosed that it is reflected.
  • IaaS Intelligent as a Service
  • the data mirror type is used as a method of taking over data.
  • an HA cluster system is constructed between an on-premises environment and a cloud environment by using an existing node and a cloud service, a data mirror type is used.
  • both the active node and the standby node need to be activated at the same time when synchronizing. This is because data written to the active node is always transferred to the standby node.
  • the standby node does not take over the data written to the active node even if it tries to provide services on the standby node. Can not provide services.
  • the standby node cannot acquire the latest data from the active node.
  • An object of the present invention is to solve such a problem, and a cluster system, an information processing apparatus, a cluster system synchronization method, and a memory for storing a program that can suppress the operation cost of the node. To provide a medium.
  • a cluster system includes a first node that includes a first storage unit and operates as an active system, and a second node that includes a second storage unit and operates as a standby system.
  • a first control device that controls activation of the second node, and a third storage unit provided separately from the first node and the second node, wherein the first node includes: Synchronization data generating means for generating synchronization data for synchronizing the storage content of the first storage unit and the storage content of the second storage unit when the storage content of the first storage unit is updated; Transmitting the synchronization data generated by the synchronization data generation unit to the third storage unit and storing the synchronization data in the third storage unit; and transmitting the synchronization data by the synchronization data transmission unit If the second node A first activation instruction transmitting means for transmitting an activation instruction for instructing a transition from a stopped state to an activated state to the first control device, wherein the first control device receives the activation instruction; The second node is activate
  • Synchronous data generating means for generating synchronous data for synchronizing the storage contents of the second storage unit included in the processing apparatus, and the synchronous data generated by the synchronous data generating means for the own apparatus and the other information processing
  • a synchronization data transmission means for transmitting to a third storage section provided separately from the apparatus and storing the same in the third storage section, and the other information when the synchronization data transmission means transmits the synchronization data.
  • an activation instruction transmission means for transmitting an activation instruction for instructing the processing apparatus to shift from the stopped state to the activated state to an activation control unit that controls activation of the other information processing apparatus.
  • the cluster system synchronization method is configured such that when the storage content of the first storage unit included in the first node operating as the active system is updated, the storage of the first storage unit is performed. Generating synchronization data for synchronizing the contents and the contents stored in the second storage unit of the second node operating as the standby system, and generating the generated synchronization data from the first node and the second
  • the third storage unit is transmitted to the third storage unit provided separately from the node and stored in the third storage unit, the second node is shifted from the stop state to the start state, and the third storage unit
  • the synchronization data stored in the storage unit is acquired, and the update content indicated by the acquired synchronization data is reflected in the storage content of the second storage unit to update the storage content of the second storage unit It is.
  • the cluster system synchronization method is configured such that when the storage content of the first storage unit is updated, the storage content of the first storage unit and the second information processing apparatus have Generating synchronization data for synchronizing the storage contents of the storage unit, and transmitting the generated synchronization data to a third storage unit provided separately from the own apparatus and the other information processing apparatus, Control activation of the other information processing device with a start instruction for instructing the other information processing device to shift from the stopped state to the activated state when stored in the third storage unit and transmitting the synchronization data It is the method of transmitting to the starting control part.
  • the program stored in the storage medium is stored when the storage content of the first storage unit is updated in the computer of the information processing apparatus having the first storage unit. Synchronizing data for synchronizing the storage content of one storage unit and the storage content of a second storage unit included in another information processing apparatus is generated, and the generated synchronization data is included in the first storage unit.
  • the other information processing This is a program for executing transmission of an activation instruction for instructing to shift the apparatus from a stopped state to an activated state to an activation control unit that controls activation of the other information processing apparatus.
  • a cluster system an information processing apparatus, a cluster system synchronization method, and a storage medium for storing a program that can suppress the operation cost of the node.
  • FIG. 1 is a block diagram showing a configuration of a cluster system according to a first exemplary embodiment.
  • 1 is a block diagram showing a configuration of an active node according to a first exemplary embodiment.
  • FIG. 3 is a block diagram showing a configuration of a standby node according to the first exemplary embodiment.
  • 3 is a sequence chart illustrating an example of a synchronization operation of the cluster system according to the first exemplary embodiment;
  • 3 is a sequence chart illustrating an example of a synchronization operation of the cluster system according to the first exemplary embodiment;
  • FIG. 3 is a block diagram showing a configuration of a cluster system according to a second exemplary embodiment.
  • 10 is a sequence chart showing an example of a failover operation in the cluster system according to the second exemplary embodiment;
  • FIG. 1 is a block diagram illustrating an outline of a configuration of a cluster system 100 according to the embodiment.
  • the cluster system 100 includes an active node 110 that is a first node that operates as an active system, a standby node 120 that is a second node that operates as a standby system, and activation of the standby node 120.
  • a control device 130 also referred to as a first control device
  • a storage unit 140 is also referred to as a first control device
  • the “node” corresponds to hardware that executes software, a virtual machine, or the like, and typically corresponds to an operation unit of an OS (Operating System).
  • the active node 110 and the standby node 120 may each be realized in an on-premises environment, or may be realized by a cloud service that is an environment using a cloud computing infrastructure using a virtual machine.
  • the active node 110 is realized in an on-premises environment, and the standby node 120 is realized by a cloud service.
  • the active node 110 and the standby node 120 may be referred to as information processing apparatuses.
  • the cluster system 100 normally provides a predetermined service by the active node 110, and performs a failover when an abnormality occurs in the active node 110.
  • the standby node 120 provides the predetermined service instead of the active node 110.
  • the active node 110 has a storage unit 111 (also referred to as a first storage unit), and stores data in the storage unit 111.
  • the data stored in the storage unit 111 includes, for example, data written by application software that provides the predetermined service, information on a file system managed by an OS (Operating System), and the like.
  • the storage unit 111 is not limited to these, and various other data may be stored.
  • the standby node 120 includes a storage unit 121 (also referred to as a second storage unit), and stores the same data as the data stored in the storage unit 111 of the active node 110.
  • the storage unit 111 of the active node 110 and the storage unit 121 of the standby node 120 are synchronized via a storage unit 140 (also referred to as a third storage unit) provided separately from the active node 110 and the standby node 120. Take. Specifically, synchronization is achieved by the following configurations of the active node 110 and the standby node 120.
  • the active node 110 includes a synchronization data generation unit 112, a synchronization data transmission unit 113, and an activation instruction transmission unit 114.
  • the synchronization data generation unit 112 is data for synchronizing the storage content of the storage unit 111 and the storage content of the storage unit 121 when the storage content of the storage unit 111 is updated. Generate.
  • the synchronization data transmission unit 113 transmits the synchronization data generated by the synchronization data generation unit 112 to the storage unit 140 and causes the storage unit 140 to store the synchronization data.
  • the activation instruction transmission unit 114 transmits an activation instruction that instructs the standby node 120 to shift from the stop state to the activation state.
  • the control device 130 controls the standby node 120 to be activated. As a result, the standby node 120 changes from the stopped state to the activated state.
  • the standby node 120 includes a synchronization data acquisition unit 122 and an update unit 123.
  • the synchronization data acquisition unit 122 acquires the synchronization data stored in the storage unit 140.
  • the update unit 123 updates the storage content of the storage unit 121 by reflecting the update content indicated by the synchronization data acquired by the synchronization data acquisition unit 122 in the storage content of the storage unit 121.
  • the synchronization data acquisition unit 122 acquires the synchronization data
  • the update unit 123 updates the storage contents of the storage unit 121 according to the acquired synchronization data.
  • the cluster system 100 synchronizes the storage unit 111 and the storage unit 121.
  • the update unit 123 executes a shutdown process and shifts the standby node 120 to the stopped state again.
  • synchronization can be realized even if both the active node 110 and the standby node 120 are not activated simultaneously. For this reason, even if the active node 110 is not activated when the standby node 120 acquires the synchronization data, the standby node 120 can acquire the synchronization data. In addition, the activation of the standby node 120 can be limited when acquiring synchronous data.
  • the operation cost can be suppressed in the following points. Since it is not necessary to always operate the standby node 120, the operation cost of the standby node 120 can be suppressed. In particular, when the standby node 120 is realized in an environment where the usage fee is charged, the charged usage fee can be suppressed.
  • the operation cost is not necessarily limited to the usage fee, but includes costs such as labor related to operation.
  • the standby node 120 acquires the synchronization data, the synchronization is completed even if the active node 110 is not activated. Therefore, when the standby node 120 acquires the synchronization data, the active node 110 is not necessarily in the activated state. Also good. For this reason, the operation cost of the active node 110 is also suppressed.
  • the first embodiment will be described below.
  • FIG. 2 is a block diagram of a configuration of the cluster system 200 according to the first embodiment.
  • the cluster system 200 includes an active node 210, an external storage unit 240, and the cloud service 20.
  • the active node 210, the external storage unit 240, and the cloud service 20 are connected to each other via the network 25 so that they can communicate with each other.
  • the network 25 may be a wired network or a wireless network.
  • the active node 210 is an information processing apparatus realized in an on-premises environment. The detailed configuration of the active node 210 will be described later with reference to FIG. The active node 210 corresponds to the active node 110 described above.
  • the cloud service 20 is an environment that provides a service using a cloud computing infrastructure using a virtual machine, and is typically an information processing system including a server computer.
  • the cloud service 20 includes a service control unit 230 and a standby node 220. Therefore, in the present embodiment, the service control unit 230 and the standby node 220 are information processing apparatuses realized using a cloud computing infrastructure.
  • the service control unit 230 and the standby node 220 are connected to the network 25. Note that the service control unit 230 may communicate with the active node 210 via a network different from the network 25.
  • the detailed configuration of the standby node 220 will be described later with reference to FIG.
  • the service control unit 230 corresponds to the control device 130 described above, and the standby node 220 corresponds to the standby node 120 described above.
  • the cluster system 200 realizes an HA cluster system with such a configuration. That is, the cluster system 200 normally provides a service in accordance with an application 213 described later by the active node 210 and performs a failover when an abnormality occurs in the active node 210, and replaces the active node 210 with a standby node. 220 continues to provide this service according to an application 223 described below.
  • Each of the active node 210, the service control unit 230, and the standby node 220 includes a CPU (Central Processing Unit) and a memory (not shown) and functions as a computer.
  • CPU Central Processing Unit
  • the external storage unit 240 is a storage device provided separately from the active node 210 and the standby node 220, as shown in FIG.
  • the external storage unit 240 corresponds to the storage unit 140 described above.
  • the external storage unit 240 may be an object storage provided by the cloud service 20. Since the storage service is generally available at all times, it is considered suitable as a storage destination for synchronous data. As will be described later, the external storage unit 240 stores synchronization data for synchronizing the storage contents between the active node 210 and the standby node 220.
  • the service control unit 230 controls each function in the cloud service 20.
  • the service control unit 230 controls activation of the standby node 220.
  • the service control unit 230 controls to activate the standby node 220 when receiving an activation instruction to be described later. Thereby, the standby node 220 shifts from the stopped state to the activated state.
  • the control by the service control unit 230 can be realized by executing a program under the control of the CPU, for example. More specifically, it is realized by executing a program stored in a storage device (not shown) of the service control unit 230 under the control of the CPU.
  • the present invention is not limited to software by a program, and may be realized by any combination of hardware, firmware, and software.
  • FIG. 3 is a block diagram showing the configuration of the active node 210. As shown in FIG. 3, a storage unit 211, a file system 212, an application 213, clusterware 214, a data control unit 215, a data transfer unit 216, and a standby node activation control unit 217 are included.
  • the file system 212, the application 213, the clusterware 214, the data control unit 215, the data transfer unit 216, and the standby node activation control unit 217 can be realized, for example, by executing a program under the control of the CPU. More specifically, for example, a program stored in a storage device such as the storage unit 211 is executed under the control of the CPU.
  • each component is not limited to being realized by software by a program, but may be realized by any combination of hardware, firmware, and software.
  • the storage unit 211 is a storage device corresponding to the storage unit 111 described above, and stores data.
  • the file system 212 is a data management function provided by the OS or the like, and manages data and management information (data size, access right to data, etc.) of the data.
  • the application 213 is application software that provides a predetermined service such as a business application.
  • the clusterware 214 cooperates with the clusterware of other nodes (clusterware 224: see FIG. 4), and adjusts so that the coordinated operation is possible between the nodes. Specifically, for example, the clusterware 214 monitors the presence or absence of an abnormality such as a failure of the own node and other nodes. The clusterware 214 adjusts the operation of each node by communicating between the nodes using the network 25 or another network, for example. For example, the clusterware 214 adjusts which node is activated when an application is activated, and checks whether another node is activated by heartbeat communication.
  • the clusterware 214 cooperates with the clusterware 224 to start the application 223 by the standby node 220 from the activation of the application 213 by the active node 210 (see FIG. 4). Switch to startup. Specific examples of such switching include the following. After the failure of the active node 210 is detected by the clusterware 214, the execution of the application 213 on the active node 210 is stopped by the communication between the active node 210 and the standby node 220, and the execution of the application 223 on the standby node 220 is stopped. Be started. Further, the interruption of the heartbeat communication from the active node 210 is detected by the clusterware 224 of the standby node 220, and the application 223 of the standby node 220 is activated assuming that the active node 210 is down.
  • the data control unit 215 controls input / output with respect to the storage unit 211.
  • input / output of the file system 212 is directly performed on the storage unit 211, but in this embodiment, the processing of the data control unit 215 is hooked to the input / output processing between the file system 212 and the storage unit 211. is doing.
  • the data control unit 215 corresponds to the synchronous data generation unit 112 described above, and when the storage content of the storage unit 211 is updated, the storage content of the storage unit 211 and the storage of the storage unit 221 described later of the standby node 220 are stored. Generate synchronization data to synchronize the contents.
  • the write request from the application 213 passes through the file system 212 to the data control unit 215. As a result, data is written in the storage unit 211.
  • the data control unit 215 creates synchronous data based on the data stored in the storage unit 211.
  • the synchronization data is difference data between the first storage content of the storage unit 211 and the second storage content of the storage unit 211 after the update with respect to the first storage content. That is, the synchronization data is difference data between two stored contents based on, for example, time or the order of data written in the storage unit 211.
  • the data transfer unit 216 corresponds to the synchronous data transmission unit 113 described above, and stores the synchronous data generated by the data control unit 215 in the external storage unit 240 via the network 25. In the present embodiment, since difference data is used, the amount of data stored in the external storage unit 240 can be suppressed.
  • the standby node activation control unit 217 corresponds to the activation instruction transmission unit 114 described above, and requests the service control unit 230 to activate the standby node 220.
  • the standby node activation control unit 217 issues an activation instruction that instructs the standby node 220 to shift from the stopped state to the activated state. 230.
  • the standby node 220 will be described.
  • the number of standby nodes 220 is one, but may be plural.
  • the standby node 220 is configured as an IaaS node provided by the cloud service 20 and is charged according to usage time. In the case of pay-as-you-go, operating costs can be reduced by operating the node for the required time when necessary.
  • FIG. 4 is a block diagram showing the configuration of the standby node 220.
  • the standby node 220 includes a storage unit 221, a file system 222, an application 223, clusterware 224, a data transfer unit 225, and a data control unit 226.
  • the file system 222, the application 223, the clusterware 224, the data transfer unit 225, and the data control unit 226 can be realized, for example, by executing a program under the control of the CPU. More specifically, for example, it is realized by executing a program stored in a storage device such as the storage unit 221 under the control of the CPU.
  • each component is not limited to being realized by software by a program, but may be realized by any combination of hardware, firmware, and software.
  • the storage unit 221 is a storage device corresponding to the above-described storage unit 121, and stores the same data as the data stored in the storage unit 211 of the active node 210.
  • the file system 222 has the same data management function as the file system 212.
  • the application 223 is application software similar to the application 213, and provides the same service as the service provided by the application 213.
  • the clusterware 224 is similar to the clusterware 214, and cooperates with the clusterware 214 to make adjustments so that a coordinated operation between nodes is possible.
  • the data transfer unit 225 corresponds to the above-described synchronization data acquisition unit 122, and acquires the synchronization data stored in the external storage unit 240 via the network 25. Further, the data transfer unit 225 determines whether or not the synchronization data to be acquired is synchronization data that may be applied to the storage unit 221 when acquiring the synchronization data. That is, it is determined whether or not the synchronization data to be acquired matches the stored contents of the storage unit 211 of the synchronization partner.
  • the configuration for performing this determination process in the data transfer unit 225 may be referred to as determination means. Such a determination can prevent inconsistency between the storage contents of the storage unit 211 of the synchronization partner node and the storage contents of the storage unit 221 of the own node.
  • Whether or not the synchronization data to be acquired may be applied to the storage unit 221 is determined, for example, based on whether or not the synchronization data to be acquired is newer than the data currently stored in the storage unit 221. Is done. In this case, whether or not the synchronization data to be acquired is newer than the data currently held in the storage unit 221 depending on the date and time when the data was written in the storage unit 211 or the writing order in the storage unit 211. It may be determined. Note that the writing order is recorded by the data control units 215 and 226, for example.
  • whether or not the synchronization data to be acquired may be applied to the storage unit 221 may be determined based on, for example, whether or not the data is consistent. Under the situation where business applications are started on a plurality of different nodes, if a write occurs on a plurality of nodes at the same timing, a branch occurs in the data flow. In this case, consistency cannot be determined only by whether or not the data is new. Therefore, the determination may be made by confirming whether the node that has performed the writing is the synchronization partner node based on the history information that identifies the node that has performed the writing.
  • the data control unit 226 controls input / output with respect to the storage unit 221, similarly to the data control unit 215. However, while the data control unit 215 generates synchronization data, the data control unit 226 corresponds to the update unit 123 described above, and the update content indicated by the synchronization data acquired by the data transfer unit 225 is updated. The storage content of the storage unit 221 is updated by reflecting it in the storage content of the storage unit 221. In the present embodiment, the data control unit 226 applies the difference data acquired by the data transfer unit 225 to the storage content of the storage unit 221 and updates the storage content. Note that the data control unit 226 performs an update process on the synchronization data determined to be consistent with the storage content of the storage unit 221. When the update process of the storage unit 221 is completed, the data control unit 226 executes a shutdown process and shifts the standby node 220 to a stopped state.
  • FIG. 5 is a sequence chart showing an example of the synchronization operation of the cluster system 200.
  • the standby node 220 is in a stopped state until step 103.
  • step 100 the data control unit 215 of the active node 210 creates synchronization data from the data stored in the storage unit 211.
  • step 101 the data transfer unit 216 of the active node 210 transmits the synchronization data generated in step 100 to the external storage unit 240 using the network 25 and stores it in the external storage unit 240. To do.
  • step 102 the standby node activation control unit 217 of the active node 210 requests the service control unit 230 to activate the standby node 220. That is, the standby node activation control unit 217 transmits an activation instruction to the service control unit 230.
  • step 103 the service control unit 230 controls the standby node 220 to be activated.
  • step 104 after the start-up of the standby node 220 is completed, the data transfer unit 225 of the standby node 220 determines whether or not the synchronization data stored in the external storage unit 240 can be applied to the storage unit 221 of the standby node 220. judge. If applicable, the data transfer unit 225 acquires the synchronization data from the external storage unit 240 using the network 25.
  • step 105 the data control unit 226 of the standby node 220 updates the storage content of the storage unit 221 using the synchronization data acquired in step 104.
  • step 106 when the synchronization is completed, the standby node 220 shuts down itself and stops the node.
  • the cluster system 200 transmits and receives synchronous data via the external storage unit 240. For this reason, synchronization is possible even if the active node 210 and the standby node 220 are not simultaneously activated. That is, since the active node 210 and the standby node 220 access the external storage unit 240, the synchronization data is stored by the active node 210 (step 101), and the synchronization data is acquired by the standby node 220 (step 104). The synchronization process can be executed regardless of the activation state of the counterpart node. Further, since the synchronization data is in the external storage unit 240, even when data synchronization is performed when there are a plurality of standby nodes 220, the load on the active node 210 can be suppressed and synchronization can be realized.
  • the standby node 220 when operating with the active node 210, the standby node 220 can be brought into a stopped state except when the synchronization process is performed. For this reason, it becomes possible to hold down operation cost.
  • the sum of the operation cost of the standby node 220 when the activation of the standby node 220 is limited to the synchronization process and the operation cost of the external storage unit 240 when the external storage unit 240 is always activated is When it is lower than the operation cost when it is always activated, the operation cost is lower than when the active node 210 and the standby node 220 are always activated and directly synchronized between them.
  • FIG. 6 is a sequence chart showing an example of the synchronization operation of the cluster system 200.
  • step 200 an abnormality such as a failure occurs in the external storage unit 240.
  • step 201 the data transfer unit 225 of the standby node 220 tries to acquire the synchronization data from the external storage unit 240, but the acquisition fails because a failure has occurred.
  • step 202 the data transfer unit 225 of the standby node 220 requests synchronization data from the active node 210.
  • the data control unit 226 acquires information on data currently stored in the storage unit 221 from the data control unit 226 and requests the active node 210 to generate synchronization data.
  • step 203 the data control unit 215 of the active node 210 generates synchronization data in accordance with the request in step 202.
  • step 204 the data transfer unit 216 of the active node 210 transmits the generated synchronization data to the standby node 220.
  • step 205 the data transfer unit 225 of the standby node 220 acquires the synchronization data transmitted from the active node 210. And the data control part 226 updates the memory content of the memory
  • step 206 when the synchronization is completed, the standby node 220 shuts down itself and stops the node.
  • step 206 S206
  • the standby node 220 shuts down itself and stops the node.
  • FIG. 7 is a block diagram of a configuration of the cluster system 300 according to the second embodiment.
  • the cluster system 300 is the same as the cluster system 200 except that an external control unit 260 (second control device) is added. That is, the cluster system 300 includes an active node 210, an external storage unit 240, the cloud service 20, and an external control unit 260.
  • the cluster system 300 will be described with respect to differences from the cluster system 200, and redundant description will be omitted.
  • the external control unit 260 is an information processing apparatus having an active node activation monitoring unit 261 and a standby node activation control unit 262.
  • the external control unit 260 may be realized in an on-premises environment, or may be realized in an environment using a cloud computing infrastructure using a virtual machine.
  • the external control unit 260 may be realized by the cloud service 20.
  • the node with the lowest cost of the cloud service 20 may be used.
  • the external control unit 260 is always activated while the cluster system 300 is activated, but the overall cost can be suppressed by operating the external control unit 260 at a lower cost than the standby node 220.
  • the active node activation monitoring unit 261 and the standby node activation control unit 262 can be realized, for example, by executing a program under the control of the CPU. More specifically, for example, a program stored in a storage device (not shown) is executed under the control of the CPU.
  • each component is not limited to being realized by software by a program, but may be realized by any combination of hardware, firmware, and software.
  • the external control unit 260 can communicate with the active node 210 and the service control unit 230 via the network 25.
  • the external control unit 260 may communicate with these via a network different from the network 25.
  • the external control unit 260 has a CPU (Central Processing Unit) and a memory (not shown) and functions as a computer.
  • the active node activation monitoring unit 261 monitors the operating state of the active node 210. That is, the active node activation monitoring unit 261 (sometimes referred to as a monitoring unit) monitors whether the active node 210 is normally activated. The active node activation monitoring unit 261 detects this abnormality when an abnormality such as a failure occurs in the active node 210.
  • the monitoring by the active node activation monitoring unit 261 is performed by, for example, heartbeat communication, but various known monitoring methods may be used.
  • the standby node activation control unit 262 requests the service control unit 230 to activate the standby node 220 in the same manner as the standby node activation control unit 217. Specifically, the standby node activation control unit 262 transmits an activation instruction to the service control unit 230 when the active node activation monitoring unit 261 detects an abnormality in the active node 210.
  • the standby node activation control unit 262 may be referred to as a second activation instruction transmission unit.
  • FIG. 8 is a sequence chart showing an example of failover operation in the cluster system 300 when the active node 210 goes down while the standby node 220 is stopped.
  • step 300 an abnormality such as a failure occurs in the active node 210, and the active node 210 goes down.
  • step 301 the active node activation monitoring unit 261 of the external control unit 260 detects that the active node 210 is down.
  • step 302 the standby node activation control unit 262 of the external control unit 260 requests the service control unit 230 to activate the standby node 220. That is, the standby node activation control unit 262 transmits an activation instruction to the service control unit 230.
  • step 303 the service control unit 230 controls the standby node 220 to be activated.
  • step 304 when the activation of the standby node 220 is completed, the clusterware 224 of the standby node 220 confirms that the active node 210 is down.
  • step 305 the data transfer unit 225 of the standby node 220 determines whether or not the synchronization data stored in the external storage unit 240 is applicable to the storage unit 221 of the standby node 220. If applicable, the data transfer unit 225 acquires the synchronization data from the external storage unit 240 using the network 25.
  • step 306 the data control unit 226 of the standby node 220 updates the storage contents of the storage unit 221 using the synchronization data acquired in step 305.
  • step 307 when the synchronization is completed, the clusterware 224 activates the application 223.
  • the cluster system 300 even if the active node 210 goes down when the standby node 220 is stopped, the standby node 220 is activated, and the business can be continued as the cluster system.
  • the operation cost of the standby node 220 when the activation of the standby node 220 is limited to the synchronization processing, the operation cost of the external storage unit 240 when the external storage unit 240 is always activated, and the external control unit 260 are always set.
  • the sum of the operation cost of the external control unit 260 when activated is lower than the operation cost when the standby node 220 is always activated, the active node 210 and the standby node 220 are always activated to Operational costs are lower than with direct synchronization.
  • the performance of the standby node 220 when activated based on the activation instruction by the standby node activation control unit 217 of the active node 210 is the same as that when activated based on the activation instruction by the standby node activation control unit 262 of the external control unit 260.
  • the performance may be lower than that of the standby node 220.
  • the standby node 220 when realizing the standby node 220 in the cloud service 20, the standby node 220 may be constructed while suppressing performance such as the number of CPUs or the amount of memory.
  • the standby node 220 is activated not for providing a service but for synchronization, the amount of resources to be used can be suppressed. It is possible to reduce operational costs.
  • each node, the service control unit 230, or the external control unit 260 may be realized in a physical environment.
  • activation of the standby node 220 in the physical environment can be realized by using a Wake-on-LAN function or the like.
  • Non-transitory computer readable media include various types of tangible storage media (tangible storage medium).
  • Examples of non-transitory computer-readable media include magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable ROM), flash ROM, RAM (random access memory)) are included.
  • the program may also be supplied to the computer by various types of temporary computer-readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves.
  • the temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

Provided is a cluster system which is capable of restricting node operating costs. The cluster system 100 is provided with an active node 110, a standby node 120, a control device 130 and a storage unit 140. The active node 110 has: a sync data generating unit 112 which generates sync data for synchronizing storage content of a storage unit 111 of the active node 110 with storage content of a storage unit 121 of the standby node 120; a sync data transmitting unit 113 which stores the sync data in the storage unit 140; and a start instruction transmitting unit 114 which transmits a start instruction to the control device 130. The control device 130 starts the standby node 120 when the start instruction is received. The standby node 120 has a sync data acquisition unit 122 which acquires the sync data stored in the storage unit 140, and an update unit 123 which updates the storage content in the storage unit 121.

Description

クラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを格納する記憶媒体Cluster system, information processing apparatus, cluster system synchronization method, and storage medium for storing program
 本発明はクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを格納する記憶媒体に関する。 The present invention relates to a cluster system, an information processing apparatus, a cluster system synchronization method, and a storage medium for storing a program.
 IT(Information Technology)サービスの可用性を向上させる方法として、HA(High Availability:高可用性)クラスタシステムを構築する方法がある。HAクラスタシステムは、実際にサービスを提供するアクティブノードと、アクティブノードに障害が発生した場合にサービスを引き継いで提供するスタンバイノードで構成される。スタンバイノードがアクティブノードからサービスを引き継いで提供するためには、アクティブノードで利用していたプログラムだけではなく、プログラムが利用していたデータも引き継ぐ必要がある。 As a method for improving the availability of IT (Information Technology) service, there is a method of constructing a HA (High Availability) cluster system. The HA cluster system includes an active node that actually provides a service and a standby node that takes over the service when a failure occurs in the active node. In order for the standby node to take over the service from the active node and provide it, it is necessary to take over not only the program used by the active node but also the data used by the program.
 アクティブノードからスタンバイノードへデータを引き継ぐ方法として、共有ディスクを利用する方法(共有ディスク型)、データをミラーリングする方法(データミラー型)などがある。データミラー型の場合、アクティブノードからスタンバイノードに対しネットワークを利用してデータを転送することでデータを同期するため、アクティブノード、スタンバイノードが常に起動している必要がある。 As a method of transferring data from the active node to the standby node, there are a method of using a shared disk (shared disk type), a method of mirroring data (data mirror type), and the like. In the case of the data mirror type, since data is synchronized by transferring data from the active node to the standby node using a network, the active node and the standby node must always be activated.
 また、特許文献1では、主系サーバと従系サーバにより構成されるクラスタリングシステムにおいて、主系サーバに接続された記憶手段に対する更新を、共通ディスクを介して従系サーバに接続された記憶手段に反映させることについて開示している。 Further, in Patent Document 1, in a clustering system composed of a primary server and a slave server, updates to the storage means connected to the primary server are updated in the storage means connected to the slave server via a common disk. It is disclosed that it is reflected.
 また、近年、クラウドサービスが広まってきており、ITサービスを提供するために物理マシンを購入するのではなく、IaaS(Infrastructure as a Service)を利用するケースが増加している。 Also, in recent years, cloud services have become widespread, and cases where IaaS (Infrastructure as a Service) is used instead of purchasing physical machines to provide IT services are increasing.
 ここで、IaaSを利用してHAクラスタシステムを構築する場合、共有ディスクを利用することが難しいため、データを引き継ぐ方法としてデータミラー型を利用することになる。また、既存のノードとクラウドサービスを利用することによりオンプレミス環境とクラウド環境との間でのHAクラスタシステムを構築する場合も、データミラー型を利用することになる。 Here, when constructing an HA cluster system using IaaS, it is difficult to use a shared disk, so the data mirror type is used as a method of taking over data. Further, when an HA cluster system is constructed between an on-premises environment and a cloud environment by using an existing node and a cloud service, a data mirror type is used.
特開2001-337856号公報JP 2001-337856 A
 ミラーリングによる同期方式では、同期する際にアクティブノード及びスタンバイノードの両方が同時に起動状態である必要がある。これは、アクティブノードに書き込まれたデータを常時スタンバイノードへ転送するためである。また、スタンバイノードが停止状態の際に、アクティブノードに障害が発生した場合、スタンバイノードでサービスを提供しようとしても、スタンバイノードはアクティブノードに書き込まれたデータを引き継げていないためアクティブノードと同じ状態でサービスを提供できない。さらに、アクティブノードが停止状態である場合、スタンバイノードがアクティブノードから最新データを取得できない。 In the synchronization method by mirroring, both the active node and the standby node need to be activated at the same time when synchronizing. This is because data written to the active node is always transferred to the standby node. In addition, if the active node fails when the standby node is in the stopped state, the standby node does not take over the data written to the active node even if it tries to provide services on the standby node. Can not provide services. Further, when the active node is in a stopped state, the standby node cannot acquire the latest data from the active node.
 このようなことから、アクティブノード及びスタンバイノードの両方を常時起動状態にしておく必要がある。このため、ノードの運用コストを抑制することが困難となる。 For this reason, it is necessary to keep both the active node and the standby node in the active state. For this reason, it becomes difficult to suppress the operation cost of the node.
 特許文献1に記載された技術においても、この点について何ら考慮されておらず、ノードの運用コストを抑制することができない。 Even in the technique described in Patent Document 1, no consideration is given to this point, and the operation cost of the node cannot be suppressed.
 本発明の目的は、このような課題を解決するためになされたものであり、ノードの運用コストを抑制することができるクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを格納する記憶媒体を提供することにある。 SUMMARY OF THE INVENTION An object of the present invention is to solve such a problem, and a cluster system, an information processing apparatus, a cluster system synchronization method, and a memory for storing a program that can suppress the operation cost of the node. To provide a medium.
 本発明の一態様にかかるクラスタシステムは、第1の記憶部を有し、稼働系として動作する第1のノードと、第2の記憶部を有し、待機系として動作する第2のノードと、前記第2のノードの起動を制御する第1の制御装置と、前記第1のノード及び前記第2のノードとは別に設けられた第3の記憶部を備え、前記第1のノードは、前記第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と前記第2の記憶部の記憶内容を同期させるための同期データを生成する同期データ生成手段と、前記同期データ生成手段により生成された前記同期データを前記第3の記憶部に送信して前記第3の記憶部に記憶させる同期データ送信手段と、前記同期データ送信手段により前記同期データを送信する場合に、前記第2のノードを停止状態から起動状態へと移行するよう指示する起動指示を前記第1の制御装置へ送信する第1の起動指示送信手段を有し、前記第1の制御装置は、前記起動指示を受信した場合に、前記第2のノードを起動し、前記第2のノードは、前記第3の記憶部に記憶された前記同期データを取得する同期データ取得手段と、前記同期データ取得手段により取得された前記同期データにより示される更新内容を前記第2の記憶部の記憶内容に反映させて、前記第2の記憶部の記憶内容を更新する更新手段を有する。 A cluster system according to one aspect of the present invention includes a first node that includes a first storage unit and operates as an active system, and a second node that includes a second storage unit and operates as a standby system. A first control device that controls activation of the second node, and a third storage unit provided separately from the first node and the second node, wherein the first node includes: Synchronization data generating means for generating synchronization data for synchronizing the storage content of the first storage unit and the storage content of the second storage unit when the storage content of the first storage unit is updated; Transmitting the synchronization data generated by the synchronization data generation unit to the third storage unit and storing the synchronization data in the third storage unit; and transmitting the synchronization data by the synchronization data transmission unit If the second node A first activation instruction transmitting means for transmitting an activation instruction for instructing a transition from a stopped state to an activated state to the first control device, wherein the first control device receives the activation instruction; The second node is activated, and the second node acquires the synchronization data stored in the third storage unit, and the synchronization data acquisition unit acquires the synchronization data. Update means for updating the storage content of the second storage unit by reflecting the update content indicated by the synchronization data in the storage content of the second storage unit.
 また、本発明の一態様にかかる情報処理装置は、第1の記憶部と、前記第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と他の情報処理装置が有する第2の記憶部の記憶内容を同期させるための同期データを生成する同期データ生成手段と、前記同期データ生成手段により生成された前記同期データを、自装置及び前記他の情報処理装置とは別に設けられた第3の記憶部に送信して前記第3の記憶部に記憶させる同期データ送信手段と、前記同期データ送信手段により前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する起動指示送信手段を有する。 In addition, in the information processing device according to one embodiment of the present invention, when the storage content of the first storage unit and the first storage unit is updated, the storage content and other information of the first storage unit are updated. Synchronous data generating means for generating synchronous data for synchronizing the storage contents of the second storage unit included in the processing apparatus, and the synchronous data generated by the synchronous data generating means for the own apparatus and the other information processing A synchronization data transmission means for transmitting to a third storage section provided separately from the apparatus and storing the same in the third storage section, and the other information when the synchronization data transmission means transmits the synchronization data. There is provided an activation instruction transmission means for transmitting an activation instruction for instructing the processing apparatus to shift from the stopped state to the activated state to an activation control unit that controls activation of the other information processing apparatus.
 また、本発明の一態様にかかるクラスタシステムの同期方法は、稼働系として動作する第1のノードが有する第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と、待機系として動作する第2のノードが有する第2の記憶部の記憶内容を同期させるための同期データを生成し、生成された前記同期データを、前記第1のノード及び前記第2のノードとは別に設けられた前記第3の記憶部に送信して前記第3の記憶部に記憶させ、前記第2のノードを停止状態から起動状態へと移行させ、前記第3の記憶部に記憶された前記同期データを取得し、取得された前記同期データにより示される更新内容を前記第2の記憶部の記憶内容に反映させて、前記第2の記憶部の記憶内容を更新する方法である。 In addition, the cluster system synchronization method according to one aspect of the present invention is configured such that when the storage content of the first storage unit included in the first node operating as the active system is updated, the storage of the first storage unit is performed. Generating synchronization data for synchronizing the contents and the contents stored in the second storage unit of the second node operating as the standby system, and generating the generated synchronization data from the first node and the second The third storage unit is transmitted to the third storage unit provided separately from the node and stored in the third storage unit, the second node is shifted from the stop state to the start state, and the third storage unit The synchronization data stored in the storage unit is acquired, and the update content indicated by the acquired synchronization data is reflected in the storage content of the second storage unit to update the storage content of the second storage unit It is.
 また、本発明の一態様にかかるクラスタシステムの同期方法は、第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と他の情報処理装置が有する第2の記憶部の記憶内容を同期させるための同期データを生成し、生成された前記同期データを、自装置及び前記他の情報処理装置とは別に設けられた第3の記憶部に送信して前記第3の記憶部に記憶させ、前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する方法である。 In addition, the cluster system synchronization method according to one aspect of the present invention is configured such that when the storage content of the first storage unit is updated, the storage content of the first storage unit and the second information processing apparatus have Generating synchronization data for synchronizing the storage contents of the storage unit, and transmitting the generated synchronization data to a third storage unit provided separately from the own apparatus and the other information processing apparatus, Control activation of the other information processing device with a start instruction for instructing the other information processing device to shift from the stopped state to the activated state when stored in the third storage unit and transmitting the synchronization data It is the method of transmitting to the starting control part.
 また、本発明の一態様にかかる記憶媒体に格納されたプログラムは、第1の記憶部を有する情報処理装置のコンピュータに、前記第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と他の情報処理装置が有する第2の記憶部の記憶内容を同期させるための同期データを生成し、生成された前記同期データを、前記第1の記憶部を有する前記情報処理装置及び前記他の情報処理装置とは別に設けられた第3の記憶部に送信して前記第3の記憶部に記憶させ、前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信することを実行させるプログラムである。 In addition, the program stored in the storage medium according to one aspect of the present invention is stored when the storage content of the first storage unit is updated in the computer of the information processing apparatus having the first storage unit. Synchronizing data for synchronizing the storage content of one storage unit and the storage content of a second storage unit included in another information processing apparatus is generated, and the generated synchronization data is included in the first storage unit. In the case of transmitting to the third storage unit provided separately from the information processing device and the other information processing device, storing the third storage unit, and transmitting the synchronization data, the other information processing This is a program for executing transmission of an activation instruction for instructing to shift the apparatus from a stopped state to an activated state to an activation control unit that controls activation of the other information processing apparatus.
 本発明によれば、ノードの運用コストを抑制することができるクラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラムを格納する記憶媒体を提供することができる。 According to the present invention, it is possible to provide a cluster system, an information processing apparatus, a cluster system synchronization method, and a storage medium for storing a program that can suppress the operation cost of the node.
実施の形態にかかるクラスタシステムの構成の概要を示すブロック図である。It is a block diagram which shows the outline | summary of a structure of the cluster system concerning embodiment. 実施の形態1にかかるクラスタシステムの構成を示すブロック図である。1 is a block diagram showing a configuration of a cluster system according to a first exemplary embodiment. 実施の形態1にかかるアクティブノードの構成を示すブロック図である。1 is a block diagram showing a configuration of an active node according to a first exemplary embodiment. 実施の形態1にかかるスタンバイノードの構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of a standby node according to the first exemplary embodiment. 実施の形態1にかかるクラスタシステムの同期動作の一例を示すシーケンスチャートである。3 is a sequence chart illustrating an example of a synchronization operation of the cluster system according to the first exemplary embodiment; 実施の形態1にかかるクラスタシステムの同期動作の一例を示すシーケンスチャートである。3 is a sequence chart illustrating an example of a synchronization operation of the cluster system according to the first exemplary embodiment; 実施の形態2にかかるクラスタシステムの構成を示すブロック図である。FIG. 3 is a block diagram showing a configuration of a cluster system according to a second exemplary embodiment. 実施の形態2にかかるクラスタシステムにおけるフェールオーバーの動作の一例を示すシーケンスチャートである。10 is a sequence chart showing an example of a failover operation in the cluster system according to the second exemplary embodiment;
<本発明にかかる実施の形態の概要>
 実施の形態の説明に先立って、本発明にかかる実施の形態の概要を説明する。図1は、実施の形態にかかるクラスタシステム100の構成の概要を示すブロック図である。クラスタシステム100は、図1に示されるように、稼働系として動作する第1のノードであるアクティブノード110と、待機系として動作する第2のノードであるスタンバイノード120と、スタンバイノード120の起動を制御する制御装置130(第1の制御装置とも称される)と、記憶部140を備えている。
<Outline of Embodiment of the Present Invention>
Prior to the description of the embodiment, an outline of the embodiment according to the present invention will be described. FIG. 1 is a block diagram illustrating an outline of a configuration of a cluster system 100 according to the embodiment. As shown in FIG. 1, the cluster system 100 includes an active node 110 that is a first node that operates as an active system, a standby node 120 that is a second node that operates as a standby system, and activation of the standby node 120. A control device 130 (also referred to as a first control device) and a storage unit 140.
 ここで、「ノード」とは、ソフトウェアを実行するハードウェア、又は、仮想マシン等に相当するものであり、典型的には、OS(Operating System)の動作単位に対応するものである。例えば、アクティブノード110とスタンバイノード120は、それぞれ、オンプレミス環境で実現されてもよいし、仮想マシンを使用したクラウドコンピューティング基盤を用いた環境であるクラウドサービスにより実現されてもよい。一例としては、アクティブノード110は、オンプレミス環境で実現され、スタンバイノード120はクラウドサービスにより実現される。なお、アクティブノード110及びスタンバイノード120は、情報処理装置と称されることもある。 Here, the “node” corresponds to hardware that executes software, a virtual machine, or the like, and typically corresponds to an operation unit of an OS (Operating System). For example, the active node 110 and the standby node 120 may each be realized in an on-premises environment, or may be realized by a cloud service that is an environment using a cloud computing infrastructure using a virtual machine. As an example, the active node 110 is realized in an on-premises environment, and the standby node 120 is realized by a cloud service. Note that the active node 110 and the standby node 120 may be referred to as information processing apparatuses.
 クラスタシステム100は、通常時、アクティブノード110により所定のサービスを提供し、アクティブノード110に異常が発生した際に、フェールオーバーを実施し、アクティブノード110に代わりスタンバイノード120が所定のサービスを提供するHAクラスタシステムである。 The cluster system 100 normally provides a predetermined service by the active node 110, and performs a failover when an abnormality occurs in the active node 110. The standby node 120 provides the predetermined service instead of the active node 110. HA cluster system.
 ここで、アクティブノード110は、記憶部111(第1の記憶部とも称される)を有しており、この記憶部111にデータを記憶している。なお、記憶部111が記憶するデータには、例えば、上記の所定のサービスを提供するアプリケーションソフトウェアにより書き込まれるデータ、OS(Operating System)が管理するファイルシステムの情報などが含まれる。なお、記憶部111には、これらに限らず、他の種々のデータが記憶されてもよい。 Here, the active node 110 has a storage unit 111 (also referred to as a first storage unit), and stores data in the storage unit 111. The data stored in the storage unit 111 includes, for example, data written by application software that provides the predetermined service, information on a file system managed by an OS (Operating System), and the like. The storage unit 111 is not limited to these, and various other data may be stored.
 スタンバイノード120は、記憶部121(第2の記憶部とも称される)を有しており、アクティブノード110の記憶部111が記憶するデータと同じデータを記憶する。アクティブノード110の記憶部111及びスタンバイノード120の記憶部121は、アクティブノード110及びスタンバイノード120とは別に設けられた記憶部140(第3の記憶部とも称される)を介して、同期をとる。具体的には、アクティブノード110及びスタンバイノード120の以下の構成により、同期をとる。 The standby node 120 includes a storage unit 121 (also referred to as a second storage unit), and stores the same data as the data stored in the storage unit 111 of the active node 110. The storage unit 111 of the active node 110 and the storage unit 121 of the standby node 120 are synchronized via a storage unit 140 (also referred to as a third storage unit) provided separately from the active node 110 and the standby node 120. Take. Specifically, synchronization is achieved by the following configurations of the active node 110 and the standby node 120.
 アクティブノード110は、同期データ生成部112と、同期データ送信部113と、起動指示送信部114を有する。 The active node 110 includes a synchronization data generation unit 112, a synchronization data transmission unit 113, and an activation instruction transmission unit 114.
 同期データ生成部112は、記憶部111の記憶内容が更新された場合に、記憶部111の記憶内容と記憶部121の記憶内容を同期させるためのデータであって、更新内容を示す同期データを生成する。 The synchronization data generation unit 112 is data for synchronizing the storage content of the storage unit 111 and the storage content of the storage unit 121 when the storage content of the storage unit 111 is updated. Generate.
 同期データ送信部113は、同期データ生成部112により生成された同期データを記憶部140に送信し、同期データを記憶部140に記憶させる。 The synchronization data transmission unit 113 transmits the synchronization data generated by the synchronization data generation unit 112 to the storage unit 140 and causes the storage unit 140 to store the synchronization data.
 起動指示送信部114は、同期データ送信部113により同期データを送信する場合に、スタンバイノード120を停止状態から起動状態へと移行するよう指示する起動指示を制御装置130へ送信する。これに対し、制御装置130は、起動指示を受信すると、スタンバイノード120を起動するよう制御する。これにより、スタンバイノード120は、停止状態から起動状態になる。 When the synchronization data transmission unit 113 transmits the synchronization data, the activation instruction transmission unit 114 transmits an activation instruction that instructs the standby node 120 to shift from the stop state to the activation state. On the other hand, when receiving the activation instruction, the control device 130 controls the standby node 120 to be activated. As a result, the standby node 120 changes from the stopped state to the activated state.
 一方、スタンバイノード120は、同期データ取得部122と、更新部123を有する。同期データ取得部122は、記憶部140に記憶された同期データを取得する。また、更新部123は、同期データ取得部122により取得された同期データにより示される更新内容を記憶部121の記憶内容に反映させて、記憶部121の記憶内容を更新する。 On the other hand, the standby node 120 includes a synchronization data acquisition unit 122 and an update unit 123. The synchronization data acquisition unit 122 acquires the synchronization data stored in the storage unit 140. Further, the update unit 123 updates the storage content of the storage unit 121 by reflecting the update content indicated by the synchronization data acquired by the synchronization data acquisition unit 122 in the storage content of the storage unit 121.
 スタンバイノード120は、制御装置130の制御によって起動すると、同期データ取得部122により同期データを取得し、更新部123が取得された同期データに従って記憶部121の記憶内容を更新する。これにより、クラスタシステム100は、記憶部111と記憶部121の同期をとる。なお、更新部123は、記憶部121の更新処理が終了すると、シャットダウン処理を実行し、スタンバイノード120を再び停止状態に移行させる。 When the standby node 120 is activated by the control of the control device 130, the synchronization data acquisition unit 122 acquires the synchronization data, and the update unit 123 updates the storage contents of the storage unit 121 according to the acquired synchronization data. As a result, the cluster system 100 synchronizes the storage unit 111 and the storage unit 121. When the update process of the storage unit 121 is completed, the update unit 123 executes a shutdown process and shifts the standby node 120 to the stopped state again.
 クラスタシステム100によれば、アクティブノード110及びスタンバイノード120が両方とも同時に起動状態でなくても、同期を実現することができる。このため、スタンバイノード120が同期データを取得する時点で、アクティブノード110が起動していなくても、スタンバイノード120は同期データを取得することができる。また、スタンバイノード120の起動を、同期データを取得する時に限定できる。 According to the cluster system 100, synchronization can be realized even if both the active node 110 and the standby node 120 are not activated simultaneously. For this reason, even if the active node 110 is not activated when the standby node 120 acquires the synchronization data, the standby node 120 can acquire the synchronization data. In addition, the activation of the standby node 120 can be limited when acquiring synchronous data.
 このようなことから、以下の点で運用コストを抑制することが可能となる。スタンバイノード120を常時稼働させる必要がないため、スタンバイノード120の運用コストを抑制することができる。特に、スタンバイノード120が、従量課金される環境により実現されている場合には、課金される利用料金を抑制することができる。ここで、運用コストは、必ずしも利用料金に限らず、運用に関わる労力などのコストも含む。また、スタンバイノード120が同期データを取得する際、アクティブノード110が起動していなくても同期は完了するため、スタンバイノード120が同期データを取得する際に必ずしもアクティブノード110が起動状態でなくてもよい。このため、アクティブノード110の運用コストも抑制される。
<実施の形態1>
 以下、実施の形態1について説明する。
For this reason, the operation cost can be suppressed in the following points. Since it is not necessary to always operate the standby node 120, the operation cost of the standby node 120 can be suppressed. In particular, when the standby node 120 is realized in an environment where the usage fee is charged, the charged usage fee can be suppressed. Here, the operation cost is not necessarily limited to the usage fee, but includes costs such as labor related to operation. Further, when the standby node 120 acquires the synchronization data, the synchronization is completed even if the active node 110 is not activated. Therefore, when the standby node 120 acquires the synchronization data, the active node 110 is not necessarily in the activated state. Also good. For this reason, the operation cost of the active node 110 is also suppressed.
<Embodiment 1>
The first embodiment will be described below.
 図2は、実施の形態1にかかるクラスタシステム200の構成を示すブロック図である。図2に示すように、クラスタシステム200は、アクティブノード210と、外部記憶部240と、クラウドサービス20を有する。アクティブノード210、外部記憶部240、及びクラウドサービス20は、ネットワーク25を介して、相互に通信可能に接続されている。なお、ネットワーク25は、有線ネットワークでもよいし、無線ネットワークでもよい。 FIG. 2 is a block diagram of a configuration of the cluster system 200 according to the first embodiment. As illustrated in FIG. 2, the cluster system 200 includes an active node 210, an external storage unit 240, and the cloud service 20. The active node 210, the external storage unit 240, and the cloud service 20 are connected to each other via the network 25 so that they can communicate with each other. The network 25 may be a wired network or a wireless network.
 本実施の形態では、アクティブノード210は、オンプレミス環境で実現される情報処理装置である。アクティブノード210の詳細な構成は、図3を用いて後述する。なお、アクティブノード210は、上述のアクティブノード110に対応している。 In the present embodiment, the active node 210 is an information processing apparatus realized in an on-premises environment. The detailed configuration of the active node 210 will be described later with reference to FIG. The active node 210 corresponds to the active node 110 described above.
 クラウドサービス20は、仮想マシンを使用したクラウドコンピューティング基盤を用いてサービスを提供する環境であり、典型的にはサーバコンピュータから構成される情報処理システムである。クラウドサービス20は、サービス制御部230と、スタンバイノード220を有する。したがって、本実施の形態では、サービス制御部230及びスタンバイノード220は、それぞれ、クラウドコンピューティング基盤を用いて実現された情報処理装置である。
サービス制御部230及びスタンバイノード220は、ネットワーク25に接続されている。なお、サービス制御部230は、ネットワーク25とは別のネットワークによりアクティブノード210と通信してもよい。スタンバイノード220の詳細な構成は、図4を用いて後述する。サービス制御部230は、上述の制御装置130に対応しており、スタンバイノード220は、上述のスタンバイノード120に対応している。
The cloud service 20 is an environment that provides a service using a cloud computing infrastructure using a virtual machine, and is typically an information processing system including a server computer. The cloud service 20 includes a service control unit 230 and a standby node 220. Therefore, in the present embodiment, the service control unit 230 and the standby node 220 are information processing apparatuses realized using a cloud computing infrastructure.
The service control unit 230 and the standby node 220 are connected to the network 25. Note that the service control unit 230 may communicate with the active node 210 via a network different from the network 25. The detailed configuration of the standby node 220 will be described later with reference to FIG. The service control unit 230 corresponds to the control device 130 described above, and the standby node 220 corresponds to the standby node 120 described above.
 クラスタシステム200は、このような構成により、HAクラスタシステムを実現している。すなわち、クラスタシステム200は、通常時、アクティブノード210により後述するアプリケーション213に従ったサービスを提供し、アクティブノード210に異常が発生した際に、フェールオーバーを実施し、アクティブノード210に代わりスタンバイノード220が後述するアプリケーション223に従って引き続きこのサービスを提供する。なお、アクティブノード210、サービス制御部230、及びスタンバイノード220は、それぞれ図示しないCPU(Central Processing Unit)及びメモリなどを有し、コンピュータとしての機能を備えている。 The cluster system 200 realizes an HA cluster system with such a configuration. That is, the cluster system 200 normally provides a service in accordance with an application 213 described later by the active node 210 and performs a failover when an abnormality occurs in the active node 210, and replaces the active node 210 with a standby node. 220 continues to provide this service according to an application 223 described below. Each of the active node 210, the service control unit 230, and the standby node 220 includes a CPU (Central Processing Unit) and a memory (not shown) and functions as a computer.
 外部記憶部240は、図2に示されるように、アクティブノード210及びスタンバイノード220とは別に設けられた記憶装置である。なお、外部記憶部240は、上述の記憶部140に対応している。外部記憶部240は、クラウドサービス20により提供されるオブジェクトストレージなどであってもよい。ストレージサービスは、一般的に、常時利用可能であるため、同期データの格納先として適していると考えられる。外部記憶部240には、後述するように、アクティブノード210とスタンバイノード220で記憶内容の同期を行うための同期データが格納される。 The external storage unit 240 is a storage device provided separately from the active node 210 and the standby node 220, as shown in FIG. The external storage unit 240 corresponds to the storage unit 140 described above. The external storage unit 240 may be an object storage provided by the cloud service 20. Since the storage service is generally available at all times, it is considered suitable as a storage destination for synchronous data. As will be described later, the external storage unit 240 stores synchronization data for synchronizing the storage contents between the active node 210 and the standby node 220.
 サービス制御部230は、クラウドサービス20内の各機能を制御する。特に、本実施の形態では、サービス制御部230は、スタンバイノード220の起動を制御する。サービス制御部230は、後述する起動指示を受信した場合に、スタンバイノード220を起動するよう制御する。これにより、スタンバイノード220は、停止状態から起動状態へと移行する。サービス制御部230による制御は、例えば、CPUの制御によって、プログラムが実行されることによって実現できる。より具体的には、サービス制御部230の図示しない記憶装置に格納されたプログラムを、CPUの制御によって実行して実現する。また、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。 The service control unit 230 controls each function in the cloud service 20. In particular, in the present embodiment, the service control unit 230 controls activation of the standby node 220. The service control unit 230 controls to activate the standby node 220 when receiving an activation instruction to be described later. Thereby, the standby node 220 shifts from the stopped state to the activated state. The control by the service control unit 230 can be realized by executing a program under the control of the CPU, for example. More specifically, it is realized by executing a program stored in a storage device (not shown) of the service control unit 230 under the control of the CPU. In addition, the present invention is not limited to software by a program, and may be realized by any combination of hardware, firmware, and software.
 次に、アクティブノード210及びスタンバイノード220の具体的な構成について説明する。まず、アクティブノード210について説明する。 Next, specific configurations of the active node 210 and the standby node 220 will be described. First, the active node 210 will be described.
 図3は、アクティブノード210の構成を示すブロック図である。図3に示されるように、記憶部211と、ファイルシステム212と、アプリケーション213と、クラスタウェア214と、データ制御部215と、データ転送部216と、スタンバイノード起動制御部217を有する。 FIG. 3 is a block diagram showing the configuration of the active node 210. As shown in FIG. 3, a storage unit 211, a file system 212, an application 213, clusterware 214, a data control unit 215, a data transfer unit 216, and a standby node activation control unit 217 are included.
 ファイルシステム212、アプリケーション213、クラスタウェア214、データ制御部215、データ転送部216、及びスタンバイノード起動制御部217は、例えば、CPUの制御によって、プログラムが実行されることによって実現できる。より具体的には、例えば記憶部211などの記憶装置に格納されたプログラムを、CPUの制御によって実行して実現する。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。 The file system 212, the application 213, the clusterware 214, the data control unit 215, the data transfer unit 216, and the standby node activation control unit 217 can be realized, for example, by executing a program under the control of the CPU. More specifically, for example, a program stored in a storage device such as the storage unit 211 is executed under the control of the CPU. In addition, each component is not limited to being realized by software by a program, but may be realized by any combination of hardware, firmware, and software.
 記憶部211は、上述の記憶部111に対応した記憶装置であり、データを記憶する。
ファイルシステム212は、OSなどが提供するデータ管理機能であり、データ及びそのデータの管理情報(データサイズ、データへのアクセス権など)を管理する。アプリケーション213は、業務アプリケーションなどといった、所定のサービスを提供するアプリケーションソフトウェアである。
The storage unit 211 is a storage device corresponding to the storage unit 111 described above, and stores data.
The file system 212 is a data management function provided by the OS or the like, and manages data and management information (data size, access right to data, etc.) of the data. The application 213 is application software that provides a predetermined service such as a business application.
 クラスタウェア214は、他のノードのクラスタウェア(クラスタウェア224:図4参照)と協働し、ノード間で連携した動作が可能なように調整する。具体的には、例えば、クラスタウェア214は、自ノード及び他ノードの障害などの異常の有無を監視する。
また、クラスタウェア214は、例えば、ネットワーク25又は他のネットワークを利用してノード間で通信をして、各ノードの動作を調整する。例えば、クラスタウェア214は、アプリケーションを起動する際にどのノードで起動するかを調整したり、ハートビート通信により他のノードが起動しているかを確認したりする。
The clusterware 214 cooperates with the clusterware of other nodes (clusterware 224: see FIG. 4), and adjusts so that the coordinated operation is possible between the nodes. Specifically, for example, the clusterware 214 monitors the presence or absence of an abnormality such as a failure of the own node and other nodes.
The clusterware 214 adjusts the operation of each node by communicating between the nodes using the network 25 or another network, for example. For example, the clusterware 214 adjusts which node is activated when an application is activated, and checks whether another node is activated by heartbeat communication.
 アクティブノード210に障害などの異常が発生した場合には、クラスタウェア214は、クラスタウェア224と協働し、アクティブノード210によるアプリケーション213の起動から、スタンバイノード220によるアプリケーション223(図4参照)の起動へと切り替える。このような切替は、具体的には、例えば次のような例がある。クラスタウェア214によるアクティブノード210の障害の検出後、アクティブノード210とスタンバイノード220との通信により、アクティブノード210上でのアプリケーション213の実行が停止され、スタンバイノード220上でのアプリケーション223の実行が開始される。また、アクティブノード210からのハートビート通信が途絶したことがスタンバイノード220のクラスタウェア224により検出され、アクティブノード210がダウンしたものとしてスタンバイノード220のアプリケーション223が起動される。 When an abnormality such as a failure occurs in the active node 210, the clusterware 214 cooperates with the clusterware 224 to start the application 223 by the standby node 220 from the activation of the application 213 by the active node 210 (see FIG. 4). Switch to startup. Specific examples of such switching include the following. After the failure of the active node 210 is detected by the clusterware 214, the execution of the application 213 on the active node 210 is stopped by the communication between the active node 210 and the standby node 220, and the execution of the application 223 on the standby node 220 is stopped. Be started. Further, the interruption of the heartbeat communication from the active node 210 is detected by the clusterware 224 of the standby node 220, and the application 223 of the standby node 220 is activated assuming that the active node 210 is down.
 データ制御部215は、記憶部211に対する入出力を制御する。一般的に、ファイルシステム212の入出力はそのまま記憶部211に対し行われるが、本実施の形態では、ファイルシステム212と記憶部211との間の入出力処理にデータ制御部215の処理をフックしている。データ制御部215は、上述の同期データ生成部112に対応しており、記憶部211の記憶内容が更新された場合に、記憶部211の記憶内容とスタンバイノード220の後述する記憶部221の記憶内容を同期させるための同期データを生成する。 The data control unit 215 controls input / output with respect to the storage unit 211. In general, input / output of the file system 212 is directly performed on the storage unit 211, but in this embodiment, the processing of the data control unit 215 is hooked to the input / output processing between the file system 212 and the storage unit 211. is doing. The data control unit 215 corresponds to the synchronous data generation unit 112 described above, and when the storage content of the storage unit 211 is updated, the storage content of the storage unit 211 and the storage of the storage unit 221 described later of the standby node 220 are stored. Generate synchronization data to synchronize the contents.
 アプリケーション213からの書き込み要求は、ファイルシステム212を経てデータ制御部215にわたる。これにより、記憶部211にデータが書き込まれることとなる。 The write request from the application 213 passes through the file system 212 to the data control unit 215. As a result, data is written in the storage unit 211.
 データ制御部215は、記憶部211に格納されているデータを基に同期データを作成する。本実施の形態では、同期データは、記憶部211の第1の記憶内容と、この第1の記憶内容に対する更新後の記憶部211の第2の記憶内容との差分データである。すなわち、同期データは、例えば、時間、又は記憶部211に書き込まれるデータの順番などを基準とした、2つの記憶内容間での差分データである。 The data control unit 215 creates synchronous data based on the data stored in the storage unit 211. In the present embodiment, the synchronization data is difference data between the first storage content of the storage unit 211 and the second storage content of the storage unit 211 after the update with respect to the first storage content. That is, the synchronization data is difference data between two stored contents based on, for example, time or the order of data written in the storage unit 211.
 データ転送部216は、上述の同期データ送信部113に対応しており、データ制御部215により生成された同期データを、ネットワーク25を介して外部記憶部240に格納する。本実施の形態では、差分データが用いられるため、外部記憶部240に格納するデータ量を抑制することができる。 The data transfer unit 216 corresponds to the synchronous data transmission unit 113 described above, and stores the synchronous data generated by the data control unit 215 in the external storage unit 240 via the network 25. In the present embodiment, since difference data is used, the amount of data stored in the external storage unit 240 can be suppressed.
 スタンバイノード起動制御部217は、上述の起動指示送信部114に対応しており、サービス制御部230にスタンバイノード220の起動を要求する。スタンバイノード起動制御部217は、データ転送部216が外部記憶部240に同期データを送信して格納する際、スタンバイノード220を停止状態から起動状態へと移行するよう指示する起動指示をサービス制御部230へ送信する。 The standby node activation control unit 217 corresponds to the activation instruction transmission unit 114 described above, and requests the service control unit 230 to activate the standby node 220. When the data transfer unit 216 transmits and stores the synchronization data in the external storage unit 240, the standby node activation control unit 217 issues an activation instruction that instructs the standby node 220 to shift from the stopped state to the activated state. 230.
 次に、スタンバイノード220について説明する。図2に示した例では、スタンバイノード220は1つであるが、複数であってもよい。本実施の形態では、スタンバイノード220は、クラウドサービス20が提供するIaaSのノードとして構成されており、使用時間等に応じて従量課金されるものとする。従量課金の場合、必要な時に、必要な時間だけノードを稼働させることで運用コストを抑えることができる。 Next, the standby node 220 will be described. In the example illustrated in FIG. 2, the number of standby nodes 220 is one, but may be plural. In this embodiment, the standby node 220 is configured as an IaaS node provided by the cloud service 20 and is charged according to usage time. In the case of pay-as-you-go, operating costs can be reduced by operating the node for the required time when necessary.
 図4は、スタンバイノード220の構成を示すブロック図である。図4に示されるように、スタンバイノード220は、記憶部221と、ファイルシステム222と、アプリケーション223と、クラスタウェア224と、データ転送部225と、データ制御部226を有する。 FIG. 4 is a block diagram showing the configuration of the standby node 220. As shown in FIG. As illustrated in FIG. 4, the standby node 220 includes a storage unit 221, a file system 222, an application 223, clusterware 224, a data transfer unit 225, and a data control unit 226.
 ファイルシステム222、アプリケーション223、クラスタウェア224、データ転送部225、及びデータ制御部226は、例えば、CPUの制御によって、プログラムが実行されることによって実現できる。より具体的には、例えば記憶部221などの記憶装置に格納されたプログラムを、CPUの制御によって実行して実現する。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。 The file system 222, the application 223, the clusterware 224, the data transfer unit 225, and the data control unit 226 can be realized, for example, by executing a program under the control of the CPU. More specifically, for example, it is realized by executing a program stored in a storage device such as the storage unit 221 under the control of the CPU. In addition, each component is not limited to being realized by software by a program, but may be realized by any combination of hardware, firmware, and software.
 記憶部221は、上述の記憶部121に対応した記憶装置であり、アクティブノード210の記憶部211が記憶するデータと同じデータを記憶する。ファイルシステム222は、ファイルシステム212と同様のデータ管理機能である。アプリケーション223は、アプリケーション213と同様のアプリケーションソフトウェアであり、アプリケーション213により提供されるサービスと同じサービスを提供する。クラスタウェア224は、クラスタウェア214と同様のものであり、クラスタウェア214と協働し、ノード間で連携した動作が可能なように調整する。 The storage unit 221 is a storage device corresponding to the above-described storage unit 121, and stores the same data as the data stored in the storage unit 211 of the active node 210. The file system 222 has the same data management function as the file system 212. The application 223 is application software similar to the application 213, and provides the same service as the service provided by the application 213. The clusterware 224 is similar to the clusterware 214, and cooperates with the clusterware 214 to make adjustments so that a coordinated operation between nodes is possible.
 データ転送部225は、上述の同期データ取得部122に対応しており、外部記憶部240に記憶された同期データを、ネットワーク25を介して取得する。また、データ転送部225は、同期データの取得に際し、取得対象の同期データが、記憶部221に適用してもよい同期データであるか否かを判定する。すなわち、取得対象の同期データが、同期相手の記憶部211の記憶内容と整合するか否かが判定される。データ転送部225において、この判定処理を行う構成は、判定手段と呼ばれてもよい。このような判定により、同期相手のノードの記憶部211の記憶内容と自ノードの記憶部221の記憶内容との不整合を防ぐことができる。 The data transfer unit 225 corresponds to the above-described synchronization data acquisition unit 122, and acquires the synchronization data stored in the external storage unit 240 via the network 25. Further, the data transfer unit 225 determines whether or not the synchronization data to be acquired is synchronization data that may be applied to the storage unit 221 when acquiring the synchronization data. That is, it is determined whether or not the synchronization data to be acquired matches the stored contents of the storage unit 211 of the synchronization partner. The configuration for performing this determination process in the data transfer unit 225 may be referred to as determination means. Such a determination can prevent inconsistency between the storage contents of the storage unit 211 of the synchronization partner node and the storage contents of the storage unit 221 of the own node.
 取得対象の同期データを記憶部221に適用してもよいか否かは、例えば、取得対象の同期データが、現在記憶部221が保持しているデータよりも新しいデータであるか否かにより判定される。この場合、データが記憶部211に書き込まれた日時、又は、記憶部211における書き込み順序などにより、取得対象の同期データが、現在記憶部221が保持しているデータよりも新しいデータであるか否かを判定してもよい。なお、書き込み順序は、例えばデータ制御部215及び226により記録される。 Whether or not the synchronization data to be acquired may be applied to the storage unit 221 is determined, for example, based on whether or not the synchronization data to be acquired is newer than the data currently stored in the storage unit 221. Is done. In this case, whether or not the synchronization data to be acquired is newer than the data currently held in the storage unit 221 depending on the date and time when the data was written in the storage unit 211 or the writing order in the storage unit 211. It may be determined. Note that the writing order is recorded by the data control units 215 and 226, for example.
 また、取得対象の同期データを記憶部221に適用してもよいか否かは、例えば、データの一貫性があるか否かにより判定されてもよい。業務アプリケーションが異なる複数のノードで起動した状況下において、同じタイミングで複数のノードで書き込みが発生するとデータの流れに分岐が発生してしまう。この場合には、新しいデータであるか否かだけでは整合性を判断できない。そのため、書き込みを実施したノードを特定する履歴情報などに基づいて、書き込みを実施したノードが、同期相手のノードであるかを確認することにより判定がなされてもよい。 Further, whether or not the synchronization data to be acquired may be applied to the storage unit 221 may be determined based on, for example, whether or not the data is consistent. Under the situation where business applications are started on a plurality of different nodes, if a write occurs on a plurality of nodes at the same timing, a branch occurs in the data flow. In this case, consistency cannot be determined only by whether or not the data is new. Therefore, the determination may be made by confirming whether the node that has performed the writing is the synchronization partner node based on the history information that identifies the node that has performed the writing.
 データ制御部226は、データ制御部215と同様、記憶部221に対する入出力を制御する。ただし、データ制御部215が同期データの生成を行うのに対し、データ制御部226は、上述の更新部123に対応しており、データ転送部225により取得された同期データにより示される更新内容を記憶部221の記憶内容に反映させて、記憶部221の記憶内容を更新する。本実施の形態では、データ制御部226は、データ転送部225により取得された差分データを、記憶部221の記憶内容に対し適用し、記憶内容の更新を行う。なお、データ制御部226は、記憶部221の記憶内容と整合すると判定された同期データに対し、更新処理を行う。データ制御部226は、記憶部221の更新処理が終了すると、シャットダウン処理を実行し、スタンバイノード220を停止状態に移行させる。 The data control unit 226 controls input / output with respect to the storage unit 221, similarly to the data control unit 215. However, while the data control unit 215 generates synchronization data, the data control unit 226 corresponds to the update unit 123 described above, and the update content indicated by the synchronization data acquired by the data transfer unit 225 is updated. The storage content of the storage unit 221 is updated by reflecting it in the storage content of the storage unit 221. In the present embodiment, the data control unit 226 applies the difference data acquired by the data transfer unit 225 to the storage content of the storage unit 221 and updates the storage content. Note that the data control unit 226 performs an update process on the synchronization data determined to be consistent with the storage content of the storage unit 221. When the update process of the storage unit 221 is completed, the data control unit 226 executes a shutdown process and shifts the standby node 220 to a stopped state.
 次に、クラスタシステム200における同期動作について説明する。図5は、クラスタシステム200の同期動作の一例を示すシーケンスチャートである。なお、図5に示すシーケンスチャートにおいて、スタンバイノード220は、ステップ103までの間、停止状態であるものとする。 Next, the synchronization operation in the cluster system 200 will be described. FIG. 5 is a sequence chart showing an example of the synchronization operation of the cluster system 200. In the sequence chart shown in FIG. 5, the standby node 220 is in a stopped state until step 103.
 ステップ100(S100)において、アクティブノード210のデータ制御部215は、記憶部211に格納されたデータから同期データを作成する。 In step 100 (S100), the data control unit 215 of the active node 210 creates synchronization data from the data stored in the storage unit 211.
 次に、ステップ101(S101)において、アクティブノード210のデータ転送部216は、ステップ100で生成された同期データを、ネットワーク25を利用して外部記憶部240に送信し、外部記憶部240に格納する。 Next, in step 101 (S101), the data transfer unit 216 of the active node 210 transmits the synchronization data generated in step 100 to the external storage unit 240 using the network 25 and stores it in the external storage unit 240. To do.
 次に、ステップ102(S102)において、アクティブノード210のスタンバイノード起動制御部217が、スタンバイノード220の起動をサービス制御部230に要求する。すなわち、スタンバイノード起動制御部217は、起動指示をサービス制御部230に送信する。 Next, in step 102 (S102), the standby node activation control unit 217 of the active node 210 requests the service control unit 230 to activate the standby node 220. That is, the standby node activation control unit 217 transmits an activation instruction to the service control unit 230.
 次に、ステップ103(S103)において、サービス制御部230は、スタンバイノード220を起動するよう制御する。 Next, in step 103 (S103), the service control unit 230 controls the standby node 220 to be activated.
 ステップ104(S104)において、スタンバイノード220の起動完了後、スタンバイノード220のデータ転送部225は、外部記憶部240に格納されている同期データがスタンバイノード220の記憶部221に適用可能かどうかを判定する。適用可能である場合、データ転送部225は外部記憶部240から同期データを、ネットワーク25を利用して取得する。 In step 104 (S104), after the start-up of the standby node 220 is completed, the data transfer unit 225 of the standby node 220 determines whether or not the synchronization data stored in the external storage unit 240 can be applied to the storage unit 221 of the standby node 220. judge. If applicable, the data transfer unit 225 acquires the synchronization data from the external storage unit 240 using the network 25.
 続いて、ステップ105(S105)において、スタンバイノード220のデータ制御部226は、ステップ104で取得した同期データを用いて、記憶部221の記憶内容を更新する。 Subsequently, in step 105 (S105), the data control unit 226 of the standby node 220 updates the storage content of the storage unit 221 using the synchronization data acquired in step 104.
 ステップ106(S106)において、同期が完了すると、スタンバイノード220は、自らシャットダウンしてノードを停止する。 In step 106 (S106), when the synchronization is completed, the standby node 220 shuts down itself and stops the node.
 このように、クラスタシステム200は、外部記憶部240を介して同期データの送受信を行っている。このため、アクティブノード210及びスタンバイノード220が同時に起動状態でなくても同期が可能となる。すなわち、アクティブノード210及びスタンバイノード220は外部記憶部240に対しアクセスするため、アクティブノード210による同期データの格納の際(ステップ101)、及びスタンバイノード220による同期データの取得の際(ステップ104)、相手ノードの起動状態に関わらず同期処理を実行することができる。また、同期データが外部記憶部240にあるため、スタンバイノード220が複数存在する場合にデータ同期を実施するときでも、アクティブノード210への負荷を抑制して同期を実現することができる。 As described above, the cluster system 200 transmits and receives synchronous data via the external storage unit 240. For this reason, synchronization is possible even if the active node 210 and the standby node 220 are not simultaneously activated. That is, since the active node 210 and the standby node 220 access the external storage unit 240, the synchronization data is stored by the active node 210 (step 101), and the synchronization data is acquired by the standby node 220 (step 104). The synchronization process can be executed regardless of the activation state of the counterpart node. Further, since the synchronization data is in the external storage unit 240, even when data synchronization is performed when there are a plurality of standby nodes 220, the load on the active node 210 can be suppressed and synchronization can be realized.
 また、アクティブノード210で運用している場合は、同期処理を行う時以外、スタンバイノード220を停止状態にすることが可能となる。このため、運用コストを抑えることが可能となる。特に、スタンバイノード220の起動を同期処理時に限定した場合のスタンバイノード220の運用コストと、外部記憶部240を常時起動させた場合の外部記憶部240の運用コストとの和が、スタンバイノード220を常時起動させた場合の運用コストよりも低いとき、アクティブノード210及びスタンバイノード220を常時起動させて両者間で直接同期する場合よりも運用コストは低くなる。 Further, when operating with the active node 210, the standby node 220 can be brought into a stopped state except when the synchronization process is performed. For this reason, it becomes possible to hold down operation cost. In particular, the sum of the operation cost of the standby node 220 when the activation of the standby node 220 is limited to the synchronization process and the operation cost of the external storage unit 240 when the external storage unit 240 is always activated is When it is lower than the operation cost when it is always activated, the operation cost is lower than when the active node 210 and the standby node 220 are always activated and directly synchronized between them.
 なお、外部記憶部240が障害等により利用できなくなった場合は、クラスタシステム200は、アクティブノード210及びスタンバイノード220が直接通信して同期処理を実施する。具体的には、スタンバイノード220のデータ制御部226は、外部記憶部240に記憶された同期データの取得に失敗した場合、アクティブノード210に同期データを要求し、アクティブノード210のデータ制御部215は、この要求に応じて、同期データをスタンバイノード220に送信する。以下、この場合の動作について説明する。図6は、クラスタシステム200の同期動作の一例を示すシーケンスチャートである。 Note that when the external storage unit 240 becomes unavailable due to a failure or the like, the active node 210 and the standby node 220 in the cluster system 200 perform direct synchronization processing. Specifically, if the data control unit 226 of the standby node 220 fails to acquire the synchronization data stored in the external storage unit 240, the data control unit 215 of the active node 210 requests the synchronization data from the active node 210. Transmits synchronization data to the standby node 220 in response to this request. The operation in this case will be described below. FIG. 6 is a sequence chart showing an example of the synchronization operation of the cluster system 200.
 ステップ200(S200)において、外部記憶部240において障害等の異常が発生する。 In step 200 (S200), an abnormality such as a failure occurs in the external storage unit 240.
 ステップ201(S201)において、スタンバイノード220のデータ転送部225は、外部記憶部240からの同期データの取得を試みるが、障害が発生しているため、取得に失敗する。 In step 201 (S201), the data transfer unit 225 of the standby node 220 tries to acquire the synchronization data from the external storage unit 240, but the acquisition fails because a failure has occurred.
 ステップ202(S202)において、スタンバイノード220のデータ転送部225は、アクティブノード210に同期データを要求する。具体的には、データ制御部226は、記憶部221が現在保持しているデータの情報をデータ制御部226から取得し、アクティブノード210に対し同期データの生成を要求する。 In step 202 (S202), the data transfer unit 225 of the standby node 220 requests synchronization data from the active node 210. Specifically, the data control unit 226 acquires information on data currently stored in the storage unit 221 from the data control unit 226 and requests the active node 210 to generate synchronization data.
 ステップ203(S203)において、アクティブノード210のデータ制御部215は、ステップ202の要求に従い、同期データを生成する。 In step 203 (S203), the data control unit 215 of the active node 210 generates synchronization data in accordance with the request in step 202.
 ステップ204(S204)において、アクティブノード210のデータ転送部216は、生成した同期データをスタンバイノード220に送信する。 In step 204 (S204), the data transfer unit 216 of the active node 210 transmits the generated synchronization data to the standby node 220.
 ステップ205(S205)において、スタンバイノード220のデータ転送部225は、アクティブノード210から送信された同期データを取得する。そして、データ制御部226は、取得した同期データを用いて、記憶部221の記憶内容を更新する。 In step 205 (S205), the data transfer unit 225 of the standby node 220 acquires the synchronization data transmitted from the active node 210. And the data control part 226 updates the memory content of the memory | storage part 221 using the acquired synchronous data.
 ステップ206(S206)において、同期が完了すると、スタンバイノード220は、自らシャットダウンしてノードを停止する。
<実施の形態2>
 次に、実施の形態2について説明する。実施の形態1にかかるクラスタシステム200のようにスタンバイノード220を必要なときのみ起動する運用とした場合、スタンバイノード220が停止しているときにアクティブノード210がダウンしてしまうと、クラスタシステムとして業務を継続できないおそれがある。このため、本実施の形態では、アクティブノード210の起動状態を監視する外部制御部260を設ける。
In step 206 (S206), when the synchronization is completed, the standby node 220 shuts down itself and stops the node.
<Embodiment 2>
Next, a second embodiment will be described. When the standby node 220 is activated only when necessary as in the cluster system 200 according to the first embodiment, if the active node 210 goes down when the standby node 220 is stopped, the cluster system is There is a possibility that business cannot be continued. Therefore, in the present embodiment, an external control unit 260 that monitors the activation state of the active node 210 is provided.
 図7は、実施の形態2にかかるクラスタシステム300の構成を示すブロック図である。図7に示されるように、クラスタシステム300は、外部制御部260(第2の制御装置)が追加されている点を除き、クラスタシステム200と同様である。すなわち、クラスタシステム300は、アクティブノード210と、外部記憶部240と、クラウドサービス20と、外部制御部260を有する。以下、クラスタシステム300について、クラスタシステム200と異なる点について説明し、重複する説明を省略する。 FIG. 7 is a block diagram of a configuration of the cluster system 300 according to the second embodiment. As shown in FIG. 7, the cluster system 300 is the same as the cluster system 200 except that an external control unit 260 (second control device) is added. That is, the cluster system 300 includes an active node 210, an external storage unit 240, the cloud service 20, and an external control unit 260. Hereinafter, the cluster system 300 will be described with respect to differences from the cluster system 200, and redundant description will be omitted.
 外部制御部260は、アクティブノード起動監視部261及びスタンバイノード起動制御部262を有する情報処理装置である。外部制御部260は、オンプレミス環境で実現されてもよいし、仮想マシンを使用したクラウドコンピューティング基盤を用いた環境で実現されてもよい。例えば、外部制御部260は、クラウドサービス20により実現されてもよい。この場合、クラウドサービス20の最もコストが低いノードを利用してもよい。外部制御部260は、クラスタシステム300が起動中は常時起動することになるが、外部制御部260をスタンバイノード220よりも低いコストで運用することにより、全体のコストを抑制することができる。 The external control unit 260 is an information processing apparatus having an active node activation monitoring unit 261 and a standby node activation control unit 262. The external control unit 260 may be realized in an on-premises environment, or may be realized in an environment using a cloud computing infrastructure using a virtual machine. For example, the external control unit 260 may be realized by the cloud service 20. In this case, the node with the lowest cost of the cloud service 20 may be used. The external control unit 260 is always activated while the cluster system 300 is activated, but the overall cost can be suppressed by operating the external control unit 260 at a lower cost than the standby node 220.
 アクティブノード起動監視部261及びスタンバイノード起動制御部262は、例えば、CPUの制御によって、プログラムが実行されることによって実現できる。より具体的には、例えば図示しない記憶装置に格納されたプログラムを、CPUの制御によって実行して実現する。また、各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。 The active node activation monitoring unit 261 and the standby node activation control unit 262 can be realized, for example, by executing a program under the control of the CPU. More specifically, for example, a program stored in a storage device (not shown) is executed under the control of the CPU. In addition, each component is not limited to being realized by software by a program, but may be realized by any combination of hardware, firmware, and software.
 外部制御部260は、アクティブノード210及びサービス制御部230とネットワーク25を介して通信が可能である。外部制御部260は、ネットワーク25とは異なるネットワークを介して、これらと通信してもよい。なお、外部制御部260は、それぞれ図示しないCPU(Central Processing Unit)及びメモリなどを有し、コンピュータとしての機能を備えている。 The external control unit 260 can communicate with the active node 210 and the service control unit 230 via the network 25. The external control unit 260 may communicate with these via a network different from the network 25. The external control unit 260 has a CPU (Central Processing Unit) and a memory (not shown) and functions as a computer.
 アクティブノード起動監視部261は、アクティブノード210の動作状態を監視する。すなわち、アクティブノード起動監視部261(監視部と称されることもある)は、アクティブノード210が正常に起動しているか否かを監視する。アクティブノード起動監視部261は、アクティブノード210に障害等の異常が発生した場合、この異常を検出する。なお、アクティブノード起動監視部261による監視は、例えば、ハートビート通信により行われるが、公知の種々の監視方法が使用されてもよい。 The active node activation monitoring unit 261 monitors the operating state of the active node 210. That is, the active node activation monitoring unit 261 (sometimes referred to as a monitoring unit) monitors whether the active node 210 is normally activated. The active node activation monitoring unit 261 detects this abnormality when an abnormality such as a failure occurs in the active node 210. The monitoring by the active node activation monitoring unit 261 is performed by, for example, heartbeat communication, but various known monitoring methods may be used.
 スタンバイノード起動制御部262は、スタンバイノード起動制御部217と同様、サービス制御部230にスタンバイノード220の起動を要求する。具体的には、スタンバイノード起動制御部262は、アクティブノード起動監視部261により、アクティブノード210の異常が検出された場合に、起動指示をサービス制御部230へ送信する。スタンバイノード起動制御部262は、第2の起動指示送信部と称されることもある。 The standby node activation control unit 262 requests the service control unit 230 to activate the standby node 220 in the same manner as the standby node activation control unit 217. Specifically, the standby node activation control unit 262 transmits an activation instruction to the service control unit 230 when the active node activation monitoring unit 261 detects an abnormality in the active node 210. The standby node activation control unit 262 may be referred to as a second activation instruction transmission unit.
 次に、クラスタシステム300の動作について説明する。図8は、スタンバイノード220が停止中にアクティブノード210がダウンした場合のクラスタシステム300におけるフェールオーバーの動作の一例を示すシーケンスチャートである。 Next, the operation of the cluster system 300 will be described. FIG. 8 is a sequence chart showing an example of failover operation in the cluster system 300 when the active node 210 goes down while the standby node 220 is stopped.
 ステップ300(S300)において、アクティブノード210において障害等の異常が発生し、アクティブノード210がダウンする。 In step 300 (S300), an abnormality such as a failure occurs in the active node 210, and the active node 210 goes down.
 ステップ301(S301)において、外部制御部260のアクティブノード起動監視部261が、アクティブノード210がダウンしたことを検出する。 In step 301 (S301), the active node activation monitoring unit 261 of the external control unit 260 detects that the active node 210 is down.
 次に、ステップ302(S302)において、外部制御部260のスタンバイノード起動制御部262が、スタンバイノード220の起動をサービス制御部230に要求する。
すなわち、スタンバイノード起動制御部262は、起動指示をサービス制御部230に送信する。
Next, in step 302 (S302), the standby node activation control unit 262 of the external control unit 260 requests the service control unit 230 to activate the standby node 220.
That is, the standby node activation control unit 262 transmits an activation instruction to the service control unit 230.
 次に、ステップ303(S303)において、サービス制御部230は、スタンバイノード220を起動するよう制御する。 Next, in step 303 (S303), the service control unit 230 controls the standby node 220 to be activated.
 次に、ステップ304(S304)において、スタンバイノード220の起動が完了すると、スタンバイノード220のクラスタウェア224は、アクティブノード210がダウンしていることを確認する。 Next, in step 304 (S304), when the activation of the standby node 220 is completed, the clusterware 224 of the standby node 220 confirms that the active node 210 is down.
 次に、ステップ305(S305)において、スタンバイノード220のデータ転送部225は、外部記憶部240に格納されている同期データがスタンバイノード220の記憶部221に適用可能かどうかを判定する。適用可能である場合、データ転送部225は外部記憶部240から同期データを、ネットワーク25を利用して取得する。 Next, in step 305 (S305), the data transfer unit 225 of the standby node 220 determines whether or not the synchronization data stored in the external storage unit 240 is applicable to the storage unit 221 of the standby node 220. If applicable, the data transfer unit 225 acquires the synchronization data from the external storage unit 240 using the network 25.
 次に、ステップ306(S306)において、スタンバイノード220のデータ制御部226は、ステップ305で取得した同期データを用いて、記憶部221の記憶内容を更新する。 Next, in step 306 (S306), the data control unit 226 of the standby node 220 updates the storage contents of the storage unit 221 using the synchronization data acquired in step 305.
 次に、ステップ307(S307)において、同期が完了すると、クラスタウェア224は、アプリケーション223を起動する。 Next, in step 307 (S307), when the synchronization is completed, the clusterware 224 activates the application 223.
 以上、動作を説明したが、既に同期が完了している場合には、記憶部221の更新処理は省略されてもよい。 The operation has been described above, but when the synchronization has already been completed, the update process of the storage unit 221 may be omitted.
 このように、クラスタシステム300によれば、スタンバイノード220が停止しているときにアクティブノード210がダウンしても、スタンバイノード220が起動し、クラスタシステムとして業務を継続することが可能となる。 As described above, according to the cluster system 300, even if the active node 210 goes down when the standby node 220 is stopped, the standby node 220 is activated, and the business can be continued as the cluster system.
 ここで、スタンバイノード220の起動を同期処理時に限定した場合のスタンバイノード220の運用コストと、外部記憶部240を常時起動させた場合の外部記憶部240の運用コストと、外部制御部260を常時起動させた場合の外部制御部260の運用コストと、の和が、スタンバイノード220を常時起動させた場合の運用コストよりも低いとき、アクティブノード210及びスタンバイノード220を常時起動させて両者間で直接同期する場合よりも運用コストは低くなる。 Here, the operation cost of the standby node 220 when the activation of the standby node 220 is limited to the synchronization processing, the operation cost of the external storage unit 240 when the external storage unit 240 is always activated, and the external control unit 260 are always set. When the sum of the operation cost of the external control unit 260 when activated is lower than the operation cost when the standby node 220 is always activated, the active node 210 and the standby node 220 are always activated to Operational costs are lower than with direct synchronization.
 なお、アクティブノード210のスタンバイノード起動制御部217による起動指示に基づいて起動した際のスタンバイノード220の性能を、外部制御部260のスタンバイノード起動制御部262による起動指示に基づいて起動した際のスタンバイノード220の性能よりも低くしてもよい。例えば、クラウドサービス20においてスタンバイノード220を実現する際、CPU数又はメモリ量などの性能を抑えてスタンバイノード220が構築されてもよい。これにより、スタンバイノード220が、サービスを提供するためではなく同期のために起動している際に、利用するリソース量を抑制することができるため、リソース量に応じて従量課金される場合には運用コストを抑えることが可能となる。 Note that the performance of the standby node 220 when activated based on the activation instruction by the standby node activation control unit 217 of the active node 210 is the same as that when activated based on the activation instruction by the standby node activation control unit 262 of the external control unit 260. The performance may be lower than that of the standby node 220. For example, when realizing the standby node 220 in the cloud service 20, the standby node 220 may be constructed while suppressing performance such as the number of CPUs or the amount of memory. Thus, when the standby node 220 is activated not for providing a service but for synchronization, the amount of resources to be used can be suppressed. It is possible to reduce operational costs.
 なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、各ノード、サービス制御部230、又は外部制御部260が、物理環境において実現されてもよい。なお、物理環境におけるスタンバイノード220の起動は、Wake on LAN機能などを利用することにより実現しうる。 Note that the present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention. For example, each node, the service control unit 230, or the external control unit 260 may be realized in a physical environment. Note that activation of the standby node 220 in the physical environment can be realized by using a Wake-on-LAN function or the like.
 また、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 Also, the program can be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media (tangible storage medium). Examples of non-transitory computer-readable media include magnetic recording media (eg flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg magneto-optical discs), CD-ROMs (Read Only Memory), CD-Rs, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable ROM), flash ROM, RAM (random access memory)) are included. The program may also be supplied to the computer by various types of temporary computer-readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。 The present invention has been described above using the above-described embodiment as an exemplary example. However, the present invention is not limited to the above-described embodiment. That is, the present invention can apply various modes that can be understood by those skilled in the art within the scope of the present invention.
 この出願は、2015年9月17日に出願された日本出願特願2015-183641を基礎とする優先権を主張し、その開示の全てをここに取り込む。 This application claims priority based on Japanese Patent Application No. 2015-183641 filed on September 17, 2015, the entire disclosure of which is incorporated herein.
20  クラウドサービス
25  ネットワーク
100、200、300  クラスタシステム
110、210  アクティブノード
111、121、140、211、221  記憶部
112  同期データ生成部
113  同期データ送信部
114  起動指示送信部
120、220  スタンバイノード
122  同期データ取得部
123  更新部
130  制御装置
212、222  ファイルシステム
213、223  アプリケーション
214、224  クラスタウェア
215、226  データ制御部
216、225  データ転送部
217、262  スタンバイノード起動制御部
230  サービス制御部
240  外部記憶部
260  外部制御部
261  アクティブノード起動監視部
20 Cloud service 25 Network 100, 200, 300 Cluster system 110, 210 Active node 111, 121, 140, 211, 221 Storage unit 112 Synchronization data generation unit 113 Synchronization data transmission unit 114 Activation instruction transmission unit 120, 220 Standby node 122 Synchronization Data acquisition unit 123 Update unit 130 Controller 212, 222 File system 213, 223 Application 214, 224 Clusterware 215, 226 Data control unit 216, 225 Data transfer unit 217, 262 Standby node activation control unit 230 Service control unit 240 External storage Unit 260 external control unit 261 active node activation monitoring unit

Claims (10)

  1.  第1の記憶部を有し、稼働系として動作する第1のノードと、
     第2の記憶部を有し、待機系として動作する第2のノードと、
     前記第2のノードの起動を制御する第1の制御装置と、
     前記第1のノード及び前記第2のノードとは別に設けられた第3の記憶部を備え、
     前記第1のノードは、
      前記第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と前記第2の記憶部の記憶内容を同期させるための同期データを生成する同期データ生成手段と、
      前記同期データ生成手段により生成された前記同期データを前記第3の記憶部に送信して前記第3の記憶部に記憶させる同期データ送信手段と、
      前記同期データ送信手段により前記同期データを送信する場合に、前記第2のノードを停止状態から起動状態へと移行するよう指示する起動指示を前記第1の制御装置へ送信する第1の起動指示送信手段を有し、
     前記第1の制御装置は、前記起動指示を受信した場合に、前記第2のノードを起動し、
     前記第2のノードは、
      前記第3の記憶部に記憶された前記同期データを取得する同期データ取得手段と、
      前記同期データ取得手段により取得された前記同期データにより示される更新内容を前記第2の記憶部の記憶内容に反映させて、前記第2の記憶部の記憶内容を更新する更新手段を有する、
     クラスタシステム。
    A first node having a first storage and operating as an active system;
    A second node having a second storage unit and operating as a standby system;
    A first control device that controls activation of the second node;
    A third storage unit provided separately from the first node and the second node;
    The first node is:
    Synchronization data generating means for generating synchronization data for synchronizing the storage content of the first storage unit and the storage content of the second storage unit when the storage content of the first storage unit is updated; ,
    Synchronization data transmission means for transmitting the synchronization data generated by the synchronization data generation means to the third storage unit and storing it in the third storage unit;
    A first activation instruction for transmitting, to the first control device, an activation instruction for instructing the second node to shift from a stopped state to an activated state when the synchronous data transmitting means transmits the synchronous data; Having a transmission means,
    When the first control device receives the activation instruction, the first control device activates the second node;
    The second node is
    Synchronization data acquisition means for acquiring the synchronization data stored in the third storage unit;
    Updating means for reflecting the update content indicated by the synchronization data acquired by the synchronization data acquisition means in the storage content of the second storage unit to update the storage content of the second storage unit;
    Cluster system.
  2.  前記第1のノードの動作状態を監視する監視手段と、
     前記監視手段により前記第1のノードの異常が検出された場合に、前記起動指示を前記第1の制御装置へ送信する第2の起動指示送信手段を有する、
    第2の制御装置を、さらに備える、
     請求項1に記載のクラスタシステム。
    Monitoring means for monitoring an operating state of the first node;
    A second activation instruction transmission unit configured to transmit the activation instruction to the first control device when an abnormality of the first node is detected by the monitoring unit;
    A second control device;
    The cluster system according to claim 1.
  3.  前記第1の起動指示送信手段により送信された前記起動指示に基づいて起動した際の前記第2のノードの性能は、前記第2の起動指示送信手段により送信された前記起動指示に基づいて起動した際の前記第2のノードの性能よりも低い、
     請求項2に記載のクラスタシステム。
    The performance of the second node when activated based on the activation instruction transmitted by the first activation instruction transmitting means is activated based on the activation instruction transmitted by the second activation instruction transmitting means. Lower than the performance of the second node when
    The cluster system according to claim 2.
  4.  前記同期データ取得手段は、前記第3の記憶部に記憶された前記同期データの取得に失敗した場合、前記第1のノードに前記同期データを要求し、
     前記同期データ送信手段は、前記同期データ取得手段からの要求に応じて、前記同期データを前記第2のノードに送信する、
     請求項1乃至3のいずれか1項に記載のクラスタシステム。
    When the synchronization data acquisition unit fails to acquire the synchronization data stored in the third storage unit, the synchronization data acquisition unit requests the synchronization data from the first node,
    The synchronous data transmission means transmits the synchronous data to the second node in response to a request from the synchronous data acquisition means;
    The cluster system according to any one of claims 1 to 3.
  5.  前記同期データ取得手段による取得対象の同期データが、前記第1の記憶部の記憶内容と整合するか否かを判定する判定手段をさらに有し、
     前記更新手段は、前記判定手段により、前記第1の記憶部の記憶内容と整合すると判定された同期データを用いて更新を行う、
     請求項1乃至4のいずれか1項に記載のクラスタシステム。
    A determination unit that determines whether or not the synchronization data to be acquired by the synchronization data acquisition unit is consistent with the storage content of the first storage unit;
    The update unit performs update using the synchronization data determined to be consistent with the storage content of the first storage unit by the determination unit.
    The cluster system according to any one of claims 1 to 4.
  6.  前記同期データは、前記第1の記憶部の第1の記憶内容と、該第1の記憶内容に対する更新後の前記第1の記憶部の第2の記憶内容との差分データである、
     請求項1乃至5のいずれか1項に記載のクラスタシステム。
    The synchronous data is difference data between the first storage content of the first storage unit and the second storage content of the first storage unit after the update to the first storage content.
    The cluster system according to any one of claims 1 to 5.
  7.  第1の記憶部と、
     前記第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と他の情報処理装置が有する第2の記憶部の記憶内容を同期させるための同期データを生成する同期データ生成手段と、
     前記同期データ生成手段により生成された前記同期データを、自装置及び前記他の情報処理装置とは別に設けられた第3の記憶部に送信して前記第3の記憶部に記憶させる同期データ送信手段と、
     前記同期データ送信手段により前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する起動指示送信手段を有する、
     情報処理装置。
    A first storage unit;
    When the storage content of the first storage unit is updated, synchronization data for synchronizing the storage content of the first storage unit with the storage content of the second storage unit included in another information processing apparatus is generated. Synchronization data generating means for
    Synchronous data transmission for transmitting the synchronous data generated by the synchronous data generating means to a third storage unit provided separately from the own apparatus and the other information processing apparatus and storing the same in the third storage unit Means,
    Activation control for controlling activation of the other information processing apparatus with an activation instruction for instructing the other information processing apparatus to shift from a stopped state to an activated state when the synchronization data is transmitted by the synchronization data transmitting unit Having an activation instruction transmitting means for transmitting to the unit,
    Information processing device.
  8.  稼働系として動作する第1のノードが有する第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と、待機系として動作する第2のノードが有する第2の記憶部の記憶内容を同期させるための同期データを生成し、
     生成された前記同期データを、前記第1のノード及び前記第2のノードとは別に設けられた第3の記憶部に送信して前記第3の記憶部に記憶させ、
     前記第2のノードを停止状態から起動状態へと移行させ、
     前記第3の記憶部に記憶された前記同期データを取得し、
     取得された前記同期データにより示される更新内容を前記第2の記憶部の記憶内容に反映させて、前記第2の記憶部の記憶内容を更新する、
     クラスタシステムの同期方法。
    When the storage content of the first storage unit included in the first node operating as the active system is updated, the storage content of the first storage unit and the second node included in the second node operating as the standby system are updated. Generate synchronization data to synchronize the storage contents of
    The generated synchronization data is transmitted to a third storage unit provided separately from the first node and the second node, and stored in the third storage unit,
    Moving the second node from a stopped state to an activated state;
    Obtaining the synchronization data stored in the third storage unit;
    Updating the storage content of the second storage unit by reflecting the update content indicated by the acquired synchronous data in the storage content of the second storage unit;
    Cluster system synchronization method.
  9.  第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と他の情報処理装置が有する第2の記憶部の記憶内容を同期させるための同期データを生成し、
     生成された前記同期データを、自装置及び前記他の情報処理装置とは別に設けられた第3の記憶部に送信して前記第3の記憶部に記憶させ、
     前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する、
     クラスタシステムの同期方法。
    When the storage content of the first storage unit is updated, synchronization data for synchronizing the storage content of the first storage unit and the storage content of the second storage unit included in another information processing device is generated. ,
    The generated synchronization data is transmitted to a third storage unit provided separately from its own device and the other information processing device, and stored in the third storage unit,
    When transmitting the synchronization data, a start instruction for instructing the other information processing apparatus to shift from the stop state to the start state is transmitted to the start control unit that controls the start of the other information processing apparatus.
    Cluster system synchronization method.
  10.  第1の記憶部を有する情報処理装置のコンピュータに、
     前記第1の記憶部の記憶内容が更新された場合に、前記第1の記憶部の記憶内容と他の情報処理装置が有する第2の記憶部の記憶内容を同期させるための同期データを生成し、
     生成された前記同期データを、前記第1の記憶部を有する前記情報処理装置及び前記他の情報処理装置とは別に設けられた第3の記憶部に送信して前記第3の記憶部に記憶させ、
     前記同期データを送信する場合に、前記他の情報処理装置を停止状態から起動状態へと移行するよう指示する起動指示を前記他の情報処理装置の起動を制御する起動制御部へ送信する、ことを実行させるプログラムを格納する記憶媒体。
    In the computer of the information processing apparatus having the first storage unit,
    When the storage content of the first storage unit is updated, synchronization data for synchronizing the storage content of the first storage unit with the storage content of the second storage unit included in another information processing apparatus is generated. And
    The generated synchronization data is transmitted to a third storage unit provided separately from the information processing apparatus having the first storage unit and the other information processing apparatus, and stored in the third storage unit Let
    When transmitting the synchronization data, transmitting a start instruction for instructing the other information processing apparatus to shift from a stopped state to a start state to a start control unit that controls the start of the other information processing apparatus; A storage medium for storing a program for executing the program.
PCT/JP2016/004136 2015-09-17 2016-09-12 Cluster system, information processing device, synchronization method for cluster system, and storage medium for storing program WO2017047065A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017540498A JP6555353B2 (en) 2015-09-17 2016-09-12 Cluster system, information processing apparatus, cluster system synchronization method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-183641 2015-09-17
JP2015183641 2015-09-17

Publications (1)

Publication Number Publication Date
WO2017047065A1 true WO2017047065A1 (en) 2017-03-23

Family

ID=58288609

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/004136 WO2017047065A1 (en) 2015-09-17 2016-09-12 Cluster system, information processing device, synchronization method for cluster system, and storage medium for storing program

Country Status (2)

Country Link
JP (1) JP6555353B2 (en)
WO (1) WO2017047065A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7179810B2 (en) 2020-10-27 2022-11-29 株式会社日立製作所 Cluster system, cluster system failover control method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61136137A (en) * 1984-12-07 1986-06-24 Yokogawa Electric Corp Duplex computer system
JPH0324634A (en) * 1989-06-21 1991-02-01 Mitsubishi Electric Corp Double system device
JPH04268643A (en) * 1991-02-22 1992-09-24 Nec Corp Information processing system
JP2002207642A (en) * 2001-01-12 2002-07-26 Toshiba Corp System and method for data backup and computer program
JP2009230262A (en) * 2008-03-19 2009-10-08 Fujitsu Ltd Information processing apparatus, information processing method and history information accumulation part control program
JP2013073260A (en) * 2011-09-26 2013-04-22 Hitachi Ltd Failure monitoring system and monitoring method by failure monitoring software
WO2014076838A1 (en) * 2012-11-19 2014-05-22 株式会社日立システムズ Virtual machine synchronization system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61136137A (en) * 1984-12-07 1986-06-24 Yokogawa Electric Corp Duplex computer system
JPH0324634A (en) * 1989-06-21 1991-02-01 Mitsubishi Electric Corp Double system device
JPH04268643A (en) * 1991-02-22 1992-09-24 Nec Corp Information processing system
JP2002207642A (en) * 2001-01-12 2002-07-26 Toshiba Corp System and method for data backup and computer program
JP2009230262A (en) * 2008-03-19 2009-10-08 Fujitsu Ltd Information processing apparatus, information processing method and history information accumulation part control program
JP2013073260A (en) * 2011-09-26 2013-04-22 Hitachi Ltd Failure monitoring system and monitoring method by failure monitoring software
WO2014076838A1 (en) * 2012-11-19 2014-05-22 株式会社日立システムズ Virtual machine synchronization system

Also Published As

Publication number Publication date
JPWO2017047065A1 (en) 2018-06-28
JP6555353B2 (en) 2019-08-07

Similar Documents

Publication Publication Date Title
US9934242B2 (en) Replication of data between mirrored data sites
JP2013161251A (en) Computer failure monitoring program, method, and device
CN109446178A (en) A kind of Hadoop object storage high availability method, system, device and readable storage medium storing program for executing
JP2013190955A (en) Client server system by hot standby system
JP2013161252A (en) Redundant computer control program, method, and device
JP6555353B2 (en) Cluster system, information processing apparatus, cluster system synchronization method, and program
KR20170045981A (en) System including a software and non-stop upgrading method of running software
CN111858143A (en) Method, apparatus, and computer-readable storage medium for managing storage system
JP5716460B2 (en) Cluster system and control method thereof
JP6237925B2 (en) Cluster system and cluster control method
JP2013025765A (en) Master/slave system, control device, master/slave switching method and master/slave switching program
JP2006058960A (en) Synchronization method and system in redundant configuration server system
JP2010231257A (en) High availability system and method for handling failure of high availability system
CN116414915A (en) Distributed database cluster management and control method and device and database management and control platform
JP2013242739A (en) Load distribution system
JP2015153128A (en) Call processing control device and software update method of the same, call processing system, and computer program
WO2013084305A1 (en) Virtualization multi-system configuration control method and computer system
CN114531394A (en) Data synchronization method and device
JP2007328595A (en) Server system, and synchronization method for the system
CN111142921A (en) Software upgrading method and device
JP2016009216A (en) Redundant system and redundancy method
JP2014154056A (en) Redundant system and active device determination method
CN110855505B (en) High-availability rule stacking implementation system and method
JP6282989B2 (en) Database system and master / slave determination method thereof
CN113839801B (en) Method and device for switching operation state, main and standby management system and network system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16845939

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017540498

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16845939

Country of ref document: EP

Kind code of ref document: A1