WO2018056044A1 - 計算機並びにクラスタ管理システム、方法及び非一時的なコンピュータ可読媒体 - Google Patents

計算機並びにクラスタ管理システム、方法及び非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
WO2018056044A1
WO2018056044A1 PCT/JP2017/031876 JP2017031876W WO2018056044A1 WO 2018056044 A1 WO2018056044 A1 WO 2018056044A1 JP 2017031876 W JP2017031876 W JP 2017031876W WO 2018056044 A1 WO2018056044 A1 WO 2018056044A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
state information
storage
object storage
acquisition
Prior art date
Application number
PCT/JP2017/031876
Other languages
English (en)
French (fr)
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 US16/335,072 priority Critical patent/US11119870B2/en
Priority to JP2018540947A priority patent/JP7006606B2/ja
Publication of WO2018056044A1 publication Critical patent/WO2018056044A1/ja

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • 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
    • G06F11/2053Error 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 where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Definitions

  • the present invention relates to a computer, a cluster management system, a method, and a program, and more particularly, to a computer, a cluster management system, a method, and a program that mutually monitor an operation state.
  • Patent Literature 1 discloses a technique for improving availability in a cluster system.
  • the cluster system according to Patent Document 1 includes a plurality of nodes, two survival information storage devices, and one success / failure information storage device.
  • the node records the survival information indicating that the node is operating normally in the reference destination survival information storage device, and indicates whether the reference destination survival information storage device and the survival information are recorded.
  • the success / failure information is recorded in the success / failure information storage device.
  • Each node determines whether to switch the reference destination by referring to the success / failure information.
  • the survival information storage device itself has a cluster configuration, and further, one success / failure information storage device is required. Therefore, the success / failure information storage device can be a bottleneck. Therefore, it is possible to use object storage via the Internet as a storage destination of survival information.
  • Object storage ensures data availability in the event of a disk failure by internally replicating data for disk device redundancy.
  • data replication takes a certain amount of time, there is a problem that the file cannot be referred to immediately after writing a new file. Therefore, the technique according to Patent Document 1 cannot be simply replaced with object storage.
  • the present invention has been made to solve such problems, and an object of the present invention is to provide a computer, a cluster management system, a method, and a program for realizing mutual monitoring of operating states in consideration of object storage.
  • the computer is: A computer that forms a cluster with other computers, A storage requesting unit for requesting storage of first state information indicating a normal state of the own computer with respect to an object storage that manages data in units of objects; An acquisition request unit that requests the object storage to acquire second state information indicating a normal state of the other computer; A cluster control unit that performs cluster control according to the storage result of the first state information and the acquisition result of the second state information,
  • the acquisition request unit includes: When the acquisition result of the second state information is not the latest, the acquisition of the second state information is requested a predetermined number of times.
  • the cluster management system includes: Object storage that manages data in units of objects, A plurality of computers capable of communicating with the object storage via a network, Each of the plurality of servers is Requesting the object storage to store first state information indicating a normal state of the computer, Requesting the object storage to acquire second state information indicating a normal state of another computer; Cluster control is performed according to the storage result of the first state information and the acquisition result of the second state information, If the acquisition result of the second state information is not the latest, the acquisition request is made a predetermined number of times.
  • the cluster management method includes: Requests storage of first state information indicating the normal state of the own computer to the object storage that manages data in units of objects, Requesting the object storage to acquire second state information indicating a normal state of another computer; Cluster control is performed according to the storage result of the first state information and the acquisition result of the second state information, When the acquisition result of the second state information is not the latest, the acquisition of the second state information is requested a predetermined number of times.
  • a cluster management program includes: Processing for requesting storage of first state information indicating a normal state of the own computer to an object storage that manages data in units of objects; Processing for requesting acquisition of second state information indicating a normal state of another computer to the object storage; Processing for performing cluster control according to the storage result of the first state information and the acquisition result of the second state information; When the acquisition result of the second state information is not the latest, a process of requesting acquisition of the second state information a predetermined number of times; Is executed on the computer.
  • FIG. 1 is a block diagram showing an overall configuration of a cluster management system 1000 according to the first embodiment of the present invention.
  • the cluster management system 1000 includes a computer 10, a computer 20, an object storage 30, and a network 40.
  • the computers 10 and 20 and the object storage 30 are connected by a network 40. That is, the computers 10 and 20 can communicate with the object storage 30 via the network 40. Note that there may be three or more computers.
  • the network 40 is a communication network that is open to the public such as the Internet.
  • the object storage 30 is a storage system that manages data in units of objects.
  • the object storage 30 is provided as a cloud service, can be commonly accessed from each server through an API (Application Programming Interface), and can store a file. Further, the object storage 30 is made redundant in the storage system.
  • API Application Programming Interface
  • the computer 10 constitutes a cluster with other computers 20.
  • the computer 10 includes a storage request unit 11, an acquisition request unit 12, and a cluster control unit 13.
  • the storage request unit 11 requests the object storage 30 to store the first state information indicating the normal state of the computer 10.
  • the acquisition request unit 12 requests the object storage 30 to acquire the second state information indicating the normal state of the other computer 20.
  • the cluster control unit 13 performs cluster control according to the storage result of the first state information and the acquisition result of the second state information.
  • the acquisition request unit 12 requests acquisition of the second state information a predetermined number of times.
  • the computer 20 includes a storage request unit 21, an acquisition request unit 22, and a cluster control unit 23.
  • a storage request unit 21 an acquisition request unit 22
  • a cluster control unit 23 an acquisition request unit 23
  • each structure of the computer 20 is the same as that of the computer 10, detailed description is abbreviate
  • FIG. 2 is a flowchart showing the flow of the cluster control process according to the first embodiment of the present invention.
  • the storage request unit 11 requests the object storage 30 to store the first state information (S11).
  • the acquisition request unit 12 requests the object storage 30 to acquire the second state information (S12).
  • the acquisition request unit 12 determines whether the acquisition result of the second state information is the latest (S13). When the acquisition result of the second state information is not the latest (NO in S13), the acquisition request unit 12 determines whether or not the acquisition request is repeated a predetermined number of times (S14). If the repetition is less than the predetermined number, step S12 is executed again. On the other hand, if the repetition is a predetermined number of times in step S14, the process proceeds to step S15.
  • the cluster control unit 13 determines whether the cluster is in accordance with the storage result of the first state information and the acquisition result of the second state information. Control is performed (S15). For example, when the storage of the first state information fails, there is a possibility that an abnormality has occurred in network communication in the computer 10, and the computer 10 may not be able to provide a normal service. Therefore, the cluster control unit 13 performs cluster control by determining that the computer 10 is in an abnormal state. Further, when the computer 10 is currently in the standby system and the acquisition result of the second state information is not the latest, the computer 20 may be in an abnormal state, so the cluster control unit 13 switches the computer 10 to the active system. .
  • the other server went down by reading / writing to the shared disk connected to multiple servers.
  • a method disk heartbeat for determining whether heartbeat communication is interrupted due to a communication path failure.
  • cloud hosting services that can use virtual servers and computer resources as services.
  • a long-distance cluster system can be configured by combining "virtual servers”.
  • the object storage 30 by using the object storage 30, it is possible to solve the network partition and to operate while mutually monitoring servers installed at remote locations.
  • FIG. 3 is a block diagram showing a configuration of the cluster management system 2000 according to the second embodiment of the present invention.
  • the cluster management system 2000 includes a server 300, a server 350, an object storage 100, and the Internet 200.
  • the servers 300 and 350 and the object storage 100 are connected via the Internet 200.
  • the server 300 and the server 350 are connected by a heartbeat communication path 400.
  • the object storage 100 is the same as the object storage 30 described above.
  • the Internet 200 is an example of the network 40 described above.
  • the server 300 includes a cluster control unit 301, a heartbeat communication unit 302, and an object storage access unit 303.
  • the cluster control unit 301 performs alive monitoring of other servers using the heartbeat communication unit 302 and grasps the state of each server constituting the cluster.
  • the heartbeat communication unit 302 has a function of transmitting and receiving heartbeats with other servers via the heartbeat communication path 400.
  • the heartbeat communication unit 302 requests the object storage access unit 303 to store information corresponding to the heartbeat in its own server in the object storage 100.
  • the heartbeat communication unit 302 requests the object storage access unit 303 to acquire information equivalent to the heartbeat in another server from the object storage 100.
  • the object storage access unit 303 generates a heartbeat information file of its own server in response to a request from the heartbeat communication unit 302, and requests the object storage 100 to store the heartbeat information file of its own server. Further, in response to a request from the heartbeat communication unit 302, the acquisition of a heartbeat information file of another server stored in the object storage 100 is requested.
  • the cluster control unit 301 of the server 300 requests the heartbeat communication unit 302 to transmit a heartbeat in order to notify the other servers constituting the cluster management system 2000 of the status of the server.
  • the heartbeat communication unit 302 transmits the heartbeat to the heartbeat communication unit 352 of the server 350 through the heartbeat communication path 400.
  • the heartbeat communication unit 352 notifies the cluster control unit 351 that the heartbeat has been received from the server 300.
  • the cluster control unit 351 updates the alive state of the server 300 to “normal state” in accordance with the heartbeat reception notification from the heartbeat communication unit 352.
  • a heartbeat from the server 350 to the server 300 is also transmitted in the same manner.
  • the server 300 and the server 350 can monitor the alive state of each other server through the heartbeat communication path 400.
  • the heartbeat communication unit 352 measures the elapsed time from the last reception of the heartbeat from the server 300. Then, the heartbeat communication unit 352 confirms whether or not the elapsed time has reached a predetermined timeout time. When it has reached, it progresses to step S103, and when that is not right, it progresses to step S102.
  • the heartbeat communication unit 352 waits for a predetermined time, proceeds to step S101 again, and checks the elapsed time. (S103) Since the predetermined timeout time has been reached, the heartbeat communication unit 352 notifies the cluster control unit 351 that the heartbeat from the server 300 cannot be received.
  • the cluster control unit 351 updates the alive state of the server 300 to “abnormal state”. The operation when the server 300 waits for a heartbeat from the server 350 and reaches the timeout time is the same.
  • heartbeat communication processing storage via the object storage according to the second embodiment of the present invention
  • heartbeat communication processing storage via the object storage by the server 350.
  • the cluster control unit 301 of the server 300 requests the heartbeat communication unit 302 to transmit a heartbeat in order to inform the other servers constituting the cluster management system 2000 of the status of the server.
  • the heartbeat communication unit 302 requests the object storage access unit 303 to store a heartbeat information file (details will be described later) in the object storage 100.
  • the object storage access unit 303 makes a request to store the heartbeat information file in the object storage 100.
  • the heartbeat information file is data having information such as “heartbeat information file generation time”, “time zone to which the server belongs”, and “server state”.
  • JSON JavaScript (registered trademark) Object Notation) data structure is described as an implementation example, but other data structures (for example, XML (Extensible Markup Language) and YAML (YAML Ain't Markup Language)) It may be.
  • the object storage access unit 303 transmits an HTTP request as shown in FIG.
  • FIG. 7 is a diagram showing an example of a storage request according to the second embodiment of the present invention.
  • the HTTP request in FIG. 7 is assumed to be Amazon S3 (Amazon Simple Storage Service) (registered trademark) as an example of object storage.
  • the object storage access unit 303 determines whether or not the heartbeat information file has been successfully stored in the object storage 100. If the heartbeat information file has been successfully stored, the process proceeds to step S204. If the storage has failed, the process proceeds to step S203-2.
  • FIG. 8 is a diagram showing an example of a list of heartbeat information files according to the second embodiment of the present invention.
  • the file name of the heartbeat information file “date + time” or “UNIX (registered trademark) time” can be used to distinguish the latest file from the latest file.
  • the object storage access unit 303 confirms the list of heartbeat information files of the own server stored in the object storage 100, and confirms whether a file older than the file stored immediately before exists. If it exists, the process proceeds to step S205, and if not, the process ends.
  • the list of heartbeat information files is a list of file (object) paths in FIG. A server name is used as part of the path, and by referring to it, it is possible to determine whether it is the heartbeat information file of the local server.
  • the object storage access unit 303 transmits an HTTP request as shown in FIG. 9 in order to delete the “old heartbeat information file of its own server” stored in the object storage 100.
  • FIG. 9 is a diagram showing an example of a deletion request according to the second embodiment of the present invention.
  • the HTTP request in FIG. 9 is assumed to be Amazon S3 (registered trademark) as an example of object storage.
  • step S203-2 If the storage of the heartbeat information file in the object storage 100 fails in step S203-1, the cluster control unit 301 updates its own server to an abnormal state. For example, this is a case where communication between the server 300 and the object storage 100 becomes impossible and communication between the other server 350 and the object storage 100 is possible. In such a case, the server 300 determines that the server 300 is in a network isolated state (abnormal state).
  • both the server 350 can communicate with the object storage 100, it is determined to be successful in S203-1 in FIG. 6, and the subsequent operations are normally executed. If both the server 300 and the server 350 become unable to communicate with the object storage 100, both servers determine that their own servers are in a network isolated state (abnormal state).
  • the heartbeat communication unit 352 of the server 350 requests the object storage access unit 353 to acquire the heartbeat information file stored in the object storage 100.
  • the object storage access unit 353 acquires a list of files stored in the object storage 100.
  • the object storage access unit 353 determines whether or not the acquisition of the file list has succeeded. If the process in step S302 is successful, the process proceeds to step S303. If the process has failed, the process proceeds to step S302-2. (S302-2) If acquisition of the list of heartbeat information files from the object storage 100 fails in step S302-1, the cluster control unit 351 updates its own server to an abnormal state.
  • the object storage access unit 353 stores the name of the heartbeat information file of the other server acquired last time.
  • FIG. 11 is a diagram illustrating an example of a heartbeat information file of another server acquired last time according to the second exemplary embodiment of the present invention. Since the file name is known by reading the list of acquired files, the object storage access unit 353 determines the latestness of the file based on the file name of the heartbeat information file, and “the latest heartbeat information file of another server” Can be identified. (S304) The object storage access unit 353 determines whether or not the latest heartbeat information file of another server exists. If the latest heartbeat information file of another server exists, the process proceeds to step S308. Otherwise, the process proceeds to step S305.
  • the object storage access unit 353 executes a retry for a predetermined number of times. If the number of retries has reached the threshold value, the process is terminated without performing any further processing, and the operation proceeds to the time-out operation as shown in FIG. That is, the latest heartbeat information file is not stored from the server 300 (the heartbeat has been interrupted), and the alive state of the server 300 is updated to “abnormal state”. If the number of retries has not reached the threshold, the process proceeds to step S306.
  • This retry is an operation that takes into account the “redundancy” mechanism used in general object storage.
  • Many object storages ensure data availability in the event of a disk failure by replicating data (replication). This is because, since data replication takes a certain time, for example, when a new file (object) is written and a list of files (objects) is immediately displayed, the added file (object) may not be displayed.
  • the object storage access unit 353 waits for a predetermined time.
  • the object storage access unit 353 increments the number of retries by one and executes step S302 again.
  • the object storage access unit 353 acquires “the latest heartbeat information file of another server” stored in the object storage 100.
  • the HTTP request for that is in the form as shown in FIG. FIG. 12 is a diagram illustrating an example of an acquisition request according to the second embodiment of the present invention.
  • the HTTP request in FIG. 12 is assumed to be Amazon S3 (registered trademark) as an example of object storage.
  • the object storage access unit 353 reads the heartbeat information file and notifies the heartbeat communication unit 352 of the result.
  • the heartbeat communication unit 352 notifies the cluster control unit 351 that a heartbeat from another server has been received.
  • the cluster control unit 351 updates the alive state of the other server to “normal state”.
  • the server 300 and the server 350 can monitor the alive state of each other's servers via the object storage 100.
  • a cluster composed of two servers has been described as an example.
  • the present invention can also be applied to a cluster composed of three or more servers. Specifically, it can be realized by repeatedly executing the processing after step S303 in FIG. 10 as many times as the number of other servers (other than the own server).
  • the network partition can be solved even when a plurality of servers constituting the cluster system exist in a remote place.
  • the shared disk has a large capacity and a high price (including those that are not used), but the object storage can be used only at a low price. Therefore, the construction cost of the cluster system can be reduced as compared with the conventional network partition solution method (disk heartbeat) using a shared disk.
  • a part of the second embodiment can also be expressed as follows. That is, the cluster control unit retains the second state information acquired by the acquisition request unit, and then stores the second state information when the second state information is successfully acquired. The operating state of the other computer is determined by comparison with the second state information.
  • the cluster control unit determines an operating state of the other computer based on an object path acquired from the object storage.
  • the third embodiment is an improved example of the second embodiment described above.
  • the exchange of heartbeat information via the object storage has a larger load on the communication path than the existing heartbeat communication.
  • a usage fee may be generated depending on the size of the stored data and the number of HTTP requests for accessing the data. Therefore, it is desirable to minimize the exchange of heartbeat information via the object storage.
  • the number of heartbeat information exchanges is simply reduced, the detection of the failure will be delayed, causing a longer service stop time.
  • the exchange of heartbeat information through the object storage can be executed at an appropriate frequency according to the situation.
  • the computer is connected to the other computer via a first communication line for monitoring the operating state, and includes a plurality of second communication lines and the first communication line with the object storage.
  • Each of the communication lines is provided with a storage unit that stores a monitoring interval in association with each other. Thereby, monitoring can be flexibly realized according to the types of a plurality of communication lines.
  • the plurality of communication lines when a part of the plurality of communication lines becomes unavailable, it further includes an interval adjustment unit that adjusts the monitoring interval associated with another communication line. Thereby, a constant service level can be maintained.
  • the storage unit further stores, in association with each of the plurality of communication lines, whether or not the monitoring interval needs to be adjusted, and the interval adjusting unit includes the adjustment necessity among the other communication lines. Each communication line is adjusted based on the failure. Thereby, the monitoring interval can be finely adjusted.
  • FIG. 13 is a block diagram showing a configuration of the cluster management system 3000 according to the third embodiment of the present invention.
  • the cluster management system 3000 is an improvement of the cluster management system 2000.
  • the servers 300 and 350 are connected by two heartbeat communication paths 400 and 401.
  • a heartbeat interval adjusting unit 304 is added to the server 300
  • a heartbeat interval adjusting unit 354 is added to the server 350.
  • each of the servers 300 and 350 stores a heartbeat communication path table as a configuration (not shown).
  • FIG. 14 is a diagram showing an example of a heartbeat communication path table according to the third embodiment of the present invention.
  • the heartbeat communication path table represents a path used for exchanging heartbeat information in the cluster management system 3000.
  • the heartbeat communication route table includes information such as the type of route, the (dead or active) state of the partner server found using the route, the heartbeat communication interval, and the necessity of adjusting the communication interval.
  • heartbeat communication using the heartbeat communication paths 400 and 401 is performed at intervals of 10 seconds
  • heartbeat communication using the object storage 100 is performed at intervals of 60 seconds.
  • the cluster control units 301 and 351 make an inquiry to the heartbeat interval adjusting unit 304 when the cluster system is activated in the servers 300 and 350, and acquire the heartbeat communication interval. Thereafter, the cluster control units 301 and 351 perform heartbeat communication according to the acquired communication interval.
  • FIG. 15 is a flowchart showing the flow of the heartbeat interval adjustment process according to the third embodiment of the present invention.
  • the heartbeat interval adjustment process by the server 350 is the same.
  • the cluster control unit 301 executes the step S004 in FIG. 4, the step S104 in FIG. 5, and the step S311 in FIG. also enter the latest life and death information.
  • the heartbeat interval adjustment unit 304 updates the state of the heartbeat communication path table in accordance with the input from the cluster control unit 301.
  • S403 The heartbeat interval adjustment unit 304 determines whether or not the “status” of the heartbeat communication path table has changed. If there is a change, the process proceeds to step S404. If there is no change, the process ends.
  • the heartbeat interval adjustment unit 304 changes the “communication interval” of the route in which “status” in the heartbeat communication route table is set to “normal” and “adjustment necessity” is set to “necessary”.
  • the present invention has been described as a hardware configuration, but the present invention is not limited to this.
  • the present invention can also realize arbitrary processing by causing a CPU (Central Processing Unit) to execute a computer program.
  • a CPU Central Processing Unit
  • 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, DVD (Digital Versatile Disc), BD (Blu-ray (registered trademark) Disc), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM ( Random Access Memory)).
  • 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 Compact Only Memory
  • CD-R / W Digital Versatile Disc
  • DVD Digital Versatile Disc
  • BD Blu-ray (registered trademark) Disc
  • 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.
  • a part or all of the above embodiments can be described as in the following supplementary notes, but is not limited thereto.
  • Appendix 1 A computer that forms a cluster with other computers, A storage requesting unit for requesting storage of first state information indicating a normal state of the own computer with respect to an object storage that manages data in units of objects; An acquisition request unit that requests the object storage to acquire second state information indicating a normal state of the other computer; A cluster control unit that performs cluster control according to the storage result of the first state information and the acquisition result of the second state information, The acquisition request unit includes: A computer that requests acquisition of the second status information a predetermined number of times when the acquisition result of the second status information is not the latest.
  • (Appendix 2) The cluster controller The computer according to claim 1, wherein if the storage of the first state information fails, the computer is determined to be abnormal and performs cluster control.
  • (Appendix 3) The calculator is Connected to the other computer by a first communication line for monitoring the operating state mutually,
  • the computer according to appendix 1 or 2 further comprising a storage unit that stores a plurality of communication lines including the second communication line and the first communication line with the object storage in association with monitoring intervals.
  • (Appendix 4) The computer according to claim 3, further comprising: an interval adjusting unit that adjusts the monitoring interval associated with another communication line when a part of the plurality of communication lines becomes unavailable.
  • the storage unit further stores the necessity of adjustment of the monitoring interval in association with each of the plurality of communication lines, The computer according to claim 4, wherein the interval adjustment unit adjusts each communication line based on the necessity of the adjustment among the other communication lines.
  • the cluster control unit Holding the second state information acquired by the acquisition request unit; Thereafter, an operating state of the other computer is determined by comparing the second state information when the second state information is successfully acquired and the held second state information. The computer according to any one of the items.
  • the cluster control unit The computer according to claim 6, wherein an operation state of the other computer is determined based on an object path acquired from the object storage.
  • (Appendix 8) Object storage that manages data in units of objects, A plurality of computers capable of communicating with the object storage via a network, Each of the plurality of computers is Requesting the object storage to store first state information indicating a normal state of the computer, Requesting the object storage to acquire second state information indicating a normal state of another computer; Cluster control is performed according to the storage result of the first state information and the acquisition result of the second state information, A cluster management system which makes the acquisition request a predetermined number of times when the acquisition result of the second state information is not the latest.
  • Cluster management system 1000 Cluster management system 2000 Cluster management system 3000 Cluster management system 10 Computer 11 Storage request unit 12 Acquisition request unit 13 Cluster control unit 20 Computer 21 Storage request unit 22 Acquisition request unit 23 Cluster control unit 30 Object storage 40 Network 100 Object storage 101 Heart Beat information 102 Heartbeat information 200 Internet 300 Server 301 Cluster control unit 302 Heartbeat communication unit 303 Object storage access unit 304 Heartbeat interval adjustment unit 350 Server 351 Cluster control unit 352 Heartbeat communication unit 353 Object storage access unit 354 Heartbeat interval Adjustment unit 400 Heartbeat communication path 401 Heartbeat communication path

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

オブジェクトストレージを考慮した稼動状態の相互監視を実現する。本発明にかかる計算機(10)は、他の計算機(20)とクラスタを構成する計算機(10)であって、データをオブジェクト単位で管理するオブジェクトストレージ(30)に対して、自計算機の正常状態を示す第1の状態情報の格納を要求する格納要求部(11)と、オブジェクトストレージ(30)に対して他の計算機(20)の正常状態を示す第2の状態情報の取得を要求する取得要求部(12)と、第1の状態情報の格納結果及び第2の状態情報の取得結果に応じて、クラスタ制御を行うクラスタ制御部(13)と、を備え、取得要求部(12)は、第2の状態情報の取得結果が最新でなかった場合、所定回数、第2の状態情報の取得を要求する。

Description

計算機並びにクラスタ管理システム、方法及び非一時的なコンピュータ可読媒体
 本発明は計算機並びにクラスタ管理システム、方法及びプログラムに関し、特に稼動状態を相互に監視する計算機並びにクラスタ管理システム、方法及びプログラムに関する。
 システムが提供するサービスの停止時間を短くするために、同一のサービスを提供可能な複数の計算機を有するクラスタシステムが知られている。例えば、特許文献1には、クラスタシステムにおける可用性を向上させる技術が開示されている。
 特許文献1にかかるクラスタシステムは、複数のノードと、2つの生存情報記憶装置と、1つの成否情報記憶装置とを備えるものである。ノードは、正常動作中に、参照先の生存情報記憶装置に自ノードが正常動作中である旨を示す生存情報を記録し、参照先の生存情報記憶装置と生存情報の記録の成否とを示す成否情報を成否情報記憶装置に記録する。各ノードは、成否情報を参照することで、参照先の切替の判定を行う。
特開2008-299369号公報
 ここで、特許文献1は、正副の2台の生存情報記憶装置を設けることで、生存情報記憶装置自体をクラスタ構成にし、さらに、1台の成否情報記憶装置を必要とするものである。そのため、成否情報記憶装置がボトルネックとなり得る。そこで、生存情報の格納先としてインターネットを介したオブジェクトストレージを用いることが挙げられる。
 オブジェクトストレージは、ディスク装置の冗長化のために内部的にデータの複製(レプリケーション)を行うことで、ディスク障害時のデータ可用性を担保している。しかしながら、データの複製には一定の時間がかかるため、新しいファイルを書き込んだ直後には、そのファイルが参照できない場合があるという問題点がある。そのため、特許文献1に係る技術を単純にオブジェクトストレージに置き換えることができない。
 本発明は、このような問題点を解決するためになされたものであり、オブジェクトストレージを考慮した稼動状態の相互監視を実現するための計算機並びにクラスタ管理システム、方法及びプログラムを提供することを目的とする。
 本発明の第1の態様にかかる計算機は、
 他の計算機とクラスタを構成する計算機であって、
 データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求する格納要求部と、
 前記オブジェクトストレージに対して前記他の計算機の正常状態を示す第2の状態情報の取得を要求する取得要求部と、
 前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行うクラスタ制御部と、を備え、
 前記取得要求部は、
 前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する。
 本発明の第2の態様にかかるクラスタ管理システムは、
 データをオブジェクト単位で管理するオブジェクトストレージと、
 前記オブジェクトストレージとネットワークを介して通信可能な複数の計算機と、を備え、
 前記複数のサーバのそれぞれは、
 前記オブジェクトストレージに対して自計算機の正常状態を示す第1の状態情報の格納を要求し、
 前記オブジェクトストレージに対して他の計算機の正常状態を示す第2の状態情報の取得を要求し、
 前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行い、
 前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記取得の要求を行う。
 本発明の第3の態様にかかるクラスタ管理方法は、
 データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求し、
 前記オブジェクトストレージに対して他の計算機の正常状態を示す第2の状態情報の取得を要求し、
 前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行い、
 前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する。
 本発明の第4の態様にかかるクラスタ管理プログラムは、
 データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求する処理と、
 前記オブジェクトストレージに対して他の計算機の正常状態を示す第2の状態情報の取得を要求する処理と、
 前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行う処理と、
 前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する処理と、
 をコンピュータに実行させる。
 本発明により、オブジェクトストレージを考慮した稼動状態の相互監視を実現するための計算機並びにクラスタ管理システム、方法及びプログラムを提供することができる。
本発明の実施の形態1にかかるクラスタ管理システムの全体構成を示すブロック図である。 本発明の実施の形態1にかかるクラスタ制御処理の流れを示すフローチャートである。 本発明の実施の形態2にかかるクラスタ管理システムの構成を示すブロック図である。 ハートビート通信処理の流れを示すフローチャートである。 タイムアウト時の処理の流れを示すフローチャートである。 本発明の実施の形態2にかかるオブジェクトストレージを介したハートビート通信処理(格納)の流れを示すフローチャートである。 本発明の実施の形態2にかかる格納要求の例を示す図である。 本発明の実施の形態2にかかるハートビート情報ファイルの一覧の例を示す図である。 本発明の実施の形態2にかかる削除要求の例を示す図である。 本発明の実施の形態2にかかるオブジェクトストレージを介したハートビート通信処理(取得)の流れを示すフローチャートである。 本発明の実施の形態2にかかる前回取得した他サーバのハートビート情報ファイルの例を示す図である。 本発明の実施の形態2にかかる取得要求の例を示す図である。 本発明の実施の形態3にかかるクラスタ管理システムの構成を示すブロック図である。 本発明の実施の形態3にかかるハートビート通信経路テーブルの例を示す図である。 本発明の実施の形態3にかかるハートビート間隔調整処理の流れを示すフローチャートである。
 以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
<実施の形態1>
 図1は、本発明の実施の形態1にかかるクラスタ管理システム1000の全体構成を示すブロック図である。クラスタ管理システム1000は、計算機10と、計算機20と、オブジェクトストレージ30と、ネットワーク40とを備える。ここで、計算機10、20及びオブジェクトストレージ30は、ネットワーク40により接続されている。つまり、計算機10及び20は、ネットワーク40を介してオブジェクトストレージ30と通信可能である。尚、計算機は、3台以上であってもよい。
 ネットワーク40は、例えば、インターネット等の外部に公開された通信ネットワークである。オブジェクトストレージ30は、データをオブジェクト単位で管理するストレージシステムである。また、オブジェクトストレージ30は、クラウドサービスとして提供され、各サーバからAPI(Application Programming Interface)を通じて共通的にアクセスでき、ファイル格納が可能なものである。また、オブジェクトストレージ30は、ストレージシステム内において冗長化されている。
 計算機10は、他の計算機20とクラスタを構成する。計算機10は、格納要求部11と、取得要求部12と、クラスタ制御部13とを備える。格納要求部11は、オブジェクトストレージ30に対して、自計算機10の正常状態を示す第1の状態情報の格納を要求する。取得要求部12は、オブジェクトストレージ30に対して他の計算機20の正常状態を示す第2の状態情報の取得を要求する。クラスタ制御部13は、第1の状態情報の格納結果及び第2の状態情報の取得結果に応じて、クラスタ制御を行う。ここで、取得要求部12は、第2の状態情報の取得結果が最新でなかった場合、所定回数、第2の状態情報の取得を要求する。
 計算機20は、格納要求部21と、取得要求部22と、クラスタ制御部23とを備える。その他、計算機20の各構成は、計算機10と同様であるため、詳細な説明を省略する。
 図2は、本発明の実施の形態1にかかるクラスタ制御処理の流れを示すフローチャートである。まず、格納要求部11は、オブジェクトストレージ30に対して、第1の状態情報の格納を要求する(S11)。次に、取得要求部12は、オブジェクトストレージ30に対して第2の状態情報の取得を要求する(S12)。そして、取得要求部12は、第2の状態情報の取得結果が最新か否かを判定する(S13)。第2の状態情報の取得結果が最新でなかった場合(S13でNO)取得要求部12は、取得要求の繰り返しが所定回数であるか否かを判定する(S14)。繰り返しが所定回数未満の場合、再度、ステップS12を実行する。一方、ステップS14で繰り返しが所定回数の場合、ステップS15へ進む。
 また、第2の状態情報の取得結果が最新であった場合(S13でYES)、クラスタ制御部13は、第1の状態情報の格納結果及び第2の状態情報の取得結果に応じて、クラスタ制御を行う(S15)。例えば、第1の状態情報の格納に失敗した場合、計算機10におけるネットワーク通信に異常が発生している可能性があり、計算機10が正常なサービスを提供できないおそれがある。そのため、クラスタ制御部13は、計算機10を異常状態と判定してクラスタ制御する。また、計算機10が現在、待機系であり、第2の状態情報の取得結果が最新でない場合、計算機20が異常状態の可能性があるため、クラスタ制御部13は、計算機10を稼働系に切り替える。
 このように本実施の形態では、オブジェクトストレージの冗長化を考慮した稼動状態の相互監視が可能となる。
 ここで、既存のクラスタシステムの場合、ハートビート通信のための通信経路の障害(「ネットワーク・パーティション」)により、クラスタシステムを構成する複数のサーバが孤立すると、当該複数のサーバで同じサービスが開始され、データが破壊されるといった、クラスタとして不整合な状態が発生する。このような状態は、「スプリットブレイン」と呼ばれている。 
 そして、ネットワーク・パーティションを解決する(スプリットブレインの発生を抑制する)ための手法のひとつとして、複数のサーバに接続された共有ディスクに対してread/writeを行うことで、相手方サーバがシステムダウンしたのか、それとも通信経路の障害によってハートビート通信が途切れたのかを判断する手法(ディスク・ハートビート)が知られている。
 一方、近年になって仮想的なサーバや計算機用資源をサービスとして利用できる「クラウドホスティングサービス」が様々な企業によって提供されている。このサービスを利用することで、例えば「自社内(オンプレミス)の物理サーバ」と「社外のクラウドホスティングサービスの仮想サーバ」の組み合わせ、あるいは、「北米西海岸にある仮想サーバ」と「北米東海岸にある仮想サーバ」の組み合わせによって、長距離のクラスタシステムを構成することができるようになった。
 上記のように遠隔地にあるサーバから1つの共有ディスクに接続することは、物理的な制約やコストの問題により、現実的ではない。そのため、前述のディスク・ハートビートの手法は、クラスタシステムを構成する複数のサーバが互いに離れた場所に存在する場合には容易に適用できない。
 そこで、本実施の形態1では、オブジェクトストレージ30を用いることで、ネットワーク・パーティションを解決し、遠隔地に設置されたサーバ同士で相互監視しつつ稼動することが可能となるという効果も奏する。
<実施の形態2>
 本実施の形態2は、上述した実施の形態1の具体的な実施例である。
 図3は、本発明の実施の形態2にかかるクラスタ管理システム2000の構成を示すブロック図である。クラスタ管理システム2000は、サーバ300と、サーバ350と、オブジェクトストレージ100と、インターネット200とを備える。サーバ300、350及びオブジェクトストレージ100は、インターネット200を介して接続されている。また、サーバ300とサーバ350とは、ハートビート通信経路400により接続されている。オブジェクトストレージ100は、上述したオブジェクトストレージ30と同様である。インターネット200は、上述したネットワーク40の一例である。
 サーバ300は、クラスタ制御部301と、ハートビート通信部302と、オブジェクトストレージアクセス部303とを備える。クラスタ制御部301は、ハートビート通信部302を用いて他サーバの死活監視を行い、クラスタを構成する各サーバの状態を把握する。
 ハートビート通信部302は、ハートビート通信経路400を介して他サーバとハートビートを送受信する機能を有する。また、ハートビート通信部302は、オブジェクトストレージアクセス部303に対して自サーバにおけるハートビート相当の情報をオブジェクトストレージ100に格納する要求を行う。併せて、ハートビート通信部302は、オブジェクトストレージアクセス部303に対して他サーバにおけるハートビート相当の情報をオブジェクトストレージ100から取得する要求を行う。
 オブジェクトストレージアクセス部303は、ハートビート通信部302からの要求に応じて、自サーバのハートビート情報ファイルを生成し、オブジェクトストレージ100に対して自サーバのハートビート情報ファイルの格納を要求する。また、ハートビート通信部302からの要求に応じて、オブジェクトストレージ100に格納された他サーバのハートビート情報ファイルの取得を要求する。
 続いて、図4を用いて、通常のハートビート通信処理の流れを説明する。
 (S001)サーバ300のクラスタ制御部301は、クラスタ管理システム2000を構成する他サーバに自サーバの状態を伝えるために、ハートビート通信部302に対してハートビートの送信を要求する。
 (S002)ハートビート通信部302は、ハートビート通信経路400を通じて、サーバ350のハートビート通信部352にハートビートを送信する。
 (S003)ハートビート通信部352は、サーバ300からハートビートを受信したことを、クラスタ制御部351に通知する。
 (S004)クラスタ制御部351は、ハートビート通信部352からのハートビート受信通知に従って、サーバ300の死活状態を「正常状態」に更新する。
 また、サーバ350からサーバ300に対するハートビートも同じように送信される。
 以上のように動作することで、サーバ300とサーバ350は、ハートビート通信経路400を通じて、互いのサーバの死活状態を監視できる。
 ここで、ハートビート通信経路400で断線などの障害が発生し、サーバ300とサーバ350の間で直接ハートビートを送受信することが不可能になったケースを想定する。この場合、他サーバからのハートビートが途絶える。図5を用いて、タイムアウト時の処理の流れを説明する。
 (S101)ハートビート通信部352は、サーバ300からのハートビートを最後に受信してからの経過時間を測定している。そして、ハートビート通信部352は経過時間が所定のタイムアウト時間に達しているかどうかを確認する。達している場合はステップS103へ、そうでない場合はステップS102へ進む。
 (S102)ハートビート通信部352は、所定の時間待機し、再度、ステップS101へ進んで経過時間を確認する。
 (S103)所定のタイムアウト時間に達したため、ハートビート通信部352は、サーバ300からのハートビートを受信できない状態であることをクラスタ制御部351に通知する。
 (S104)クラスタ制御部351は、サーバ300の死活状態を「異常状態」に更新する。
 サーバ300がサーバ350からのハートビートを待ち、タイムアウト時間に達した場合の動作も同様である。
 次に、本発明の実施の形態2にかかるオブジェクトストレージを介したハートビート通信処理(格納)を、図6を用いて説明する。尚、サーバ350によるオブジェクトストレージを介したハートビート通信処理(格納)も同様である。
 (S201)サーバ300のクラスタ制御部301は、クラスタ管理システム2000を構成する他サーバに自サーバの状態を伝えるために、ハートビート通信部302に対してハートビートの送信を要求する。
 (S202)ハートビート通信部302は、オブジェクトストレージアクセス部303に対して、ハートビート情報ファイル(詳細は後述)をオブジェクトストレージ100に格納するよう要求する。
 (S203)オブジェクトストレージアクセス部303は、オブジェクトストレージ100にハートビート情報ファイルを格納する要求を行う。ここで、ハートビート情報ファイルとは、「ハートビート情報ファイルの生成時刻」「サーバが所属するタイムゾーン」「サーバの状態」といった情報を持つデータである。以下では、実装例としてJSON(JavaScript(登録商標) Object Notation)のデータ構造で表記しているが、他のデータ構造(例えばXML(Extensible Markup Language)やYAML(YAML Ain’t Markup Language)など)であってもよい。オブジェクトストレージにハートビート情報ファイルを格納するために、オブジェクトストレージアクセス部303は図7に示すようなHTTPリクエストを送信する。
 図7は、本発明の実施の形態2にかかる格納要求の例を示す図である。図7のHTTPリクエストは、オブジェクトストレージの一例としてAmazon S3 (Amazon Simple Storage Service)(登録商標)を想定したものとなっている。
 (S203-1)オブジェクトストレージアクセス部303は、オブジェクトストレージ100へのハートビート情報ファイルの格納が成功したか否かを判定する。ハートビート情報ファイルの格納が成功した場合は、次にステップS204の処理に進む。格納に失敗した場合は、ステップS203-2の処理に進む。
 ここで、サーバ300及びサーバ350からオブジェクトストレージ100にハートビート情報ファイルが格納されると、オブジェクトストレージ100が保持するデータは図8に示すものとなる。図8は、本発明の実施の形態2にかかるハートビート情報ファイルの一覧の例を示す図である。ハートビート情報ファイルのファイル名は、「日付+時刻」もしくは「UNIX(登録商標)時間」を用いて、最新のファイルと最新でないファイルを区別できるようになっている。
 (S204)オブジェクトストレージアクセス部303は、オブジェクトストレージ100に格納されている自サーバのハートビート情報ファイルの一覧を確認し、直前に格納したファイルよりも古いファイルが存在するかどうか確認する。存在する場合はステップS205へ進み、そうでない場合は終了する。
 「ハートビート情報ファイルの一覧」とは、図8におけるファイル(オブジェクト)のパスの一覧のことである。パスの一部にサーバ名が用いられており、それを参照することで自サーバのハートビート情報ファイルであるかどうかを判断できる。
 (S205)オブジェクトストレージアクセス部303は、オブジェクトストレージ100に格納された「自サーバの古いハートビート情報ファイル」を削除するために、図9に示すようなHTTPリクエストを送信する。図9は、本発明の実施の形態2にかかる削除要求の例を示す図である。図9のHTTPリクエストは、オブジェクトストレージの一例としてAmazon S3(登録商標)を想定したものとなっている。
 (S203-2)ステップS203-1でオブジェクトストレージ100へのハートビート情報ファイルの格納に失敗した場合、クラスタ制御部301は、自サーバを異常状態に更新する。例えば、サーバ300とオブジェクトストレージ100の間で通信ができなくなり、もう一方のサーバ350とオブジェクトストレージ100の間の通信が可能である場合である。このような場合、サーバ300は自サーバがネットワーク的に孤立した状態(異常状態)であると判断する。
 一方、サーバ350はオブジェクトストレージ100と通信できる状態なので、図6のS203-1で成功と判定され、以降の動作は正常に実行される。もし、サーバ300とサーバ350の両方がオブジェクトストレージ100と通信できなくなった場合は、両方のサーバが、自サーバがネットワーク的に孤立した状態(異常状態)であると判断する。
 続いて、本発明の実施の形態2にかかるオブジェクトストレージを介したハートビート通信処理(取得)の流れについて、図10を用いて説明する。尚、サーバ300によるオブジェクトストレージを介したハートビート通信処理(取得)も同様である。
 (S301)サーバ350のハートビート通信部352は、オブジェクトストレージアクセス部353に対して、オブジェクトストレージ100に格納されたハートビート情報ファイルを取得するよう要求する。
 (S302)オブジェクトストレージアクセス部353は、オブジェクトストレージ100に格納されているファイルの一覧を取得する。
 (S302-1)オブジェクトストレージアクセス部353は、ファイルの一覧の取得に成功したか否かを判定する。ステップS302の処理が成功した場合は、次にステップS303の処理に進む。処理が失敗した場合は、ステップS302-2の処理に進む。
 (S302-2)ステップS302-1でオブジェクトストレージ100からハートビート情報ファイルの一覧の取得に失敗した場合、クラスタ制御部351は、自サーバを異常状態に更新する。
 (S303)オブジェクトストレージアクセス部353は、図11に示すように、前回取得した他サーバのハートビート情報ファイルの名前を記憶している。図11は、本発明の実施の形態2にかかる前回取得した他サーバのハートビート情報ファイルの例を示す図である。取得したファイルの一覧を読み取るとファイル名が分かるので、オブジェクトストレージアクセス部353は、ハートビート情報ファイルのファイル名に基づいてファイルの最新性を判断し、「他サーバの最新のハートビート情報ファイル」を特定できる。
 (S304)オブジェクトストレージアクセス部353は、他サーバの最新のハートビート情報ファイルが存在するか否かを判定する。他サーバの最新のハートビート情報ファイルが存在する場合、ステップS308に進む。そうでない場合、ステップS305に進む。
 (S305)オブジェクトストレージアクセス部353は、オブジェクトストレージ100に最新のハートビート情報ファイルが存在しなかった場合に、所定の回数だけリトライを実行する。リトライ回数が閾値に達している場合、それ以上は何も処理を行わずに終了し、図5で示した通りのタイムアウト時の動作に移行する。すなわち、サーバ300から最新のハートビート情報ファイルが格納されなかった(ハートビートが途絶えた)ことになり、サーバ300の死活状態を「異常状態」に更新する。リトライ回数が閾値に達していない場合、ステップS306に進む。
 このリトライは、一般的なオブジェクトストレージで採用されている「冗長化」の仕組みを考慮した動作である。多くのオブジェクトストレージでは、データを複製すること(レプリケーション)によって、ディスク障害時のデータ可用性を担保している。データの複製には一定の時間がかかるため、例えば新しいファイル(オブジェクト)を書き込み、すぐにファイル(オブジェクト)の一覧を表示すると、追加したファイル(オブジェクト)が表示されない場合があるためである。
 (S306)オブジェクトストレージアクセス部353は、所定の時間だけ待機する。
 (S307)オブジェクトストレージアクセス部353は、リトライ回数を1つ加算し、再度ステップS302を実行する。
 (S308)ステップS304で該当するファイルが存在する場合、オブジェクトストレージアクセス部353は、オブジェクトストレージ100に格納された「他サーバの最新のハートビート情報ファイル」を取得する。そのためのHTTPリクエストは図12のような形式となる。図12は、本発明の実施の形態2にかかる取得要求の例を示す図である。図12のHTTPリクエストは、オブジェクトストレージの一例としてAmazon S3(登録商標)を想定したものとなっている。
 (S309)オブジェクトストレージアクセス部353は、ハートビート情報ファイルを読み取り、ハートビート通信部352に結果を通知する。
 (S310)ハートビート通信部352は、他サーバからのハートビートを受信したことを、クラスタ制御部351に通知する。
 (S311)クラスタ制御部351は、他サーバの死活状態を「正常状態」に更新する。
 以上のように動作することで、サーバ300とサーバ350は、オブジェクトストレージ100を介して、互いのサーバの死活状態を監視できる。
 なお、ここまでの実施例では2台のサーバで構成されたクラスタを例として説明したが、3台以上のサーバで構成されたクラスタにも適用可能である。具体的には、図10におけるステップS303以降の処理を、(自サーバ以外の)他サーバの数だけ繰り返し実行することで実現できる。
 このように、本実施の形態2により、クラスタシステムを構成する複数のサーバが遠隔地に存在する場合であっても、ネットワーク・パーティションを解決できる。また、共有ディスクは(利用しない分も含めて)大容量で高価格であるが、オブジェクトストレージは必要な分だけを低価格で利用できる。そのため、共有ディスクを用いた従来のネットワーク・パーティション解決手法(ディスク・ハートビート)に比べて、クラスタシステムの構築コストを下げることができる。
 共有ディスクを利用するためにはハードウェア、OS、デバイスドライバといった様々な制約をクリアする必要があるが、オブジェクトストレージを利用するためにはHTTP通信をサポートできていればよい。そのため、共有ディスクを用いた従来のネットワーク・パーティション解決手法(ディスク・ハートビート)に比べて、クラスタシステムを構成するサーバの制約を少なくすることができる。
 尚、本実施の形態2の一部を次のように表現することもできる。すなわち、前記クラスタ制御部は、前記取得要求部により取得された前記第2の状態情報を保持し、その後、前記第2の状態情報の取得に成功した場合の前記第2の状態情報と前記保持した第2の状態情報との比較により、前記他の計算機の稼動状態を判定する。
 さらに、前記クラスタ制御部は、前記オブジェクトストレージから取得されるオブジェクトのパスに基づいて、前記他の計算機の稼動状態を判定する。
<実施の形態3>
 本実施の形態3は、上述した実施の形態2の改良例である。
 オブジェクトストレージを介したハートビート情報のやり取りは、既存のハートビート通信と比較すると、通信路に対する負荷が大きい。また、利用するオブジェクトストレージによっては、格納されているデータのサイズやデータにアクセスする際のHTTPリクエストの数に応じて利用料が発生することがある。そのため、オブジェクトストレージを介したハートビート情報のやり取りは、必要最小限に抑えることが望ましい。しかし、単純にハートビート情報をやり取りする回数を減らしてしまうと、障害発生の検出が遅れてしまい、サービスの停止時間が長くなってしまう原因となる。
 そこで、本実施の形態3では、オブジェクトストレージを介したハートビート情報のやり取りを、状況に応じて適切な頻度で実行できるようにする。すなわち、前記計算機は、前記他の計算機と相互に稼動状態を監視するための第1の通信回線で接続され、前記オブジェクトストレージとの第2の通信回線と前記第1の通信回線とを含む複数の通信回線のそれぞれについて、監視間隔を対応付けて記憶する記憶部を備える。これにより、複数の通信回線の種別に応じて柔軟に監視を実現できる。
 さらに、前記複数の通信回線の一部が利用不能となった場合、他の通信回線に対応付けられた前記監視間隔を調節する間隔調節部をさらに備える。これにより、一定のサービスレベルを保つことができる。
 さらに、前記記憶部は、前記複数の通信回線のそれぞれについて、前記監視間隔の調節の要否をさらに対応付けて記憶し、前記間隔調節部は、前記他の通信回線のうち、前記調節の要否に基づいて各通信回線の調節を行う。これにより、きめ細かく監視間隔を調整できる。
 図13は、本発明の実施の形態3にかかるクラスタ管理システム3000の構成を示すブロック図である。クラスタ管理システム3000は、クラスタ管理システム2000に改良を加えたものである。具体的には、サーバ300と350の間を2本のハートビート通信経路400及び401で接続している。また、サーバ300には、ハートビート間隔調節部304が追加され、サーバ350には、ハートビート間隔調節部354が追加されている。さらに、サーバ300及び350のそれぞれには図示しない構成として、ハートビート通信経路テーブルが格納されている。
 図14は、本発明の実施の形態3にかかるハートビート通信経路テーブルの例を示す図である。ハートビート通信経路テーブルは、クラスタ管理システム3000内のハートビート情報のやり取りに使われている経路等を表している。ハートビート通信経路テーブルは、経路の種別や、その経路を使って判明した相手方サーバの(死活)状態、ハートビート通信の間隔、通信間隔の調整の要否、といった情報が存在する。図14の例では、ハートビート通信経路400及び401を使ったハートビート通信は10秒間隔で行い、オブジェクトストレージ100を使ったハートビート通信は60秒間隔で行うように定義されている。
 クラスタ制御部301及び351は、サーバ300及び350におけるクラスタシステム起動時にハートビート間隔調節部304に問い合わせを行い、ハートビート通信間隔を取得する。以降、クラスタ制御部301及び351は取得した通信間隔に従ってハートビート通信を実施する。
 図15は、本発明の実施の形態3にかかるハートビート間隔調整処理の流れを示すフローチャートである。尚、サーバ350によるハートビート間隔調整処理も同様である。
 (S401)クラスタ制御部301は、図4におけるステップS004、図5におけるステップS104、図10におけるステップS311が実行されて、相手方サーバ350の死活状態を更新する際に、ハートビート間隔調節部304にも最新の死活状態の情報を入力する。
 (S402)ハートビート間隔調節部304は、クラスタ制御部301からの入力に応じて、ハートビート通信経路テーブルの状態を更新する。
 (S403)ハートビート間隔調節部304は、ハートビート通信経路テーブルの「状態」に変化があったか否かを判定する。変化があった場合、ステップS404へ進み、変化がなかった場合、処理を終了する。
 (S404)ハートビート間隔調節部304は、ハートビート通信経路テーブルの「状態」が「正常」かつ「調節要否」が「要」に設定されている経路の「通信間隔」を変更する。通信間隔の調節は以下の式に基づいて行われる。
通信間隔の初期値 x (正常状態の経路数 / 総経路数) = 調節後の通信間隔
 例えば、ハートビート通信経路400で障害が発生し、この経路を使ったハートビート通信ができなくなったと仮定する。このとき、ハートビート通信経路テーブルの「ID:400」の状態が異常に更新される。すると、「ID:100」のオブジェクトストレージの通信間隔は、60秒 x 2/3=40秒に変更される。一方、「ID:401」のハートビート経路については、「調節要否」が不要となっているので、通信間隔の調整は行われない。
 また、ハートビート通信経路401でもさらに障害が発生した場合は、「ID:100」のオブジェクトストレージの通信間隔は60秒 x 1/3=20秒に変更される。
 (S405)ハートビート間隔調節部304は、ハートビート通信経路テーブルの通信間隔を更新すると、最新の情報をクラスタ制御部301に通知する。これにより、以降のハートビート通信の間隔が変更される。
 以上のように動作することで、通常のハートビート経路を使った死活監視が正常に機能しているときは、オブジェクトストレージを介したハートビート情報のやり取りを少なくすることによって、通信路への負荷やオブジェクトストレージの利用料の増加を抑えることができる。一方、通常のハートビート経路を使った死活監視が異常となっているときは、通信間隔を短くすることによって相手方サーバの死活状態をタイムリーに確認することができる。
<その他の実施の形態>
 なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
 また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
 上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、DVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disc)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
 (付記1)
 他の計算機とクラスタを構成する計算機であって、
 データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求する格納要求部と、
 前記オブジェクトストレージに対して前記他の計算機の正常状態を示す第2の状態情報の取得を要求する取得要求部と、
 前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行うクラスタ制御部と、を備え、
 前記取得要求部は、
 前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する
 計算機。
 (付記2)
 クラスタ制御部は、
 前記第1の状態情報の格納に失敗した場合、自計算機が異常であると判定してクラスタ制御を行う
 付記1に記載の計算機。
 (付記3)
 前記計算機は、
 前記他の計算機と相互に稼動状態を監視するための第1の通信回線で接続され、
 前記オブジェクトストレージとの第2の通信回線と前記第1の通信回線とを含む複数の通信回線のそれぞれについて、監視間隔を対応付けて記憶する記憶部を備える
 付記1又は2に記載の計算機。
 (付記4)
 前記複数の通信回線の一部が利用不能となった場合、他の通信回線に対応付けられた前記監視間隔を調節する間隔調節部をさらに備える
 付記3に記載の計算機。
 (付記5)
 前記記憶部は、前記複数の通信回線のそれぞれについて、前記監視間隔の調節の要否をさらに対応付けて記憶し、
 前記間隔調節部は、前記他の通信回線のうち、前記調節の要否に基づいて各通信回線の調節を行う
 付記4に記載の計算機。
 (付記6)
 前記クラスタ制御部は、
 前記取得要求部により取得された前記第2の状態情報を保持し、
 その後、前記第2の状態情報の取得に成功した場合の前記第2の状態情報と前記保持した第2の状態情報との比較により、前記他の計算機の稼動状態を判定する
 付記1乃至5のいずれか1項に記載の計算機。
 (付記7)
 前記クラスタ制御部は、
 前記オブジェクトストレージから取得されるオブジェクトのパスに基づいて、前記他の計算機の稼動状態を判定する
 付記6に記載の計算機。
 (付記8)
 データをオブジェクト単位で管理するオブジェクトストレージと、
 前記オブジェクトストレージとネットワークを介して通信可能な複数の計算機と、を備え、
 前記複数の計算機のそれぞれは、
 前記オブジェクトストレージに対して自計算機の正常状態を示す第1の状態情報の格納を要求し、
 前記オブジェクトストレージに対して他の計算機の正常状態を示す第2の状態情報の取得を要求し、
 前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行い、
 前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記取得の要求を行う
 クラスタ管理システム。
 (付記9)
 データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求し、
 前記オブジェクトストレージに対して他の計算機の正常状態を示す第2の状態情報の取得を要求し、
 前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行い、
 前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する
 クラスタ管理方法。
 (付記10)
 データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求する処理と、
 前記オブジェクトストレージに対して他の計算機の正常状態を示す第2の状態情報の取得を要求する処理と、
 前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行う処理と、
 前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する処理と、
 をコンピュータに実行させるクラスタ管理プログラム。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2016年9月21日に出願された日本出願特願2016-184515を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 1000 クラスタ管理システム
 2000 クラスタ管理システム
 3000 クラスタ管理システム
 10 計算機
 11 格納要求部
 12 取得要求部
 13 クラスタ制御部
 20 計算機
 21 格納要求部
 22 取得要求部
 23 クラスタ制御部
 30 オブジェクトストレージ
 40 ネットワーク
 100 オブジェクトストレージ
 101 ハートビート情報
 102 ハートビート情報
 200 インターネット
 300 サーバ
 301 クラスタ制御部
 302 ハートビート通信部
 303 オブジェクトストレージアクセス部
 304 ハートビート間隔調節部
 350 サーバ
 351 クラスタ制御部
 352 ハートビート通信部
 353 オブジェクトストレージアクセス部
 354 ハートビート間隔調節部
 400 ハートビート通信経路
 401 ハートビート通信経路

Claims (10)

  1.  データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求する格納要求手段と、
     前記オブジェクトストレージに対して前記自計算機とクラスタを構成する他の計算機の正常状態を示す第2の状態情報の取得を要求する取得要求手段と、
     前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行うクラスタ制御手段と、を備え、
     前記取得要求手段は、
     前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する
     計算機。
  2.  クラスタ制御手段は、
     前記第1の状態情報の格納に失敗した場合、自計算機が異常であると判定してクラスタ制御を行う
     請求項1に記載の計算機。
  3.  前記計算機は、
     前記他の計算機と相互に稼動状態を監視するための第1の通信回線で接続され、
     前記オブジェクトストレージとの第2の通信回線と前記第1の通信回線とを含む複数の通信回線のそれぞれについて、監視間隔を対応付けて記憶する記憶手段を備える
     請求項1又は2に記載の計算機。
  4.  前記複数の通信回線の一部が利用不能となった場合、他の通信回線に対応付けられた前記監視間隔を調節する間隔調節手段をさらに備える
     請求項3に記載の計算機。
  5.  前記記憶手段は、前記複数の通信回線のそれぞれについて、前記監視間隔の調節の要否をさらに対応付けて記憶し、
     前記間隔調節手段は、前記他の通信回線のうち、前記調節の要否に基づいて各通信回線の調節を行う
     請求項4に記載の計算機。
  6.  前記クラスタ制御手段は、
     前記取得要求手段により取得された前記第2の状態情報を保持し、
     その後、前記第2の状態情報の取得に成功した場合の前記第2の状態情報と前記保持した第2の状態情報との比較により、前記他の計算機の稼動状態を判定する
     請求項1乃至5のいずれか1項に記載の計算機。
  7.  前記クラスタ制御手段は、
     前記オブジェクトストレージから取得されるオブジェクトのパスに基づいて、前記他の計算機の稼動状態を判定する
     請求項6に記載の計算機。
  8.  データをオブジェクト単位で管理するオブジェクトストレージと、
     前記オブジェクトストレージとネットワークを介して通信可能な複数の計算機と、を備え、
     前記複数の計算機のそれぞれは、
     前記オブジェクトストレージに対して自計算機の正常状態を示す第1の状態情報の格納を要求し、
     前記オブジェクトストレージに対して前記自計算機とクラスタを構成する他の計算機の正常状態を示す第2の状態情報の取得を要求し、
     前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行い、
     前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記取得の要求を行う
     クラスタ管理システム。
  9.  データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求し、
     前記オブジェクトストレージに対して前記自計算機とクラスタを構成する他の計算機の正常状態を示す第2の状態情報の取得を要求し、
     前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行い、
     前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する
     クラスタ管理方法。
  10.  データをオブジェクト単位で管理するオブジェクトストレージに対して、自計算機の正常状態を示す第1の状態情報の格納を要求する処理と、
     前記オブジェクトストレージに対して前記自計算機とクラスタを構成する他の計算機の正常状態を示す第2の状態情報の取得を要求する処理と、
     前記第1の状態情報の格納結果及び前記第2の状態情報の取得結果に応じて、クラスタ制御を行う処理と、
     前記第2の状態情報の取得結果が最新でなかった場合、所定回数、前記第2の状態情報の取得を要求する処理と、
     をコンピュータに実行させるクラスタ管理プログラムが格納された非一時的なコンピュータ可読媒体。
PCT/JP2017/031876 2016-09-21 2017-09-05 計算機並びにクラスタ管理システム、方法及び非一時的なコンピュータ可読媒体 WO2018056044A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/335,072 US11119870B2 (en) 2016-09-21 2017-09-05 Calculator, cluster management system, method, and non-transitory computer readable medium
JP2018540947A JP7006606B2 (ja) 2016-09-21 2017-09-05 計算機並びにクラスタ管理システム、方法及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016184515 2016-09-21
JP2016-184515 2016-09-21

Publications (1)

Publication Number Publication Date
WO2018056044A1 true WO2018056044A1 (ja) 2018-03-29

Family

ID=61690892

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/031876 WO2018056044A1 (ja) 2016-09-21 2017-09-05 計算機並びにクラスタ管理システム、方法及び非一時的なコンピュータ可読媒体

Country Status (3)

Country Link
US (1) US11119870B2 (ja)
JP (1) JP7006606B2 (ja)
WO (1) WO2018056044A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021120827A (ja) * 2020-01-31 2021-08-19 株式会社日立製作所 制御システム、制御方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10911295B2 (en) * 2016-10-20 2021-02-02 Nec Corporation Server apparatus, cluster system, cluster control method and program
JP7375342B2 (ja) * 2019-06-17 2023-11-08 富士フイルムビジネスイノベーション株式会社 中継装置、情報処理システム及び中継処理プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021556A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd 記憶制御装置およびその制御方法
JP2004199682A (ja) * 2002-12-18 2004-07-15 Internatl Business Mach Corp <Ibm> 高可用性クラスタにおける活性判定用通信ネットワークとしての記憶媒体の使用
JP2014109973A (ja) * 2012-12-04 2014-06-12 Toppan Printing Co Ltd 通信媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
US8041735B1 (en) * 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
JP2005196467A (ja) * 2004-01-07 2005-07-21 Hitachi Ltd ストレージシステム、ストレージシステムの制御方法、及びストレージ制御装置
JP5096799B2 (ja) 2007-05-29 2012-12-12 株式会社野村総合研究所 クラスタシステム、計算機、および障害対処方法
US8775773B2 (en) * 2011-08-26 2014-07-08 Vmware, Inc. Object storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021556A (ja) * 2002-06-14 2004-01-22 Hitachi Ltd 記憶制御装置およびその制御方法
JP2004199682A (ja) * 2002-12-18 2004-07-15 Internatl Business Mach Corp <Ibm> 高可用性クラスタにおける活性判定用通信ネットワークとしての記憶媒体の使用
JP2014109973A (ja) * 2012-12-04 2014-06-12 Toppan Printing Co Ltd 通信媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021120827A (ja) * 2020-01-31 2021-08-19 株式会社日立製作所 制御システム、制御方法
JP7328907B2 (ja) 2020-01-31 2023-08-17 株式会社日立製作所 制御システム、制御方法

Also Published As

Publication number Publication date
US11119870B2 (en) 2021-09-14
JPWO2018056044A1 (ja) 2019-07-04
US20190266059A1 (en) 2019-08-29
JP7006606B2 (ja) 2022-01-24

Similar Documents

Publication Publication Date Title
US8458398B2 (en) Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system
US20090328027A1 (en) Cluster system, process for updating software, service provision node, and computer-readable medium storing service provision program
WO2018056044A1 (ja) 計算機並びにクラスタ管理システム、方法及び非一時的なコンピュータ可読媒体
JP2014123218A (ja) プログラム、データ管理方法および情報処理装置
JP6040612B2 (ja) ストレージ装置、情報処理装置、情報処理システム、アクセス制御方法、およびアクセス制御プログラム
EP3648405B1 (en) System and method to create a highly available quorum for clustered solutions
US9342418B2 (en) Storage system, storage control device and data transfer method
CN108512753B (zh) 一种集群文件系统中消息传输的方法及装置
US20130205162A1 (en) Redundant computer control method and device
US10063437B2 (en) Network monitoring system and method
JP5613119B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP2018056633A (ja) クラスタシステム、サーバ、サーバの動作方法、及びプログラム
JP4485560B2 (ja) コンピュータ・システム及びシステム管理プログラム
JP5016696B2 (ja) 高可用性システム、サーバ、高可用性維持方法及びプログラム
US9746986B2 (en) Storage system and information processing method with storage devices assigning representative addresses to reduce cable requirements
JP6958102B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP6935819B2 (ja) ノード装置、回復動作制御方法、及び回復動作制御プログラム
CN117743218A (zh) 一种双活仲裁的方法、系统、设备及存储介质
JP2020031375A (ja) 送信制御装置および送信制御プログラム
JP5923138B2 (ja) パス管理装置
JP2006155398A (ja) データ仲介方法およびデータ仲介装置
CN116781489A (zh) 一种存储控制方法及装置、存储介质、集群系统
JP2020170253A (ja) ディスクアレイシステム、ディスクアレイシステムの制御方法、および、ディスクアレイ装置
JP2016051267A (ja) ノードクラスタシステム及びノードクラスタ管理方法
TW201828124A (zh) 資料庫的服務提供方法和系統

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018540947

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

Country of ref document: EP

Kind code of ref document: A1